diff --git a/package-lock.json b/package-lock.json
index 21b414a..73e7234 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,17 +9,23 @@
"version": "3.1.0",
"license": "ISC",
"dependencies": {
- "@noble/hashes": "^1.2.0"
+ "@noble/hashes": "^1.2.0",
+ "uint8array-tools": "^0.0.8"
},
"devDependencies": {
+ "@rollup/plugin-commonjs": "^25.0.7",
+ "@rollup/plugin-node-resolve": "^15.2.3",
+ "@rollup/plugin-terser": "^0.4.4",
+ "@rollup/plugin-typescript": "^11.1.6",
"@types/node": "11.11.6",
"node-fetch": "2.6.9",
"nyc": "^15.0.0",
"prettier": "1.16.4",
"proxyquire": "^1.7.10",
+ "rollup": "^4.9.6",
"tape": "^5.3.0",
"tslint": "^6.1.0",
- "typescript": "3.3.4000"
+ "typescript": "5.0.4"
}
},
"node_modules/@babel/code-frame": {
@@ -356,14 +362,14 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "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.0.1",
+ "@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
@@ -379,24 +385,34 @@
}
},
"node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "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/source-map": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
+ }
+ },
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+ "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.20",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
- "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
+ "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",
@@ -439,18 +455,445 @@
}
]
},
+ "node_modules/@rollup/plugin-commonjs": {
+ "version": "25.0.8",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.8.tgz",
+ "integrity": "sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "commondir": "^1.0.1",
+ "estree-walker": "^2.0.2",
+ "glob": "^8.0.3",
+ "is-reference": "1.2.1",
+ "magic-string": "^0.30.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.68.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-commonjs/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/@rollup/plugin-commonjs/node_modules/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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/plugin-node-resolve/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/plugin-terser": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz",
+ "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==",
+ "dev": true,
+ "dependencies": {
+ "serialize-javascript": "^6.0.1",
+ "smob": "^1.0.0",
+ "terser": "^5.17.4"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-typescript": {
+ "version": "11.1.6",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.6.tgz",
+ "integrity": "sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.1.0",
+ "resolve": "^1.22.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.14.0||^3.0.0||^4.0.0",
+ "tslib": "*",
+ "typescript": ">=3.7.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ },
+ "tslib": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-typescript/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/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/rollup-android-arm-eabi": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz",
+ "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz",
+ "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz",
+ "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz",
+ "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz",
+ "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz",
+ "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz",
+ "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz",
+ "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz",
+ "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz",
+ "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz",
+ "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz",
+ "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz",
+ "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz",
+ "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz",
+ "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz",
+ "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
"node_modules/@types/color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"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/node": {
"version": "11.11.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz",
"integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==",
"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/aggregate-error": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
@@ -600,6 +1043,12 @@
"concat-map": "0.0.1"
}
},
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
"node_modules/builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
@@ -844,6 +1293,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "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/default-require-extensions": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
@@ -1098,6 +1556,12 @@
"node": ">=4"
}
},
+ "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/esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -1184,6 +1648,20 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
+ "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",
@@ -1581,6 +2059,33 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "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-builtin-module/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/is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@@ -1656,6 +2161,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "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-negative-zero": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
@@ -1689,6 +2200,15 @@
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
"dev": true
},
+ "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/is-regex": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
@@ -2039,6 +2559,15 @@
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
"dev": true
},
+ "node_modules/magic-string": {
+ "version": "0.30.11",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz",
+ "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0"
+ }
+ },
"node_modules/make-dir": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz",
@@ -2357,6 +2886,18 @@
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"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/pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -2413,6 +2954,15 @@
"resolve": "~1.1.7"
}
},
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
"node_modules/regexp.prototype.flags": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
@@ -2489,6 +3039,41 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/rollup": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz",
+ "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==",
+ "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.20.0",
+ "@rollup/rollup-android-arm64": "4.20.0",
+ "@rollup/rollup-darwin-arm64": "4.20.0",
+ "@rollup/rollup-darwin-x64": "4.20.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.20.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.20.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.20.0",
+ "@rollup/rollup-linux-arm64-musl": "4.20.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.20.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.20.0",
+ "@rollup/rollup-linux-x64-gnu": "4.20.0",
+ "@rollup/rollup-linux-x64-musl": "4.20.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.20.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.20.0",
+ "@rollup/rollup-win32-x64-msvc": "4.20.0",
+ "fsevents": "~2.3.2"
+ }
+ },
"node_modules/safe-array-concat": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
@@ -2539,6 +3124,15 @@
"semver": "bin/semver.js"
}
},
+ "node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "dev": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -2622,6 +3216,12 @@
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
+ "node_modules/smob": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
+ "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==",
+ "dev": true
+ },
"node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -2631,6 +3231,25 @@
"node": ">=0.10.0"
}
},
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/source-map-support/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/spawn-wrap": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
@@ -2730,12 +3349,12 @@
}
},
"node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "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.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
"node": ">=8"
@@ -2833,6 +3452,24 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/terser": {
+ "version": "5.31.5",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.5.tgz",
+ "integrity": "sha512-YPmas0L0rE1UyLL/llTWA0SiDOqIcAQYLeUj7cJYzXHlRTAnMSg9pPe4VJ5PlKvTrPQsdVFuiRiwyeNlYgwh2Q==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/test-exclude": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
@@ -3024,16 +3661,24 @@
}
},
"node_modules/typescript": {
- "version": "3.3.4000",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.4000.tgz",
- "integrity": "sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
+ "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
- "node": ">=4.2.0"
+ "node": ">=12.20"
+ }
+ },
+ "node_modules/uint8array-tools": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/uint8array-tools/-/uint8array-tools-0.0.8.tgz",
+ "integrity": "sha512-xS6+s8e0Xbx++5/0L+yyexukU7pz//Yg6IHg3BKhXotg1JcYtgxVcUctQ0HxLByiJzpAkNFawz1Nz5Xadzo82g==",
+ "engines": {
+ "node": ">=14.0.0"
}
},
"node_modules/unbox-primitive": {
diff --git a/package.json b/package.json
index abc0e37..49a1be4 100644
--- a/package.json
+++ b/package.json
@@ -3,10 +3,14 @@
"version": "3.1.0",
"description": "Bitcoin BIP39: Mnemonic code for generating deterministic keys",
"type": "module",
+ "main": "src/cjs/index.cjs",
+ "module": "src/esm/index.js",
+ "types": "src/cjs/index.d.ts",
"exports": {
".": {
- "types": "./src/index.d.ts",
- "import": "./src/index.js"
+ "types": "./src/cjs/index.d.ts",
+ "import": "./src/esm/index.js",
+ "require": "./src/cjs/index.cjs"
},
"./wordlists": {
"import": "./src/wordlists"
@@ -43,7 +47,7 @@
}
},
"scripts": {
- "build": "npm run clean && tsc -p tsconfig.json",
+ "build": "rollup -c rollup.config.ts --configPlugin typescript",
"clean": "rm -rf src",
"coverage": "nyc --branches 85 --functions 100 --check-coverage npm run unit",
"format": "npm run prettier -- --write",
@@ -72,16 +76,23 @@
"src"
],
"dependencies": {
- "@noble/hashes": "^1.2.0"
+ "@noble/hashes": "^1.2.0",
+ "uint8array-tools": "^0.0.8"
},
"devDependencies": {
+ "@rollup/plugin-commonjs": "^25.0.7",
+ "@rollup/plugin-node-resolve": "^15.2.3",
+ "@rollup/plugin-terser": "^0.4.4",
+ "@rollup/plugin-typescript": "^11.1.6",
"@types/node": "11.11.6",
"node-fetch": "2.6.9",
"nyc": "^15.0.0",
"prettier": "1.16.4",
"proxyquire": "^1.7.10",
+ "rollup": "^4.9.6",
"tape": "^5.3.0",
"tslint": "^6.1.0",
- "typescript": "3.3.4000"
- }
+ "typescript": "5.0.4"
+ },
+ "sideEffects": false
}
diff --git a/rollup.config.ts b/rollup.config.ts
new file mode 100644
index 0000000..86c669e
--- /dev/null
+++ b/rollup.config.ts
@@ -0,0 +1,42 @@
+import commonjs from '@rollup/plugin-commonjs'
+import nodeResolve from '@rollup/plugin-node-resolve'
+import typescript from '@rollup/plugin-typescript'
+import terser from '@rollup/plugin-terser';
+
+
+const treeshake = {
+ moduleSideEffects : false,
+ propertyReadSideEffects : false,
+ tryCatchDeoptimization : false
+}
+
+const onwarn = (warning) => {
+ if (
+ warning.code === 'INVALID_ANNOTATION' &&
+ warning.message.includes('@__PURE__')
+ ) {
+ return
+ }
+ throw new Error(warning)
+}
+
+export default {
+ plugins: [ typescript(), nodeResolve(), commonjs() ],
+ input: 'ts_src/index.ts',
+ onwarn,
+ output: [
+ {
+ file: 'src/cjs/index.cjs',
+ format: 'cjs',
+ sourcemap: true,
+ },
+ {
+ file: 'src/esm/index.js',
+ format: 'es',
+ sourcemap: true,
+ minifyInternalExports: false
+ }
+ ],
+ strictDeprecations: true,
+ treeshake
+}
\ No newline at end of file
diff --git a/src/cjs/index.cjs b/src/cjs/index.cjs
new file mode 100644
index 0000000..2b86223
--- /dev/null
+++ b/src/cjs/index.cjs
@@ -0,0 +1,21534 @@
+'use strict';
+
+function number(n) {
+ if (!Number.isSafeInteger(n) || n < 0)
+ throw new Error(`Wrong positive integer: ${n}`);
+}
+function bool(b) {
+ if (typeof b !== 'boolean')
+ throw new Error(`Expected boolean, not ${b}`);
+}
+function bytes(b, ...lengths) {
+ if (!(b instanceof Uint8Array))
+ throw new TypeError('Expected Uint8Array');
+ if (lengths.length > 0 && !lengths.includes(b.length))
+ throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
+}
+function hash(hash) {
+ if (typeof hash !== 'function' || typeof hash.create !== 'function')
+ throw new Error('Hash should be wrapped by utils.wrapConstructor');
+ number(hash.outputLen);
+ number(hash.blockLen);
+}
+function exists(instance, checkFinished = true) {
+ if (instance.destroyed)
+ throw new Error('Hash instance has been destroyed');
+ if (checkFinished && instance.finished)
+ throw new Error('Hash#digest() has already been called');
+}
+function output(out, instance) {
+ bytes(out);
+ const min = instance.outputLen;
+ if (out.length < min) {
+ throw new Error(`digestInto() expects output buffer of length at least ${min}`);
+ }
+}
+const assert = {
+ number,
+ bool,
+ bytes,
+ hash,
+ exists,
+ output,
+};
+
+/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+// The import here is via the package name. This is to ensure
+// that exports mapping/resolution does fall into place.
+// Cast array to view
+const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
+// The rotate right (circular right shift) operation for uint32
+const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);
+const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;
+// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.
+// So, just to be sure not to corrupt anything.
+if (!isLE)
+ throw new Error('Non little-endian hardware is not supported');
+Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
+// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise
+// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.
+const nextTick = async () => { };
+// Returns control to thread each 'tick' ms to avoid blocking
+async function asyncLoop(iters, tick, cb) {
+ let ts = Date.now();
+ for (let i = 0; i < iters; i++) {
+ cb(i);
+ // Date.now() is not monotonic, so in case if clock goes backwards we return return control too
+ const diff = Date.now() - ts;
+ if (diff >= 0 && diff < tick)
+ continue;
+ await nextTick();
+ ts += diff;
+ }
+}
+function utf8ToBytes(str) {
+ if (typeof str !== 'string') {
+ throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);
+ }
+ return new TextEncoder().encode(str);
+}
+function toBytes(data) {
+ if (typeof data === 'string')
+ data = utf8ToBytes(data);
+ if (!(data instanceof Uint8Array))
+ throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);
+ return data;
+}
+// For runtime check if class implements interface
+class Hash {
+ // Safe version that clones internal state
+ clone() {
+ return this._cloneInto();
+ }
+}
+// Check if object doens't have custom constructor (like Uint8Array/Array)
+const isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;
+function checkOpts(defaults, opts) {
+ if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))
+ throw new TypeError('Options should be object or undefined');
+ const merged = Object.assign(defaults, opts);
+ return merged;
+}
+function wrapConstructor(hashConstructor) {
+ const hashC = (message) => hashConstructor().update(toBytes(message)).digest();
+ const tmp = hashConstructor();
+ hashC.outputLen = tmp.outputLen;
+ hashC.blockLen = tmp.blockLen;
+ hashC.create = () => hashConstructor();
+ return hashC;
+}
+
+// Polyfill for Safari 14
+function setBigUint64(view, byteOffset, value, isLE) {
+ if (typeof view.setBigUint64 === 'function')
+ return view.setBigUint64(byteOffset, value, isLE);
+ const _32n = BigInt(32);
+ const _u32_max = BigInt(0xffffffff);
+ const wh = Number((value >> _32n) & _u32_max);
+ const wl = Number(value & _u32_max);
+ const h = isLE ? 4 : 0;
+ const l = isLE ? 0 : 4;
+ view.setUint32(byteOffset + h, wh, isLE);
+ view.setUint32(byteOffset + l, wl, isLE);
+}
+// Base SHA2 class (RFC 6234)
+class SHA2 extends Hash {
+ constructor(blockLen, outputLen, padOffset, isLE) {
+ super();
+ this.blockLen = blockLen;
+ this.outputLen = outputLen;
+ this.padOffset = padOffset;
+ this.isLE = isLE;
+ this.finished = false;
+ this.length = 0;
+ this.pos = 0;
+ this.destroyed = false;
+ this.buffer = new Uint8Array(blockLen);
+ this.view = createView(this.buffer);
+ }
+ update(data) {
+ assert.exists(this);
+ const { view, buffer, blockLen } = this;
+ data = toBytes(data);
+ const len = data.length;
+ for (let pos = 0; pos < len;) {
+ const take = Math.min(blockLen - this.pos, len - pos);
+ // Fast path: we have at least one block in input, cast it to view and process
+ if (take === blockLen) {
+ const dataView = createView(data);
+ for (; blockLen <= len - pos; pos += blockLen)
+ this.process(dataView, pos);
+ continue;
+ }
+ buffer.set(data.subarray(pos, pos + take), this.pos);
+ this.pos += take;
+ pos += take;
+ if (this.pos === blockLen) {
+ this.process(view, 0);
+ this.pos = 0;
+ }
+ }
+ this.length += data.length;
+ this.roundClean();
+ return this;
+ }
+ digestInto(out) {
+ assert.exists(this);
+ assert.output(out, this);
+ this.finished = true;
+ // Padding
+ // We can avoid allocation of buffer for padding completely if it
+ // was previously not allocated here. But it won't change performance.
+ const { buffer, view, blockLen, isLE } = this;
+ let { pos } = this;
+ // append the bit '1' to the message
+ buffer[pos++] = 0b10000000;
+ this.buffer.subarray(pos).fill(0);
+ // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again
+ if (this.padOffset > blockLen - pos) {
+ this.process(view, 0);
+ pos = 0;
+ }
+ // Pad until full block byte with zeros
+ for (let i = pos; i < blockLen; i++)
+ buffer[i] = 0;
+ // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that
+ // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.
+ // So we just write lowest 64 bits of that value.
+ setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);
+ this.process(view, 0);
+ const oview = createView(out);
+ const len = this.outputLen;
+ // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT
+ if (len % 4)
+ throw new Error('_sha2: outputLen should be aligned to 32bit');
+ const outLen = len / 4;
+ const state = this.get();
+ if (outLen > state.length)
+ throw new Error('_sha2: outputLen bigger than state');
+ for (let i = 0; i < outLen; i++)
+ oview.setUint32(4 * i, state[i], isLE);
+ }
+ digest() {
+ const { buffer, outputLen } = this;
+ this.digestInto(buffer);
+ const res = buffer.slice(0, outputLen);
+ this.destroy();
+ return res;
+ }
+ _cloneInto(to) {
+ to || (to = new this.constructor());
+ to.set(...this.get());
+ const { blockLen, buffer, length, finished, destroyed, pos } = this;
+ to.length = length;
+ to.pos = pos;
+ to.finished = finished;
+ to.destroyed = destroyed;
+ if (length % blockLen)
+ to.buffer.set(buffer);
+ return to;
+ }
+}
+
+// Choice: a ? b : c
+const Chi = (a, b, c) => (a & b) ^ (~a & c);
+// Majority function, true if any two inpust is true
+const Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);
+// Round constants:
+// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)
+// prettier-ignore
+const SHA256_K = new Uint32Array([
+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
+ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
+ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
+ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
+ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
+ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
+]);
+// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
+// prettier-ignore
+const IV = new Uint32Array([
+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
+]);
+// Temporary buffer, not used to store anything between runs
+// Named this way because it matches specification.
+const SHA256_W = new Uint32Array(64);
+class SHA256 extends SHA2 {
+ constructor() {
+ super(64, 32, 8, false);
+ // We cannot use array here since array allows indexing by variable
+ // which means optimizer/compiler cannot use registers.
+ this.A = IV[0] | 0;
+ this.B = IV[1] | 0;
+ this.C = IV[2] | 0;
+ this.D = IV[3] | 0;
+ this.E = IV[4] | 0;
+ this.F = IV[5] | 0;
+ this.G = IV[6] | 0;
+ this.H = IV[7] | 0;
+ }
+ get() {
+ const { A, B, C, D, E, F, G, H } = this;
+ return [A, B, C, D, E, F, G, H];
+ }
+ // prettier-ignore
+ set(A, B, C, D, E, F, G, H) {
+ this.A = A | 0;
+ this.B = B | 0;
+ this.C = C | 0;
+ this.D = D | 0;
+ this.E = E | 0;
+ this.F = F | 0;
+ this.G = G | 0;
+ this.H = H | 0;
+ }
+ process(view, offset) {
+ // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array
+ for (let i = 0; i < 16; i++, offset += 4)
+ SHA256_W[i] = view.getUint32(offset, false);
+ for (let i = 16; i < 64; i++) {
+ const W15 = SHA256_W[i - 15];
+ const W2 = SHA256_W[i - 2];
+ const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);
+ const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);
+ SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;
+ }
+ // Compression function main loop, 64 rounds
+ let { A, B, C, D, E, F, G, H } = this;
+ for (let i = 0; i < 64; i++) {
+ const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);
+ const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
+ const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);
+ const T2 = (sigma0 + Maj(A, B, C)) | 0;
+ H = G;
+ G = F;
+ F = E;
+ E = (D + T1) | 0;
+ D = C;
+ C = B;
+ B = A;
+ A = (T1 + T2) | 0;
+ }
+ // Add the compressed chunk to the current hash value
+ A = (A + this.A) | 0;
+ B = (B + this.B) | 0;
+ C = (C + this.C) | 0;
+ D = (D + this.D) | 0;
+ E = (E + this.E) | 0;
+ F = (F + this.F) | 0;
+ G = (G + this.G) | 0;
+ H = (H + this.H) | 0;
+ this.set(A, B, C, D, E, F, G, H);
+ }
+ roundClean() {
+ SHA256_W.fill(0);
+ }
+ destroy() {
+ this.set(0, 0, 0, 0, 0, 0, 0, 0);
+ this.buffer.fill(0);
+ }
+}
+// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
+class SHA224 extends SHA256 {
+ constructor() {
+ super();
+ this.A = 0xc1059ed8 | 0;
+ this.B = 0x367cd507 | 0;
+ this.C = 0x3070dd17 | 0;
+ this.D = 0xf70e5939 | 0;
+ this.E = 0xffc00b31 | 0;
+ this.F = 0x68581511 | 0;
+ this.G = 0x64f98fa7 | 0;
+ this.H = 0xbefa4fa4 | 0;
+ this.outputLen = 28;
+ }
+}
+/**
+ * SHA2-256 hash function
+ * @param message - data that would be hashed
+ */
+const sha256 = wrapConstructor(() => new SHA256());
+wrapConstructor(() => new SHA224());
+
+const U32_MASK64 = BigInt(2 ** 32 - 1);
+const _32n = BigInt(32);
+// We are not using BigUint64Array, because they are extremely slow as per 2022
+function fromBig(n, le = false) {
+ if (le)
+ return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };
+ return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
+}
+function split(lst, le = false) {
+ let Ah = new Uint32Array(lst.length);
+ let Al = new Uint32Array(lst.length);
+ for (let i = 0; i < lst.length; i++) {
+ const { h, l } = fromBig(lst[i], le);
+ [Ah[i], Al[i]] = [h, l];
+ }
+ return [Ah, Al];
+}
+const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);
+// for Shift in [0, 32)
+const shrSH = (h, l, s) => h >>> s;
+const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
+// Right rotate for Shift in [1, 32)
+const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));
+const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
+// Right rotate for Shift in (32, 64), NOTE: 32 is special case.
+const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));
+const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));
+// Right rotate for shift===32 (just swaps l&h)
+const rotr32H = (h, l) => l;
+const rotr32L = (h, l) => h;
+// Left rotate for Shift in [1, 32)
+const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));
+const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));
+// Left rotate for Shift in (32, 64), NOTE: 32 is special case.
+const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));
+const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));
+// JS uses 32-bit signed integers for bitwise operations which means we cannot
+// simple take carry out of low bit sum by shift, we need to use division.
+// Removing "export" has 5% perf penalty -_-
+function add(Ah, Al, Bh, Bl) {
+ const l = (Al >>> 0) + (Bl >>> 0);
+ return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };
+}
+// Addition with more than 2 elements
+const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
+const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;
+const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
+const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;
+const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
+const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;
+// prettier-ignore
+const u64 = {
+ fromBig, split, toBig,
+ shrSH, shrSL,
+ rotrSH, rotrSL, rotrBH, rotrBL,
+ rotr32H, rotr32L,
+ rotlSH, rotlSL, rotlBH, rotlBL,
+ add, add3L, add3H, add4L, add4H, add5H, add5L,
+};
+
+// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):
+// prettier-ignore
+const [SHA512_Kh, SHA512_Kl] = u64.split([
+ '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',
+ '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',
+ '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',
+ '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',
+ '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',
+ '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',
+ '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',
+ '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',
+ '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',
+ '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',
+ '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',
+ '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',
+ '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',
+ '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',
+ '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',
+ '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',
+ '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',
+ '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',
+ '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',
+ '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'
+].map(n => BigInt(n)));
+// Temporary buffer, not used to store anything between runs
+const SHA512_W_H = new Uint32Array(80);
+const SHA512_W_L = new Uint32Array(80);
+class SHA512 extends SHA2 {
+ constructor() {
+ super(128, 64, 16, false);
+ // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.
+ // Also looks cleaner and easier to verify with spec.
+ // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
+ // h -- high 32 bits, l -- low 32 bits
+ this.Ah = 0x6a09e667 | 0;
+ this.Al = 0xf3bcc908 | 0;
+ this.Bh = 0xbb67ae85 | 0;
+ this.Bl = 0x84caa73b | 0;
+ this.Ch = 0x3c6ef372 | 0;
+ this.Cl = 0xfe94f82b | 0;
+ this.Dh = 0xa54ff53a | 0;
+ this.Dl = 0x5f1d36f1 | 0;
+ this.Eh = 0x510e527f | 0;
+ this.El = 0xade682d1 | 0;
+ this.Fh = 0x9b05688c | 0;
+ this.Fl = 0x2b3e6c1f | 0;
+ this.Gh = 0x1f83d9ab | 0;
+ this.Gl = 0xfb41bd6b | 0;
+ this.Hh = 0x5be0cd19 | 0;
+ this.Hl = 0x137e2179 | 0;
+ }
+ // prettier-ignore
+ get() {
+ const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
+ return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];
+ }
+ // prettier-ignore
+ set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {
+ this.Ah = Ah | 0;
+ this.Al = Al | 0;
+ this.Bh = Bh | 0;
+ this.Bl = Bl | 0;
+ this.Ch = Ch | 0;
+ this.Cl = Cl | 0;
+ this.Dh = Dh | 0;
+ this.Dl = Dl | 0;
+ this.Eh = Eh | 0;
+ this.El = El | 0;
+ this.Fh = Fh | 0;
+ this.Fl = Fl | 0;
+ this.Gh = Gh | 0;
+ this.Gl = Gl | 0;
+ this.Hh = Hh | 0;
+ this.Hl = Hl | 0;
+ }
+ process(view, offset) {
+ // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array
+ for (let i = 0; i < 16; i++, offset += 4) {
+ SHA512_W_H[i] = view.getUint32(offset);
+ SHA512_W_L[i] = view.getUint32((offset += 4));
+ }
+ for (let i = 16; i < 80; i++) {
+ // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)
+ const W15h = SHA512_W_H[i - 15] | 0;
+ const W15l = SHA512_W_L[i - 15] | 0;
+ const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);
+ const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);
+ // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)
+ const W2h = SHA512_W_H[i - 2] | 0;
+ const W2l = SHA512_W_L[i - 2] | 0;
+ const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);
+ const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);
+ // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];
+ const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);
+ const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);
+ SHA512_W_H[i] = SUMh | 0;
+ SHA512_W_L[i] = SUMl | 0;
+ }
+ let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
+ // Compression function main loop, 80 rounds
+ for (let i = 0; i < 80; i++) {
+ // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)
+ const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);
+ const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);
+ //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
+ const CHIh = (Eh & Fh) ^ (~Eh & Gh);
+ const CHIl = (El & Fl) ^ (~El & Gl);
+ // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]
+ // prettier-ignore
+ const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);
+ const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);
+ const T1l = T1ll | 0;
+ // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)
+ const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);
+ const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);
+ const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);
+ const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);
+ Hh = Gh | 0;
+ Hl = Gl | 0;
+ Gh = Fh | 0;
+ Gl = Fl | 0;
+ Fh = Eh | 0;
+ Fl = El | 0;
+ ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));
+ Dh = Ch | 0;
+ Dl = Cl | 0;
+ Ch = Bh | 0;
+ Cl = Bl | 0;
+ Bh = Ah | 0;
+ Bl = Al | 0;
+ const All = u64.add3L(T1l, sigma0l, MAJl);
+ Ah = u64.add3H(All, T1h, sigma0h, MAJh);
+ Al = All | 0;
+ }
+ // Add the compressed chunk to the current hash value
+ ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));
+ ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));
+ ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));
+ ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));
+ ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));
+ ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));
+ ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));
+ ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));
+ this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);
+ }
+ roundClean() {
+ SHA512_W_H.fill(0);
+ SHA512_W_L.fill(0);
+ }
+ destroy() {
+ this.buffer.fill(0);
+ this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+ }
+}
+class SHA512_224 extends SHA512 {
+ constructor() {
+ super();
+ // h -- high 32 bits, l -- low 32 bits
+ this.Ah = 0x8c3d37c8 | 0;
+ this.Al = 0x19544da2 | 0;
+ this.Bh = 0x73e19966 | 0;
+ this.Bl = 0x89dcd4d6 | 0;
+ this.Ch = 0x1dfab7ae | 0;
+ this.Cl = 0x32ff9c82 | 0;
+ this.Dh = 0x679dd514 | 0;
+ this.Dl = 0x582f9fcf | 0;
+ this.Eh = 0x0f6d2b69 | 0;
+ this.El = 0x7bd44da8 | 0;
+ this.Fh = 0x77e36f73 | 0;
+ this.Fl = 0x04c48942 | 0;
+ this.Gh = 0x3f9d85a8 | 0;
+ this.Gl = 0x6a1d36c8 | 0;
+ this.Hh = 0x1112e6ad | 0;
+ this.Hl = 0x91d692a1 | 0;
+ this.outputLen = 28;
+ }
+}
+class SHA512_256 extends SHA512 {
+ constructor() {
+ super();
+ // h -- high 32 bits, l -- low 32 bits
+ this.Ah = 0x22312194 | 0;
+ this.Al = 0xfc2bf72c | 0;
+ this.Bh = 0x9f555fa3 | 0;
+ this.Bl = 0xc84c64c2 | 0;
+ this.Ch = 0x2393b86b | 0;
+ this.Cl = 0x6f53b151 | 0;
+ this.Dh = 0x96387719 | 0;
+ this.Dl = 0x5940eabd | 0;
+ this.Eh = 0x96283ee2 | 0;
+ this.El = 0xa88effe3 | 0;
+ this.Fh = 0xbe5e1e25 | 0;
+ this.Fl = 0x53863992 | 0;
+ this.Gh = 0x2b0199fc | 0;
+ this.Gl = 0x2c85b8aa | 0;
+ this.Hh = 0x0eb72ddc | 0;
+ this.Hl = 0x81c52ca2 | 0;
+ this.outputLen = 32;
+ }
+}
+class SHA384 extends SHA512 {
+ constructor() {
+ super();
+ // h -- high 32 bits, l -- low 32 bits
+ this.Ah = 0xcbbb9d5d | 0;
+ this.Al = 0xc1059ed8 | 0;
+ this.Bh = 0x629a292a | 0;
+ this.Bl = 0x367cd507 | 0;
+ this.Ch = 0x9159015a | 0;
+ this.Cl = 0x3070dd17 | 0;
+ this.Dh = 0x152fecd8 | 0;
+ this.Dl = 0xf70e5939 | 0;
+ this.Eh = 0x67332667 | 0;
+ this.El = 0xffc00b31 | 0;
+ this.Fh = 0x8eb44a87 | 0;
+ this.Fl = 0x68581511 | 0;
+ this.Gh = 0xdb0c2e0d | 0;
+ this.Gl = 0x64f98fa7 | 0;
+ this.Hh = 0x47b5481d | 0;
+ this.Hl = 0xbefa4fa4 | 0;
+ this.outputLen = 48;
+ }
+}
+const sha512 = wrapConstructor(() => new SHA512());
+wrapConstructor(() => new SHA512_224());
+wrapConstructor(() => new SHA512_256());
+wrapConstructor(() => new SHA384());
+
+// HMAC (RFC 2104)
+class HMAC extends Hash {
+ constructor(hash, _key) {
+ super();
+ this.finished = false;
+ this.destroyed = false;
+ assert.hash(hash);
+ const key = toBytes(_key);
+ this.iHash = hash.create();
+ if (typeof this.iHash.update !== 'function')
+ throw new TypeError('Expected instance of class which extends utils.Hash');
+ this.blockLen = this.iHash.blockLen;
+ this.outputLen = this.iHash.outputLen;
+ const blockLen = this.blockLen;
+ const pad = new Uint8Array(blockLen);
+ // blockLen can be bigger than outputLen
+ pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);
+ for (let i = 0; i < pad.length; i++)
+ pad[i] ^= 0x36;
+ this.iHash.update(pad);
+ // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone
+ this.oHash = hash.create();
+ // Undo internal XOR && apply outer XOR
+ for (let i = 0; i < pad.length; i++)
+ pad[i] ^= 0x36 ^ 0x5c;
+ this.oHash.update(pad);
+ pad.fill(0);
+ }
+ update(buf) {
+ assert.exists(this);
+ this.iHash.update(buf);
+ return this;
+ }
+ digestInto(out) {
+ assert.exists(this);
+ assert.bytes(out, this.outputLen);
+ this.finished = true;
+ this.iHash.digestInto(out);
+ this.oHash.update(out);
+ this.oHash.digestInto(out);
+ this.destroy();
+ }
+ digest() {
+ const out = new Uint8Array(this.oHash.outputLen);
+ this.digestInto(out);
+ return out;
+ }
+ _cloneInto(to) {
+ // Create new instance without calling constructor since key already in state and we don't know it.
+ to || (to = Object.create(Object.getPrototypeOf(this), {}));
+ const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;
+ to = to;
+ to.finished = finished;
+ to.destroyed = destroyed;
+ to.blockLen = blockLen;
+ to.outputLen = outputLen;
+ to.oHash = oHash._cloneInto(to.oHash);
+ to.iHash = iHash._cloneInto(to.iHash);
+ return to;
+ }
+ destroy() {
+ this.destroyed = true;
+ this.oHash.destroy();
+ this.iHash.destroy();
+ }
+}
+/**
+ * HMAC: RFC2104 message authentication code.
+ * @param hash - function that would be used e.g. sha256
+ * @param key - message key
+ * @param message - message data
+ */
+const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();
+hmac.create = (hash, key) => new HMAC(hash, key);
+
+// Common prologue and epilogue for sync/async functions
+function pbkdf2Init(hash, _password, _salt, _opts) {
+ assert.hash(hash);
+ const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);
+ const { c, dkLen, asyncTick } = opts;
+ assert.number(c);
+ assert.number(dkLen);
+ assert.number(asyncTick);
+ if (c < 1)
+ throw new Error('PBKDF2: iterations (c) should be >= 1');
+ const password = toBytes(_password);
+ const salt = toBytes(_salt);
+ // DK = PBKDF2(PRF, Password, Salt, c, dkLen);
+ const DK = new Uint8Array(dkLen);
+ // U1 = PRF(Password, Salt + INT_32_BE(i))
+ const PRF = hmac.create(hash, password);
+ const PRFSalt = PRF._cloneInto().update(salt);
+ return { c, dkLen, asyncTick, DK, PRF, PRFSalt };
+}
+function pbkdf2Output(PRF, PRFSalt, DK, prfW, u) {
+ PRF.destroy();
+ PRFSalt.destroy();
+ if (prfW)
+ prfW.destroy();
+ u.fill(0);
+ return DK;
+}
+/**
+ * PBKDF2-HMAC: RFC 2898 key derivation function
+ * @param hash - hash function that would be used e.g. sha256
+ * @param password - password from which a derived key is generated
+ * @param salt - cryptographic salt
+ * @param opts - {c, dkLen} where c is work factor and dkLen is output message size
+ */
+function pbkdf2(hash, password, salt, opts) {
+ const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);
+ let prfW; // Working copy
+ const arr = new Uint8Array(4);
+ const view = createView(arr);
+ const u = new Uint8Array(PRF.outputLen);
+ // DK = T1 + T2 + ⋯ + Tdklen/hlen
+ for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {
+ // Ti = F(Password, Salt, c, i)
+ const Ti = DK.subarray(pos, pos + PRF.outputLen);
+ view.setInt32(0, ti, false);
+ // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc
+ // U1 = PRF(Password, Salt + INT_32_BE(i))
+ (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);
+ Ti.set(u.subarray(0, Ti.length));
+ for (let ui = 1; ui < c; ui++) {
+ // Uc = PRF(Password, Uc−1)
+ PRF._cloneInto(prfW).update(u).digestInto(u);
+ for (let i = 0; i < Ti.length; i++)
+ Ti[i] ^= u[i];
+ }
+ }
+ return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);
+}
+async function pbkdf2Async(hash, password, salt, opts) {
+ const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);
+ let prfW; // Working copy
+ const arr = new Uint8Array(4);
+ const view = createView(arr);
+ const u = new Uint8Array(PRF.outputLen);
+ // DK = T1 + T2 + ⋯ + Tdklen/hlen
+ for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {
+ // Ti = F(Password, Salt, c, i)
+ const Ti = DK.subarray(pos, pos + PRF.outputLen);
+ view.setInt32(0, ti, false);
+ // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc
+ // U1 = PRF(Password, Salt + INT_32_BE(i))
+ (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);
+ Ti.set(u.subarray(0, Ti.length));
+ await asyncLoop(c - 1, asyncTick, (i) => {
+ // Uc = PRF(Password, Uc−1)
+ PRF._cloneInto(prfW).update(u).digestInto(u);
+ for (let i = 0; i < Ti.length; i++)
+ Ti[i] ^= u[i];
+ });
+ }
+ return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);
+}
+
+const HEX_STRINGS = "0123456789abcdefABCDEF";
+const HEX_CODES = HEX_STRINGS.split("").map((c) => c.codePointAt(0));
+const HEX_CODEPOINTS = Array(256)
+ .fill(true)
+ .map((_, i) => {
+ const s = String.fromCodePoint(i);
+ const index = HEX_STRINGS.indexOf(s);
+ // ABCDEF will use 10 - 15
+ return index < 0 ? undefined : index < 16 ? index : index - 6;
+});
+const ENCODER = new TextEncoder();
+const DECODER = new TextDecoder();
+function fromUtf8(s) {
+ return ENCODER.encode(s);
+}
+// There are two implementations.
+// One optimizes for length of the bytes, and uses TextDecoder.
+// One optimizes for iteration count, and appends strings.
+// This removes the overhead of TextDecoder.
+function toHex(bytes) {
+ const b = bytes || new Uint8Array();
+ return b.length > 512 ? _toHexLengthPerf(b) : _toHexIterPerf(b);
+}
+function _toHexIterPerf(bytes) {
+ let s = "";
+ for (let i = 0; i < bytes.length; ++i) {
+ s += HEX_STRINGS[HEX_CODEPOINTS[HEX_CODES[bytes[i] >> 4]]];
+ s += HEX_STRINGS[HEX_CODEPOINTS[HEX_CODES[bytes[i] & 15]]];
+ }
+ return s;
+}
+function _toHexLengthPerf(bytes) {
+ const hexBytes = new Uint8Array(bytes.length * 2);
+ for (let i = 0; i < bytes.length; ++i) {
+ hexBytes[i * 2] = HEX_CODES[bytes[i] >> 4];
+ hexBytes[i * 2 + 1] = HEX_CODES[bytes[i] & 15];
+ }
+ return DECODER.decode(hexBytes);
+}
+// Mimics Buffer.from(x, 'hex') logic
+// Stops on first non-hex string and returns
+// https://github.com/nodejs/node/blob/v14.18.1/src/string_bytes.cc#L246-L261
+function fromHex(hexString) {
+ const hexBytes = ENCODER.encode(hexString || "");
+ const resultBytes = new Uint8Array(Math.floor(hexBytes.length / 2));
+ let i;
+ for (i = 0; i < resultBytes.length; i++) {
+ const a = HEX_CODEPOINTS[hexBytes[i * 2]];
+ const b = HEX_CODEPOINTS[hexBytes[i * 2 + 1]];
+ if (a === undefined || b === undefined) {
+ break;
+ }
+ resultBytes[i] = (a << 4) | b;
+ }
+ return i === resultBytes.length ? resultBytes : resultBytes.slice(0, i);
+}
+
+const chineseSimplified = [
+ '的',
+ '一',
+ '是',
+ '在',
+ '不',
+ '了',
+ '有',
+ '和',
+ '人',
+ '这',
+ '中',
+ '大',
+ '为',
+ '上',
+ '个',
+ '国',
+ '我',
+ '以',
+ '要',
+ '他',
+ '时',
+ '来',
+ '用',
+ '们',
+ '生',
+ '到',
+ '作',
+ '地',
+ '于',
+ '出',
+ '就',
+ '分',
+ '对',
+ '成',
+ '会',
+ '可',
+ '主',
+ '发',
+ '年',
+ '动',
+ '同',
+ '工',
+ '也',
+ '能',
+ '下',
+ '过',
+ '子',
+ '说',
+ '产',
+ '种',
+ '面',
+ '而',
+ '方',
+ '后',
+ '多',
+ '定',
+ '行',
+ '学',
+ '法',
+ '所',
+ '民',
+ '得',
+ '经',
+ '十',
+ '三',
+ '之',
+ '进',
+ '着',
+ '等',
+ '部',
+ '度',
+ '家',
+ '电',
+ '力',
+ '里',
+ '如',
+ '水',
+ '化',
+ '高',
+ '自',
+ '二',
+ '理',
+ '起',
+ '小',
+ '物',
+ '现',
+ '实',
+ '加',
+ '量',
+ '都',
+ '两',
+ '体',
+ '制',
+ '机',
+ '当',
+ '使',
+ '点',
+ '从',
+ '业',
+ '本',
+ '去',
+ '把',
+ '性',
+ '好',
+ '应',
+ '开',
+ '它',
+ '合',
+ '还',
+ '因',
+ '由',
+ '其',
+ '些',
+ '然',
+ '前',
+ '外',
+ '天',
+ '政',
+ '四',
+ '日',
+ '那',
+ '社',
+ '义',
+ '事',
+ '平',
+ '形',
+ '相',
+ '全',
+ '表',
+ '间',
+ '样',
+ '与',
+ '关',
+ '各',
+ '重',
+ '新',
+ '线',
+ '内',
+ '数',
+ '正',
+ '心',
+ '反',
+ '你',
+ '明',
+ '看',
+ '原',
+ '又',
+ '么',
+ '利',
+ '比',
+ '或',
+ '但',
+ '质',
+ '气',
+ '第',
+ '向',
+ '道',
+ '命',
+ '此',
+ '变',
+ '条',
+ '只',
+ '没',
+ '结',
+ '解',
+ '问',
+ '意',
+ '建',
+ '月',
+ '公',
+ '无',
+ '系',
+ '军',
+ '很',
+ '情',
+ '者',
+ '最',
+ '立',
+ '代',
+ '想',
+ '已',
+ '通',
+ '并',
+ '提',
+ '直',
+ '题',
+ '党',
+ '程',
+ '展',
+ '五',
+ '果',
+ '料',
+ '象',
+ '员',
+ '革',
+ '位',
+ '入',
+ '常',
+ '文',
+ '总',
+ '次',
+ '品',
+ '式',
+ '活',
+ '设',
+ '及',
+ '管',
+ '特',
+ '件',
+ '长',
+ '求',
+ '老',
+ '头',
+ '基',
+ '资',
+ '边',
+ '流',
+ '路',
+ '级',
+ '少',
+ '图',
+ '山',
+ '统',
+ '接',
+ '知',
+ '较',
+ '将',
+ '组',
+ '见',
+ '计',
+ '别',
+ '她',
+ '手',
+ '角',
+ '期',
+ '根',
+ '论',
+ '运',
+ '农',
+ '指',
+ '几',
+ '九',
+ '区',
+ '强',
+ '放',
+ '决',
+ '西',
+ '被',
+ '干',
+ '做',
+ '必',
+ '战',
+ '先',
+ '回',
+ '则',
+ '任',
+ '取',
+ '据',
+ '处',
+ '队',
+ '南',
+ '给',
+ '色',
+ '光',
+ '门',
+ '即',
+ '保',
+ '治',
+ '北',
+ '造',
+ '百',
+ '规',
+ '热',
+ '领',
+ '七',
+ '海',
+ '口',
+ '东',
+ '导',
+ '器',
+ '压',
+ '志',
+ '世',
+ '金',
+ '增',
+ '争',
+ '济',
+ '阶',
+ '油',
+ '思',
+ '术',
+ '极',
+ '交',
+ '受',
+ '联',
+ '什',
+ '认',
+ '六',
+ '共',
+ '权',
+ '收',
+ '证',
+ '改',
+ '清',
+ '美',
+ '再',
+ '采',
+ '转',
+ '更',
+ '单',
+ '风',
+ '切',
+ '打',
+ '白',
+ '教',
+ '速',
+ '花',
+ '带',
+ '安',
+ '场',
+ '身',
+ '车',
+ '例',
+ '真',
+ '务',
+ '具',
+ '万',
+ '每',
+ '目',
+ '至',
+ '达',
+ '走',
+ '积',
+ '示',
+ '议',
+ '声',
+ '报',
+ '斗',
+ '完',
+ '类',
+ '八',
+ '离',
+ '华',
+ '名',
+ '确',
+ '才',
+ '科',
+ '张',
+ '信',
+ '马',
+ '节',
+ '话',
+ '米',
+ '整',
+ '空',
+ '元',
+ '况',
+ '今',
+ '集',
+ '温',
+ '传',
+ '土',
+ '许',
+ '步',
+ '群',
+ '广',
+ '石',
+ '记',
+ '需',
+ '段',
+ '研',
+ '界',
+ '拉',
+ '林',
+ '律',
+ '叫',
+ '且',
+ '究',
+ '观',
+ '越',
+ '织',
+ '装',
+ '影',
+ '算',
+ '低',
+ '持',
+ '音',
+ '众',
+ '书',
+ '布',
+ '复',
+ '容',
+ '儿',
+ '须',
+ '际',
+ '商',
+ '非',
+ '验',
+ '连',
+ '断',
+ '深',
+ '难',
+ '近',
+ '矿',
+ '千',
+ '周',
+ '委',
+ '素',
+ '技',
+ '备',
+ '半',
+ '办',
+ '青',
+ '省',
+ '列',
+ '习',
+ '响',
+ '约',
+ '支',
+ '般',
+ '史',
+ '感',
+ '劳',
+ '便',
+ '团',
+ '往',
+ '酸',
+ '历',
+ '市',
+ '克',
+ '何',
+ '除',
+ '消',
+ '构',
+ '府',
+ '称',
+ '太',
+ '准',
+ '精',
+ '值',
+ '号',
+ '率',
+ '族',
+ '维',
+ '划',
+ '选',
+ '标',
+ '写',
+ '存',
+ '候',
+ '毛',
+ '亲',
+ '快',
+ '效',
+ '斯',
+ '院',
+ '查',
+ '江',
+ '型',
+ '眼',
+ '王',
+ '按',
+ '格',
+ '养',
+ '易',
+ '置',
+ '派',
+ '层',
+ '片',
+ '始',
+ '却',
+ '专',
+ '状',
+ '育',
+ '厂',
+ '京',
+ '识',
+ '适',
+ '属',
+ '圆',
+ '包',
+ '火',
+ '住',
+ '调',
+ '满',
+ '县',
+ '局',
+ '照',
+ '参',
+ '红',
+ '细',
+ '引',
+ '听',
+ '该',
+ '铁',
+ '价',
+ '严',
+ '首',
+ '底',
+ '液',
+ '官',
+ '德',
+ '随',
+ '病',
+ '苏',
+ '失',
+ '尔',
+ '死',
+ '讲',
+ '配',
+ '女',
+ '黄',
+ '推',
+ '显',
+ '谈',
+ '罪',
+ '神',
+ '艺',
+ '呢',
+ '席',
+ '含',
+ '企',
+ '望',
+ '密',
+ '批',
+ '营',
+ '项',
+ '防',
+ '举',
+ '球',
+ '英',
+ '氧',
+ '势',
+ '告',
+ '李',
+ '台',
+ '落',
+ '木',
+ '帮',
+ '轮',
+ '破',
+ '亚',
+ '师',
+ '围',
+ '注',
+ '远',
+ '字',
+ '材',
+ '排',
+ '供',
+ '河',
+ '态',
+ '封',
+ '另',
+ '施',
+ '减',
+ '树',
+ '溶',
+ '怎',
+ '止',
+ '案',
+ '言',
+ '士',
+ '均',
+ '武',
+ '固',
+ '叶',
+ '鱼',
+ '波',
+ '视',
+ '仅',
+ '费',
+ '紧',
+ '爱',
+ '左',
+ '章',
+ '早',
+ '朝',
+ '害',
+ '续',
+ '轻',
+ '服',
+ '试',
+ '食',
+ '充',
+ '兵',
+ '源',
+ '判',
+ '护',
+ '司',
+ '足',
+ '某',
+ '练',
+ '差',
+ '致',
+ '板',
+ '田',
+ '降',
+ '黑',
+ '犯',
+ '负',
+ '击',
+ '范',
+ '继',
+ '兴',
+ '似',
+ '余',
+ '坚',
+ '曲',
+ '输',
+ '修',
+ '故',
+ '城',
+ '夫',
+ '够',
+ '送',
+ '笔',
+ '船',
+ '占',
+ '右',
+ '财',
+ '吃',
+ '富',
+ '春',
+ '职',
+ '觉',
+ '汉',
+ '画',
+ '功',
+ '巴',
+ '跟',
+ '虽',
+ '杂',
+ '飞',
+ '检',
+ '吸',
+ '助',
+ '升',
+ '阳',
+ '互',
+ '初',
+ '创',
+ '抗',
+ '考',
+ '投',
+ '坏',
+ '策',
+ '古',
+ '径',
+ '换',
+ '未',
+ '跑',
+ '留',
+ '钢',
+ '曾',
+ '端',
+ '责',
+ '站',
+ '简',
+ '述',
+ '钱',
+ '副',
+ '尽',
+ '帝',
+ '射',
+ '草',
+ '冲',
+ '承',
+ '独',
+ '令',
+ '限',
+ '阿',
+ '宣',
+ '环',
+ '双',
+ '请',
+ '超',
+ '微',
+ '让',
+ '控',
+ '州',
+ '良',
+ '轴',
+ '找',
+ '否',
+ '纪',
+ '益',
+ '依',
+ '优',
+ '顶',
+ '础',
+ '载',
+ '倒',
+ '房',
+ '突',
+ '坐',
+ '粉',
+ '敌',
+ '略',
+ '客',
+ '袁',
+ '冷',
+ '胜',
+ '绝',
+ '析',
+ '块',
+ '剂',
+ '测',
+ '丝',
+ '协',
+ '诉',
+ '念',
+ '陈',
+ '仍',
+ '罗',
+ '盐',
+ '友',
+ '洋',
+ '错',
+ '苦',
+ '夜',
+ '刑',
+ '移',
+ '频',
+ '逐',
+ '靠',
+ '混',
+ '母',
+ '短',
+ '皮',
+ '终',
+ '聚',
+ '汽',
+ '村',
+ '云',
+ '哪',
+ '既',
+ '距',
+ '卫',
+ '停',
+ '烈',
+ '央',
+ '察',
+ '烧',
+ '迅',
+ '境',
+ '若',
+ '印',
+ '洲',
+ '刻',
+ '括',
+ '激',
+ '孔',
+ '搞',
+ '甚',
+ '室',
+ '待',
+ '核',
+ '校',
+ '散',
+ '侵',
+ '吧',
+ '甲',
+ '游',
+ '久',
+ '菜',
+ '味',
+ '旧',
+ '模',
+ '湖',
+ '货',
+ '损',
+ '预',
+ '阻',
+ '毫',
+ '普',
+ '稳',
+ '乙',
+ '妈',
+ '植',
+ '息',
+ '扩',
+ '银',
+ '语',
+ '挥',
+ '酒',
+ '守',
+ '拿',
+ '序',
+ '纸',
+ '医',
+ '缺',
+ '雨',
+ '吗',
+ '针',
+ '刘',
+ '啊',
+ '急',
+ '唱',
+ '误',
+ '训',
+ '愿',
+ '审',
+ '附',
+ '获',
+ '茶',
+ '鲜',
+ '粮',
+ '斤',
+ '孩',
+ '脱',
+ '硫',
+ '肥',
+ '善',
+ '龙',
+ '演',
+ '父',
+ '渐',
+ '血',
+ '欢',
+ '械',
+ '掌',
+ '歌',
+ '沙',
+ '刚',
+ '攻',
+ '谓',
+ '盾',
+ '讨',
+ '晚',
+ '粒',
+ '乱',
+ '燃',
+ '矛',
+ '乎',
+ '杀',
+ '药',
+ '宁',
+ '鲁',
+ '贵',
+ '钟',
+ '煤',
+ '读',
+ '班',
+ '伯',
+ '香',
+ '介',
+ '迫',
+ '句',
+ '丰',
+ '培',
+ '握',
+ '兰',
+ '担',
+ '弦',
+ '蛋',
+ '沉',
+ '假',
+ '穿',
+ '执',
+ '答',
+ '乐',
+ '谁',
+ '顺',
+ '烟',
+ '缩',
+ '征',
+ '脸',
+ '喜',
+ '松',
+ '脚',
+ '困',
+ '异',
+ '免',
+ '背',
+ '星',
+ '福',
+ '买',
+ '染',
+ '井',
+ '概',
+ '慢',
+ '怕',
+ '磁',
+ '倍',
+ '祖',
+ '皇',
+ '促',
+ '静',
+ '补',
+ '评',
+ '翻',
+ '肉',
+ '践',
+ '尼',
+ '衣',
+ '宽',
+ '扬',
+ '棉',
+ '希',
+ '伤',
+ '操',
+ '垂',
+ '秋',
+ '宜',
+ '氢',
+ '套',
+ '督',
+ '振',
+ '架',
+ '亮',
+ '末',
+ '宪',
+ '庆',
+ '编',
+ '牛',
+ '触',
+ '映',
+ '雷',
+ '销',
+ '诗',
+ '座',
+ '居',
+ '抓',
+ '裂',
+ '胞',
+ '呼',
+ '娘',
+ '景',
+ '威',
+ '绿',
+ '晶',
+ '厚',
+ '盟',
+ '衡',
+ '鸡',
+ '孙',
+ '延',
+ '危',
+ '胶',
+ '屋',
+ '乡',
+ '临',
+ '陆',
+ '顾',
+ '掉',
+ '呀',
+ '灯',
+ '岁',
+ '措',
+ '束',
+ '耐',
+ '剧',
+ '玉',
+ '赵',
+ '跳',
+ '哥',
+ '季',
+ '课',
+ '凯',
+ '胡',
+ '额',
+ '款',
+ '绍',
+ '卷',
+ '齐',
+ '伟',
+ '蒸',
+ '殖',
+ '永',
+ '宗',
+ '苗',
+ '川',
+ '炉',
+ '岩',
+ '弱',
+ '零',
+ '杨',
+ '奏',
+ '沿',
+ '露',
+ '杆',
+ '探',
+ '滑',
+ '镇',
+ '饭',
+ '浓',
+ '航',
+ '怀',
+ '赶',
+ '库',
+ '夺',
+ '伊',
+ '灵',
+ '税',
+ '途',
+ '灭',
+ '赛',
+ '归',
+ '召',
+ '鼓',
+ '播',
+ '盘',
+ '裁',
+ '险',
+ '康',
+ '唯',
+ '录',
+ '菌',
+ '纯',
+ '借',
+ '糖',
+ '盖',
+ '横',
+ '符',
+ '私',
+ '努',
+ '堂',
+ '域',
+ '枪',
+ '润',
+ '幅',
+ '哈',
+ '竟',
+ '熟',
+ '虫',
+ '泽',
+ '脑',
+ '壤',
+ '碳',
+ '欧',
+ '遍',
+ '侧',
+ '寨',
+ '敢',
+ '彻',
+ '虑',
+ '斜',
+ '薄',
+ '庭',
+ '纳',
+ '弹',
+ '饲',
+ '伸',
+ '折',
+ '麦',
+ '湿',
+ '暗',
+ '荷',
+ '瓦',
+ '塞',
+ '床',
+ '筑',
+ '恶',
+ '户',
+ '访',
+ '塔',
+ '奇',
+ '透',
+ '梁',
+ '刀',
+ '旋',
+ '迹',
+ '卡',
+ '氯',
+ '遇',
+ '份',
+ '毒',
+ '泥',
+ '退',
+ '洗',
+ '摆',
+ '灰',
+ '彩',
+ '卖',
+ '耗',
+ '夏',
+ '择',
+ '忙',
+ '铜',
+ '献',
+ '硬',
+ '予',
+ '繁',
+ '圈',
+ '雪',
+ '函',
+ '亦',
+ '抽',
+ '篇',
+ '阵',
+ '阴',
+ '丁',
+ '尺',
+ '追',
+ '堆',
+ '雄',
+ '迎',
+ '泛',
+ '爸',
+ '楼',
+ '避',
+ '谋',
+ '吨',
+ '野',
+ '猪',
+ '旗',
+ '累',
+ '偏',
+ '典',
+ '馆',
+ '索',
+ '秦',
+ '脂',
+ '潮',
+ '爷',
+ '豆',
+ '忽',
+ '托',
+ '惊',
+ '塑',
+ '遗',
+ '愈',
+ '朱',
+ '替',
+ '纤',
+ '粗',
+ '倾',
+ '尚',
+ '痛',
+ '楚',
+ '谢',
+ '奋',
+ '购',
+ '磨',
+ '君',
+ '池',
+ '旁',
+ '碎',
+ '骨',
+ '监',
+ '捕',
+ '弟',
+ '暴',
+ '割',
+ '贯',
+ '殊',
+ '释',
+ '词',
+ '亡',
+ '壁',
+ '顿',
+ '宝',
+ '午',
+ '尘',
+ '闻',
+ '揭',
+ '炮',
+ '残',
+ '冬',
+ '桥',
+ '妇',
+ '警',
+ '综',
+ '招',
+ '吴',
+ '付',
+ '浮',
+ '遭',
+ '徐',
+ '您',
+ '摇',
+ '谷',
+ '赞',
+ '箱',
+ '隔',
+ '订',
+ '男',
+ '吹',
+ '园',
+ '纷',
+ '唐',
+ '败',
+ '宋',
+ '玻',
+ '巨',
+ '耕',
+ '坦',
+ '荣',
+ '闭',
+ '湾',
+ '键',
+ '凡',
+ '驻',
+ '锅',
+ '救',
+ '恩',
+ '剥',
+ '凝',
+ '碱',
+ '齿',
+ '截',
+ '炼',
+ '麻',
+ '纺',
+ '禁',
+ '废',
+ '盛',
+ '版',
+ '缓',
+ '净',
+ '睛',
+ '昌',
+ '婚',
+ '涉',
+ '筒',
+ '嘴',
+ '插',
+ '岸',
+ '朗',
+ '庄',
+ '街',
+ '藏',
+ '姑',
+ '贸',
+ '腐',
+ '奴',
+ '啦',
+ '惯',
+ '乘',
+ '伙',
+ '恢',
+ '匀',
+ '纱',
+ '扎',
+ '辩',
+ '耳',
+ '彪',
+ '臣',
+ '亿',
+ '璃',
+ '抵',
+ '脉',
+ '秀',
+ '萨',
+ '俄',
+ '网',
+ '舞',
+ '店',
+ '喷',
+ '纵',
+ '寸',
+ '汗',
+ '挂',
+ '洪',
+ '贺',
+ '闪',
+ '柬',
+ '爆',
+ '烯',
+ '津',
+ '稻',
+ '墙',
+ '软',
+ '勇',
+ '像',
+ '滚',
+ '厘',
+ '蒙',
+ '芳',
+ '肯',
+ '坡',
+ '柱',
+ '荡',
+ '腿',
+ '仪',
+ '旅',
+ '尾',
+ '轧',
+ '冰',
+ '贡',
+ '登',
+ '黎',
+ '削',
+ '钻',
+ '勒',
+ '逃',
+ '障',
+ '氨',
+ '郭',
+ '峰',
+ '币',
+ '港',
+ '伏',
+ '轨',
+ '亩',
+ '毕',
+ '擦',
+ '莫',
+ '刺',
+ '浪',
+ '秘',
+ '援',
+ '株',
+ '健',
+ '售',
+ '股',
+ '岛',
+ '甘',
+ '泡',
+ '睡',
+ '童',
+ '铸',
+ '汤',
+ '阀',
+ '休',
+ '汇',
+ '舍',
+ '牧',
+ '绕',
+ '炸',
+ '哲',
+ '磷',
+ '绩',
+ '朋',
+ '淡',
+ '尖',
+ '启',
+ '陷',
+ '柴',
+ '呈',
+ '徒',
+ '颜',
+ '泪',
+ '稍',
+ '忘',
+ '泵',
+ '蓝',
+ '拖',
+ '洞',
+ '授',
+ '镜',
+ '辛',
+ '壮',
+ '锋',
+ '贫',
+ '虚',
+ '弯',
+ '摩',
+ '泰',
+ '幼',
+ '廷',
+ '尊',
+ '窗',
+ '纲',
+ '弄',
+ '隶',
+ '疑',
+ '氏',
+ '宫',
+ '姐',
+ '震',
+ '瑞',
+ '怪',
+ '尤',
+ '琴',
+ '循',
+ '描',
+ '膜',
+ '违',
+ '夹',
+ '腰',
+ '缘',
+ '珠',
+ '穷',
+ '森',
+ '枝',
+ '竹',
+ '沟',
+ '催',
+ '绳',
+ '忆',
+ '邦',
+ '剩',
+ '幸',
+ '浆',
+ '栏',
+ '拥',
+ '牙',
+ '贮',
+ '礼',
+ '滤',
+ '钠',
+ '纹',
+ '罢',
+ '拍',
+ '咱',
+ '喊',
+ '袖',
+ '埃',
+ '勤',
+ '罚',
+ '焦',
+ '潜',
+ '伍',
+ '墨',
+ '欲',
+ '缝',
+ '姓',
+ '刊',
+ '饱',
+ '仿',
+ '奖',
+ '铝',
+ '鬼',
+ '丽',
+ '跨',
+ '默',
+ '挖',
+ '链',
+ '扫',
+ '喝',
+ '袋',
+ '炭',
+ '污',
+ '幕',
+ '诸',
+ '弧',
+ '励',
+ '梅',
+ '奶',
+ '洁',
+ '灾',
+ '舟',
+ '鉴',
+ '苯',
+ '讼',
+ '抱',
+ '毁',
+ '懂',
+ '寒',
+ '智',
+ '埔',
+ '寄',
+ '届',
+ '跃',
+ '渡',
+ '挑',
+ '丹',
+ '艰',
+ '贝',
+ '碰',
+ '拔',
+ '爹',
+ '戴',
+ '码',
+ '梦',
+ '芽',
+ '熔',
+ '赤',
+ '渔',
+ '哭',
+ '敬',
+ '颗',
+ '奔',
+ '铅',
+ '仲',
+ '虎',
+ '稀',
+ '妹',
+ '乏',
+ '珍',
+ '申',
+ '桌',
+ '遵',
+ '允',
+ '隆',
+ '螺',
+ '仓',
+ '魏',
+ '锐',
+ '晓',
+ '氮',
+ '兼',
+ '隐',
+ '碍',
+ '赫',
+ '拨',
+ '忠',
+ '肃',
+ '缸',
+ '牵',
+ '抢',
+ '博',
+ '巧',
+ '壳',
+ '兄',
+ '杜',
+ '讯',
+ '诚',
+ '碧',
+ '祥',
+ '柯',
+ '页',
+ '巡',
+ '矩',
+ '悲',
+ '灌',
+ '龄',
+ '伦',
+ '票',
+ '寻',
+ '桂',
+ '铺',
+ '圣',
+ '恐',
+ '恰',
+ '郑',
+ '趣',
+ '抬',
+ '荒',
+ '腾',
+ '贴',
+ '柔',
+ '滴',
+ '猛',
+ '阔',
+ '辆',
+ '妻',
+ '填',
+ '撤',
+ '储',
+ '签',
+ '闹',
+ '扰',
+ '紫',
+ '砂',
+ '递',
+ '戏',
+ '吊',
+ '陶',
+ '伐',
+ '喂',
+ '疗',
+ '瓶',
+ '婆',
+ '抚',
+ '臂',
+ '摸',
+ '忍',
+ '虾',
+ '蜡',
+ '邻',
+ '胸',
+ '巩',
+ '挤',
+ '偶',
+ '弃',
+ '槽',
+ '劲',
+ '乳',
+ '邓',
+ '吉',
+ '仁',
+ '烂',
+ '砖',
+ '租',
+ '乌',
+ '舰',
+ '伴',
+ '瓜',
+ '浅',
+ '丙',
+ '暂',
+ '燥',
+ '橡',
+ '柳',
+ '迷',
+ '暖',
+ '牌',
+ '秧',
+ '胆',
+ '详',
+ '簧',
+ '踏',
+ '瓷',
+ '谱',
+ '呆',
+ '宾',
+ '糊',
+ '洛',
+ '辉',
+ '愤',
+ '竞',
+ '隙',
+ '怒',
+ '粘',
+ '乃',
+ '绪',
+ '肩',
+ '籍',
+ '敏',
+ '涂',
+ '熙',
+ '皆',
+ '侦',
+ '悬',
+ '掘',
+ '享',
+ '纠',
+ '醒',
+ '狂',
+ '锁',
+ '淀',
+ '恨',
+ '牲',
+ '霸',
+ '爬',
+ '赏',
+ '逆',
+ '玩',
+ '陵',
+ '祝',
+ '秒',
+ '浙',
+ '貌',
+ '役',
+ '彼',
+ '悉',
+ '鸭',
+ '趋',
+ '凤',
+ '晨',
+ '畜',
+ '辈',
+ '秩',
+ '卵',
+ '署',
+ '梯',
+ '炎',
+ '滩',
+ '棋',
+ '驱',
+ '筛',
+ '峡',
+ '冒',
+ '啥',
+ '寿',
+ '译',
+ '浸',
+ '泉',
+ '帽',
+ '迟',
+ '硅',
+ '疆',
+ '贷',
+ '漏',
+ '稿',
+ '冠',
+ '嫩',
+ '胁',
+ '芯',
+ '牢',
+ '叛',
+ '蚀',
+ '奥',
+ '鸣',
+ '岭',
+ '羊',
+ '凭',
+ '串',
+ '塘',
+ '绘',
+ '酵',
+ '融',
+ '盆',
+ '锡',
+ '庙',
+ '筹',
+ '冻',
+ '辅',
+ '摄',
+ '袭',
+ '筋',
+ '拒',
+ '僚',
+ '旱',
+ '钾',
+ '鸟',
+ '漆',
+ '沈',
+ '眉',
+ '疏',
+ '添',
+ '棒',
+ '穗',
+ '硝',
+ '韩',
+ '逼',
+ '扭',
+ '侨',
+ '凉',
+ '挺',
+ '碗',
+ '栽',
+ '炒',
+ '杯',
+ '患',
+ '馏',
+ '劝',
+ '豪',
+ '辽',
+ '勃',
+ '鸿',
+ '旦',
+ '吏',
+ '拜',
+ '狗',
+ '埋',
+ '辊',
+ '掩',
+ '饮',
+ '搬',
+ '骂',
+ '辞',
+ '勾',
+ '扣',
+ '估',
+ '蒋',
+ '绒',
+ '雾',
+ '丈',
+ '朵',
+ '姆',
+ '拟',
+ '宇',
+ '辑',
+ '陕',
+ '雕',
+ '偿',
+ '蓄',
+ '崇',
+ '剪',
+ '倡',
+ '厅',
+ '咬',
+ '驶',
+ '薯',
+ '刷',
+ '斥',
+ '番',
+ '赋',
+ '奉',
+ '佛',
+ '浇',
+ '漫',
+ '曼',
+ '扇',
+ '钙',
+ '桃',
+ '扶',
+ '仔',
+ '返',
+ '俗',
+ '亏',
+ '腔',
+ '鞋',
+ '棱',
+ '覆',
+ '框',
+ '悄',
+ '叔',
+ '撞',
+ '骗',
+ '勘',
+ '旺',
+ '沸',
+ '孤',
+ '吐',
+ '孟',
+ '渠',
+ '屈',
+ '疾',
+ '妙',
+ '惜',
+ '仰',
+ '狠',
+ '胀',
+ '谐',
+ '抛',
+ '霉',
+ '桑',
+ '岗',
+ '嘛',
+ '衰',
+ '盗',
+ '渗',
+ '脏',
+ '赖',
+ '涌',
+ '甜',
+ '曹',
+ '阅',
+ '肌',
+ '哩',
+ '厉',
+ '烃',
+ '纬',
+ '毅',
+ '昨',
+ '伪',
+ '症',
+ '煮',
+ '叹',
+ '钉',
+ '搭',
+ '茎',
+ '笼',
+ '酷',
+ '偷',
+ '弓',
+ '锥',
+ '恒',
+ '杰',
+ '坑',
+ '鼻',
+ '翼',
+ '纶',
+ '叙',
+ '狱',
+ '逮',
+ '罐',
+ '络',
+ '棚',
+ '抑',
+ '膨',
+ '蔬',
+ '寺',
+ '骤',
+ '穆',
+ '冶',
+ '枯',
+ '册',
+ '尸',
+ '凸',
+ '绅',
+ '坯',
+ '牺',
+ '焰',
+ '轰',
+ '欣',
+ '晋',
+ '瘦',
+ '御',
+ '锭',
+ '锦',
+ '丧',
+ '旬',
+ '锻',
+ '垄',
+ '搜',
+ '扑',
+ '邀',
+ '亭',
+ '酯',
+ '迈',
+ '舒',
+ '脆',
+ '酶',
+ '闲',
+ '忧',
+ '酚',
+ '顽',
+ '羽',
+ '涨',
+ '卸',
+ '仗',
+ '陪',
+ '辟',
+ '惩',
+ '杭',
+ '姚',
+ '肚',
+ '捉',
+ '飘',
+ '漂',
+ '昆',
+ '欺',
+ '吾',
+ '郎',
+ '烷',
+ '汁',
+ '呵',
+ '饰',
+ '萧',
+ '雅',
+ '邮',
+ '迁',
+ '燕',
+ '撒',
+ '姻',
+ '赴',
+ '宴',
+ '烦',
+ '债',
+ '帐',
+ '斑',
+ '铃',
+ '旨',
+ '醇',
+ '董',
+ '饼',
+ '雏',
+ '姿',
+ '拌',
+ '傅',
+ '腹',
+ '妥',
+ '揉',
+ '贤',
+ '拆',
+ '歪',
+ '葡',
+ '胺',
+ '丢',
+ '浩',
+ '徽',
+ '昂',
+ '垫',
+ '挡',
+ '览',
+ '贪',
+ '慰',
+ '缴',
+ '汪',
+ '慌',
+ '冯',
+ '诺',
+ '姜',
+ '谊',
+ '凶',
+ '劣',
+ '诬',
+ '耀',
+ '昏',
+ '躺',
+ '盈',
+ '骑',
+ '乔',
+ '溪',
+ '丛',
+ '卢',
+ '抹',
+ '闷',
+ '咨',
+ '刮',
+ '驾',
+ '缆',
+ '悟',
+ '摘',
+ '铒',
+ '掷',
+ '颇',
+ '幻',
+ '柄',
+ '惠',
+ '惨',
+ '佳',
+ '仇',
+ '腊',
+ '窝',
+ '涤',
+ '剑',
+ '瞧',
+ '堡',
+ '泼',
+ '葱',
+ '罩',
+ '霍',
+ '捞',
+ '胎',
+ '苍',
+ '滨',
+ '俩',
+ '捅',
+ '湘',
+ '砍',
+ '霞',
+ '邵',
+ '萄',
+ '疯',
+ '淮',
+ '遂',
+ '熊',
+ '粪',
+ '烘',
+ '宿',
+ '档',
+ '戈',
+ '驳',
+ '嫂',
+ '裕',
+ '徙',
+ '箭',
+ '捐',
+ '肠',
+ '撑',
+ '晒',
+ '辨',
+ '殿',
+ '莲',
+ '摊',
+ '搅',
+ '酱',
+ '屏',
+ '疫',
+ '哀',
+ '蔡',
+ '堵',
+ '沫',
+ '皱',
+ '畅',
+ '叠',
+ '阁',
+ '莱',
+ '敲',
+ '辖',
+ '钩',
+ '痕',
+ '坝',
+ '巷',
+ '饿',
+ '祸',
+ '丘',
+ '玄',
+ '溜',
+ '曰',
+ '逻',
+ '彭',
+ '尝',
+ '卿',
+ '妨',
+ '艇',
+ '吞',
+ '韦',
+ '怨',
+ '矮',
+ '歇',
+];
+
+const chineseTraditional = [
+ '的',
+ '一',
+ '是',
+ '在',
+ '不',
+ '了',
+ '有',
+ '和',
+ '人',
+ '這',
+ '中',
+ '大',
+ '為',
+ '上',
+ '個',
+ '國',
+ '我',
+ '以',
+ '要',
+ '他',
+ '時',
+ '來',
+ '用',
+ '們',
+ '生',
+ '到',
+ '作',
+ '地',
+ '於',
+ '出',
+ '就',
+ '分',
+ '對',
+ '成',
+ '會',
+ '可',
+ '主',
+ '發',
+ '年',
+ '動',
+ '同',
+ '工',
+ '也',
+ '能',
+ '下',
+ '過',
+ '子',
+ '說',
+ '產',
+ '種',
+ '面',
+ '而',
+ '方',
+ '後',
+ '多',
+ '定',
+ '行',
+ '學',
+ '法',
+ '所',
+ '民',
+ '得',
+ '經',
+ '十',
+ '三',
+ '之',
+ '進',
+ '著',
+ '等',
+ '部',
+ '度',
+ '家',
+ '電',
+ '力',
+ '裡',
+ '如',
+ '水',
+ '化',
+ '高',
+ '自',
+ '二',
+ '理',
+ '起',
+ '小',
+ '物',
+ '現',
+ '實',
+ '加',
+ '量',
+ '都',
+ '兩',
+ '體',
+ '制',
+ '機',
+ '當',
+ '使',
+ '點',
+ '從',
+ '業',
+ '本',
+ '去',
+ '把',
+ '性',
+ '好',
+ '應',
+ '開',
+ '它',
+ '合',
+ '還',
+ '因',
+ '由',
+ '其',
+ '些',
+ '然',
+ '前',
+ '外',
+ '天',
+ '政',
+ '四',
+ '日',
+ '那',
+ '社',
+ '義',
+ '事',
+ '平',
+ '形',
+ '相',
+ '全',
+ '表',
+ '間',
+ '樣',
+ '與',
+ '關',
+ '各',
+ '重',
+ '新',
+ '線',
+ '內',
+ '數',
+ '正',
+ '心',
+ '反',
+ '你',
+ '明',
+ '看',
+ '原',
+ '又',
+ '麼',
+ '利',
+ '比',
+ '或',
+ '但',
+ '質',
+ '氣',
+ '第',
+ '向',
+ '道',
+ '命',
+ '此',
+ '變',
+ '條',
+ '只',
+ '沒',
+ '結',
+ '解',
+ '問',
+ '意',
+ '建',
+ '月',
+ '公',
+ '無',
+ '系',
+ '軍',
+ '很',
+ '情',
+ '者',
+ '最',
+ '立',
+ '代',
+ '想',
+ '已',
+ '通',
+ '並',
+ '提',
+ '直',
+ '題',
+ '黨',
+ '程',
+ '展',
+ '五',
+ '果',
+ '料',
+ '象',
+ '員',
+ '革',
+ '位',
+ '入',
+ '常',
+ '文',
+ '總',
+ '次',
+ '品',
+ '式',
+ '活',
+ '設',
+ '及',
+ '管',
+ '特',
+ '件',
+ '長',
+ '求',
+ '老',
+ '頭',
+ '基',
+ '資',
+ '邊',
+ '流',
+ '路',
+ '級',
+ '少',
+ '圖',
+ '山',
+ '統',
+ '接',
+ '知',
+ '較',
+ '將',
+ '組',
+ '見',
+ '計',
+ '別',
+ '她',
+ '手',
+ '角',
+ '期',
+ '根',
+ '論',
+ '運',
+ '農',
+ '指',
+ '幾',
+ '九',
+ '區',
+ '強',
+ '放',
+ '決',
+ '西',
+ '被',
+ '幹',
+ '做',
+ '必',
+ '戰',
+ '先',
+ '回',
+ '則',
+ '任',
+ '取',
+ '據',
+ '處',
+ '隊',
+ '南',
+ '給',
+ '色',
+ '光',
+ '門',
+ '即',
+ '保',
+ '治',
+ '北',
+ '造',
+ '百',
+ '規',
+ '熱',
+ '領',
+ '七',
+ '海',
+ '口',
+ '東',
+ '導',
+ '器',
+ '壓',
+ '志',
+ '世',
+ '金',
+ '增',
+ '爭',
+ '濟',
+ '階',
+ '油',
+ '思',
+ '術',
+ '極',
+ '交',
+ '受',
+ '聯',
+ '什',
+ '認',
+ '六',
+ '共',
+ '權',
+ '收',
+ '證',
+ '改',
+ '清',
+ '美',
+ '再',
+ '採',
+ '轉',
+ '更',
+ '單',
+ '風',
+ '切',
+ '打',
+ '白',
+ '教',
+ '速',
+ '花',
+ '帶',
+ '安',
+ '場',
+ '身',
+ '車',
+ '例',
+ '真',
+ '務',
+ '具',
+ '萬',
+ '每',
+ '目',
+ '至',
+ '達',
+ '走',
+ '積',
+ '示',
+ '議',
+ '聲',
+ '報',
+ '鬥',
+ '完',
+ '類',
+ '八',
+ '離',
+ '華',
+ '名',
+ '確',
+ '才',
+ '科',
+ '張',
+ '信',
+ '馬',
+ '節',
+ '話',
+ '米',
+ '整',
+ '空',
+ '元',
+ '況',
+ '今',
+ '集',
+ '溫',
+ '傳',
+ '土',
+ '許',
+ '步',
+ '群',
+ '廣',
+ '石',
+ '記',
+ '需',
+ '段',
+ '研',
+ '界',
+ '拉',
+ '林',
+ '律',
+ '叫',
+ '且',
+ '究',
+ '觀',
+ '越',
+ '織',
+ '裝',
+ '影',
+ '算',
+ '低',
+ '持',
+ '音',
+ '眾',
+ '書',
+ '布',
+ '复',
+ '容',
+ '兒',
+ '須',
+ '際',
+ '商',
+ '非',
+ '驗',
+ '連',
+ '斷',
+ '深',
+ '難',
+ '近',
+ '礦',
+ '千',
+ '週',
+ '委',
+ '素',
+ '技',
+ '備',
+ '半',
+ '辦',
+ '青',
+ '省',
+ '列',
+ '習',
+ '響',
+ '約',
+ '支',
+ '般',
+ '史',
+ '感',
+ '勞',
+ '便',
+ '團',
+ '往',
+ '酸',
+ '歷',
+ '市',
+ '克',
+ '何',
+ '除',
+ '消',
+ '構',
+ '府',
+ '稱',
+ '太',
+ '準',
+ '精',
+ '值',
+ '號',
+ '率',
+ '族',
+ '維',
+ '劃',
+ '選',
+ '標',
+ '寫',
+ '存',
+ '候',
+ '毛',
+ '親',
+ '快',
+ '效',
+ '斯',
+ '院',
+ '查',
+ '江',
+ '型',
+ '眼',
+ '王',
+ '按',
+ '格',
+ '養',
+ '易',
+ '置',
+ '派',
+ '層',
+ '片',
+ '始',
+ '卻',
+ '專',
+ '狀',
+ '育',
+ '廠',
+ '京',
+ '識',
+ '適',
+ '屬',
+ '圓',
+ '包',
+ '火',
+ '住',
+ '調',
+ '滿',
+ '縣',
+ '局',
+ '照',
+ '參',
+ '紅',
+ '細',
+ '引',
+ '聽',
+ '該',
+ '鐵',
+ '價',
+ '嚴',
+ '首',
+ '底',
+ '液',
+ '官',
+ '德',
+ '隨',
+ '病',
+ '蘇',
+ '失',
+ '爾',
+ '死',
+ '講',
+ '配',
+ '女',
+ '黃',
+ '推',
+ '顯',
+ '談',
+ '罪',
+ '神',
+ '藝',
+ '呢',
+ '席',
+ '含',
+ '企',
+ '望',
+ '密',
+ '批',
+ '營',
+ '項',
+ '防',
+ '舉',
+ '球',
+ '英',
+ '氧',
+ '勢',
+ '告',
+ '李',
+ '台',
+ '落',
+ '木',
+ '幫',
+ '輪',
+ '破',
+ '亞',
+ '師',
+ '圍',
+ '注',
+ '遠',
+ '字',
+ '材',
+ '排',
+ '供',
+ '河',
+ '態',
+ '封',
+ '另',
+ '施',
+ '減',
+ '樹',
+ '溶',
+ '怎',
+ '止',
+ '案',
+ '言',
+ '士',
+ '均',
+ '武',
+ '固',
+ '葉',
+ '魚',
+ '波',
+ '視',
+ '僅',
+ '費',
+ '緊',
+ '愛',
+ '左',
+ '章',
+ '早',
+ '朝',
+ '害',
+ '續',
+ '輕',
+ '服',
+ '試',
+ '食',
+ '充',
+ '兵',
+ '源',
+ '判',
+ '護',
+ '司',
+ '足',
+ '某',
+ '練',
+ '差',
+ '致',
+ '板',
+ '田',
+ '降',
+ '黑',
+ '犯',
+ '負',
+ '擊',
+ '范',
+ '繼',
+ '興',
+ '似',
+ '餘',
+ '堅',
+ '曲',
+ '輸',
+ '修',
+ '故',
+ '城',
+ '夫',
+ '夠',
+ '送',
+ '筆',
+ '船',
+ '佔',
+ '右',
+ '財',
+ '吃',
+ '富',
+ '春',
+ '職',
+ '覺',
+ '漢',
+ '畫',
+ '功',
+ '巴',
+ '跟',
+ '雖',
+ '雜',
+ '飛',
+ '檢',
+ '吸',
+ '助',
+ '昇',
+ '陽',
+ '互',
+ '初',
+ '創',
+ '抗',
+ '考',
+ '投',
+ '壞',
+ '策',
+ '古',
+ '徑',
+ '換',
+ '未',
+ '跑',
+ '留',
+ '鋼',
+ '曾',
+ '端',
+ '責',
+ '站',
+ '簡',
+ '述',
+ '錢',
+ '副',
+ '盡',
+ '帝',
+ '射',
+ '草',
+ '衝',
+ '承',
+ '獨',
+ '令',
+ '限',
+ '阿',
+ '宣',
+ '環',
+ '雙',
+ '請',
+ '超',
+ '微',
+ '讓',
+ '控',
+ '州',
+ '良',
+ '軸',
+ '找',
+ '否',
+ '紀',
+ '益',
+ '依',
+ '優',
+ '頂',
+ '礎',
+ '載',
+ '倒',
+ '房',
+ '突',
+ '坐',
+ '粉',
+ '敵',
+ '略',
+ '客',
+ '袁',
+ '冷',
+ '勝',
+ '絕',
+ '析',
+ '塊',
+ '劑',
+ '測',
+ '絲',
+ '協',
+ '訴',
+ '念',
+ '陳',
+ '仍',
+ '羅',
+ '鹽',
+ '友',
+ '洋',
+ '錯',
+ '苦',
+ '夜',
+ '刑',
+ '移',
+ '頻',
+ '逐',
+ '靠',
+ '混',
+ '母',
+ '短',
+ '皮',
+ '終',
+ '聚',
+ '汽',
+ '村',
+ '雲',
+ '哪',
+ '既',
+ '距',
+ '衛',
+ '停',
+ '烈',
+ '央',
+ '察',
+ '燒',
+ '迅',
+ '境',
+ '若',
+ '印',
+ '洲',
+ '刻',
+ '括',
+ '激',
+ '孔',
+ '搞',
+ '甚',
+ '室',
+ '待',
+ '核',
+ '校',
+ '散',
+ '侵',
+ '吧',
+ '甲',
+ '遊',
+ '久',
+ '菜',
+ '味',
+ '舊',
+ '模',
+ '湖',
+ '貨',
+ '損',
+ '預',
+ '阻',
+ '毫',
+ '普',
+ '穩',
+ '乙',
+ '媽',
+ '植',
+ '息',
+ '擴',
+ '銀',
+ '語',
+ '揮',
+ '酒',
+ '守',
+ '拿',
+ '序',
+ '紙',
+ '醫',
+ '缺',
+ '雨',
+ '嗎',
+ '針',
+ '劉',
+ '啊',
+ '急',
+ '唱',
+ '誤',
+ '訓',
+ '願',
+ '審',
+ '附',
+ '獲',
+ '茶',
+ '鮮',
+ '糧',
+ '斤',
+ '孩',
+ '脫',
+ '硫',
+ '肥',
+ '善',
+ '龍',
+ '演',
+ '父',
+ '漸',
+ '血',
+ '歡',
+ '械',
+ '掌',
+ '歌',
+ '沙',
+ '剛',
+ '攻',
+ '謂',
+ '盾',
+ '討',
+ '晚',
+ '粒',
+ '亂',
+ '燃',
+ '矛',
+ '乎',
+ '殺',
+ '藥',
+ '寧',
+ '魯',
+ '貴',
+ '鐘',
+ '煤',
+ '讀',
+ '班',
+ '伯',
+ '香',
+ '介',
+ '迫',
+ '句',
+ '豐',
+ '培',
+ '握',
+ '蘭',
+ '擔',
+ '弦',
+ '蛋',
+ '沉',
+ '假',
+ '穿',
+ '執',
+ '答',
+ '樂',
+ '誰',
+ '順',
+ '煙',
+ '縮',
+ '徵',
+ '臉',
+ '喜',
+ '松',
+ '腳',
+ '困',
+ '異',
+ '免',
+ '背',
+ '星',
+ '福',
+ '買',
+ '染',
+ '井',
+ '概',
+ '慢',
+ '怕',
+ '磁',
+ '倍',
+ '祖',
+ '皇',
+ '促',
+ '靜',
+ '補',
+ '評',
+ '翻',
+ '肉',
+ '踐',
+ '尼',
+ '衣',
+ '寬',
+ '揚',
+ '棉',
+ '希',
+ '傷',
+ '操',
+ '垂',
+ '秋',
+ '宜',
+ '氫',
+ '套',
+ '督',
+ '振',
+ '架',
+ '亮',
+ '末',
+ '憲',
+ '慶',
+ '編',
+ '牛',
+ '觸',
+ '映',
+ '雷',
+ '銷',
+ '詩',
+ '座',
+ '居',
+ '抓',
+ '裂',
+ '胞',
+ '呼',
+ '娘',
+ '景',
+ '威',
+ '綠',
+ '晶',
+ '厚',
+ '盟',
+ '衡',
+ '雞',
+ '孫',
+ '延',
+ '危',
+ '膠',
+ '屋',
+ '鄉',
+ '臨',
+ '陸',
+ '顧',
+ '掉',
+ '呀',
+ '燈',
+ '歲',
+ '措',
+ '束',
+ '耐',
+ '劇',
+ '玉',
+ '趙',
+ '跳',
+ '哥',
+ '季',
+ '課',
+ '凱',
+ '胡',
+ '額',
+ '款',
+ '紹',
+ '卷',
+ '齊',
+ '偉',
+ '蒸',
+ '殖',
+ '永',
+ '宗',
+ '苗',
+ '川',
+ '爐',
+ '岩',
+ '弱',
+ '零',
+ '楊',
+ '奏',
+ '沿',
+ '露',
+ '桿',
+ '探',
+ '滑',
+ '鎮',
+ '飯',
+ '濃',
+ '航',
+ '懷',
+ '趕',
+ '庫',
+ '奪',
+ '伊',
+ '靈',
+ '稅',
+ '途',
+ '滅',
+ '賽',
+ '歸',
+ '召',
+ '鼓',
+ '播',
+ '盤',
+ '裁',
+ '險',
+ '康',
+ '唯',
+ '錄',
+ '菌',
+ '純',
+ '借',
+ '糖',
+ '蓋',
+ '橫',
+ '符',
+ '私',
+ '努',
+ '堂',
+ '域',
+ '槍',
+ '潤',
+ '幅',
+ '哈',
+ '竟',
+ '熟',
+ '蟲',
+ '澤',
+ '腦',
+ '壤',
+ '碳',
+ '歐',
+ '遍',
+ '側',
+ '寨',
+ '敢',
+ '徹',
+ '慮',
+ '斜',
+ '薄',
+ '庭',
+ '納',
+ '彈',
+ '飼',
+ '伸',
+ '折',
+ '麥',
+ '濕',
+ '暗',
+ '荷',
+ '瓦',
+ '塞',
+ '床',
+ '築',
+ '惡',
+ '戶',
+ '訪',
+ '塔',
+ '奇',
+ '透',
+ '梁',
+ '刀',
+ '旋',
+ '跡',
+ '卡',
+ '氯',
+ '遇',
+ '份',
+ '毒',
+ '泥',
+ '退',
+ '洗',
+ '擺',
+ '灰',
+ '彩',
+ '賣',
+ '耗',
+ '夏',
+ '擇',
+ '忙',
+ '銅',
+ '獻',
+ '硬',
+ '予',
+ '繁',
+ '圈',
+ '雪',
+ '函',
+ '亦',
+ '抽',
+ '篇',
+ '陣',
+ '陰',
+ '丁',
+ '尺',
+ '追',
+ '堆',
+ '雄',
+ '迎',
+ '泛',
+ '爸',
+ '樓',
+ '避',
+ '謀',
+ '噸',
+ '野',
+ '豬',
+ '旗',
+ '累',
+ '偏',
+ '典',
+ '館',
+ '索',
+ '秦',
+ '脂',
+ '潮',
+ '爺',
+ '豆',
+ '忽',
+ '托',
+ '驚',
+ '塑',
+ '遺',
+ '愈',
+ '朱',
+ '替',
+ '纖',
+ '粗',
+ '傾',
+ '尚',
+ '痛',
+ '楚',
+ '謝',
+ '奮',
+ '購',
+ '磨',
+ '君',
+ '池',
+ '旁',
+ '碎',
+ '骨',
+ '監',
+ '捕',
+ '弟',
+ '暴',
+ '割',
+ '貫',
+ '殊',
+ '釋',
+ '詞',
+ '亡',
+ '壁',
+ '頓',
+ '寶',
+ '午',
+ '塵',
+ '聞',
+ '揭',
+ '炮',
+ '殘',
+ '冬',
+ '橋',
+ '婦',
+ '警',
+ '綜',
+ '招',
+ '吳',
+ '付',
+ '浮',
+ '遭',
+ '徐',
+ '您',
+ '搖',
+ '谷',
+ '贊',
+ '箱',
+ '隔',
+ '訂',
+ '男',
+ '吹',
+ '園',
+ '紛',
+ '唐',
+ '敗',
+ '宋',
+ '玻',
+ '巨',
+ '耕',
+ '坦',
+ '榮',
+ '閉',
+ '灣',
+ '鍵',
+ '凡',
+ '駐',
+ '鍋',
+ '救',
+ '恩',
+ '剝',
+ '凝',
+ '鹼',
+ '齒',
+ '截',
+ '煉',
+ '麻',
+ '紡',
+ '禁',
+ '廢',
+ '盛',
+ '版',
+ '緩',
+ '淨',
+ '睛',
+ '昌',
+ '婚',
+ '涉',
+ '筒',
+ '嘴',
+ '插',
+ '岸',
+ '朗',
+ '莊',
+ '街',
+ '藏',
+ '姑',
+ '貿',
+ '腐',
+ '奴',
+ '啦',
+ '慣',
+ '乘',
+ '夥',
+ '恢',
+ '勻',
+ '紗',
+ '扎',
+ '辯',
+ '耳',
+ '彪',
+ '臣',
+ '億',
+ '璃',
+ '抵',
+ '脈',
+ '秀',
+ '薩',
+ '俄',
+ '網',
+ '舞',
+ '店',
+ '噴',
+ '縱',
+ '寸',
+ '汗',
+ '掛',
+ '洪',
+ '賀',
+ '閃',
+ '柬',
+ '爆',
+ '烯',
+ '津',
+ '稻',
+ '牆',
+ '軟',
+ '勇',
+ '像',
+ '滾',
+ '厘',
+ '蒙',
+ '芳',
+ '肯',
+ '坡',
+ '柱',
+ '盪',
+ '腿',
+ '儀',
+ '旅',
+ '尾',
+ '軋',
+ '冰',
+ '貢',
+ '登',
+ '黎',
+ '削',
+ '鑽',
+ '勒',
+ '逃',
+ '障',
+ '氨',
+ '郭',
+ '峰',
+ '幣',
+ '港',
+ '伏',
+ '軌',
+ '畝',
+ '畢',
+ '擦',
+ '莫',
+ '刺',
+ '浪',
+ '秘',
+ '援',
+ '株',
+ '健',
+ '售',
+ '股',
+ '島',
+ '甘',
+ '泡',
+ '睡',
+ '童',
+ '鑄',
+ '湯',
+ '閥',
+ '休',
+ '匯',
+ '舍',
+ '牧',
+ '繞',
+ '炸',
+ '哲',
+ '磷',
+ '績',
+ '朋',
+ '淡',
+ '尖',
+ '啟',
+ '陷',
+ '柴',
+ '呈',
+ '徒',
+ '顏',
+ '淚',
+ '稍',
+ '忘',
+ '泵',
+ '藍',
+ '拖',
+ '洞',
+ '授',
+ '鏡',
+ '辛',
+ '壯',
+ '鋒',
+ '貧',
+ '虛',
+ '彎',
+ '摩',
+ '泰',
+ '幼',
+ '廷',
+ '尊',
+ '窗',
+ '綱',
+ '弄',
+ '隸',
+ '疑',
+ '氏',
+ '宮',
+ '姐',
+ '震',
+ '瑞',
+ '怪',
+ '尤',
+ '琴',
+ '循',
+ '描',
+ '膜',
+ '違',
+ '夾',
+ '腰',
+ '緣',
+ '珠',
+ '窮',
+ '森',
+ '枝',
+ '竹',
+ '溝',
+ '催',
+ '繩',
+ '憶',
+ '邦',
+ '剩',
+ '幸',
+ '漿',
+ '欄',
+ '擁',
+ '牙',
+ '貯',
+ '禮',
+ '濾',
+ '鈉',
+ '紋',
+ '罷',
+ '拍',
+ '咱',
+ '喊',
+ '袖',
+ '埃',
+ '勤',
+ '罰',
+ '焦',
+ '潛',
+ '伍',
+ '墨',
+ '欲',
+ '縫',
+ '姓',
+ '刊',
+ '飽',
+ '仿',
+ '獎',
+ '鋁',
+ '鬼',
+ '麗',
+ '跨',
+ '默',
+ '挖',
+ '鏈',
+ '掃',
+ '喝',
+ '袋',
+ '炭',
+ '污',
+ '幕',
+ '諸',
+ '弧',
+ '勵',
+ '梅',
+ '奶',
+ '潔',
+ '災',
+ '舟',
+ '鑑',
+ '苯',
+ '訟',
+ '抱',
+ '毀',
+ '懂',
+ '寒',
+ '智',
+ '埔',
+ '寄',
+ '屆',
+ '躍',
+ '渡',
+ '挑',
+ '丹',
+ '艱',
+ '貝',
+ '碰',
+ '拔',
+ '爹',
+ '戴',
+ '碼',
+ '夢',
+ '芽',
+ '熔',
+ '赤',
+ '漁',
+ '哭',
+ '敬',
+ '顆',
+ '奔',
+ '鉛',
+ '仲',
+ '虎',
+ '稀',
+ '妹',
+ '乏',
+ '珍',
+ '申',
+ '桌',
+ '遵',
+ '允',
+ '隆',
+ '螺',
+ '倉',
+ '魏',
+ '銳',
+ '曉',
+ '氮',
+ '兼',
+ '隱',
+ '礙',
+ '赫',
+ '撥',
+ '忠',
+ '肅',
+ '缸',
+ '牽',
+ '搶',
+ '博',
+ '巧',
+ '殼',
+ '兄',
+ '杜',
+ '訊',
+ '誠',
+ '碧',
+ '祥',
+ '柯',
+ '頁',
+ '巡',
+ '矩',
+ '悲',
+ '灌',
+ '齡',
+ '倫',
+ '票',
+ '尋',
+ '桂',
+ '鋪',
+ '聖',
+ '恐',
+ '恰',
+ '鄭',
+ '趣',
+ '抬',
+ '荒',
+ '騰',
+ '貼',
+ '柔',
+ '滴',
+ '猛',
+ '闊',
+ '輛',
+ '妻',
+ '填',
+ '撤',
+ '儲',
+ '簽',
+ '鬧',
+ '擾',
+ '紫',
+ '砂',
+ '遞',
+ '戲',
+ '吊',
+ '陶',
+ '伐',
+ '餵',
+ '療',
+ '瓶',
+ '婆',
+ '撫',
+ '臂',
+ '摸',
+ '忍',
+ '蝦',
+ '蠟',
+ '鄰',
+ '胸',
+ '鞏',
+ '擠',
+ '偶',
+ '棄',
+ '槽',
+ '勁',
+ '乳',
+ '鄧',
+ '吉',
+ '仁',
+ '爛',
+ '磚',
+ '租',
+ '烏',
+ '艦',
+ '伴',
+ '瓜',
+ '淺',
+ '丙',
+ '暫',
+ '燥',
+ '橡',
+ '柳',
+ '迷',
+ '暖',
+ '牌',
+ '秧',
+ '膽',
+ '詳',
+ '簧',
+ '踏',
+ '瓷',
+ '譜',
+ '呆',
+ '賓',
+ '糊',
+ '洛',
+ '輝',
+ '憤',
+ '競',
+ '隙',
+ '怒',
+ '粘',
+ '乃',
+ '緒',
+ '肩',
+ '籍',
+ '敏',
+ '塗',
+ '熙',
+ '皆',
+ '偵',
+ '懸',
+ '掘',
+ '享',
+ '糾',
+ '醒',
+ '狂',
+ '鎖',
+ '淀',
+ '恨',
+ '牲',
+ '霸',
+ '爬',
+ '賞',
+ '逆',
+ '玩',
+ '陵',
+ '祝',
+ '秒',
+ '浙',
+ '貌',
+ '役',
+ '彼',
+ '悉',
+ '鴨',
+ '趨',
+ '鳳',
+ '晨',
+ '畜',
+ '輩',
+ '秩',
+ '卵',
+ '署',
+ '梯',
+ '炎',
+ '灘',
+ '棋',
+ '驅',
+ '篩',
+ '峽',
+ '冒',
+ '啥',
+ '壽',
+ '譯',
+ '浸',
+ '泉',
+ '帽',
+ '遲',
+ '矽',
+ '疆',
+ '貸',
+ '漏',
+ '稿',
+ '冠',
+ '嫩',
+ '脅',
+ '芯',
+ '牢',
+ '叛',
+ '蝕',
+ '奧',
+ '鳴',
+ '嶺',
+ '羊',
+ '憑',
+ '串',
+ '塘',
+ '繪',
+ '酵',
+ '融',
+ '盆',
+ '錫',
+ '廟',
+ '籌',
+ '凍',
+ '輔',
+ '攝',
+ '襲',
+ '筋',
+ '拒',
+ '僚',
+ '旱',
+ '鉀',
+ '鳥',
+ '漆',
+ '沈',
+ '眉',
+ '疏',
+ '添',
+ '棒',
+ '穗',
+ '硝',
+ '韓',
+ '逼',
+ '扭',
+ '僑',
+ '涼',
+ '挺',
+ '碗',
+ '栽',
+ '炒',
+ '杯',
+ '患',
+ '餾',
+ '勸',
+ '豪',
+ '遼',
+ '勃',
+ '鴻',
+ '旦',
+ '吏',
+ '拜',
+ '狗',
+ '埋',
+ '輥',
+ '掩',
+ '飲',
+ '搬',
+ '罵',
+ '辭',
+ '勾',
+ '扣',
+ '估',
+ '蔣',
+ '絨',
+ '霧',
+ '丈',
+ '朵',
+ '姆',
+ '擬',
+ '宇',
+ '輯',
+ '陝',
+ '雕',
+ '償',
+ '蓄',
+ '崇',
+ '剪',
+ '倡',
+ '廳',
+ '咬',
+ '駛',
+ '薯',
+ '刷',
+ '斥',
+ '番',
+ '賦',
+ '奉',
+ '佛',
+ '澆',
+ '漫',
+ '曼',
+ '扇',
+ '鈣',
+ '桃',
+ '扶',
+ '仔',
+ '返',
+ '俗',
+ '虧',
+ '腔',
+ '鞋',
+ '棱',
+ '覆',
+ '框',
+ '悄',
+ '叔',
+ '撞',
+ '騙',
+ '勘',
+ '旺',
+ '沸',
+ '孤',
+ '吐',
+ '孟',
+ '渠',
+ '屈',
+ '疾',
+ '妙',
+ '惜',
+ '仰',
+ '狠',
+ '脹',
+ '諧',
+ '拋',
+ '黴',
+ '桑',
+ '崗',
+ '嘛',
+ '衰',
+ '盜',
+ '滲',
+ '臟',
+ '賴',
+ '湧',
+ '甜',
+ '曹',
+ '閱',
+ '肌',
+ '哩',
+ '厲',
+ '烴',
+ '緯',
+ '毅',
+ '昨',
+ '偽',
+ '症',
+ '煮',
+ '嘆',
+ '釘',
+ '搭',
+ '莖',
+ '籠',
+ '酷',
+ '偷',
+ '弓',
+ '錐',
+ '恆',
+ '傑',
+ '坑',
+ '鼻',
+ '翼',
+ '綸',
+ '敘',
+ '獄',
+ '逮',
+ '罐',
+ '絡',
+ '棚',
+ '抑',
+ '膨',
+ '蔬',
+ '寺',
+ '驟',
+ '穆',
+ '冶',
+ '枯',
+ '冊',
+ '屍',
+ '凸',
+ '紳',
+ '坯',
+ '犧',
+ '焰',
+ '轟',
+ '欣',
+ '晉',
+ '瘦',
+ '禦',
+ '錠',
+ '錦',
+ '喪',
+ '旬',
+ '鍛',
+ '壟',
+ '搜',
+ '撲',
+ '邀',
+ '亭',
+ '酯',
+ '邁',
+ '舒',
+ '脆',
+ '酶',
+ '閒',
+ '憂',
+ '酚',
+ '頑',
+ '羽',
+ '漲',
+ '卸',
+ '仗',
+ '陪',
+ '闢',
+ '懲',
+ '杭',
+ '姚',
+ '肚',
+ '捉',
+ '飄',
+ '漂',
+ '昆',
+ '欺',
+ '吾',
+ '郎',
+ '烷',
+ '汁',
+ '呵',
+ '飾',
+ '蕭',
+ '雅',
+ '郵',
+ '遷',
+ '燕',
+ '撒',
+ '姻',
+ '赴',
+ '宴',
+ '煩',
+ '債',
+ '帳',
+ '斑',
+ '鈴',
+ '旨',
+ '醇',
+ '董',
+ '餅',
+ '雛',
+ '姿',
+ '拌',
+ '傅',
+ '腹',
+ '妥',
+ '揉',
+ '賢',
+ '拆',
+ '歪',
+ '葡',
+ '胺',
+ '丟',
+ '浩',
+ '徽',
+ '昂',
+ '墊',
+ '擋',
+ '覽',
+ '貪',
+ '慰',
+ '繳',
+ '汪',
+ '慌',
+ '馮',
+ '諾',
+ '姜',
+ '誼',
+ '兇',
+ '劣',
+ '誣',
+ '耀',
+ '昏',
+ '躺',
+ '盈',
+ '騎',
+ '喬',
+ '溪',
+ '叢',
+ '盧',
+ '抹',
+ '悶',
+ '諮',
+ '刮',
+ '駕',
+ '纜',
+ '悟',
+ '摘',
+ '鉺',
+ '擲',
+ '頗',
+ '幻',
+ '柄',
+ '惠',
+ '慘',
+ '佳',
+ '仇',
+ '臘',
+ '窩',
+ '滌',
+ '劍',
+ '瞧',
+ '堡',
+ '潑',
+ '蔥',
+ '罩',
+ '霍',
+ '撈',
+ '胎',
+ '蒼',
+ '濱',
+ '倆',
+ '捅',
+ '湘',
+ '砍',
+ '霞',
+ '邵',
+ '萄',
+ '瘋',
+ '淮',
+ '遂',
+ '熊',
+ '糞',
+ '烘',
+ '宿',
+ '檔',
+ '戈',
+ '駁',
+ '嫂',
+ '裕',
+ '徙',
+ '箭',
+ '捐',
+ '腸',
+ '撐',
+ '曬',
+ '辨',
+ '殿',
+ '蓮',
+ '攤',
+ '攪',
+ '醬',
+ '屏',
+ '疫',
+ '哀',
+ '蔡',
+ '堵',
+ '沫',
+ '皺',
+ '暢',
+ '疊',
+ '閣',
+ '萊',
+ '敲',
+ '轄',
+ '鉤',
+ '痕',
+ '壩',
+ '巷',
+ '餓',
+ '禍',
+ '丘',
+ '玄',
+ '溜',
+ '曰',
+ '邏',
+ '彭',
+ '嘗',
+ '卿',
+ '妨',
+ '艇',
+ '吞',
+ '韋',
+ '怨',
+ '矮',
+ '歇',
+];
+
+const czech = [
+ 'abdikace',
+ 'abeceda',
+ 'adresa',
+ 'agrese',
+ 'akce',
+ 'aktovka',
+ 'alej',
+ 'alkohol',
+ 'amputace',
+ 'ananas',
+ 'andulka',
+ 'anekdota',
+ 'anketa',
+ 'antika',
+ 'anulovat',
+ 'archa',
+ 'arogance',
+ 'asfalt',
+ 'asistent',
+ 'aspirace',
+ 'astma',
+ 'astronom',
+ 'atlas',
+ 'atletika',
+ 'atol',
+ 'autobus',
+ 'azyl',
+ 'babka',
+ 'bachor',
+ 'bacil',
+ 'baculka',
+ 'badatel',
+ 'bageta',
+ 'bagr',
+ 'bahno',
+ 'bakterie',
+ 'balada',
+ 'baletka',
+ 'balkon',
+ 'balonek',
+ 'balvan',
+ 'balza',
+ 'bambus',
+ 'bankomat',
+ 'barbar',
+ 'baret',
+ 'barman',
+ 'baroko',
+ 'barva',
+ 'baterka',
+ 'batoh',
+ 'bavlna',
+ 'bazalka',
+ 'bazilika',
+ 'bazuka',
+ 'bedna',
+ 'beran',
+ 'beseda',
+ 'bestie',
+ 'beton',
+ 'bezinka',
+ 'bezmoc',
+ 'beztak',
+ 'bicykl',
+ 'bidlo',
+ 'biftek',
+ 'bikiny',
+ 'bilance',
+ 'biograf',
+ 'biolog',
+ 'bitva',
+ 'bizon',
+ 'blahobyt',
+ 'blatouch',
+ 'blecha',
+ 'bledule',
+ 'blesk',
+ 'blikat',
+ 'blizna',
+ 'blokovat',
+ 'bloudit',
+ 'blud',
+ 'bobek',
+ 'bobr',
+ 'bodlina',
+ 'bodnout',
+ 'bohatost',
+ 'bojkot',
+ 'bojovat',
+ 'bokorys',
+ 'bolest',
+ 'borec',
+ 'borovice',
+ 'bota',
+ 'boubel',
+ 'bouchat',
+ 'bouda',
+ 'boule',
+ 'bourat',
+ 'boxer',
+ 'bradavka',
+ 'brambora',
+ 'branka',
+ 'bratr',
+ 'brepta',
+ 'briketa',
+ 'brko',
+ 'brloh',
+ 'bronz',
+ 'broskev',
+ 'brunetka',
+ 'brusinka',
+ 'brzda',
+ 'brzy',
+ 'bublina',
+ 'bubnovat',
+ 'buchta',
+ 'buditel',
+ 'budka',
+ 'budova',
+ 'bufet',
+ 'bujarost',
+ 'bukvice',
+ 'buldok',
+ 'bulva',
+ 'bunda',
+ 'bunkr',
+ 'burza',
+ 'butik',
+ 'buvol',
+ 'buzola',
+ 'bydlet',
+ 'bylina',
+ 'bytovka',
+ 'bzukot',
+ 'capart',
+ 'carevna',
+ 'cedr',
+ 'cedule',
+ 'cejch',
+ 'cejn',
+ 'cela',
+ 'celer',
+ 'celkem',
+ 'celnice',
+ 'cenina',
+ 'cennost',
+ 'cenovka',
+ 'centrum',
+ 'cenzor',
+ 'cestopis',
+ 'cetka',
+ 'chalupa',
+ 'chapadlo',
+ 'charita',
+ 'chata',
+ 'chechtat',
+ 'chemie',
+ 'chichot',
+ 'chirurg',
+ 'chlad',
+ 'chleba',
+ 'chlubit',
+ 'chmel',
+ 'chmura',
+ 'chobot',
+ 'chochol',
+ 'chodba',
+ 'cholera',
+ 'chomout',
+ 'chopit',
+ 'choroba',
+ 'chov',
+ 'chrapot',
+ 'chrlit',
+ 'chrt',
+ 'chrup',
+ 'chtivost',
+ 'chudina',
+ 'chutnat',
+ 'chvat',
+ 'chvilka',
+ 'chvost',
+ 'chyba',
+ 'chystat',
+ 'chytit',
+ 'cibule',
+ 'cigareta',
+ 'cihelna',
+ 'cihla',
+ 'cinkot',
+ 'cirkus',
+ 'cisterna',
+ 'citace',
+ 'citrus',
+ 'cizinec',
+ 'cizost',
+ 'clona',
+ 'cokoliv',
+ 'couvat',
+ 'ctitel',
+ 'ctnost',
+ 'cudnost',
+ 'cuketa',
+ 'cukr',
+ 'cupot',
+ 'cvaknout',
+ 'cval',
+ 'cvik',
+ 'cvrkot',
+ 'cyklista',
+ 'daleko',
+ 'dareba',
+ 'datel',
+ 'datum',
+ 'dcera',
+ 'debata',
+ 'dechovka',
+ 'decibel',
+ 'deficit',
+ 'deflace',
+ 'dekl',
+ 'dekret',
+ 'demokrat',
+ 'deprese',
+ 'derby',
+ 'deska',
+ 'detektiv',
+ 'dikobraz',
+ 'diktovat',
+ 'dioda',
+ 'diplom',
+ 'disk',
+ 'displej',
+ 'divadlo',
+ 'divoch',
+ 'dlaha',
+ 'dlouho',
+ 'dluhopis',
+ 'dnes',
+ 'dobro',
+ 'dobytek',
+ 'docent',
+ 'dochutit',
+ 'dodnes',
+ 'dohled',
+ 'dohoda',
+ 'dohra',
+ 'dojem',
+ 'dojnice',
+ 'doklad',
+ 'dokola',
+ 'doktor',
+ 'dokument',
+ 'dolar',
+ 'doleva',
+ 'dolina',
+ 'doma',
+ 'dominant',
+ 'domluvit',
+ 'domov',
+ 'donutit',
+ 'dopad',
+ 'dopis',
+ 'doplnit',
+ 'doposud',
+ 'doprovod',
+ 'dopustit',
+ 'dorazit',
+ 'dorost',
+ 'dort',
+ 'dosah',
+ 'doslov',
+ 'dostatek',
+ 'dosud',
+ 'dosyta',
+ 'dotaz',
+ 'dotek',
+ 'dotknout',
+ 'doufat',
+ 'doutnat',
+ 'dovozce',
+ 'dozadu',
+ 'doznat',
+ 'dozorce',
+ 'drahota',
+ 'drak',
+ 'dramatik',
+ 'dravec',
+ 'draze',
+ 'drdol',
+ 'drobnost',
+ 'drogerie',
+ 'drozd',
+ 'drsnost',
+ 'drtit',
+ 'drzost',
+ 'duben',
+ 'duchovno',
+ 'dudek',
+ 'duha',
+ 'duhovka',
+ 'dusit',
+ 'dusno',
+ 'dutost',
+ 'dvojice',
+ 'dvorec',
+ 'dynamit',
+ 'ekolog',
+ 'ekonomie',
+ 'elektron',
+ 'elipsa',
+ 'email',
+ 'emise',
+ 'emoce',
+ 'empatie',
+ 'epizoda',
+ 'epocha',
+ 'epopej',
+ 'epos',
+ 'esej',
+ 'esence',
+ 'eskorta',
+ 'eskymo',
+ 'etiketa',
+ 'euforie',
+ 'evoluce',
+ 'exekuce',
+ 'exkurze',
+ 'expedice',
+ 'exploze',
+ 'export',
+ 'extrakt',
+ 'facka',
+ 'fajfka',
+ 'fakulta',
+ 'fanatik',
+ 'fantazie',
+ 'farmacie',
+ 'favorit',
+ 'fazole',
+ 'federace',
+ 'fejeton',
+ 'fenka',
+ 'fialka',
+ 'figurant',
+ 'filozof',
+ 'filtr',
+ 'finance',
+ 'finta',
+ 'fixace',
+ 'fjord',
+ 'flanel',
+ 'flirt',
+ 'flotila',
+ 'fond',
+ 'fosfor',
+ 'fotbal',
+ 'fotka',
+ 'foton',
+ 'frakce',
+ 'freska',
+ 'fronta',
+ 'fukar',
+ 'funkce',
+ 'fyzika',
+ 'galeje',
+ 'garant',
+ 'genetika',
+ 'geolog',
+ 'gilotina',
+ 'glazura',
+ 'glejt',
+ 'golem',
+ 'golfista',
+ 'gotika',
+ 'graf',
+ 'gramofon',
+ 'granule',
+ 'grep',
+ 'gril',
+ 'grog',
+ 'groteska',
+ 'guma',
+ 'hadice',
+ 'hadr',
+ 'hala',
+ 'halenka',
+ 'hanba',
+ 'hanopis',
+ 'harfa',
+ 'harpuna',
+ 'havran',
+ 'hebkost',
+ 'hejkal',
+ 'hejno',
+ 'hejtman',
+ 'hektar',
+ 'helma',
+ 'hematom',
+ 'herec',
+ 'herna',
+ 'heslo',
+ 'hezky',
+ 'historik',
+ 'hladovka',
+ 'hlasivky',
+ 'hlava',
+ 'hledat',
+ 'hlen',
+ 'hlodavec',
+ 'hloh',
+ 'hloupost',
+ 'hltat',
+ 'hlubina',
+ 'hluchota',
+ 'hmat',
+ 'hmota',
+ 'hmyz',
+ 'hnis',
+ 'hnojivo',
+ 'hnout',
+ 'hoblina',
+ 'hoboj',
+ 'hoch',
+ 'hodiny',
+ 'hodlat',
+ 'hodnota',
+ 'hodovat',
+ 'hojnost',
+ 'hokej',
+ 'holinka',
+ 'holka',
+ 'holub',
+ 'homole',
+ 'honitba',
+ 'honorace',
+ 'horal',
+ 'horda',
+ 'horizont',
+ 'horko',
+ 'horlivec',
+ 'hormon',
+ 'hornina',
+ 'horoskop',
+ 'horstvo',
+ 'hospoda',
+ 'hostina',
+ 'hotovost',
+ 'houba',
+ 'houf',
+ 'houpat',
+ 'houska',
+ 'hovor',
+ 'hradba',
+ 'hranice',
+ 'hravost',
+ 'hrazda',
+ 'hrbolek',
+ 'hrdina',
+ 'hrdlo',
+ 'hrdost',
+ 'hrnek',
+ 'hrobka',
+ 'hromada',
+ 'hrot',
+ 'hrouda',
+ 'hrozen',
+ 'hrstka',
+ 'hrubost',
+ 'hryzat',
+ 'hubenost',
+ 'hubnout',
+ 'hudba',
+ 'hukot',
+ 'humr',
+ 'husita',
+ 'hustota',
+ 'hvozd',
+ 'hybnost',
+ 'hydrant',
+ 'hygiena',
+ 'hymna',
+ 'hysterik',
+ 'idylka',
+ 'ihned',
+ 'ikona',
+ 'iluze',
+ 'imunita',
+ 'infekce',
+ 'inflace',
+ 'inkaso',
+ 'inovace',
+ 'inspekce',
+ 'internet',
+ 'invalida',
+ 'investor',
+ 'inzerce',
+ 'ironie',
+ 'jablko',
+ 'jachta',
+ 'jahoda',
+ 'jakmile',
+ 'jakost',
+ 'jalovec',
+ 'jantar',
+ 'jarmark',
+ 'jaro',
+ 'jasan',
+ 'jasno',
+ 'jatka',
+ 'javor',
+ 'jazyk',
+ 'jedinec',
+ 'jedle',
+ 'jednatel',
+ 'jehlan',
+ 'jekot',
+ 'jelen',
+ 'jelito',
+ 'jemnost',
+ 'jenom',
+ 'jepice',
+ 'jeseter',
+ 'jevit',
+ 'jezdec',
+ 'jezero',
+ 'jinak',
+ 'jindy',
+ 'jinoch',
+ 'jiskra',
+ 'jistota',
+ 'jitrnice',
+ 'jizva',
+ 'jmenovat',
+ 'jogurt',
+ 'jurta',
+ 'kabaret',
+ 'kabel',
+ 'kabinet',
+ 'kachna',
+ 'kadet',
+ 'kadidlo',
+ 'kahan',
+ 'kajak',
+ 'kajuta',
+ 'kakao',
+ 'kaktus',
+ 'kalamita',
+ 'kalhoty',
+ 'kalibr',
+ 'kalnost',
+ 'kamera',
+ 'kamkoliv',
+ 'kamna',
+ 'kanibal',
+ 'kanoe',
+ 'kantor',
+ 'kapalina',
+ 'kapela',
+ 'kapitola',
+ 'kapka',
+ 'kaple',
+ 'kapota',
+ 'kapr',
+ 'kapusta',
+ 'kapybara',
+ 'karamel',
+ 'karotka',
+ 'karton',
+ 'kasa',
+ 'katalog',
+ 'katedra',
+ 'kauce',
+ 'kauza',
+ 'kavalec',
+ 'kazajka',
+ 'kazeta',
+ 'kazivost',
+ 'kdekoliv',
+ 'kdesi',
+ 'kedluben',
+ 'kemp',
+ 'keramika',
+ 'kino',
+ 'klacek',
+ 'kladivo',
+ 'klam',
+ 'klapot',
+ 'klasika',
+ 'klaun',
+ 'klec',
+ 'klenba',
+ 'klepat',
+ 'klesnout',
+ 'klid',
+ 'klima',
+ 'klisna',
+ 'klobouk',
+ 'klokan',
+ 'klopa',
+ 'kloub',
+ 'klubovna',
+ 'klusat',
+ 'kluzkost',
+ 'kmen',
+ 'kmitat',
+ 'kmotr',
+ 'kniha',
+ 'knot',
+ 'koalice',
+ 'koberec',
+ 'kobka',
+ 'kobliha',
+ 'kobyla',
+ 'kocour',
+ 'kohout',
+ 'kojenec',
+ 'kokos',
+ 'koktejl',
+ 'kolaps',
+ 'koleda',
+ 'kolize',
+ 'kolo',
+ 'komando',
+ 'kometa',
+ 'komik',
+ 'komnata',
+ 'komora',
+ 'kompas',
+ 'komunita',
+ 'konat',
+ 'koncept',
+ 'kondice',
+ 'konec',
+ 'konfese',
+ 'kongres',
+ 'konina',
+ 'konkurs',
+ 'kontakt',
+ 'konzerva',
+ 'kopanec',
+ 'kopie',
+ 'kopnout',
+ 'koprovka',
+ 'korbel',
+ 'korektor',
+ 'kormidlo',
+ 'koroptev',
+ 'korpus',
+ 'koruna',
+ 'koryto',
+ 'korzet',
+ 'kosatec',
+ 'kostka',
+ 'kotel',
+ 'kotleta',
+ 'kotoul',
+ 'koukat',
+ 'koupelna',
+ 'kousek',
+ 'kouzlo',
+ 'kovboj',
+ 'koza',
+ 'kozoroh',
+ 'krabice',
+ 'krach',
+ 'krajina',
+ 'kralovat',
+ 'krasopis',
+ 'kravata',
+ 'kredit',
+ 'krejcar',
+ 'kresba',
+ 'kreveta',
+ 'kriket',
+ 'kritik',
+ 'krize',
+ 'krkavec',
+ 'krmelec',
+ 'krmivo',
+ 'krocan',
+ 'krok',
+ 'kronika',
+ 'kropit',
+ 'kroupa',
+ 'krovka',
+ 'krtek',
+ 'kruhadlo',
+ 'krupice',
+ 'krutost',
+ 'krvinka',
+ 'krychle',
+ 'krypta',
+ 'krystal',
+ 'kryt',
+ 'kudlanka',
+ 'kufr',
+ 'kujnost',
+ 'kukla',
+ 'kulajda',
+ 'kulich',
+ 'kulka',
+ 'kulomet',
+ 'kultura',
+ 'kuna',
+ 'kupodivu',
+ 'kurt',
+ 'kurzor',
+ 'kutil',
+ 'kvalita',
+ 'kvasinka',
+ 'kvestor',
+ 'kynolog',
+ 'kyselina',
+ 'kytara',
+ 'kytice',
+ 'kytka',
+ 'kytovec',
+ 'kyvadlo',
+ 'labrador',
+ 'lachtan',
+ 'ladnost',
+ 'laik',
+ 'lakomec',
+ 'lamela',
+ 'lampa',
+ 'lanovka',
+ 'lasice',
+ 'laso',
+ 'lastura',
+ 'latinka',
+ 'lavina',
+ 'lebka',
+ 'leckdy',
+ 'leden',
+ 'lednice',
+ 'ledovka',
+ 'ledvina',
+ 'legenda',
+ 'legie',
+ 'legrace',
+ 'lehce',
+ 'lehkost',
+ 'lehnout',
+ 'lektvar',
+ 'lenochod',
+ 'lentilka',
+ 'lepenka',
+ 'lepidlo',
+ 'letadlo',
+ 'letec',
+ 'letmo',
+ 'letokruh',
+ 'levhart',
+ 'levitace',
+ 'levobok',
+ 'libra',
+ 'lichotka',
+ 'lidojed',
+ 'lidskost',
+ 'lihovina',
+ 'lijavec',
+ 'lilek',
+ 'limetka',
+ 'linie',
+ 'linka',
+ 'linoleum',
+ 'listopad',
+ 'litina',
+ 'litovat',
+ 'lobista',
+ 'lodivod',
+ 'logika',
+ 'logoped',
+ 'lokalita',
+ 'loket',
+ 'lomcovat',
+ 'lopata',
+ 'lopuch',
+ 'lord',
+ 'losos',
+ 'lotr',
+ 'loudal',
+ 'louh',
+ 'louka',
+ 'louskat',
+ 'lovec',
+ 'lstivost',
+ 'lucerna',
+ 'lucifer',
+ 'lump',
+ 'lusk',
+ 'lustrace',
+ 'lvice',
+ 'lyra',
+ 'lyrika',
+ 'lysina',
+ 'madam',
+ 'madlo',
+ 'magistr',
+ 'mahagon',
+ 'majetek',
+ 'majitel',
+ 'majorita',
+ 'makak',
+ 'makovice',
+ 'makrela',
+ 'malba',
+ 'malina',
+ 'malovat',
+ 'malvice',
+ 'maminka',
+ 'mandle',
+ 'manko',
+ 'marnost',
+ 'masakr',
+ 'maskot',
+ 'masopust',
+ 'matice',
+ 'matrika',
+ 'maturita',
+ 'mazanec',
+ 'mazivo',
+ 'mazlit',
+ 'mazurka',
+ 'mdloba',
+ 'mechanik',
+ 'meditace',
+ 'medovina',
+ 'melasa',
+ 'meloun',
+ 'mentolka',
+ 'metla',
+ 'metoda',
+ 'metr',
+ 'mezera',
+ 'migrace',
+ 'mihnout',
+ 'mihule',
+ 'mikina',
+ 'mikrofon',
+ 'milenec',
+ 'milimetr',
+ 'milost',
+ 'mimika',
+ 'mincovna',
+ 'minibar',
+ 'minomet',
+ 'minulost',
+ 'miska',
+ 'mistr',
+ 'mixovat',
+ 'mladost',
+ 'mlha',
+ 'mlhovina',
+ 'mlok',
+ 'mlsat',
+ 'mluvit',
+ 'mnich',
+ 'mnohem',
+ 'mobil',
+ 'mocnost',
+ 'modelka',
+ 'modlitba',
+ 'mohyla',
+ 'mokro',
+ 'molekula',
+ 'momentka',
+ 'monarcha',
+ 'monokl',
+ 'monstrum',
+ 'montovat',
+ 'monzun',
+ 'mosaz',
+ 'moskyt',
+ 'most',
+ 'motivace',
+ 'motorka',
+ 'motyka',
+ 'moucha',
+ 'moudrost',
+ 'mozaika',
+ 'mozek',
+ 'mozol',
+ 'mramor',
+ 'mravenec',
+ 'mrkev',
+ 'mrtvola',
+ 'mrzet',
+ 'mrzutost',
+ 'mstitel',
+ 'mudrc',
+ 'muflon',
+ 'mulat',
+ 'mumie',
+ 'munice',
+ 'muset',
+ 'mutace',
+ 'muzeum',
+ 'muzikant',
+ 'myslivec',
+ 'mzda',
+ 'nabourat',
+ 'nachytat',
+ 'nadace',
+ 'nadbytek',
+ 'nadhoz',
+ 'nadobro',
+ 'nadpis',
+ 'nahlas',
+ 'nahnat',
+ 'nahodile',
+ 'nahradit',
+ 'naivita',
+ 'najednou',
+ 'najisto',
+ 'najmout',
+ 'naklonit',
+ 'nakonec',
+ 'nakrmit',
+ 'nalevo',
+ 'namazat',
+ 'namluvit',
+ 'nanometr',
+ 'naoko',
+ 'naopak',
+ 'naostro',
+ 'napadat',
+ 'napevno',
+ 'naplnit',
+ 'napnout',
+ 'naposled',
+ 'naprosto',
+ 'narodit',
+ 'naruby',
+ 'narychlo',
+ 'nasadit',
+ 'nasekat',
+ 'naslepo',
+ 'nastat',
+ 'natolik',
+ 'navenek',
+ 'navrch',
+ 'navzdory',
+ 'nazvat',
+ 'nebe',
+ 'nechat',
+ 'necky',
+ 'nedaleko',
+ 'nedbat',
+ 'neduh',
+ 'negace',
+ 'nehet',
+ 'nehoda',
+ 'nejen',
+ 'nejprve',
+ 'neklid',
+ 'nelibost',
+ 'nemilost',
+ 'nemoc',
+ 'neochota',
+ 'neonka',
+ 'nepokoj',
+ 'nerost',
+ 'nerv',
+ 'nesmysl',
+ 'nesoulad',
+ 'netvor',
+ 'neuron',
+ 'nevina',
+ 'nezvykle',
+ 'nicota',
+ 'nijak',
+ 'nikam',
+ 'nikdy',
+ 'nikl',
+ 'nikterak',
+ 'nitro',
+ 'nocleh',
+ 'nohavice',
+ 'nominace',
+ 'nora',
+ 'norek',
+ 'nositel',
+ 'nosnost',
+ 'nouze',
+ 'noviny',
+ 'novota',
+ 'nozdra',
+ 'nuda',
+ 'nudle',
+ 'nuget',
+ 'nutit',
+ 'nutnost',
+ 'nutrie',
+ 'nymfa',
+ 'obal',
+ 'obarvit',
+ 'obava',
+ 'obdiv',
+ 'obec',
+ 'obehnat',
+ 'obejmout',
+ 'obezita',
+ 'obhajoba',
+ 'obilnice',
+ 'objasnit',
+ 'objekt',
+ 'obklopit',
+ 'oblast',
+ 'oblek',
+ 'obliba',
+ 'obloha',
+ 'obluda',
+ 'obnos',
+ 'obohatit',
+ 'obojek',
+ 'obout',
+ 'obrazec',
+ 'obrna',
+ 'obruba',
+ 'obrys',
+ 'obsah',
+ 'obsluha',
+ 'obstarat',
+ 'obuv',
+ 'obvaz',
+ 'obvinit',
+ 'obvod',
+ 'obvykle',
+ 'obyvatel',
+ 'obzor',
+ 'ocas',
+ 'ocel',
+ 'ocenit',
+ 'ochladit',
+ 'ochota',
+ 'ochrana',
+ 'ocitnout',
+ 'odboj',
+ 'odbyt',
+ 'odchod',
+ 'odcizit',
+ 'odebrat',
+ 'odeslat',
+ 'odevzdat',
+ 'odezva',
+ 'odhadce',
+ 'odhodit',
+ 'odjet',
+ 'odjinud',
+ 'odkaz',
+ 'odkoupit',
+ 'odliv',
+ 'odluka',
+ 'odmlka',
+ 'odolnost',
+ 'odpad',
+ 'odpis',
+ 'odplout',
+ 'odpor',
+ 'odpustit',
+ 'odpykat',
+ 'odrazka',
+ 'odsoudit',
+ 'odstup',
+ 'odsun',
+ 'odtok',
+ 'odtud',
+ 'odvaha',
+ 'odveta',
+ 'odvolat',
+ 'odvracet',
+ 'odznak',
+ 'ofina',
+ 'ofsajd',
+ 'ohlas',
+ 'ohnisko',
+ 'ohrada',
+ 'ohrozit',
+ 'ohryzek',
+ 'okap',
+ 'okenice',
+ 'oklika',
+ 'okno',
+ 'okouzlit',
+ 'okovy',
+ 'okrasa',
+ 'okres',
+ 'okrsek',
+ 'okruh',
+ 'okupant',
+ 'okurka',
+ 'okusit',
+ 'olejnina',
+ 'olizovat',
+ 'omak',
+ 'omeleta',
+ 'omezit',
+ 'omladina',
+ 'omlouvat',
+ 'omluva',
+ 'omyl',
+ 'onehdy',
+ 'opakovat',
+ 'opasek',
+ 'operace',
+ 'opice',
+ 'opilost',
+ 'opisovat',
+ 'opora',
+ 'opozice',
+ 'opravdu',
+ 'oproti',
+ 'orbital',
+ 'orchestr',
+ 'orgie',
+ 'orlice',
+ 'orloj',
+ 'ortel',
+ 'osada',
+ 'oschnout',
+ 'osika',
+ 'osivo',
+ 'oslava',
+ 'oslepit',
+ 'oslnit',
+ 'oslovit',
+ 'osnova',
+ 'osoba',
+ 'osolit',
+ 'ospalec',
+ 'osten',
+ 'ostraha',
+ 'ostuda',
+ 'ostych',
+ 'osvojit',
+ 'oteplit',
+ 'otisk',
+ 'otop',
+ 'otrhat',
+ 'otrlost',
+ 'otrok',
+ 'otruby',
+ 'otvor',
+ 'ovanout',
+ 'ovar',
+ 'oves',
+ 'ovlivnit',
+ 'ovoce',
+ 'oxid',
+ 'ozdoba',
+ 'pachatel',
+ 'pacient',
+ 'padouch',
+ 'pahorek',
+ 'pakt',
+ 'palanda',
+ 'palec',
+ 'palivo',
+ 'paluba',
+ 'pamflet',
+ 'pamlsek',
+ 'panenka',
+ 'panika',
+ 'panna',
+ 'panovat',
+ 'panstvo',
+ 'pantofle',
+ 'paprika',
+ 'parketa',
+ 'parodie',
+ 'parta',
+ 'paruka',
+ 'paryba',
+ 'paseka',
+ 'pasivita',
+ 'pastelka',
+ 'patent',
+ 'patrona',
+ 'pavouk',
+ 'pazneht',
+ 'pazourek',
+ 'pecka',
+ 'pedagog',
+ 'pejsek',
+ 'peklo',
+ 'peloton',
+ 'penalta',
+ 'pendrek',
+ 'penze',
+ 'periskop',
+ 'pero',
+ 'pestrost',
+ 'petarda',
+ 'petice',
+ 'petrolej',
+ 'pevnina',
+ 'pexeso',
+ 'pianista',
+ 'piha',
+ 'pijavice',
+ 'pikle',
+ 'piknik',
+ 'pilina',
+ 'pilnost',
+ 'pilulka',
+ 'pinzeta',
+ 'pipeta',
+ 'pisatel',
+ 'pistole',
+ 'pitevna',
+ 'pivnice',
+ 'pivovar',
+ 'placenta',
+ 'plakat',
+ 'plamen',
+ 'planeta',
+ 'plastika',
+ 'platit',
+ 'plavidlo',
+ 'plaz',
+ 'plech',
+ 'plemeno',
+ 'plenta',
+ 'ples',
+ 'pletivo',
+ 'plevel',
+ 'plivat',
+ 'plnit',
+ 'plno',
+ 'plocha',
+ 'plodina',
+ 'plomba',
+ 'plout',
+ 'pluk',
+ 'plyn',
+ 'pobavit',
+ 'pobyt',
+ 'pochod',
+ 'pocit',
+ 'poctivec',
+ 'podat',
+ 'podcenit',
+ 'podepsat',
+ 'podhled',
+ 'podivit',
+ 'podklad',
+ 'podmanit',
+ 'podnik',
+ 'podoba',
+ 'podpora',
+ 'podraz',
+ 'podstata',
+ 'podvod',
+ 'podzim',
+ 'poezie',
+ 'pohanka',
+ 'pohnutka',
+ 'pohovor',
+ 'pohroma',
+ 'pohyb',
+ 'pointa',
+ 'pojistka',
+ 'pojmout',
+ 'pokazit',
+ 'pokles',
+ 'pokoj',
+ 'pokrok',
+ 'pokuta',
+ 'pokyn',
+ 'poledne',
+ 'polibek',
+ 'polknout',
+ 'poloha',
+ 'polynom',
+ 'pomalu',
+ 'pominout',
+ 'pomlka',
+ 'pomoc',
+ 'pomsta',
+ 'pomyslet',
+ 'ponechat',
+ 'ponorka',
+ 'ponurost',
+ 'popadat',
+ 'popel',
+ 'popisek',
+ 'poplach',
+ 'poprosit',
+ 'popsat',
+ 'popud',
+ 'poradce',
+ 'porce',
+ 'porod',
+ 'porucha',
+ 'poryv',
+ 'posadit',
+ 'posed',
+ 'posila',
+ 'poskok',
+ 'poslanec',
+ 'posoudit',
+ 'pospolu',
+ 'postava',
+ 'posudek',
+ 'posyp',
+ 'potah',
+ 'potkan',
+ 'potlesk',
+ 'potomek',
+ 'potrava',
+ 'potupa',
+ 'potvora',
+ 'poukaz',
+ 'pouto',
+ 'pouzdro',
+ 'povaha',
+ 'povidla',
+ 'povlak',
+ 'povoz',
+ 'povrch',
+ 'povstat',
+ 'povyk',
+ 'povzdech',
+ 'pozdrav',
+ 'pozemek',
+ 'poznatek',
+ 'pozor',
+ 'pozvat',
+ 'pracovat',
+ 'prahory',
+ 'praktika',
+ 'prales',
+ 'praotec',
+ 'praporek',
+ 'prase',
+ 'pravda',
+ 'princip',
+ 'prkno',
+ 'probudit',
+ 'procento',
+ 'prodej',
+ 'profese',
+ 'prohra',
+ 'projekt',
+ 'prolomit',
+ 'promile',
+ 'pronikat',
+ 'propad',
+ 'prorok',
+ 'prosba',
+ 'proton',
+ 'proutek',
+ 'provaz',
+ 'prskavka',
+ 'prsten',
+ 'prudkost',
+ 'prut',
+ 'prvek',
+ 'prvohory',
+ 'psanec',
+ 'psovod',
+ 'pstruh',
+ 'ptactvo',
+ 'puberta',
+ 'puch',
+ 'pudl',
+ 'pukavec',
+ 'puklina',
+ 'pukrle',
+ 'pult',
+ 'pumpa',
+ 'punc',
+ 'pupen',
+ 'pusa',
+ 'pusinka',
+ 'pustina',
+ 'putovat',
+ 'putyka',
+ 'pyramida',
+ 'pysk',
+ 'pytel',
+ 'racek',
+ 'rachot',
+ 'radiace',
+ 'radnice',
+ 'radon',
+ 'raft',
+ 'ragby',
+ 'raketa',
+ 'rakovina',
+ 'rameno',
+ 'rampouch',
+ 'rande',
+ 'rarach',
+ 'rarita',
+ 'rasovna',
+ 'rastr',
+ 'ratolest',
+ 'razance',
+ 'razidlo',
+ 'reagovat',
+ 'reakce',
+ 'recept',
+ 'redaktor',
+ 'referent',
+ 'reflex',
+ 'rejnok',
+ 'reklama',
+ 'rekord',
+ 'rekrut',
+ 'rektor',
+ 'reputace',
+ 'revize',
+ 'revma',
+ 'revolver',
+ 'rezerva',
+ 'riskovat',
+ 'riziko',
+ 'robotika',
+ 'rodokmen',
+ 'rohovka',
+ 'rokle',
+ 'rokoko',
+ 'romaneto',
+ 'ropovod',
+ 'ropucha',
+ 'rorejs',
+ 'rosol',
+ 'rostlina',
+ 'rotmistr',
+ 'rotoped',
+ 'rotunda',
+ 'roubenka',
+ 'roucho',
+ 'roup',
+ 'roura',
+ 'rovina',
+ 'rovnice',
+ 'rozbor',
+ 'rozchod',
+ 'rozdat',
+ 'rozeznat',
+ 'rozhodce',
+ 'rozinka',
+ 'rozjezd',
+ 'rozkaz',
+ 'rozloha',
+ 'rozmar',
+ 'rozpad',
+ 'rozruch',
+ 'rozsah',
+ 'roztok',
+ 'rozum',
+ 'rozvod',
+ 'rubrika',
+ 'ruchadlo',
+ 'rukavice',
+ 'rukopis',
+ 'ryba',
+ 'rybolov',
+ 'rychlost',
+ 'rydlo',
+ 'rypadlo',
+ 'rytina',
+ 'ryzost',
+ 'sadista',
+ 'sahat',
+ 'sako',
+ 'samec',
+ 'samizdat',
+ 'samota',
+ 'sanitka',
+ 'sardinka',
+ 'sasanka',
+ 'satelit',
+ 'sazba',
+ 'sazenice',
+ 'sbor',
+ 'schovat',
+ 'sebranka',
+ 'secese',
+ 'sedadlo',
+ 'sediment',
+ 'sedlo',
+ 'sehnat',
+ 'sejmout',
+ 'sekera',
+ 'sekta',
+ 'sekunda',
+ 'sekvoje',
+ 'semeno',
+ 'seno',
+ 'servis',
+ 'sesadit',
+ 'seshora',
+ 'seskok',
+ 'seslat',
+ 'sestra',
+ 'sesuv',
+ 'sesypat',
+ 'setba',
+ 'setina',
+ 'setkat',
+ 'setnout',
+ 'setrvat',
+ 'sever',
+ 'seznam',
+ 'shoda',
+ 'shrnout',
+ 'sifon',
+ 'silnice',
+ 'sirka',
+ 'sirotek',
+ 'sirup',
+ 'situace',
+ 'skafandr',
+ 'skalisko',
+ 'skanzen',
+ 'skaut',
+ 'skeptik',
+ 'skica',
+ 'skladba',
+ 'sklenice',
+ 'sklo',
+ 'skluz',
+ 'skoba',
+ 'skokan',
+ 'skoro',
+ 'skripta',
+ 'skrz',
+ 'skupina',
+ 'skvost',
+ 'skvrna',
+ 'slabika',
+ 'sladidlo',
+ 'slanina',
+ 'slast',
+ 'slavnost',
+ 'sledovat',
+ 'slepec',
+ 'sleva',
+ 'slezina',
+ 'slib',
+ 'slina',
+ 'sliznice',
+ 'slon',
+ 'sloupek',
+ 'slovo',
+ 'sluch',
+ 'sluha',
+ 'slunce',
+ 'slupka',
+ 'slza',
+ 'smaragd',
+ 'smetana',
+ 'smilstvo',
+ 'smlouva',
+ 'smog',
+ 'smrad',
+ 'smrk',
+ 'smrtka',
+ 'smutek',
+ 'smysl',
+ 'snad',
+ 'snaha',
+ 'snob',
+ 'sobota',
+ 'socha',
+ 'sodovka',
+ 'sokol',
+ 'sopka',
+ 'sotva',
+ 'souboj',
+ 'soucit',
+ 'soudce',
+ 'souhlas',
+ 'soulad',
+ 'soumrak',
+ 'souprava',
+ 'soused',
+ 'soutok',
+ 'souviset',
+ 'spalovna',
+ 'spasitel',
+ 'spis',
+ 'splav',
+ 'spodek',
+ 'spojenec',
+ 'spolu',
+ 'sponzor',
+ 'spornost',
+ 'spousta',
+ 'sprcha',
+ 'spustit',
+ 'sranda',
+ 'sraz',
+ 'srdce',
+ 'srna',
+ 'srnec',
+ 'srovnat',
+ 'srpen',
+ 'srst',
+ 'srub',
+ 'stanice',
+ 'starosta',
+ 'statika',
+ 'stavba',
+ 'stehno',
+ 'stezka',
+ 'stodola',
+ 'stolek',
+ 'stopa',
+ 'storno',
+ 'stoupat',
+ 'strach',
+ 'stres',
+ 'strhnout',
+ 'strom',
+ 'struna',
+ 'studna',
+ 'stupnice',
+ 'stvol',
+ 'styk',
+ 'subjekt',
+ 'subtropy',
+ 'suchar',
+ 'sudost',
+ 'sukno',
+ 'sundat',
+ 'sunout',
+ 'surikata',
+ 'surovina',
+ 'svah',
+ 'svalstvo',
+ 'svetr',
+ 'svatba',
+ 'svazek',
+ 'svisle',
+ 'svitek',
+ 'svoboda',
+ 'svodidlo',
+ 'svorka',
+ 'svrab',
+ 'sykavka',
+ 'sykot',
+ 'synek',
+ 'synovec',
+ 'sypat',
+ 'sypkost',
+ 'syrovost',
+ 'sysel',
+ 'sytost',
+ 'tabletka',
+ 'tabule',
+ 'tahoun',
+ 'tajemno',
+ 'tajfun',
+ 'tajga',
+ 'tajit',
+ 'tajnost',
+ 'taktika',
+ 'tamhle',
+ 'tampon',
+ 'tancovat',
+ 'tanec',
+ 'tanker',
+ 'tapeta',
+ 'tavenina',
+ 'tazatel',
+ 'technika',
+ 'tehdy',
+ 'tekutina',
+ 'telefon',
+ 'temnota',
+ 'tendence',
+ 'tenista',
+ 'tenor',
+ 'teplota',
+ 'tepna',
+ 'teprve',
+ 'terapie',
+ 'termoska',
+ 'textil',
+ 'ticho',
+ 'tiskopis',
+ 'titulek',
+ 'tkadlec',
+ 'tkanina',
+ 'tlapka',
+ 'tleskat',
+ 'tlukot',
+ 'tlupa',
+ 'tmel',
+ 'toaleta',
+ 'topinka',
+ 'topol',
+ 'torzo',
+ 'touha',
+ 'toulec',
+ 'tradice',
+ 'traktor',
+ 'tramp',
+ 'trasa',
+ 'traverza',
+ 'trefit',
+ 'trest',
+ 'trezor',
+ 'trhavina',
+ 'trhlina',
+ 'trochu',
+ 'trojice',
+ 'troska',
+ 'trouba',
+ 'trpce',
+ 'trpitel',
+ 'trpkost',
+ 'trubec',
+ 'truchlit',
+ 'truhlice',
+ 'trus',
+ 'trvat',
+ 'tudy',
+ 'tuhnout',
+ 'tuhost',
+ 'tundra',
+ 'turista',
+ 'turnaj',
+ 'tuzemsko',
+ 'tvaroh',
+ 'tvorba',
+ 'tvrdost',
+ 'tvrz',
+ 'tygr',
+ 'tykev',
+ 'ubohost',
+ 'uboze',
+ 'ubrat',
+ 'ubrousek',
+ 'ubrus',
+ 'ubytovna',
+ 'ucho',
+ 'uctivost',
+ 'udivit',
+ 'uhradit',
+ 'ujednat',
+ 'ujistit',
+ 'ujmout',
+ 'ukazatel',
+ 'uklidnit',
+ 'uklonit',
+ 'ukotvit',
+ 'ukrojit',
+ 'ulice',
+ 'ulita',
+ 'ulovit',
+ 'umyvadlo',
+ 'unavit',
+ 'uniforma',
+ 'uniknout',
+ 'upadnout',
+ 'uplatnit',
+ 'uplynout',
+ 'upoutat',
+ 'upravit',
+ 'uran',
+ 'urazit',
+ 'usednout',
+ 'usilovat',
+ 'usmrtit',
+ 'usnadnit',
+ 'usnout',
+ 'usoudit',
+ 'ustlat',
+ 'ustrnout',
+ 'utahovat',
+ 'utkat',
+ 'utlumit',
+ 'utonout',
+ 'utopenec',
+ 'utrousit',
+ 'uvalit',
+ 'uvolnit',
+ 'uvozovka',
+ 'uzdravit',
+ 'uzel',
+ 'uzenina',
+ 'uzlina',
+ 'uznat',
+ 'vagon',
+ 'valcha',
+ 'valoun',
+ 'vana',
+ 'vandal',
+ 'vanilka',
+ 'varan',
+ 'varhany',
+ 'varovat',
+ 'vcelku',
+ 'vchod',
+ 'vdova',
+ 'vedro',
+ 'vegetace',
+ 'vejce',
+ 'velbloud',
+ 'veletrh',
+ 'velitel',
+ 'velmoc',
+ 'velryba',
+ 'venkov',
+ 'veranda',
+ 'verze',
+ 'veselka',
+ 'veskrze',
+ 'vesnice',
+ 'vespodu',
+ 'vesta',
+ 'veterina',
+ 'veverka',
+ 'vibrace',
+ 'vichr',
+ 'videohra',
+ 'vidina',
+ 'vidle',
+ 'vila',
+ 'vinice',
+ 'viset',
+ 'vitalita',
+ 'vize',
+ 'vizitka',
+ 'vjezd',
+ 'vklad',
+ 'vkus',
+ 'vlajka',
+ 'vlak',
+ 'vlasec',
+ 'vlevo',
+ 'vlhkost',
+ 'vliv',
+ 'vlnovka',
+ 'vloupat',
+ 'vnucovat',
+ 'vnuk',
+ 'voda',
+ 'vodivost',
+ 'vodoznak',
+ 'vodstvo',
+ 'vojensky',
+ 'vojna',
+ 'vojsko',
+ 'volant',
+ 'volba',
+ 'volit',
+ 'volno',
+ 'voskovka',
+ 'vozidlo',
+ 'vozovna',
+ 'vpravo',
+ 'vrabec',
+ 'vracet',
+ 'vrah',
+ 'vrata',
+ 'vrba',
+ 'vrcholek',
+ 'vrhat',
+ 'vrstva',
+ 'vrtule',
+ 'vsadit',
+ 'vstoupit',
+ 'vstup',
+ 'vtip',
+ 'vybavit',
+ 'vybrat',
+ 'vychovat',
+ 'vydat',
+ 'vydra',
+ 'vyfotit',
+ 'vyhledat',
+ 'vyhnout',
+ 'vyhodit',
+ 'vyhradit',
+ 'vyhubit',
+ 'vyjasnit',
+ 'vyjet',
+ 'vyjmout',
+ 'vyklopit',
+ 'vykonat',
+ 'vylekat',
+ 'vymazat',
+ 'vymezit',
+ 'vymizet',
+ 'vymyslet',
+ 'vynechat',
+ 'vynikat',
+ 'vynutit',
+ 'vypadat',
+ 'vyplatit',
+ 'vypravit',
+ 'vypustit',
+ 'vyrazit',
+ 'vyrovnat',
+ 'vyrvat',
+ 'vyslovit',
+ 'vysoko',
+ 'vystavit',
+ 'vysunout',
+ 'vysypat',
+ 'vytasit',
+ 'vytesat',
+ 'vytratit',
+ 'vyvinout',
+ 'vyvolat',
+ 'vyvrhel',
+ 'vyzdobit',
+ 'vyznat',
+ 'vzadu',
+ 'vzbudit',
+ 'vzchopit',
+ 'vzdor',
+ 'vzduch',
+ 'vzdychat',
+ 'vzestup',
+ 'vzhledem',
+ 'vzkaz',
+ 'vzlykat',
+ 'vznik',
+ 'vzorek',
+ 'vzpoura',
+ 'vztah',
+ 'vztek',
+ 'xylofon',
+ 'zabrat',
+ 'zabydlet',
+ 'zachovat',
+ 'zadarmo',
+ 'zadusit',
+ 'zafoukat',
+ 'zahltit',
+ 'zahodit',
+ 'zahrada',
+ 'zahynout',
+ 'zajatec',
+ 'zajet',
+ 'zajistit',
+ 'zaklepat',
+ 'zakoupit',
+ 'zalepit',
+ 'zamezit',
+ 'zamotat',
+ 'zamyslet',
+ 'zanechat',
+ 'zanikat',
+ 'zaplatit',
+ 'zapojit',
+ 'zapsat',
+ 'zarazit',
+ 'zastavit',
+ 'zasunout',
+ 'zatajit',
+ 'zatemnit',
+ 'zatknout',
+ 'zaujmout',
+ 'zavalit',
+ 'zavelet',
+ 'zavinit',
+ 'zavolat',
+ 'zavrtat',
+ 'zazvonit',
+ 'zbavit',
+ 'zbrusu',
+ 'zbudovat',
+ 'zbytek',
+ 'zdaleka',
+ 'zdarma',
+ 'zdatnost',
+ 'zdivo',
+ 'zdobit',
+ 'zdroj',
+ 'zdvih',
+ 'zdymadlo',
+ 'zelenina',
+ 'zeman',
+ 'zemina',
+ 'zeptat',
+ 'zezadu',
+ 'zezdola',
+ 'zhatit',
+ 'zhltnout',
+ 'zhluboka',
+ 'zhotovit',
+ 'zhruba',
+ 'zima',
+ 'zimnice',
+ 'zjemnit',
+ 'zklamat',
+ 'zkoumat',
+ 'zkratka',
+ 'zkumavka',
+ 'zlato',
+ 'zlehka',
+ 'zloba',
+ 'zlom',
+ 'zlost',
+ 'zlozvyk',
+ 'zmapovat',
+ 'zmar',
+ 'zmatek',
+ 'zmije',
+ 'zmizet',
+ 'zmocnit',
+ 'zmodrat',
+ 'zmrzlina',
+ 'zmutovat',
+ 'znak',
+ 'znalost',
+ 'znamenat',
+ 'znovu',
+ 'zobrazit',
+ 'zotavit',
+ 'zoubek',
+ 'zoufale',
+ 'zplodit',
+ 'zpomalit',
+ 'zprava',
+ 'zprostit',
+ 'zprudka',
+ 'zprvu',
+ 'zrada',
+ 'zranit',
+ 'zrcadlo',
+ 'zrnitost',
+ 'zrno',
+ 'zrovna',
+ 'zrychlit',
+ 'zrzavost',
+ 'zticha',
+ 'ztratit',
+ 'zubovina',
+ 'zubr',
+ 'zvednout',
+ 'zvenku',
+ 'zvesela',
+ 'zvon',
+ 'zvrat',
+ 'zvukovod',
+ 'zvyk',
+];
+
+const english = [
+ 'abandon',
+ 'ability',
+ 'able',
+ 'about',
+ 'above',
+ 'absent',
+ 'absorb',
+ 'abstract',
+ 'absurd',
+ 'abuse',
+ 'access',
+ 'accident',
+ 'account',
+ 'accuse',
+ 'achieve',
+ 'acid',
+ 'acoustic',
+ 'acquire',
+ 'across',
+ 'act',
+ 'action',
+ 'actor',
+ 'actress',
+ 'actual',
+ 'adapt',
+ 'add',
+ 'addict',
+ 'address',
+ 'adjust',
+ 'admit',
+ 'adult',
+ 'advance',
+ 'advice',
+ 'aerobic',
+ 'affair',
+ 'afford',
+ 'afraid',
+ 'again',
+ 'age',
+ 'agent',
+ 'agree',
+ 'ahead',
+ 'aim',
+ 'air',
+ 'airport',
+ 'aisle',
+ 'alarm',
+ 'album',
+ 'alcohol',
+ 'alert',
+ 'alien',
+ 'all',
+ 'alley',
+ 'allow',
+ 'almost',
+ 'alone',
+ 'alpha',
+ 'already',
+ 'also',
+ 'alter',
+ 'always',
+ 'amateur',
+ 'amazing',
+ 'among',
+ 'amount',
+ 'amused',
+ 'analyst',
+ 'anchor',
+ 'ancient',
+ 'anger',
+ 'angle',
+ 'angry',
+ 'animal',
+ 'ankle',
+ 'announce',
+ 'annual',
+ 'another',
+ 'answer',
+ 'antenna',
+ 'antique',
+ 'anxiety',
+ 'any',
+ 'apart',
+ 'apology',
+ 'appear',
+ 'apple',
+ 'approve',
+ 'april',
+ 'arch',
+ 'arctic',
+ 'area',
+ 'arena',
+ 'argue',
+ 'arm',
+ 'armed',
+ 'armor',
+ 'army',
+ 'around',
+ 'arrange',
+ 'arrest',
+ 'arrive',
+ 'arrow',
+ 'art',
+ 'artefact',
+ 'artist',
+ 'artwork',
+ 'ask',
+ 'aspect',
+ 'assault',
+ 'asset',
+ 'assist',
+ 'assume',
+ 'asthma',
+ 'athlete',
+ 'atom',
+ 'attack',
+ 'attend',
+ 'attitude',
+ 'attract',
+ 'auction',
+ 'audit',
+ 'august',
+ 'aunt',
+ 'author',
+ 'auto',
+ 'autumn',
+ 'average',
+ 'avocado',
+ 'avoid',
+ 'awake',
+ 'aware',
+ 'away',
+ 'awesome',
+ 'awful',
+ 'awkward',
+ 'axis',
+ 'baby',
+ 'bachelor',
+ 'bacon',
+ 'badge',
+ 'bag',
+ 'balance',
+ 'balcony',
+ 'ball',
+ 'bamboo',
+ 'banana',
+ 'banner',
+ 'bar',
+ 'barely',
+ 'bargain',
+ 'barrel',
+ 'base',
+ 'basic',
+ 'basket',
+ 'battle',
+ 'beach',
+ 'bean',
+ 'beauty',
+ 'because',
+ 'become',
+ 'beef',
+ 'before',
+ 'begin',
+ 'behave',
+ 'behind',
+ 'believe',
+ 'below',
+ 'belt',
+ 'bench',
+ 'benefit',
+ 'best',
+ 'betray',
+ 'better',
+ 'between',
+ 'beyond',
+ 'bicycle',
+ 'bid',
+ 'bike',
+ 'bind',
+ 'biology',
+ 'bird',
+ 'birth',
+ 'bitter',
+ 'black',
+ 'blade',
+ 'blame',
+ 'blanket',
+ 'blast',
+ 'bleak',
+ 'bless',
+ 'blind',
+ 'blood',
+ 'blossom',
+ 'blouse',
+ 'blue',
+ 'blur',
+ 'blush',
+ 'board',
+ 'boat',
+ 'body',
+ 'boil',
+ 'bomb',
+ 'bone',
+ 'bonus',
+ 'book',
+ 'boost',
+ 'border',
+ 'boring',
+ 'borrow',
+ 'boss',
+ 'bottom',
+ 'bounce',
+ 'box',
+ 'boy',
+ 'bracket',
+ 'brain',
+ 'brand',
+ 'brass',
+ 'brave',
+ 'bread',
+ 'breeze',
+ 'brick',
+ 'bridge',
+ 'brief',
+ 'bright',
+ 'bring',
+ 'brisk',
+ 'broccoli',
+ 'broken',
+ 'bronze',
+ 'broom',
+ 'brother',
+ 'brown',
+ 'brush',
+ 'bubble',
+ 'buddy',
+ 'budget',
+ 'buffalo',
+ 'build',
+ 'bulb',
+ 'bulk',
+ 'bullet',
+ 'bundle',
+ 'bunker',
+ 'burden',
+ 'burger',
+ 'burst',
+ 'bus',
+ 'business',
+ 'busy',
+ 'butter',
+ 'buyer',
+ 'buzz',
+ 'cabbage',
+ 'cabin',
+ 'cable',
+ 'cactus',
+ 'cage',
+ 'cake',
+ 'call',
+ 'calm',
+ 'camera',
+ 'camp',
+ 'can',
+ 'canal',
+ 'cancel',
+ 'candy',
+ 'cannon',
+ 'canoe',
+ 'canvas',
+ 'canyon',
+ 'capable',
+ 'capital',
+ 'captain',
+ 'car',
+ 'carbon',
+ 'card',
+ 'cargo',
+ 'carpet',
+ 'carry',
+ 'cart',
+ 'case',
+ 'cash',
+ 'casino',
+ 'castle',
+ 'casual',
+ 'cat',
+ 'catalog',
+ 'catch',
+ 'category',
+ 'cattle',
+ 'caught',
+ 'cause',
+ 'caution',
+ 'cave',
+ 'ceiling',
+ 'celery',
+ 'cement',
+ 'census',
+ 'century',
+ 'cereal',
+ 'certain',
+ 'chair',
+ 'chalk',
+ 'champion',
+ 'change',
+ 'chaos',
+ 'chapter',
+ 'charge',
+ 'chase',
+ 'chat',
+ 'cheap',
+ 'check',
+ 'cheese',
+ 'chef',
+ 'cherry',
+ 'chest',
+ 'chicken',
+ 'chief',
+ 'child',
+ 'chimney',
+ 'choice',
+ 'choose',
+ 'chronic',
+ 'chuckle',
+ 'chunk',
+ 'churn',
+ 'cigar',
+ 'cinnamon',
+ 'circle',
+ 'citizen',
+ 'city',
+ 'civil',
+ 'claim',
+ 'clap',
+ 'clarify',
+ 'claw',
+ 'clay',
+ 'clean',
+ 'clerk',
+ 'clever',
+ 'click',
+ 'client',
+ 'cliff',
+ 'climb',
+ 'clinic',
+ 'clip',
+ 'clock',
+ 'clog',
+ 'close',
+ 'cloth',
+ 'cloud',
+ 'clown',
+ 'club',
+ 'clump',
+ 'cluster',
+ 'clutch',
+ 'coach',
+ 'coast',
+ 'coconut',
+ 'code',
+ 'coffee',
+ 'coil',
+ 'coin',
+ 'collect',
+ 'color',
+ 'column',
+ 'combine',
+ 'come',
+ 'comfort',
+ 'comic',
+ 'common',
+ 'company',
+ 'concert',
+ 'conduct',
+ 'confirm',
+ 'congress',
+ 'connect',
+ 'consider',
+ 'control',
+ 'convince',
+ 'cook',
+ 'cool',
+ 'copper',
+ 'copy',
+ 'coral',
+ 'core',
+ 'corn',
+ 'correct',
+ 'cost',
+ 'cotton',
+ 'couch',
+ 'country',
+ 'couple',
+ 'course',
+ 'cousin',
+ 'cover',
+ 'coyote',
+ 'crack',
+ 'cradle',
+ 'craft',
+ 'cram',
+ 'crane',
+ 'crash',
+ 'crater',
+ 'crawl',
+ 'crazy',
+ 'cream',
+ 'credit',
+ 'creek',
+ 'crew',
+ 'cricket',
+ 'crime',
+ 'crisp',
+ 'critic',
+ 'crop',
+ 'cross',
+ 'crouch',
+ 'crowd',
+ 'crucial',
+ 'cruel',
+ 'cruise',
+ 'crumble',
+ 'crunch',
+ 'crush',
+ 'cry',
+ 'crystal',
+ 'cube',
+ 'culture',
+ 'cup',
+ 'cupboard',
+ 'curious',
+ 'current',
+ 'curtain',
+ 'curve',
+ 'cushion',
+ 'custom',
+ 'cute',
+ 'cycle',
+ 'dad',
+ 'damage',
+ 'damp',
+ 'dance',
+ 'danger',
+ 'daring',
+ 'dash',
+ 'daughter',
+ 'dawn',
+ 'day',
+ 'deal',
+ 'debate',
+ 'debris',
+ 'decade',
+ 'december',
+ 'decide',
+ 'decline',
+ 'decorate',
+ 'decrease',
+ 'deer',
+ 'defense',
+ 'define',
+ 'defy',
+ 'degree',
+ 'delay',
+ 'deliver',
+ 'demand',
+ 'demise',
+ 'denial',
+ 'dentist',
+ 'deny',
+ 'depart',
+ 'depend',
+ 'deposit',
+ 'depth',
+ 'deputy',
+ 'derive',
+ 'describe',
+ 'desert',
+ 'design',
+ 'desk',
+ 'despair',
+ 'destroy',
+ 'detail',
+ 'detect',
+ 'develop',
+ 'device',
+ 'devote',
+ 'diagram',
+ 'dial',
+ 'diamond',
+ 'diary',
+ 'dice',
+ 'diesel',
+ 'diet',
+ 'differ',
+ 'digital',
+ 'dignity',
+ 'dilemma',
+ 'dinner',
+ 'dinosaur',
+ 'direct',
+ 'dirt',
+ 'disagree',
+ 'discover',
+ 'disease',
+ 'dish',
+ 'dismiss',
+ 'disorder',
+ 'display',
+ 'distance',
+ 'divert',
+ 'divide',
+ 'divorce',
+ 'dizzy',
+ 'doctor',
+ 'document',
+ 'dog',
+ 'doll',
+ 'dolphin',
+ 'domain',
+ 'donate',
+ 'donkey',
+ 'donor',
+ 'door',
+ 'dose',
+ 'double',
+ 'dove',
+ 'draft',
+ 'dragon',
+ 'drama',
+ 'drastic',
+ 'draw',
+ 'dream',
+ 'dress',
+ 'drift',
+ 'drill',
+ 'drink',
+ 'drip',
+ 'drive',
+ 'drop',
+ 'drum',
+ 'dry',
+ 'duck',
+ 'dumb',
+ 'dune',
+ 'during',
+ 'dust',
+ 'dutch',
+ 'duty',
+ 'dwarf',
+ 'dynamic',
+ 'eager',
+ 'eagle',
+ 'early',
+ 'earn',
+ 'earth',
+ 'easily',
+ 'east',
+ 'easy',
+ 'echo',
+ 'ecology',
+ 'economy',
+ 'edge',
+ 'edit',
+ 'educate',
+ 'effort',
+ 'egg',
+ 'eight',
+ 'either',
+ 'elbow',
+ 'elder',
+ 'electric',
+ 'elegant',
+ 'element',
+ 'elephant',
+ 'elevator',
+ 'elite',
+ 'else',
+ 'embark',
+ 'embody',
+ 'embrace',
+ 'emerge',
+ 'emotion',
+ 'employ',
+ 'empower',
+ 'empty',
+ 'enable',
+ 'enact',
+ 'end',
+ 'endless',
+ 'endorse',
+ 'enemy',
+ 'energy',
+ 'enforce',
+ 'engage',
+ 'engine',
+ 'enhance',
+ 'enjoy',
+ 'enlist',
+ 'enough',
+ 'enrich',
+ 'enroll',
+ 'ensure',
+ 'enter',
+ 'entire',
+ 'entry',
+ 'envelope',
+ 'episode',
+ 'equal',
+ 'equip',
+ 'era',
+ 'erase',
+ 'erode',
+ 'erosion',
+ 'error',
+ 'erupt',
+ 'escape',
+ 'essay',
+ 'essence',
+ 'estate',
+ 'eternal',
+ 'ethics',
+ 'evidence',
+ 'evil',
+ 'evoke',
+ 'evolve',
+ 'exact',
+ 'example',
+ 'excess',
+ 'exchange',
+ 'excite',
+ 'exclude',
+ 'excuse',
+ 'execute',
+ 'exercise',
+ 'exhaust',
+ 'exhibit',
+ 'exile',
+ 'exist',
+ 'exit',
+ 'exotic',
+ 'expand',
+ 'expect',
+ 'expire',
+ 'explain',
+ 'expose',
+ 'express',
+ 'extend',
+ 'extra',
+ 'eye',
+ 'eyebrow',
+ 'fabric',
+ 'face',
+ 'faculty',
+ 'fade',
+ 'faint',
+ 'faith',
+ 'fall',
+ 'false',
+ 'fame',
+ 'family',
+ 'famous',
+ 'fan',
+ 'fancy',
+ 'fantasy',
+ 'farm',
+ 'fashion',
+ 'fat',
+ 'fatal',
+ 'father',
+ 'fatigue',
+ 'fault',
+ 'favorite',
+ 'feature',
+ 'february',
+ 'federal',
+ 'fee',
+ 'feed',
+ 'feel',
+ 'female',
+ 'fence',
+ 'festival',
+ 'fetch',
+ 'fever',
+ 'few',
+ 'fiber',
+ 'fiction',
+ 'field',
+ 'figure',
+ 'file',
+ 'film',
+ 'filter',
+ 'final',
+ 'find',
+ 'fine',
+ 'finger',
+ 'finish',
+ 'fire',
+ 'firm',
+ 'first',
+ 'fiscal',
+ 'fish',
+ 'fit',
+ 'fitness',
+ 'fix',
+ 'flag',
+ 'flame',
+ 'flash',
+ 'flat',
+ 'flavor',
+ 'flee',
+ 'flight',
+ 'flip',
+ 'float',
+ 'flock',
+ 'floor',
+ 'flower',
+ 'fluid',
+ 'flush',
+ 'fly',
+ 'foam',
+ 'focus',
+ 'fog',
+ 'foil',
+ 'fold',
+ 'follow',
+ 'food',
+ 'foot',
+ 'force',
+ 'forest',
+ 'forget',
+ 'fork',
+ 'fortune',
+ 'forum',
+ 'forward',
+ 'fossil',
+ 'foster',
+ 'found',
+ 'fox',
+ 'fragile',
+ 'frame',
+ 'frequent',
+ 'fresh',
+ 'friend',
+ 'fringe',
+ 'frog',
+ 'front',
+ 'frost',
+ 'frown',
+ 'frozen',
+ 'fruit',
+ 'fuel',
+ 'fun',
+ 'funny',
+ 'furnace',
+ 'fury',
+ 'future',
+ 'gadget',
+ 'gain',
+ 'galaxy',
+ 'gallery',
+ 'game',
+ 'gap',
+ 'garage',
+ 'garbage',
+ 'garden',
+ 'garlic',
+ 'garment',
+ 'gas',
+ 'gasp',
+ 'gate',
+ 'gather',
+ 'gauge',
+ 'gaze',
+ 'general',
+ 'genius',
+ 'genre',
+ 'gentle',
+ 'genuine',
+ 'gesture',
+ 'ghost',
+ 'giant',
+ 'gift',
+ 'giggle',
+ 'ginger',
+ 'giraffe',
+ 'girl',
+ 'give',
+ 'glad',
+ 'glance',
+ 'glare',
+ 'glass',
+ 'glide',
+ 'glimpse',
+ 'globe',
+ 'gloom',
+ 'glory',
+ 'glove',
+ 'glow',
+ 'glue',
+ 'goat',
+ 'goddess',
+ 'gold',
+ 'good',
+ 'goose',
+ 'gorilla',
+ 'gospel',
+ 'gossip',
+ 'govern',
+ 'gown',
+ 'grab',
+ 'grace',
+ 'grain',
+ 'grant',
+ 'grape',
+ 'grass',
+ 'gravity',
+ 'great',
+ 'green',
+ 'grid',
+ 'grief',
+ 'grit',
+ 'grocery',
+ 'group',
+ 'grow',
+ 'grunt',
+ 'guard',
+ 'guess',
+ 'guide',
+ 'guilt',
+ 'guitar',
+ 'gun',
+ 'gym',
+ 'habit',
+ 'hair',
+ 'half',
+ 'hammer',
+ 'hamster',
+ 'hand',
+ 'happy',
+ 'harbor',
+ 'hard',
+ 'harsh',
+ 'harvest',
+ 'hat',
+ 'have',
+ 'hawk',
+ 'hazard',
+ 'head',
+ 'health',
+ 'heart',
+ 'heavy',
+ 'hedgehog',
+ 'height',
+ 'hello',
+ 'helmet',
+ 'help',
+ 'hen',
+ 'hero',
+ 'hidden',
+ 'high',
+ 'hill',
+ 'hint',
+ 'hip',
+ 'hire',
+ 'history',
+ 'hobby',
+ 'hockey',
+ 'hold',
+ 'hole',
+ 'holiday',
+ 'hollow',
+ 'home',
+ 'honey',
+ 'hood',
+ 'hope',
+ 'horn',
+ 'horror',
+ 'horse',
+ 'hospital',
+ 'host',
+ 'hotel',
+ 'hour',
+ 'hover',
+ 'hub',
+ 'huge',
+ 'human',
+ 'humble',
+ 'humor',
+ 'hundred',
+ 'hungry',
+ 'hunt',
+ 'hurdle',
+ 'hurry',
+ 'hurt',
+ 'husband',
+ 'hybrid',
+ 'ice',
+ 'icon',
+ 'idea',
+ 'identify',
+ 'idle',
+ 'ignore',
+ 'ill',
+ 'illegal',
+ 'illness',
+ 'image',
+ 'imitate',
+ 'immense',
+ 'immune',
+ 'impact',
+ 'impose',
+ 'improve',
+ 'impulse',
+ 'inch',
+ 'include',
+ 'income',
+ 'increase',
+ 'index',
+ 'indicate',
+ 'indoor',
+ 'industry',
+ 'infant',
+ 'inflict',
+ 'inform',
+ 'inhale',
+ 'inherit',
+ 'initial',
+ 'inject',
+ 'injury',
+ 'inmate',
+ 'inner',
+ 'innocent',
+ 'input',
+ 'inquiry',
+ 'insane',
+ 'insect',
+ 'inside',
+ 'inspire',
+ 'install',
+ 'intact',
+ 'interest',
+ 'into',
+ 'invest',
+ 'invite',
+ 'involve',
+ 'iron',
+ 'island',
+ 'isolate',
+ 'issue',
+ 'item',
+ 'ivory',
+ 'jacket',
+ 'jaguar',
+ 'jar',
+ 'jazz',
+ 'jealous',
+ 'jeans',
+ 'jelly',
+ 'jewel',
+ 'job',
+ 'join',
+ 'joke',
+ 'journey',
+ 'joy',
+ 'judge',
+ 'juice',
+ 'jump',
+ 'jungle',
+ 'junior',
+ 'junk',
+ 'just',
+ 'kangaroo',
+ 'keen',
+ 'keep',
+ 'ketchup',
+ 'key',
+ 'kick',
+ 'kid',
+ 'kidney',
+ 'kind',
+ 'kingdom',
+ 'kiss',
+ 'kit',
+ 'kitchen',
+ 'kite',
+ 'kitten',
+ 'kiwi',
+ 'knee',
+ 'knife',
+ 'knock',
+ 'know',
+ 'lab',
+ 'label',
+ 'labor',
+ 'ladder',
+ 'lady',
+ 'lake',
+ 'lamp',
+ 'language',
+ 'laptop',
+ 'large',
+ 'later',
+ 'latin',
+ 'laugh',
+ 'laundry',
+ 'lava',
+ 'law',
+ 'lawn',
+ 'lawsuit',
+ 'layer',
+ 'lazy',
+ 'leader',
+ 'leaf',
+ 'learn',
+ 'leave',
+ 'lecture',
+ 'left',
+ 'leg',
+ 'legal',
+ 'legend',
+ 'leisure',
+ 'lemon',
+ 'lend',
+ 'length',
+ 'lens',
+ 'leopard',
+ 'lesson',
+ 'letter',
+ 'level',
+ 'liar',
+ 'liberty',
+ 'library',
+ 'license',
+ 'life',
+ 'lift',
+ 'light',
+ 'like',
+ 'limb',
+ 'limit',
+ 'link',
+ 'lion',
+ 'liquid',
+ 'list',
+ 'little',
+ 'live',
+ 'lizard',
+ 'load',
+ 'loan',
+ 'lobster',
+ 'local',
+ 'lock',
+ 'logic',
+ 'lonely',
+ 'long',
+ 'loop',
+ 'lottery',
+ 'loud',
+ 'lounge',
+ 'love',
+ 'loyal',
+ 'lucky',
+ 'luggage',
+ 'lumber',
+ 'lunar',
+ 'lunch',
+ 'luxury',
+ 'lyrics',
+ 'machine',
+ 'mad',
+ 'magic',
+ 'magnet',
+ 'maid',
+ 'mail',
+ 'main',
+ 'major',
+ 'make',
+ 'mammal',
+ 'man',
+ 'manage',
+ 'mandate',
+ 'mango',
+ 'mansion',
+ 'manual',
+ 'maple',
+ 'marble',
+ 'march',
+ 'margin',
+ 'marine',
+ 'market',
+ 'marriage',
+ 'mask',
+ 'mass',
+ 'master',
+ 'match',
+ 'material',
+ 'math',
+ 'matrix',
+ 'matter',
+ 'maximum',
+ 'maze',
+ 'meadow',
+ 'mean',
+ 'measure',
+ 'meat',
+ 'mechanic',
+ 'medal',
+ 'media',
+ 'melody',
+ 'melt',
+ 'member',
+ 'memory',
+ 'mention',
+ 'menu',
+ 'mercy',
+ 'merge',
+ 'merit',
+ 'merry',
+ 'mesh',
+ 'message',
+ 'metal',
+ 'method',
+ 'middle',
+ 'midnight',
+ 'milk',
+ 'million',
+ 'mimic',
+ 'mind',
+ 'minimum',
+ 'minor',
+ 'minute',
+ 'miracle',
+ 'mirror',
+ 'misery',
+ 'miss',
+ 'mistake',
+ 'mix',
+ 'mixed',
+ 'mixture',
+ 'mobile',
+ 'model',
+ 'modify',
+ 'mom',
+ 'moment',
+ 'monitor',
+ 'monkey',
+ 'monster',
+ 'month',
+ 'moon',
+ 'moral',
+ 'more',
+ 'morning',
+ 'mosquito',
+ 'mother',
+ 'motion',
+ 'motor',
+ 'mountain',
+ 'mouse',
+ 'move',
+ 'movie',
+ 'much',
+ 'muffin',
+ 'mule',
+ 'multiply',
+ 'muscle',
+ 'museum',
+ 'mushroom',
+ 'music',
+ 'must',
+ 'mutual',
+ 'myself',
+ 'mystery',
+ 'myth',
+ 'naive',
+ 'name',
+ 'napkin',
+ 'narrow',
+ 'nasty',
+ 'nation',
+ 'nature',
+ 'near',
+ 'neck',
+ 'need',
+ 'negative',
+ 'neglect',
+ 'neither',
+ 'nephew',
+ 'nerve',
+ 'nest',
+ 'net',
+ 'network',
+ 'neutral',
+ 'never',
+ 'news',
+ 'next',
+ 'nice',
+ 'night',
+ 'noble',
+ 'noise',
+ 'nominee',
+ 'noodle',
+ 'normal',
+ 'north',
+ 'nose',
+ 'notable',
+ 'note',
+ 'nothing',
+ 'notice',
+ 'novel',
+ 'now',
+ 'nuclear',
+ 'number',
+ 'nurse',
+ 'nut',
+ 'oak',
+ 'obey',
+ 'object',
+ 'oblige',
+ 'obscure',
+ 'observe',
+ 'obtain',
+ 'obvious',
+ 'occur',
+ 'ocean',
+ 'october',
+ 'odor',
+ 'off',
+ 'offer',
+ 'office',
+ 'often',
+ 'oil',
+ 'okay',
+ 'old',
+ 'olive',
+ 'olympic',
+ 'omit',
+ 'once',
+ 'one',
+ 'onion',
+ 'online',
+ 'only',
+ 'open',
+ 'opera',
+ 'opinion',
+ 'oppose',
+ 'option',
+ 'orange',
+ 'orbit',
+ 'orchard',
+ 'order',
+ 'ordinary',
+ 'organ',
+ 'orient',
+ 'original',
+ 'orphan',
+ 'ostrich',
+ 'other',
+ 'outdoor',
+ 'outer',
+ 'output',
+ 'outside',
+ 'oval',
+ 'oven',
+ 'over',
+ 'own',
+ 'owner',
+ 'oxygen',
+ 'oyster',
+ 'ozone',
+ 'pact',
+ 'paddle',
+ 'page',
+ 'pair',
+ 'palace',
+ 'palm',
+ 'panda',
+ 'panel',
+ 'panic',
+ 'panther',
+ 'paper',
+ 'parade',
+ 'parent',
+ 'park',
+ 'parrot',
+ 'party',
+ 'pass',
+ 'patch',
+ 'path',
+ 'patient',
+ 'patrol',
+ 'pattern',
+ 'pause',
+ 'pave',
+ 'payment',
+ 'peace',
+ 'peanut',
+ 'pear',
+ 'peasant',
+ 'pelican',
+ 'pen',
+ 'penalty',
+ 'pencil',
+ 'people',
+ 'pepper',
+ 'perfect',
+ 'permit',
+ 'person',
+ 'pet',
+ 'phone',
+ 'photo',
+ 'phrase',
+ 'physical',
+ 'piano',
+ 'picnic',
+ 'picture',
+ 'piece',
+ 'pig',
+ 'pigeon',
+ 'pill',
+ 'pilot',
+ 'pink',
+ 'pioneer',
+ 'pipe',
+ 'pistol',
+ 'pitch',
+ 'pizza',
+ 'place',
+ 'planet',
+ 'plastic',
+ 'plate',
+ 'play',
+ 'please',
+ 'pledge',
+ 'pluck',
+ 'plug',
+ 'plunge',
+ 'poem',
+ 'poet',
+ 'point',
+ 'polar',
+ 'pole',
+ 'police',
+ 'pond',
+ 'pony',
+ 'pool',
+ 'popular',
+ 'portion',
+ 'position',
+ 'possible',
+ 'post',
+ 'potato',
+ 'pottery',
+ 'poverty',
+ 'powder',
+ 'power',
+ 'practice',
+ 'praise',
+ 'predict',
+ 'prefer',
+ 'prepare',
+ 'present',
+ 'pretty',
+ 'prevent',
+ 'price',
+ 'pride',
+ 'primary',
+ 'print',
+ 'priority',
+ 'prison',
+ 'private',
+ 'prize',
+ 'problem',
+ 'process',
+ 'produce',
+ 'profit',
+ 'program',
+ 'project',
+ 'promote',
+ 'proof',
+ 'property',
+ 'prosper',
+ 'protect',
+ 'proud',
+ 'provide',
+ 'public',
+ 'pudding',
+ 'pull',
+ 'pulp',
+ 'pulse',
+ 'pumpkin',
+ 'punch',
+ 'pupil',
+ 'puppy',
+ 'purchase',
+ 'purity',
+ 'purpose',
+ 'purse',
+ 'push',
+ 'put',
+ 'puzzle',
+ 'pyramid',
+ 'quality',
+ 'quantum',
+ 'quarter',
+ 'question',
+ 'quick',
+ 'quit',
+ 'quiz',
+ 'quote',
+ 'rabbit',
+ 'raccoon',
+ 'race',
+ 'rack',
+ 'radar',
+ 'radio',
+ 'rail',
+ 'rain',
+ 'raise',
+ 'rally',
+ 'ramp',
+ 'ranch',
+ 'random',
+ 'range',
+ 'rapid',
+ 'rare',
+ 'rate',
+ 'rather',
+ 'raven',
+ 'raw',
+ 'razor',
+ 'ready',
+ 'real',
+ 'reason',
+ 'rebel',
+ 'rebuild',
+ 'recall',
+ 'receive',
+ 'recipe',
+ 'record',
+ 'recycle',
+ 'reduce',
+ 'reflect',
+ 'reform',
+ 'refuse',
+ 'region',
+ 'regret',
+ 'regular',
+ 'reject',
+ 'relax',
+ 'release',
+ 'relief',
+ 'rely',
+ 'remain',
+ 'remember',
+ 'remind',
+ 'remove',
+ 'render',
+ 'renew',
+ 'rent',
+ 'reopen',
+ 'repair',
+ 'repeat',
+ 'replace',
+ 'report',
+ 'require',
+ 'rescue',
+ 'resemble',
+ 'resist',
+ 'resource',
+ 'response',
+ 'result',
+ 'retire',
+ 'retreat',
+ 'return',
+ 'reunion',
+ 'reveal',
+ 'review',
+ 'reward',
+ 'rhythm',
+ 'rib',
+ 'ribbon',
+ 'rice',
+ 'rich',
+ 'ride',
+ 'ridge',
+ 'rifle',
+ 'right',
+ 'rigid',
+ 'ring',
+ 'riot',
+ 'ripple',
+ 'risk',
+ 'ritual',
+ 'rival',
+ 'river',
+ 'road',
+ 'roast',
+ 'robot',
+ 'robust',
+ 'rocket',
+ 'romance',
+ 'roof',
+ 'rookie',
+ 'room',
+ 'rose',
+ 'rotate',
+ 'rough',
+ 'round',
+ 'route',
+ 'royal',
+ 'rubber',
+ 'rude',
+ 'rug',
+ 'rule',
+ 'run',
+ 'runway',
+ 'rural',
+ 'sad',
+ 'saddle',
+ 'sadness',
+ 'safe',
+ 'sail',
+ 'salad',
+ 'salmon',
+ 'salon',
+ 'salt',
+ 'salute',
+ 'same',
+ 'sample',
+ 'sand',
+ 'satisfy',
+ 'satoshi',
+ 'sauce',
+ 'sausage',
+ 'save',
+ 'say',
+ 'scale',
+ 'scan',
+ 'scare',
+ 'scatter',
+ 'scene',
+ 'scheme',
+ 'school',
+ 'science',
+ 'scissors',
+ 'scorpion',
+ 'scout',
+ 'scrap',
+ 'screen',
+ 'script',
+ 'scrub',
+ 'sea',
+ 'search',
+ 'season',
+ 'seat',
+ 'second',
+ 'secret',
+ 'section',
+ 'security',
+ 'seed',
+ 'seek',
+ 'segment',
+ 'select',
+ 'sell',
+ 'seminar',
+ 'senior',
+ 'sense',
+ 'sentence',
+ 'series',
+ 'service',
+ 'session',
+ 'settle',
+ 'setup',
+ 'seven',
+ 'shadow',
+ 'shaft',
+ 'shallow',
+ 'share',
+ 'shed',
+ 'shell',
+ 'sheriff',
+ 'shield',
+ 'shift',
+ 'shine',
+ 'ship',
+ 'shiver',
+ 'shock',
+ 'shoe',
+ 'shoot',
+ 'shop',
+ 'short',
+ 'shoulder',
+ 'shove',
+ 'shrimp',
+ 'shrug',
+ 'shuffle',
+ 'shy',
+ 'sibling',
+ 'sick',
+ 'side',
+ 'siege',
+ 'sight',
+ 'sign',
+ 'silent',
+ 'silk',
+ 'silly',
+ 'silver',
+ 'similar',
+ 'simple',
+ 'since',
+ 'sing',
+ 'siren',
+ 'sister',
+ 'situate',
+ 'six',
+ 'size',
+ 'skate',
+ 'sketch',
+ 'ski',
+ 'skill',
+ 'skin',
+ 'skirt',
+ 'skull',
+ 'slab',
+ 'slam',
+ 'sleep',
+ 'slender',
+ 'slice',
+ 'slide',
+ 'slight',
+ 'slim',
+ 'slogan',
+ 'slot',
+ 'slow',
+ 'slush',
+ 'small',
+ 'smart',
+ 'smile',
+ 'smoke',
+ 'smooth',
+ 'snack',
+ 'snake',
+ 'snap',
+ 'sniff',
+ 'snow',
+ 'soap',
+ 'soccer',
+ 'social',
+ 'sock',
+ 'soda',
+ 'soft',
+ 'solar',
+ 'soldier',
+ 'solid',
+ 'solution',
+ 'solve',
+ 'someone',
+ 'song',
+ 'soon',
+ 'sorry',
+ 'sort',
+ 'soul',
+ 'sound',
+ 'soup',
+ 'source',
+ 'south',
+ 'space',
+ 'spare',
+ 'spatial',
+ 'spawn',
+ 'speak',
+ 'special',
+ 'speed',
+ 'spell',
+ 'spend',
+ 'sphere',
+ 'spice',
+ 'spider',
+ 'spike',
+ 'spin',
+ 'spirit',
+ 'split',
+ 'spoil',
+ 'sponsor',
+ 'spoon',
+ 'sport',
+ 'spot',
+ 'spray',
+ 'spread',
+ 'spring',
+ 'spy',
+ 'square',
+ 'squeeze',
+ 'squirrel',
+ 'stable',
+ 'stadium',
+ 'staff',
+ 'stage',
+ 'stairs',
+ 'stamp',
+ 'stand',
+ 'start',
+ 'state',
+ 'stay',
+ 'steak',
+ 'steel',
+ 'stem',
+ 'step',
+ 'stereo',
+ 'stick',
+ 'still',
+ 'sting',
+ 'stock',
+ 'stomach',
+ 'stone',
+ 'stool',
+ 'story',
+ 'stove',
+ 'strategy',
+ 'street',
+ 'strike',
+ 'strong',
+ 'struggle',
+ 'student',
+ 'stuff',
+ 'stumble',
+ 'style',
+ 'subject',
+ 'submit',
+ 'subway',
+ 'success',
+ 'such',
+ 'sudden',
+ 'suffer',
+ 'sugar',
+ 'suggest',
+ 'suit',
+ 'summer',
+ 'sun',
+ 'sunny',
+ 'sunset',
+ 'super',
+ 'supply',
+ 'supreme',
+ 'sure',
+ 'surface',
+ 'surge',
+ 'surprise',
+ 'surround',
+ 'survey',
+ 'suspect',
+ 'sustain',
+ 'swallow',
+ 'swamp',
+ 'swap',
+ 'swarm',
+ 'swear',
+ 'sweet',
+ 'swift',
+ 'swim',
+ 'swing',
+ 'switch',
+ 'sword',
+ 'symbol',
+ 'symptom',
+ 'syrup',
+ 'system',
+ 'table',
+ 'tackle',
+ 'tag',
+ 'tail',
+ 'talent',
+ 'talk',
+ 'tank',
+ 'tape',
+ 'target',
+ 'task',
+ 'taste',
+ 'tattoo',
+ 'taxi',
+ 'teach',
+ 'team',
+ 'tell',
+ 'ten',
+ 'tenant',
+ 'tennis',
+ 'tent',
+ 'term',
+ 'test',
+ 'text',
+ 'thank',
+ 'that',
+ 'theme',
+ 'then',
+ 'theory',
+ 'there',
+ 'they',
+ 'thing',
+ 'this',
+ 'thought',
+ 'three',
+ 'thrive',
+ 'throw',
+ 'thumb',
+ 'thunder',
+ 'ticket',
+ 'tide',
+ 'tiger',
+ 'tilt',
+ 'timber',
+ 'time',
+ 'tiny',
+ 'tip',
+ 'tired',
+ 'tissue',
+ 'title',
+ 'toast',
+ 'tobacco',
+ 'today',
+ 'toddler',
+ 'toe',
+ 'together',
+ 'toilet',
+ 'token',
+ 'tomato',
+ 'tomorrow',
+ 'tone',
+ 'tongue',
+ 'tonight',
+ 'tool',
+ 'tooth',
+ 'top',
+ 'topic',
+ 'topple',
+ 'torch',
+ 'tornado',
+ 'tortoise',
+ 'toss',
+ 'total',
+ 'tourist',
+ 'toward',
+ 'tower',
+ 'town',
+ 'toy',
+ 'track',
+ 'trade',
+ 'traffic',
+ 'tragic',
+ 'train',
+ 'transfer',
+ 'trap',
+ 'trash',
+ 'travel',
+ 'tray',
+ 'treat',
+ 'tree',
+ 'trend',
+ 'trial',
+ 'tribe',
+ 'trick',
+ 'trigger',
+ 'trim',
+ 'trip',
+ 'trophy',
+ 'trouble',
+ 'truck',
+ 'true',
+ 'truly',
+ 'trumpet',
+ 'trust',
+ 'truth',
+ 'try',
+ 'tube',
+ 'tuition',
+ 'tumble',
+ 'tuna',
+ 'tunnel',
+ 'turkey',
+ 'turn',
+ 'turtle',
+ 'twelve',
+ 'twenty',
+ 'twice',
+ 'twin',
+ 'twist',
+ 'two',
+ 'type',
+ 'typical',
+ 'ugly',
+ 'umbrella',
+ 'unable',
+ 'unaware',
+ 'uncle',
+ 'uncover',
+ 'under',
+ 'undo',
+ 'unfair',
+ 'unfold',
+ 'unhappy',
+ 'uniform',
+ 'unique',
+ 'unit',
+ 'universe',
+ 'unknown',
+ 'unlock',
+ 'until',
+ 'unusual',
+ 'unveil',
+ 'update',
+ 'upgrade',
+ 'uphold',
+ 'upon',
+ 'upper',
+ 'upset',
+ 'urban',
+ 'urge',
+ 'usage',
+ 'use',
+ 'used',
+ 'useful',
+ 'useless',
+ 'usual',
+ 'utility',
+ 'vacant',
+ 'vacuum',
+ 'vague',
+ 'valid',
+ 'valley',
+ 'valve',
+ 'van',
+ 'vanish',
+ 'vapor',
+ 'various',
+ 'vast',
+ 'vault',
+ 'vehicle',
+ 'velvet',
+ 'vendor',
+ 'venture',
+ 'venue',
+ 'verb',
+ 'verify',
+ 'version',
+ 'very',
+ 'vessel',
+ 'veteran',
+ 'viable',
+ 'vibrant',
+ 'vicious',
+ 'victory',
+ 'video',
+ 'view',
+ 'village',
+ 'vintage',
+ 'violin',
+ 'virtual',
+ 'virus',
+ 'visa',
+ 'visit',
+ 'visual',
+ 'vital',
+ 'vivid',
+ 'vocal',
+ 'voice',
+ 'void',
+ 'volcano',
+ 'volume',
+ 'vote',
+ 'voyage',
+ 'wage',
+ 'wagon',
+ 'wait',
+ 'walk',
+ 'wall',
+ 'walnut',
+ 'want',
+ 'warfare',
+ 'warm',
+ 'warrior',
+ 'wash',
+ 'wasp',
+ 'waste',
+ 'water',
+ 'wave',
+ 'way',
+ 'wealth',
+ 'weapon',
+ 'wear',
+ 'weasel',
+ 'weather',
+ 'web',
+ 'wedding',
+ 'weekend',
+ 'weird',
+ 'welcome',
+ 'west',
+ 'wet',
+ 'whale',
+ 'what',
+ 'wheat',
+ 'wheel',
+ 'when',
+ 'where',
+ 'whip',
+ 'whisper',
+ 'wide',
+ 'width',
+ 'wife',
+ 'wild',
+ 'will',
+ 'win',
+ 'window',
+ 'wine',
+ 'wing',
+ 'wink',
+ 'winner',
+ 'winter',
+ 'wire',
+ 'wisdom',
+ 'wise',
+ 'wish',
+ 'witness',
+ 'wolf',
+ 'woman',
+ 'wonder',
+ 'wood',
+ 'wool',
+ 'word',
+ 'work',
+ 'world',
+ 'worry',
+ 'worth',
+ 'wrap',
+ 'wreck',
+ 'wrestle',
+ 'wrist',
+ 'write',
+ 'wrong',
+ 'yard',
+ 'year',
+ 'yellow',
+ 'you',
+ 'young',
+ 'youth',
+ 'zebra',
+ 'zero',
+ 'zone',
+ 'zoo',
+];
+
+const french = [
+ 'abaisser',
+ 'abandon',
+ 'abdiquer',
+ 'abeille',
+ 'abolir',
+ 'aborder',
+ 'aboutir',
+ 'aboyer',
+ 'abrasif',
+ 'abreuver',
+ 'abriter',
+ 'abroger',
+ 'abrupt',
+ 'absence',
+ 'absolu',
+ 'absurde',
+ 'abusif',
+ 'abyssal',
+ 'académie',
+ 'acajou',
+ 'acarien',
+ 'accabler',
+ 'accepter',
+ 'acclamer',
+ 'accolade',
+ 'accroche',
+ 'accuser',
+ 'acerbe',
+ 'achat',
+ 'acheter',
+ 'aciduler',
+ 'acier',
+ 'acompte',
+ 'acquérir',
+ 'acronyme',
+ 'acteur',
+ 'actif',
+ 'actuel',
+ 'adepte',
+ 'adéquat',
+ 'adhésif',
+ 'adjectif',
+ 'adjuger',
+ 'admettre',
+ 'admirer',
+ 'adopter',
+ 'adorer',
+ 'adoucir',
+ 'adresse',
+ 'adroit',
+ 'adulte',
+ 'adverbe',
+ 'aérer',
+ 'aéronef',
+ 'affaire',
+ 'affecter',
+ 'affiche',
+ 'affreux',
+ 'affubler',
+ 'agacer',
+ 'agencer',
+ 'agile',
+ 'agiter',
+ 'agrafer',
+ 'agréable',
+ 'agrume',
+ 'aider',
+ 'aiguille',
+ 'ailier',
+ 'aimable',
+ 'aisance',
+ 'ajouter',
+ 'ajuster',
+ 'alarmer',
+ 'alchimie',
+ 'alerte',
+ 'algèbre',
+ 'algue',
+ 'aliéner',
+ 'aliment',
+ 'alléger',
+ 'alliage',
+ 'allouer',
+ 'allumer',
+ 'alourdir',
+ 'alpaga',
+ 'altesse',
+ 'alvéole',
+ 'amateur',
+ 'ambigu',
+ 'ambre',
+ 'aménager',
+ 'amertume',
+ 'amidon',
+ 'amiral',
+ 'amorcer',
+ 'amour',
+ 'amovible',
+ 'amphibie',
+ 'ampleur',
+ 'amusant',
+ 'analyse',
+ 'anaphore',
+ 'anarchie',
+ 'anatomie',
+ 'ancien',
+ 'anéantir',
+ 'angle',
+ 'angoisse',
+ 'anguleux',
+ 'animal',
+ 'annexer',
+ 'annonce',
+ 'annuel',
+ 'anodin',
+ 'anomalie',
+ 'anonyme',
+ 'anormal',
+ 'antenne',
+ 'antidote',
+ 'anxieux',
+ 'apaiser',
+ 'apéritif',
+ 'aplanir',
+ 'apologie',
+ 'appareil',
+ 'appeler',
+ 'apporter',
+ 'appuyer',
+ 'aquarium',
+ 'aqueduc',
+ 'arbitre',
+ 'arbuste',
+ 'ardeur',
+ 'ardoise',
+ 'argent',
+ 'arlequin',
+ 'armature',
+ 'armement',
+ 'armoire',
+ 'armure',
+ 'arpenter',
+ 'arracher',
+ 'arriver',
+ 'arroser',
+ 'arsenic',
+ 'artériel',
+ 'article',
+ 'aspect',
+ 'asphalte',
+ 'aspirer',
+ 'assaut',
+ 'asservir',
+ 'assiette',
+ 'associer',
+ 'assurer',
+ 'asticot',
+ 'astre',
+ 'astuce',
+ 'atelier',
+ 'atome',
+ 'atrium',
+ 'atroce',
+ 'attaque',
+ 'attentif',
+ 'attirer',
+ 'attraper',
+ 'aubaine',
+ 'auberge',
+ 'audace',
+ 'audible',
+ 'augurer',
+ 'aurore',
+ 'automne',
+ 'autruche',
+ 'avaler',
+ 'avancer',
+ 'avarice',
+ 'avenir',
+ 'averse',
+ 'aveugle',
+ 'aviateur',
+ 'avide',
+ 'avion',
+ 'aviser',
+ 'avoine',
+ 'avouer',
+ 'avril',
+ 'axial',
+ 'axiome',
+ 'badge',
+ 'bafouer',
+ 'bagage',
+ 'baguette',
+ 'baignade',
+ 'balancer',
+ 'balcon',
+ 'baleine',
+ 'balisage',
+ 'bambin',
+ 'bancaire',
+ 'bandage',
+ 'banlieue',
+ 'bannière',
+ 'banquier',
+ 'barbier',
+ 'baril',
+ 'baron',
+ 'barque',
+ 'barrage',
+ 'bassin',
+ 'bastion',
+ 'bataille',
+ 'bateau',
+ 'batterie',
+ 'baudrier',
+ 'bavarder',
+ 'belette',
+ 'bélier',
+ 'belote',
+ 'bénéfice',
+ 'berceau',
+ 'berger',
+ 'berline',
+ 'bermuda',
+ 'besace',
+ 'besogne',
+ 'bétail',
+ 'beurre',
+ 'biberon',
+ 'bicycle',
+ 'bidule',
+ 'bijou',
+ 'bilan',
+ 'bilingue',
+ 'billard',
+ 'binaire',
+ 'biologie',
+ 'biopsie',
+ 'biotype',
+ 'biscuit',
+ 'bison',
+ 'bistouri',
+ 'bitume',
+ 'bizarre',
+ 'blafard',
+ 'blague',
+ 'blanchir',
+ 'blessant',
+ 'blinder',
+ 'blond',
+ 'bloquer',
+ 'blouson',
+ 'bobard',
+ 'bobine',
+ 'boire',
+ 'boiser',
+ 'bolide',
+ 'bonbon',
+ 'bondir',
+ 'bonheur',
+ 'bonifier',
+ 'bonus',
+ 'bordure',
+ 'borne',
+ 'botte',
+ 'boucle',
+ 'boueux',
+ 'bougie',
+ 'boulon',
+ 'bouquin',
+ 'bourse',
+ 'boussole',
+ 'boutique',
+ 'boxeur',
+ 'branche',
+ 'brasier',
+ 'brave',
+ 'brebis',
+ 'brèche',
+ 'breuvage',
+ 'bricoler',
+ 'brigade',
+ 'brillant',
+ 'brioche',
+ 'brique',
+ 'brochure',
+ 'broder',
+ 'bronzer',
+ 'brousse',
+ 'broyeur',
+ 'brume',
+ 'brusque',
+ 'brutal',
+ 'bruyant',
+ 'buffle',
+ 'buisson',
+ 'bulletin',
+ 'bureau',
+ 'burin',
+ 'bustier',
+ 'butiner',
+ 'butoir',
+ 'buvable',
+ 'buvette',
+ 'cabanon',
+ 'cabine',
+ 'cachette',
+ 'cadeau',
+ 'cadre',
+ 'caféine',
+ 'caillou',
+ 'caisson',
+ 'calculer',
+ 'calepin',
+ 'calibre',
+ 'calmer',
+ 'calomnie',
+ 'calvaire',
+ 'camarade',
+ 'caméra',
+ 'camion',
+ 'campagne',
+ 'canal',
+ 'caneton',
+ 'canon',
+ 'cantine',
+ 'canular',
+ 'capable',
+ 'caporal',
+ 'caprice',
+ 'capsule',
+ 'capter',
+ 'capuche',
+ 'carabine',
+ 'carbone',
+ 'caresser',
+ 'caribou',
+ 'carnage',
+ 'carotte',
+ 'carreau',
+ 'carton',
+ 'cascade',
+ 'casier',
+ 'casque',
+ 'cassure',
+ 'causer',
+ 'caution',
+ 'cavalier',
+ 'caverne',
+ 'caviar',
+ 'cédille',
+ 'ceinture',
+ 'céleste',
+ 'cellule',
+ 'cendrier',
+ 'censurer',
+ 'central',
+ 'cercle',
+ 'cérébral',
+ 'cerise',
+ 'cerner',
+ 'cerveau',
+ 'cesser',
+ 'chagrin',
+ 'chaise',
+ 'chaleur',
+ 'chambre',
+ 'chance',
+ 'chapitre',
+ 'charbon',
+ 'chasseur',
+ 'chaton',
+ 'chausson',
+ 'chavirer',
+ 'chemise',
+ 'chenille',
+ 'chéquier',
+ 'chercher',
+ 'cheval',
+ 'chien',
+ 'chiffre',
+ 'chignon',
+ 'chimère',
+ 'chiot',
+ 'chlorure',
+ 'chocolat',
+ 'choisir',
+ 'chose',
+ 'chouette',
+ 'chrome',
+ 'chute',
+ 'cigare',
+ 'cigogne',
+ 'cimenter',
+ 'cinéma',
+ 'cintrer',
+ 'circuler',
+ 'cirer',
+ 'cirque',
+ 'citerne',
+ 'citoyen',
+ 'citron',
+ 'civil',
+ 'clairon',
+ 'clameur',
+ 'claquer',
+ 'classe',
+ 'clavier',
+ 'client',
+ 'cligner',
+ 'climat',
+ 'clivage',
+ 'cloche',
+ 'clonage',
+ 'cloporte',
+ 'cobalt',
+ 'cobra',
+ 'cocasse',
+ 'cocotier',
+ 'coder',
+ 'codifier',
+ 'coffre',
+ 'cogner',
+ 'cohésion',
+ 'coiffer',
+ 'coincer',
+ 'colère',
+ 'colibri',
+ 'colline',
+ 'colmater',
+ 'colonel',
+ 'combat',
+ 'comédie',
+ 'commande',
+ 'compact',
+ 'concert',
+ 'conduire',
+ 'confier',
+ 'congeler',
+ 'connoter',
+ 'consonne',
+ 'contact',
+ 'convexe',
+ 'copain',
+ 'copie',
+ 'corail',
+ 'corbeau',
+ 'cordage',
+ 'corniche',
+ 'corpus',
+ 'correct',
+ 'cortège',
+ 'cosmique',
+ 'costume',
+ 'coton',
+ 'coude',
+ 'coupure',
+ 'courage',
+ 'couteau',
+ 'couvrir',
+ 'coyote',
+ 'crabe',
+ 'crainte',
+ 'cravate',
+ 'crayon',
+ 'créature',
+ 'créditer',
+ 'crémeux',
+ 'creuser',
+ 'crevette',
+ 'cribler',
+ 'crier',
+ 'cristal',
+ 'critère',
+ 'croire',
+ 'croquer',
+ 'crotale',
+ 'crucial',
+ 'cruel',
+ 'crypter',
+ 'cubique',
+ 'cueillir',
+ 'cuillère',
+ 'cuisine',
+ 'cuivre',
+ 'culminer',
+ 'cultiver',
+ 'cumuler',
+ 'cupide',
+ 'curatif',
+ 'curseur',
+ 'cyanure',
+ 'cycle',
+ 'cylindre',
+ 'cynique',
+ 'daigner',
+ 'damier',
+ 'danger',
+ 'danseur',
+ 'dauphin',
+ 'débattre',
+ 'débiter',
+ 'déborder',
+ 'débrider',
+ 'débutant',
+ 'décaler',
+ 'décembre',
+ 'déchirer',
+ 'décider',
+ 'déclarer',
+ 'décorer',
+ 'décrire',
+ 'décupler',
+ 'dédale',
+ 'déductif',
+ 'déesse',
+ 'défensif',
+ 'défiler',
+ 'défrayer',
+ 'dégager',
+ 'dégivrer',
+ 'déglutir',
+ 'dégrafer',
+ 'déjeuner',
+ 'délice',
+ 'déloger',
+ 'demander',
+ 'demeurer',
+ 'démolir',
+ 'dénicher',
+ 'dénouer',
+ 'dentelle',
+ 'dénuder',
+ 'départ',
+ 'dépenser',
+ 'déphaser',
+ 'déplacer',
+ 'déposer',
+ 'déranger',
+ 'dérober',
+ 'désastre',
+ 'descente',
+ 'désert',
+ 'désigner',
+ 'désobéir',
+ 'dessiner',
+ 'destrier',
+ 'détacher',
+ 'détester',
+ 'détourer',
+ 'détresse',
+ 'devancer',
+ 'devenir',
+ 'deviner',
+ 'devoir',
+ 'diable',
+ 'dialogue',
+ 'diamant',
+ 'dicter',
+ 'différer',
+ 'digérer',
+ 'digital',
+ 'digne',
+ 'diluer',
+ 'dimanche',
+ 'diminuer',
+ 'dioxyde',
+ 'directif',
+ 'diriger',
+ 'discuter',
+ 'disposer',
+ 'dissiper',
+ 'distance',
+ 'divertir',
+ 'diviser',
+ 'docile',
+ 'docteur',
+ 'dogme',
+ 'doigt',
+ 'domaine',
+ 'domicile',
+ 'dompter',
+ 'donateur',
+ 'donjon',
+ 'donner',
+ 'dopamine',
+ 'dortoir',
+ 'dorure',
+ 'dosage',
+ 'doseur',
+ 'dossier',
+ 'dotation',
+ 'douanier',
+ 'double',
+ 'douceur',
+ 'douter',
+ 'doyen',
+ 'dragon',
+ 'draper',
+ 'dresser',
+ 'dribbler',
+ 'droiture',
+ 'duperie',
+ 'duplexe',
+ 'durable',
+ 'durcir',
+ 'dynastie',
+ 'éblouir',
+ 'écarter',
+ 'écharpe',
+ 'échelle',
+ 'éclairer',
+ 'éclipse',
+ 'éclore',
+ 'écluse',
+ 'école',
+ 'économie',
+ 'écorce',
+ 'écouter',
+ 'écraser',
+ 'écrémer',
+ 'écrivain',
+ 'écrou',
+ 'écume',
+ 'écureuil',
+ 'édifier',
+ 'éduquer',
+ 'effacer',
+ 'effectif',
+ 'effigie',
+ 'effort',
+ 'effrayer',
+ 'effusion',
+ 'égaliser',
+ 'égarer',
+ 'éjecter',
+ 'élaborer',
+ 'élargir',
+ 'électron',
+ 'élégant',
+ 'éléphant',
+ 'élève',
+ 'éligible',
+ 'élitisme',
+ 'éloge',
+ 'élucider',
+ 'éluder',
+ 'emballer',
+ 'embellir',
+ 'embryon',
+ 'émeraude',
+ 'émission',
+ 'emmener',
+ 'émotion',
+ 'émouvoir',
+ 'empereur',
+ 'employer',
+ 'emporter',
+ 'emprise',
+ 'émulsion',
+ 'encadrer',
+ 'enchère',
+ 'enclave',
+ 'encoche',
+ 'endiguer',
+ 'endosser',
+ 'endroit',
+ 'enduire',
+ 'énergie',
+ 'enfance',
+ 'enfermer',
+ 'enfouir',
+ 'engager',
+ 'engin',
+ 'englober',
+ 'énigme',
+ 'enjamber',
+ 'enjeu',
+ 'enlever',
+ 'ennemi',
+ 'ennuyeux',
+ 'enrichir',
+ 'enrobage',
+ 'enseigne',
+ 'entasser',
+ 'entendre',
+ 'entier',
+ 'entourer',
+ 'entraver',
+ 'énumérer',
+ 'envahir',
+ 'enviable',
+ 'envoyer',
+ 'enzyme',
+ 'éolien',
+ 'épaissir',
+ 'épargne',
+ 'épatant',
+ 'épaule',
+ 'épicerie',
+ 'épidémie',
+ 'épier',
+ 'épilogue',
+ 'épine',
+ 'épisode',
+ 'épitaphe',
+ 'époque',
+ 'épreuve',
+ 'éprouver',
+ 'épuisant',
+ 'équerre',
+ 'équipe',
+ 'ériger',
+ 'érosion',
+ 'erreur',
+ 'éruption',
+ 'escalier',
+ 'espadon',
+ 'espèce',
+ 'espiègle',
+ 'espoir',
+ 'esprit',
+ 'esquiver',
+ 'essayer',
+ 'essence',
+ 'essieu',
+ 'essorer',
+ 'estime',
+ 'estomac',
+ 'estrade',
+ 'étagère',
+ 'étaler',
+ 'étanche',
+ 'étatique',
+ 'éteindre',
+ 'étendoir',
+ 'éternel',
+ 'éthanol',
+ 'éthique',
+ 'ethnie',
+ 'étirer',
+ 'étoffer',
+ 'étoile',
+ 'étonnant',
+ 'étourdir',
+ 'étrange',
+ 'étroit',
+ 'étude',
+ 'euphorie',
+ 'évaluer',
+ 'évasion',
+ 'éventail',
+ 'évidence',
+ 'éviter',
+ 'évolutif',
+ 'évoquer',
+ 'exact',
+ 'exagérer',
+ 'exaucer',
+ 'exceller',
+ 'excitant',
+ 'exclusif',
+ 'excuse',
+ 'exécuter',
+ 'exemple',
+ 'exercer',
+ 'exhaler',
+ 'exhorter',
+ 'exigence',
+ 'exiler',
+ 'exister',
+ 'exotique',
+ 'expédier',
+ 'explorer',
+ 'exposer',
+ 'exprimer',
+ 'exquis',
+ 'extensif',
+ 'extraire',
+ 'exulter',
+ 'fable',
+ 'fabuleux',
+ 'facette',
+ 'facile',
+ 'facture',
+ 'faiblir',
+ 'falaise',
+ 'fameux',
+ 'famille',
+ 'farceur',
+ 'farfelu',
+ 'farine',
+ 'farouche',
+ 'fasciner',
+ 'fatal',
+ 'fatigue',
+ 'faucon',
+ 'fautif',
+ 'faveur',
+ 'favori',
+ 'fébrile',
+ 'féconder',
+ 'fédérer',
+ 'félin',
+ 'femme',
+ 'fémur',
+ 'fendoir',
+ 'féodal',
+ 'fermer',
+ 'féroce',
+ 'ferveur',
+ 'festival',
+ 'feuille',
+ 'feutre',
+ 'février',
+ 'fiasco',
+ 'ficeler',
+ 'fictif',
+ 'fidèle',
+ 'figure',
+ 'filature',
+ 'filetage',
+ 'filière',
+ 'filleul',
+ 'filmer',
+ 'filou',
+ 'filtrer',
+ 'financer',
+ 'finir',
+ 'fiole',
+ 'firme',
+ 'fissure',
+ 'fixer',
+ 'flairer',
+ 'flamme',
+ 'flasque',
+ 'flatteur',
+ 'fléau',
+ 'flèche',
+ 'fleur',
+ 'flexion',
+ 'flocon',
+ 'flore',
+ 'fluctuer',
+ 'fluide',
+ 'fluvial',
+ 'folie',
+ 'fonderie',
+ 'fongible',
+ 'fontaine',
+ 'forcer',
+ 'forgeron',
+ 'formuler',
+ 'fortune',
+ 'fossile',
+ 'foudre',
+ 'fougère',
+ 'fouiller',
+ 'foulure',
+ 'fourmi',
+ 'fragile',
+ 'fraise',
+ 'franchir',
+ 'frapper',
+ 'frayeur',
+ 'frégate',
+ 'freiner',
+ 'frelon',
+ 'frémir',
+ 'frénésie',
+ 'frère',
+ 'friable',
+ 'friction',
+ 'frisson',
+ 'frivole',
+ 'froid',
+ 'fromage',
+ 'frontal',
+ 'frotter',
+ 'fruit',
+ 'fugitif',
+ 'fuite',
+ 'fureur',
+ 'furieux',
+ 'furtif',
+ 'fusion',
+ 'futur',
+ 'gagner',
+ 'galaxie',
+ 'galerie',
+ 'gambader',
+ 'garantir',
+ 'gardien',
+ 'garnir',
+ 'garrigue',
+ 'gazelle',
+ 'gazon',
+ 'géant',
+ 'gélatine',
+ 'gélule',
+ 'gendarme',
+ 'général',
+ 'génie',
+ 'genou',
+ 'gentil',
+ 'géologie',
+ 'géomètre',
+ 'géranium',
+ 'germe',
+ 'gestuel',
+ 'geyser',
+ 'gibier',
+ 'gicler',
+ 'girafe',
+ 'givre',
+ 'glace',
+ 'glaive',
+ 'glisser',
+ 'globe',
+ 'gloire',
+ 'glorieux',
+ 'golfeur',
+ 'gomme',
+ 'gonfler',
+ 'gorge',
+ 'gorille',
+ 'goudron',
+ 'gouffre',
+ 'goulot',
+ 'goupille',
+ 'gourmand',
+ 'goutte',
+ 'graduel',
+ 'graffiti',
+ 'graine',
+ 'grand',
+ 'grappin',
+ 'gratuit',
+ 'gravir',
+ 'grenat',
+ 'griffure',
+ 'griller',
+ 'grimper',
+ 'grogner',
+ 'gronder',
+ 'grotte',
+ 'groupe',
+ 'gruger',
+ 'grutier',
+ 'gruyère',
+ 'guépard',
+ 'guerrier',
+ 'guide',
+ 'guimauve',
+ 'guitare',
+ 'gustatif',
+ 'gymnaste',
+ 'gyrostat',
+ 'habitude',
+ 'hachoir',
+ 'halte',
+ 'hameau',
+ 'hangar',
+ 'hanneton',
+ 'haricot',
+ 'harmonie',
+ 'harpon',
+ 'hasard',
+ 'hélium',
+ 'hématome',
+ 'herbe',
+ 'hérisson',
+ 'hermine',
+ 'héron',
+ 'hésiter',
+ 'heureux',
+ 'hiberner',
+ 'hibou',
+ 'hilarant',
+ 'histoire',
+ 'hiver',
+ 'homard',
+ 'hommage',
+ 'homogène',
+ 'honneur',
+ 'honorer',
+ 'honteux',
+ 'horde',
+ 'horizon',
+ 'horloge',
+ 'hormone',
+ 'horrible',
+ 'houleux',
+ 'housse',
+ 'hublot',
+ 'huileux',
+ 'humain',
+ 'humble',
+ 'humide',
+ 'humour',
+ 'hurler',
+ 'hydromel',
+ 'hygiène',
+ 'hymne',
+ 'hypnose',
+ 'idylle',
+ 'ignorer',
+ 'iguane',
+ 'illicite',
+ 'illusion',
+ 'image',
+ 'imbiber',
+ 'imiter',
+ 'immense',
+ 'immobile',
+ 'immuable',
+ 'impact',
+ 'impérial',
+ 'implorer',
+ 'imposer',
+ 'imprimer',
+ 'imputer',
+ 'incarner',
+ 'incendie',
+ 'incident',
+ 'incliner',
+ 'incolore',
+ 'indexer',
+ 'indice',
+ 'inductif',
+ 'inédit',
+ 'ineptie',
+ 'inexact',
+ 'infini',
+ 'infliger',
+ 'informer',
+ 'infusion',
+ 'ingérer',
+ 'inhaler',
+ 'inhiber',
+ 'injecter',
+ 'injure',
+ 'innocent',
+ 'inoculer',
+ 'inonder',
+ 'inscrire',
+ 'insecte',
+ 'insigne',
+ 'insolite',
+ 'inspirer',
+ 'instinct',
+ 'insulter',
+ 'intact',
+ 'intense',
+ 'intime',
+ 'intrigue',
+ 'intuitif',
+ 'inutile',
+ 'invasion',
+ 'inventer',
+ 'inviter',
+ 'invoquer',
+ 'ironique',
+ 'irradier',
+ 'irréel',
+ 'irriter',
+ 'isoler',
+ 'ivoire',
+ 'ivresse',
+ 'jaguar',
+ 'jaillir',
+ 'jambe',
+ 'janvier',
+ 'jardin',
+ 'jauger',
+ 'jaune',
+ 'javelot',
+ 'jetable',
+ 'jeton',
+ 'jeudi',
+ 'jeunesse',
+ 'joindre',
+ 'joncher',
+ 'jongler',
+ 'joueur',
+ 'jouissif',
+ 'journal',
+ 'jovial',
+ 'joyau',
+ 'joyeux',
+ 'jubiler',
+ 'jugement',
+ 'junior',
+ 'jupon',
+ 'juriste',
+ 'justice',
+ 'juteux',
+ 'juvénile',
+ 'kayak',
+ 'kimono',
+ 'kiosque',
+ 'label',
+ 'labial',
+ 'labourer',
+ 'lacérer',
+ 'lactose',
+ 'lagune',
+ 'laine',
+ 'laisser',
+ 'laitier',
+ 'lambeau',
+ 'lamelle',
+ 'lampe',
+ 'lanceur',
+ 'langage',
+ 'lanterne',
+ 'lapin',
+ 'largeur',
+ 'larme',
+ 'laurier',
+ 'lavabo',
+ 'lavoir',
+ 'lecture',
+ 'légal',
+ 'léger',
+ 'légume',
+ 'lessive',
+ 'lettre',
+ 'levier',
+ 'lexique',
+ 'lézard',
+ 'liasse',
+ 'libérer',
+ 'libre',
+ 'licence',
+ 'licorne',
+ 'liège',
+ 'lièvre',
+ 'ligature',
+ 'ligoter',
+ 'ligue',
+ 'limer',
+ 'limite',
+ 'limonade',
+ 'limpide',
+ 'linéaire',
+ 'lingot',
+ 'lionceau',
+ 'liquide',
+ 'lisière',
+ 'lister',
+ 'lithium',
+ 'litige',
+ 'littoral',
+ 'livreur',
+ 'logique',
+ 'lointain',
+ 'loisir',
+ 'lombric',
+ 'loterie',
+ 'louer',
+ 'lourd',
+ 'loutre',
+ 'louve',
+ 'loyal',
+ 'lubie',
+ 'lucide',
+ 'lucratif',
+ 'lueur',
+ 'lugubre',
+ 'luisant',
+ 'lumière',
+ 'lunaire',
+ 'lundi',
+ 'luron',
+ 'lutter',
+ 'luxueux',
+ 'machine',
+ 'magasin',
+ 'magenta',
+ 'magique',
+ 'maigre',
+ 'maillon',
+ 'maintien',
+ 'mairie',
+ 'maison',
+ 'majorer',
+ 'malaxer',
+ 'maléfice',
+ 'malheur',
+ 'malice',
+ 'mallette',
+ 'mammouth',
+ 'mandater',
+ 'maniable',
+ 'manquant',
+ 'manteau',
+ 'manuel',
+ 'marathon',
+ 'marbre',
+ 'marchand',
+ 'mardi',
+ 'maritime',
+ 'marqueur',
+ 'marron',
+ 'marteler',
+ 'mascotte',
+ 'massif',
+ 'matériel',
+ 'matière',
+ 'matraque',
+ 'maudire',
+ 'maussade',
+ 'mauve',
+ 'maximal',
+ 'méchant',
+ 'méconnu',
+ 'médaille',
+ 'médecin',
+ 'méditer',
+ 'méduse',
+ 'meilleur',
+ 'mélange',
+ 'mélodie',
+ 'membre',
+ 'mémoire',
+ 'menacer',
+ 'mener',
+ 'menhir',
+ 'mensonge',
+ 'mentor',
+ 'mercredi',
+ 'mérite',
+ 'merle',
+ 'messager',
+ 'mesure',
+ 'métal',
+ 'météore',
+ 'méthode',
+ 'métier',
+ 'meuble',
+ 'miauler',
+ 'microbe',
+ 'miette',
+ 'mignon',
+ 'migrer',
+ 'milieu',
+ 'million',
+ 'mimique',
+ 'mince',
+ 'minéral',
+ 'minimal',
+ 'minorer',
+ 'minute',
+ 'miracle',
+ 'miroiter',
+ 'missile',
+ 'mixte',
+ 'mobile',
+ 'moderne',
+ 'moelleux',
+ 'mondial',
+ 'moniteur',
+ 'monnaie',
+ 'monotone',
+ 'monstre',
+ 'montagne',
+ 'monument',
+ 'moqueur',
+ 'morceau',
+ 'morsure',
+ 'mortier',
+ 'moteur',
+ 'motif',
+ 'mouche',
+ 'moufle',
+ 'moulin',
+ 'mousson',
+ 'mouton',
+ 'mouvant',
+ 'multiple',
+ 'munition',
+ 'muraille',
+ 'murène',
+ 'murmure',
+ 'muscle',
+ 'muséum',
+ 'musicien',
+ 'mutation',
+ 'muter',
+ 'mutuel',
+ 'myriade',
+ 'myrtille',
+ 'mystère',
+ 'mythique',
+ 'nageur',
+ 'nappe',
+ 'narquois',
+ 'narrer',
+ 'natation',
+ 'nation',
+ 'nature',
+ 'naufrage',
+ 'nautique',
+ 'navire',
+ 'nébuleux',
+ 'nectar',
+ 'néfaste',
+ 'négation',
+ 'négliger',
+ 'négocier',
+ 'neige',
+ 'nerveux',
+ 'nettoyer',
+ 'neurone',
+ 'neutron',
+ 'neveu',
+ 'niche',
+ 'nickel',
+ 'nitrate',
+ 'niveau',
+ 'noble',
+ 'nocif',
+ 'nocturne',
+ 'noirceur',
+ 'noisette',
+ 'nomade',
+ 'nombreux',
+ 'nommer',
+ 'normatif',
+ 'notable',
+ 'notifier',
+ 'notoire',
+ 'nourrir',
+ 'nouveau',
+ 'novateur',
+ 'novembre',
+ 'novice',
+ 'nuage',
+ 'nuancer',
+ 'nuire',
+ 'nuisible',
+ 'numéro',
+ 'nuptial',
+ 'nuque',
+ 'nutritif',
+ 'obéir',
+ 'objectif',
+ 'obliger',
+ 'obscur',
+ 'observer',
+ 'obstacle',
+ 'obtenir',
+ 'obturer',
+ 'occasion',
+ 'occuper',
+ 'océan',
+ 'octobre',
+ 'octroyer',
+ 'octupler',
+ 'oculaire',
+ 'odeur',
+ 'odorant',
+ 'offenser',
+ 'officier',
+ 'offrir',
+ 'ogive',
+ 'oiseau',
+ 'oisillon',
+ 'olfactif',
+ 'olivier',
+ 'ombrage',
+ 'omettre',
+ 'onctueux',
+ 'onduler',
+ 'onéreux',
+ 'onirique',
+ 'opale',
+ 'opaque',
+ 'opérer',
+ 'opinion',
+ 'opportun',
+ 'opprimer',
+ 'opter',
+ 'optique',
+ 'orageux',
+ 'orange',
+ 'orbite',
+ 'ordonner',
+ 'oreille',
+ 'organe',
+ 'orgueil',
+ 'orifice',
+ 'ornement',
+ 'orque',
+ 'ortie',
+ 'osciller',
+ 'osmose',
+ 'ossature',
+ 'otarie',
+ 'ouragan',
+ 'ourson',
+ 'outil',
+ 'outrager',
+ 'ouvrage',
+ 'ovation',
+ 'oxyde',
+ 'oxygène',
+ 'ozone',
+ 'paisible',
+ 'palace',
+ 'palmarès',
+ 'palourde',
+ 'palper',
+ 'panache',
+ 'panda',
+ 'pangolin',
+ 'paniquer',
+ 'panneau',
+ 'panorama',
+ 'pantalon',
+ 'papaye',
+ 'papier',
+ 'papoter',
+ 'papyrus',
+ 'paradoxe',
+ 'parcelle',
+ 'paresse',
+ 'parfumer',
+ 'parler',
+ 'parole',
+ 'parrain',
+ 'parsemer',
+ 'partager',
+ 'parure',
+ 'parvenir',
+ 'passion',
+ 'pastèque',
+ 'paternel',
+ 'patience',
+ 'patron',
+ 'pavillon',
+ 'pavoiser',
+ 'payer',
+ 'paysage',
+ 'peigne',
+ 'peintre',
+ 'pelage',
+ 'pélican',
+ 'pelle',
+ 'pelouse',
+ 'peluche',
+ 'pendule',
+ 'pénétrer',
+ 'pénible',
+ 'pensif',
+ 'pénurie',
+ 'pépite',
+ 'péplum',
+ 'perdrix',
+ 'perforer',
+ 'période',
+ 'permuter',
+ 'perplexe',
+ 'persil',
+ 'perte',
+ 'peser',
+ 'pétale',
+ 'petit',
+ 'pétrir',
+ 'peuple',
+ 'pharaon',
+ 'phobie',
+ 'phoque',
+ 'photon',
+ 'phrase',
+ 'physique',
+ 'piano',
+ 'pictural',
+ 'pièce',
+ 'pierre',
+ 'pieuvre',
+ 'pilote',
+ 'pinceau',
+ 'pipette',
+ 'piquer',
+ 'pirogue',
+ 'piscine',
+ 'piston',
+ 'pivoter',
+ 'pixel',
+ 'pizza',
+ 'placard',
+ 'plafond',
+ 'plaisir',
+ 'planer',
+ 'plaque',
+ 'plastron',
+ 'plateau',
+ 'pleurer',
+ 'plexus',
+ 'pliage',
+ 'plomb',
+ 'plonger',
+ 'pluie',
+ 'plumage',
+ 'pochette',
+ 'poésie',
+ 'poète',
+ 'pointe',
+ 'poirier',
+ 'poisson',
+ 'poivre',
+ 'polaire',
+ 'policier',
+ 'pollen',
+ 'polygone',
+ 'pommade',
+ 'pompier',
+ 'ponctuel',
+ 'pondérer',
+ 'poney',
+ 'portique',
+ 'position',
+ 'posséder',
+ 'posture',
+ 'potager',
+ 'poteau',
+ 'potion',
+ 'pouce',
+ 'poulain',
+ 'poumon',
+ 'pourpre',
+ 'poussin',
+ 'pouvoir',
+ 'prairie',
+ 'pratique',
+ 'précieux',
+ 'prédire',
+ 'préfixe',
+ 'prélude',
+ 'prénom',
+ 'présence',
+ 'prétexte',
+ 'prévoir',
+ 'primitif',
+ 'prince',
+ 'prison',
+ 'priver',
+ 'problème',
+ 'procéder',
+ 'prodige',
+ 'profond',
+ 'progrès',
+ 'proie',
+ 'projeter',
+ 'prologue',
+ 'promener',
+ 'propre',
+ 'prospère',
+ 'protéger',
+ 'prouesse',
+ 'proverbe',
+ 'prudence',
+ 'pruneau',
+ 'psychose',
+ 'public',
+ 'puceron',
+ 'puiser',
+ 'pulpe',
+ 'pulsar',
+ 'punaise',
+ 'punitif',
+ 'pupitre',
+ 'purifier',
+ 'puzzle',
+ 'pyramide',
+ 'quasar',
+ 'querelle',
+ 'question',
+ 'quiétude',
+ 'quitter',
+ 'quotient',
+ 'racine',
+ 'raconter',
+ 'radieux',
+ 'ragondin',
+ 'raideur',
+ 'raisin',
+ 'ralentir',
+ 'rallonge',
+ 'ramasser',
+ 'rapide',
+ 'rasage',
+ 'ratisser',
+ 'ravager',
+ 'ravin',
+ 'rayonner',
+ 'réactif',
+ 'réagir',
+ 'réaliser',
+ 'réanimer',
+ 'recevoir',
+ 'réciter',
+ 'réclamer',
+ 'récolter',
+ 'recruter',
+ 'reculer',
+ 'recycler',
+ 'rédiger',
+ 'redouter',
+ 'refaire',
+ 'réflexe',
+ 'réformer',
+ 'refrain',
+ 'refuge',
+ 'régalien',
+ 'région',
+ 'réglage',
+ 'régulier',
+ 'réitérer',
+ 'rejeter',
+ 'rejouer',
+ 'relatif',
+ 'relever',
+ 'relief',
+ 'remarque',
+ 'remède',
+ 'remise',
+ 'remonter',
+ 'remplir',
+ 'remuer',
+ 'renard',
+ 'renfort',
+ 'renifler',
+ 'renoncer',
+ 'rentrer',
+ 'renvoi',
+ 'replier',
+ 'reporter',
+ 'reprise',
+ 'reptile',
+ 'requin',
+ 'réserve',
+ 'résineux',
+ 'résoudre',
+ 'respect',
+ 'rester',
+ 'résultat',
+ 'rétablir',
+ 'retenir',
+ 'réticule',
+ 'retomber',
+ 'retracer',
+ 'réunion',
+ 'réussir',
+ 'revanche',
+ 'revivre',
+ 'révolte',
+ 'révulsif',
+ 'richesse',
+ 'rideau',
+ 'rieur',
+ 'rigide',
+ 'rigoler',
+ 'rincer',
+ 'riposter',
+ 'risible',
+ 'risque',
+ 'rituel',
+ 'rival',
+ 'rivière',
+ 'rocheux',
+ 'romance',
+ 'rompre',
+ 'ronce',
+ 'rondin',
+ 'roseau',
+ 'rosier',
+ 'rotatif',
+ 'rotor',
+ 'rotule',
+ 'rouge',
+ 'rouille',
+ 'rouleau',
+ 'routine',
+ 'royaume',
+ 'ruban',
+ 'rubis',
+ 'ruche',
+ 'ruelle',
+ 'rugueux',
+ 'ruiner',
+ 'ruisseau',
+ 'ruser',
+ 'rustique',
+ 'rythme',
+ 'sabler',
+ 'saboter',
+ 'sabre',
+ 'sacoche',
+ 'safari',
+ 'sagesse',
+ 'saisir',
+ 'salade',
+ 'salive',
+ 'salon',
+ 'saluer',
+ 'samedi',
+ 'sanction',
+ 'sanglier',
+ 'sarcasme',
+ 'sardine',
+ 'saturer',
+ 'saugrenu',
+ 'saumon',
+ 'sauter',
+ 'sauvage',
+ 'savant',
+ 'savonner',
+ 'scalpel',
+ 'scandale',
+ 'scélérat',
+ 'scénario',
+ 'sceptre',
+ 'schéma',
+ 'science',
+ 'scinder',
+ 'score',
+ 'scrutin',
+ 'sculpter',
+ 'séance',
+ 'sécable',
+ 'sécher',
+ 'secouer',
+ 'sécréter',
+ 'sédatif',
+ 'séduire',
+ 'seigneur',
+ 'séjour',
+ 'sélectif',
+ 'semaine',
+ 'sembler',
+ 'semence',
+ 'séminal',
+ 'sénateur',
+ 'sensible',
+ 'sentence',
+ 'séparer',
+ 'séquence',
+ 'serein',
+ 'sergent',
+ 'sérieux',
+ 'serrure',
+ 'sérum',
+ 'service',
+ 'sésame',
+ 'sévir',
+ 'sevrage',
+ 'sextuple',
+ 'sidéral',
+ 'siècle',
+ 'siéger',
+ 'siffler',
+ 'sigle',
+ 'signal',
+ 'silence',
+ 'silicium',
+ 'simple',
+ 'sincère',
+ 'sinistre',
+ 'siphon',
+ 'sirop',
+ 'sismique',
+ 'situer',
+ 'skier',
+ 'social',
+ 'socle',
+ 'sodium',
+ 'soigneux',
+ 'soldat',
+ 'soleil',
+ 'solitude',
+ 'soluble',
+ 'sombre',
+ 'sommeil',
+ 'somnoler',
+ 'sonde',
+ 'songeur',
+ 'sonnette',
+ 'sonore',
+ 'sorcier',
+ 'sortir',
+ 'sosie',
+ 'sottise',
+ 'soucieux',
+ 'soudure',
+ 'souffle',
+ 'soulever',
+ 'soupape',
+ 'source',
+ 'soutirer',
+ 'souvenir',
+ 'spacieux',
+ 'spatial',
+ 'spécial',
+ 'sphère',
+ 'spiral',
+ 'stable',
+ 'station',
+ 'sternum',
+ 'stimulus',
+ 'stipuler',
+ 'strict',
+ 'studieux',
+ 'stupeur',
+ 'styliste',
+ 'sublime',
+ 'substrat',
+ 'subtil',
+ 'subvenir',
+ 'succès',
+ 'sucre',
+ 'suffixe',
+ 'suggérer',
+ 'suiveur',
+ 'sulfate',
+ 'superbe',
+ 'supplier',
+ 'surface',
+ 'suricate',
+ 'surmener',
+ 'surprise',
+ 'sursaut',
+ 'survie',
+ 'suspect',
+ 'syllabe',
+ 'symbole',
+ 'symétrie',
+ 'synapse',
+ 'syntaxe',
+ 'système',
+ 'tabac',
+ 'tablier',
+ 'tactile',
+ 'tailler',
+ 'talent',
+ 'talisman',
+ 'talonner',
+ 'tambour',
+ 'tamiser',
+ 'tangible',
+ 'tapis',
+ 'taquiner',
+ 'tarder',
+ 'tarif',
+ 'tartine',
+ 'tasse',
+ 'tatami',
+ 'tatouage',
+ 'taupe',
+ 'taureau',
+ 'taxer',
+ 'témoin',
+ 'temporel',
+ 'tenaille',
+ 'tendre',
+ 'teneur',
+ 'tenir',
+ 'tension',
+ 'terminer',
+ 'terne',
+ 'terrible',
+ 'tétine',
+ 'texte',
+ 'thème',
+ 'théorie',
+ 'thérapie',
+ 'thorax',
+ 'tibia',
+ 'tiède',
+ 'timide',
+ 'tirelire',
+ 'tiroir',
+ 'tissu',
+ 'titane',
+ 'titre',
+ 'tituber',
+ 'toboggan',
+ 'tolérant',
+ 'tomate',
+ 'tonique',
+ 'tonneau',
+ 'toponyme',
+ 'torche',
+ 'tordre',
+ 'tornade',
+ 'torpille',
+ 'torrent',
+ 'torse',
+ 'tortue',
+ 'totem',
+ 'toucher',
+ 'tournage',
+ 'tousser',
+ 'toxine',
+ 'traction',
+ 'trafic',
+ 'tragique',
+ 'trahir',
+ 'train',
+ 'trancher',
+ 'travail',
+ 'trèfle',
+ 'tremper',
+ 'trésor',
+ 'treuil',
+ 'triage',
+ 'tribunal',
+ 'tricoter',
+ 'trilogie',
+ 'triomphe',
+ 'tripler',
+ 'triturer',
+ 'trivial',
+ 'trombone',
+ 'tronc',
+ 'tropical',
+ 'troupeau',
+ 'tuile',
+ 'tulipe',
+ 'tumulte',
+ 'tunnel',
+ 'turbine',
+ 'tuteur',
+ 'tutoyer',
+ 'tuyau',
+ 'tympan',
+ 'typhon',
+ 'typique',
+ 'tyran',
+ 'ubuesque',
+ 'ultime',
+ 'ultrason',
+ 'unanime',
+ 'unifier',
+ 'union',
+ 'unique',
+ 'unitaire',
+ 'univers',
+ 'uranium',
+ 'urbain',
+ 'urticant',
+ 'usage',
+ 'usine',
+ 'usuel',
+ 'usure',
+ 'utile',
+ 'utopie',
+ 'vacarme',
+ 'vaccin',
+ 'vagabond',
+ 'vague',
+ 'vaillant',
+ 'vaincre',
+ 'vaisseau',
+ 'valable',
+ 'valise',
+ 'vallon',
+ 'valve',
+ 'vampire',
+ 'vanille',
+ 'vapeur',
+ 'varier',
+ 'vaseux',
+ 'vassal',
+ 'vaste',
+ 'vecteur',
+ 'vedette',
+ 'végétal',
+ 'véhicule',
+ 'veinard',
+ 'véloce',
+ 'vendredi',
+ 'vénérer',
+ 'venger',
+ 'venimeux',
+ 'ventouse',
+ 'verdure',
+ 'vérin',
+ 'vernir',
+ 'verrou',
+ 'verser',
+ 'vertu',
+ 'veston',
+ 'vétéran',
+ 'vétuste',
+ 'vexant',
+ 'vexer',
+ 'viaduc',
+ 'viande',
+ 'victoire',
+ 'vidange',
+ 'vidéo',
+ 'vignette',
+ 'vigueur',
+ 'vilain',
+ 'village',
+ 'vinaigre',
+ 'violon',
+ 'vipère',
+ 'virement',
+ 'virtuose',
+ 'virus',
+ 'visage',
+ 'viseur',
+ 'vision',
+ 'visqueux',
+ 'visuel',
+ 'vital',
+ 'vitesse',
+ 'viticole',
+ 'vitrine',
+ 'vivace',
+ 'vivipare',
+ 'vocation',
+ 'voguer',
+ 'voile',
+ 'voisin',
+ 'voiture',
+ 'volaille',
+ 'volcan',
+ 'voltiger',
+ 'volume',
+ 'vorace',
+ 'vortex',
+ 'voter',
+ 'vouloir',
+ 'voyage',
+ 'voyelle',
+ 'wagon',
+ 'xénon',
+ 'yacht',
+ 'zèbre',
+ 'zénith',
+ 'zeste',
+ 'zoologie',
+];
+
+const italian = [
+ 'abaco',
+ 'abbaglio',
+ 'abbinato',
+ 'abete',
+ 'abisso',
+ 'abolire',
+ 'abrasivo',
+ 'abrogato',
+ 'accadere',
+ 'accenno',
+ 'accusato',
+ 'acetone',
+ 'achille',
+ 'acido',
+ 'acqua',
+ 'acre',
+ 'acrilico',
+ 'acrobata',
+ 'acuto',
+ 'adagio',
+ 'addebito',
+ 'addome',
+ 'adeguato',
+ 'aderire',
+ 'adipe',
+ 'adottare',
+ 'adulare',
+ 'affabile',
+ 'affetto',
+ 'affisso',
+ 'affranto',
+ 'aforisma',
+ 'afoso',
+ 'africano',
+ 'agave',
+ 'agente',
+ 'agevole',
+ 'aggancio',
+ 'agire',
+ 'agitare',
+ 'agonismo',
+ 'agricolo',
+ 'agrumeto',
+ 'aguzzo',
+ 'alabarda',
+ 'alato',
+ 'albatro',
+ 'alberato',
+ 'albo',
+ 'albume',
+ 'alce',
+ 'alcolico',
+ 'alettone',
+ 'alfa',
+ 'algebra',
+ 'aliante',
+ 'alibi',
+ 'alimento',
+ 'allagato',
+ 'allegro',
+ 'allievo',
+ 'allodola',
+ 'allusivo',
+ 'almeno',
+ 'alogeno',
+ 'alpaca',
+ 'alpestre',
+ 'altalena',
+ 'alterno',
+ 'alticcio',
+ 'altrove',
+ 'alunno',
+ 'alveolo',
+ 'alzare',
+ 'amalgama',
+ 'amanita',
+ 'amarena',
+ 'ambito',
+ 'ambrato',
+ 'ameba',
+ 'america',
+ 'ametista',
+ 'amico',
+ 'ammasso',
+ 'ammenda',
+ 'ammirare',
+ 'ammonito',
+ 'amore',
+ 'ampio',
+ 'ampliare',
+ 'amuleto',
+ 'anacardo',
+ 'anagrafe',
+ 'analista',
+ 'anarchia',
+ 'anatra',
+ 'anca',
+ 'ancella',
+ 'ancora',
+ 'andare',
+ 'andrea',
+ 'anello',
+ 'angelo',
+ 'angolare',
+ 'angusto',
+ 'anima',
+ 'annegare',
+ 'annidato',
+ 'anno',
+ 'annuncio',
+ 'anonimo',
+ 'anticipo',
+ 'anzi',
+ 'apatico',
+ 'apertura',
+ 'apode',
+ 'apparire',
+ 'appetito',
+ 'appoggio',
+ 'approdo',
+ 'appunto',
+ 'aprile',
+ 'arabica',
+ 'arachide',
+ 'aragosta',
+ 'araldica',
+ 'arancio',
+ 'aratura',
+ 'arazzo',
+ 'arbitro',
+ 'archivio',
+ 'ardito',
+ 'arenile',
+ 'argento',
+ 'argine',
+ 'arguto',
+ 'aria',
+ 'armonia',
+ 'arnese',
+ 'arredato',
+ 'arringa',
+ 'arrosto',
+ 'arsenico',
+ 'arso',
+ 'artefice',
+ 'arzillo',
+ 'asciutto',
+ 'ascolto',
+ 'asepsi',
+ 'asettico',
+ 'asfalto',
+ 'asino',
+ 'asola',
+ 'aspirato',
+ 'aspro',
+ 'assaggio',
+ 'asse',
+ 'assoluto',
+ 'assurdo',
+ 'asta',
+ 'astenuto',
+ 'astice',
+ 'astratto',
+ 'atavico',
+ 'ateismo',
+ 'atomico',
+ 'atono',
+ 'attesa',
+ 'attivare',
+ 'attorno',
+ 'attrito',
+ 'attuale',
+ 'ausilio',
+ 'austria',
+ 'autista',
+ 'autonomo',
+ 'autunno',
+ 'avanzato',
+ 'avere',
+ 'avvenire',
+ 'avviso',
+ 'avvolgere',
+ 'azione',
+ 'azoto',
+ 'azzimo',
+ 'azzurro',
+ 'babele',
+ 'baccano',
+ 'bacino',
+ 'baco',
+ 'badessa',
+ 'badilata',
+ 'bagnato',
+ 'baita',
+ 'balcone',
+ 'baldo',
+ 'balena',
+ 'ballata',
+ 'balzano',
+ 'bambino',
+ 'bandire',
+ 'baraonda',
+ 'barbaro',
+ 'barca',
+ 'baritono',
+ 'barlume',
+ 'barocco',
+ 'basilico',
+ 'basso',
+ 'batosta',
+ 'battuto',
+ 'baule',
+ 'bava',
+ 'bavosa',
+ 'becco',
+ 'beffa',
+ 'belgio',
+ 'belva',
+ 'benda',
+ 'benevole',
+ 'benigno',
+ 'benzina',
+ 'bere',
+ 'berlina',
+ 'beta',
+ 'bibita',
+ 'bici',
+ 'bidone',
+ 'bifido',
+ 'biga',
+ 'bilancia',
+ 'bimbo',
+ 'binocolo',
+ 'biologo',
+ 'bipede',
+ 'bipolare',
+ 'birbante',
+ 'birra',
+ 'biscotto',
+ 'bisesto',
+ 'bisnonno',
+ 'bisonte',
+ 'bisturi',
+ 'bizzarro',
+ 'blando',
+ 'blatta',
+ 'bollito',
+ 'bonifico',
+ 'bordo',
+ 'bosco',
+ 'botanico',
+ 'bottino',
+ 'bozzolo',
+ 'braccio',
+ 'bradipo',
+ 'brama',
+ 'branca',
+ 'bravura',
+ 'bretella',
+ 'brevetto',
+ 'brezza',
+ 'briglia',
+ 'brillante',
+ 'brindare',
+ 'broccolo',
+ 'brodo',
+ 'bronzina',
+ 'brullo',
+ 'bruno',
+ 'bubbone',
+ 'buca',
+ 'budino',
+ 'buffone',
+ 'buio',
+ 'bulbo',
+ 'buono',
+ 'burlone',
+ 'burrasca',
+ 'bussola',
+ 'busta',
+ 'cadetto',
+ 'caduco',
+ 'calamaro',
+ 'calcolo',
+ 'calesse',
+ 'calibro',
+ 'calmo',
+ 'caloria',
+ 'cambusa',
+ 'camerata',
+ 'camicia',
+ 'cammino',
+ 'camola',
+ 'campale',
+ 'canapa',
+ 'candela',
+ 'cane',
+ 'canino',
+ 'canotto',
+ 'cantina',
+ 'capace',
+ 'capello',
+ 'capitolo',
+ 'capogiro',
+ 'cappero',
+ 'capra',
+ 'capsula',
+ 'carapace',
+ 'carcassa',
+ 'cardo',
+ 'carisma',
+ 'carovana',
+ 'carretto',
+ 'cartolina',
+ 'casaccio',
+ 'cascata',
+ 'caserma',
+ 'caso',
+ 'cassone',
+ 'castello',
+ 'casuale',
+ 'catasta',
+ 'catena',
+ 'catrame',
+ 'cauto',
+ 'cavillo',
+ 'cedibile',
+ 'cedrata',
+ 'cefalo',
+ 'celebre',
+ 'cellulare',
+ 'cena',
+ 'cenone',
+ 'centesimo',
+ 'ceramica',
+ 'cercare',
+ 'certo',
+ 'cerume',
+ 'cervello',
+ 'cesoia',
+ 'cespo',
+ 'ceto',
+ 'chela',
+ 'chiaro',
+ 'chicca',
+ 'chiedere',
+ 'chimera',
+ 'china',
+ 'chirurgo',
+ 'chitarra',
+ 'ciao',
+ 'ciclismo',
+ 'cifrare',
+ 'cigno',
+ 'cilindro',
+ 'ciottolo',
+ 'circa',
+ 'cirrosi',
+ 'citrico',
+ 'cittadino',
+ 'ciuffo',
+ 'civetta',
+ 'civile',
+ 'classico',
+ 'clinica',
+ 'cloro',
+ 'cocco',
+ 'codardo',
+ 'codice',
+ 'coerente',
+ 'cognome',
+ 'collare',
+ 'colmato',
+ 'colore',
+ 'colposo',
+ 'coltivato',
+ 'colza',
+ 'coma',
+ 'cometa',
+ 'commando',
+ 'comodo',
+ 'computer',
+ 'comune',
+ 'conciso',
+ 'condurre',
+ 'conferma',
+ 'congelare',
+ 'coniuge',
+ 'connesso',
+ 'conoscere',
+ 'consumo',
+ 'continuo',
+ 'convegno',
+ 'coperto',
+ 'copione',
+ 'coppia',
+ 'copricapo',
+ 'corazza',
+ 'cordata',
+ 'coricato',
+ 'cornice',
+ 'corolla',
+ 'corpo',
+ 'corredo',
+ 'corsia',
+ 'cortese',
+ 'cosmico',
+ 'costante',
+ 'cottura',
+ 'covato',
+ 'cratere',
+ 'cravatta',
+ 'creato',
+ 'credere',
+ 'cremoso',
+ 'crescita',
+ 'creta',
+ 'criceto',
+ 'crinale',
+ 'crisi',
+ 'critico',
+ 'croce',
+ 'cronaca',
+ 'crostata',
+ 'cruciale',
+ 'crusca',
+ 'cucire',
+ 'cuculo',
+ 'cugino',
+ 'cullato',
+ 'cupola',
+ 'curatore',
+ 'cursore',
+ 'curvo',
+ 'cuscino',
+ 'custode',
+ 'dado',
+ 'daino',
+ 'dalmata',
+ 'damerino',
+ 'daniela',
+ 'dannoso',
+ 'danzare',
+ 'datato',
+ 'davanti',
+ 'davvero',
+ 'debutto',
+ 'decennio',
+ 'deciso',
+ 'declino',
+ 'decollo',
+ 'decreto',
+ 'dedicato',
+ 'definito',
+ 'deforme',
+ 'degno',
+ 'delegare',
+ 'delfino',
+ 'delirio',
+ 'delta',
+ 'demenza',
+ 'denotato',
+ 'dentro',
+ 'deposito',
+ 'derapata',
+ 'derivare',
+ 'deroga',
+ 'descritto',
+ 'deserto',
+ 'desiderio',
+ 'desumere',
+ 'detersivo',
+ 'devoto',
+ 'diametro',
+ 'dicembre',
+ 'diedro',
+ 'difeso',
+ 'diffuso',
+ 'digerire',
+ 'digitale',
+ 'diluvio',
+ 'dinamico',
+ 'dinnanzi',
+ 'dipinto',
+ 'diploma',
+ 'dipolo',
+ 'diradare',
+ 'dire',
+ 'dirotto',
+ 'dirupo',
+ 'disagio',
+ 'discreto',
+ 'disfare',
+ 'disgelo',
+ 'disposto',
+ 'distanza',
+ 'disumano',
+ 'dito',
+ 'divano',
+ 'divelto',
+ 'dividere',
+ 'divorato',
+ 'doblone',
+ 'docente',
+ 'doganale',
+ 'dogma',
+ 'dolce',
+ 'domato',
+ 'domenica',
+ 'dominare',
+ 'dondolo',
+ 'dono',
+ 'dormire',
+ 'dote',
+ 'dottore',
+ 'dovuto',
+ 'dozzina',
+ 'drago',
+ 'druido',
+ 'dubbio',
+ 'dubitare',
+ 'ducale',
+ 'duna',
+ 'duomo',
+ 'duplice',
+ 'duraturo',
+ 'ebano',
+ 'eccesso',
+ 'ecco',
+ 'eclissi',
+ 'economia',
+ 'edera',
+ 'edicola',
+ 'edile',
+ 'editoria',
+ 'educare',
+ 'egemonia',
+ 'egli',
+ 'egoismo',
+ 'egregio',
+ 'elaborato',
+ 'elargire',
+ 'elegante',
+ 'elencato',
+ 'eletto',
+ 'elevare',
+ 'elfico',
+ 'elica',
+ 'elmo',
+ 'elsa',
+ 'eluso',
+ 'emanato',
+ 'emblema',
+ 'emesso',
+ 'emiro',
+ 'emotivo',
+ 'emozione',
+ 'empirico',
+ 'emulo',
+ 'endemico',
+ 'enduro',
+ 'energia',
+ 'enfasi',
+ 'enoteca',
+ 'entrare',
+ 'enzima',
+ 'epatite',
+ 'epilogo',
+ 'episodio',
+ 'epocale',
+ 'eppure',
+ 'equatore',
+ 'erario',
+ 'erba',
+ 'erboso',
+ 'erede',
+ 'eremita',
+ 'erigere',
+ 'ermetico',
+ 'eroe',
+ 'erosivo',
+ 'errante',
+ 'esagono',
+ 'esame',
+ 'esanime',
+ 'esaudire',
+ 'esca',
+ 'esempio',
+ 'esercito',
+ 'esibito',
+ 'esigente',
+ 'esistere',
+ 'esito',
+ 'esofago',
+ 'esortato',
+ 'esoso',
+ 'espanso',
+ 'espresso',
+ 'essenza',
+ 'esso',
+ 'esteso',
+ 'estimare',
+ 'estonia',
+ 'estroso',
+ 'esultare',
+ 'etilico',
+ 'etnico',
+ 'etrusco',
+ 'etto',
+ 'euclideo',
+ 'europa',
+ 'evaso',
+ 'evidenza',
+ 'evitato',
+ 'evoluto',
+ 'evviva',
+ 'fabbrica',
+ 'faccenda',
+ 'fachiro',
+ 'falco',
+ 'famiglia',
+ 'fanale',
+ 'fanfara',
+ 'fango',
+ 'fantasma',
+ 'fare',
+ 'farfalla',
+ 'farinoso',
+ 'farmaco',
+ 'fascia',
+ 'fastoso',
+ 'fasullo',
+ 'faticare',
+ 'fato',
+ 'favoloso',
+ 'febbre',
+ 'fecola',
+ 'fede',
+ 'fegato',
+ 'felpa',
+ 'feltro',
+ 'femmina',
+ 'fendere',
+ 'fenomeno',
+ 'fermento',
+ 'ferro',
+ 'fertile',
+ 'fessura',
+ 'festivo',
+ 'fetta',
+ 'feudo',
+ 'fiaba',
+ 'fiducia',
+ 'fifa',
+ 'figurato',
+ 'filo',
+ 'finanza',
+ 'finestra',
+ 'finire',
+ 'fiore',
+ 'fiscale',
+ 'fisico',
+ 'fiume',
+ 'flacone',
+ 'flamenco',
+ 'flebo',
+ 'flemma',
+ 'florido',
+ 'fluente',
+ 'fluoro',
+ 'fobico',
+ 'focaccia',
+ 'focoso',
+ 'foderato',
+ 'foglio',
+ 'folata',
+ 'folclore',
+ 'folgore',
+ 'fondente',
+ 'fonetico',
+ 'fonia',
+ 'fontana',
+ 'forbito',
+ 'forchetta',
+ 'foresta',
+ 'formica',
+ 'fornaio',
+ 'foro',
+ 'fortezza',
+ 'forzare',
+ 'fosfato',
+ 'fosso',
+ 'fracasso',
+ 'frana',
+ 'frassino',
+ 'fratello',
+ 'freccetta',
+ 'frenata',
+ 'fresco',
+ 'frigo',
+ 'frollino',
+ 'fronde',
+ 'frugale',
+ 'frutta',
+ 'fucilata',
+ 'fucsia',
+ 'fuggente',
+ 'fulmine',
+ 'fulvo',
+ 'fumante',
+ 'fumetto',
+ 'fumoso',
+ 'fune',
+ 'funzione',
+ 'fuoco',
+ 'furbo',
+ 'furgone',
+ 'furore',
+ 'fuso',
+ 'futile',
+ 'gabbiano',
+ 'gaffe',
+ 'galateo',
+ 'gallina',
+ 'galoppo',
+ 'gambero',
+ 'gamma',
+ 'garanzia',
+ 'garbo',
+ 'garofano',
+ 'garzone',
+ 'gasdotto',
+ 'gasolio',
+ 'gastrico',
+ 'gatto',
+ 'gaudio',
+ 'gazebo',
+ 'gazzella',
+ 'geco',
+ 'gelatina',
+ 'gelso',
+ 'gemello',
+ 'gemmato',
+ 'gene',
+ 'genitore',
+ 'gennaio',
+ 'genotipo',
+ 'gergo',
+ 'ghepardo',
+ 'ghiaccio',
+ 'ghisa',
+ 'giallo',
+ 'gilda',
+ 'ginepro',
+ 'giocare',
+ 'gioiello',
+ 'giorno',
+ 'giove',
+ 'girato',
+ 'girone',
+ 'gittata',
+ 'giudizio',
+ 'giurato',
+ 'giusto',
+ 'globulo',
+ 'glutine',
+ 'gnomo',
+ 'gobba',
+ 'golf',
+ 'gomito',
+ 'gommone',
+ 'gonfio',
+ 'gonna',
+ 'governo',
+ 'gracile',
+ 'grado',
+ 'grafico',
+ 'grammo',
+ 'grande',
+ 'grattare',
+ 'gravoso',
+ 'grazia',
+ 'greca',
+ 'gregge',
+ 'grifone',
+ 'grigio',
+ 'grinza',
+ 'grotta',
+ 'gruppo',
+ 'guadagno',
+ 'guaio',
+ 'guanto',
+ 'guardare',
+ 'gufo',
+ 'guidare',
+ 'ibernato',
+ 'icona',
+ 'identico',
+ 'idillio',
+ 'idolo',
+ 'idra',
+ 'idrico',
+ 'idrogeno',
+ 'igiene',
+ 'ignaro',
+ 'ignorato',
+ 'ilare',
+ 'illeso',
+ 'illogico',
+ 'illudere',
+ 'imballo',
+ 'imbevuto',
+ 'imbocco',
+ 'imbuto',
+ 'immane',
+ 'immerso',
+ 'immolato',
+ 'impacco',
+ 'impeto',
+ 'impiego',
+ 'importo',
+ 'impronta',
+ 'inalare',
+ 'inarcare',
+ 'inattivo',
+ 'incanto',
+ 'incendio',
+ 'inchino',
+ 'incisivo',
+ 'incluso',
+ 'incontro',
+ 'incrocio',
+ 'incubo',
+ 'indagine',
+ 'india',
+ 'indole',
+ 'inedito',
+ 'infatti',
+ 'infilare',
+ 'inflitto',
+ 'ingaggio',
+ 'ingegno',
+ 'inglese',
+ 'ingordo',
+ 'ingrosso',
+ 'innesco',
+ 'inodore',
+ 'inoltrare',
+ 'inondato',
+ 'insano',
+ 'insetto',
+ 'insieme',
+ 'insonnia',
+ 'insulina',
+ 'intasato',
+ 'intero',
+ 'intonaco',
+ 'intuito',
+ 'inumidire',
+ 'invalido',
+ 'invece',
+ 'invito',
+ 'iperbole',
+ 'ipnotico',
+ 'ipotesi',
+ 'ippica',
+ 'iride',
+ 'irlanda',
+ 'ironico',
+ 'irrigato',
+ 'irrorare',
+ 'isolato',
+ 'isotopo',
+ 'isterico',
+ 'istituto',
+ 'istrice',
+ 'italia',
+ 'iterare',
+ 'labbro',
+ 'labirinto',
+ 'lacca',
+ 'lacerato',
+ 'lacrima',
+ 'lacuna',
+ 'laddove',
+ 'lago',
+ 'lampo',
+ 'lancetta',
+ 'lanterna',
+ 'lardoso',
+ 'larga',
+ 'laringe',
+ 'lastra',
+ 'latenza',
+ 'latino',
+ 'lattuga',
+ 'lavagna',
+ 'lavoro',
+ 'legale',
+ 'leggero',
+ 'lembo',
+ 'lentezza',
+ 'lenza',
+ 'leone',
+ 'lepre',
+ 'lesivo',
+ 'lessato',
+ 'lesto',
+ 'letterale',
+ 'leva',
+ 'levigato',
+ 'libero',
+ 'lido',
+ 'lievito',
+ 'lilla',
+ 'limatura',
+ 'limitare',
+ 'limpido',
+ 'lineare',
+ 'lingua',
+ 'liquido',
+ 'lira',
+ 'lirica',
+ 'lisca',
+ 'lite',
+ 'litigio',
+ 'livrea',
+ 'locanda',
+ 'lode',
+ 'logica',
+ 'lombare',
+ 'londra',
+ 'longevo',
+ 'loquace',
+ 'lorenzo',
+ 'loto',
+ 'lotteria',
+ 'luce',
+ 'lucidato',
+ 'lumaca',
+ 'luminoso',
+ 'lungo',
+ 'lupo',
+ 'luppolo',
+ 'lusinga',
+ 'lusso',
+ 'lutto',
+ 'macabro',
+ 'macchina',
+ 'macero',
+ 'macinato',
+ 'madama',
+ 'magico',
+ 'maglia',
+ 'magnete',
+ 'magro',
+ 'maiolica',
+ 'malafede',
+ 'malgrado',
+ 'malinteso',
+ 'malsano',
+ 'malto',
+ 'malumore',
+ 'mana',
+ 'mancia',
+ 'mandorla',
+ 'mangiare',
+ 'manifesto',
+ 'mannaro',
+ 'manovra',
+ 'mansarda',
+ 'mantide',
+ 'manubrio',
+ 'mappa',
+ 'maratona',
+ 'marcire',
+ 'maretta',
+ 'marmo',
+ 'marsupio',
+ 'maschera',
+ 'massaia',
+ 'mastino',
+ 'materasso',
+ 'matricola',
+ 'mattone',
+ 'maturo',
+ 'mazurca',
+ 'meandro',
+ 'meccanico',
+ 'mecenate',
+ 'medesimo',
+ 'meditare',
+ 'mega',
+ 'melassa',
+ 'melis',
+ 'melodia',
+ 'meninge',
+ 'meno',
+ 'mensola',
+ 'mercurio',
+ 'merenda',
+ 'merlo',
+ 'meschino',
+ 'mese',
+ 'messere',
+ 'mestolo',
+ 'metallo',
+ 'metodo',
+ 'mettere',
+ 'miagolare',
+ 'mica',
+ 'micelio',
+ 'michele',
+ 'microbo',
+ 'midollo',
+ 'miele',
+ 'migliore',
+ 'milano',
+ 'milite',
+ 'mimosa',
+ 'minerale',
+ 'mini',
+ 'minore',
+ 'mirino',
+ 'mirtillo',
+ 'miscela',
+ 'missiva',
+ 'misto',
+ 'misurare',
+ 'mitezza',
+ 'mitigare',
+ 'mitra',
+ 'mittente',
+ 'mnemonico',
+ 'modello',
+ 'modifica',
+ 'modulo',
+ 'mogano',
+ 'mogio',
+ 'mole',
+ 'molosso',
+ 'monastero',
+ 'monco',
+ 'mondina',
+ 'monetario',
+ 'monile',
+ 'monotono',
+ 'monsone',
+ 'montato',
+ 'monviso',
+ 'mora',
+ 'mordere',
+ 'morsicato',
+ 'mostro',
+ 'motivato',
+ 'motosega',
+ 'motto',
+ 'movenza',
+ 'movimento',
+ 'mozzo',
+ 'mucca',
+ 'mucosa',
+ 'muffa',
+ 'mughetto',
+ 'mugnaio',
+ 'mulatto',
+ 'mulinello',
+ 'multiplo',
+ 'mummia',
+ 'munto',
+ 'muovere',
+ 'murale',
+ 'musa',
+ 'muscolo',
+ 'musica',
+ 'mutevole',
+ 'muto',
+ 'nababbo',
+ 'nafta',
+ 'nanometro',
+ 'narciso',
+ 'narice',
+ 'narrato',
+ 'nascere',
+ 'nastrare',
+ 'naturale',
+ 'nautica',
+ 'naviglio',
+ 'nebulosa',
+ 'necrosi',
+ 'negativo',
+ 'negozio',
+ 'nemmeno',
+ 'neofita',
+ 'neretto',
+ 'nervo',
+ 'nessuno',
+ 'nettuno',
+ 'neutrale',
+ 'neve',
+ 'nevrotico',
+ 'nicchia',
+ 'ninfa',
+ 'nitido',
+ 'nobile',
+ 'nocivo',
+ 'nodo',
+ 'nome',
+ 'nomina',
+ 'nordico',
+ 'normale',
+ 'norvegese',
+ 'nostrano',
+ 'notare',
+ 'notizia',
+ 'notturno',
+ 'novella',
+ 'nucleo',
+ 'nulla',
+ 'numero',
+ 'nuovo',
+ 'nutrire',
+ 'nuvola',
+ 'nuziale',
+ 'oasi',
+ 'obbedire',
+ 'obbligo',
+ 'obelisco',
+ 'oblio',
+ 'obolo',
+ 'obsoleto',
+ 'occasione',
+ 'occhio',
+ 'occidente',
+ 'occorrere',
+ 'occultare',
+ 'ocra',
+ 'oculato',
+ 'odierno',
+ 'odorare',
+ 'offerta',
+ 'offrire',
+ 'offuscato',
+ 'oggetto',
+ 'oggi',
+ 'ognuno',
+ 'olandese',
+ 'olfatto',
+ 'oliato',
+ 'oliva',
+ 'ologramma',
+ 'oltre',
+ 'omaggio',
+ 'ombelico',
+ 'ombra',
+ 'omega',
+ 'omissione',
+ 'ondoso',
+ 'onere',
+ 'onice',
+ 'onnivoro',
+ 'onorevole',
+ 'onta',
+ 'operato',
+ 'opinione',
+ 'opposto',
+ 'oracolo',
+ 'orafo',
+ 'ordine',
+ 'orecchino',
+ 'orefice',
+ 'orfano',
+ 'organico',
+ 'origine',
+ 'orizzonte',
+ 'orma',
+ 'ormeggio',
+ 'ornativo',
+ 'orologio',
+ 'orrendo',
+ 'orribile',
+ 'ortensia',
+ 'ortica',
+ 'orzata',
+ 'orzo',
+ 'osare',
+ 'oscurare',
+ 'osmosi',
+ 'ospedale',
+ 'ospite',
+ 'ossa',
+ 'ossidare',
+ 'ostacolo',
+ 'oste',
+ 'otite',
+ 'otre',
+ 'ottagono',
+ 'ottimo',
+ 'ottobre',
+ 'ovale',
+ 'ovest',
+ 'ovino',
+ 'oviparo',
+ 'ovocito',
+ 'ovunque',
+ 'ovviare',
+ 'ozio',
+ 'pacchetto',
+ 'pace',
+ 'pacifico',
+ 'padella',
+ 'padrone',
+ 'paese',
+ 'paga',
+ 'pagina',
+ 'palazzina',
+ 'palesare',
+ 'pallido',
+ 'palo',
+ 'palude',
+ 'pandoro',
+ 'pannello',
+ 'paolo',
+ 'paonazzo',
+ 'paprica',
+ 'parabola',
+ 'parcella',
+ 'parere',
+ 'pargolo',
+ 'pari',
+ 'parlato',
+ 'parola',
+ 'partire',
+ 'parvenza',
+ 'parziale',
+ 'passivo',
+ 'pasticca',
+ 'patacca',
+ 'patologia',
+ 'pattume',
+ 'pavone',
+ 'peccato',
+ 'pedalare',
+ 'pedonale',
+ 'peggio',
+ 'peloso',
+ 'penare',
+ 'pendice',
+ 'penisola',
+ 'pennuto',
+ 'penombra',
+ 'pensare',
+ 'pentola',
+ 'pepe',
+ 'pepita',
+ 'perbene',
+ 'percorso',
+ 'perdonato',
+ 'perforare',
+ 'pergamena',
+ 'periodo',
+ 'permesso',
+ 'perno',
+ 'perplesso',
+ 'persuaso',
+ 'pertugio',
+ 'pervaso',
+ 'pesatore',
+ 'pesista',
+ 'peso',
+ 'pestifero',
+ 'petalo',
+ 'pettine',
+ 'petulante',
+ 'pezzo',
+ 'piacere',
+ 'pianta',
+ 'piattino',
+ 'piccino',
+ 'picozza',
+ 'piega',
+ 'pietra',
+ 'piffero',
+ 'pigiama',
+ 'pigolio',
+ 'pigro',
+ 'pila',
+ 'pilifero',
+ 'pillola',
+ 'pilota',
+ 'pimpante',
+ 'pineta',
+ 'pinna',
+ 'pinolo',
+ 'pioggia',
+ 'piombo',
+ 'piramide',
+ 'piretico',
+ 'pirite',
+ 'pirolisi',
+ 'pitone',
+ 'pizzico',
+ 'placebo',
+ 'planare',
+ 'plasma',
+ 'platano',
+ 'plenario',
+ 'pochezza',
+ 'poderoso',
+ 'podismo',
+ 'poesia',
+ 'poggiare',
+ 'polenta',
+ 'poligono',
+ 'pollice',
+ 'polmonite',
+ 'polpetta',
+ 'polso',
+ 'poltrona',
+ 'polvere',
+ 'pomice',
+ 'pomodoro',
+ 'ponte',
+ 'popoloso',
+ 'porfido',
+ 'poroso',
+ 'porpora',
+ 'porre',
+ 'portata',
+ 'posa',
+ 'positivo',
+ 'possesso',
+ 'postulato',
+ 'potassio',
+ 'potere',
+ 'pranzo',
+ 'prassi',
+ 'pratica',
+ 'precluso',
+ 'predica',
+ 'prefisso',
+ 'pregiato',
+ 'prelievo',
+ 'premere',
+ 'prenotare',
+ 'preparato',
+ 'presenza',
+ 'pretesto',
+ 'prevalso',
+ 'prima',
+ 'principe',
+ 'privato',
+ 'problema',
+ 'procura',
+ 'produrre',
+ 'profumo',
+ 'progetto',
+ 'prolunga',
+ 'promessa',
+ 'pronome',
+ 'proposta',
+ 'proroga',
+ 'proteso',
+ 'prova',
+ 'prudente',
+ 'prugna',
+ 'prurito',
+ 'psiche',
+ 'pubblico',
+ 'pudica',
+ 'pugilato',
+ 'pugno',
+ 'pulce',
+ 'pulito',
+ 'pulsante',
+ 'puntare',
+ 'pupazzo',
+ 'pupilla',
+ 'puro',
+ 'quadro',
+ 'qualcosa',
+ 'quasi',
+ 'querela',
+ 'quota',
+ 'raccolto',
+ 'raddoppio',
+ 'radicale',
+ 'radunato',
+ 'raffica',
+ 'ragazzo',
+ 'ragione',
+ 'ragno',
+ 'ramarro',
+ 'ramingo',
+ 'ramo',
+ 'randagio',
+ 'rantolare',
+ 'rapato',
+ 'rapina',
+ 'rappreso',
+ 'rasatura',
+ 'raschiato',
+ 'rasente',
+ 'rassegna',
+ 'rastrello',
+ 'rata',
+ 'ravveduto',
+ 'reale',
+ 'recepire',
+ 'recinto',
+ 'recluta',
+ 'recondito',
+ 'recupero',
+ 'reddito',
+ 'redimere',
+ 'regalato',
+ 'registro',
+ 'regola',
+ 'regresso',
+ 'relazione',
+ 'remare',
+ 'remoto',
+ 'renna',
+ 'replica',
+ 'reprimere',
+ 'reputare',
+ 'resa',
+ 'residente',
+ 'responso',
+ 'restauro',
+ 'rete',
+ 'retina',
+ 'retorica',
+ 'rettifica',
+ 'revocato',
+ 'riassunto',
+ 'ribadire',
+ 'ribelle',
+ 'ribrezzo',
+ 'ricarica',
+ 'ricco',
+ 'ricevere',
+ 'riciclato',
+ 'ricordo',
+ 'ricreduto',
+ 'ridicolo',
+ 'ridurre',
+ 'rifasare',
+ 'riflesso',
+ 'riforma',
+ 'rifugio',
+ 'rigare',
+ 'rigettato',
+ 'righello',
+ 'rilassato',
+ 'rilevato',
+ 'rimanere',
+ 'rimbalzo',
+ 'rimedio',
+ 'rimorchio',
+ 'rinascita',
+ 'rincaro',
+ 'rinforzo',
+ 'rinnovo',
+ 'rinomato',
+ 'rinsavito',
+ 'rintocco',
+ 'rinuncia',
+ 'rinvenire',
+ 'riparato',
+ 'ripetuto',
+ 'ripieno',
+ 'riportare',
+ 'ripresa',
+ 'ripulire',
+ 'risata',
+ 'rischio',
+ 'riserva',
+ 'risibile',
+ 'riso',
+ 'rispetto',
+ 'ristoro',
+ 'risultato',
+ 'risvolto',
+ 'ritardo',
+ 'ritegno',
+ 'ritmico',
+ 'ritrovo',
+ 'riunione',
+ 'riva',
+ 'riverso',
+ 'rivincita',
+ 'rivolto',
+ 'rizoma',
+ 'roba',
+ 'robotico',
+ 'robusto',
+ 'roccia',
+ 'roco',
+ 'rodaggio',
+ 'rodere',
+ 'roditore',
+ 'rogito',
+ 'rollio',
+ 'romantico',
+ 'rompere',
+ 'ronzio',
+ 'rosolare',
+ 'rospo',
+ 'rotante',
+ 'rotondo',
+ 'rotula',
+ 'rovescio',
+ 'rubizzo',
+ 'rubrica',
+ 'ruga',
+ 'rullino',
+ 'rumine',
+ 'rumoroso',
+ 'ruolo',
+ 'rupe',
+ 'russare',
+ 'rustico',
+ 'sabato',
+ 'sabbiare',
+ 'sabotato',
+ 'sagoma',
+ 'salasso',
+ 'saldatura',
+ 'salgemma',
+ 'salivare',
+ 'salmone',
+ 'salone',
+ 'saltare',
+ 'saluto',
+ 'salvo',
+ 'sapere',
+ 'sapido',
+ 'saporito',
+ 'saraceno',
+ 'sarcasmo',
+ 'sarto',
+ 'sassoso',
+ 'satellite',
+ 'satira',
+ 'satollo',
+ 'saturno',
+ 'savana',
+ 'savio',
+ 'saziato',
+ 'sbadiglio',
+ 'sbalzo',
+ 'sbancato',
+ 'sbarra',
+ 'sbattere',
+ 'sbavare',
+ 'sbendare',
+ 'sbirciare',
+ 'sbloccato',
+ 'sbocciato',
+ 'sbrinare',
+ 'sbruffone',
+ 'sbuffare',
+ 'scabroso',
+ 'scadenza',
+ 'scala',
+ 'scambiare',
+ 'scandalo',
+ 'scapola',
+ 'scarso',
+ 'scatenare',
+ 'scavato',
+ 'scelto',
+ 'scenico',
+ 'scettro',
+ 'scheda',
+ 'schiena',
+ 'sciarpa',
+ 'scienza',
+ 'scindere',
+ 'scippo',
+ 'sciroppo',
+ 'scivolo',
+ 'sclerare',
+ 'scodella',
+ 'scolpito',
+ 'scomparto',
+ 'sconforto',
+ 'scoprire',
+ 'scorta',
+ 'scossone',
+ 'scozzese',
+ 'scriba',
+ 'scrollare',
+ 'scrutinio',
+ 'scuderia',
+ 'scultore',
+ 'scuola',
+ 'scuro',
+ 'scusare',
+ 'sdebitare',
+ 'sdoganare',
+ 'seccatura',
+ 'secondo',
+ 'sedano',
+ 'seggiola',
+ 'segnalato',
+ 'segregato',
+ 'seguito',
+ 'selciato',
+ 'selettivo',
+ 'sella',
+ 'selvaggio',
+ 'semaforo',
+ 'sembrare',
+ 'seme',
+ 'seminato',
+ 'sempre',
+ 'senso',
+ 'sentire',
+ 'sepolto',
+ 'sequenza',
+ 'serata',
+ 'serbato',
+ 'sereno',
+ 'serio',
+ 'serpente',
+ 'serraglio',
+ 'servire',
+ 'sestina',
+ 'setola',
+ 'settimana',
+ 'sfacelo',
+ 'sfaldare',
+ 'sfamato',
+ 'sfarzoso',
+ 'sfaticato',
+ 'sfera',
+ 'sfida',
+ 'sfilato',
+ 'sfinge',
+ 'sfocato',
+ 'sfoderare',
+ 'sfogo',
+ 'sfoltire',
+ 'sforzato',
+ 'sfratto',
+ 'sfruttato',
+ 'sfuggito',
+ 'sfumare',
+ 'sfuso',
+ 'sgabello',
+ 'sgarbato',
+ 'sgonfiare',
+ 'sgorbio',
+ 'sgrassato',
+ 'sguardo',
+ 'sibilo',
+ 'siccome',
+ 'sierra',
+ 'sigla',
+ 'signore',
+ 'silenzio',
+ 'sillaba',
+ 'simbolo',
+ 'simpatico',
+ 'simulato',
+ 'sinfonia',
+ 'singolo',
+ 'sinistro',
+ 'sino',
+ 'sintesi',
+ 'sinusoide',
+ 'sipario',
+ 'sisma',
+ 'sistole',
+ 'situato',
+ 'slitta',
+ 'slogatura',
+ 'sloveno',
+ 'smarrito',
+ 'smemorato',
+ 'smentito',
+ 'smeraldo',
+ 'smilzo',
+ 'smontare',
+ 'smottato',
+ 'smussato',
+ 'snellire',
+ 'snervato',
+ 'snodo',
+ 'sobbalzo',
+ 'sobrio',
+ 'soccorso',
+ 'sociale',
+ 'sodale',
+ 'soffitto',
+ 'sogno',
+ 'soldato',
+ 'solenne',
+ 'solido',
+ 'sollazzo',
+ 'solo',
+ 'solubile',
+ 'solvente',
+ 'somatico',
+ 'somma',
+ 'sonda',
+ 'sonetto',
+ 'sonnifero',
+ 'sopire',
+ 'soppeso',
+ 'sopra',
+ 'sorgere',
+ 'sorpasso',
+ 'sorriso',
+ 'sorso',
+ 'sorteggio',
+ 'sorvolato',
+ 'sospiro',
+ 'sosta',
+ 'sottile',
+ 'spada',
+ 'spalla',
+ 'spargere',
+ 'spatola',
+ 'spavento',
+ 'spazzola',
+ 'specie',
+ 'spedire',
+ 'spegnere',
+ 'spelatura',
+ 'speranza',
+ 'spessore',
+ 'spettrale',
+ 'spezzato',
+ 'spia',
+ 'spigoloso',
+ 'spillato',
+ 'spinoso',
+ 'spirale',
+ 'splendido',
+ 'sportivo',
+ 'sposo',
+ 'spranga',
+ 'sprecare',
+ 'spronato',
+ 'spruzzo',
+ 'spuntino',
+ 'squillo',
+ 'sradicare',
+ 'srotolato',
+ 'stabile',
+ 'stacco',
+ 'staffa',
+ 'stagnare',
+ 'stampato',
+ 'stantio',
+ 'starnuto',
+ 'stasera',
+ 'statuto',
+ 'stelo',
+ 'steppa',
+ 'sterzo',
+ 'stiletto',
+ 'stima',
+ 'stirpe',
+ 'stivale',
+ 'stizzoso',
+ 'stonato',
+ 'storico',
+ 'strappo',
+ 'stregato',
+ 'stridulo',
+ 'strozzare',
+ 'strutto',
+ 'stuccare',
+ 'stufo',
+ 'stupendo',
+ 'subentro',
+ 'succoso',
+ 'sudore',
+ 'suggerito',
+ 'sugo',
+ 'sultano',
+ 'suonare',
+ 'superbo',
+ 'supporto',
+ 'surgelato',
+ 'surrogato',
+ 'sussurro',
+ 'sutura',
+ 'svagare',
+ 'svedese',
+ 'sveglio',
+ 'svelare',
+ 'svenuto',
+ 'svezia',
+ 'sviluppo',
+ 'svista',
+ 'svizzera',
+ 'svolta',
+ 'svuotare',
+ 'tabacco',
+ 'tabulato',
+ 'tacciare',
+ 'taciturno',
+ 'tale',
+ 'talismano',
+ 'tampone',
+ 'tannino',
+ 'tara',
+ 'tardivo',
+ 'targato',
+ 'tariffa',
+ 'tarpare',
+ 'tartaruga',
+ 'tasto',
+ 'tattico',
+ 'taverna',
+ 'tavolata',
+ 'tazza',
+ 'teca',
+ 'tecnico',
+ 'telefono',
+ 'temerario',
+ 'tempo',
+ 'temuto',
+ 'tendone',
+ 'tenero',
+ 'tensione',
+ 'tentacolo',
+ 'teorema',
+ 'terme',
+ 'terrazzo',
+ 'terzetto',
+ 'tesi',
+ 'tesserato',
+ 'testato',
+ 'tetro',
+ 'tettoia',
+ 'tifare',
+ 'tigella',
+ 'timbro',
+ 'tinto',
+ 'tipico',
+ 'tipografo',
+ 'tiraggio',
+ 'tiro',
+ 'titanio',
+ 'titolo',
+ 'titubante',
+ 'tizio',
+ 'tizzone',
+ 'toccare',
+ 'tollerare',
+ 'tolto',
+ 'tombola',
+ 'tomo',
+ 'tonfo',
+ 'tonsilla',
+ 'topazio',
+ 'topologia',
+ 'toppa',
+ 'torba',
+ 'tornare',
+ 'torrone',
+ 'tortora',
+ 'toscano',
+ 'tossire',
+ 'tostatura',
+ 'totano',
+ 'trabocco',
+ 'trachea',
+ 'trafila',
+ 'tragedia',
+ 'tralcio',
+ 'tramonto',
+ 'transito',
+ 'trapano',
+ 'trarre',
+ 'trasloco',
+ 'trattato',
+ 'trave',
+ 'treccia',
+ 'tremolio',
+ 'trespolo',
+ 'tributo',
+ 'tricheco',
+ 'trifoglio',
+ 'trillo',
+ 'trincea',
+ 'trio',
+ 'tristezza',
+ 'triturato',
+ 'trivella',
+ 'tromba',
+ 'trono',
+ 'troppo',
+ 'trottola',
+ 'trovare',
+ 'truccato',
+ 'tubatura',
+ 'tuffato',
+ 'tulipano',
+ 'tumulto',
+ 'tunisia',
+ 'turbare',
+ 'turchino',
+ 'tuta',
+ 'tutela',
+ 'ubicato',
+ 'uccello',
+ 'uccisore',
+ 'udire',
+ 'uditivo',
+ 'uffa',
+ 'ufficio',
+ 'uguale',
+ 'ulisse',
+ 'ultimato',
+ 'umano',
+ 'umile',
+ 'umorismo',
+ 'uncinetto',
+ 'ungere',
+ 'ungherese',
+ 'unicorno',
+ 'unificato',
+ 'unisono',
+ 'unitario',
+ 'unte',
+ 'uovo',
+ 'upupa',
+ 'uragano',
+ 'urgenza',
+ 'urlo',
+ 'usanza',
+ 'usato',
+ 'uscito',
+ 'usignolo',
+ 'usuraio',
+ 'utensile',
+ 'utilizzo',
+ 'utopia',
+ 'vacante',
+ 'vaccinato',
+ 'vagabondo',
+ 'vagliato',
+ 'valanga',
+ 'valgo',
+ 'valico',
+ 'valletta',
+ 'valoroso',
+ 'valutare',
+ 'valvola',
+ 'vampata',
+ 'vangare',
+ 'vanitoso',
+ 'vano',
+ 'vantaggio',
+ 'vanvera',
+ 'vapore',
+ 'varano',
+ 'varcato',
+ 'variante',
+ 'vasca',
+ 'vedetta',
+ 'vedova',
+ 'veduto',
+ 'vegetale',
+ 'veicolo',
+ 'velcro',
+ 'velina',
+ 'velluto',
+ 'veloce',
+ 'venato',
+ 'vendemmia',
+ 'vento',
+ 'verace',
+ 'verbale',
+ 'vergogna',
+ 'verifica',
+ 'vero',
+ 'verruca',
+ 'verticale',
+ 'vescica',
+ 'vessillo',
+ 'vestale',
+ 'veterano',
+ 'vetrina',
+ 'vetusto',
+ 'viandante',
+ 'vibrante',
+ 'vicenda',
+ 'vichingo',
+ 'vicinanza',
+ 'vidimare',
+ 'vigilia',
+ 'vigneto',
+ 'vigore',
+ 'vile',
+ 'villano',
+ 'vimini',
+ 'vincitore',
+ 'viola',
+ 'vipera',
+ 'virgola',
+ 'virologo',
+ 'virulento',
+ 'viscoso',
+ 'visione',
+ 'vispo',
+ 'vissuto',
+ 'visura',
+ 'vita',
+ 'vitello',
+ 'vittima',
+ 'vivanda',
+ 'vivido',
+ 'viziare',
+ 'voce',
+ 'voga',
+ 'volatile',
+ 'volere',
+ 'volpe',
+ 'voragine',
+ 'vulcano',
+ 'zampogna',
+ 'zanna',
+ 'zappato',
+ 'zattera',
+ 'zavorra',
+ 'zefiro',
+ 'zelante',
+ 'zelo',
+ 'zenzero',
+ 'zerbino',
+ 'zibetto',
+ 'zinco',
+ 'zircone',
+ 'zitto',
+ 'zolla',
+ 'zotico',
+ 'zucchero',
+ 'zufolo',
+ 'zulu',
+ 'zuppa',
+];
+
+const japanese = [
+ 'あいこくしん',
+ 'あいさつ',
+ 'あいだ',
+ 'あおぞら',
+ 'あかちゃん',
+ 'あきる',
+ 'あけがた',
+ 'あける',
+ 'あこがれる',
+ 'あさい',
+ 'あさひ',
+ 'あしあと',
+ 'あじわう',
+ 'あずかる',
+ 'あずき',
+ 'あそぶ',
+ 'あたえる',
+ 'あたためる',
+ 'あたりまえ',
+ 'あたる',
+ 'あつい',
+ 'あつかう',
+ 'あっしゅく',
+ 'あつまり',
+ 'あつめる',
+ 'あてな',
+ 'あてはまる',
+ 'あひる',
+ 'あぶら',
+ 'あぶる',
+ 'あふれる',
+ 'あまい',
+ 'あまど',
+ 'あまやかす',
+ 'あまり',
+ 'あみもの',
+ 'あめりか',
+ 'あやまる',
+ 'あゆむ',
+ 'あらいぐま',
+ 'あらし',
+ 'あらすじ',
+ 'あらためる',
+ 'あらゆる',
+ 'あらわす',
+ 'ありがとう',
+ 'あわせる',
+ 'あわてる',
+ 'あんい',
+ 'あんがい',
+ 'あんこ',
+ 'あんぜん',
+ 'あんてい',
+ 'あんない',
+ 'あんまり',
+ 'いいだす',
+ 'いおん',
+ 'いがい',
+ 'いがく',
+ 'いきおい',
+ 'いきなり',
+ 'いきもの',
+ 'いきる',
+ 'いくじ',
+ 'いくぶん',
+ 'いけばな',
+ 'いけん',
+ 'いこう',
+ 'いこく',
+ 'いこつ',
+ 'いさましい',
+ 'いさん',
+ 'いしき',
+ 'いじゅう',
+ 'いじょう',
+ 'いじわる',
+ 'いずみ',
+ 'いずれ',
+ 'いせい',
+ 'いせえび',
+ 'いせかい',
+ 'いせき',
+ 'いぜん',
+ 'いそうろう',
+ 'いそがしい',
+ 'いだい',
+ 'いだく',
+ 'いたずら',
+ 'いたみ',
+ 'いたりあ',
+ 'いちおう',
+ 'いちじ',
+ 'いちど',
+ 'いちば',
+ 'いちぶ',
+ 'いちりゅう',
+ 'いつか',
+ 'いっしゅん',
+ 'いっせい',
+ 'いっそう',
+ 'いったん',
+ 'いっち',
+ 'いってい',
+ 'いっぽう',
+ 'いてざ',
+ 'いてん',
+ 'いどう',
+ 'いとこ',
+ 'いない',
+ 'いなか',
+ 'いねむり',
+ 'いのち',
+ 'いのる',
+ 'いはつ',
+ 'いばる',
+ 'いはん',
+ 'いびき',
+ 'いひん',
+ 'いふく',
+ 'いへん',
+ 'いほう',
+ 'いみん',
+ 'いもうと',
+ 'いもたれ',
+ 'いもり',
+ 'いやがる',
+ 'いやす',
+ 'いよかん',
+ 'いよく',
+ 'いらい',
+ 'いらすと',
+ 'いりぐち',
+ 'いりょう',
+ 'いれい',
+ 'いれもの',
+ 'いれる',
+ 'いろえんぴつ',
+ 'いわい',
+ 'いわう',
+ 'いわかん',
+ 'いわば',
+ 'いわゆる',
+ 'いんげんまめ',
+ 'いんさつ',
+ 'いんしょう',
+ 'いんよう',
+ 'うえき',
+ 'うえる',
+ 'うおざ',
+ 'うがい',
+ 'うかぶ',
+ 'うかべる',
+ 'うきわ',
+ 'うくらいな',
+ 'うくれれ',
+ 'うけたまわる',
+ 'うけつけ',
+ 'うけとる',
+ 'うけもつ',
+ 'うける',
+ 'うごかす',
+ 'うごく',
+ 'うこん',
+ 'うさぎ',
+ 'うしなう',
+ 'うしろがみ',
+ 'うすい',
+ 'うすぎ',
+ 'うすぐらい',
+ 'うすめる',
+ 'うせつ',
+ 'うちあわせ',
+ 'うちがわ',
+ 'うちき',
+ 'うちゅう',
+ 'うっかり',
+ 'うつくしい',
+ 'うったえる',
+ 'うつる',
+ 'うどん',
+ 'うなぎ',
+ 'うなじ',
+ 'うなずく',
+ 'うなる',
+ 'うねる',
+ 'うのう',
+ 'うぶげ',
+ 'うぶごえ',
+ 'うまれる',
+ 'うめる',
+ 'うもう',
+ 'うやまう',
+ 'うよく',
+ 'うらがえす',
+ 'うらぐち',
+ 'うらない',
+ 'うりあげ',
+ 'うりきれ',
+ 'うるさい',
+ 'うれしい',
+ 'うれゆき',
+ 'うれる',
+ 'うろこ',
+ 'うわき',
+ 'うわさ',
+ 'うんこう',
+ 'うんちん',
+ 'うんてん',
+ 'うんどう',
+ 'えいえん',
+ 'えいが',
+ 'えいきょう',
+ 'えいご',
+ 'えいせい',
+ 'えいぶん',
+ 'えいよう',
+ 'えいわ',
+ 'えおり',
+ 'えがお',
+ 'えがく',
+ 'えきたい',
+ 'えくせる',
+ 'えしゃく',
+ 'えすて',
+ 'えつらん',
+ 'えのぐ',
+ 'えほうまき',
+ 'えほん',
+ 'えまき',
+ 'えもじ',
+ 'えもの',
+ 'えらい',
+ 'えらぶ',
+ 'えりあ',
+ 'えんえん',
+ 'えんかい',
+ 'えんぎ',
+ 'えんげき',
+ 'えんしゅう',
+ 'えんぜつ',
+ 'えんそく',
+ 'えんちょう',
+ 'えんとつ',
+ 'おいかける',
+ 'おいこす',
+ 'おいしい',
+ 'おいつく',
+ 'おうえん',
+ 'おうさま',
+ 'おうじ',
+ 'おうせつ',
+ 'おうたい',
+ 'おうふく',
+ 'おうべい',
+ 'おうよう',
+ 'おえる',
+ 'おおい',
+ 'おおう',
+ 'おおどおり',
+ 'おおや',
+ 'おおよそ',
+ 'おかえり',
+ 'おかず',
+ 'おがむ',
+ 'おかわり',
+ 'おぎなう',
+ 'おきる',
+ 'おくさま',
+ 'おくじょう',
+ 'おくりがな',
+ 'おくる',
+ 'おくれる',
+ 'おこす',
+ 'おこなう',
+ 'おこる',
+ 'おさえる',
+ 'おさない',
+ 'おさめる',
+ 'おしいれ',
+ 'おしえる',
+ 'おじぎ',
+ 'おじさん',
+ 'おしゃれ',
+ 'おそらく',
+ 'おそわる',
+ 'おたがい',
+ 'おたく',
+ 'おだやか',
+ 'おちつく',
+ 'おっと',
+ 'おつり',
+ 'おでかけ',
+ 'おとしもの',
+ 'おとなしい',
+ 'おどり',
+ 'おどろかす',
+ 'おばさん',
+ 'おまいり',
+ 'おめでとう',
+ 'おもいで',
+ 'おもう',
+ 'おもたい',
+ 'おもちゃ',
+ 'おやつ',
+ 'おやゆび',
+ 'およぼす',
+ 'おらんだ',
+ 'おろす',
+ 'おんがく',
+ 'おんけい',
+ 'おんしゃ',
+ 'おんせん',
+ 'おんだん',
+ 'おんちゅう',
+ 'おんどけい',
+ 'かあつ',
+ 'かいが',
+ 'がいき',
+ 'がいけん',
+ 'がいこう',
+ 'かいさつ',
+ 'かいしゃ',
+ 'かいすいよく',
+ 'かいぜん',
+ 'かいぞうど',
+ 'かいつう',
+ 'かいてん',
+ 'かいとう',
+ 'かいふく',
+ 'がいへき',
+ 'かいほう',
+ 'かいよう',
+ 'がいらい',
+ 'かいわ',
+ 'かえる',
+ 'かおり',
+ 'かかえる',
+ 'かがく',
+ 'かがし',
+ 'かがみ',
+ 'かくご',
+ 'かくとく',
+ 'かざる',
+ 'がぞう',
+ 'かたい',
+ 'かたち',
+ 'がちょう',
+ 'がっきゅう',
+ 'がっこう',
+ 'がっさん',
+ 'がっしょう',
+ 'かなざわし',
+ 'かのう',
+ 'がはく',
+ 'かぶか',
+ 'かほう',
+ 'かほご',
+ 'かまう',
+ 'かまぼこ',
+ 'かめれおん',
+ 'かゆい',
+ 'かようび',
+ 'からい',
+ 'かるい',
+ 'かろう',
+ 'かわく',
+ 'かわら',
+ 'がんか',
+ 'かんけい',
+ 'かんこう',
+ 'かんしゃ',
+ 'かんそう',
+ 'かんたん',
+ 'かんち',
+ 'がんばる',
+ 'きあい',
+ 'きあつ',
+ 'きいろ',
+ 'ぎいん',
+ 'きうい',
+ 'きうん',
+ 'きえる',
+ 'きおう',
+ 'きおく',
+ 'きおち',
+ 'きおん',
+ 'きかい',
+ 'きかく',
+ 'きかんしゃ',
+ 'ききて',
+ 'きくばり',
+ 'きくらげ',
+ 'きけんせい',
+ 'きこう',
+ 'きこえる',
+ 'きこく',
+ 'きさい',
+ 'きさく',
+ 'きさま',
+ 'きさらぎ',
+ 'ぎじかがく',
+ 'ぎしき',
+ 'ぎじたいけん',
+ 'ぎじにってい',
+ 'ぎじゅつしゃ',
+ 'きすう',
+ 'きせい',
+ 'きせき',
+ 'きせつ',
+ 'きそう',
+ 'きぞく',
+ 'きぞん',
+ 'きたえる',
+ 'きちょう',
+ 'きつえん',
+ 'ぎっちり',
+ 'きつつき',
+ 'きつね',
+ 'きてい',
+ 'きどう',
+ 'きどく',
+ 'きない',
+ 'きなが',
+ 'きなこ',
+ 'きぬごし',
+ 'きねん',
+ 'きのう',
+ 'きのした',
+ 'きはく',
+ 'きびしい',
+ 'きひん',
+ 'きふく',
+ 'きぶん',
+ 'きぼう',
+ 'きほん',
+ 'きまる',
+ 'きみつ',
+ 'きむずかしい',
+ 'きめる',
+ 'きもだめし',
+ 'きもち',
+ 'きもの',
+ 'きゃく',
+ 'きやく',
+ 'ぎゅうにく',
+ 'きよう',
+ 'きょうりゅう',
+ 'きらい',
+ 'きらく',
+ 'きりん',
+ 'きれい',
+ 'きれつ',
+ 'きろく',
+ 'ぎろん',
+ 'きわめる',
+ 'ぎんいろ',
+ 'きんかくじ',
+ 'きんじょ',
+ 'きんようび',
+ 'ぐあい',
+ 'くいず',
+ 'くうかん',
+ 'くうき',
+ 'くうぐん',
+ 'くうこう',
+ 'ぐうせい',
+ 'くうそう',
+ 'ぐうたら',
+ 'くうふく',
+ 'くうぼ',
+ 'くかん',
+ 'くきょう',
+ 'くげん',
+ 'ぐこう',
+ 'くさい',
+ 'くさき',
+ 'くさばな',
+ 'くさる',
+ 'くしゃみ',
+ 'くしょう',
+ 'くすのき',
+ 'くすりゆび',
+ 'くせげ',
+ 'くせん',
+ 'ぐたいてき',
+ 'くださる',
+ 'くたびれる',
+ 'くちこみ',
+ 'くちさき',
+ 'くつした',
+ 'ぐっすり',
+ 'くつろぐ',
+ 'くとうてん',
+ 'くどく',
+ 'くなん',
+ 'くねくね',
+ 'くのう',
+ 'くふう',
+ 'くみあわせ',
+ 'くみたてる',
+ 'くめる',
+ 'くやくしょ',
+ 'くらす',
+ 'くらべる',
+ 'くるま',
+ 'くれる',
+ 'くろう',
+ 'くわしい',
+ 'ぐんかん',
+ 'ぐんしょく',
+ 'ぐんたい',
+ 'ぐんて',
+ 'けあな',
+ 'けいかく',
+ 'けいけん',
+ 'けいこ',
+ 'けいさつ',
+ 'げいじゅつ',
+ 'けいたい',
+ 'げいのうじん',
+ 'けいれき',
+ 'けいろ',
+ 'けおとす',
+ 'けおりもの',
+ 'げきか',
+ 'げきげん',
+ 'げきだん',
+ 'げきちん',
+ 'げきとつ',
+ 'げきは',
+ 'げきやく',
+ 'げこう',
+ 'げこくじょう',
+ 'げざい',
+ 'けさき',
+ 'げざん',
+ 'けしき',
+ 'けしごむ',
+ 'けしょう',
+ 'げすと',
+ 'けたば',
+ 'けちゃっぷ',
+ 'けちらす',
+ 'けつあつ',
+ 'けつい',
+ 'けつえき',
+ 'けっこん',
+ 'けつじょ',
+ 'けっせき',
+ 'けってい',
+ 'けつまつ',
+ 'げつようび',
+ 'げつれい',
+ 'けつろん',
+ 'げどく',
+ 'けとばす',
+ 'けとる',
+ 'けなげ',
+ 'けなす',
+ 'けなみ',
+ 'けぬき',
+ 'げねつ',
+ 'けねん',
+ 'けはい',
+ 'げひん',
+ 'けぶかい',
+ 'げぼく',
+ 'けまり',
+ 'けみかる',
+ 'けむし',
+ 'けむり',
+ 'けもの',
+ 'けらい',
+ 'けろけろ',
+ 'けわしい',
+ 'けんい',
+ 'けんえつ',
+ 'けんお',
+ 'けんか',
+ 'げんき',
+ 'けんげん',
+ 'けんこう',
+ 'けんさく',
+ 'けんしゅう',
+ 'けんすう',
+ 'げんそう',
+ 'けんちく',
+ 'けんてい',
+ 'けんとう',
+ 'けんない',
+ 'けんにん',
+ 'げんぶつ',
+ 'けんま',
+ 'けんみん',
+ 'けんめい',
+ 'けんらん',
+ 'けんり',
+ 'こあくま',
+ 'こいぬ',
+ 'こいびと',
+ 'ごうい',
+ 'こうえん',
+ 'こうおん',
+ 'こうかん',
+ 'ごうきゅう',
+ 'ごうけい',
+ 'こうこう',
+ 'こうさい',
+ 'こうじ',
+ 'こうすい',
+ 'ごうせい',
+ 'こうそく',
+ 'こうたい',
+ 'こうちゃ',
+ 'こうつう',
+ 'こうてい',
+ 'こうどう',
+ 'こうない',
+ 'こうはい',
+ 'ごうほう',
+ 'ごうまん',
+ 'こうもく',
+ 'こうりつ',
+ 'こえる',
+ 'こおり',
+ 'ごかい',
+ 'ごがつ',
+ 'ごかん',
+ 'こくご',
+ 'こくさい',
+ 'こくとう',
+ 'こくない',
+ 'こくはく',
+ 'こぐま',
+ 'こけい',
+ 'こける',
+ 'ここのか',
+ 'こころ',
+ 'こさめ',
+ 'こしつ',
+ 'こすう',
+ 'こせい',
+ 'こせき',
+ 'こぜん',
+ 'こそだて',
+ 'こたい',
+ 'こたえる',
+ 'こたつ',
+ 'こちょう',
+ 'こっか',
+ 'こつこつ',
+ 'こつばん',
+ 'こつぶ',
+ 'こてい',
+ 'こてん',
+ 'ことがら',
+ 'ことし',
+ 'ことば',
+ 'ことり',
+ 'こなごな',
+ 'こねこね',
+ 'このまま',
+ 'このみ',
+ 'このよ',
+ 'ごはん',
+ 'こひつじ',
+ 'こふう',
+ 'こふん',
+ 'こぼれる',
+ 'ごまあぶら',
+ 'こまかい',
+ 'ごますり',
+ 'こまつな',
+ 'こまる',
+ 'こむぎこ',
+ 'こもじ',
+ 'こもち',
+ 'こもの',
+ 'こもん',
+ 'こやく',
+ 'こやま',
+ 'こゆう',
+ 'こゆび',
+ 'こよい',
+ 'こよう',
+ 'こりる',
+ 'これくしょん',
+ 'ころっけ',
+ 'こわもて',
+ 'こわれる',
+ 'こんいん',
+ 'こんかい',
+ 'こんき',
+ 'こんしゅう',
+ 'こんすい',
+ 'こんだて',
+ 'こんとん',
+ 'こんなん',
+ 'こんびに',
+ 'こんぽん',
+ 'こんまけ',
+ 'こんや',
+ 'こんれい',
+ 'こんわく',
+ 'ざいえき',
+ 'さいかい',
+ 'さいきん',
+ 'ざいげん',
+ 'ざいこ',
+ 'さいしょ',
+ 'さいせい',
+ 'ざいたく',
+ 'ざいちゅう',
+ 'さいてき',
+ 'ざいりょう',
+ 'さうな',
+ 'さかいし',
+ 'さがす',
+ 'さかな',
+ 'さかみち',
+ 'さがる',
+ 'さぎょう',
+ 'さくし',
+ 'さくひん',
+ 'さくら',
+ 'さこく',
+ 'さこつ',
+ 'さずかる',
+ 'ざせき',
+ 'さたん',
+ 'さつえい',
+ 'ざつおん',
+ 'ざっか',
+ 'ざつがく',
+ 'さっきょく',
+ 'ざっし',
+ 'さつじん',
+ 'ざっそう',
+ 'さつたば',
+ 'さつまいも',
+ 'さてい',
+ 'さといも',
+ 'さとう',
+ 'さとおや',
+ 'さとし',
+ 'さとる',
+ 'さのう',
+ 'さばく',
+ 'さびしい',
+ 'さべつ',
+ 'さほう',
+ 'さほど',
+ 'さます',
+ 'さみしい',
+ 'さみだれ',
+ 'さむけ',
+ 'さめる',
+ 'さやえんどう',
+ 'さゆう',
+ 'さよう',
+ 'さよく',
+ 'さらだ',
+ 'ざるそば',
+ 'さわやか',
+ 'さわる',
+ 'さんいん',
+ 'さんか',
+ 'さんきゃく',
+ 'さんこう',
+ 'さんさい',
+ 'ざんしょ',
+ 'さんすう',
+ 'さんせい',
+ 'さんそ',
+ 'さんち',
+ 'さんま',
+ 'さんみ',
+ 'さんらん',
+ 'しあい',
+ 'しあげ',
+ 'しあさって',
+ 'しあわせ',
+ 'しいく',
+ 'しいん',
+ 'しうち',
+ 'しえい',
+ 'しおけ',
+ 'しかい',
+ 'しかく',
+ 'じかん',
+ 'しごと',
+ 'しすう',
+ 'じだい',
+ 'したうけ',
+ 'したぎ',
+ 'したて',
+ 'したみ',
+ 'しちょう',
+ 'しちりん',
+ 'しっかり',
+ 'しつじ',
+ 'しつもん',
+ 'してい',
+ 'してき',
+ 'してつ',
+ 'じてん',
+ 'じどう',
+ 'しなぎれ',
+ 'しなもの',
+ 'しなん',
+ 'しねま',
+ 'しねん',
+ 'しのぐ',
+ 'しのぶ',
+ 'しはい',
+ 'しばかり',
+ 'しはつ',
+ 'しはらい',
+ 'しはん',
+ 'しひょう',
+ 'しふく',
+ 'じぶん',
+ 'しへい',
+ 'しほう',
+ 'しほん',
+ 'しまう',
+ 'しまる',
+ 'しみん',
+ 'しむける',
+ 'じむしょ',
+ 'しめい',
+ 'しめる',
+ 'しもん',
+ 'しゃいん',
+ 'しゃうん',
+ 'しゃおん',
+ 'じゃがいも',
+ 'しやくしょ',
+ 'しゃくほう',
+ 'しゃけん',
+ 'しゃこ',
+ 'しゃざい',
+ 'しゃしん',
+ 'しゃせん',
+ 'しゃそう',
+ 'しゃたい',
+ 'しゃちょう',
+ 'しゃっきん',
+ 'じゃま',
+ 'しゃりん',
+ 'しゃれい',
+ 'じゆう',
+ 'じゅうしょ',
+ 'しゅくはく',
+ 'じゅしん',
+ 'しゅっせき',
+ 'しゅみ',
+ 'しゅらば',
+ 'じゅんばん',
+ 'しょうかい',
+ 'しょくたく',
+ 'しょっけん',
+ 'しょどう',
+ 'しょもつ',
+ 'しらせる',
+ 'しらべる',
+ 'しんか',
+ 'しんこう',
+ 'じんじゃ',
+ 'しんせいじ',
+ 'しんちく',
+ 'しんりん',
+ 'すあげ',
+ 'すあし',
+ 'すあな',
+ 'ずあん',
+ 'すいえい',
+ 'すいか',
+ 'すいとう',
+ 'ずいぶん',
+ 'すいようび',
+ 'すうがく',
+ 'すうじつ',
+ 'すうせん',
+ 'すおどり',
+ 'すきま',
+ 'すくう',
+ 'すくない',
+ 'すける',
+ 'すごい',
+ 'すこし',
+ 'ずさん',
+ 'すずしい',
+ 'すすむ',
+ 'すすめる',
+ 'すっかり',
+ 'ずっしり',
+ 'ずっと',
+ 'すてき',
+ 'すてる',
+ 'すねる',
+ 'すのこ',
+ 'すはだ',
+ 'すばらしい',
+ 'ずひょう',
+ 'ずぶぬれ',
+ 'すぶり',
+ 'すふれ',
+ 'すべて',
+ 'すべる',
+ 'ずほう',
+ 'すぼん',
+ 'すまい',
+ 'すめし',
+ 'すもう',
+ 'すやき',
+ 'すらすら',
+ 'するめ',
+ 'すれちがう',
+ 'すろっと',
+ 'すわる',
+ 'すんぜん',
+ 'すんぽう',
+ 'せあぶら',
+ 'せいかつ',
+ 'せいげん',
+ 'せいじ',
+ 'せいよう',
+ 'せおう',
+ 'せかいかん',
+ 'せきにん',
+ 'せきむ',
+ 'せきゆ',
+ 'せきらんうん',
+ 'せけん',
+ 'せこう',
+ 'せすじ',
+ 'せたい',
+ 'せたけ',
+ 'せっかく',
+ 'せっきゃく',
+ 'ぜっく',
+ 'せっけん',
+ 'せっこつ',
+ 'せっさたくま',
+ 'せつぞく',
+ 'せつだん',
+ 'せつでん',
+ 'せっぱん',
+ 'せつび',
+ 'せつぶん',
+ 'せつめい',
+ 'せつりつ',
+ 'せなか',
+ 'せのび',
+ 'せはば',
+ 'せびろ',
+ 'せぼね',
+ 'せまい',
+ 'せまる',
+ 'せめる',
+ 'せもたれ',
+ 'せりふ',
+ 'ぜんあく',
+ 'せんい',
+ 'せんえい',
+ 'せんか',
+ 'せんきょ',
+ 'せんく',
+ 'せんげん',
+ 'ぜんご',
+ 'せんさい',
+ 'せんしゅ',
+ 'せんすい',
+ 'せんせい',
+ 'せんぞ',
+ 'せんたく',
+ 'せんちょう',
+ 'せんてい',
+ 'せんとう',
+ 'せんぬき',
+ 'せんねん',
+ 'せんぱい',
+ 'ぜんぶ',
+ 'ぜんぽう',
+ 'せんむ',
+ 'せんめんじょ',
+ 'せんもん',
+ 'せんやく',
+ 'せんゆう',
+ 'せんよう',
+ 'ぜんら',
+ 'ぜんりゃく',
+ 'せんれい',
+ 'せんろ',
+ 'そあく',
+ 'そいとげる',
+ 'そいね',
+ 'そうがんきょう',
+ 'そうき',
+ 'そうご',
+ 'そうしん',
+ 'そうだん',
+ 'そうなん',
+ 'そうび',
+ 'そうめん',
+ 'そうり',
+ 'そえもの',
+ 'そえん',
+ 'そがい',
+ 'そげき',
+ 'そこう',
+ 'そこそこ',
+ 'そざい',
+ 'そしな',
+ 'そせい',
+ 'そせん',
+ 'そそぐ',
+ 'そだてる',
+ 'そつう',
+ 'そつえん',
+ 'そっかん',
+ 'そつぎょう',
+ 'そっけつ',
+ 'そっこう',
+ 'そっせん',
+ 'そっと',
+ 'そとがわ',
+ 'そとづら',
+ 'そなえる',
+ 'そなた',
+ 'そふぼ',
+ 'そぼく',
+ 'そぼろ',
+ 'そまつ',
+ 'そまる',
+ 'そむく',
+ 'そむりえ',
+ 'そめる',
+ 'そもそも',
+ 'そよかぜ',
+ 'そらまめ',
+ 'そろう',
+ 'そんかい',
+ 'そんけい',
+ 'そんざい',
+ 'そんしつ',
+ 'そんぞく',
+ 'そんちょう',
+ 'ぞんび',
+ 'ぞんぶん',
+ 'そんみん',
+ 'たあい',
+ 'たいいん',
+ 'たいうん',
+ 'たいえき',
+ 'たいおう',
+ 'だいがく',
+ 'たいき',
+ 'たいぐう',
+ 'たいけん',
+ 'たいこ',
+ 'たいざい',
+ 'だいじょうぶ',
+ 'だいすき',
+ 'たいせつ',
+ 'たいそう',
+ 'だいたい',
+ 'たいちょう',
+ 'たいてい',
+ 'だいどころ',
+ 'たいない',
+ 'たいねつ',
+ 'たいのう',
+ 'たいはん',
+ 'だいひょう',
+ 'たいふう',
+ 'たいへん',
+ 'たいほ',
+ 'たいまつばな',
+ 'たいみんぐ',
+ 'たいむ',
+ 'たいめん',
+ 'たいやき',
+ 'たいよう',
+ 'たいら',
+ 'たいりょく',
+ 'たいる',
+ 'たいわん',
+ 'たうえ',
+ 'たえる',
+ 'たおす',
+ 'たおる',
+ 'たおれる',
+ 'たかい',
+ 'たかね',
+ 'たきび',
+ 'たくさん',
+ 'たこく',
+ 'たこやき',
+ 'たさい',
+ 'たしざん',
+ 'だじゃれ',
+ 'たすける',
+ 'たずさわる',
+ 'たそがれ',
+ 'たたかう',
+ 'たたく',
+ 'ただしい',
+ 'たたみ',
+ 'たちばな',
+ 'だっかい',
+ 'だっきゃく',
+ 'だっこ',
+ 'だっしゅつ',
+ 'だったい',
+ 'たてる',
+ 'たとえる',
+ 'たなばた',
+ 'たにん',
+ 'たぬき',
+ 'たのしみ',
+ 'たはつ',
+ 'たぶん',
+ 'たべる',
+ 'たぼう',
+ 'たまご',
+ 'たまる',
+ 'だむる',
+ 'ためいき',
+ 'ためす',
+ 'ためる',
+ 'たもつ',
+ 'たやすい',
+ 'たよる',
+ 'たらす',
+ 'たりきほんがん',
+ 'たりょう',
+ 'たりる',
+ 'たると',
+ 'たれる',
+ 'たれんと',
+ 'たろっと',
+ 'たわむれる',
+ 'だんあつ',
+ 'たんい',
+ 'たんおん',
+ 'たんか',
+ 'たんき',
+ 'たんけん',
+ 'たんご',
+ 'たんさん',
+ 'たんじょうび',
+ 'だんせい',
+ 'たんそく',
+ 'たんたい',
+ 'だんち',
+ 'たんてい',
+ 'たんとう',
+ 'だんな',
+ 'たんにん',
+ 'だんねつ',
+ 'たんのう',
+ 'たんぴん',
+ 'だんぼう',
+ 'たんまつ',
+ 'たんめい',
+ 'だんれつ',
+ 'だんろ',
+ 'だんわ',
+ 'ちあい',
+ 'ちあん',
+ 'ちいき',
+ 'ちいさい',
+ 'ちえん',
+ 'ちかい',
+ 'ちから',
+ 'ちきゅう',
+ 'ちきん',
+ 'ちけいず',
+ 'ちけん',
+ 'ちこく',
+ 'ちさい',
+ 'ちしき',
+ 'ちしりょう',
+ 'ちせい',
+ 'ちそう',
+ 'ちたい',
+ 'ちたん',
+ 'ちちおや',
+ 'ちつじょ',
+ 'ちてき',
+ 'ちてん',
+ 'ちぬき',
+ 'ちぬり',
+ 'ちのう',
+ 'ちひょう',
+ 'ちへいせん',
+ 'ちほう',
+ 'ちまた',
+ 'ちみつ',
+ 'ちみどろ',
+ 'ちめいど',
+ 'ちゃんこなべ',
+ 'ちゅうい',
+ 'ちゆりょく',
+ 'ちょうし',
+ 'ちょさくけん',
+ 'ちらし',
+ 'ちらみ',
+ 'ちりがみ',
+ 'ちりょう',
+ 'ちるど',
+ 'ちわわ',
+ 'ちんたい',
+ 'ちんもく',
+ 'ついか',
+ 'ついたち',
+ 'つうか',
+ 'つうじょう',
+ 'つうはん',
+ 'つうわ',
+ 'つかう',
+ 'つかれる',
+ 'つくね',
+ 'つくる',
+ 'つけね',
+ 'つける',
+ 'つごう',
+ 'つたえる',
+ 'つづく',
+ 'つつじ',
+ 'つつむ',
+ 'つとめる',
+ 'つながる',
+ 'つなみ',
+ 'つねづね',
+ 'つのる',
+ 'つぶす',
+ 'つまらない',
+ 'つまる',
+ 'つみき',
+ 'つめたい',
+ 'つもり',
+ 'つもる',
+ 'つよい',
+ 'つるぼ',
+ 'つるみく',
+ 'つわもの',
+ 'つわり',
+ 'てあし',
+ 'てあて',
+ 'てあみ',
+ 'ていおん',
+ 'ていか',
+ 'ていき',
+ 'ていけい',
+ 'ていこく',
+ 'ていさつ',
+ 'ていし',
+ 'ていせい',
+ 'ていたい',
+ 'ていど',
+ 'ていねい',
+ 'ていひょう',
+ 'ていへん',
+ 'ていぼう',
+ 'てうち',
+ 'ておくれ',
+ 'てきとう',
+ 'てくび',
+ 'でこぼこ',
+ 'てさぎょう',
+ 'てさげ',
+ 'てすり',
+ 'てそう',
+ 'てちがい',
+ 'てちょう',
+ 'てつがく',
+ 'てつづき',
+ 'でっぱ',
+ 'てつぼう',
+ 'てつや',
+ 'でぬかえ',
+ 'てぬき',
+ 'てぬぐい',
+ 'てのひら',
+ 'てはい',
+ 'てぶくろ',
+ 'てふだ',
+ 'てほどき',
+ 'てほん',
+ 'てまえ',
+ 'てまきずし',
+ 'てみじか',
+ 'てみやげ',
+ 'てらす',
+ 'てれび',
+ 'てわけ',
+ 'てわたし',
+ 'でんあつ',
+ 'てんいん',
+ 'てんかい',
+ 'てんき',
+ 'てんぐ',
+ 'てんけん',
+ 'てんごく',
+ 'てんさい',
+ 'てんし',
+ 'てんすう',
+ 'でんち',
+ 'てんてき',
+ 'てんとう',
+ 'てんない',
+ 'てんぷら',
+ 'てんぼうだい',
+ 'てんめつ',
+ 'てんらんかい',
+ 'でんりょく',
+ 'でんわ',
+ 'どあい',
+ 'といれ',
+ 'どうかん',
+ 'とうきゅう',
+ 'どうぐ',
+ 'とうし',
+ 'とうむぎ',
+ 'とおい',
+ 'とおか',
+ 'とおく',
+ 'とおす',
+ 'とおる',
+ 'とかい',
+ 'とかす',
+ 'ときおり',
+ 'ときどき',
+ 'とくい',
+ 'とくしゅう',
+ 'とくてん',
+ 'とくに',
+ 'とくべつ',
+ 'とけい',
+ 'とける',
+ 'とこや',
+ 'とさか',
+ 'としょかん',
+ 'とそう',
+ 'とたん',
+ 'とちゅう',
+ 'とっきゅう',
+ 'とっくん',
+ 'とつぜん',
+ 'とつにゅう',
+ 'とどける',
+ 'ととのえる',
+ 'とない',
+ 'となえる',
+ 'となり',
+ 'とのさま',
+ 'とばす',
+ 'どぶがわ',
+ 'とほう',
+ 'とまる',
+ 'とめる',
+ 'ともだち',
+ 'ともる',
+ 'どようび',
+ 'とらえる',
+ 'とんかつ',
+ 'どんぶり',
+ 'ないかく',
+ 'ないこう',
+ 'ないしょ',
+ 'ないす',
+ 'ないせん',
+ 'ないそう',
+ 'なおす',
+ 'ながい',
+ 'なくす',
+ 'なげる',
+ 'なこうど',
+ 'なさけ',
+ 'なたでここ',
+ 'なっとう',
+ 'なつやすみ',
+ 'ななおし',
+ 'なにごと',
+ 'なにもの',
+ 'なにわ',
+ 'なのか',
+ 'なふだ',
+ 'なまいき',
+ 'なまえ',
+ 'なまみ',
+ 'なみだ',
+ 'なめらか',
+ 'なめる',
+ 'なやむ',
+ 'ならう',
+ 'ならび',
+ 'ならぶ',
+ 'なれる',
+ 'なわとび',
+ 'なわばり',
+ 'にあう',
+ 'にいがた',
+ 'にうけ',
+ 'におい',
+ 'にかい',
+ 'にがて',
+ 'にきび',
+ 'にくしみ',
+ 'にくまん',
+ 'にげる',
+ 'にさんかたんそ',
+ 'にしき',
+ 'にせもの',
+ 'にちじょう',
+ 'にちようび',
+ 'にっか',
+ 'にっき',
+ 'にっけい',
+ 'にっこう',
+ 'にっさん',
+ 'にっしょく',
+ 'にっすう',
+ 'にっせき',
+ 'にってい',
+ 'になう',
+ 'にほん',
+ 'にまめ',
+ 'にもつ',
+ 'にやり',
+ 'にゅういん',
+ 'にりんしゃ',
+ 'にわとり',
+ 'にんい',
+ 'にんか',
+ 'にんき',
+ 'にんげん',
+ 'にんしき',
+ 'にんずう',
+ 'にんそう',
+ 'にんたい',
+ 'にんち',
+ 'にんてい',
+ 'にんにく',
+ 'にんぷ',
+ 'にんまり',
+ 'にんむ',
+ 'にんめい',
+ 'にんよう',
+ 'ぬいくぎ',
+ 'ぬかす',
+ 'ぬぐいとる',
+ 'ぬぐう',
+ 'ぬくもり',
+ 'ぬすむ',
+ 'ぬまえび',
+ 'ぬめり',
+ 'ぬらす',
+ 'ぬんちゃく',
+ 'ねあげ',
+ 'ねいき',
+ 'ねいる',
+ 'ねいろ',
+ 'ねぐせ',
+ 'ねくたい',
+ 'ねくら',
+ 'ねこぜ',
+ 'ねこむ',
+ 'ねさげ',
+ 'ねすごす',
+ 'ねそべる',
+ 'ねだん',
+ 'ねつい',
+ 'ねっしん',
+ 'ねつぞう',
+ 'ねったいぎょ',
+ 'ねぶそく',
+ 'ねふだ',
+ 'ねぼう',
+ 'ねほりはほり',
+ 'ねまき',
+ 'ねまわし',
+ 'ねみみ',
+ 'ねむい',
+ 'ねむたい',
+ 'ねもと',
+ 'ねらう',
+ 'ねわざ',
+ 'ねんいり',
+ 'ねんおし',
+ 'ねんかん',
+ 'ねんきん',
+ 'ねんぐ',
+ 'ねんざ',
+ 'ねんし',
+ 'ねんちゃく',
+ 'ねんど',
+ 'ねんぴ',
+ 'ねんぶつ',
+ 'ねんまつ',
+ 'ねんりょう',
+ 'ねんれい',
+ 'のいず',
+ 'のおづま',
+ 'のがす',
+ 'のきなみ',
+ 'のこぎり',
+ 'のこす',
+ 'のこる',
+ 'のせる',
+ 'のぞく',
+ 'のぞむ',
+ 'のたまう',
+ 'のちほど',
+ 'のっく',
+ 'のばす',
+ 'のはら',
+ 'のべる',
+ 'のぼる',
+ 'のみもの',
+ 'のやま',
+ 'のらいぬ',
+ 'のらねこ',
+ 'のりもの',
+ 'のりゆき',
+ 'のれん',
+ 'のんき',
+ 'ばあい',
+ 'はあく',
+ 'ばあさん',
+ 'ばいか',
+ 'ばいく',
+ 'はいけん',
+ 'はいご',
+ 'はいしん',
+ 'はいすい',
+ 'はいせん',
+ 'はいそう',
+ 'はいち',
+ 'ばいばい',
+ 'はいれつ',
+ 'はえる',
+ 'はおる',
+ 'はかい',
+ 'ばかり',
+ 'はかる',
+ 'はくしゅ',
+ 'はけん',
+ 'はこぶ',
+ 'はさみ',
+ 'はさん',
+ 'はしご',
+ 'ばしょ',
+ 'はしる',
+ 'はせる',
+ 'ぱそこん',
+ 'はそん',
+ 'はたん',
+ 'はちみつ',
+ 'はつおん',
+ 'はっかく',
+ 'はづき',
+ 'はっきり',
+ 'はっくつ',
+ 'はっけん',
+ 'はっこう',
+ 'はっさん',
+ 'はっしん',
+ 'はったつ',
+ 'はっちゅう',
+ 'はってん',
+ 'はっぴょう',
+ 'はっぽう',
+ 'はなす',
+ 'はなび',
+ 'はにかむ',
+ 'はぶらし',
+ 'はみがき',
+ 'はむかう',
+ 'はめつ',
+ 'はやい',
+ 'はやし',
+ 'はらう',
+ 'はろうぃん',
+ 'はわい',
+ 'はんい',
+ 'はんえい',
+ 'はんおん',
+ 'はんかく',
+ 'はんきょう',
+ 'ばんぐみ',
+ 'はんこ',
+ 'はんしゃ',
+ 'はんすう',
+ 'はんだん',
+ 'ぱんち',
+ 'ぱんつ',
+ 'はんてい',
+ 'はんとし',
+ 'はんのう',
+ 'はんぱ',
+ 'はんぶん',
+ 'はんぺん',
+ 'はんぼうき',
+ 'はんめい',
+ 'はんらん',
+ 'はんろん',
+ 'ひいき',
+ 'ひうん',
+ 'ひえる',
+ 'ひかく',
+ 'ひかり',
+ 'ひかる',
+ 'ひかん',
+ 'ひくい',
+ 'ひけつ',
+ 'ひこうき',
+ 'ひこく',
+ 'ひさい',
+ 'ひさしぶり',
+ 'ひさん',
+ 'びじゅつかん',
+ 'ひしょ',
+ 'ひそか',
+ 'ひそむ',
+ 'ひたむき',
+ 'ひだり',
+ 'ひたる',
+ 'ひつぎ',
+ 'ひっこし',
+ 'ひっし',
+ 'ひつじゅひん',
+ 'ひっす',
+ 'ひつぜん',
+ 'ぴったり',
+ 'ぴっちり',
+ 'ひつよう',
+ 'ひてい',
+ 'ひとごみ',
+ 'ひなまつり',
+ 'ひなん',
+ 'ひねる',
+ 'ひはん',
+ 'ひびく',
+ 'ひひょう',
+ 'ひほう',
+ 'ひまわり',
+ 'ひまん',
+ 'ひみつ',
+ 'ひめい',
+ 'ひめじし',
+ 'ひやけ',
+ 'ひやす',
+ 'ひよう',
+ 'びょうき',
+ 'ひらがな',
+ 'ひらく',
+ 'ひりつ',
+ 'ひりょう',
+ 'ひるま',
+ 'ひるやすみ',
+ 'ひれい',
+ 'ひろい',
+ 'ひろう',
+ 'ひろき',
+ 'ひろゆき',
+ 'ひんかく',
+ 'ひんけつ',
+ 'ひんこん',
+ 'ひんしゅ',
+ 'ひんそう',
+ 'ぴんち',
+ 'ひんぱん',
+ 'びんぼう',
+ 'ふあん',
+ 'ふいうち',
+ 'ふうけい',
+ 'ふうせん',
+ 'ぷうたろう',
+ 'ふうとう',
+ 'ふうふ',
+ 'ふえる',
+ 'ふおん',
+ 'ふかい',
+ 'ふきん',
+ 'ふくざつ',
+ 'ふくぶくろ',
+ 'ふこう',
+ 'ふさい',
+ 'ふしぎ',
+ 'ふじみ',
+ 'ふすま',
+ 'ふせい',
+ 'ふせぐ',
+ 'ふそく',
+ 'ぶたにく',
+ 'ふたん',
+ 'ふちょう',
+ 'ふつう',
+ 'ふつか',
+ 'ふっかつ',
+ 'ふっき',
+ 'ふっこく',
+ 'ぶどう',
+ 'ふとる',
+ 'ふとん',
+ 'ふのう',
+ 'ふはい',
+ 'ふひょう',
+ 'ふへん',
+ 'ふまん',
+ 'ふみん',
+ 'ふめつ',
+ 'ふめん',
+ 'ふよう',
+ 'ふりこ',
+ 'ふりる',
+ 'ふるい',
+ 'ふんいき',
+ 'ぶんがく',
+ 'ぶんぐ',
+ 'ふんしつ',
+ 'ぶんせき',
+ 'ふんそう',
+ 'ぶんぽう',
+ 'へいあん',
+ 'へいおん',
+ 'へいがい',
+ 'へいき',
+ 'へいげん',
+ 'へいこう',
+ 'へいさ',
+ 'へいしゃ',
+ 'へいせつ',
+ 'へいそ',
+ 'へいたく',
+ 'へいてん',
+ 'へいねつ',
+ 'へいわ',
+ 'へきが',
+ 'へこむ',
+ 'べにいろ',
+ 'べにしょうが',
+ 'へらす',
+ 'へんかん',
+ 'べんきょう',
+ 'べんごし',
+ 'へんさい',
+ 'へんたい',
+ 'べんり',
+ 'ほあん',
+ 'ほいく',
+ 'ぼうぎょ',
+ 'ほうこく',
+ 'ほうそう',
+ 'ほうほう',
+ 'ほうもん',
+ 'ほうりつ',
+ 'ほえる',
+ 'ほおん',
+ 'ほかん',
+ 'ほきょう',
+ 'ぼきん',
+ 'ほくろ',
+ 'ほけつ',
+ 'ほけん',
+ 'ほこう',
+ 'ほこる',
+ 'ほしい',
+ 'ほしつ',
+ 'ほしゅ',
+ 'ほしょう',
+ 'ほせい',
+ 'ほそい',
+ 'ほそく',
+ 'ほたて',
+ 'ほたる',
+ 'ぽちぶくろ',
+ 'ほっきょく',
+ 'ほっさ',
+ 'ほったん',
+ 'ほとんど',
+ 'ほめる',
+ 'ほんい',
+ 'ほんき',
+ 'ほんけ',
+ 'ほんしつ',
+ 'ほんやく',
+ 'まいにち',
+ 'まかい',
+ 'まかせる',
+ 'まがる',
+ 'まける',
+ 'まこと',
+ 'まさつ',
+ 'まじめ',
+ 'ますく',
+ 'まぜる',
+ 'まつり',
+ 'まとめ',
+ 'まなぶ',
+ 'まぬけ',
+ 'まねく',
+ 'まほう',
+ 'まもる',
+ 'まゆげ',
+ 'まよう',
+ 'まろやか',
+ 'まわす',
+ 'まわり',
+ 'まわる',
+ 'まんが',
+ 'まんきつ',
+ 'まんぞく',
+ 'まんなか',
+ 'みいら',
+ 'みうち',
+ 'みえる',
+ 'みがく',
+ 'みかた',
+ 'みかん',
+ 'みけん',
+ 'みこん',
+ 'みじかい',
+ 'みすい',
+ 'みすえる',
+ 'みせる',
+ 'みっか',
+ 'みつかる',
+ 'みつける',
+ 'みてい',
+ 'みとめる',
+ 'みなと',
+ 'みなみかさい',
+ 'みねらる',
+ 'みのう',
+ 'みのがす',
+ 'みほん',
+ 'みもと',
+ 'みやげ',
+ 'みらい',
+ 'みりょく',
+ 'みわく',
+ 'みんか',
+ 'みんぞく',
+ 'むいか',
+ 'むえき',
+ 'むえん',
+ 'むかい',
+ 'むかう',
+ 'むかえ',
+ 'むかし',
+ 'むぎちゃ',
+ 'むける',
+ 'むげん',
+ 'むさぼる',
+ 'むしあつい',
+ 'むしば',
+ 'むじゅん',
+ 'むしろ',
+ 'むすう',
+ 'むすこ',
+ 'むすぶ',
+ 'むすめ',
+ 'むせる',
+ 'むせん',
+ 'むちゅう',
+ 'むなしい',
+ 'むのう',
+ 'むやみ',
+ 'むよう',
+ 'むらさき',
+ 'むりょう',
+ 'むろん',
+ 'めいあん',
+ 'めいうん',
+ 'めいえん',
+ 'めいかく',
+ 'めいきょく',
+ 'めいさい',
+ 'めいし',
+ 'めいそう',
+ 'めいぶつ',
+ 'めいれい',
+ 'めいわく',
+ 'めぐまれる',
+ 'めざす',
+ 'めした',
+ 'めずらしい',
+ 'めだつ',
+ 'めまい',
+ 'めやす',
+ 'めんきょ',
+ 'めんせき',
+ 'めんどう',
+ 'もうしあげる',
+ 'もうどうけん',
+ 'もえる',
+ 'もくし',
+ 'もくてき',
+ 'もくようび',
+ 'もちろん',
+ 'もどる',
+ 'もらう',
+ 'もんく',
+ 'もんだい',
+ 'やおや',
+ 'やける',
+ 'やさい',
+ 'やさしい',
+ 'やすい',
+ 'やすたろう',
+ 'やすみ',
+ 'やせる',
+ 'やそう',
+ 'やたい',
+ 'やちん',
+ 'やっと',
+ 'やっぱり',
+ 'やぶる',
+ 'やめる',
+ 'ややこしい',
+ 'やよい',
+ 'やわらかい',
+ 'ゆうき',
+ 'ゆうびんきょく',
+ 'ゆうべ',
+ 'ゆうめい',
+ 'ゆけつ',
+ 'ゆしゅつ',
+ 'ゆせん',
+ 'ゆそう',
+ 'ゆたか',
+ 'ゆちゃく',
+ 'ゆでる',
+ 'ゆにゅう',
+ 'ゆびわ',
+ 'ゆらい',
+ 'ゆれる',
+ 'ようい',
+ 'ようか',
+ 'ようきゅう',
+ 'ようじ',
+ 'ようす',
+ 'ようちえん',
+ 'よかぜ',
+ 'よかん',
+ 'よきん',
+ 'よくせい',
+ 'よくぼう',
+ 'よけい',
+ 'よごれる',
+ 'よさん',
+ 'よしゅう',
+ 'よそう',
+ 'よそく',
+ 'よっか',
+ 'よてい',
+ 'よどがわく',
+ 'よねつ',
+ 'よやく',
+ 'よゆう',
+ 'よろこぶ',
+ 'よろしい',
+ 'らいう',
+ 'らくがき',
+ 'らくご',
+ 'らくさつ',
+ 'らくだ',
+ 'らしんばん',
+ 'らせん',
+ 'らぞく',
+ 'らたい',
+ 'らっか',
+ 'られつ',
+ 'りえき',
+ 'りかい',
+ 'りきさく',
+ 'りきせつ',
+ 'りくぐん',
+ 'りくつ',
+ 'りけん',
+ 'りこう',
+ 'りせい',
+ 'りそう',
+ 'りそく',
+ 'りてん',
+ 'りねん',
+ 'りゆう',
+ 'りゅうがく',
+ 'りよう',
+ 'りょうり',
+ 'りょかん',
+ 'りょくちゃ',
+ 'りょこう',
+ 'りりく',
+ 'りれき',
+ 'りろん',
+ 'りんご',
+ 'るいけい',
+ 'るいさい',
+ 'るいじ',
+ 'るいせき',
+ 'るすばん',
+ 'るりがわら',
+ 'れいかん',
+ 'れいぎ',
+ 'れいせい',
+ 'れいぞうこ',
+ 'れいとう',
+ 'れいぼう',
+ 'れきし',
+ 'れきだい',
+ 'れんあい',
+ 'れんけい',
+ 'れんこん',
+ 'れんさい',
+ 'れんしゅう',
+ 'れんぞく',
+ 'れんらく',
+ 'ろうか',
+ 'ろうご',
+ 'ろうじん',
+ 'ろうそく',
+ 'ろくが',
+ 'ろこつ',
+ 'ろじうら',
+ 'ろしゅつ',
+ 'ろせん',
+ 'ろてん',
+ 'ろめん',
+ 'ろれつ',
+ 'ろんぎ',
+ 'ろんぱ',
+ 'ろんぶん',
+ 'ろんり',
+ 'わかす',
+ 'わかめ',
+ 'わかやま',
+ 'わかれる',
+ 'わしつ',
+ 'わじまし',
+ 'わすれもの',
+ 'わらう',
+ 'われる',
+];
+
+const korean = [
+ '가격',
+ '가끔',
+ '가난',
+ '가능',
+ '가득',
+ '가르침',
+ '가뭄',
+ '가방',
+ '가상',
+ '가슴',
+ '가운데',
+ '가을',
+ '가이드',
+ '가입',
+ '가장',
+ '가정',
+ '가족',
+ '가죽',
+ '각오',
+ '각자',
+ '간격',
+ '간부',
+ '간섭',
+ '간장',
+ '간접',
+ '간판',
+ '갈등',
+ '갈비',
+ '갈색',
+ '갈증',
+ '감각',
+ '감기',
+ '감소',
+ '감수성',
+ '감자',
+ '감정',
+ '갑자기',
+ '강남',
+ '강당',
+ '강도',
+ '강력히',
+ '강변',
+ '강북',
+ '강사',
+ '강수량',
+ '강아지',
+ '강원도',
+ '강의',
+ '강제',
+ '강조',
+ '같이',
+ '개구리',
+ '개나리',
+ '개방',
+ '개별',
+ '개선',
+ '개성',
+ '개인',
+ '객관적',
+ '거실',
+ '거액',
+ '거울',
+ '거짓',
+ '거품',
+ '걱정',
+ '건강',
+ '건물',
+ '건설',
+ '건조',
+ '건축',
+ '걸음',
+ '검사',
+ '검토',
+ '게시판',
+ '게임',
+ '겨울',
+ '견해',
+ '결과',
+ '결국',
+ '결론',
+ '결석',
+ '결승',
+ '결심',
+ '결정',
+ '결혼',
+ '경계',
+ '경고',
+ '경기',
+ '경력',
+ '경복궁',
+ '경비',
+ '경상도',
+ '경영',
+ '경우',
+ '경쟁',
+ '경제',
+ '경주',
+ '경찰',
+ '경치',
+ '경향',
+ '경험',
+ '계곡',
+ '계단',
+ '계란',
+ '계산',
+ '계속',
+ '계약',
+ '계절',
+ '계층',
+ '계획',
+ '고객',
+ '고구려',
+ '고궁',
+ '고급',
+ '고등학생',
+ '고무신',
+ '고민',
+ '고양이',
+ '고장',
+ '고전',
+ '고집',
+ '고춧가루',
+ '고통',
+ '고향',
+ '곡식',
+ '골목',
+ '골짜기',
+ '골프',
+ '공간',
+ '공개',
+ '공격',
+ '공군',
+ '공급',
+ '공기',
+ '공동',
+ '공무원',
+ '공부',
+ '공사',
+ '공식',
+ '공업',
+ '공연',
+ '공원',
+ '공장',
+ '공짜',
+ '공책',
+ '공통',
+ '공포',
+ '공항',
+ '공휴일',
+ '과목',
+ '과일',
+ '과장',
+ '과정',
+ '과학',
+ '관객',
+ '관계',
+ '관광',
+ '관념',
+ '관람',
+ '관련',
+ '관리',
+ '관습',
+ '관심',
+ '관점',
+ '관찰',
+ '광경',
+ '광고',
+ '광장',
+ '광주',
+ '괴로움',
+ '굉장히',
+ '교과서',
+ '교문',
+ '교복',
+ '교실',
+ '교양',
+ '교육',
+ '교장',
+ '교직',
+ '교통',
+ '교환',
+ '교훈',
+ '구경',
+ '구름',
+ '구멍',
+ '구별',
+ '구분',
+ '구석',
+ '구성',
+ '구속',
+ '구역',
+ '구입',
+ '구청',
+ '구체적',
+ '국가',
+ '국기',
+ '국내',
+ '국립',
+ '국물',
+ '국민',
+ '국수',
+ '국어',
+ '국왕',
+ '국적',
+ '국제',
+ '국회',
+ '군대',
+ '군사',
+ '군인',
+ '궁극적',
+ '권리',
+ '권위',
+ '권투',
+ '귀국',
+ '귀신',
+ '규정',
+ '규칙',
+ '균형',
+ '그날',
+ '그냥',
+ '그늘',
+ '그러나',
+ '그룹',
+ '그릇',
+ '그림',
+ '그제서야',
+ '그토록',
+ '극복',
+ '극히',
+ '근거',
+ '근교',
+ '근래',
+ '근로',
+ '근무',
+ '근본',
+ '근원',
+ '근육',
+ '근처',
+ '글씨',
+ '글자',
+ '금강산',
+ '금고',
+ '금년',
+ '금메달',
+ '금액',
+ '금연',
+ '금요일',
+ '금지',
+ '긍정적',
+ '기간',
+ '기관',
+ '기념',
+ '기능',
+ '기독교',
+ '기둥',
+ '기록',
+ '기름',
+ '기법',
+ '기본',
+ '기분',
+ '기쁨',
+ '기숙사',
+ '기술',
+ '기억',
+ '기업',
+ '기온',
+ '기운',
+ '기원',
+ '기적',
+ '기준',
+ '기침',
+ '기혼',
+ '기획',
+ '긴급',
+ '긴장',
+ '길이',
+ '김밥',
+ '김치',
+ '김포공항',
+ '깍두기',
+ '깜빡',
+ '깨달음',
+ '깨소금',
+ '껍질',
+ '꼭대기',
+ '꽃잎',
+ '나들이',
+ '나란히',
+ '나머지',
+ '나물',
+ '나침반',
+ '나흘',
+ '낙엽',
+ '난방',
+ '날개',
+ '날씨',
+ '날짜',
+ '남녀',
+ '남대문',
+ '남매',
+ '남산',
+ '남자',
+ '남편',
+ '남학생',
+ '낭비',
+ '낱말',
+ '내년',
+ '내용',
+ '내일',
+ '냄비',
+ '냄새',
+ '냇물',
+ '냉동',
+ '냉면',
+ '냉방',
+ '냉장고',
+ '넥타이',
+ '넷째',
+ '노동',
+ '노란색',
+ '노력',
+ '노인',
+ '녹음',
+ '녹차',
+ '녹화',
+ '논리',
+ '논문',
+ '논쟁',
+ '놀이',
+ '농구',
+ '농담',
+ '농민',
+ '농부',
+ '농업',
+ '농장',
+ '농촌',
+ '높이',
+ '눈동자',
+ '눈물',
+ '눈썹',
+ '뉴욕',
+ '느낌',
+ '늑대',
+ '능동적',
+ '능력',
+ '다방',
+ '다양성',
+ '다음',
+ '다이어트',
+ '다행',
+ '단계',
+ '단골',
+ '단독',
+ '단맛',
+ '단순',
+ '단어',
+ '단위',
+ '단점',
+ '단체',
+ '단추',
+ '단편',
+ '단풍',
+ '달걀',
+ '달러',
+ '달력',
+ '달리',
+ '닭고기',
+ '담당',
+ '담배',
+ '담요',
+ '담임',
+ '답변',
+ '답장',
+ '당근',
+ '당분간',
+ '당연히',
+ '당장',
+ '대규모',
+ '대낮',
+ '대단히',
+ '대답',
+ '대도시',
+ '대략',
+ '대량',
+ '대륙',
+ '대문',
+ '대부분',
+ '대신',
+ '대응',
+ '대장',
+ '대전',
+ '대접',
+ '대중',
+ '대책',
+ '대출',
+ '대충',
+ '대통령',
+ '대학',
+ '대한민국',
+ '대합실',
+ '대형',
+ '덩어리',
+ '데이트',
+ '도대체',
+ '도덕',
+ '도둑',
+ '도망',
+ '도서관',
+ '도심',
+ '도움',
+ '도입',
+ '도자기',
+ '도저히',
+ '도전',
+ '도중',
+ '도착',
+ '독감',
+ '독립',
+ '독서',
+ '독일',
+ '독창적',
+ '동화책',
+ '뒷모습',
+ '뒷산',
+ '딸아이',
+ '마누라',
+ '마늘',
+ '마당',
+ '마라톤',
+ '마련',
+ '마무리',
+ '마사지',
+ '마약',
+ '마요네즈',
+ '마을',
+ '마음',
+ '마이크',
+ '마중',
+ '마지막',
+ '마찬가지',
+ '마찰',
+ '마흔',
+ '막걸리',
+ '막내',
+ '막상',
+ '만남',
+ '만두',
+ '만세',
+ '만약',
+ '만일',
+ '만점',
+ '만족',
+ '만화',
+ '많이',
+ '말기',
+ '말씀',
+ '말투',
+ '맘대로',
+ '망원경',
+ '매년',
+ '매달',
+ '매력',
+ '매번',
+ '매스컴',
+ '매일',
+ '매장',
+ '맥주',
+ '먹이',
+ '먼저',
+ '먼지',
+ '멀리',
+ '메일',
+ '며느리',
+ '며칠',
+ '면담',
+ '멸치',
+ '명단',
+ '명령',
+ '명예',
+ '명의',
+ '명절',
+ '명칭',
+ '명함',
+ '모금',
+ '모니터',
+ '모델',
+ '모든',
+ '모범',
+ '모습',
+ '모양',
+ '모임',
+ '모조리',
+ '모집',
+ '모퉁이',
+ '목걸이',
+ '목록',
+ '목사',
+ '목소리',
+ '목숨',
+ '목적',
+ '목표',
+ '몰래',
+ '몸매',
+ '몸무게',
+ '몸살',
+ '몸속',
+ '몸짓',
+ '몸통',
+ '몹시',
+ '무관심',
+ '무궁화',
+ '무더위',
+ '무덤',
+ '무릎',
+ '무슨',
+ '무엇',
+ '무역',
+ '무용',
+ '무조건',
+ '무지개',
+ '무척',
+ '문구',
+ '문득',
+ '문법',
+ '문서',
+ '문제',
+ '문학',
+ '문화',
+ '물가',
+ '물건',
+ '물결',
+ '물고기',
+ '물론',
+ '물리학',
+ '물음',
+ '물질',
+ '물체',
+ '미국',
+ '미디어',
+ '미사일',
+ '미술',
+ '미역',
+ '미용실',
+ '미움',
+ '미인',
+ '미팅',
+ '미혼',
+ '민간',
+ '민족',
+ '민주',
+ '믿음',
+ '밀가루',
+ '밀리미터',
+ '밑바닥',
+ '바가지',
+ '바구니',
+ '바나나',
+ '바늘',
+ '바닥',
+ '바닷가',
+ '바람',
+ '바이러스',
+ '바탕',
+ '박물관',
+ '박사',
+ '박수',
+ '반대',
+ '반드시',
+ '반말',
+ '반발',
+ '반성',
+ '반응',
+ '반장',
+ '반죽',
+ '반지',
+ '반찬',
+ '받침',
+ '발가락',
+ '발걸음',
+ '발견',
+ '발달',
+ '발레',
+ '발목',
+ '발바닥',
+ '발생',
+ '발음',
+ '발자국',
+ '발전',
+ '발톱',
+ '발표',
+ '밤하늘',
+ '밥그릇',
+ '밥맛',
+ '밥상',
+ '밥솥',
+ '방금',
+ '방면',
+ '방문',
+ '방바닥',
+ '방법',
+ '방송',
+ '방식',
+ '방안',
+ '방울',
+ '방지',
+ '방학',
+ '방해',
+ '방향',
+ '배경',
+ '배꼽',
+ '배달',
+ '배드민턴',
+ '백두산',
+ '백색',
+ '백성',
+ '백인',
+ '백제',
+ '백화점',
+ '버릇',
+ '버섯',
+ '버튼',
+ '번개',
+ '번역',
+ '번지',
+ '번호',
+ '벌금',
+ '벌레',
+ '벌써',
+ '범위',
+ '범인',
+ '범죄',
+ '법률',
+ '법원',
+ '법적',
+ '법칙',
+ '베이징',
+ '벨트',
+ '변경',
+ '변동',
+ '변명',
+ '변신',
+ '변호사',
+ '변화',
+ '별도',
+ '별명',
+ '별일',
+ '병실',
+ '병아리',
+ '병원',
+ '보관',
+ '보너스',
+ '보라색',
+ '보람',
+ '보름',
+ '보상',
+ '보안',
+ '보자기',
+ '보장',
+ '보전',
+ '보존',
+ '보통',
+ '보편적',
+ '보험',
+ '복도',
+ '복사',
+ '복숭아',
+ '복습',
+ '볶음',
+ '본격적',
+ '본래',
+ '본부',
+ '본사',
+ '본성',
+ '본인',
+ '본질',
+ '볼펜',
+ '봉사',
+ '봉지',
+ '봉투',
+ '부근',
+ '부끄러움',
+ '부담',
+ '부동산',
+ '부문',
+ '부분',
+ '부산',
+ '부상',
+ '부엌',
+ '부인',
+ '부작용',
+ '부장',
+ '부정',
+ '부족',
+ '부지런히',
+ '부친',
+ '부탁',
+ '부품',
+ '부회장',
+ '북부',
+ '북한',
+ '분노',
+ '분량',
+ '분리',
+ '분명',
+ '분석',
+ '분야',
+ '분위기',
+ '분필',
+ '분홍색',
+ '불고기',
+ '불과',
+ '불교',
+ '불꽃',
+ '불만',
+ '불법',
+ '불빛',
+ '불안',
+ '불이익',
+ '불행',
+ '브랜드',
+ '비극',
+ '비난',
+ '비닐',
+ '비둘기',
+ '비디오',
+ '비로소',
+ '비만',
+ '비명',
+ '비밀',
+ '비바람',
+ '비빔밥',
+ '비상',
+ '비용',
+ '비율',
+ '비중',
+ '비타민',
+ '비판',
+ '빌딩',
+ '빗물',
+ '빗방울',
+ '빗줄기',
+ '빛깔',
+ '빨간색',
+ '빨래',
+ '빨리',
+ '사건',
+ '사계절',
+ '사나이',
+ '사냥',
+ '사람',
+ '사랑',
+ '사립',
+ '사모님',
+ '사물',
+ '사방',
+ '사상',
+ '사생활',
+ '사설',
+ '사슴',
+ '사실',
+ '사업',
+ '사용',
+ '사월',
+ '사장',
+ '사전',
+ '사진',
+ '사촌',
+ '사춘기',
+ '사탕',
+ '사투리',
+ '사흘',
+ '산길',
+ '산부인과',
+ '산업',
+ '산책',
+ '살림',
+ '살인',
+ '살짝',
+ '삼계탕',
+ '삼국',
+ '삼십',
+ '삼월',
+ '삼촌',
+ '상관',
+ '상금',
+ '상대',
+ '상류',
+ '상반기',
+ '상상',
+ '상식',
+ '상업',
+ '상인',
+ '상자',
+ '상점',
+ '상처',
+ '상추',
+ '상태',
+ '상표',
+ '상품',
+ '상황',
+ '새벽',
+ '색깔',
+ '색연필',
+ '생각',
+ '생명',
+ '생물',
+ '생방송',
+ '생산',
+ '생선',
+ '생신',
+ '생일',
+ '생활',
+ '서랍',
+ '서른',
+ '서명',
+ '서민',
+ '서비스',
+ '서양',
+ '서울',
+ '서적',
+ '서점',
+ '서쪽',
+ '서클',
+ '석사',
+ '석유',
+ '선거',
+ '선물',
+ '선배',
+ '선생',
+ '선수',
+ '선원',
+ '선장',
+ '선전',
+ '선택',
+ '선풍기',
+ '설거지',
+ '설날',
+ '설렁탕',
+ '설명',
+ '설문',
+ '설사',
+ '설악산',
+ '설치',
+ '설탕',
+ '섭씨',
+ '성공',
+ '성당',
+ '성명',
+ '성별',
+ '성인',
+ '성장',
+ '성적',
+ '성질',
+ '성함',
+ '세금',
+ '세미나',
+ '세상',
+ '세월',
+ '세종대왕',
+ '세탁',
+ '센터',
+ '센티미터',
+ '셋째',
+ '소규모',
+ '소극적',
+ '소금',
+ '소나기',
+ '소년',
+ '소득',
+ '소망',
+ '소문',
+ '소설',
+ '소속',
+ '소아과',
+ '소용',
+ '소원',
+ '소음',
+ '소중히',
+ '소지품',
+ '소질',
+ '소풍',
+ '소형',
+ '속담',
+ '속도',
+ '속옷',
+ '손가락',
+ '손길',
+ '손녀',
+ '손님',
+ '손등',
+ '손목',
+ '손뼉',
+ '손실',
+ '손질',
+ '손톱',
+ '손해',
+ '솔직히',
+ '솜씨',
+ '송아지',
+ '송이',
+ '송편',
+ '쇠고기',
+ '쇼핑',
+ '수건',
+ '수년',
+ '수단',
+ '수돗물',
+ '수동적',
+ '수면',
+ '수명',
+ '수박',
+ '수상',
+ '수석',
+ '수술',
+ '수시로',
+ '수업',
+ '수염',
+ '수영',
+ '수입',
+ '수준',
+ '수집',
+ '수출',
+ '수컷',
+ '수필',
+ '수학',
+ '수험생',
+ '수화기',
+ '숙녀',
+ '숙소',
+ '숙제',
+ '순간',
+ '순서',
+ '순수',
+ '순식간',
+ '순위',
+ '숟가락',
+ '술병',
+ '술집',
+ '숫자',
+ '스님',
+ '스물',
+ '스스로',
+ '스승',
+ '스웨터',
+ '스위치',
+ '스케이트',
+ '스튜디오',
+ '스트레스',
+ '스포츠',
+ '슬쩍',
+ '슬픔',
+ '습관',
+ '습기',
+ '승객',
+ '승리',
+ '승부',
+ '승용차',
+ '승진',
+ '시각',
+ '시간',
+ '시골',
+ '시금치',
+ '시나리오',
+ '시댁',
+ '시리즈',
+ '시멘트',
+ '시민',
+ '시부모',
+ '시선',
+ '시설',
+ '시스템',
+ '시아버지',
+ '시어머니',
+ '시월',
+ '시인',
+ '시일',
+ '시작',
+ '시장',
+ '시절',
+ '시점',
+ '시중',
+ '시즌',
+ '시집',
+ '시청',
+ '시합',
+ '시험',
+ '식구',
+ '식기',
+ '식당',
+ '식량',
+ '식료품',
+ '식물',
+ '식빵',
+ '식사',
+ '식생활',
+ '식초',
+ '식탁',
+ '식품',
+ '신고',
+ '신규',
+ '신념',
+ '신문',
+ '신발',
+ '신비',
+ '신사',
+ '신세',
+ '신용',
+ '신제품',
+ '신청',
+ '신체',
+ '신화',
+ '실감',
+ '실내',
+ '실력',
+ '실례',
+ '실망',
+ '실수',
+ '실습',
+ '실시',
+ '실장',
+ '실정',
+ '실질적',
+ '실천',
+ '실체',
+ '실컷',
+ '실태',
+ '실패',
+ '실험',
+ '실현',
+ '심리',
+ '심부름',
+ '심사',
+ '심장',
+ '심정',
+ '심판',
+ '쌍둥이',
+ '씨름',
+ '씨앗',
+ '아가씨',
+ '아나운서',
+ '아드님',
+ '아들',
+ '아쉬움',
+ '아스팔트',
+ '아시아',
+ '아울러',
+ '아저씨',
+ '아줌마',
+ '아직',
+ '아침',
+ '아파트',
+ '아프리카',
+ '아픔',
+ '아홉',
+ '아흔',
+ '악기',
+ '악몽',
+ '악수',
+ '안개',
+ '안경',
+ '안과',
+ '안내',
+ '안녕',
+ '안동',
+ '안방',
+ '안부',
+ '안주',
+ '알루미늄',
+ '알코올',
+ '암시',
+ '암컷',
+ '압력',
+ '앞날',
+ '앞문',
+ '애인',
+ '애정',
+ '액수',
+ '앨범',
+ '야간',
+ '야단',
+ '야옹',
+ '약간',
+ '약국',
+ '약속',
+ '약수',
+ '약점',
+ '약품',
+ '약혼녀',
+ '양념',
+ '양력',
+ '양말',
+ '양배추',
+ '양주',
+ '양파',
+ '어둠',
+ '어려움',
+ '어른',
+ '어젯밤',
+ '어쨌든',
+ '어쩌다가',
+ '어쩐지',
+ '언니',
+ '언덕',
+ '언론',
+ '언어',
+ '얼굴',
+ '얼른',
+ '얼음',
+ '얼핏',
+ '엄마',
+ '업무',
+ '업종',
+ '업체',
+ '엉덩이',
+ '엉망',
+ '엉터리',
+ '엊그제',
+ '에너지',
+ '에어컨',
+ '엔진',
+ '여건',
+ '여고생',
+ '여관',
+ '여군',
+ '여권',
+ '여대생',
+ '여덟',
+ '여동생',
+ '여든',
+ '여론',
+ '여름',
+ '여섯',
+ '여성',
+ '여왕',
+ '여인',
+ '여전히',
+ '여직원',
+ '여학생',
+ '여행',
+ '역사',
+ '역시',
+ '역할',
+ '연결',
+ '연구',
+ '연극',
+ '연기',
+ '연락',
+ '연설',
+ '연세',
+ '연속',
+ '연습',
+ '연애',
+ '연예인',
+ '연인',
+ '연장',
+ '연주',
+ '연출',
+ '연필',
+ '연합',
+ '연휴',
+ '열기',
+ '열매',
+ '열쇠',
+ '열심히',
+ '열정',
+ '열차',
+ '열흘',
+ '염려',
+ '엽서',
+ '영국',
+ '영남',
+ '영상',
+ '영양',
+ '영역',
+ '영웅',
+ '영원히',
+ '영하',
+ '영향',
+ '영혼',
+ '영화',
+ '옆구리',
+ '옆방',
+ '옆집',
+ '예감',
+ '예금',
+ '예방',
+ '예산',
+ '예상',
+ '예선',
+ '예술',
+ '예습',
+ '예식장',
+ '예약',
+ '예전',
+ '예절',
+ '예정',
+ '예컨대',
+ '옛날',
+ '오늘',
+ '오락',
+ '오랫동안',
+ '오렌지',
+ '오로지',
+ '오른발',
+ '오븐',
+ '오십',
+ '오염',
+ '오월',
+ '오전',
+ '오직',
+ '오징어',
+ '오페라',
+ '오피스텔',
+ '오히려',
+ '옥상',
+ '옥수수',
+ '온갖',
+ '온라인',
+ '온몸',
+ '온종일',
+ '온통',
+ '올가을',
+ '올림픽',
+ '올해',
+ '옷차림',
+ '와이셔츠',
+ '와인',
+ '완성',
+ '완전',
+ '왕비',
+ '왕자',
+ '왜냐하면',
+ '왠지',
+ '외갓집',
+ '외국',
+ '외로움',
+ '외삼촌',
+ '외출',
+ '외침',
+ '외할머니',
+ '왼발',
+ '왼손',
+ '왼쪽',
+ '요금',
+ '요일',
+ '요즘',
+ '요청',
+ '용기',
+ '용서',
+ '용어',
+ '우산',
+ '우선',
+ '우승',
+ '우연히',
+ '우정',
+ '우체국',
+ '우편',
+ '운동',
+ '운명',
+ '운반',
+ '운전',
+ '운행',
+ '울산',
+ '울음',
+ '움직임',
+ '웃어른',
+ '웃음',
+ '워낙',
+ '원고',
+ '원래',
+ '원서',
+ '원숭이',
+ '원인',
+ '원장',
+ '원피스',
+ '월급',
+ '월드컵',
+ '월세',
+ '월요일',
+ '웨이터',
+ '위반',
+ '위법',
+ '위성',
+ '위원',
+ '위험',
+ '위협',
+ '윗사람',
+ '유난히',
+ '유럽',
+ '유명',
+ '유물',
+ '유산',
+ '유적',
+ '유치원',
+ '유학',
+ '유행',
+ '유형',
+ '육군',
+ '육상',
+ '육십',
+ '육체',
+ '은행',
+ '음력',
+ '음료',
+ '음반',
+ '음성',
+ '음식',
+ '음악',
+ '음주',
+ '의견',
+ '의논',
+ '의문',
+ '의복',
+ '의식',
+ '의심',
+ '의외로',
+ '의욕',
+ '의원',
+ '의학',
+ '이것',
+ '이곳',
+ '이념',
+ '이놈',
+ '이달',
+ '이대로',
+ '이동',
+ '이렇게',
+ '이력서',
+ '이론적',
+ '이름',
+ '이민',
+ '이발소',
+ '이별',
+ '이불',
+ '이빨',
+ '이상',
+ '이성',
+ '이슬',
+ '이야기',
+ '이용',
+ '이웃',
+ '이월',
+ '이윽고',
+ '이익',
+ '이전',
+ '이중',
+ '이튿날',
+ '이틀',
+ '이혼',
+ '인간',
+ '인격',
+ '인공',
+ '인구',
+ '인근',
+ '인기',
+ '인도',
+ '인류',
+ '인물',
+ '인생',
+ '인쇄',
+ '인연',
+ '인원',
+ '인재',
+ '인종',
+ '인천',
+ '인체',
+ '인터넷',
+ '인하',
+ '인형',
+ '일곱',
+ '일기',
+ '일단',
+ '일대',
+ '일등',
+ '일반',
+ '일본',
+ '일부',
+ '일상',
+ '일생',
+ '일손',
+ '일요일',
+ '일월',
+ '일정',
+ '일종',
+ '일주일',
+ '일찍',
+ '일체',
+ '일치',
+ '일행',
+ '일회용',
+ '임금',
+ '임무',
+ '입대',
+ '입력',
+ '입맛',
+ '입사',
+ '입술',
+ '입시',
+ '입원',
+ '입장',
+ '입학',
+ '자가용',
+ '자격',
+ '자극',
+ '자동',
+ '자랑',
+ '자부심',
+ '자식',
+ '자신',
+ '자연',
+ '자원',
+ '자율',
+ '자전거',
+ '자정',
+ '자존심',
+ '자판',
+ '작가',
+ '작년',
+ '작성',
+ '작업',
+ '작용',
+ '작은딸',
+ '작품',
+ '잔디',
+ '잔뜩',
+ '잔치',
+ '잘못',
+ '잠깐',
+ '잠수함',
+ '잠시',
+ '잠옷',
+ '잠자리',
+ '잡지',
+ '장관',
+ '장군',
+ '장기간',
+ '장래',
+ '장례',
+ '장르',
+ '장마',
+ '장면',
+ '장모',
+ '장미',
+ '장비',
+ '장사',
+ '장소',
+ '장식',
+ '장애인',
+ '장인',
+ '장점',
+ '장차',
+ '장학금',
+ '재능',
+ '재빨리',
+ '재산',
+ '재생',
+ '재작년',
+ '재정',
+ '재채기',
+ '재판',
+ '재학',
+ '재활용',
+ '저것',
+ '저고리',
+ '저곳',
+ '저녁',
+ '저런',
+ '저렇게',
+ '저번',
+ '저울',
+ '저절로',
+ '저축',
+ '적극',
+ '적당히',
+ '적성',
+ '적용',
+ '적응',
+ '전개',
+ '전공',
+ '전기',
+ '전달',
+ '전라도',
+ '전망',
+ '전문',
+ '전반',
+ '전부',
+ '전세',
+ '전시',
+ '전용',
+ '전자',
+ '전쟁',
+ '전주',
+ '전철',
+ '전체',
+ '전통',
+ '전혀',
+ '전후',
+ '절대',
+ '절망',
+ '절반',
+ '절약',
+ '절차',
+ '점검',
+ '점수',
+ '점심',
+ '점원',
+ '점점',
+ '점차',
+ '접근',
+ '접시',
+ '접촉',
+ '젓가락',
+ '정거장',
+ '정도',
+ '정류장',
+ '정리',
+ '정말',
+ '정면',
+ '정문',
+ '정반대',
+ '정보',
+ '정부',
+ '정비',
+ '정상',
+ '정성',
+ '정오',
+ '정원',
+ '정장',
+ '정지',
+ '정치',
+ '정확히',
+ '제공',
+ '제과점',
+ '제대로',
+ '제목',
+ '제발',
+ '제법',
+ '제삿날',
+ '제안',
+ '제일',
+ '제작',
+ '제주도',
+ '제출',
+ '제품',
+ '제한',
+ '조각',
+ '조건',
+ '조금',
+ '조깅',
+ '조명',
+ '조미료',
+ '조상',
+ '조선',
+ '조용히',
+ '조절',
+ '조정',
+ '조직',
+ '존댓말',
+ '존재',
+ '졸업',
+ '졸음',
+ '종교',
+ '종로',
+ '종류',
+ '종소리',
+ '종업원',
+ '종종',
+ '종합',
+ '좌석',
+ '죄인',
+ '주관적',
+ '주름',
+ '주말',
+ '주머니',
+ '주먹',
+ '주문',
+ '주민',
+ '주방',
+ '주변',
+ '주식',
+ '주인',
+ '주일',
+ '주장',
+ '주전자',
+ '주택',
+ '준비',
+ '줄거리',
+ '줄기',
+ '줄무늬',
+ '중간',
+ '중계방송',
+ '중국',
+ '중년',
+ '중단',
+ '중독',
+ '중반',
+ '중부',
+ '중세',
+ '중소기업',
+ '중순',
+ '중앙',
+ '중요',
+ '중학교',
+ '즉석',
+ '즉시',
+ '즐거움',
+ '증가',
+ '증거',
+ '증권',
+ '증상',
+ '증세',
+ '지각',
+ '지갑',
+ '지경',
+ '지극히',
+ '지금',
+ '지급',
+ '지능',
+ '지름길',
+ '지리산',
+ '지방',
+ '지붕',
+ '지식',
+ '지역',
+ '지우개',
+ '지원',
+ '지적',
+ '지점',
+ '지진',
+ '지출',
+ '직선',
+ '직업',
+ '직원',
+ '직장',
+ '진급',
+ '진동',
+ '진로',
+ '진료',
+ '진리',
+ '진짜',
+ '진찰',
+ '진출',
+ '진통',
+ '진행',
+ '질문',
+ '질병',
+ '질서',
+ '짐작',
+ '집단',
+ '집안',
+ '집중',
+ '짜증',
+ '찌꺼기',
+ '차남',
+ '차라리',
+ '차량',
+ '차림',
+ '차별',
+ '차선',
+ '차츰',
+ '착각',
+ '찬물',
+ '찬성',
+ '참가',
+ '참기름',
+ '참새',
+ '참석',
+ '참여',
+ '참외',
+ '참조',
+ '찻잔',
+ '창가',
+ '창고',
+ '창구',
+ '창문',
+ '창밖',
+ '창작',
+ '창조',
+ '채널',
+ '채점',
+ '책가방',
+ '책방',
+ '책상',
+ '책임',
+ '챔피언',
+ '처벌',
+ '처음',
+ '천국',
+ '천둥',
+ '천장',
+ '천재',
+ '천천히',
+ '철도',
+ '철저히',
+ '철학',
+ '첫날',
+ '첫째',
+ '청년',
+ '청바지',
+ '청소',
+ '청춘',
+ '체계',
+ '체력',
+ '체온',
+ '체육',
+ '체중',
+ '체험',
+ '초등학생',
+ '초반',
+ '초밥',
+ '초상화',
+ '초순',
+ '초여름',
+ '초원',
+ '초저녁',
+ '초점',
+ '초청',
+ '초콜릿',
+ '촛불',
+ '총각',
+ '총리',
+ '총장',
+ '촬영',
+ '최근',
+ '최상',
+ '최선',
+ '최신',
+ '최악',
+ '최종',
+ '추석',
+ '추억',
+ '추진',
+ '추천',
+ '추측',
+ '축구',
+ '축소',
+ '축제',
+ '축하',
+ '출근',
+ '출발',
+ '출산',
+ '출신',
+ '출연',
+ '출입',
+ '출장',
+ '출판',
+ '충격',
+ '충고',
+ '충돌',
+ '충분히',
+ '충청도',
+ '취업',
+ '취직',
+ '취향',
+ '치약',
+ '친구',
+ '친척',
+ '칠십',
+ '칠월',
+ '칠판',
+ '침대',
+ '침묵',
+ '침실',
+ '칫솔',
+ '칭찬',
+ '카메라',
+ '카운터',
+ '칼국수',
+ '캐릭터',
+ '캠퍼스',
+ '캠페인',
+ '커튼',
+ '컨디션',
+ '컬러',
+ '컴퓨터',
+ '코끼리',
+ '코미디',
+ '콘서트',
+ '콜라',
+ '콤플렉스',
+ '콩나물',
+ '쾌감',
+ '쿠데타',
+ '크림',
+ '큰길',
+ '큰딸',
+ '큰소리',
+ '큰아들',
+ '큰어머니',
+ '큰일',
+ '큰절',
+ '클래식',
+ '클럽',
+ '킬로',
+ '타입',
+ '타자기',
+ '탁구',
+ '탁자',
+ '탄생',
+ '태권도',
+ '태양',
+ '태풍',
+ '택시',
+ '탤런트',
+ '터널',
+ '터미널',
+ '테니스',
+ '테스트',
+ '테이블',
+ '텔레비전',
+ '토론',
+ '토마토',
+ '토요일',
+ '통계',
+ '통과',
+ '통로',
+ '통신',
+ '통역',
+ '통일',
+ '통장',
+ '통제',
+ '통증',
+ '통합',
+ '통화',
+ '퇴근',
+ '퇴원',
+ '퇴직금',
+ '튀김',
+ '트럭',
+ '특급',
+ '특별',
+ '특성',
+ '특수',
+ '특징',
+ '특히',
+ '튼튼히',
+ '티셔츠',
+ '파란색',
+ '파일',
+ '파출소',
+ '판결',
+ '판단',
+ '판매',
+ '판사',
+ '팔십',
+ '팔월',
+ '팝송',
+ '패션',
+ '팩스',
+ '팩시밀리',
+ '팬티',
+ '퍼센트',
+ '페인트',
+ '편견',
+ '편의',
+ '편지',
+ '편히',
+ '평가',
+ '평균',
+ '평생',
+ '평소',
+ '평양',
+ '평일',
+ '평화',
+ '포스터',
+ '포인트',
+ '포장',
+ '포함',
+ '표면',
+ '표정',
+ '표준',
+ '표현',
+ '품목',
+ '품질',
+ '풍경',
+ '풍속',
+ '풍습',
+ '프랑스',
+ '프린터',
+ '플라스틱',
+ '피곤',
+ '피망',
+ '피아노',
+ '필름',
+ '필수',
+ '필요',
+ '필자',
+ '필통',
+ '핑계',
+ '하느님',
+ '하늘',
+ '하드웨어',
+ '하룻밤',
+ '하반기',
+ '하숙집',
+ '하순',
+ '하여튼',
+ '하지만',
+ '하천',
+ '하품',
+ '하필',
+ '학과',
+ '학교',
+ '학급',
+ '학기',
+ '학년',
+ '학력',
+ '학번',
+ '학부모',
+ '학비',
+ '학생',
+ '학술',
+ '학습',
+ '학용품',
+ '학원',
+ '학위',
+ '학자',
+ '학점',
+ '한계',
+ '한글',
+ '한꺼번에',
+ '한낮',
+ '한눈',
+ '한동안',
+ '한때',
+ '한라산',
+ '한마디',
+ '한문',
+ '한번',
+ '한복',
+ '한식',
+ '한여름',
+ '한쪽',
+ '할머니',
+ '할아버지',
+ '할인',
+ '함께',
+ '함부로',
+ '합격',
+ '합리적',
+ '항공',
+ '항구',
+ '항상',
+ '항의',
+ '해결',
+ '해군',
+ '해답',
+ '해당',
+ '해물',
+ '해석',
+ '해설',
+ '해수욕장',
+ '해안',
+ '핵심',
+ '핸드백',
+ '햄버거',
+ '햇볕',
+ '햇살',
+ '행동',
+ '행복',
+ '행사',
+ '행운',
+ '행위',
+ '향기',
+ '향상',
+ '향수',
+ '허락',
+ '허용',
+ '헬기',
+ '현관',
+ '현금',
+ '현대',
+ '현상',
+ '현실',
+ '현장',
+ '현재',
+ '현지',
+ '혈액',
+ '협력',
+ '형부',
+ '형사',
+ '형수',
+ '형식',
+ '형제',
+ '형태',
+ '형편',
+ '혜택',
+ '호기심',
+ '호남',
+ '호랑이',
+ '호박',
+ '호텔',
+ '호흡',
+ '혹시',
+ '홀로',
+ '홈페이지',
+ '홍보',
+ '홍수',
+ '홍차',
+ '화면',
+ '화분',
+ '화살',
+ '화요일',
+ '화장',
+ '화학',
+ '확보',
+ '확인',
+ '확장',
+ '확정',
+ '환갑',
+ '환경',
+ '환영',
+ '환율',
+ '환자',
+ '활기',
+ '활동',
+ '활발히',
+ '활용',
+ '활짝',
+ '회견',
+ '회관',
+ '회복',
+ '회색',
+ '회원',
+ '회장',
+ '회전',
+ '횟수',
+ '횡단보도',
+ '효율적',
+ '후반',
+ '후춧가루',
+ '훈련',
+ '훨씬',
+ '휴식',
+ '휴일',
+ '흉내',
+ '흐름',
+ '흑백',
+ '흑인',
+ '흔적',
+ '흔히',
+ '흥미',
+ '흥분',
+ '희곡',
+ '희망',
+ '희생',
+ '흰색',
+ '힘껏',
+];
+
+const spanish = [
+ 'ábaco',
+ 'abdomen',
+ 'abeja',
+ 'abierto',
+ 'abogado',
+ 'abono',
+ 'aborto',
+ 'abrazo',
+ 'abrir',
+ 'abuelo',
+ 'abuso',
+ 'acabar',
+ 'academia',
+ 'acceso',
+ 'acción',
+ 'aceite',
+ 'acelga',
+ 'acento',
+ 'aceptar',
+ 'ácido',
+ 'aclarar',
+ 'acné',
+ 'acoger',
+ 'acoso',
+ 'activo',
+ 'acto',
+ 'actriz',
+ 'actuar',
+ 'acudir',
+ 'acuerdo',
+ 'acusar',
+ 'adicto',
+ 'admitir',
+ 'adoptar',
+ 'adorno',
+ 'aduana',
+ 'adulto',
+ 'aéreo',
+ 'afectar',
+ 'afición',
+ 'afinar',
+ 'afirmar',
+ 'ágil',
+ 'agitar',
+ 'agonía',
+ 'agosto',
+ 'agotar',
+ 'agregar',
+ 'agrio',
+ 'agua',
+ 'agudo',
+ 'águila',
+ 'aguja',
+ 'ahogo',
+ 'ahorro',
+ 'aire',
+ 'aislar',
+ 'ajedrez',
+ 'ajeno',
+ 'ajuste',
+ 'alacrán',
+ 'alambre',
+ 'alarma',
+ 'alba',
+ 'álbum',
+ 'alcalde',
+ 'aldea',
+ 'alegre',
+ 'alejar',
+ 'alerta',
+ 'aleta',
+ 'alfiler',
+ 'alga',
+ 'algodón',
+ 'aliado',
+ 'aliento',
+ 'alivio',
+ 'alma',
+ 'almeja',
+ 'almíbar',
+ 'altar',
+ 'alteza',
+ 'altivo',
+ 'alto',
+ 'altura',
+ 'alumno',
+ 'alzar',
+ 'amable',
+ 'amante',
+ 'amapola',
+ 'amargo',
+ 'amasar',
+ 'ámbar',
+ 'ámbito',
+ 'ameno',
+ 'amigo',
+ 'amistad',
+ 'amor',
+ 'amparo',
+ 'amplio',
+ 'ancho',
+ 'anciano',
+ 'ancla',
+ 'andar',
+ 'andén',
+ 'anemia',
+ 'ángulo',
+ 'anillo',
+ 'ánimo',
+ 'anís',
+ 'anotar',
+ 'antena',
+ 'antiguo',
+ 'antojo',
+ 'anual',
+ 'anular',
+ 'anuncio',
+ 'añadir',
+ 'añejo',
+ 'año',
+ 'apagar',
+ 'aparato',
+ 'apetito',
+ 'apio',
+ 'aplicar',
+ 'apodo',
+ 'aporte',
+ 'apoyo',
+ 'aprender',
+ 'aprobar',
+ 'apuesta',
+ 'apuro',
+ 'arado',
+ 'araña',
+ 'arar',
+ 'árbitro',
+ 'árbol',
+ 'arbusto',
+ 'archivo',
+ 'arco',
+ 'arder',
+ 'ardilla',
+ 'arduo',
+ 'área',
+ 'árido',
+ 'aries',
+ 'armonía',
+ 'arnés',
+ 'aroma',
+ 'arpa',
+ 'arpón',
+ 'arreglo',
+ 'arroz',
+ 'arruga',
+ 'arte',
+ 'artista',
+ 'asa',
+ 'asado',
+ 'asalto',
+ 'ascenso',
+ 'asegurar',
+ 'aseo',
+ 'asesor',
+ 'asiento',
+ 'asilo',
+ 'asistir',
+ 'asno',
+ 'asombro',
+ 'áspero',
+ 'astilla',
+ 'astro',
+ 'astuto',
+ 'asumir',
+ 'asunto',
+ 'atajo',
+ 'ataque',
+ 'atar',
+ 'atento',
+ 'ateo',
+ 'ático',
+ 'atleta',
+ 'átomo',
+ 'atraer',
+ 'atroz',
+ 'atún',
+ 'audaz',
+ 'audio',
+ 'auge',
+ 'aula',
+ 'aumento',
+ 'ausente',
+ 'autor',
+ 'aval',
+ 'avance',
+ 'avaro',
+ 'ave',
+ 'avellana',
+ 'avena',
+ 'avestruz',
+ 'avión',
+ 'aviso',
+ 'ayer',
+ 'ayuda',
+ 'ayuno',
+ 'azafrán',
+ 'azar',
+ 'azote',
+ 'azúcar',
+ 'azufre',
+ 'azul',
+ 'baba',
+ 'babor',
+ 'bache',
+ 'bahía',
+ 'baile',
+ 'bajar',
+ 'balanza',
+ 'balcón',
+ 'balde',
+ 'bambú',
+ 'banco',
+ 'banda',
+ 'baño',
+ 'barba',
+ 'barco',
+ 'barniz',
+ 'barro',
+ 'báscula',
+ 'bastón',
+ 'basura',
+ 'batalla',
+ 'batería',
+ 'batir',
+ 'batuta',
+ 'baúl',
+ 'bazar',
+ 'bebé',
+ 'bebida',
+ 'bello',
+ 'besar',
+ 'beso',
+ 'bestia',
+ 'bicho',
+ 'bien',
+ 'bingo',
+ 'blanco',
+ 'bloque',
+ 'blusa',
+ 'boa',
+ 'bobina',
+ 'bobo',
+ 'boca',
+ 'bocina',
+ 'boda',
+ 'bodega',
+ 'boina',
+ 'bola',
+ 'bolero',
+ 'bolsa',
+ 'bomba',
+ 'bondad',
+ 'bonito',
+ 'bono',
+ 'bonsái',
+ 'borde',
+ 'borrar',
+ 'bosque',
+ 'bote',
+ 'botín',
+ 'bóveda',
+ 'bozal',
+ 'bravo',
+ 'brazo',
+ 'brecha',
+ 'breve',
+ 'brillo',
+ 'brinco',
+ 'brisa',
+ 'broca',
+ 'broma',
+ 'bronce',
+ 'brote',
+ 'bruja',
+ 'brusco',
+ 'bruto',
+ 'buceo',
+ 'bucle',
+ 'bueno',
+ 'buey',
+ 'bufanda',
+ 'bufón',
+ 'búho',
+ 'buitre',
+ 'bulto',
+ 'burbuja',
+ 'burla',
+ 'burro',
+ 'buscar',
+ 'butaca',
+ 'buzón',
+ 'caballo',
+ 'cabeza',
+ 'cabina',
+ 'cabra',
+ 'cacao',
+ 'cadáver',
+ 'cadena',
+ 'caer',
+ 'café',
+ 'caída',
+ 'caimán',
+ 'caja',
+ 'cajón',
+ 'cal',
+ 'calamar',
+ 'calcio',
+ 'caldo',
+ 'calidad',
+ 'calle',
+ 'calma',
+ 'calor',
+ 'calvo',
+ 'cama',
+ 'cambio',
+ 'camello',
+ 'camino',
+ 'campo',
+ 'cáncer',
+ 'candil',
+ 'canela',
+ 'canguro',
+ 'canica',
+ 'canto',
+ 'caña',
+ 'cañón',
+ 'caoba',
+ 'caos',
+ 'capaz',
+ 'capitán',
+ 'capote',
+ 'captar',
+ 'capucha',
+ 'cara',
+ 'carbón',
+ 'cárcel',
+ 'careta',
+ 'carga',
+ 'cariño',
+ 'carne',
+ 'carpeta',
+ 'carro',
+ 'carta',
+ 'casa',
+ 'casco',
+ 'casero',
+ 'caspa',
+ 'castor',
+ 'catorce',
+ 'catre',
+ 'caudal',
+ 'causa',
+ 'cazo',
+ 'cebolla',
+ 'ceder',
+ 'cedro',
+ 'celda',
+ 'célebre',
+ 'celoso',
+ 'célula',
+ 'cemento',
+ 'ceniza',
+ 'centro',
+ 'cerca',
+ 'cerdo',
+ 'cereza',
+ 'cero',
+ 'cerrar',
+ 'certeza',
+ 'césped',
+ 'cetro',
+ 'chacal',
+ 'chaleco',
+ 'champú',
+ 'chancla',
+ 'chapa',
+ 'charla',
+ 'chico',
+ 'chiste',
+ 'chivo',
+ 'choque',
+ 'choza',
+ 'chuleta',
+ 'chupar',
+ 'ciclón',
+ 'ciego',
+ 'cielo',
+ 'cien',
+ 'cierto',
+ 'cifra',
+ 'cigarro',
+ 'cima',
+ 'cinco',
+ 'cine',
+ 'cinta',
+ 'ciprés',
+ 'circo',
+ 'ciruela',
+ 'cisne',
+ 'cita',
+ 'ciudad',
+ 'clamor',
+ 'clan',
+ 'claro',
+ 'clase',
+ 'clave',
+ 'cliente',
+ 'clima',
+ 'clínica',
+ 'cobre',
+ 'cocción',
+ 'cochino',
+ 'cocina',
+ 'coco',
+ 'código',
+ 'codo',
+ 'cofre',
+ 'coger',
+ 'cohete',
+ 'cojín',
+ 'cojo',
+ 'cola',
+ 'colcha',
+ 'colegio',
+ 'colgar',
+ 'colina',
+ 'collar',
+ 'colmo',
+ 'columna',
+ 'combate',
+ 'comer',
+ 'comida',
+ 'cómodo',
+ 'compra',
+ 'conde',
+ 'conejo',
+ 'conga',
+ 'conocer',
+ 'consejo',
+ 'contar',
+ 'copa',
+ 'copia',
+ 'corazón',
+ 'corbata',
+ 'corcho',
+ 'cordón',
+ 'corona',
+ 'correr',
+ 'coser',
+ 'cosmos',
+ 'costa',
+ 'cráneo',
+ 'cráter',
+ 'crear',
+ 'crecer',
+ 'creído',
+ 'crema',
+ 'cría',
+ 'crimen',
+ 'cripta',
+ 'crisis',
+ 'cromo',
+ 'crónica',
+ 'croqueta',
+ 'crudo',
+ 'cruz',
+ 'cuadro',
+ 'cuarto',
+ 'cuatro',
+ 'cubo',
+ 'cubrir',
+ 'cuchara',
+ 'cuello',
+ 'cuento',
+ 'cuerda',
+ 'cuesta',
+ 'cueva',
+ 'cuidar',
+ 'culebra',
+ 'culpa',
+ 'culto',
+ 'cumbre',
+ 'cumplir',
+ 'cuna',
+ 'cuneta',
+ 'cuota',
+ 'cupón',
+ 'cúpula',
+ 'curar',
+ 'curioso',
+ 'curso',
+ 'curva',
+ 'cutis',
+ 'dama',
+ 'danza',
+ 'dar',
+ 'dardo',
+ 'dátil',
+ 'deber',
+ 'débil',
+ 'década',
+ 'decir',
+ 'dedo',
+ 'defensa',
+ 'definir',
+ 'dejar',
+ 'delfín',
+ 'delgado',
+ 'delito',
+ 'demora',
+ 'denso',
+ 'dental',
+ 'deporte',
+ 'derecho',
+ 'derrota',
+ 'desayuno',
+ 'deseo',
+ 'desfile',
+ 'desnudo',
+ 'destino',
+ 'desvío',
+ 'detalle',
+ 'detener',
+ 'deuda',
+ 'día',
+ 'diablo',
+ 'diadema',
+ 'diamante',
+ 'diana',
+ 'diario',
+ 'dibujo',
+ 'dictar',
+ 'diente',
+ 'dieta',
+ 'diez',
+ 'difícil',
+ 'digno',
+ 'dilema',
+ 'diluir',
+ 'dinero',
+ 'directo',
+ 'dirigir',
+ 'disco',
+ 'diseño',
+ 'disfraz',
+ 'diva',
+ 'divino',
+ 'doble',
+ 'doce',
+ 'dolor',
+ 'domingo',
+ 'don',
+ 'donar',
+ 'dorado',
+ 'dormir',
+ 'dorso',
+ 'dos',
+ 'dosis',
+ 'dragón',
+ 'droga',
+ 'ducha',
+ 'duda',
+ 'duelo',
+ 'dueño',
+ 'dulce',
+ 'dúo',
+ 'duque',
+ 'durar',
+ 'dureza',
+ 'duro',
+ 'ébano',
+ 'ebrio',
+ 'echar',
+ 'eco',
+ 'ecuador',
+ 'edad',
+ 'edición',
+ 'edificio',
+ 'editor',
+ 'educar',
+ 'efecto',
+ 'eficaz',
+ 'eje',
+ 'ejemplo',
+ 'elefante',
+ 'elegir',
+ 'elemento',
+ 'elevar',
+ 'elipse',
+ 'élite',
+ 'elixir',
+ 'elogio',
+ 'eludir',
+ 'embudo',
+ 'emitir',
+ 'emoción',
+ 'empate',
+ 'empeño',
+ 'empleo',
+ 'empresa',
+ 'enano',
+ 'encargo',
+ 'enchufe',
+ 'encía',
+ 'enemigo',
+ 'enero',
+ 'enfado',
+ 'enfermo',
+ 'engaño',
+ 'enigma',
+ 'enlace',
+ 'enorme',
+ 'enredo',
+ 'ensayo',
+ 'enseñar',
+ 'entero',
+ 'entrar',
+ 'envase',
+ 'envío',
+ 'época',
+ 'equipo',
+ 'erizo',
+ 'escala',
+ 'escena',
+ 'escolar',
+ 'escribir',
+ 'escudo',
+ 'esencia',
+ 'esfera',
+ 'esfuerzo',
+ 'espada',
+ 'espejo',
+ 'espía',
+ 'esposa',
+ 'espuma',
+ 'esquí',
+ 'estar',
+ 'este',
+ 'estilo',
+ 'estufa',
+ 'etapa',
+ 'eterno',
+ 'ética',
+ 'etnia',
+ 'evadir',
+ 'evaluar',
+ 'evento',
+ 'evitar',
+ 'exacto',
+ 'examen',
+ 'exceso',
+ 'excusa',
+ 'exento',
+ 'exigir',
+ 'exilio',
+ 'existir',
+ 'éxito',
+ 'experto',
+ 'explicar',
+ 'exponer',
+ 'extremo',
+ 'fábrica',
+ 'fábula',
+ 'fachada',
+ 'fácil',
+ 'factor',
+ 'faena',
+ 'faja',
+ 'falda',
+ 'fallo',
+ 'falso',
+ 'faltar',
+ 'fama',
+ 'familia',
+ 'famoso',
+ 'faraón',
+ 'farmacia',
+ 'farol',
+ 'farsa',
+ 'fase',
+ 'fatiga',
+ 'fauna',
+ 'favor',
+ 'fax',
+ 'febrero',
+ 'fecha',
+ 'feliz',
+ 'feo',
+ 'feria',
+ 'feroz',
+ 'fértil',
+ 'fervor',
+ 'festín',
+ 'fiable',
+ 'fianza',
+ 'fiar',
+ 'fibra',
+ 'ficción',
+ 'ficha',
+ 'fideo',
+ 'fiebre',
+ 'fiel',
+ 'fiera',
+ 'fiesta',
+ 'figura',
+ 'fijar',
+ 'fijo',
+ 'fila',
+ 'filete',
+ 'filial',
+ 'filtro',
+ 'fin',
+ 'finca',
+ 'fingir',
+ 'finito',
+ 'firma',
+ 'flaco',
+ 'flauta',
+ 'flecha',
+ 'flor',
+ 'flota',
+ 'fluir',
+ 'flujo',
+ 'flúor',
+ 'fobia',
+ 'foca',
+ 'fogata',
+ 'fogón',
+ 'folio',
+ 'folleto',
+ 'fondo',
+ 'forma',
+ 'forro',
+ 'fortuna',
+ 'forzar',
+ 'fosa',
+ 'foto',
+ 'fracaso',
+ 'frágil',
+ 'franja',
+ 'frase',
+ 'fraude',
+ 'freír',
+ 'freno',
+ 'fresa',
+ 'frío',
+ 'frito',
+ 'fruta',
+ 'fuego',
+ 'fuente',
+ 'fuerza',
+ 'fuga',
+ 'fumar',
+ 'función',
+ 'funda',
+ 'furgón',
+ 'furia',
+ 'fusil',
+ 'fútbol',
+ 'futuro',
+ 'gacela',
+ 'gafas',
+ 'gaita',
+ 'gajo',
+ 'gala',
+ 'galería',
+ 'gallo',
+ 'gamba',
+ 'ganar',
+ 'gancho',
+ 'ganga',
+ 'ganso',
+ 'garaje',
+ 'garza',
+ 'gasolina',
+ 'gastar',
+ 'gato',
+ 'gavilán',
+ 'gemelo',
+ 'gemir',
+ 'gen',
+ 'género',
+ 'genio',
+ 'gente',
+ 'geranio',
+ 'gerente',
+ 'germen',
+ 'gesto',
+ 'gigante',
+ 'gimnasio',
+ 'girar',
+ 'giro',
+ 'glaciar',
+ 'globo',
+ 'gloria',
+ 'gol',
+ 'golfo',
+ 'goloso',
+ 'golpe',
+ 'goma',
+ 'gordo',
+ 'gorila',
+ 'gorra',
+ 'gota',
+ 'goteo',
+ 'gozar',
+ 'grada',
+ 'gráfico',
+ 'grano',
+ 'grasa',
+ 'gratis',
+ 'grave',
+ 'grieta',
+ 'grillo',
+ 'gripe',
+ 'gris',
+ 'grito',
+ 'grosor',
+ 'grúa',
+ 'grueso',
+ 'grumo',
+ 'grupo',
+ 'guante',
+ 'guapo',
+ 'guardia',
+ 'guerra',
+ 'guía',
+ 'guiño',
+ 'guion',
+ 'guiso',
+ 'guitarra',
+ 'gusano',
+ 'gustar',
+ 'haber',
+ 'hábil',
+ 'hablar',
+ 'hacer',
+ 'hacha',
+ 'hada',
+ 'hallar',
+ 'hamaca',
+ 'harina',
+ 'haz',
+ 'hazaña',
+ 'hebilla',
+ 'hebra',
+ 'hecho',
+ 'helado',
+ 'helio',
+ 'hembra',
+ 'herir',
+ 'hermano',
+ 'héroe',
+ 'hervir',
+ 'hielo',
+ 'hierro',
+ 'hígado',
+ 'higiene',
+ 'hijo',
+ 'himno',
+ 'historia',
+ 'hocico',
+ 'hogar',
+ 'hoguera',
+ 'hoja',
+ 'hombre',
+ 'hongo',
+ 'honor',
+ 'honra',
+ 'hora',
+ 'hormiga',
+ 'horno',
+ 'hostil',
+ 'hoyo',
+ 'hueco',
+ 'huelga',
+ 'huerta',
+ 'hueso',
+ 'huevo',
+ 'huida',
+ 'huir',
+ 'humano',
+ 'húmedo',
+ 'humilde',
+ 'humo',
+ 'hundir',
+ 'huracán',
+ 'hurto',
+ 'icono',
+ 'ideal',
+ 'idioma',
+ 'ídolo',
+ 'iglesia',
+ 'iglú',
+ 'igual',
+ 'ilegal',
+ 'ilusión',
+ 'imagen',
+ 'imán',
+ 'imitar',
+ 'impar',
+ 'imperio',
+ 'imponer',
+ 'impulso',
+ 'incapaz',
+ 'índice',
+ 'inerte',
+ 'infiel',
+ 'informe',
+ 'ingenio',
+ 'inicio',
+ 'inmenso',
+ 'inmune',
+ 'innato',
+ 'insecto',
+ 'instante',
+ 'interés',
+ 'íntimo',
+ 'intuir',
+ 'inútil',
+ 'invierno',
+ 'ira',
+ 'iris',
+ 'ironía',
+ 'isla',
+ 'islote',
+ 'jabalí',
+ 'jabón',
+ 'jamón',
+ 'jarabe',
+ 'jardín',
+ 'jarra',
+ 'jaula',
+ 'jazmín',
+ 'jefe',
+ 'jeringa',
+ 'jinete',
+ 'jornada',
+ 'joroba',
+ 'joven',
+ 'joya',
+ 'juerga',
+ 'jueves',
+ 'juez',
+ 'jugador',
+ 'jugo',
+ 'juguete',
+ 'juicio',
+ 'junco',
+ 'jungla',
+ 'junio',
+ 'juntar',
+ 'júpiter',
+ 'jurar',
+ 'justo',
+ 'juvenil',
+ 'juzgar',
+ 'kilo',
+ 'koala',
+ 'labio',
+ 'lacio',
+ 'lacra',
+ 'lado',
+ 'ladrón',
+ 'lagarto',
+ 'lágrima',
+ 'laguna',
+ 'laico',
+ 'lamer',
+ 'lámina',
+ 'lámpara',
+ 'lana',
+ 'lancha',
+ 'langosta',
+ 'lanza',
+ 'lápiz',
+ 'largo',
+ 'larva',
+ 'lástima',
+ 'lata',
+ 'látex',
+ 'latir',
+ 'laurel',
+ 'lavar',
+ 'lazo',
+ 'leal',
+ 'lección',
+ 'leche',
+ 'lector',
+ 'leer',
+ 'legión',
+ 'legumbre',
+ 'lejano',
+ 'lengua',
+ 'lento',
+ 'leña',
+ 'león',
+ 'leopardo',
+ 'lesión',
+ 'letal',
+ 'letra',
+ 'leve',
+ 'leyenda',
+ 'libertad',
+ 'libro',
+ 'licor',
+ 'líder',
+ 'lidiar',
+ 'lienzo',
+ 'liga',
+ 'ligero',
+ 'lima',
+ 'límite',
+ 'limón',
+ 'limpio',
+ 'lince',
+ 'lindo',
+ 'línea',
+ 'lingote',
+ 'lino',
+ 'linterna',
+ 'líquido',
+ 'liso',
+ 'lista',
+ 'litera',
+ 'litio',
+ 'litro',
+ 'llaga',
+ 'llama',
+ 'llanto',
+ 'llave',
+ 'llegar',
+ 'llenar',
+ 'llevar',
+ 'llorar',
+ 'llover',
+ 'lluvia',
+ 'lobo',
+ 'loción',
+ 'loco',
+ 'locura',
+ 'lógica',
+ 'logro',
+ 'lombriz',
+ 'lomo',
+ 'lonja',
+ 'lote',
+ 'lucha',
+ 'lucir',
+ 'lugar',
+ 'lujo',
+ 'luna',
+ 'lunes',
+ 'lupa',
+ 'lustro',
+ 'luto',
+ 'luz',
+ 'maceta',
+ 'macho',
+ 'madera',
+ 'madre',
+ 'maduro',
+ 'maestro',
+ 'mafia',
+ 'magia',
+ 'mago',
+ 'maíz',
+ 'maldad',
+ 'maleta',
+ 'malla',
+ 'malo',
+ 'mamá',
+ 'mambo',
+ 'mamut',
+ 'manco',
+ 'mando',
+ 'manejar',
+ 'manga',
+ 'maniquí',
+ 'manjar',
+ 'mano',
+ 'manso',
+ 'manta',
+ 'mañana',
+ 'mapa',
+ 'máquina',
+ 'mar',
+ 'marco',
+ 'marea',
+ 'marfil',
+ 'margen',
+ 'marido',
+ 'mármol',
+ 'marrón',
+ 'martes',
+ 'marzo',
+ 'masa',
+ 'máscara',
+ 'masivo',
+ 'matar',
+ 'materia',
+ 'matiz',
+ 'matriz',
+ 'máximo',
+ 'mayor',
+ 'mazorca',
+ 'mecha',
+ 'medalla',
+ 'medio',
+ 'médula',
+ 'mejilla',
+ 'mejor',
+ 'melena',
+ 'melón',
+ 'memoria',
+ 'menor',
+ 'mensaje',
+ 'mente',
+ 'menú',
+ 'mercado',
+ 'merengue',
+ 'mérito',
+ 'mes',
+ 'mesón',
+ 'meta',
+ 'meter',
+ 'método',
+ 'metro',
+ 'mezcla',
+ 'miedo',
+ 'miel',
+ 'miembro',
+ 'miga',
+ 'mil',
+ 'milagro',
+ 'militar',
+ 'millón',
+ 'mimo',
+ 'mina',
+ 'minero',
+ 'mínimo',
+ 'minuto',
+ 'miope',
+ 'mirar',
+ 'misa',
+ 'miseria',
+ 'misil',
+ 'mismo',
+ 'mitad',
+ 'mito',
+ 'mochila',
+ 'moción',
+ 'moda',
+ 'modelo',
+ 'moho',
+ 'mojar',
+ 'molde',
+ 'moler',
+ 'molino',
+ 'momento',
+ 'momia',
+ 'monarca',
+ 'moneda',
+ 'monja',
+ 'monto',
+ 'moño',
+ 'morada',
+ 'morder',
+ 'moreno',
+ 'morir',
+ 'morro',
+ 'morsa',
+ 'mortal',
+ 'mosca',
+ 'mostrar',
+ 'motivo',
+ 'mover',
+ 'móvil',
+ 'mozo',
+ 'mucho',
+ 'mudar',
+ 'mueble',
+ 'muela',
+ 'muerte',
+ 'muestra',
+ 'mugre',
+ 'mujer',
+ 'mula',
+ 'muleta',
+ 'multa',
+ 'mundo',
+ 'muñeca',
+ 'mural',
+ 'muro',
+ 'músculo',
+ 'museo',
+ 'musgo',
+ 'música',
+ 'muslo',
+ 'nácar',
+ 'nación',
+ 'nadar',
+ 'naipe',
+ 'naranja',
+ 'nariz',
+ 'narrar',
+ 'nasal',
+ 'natal',
+ 'nativo',
+ 'natural',
+ 'náusea',
+ 'naval',
+ 'nave',
+ 'navidad',
+ 'necio',
+ 'néctar',
+ 'negar',
+ 'negocio',
+ 'negro',
+ 'neón',
+ 'nervio',
+ 'neto',
+ 'neutro',
+ 'nevar',
+ 'nevera',
+ 'nicho',
+ 'nido',
+ 'niebla',
+ 'nieto',
+ 'niñez',
+ 'niño',
+ 'nítido',
+ 'nivel',
+ 'nobleza',
+ 'noche',
+ 'nómina',
+ 'noria',
+ 'norma',
+ 'norte',
+ 'nota',
+ 'noticia',
+ 'novato',
+ 'novela',
+ 'novio',
+ 'nube',
+ 'nuca',
+ 'núcleo',
+ 'nudillo',
+ 'nudo',
+ 'nuera',
+ 'nueve',
+ 'nuez',
+ 'nulo',
+ 'número',
+ 'nutria',
+ 'oasis',
+ 'obeso',
+ 'obispo',
+ 'objeto',
+ 'obra',
+ 'obrero',
+ 'observar',
+ 'obtener',
+ 'obvio',
+ 'oca',
+ 'ocaso',
+ 'océano',
+ 'ochenta',
+ 'ocho',
+ 'ocio',
+ 'ocre',
+ 'octavo',
+ 'octubre',
+ 'oculto',
+ 'ocupar',
+ 'ocurrir',
+ 'odiar',
+ 'odio',
+ 'odisea',
+ 'oeste',
+ 'ofensa',
+ 'oferta',
+ 'oficio',
+ 'ofrecer',
+ 'ogro',
+ 'oído',
+ 'oír',
+ 'ojo',
+ 'ola',
+ 'oleada',
+ 'olfato',
+ 'olivo',
+ 'olla',
+ 'olmo',
+ 'olor',
+ 'olvido',
+ 'ombligo',
+ 'onda',
+ 'onza',
+ 'opaco',
+ 'opción',
+ 'ópera',
+ 'opinar',
+ 'oponer',
+ 'optar',
+ 'óptica',
+ 'opuesto',
+ 'oración',
+ 'orador',
+ 'oral',
+ 'órbita',
+ 'orca',
+ 'orden',
+ 'oreja',
+ 'órgano',
+ 'orgía',
+ 'orgullo',
+ 'oriente',
+ 'origen',
+ 'orilla',
+ 'oro',
+ 'orquesta',
+ 'oruga',
+ 'osadía',
+ 'oscuro',
+ 'osezno',
+ 'oso',
+ 'ostra',
+ 'otoño',
+ 'otro',
+ 'oveja',
+ 'óvulo',
+ 'óxido',
+ 'oxígeno',
+ 'oyente',
+ 'ozono',
+ 'pacto',
+ 'padre',
+ 'paella',
+ 'página',
+ 'pago',
+ 'país',
+ 'pájaro',
+ 'palabra',
+ 'palco',
+ 'paleta',
+ 'pálido',
+ 'palma',
+ 'paloma',
+ 'palpar',
+ 'pan',
+ 'panal',
+ 'pánico',
+ 'pantera',
+ 'pañuelo',
+ 'papá',
+ 'papel',
+ 'papilla',
+ 'paquete',
+ 'parar',
+ 'parcela',
+ 'pared',
+ 'parir',
+ 'paro',
+ 'párpado',
+ 'parque',
+ 'párrafo',
+ 'parte',
+ 'pasar',
+ 'paseo',
+ 'pasión',
+ 'paso',
+ 'pasta',
+ 'pata',
+ 'patio',
+ 'patria',
+ 'pausa',
+ 'pauta',
+ 'pavo',
+ 'payaso',
+ 'peatón',
+ 'pecado',
+ 'pecera',
+ 'pecho',
+ 'pedal',
+ 'pedir',
+ 'pegar',
+ 'peine',
+ 'pelar',
+ 'peldaño',
+ 'pelea',
+ 'peligro',
+ 'pellejo',
+ 'pelo',
+ 'peluca',
+ 'pena',
+ 'pensar',
+ 'peñón',
+ 'peón',
+ 'peor',
+ 'pepino',
+ 'pequeño',
+ 'pera',
+ 'percha',
+ 'perder',
+ 'pereza',
+ 'perfil',
+ 'perico',
+ 'perla',
+ 'permiso',
+ 'perro',
+ 'persona',
+ 'pesa',
+ 'pesca',
+ 'pésimo',
+ 'pestaña',
+ 'pétalo',
+ 'petróleo',
+ 'pez',
+ 'pezuña',
+ 'picar',
+ 'pichón',
+ 'pie',
+ 'piedra',
+ 'pierna',
+ 'pieza',
+ 'pijama',
+ 'pilar',
+ 'piloto',
+ 'pimienta',
+ 'pino',
+ 'pintor',
+ 'pinza',
+ 'piña',
+ 'piojo',
+ 'pipa',
+ 'pirata',
+ 'pisar',
+ 'piscina',
+ 'piso',
+ 'pista',
+ 'pitón',
+ 'pizca',
+ 'placa',
+ 'plan',
+ 'plata',
+ 'playa',
+ 'plaza',
+ 'pleito',
+ 'pleno',
+ 'plomo',
+ 'pluma',
+ 'plural',
+ 'pobre',
+ 'poco',
+ 'poder',
+ 'podio',
+ 'poema',
+ 'poesía',
+ 'poeta',
+ 'polen',
+ 'policía',
+ 'pollo',
+ 'polvo',
+ 'pomada',
+ 'pomelo',
+ 'pomo',
+ 'pompa',
+ 'poner',
+ 'porción',
+ 'portal',
+ 'posada',
+ 'poseer',
+ 'posible',
+ 'poste',
+ 'potencia',
+ 'potro',
+ 'pozo',
+ 'prado',
+ 'precoz',
+ 'pregunta',
+ 'premio',
+ 'prensa',
+ 'preso',
+ 'previo',
+ 'primo',
+ 'príncipe',
+ 'prisión',
+ 'privar',
+ 'proa',
+ 'probar',
+ 'proceso',
+ 'producto',
+ 'proeza',
+ 'profesor',
+ 'programa',
+ 'prole',
+ 'promesa',
+ 'pronto',
+ 'propio',
+ 'próximo',
+ 'prueba',
+ 'público',
+ 'puchero',
+ 'pudor',
+ 'pueblo',
+ 'puerta',
+ 'puesto',
+ 'pulga',
+ 'pulir',
+ 'pulmón',
+ 'pulpo',
+ 'pulso',
+ 'puma',
+ 'punto',
+ 'puñal',
+ 'puño',
+ 'pupa',
+ 'pupila',
+ 'puré',
+ 'quedar',
+ 'queja',
+ 'quemar',
+ 'querer',
+ 'queso',
+ 'quieto',
+ 'química',
+ 'quince',
+ 'quitar',
+ 'rábano',
+ 'rabia',
+ 'rabo',
+ 'ración',
+ 'radical',
+ 'raíz',
+ 'rama',
+ 'rampa',
+ 'rancho',
+ 'rango',
+ 'rapaz',
+ 'rápido',
+ 'rapto',
+ 'rasgo',
+ 'raspa',
+ 'rato',
+ 'rayo',
+ 'raza',
+ 'razón',
+ 'reacción',
+ 'realidad',
+ 'rebaño',
+ 'rebote',
+ 'recaer',
+ 'receta',
+ 'rechazo',
+ 'recoger',
+ 'recreo',
+ 'recto',
+ 'recurso',
+ 'red',
+ 'redondo',
+ 'reducir',
+ 'reflejo',
+ 'reforma',
+ 'refrán',
+ 'refugio',
+ 'regalo',
+ 'regir',
+ 'regla',
+ 'regreso',
+ 'rehén',
+ 'reino',
+ 'reír',
+ 'reja',
+ 'relato',
+ 'relevo',
+ 'relieve',
+ 'relleno',
+ 'reloj',
+ 'remar',
+ 'remedio',
+ 'remo',
+ 'rencor',
+ 'rendir',
+ 'renta',
+ 'reparto',
+ 'repetir',
+ 'reposo',
+ 'reptil',
+ 'res',
+ 'rescate',
+ 'resina',
+ 'respeto',
+ 'resto',
+ 'resumen',
+ 'retiro',
+ 'retorno',
+ 'retrato',
+ 'reunir',
+ 'revés',
+ 'revista',
+ 'rey',
+ 'rezar',
+ 'rico',
+ 'riego',
+ 'rienda',
+ 'riesgo',
+ 'rifa',
+ 'rígido',
+ 'rigor',
+ 'rincón',
+ 'riñón',
+ 'río',
+ 'riqueza',
+ 'risa',
+ 'ritmo',
+ 'rito',
+ 'rizo',
+ 'roble',
+ 'roce',
+ 'rociar',
+ 'rodar',
+ 'rodeo',
+ 'rodilla',
+ 'roer',
+ 'rojizo',
+ 'rojo',
+ 'romero',
+ 'romper',
+ 'ron',
+ 'ronco',
+ 'ronda',
+ 'ropa',
+ 'ropero',
+ 'rosa',
+ 'rosca',
+ 'rostro',
+ 'rotar',
+ 'rubí',
+ 'rubor',
+ 'rudo',
+ 'rueda',
+ 'rugir',
+ 'ruido',
+ 'ruina',
+ 'ruleta',
+ 'rulo',
+ 'rumbo',
+ 'rumor',
+ 'ruptura',
+ 'ruta',
+ 'rutina',
+ 'sábado',
+ 'saber',
+ 'sabio',
+ 'sable',
+ 'sacar',
+ 'sagaz',
+ 'sagrado',
+ 'sala',
+ 'saldo',
+ 'salero',
+ 'salir',
+ 'salmón',
+ 'salón',
+ 'salsa',
+ 'salto',
+ 'salud',
+ 'salvar',
+ 'samba',
+ 'sanción',
+ 'sandía',
+ 'sanear',
+ 'sangre',
+ 'sanidad',
+ 'sano',
+ 'santo',
+ 'sapo',
+ 'saque',
+ 'sardina',
+ 'sartén',
+ 'sastre',
+ 'satán',
+ 'sauna',
+ 'saxofón',
+ 'sección',
+ 'seco',
+ 'secreto',
+ 'secta',
+ 'sed',
+ 'seguir',
+ 'seis',
+ 'sello',
+ 'selva',
+ 'semana',
+ 'semilla',
+ 'senda',
+ 'sensor',
+ 'señal',
+ 'señor',
+ 'separar',
+ 'sepia',
+ 'sequía',
+ 'ser',
+ 'serie',
+ 'sermón',
+ 'servir',
+ 'sesenta',
+ 'sesión',
+ 'seta',
+ 'setenta',
+ 'severo',
+ 'sexo',
+ 'sexto',
+ 'sidra',
+ 'siesta',
+ 'siete',
+ 'siglo',
+ 'signo',
+ 'sílaba',
+ 'silbar',
+ 'silencio',
+ 'silla',
+ 'símbolo',
+ 'simio',
+ 'sirena',
+ 'sistema',
+ 'sitio',
+ 'situar',
+ 'sobre',
+ 'socio',
+ 'sodio',
+ 'sol',
+ 'solapa',
+ 'soldado',
+ 'soledad',
+ 'sólido',
+ 'soltar',
+ 'solución',
+ 'sombra',
+ 'sondeo',
+ 'sonido',
+ 'sonoro',
+ 'sonrisa',
+ 'sopa',
+ 'soplar',
+ 'soporte',
+ 'sordo',
+ 'sorpresa',
+ 'sorteo',
+ 'sostén',
+ 'sótano',
+ 'suave',
+ 'subir',
+ 'suceso',
+ 'sudor',
+ 'suegra',
+ 'suelo',
+ 'sueño',
+ 'suerte',
+ 'sufrir',
+ 'sujeto',
+ 'sultán',
+ 'sumar',
+ 'superar',
+ 'suplir',
+ 'suponer',
+ 'supremo',
+ 'sur',
+ 'surco',
+ 'sureño',
+ 'surgir',
+ 'susto',
+ 'sutil',
+ 'tabaco',
+ 'tabique',
+ 'tabla',
+ 'tabú',
+ 'taco',
+ 'tacto',
+ 'tajo',
+ 'talar',
+ 'talco',
+ 'talento',
+ 'talla',
+ 'talón',
+ 'tamaño',
+ 'tambor',
+ 'tango',
+ 'tanque',
+ 'tapa',
+ 'tapete',
+ 'tapia',
+ 'tapón',
+ 'taquilla',
+ 'tarde',
+ 'tarea',
+ 'tarifa',
+ 'tarjeta',
+ 'tarot',
+ 'tarro',
+ 'tarta',
+ 'tatuaje',
+ 'tauro',
+ 'taza',
+ 'tazón',
+ 'teatro',
+ 'techo',
+ 'tecla',
+ 'técnica',
+ 'tejado',
+ 'tejer',
+ 'tejido',
+ 'tela',
+ 'teléfono',
+ 'tema',
+ 'temor',
+ 'templo',
+ 'tenaz',
+ 'tender',
+ 'tener',
+ 'tenis',
+ 'tenso',
+ 'teoría',
+ 'terapia',
+ 'terco',
+ 'término',
+ 'ternura',
+ 'terror',
+ 'tesis',
+ 'tesoro',
+ 'testigo',
+ 'tetera',
+ 'texto',
+ 'tez',
+ 'tibio',
+ 'tiburón',
+ 'tiempo',
+ 'tienda',
+ 'tierra',
+ 'tieso',
+ 'tigre',
+ 'tijera',
+ 'tilde',
+ 'timbre',
+ 'tímido',
+ 'timo',
+ 'tinta',
+ 'tío',
+ 'típico',
+ 'tipo',
+ 'tira',
+ 'tirón',
+ 'titán',
+ 'títere',
+ 'título',
+ 'tiza',
+ 'toalla',
+ 'tobillo',
+ 'tocar',
+ 'tocino',
+ 'todo',
+ 'toga',
+ 'toldo',
+ 'tomar',
+ 'tono',
+ 'tonto',
+ 'topar',
+ 'tope',
+ 'toque',
+ 'tórax',
+ 'torero',
+ 'tormenta',
+ 'torneo',
+ 'toro',
+ 'torpedo',
+ 'torre',
+ 'torso',
+ 'tortuga',
+ 'tos',
+ 'tosco',
+ 'toser',
+ 'tóxico',
+ 'trabajo',
+ 'tractor',
+ 'traer',
+ 'tráfico',
+ 'trago',
+ 'traje',
+ 'tramo',
+ 'trance',
+ 'trato',
+ 'trauma',
+ 'trazar',
+ 'trébol',
+ 'tregua',
+ 'treinta',
+ 'tren',
+ 'trepar',
+ 'tres',
+ 'tribu',
+ 'trigo',
+ 'tripa',
+ 'triste',
+ 'triunfo',
+ 'trofeo',
+ 'trompa',
+ 'tronco',
+ 'tropa',
+ 'trote',
+ 'trozo',
+ 'truco',
+ 'trueno',
+ 'trufa',
+ 'tubería',
+ 'tubo',
+ 'tuerto',
+ 'tumba',
+ 'tumor',
+ 'túnel',
+ 'túnica',
+ 'turbina',
+ 'turismo',
+ 'turno',
+ 'tutor',
+ 'ubicar',
+ 'úlcera',
+ 'umbral',
+ 'unidad',
+ 'unir',
+ 'universo',
+ 'uno',
+ 'untar',
+ 'uña',
+ 'urbano',
+ 'urbe',
+ 'urgente',
+ 'urna',
+ 'usar',
+ 'usuario',
+ 'útil',
+ 'utopía',
+ 'uva',
+ 'vaca',
+ 'vacío',
+ 'vacuna',
+ 'vagar',
+ 'vago',
+ 'vaina',
+ 'vajilla',
+ 'vale',
+ 'válido',
+ 'valle',
+ 'valor',
+ 'válvula',
+ 'vampiro',
+ 'vara',
+ 'variar',
+ 'varón',
+ 'vaso',
+ 'vecino',
+ 'vector',
+ 'vehículo',
+ 'veinte',
+ 'vejez',
+ 'vela',
+ 'velero',
+ 'veloz',
+ 'vena',
+ 'vencer',
+ 'venda',
+ 'veneno',
+ 'vengar',
+ 'venir',
+ 'venta',
+ 'venus',
+ 'ver',
+ 'verano',
+ 'verbo',
+ 'verde',
+ 'vereda',
+ 'verja',
+ 'verso',
+ 'verter',
+ 'vía',
+ 'viaje',
+ 'vibrar',
+ 'vicio',
+ 'víctima',
+ 'vida',
+ 'vídeo',
+ 'vidrio',
+ 'viejo',
+ 'viernes',
+ 'vigor',
+ 'vil',
+ 'villa',
+ 'vinagre',
+ 'vino',
+ 'viñedo',
+ 'violín',
+ 'viral',
+ 'virgo',
+ 'virtud',
+ 'visor',
+ 'víspera',
+ 'vista',
+ 'vitamina',
+ 'viudo',
+ 'vivaz',
+ 'vivero',
+ 'vivir',
+ 'vivo',
+ 'volcán',
+ 'volumen',
+ 'volver',
+ 'voraz',
+ 'votar',
+ 'voto',
+ 'voz',
+ 'vuelo',
+ 'vulgar',
+ 'yacer',
+ 'yate',
+ 'yegua',
+ 'yema',
+ 'yerno',
+ 'yeso',
+ 'yodo',
+ 'yoga',
+ 'yogur',
+ 'zafiro',
+ 'zanja',
+ 'zapato',
+ 'zarza',
+ 'zona',
+ 'zorro',
+ 'zumo',
+ 'zurdo',
+];
+
+const portuguese = [
+ 'abacate',
+ 'abaixo',
+ 'abalar',
+ 'abater',
+ 'abduzir',
+ 'abelha',
+ 'aberto',
+ 'abismo',
+ 'abotoar',
+ 'abranger',
+ 'abreviar',
+ 'abrigar',
+ 'abrupto',
+ 'absinto',
+ 'absoluto',
+ 'absurdo',
+ 'abutre',
+ 'acabado',
+ 'acalmar',
+ 'acampar',
+ 'acanhar',
+ 'acaso',
+ 'aceitar',
+ 'acelerar',
+ 'acenar',
+ 'acervo',
+ 'acessar',
+ 'acetona',
+ 'achatar',
+ 'acidez',
+ 'acima',
+ 'acionado',
+ 'acirrar',
+ 'aclamar',
+ 'aclive',
+ 'acolhida',
+ 'acomodar',
+ 'acoplar',
+ 'acordar',
+ 'acumular',
+ 'acusador',
+ 'adaptar',
+ 'adega',
+ 'adentro',
+ 'adepto',
+ 'adequar',
+ 'aderente',
+ 'adesivo',
+ 'adeus',
+ 'adiante',
+ 'aditivo',
+ 'adjetivo',
+ 'adjunto',
+ 'admirar',
+ 'adorar',
+ 'adquirir',
+ 'adubo',
+ 'adverso',
+ 'advogado',
+ 'aeronave',
+ 'afastar',
+ 'aferir',
+ 'afetivo',
+ 'afinador',
+ 'afivelar',
+ 'aflito',
+ 'afluente',
+ 'afrontar',
+ 'agachar',
+ 'agarrar',
+ 'agasalho',
+ 'agenciar',
+ 'agilizar',
+ 'agiota',
+ 'agitado',
+ 'agora',
+ 'agradar',
+ 'agreste',
+ 'agrupar',
+ 'aguardar',
+ 'agulha',
+ 'ajoelhar',
+ 'ajudar',
+ 'ajustar',
+ 'alameda',
+ 'alarme',
+ 'alastrar',
+ 'alavanca',
+ 'albergue',
+ 'albino',
+ 'alcatra',
+ 'aldeia',
+ 'alecrim',
+ 'alegria',
+ 'alertar',
+ 'alface',
+ 'alfinete',
+ 'algum',
+ 'alheio',
+ 'aliar',
+ 'alicate',
+ 'alienar',
+ 'alinhar',
+ 'aliviar',
+ 'almofada',
+ 'alocar',
+ 'alpiste',
+ 'alterar',
+ 'altitude',
+ 'alucinar',
+ 'alugar',
+ 'aluno',
+ 'alusivo',
+ 'alvo',
+ 'amaciar',
+ 'amador',
+ 'amarelo',
+ 'amassar',
+ 'ambas',
+ 'ambiente',
+ 'ameixa',
+ 'amenizar',
+ 'amido',
+ 'amistoso',
+ 'amizade',
+ 'amolador',
+ 'amontoar',
+ 'amoroso',
+ 'amostra',
+ 'amparar',
+ 'ampliar',
+ 'ampola',
+ 'anagrama',
+ 'analisar',
+ 'anarquia',
+ 'anatomia',
+ 'andaime',
+ 'anel',
+ 'anexo',
+ 'angular',
+ 'animar',
+ 'anjo',
+ 'anomalia',
+ 'anotado',
+ 'ansioso',
+ 'anterior',
+ 'anuidade',
+ 'anunciar',
+ 'anzol',
+ 'apagador',
+ 'apalpar',
+ 'apanhado',
+ 'apego',
+ 'apelido',
+ 'apertada',
+ 'apesar',
+ 'apetite',
+ 'apito',
+ 'aplauso',
+ 'aplicada',
+ 'apoio',
+ 'apontar',
+ 'aposta',
+ 'aprendiz',
+ 'aprovar',
+ 'aquecer',
+ 'arame',
+ 'aranha',
+ 'arara',
+ 'arcada',
+ 'ardente',
+ 'areia',
+ 'arejar',
+ 'arenito',
+ 'aresta',
+ 'argiloso',
+ 'argola',
+ 'arma',
+ 'arquivo',
+ 'arraial',
+ 'arrebate',
+ 'arriscar',
+ 'arroba',
+ 'arrumar',
+ 'arsenal',
+ 'arterial',
+ 'artigo',
+ 'arvoredo',
+ 'asfaltar',
+ 'asilado',
+ 'aspirar',
+ 'assador',
+ 'assinar',
+ 'assoalho',
+ 'assunto',
+ 'astral',
+ 'atacado',
+ 'atadura',
+ 'atalho',
+ 'atarefar',
+ 'atear',
+ 'atender',
+ 'aterro',
+ 'ateu',
+ 'atingir',
+ 'atirador',
+ 'ativo',
+ 'atoleiro',
+ 'atracar',
+ 'atrevido',
+ 'atriz',
+ 'atual',
+ 'atum',
+ 'auditor',
+ 'aumentar',
+ 'aura',
+ 'aurora',
+ 'autismo',
+ 'autoria',
+ 'autuar',
+ 'avaliar',
+ 'avante',
+ 'avaria',
+ 'avental',
+ 'avesso',
+ 'aviador',
+ 'avisar',
+ 'avulso',
+ 'axila',
+ 'azarar',
+ 'azedo',
+ 'azeite',
+ 'azulejo',
+ 'babar',
+ 'babosa',
+ 'bacalhau',
+ 'bacharel',
+ 'bacia',
+ 'bagagem',
+ 'baiano',
+ 'bailar',
+ 'baioneta',
+ 'bairro',
+ 'baixista',
+ 'bajular',
+ 'baleia',
+ 'baliza',
+ 'balsa',
+ 'banal',
+ 'bandeira',
+ 'banho',
+ 'banir',
+ 'banquete',
+ 'barato',
+ 'barbado',
+ 'baronesa',
+ 'barraca',
+ 'barulho',
+ 'baseado',
+ 'bastante',
+ 'batata',
+ 'batedor',
+ 'batida',
+ 'batom',
+ 'batucar',
+ 'baunilha',
+ 'beber',
+ 'beijo',
+ 'beirada',
+ 'beisebol',
+ 'beldade',
+ 'beleza',
+ 'belga',
+ 'beliscar',
+ 'bendito',
+ 'bengala',
+ 'benzer',
+ 'berimbau',
+ 'berlinda',
+ 'berro',
+ 'besouro',
+ 'bexiga',
+ 'bezerro',
+ 'bico',
+ 'bicudo',
+ 'bienal',
+ 'bifocal',
+ 'bifurcar',
+ 'bigorna',
+ 'bilhete',
+ 'bimestre',
+ 'bimotor',
+ 'biologia',
+ 'biombo',
+ 'biosfera',
+ 'bipolar',
+ 'birrento',
+ 'biscoito',
+ 'bisneto',
+ 'bispo',
+ 'bissexto',
+ 'bitola',
+ 'bizarro',
+ 'blindado',
+ 'bloco',
+ 'bloquear',
+ 'boato',
+ 'bobagem',
+ 'bocado',
+ 'bocejo',
+ 'bochecha',
+ 'boicotar',
+ 'bolada',
+ 'boletim',
+ 'bolha',
+ 'bolo',
+ 'bombeiro',
+ 'bonde',
+ 'boneco',
+ 'bonita',
+ 'borbulha',
+ 'borda',
+ 'boreal',
+ 'borracha',
+ 'bovino',
+ 'boxeador',
+ 'branco',
+ 'brasa',
+ 'braveza',
+ 'breu',
+ 'briga',
+ 'brilho',
+ 'brincar',
+ 'broa',
+ 'brochura',
+ 'bronzear',
+ 'broto',
+ 'bruxo',
+ 'bucha',
+ 'budismo',
+ 'bufar',
+ 'bule',
+ 'buraco',
+ 'busca',
+ 'busto',
+ 'buzina',
+ 'cabana',
+ 'cabelo',
+ 'cabide',
+ 'cabo',
+ 'cabrito',
+ 'cacau',
+ 'cacetada',
+ 'cachorro',
+ 'cacique',
+ 'cadastro',
+ 'cadeado',
+ 'cafezal',
+ 'caiaque',
+ 'caipira',
+ 'caixote',
+ 'cajado',
+ 'caju',
+ 'calafrio',
+ 'calcular',
+ 'caldeira',
+ 'calibrar',
+ 'calmante',
+ 'calota',
+ 'camada',
+ 'cambista',
+ 'camisa',
+ 'camomila',
+ 'campanha',
+ 'camuflar',
+ 'canavial',
+ 'cancelar',
+ 'caneta',
+ 'canguru',
+ 'canhoto',
+ 'canivete',
+ 'canoa',
+ 'cansado',
+ 'cantar',
+ 'canudo',
+ 'capacho',
+ 'capela',
+ 'capinar',
+ 'capotar',
+ 'capricho',
+ 'captador',
+ 'capuz',
+ 'caracol',
+ 'carbono',
+ 'cardeal',
+ 'careca',
+ 'carimbar',
+ 'carneiro',
+ 'carpete',
+ 'carreira',
+ 'cartaz',
+ 'carvalho',
+ 'casaco',
+ 'casca',
+ 'casebre',
+ 'castelo',
+ 'casulo',
+ 'catarata',
+ 'cativar',
+ 'caule',
+ 'causador',
+ 'cautelar',
+ 'cavalo',
+ 'caverna',
+ 'cebola',
+ 'cedilha',
+ 'cegonha',
+ 'celebrar',
+ 'celular',
+ 'cenoura',
+ 'censo',
+ 'centeio',
+ 'cercar',
+ 'cerrado',
+ 'certeiro',
+ 'cerveja',
+ 'cetim',
+ 'cevada',
+ 'chacota',
+ 'chaleira',
+ 'chamado',
+ 'chapada',
+ 'charme',
+ 'chatice',
+ 'chave',
+ 'chefe',
+ 'chegada',
+ 'cheiro',
+ 'cheque',
+ 'chicote',
+ 'chifre',
+ 'chinelo',
+ 'chocalho',
+ 'chover',
+ 'chumbo',
+ 'chutar',
+ 'chuva',
+ 'cicatriz',
+ 'ciclone',
+ 'cidade',
+ 'cidreira',
+ 'ciente',
+ 'cigana',
+ 'cimento',
+ 'cinto',
+ 'cinza',
+ 'ciranda',
+ 'circuito',
+ 'cirurgia',
+ 'citar',
+ 'clareza',
+ 'clero',
+ 'clicar',
+ 'clone',
+ 'clube',
+ 'coado',
+ 'coagir',
+ 'cobaia',
+ 'cobertor',
+ 'cobrar',
+ 'cocada',
+ 'coelho',
+ 'coentro',
+ 'coeso',
+ 'cogumelo',
+ 'coibir',
+ 'coifa',
+ 'coiote',
+ 'colar',
+ 'coleira',
+ 'colher',
+ 'colidir',
+ 'colmeia',
+ 'colono',
+ 'coluna',
+ 'comando',
+ 'combinar',
+ 'comentar',
+ 'comitiva',
+ 'comover',
+ 'complexo',
+ 'comum',
+ 'concha',
+ 'condor',
+ 'conectar',
+ 'confuso',
+ 'congelar',
+ 'conhecer',
+ 'conjugar',
+ 'consumir',
+ 'contrato',
+ 'convite',
+ 'cooperar',
+ 'copeiro',
+ 'copiador',
+ 'copo',
+ 'coquetel',
+ 'coragem',
+ 'cordial',
+ 'corneta',
+ 'coronha',
+ 'corporal',
+ 'correio',
+ 'cortejo',
+ 'coruja',
+ 'corvo',
+ 'cosseno',
+ 'costela',
+ 'cotonete',
+ 'couro',
+ 'couve',
+ 'covil',
+ 'cozinha',
+ 'cratera',
+ 'cravo',
+ 'creche',
+ 'credor',
+ 'creme',
+ 'crer',
+ 'crespo',
+ 'criada',
+ 'criminal',
+ 'crioulo',
+ 'crise',
+ 'criticar',
+ 'crosta',
+ 'crua',
+ 'cruzeiro',
+ 'cubano',
+ 'cueca',
+ 'cuidado',
+ 'cujo',
+ 'culatra',
+ 'culminar',
+ 'culpar',
+ 'cultura',
+ 'cumprir',
+ 'cunhado',
+ 'cupido',
+ 'curativo',
+ 'curral',
+ 'cursar',
+ 'curto',
+ 'cuspir',
+ 'custear',
+ 'cutelo',
+ 'damasco',
+ 'datar',
+ 'debater',
+ 'debitar',
+ 'deboche',
+ 'debulhar',
+ 'decalque',
+ 'decimal',
+ 'declive',
+ 'decote',
+ 'decretar',
+ 'dedal',
+ 'dedicado',
+ 'deduzir',
+ 'defesa',
+ 'defumar',
+ 'degelo',
+ 'degrau',
+ 'degustar',
+ 'deitado',
+ 'deixar',
+ 'delator',
+ 'delegado',
+ 'delinear',
+ 'delonga',
+ 'demanda',
+ 'demitir',
+ 'demolido',
+ 'dentista',
+ 'depenado',
+ 'depilar',
+ 'depois',
+ 'depressa',
+ 'depurar',
+ 'deriva',
+ 'derramar',
+ 'desafio',
+ 'desbotar',
+ 'descanso',
+ 'desenho',
+ 'desfiado',
+ 'desgaste',
+ 'desigual',
+ 'deslize',
+ 'desmamar',
+ 'desova',
+ 'despesa',
+ 'destaque',
+ 'desviar',
+ 'detalhar',
+ 'detentor',
+ 'detonar',
+ 'detrito',
+ 'deusa',
+ 'dever',
+ 'devido',
+ 'devotado',
+ 'dezena',
+ 'diagrama',
+ 'dialeto',
+ 'didata',
+ 'difuso',
+ 'digitar',
+ 'dilatado',
+ 'diluente',
+ 'diminuir',
+ 'dinastia',
+ 'dinheiro',
+ 'diocese',
+ 'direto',
+ 'discreta',
+ 'disfarce',
+ 'disparo',
+ 'disquete',
+ 'dissipar',
+ 'distante',
+ 'ditador',
+ 'diurno',
+ 'diverso',
+ 'divisor',
+ 'divulgar',
+ 'dizer',
+ 'dobrador',
+ 'dolorido',
+ 'domador',
+ 'dominado',
+ 'donativo',
+ 'donzela',
+ 'dormente',
+ 'dorsal',
+ 'dosagem',
+ 'dourado',
+ 'doutor',
+ 'drenagem',
+ 'drible',
+ 'drogaria',
+ 'duelar',
+ 'duende',
+ 'dueto',
+ 'duplo',
+ 'duquesa',
+ 'durante',
+ 'duvidoso',
+ 'eclodir',
+ 'ecoar',
+ 'ecologia',
+ 'edificar',
+ 'edital',
+ 'educado',
+ 'efeito',
+ 'efetivar',
+ 'ejetar',
+ 'elaborar',
+ 'eleger',
+ 'eleitor',
+ 'elenco',
+ 'elevador',
+ 'eliminar',
+ 'elogiar',
+ 'embargo',
+ 'embolado',
+ 'embrulho',
+ 'embutido',
+ 'emenda',
+ 'emergir',
+ 'emissor',
+ 'empatia',
+ 'empenho',
+ 'empinado',
+ 'empolgar',
+ 'emprego',
+ 'empurrar',
+ 'emulador',
+ 'encaixe',
+ 'encenado',
+ 'enchente',
+ 'encontro',
+ 'endeusar',
+ 'endossar',
+ 'enfaixar',
+ 'enfeite',
+ 'enfim',
+ 'engajado',
+ 'engenho',
+ 'englobar',
+ 'engomado',
+ 'engraxar',
+ 'enguia',
+ 'enjoar',
+ 'enlatar',
+ 'enquanto',
+ 'enraizar',
+ 'enrolado',
+ 'enrugar',
+ 'ensaio',
+ 'enseada',
+ 'ensino',
+ 'ensopado',
+ 'entanto',
+ 'enteado',
+ 'entidade',
+ 'entortar',
+ 'entrada',
+ 'entulho',
+ 'envergar',
+ 'enviado',
+ 'envolver',
+ 'enxame',
+ 'enxerto',
+ 'enxofre',
+ 'enxuto',
+ 'epiderme',
+ 'equipar',
+ 'ereto',
+ 'erguido',
+ 'errata',
+ 'erva',
+ 'ervilha',
+ 'esbanjar',
+ 'esbelto',
+ 'escama',
+ 'escola',
+ 'escrita',
+ 'escuta',
+ 'esfinge',
+ 'esfolar',
+ 'esfregar',
+ 'esfumado',
+ 'esgrima',
+ 'esmalte',
+ 'espanto',
+ 'espelho',
+ 'espiga',
+ 'esponja',
+ 'espreita',
+ 'espumar',
+ 'esquerda',
+ 'estaca',
+ 'esteira',
+ 'esticar',
+ 'estofado',
+ 'estrela',
+ 'estudo',
+ 'esvaziar',
+ 'etanol',
+ 'etiqueta',
+ 'euforia',
+ 'europeu',
+ 'evacuar',
+ 'evaporar',
+ 'evasivo',
+ 'eventual',
+ 'evidente',
+ 'evoluir',
+ 'exagero',
+ 'exalar',
+ 'examinar',
+ 'exato',
+ 'exausto',
+ 'excesso',
+ 'excitar',
+ 'exclamar',
+ 'executar',
+ 'exemplo',
+ 'exibir',
+ 'exigente',
+ 'exonerar',
+ 'expandir',
+ 'expelir',
+ 'expirar',
+ 'explanar',
+ 'exposto',
+ 'expresso',
+ 'expulsar',
+ 'externo',
+ 'extinto',
+ 'extrato',
+ 'fabricar',
+ 'fabuloso',
+ 'faceta',
+ 'facial',
+ 'fada',
+ 'fadiga',
+ 'faixa',
+ 'falar',
+ 'falta',
+ 'familiar',
+ 'fandango',
+ 'fanfarra',
+ 'fantoche',
+ 'fardado',
+ 'farelo',
+ 'farinha',
+ 'farofa',
+ 'farpa',
+ 'fartura',
+ 'fatia',
+ 'fator',
+ 'favorita',
+ 'faxina',
+ 'fazenda',
+ 'fechado',
+ 'feijoada',
+ 'feirante',
+ 'felino',
+ 'feminino',
+ 'fenda',
+ 'feno',
+ 'fera',
+ 'feriado',
+ 'ferrugem',
+ 'ferver',
+ 'festejar',
+ 'fetal',
+ 'feudal',
+ 'fiapo',
+ 'fibrose',
+ 'ficar',
+ 'ficheiro',
+ 'figurado',
+ 'fileira',
+ 'filho',
+ 'filme',
+ 'filtrar',
+ 'firmeza',
+ 'fisgada',
+ 'fissura',
+ 'fita',
+ 'fivela',
+ 'fixador',
+ 'fixo',
+ 'flacidez',
+ 'flamingo',
+ 'flanela',
+ 'flechada',
+ 'flora',
+ 'flutuar',
+ 'fluxo',
+ 'focal',
+ 'focinho',
+ 'fofocar',
+ 'fogo',
+ 'foguete',
+ 'foice',
+ 'folgado',
+ 'folheto',
+ 'forjar',
+ 'formiga',
+ 'forno',
+ 'forte',
+ 'fosco',
+ 'fossa',
+ 'fragata',
+ 'fralda',
+ 'frango',
+ 'frasco',
+ 'fraterno',
+ 'freira',
+ 'frente',
+ 'fretar',
+ 'frieza',
+ 'friso',
+ 'fritura',
+ 'fronha',
+ 'frustrar',
+ 'fruteira',
+ 'fugir',
+ 'fulano',
+ 'fuligem',
+ 'fundar',
+ 'fungo',
+ 'funil',
+ 'furador',
+ 'furioso',
+ 'futebol',
+ 'gabarito',
+ 'gabinete',
+ 'gado',
+ 'gaiato',
+ 'gaiola',
+ 'gaivota',
+ 'galega',
+ 'galho',
+ 'galinha',
+ 'galocha',
+ 'ganhar',
+ 'garagem',
+ 'garfo',
+ 'gargalo',
+ 'garimpo',
+ 'garoupa',
+ 'garrafa',
+ 'gasoduto',
+ 'gasto',
+ 'gata',
+ 'gatilho',
+ 'gaveta',
+ 'gazela',
+ 'gelado',
+ 'geleia',
+ 'gelo',
+ 'gemada',
+ 'gemer',
+ 'gemido',
+ 'generoso',
+ 'gengiva',
+ 'genial',
+ 'genoma',
+ 'genro',
+ 'geologia',
+ 'gerador',
+ 'germinar',
+ 'gesso',
+ 'gestor',
+ 'ginasta',
+ 'gincana',
+ 'gingado',
+ 'girafa',
+ 'girino',
+ 'glacial',
+ 'glicose',
+ 'global',
+ 'glorioso',
+ 'goela',
+ 'goiaba',
+ 'golfe',
+ 'golpear',
+ 'gordura',
+ 'gorjeta',
+ 'gorro',
+ 'gostoso',
+ 'goteira',
+ 'governar',
+ 'gracejo',
+ 'gradual',
+ 'grafite',
+ 'gralha',
+ 'grampo',
+ 'granada',
+ 'gratuito',
+ 'graveto',
+ 'graxa',
+ 'grego',
+ 'grelhar',
+ 'greve',
+ 'grilo',
+ 'grisalho',
+ 'gritaria',
+ 'grosso',
+ 'grotesco',
+ 'grudado',
+ 'grunhido',
+ 'gruta',
+ 'guache',
+ 'guarani',
+ 'guaxinim',
+ 'guerrear',
+ 'guiar',
+ 'guincho',
+ 'guisado',
+ 'gula',
+ 'guloso',
+ 'guru',
+ 'habitar',
+ 'harmonia',
+ 'haste',
+ 'haver',
+ 'hectare',
+ 'herdar',
+ 'heresia',
+ 'hesitar',
+ 'hiato',
+ 'hibernar',
+ 'hidratar',
+ 'hiena',
+ 'hino',
+ 'hipismo',
+ 'hipnose',
+ 'hipoteca',
+ 'hoje',
+ 'holofote',
+ 'homem',
+ 'honesto',
+ 'honrado',
+ 'hormonal',
+ 'hospedar',
+ 'humorado',
+ 'iate',
+ 'ideia',
+ 'idoso',
+ 'ignorado',
+ 'igreja',
+ 'iguana',
+ 'ileso',
+ 'ilha',
+ 'iludido',
+ 'iluminar',
+ 'ilustrar',
+ 'imagem',
+ 'imediato',
+ 'imenso',
+ 'imersivo',
+ 'iminente',
+ 'imitador',
+ 'imortal',
+ 'impacto',
+ 'impedir',
+ 'implante',
+ 'impor',
+ 'imprensa',
+ 'impune',
+ 'imunizar',
+ 'inalador',
+ 'inapto',
+ 'inativo',
+ 'incenso',
+ 'inchar',
+ 'incidir',
+ 'incluir',
+ 'incolor',
+ 'indeciso',
+ 'indireto',
+ 'indutor',
+ 'ineficaz',
+ 'inerente',
+ 'infantil',
+ 'infestar',
+ 'infinito',
+ 'inflamar',
+ 'informal',
+ 'infrator',
+ 'ingerir',
+ 'inibido',
+ 'inicial',
+ 'inimigo',
+ 'injetar',
+ 'inocente',
+ 'inodoro',
+ 'inovador',
+ 'inox',
+ 'inquieto',
+ 'inscrito',
+ 'inseto',
+ 'insistir',
+ 'inspetor',
+ 'instalar',
+ 'insulto',
+ 'intacto',
+ 'integral',
+ 'intimar',
+ 'intocado',
+ 'intriga',
+ 'invasor',
+ 'inverno',
+ 'invicto',
+ 'invocar',
+ 'iogurte',
+ 'iraniano',
+ 'ironizar',
+ 'irreal',
+ 'irritado',
+ 'isca',
+ 'isento',
+ 'isolado',
+ 'isqueiro',
+ 'italiano',
+ 'janeiro',
+ 'jangada',
+ 'janta',
+ 'jararaca',
+ 'jardim',
+ 'jarro',
+ 'jasmim',
+ 'jato',
+ 'javali',
+ 'jazida',
+ 'jejum',
+ 'joaninha',
+ 'joelhada',
+ 'jogador',
+ 'joia',
+ 'jornal',
+ 'jorrar',
+ 'jovem',
+ 'juba',
+ 'judeu',
+ 'judoca',
+ 'juiz',
+ 'julgador',
+ 'julho',
+ 'jurado',
+ 'jurista',
+ 'juro',
+ 'justa',
+ 'labareda',
+ 'laboral',
+ 'lacre',
+ 'lactante',
+ 'ladrilho',
+ 'lagarta',
+ 'lagoa',
+ 'laje',
+ 'lamber',
+ 'lamentar',
+ 'laminar',
+ 'lampejo',
+ 'lanche',
+ 'lapidar',
+ 'lapso',
+ 'laranja',
+ 'lareira',
+ 'largura',
+ 'lasanha',
+ 'lastro',
+ 'lateral',
+ 'latido',
+ 'lavanda',
+ 'lavoura',
+ 'lavrador',
+ 'laxante',
+ 'lazer',
+ 'lealdade',
+ 'lebre',
+ 'legado',
+ 'legendar',
+ 'legista',
+ 'leigo',
+ 'leiloar',
+ 'leitura',
+ 'lembrete',
+ 'leme',
+ 'lenhador',
+ 'lentilha',
+ 'leoa',
+ 'lesma',
+ 'leste',
+ 'letivo',
+ 'letreiro',
+ 'levar',
+ 'leveza',
+ 'levitar',
+ 'liberal',
+ 'libido',
+ 'liderar',
+ 'ligar',
+ 'ligeiro',
+ 'limitar',
+ 'limoeiro',
+ 'limpador',
+ 'linda',
+ 'linear',
+ 'linhagem',
+ 'liquidez',
+ 'listagem',
+ 'lisura',
+ 'litoral',
+ 'livro',
+ 'lixa',
+ 'lixeira',
+ 'locador',
+ 'locutor',
+ 'lojista',
+ 'lombo',
+ 'lona',
+ 'longe',
+ 'lontra',
+ 'lorde',
+ 'lotado',
+ 'loteria',
+ 'loucura',
+ 'lousa',
+ 'louvar',
+ 'luar',
+ 'lucidez',
+ 'lucro',
+ 'luneta',
+ 'lustre',
+ 'lutador',
+ 'luva',
+ 'macaco',
+ 'macete',
+ 'machado',
+ 'macio',
+ 'madeira',
+ 'madrinha',
+ 'magnata',
+ 'magreza',
+ 'maior',
+ 'mais',
+ 'malandro',
+ 'malha',
+ 'malote',
+ 'maluco',
+ 'mamilo',
+ 'mamoeiro',
+ 'mamute',
+ 'manada',
+ 'mancha',
+ 'mandato',
+ 'manequim',
+ 'manhoso',
+ 'manivela',
+ 'manobrar',
+ 'mansa',
+ 'manter',
+ 'manusear',
+ 'mapeado',
+ 'maquinar',
+ 'marcador',
+ 'maresia',
+ 'marfim',
+ 'margem',
+ 'marinho',
+ 'marmita',
+ 'maroto',
+ 'marquise',
+ 'marreco',
+ 'martelo',
+ 'marujo',
+ 'mascote',
+ 'masmorra',
+ 'massagem',
+ 'mastigar',
+ 'matagal',
+ 'materno',
+ 'matinal',
+ 'matutar',
+ 'maxilar',
+ 'medalha',
+ 'medida',
+ 'medusa',
+ 'megafone',
+ 'meiga',
+ 'melancia',
+ 'melhor',
+ 'membro',
+ 'memorial',
+ 'menino',
+ 'menos',
+ 'mensagem',
+ 'mental',
+ 'merecer',
+ 'mergulho',
+ 'mesada',
+ 'mesclar',
+ 'mesmo',
+ 'mesquita',
+ 'mestre',
+ 'metade',
+ 'meteoro',
+ 'metragem',
+ 'mexer',
+ 'mexicano',
+ 'micro',
+ 'migalha',
+ 'migrar',
+ 'milagre',
+ 'milenar',
+ 'milhar',
+ 'mimado',
+ 'minerar',
+ 'minhoca',
+ 'ministro',
+ 'minoria',
+ 'miolo',
+ 'mirante',
+ 'mirtilo',
+ 'misturar',
+ 'mocidade',
+ 'moderno',
+ 'modular',
+ 'moeda',
+ 'moer',
+ 'moinho',
+ 'moita',
+ 'moldura',
+ 'moleza',
+ 'molho',
+ 'molinete',
+ 'molusco',
+ 'montanha',
+ 'moqueca',
+ 'morango',
+ 'morcego',
+ 'mordomo',
+ 'morena',
+ 'mosaico',
+ 'mosquete',
+ 'mostarda',
+ 'motel',
+ 'motim',
+ 'moto',
+ 'motriz',
+ 'muda',
+ 'muito',
+ 'mulata',
+ 'mulher',
+ 'multar',
+ 'mundial',
+ 'munido',
+ 'muralha',
+ 'murcho',
+ 'muscular',
+ 'museu',
+ 'musical',
+ 'nacional',
+ 'nadador',
+ 'naja',
+ 'namoro',
+ 'narina',
+ 'narrado',
+ 'nascer',
+ 'nativa',
+ 'natureza',
+ 'navalha',
+ 'navegar',
+ 'navio',
+ 'neblina',
+ 'nebuloso',
+ 'negativa',
+ 'negociar',
+ 'negrito',
+ 'nervoso',
+ 'neta',
+ 'neural',
+ 'nevasca',
+ 'nevoeiro',
+ 'ninar',
+ 'ninho',
+ 'nitidez',
+ 'nivelar',
+ 'nobreza',
+ 'noite',
+ 'noiva',
+ 'nomear',
+ 'nominal',
+ 'nordeste',
+ 'nortear',
+ 'notar',
+ 'noticiar',
+ 'noturno',
+ 'novelo',
+ 'novilho',
+ 'novo',
+ 'nublado',
+ 'nudez',
+ 'numeral',
+ 'nupcial',
+ 'nutrir',
+ 'nuvem',
+ 'obcecado',
+ 'obedecer',
+ 'objetivo',
+ 'obrigado',
+ 'obscuro',
+ 'obstetra',
+ 'obter',
+ 'obturar',
+ 'ocidente',
+ 'ocioso',
+ 'ocorrer',
+ 'oculista',
+ 'ocupado',
+ 'ofegante',
+ 'ofensiva',
+ 'oferenda',
+ 'oficina',
+ 'ofuscado',
+ 'ogiva',
+ 'olaria',
+ 'oleoso',
+ 'olhar',
+ 'oliveira',
+ 'ombro',
+ 'omelete',
+ 'omisso',
+ 'omitir',
+ 'ondulado',
+ 'oneroso',
+ 'ontem',
+ 'opcional',
+ 'operador',
+ 'oponente',
+ 'oportuno',
+ 'oposto',
+ 'orar',
+ 'orbitar',
+ 'ordem',
+ 'ordinal',
+ 'orfanato',
+ 'orgasmo',
+ 'orgulho',
+ 'oriental',
+ 'origem',
+ 'oriundo',
+ 'orla',
+ 'ortodoxo',
+ 'orvalho',
+ 'oscilar',
+ 'ossada',
+ 'osso',
+ 'ostentar',
+ 'otimismo',
+ 'ousadia',
+ 'outono',
+ 'outubro',
+ 'ouvido',
+ 'ovelha',
+ 'ovular',
+ 'oxidar',
+ 'oxigenar',
+ 'pacato',
+ 'paciente',
+ 'pacote',
+ 'pactuar',
+ 'padaria',
+ 'padrinho',
+ 'pagar',
+ 'pagode',
+ 'painel',
+ 'pairar',
+ 'paisagem',
+ 'palavra',
+ 'palestra',
+ 'palheta',
+ 'palito',
+ 'palmada',
+ 'palpitar',
+ 'pancada',
+ 'panela',
+ 'panfleto',
+ 'panqueca',
+ 'pantanal',
+ 'papagaio',
+ 'papelada',
+ 'papiro',
+ 'parafina',
+ 'parcial',
+ 'pardal',
+ 'parede',
+ 'partida',
+ 'pasmo',
+ 'passado',
+ 'pastel',
+ 'patamar',
+ 'patente',
+ 'patinar',
+ 'patrono',
+ 'paulada',
+ 'pausar',
+ 'peculiar',
+ 'pedalar',
+ 'pedestre',
+ 'pediatra',
+ 'pedra',
+ 'pegada',
+ 'peitoral',
+ 'peixe',
+ 'pele',
+ 'pelicano',
+ 'penca',
+ 'pendurar',
+ 'peneira',
+ 'penhasco',
+ 'pensador',
+ 'pente',
+ 'perceber',
+ 'perfeito',
+ 'pergunta',
+ 'perito',
+ 'permitir',
+ 'perna',
+ 'perplexo',
+ 'persiana',
+ 'pertence',
+ 'peruca',
+ 'pescado',
+ 'pesquisa',
+ 'pessoa',
+ 'petiscar',
+ 'piada',
+ 'picado',
+ 'piedade',
+ 'pigmento',
+ 'pilastra',
+ 'pilhado',
+ 'pilotar',
+ 'pimenta',
+ 'pincel',
+ 'pinguim',
+ 'pinha',
+ 'pinote',
+ 'pintar',
+ 'pioneiro',
+ 'pipoca',
+ 'piquete',
+ 'piranha',
+ 'pires',
+ 'pirueta',
+ 'piscar',
+ 'pistola',
+ 'pitanga',
+ 'pivete',
+ 'planta',
+ 'plaqueta',
+ 'platina',
+ 'plebeu',
+ 'plumagem',
+ 'pluvial',
+ 'pneu',
+ 'poda',
+ 'poeira',
+ 'poetisa',
+ 'polegada',
+ 'policiar',
+ 'poluente',
+ 'polvilho',
+ 'pomar',
+ 'pomba',
+ 'ponderar',
+ 'pontaria',
+ 'populoso',
+ 'porta',
+ 'possuir',
+ 'postal',
+ 'pote',
+ 'poupar',
+ 'pouso',
+ 'povoar',
+ 'praia',
+ 'prancha',
+ 'prato',
+ 'praxe',
+ 'prece',
+ 'predador',
+ 'prefeito',
+ 'premiar',
+ 'prensar',
+ 'preparar',
+ 'presilha',
+ 'pretexto',
+ 'prevenir',
+ 'prezar',
+ 'primata',
+ 'princesa',
+ 'prisma',
+ 'privado',
+ 'processo',
+ 'produto',
+ 'profeta',
+ 'proibido',
+ 'projeto',
+ 'prometer',
+ 'propagar',
+ 'prosa',
+ 'protetor',
+ 'provador',
+ 'publicar',
+ 'pudim',
+ 'pular',
+ 'pulmonar',
+ 'pulseira',
+ 'punhal',
+ 'punir',
+ 'pupilo',
+ 'pureza',
+ 'puxador',
+ 'quadra',
+ 'quantia',
+ 'quarto',
+ 'quase',
+ 'quebrar',
+ 'queda',
+ 'queijo',
+ 'quente',
+ 'querido',
+ 'quimono',
+ 'quina',
+ 'quiosque',
+ 'rabanada',
+ 'rabisco',
+ 'rachar',
+ 'racionar',
+ 'radial',
+ 'raiar',
+ 'rainha',
+ 'raio',
+ 'raiva',
+ 'rajada',
+ 'ralado',
+ 'ramal',
+ 'ranger',
+ 'ranhura',
+ 'rapadura',
+ 'rapel',
+ 'rapidez',
+ 'raposa',
+ 'raquete',
+ 'raridade',
+ 'rasante',
+ 'rascunho',
+ 'rasgar',
+ 'raspador',
+ 'rasteira',
+ 'rasurar',
+ 'ratazana',
+ 'ratoeira',
+ 'realeza',
+ 'reanimar',
+ 'reaver',
+ 'rebaixar',
+ 'rebelde',
+ 'rebolar',
+ 'recado',
+ 'recente',
+ 'recheio',
+ 'recibo',
+ 'recordar',
+ 'recrutar',
+ 'recuar',
+ 'rede',
+ 'redimir',
+ 'redonda',
+ 'reduzida',
+ 'reenvio',
+ 'refinar',
+ 'refletir',
+ 'refogar',
+ 'refresco',
+ 'refugiar',
+ 'regalia',
+ 'regime',
+ 'regra',
+ 'reinado',
+ 'reitor',
+ 'rejeitar',
+ 'relativo',
+ 'remador',
+ 'remendo',
+ 'remorso',
+ 'renovado',
+ 'reparo',
+ 'repelir',
+ 'repleto',
+ 'repolho',
+ 'represa',
+ 'repudiar',
+ 'requerer',
+ 'resenha',
+ 'resfriar',
+ 'resgatar',
+ 'residir',
+ 'resolver',
+ 'respeito',
+ 'ressaca',
+ 'restante',
+ 'resumir',
+ 'retalho',
+ 'reter',
+ 'retirar',
+ 'retomada',
+ 'retratar',
+ 'revelar',
+ 'revisor',
+ 'revolta',
+ 'riacho',
+ 'rica',
+ 'rigidez',
+ 'rigoroso',
+ 'rimar',
+ 'ringue',
+ 'risada',
+ 'risco',
+ 'risonho',
+ 'robalo',
+ 'rochedo',
+ 'rodada',
+ 'rodeio',
+ 'rodovia',
+ 'roedor',
+ 'roleta',
+ 'romano',
+ 'roncar',
+ 'rosado',
+ 'roseira',
+ 'rosto',
+ 'rota',
+ 'roteiro',
+ 'rotina',
+ 'rotular',
+ 'rouco',
+ 'roupa',
+ 'roxo',
+ 'rubro',
+ 'rugido',
+ 'rugoso',
+ 'ruivo',
+ 'rumo',
+ 'rupestre',
+ 'russo',
+ 'sabor',
+ 'saciar',
+ 'sacola',
+ 'sacudir',
+ 'sadio',
+ 'safira',
+ 'saga',
+ 'sagrada',
+ 'saibro',
+ 'salada',
+ 'saleiro',
+ 'salgado',
+ 'saliva',
+ 'salpicar',
+ 'salsicha',
+ 'saltar',
+ 'salvador',
+ 'sambar',
+ 'samurai',
+ 'sanar',
+ 'sanfona',
+ 'sangue',
+ 'sanidade',
+ 'sapato',
+ 'sarda',
+ 'sargento',
+ 'sarjeta',
+ 'saturar',
+ 'saudade',
+ 'saxofone',
+ 'sazonal',
+ 'secar',
+ 'secular',
+ 'seda',
+ 'sedento',
+ 'sediado',
+ 'sedoso',
+ 'sedutor',
+ 'segmento',
+ 'segredo',
+ 'segundo',
+ 'seiva',
+ 'seleto',
+ 'selvagem',
+ 'semanal',
+ 'semente',
+ 'senador',
+ 'senhor',
+ 'sensual',
+ 'sentado',
+ 'separado',
+ 'sereia',
+ 'seringa',
+ 'serra',
+ 'servo',
+ 'setembro',
+ 'setor',
+ 'sigilo',
+ 'silhueta',
+ 'silicone',
+ 'simetria',
+ 'simpatia',
+ 'simular',
+ 'sinal',
+ 'sincero',
+ 'singular',
+ 'sinopse',
+ 'sintonia',
+ 'sirene',
+ 'siri',
+ 'situado',
+ 'soberano',
+ 'sobra',
+ 'socorro',
+ 'sogro',
+ 'soja',
+ 'solda',
+ 'soletrar',
+ 'solteiro',
+ 'sombrio',
+ 'sonata',
+ 'sondar',
+ 'sonegar',
+ 'sonhador',
+ 'sono',
+ 'soprano',
+ 'soquete',
+ 'sorrir',
+ 'sorteio',
+ 'sossego',
+ 'sotaque',
+ 'soterrar',
+ 'sovado',
+ 'sozinho',
+ 'suavizar',
+ 'subida',
+ 'submerso',
+ 'subsolo',
+ 'subtrair',
+ 'sucata',
+ 'sucesso',
+ 'suco',
+ 'sudeste',
+ 'sufixo',
+ 'sugador',
+ 'sugerir',
+ 'sujeito',
+ 'sulfato',
+ 'sumir',
+ 'suor',
+ 'superior',
+ 'suplicar',
+ 'suposto',
+ 'suprimir',
+ 'surdina',
+ 'surfista',
+ 'surpresa',
+ 'surreal',
+ 'surtir',
+ 'suspiro',
+ 'sustento',
+ 'tabela',
+ 'tablete',
+ 'tabuada',
+ 'tacho',
+ 'tagarela',
+ 'talher',
+ 'talo',
+ 'talvez',
+ 'tamanho',
+ 'tamborim',
+ 'tampa',
+ 'tangente',
+ 'tanto',
+ 'tapar',
+ 'tapioca',
+ 'tardio',
+ 'tarefa',
+ 'tarja',
+ 'tarraxa',
+ 'tatuagem',
+ 'taurino',
+ 'taxativo',
+ 'taxista',
+ 'teatral',
+ 'tecer',
+ 'tecido',
+ 'teclado',
+ 'tedioso',
+ 'teia',
+ 'teimar',
+ 'telefone',
+ 'telhado',
+ 'tempero',
+ 'tenente',
+ 'tensor',
+ 'tentar',
+ 'termal',
+ 'terno',
+ 'terreno',
+ 'tese',
+ 'tesoura',
+ 'testado',
+ 'teto',
+ 'textura',
+ 'texugo',
+ 'tiara',
+ 'tigela',
+ 'tijolo',
+ 'timbrar',
+ 'timidez',
+ 'tingido',
+ 'tinteiro',
+ 'tiragem',
+ 'titular',
+ 'toalha',
+ 'tocha',
+ 'tolerar',
+ 'tolice',
+ 'tomada',
+ 'tomilho',
+ 'tonel',
+ 'tontura',
+ 'topete',
+ 'tora',
+ 'torcido',
+ 'torneio',
+ 'torque',
+ 'torrada',
+ 'torto',
+ 'tostar',
+ 'touca',
+ 'toupeira',
+ 'toxina',
+ 'trabalho',
+ 'tracejar',
+ 'tradutor',
+ 'trafegar',
+ 'trajeto',
+ 'trama',
+ 'trancar',
+ 'trapo',
+ 'traseiro',
+ 'tratador',
+ 'travar',
+ 'treino',
+ 'tremer',
+ 'trepidar',
+ 'trevo',
+ 'triagem',
+ 'tribo',
+ 'triciclo',
+ 'tridente',
+ 'trilogia',
+ 'trindade',
+ 'triplo',
+ 'triturar',
+ 'triunfal',
+ 'trocar',
+ 'trombeta',
+ 'trova',
+ 'trunfo',
+ 'truque',
+ 'tubular',
+ 'tucano',
+ 'tudo',
+ 'tulipa',
+ 'tupi',
+ 'turbo',
+ 'turma',
+ 'turquesa',
+ 'tutelar',
+ 'tutorial',
+ 'uivar',
+ 'umbigo',
+ 'unha',
+ 'unidade',
+ 'uniforme',
+ 'urologia',
+ 'urso',
+ 'urtiga',
+ 'urubu',
+ 'usado',
+ 'usina',
+ 'usufruir',
+ 'vacina',
+ 'vadiar',
+ 'vagaroso',
+ 'vaidoso',
+ 'vala',
+ 'valente',
+ 'validade',
+ 'valores',
+ 'vantagem',
+ 'vaqueiro',
+ 'varanda',
+ 'vareta',
+ 'varrer',
+ 'vascular',
+ 'vasilha',
+ 'vassoura',
+ 'vazar',
+ 'vazio',
+ 'veado',
+ 'vedar',
+ 'vegetar',
+ 'veicular',
+ 'veleiro',
+ 'velhice',
+ 'veludo',
+ 'vencedor',
+ 'vendaval',
+ 'venerar',
+ 'ventre',
+ 'verbal',
+ 'verdade',
+ 'vereador',
+ 'vergonha',
+ 'vermelho',
+ 'verniz',
+ 'versar',
+ 'vertente',
+ 'vespa',
+ 'vestido',
+ 'vetorial',
+ 'viaduto',
+ 'viagem',
+ 'viajar',
+ 'viatura',
+ 'vibrador',
+ 'videira',
+ 'vidraria',
+ 'viela',
+ 'viga',
+ 'vigente',
+ 'vigiar',
+ 'vigorar',
+ 'vilarejo',
+ 'vinco',
+ 'vinheta',
+ 'vinil',
+ 'violeta',
+ 'virada',
+ 'virtude',
+ 'visitar',
+ 'visto',
+ 'vitral',
+ 'viveiro',
+ 'vizinho',
+ 'voador',
+ 'voar',
+ 'vogal',
+ 'volante',
+ 'voleibol',
+ 'voltagem',
+ 'volumoso',
+ 'vontade',
+ 'vulto',
+ 'vuvuzela',
+ 'xadrez',
+ 'xarope',
+ 'xeque',
+ 'xeretar',
+ 'xerife',
+ 'xingar',
+ 'zangado',
+ 'zarpar',
+ 'zebu',
+ 'zelador',
+ 'zombar',
+ 'zoologia',
+ 'zumbido',
+];
+
+let DEFAULT_WORDLIST;
+const INVALID_MNEMONIC = 'Invalid mnemonic';
+const INVALID_ENTROPY = 'Invalid entropy';
+const INVALID_CHECKSUM = 'Invalid mnemonic checksum';
+const WORDLIST_REQUIRED = 'A wordlist is required but a default could not be found.\n' +
+ 'Please pass a 2048 word array explicitly.';
+function normalize(str) {
+ return (str || '').normalize('NFKD');
+}
+function lpad(str, padString, length) {
+ while (str.length < length) {
+ str = padString + str;
+ }
+ return str;
+}
+function binaryToByte(bin) {
+ return parseInt(bin, 2);
+}
+function bytesToBinary(bytes) {
+ return bytes.map((x) => lpad(x.toString(2), '0', 8)).join('');
+}
+function deriveChecksumBits(entropyBuffer) {
+ const ENT = entropyBuffer.length * 8;
+ const CS = ENT / 32;
+ const hash = sha256(entropyBuffer);
+ return bytesToBinary(Array.from(hash)).slice(0, CS);
+}
+function salt(password) {
+ return 'mnemonic' + (password || '');
+}
+function mnemonicToSeedSync(mnemonic, password) {
+ const mnemonicBuffer = fromUtf8(normalize(mnemonic));
+ const saltBuffer = fromUtf8(salt(normalize(password)));
+ const res = pbkdf2(sha512, mnemonicBuffer, saltBuffer, {
+ c: 2048,
+ dkLen: 64,
+ });
+ return res;
+}
+function mnemonicToSeed(mnemonic, password) {
+ const mnemonicBuffer = fromUtf8(normalize(mnemonic));
+ const saltBuffer = fromUtf8(salt(normalize(password)));
+ return pbkdf2Async(sha512, mnemonicBuffer, saltBuffer, {
+ c: 2048,
+ dkLen: 64,
+ });
+}
+function mnemonicToEntropy(mnemonic, wordlist) {
+ wordlist = wordlist || DEFAULT_WORDLIST;
+ if (!wordlist) {
+ throw new Error(WORDLIST_REQUIRED);
+ }
+ const words = normalize(mnemonic).split(' ');
+ if (words.length % 3 !== 0) {
+ throw new Error(INVALID_MNEMONIC);
+ }
+ const bits = words
+ .map((word) => {
+ const index = wordlist.indexOf(word);
+ if (index === -1) {
+ throw new Error(INVALID_MNEMONIC);
+ }
+ return lpad(index.toString(2), '0', 11);
+ })
+ .join('');
+ const dividerIndex = Math.floor(bits.length / 33) * 32;
+ const entropyBits = bits.slice(0, dividerIndex);
+ const checksumBits = bits.slice(dividerIndex);
+ const entropyBytes = entropyBits.match(/(.{1,8})/g).map(binaryToByte);
+ if (entropyBytes.length < 16) {
+ throw new Error(INVALID_ENTROPY);
+ }
+ if (entropyBytes.length > 32) {
+ throw new Error(INVALID_ENTROPY);
+ }
+ if (entropyBytes.length % 4 !== 0) {
+ throw new Error(INVALID_ENTROPY);
+ }
+ const entropy = Uint8Array.from(entropyBytes);
+ const newChecksum = deriveChecksumBits(entropy);
+ if (newChecksum !== checksumBits) {
+ throw new Error(INVALID_CHECKSUM);
+ }
+ return toHex(entropy);
+}
+function entropyToMnemonic(entropy, wordlist) {
+ if (typeof entropy === 'string') {
+ entropy = fromHex(entropy);
+ }
+ wordlist = wordlist || DEFAULT_WORDLIST;
+ if (!wordlist) {
+ throw new Error(WORDLIST_REQUIRED);
+ }
+ if (entropy.length < 16) {
+ throw new TypeError(INVALID_ENTROPY);
+ }
+ if (entropy.length > 32) {
+ throw new TypeError(INVALID_ENTROPY);
+ }
+ if (entropy.length % 4 !== 0) {
+ throw new TypeError(INVALID_ENTROPY);
+ }
+ const entropyBits = bytesToBinary(Array.from(entropy));
+ const checksumBits = deriveChecksumBits(entropy);
+ const bits = entropyBits + checksumBits;
+ const chunks = bits.match(/(.{1,11})/g);
+ const words = chunks.map((binary) => {
+ const index = binaryToByte(binary);
+ return wordlist[index];
+ });
+ return wordlist[0] === '\u3042\u3044\u3053\u304f\u3057\u3093'
+ ? words.join('\u3000')
+ : words.join(' ');
+}
+function generateMnemonic(strength, rng, wordlist) {
+ strength = strength || 128;
+ if (strength % 32 !== 0) {
+ throw new TypeError(INVALID_ENTROPY);
+ }
+ rng = rng || ((size) => crypto.getRandomValues(new Uint8Array(size)));
+ return entropyToMnemonic(rng(strength / 8), wordlist);
+}
+function validateMnemonic(mnemonic, wordlist) {
+ try {
+ mnemonicToEntropy(mnemonic, wordlist);
+ }
+ catch (e) {
+ return false;
+ }
+ return true;
+}
+function validateWordlist(wordlist) {
+ if (!Array.isArray(wordlist)) {
+ return false;
+ }
+ if (wordlist.length !== 2048) {
+ return false;
+ }
+ const unique = new Set(wordlist);
+ if (unique.size !== wordlist.length) {
+ return false;
+ }
+ console.log("hi");
+ return true;
+}
+function setDefaultWordlist(wordlist) {
+ if (!validateWordlist(wordlist)) {
+ throw new Error('Invalid wordlist');
+ }
+ DEFAULT_WORDLIST = wordlist;
+}
+function getDefaultWordlist() {
+ if (!DEFAULT_WORDLIST) {
+ throw new Error('No Default Wordlist set');
+ }
+ return DEFAULT_WORDLIST;
+}
+
+exports.chineseSimplified = chineseSimplified;
+exports.chineseTraditional = chineseTraditional;
+exports.czech = czech;
+exports.english = english;
+exports.entropyToMnemonic = entropyToMnemonic;
+exports.french = french;
+exports.generateMnemonic = generateMnemonic;
+exports.getDefaultWordlist = getDefaultWordlist;
+exports.italian = italian;
+exports.japanese = japanese;
+exports.korean = korean;
+exports.mnemonicToEntropy = mnemonicToEntropy;
+exports.mnemonicToSeed = mnemonicToSeed;
+exports.mnemonicToSeedSync = mnemonicToSeedSync;
+exports.portuguese = portuguese;
+exports.setDefaultWordlist = setDefaultWordlist;
+exports.spanish = spanish;
+exports.validateMnemonic = validateMnemonic;
+//# sourceMappingURL=index.cjs.map
diff --git a/src/cjs/index.cjs.map b/src/cjs/index.cjs.map
new file mode 100644
index 0000000..5c54207
--- /dev/null
+++ b/src/cjs/index.cjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.cjs","sources":["../../node_modules/@noble/hashes/esm/_assert.js","../../node_modules/@noble/hashes/esm/utils.js","../../node_modules/@noble/hashes/esm/_sha2.js","../../node_modules/@noble/hashes/esm/sha256.js","../../node_modules/@noble/hashes/esm/_u64.js","../../node_modules/@noble/hashes/esm/sha512.js","../../node_modules/@noble/hashes/esm/hmac.js","../../node_modules/@noble/hashes/esm/pbkdf2.js","../../node_modules/uint8array-tools/src/mjs/browser.js","../../ts_src/wordlists/chinese_simplified.ts","../../ts_src/wordlists/chinese_traditional.ts","../../ts_src/wordlists/czech.ts","../../ts_src/wordlists/english.ts","../../ts_src/wordlists/french.ts","../../ts_src/wordlists/italian.ts","../../ts_src/wordlists/japanese.ts","../../ts_src/wordlists/korean.ts","../../ts_src/wordlists/spanish.ts","../../ts_src/wordlists/portuguese.ts","../../ts_src/index.ts"],"sourcesContent":["export function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nexport function bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nexport function bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new TypeError('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nexport function hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nexport function exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nexport function output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nconst assert = {\n number,\n bool,\n bytes,\n hash,\n exists,\n output,\n};\nexport default assert;\n//# sourceMappingURL=_assert.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// The import here is via the package name. This is to ensure\n// that exports mapping/resolution does fall into place.\nimport { crypto } from '@noble/hashes/crypto';\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\n// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.\n// So, just to be sure not to corrupt anything.\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))\n */\nexport function bytesToHex(uint8a) {\n // pre-caching improves the speed 6x\n if (!(uint8a instanceof Uint8Array))\n throw new Error('Uint8Array expected');\n let hex = '';\n for (let i = 0; i < uint8a.length; i++) {\n hex += hexes[uint8a[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('deadbeef')\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n }\n if (hex.length % 2)\n throw new Error('hexToBytes: received invalid unpadded hex');\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise\n// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string') {\n throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!(data instanceof Uint8Array))\n throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);\n return data;\n}\n/**\n * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`\n * @example concatBytes(buf1, buf2)\n */\nexport function concatBytes(...arrays) {\n if (!arrays.every((a) => a instanceof Uint8Array))\n throw new Error('Uint8Array list expected');\n if (arrays.length === 1)\n return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n throw new TypeError('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashConstructor) {\n const hashC = (message) => hashConstructor().update(toBytes(message)).digest();\n const tmp = hashConstructor();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashConstructor();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto.web) {\n return crypto.web.getRandomValues(new Uint8Array(bytesLength));\n }\n else if (crypto.node) {\n return new Uint8Array(crypto.node.randomBytes(bytesLength).buffer);\n }\n else {\n throw new Error(\"The environment doesn't have randomBytes function\");\n }\n}\n//# sourceMappingURL=utils.js.map","import assert from './_assert.js';\nimport { Hash, createView, toBytes } from './utils.js';\n// Polyfill for Safari 14\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n// Base SHA2 class (RFC 6234)\nexport class SHA2 extends Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.buffer = new Uint8Array(blockLen);\n this.view = createView(this.buffer);\n }\n update(data) {\n assert.exists(this);\n const { view, buffer, blockLen } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = createView(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n assert.exists(this);\n assert.output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = createView(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n}\n//# sourceMappingURL=_sha2.js.map","import { SHA2 } from './_sha2.js';\nimport { rotr, wrapConstructor } from './utils.js';\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = new Uint32Array(64);\nclass SHA256 extends SHA2 {\n constructor() {\n super(64, 32, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n this.F = IV[5] | 0;\n this.G = IV[6] | 0;\n this.H = IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n constructor() {\n super();\n this.A = 0xc1059ed8 | 0;\n this.B = 0x367cd507 | 0;\n this.C = 0x3070dd17 | 0;\n this.D = 0xf70e5939 | 0;\n this.E = 0xffc00b31 | 0;\n this.F = 0x68581511 | 0;\n this.G = 0x64f98fa7 | 0;\n this.H = 0xbefa4fa4 | 0;\n this.outputLen = 28;\n }\n}\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = wrapConstructor(() => new SHA256());\nexport const sha224 = wrapConstructor(() => new SHA224());\n//# sourceMappingURL=sha256.js.map","const U32_MASK64 = BigInt(2 ** 32 - 1);\nconst _32n = BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nexport function fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nexport function split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nexport const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (h, l) => l;\nconst rotr32L = (h, l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\n// Removing \"export\" has 5% perf penalty -_-\nexport function add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","import { SHA2 } from './_sha2.js';\nimport u64 from './_u64.js';\nimport { wrapConstructor } from './utils.js';\n// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):\n// prettier-ignore\nconst [SHA512_Kh, SHA512_Kl] = u64.split([\n '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',\n '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',\n '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',\n '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',\n '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',\n '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',\n '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',\n '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',\n '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',\n '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',\n '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',\n '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',\n '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',\n '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',\n '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',\n '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',\n '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',\n '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',\n '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',\n '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'\n].map(n => BigInt(n)));\n// Temporary buffer, not used to store anything between runs\nconst SHA512_W_H = new Uint32Array(80);\nconst SHA512_W_L = new Uint32Array(80);\nexport class SHA512 extends SHA2 {\n constructor() {\n super(128, 64, 16, false);\n // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.\n // Also looks cleaner and easier to verify with spec.\n // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x6a09e667 | 0;\n this.Al = 0xf3bcc908 | 0;\n this.Bh = 0xbb67ae85 | 0;\n this.Bl = 0x84caa73b | 0;\n this.Ch = 0x3c6ef372 | 0;\n this.Cl = 0xfe94f82b | 0;\n this.Dh = 0xa54ff53a | 0;\n this.Dl = 0x5f1d36f1 | 0;\n this.Eh = 0x510e527f | 0;\n this.El = 0xade682d1 | 0;\n this.Fh = 0x9b05688c | 0;\n this.Fl = 0x2b3e6c1f | 0;\n this.Gh = 0x1f83d9ab | 0;\n this.Gl = 0xfb41bd6b | 0;\n this.Hh = 0x5be0cd19 | 0;\n this.Hl = 0x137e2179 | 0;\n }\n // prettier-ignore\n get() {\n const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];\n }\n // prettier-ignore\n set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {\n this.Ah = Ah | 0;\n this.Al = Al | 0;\n this.Bh = Bh | 0;\n this.Bl = Bl | 0;\n this.Ch = Ch | 0;\n this.Cl = Cl | 0;\n this.Dh = Dh | 0;\n this.Dl = Dl | 0;\n this.Eh = Eh | 0;\n this.El = El | 0;\n this.Fh = Fh | 0;\n this.Fl = Fl | 0;\n this.Gh = Gh | 0;\n this.Gl = Gl | 0;\n this.Hh = Hh | 0;\n this.Hl = Hl | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) {\n SHA512_W_H[i] = view.getUint32(offset);\n SHA512_W_L[i] = view.getUint32((offset += 4));\n }\n for (let i = 16; i < 80; i++) {\n // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)\n const W15h = SHA512_W_H[i - 15] | 0;\n const W15l = SHA512_W_L[i - 15] | 0;\n const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);\n const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);\n // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)\n const W2h = SHA512_W_H[i - 2] | 0;\n const W2l = SHA512_W_L[i - 2] | 0;\n const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);\n const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);\n // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];\n const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);\n const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);\n SHA512_W_H[i] = SUMh | 0;\n SHA512_W_L[i] = SUMl | 0;\n }\n let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n // Compression function main loop, 80 rounds\n for (let i = 0; i < 80; i++) {\n // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)\n const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);\n const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);\n //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const CHIh = (Eh & Fh) ^ (~Eh & Gh);\n const CHIl = (El & Fl) ^ (~El & Gl);\n // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]\n // prettier-ignore\n const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);\n const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);\n const T1l = T1ll | 0;\n // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)\n const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);\n const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);\n const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);\n const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);\n Hh = Gh | 0;\n Hl = Gl | 0;\n Gh = Fh | 0;\n Gl = Fl | 0;\n Fh = Eh | 0;\n Fl = El | 0;\n ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));\n Dh = Ch | 0;\n Dl = Cl | 0;\n Ch = Bh | 0;\n Cl = Bl | 0;\n Bh = Ah | 0;\n Bl = Al | 0;\n const All = u64.add3L(T1l, sigma0l, MAJl);\n Ah = u64.add3H(All, T1h, sigma0h, MAJh);\n Al = All | 0;\n }\n // Add the compressed chunk to the current hash value\n ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));\n ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));\n ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));\n ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));\n ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));\n ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));\n ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));\n ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));\n this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);\n }\n roundClean() {\n SHA512_W_H.fill(0);\n SHA512_W_L.fill(0);\n }\n destroy() {\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\nclass SHA512_224 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x8c3d37c8 | 0;\n this.Al = 0x19544da2 | 0;\n this.Bh = 0x73e19966 | 0;\n this.Bl = 0x89dcd4d6 | 0;\n this.Ch = 0x1dfab7ae | 0;\n this.Cl = 0x32ff9c82 | 0;\n this.Dh = 0x679dd514 | 0;\n this.Dl = 0x582f9fcf | 0;\n this.Eh = 0x0f6d2b69 | 0;\n this.El = 0x7bd44da8 | 0;\n this.Fh = 0x77e36f73 | 0;\n this.Fl = 0x04c48942 | 0;\n this.Gh = 0x3f9d85a8 | 0;\n this.Gl = 0x6a1d36c8 | 0;\n this.Hh = 0x1112e6ad | 0;\n this.Hl = 0x91d692a1 | 0;\n this.outputLen = 28;\n }\n}\nclass SHA512_256 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x22312194 | 0;\n this.Al = 0xfc2bf72c | 0;\n this.Bh = 0x9f555fa3 | 0;\n this.Bl = 0xc84c64c2 | 0;\n this.Ch = 0x2393b86b | 0;\n this.Cl = 0x6f53b151 | 0;\n this.Dh = 0x96387719 | 0;\n this.Dl = 0x5940eabd | 0;\n this.Eh = 0x96283ee2 | 0;\n this.El = 0xa88effe3 | 0;\n this.Fh = 0xbe5e1e25 | 0;\n this.Fl = 0x53863992 | 0;\n this.Gh = 0x2b0199fc | 0;\n this.Gl = 0x2c85b8aa | 0;\n this.Hh = 0x0eb72ddc | 0;\n this.Hl = 0x81c52ca2 | 0;\n this.outputLen = 32;\n }\n}\nclass SHA384 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0xcbbb9d5d | 0;\n this.Al = 0xc1059ed8 | 0;\n this.Bh = 0x629a292a | 0;\n this.Bl = 0x367cd507 | 0;\n this.Ch = 0x9159015a | 0;\n this.Cl = 0x3070dd17 | 0;\n this.Dh = 0x152fecd8 | 0;\n this.Dl = 0xf70e5939 | 0;\n this.Eh = 0x67332667 | 0;\n this.El = 0xffc00b31 | 0;\n this.Fh = 0x8eb44a87 | 0;\n this.Fl = 0x68581511 | 0;\n this.Gh = 0xdb0c2e0d | 0;\n this.Gl = 0x64f98fa7 | 0;\n this.Hh = 0x47b5481d | 0;\n this.Hl = 0xbefa4fa4 | 0;\n this.outputLen = 48;\n }\n}\nexport const sha512 = wrapConstructor(() => new SHA512());\nexport const sha512_224 = wrapConstructor(() => new SHA512_224());\nexport const sha512_256 = wrapConstructor(() => new SHA512_256());\nexport const sha384 = wrapConstructor(() => new SHA384());\n//# sourceMappingURL=sha512.js.map","import assert from './_assert.js';\nimport { Hash, toBytes } from './utils.js';\n// HMAC (RFC 2104)\nclass HMAC extends Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n assert.hash(hash);\n const key = toBytes(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new TypeError('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf) {\n assert.exists(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n assert.exists(this);\n assert.bytes(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nexport const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nhmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map","import assert from './_assert.js';\nimport { hmac } from './hmac.js';\nimport { createView, toBytes, checkOpts, asyncLoop } from './utils.js';\n// Common prologue and epilogue for sync/async functions\nfunction pbkdf2Init(hash, _password, _salt, _opts) {\n assert.hash(hash);\n const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);\n const { c, dkLen, asyncTick } = opts;\n assert.number(c);\n assert.number(dkLen);\n assert.number(asyncTick);\n if (c < 1)\n throw new Error('PBKDF2: iterations (c) should be >= 1');\n const password = toBytes(_password);\n const salt = toBytes(_salt);\n // DK = PBKDF2(PRF, Password, Salt, c, dkLen);\n const DK = new Uint8Array(dkLen);\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n const PRF = hmac.create(hash, password);\n const PRFSalt = PRF._cloneInto().update(salt);\n return { c, dkLen, asyncTick, DK, PRF, PRFSalt };\n}\nfunction pbkdf2Output(PRF, PRFSalt, DK, prfW, u) {\n PRF.destroy();\n PRFSalt.destroy();\n if (prfW)\n prfW.destroy();\n u.fill(0);\n return DK;\n}\n/**\n * PBKDF2-HMAC: RFC 2898 key derivation function\n * @param hash - hash function that would be used e.g. sha256\n * @param password - password from which a derived key is generated\n * @param salt - cryptographic salt\n * @param opts - {c, dkLen} where c is work factor and dkLen is output message size\n */\nexport function pbkdf2(hash, password, salt, opts) {\n const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n for (let ui = 1; ui < c; ui++) {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n }\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\nexport async function pbkdf2Async(hash, password, salt, opts) {\n const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n await asyncLoop(c - 1, asyncTick, (i) => {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n });\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n//# sourceMappingURL=pbkdf2.js.map","const HEX_STRINGS = \"0123456789abcdefABCDEF\";\nconst HEX_CODES = HEX_STRINGS.split(\"\").map((c) => c.codePointAt(0));\nconst HEX_CODEPOINTS = Array(256)\n .fill(true)\n .map((_, i) => {\n const s = String.fromCodePoint(i);\n const index = HEX_STRINGS.indexOf(s);\n // ABCDEF will use 10 - 15\n return index < 0 ? undefined : index < 16 ? index : index - 6;\n});\nconst ENCODER = new TextEncoder();\nconst DECODER = new TextDecoder();\nexport function toUtf8(bytes) {\n return DECODER.decode(bytes);\n}\nexport function fromUtf8(s) {\n return ENCODER.encode(s);\n}\nexport function concat(arrays) {\n const totalLength = arrays.reduce((a, b) => a + b.length, 0);\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n// There are two implementations.\n// One optimizes for length of the bytes, and uses TextDecoder.\n// One optimizes for iteration count, and appends strings.\n// This removes the overhead of TextDecoder.\nexport function toHex(bytes) {\n const b = bytes || new Uint8Array();\n return b.length > 512 ? _toHexLengthPerf(b) : _toHexIterPerf(b);\n}\nfunction _toHexIterPerf(bytes) {\n let s = \"\";\n for (let i = 0; i < bytes.length; ++i) {\n s += HEX_STRINGS[HEX_CODEPOINTS[HEX_CODES[bytes[i] >> 4]]];\n s += HEX_STRINGS[HEX_CODEPOINTS[HEX_CODES[bytes[i] & 15]]];\n }\n return s;\n}\nfunction _toHexLengthPerf(bytes) {\n const hexBytes = new Uint8Array(bytes.length * 2);\n for (let i = 0; i < bytes.length; ++i) {\n hexBytes[i * 2] = HEX_CODES[bytes[i] >> 4];\n hexBytes[i * 2 + 1] = HEX_CODES[bytes[i] & 15];\n }\n return DECODER.decode(hexBytes);\n}\n// Mimics Buffer.from(x, 'hex') logic\n// Stops on first non-hex string and returns\n// https://github.com/nodejs/node/blob/v14.18.1/src/string_bytes.cc#L246-L261\nexport function fromHex(hexString) {\n const hexBytes = ENCODER.encode(hexString || \"\");\n const resultBytes = new Uint8Array(Math.floor(hexBytes.length / 2));\n let i;\n for (i = 0; i < resultBytes.length; i++) {\n const a = HEX_CODEPOINTS[hexBytes[i * 2]];\n const b = HEX_CODEPOINTS[hexBytes[i * 2 + 1]];\n if (a === undefined || b === undefined) {\n break;\n }\n resultBytes[i] = (a << 4) | b;\n }\n return i === resultBytes.length ? resultBytes : resultBytes.slice(0, i);\n}\nexport function toBase64(bytes) {\n return btoa(String.fromCharCode(...bytes));\n}\nexport function fromBase64(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\n// Same behavior as Buffer.compare()\nexport function compare(v1, v2) {\n const minLength = Math.min(v1.length, v2.length);\n for (let i = 0; i < minLength; ++i) {\n if (v1[i] !== v2[i]) {\n return v1[i] < v2[i] ? -1 : 1;\n }\n }\n return v1.length === v2.length ? 0 : v1.length > v2.length ? 1 : -1;\n}\nexport function writeUInt8(buffer, offset, value) {\n if (offset + 1 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n if (value > 0xff) {\n throw new Error(`The value of \"value\" is out of range. It must be >= 0 and <= ${0xff}. Received ${value}`);\n }\n buffer[offset] = value;\n}\nexport function writeUInt16(buffer, offset, value, littleEndian) {\n if (offset + 2 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (value > 0xffff) {\n throw new Error(`The value of \"value\" is out of range. It must be >= 0 and <= ${0xffff}. Received ${value}`);\n }\n if (littleEndian === \"LE\") {\n buffer[offset] = value & 0xff;\n buffer[offset + 1] = (value >> 8) & 0xff;\n }\n else {\n buffer[offset] = (value >> 8) & 0xff;\n buffer[offset + 1] = value & 0xff;\n }\n}\nexport function writeUInt32(buffer, offset, value, littleEndian) {\n if (offset + 4 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (value > 0xffffffff) {\n throw new Error(`The value of \"value\" is out of range. It must be >= 0 and <= ${0xffffffff}. Received ${value}`);\n }\n if (littleEndian === \"LE\") {\n buffer[offset] = value & 0xff;\n buffer[offset + 1] = (value >> 8) & 0xff;\n buffer[offset + 2] = (value >> 16) & 0xff;\n buffer[offset + 3] = (value >> 24) & 0xff;\n }\n else {\n buffer[offset] = (value >> 24) & 0xff;\n buffer[offset + 1] = (value >> 16) & 0xff;\n buffer[offset + 2] = (value >> 8) & 0xff;\n buffer[offset + 3] = value & 0xff;\n }\n}\nexport function writeUInt64(buffer, offset, value, littleEndian) {\n if (offset + 8 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (value > 0xffffffffffffffffn) {\n throw new Error(`The value of \"value\" is out of range. It must be >= 0 and <= ${0xffffffffffffffffn}. Received ${value}`);\n }\n if (littleEndian === \"LE\") {\n buffer[offset] = Number(value & 0xffn);\n buffer[offset + 1] = Number((value >> 8n) & 0xffn);\n buffer[offset + 2] = Number((value >> 16n) & 0xffn);\n buffer[offset + 3] = Number((value >> 24n) & 0xffn);\n buffer[offset + 4] = Number((value >> 32n) & 0xffn);\n buffer[offset + 5] = Number((value >> 40n) & 0xffn);\n buffer[offset + 6] = Number((value >> 48n) & 0xffn);\n buffer[offset + 7] = Number((value >> 56n) & 0xffn);\n }\n else {\n buffer[offset] = Number((value >> 56n) & 0xffn);\n buffer[offset + 1] = Number((value >> 48n) & 0xffn);\n buffer[offset + 2] = Number((value >> 40n) & 0xffn);\n buffer[offset + 3] = Number((value >> 32n) & 0xffn);\n buffer[offset + 4] = Number((value >> 24n) & 0xffn);\n buffer[offset + 5] = Number((value >> 16n) & 0xffn);\n buffer[offset + 6] = Number((value >> 8n) & 0xffn);\n buffer[offset + 7] = Number(value & 0xffn);\n }\n}\nexport function readUInt8(buffer, offset) {\n if (offset + 1 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n return buffer[offset];\n}\nexport function readUInt16(buffer, offset, littleEndian) {\n if (offset + 2 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (littleEndian === \"LE\") {\n let num = 0;\n num = (num << 8) + buffer[offset + 1];\n num = (num << 8) + buffer[offset];\n return num;\n }\n else {\n let num = 0;\n num = (num << 8) + buffer[offset];\n num = (num << 8) + buffer[offset + 1];\n return num;\n }\n}\nexport function readUInt32(buffer, offset, littleEndian) {\n if (offset + 4 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (littleEndian === \"LE\") {\n let num = 0;\n num = ((num << 8) + buffer[offset + 3]) >>> 0;\n num = ((num << 8) + buffer[offset + 2]) >>> 0;\n num = ((num << 8) + buffer[offset + 1]) >>> 0;\n num = ((num << 8) + buffer[offset]) >>> 0;\n return num;\n }\n else {\n let num = 0;\n num = ((num << 8) + buffer[offset]) >>> 0;\n num = ((num << 8) + buffer[offset + 1]) >>> 0;\n num = ((num << 8) + buffer[offset + 2]) >>> 0;\n num = ((num << 8) + buffer[offset + 3]) >>> 0;\n return num;\n }\n}\nexport function readUInt64(buffer, offset, littleEndian) {\n if (offset + 8 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (littleEndian === \"LE\") {\n let num = 0n;\n num = (num << 8n) + BigInt(buffer[offset + 7]);\n num = (num << 8n) + BigInt(buffer[offset + 6]);\n num = (num << 8n) + BigInt(buffer[offset + 5]);\n num = (num << 8n) + BigInt(buffer[offset + 4]);\n num = (num << 8n) + BigInt(buffer[offset + 3]);\n num = (num << 8n) + BigInt(buffer[offset + 2]);\n num = (num << 8n) + BigInt(buffer[offset + 1]);\n num = (num << 8n) + BigInt(buffer[offset]);\n return num;\n }\n else {\n let num = 0n;\n num = (num << 8n) + BigInt(buffer[offset]);\n num = (num << 8n) + BigInt(buffer[offset + 1]);\n num = (num << 8n) + BigInt(buffer[offset + 2]);\n num = (num << 8n) + BigInt(buffer[offset + 3]);\n num = (num << 8n) + BigInt(buffer[offset + 4]);\n num = (num << 8n) + BigInt(buffer[offset + 5]);\n num = (num << 8n) + BigInt(buffer[offset + 6]);\n num = (num << 8n) + BigInt(buffer[offset + 7]);\n return num;\n }\n}\n",null,null,null,null,null,null,null,null,null,null,null],"names":["tools.fromUtf8","tools.toHex","tools.fromHex"],"mappings":"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AAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,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;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;;;AChgEQ,MAAA,kBAAkB,GAAG;IAChC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IA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AM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,SAAS;IACT,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,UAAU;IACV,MAAM;IACN,UAAU;IACV,UAAU;IACV,UAAU;IACV,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,UAAU;IACV,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,WAAW;IACX,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,SAAS;IACT,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,UAAU;IACV,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,UAAU;IACV,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,SAAS;IACT,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,UAAU;IACV,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,UAAU;IACV,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;;;AChgEM,MAAA,MAAM,GAAG;IACpB,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,aAAa;IACb,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,aAAa;IACb,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,aAAa;IACb,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,WAAW;IACX,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;IACP,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,WAAW;IACX,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,UAAU;IACV,QAAQ;IACR,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,WAAW;IACX,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,YAAY;IACZ,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,WAAW;IACX,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,WAAW;IACX,SAAS;IACT,OAAO;IACP,SAAS;IACT,WAAW;IACX,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,YAAY;IACZ,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,aAAa;IACb,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,WAAW;IACX,OAAO;IACP,UAAU;IACV,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,WAAW;IACX,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,aAAa;IACb,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,aAAa;IACb,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,YAAY;IACZ,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,YAAY;IACZ,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,YAAY;IACZ,UAAU;IACV,OAAO;IACP,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;;;AChgEG,MAAA,OAAO,GAAG;IACrB,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,KAAK;IACL,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,MAAM;IACN,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,MAAM;IACN,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,UAAU;IACV,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,KAAK;IACL,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,KAAK;IACL,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,KAAK;IACL,SAAS;IACT,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,UAAU;IACV,QAAQ;IACR,OAAO;IACP,KAAK;IACL,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,KAAK;IACL,MAAM;IACN,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,MAAM;IACN,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,UAAU;IACV,KAAK;IACL,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,MAAM;IACN,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,KAAK;IACL,SAAS;IACT,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,KAAK;IACL,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,UAAU;IACV,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,WAAW;IACX,KAAK;IACL,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,WAAW;IACX,UAAU;IACV,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,KAAK;IACL,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,UAAU;IACV,MAAM;IACN,SAAS;IACT,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,KAAK;IACL,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,WAAW;IACX,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,KAAK;IACL,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,KAAK;IACL,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,KAAK;IACL,OAAO;IACP,SAAS;IACT,MAAM;IACN,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;;;AChgEI,MAAA,UAAU,GAAG;IACxB,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,UAAU;IACV,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,MAAM;IACN,UAAU;IACV,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,MAAM;IACN,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,MAAM;IACN,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;;;AC3/DX,IAAI,gBAAsC,CAAC;AAE3C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AACrD,MAAM,iBAAiB,GACrB,4DAA4D;AAC5D,IAAA,2CAA2C,CAAC;AAE9C,SAAS,SAAS,CAAC,GAAY,EAAA;IAC7B,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,GAAW,EAAE,SAAiB,EAAE,MAAc,EAAA;AAC1D,IAAA,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE;AAC1B,QAAA,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;AACvB,KAAA;AACD,IAAA,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAA;AAC/B,IAAA,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CAAC,KAAe,EAAA;AACpC,IAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,KAAa,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,kBAAkB,CAAC,aAAyB,EAAA;AACnD,IAAA,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,IAAA,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AACpB,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACnC,IAAA,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,IAAI,CAAC,QAAiB,EAAA;AAC7B,IAAA,OAAO,UAAU,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC;AAEe,SAAA,kBAAkB,CAChC,QAAgB,EAChB,QAAiB,EAAA;IAEjB,MAAM,cAAc,GAAGA,QAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3D,IAAA,MAAM,UAAU,GAAGA,QAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE;AACrD,QAAA,CAAC,EAAE,IAAI;AACP,QAAA,KAAK,EAAE,EAAE;AACV,KAAA,CAAC,CAAC;AACH,IAAA,OAAO,GAAG,CAAC;AACb,CAAC;AAEe,SAAA,cAAc,CAC5B,QAAgB,EAChB,QAAiB,EAAA;IAEjB,MAAM,cAAc,GAAGA,QAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3D,IAAA,MAAM,UAAU,GAAGA,QAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC7D,IAAA,OAAO,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE;AACrD,QAAA,CAAC,EAAE,IAAI;AACP,QAAA,KAAK,EAAE,EAAE;AACV,KAAA,CAAC,CAAC;AACL,CAAC;AAEe,SAAA,iBAAiB,CAC/B,QAAgB,EAChB,QAAmB,EAAA;AAEnB,IAAA,QAAQ,GAAG,QAAQ,IAAI,gBAAgB,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACpC,KAAA;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,IAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,QAAA,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACnC,KAAA;IAGD,MAAM,IAAI,GAAG,KAAK;AACf,SAAA,GAAG,CACF,CAAC,IAAY,KAAY;QACvB,MAAM,KAAK,GAAG,QAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACnC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC1C,KAAC,CACF;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;AAGZ,IAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAG9C,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACvE,IAAA,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE;AAC5B,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAClC,KAAA;AACD,IAAA,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE;AAC5B,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAClC,KAAA;AACD,IAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AACjC,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAClC,KAAA;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9C,IAAA,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,WAAW,KAAK,YAAY,EAAE;AAChC,QAAA,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACnC,KAAA;AAED,IAAA,OAAOC,KAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAEe,SAAA,iBAAiB,CAC/B,OAA4B,EAC5B,QAAmB,EAAA;AAEnB,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC/B,QAAA,OAAO,GAAGC,OAAa,CAAC,OAAO,CAAC,CAAC;AAClC,KAAA;AACD,IAAA,QAAQ,GAAG,QAAQ,IAAI,gBAAgB,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACpC,KAAA;AAGD,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;AACvB,QAAA,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AACtC,KAAA;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;AACvB,QAAA,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AACtC,KAAA;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAA,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AACtC,KAAA;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,IAAA,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAEjD,IAAA,MAAM,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAE,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CACtB,CAAC,MAAc,KAAY;AACzB,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,QAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,KAAC,CACF,CAAC;AAEF,IAAA,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,sCAAsC;AAC3D,UAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtB,UAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;SAEe,gBAAgB,CAC9B,QAAiB,EACjB,GAAkC,EAClC,QAAmB,EAAA;AAEnB,IAAA,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC;AAC3B,IAAA,IAAI,QAAQ,GAAG,EAAE,KAAK,CAAC,EAAE;AACvB,QAAA,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AACtC,KAAA;IACD,GAAG,GAAG,GAAG,KAAK,CAAC,IAAY,KAAiB,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAEe,SAAA,gBAAgB,CAC9B,QAAgB,EAChB,QAAmB,EAAA;IAEnB,IAAI;AACF,QAAA,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACvC,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB,EAAA;AAC1C,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC5B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AAED,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE;AAC5B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AAED,IAAA,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjC,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE;AACnC,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAElB,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAEK,SAAU,kBAAkB,CAAC,QAAkB,EAAA;AACnD,IAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;AAC/B,QAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACrC,KAAA;IACD,gBAAgB,GAAG,QAAQ,CAAC;AAC9B,CAAC;SAEe,kBAAkB,GAAA;IAChC,IAAI,CAAC,gBAAgB,EAAE;AACrB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC5C,KAAA;AAED,IAAA,OAAO,gBAAgB,CAAC;AAC1B;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
\ No newline at end of file
diff --git a/src/index.d.ts b/src/cjs/index.d.ts
similarity index 54%
rename from src/index.d.ts
rename to src/cjs/index.d.ts
index a1af646..667624c 100644
--- a/src/index.d.ts
+++ b/src/cjs/index.d.ts
@@ -1,9 +1,10 @@
-///
-export declare function mnemonicToSeedSync(mnemonic: string, password?: string): Buffer;
-export declare function mnemonicToSeed(mnemonic: string, password?: string): Promise;
+export declare function mnemonicToSeedSync(mnemonic: string, password?: string): Uint8Array;
+export declare function mnemonicToSeed(mnemonic: string, password?: string): Promise;
export declare function mnemonicToEntropy(mnemonic: string, wordlist?: string[]): string;
-export declare function entropyToMnemonic(entropy: Buffer | string, wordlist?: string[]): string;
-export declare function generateMnemonic(strength?: number, rng?: (size: number) => Buffer, wordlist?: string[]): string;
+export declare function entropyToMnemonic(entropy: Uint8Array | string, wordlist?: string[]): string;
+export declare function generateMnemonic(strength?: number, rng?: (size: number) => Uint8Array, wordlist?: string[]): string;
export declare function validateMnemonic(mnemonic: string, wordlist?: string[]): boolean;
export declare function setDefaultWordlist(wordlist: string[]): void;
export declare function getDefaultWordlist(): string[];
+export { chineseSimplified, chineseTraditional, english, japanese, korean, spanish, italian, czech, french, portuguese, } from './wordlists/index.js';
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/index.d.ts.map b/src/cjs/index.d.ts.map
new file mode 100644
index 0000000..8e4c2a7
--- /dev/null
+++ b/src/cjs/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts_src/index.ts"],"names":[],"mappings":"AA4CA,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CAQZ;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CAOrB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,CAiDR;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,CAmCR;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,EAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,CAOR;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO,CAQT;AAoBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAK3D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAM7C;AAED,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,GACX,MAAM,sBAAsB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/chinese_simplified.d.ts b/src/cjs/wordlists/chinese_simplified.d.ts
new file mode 100644
index 0000000..32d8e72
--- /dev/null
+++ b/src/cjs/wordlists/chinese_simplified.d.ts
@@ -0,0 +1,2 @@
+export declare const chineseSimplified: string[];
+//# sourceMappingURL=chinese_simplified.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/chinese_simplified.d.ts.map b/src/cjs/wordlists/chinese_simplified.d.ts.map
new file mode 100644
index 0000000..9e67aff
--- /dev/null
+++ b/src/cjs/wordlists/chinese_simplified.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"chinese_simplified.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/chinese_simplified.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,UAigE7B,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/chinese_traditional.d.ts b/src/cjs/wordlists/chinese_traditional.d.ts
new file mode 100644
index 0000000..94139d5
--- /dev/null
+++ b/src/cjs/wordlists/chinese_traditional.d.ts
@@ -0,0 +1,2 @@
+export declare const chineseTraditional: string[];
+//# sourceMappingURL=chinese_traditional.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/chinese_traditional.d.ts.map b/src/cjs/wordlists/chinese_traditional.d.ts.map
new file mode 100644
index 0000000..04739e9
--- /dev/null
+++ b/src/cjs/wordlists/chinese_traditional.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"chinese_traditional.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/chinese_traditional.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAigE9B,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/czech.d.ts b/src/cjs/wordlists/czech.d.ts
new file mode 100644
index 0000000..98775e6
--- /dev/null
+++ b/src/cjs/wordlists/czech.d.ts
@@ -0,0 +1,2 @@
+export declare const czech: string[];
+//# sourceMappingURL=czech.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/czech.d.ts.map b/src/cjs/wordlists/czech.d.ts.map
new file mode 100644
index 0000000..ec64634
--- /dev/null
+++ b/src/cjs/wordlists/czech.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"czech.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/czech.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAigEjB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/english.d.ts b/src/cjs/wordlists/english.d.ts
new file mode 100644
index 0000000..8f0a1a9
--- /dev/null
+++ b/src/cjs/wordlists/english.d.ts
@@ -0,0 +1,2 @@
+export declare const english: string[];
+//# sourceMappingURL=english.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/english.d.ts.map b/src/cjs/wordlists/english.d.ts.map
new file mode 100644
index 0000000..d0a92b7
--- /dev/null
+++ b/src/cjs/wordlists/english.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"english.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/english.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAigEnB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/french.d.ts b/src/cjs/wordlists/french.d.ts
new file mode 100644
index 0000000..fd4ee12
--- /dev/null
+++ b/src/cjs/wordlists/french.d.ts
@@ -0,0 +1,2 @@
+export declare const french: string[];
+//# sourceMappingURL=french.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/french.d.ts.map b/src/cjs/wordlists/french.d.ts.map
new file mode 100644
index 0000000..004b243
--- /dev/null
+++ b/src/cjs/wordlists/french.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"french.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/french.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,UAigElB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/index.d.ts b/src/cjs/wordlists/index.d.ts
new file mode 100644
index 0000000..ea5e120
--- /dev/null
+++ b/src/cjs/wordlists/index.d.ts
@@ -0,0 +1,11 @@
+export { chineseSimplified } from './chinese_simplified.js';
+export { chineseTraditional } from './chinese_traditional.js';
+export { czech } from './czech.js';
+export { english } from './english.js';
+export { french } from './french.js';
+export { italian } from './italian.js';
+export { japanese } from './japanese.js';
+export { korean } from './korean.js';
+export { spanish } from './spanish.js';
+export { portuguese } from './portuguese.js';
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/index.d.ts.map b/src/cjs/wordlists/index.d.ts.map
new file mode 100644
index 0000000..6c11474
--- /dev/null
+++ b/src/cjs/wordlists/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/italian.d.ts b/src/cjs/wordlists/italian.d.ts
new file mode 100644
index 0000000..40ef81b
--- /dev/null
+++ b/src/cjs/wordlists/italian.d.ts
@@ -0,0 +1,2 @@
+export declare const italian: string[];
+//# sourceMappingURL=italian.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/italian.d.ts.map b/src/cjs/wordlists/italian.d.ts.map
new file mode 100644
index 0000000..1742fae
--- /dev/null
+++ b/src/cjs/wordlists/italian.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"italian.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/italian.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAigEnB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/japanese.d.ts b/src/cjs/wordlists/japanese.d.ts
new file mode 100644
index 0000000..65a5dca
--- /dev/null
+++ b/src/cjs/wordlists/japanese.d.ts
@@ -0,0 +1,2 @@
+export declare const japanese: string[];
+//# sourceMappingURL=japanese.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/japanese.d.ts.map b/src/cjs/wordlists/japanese.d.ts.map
new file mode 100644
index 0000000..bce1c2c
--- /dev/null
+++ b/src/cjs/wordlists/japanese.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"japanese.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/japanese.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,UAigEpB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/korean.d.ts b/src/cjs/wordlists/korean.d.ts
new file mode 100644
index 0000000..82601d0
--- /dev/null
+++ b/src/cjs/wordlists/korean.d.ts
@@ -0,0 +1,2 @@
+export declare const korean: string[];
+//# sourceMappingURL=korean.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/korean.d.ts.map b/src/cjs/wordlists/korean.d.ts.map
new file mode 100644
index 0000000..915bd8e
--- /dev/null
+++ b/src/cjs/wordlists/korean.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"korean.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/korean.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,UAigElB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/portuguese.d.ts b/src/cjs/wordlists/portuguese.d.ts
new file mode 100644
index 0000000..1971427
--- /dev/null
+++ b/src/cjs/wordlists/portuguese.d.ts
@@ -0,0 +1,2 @@
+export declare const portuguese: string[];
+//# sourceMappingURL=portuguese.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/portuguese.d.ts.map b/src/cjs/wordlists/portuguese.d.ts.map
new file mode 100644
index 0000000..7fbaa13
--- /dev/null
+++ b/src/cjs/wordlists/portuguese.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"portuguese.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/portuguese.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,UAigEtB,CAAC"}
\ No newline at end of file
diff --git a/src/cjs/wordlists/spanish.d.ts b/src/cjs/wordlists/spanish.d.ts
new file mode 100644
index 0000000..c1d10e1
--- /dev/null
+++ b/src/cjs/wordlists/spanish.d.ts
@@ -0,0 +1,2 @@
+export declare const spanish: string[];
+//# sourceMappingURL=spanish.d.ts.map
\ No newline at end of file
diff --git a/src/cjs/wordlists/spanish.d.ts.map b/src/cjs/wordlists/spanish.d.ts.map
new file mode 100644
index 0000000..765323a
--- /dev/null
+++ b/src/cjs/wordlists/spanish.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"spanish.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/spanish.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAigEnB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/index.d.ts b/src/esm/index.d.ts
new file mode 100644
index 0000000..667624c
--- /dev/null
+++ b/src/esm/index.d.ts
@@ -0,0 +1,10 @@
+export declare function mnemonicToSeedSync(mnemonic: string, password?: string): Uint8Array;
+export declare function mnemonicToSeed(mnemonic: string, password?: string): Promise;
+export declare function mnemonicToEntropy(mnemonic: string, wordlist?: string[]): string;
+export declare function entropyToMnemonic(entropy: Uint8Array | string, wordlist?: string[]): string;
+export declare function generateMnemonic(strength?: number, rng?: (size: number) => Uint8Array, wordlist?: string[]): string;
+export declare function validateMnemonic(mnemonic: string, wordlist?: string[]): boolean;
+export declare function setDefaultWordlist(wordlist: string[]): void;
+export declare function getDefaultWordlist(): string[];
+export { chineseSimplified, chineseTraditional, english, japanese, korean, spanish, italian, czech, french, portuguese, } from './wordlists/index.js';
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/src/esm/index.d.ts.map b/src/esm/index.d.ts.map
new file mode 100644
index 0000000..8e4c2a7
--- /dev/null
+++ b/src/esm/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts_src/index.ts"],"names":[],"mappings":"AA4CA,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CAQZ;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CAOrB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,CAiDR;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,CAmCR;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,EAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,CAOR;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO,CAQT;AAoBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAK3D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAM7C;AAED,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,GACX,MAAM,sBAAsB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/index.js b/src/esm/index.js
new file mode 100644
index 0000000..75e4804
--- /dev/null
+++ b/src/esm/index.js
@@ -0,0 +1,21515 @@
+function number(n) {
+ if (!Number.isSafeInteger(n) || n < 0)
+ throw new Error(`Wrong positive integer: ${n}`);
+}
+function bool(b) {
+ if (typeof b !== 'boolean')
+ throw new Error(`Expected boolean, not ${b}`);
+}
+function bytes(b, ...lengths) {
+ if (!(b instanceof Uint8Array))
+ throw new TypeError('Expected Uint8Array');
+ if (lengths.length > 0 && !lengths.includes(b.length))
+ throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
+}
+function hash(hash) {
+ if (typeof hash !== 'function' || typeof hash.create !== 'function')
+ throw new Error('Hash should be wrapped by utils.wrapConstructor');
+ number(hash.outputLen);
+ number(hash.blockLen);
+}
+function exists(instance, checkFinished = true) {
+ if (instance.destroyed)
+ throw new Error('Hash instance has been destroyed');
+ if (checkFinished && instance.finished)
+ throw new Error('Hash#digest() has already been called');
+}
+function output(out, instance) {
+ bytes(out);
+ const min = instance.outputLen;
+ if (out.length < min) {
+ throw new Error(`digestInto() expects output buffer of length at least ${min}`);
+ }
+}
+const assert = {
+ number,
+ bool,
+ bytes,
+ hash,
+ exists,
+ output,
+};
+
+/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+// The import here is via the package name. This is to ensure
+// that exports mapping/resolution does fall into place.
+// Cast array to view
+const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
+// The rotate right (circular right shift) operation for uint32
+const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);
+const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;
+// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.
+// So, just to be sure not to corrupt anything.
+if (!isLE)
+ throw new Error('Non little-endian hardware is not supported');
+Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
+// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise
+// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.
+const nextTick = async () => { };
+// Returns control to thread each 'tick' ms to avoid blocking
+async function asyncLoop(iters, tick, cb) {
+ let ts = Date.now();
+ for (let i = 0; i < iters; i++) {
+ cb(i);
+ // Date.now() is not monotonic, so in case if clock goes backwards we return return control too
+ const diff = Date.now() - ts;
+ if (diff >= 0 && diff < tick)
+ continue;
+ await nextTick();
+ ts += diff;
+ }
+}
+function utf8ToBytes(str) {
+ if (typeof str !== 'string') {
+ throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);
+ }
+ return new TextEncoder().encode(str);
+}
+function toBytes(data) {
+ if (typeof data === 'string')
+ data = utf8ToBytes(data);
+ if (!(data instanceof Uint8Array))
+ throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);
+ return data;
+}
+// For runtime check if class implements interface
+class Hash {
+ // Safe version that clones internal state
+ clone() {
+ return this._cloneInto();
+ }
+}
+// Check if object doens't have custom constructor (like Uint8Array/Array)
+const isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;
+function checkOpts(defaults, opts) {
+ if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))
+ throw new TypeError('Options should be object or undefined');
+ const merged = Object.assign(defaults, opts);
+ return merged;
+}
+function wrapConstructor(hashConstructor) {
+ const hashC = (message) => hashConstructor().update(toBytes(message)).digest();
+ const tmp = hashConstructor();
+ hashC.outputLen = tmp.outputLen;
+ hashC.blockLen = tmp.blockLen;
+ hashC.create = () => hashConstructor();
+ return hashC;
+}
+
+// Polyfill for Safari 14
+function setBigUint64(view, byteOffset, value, isLE) {
+ if (typeof view.setBigUint64 === 'function')
+ return view.setBigUint64(byteOffset, value, isLE);
+ const _32n = BigInt(32);
+ const _u32_max = BigInt(0xffffffff);
+ const wh = Number((value >> _32n) & _u32_max);
+ const wl = Number(value & _u32_max);
+ const h = isLE ? 4 : 0;
+ const l = isLE ? 0 : 4;
+ view.setUint32(byteOffset + h, wh, isLE);
+ view.setUint32(byteOffset + l, wl, isLE);
+}
+// Base SHA2 class (RFC 6234)
+class SHA2 extends Hash {
+ constructor(blockLen, outputLen, padOffset, isLE) {
+ super();
+ this.blockLen = blockLen;
+ this.outputLen = outputLen;
+ this.padOffset = padOffset;
+ this.isLE = isLE;
+ this.finished = false;
+ this.length = 0;
+ this.pos = 0;
+ this.destroyed = false;
+ this.buffer = new Uint8Array(blockLen);
+ this.view = createView(this.buffer);
+ }
+ update(data) {
+ assert.exists(this);
+ const { view, buffer, blockLen } = this;
+ data = toBytes(data);
+ const len = data.length;
+ for (let pos = 0; pos < len;) {
+ const take = Math.min(blockLen - this.pos, len - pos);
+ // Fast path: we have at least one block in input, cast it to view and process
+ if (take === blockLen) {
+ const dataView = createView(data);
+ for (; blockLen <= len - pos; pos += blockLen)
+ this.process(dataView, pos);
+ continue;
+ }
+ buffer.set(data.subarray(pos, pos + take), this.pos);
+ this.pos += take;
+ pos += take;
+ if (this.pos === blockLen) {
+ this.process(view, 0);
+ this.pos = 0;
+ }
+ }
+ this.length += data.length;
+ this.roundClean();
+ return this;
+ }
+ digestInto(out) {
+ assert.exists(this);
+ assert.output(out, this);
+ this.finished = true;
+ // Padding
+ // We can avoid allocation of buffer for padding completely if it
+ // was previously not allocated here. But it won't change performance.
+ const { buffer, view, blockLen, isLE } = this;
+ let { pos } = this;
+ // append the bit '1' to the message
+ buffer[pos++] = 0b10000000;
+ this.buffer.subarray(pos).fill(0);
+ // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again
+ if (this.padOffset > blockLen - pos) {
+ this.process(view, 0);
+ pos = 0;
+ }
+ // Pad until full block byte with zeros
+ for (let i = pos; i < blockLen; i++)
+ buffer[i] = 0;
+ // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that
+ // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.
+ // So we just write lowest 64 bits of that value.
+ setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);
+ this.process(view, 0);
+ const oview = createView(out);
+ const len = this.outputLen;
+ // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT
+ if (len % 4)
+ throw new Error('_sha2: outputLen should be aligned to 32bit');
+ const outLen = len / 4;
+ const state = this.get();
+ if (outLen > state.length)
+ throw new Error('_sha2: outputLen bigger than state');
+ for (let i = 0; i < outLen; i++)
+ oview.setUint32(4 * i, state[i], isLE);
+ }
+ digest() {
+ const { buffer, outputLen } = this;
+ this.digestInto(buffer);
+ const res = buffer.slice(0, outputLen);
+ this.destroy();
+ return res;
+ }
+ _cloneInto(to) {
+ to || (to = new this.constructor());
+ to.set(...this.get());
+ const { blockLen, buffer, length, finished, destroyed, pos } = this;
+ to.length = length;
+ to.pos = pos;
+ to.finished = finished;
+ to.destroyed = destroyed;
+ if (length % blockLen)
+ to.buffer.set(buffer);
+ return to;
+ }
+}
+
+// Choice: a ? b : c
+const Chi = (a, b, c) => (a & b) ^ (~a & c);
+// Majority function, true if any two inpust is true
+const Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);
+// Round constants:
+// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)
+// prettier-ignore
+const SHA256_K = new Uint32Array([
+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
+ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
+ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
+ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
+ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
+ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
+]);
+// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
+// prettier-ignore
+const IV = new Uint32Array([
+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
+]);
+// Temporary buffer, not used to store anything between runs
+// Named this way because it matches specification.
+const SHA256_W = new Uint32Array(64);
+class SHA256 extends SHA2 {
+ constructor() {
+ super(64, 32, 8, false);
+ // We cannot use array here since array allows indexing by variable
+ // which means optimizer/compiler cannot use registers.
+ this.A = IV[0] | 0;
+ this.B = IV[1] | 0;
+ this.C = IV[2] | 0;
+ this.D = IV[3] | 0;
+ this.E = IV[4] | 0;
+ this.F = IV[5] | 0;
+ this.G = IV[6] | 0;
+ this.H = IV[7] | 0;
+ }
+ get() {
+ const { A, B, C, D, E, F, G, H } = this;
+ return [A, B, C, D, E, F, G, H];
+ }
+ // prettier-ignore
+ set(A, B, C, D, E, F, G, H) {
+ this.A = A | 0;
+ this.B = B | 0;
+ this.C = C | 0;
+ this.D = D | 0;
+ this.E = E | 0;
+ this.F = F | 0;
+ this.G = G | 0;
+ this.H = H | 0;
+ }
+ process(view, offset) {
+ // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array
+ for (let i = 0; i < 16; i++, offset += 4)
+ SHA256_W[i] = view.getUint32(offset, false);
+ for (let i = 16; i < 64; i++) {
+ const W15 = SHA256_W[i - 15];
+ const W2 = SHA256_W[i - 2];
+ const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);
+ const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);
+ SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;
+ }
+ // Compression function main loop, 64 rounds
+ let { A, B, C, D, E, F, G, H } = this;
+ for (let i = 0; i < 64; i++) {
+ const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);
+ const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
+ const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);
+ const T2 = (sigma0 + Maj(A, B, C)) | 0;
+ H = G;
+ G = F;
+ F = E;
+ E = (D + T1) | 0;
+ D = C;
+ C = B;
+ B = A;
+ A = (T1 + T2) | 0;
+ }
+ // Add the compressed chunk to the current hash value
+ A = (A + this.A) | 0;
+ B = (B + this.B) | 0;
+ C = (C + this.C) | 0;
+ D = (D + this.D) | 0;
+ E = (E + this.E) | 0;
+ F = (F + this.F) | 0;
+ G = (G + this.G) | 0;
+ H = (H + this.H) | 0;
+ this.set(A, B, C, D, E, F, G, H);
+ }
+ roundClean() {
+ SHA256_W.fill(0);
+ }
+ destroy() {
+ this.set(0, 0, 0, 0, 0, 0, 0, 0);
+ this.buffer.fill(0);
+ }
+}
+// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
+class SHA224 extends SHA256 {
+ constructor() {
+ super();
+ this.A = 0xc1059ed8 | 0;
+ this.B = 0x367cd507 | 0;
+ this.C = 0x3070dd17 | 0;
+ this.D = 0xf70e5939 | 0;
+ this.E = 0xffc00b31 | 0;
+ this.F = 0x68581511 | 0;
+ this.G = 0x64f98fa7 | 0;
+ this.H = 0xbefa4fa4 | 0;
+ this.outputLen = 28;
+ }
+}
+/**
+ * SHA2-256 hash function
+ * @param message - data that would be hashed
+ */
+const sha256 = wrapConstructor(() => new SHA256());
+wrapConstructor(() => new SHA224());
+
+const U32_MASK64 = BigInt(2 ** 32 - 1);
+const _32n = BigInt(32);
+// We are not using BigUint64Array, because they are extremely slow as per 2022
+function fromBig(n, le = false) {
+ if (le)
+ return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };
+ return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
+}
+function split(lst, le = false) {
+ let Ah = new Uint32Array(lst.length);
+ let Al = new Uint32Array(lst.length);
+ for (let i = 0; i < lst.length; i++) {
+ const { h, l } = fromBig(lst[i], le);
+ [Ah[i], Al[i]] = [h, l];
+ }
+ return [Ah, Al];
+}
+const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);
+// for Shift in [0, 32)
+const shrSH = (h, l, s) => h >>> s;
+const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
+// Right rotate for Shift in [1, 32)
+const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));
+const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
+// Right rotate for Shift in (32, 64), NOTE: 32 is special case.
+const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));
+const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));
+// Right rotate for shift===32 (just swaps l&h)
+const rotr32H = (h, l) => l;
+const rotr32L = (h, l) => h;
+// Left rotate for Shift in [1, 32)
+const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));
+const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));
+// Left rotate for Shift in (32, 64), NOTE: 32 is special case.
+const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));
+const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));
+// JS uses 32-bit signed integers for bitwise operations which means we cannot
+// simple take carry out of low bit sum by shift, we need to use division.
+// Removing "export" has 5% perf penalty -_-
+function add(Ah, Al, Bh, Bl) {
+ const l = (Al >>> 0) + (Bl >>> 0);
+ return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };
+}
+// Addition with more than 2 elements
+const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
+const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;
+const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
+const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;
+const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
+const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;
+// prettier-ignore
+const u64 = {
+ fromBig, split, toBig,
+ shrSH, shrSL,
+ rotrSH, rotrSL, rotrBH, rotrBL,
+ rotr32H, rotr32L,
+ rotlSH, rotlSL, rotlBH, rotlBL,
+ add, add3L, add3H, add4L, add4H, add5H, add5L,
+};
+
+// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):
+// prettier-ignore
+const [SHA512_Kh, SHA512_Kl] = u64.split([
+ '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',
+ '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',
+ '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',
+ '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',
+ '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',
+ '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',
+ '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',
+ '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',
+ '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',
+ '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',
+ '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',
+ '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',
+ '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',
+ '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',
+ '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',
+ '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',
+ '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',
+ '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',
+ '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',
+ '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'
+].map(n => BigInt(n)));
+// Temporary buffer, not used to store anything between runs
+const SHA512_W_H = new Uint32Array(80);
+const SHA512_W_L = new Uint32Array(80);
+class SHA512 extends SHA2 {
+ constructor() {
+ super(128, 64, 16, false);
+ // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.
+ // Also looks cleaner and easier to verify with spec.
+ // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
+ // h -- high 32 bits, l -- low 32 bits
+ this.Ah = 0x6a09e667 | 0;
+ this.Al = 0xf3bcc908 | 0;
+ this.Bh = 0xbb67ae85 | 0;
+ this.Bl = 0x84caa73b | 0;
+ this.Ch = 0x3c6ef372 | 0;
+ this.Cl = 0xfe94f82b | 0;
+ this.Dh = 0xa54ff53a | 0;
+ this.Dl = 0x5f1d36f1 | 0;
+ this.Eh = 0x510e527f | 0;
+ this.El = 0xade682d1 | 0;
+ this.Fh = 0x9b05688c | 0;
+ this.Fl = 0x2b3e6c1f | 0;
+ this.Gh = 0x1f83d9ab | 0;
+ this.Gl = 0xfb41bd6b | 0;
+ this.Hh = 0x5be0cd19 | 0;
+ this.Hl = 0x137e2179 | 0;
+ }
+ // prettier-ignore
+ get() {
+ const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
+ return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];
+ }
+ // prettier-ignore
+ set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {
+ this.Ah = Ah | 0;
+ this.Al = Al | 0;
+ this.Bh = Bh | 0;
+ this.Bl = Bl | 0;
+ this.Ch = Ch | 0;
+ this.Cl = Cl | 0;
+ this.Dh = Dh | 0;
+ this.Dl = Dl | 0;
+ this.Eh = Eh | 0;
+ this.El = El | 0;
+ this.Fh = Fh | 0;
+ this.Fl = Fl | 0;
+ this.Gh = Gh | 0;
+ this.Gl = Gl | 0;
+ this.Hh = Hh | 0;
+ this.Hl = Hl | 0;
+ }
+ process(view, offset) {
+ // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array
+ for (let i = 0; i < 16; i++, offset += 4) {
+ SHA512_W_H[i] = view.getUint32(offset);
+ SHA512_W_L[i] = view.getUint32((offset += 4));
+ }
+ for (let i = 16; i < 80; i++) {
+ // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)
+ const W15h = SHA512_W_H[i - 15] | 0;
+ const W15l = SHA512_W_L[i - 15] | 0;
+ const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);
+ const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);
+ // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)
+ const W2h = SHA512_W_H[i - 2] | 0;
+ const W2l = SHA512_W_L[i - 2] | 0;
+ const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);
+ const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);
+ // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];
+ const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);
+ const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);
+ SHA512_W_H[i] = SUMh | 0;
+ SHA512_W_L[i] = SUMl | 0;
+ }
+ let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
+ // Compression function main loop, 80 rounds
+ for (let i = 0; i < 80; i++) {
+ // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)
+ const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);
+ const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);
+ //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
+ const CHIh = (Eh & Fh) ^ (~Eh & Gh);
+ const CHIl = (El & Fl) ^ (~El & Gl);
+ // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]
+ // prettier-ignore
+ const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);
+ const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);
+ const T1l = T1ll | 0;
+ // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)
+ const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);
+ const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);
+ const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);
+ const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);
+ Hh = Gh | 0;
+ Hl = Gl | 0;
+ Gh = Fh | 0;
+ Gl = Fl | 0;
+ Fh = Eh | 0;
+ Fl = El | 0;
+ ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));
+ Dh = Ch | 0;
+ Dl = Cl | 0;
+ Ch = Bh | 0;
+ Cl = Bl | 0;
+ Bh = Ah | 0;
+ Bl = Al | 0;
+ const All = u64.add3L(T1l, sigma0l, MAJl);
+ Ah = u64.add3H(All, T1h, sigma0h, MAJh);
+ Al = All | 0;
+ }
+ // Add the compressed chunk to the current hash value
+ ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));
+ ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));
+ ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));
+ ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));
+ ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));
+ ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));
+ ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));
+ ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));
+ this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);
+ }
+ roundClean() {
+ SHA512_W_H.fill(0);
+ SHA512_W_L.fill(0);
+ }
+ destroy() {
+ this.buffer.fill(0);
+ this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+ }
+}
+class SHA512_224 extends SHA512 {
+ constructor() {
+ super();
+ // h -- high 32 bits, l -- low 32 bits
+ this.Ah = 0x8c3d37c8 | 0;
+ this.Al = 0x19544da2 | 0;
+ this.Bh = 0x73e19966 | 0;
+ this.Bl = 0x89dcd4d6 | 0;
+ this.Ch = 0x1dfab7ae | 0;
+ this.Cl = 0x32ff9c82 | 0;
+ this.Dh = 0x679dd514 | 0;
+ this.Dl = 0x582f9fcf | 0;
+ this.Eh = 0x0f6d2b69 | 0;
+ this.El = 0x7bd44da8 | 0;
+ this.Fh = 0x77e36f73 | 0;
+ this.Fl = 0x04c48942 | 0;
+ this.Gh = 0x3f9d85a8 | 0;
+ this.Gl = 0x6a1d36c8 | 0;
+ this.Hh = 0x1112e6ad | 0;
+ this.Hl = 0x91d692a1 | 0;
+ this.outputLen = 28;
+ }
+}
+class SHA512_256 extends SHA512 {
+ constructor() {
+ super();
+ // h -- high 32 bits, l -- low 32 bits
+ this.Ah = 0x22312194 | 0;
+ this.Al = 0xfc2bf72c | 0;
+ this.Bh = 0x9f555fa3 | 0;
+ this.Bl = 0xc84c64c2 | 0;
+ this.Ch = 0x2393b86b | 0;
+ this.Cl = 0x6f53b151 | 0;
+ this.Dh = 0x96387719 | 0;
+ this.Dl = 0x5940eabd | 0;
+ this.Eh = 0x96283ee2 | 0;
+ this.El = 0xa88effe3 | 0;
+ this.Fh = 0xbe5e1e25 | 0;
+ this.Fl = 0x53863992 | 0;
+ this.Gh = 0x2b0199fc | 0;
+ this.Gl = 0x2c85b8aa | 0;
+ this.Hh = 0x0eb72ddc | 0;
+ this.Hl = 0x81c52ca2 | 0;
+ this.outputLen = 32;
+ }
+}
+class SHA384 extends SHA512 {
+ constructor() {
+ super();
+ // h -- high 32 bits, l -- low 32 bits
+ this.Ah = 0xcbbb9d5d | 0;
+ this.Al = 0xc1059ed8 | 0;
+ this.Bh = 0x629a292a | 0;
+ this.Bl = 0x367cd507 | 0;
+ this.Ch = 0x9159015a | 0;
+ this.Cl = 0x3070dd17 | 0;
+ this.Dh = 0x152fecd8 | 0;
+ this.Dl = 0xf70e5939 | 0;
+ this.Eh = 0x67332667 | 0;
+ this.El = 0xffc00b31 | 0;
+ this.Fh = 0x8eb44a87 | 0;
+ this.Fl = 0x68581511 | 0;
+ this.Gh = 0xdb0c2e0d | 0;
+ this.Gl = 0x64f98fa7 | 0;
+ this.Hh = 0x47b5481d | 0;
+ this.Hl = 0xbefa4fa4 | 0;
+ this.outputLen = 48;
+ }
+}
+const sha512 = wrapConstructor(() => new SHA512());
+wrapConstructor(() => new SHA512_224());
+wrapConstructor(() => new SHA512_256());
+wrapConstructor(() => new SHA384());
+
+// HMAC (RFC 2104)
+class HMAC extends Hash {
+ constructor(hash, _key) {
+ super();
+ this.finished = false;
+ this.destroyed = false;
+ assert.hash(hash);
+ const key = toBytes(_key);
+ this.iHash = hash.create();
+ if (typeof this.iHash.update !== 'function')
+ throw new TypeError('Expected instance of class which extends utils.Hash');
+ this.blockLen = this.iHash.blockLen;
+ this.outputLen = this.iHash.outputLen;
+ const blockLen = this.blockLen;
+ const pad = new Uint8Array(blockLen);
+ // blockLen can be bigger than outputLen
+ pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);
+ for (let i = 0; i < pad.length; i++)
+ pad[i] ^= 0x36;
+ this.iHash.update(pad);
+ // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone
+ this.oHash = hash.create();
+ // Undo internal XOR && apply outer XOR
+ for (let i = 0; i < pad.length; i++)
+ pad[i] ^= 0x36 ^ 0x5c;
+ this.oHash.update(pad);
+ pad.fill(0);
+ }
+ update(buf) {
+ assert.exists(this);
+ this.iHash.update(buf);
+ return this;
+ }
+ digestInto(out) {
+ assert.exists(this);
+ assert.bytes(out, this.outputLen);
+ this.finished = true;
+ this.iHash.digestInto(out);
+ this.oHash.update(out);
+ this.oHash.digestInto(out);
+ this.destroy();
+ }
+ digest() {
+ const out = new Uint8Array(this.oHash.outputLen);
+ this.digestInto(out);
+ return out;
+ }
+ _cloneInto(to) {
+ // Create new instance without calling constructor since key already in state and we don't know it.
+ to || (to = Object.create(Object.getPrototypeOf(this), {}));
+ const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;
+ to = to;
+ to.finished = finished;
+ to.destroyed = destroyed;
+ to.blockLen = blockLen;
+ to.outputLen = outputLen;
+ to.oHash = oHash._cloneInto(to.oHash);
+ to.iHash = iHash._cloneInto(to.iHash);
+ return to;
+ }
+ destroy() {
+ this.destroyed = true;
+ this.oHash.destroy();
+ this.iHash.destroy();
+ }
+}
+/**
+ * HMAC: RFC2104 message authentication code.
+ * @param hash - function that would be used e.g. sha256
+ * @param key - message key
+ * @param message - message data
+ */
+const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();
+hmac.create = (hash, key) => new HMAC(hash, key);
+
+// Common prologue and epilogue for sync/async functions
+function pbkdf2Init(hash, _password, _salt, _opts) {
+ assert.hash(hash);
+ const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);
+ const { c, dkLen, asyncTick } = opts;
+ assert.number(c);
+ assert.number(dkLen);
+ assert.number(asyncTick);
+ if (c < 1)
+ throw new Error('PBKDF2: iterations (c) should be >= 1');
+ const password = toBytes(_password);
+ const salt = toBytes(_salt);
+ // DK = PBKDF2(PRF, Password, Salt, c, dkLen);
+ const DK = new Uint8Array(dkLen);
+ // U1 = PRF(Password, Salt + INT_32_BE(i))
+ const PRF = hmac.create(hash, password);
+ const PRFSalt = PRF._cloneInto().update(salt);
+ return { c, dkLen, asyncTick, DK, PRF, PRFSalt };
+}
+function pbkdf2Output(PRF, PRFSalt, DK, prfW, u) {
+ PRF.destroy();
+ PRFSalt.destroy();
+ if (prfW)
+ prfW.destroy();
+ u.fill(0);
+ return DK;
+}
+/**
+ * PBKDF2-HMAC: RFC 2898 key derivation function
+ * @param hash - hash function that would be used e.g. sha256
+ * @param password - password from which a derived key is generated
+ * @param salt - cryptographic salt
+ * @param opts - {c, dkLen} where c is work factor and dkLen is output message size
+ */
+function pbkdf2(hash, password, salt, opts) {
+ const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);
+ let prfW; // Working copy
+ const arr = new Uint8Array(4);
+ const view = createView(arr);
+ const u = new Uint8Array(PRF.outputLen);
+ // DK = T1 + T2 + ⋯ + Tdklen/hlen
+ for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {
+ // Ti = F(Password, Salt, c, i)
+ const Ti = DK.subarray(pos, pos + PRF.outputLen);
+ view.setInt32(0, ti, false);
+ // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc
+ // U1 = PRF(Password, Salt + INT_32_BE(i))
+ (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);
+ Ti.set(u.subarray(0, Ti.length));
+ for (let ui = 1; ui < c; ui++) {
+ // Uc = PRF(Password, Uc−1)
+ PRF._cloneInto(prfW).update(u).digestInto(u);
+ for (let i = 0; i < Ti.length; i++)
+ Ti[i] ^= u[i];
+ }
+ }
+ return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);
+}
+async function pbkdf2Async(hash, password, salt, opts) {
+ const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);
+ let prfW; // Working copy
+ const arr = new Uint8Array(4);
+ const view = createView(arr);
+ const u = new Uint8Array(PRF.outputLen);
+ // DK = T1 + T2 + ⋯ + Tdklen/hlen
+ for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {
+ // Ti = F(Password, Salt, c, i)
+ const Ti = DK.subarray(pos, pos + PRF.outputLen);
+ view.setInt32(0, ti, false);
+ // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc
+ // U1 = PRF(Password, Salt + INT_32_BE(i))
+ (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);
+ Ti.set(u.subarray(0, Ti.length));
+ await asyncLoop(c - 1, asyncTick, (i) => {
+ // Uc = PRF(Password, Uc−1)
+ PRF._cloneInto(prfW).update(u).digestInto(u);
+ for (let i = 0; i < Ti.length; i++)
+ Ti[i] ^= u[i];
+ });
+ }
+ return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);
+}
+
+const HEX_STRINGS = "0123456789abcdefABCDEF";
+const HEX_CODES = HEX_STRINGS.split("").map((c) => c.codePointAt(0));
+const HEX_CODEPOINTS = Array(256)
+ .fill(true)
+ .map((_, i) => {
+ const s = String.fromCodePoint(i);
+ const index = HEX_STRINGS.indexOf(s);
+ // ABCDEF will use 10 - 15
+ return index < 0 ? undefined : index < 16 ? index : index - 6;
+});
+const ENCODER = new TextEncoder();
+const DECODER = new TextDecoder();
+function fromUtf8(s) {
+ return ENCODER.encode(s);
+}
+// There are two implementations.
+// One optimizes for length of the bytes, and uses TextDecoder.
+// One optimizes for iteration count, and appends strings.
+// This removes the overhead of TextDecoder.
+function toHex(bytes) {
+ const b = bytes || new Uint8Array();
+ return b.length > 512 ? _toHexLengthPerf(b) : _toHexIterPerf(b);
+}
+function _toHexIterPerf(bytes) {
+ let s = "";
+ for (let i = 0; i < bytes.length; ++i) {
+ s += HEX_STRINGS[HEX_CODEPOINTS[HEX_CODES[bytes[i] >> 4]]];
+ s += HEX_STRINGS[HEX_CODEPOINTS[HEX_CODES[bytes[i] & 15]]];
+ }
+ return s;
+}
+function _toHexLengthPerf(bytes) {
+ const hexBytes = new Uint8Array(bytes.length * 2);
+ for (let i = 0; i < bytes.length; ++i) {
+ hexBytes[i * 2] = HEX_CODES[bytes[i] >> 4];
+ hexBytes[i * 2 + 1] = HEX_CODES[bytes[i] & 15];
+ }
+ return DECODER.decode(hexBytes);
+}
+// Mimics Buffer.from(x, 'hex') logic
+// Stops on first non-hex string and returns
+// https://github.com/nodejs/node/blob/v14.18.1/src/string_bytes.cc#L246-L261
+function fromHex(hexString) {
+ const hexBytes = ENCODER.encode(hexString || "");
+ const resultBytes = new Uint8Array(Math.floor(hexBytes.length / 2));
+ let i;
+ for (i = 0; i < resultBytes.length; i++) {
+ const a = HEX_CODEPOINTS[hexBytes[i * 2]];
+ const b = HEX_CODEPOINTS[hexBytes[i * 2 + 1]];
+ if (a === undefined || b === undefined) {
+ break;
+ }
+ resultBytes[i] = (a << 4) | b;
+ }
+ return i === resultBytes.length ? resultBytes : resultBytes.slice(0, i);
+}
+
+const chineseSimplified = [
+ '的',
+ '一',
+ '是',
+ '在',
+ '不',
+ '了',
+ '有',
+ '和',
+ '人',
+ '这',
+ '中',
+ '大',
+ '为',
+ '上',
+ '个',
+ '国',
+ '我',
+ '以',
+ '要',
+ '他',
+ '时',
+ '来',
+ '用',
+ '们',
+ '生',
+ '到',
+ '作',
+ '地',
+ '于',
+ '出',
+ '就',
+ '分',
+ '对',
+ '成',
+ '会',
+ '可',
+ '主',
+ '发',
+ '年',
+ '动',
+ '同',
+ '工',
+ '也',
+ '能',
+ '下',
+ '过',
+ '子',
+ '说',
+ '产',
+ '种',
+ '面',
+ '而',
+ '方',
+ '后',
+ '多',
+ '定',
+ '行',
+ '学',
+ '法',
+ '所',
+ '民',
+ '得',
+ '经',
+ '十',
+ '三',
+ '之',
+ '进',
+ '着',
+ '等',
+ '部',
+ '度',
+ '家',
+ '电',
+ '力',
+ '里',
+ '如',
+ '水',
+ '化',
+ '高',
+ '自',
+ '二',
+ '理',
+ '起',
+ '小',
+ '物',
+ '现',
+ '实',
+ '加',
+ '量',
+ '都',
+ '两',
+ '体',
+ '制',
+ '机',
+ '当',
+ '使',
+ '点',
+ '从',
+ '业',
+ '本',
+ '去',
+ '把',
+ '性',
+ '好',
+ '应',
+ '开',
+ '它',
+ '合',
+ '还',
+ '因',
+ '由',
+ '其',
+ '些',
+ '然',
+ '前',
+ '外',
+ '天',
+ '政',
+ '四',
+ '日',
+ '那',
+ '社',
+ '义',
+ '事',
+ '平',
+ '形',
+ '相',
+ '全',
+ '表',
+ '间',
+ '样',
+ '与',
+ '关',
+ '各',
+ '重',
+ '新',
+ '线',
+ '内',
+ '数',
+ '正',
+ '心',
+ '反',
+ '你',
+ '明',
+ '看',
+ '原',
+ '又',
+ '么',
+ '利',
+ '比',
+ '或',
+ '但',
+ '质',
+ '气',
+ '第',
+ '向',
+ '道',
+ '命',
+ '此',
+ '变',
+ '条',
+ '只',
+ '没',
+ '结',
+ '解',
+ '问',
+ '意',
+ '建',
+ '月',
+ '公',
+ '无',
+ '系',
+ '军',
+ '很',
+ '情',
+ '者',
+ '最',
+ '立',
+ '代',
+ '想',
+ '已',
+ '通',
+ '并',
+ '提',
+ '直',
+ '题',
+ '党',
+ '程',
+ '展',
+ '五',
+ '果',
+ '料',
+ '象',
+ '员',
+ '革',
+ '位',
+ '入',
+ '常',
+ '文',
+ '总',
+ '次',
+ '品',
+ '式',
+ '活',
+ '设',
+ '及',
+ '管',
+ '特',
+ '件',
+ '长',
+ '求',
+ '老',
+ '头',
+ '基',
+ '资',
+ '边',
+ '流',
+ '路',
+ '级',
+ '少',
+ '图',
+ '山',
+ '统',
+ '接',
+ '知',
+ '较',
+ '将',
+ '组',
+ '见',
+ '计',
+ '别',
+ '她',
+ '手',
+ '角',
+ '期',
+ '根',
+ '论',
+ '运',
+ '农',
+ '指',
+ '几',
+ '九',
+ '区',
+ '强',
+ '放',
+ '决',
+ '西',
+ '被',
+ '干',
+ '做',
+ '必',
+ '战',
+ '先',
+ '回',
+ '则',
+ '任',
+ '取',
+ '据',
+ '处',
+ '队',
+ '南',
+ '给',
+ '色',
+ '光',
+ '门',
+ '即',
+ '保',
+ '治',
+ '北',
+ '造',
+ '百',
+ '规',
+ '热',
+ '领',
+ '七',
+ '海',
+ '口',
+ '东',
+ '导',
+ '器',
+ '压',
+ '志',
+ '世',
+ '金',
+ '增',
+ '争',
+ '济',
+ '阶',
+ '油',
+ '思',
+ '术',
+ '极',
+ '交',
+ '受',
+ '联',
+ '什',
+ '认',
+ '六',
+ '共',
+ '权',
+ '收',
+ '证',
+ '改',
+ '清',
+ '美',
+ '再',
+ '采',
+ '转',
+ '更',
+ '单',
+ '风',
+ '切',
+ '打',
+ '白',
+ '教',
+ '速',
+ '花',
+ '带',
+ '安',
+ '场',
+ '身',
+ '车',
+ '例',
+ '真',
+ '务',
+ '具',
+ '万',
+ '每',
+ '目',
+ '至',
+ '达',
+ '走',
+ '积',
+ '示',
+ '议',
+ '声',
+ '报',
+ '斗',
+ '完',
+ '类',
+ '八',
+ '离',
+ '华',
+ '名',
+ '确',
+ '才',
+ '科',
+ '张',
+ '信',
+ '马',
+ '节',
+ '话',
+ '米',
+ '整',
+ '空',
+ '元',
+ '况',
+ '今',
+ '集',
+ '温',
+ '传',
+ '土',
+ '许',
+ '步',
+ '群',
+ '广',
+ '石',
+ '记',
+ '需',
+ '段',
+ '研',
+ '界',
+ '拉',
+ '林',
+ '律',
+ '叫',
+ '且',
+ '究',
+ '观',
+ '越',
+ '织',
+ '装',
+ '影',
+ '算',
+ '低',
+ '持',
+ '音',
+ '众',
+ '书',
+ '布',
+ '复',
+ '容',
+ '儿',
+ '须',
+ '际',
+ '商',
+ '非',
+ '验',
+ '连',
+ '断',
+ '深',
+ '难',
+ '近',
+ '矿',
+ '千',
+ '周',
+ '委',
+ '素',
+ '技',
+ '备',
+ '半',
+ '办',
+ '青',
+ '省',
+ '列',
+ '习',
+ '响',
+ '约',
+ '支',
+ '般',
+ '史',
+ '感',
+ '劳',
+ '便',
+ '团',
+ '往',
+ '酸',
+ '历',
+ '市',
+ '克',
+ '何',
+ '除',
+ '消',
+ '构',
+ '府',
+ '称',
+ '太',
+ '准',
+ '精',
+ '值',
+ '号',
+ '率',
+ '族',
+ '维',
+ '划',
+ '选',
+ '标',
+ '写',
+ '存',
+ '候',
+ '毛',
+ '亲',
+ '快',
+ '效',
+ '斯',
+ '院',
+ '查',
+ '江',
+ '型',
+ '眼',
+ '王',
+ '按',
+ '格',
+ '养',
+ '易',
+ '置',
+ '派',
+ '层',
+ '片',
+ '始',
+ '却',
+ '专',
+ '状',
+ '育',
+ '厂',
+ '京',
+ '识',
+ '适',
+ '属',
+ '圆',
+ '包',
+ '火',
+ '住',
+ '调',
+ '满',
+ '县',
+ '局',
+ '照',
+ '参',
+ '红',
+ '细',
+ '引',
+ '听',
+ '该',
+ '铁',
+ '价',
+ '严',
+ '首',
+ '底',
+ '液',
+ '官',
+ '德',
+ '随',
+ '病',
+ '苏',
+ '失',
+ '尔',
+ '死',
+ '讲',
+ '配',
+ '女',
+ '黄',
+ '推',
+ '显',
+ '谈',
+ '罪',
+ '神',
+ '艺',
+ '呢',
+ '席',
+ '含',
+ '企',
+ '望',
+ '密',
+ '批',
+ '营',
+ '项',
+ '防',
+ '举',
+ '球',
+ '英',
+ '氧',
+ '势',
+ '告',
+ '李',
+ '台',
+ '落',
+ '木',
+ '帮',
+ '轮',
+ '破',
+ '亚',
+ '师',
+ '围',
+ '注',
+ '远',
+ '字',
+ '材',
+ '排',
+ '供',
+ '河',
+ '态',
+ '封',
+ '另',
+ '施',
+ '减',
+ '树',
+ '溶',
+ '怎',
+ '止',
+ '案',
+ '言',
+ '士',
+ '均',
+ '武',
+ '固',
+ '叶',
+ '鱼',
+ '波',
+ '视',
+ '仅',
+ '费',
+ '紧',
+ '爱',
+ '左',
+ '章',
+ '早',
+ '朝',
+ '害',
+ '续',
+ '轻',
+ '服',
+ '试',
+ '食',
+ '充',
+ '兵',
+ '源',
+ '判',
+ '护',
+ '司',
+ '足',
+ '某',
+ '练',
+ '差',
+ '致',
+ '板',
+ '田',
+ '降',
+ '黑',
+ '犯',
+ '负',
+ '击',
+ '范',
+ '继',
+ '兴',
+ '似',
+ '余',
+ '坚',
+ '曲',
+ '输',
+ '修',
+ '故',
+ '城',
+ '夫',
+ '够',
+ '送',
+ '笔',
+ '船',
+ '占',
+ '右',
+ '财',
+ '吃',
+ '富',
+ '春',
+ '职',
+ '觉',
+ '汉',
+ '画',
+ '功',
+ '巴',
+ '跟',
+ '虽',
+ '杂',
+ '飞',
+ '检',
+ '吸',
+ '助',
+ '升',
+ '阳',
+ '互',
+ '初',
+ '创',
+ '抗',
+ '考',
+ '投',
+ '坏',
+ '策',
+ '古',
+ '径',
+ '换',
+ '未',
+ '跑',
+ '留',
+ '钢',
+ '曾',
+ '端',
+ '责',
+ '站',
+ '简',
+ '述',
+ '钱',
+ '副',
+ '尽',
+ '帝',
+ '射',
+ '草',
+ '冲',
+ '承',
+ '独',
+ '令',
+ '限',
+ '阿',
+ '宣',
+ '环',
+ '双',
+ '请',
+ '超',
+ '微',
+ '让',
+ '控',
+ '州',
+ '良',
+ '轴',
+ '找',
+ '否',
+ '纪',
+ '益',
+ '依',
+ '优',
+ '顶',
+ '础',
+ '载',
+ '倒',
+ '房',
+ '突',
+ '坐',
+ '粉',
+ '敌',
+ '略',
+ '客',
+ '袁',
+ '冷',
+ '胜',
+ '绝',
+ '析',
+ '块',
+ '剂',
+ '测',
+ '丝',
+ '协',
+ '诉',
+ '念',
+ '陈',
+ '仍',
+ '罗',
+ '盐',
+ '友',
+ '洋',
+ '错',
+ '苦',
+ '夜',
+ '刑',
+ '移',
+ '频',
+ '逐',
+ '靠',
+ '混',
+ '母',
+ '短',
+ '皮',
+ '终',
+ '聚',
+ '汽',
+ '村',
+ '云',
+ '哪',
+ '既',
+ '距',
+ '卫',
+ '停',
+ '烈',
+ '央',
+ '察',
+ '烧',
+ '迅',
+ '境',
+ '若',
+ '印',
+ '洲',
+ '刻',
+ '括',
+ '激',
+ '孔',
+ '搞',
+ '甚',
+ '室',
+ '待',
+ '核',
+ '校',
+ '散',
+ '侵',
+ '吧',
+ '甲',
+ '游',
+ '久',
+ '菜',
+ '味',
+ '旧',
+ '模',
+ '湖',
+ '货',
+ '损',
+ '预',
+ '阻',
+ '毫',
+ '普',
+ '稳',
+ '乙',
+ '妈',
+ '植',
+ '息',
+ '扩',
+ '银',
+ '语',
+ '挥',
+ '酒',
+ '守',
+ '拿',
+ '序',
+ '纸',
+ '医',
+ '缺',
+ '雨',
+ '吗',
+ '针',
+ '刘',
+ '啊',
+ '急',
+ '唱',
+ '误',
+ '训',
+ '愿',
+ '审',
+ '附',
+ '获',
+ '茶',
+ '鲜',
+ '粮',
+ '斤',
+ '孩',
+ '脱',
+ '硫',
+ '肥',
+ '善',
+ '龙',
+ '演',
+ '父',
+ '渐',
+ '血',
+ '欢',
+ '械',
+ '掌',
+ '歌',
+ '沙',
+ '刚',
+ '攻',
+ '谓',
+ '盾',
+ '讨',
+ '晚',
+ '粒',
+ '乱',
+ '燃',
+ '矛',
+ '乎',
+ '杀',
+ '药',
+ '宁',
+ '鲁',
+ '贵',
+ '钟',
+ '煤',
+ '读',
+ '班',
+ '伯',
+ '香',
+ '介',
+ '迫',
+ '句',
+ '丰',
+ '培',
+ '握',
+ '兰',
+ '担',
+ '弦',
+ '蛋',
+ '沉',
+ '假',
+ '穿',
+ '执',
+ '答',
+ '乐',
+ '谁',
+ '顺',
+ '烟',
+ '缩',
+ '征',
+ '脸',
+ '喜',
+ '松',
+ '脚',
+ '困',
+ '异',
+ '免',
+ '背',
+ '星',
+ '福',
+ '买',
+ '染',
+ '井',
+ '概',
+ '慢',
+ '怕',
+ '磁',
+ '倍',
+ '祖',
+ '皇',
+ '促',
+ '静',
+ '补',
+ '评',
+ '翻',
+ '肉',
+ '践',
+ '尼',
+ '衣',
+ '宽',
+ '扬',
+ '棉',
+ '希',
+ '伤',
+ '操',
+ '垂',
+ '秋',
+ '宜',
+ '氢',
+ '套',
+ '督',
+ '振',
+ '架',
+ '亮',
+ '末',
+ '宪',
+ '庆',
+ '编',
+ '牛',
+ '触',
+ '映',
+ '雷',
+ '销',
+ '诗',
+ '座',
+ '居',
+ '抓',
+ '裂',
+ '胞',
+ '呼',
+ '娘',
+ '景',
+ '威',
+ '绿',
+ '晶',
+ '厚',
+ '盟',
+ '衡',
+ '鸡',
+ '孙',
+ '延',
+ '危',
+ '胶',
+ '屋',
+ '乡',
+ '临',
+ '陆',
+ '顾',
+ '掉',
+ '呀',
+ '灯',
+ '岁',
+ '措',
+ '束',
+ '耐',
+ '剧',
+ '玉',
+ '赵',
+ '跳',
+ '哥',
+ '季',
+ '课',
+ '凯',
+ '胡',
+ '额',
+ '款',
+ '绍',
+ '卷',
+ '齐',
+ '伟',
+ '蒸',
+ '殖',
+ '永',
+ '宗',
+ '苗',
+ '川',
+ '炉',
+ '岩',
+ '弱',
+ '零',
+ '杨',
+ '奏',
+ '沿',
+ '露',
+ '杆',
+ '探',
+ '滑',
+ '镇',
+ '饭',
+ '浓',
+ '航',
+ '怀',
+ '赶',
+ '库',
+ '夺',
+ '伊',
+ '灵',
+ '税',
+ '途',
+ '灭',
+ '赛',
+ '归',
+ '召',
+ '鼓',
+ '播',
+ '盘',
+ '裁',
+ '险',
+ '康',
+ '唯',
+ '录',
+ '菌',
+ '纯',
+ '借',
+ '糖',
+ '盖',
+ '横',
+ '符',
+ '私',
+ '努',
+ '堂',
+ '域',
+ '枪',
+ '润',
+ '幅',
+ '哈',
+ '竟',
+ '熟',
+ '虫',
+ '泽',
+ '脑',
+ '壤',
+ '碳',
+ '欧',
+ '遍',
+ '侧',
+ '寨',
+ '敢',
+ '彻',
+ '虑',
+ '斜',
+ '薄',
+ '庭',
+ '纳',
+ '弹',
+ '饲',
+ '伸',
+ '折',
+ '麦',
+ '湿',
+ '暗',
+ '荷',
+ '瓦',
+ '塞',
+ '床',
+ '筑',
+ '恶',
+ '户',
+ '访',
+ '塔',
+ '奇',
+ '透',
+ '梁',
+ '刀',
+ '旋',
+ '迹',
+ '卡',
+ '氯',
+ '遇',
+ '份',
+ '毒',
+ '泥',
+ '退',
+ '洗',
+ '摆',
+ '灰',
+ '彩',
+ '卖',
+ '耗',
+ '夏',
+ '择',
+ '忙',
+ '铜',
+ '献',
+ '硬',
+ '予',
+ '繁',
+ '圈',
+ '雪',
+ '函',
+ '亦',
+ '抽',
+ '篇',
+ '阵',
+ '阴',
+ '丁',
+ '尺',
+ '追',
+ '堆',
+ '雄',
+ '迎',
+ '泛',
+ '爸',
+ '楼',
+ '避',
+ '谋',
+ '吨',
+ '野',
+ '猪',
+ '旗',
+ '累',
+ '偏',
+ '典',
+ '馆',
+ '索',
+ '秦',
+ '脂',
+ '潮',
+ '爷',
+ '豆',
+ '忽',
+ '托',
+ '惊',
+ '塑',
+ '遗',
+ '愈',
+ '朱',
+ '替',
+ '纤',
+ '粗',
+ '倾',
+ '尚',
+ '痛',
+ '楚',
+ '谢',
+ '奋',
+ '购',
+ '磨',
+ '君',
+ '池',
+ '旁',
+ '碎',
+ '骨',
+ '监',
+ '捕',
+ '弟',
+ '暴',
+ '割',
+ '贯',
+ '殊',
+ '释',
+ '词',
+ '亡',
+ '壁',
+ '顿',
+ '宝',
+ '午',
+ '尘',
+ '闻',
+ '揭',
+ '炮',
+ '残',
+ '冬',
+ '桥',
+ '妇',
+ '警',
+ '综',
+ '招',
+ '吴',
+ '付',
+ '浮',
+ '遭',
+ '徐',
+ '您',
+ '摇',
+ '谷',
+ '赞',
+ '箱',
+ '隔',
+ '订',
+ '男',
+ '吹',
+ '园',
+ '纷',
+ '唐',
+ '败',
+ '宋',
+ '玻',
+ '巨',
+ '耕',
+ '坦',
+ '荣',
+ '闭',
+ '湾',
+ '键',
+ '凡',
+ '驻',
+ '锅',
+ '救',
+ '恩',
+ '剥',
+ '凝',
+ '碱',
+ '齿',
+ '截',
+ '炼',
+ '麻',
+ '纺',
+ '禁',
+ '废',
+ '盛',
+ '版',
+ '缓',
+ '净',
+ '睛',
+ '昌',
+ '婚',
+ '涉',
+ '筒',
+ '嘴',
+ '插',
+ '岸',
+ '朗',
+ '庄',
+ '街',
+ '藏',
+ '姑',
+ '贸',
+ '腐',
+ '奴',
+ '啦',
+ '惯',
+ '乘',
+ '伙',
+ '恢',
+ '匀',
+ '纱',
+ '扎',
+ '辩',
+ '耳',
+ '彪',
+ '臣',
+ '亿',
+ '璃',
+ '抵',
+ '脉',
+ '秀',
+ '萨',
+ '俄',
+ '网',
+ '舞',
+ '店',
+ '喷',
+ '纵',
+ '寸',
+ '汗',
+ '挂',
+ '洪',
+ '贺',
+ '闪',
+ '柬',
+ '爆',
+ '烯',
+ '津',
+ '稻',
+ '墙',
+ '软',
+ '勇',
+ '像',
+ '滚',
+ '厘',
+ '蒙',
+ '芳',
+ '肯',
+ '坡',
+ '柱',
+ '荡',
+ '腿',
+ '仪',
+ '旅',
+ '尾',
+ '轧',
+ '冰',
+ '贡',
+ '登',
+ '黎',
+ '削',
+ '钻',
+ '勒',
+ '逃',
+ '障',
+ '氨',
+ '郭',
+ '峰',
+ '币',
+ '港',
+ '伏',
+ '轨',
+ '亩',
+ '毕',
+ '擦',
+ '莫',
+ '刺',
+ '浪',
+ '秘',
+ '援',
+ '株',
+ '健',
+ '售',
+ '股',
+ '岛',
+ '甘',
+ '泡',
+ '睡',
+ '童',
+ '铸',
+ '汤',
+ '阀',
+ '休',
+ '汇',
+ '舍',
+ '牧',
+ '绕',
+ '炸',
+ '哲',
+ '磷',
+ '绩',
+ '朋',
+ '淡',
+ '尖',
+ '启',
+ '陷',
+ '柴',
+ '呈',
+ '徒',
+ '颜',
+ '泪',
+ '稍',
+ '忘',
+ '泵',
+ '蓝',
+ '拖',
+ '洞',
+ '授',
+ '镜',
+ '辛',
+ '壮',
+ '锋',
+ '贫',
+ '虚',
+ '弯',
+ '摩',
+ '泰',
+ '幼',
+ '廷',
+ '尊',
+ '窗',
+ '纲',
+ '弄',
+ '隶',
+ '疑',
+ '氏',
+ '宫',
+ '姐',
+ '震',
+ '瑞',
+ '怪',
+ '尤',
+ '琴',
+ '循',
+ '描',
+ '膜',
+ '违',
+ '夹',
+ '腰',
+ '缘',
+ '珠',
+ '穷',
+ '森',
+ '枝',
+ '竹',
+ '沟',
+ '催',
+ '绳',
+ '忆',
+ '邦',
+ '剩',
+ '幸',
+ '浆',
+ '栏',
+ '拥',
+ '牙',
+ '贮',
+ '礼',
+ '滤',
+ '钠',
+ '纹',
+ '罢',
+ '拍',
+ '咱',
+ '喊',
+ '袖',
+ '埃',
+ '勤',
+ '罚',
+ '焦',
+ '潜',
+ '伍',
+ '墨',
+ '欲',
+ '缝',
+ '姓',
+ '刊',
+ '饱',
+ '仿',
+ '奖',
+ '铝',
+ '鬼',
+ '丽',
+ '跨',
+ '默',
+ '挖',
+ '链',
+ '扫',
+ '喝',
+ '袋',
+ '炭',
+ '污',
+ '幕',
+ '诸',
+ '弧',
+ '励',
+ '梅',
+ '奶',
+ '洁',
+ '灾',
+ '舟',
+ '鉴',
+ '苯',
+ '讼',
+ '抱',
+ '毁',
+ '懂',
+ '寒',
+ '智',
+ '埔',
+ '寄',
+ '届',
+ '跃',
+ '渡',
+ '挑',
+ '丹',
+ '艰',
+ '贝',
+ '碰',
+ '拔',
+ '爹',
+ '戴',
+ '码',
+ '梦',
+ '芽',
+ '熔',
+ '赤',
+ '渔',
+ '哭',
+ '敬',
+ '颗',
+ '奔',
+ '铅',
+ '仲',
+ '虎',
+ '稀',
+ '妹',
+ '乏',
+ '珍',
+ '申',
+ '桌',
+ '遵',
+ '允',
+ '隆',
+ '螺',
+ '仓',
+ '魏',
+ '锐',
+ '晓',
+ '氮',
+ '兼',
+ '隐',
+ '碍',
+ '赫',
+ '拨',
+ '忠',
+ '肃',
+ '缸',
+ '牵',
+ '抢',
+ '博',
+ '巧',
+ '壳',
+ '兄',
+ '杜',
+ '讯',
+ '诚',
+ '碧',
+ '祥',
+ '柯',
+ '页',
+ '巡',
+ '矩',
+ '悲',
+ '灌',
+ '龄',
+ '伦',
+ '票',
+ '寻',
+ '桂',
+ '铺',
+ '圣',
+ '恐',
+ '恰',
+ '郑',
+ '趣',
+ '抬',
+ '荒',
+ '腾',
+ '贴',
+ '柔',
+ '滴',
+ '猛',
+ '阔',
+ '辆',
+ '妻',
+ '填',
+ '撤',
+ '储',
+ '签',
+ '闹',
+ '扰',
+ '紫',
+ '砂',
+ '递',
+ '戏',
+ '吊',
+ '陶',
+ '伐',
+ '喂',
+ '疗',
+ '瓶',
+ '婆',
+ '抚',
+ '臂',
+ '摸',
+ '忍',
+ '虾',
+ '蜡',
+ '邻',
+ '胸',
+ '巩',
+ '挤',
+ '偶',
+ '弃',
+ '槽',
+ '劲',
+ '乳',
+ '邓',
+ '吉',
+ '仁',
+ '烂',
+ '砖',
+ '租',
+ '乌',
+ '舰',
+ '伴',
+ '瓜',
+ '浅',
+ '丙',
+ '暂',
+ '燥',
+ '橡',
+ '柳',
+ '迷',
+ '暖',
+ '牌',
+ '秧',
+ '胆',
+ '详',
+ '簧',
+ '踏',
+ '瓷',
+ '谱',
+ '呆',
+ '宾',
+ '糊',
+ '洛',
+ '辉',
+ '愤',
+ '竞',
+ '隙',
+ '怒',
+ '粘',
+ '乃',
+ '绪',
+ '肩',
+ '籍',
+ '敏',
+ '涂',
+ '熙',
+ '皆',
+ '侦',
+ '悬',
+ '掘',
+ '享',
+ '纠',
+ '醒',
+ '狂',
+ '锁',
+ '淀',
+ '恨',
+ '牲',
+ '霸',
+ '爬',
+ '赏',
+ '逆',
+ '玩',
+ '陵',
+ '祝',
+ '秒',
+ '浙',
+ '貌',
+ '役',
+ '彼',
+ '悉',
+ '鸭',
+ '趋',
+ '凤',
+ '晨',
+ '畜',
+ '辈',
+ '秩',
+ '卵',
+ '署',
+ '梯',
+ '炎',
+ '滩',
+ '棋',
+ '驱',
+ '筛',
+ '峡',
+ '冒',
+ '啥',
+ '寿',
+ '译',
+ '浸',
+ '泉',
+ '帽',
+ '迟',
+ '硅',
+ '疆',
+ '贷',
+ '漏',
+ '稿',
+ '冠',
+ '嫩',
+ '胁',
+ '芯',
+ '牢',
+ '叛',
+ '蚀',
+ '奥',
+ '鸣',
+ '岭',
+ '羊',
+ '凭',
+ '串',
+ '塘',
+ '绘',
+ '酵',
+ '融',
+ '盆',
+ '锡',
+ '庙',
+ '筹',
+ '冻',
+ '辅',
+ '摄',
+ '袭',
+ '筋',
+ '拒',
+ '僚',
+ '旱',
+ '钾',
+ '鸟',
+ '漆',
+ '沈',
+ '眉',
+ '疏',
+ '添',
+ '棒',
+ '穗',
+ '硝',
+ '韩',
+ '逼',
+ '扭',
+ '侨',
+ '凉',
+ '挺',
+ '碗',
+ '栽',
+ '炒',
+ '杯',
+ '患',
+ '馏',
+ '劝',
+ '豪',
+ '辽',
+ '勃',
+ '鸿',
+ '旦',
+ '吏',
+ '拜',
+ '狗',
+ '埋',
+ '辊',
+ '掩',
+ '饮',
+ '搬',
+ '骂',
+ '辞',
+ '勾',
+ '扣',
+ '估',
+ '蒋',
+ '绒',
+ '雾',
+ '丈',
+ '朵',
+ '姆',
+ '拟',
+ '宇',
+ '辑',
+ '陕',
+ '雕',
+ '偿',
+ '蓄',
+ '崇',
+ '剪',
+ '倡',
+ '厅',
+ '咬',
+ '驶',
+ '薯',
+ '刷',
+ '斥',
+ '番',
+ '赋',
+ '奉',
+ '佛',
+ '浇',
+ '漫',
+ '曼',
+ '扇',
+ '钙',
+ '桃',
+ '扶',
+ '仔',
+ '返',
+ '俗',
+ '亏',
+ '腔',
+ '鞋',
+ '棱',
+ '覆',
+ '框',
+ '悄',
+ '叔',
+ '撞',
+ '骗',
+ '勘',
+ '旺',
+ '沸',
+ '孤',
+ '吐',
+ '孟',
+ '渠',
+ '屈',
+ '疾',
+ '妙',
+ '惜',
+ '仰',
+ '狠',
+ '胀',
+ '谐',
+ '抛',
+ '霉',
+ '桑',
+ '岗',
+ '嘛',
+ '衰',
+ '盗',
+ '渗',
+ '脏',
+ '赖',
+ '涌',
+ '甜',
+ '曹',
+ '阅',
+ '肌',
+ '哩',
+ '厉',
+ '烃',
+ '纬',
+ '毅',
+ '昨',
+ '伪',
+ '症',
+ '煮',
+ '叹',
+ '钉',
+ '搭',
+ '茎',
+ '笼',
+ '酷',
+ '偷',
+ '弓',
+ '锥',
+ '恒',
+ '杰',
+ '坑',
+ '鼻',
+ '翼',
+ '纶',
+ '叙',
+ '狱',
+ '逮',
+ '罐',
+ '络',
+ '棚',
+ '抑',
+ '膨',
+ '蔬',
+ '寺',
+ '骤',
+ '穆',
+ '冶',
+ '枯',
+ '册',
+ '尸',
+ '凸',
+ '绅',
+ '坯',
+ '牺',
+ '焰',
+ '轰',
+ '欣',
+ '晋',
+ '瘦',
+ '御',
+ '锭',
+ '锦',
+ '丧',
+ '旬',
+ '锻',
+ '垄',
+ '搜',
+ '扑',
+ '邀',
+ '亭',
+ '酯',
+ '迈',
+ '舒',
+ '脆',
+ '酶',
+ '闲',
+ '忧',
+ '酚',
+ '顽',
+ '羽',
+ '涨',
+ '卸',
+ '仗',
+ '陪',
+ '辟',
+ '惩',
+ '杭',
+ '姚',
+ '肚',
+ '捉',
+ '飘',
+ '漂',
+ '昆',
+ '欺',
+ '吾',
+ '郎',
+ '烷',
+ '汁',
+ '呵',
+ '饰',
+ '萧',
+ '雅',
+ '邮',
+ '迁',
+ '燕',
+ '撒',
+ '姻',
+ '赴',
+ '宴',
+ '烦',
+ '债',
+ '帐',
+ '斑',
+ '铃',
+ '旨',
+ '醇',
+ '董',
+ '饼',
+ '雏',
+ '姿',
+ '拌',
+ '傅',
+ '腹',
+ '妥',
+ '揉',
+ '贤',
+ '拆',
+ '歪',
+ '葡',
+ '胺',
+ '丢',
+ '浩',
+ '徽',
+ '昂',
+ '垫',
+ '挡',
+ '览',
+ '贪',
+ '慰',
+ '缴',
+ '汪',
+ '慌',
+ '冯',
+ '诺',
+ '姜',
+ '谊',
+ '凶',
+ '劣',
+ '诬',
+ '耀',
+ '昏',
+ '躺',
+ '盈',
+ '骑',
+ '乔',
+ '溪',
+ '丛',
+ '卢',
+ '抹',
+ '闷',
+ '咨',
+ '刮',
+ '驾',
+ '缆',
+ '悟',
+ '摘',
+ '铒',
+ '掷',
+ '颇',
+ '幻',
+ '柄',
+ '惠',
+ '惨',
+ '佳',
+ '仇',
+ '腊',
+ '窝',
+ '涤',
+ '剑',
+ '瞧',
+ '堡',
+ '泼',
+ '葱',
+ '罩',
+ '霍',
+ '捞',
+ '胎',
+ '苍',
+ '滨',
+ '俩',
+ '捅',
+ '湘',
+ '砍',
+ '霞',
+ '邵',
+ '萄',
+ '疯',
+ '淮',
+ '遂',
+ '熊',
+ '粪',
+ '烘',
+ '宿',
+ '档',
+ '戈',
+ '驳',
+ '嫂',
+ '裕',
+ '徙',
+ '箭',
+ '捐',
+ '肠',
+ '撑',
+ '晒',
+ '辨',
+ '殿',
+ '莲',
+ '摊',
+ '搅',
+ '酱',
+ '屏',
+ '疫',
+ '哀',
+ '蔡',
+ '堵',
+ '沫',
+ '皱',
+ '畅',
+ '叠',
+ '阁',
+ '莱',
+ '敲',
+ '辖',
+ '钩',
+ '痕',
+ '坝',
+ '巷',
+ '饿',
+ '祸',
+ '丘',
+ '玄',
+ '溜',
+ '曰',
+ '逻',
+ '彭',
+ '尝',
+ '卿',
+ '妨',
+ '艇',
+ '吞',
+ '韦',
+ '怨',
+ '矮',
+ '歇',
+];
+
+const chineseTraditional = [
+ '的',
+ '一',
+ '是',
+ '在',
+ '不',
+ '了',
+ '有',
+ '和',
+ '人',
+ '這',
+ '中',
+ '大',
+ '為',
+ '上',
+ '個',
+ '國',
+ '我',
+ '以',
+ '要',
+ '他',
+ '時',
+ '來',
+ '用',
+ '們',
+ '生',
+ '到',
+ '作',
+ '地',
+ '於',
+ '出',
+ '就',
+ '分',
+ '對',
+ '成',
+ '會',
+ '可',
+ '主',
+ '發',
+ '年',
+ '動',
+ '同',
+ '工',
+ '也',
+ '能',
+ '下',
+ '過',
+ '子',
+ '說',
+ '產',
+ '種',
+ '面',
+ '而',
+ '方',
+ '後',
+ '多',
+ '定',
+ '行',
+ '學',
+ '法',
+ '所',
+ '民',
+ '得',
+ '經',
+ '十',
+ '三',
+ '之',
+ '進',
+ '著',
+ '等',
+ '部',
+ '度',
+ '家',
+ '電',
+ '力',
+ '裡',
+ '如',
+ '水',
+ '化',
+ '高',
+ '自',
+ '二',
+ '理',
+ '起',
+ '小',
+ '物',
+ '現',
+ '實',
+ '加',
+ '量',
+ '都',
+ '兩',
+ '體',
+ '制',
+ '機',
+ '當',
+ '使',
+ '點',
+ '從',
+ '業',
+ '本',
+ '去',
+ '把',
+ '性',
+ '好',
+ '應',
+ '開',
+ '它',
+ '合',
+ '還',
+ '因',
+ '由',
+ '其',
+ '些',
+ '然',
+ '前',
+ '外',
+ '天',
+ '政',
+ '四',
+ '日',
+ '那',
+ '社',
+ '義',
+ '事',
+ '平',
+ '形',
+ '相',
+ '全',
+ '表',
+ '間',
+ '樣',
+ '與',
+ '關',
+ '各',
+ '重',
+ '新',
+ '線',
+ '內',
+ '數',
+ '正',
+ '心',
+ '反',
+ '你',
+ '明',
+ '看',
+ '原',
+ '又',
+ '麼',
+ '利',
+ '比',
+ '或',
+ '但',
+ '質',
+ '氣',
+ '第',
+ '向',
+ '道',
+ '命',
+ '此',
+ '變',
+ '條',
+ '只',
+ '沒',
+ '結',
+ '解',
+ '問',
+ '意',
+ '建',
+ '月',
+ '公',
+ '無',
+ '系',
+ '軍',
+ '很',
+ '情',
+ '者',
+ '最',
+ '立',
+ '代',
+ '想',
+ '已',
+ '通',
+ '並',
+ '提',
+ '直',
+ '題',
+ '黨',
+ '程',
+ '展',
+ '五',
+ '果',
+ '料',
+ '象',
+ '員',
+ '革',
+ '位',
+ '入',
+ '常',
+ '文',
+ '總',
+ '次',
+ '品',
+ '式',
+ '活',
+ '設',
+ '及',
+ '管',
+ '特',
+ '件',
+ '長',
+ '求',
+ '老',
+ '頭',
+ '基',
+ '資',
+ '邊',
+ '流',
+ '路',
+ '級',
+ '少',
+ '圖',
+ '山',
+ '統',
+ '接',
+ '知',
+ '較',
+ '將',
+ '組',
+ '見',
+ '計',
+ '別',
+ '她',
+ '手',
+ '角',
+ '期',
+ '根',
+ '論',
+ '運',
+ '農',
+ '指',
+ '幾',
+ '九',
+ '區',
+ '強',
+ '放',
+ '決',
+ '西',
+ '被',
+ '幹',
+ '做',
+ '必',
+ '戰',
+ '先',
+ '回',
+ '則',
+ '任',
+ '取',
+ '據',
+ '處',
+ '隊',
+ '南',
+ '給',
+ '色',
+ '光',
+ '門',
+ '即',
+ '保',
+ '治',
+ '北',
+ '造',
+ '百',
+ '規',
+ '熱',
+ '領',
+ '七',
+ '海',
+ '口',
+ '東',
+ '導',
+ '器',
+ '壓',
+ '志',
+ '世',
+ '金',
+ '增',
+ '爭',
+ '濟',
+ '階',
+ '油',
+ '思',
+ '術',
+ '極',
+ '交',
+ '受',
+ '聯',
+ '什',
+ '認',
+ '六',
+ '共',
+ '權',
+ '收',
+ '證',
+ '改',
+ '清',
+ '美',
+ '再',
+ '採',
+ '轉',
+ '更',
+ '單',
+ '風',
+ '切',
+ '打',
+ '白',
+ '教',
+ '速',
+ '花',
+ '帶',
+ '安',
+ '場',
+ '身',
+ '車',
+ '例',
+ '真',
+ '務',
+ '具',
+ '萬',
+ '每',
+ '目',
+ '至',
+ '達',
+ '走',
+ '積',
+ '示',
+ '議',
+ '聲',
+ '報',
+ '鬥',
+ '完',
+ '類',
+ '八',
+ '離',
+ '華',
+ '名',
+ '確',
+ '才',
+ '科',
+ '張',
+ '信',
+ '馬',
+ '節',
+ '話',
+ '米',
+ '整',
+ '空',
+ '元',
+ '況',
+ '今',
+ '集',
+ '溫',
+ '傳',
+ '土',
+ '許',
+ '步',
+ '群',
+ '廣',
+ '石',
+ '記',
+ '需',
+ '段',
+ '研',
+ '界',
+ '拉',
+ '林',
+ '律',
+ '叫',
+ '且',
+ '究',
+ '觀',
+ '越',
+ '織',
+ '裝',
+ '影',
+ '算',
+ '低',
+ '持',
+ '音',
+ '眾',
+ '書',
+ '布',
+ '复',
+ '容',
+ '兒',
+ '須',
+ '際',
+ '商',
+ '非',
+ '驗',
+ '連',
+ '斷',
+ '深',
+ '難',
+ '近',
+ '礦',
+ '千',
+ '週',
+ '委',
+ '素',
+ '技',
+ '備',
+ '半',
+ '辦',
+ '青',
+ '省',
+ '列',
+ '習',
+ '響',
+ '約',
+ '支',
+ '般',
+ '史',
+ '感',
+ '勞',
+ '便',
+ '團',
+ '往',
+ '酸',
+ '歷',
+ '市',
+ '克',
+ '何',
+ '除',
+ '消',
+ '構',
+ '府',
+ '稱',
+ '太',
+ '準',
+ '精',
+ '值',
+ '號',
+ '率',
+ '族',
+ '維',
+ '劃',
+ '選',
+ '標',
+ '寫',
+ '存',
+ '候',
+ '毛',
+ '親',
+ '快',
+ '效',
+ '斯',
+ '院',
+ '查',
+ '江',
+ '型',
+ '眼',
+ '王',
+ '按',
+ '格',
+ '養',
+ '易',
+ '置',
+ '派',
+ '層',
+ '片',
+ '始',
+ '卻',
+ '專',
+ '狀',
+ '育',
+ '廠',
+ '京',
+ '識',
+ '適',
+ '屬',
+ '圓',
+ '包',
+ '火',
+ '住',
+ '調',
+ '滿',
+ '縣',
+ '局',
+ '照',
+ '參',
+ '紅',
+ '細',
+ '引',
+ '聽',
+ '該',
+ '鐵',
+ '價',
+ '嚴',
+ '首',
+ '底',
+ '液',
+ '官',
+ '德',
+ '隨',
+ '病',
+ '蘇',
+ '失',
+ '爾',
+ '死',
+ '講',
+ '配',
+ '女',
+ '黃',
+ '推',
+ '顯',
+ '談',
+ '罪',
+ '神',
+ '藝',
+ '呢',
+ '席',
+ '含',
+ '企',
+ '望',
+ '密',
+ '批',
+ '營',
+ '項',
+ '防',
+ '舉',
+ '球',
+ '英',
+ '氧',
+ '勢',
+ '告',
+ '李',
+ '台',
+ '落',
+ '木',
+ '幫',
+ '輪',
+ '破',
+ '亞',
+ '師',
+ '圍',
+ '注',
+ '遠',
+ '字',
+ '材',
+ '排',
+ '供',
+ '河',
+ '態',
+ '封',
+ '另',
+ '施',
+ '減',
+ '樹',
+ '溶',
+ '怎',
+ '止',
+ '案',
+ '言',
+ '士',
+ '均',
+ '武',
+ '固',
+ '葉',
+ '魚',
+ '波',
+ '視',
+ '僅',
+ '費',
+ '緊',
+ '愛',
+ '左',
+ '章',
+ '早',
+ '朝',
+ '害',
+ '續',
+ '輕',
+ '服',
+ '試',
+ '食',
+ '充',
+ '兵',
+ '源',
+ '判',
+ '護',
+ '司',
+ '足',
+ '某',
+ '練',
+ '差',
+ '致',
+ '板',
+ '田',
+ '降',
+ '黑',
+ '犯',
+ '負',
+ '擊',
+ '范',
+ '繼',
+ '興',
+ '似',
+ '餘',
+ '堅',
+ '曲',
+ '輸',
+ '修',
+ '故',
+ '城',
+ '夫',
+ '夠',
+ '送',
+ '筆',
+ '船',
+ '佔',
+ '右',
+ '財',
+ '吃',
+ '富',
+ '春',
+ '職',
+ '覺',
+ '漢',
+ '畫',
+ '功',
+ '巴',
+ '跟',
+ '雖',
+ '雜',
+ '飛',
+ '檢',
+ '吸',
+ '助',
+ '昇',
+ '陽',
+ '互',
+ '初',
+ '創',
+ '抗',
+ '考',
+ '投',
+ '壞',
+ '策',
+ '古',
+ '徑',
+ '換',
+ '未',
+ '跑',
+ '留',
+ '鋼',
+ '曾',
+ '端',
+ '責',
+ '站',
+ '簡',
+ '述',
+ '錢',
+ '副',
+ '盡',
+ '帝',
+ '射',
+ '草',
+ '衝',
+ '承',
+ '獨',
+ '令',
+ '限',
+ '阿',
+ '宣',
+ '環',
+ '雙',
+ '請',
+ '超',
+ '微',
+ '讓',
+ '控',
+ '州',
+ '良',
+ '軸',
+ '找',
+ '否',
+ '紀',
+ '益',
+ '依',
+ '優',
+ '頂',
+ '礎',
+ '載',
+ '倒',
+ '房',
+ '突',
+ '坐',
+ '粉',
+ '敵',
+ '略',
+ '客',
+ '袁',
+ '冷',
+ '勝',
+ '絕',
+ '析',
+ '塊',
+ '劑',
+ '測',
+ '絲',
+ '協',
+ '訴',
+ '念',
+ '陳',
+ '仍',
+ '羅',
+ '鹽',
+ '友',
+ '洋',
+ '錯',
+ '苦',
+ '夜',
+ '刑',
+ '移',
+ '頻',
+ '逐',
+ '靠',
+ '混',
+ '母',
+ '短',
+ '皮',
+ '終',
+ '聚',
+ '汽',
+ '村',
+ '雲',
+ '哪',
+ '既',
+ '距',
+ '衛',
+ '停',
+ '烈',
+ '央',
+ '察',
+ '燒',
+ '迅',
+ '境',
+ '若',
+ '印',
+ '洲',
+ '刻',
+ '括',
+ '激',
+ '孔',
+ '搞',
+ '甚',
+ '室',
+ '待',
+ '核',
+ '校',
+ '散',
+ '侵',
+ '吧',
+ '甲',
+ '遊',
+ '久',
+ '菜',
+ '味',
+ '舊',
+ '模',
+ '湖',
+ '貨',
+ '損',
+ '預',
+ '阻',
+ '毫',
+ '普',
+ '穩',
+ '乙',
+ '媽',
+ '植',
+ '息',
+ '擴',
+ '銀',
+ '語',
+ '揮',
+ '酒',
+ '守',
+ '拿',
+ '序',
+ '紙',
+ '醫',
+ '缺',
+ '雨',
+ '嗎',
+ '針',
+ '劉',
+ '啊',
+ '急',
+ '唱',
+ '誤',
+ '訓',
+ '願',
+ '審',
+ '附',
+ '獲',
+ '茶',
+ '鮮',
+ '糧',
+ '斤',
+ '孩',
+ '脫',
+ '硫',
+ '肥',
+ '善',
+ '龍',
+ '演',
+ '父',
+ '漸',
+ '血',
+ '歡',
+ '械',
+ '掌',
+ '歌',
+ '沙',
+ '剛',
+ '攻',
+ '謂',
+ '盾',
+ '討',
+ '晚',
+ '粒',
+ '亂',
+ '燃',
+ '矛',
+ '乎',
+ '殺',
+ '藥',
+ '寧',
+ '魯',
+ '貴',
+ '鐘',
+ '煤',
+ '讀',
+ '班',
+ '伯',
+ '香',
+ '介',
+ '迫',
+ '句',
+ '豐',
+ '培',
+ '握',
+ '蘭',
+ '擔',
+ '弦',
+ '蛋',
+ '沉',
+ '假',
+ '穿',
+ '執',
+ '答',
+ '樂',
+ '誰',
+ '順',
+ '煙',
+ '縮',
+ '徵',
+ '臉',
+ '喜',
+ '松',
+ '腳',
+ '困',
+ '異',
+ '免',
+ '背',
+ '星',
+ '福',
+ '買',
+ '染',
+ '井',
+ '概',
+ '慢',
+ '怕',
+ '磁',
+ '倍',
+ '祖',
+ '皇',
+ '促',
+ '靜',
+ '補',
+ '評',
+ '翻',
+ '肉',
+ '踐',
+ '尼',
+ '衣',
+ '寬',
+ '揚',
+ '棉',
+ '希',
+ '傷',
+ '操',
+ '垂',
+ '秋',
+ '宜',
+ '氫',
+ '套',
+ '督',
+ '振',
+ '架',
+ '亮',
+ '末',
+ '憲',
+ '慶',
+ '編',
+ '牛',
+ '觸',
+ '映',
+ '雷',
+ '銷',
+ '詩',
+ '座',
+ '居',
+ '抓',
+ '裂',
+ '胞',
+ '呼',
+ '娘',
+ '景',
+ '威',
+ '綠',
+ '晶',
+ '厚',
+ '盟',
+ '衡',
+ '雞',
+ '孫',
+ '延',
+ '危',
+ '膠',
+ '屋',
+ '鄉',
+ '臨',
+ '陸',
+ '顧',
+ '掉',
+ '呀',
+ '燈',
+ '歲',
+ '措',
+ '束',
+ '耐',
+ '劇',
+ '玉',
+ '趙',
+ '跳',
+ '哥',
+ '季',
+ '課',
+ '凱',
+ '胡',
+ '額',
+ '款',
+ '紹',
+ '卷',
+ '齊',
+ '偉',
+ '蒸',
+ '殖',
+ '永',
+ '宗',
+ '苗',
+ '川',
+ '爐',
+ '岩',
+ '弱',
+ '零',
+ '楊',
+ '奏',
+ '沿',
+ '露',
+ '桿',
+ '探',
+ '滑',
+ '鎮',
+ '飯',
+ '濃',
+ '航',
+ '懷',
+ '趕',
+ '庫',
+ '奪',
+ '伊',
+ '靈',
+ '稅',
+ '途',
+ '滅',
+ '賽',
+ '歸',
+ '召',
+ '鼓',
+ '播',
+ '盤',
+ '裁',
+ '險',
+ '康',
+ '唯',
+ '錄',
+ '菌',
+ '純',
+ '借',
+ '糖',
+ '蓋',
+ '橫',
+ '符',
+ '私',
+ '努',
+ '堂',
+ '域',
+ '槍',
+ '潤',
+ '幅',
+ '哈',
+ '竟',
+ '熟',
+ '蟲',
+ '澤',
+ '腦',
+ '壤',
+ '碳',
+ '歐',
+ '遍',
+ '側',
+ '寨',
+ '敢',
+ '徹',
+ '慮',
+ '斜',
+ '薄',
+ '庭',
+ '納',
+ '彈',
+ '飼',
+ '伸',
+ '折',
+ '麥',
+ '濕',
+ '暗',
+ '荷',
+ '瓦',
+ '塞',
+ '床',
+ '築',
+ '惡',
+ '戶',
+ '訪',
+ '塔',
+ '奇',
+ '透',
+ '梁',
+ '刀',
+ '旋',
+ '跡',
+ '卡',
+ '氯',
+ '遇',
+ '份',
+ '毒',
+ '泥',
+ '退',
+ '洗',
+ '擺',
+ '灰',
+ '彩',
+ '賣',
+ '耗',
+ '夏',
+ '擇',
+ '忙',
+ '銅',
+ '獻',
+ '硬',
+ '予',
+ '繁',
+ '圈',
+ '雪',
+ '函',
+ '亦',
+ '抽',
+ '篇',
+ '陣',
+ '陰',
+ '丁',
+ '尺',
+ '追',
+ '堆',
+ '雄',
+ '迎',
+ '泛',
+ '爸',
+ '樓',
+ '避',
+ '謀',
+ '噸',
+ '野',
+ '豬',
+ '旗',
+ '累',
+ '偏',
+ '典',
+ '館',
+ '索',
+ '秦',
+ '脂',
+ '潮',
+ '爺',
+ '豆',
+ '忽',
+ '托',
+ '驚',
+ '塑',
+ '遺',
+ '愈',
+ '朱',
+ '替',
+ '纖',
+ '粗',
+ '傾',
+ '尚',
+ '痛',
+ '楚',
+ '謝',
+ '奮',
+ '購',
+ '磨',
+ '君',
+ '池',
+ '旁',
+ '碎',
+ '骨',
+ '監',
+ '捕',
+ '弟',
+ '暴',
+ '割',
+ '貫',
+ '殊',
+ '釋',
+ '詞',
+ '亡',
+ '壁',
+ '頓',
+ '寶',
+ '午',
+ '塵',
+ '聞',
+ '揭',
+ '炮',
+ '殘',
+ '冬',
+ '橋',
+ '婦',
+ '警',
+ '綜',
+ '招',
+ '吳',
+ '付',
+ '浮',
+ '遭',
+ '徐',
+ '您',
+ '搖',
+ '谷',
+ '贊',
+ '箱',
+ '隔',
+ '訂',
+ '男',
+ '吹',
+ '園',
+ '紛',
+ '唐',
+ '敗',
+ '宋',
+ '玻',
+ '巨',
+ '耕',
+ '坦',
+ '榮',
+ '閉',
+ '灣',
+ '鍵',
+ '凡',
+ '駐',
+ '鍋',
+ '救',
+ '恩',
+ '剝',
+ '凝',
+ '鹼',
+ '齒',
+ '截',
+ '煉',
+ '麻',
+ '紡',
+ '禁',
+ '廢',
+ '盛',
+ '版',
+ '緩',
+ '淨',
+ '睛',
+ '昌',
+ '婚',
+ '涉',
+ '筒',
+ '嘴',
+ '插',
+ '岸',
+ '朗',
+ '莊',
+ '街',
+ '藏',
+ '姑',
+ '貿',
+ '腐',
+ '奴',
+ '啦',
+ '慣',
+ '乘',
+ '夥',
+ '恢',
+ '勻',
+ '紗',
+ '扎',
+ '辯',
+ '耳',
+ '彪',
+ '臣',
+ '億',
+ '璃',
+ '抵',
+ '脈',
+ '秀',
+ '薩',
+ '俄',
+ '網',
+ '舞',
+ '店',
+ '噴',
+ '縱',
+ '寸',
+ '汗',
+ '掛',
+ '洪',
+ '賀',
+ '閃',
+ '柬',
+ '爆',
+ '烯',
+ '津',
+ '稻',
+ '牆',
+ '軟',
+ '勇',
+ '像',
+ '滾',
+ '厘',
+ '蒙',
+ '芳',
+ '肯',
+ '坡',
+ '柱',
+ '盪',
+ '腿',
+ '儀',
+ '旅',
+ '尾',
+ '軋',
+ '冰',
+ '貢',
+ '登',
+ '黎',
+ '削',
+ '鑽',
+ '勒',
+ '逃',
+ '障',
+ '氨',
+ '郭',
+ '峰',
+ '幣',
+ '港',
+ '伏',
+ '軌',
+ '畝',
+ '畢',
+ '擦',
+ '莫',
+ '刺',
+ '浪',
+ '秘',
+ '援',
+ '株',
+ '健',
+ '售',
+ '股',
+ '島',
+ '甘',
+ '泡',
+ '睡',
+ '童',
+ '鑄',
+ '湯',
+ '閥',
+ '休',
+ '匯',
+ '舍',
+ '牧',
+ '繞',
+ '炸',
+ '哲',
+ '磷',
+ '績',
+ '朋',
+ '淡',
+ '尖',
+ '啟',
+ '陷',
+ '柴',
+ '呈',
+ '徒',
+ '顏',
+ '淚',
+ '稍',
+ '忘',
+ '泵',
+ '藍',
+ '拖',
+ '洞',
+ '授',
+ '鏡',
+ '辛',
+ '壯',
+ '鋒',
+ '貧',
+ '虛',
+ '彎',
+ '摩',
+ '泰',
+ '幼',
+ '廷',
+ '尊',
+ '窗',
+ '綱',
+ '弄',
+ '隸',
+ '疑',
+ '氏',
+ '宮',
+ '姐',
+ '震',
+ '瑞',
+ '怪',
+ '尤',
+ '琴',
+ '循',
+ '描',
+ '膜',
+ '違',
+ '夾',
+ '腰',
+ '緣',
+ '珠',
+ '窮',
+ '森',
+ '枝',
+ '竹',
+ '溝',
+ '催',
+ '繩',
+ '憶',
+ '邦',
+ '剩',
+ '幸',
+ '漿',
+ '欄',
+ '擁',
+ '牙',
+ '貯',
+ '禮',
+ '濾',
+ '鈉',
+ '紋',
+ '罷',
+ '拍',
+ '咱',
+ '喊',
+ '袖',
+ '埃',
+ '勤',
+ '罰',
+ '焦',
+ '潛',
+ '伍',
+ '墨',
+ '欲',
+ '縫',
+ '姓',
+ '刊',
+ '飽',
+ '仿',
+ '獎',
+ '鋁',
+ '鬼',
+ '麗',
+ '跨',
+ '默',
+ '挖',
+ '鏈',
+ '掃',
+ '喝',
+ '袋',
+ '炭',
+ '污',
+ '幕',
+ '諸',
+ '弧',
+ '勵',
+ '梅',
+ '奶',
+ '潔',
+ '災',
+ '舟',
+ '鑑',
+ '苯',
+ '訟',
+ '抱',
+ '毀',
+ '懂',
+ '寒',
+ '智',
+ '埔',
+ '寄',
+ '屆',
+ '躍',
+ '渡',
+ '挑',
+ '丹',
+ '艱',
+ '貝',
+ '碰',
+ '拔',
+ '爹',
+ '戴',
+ '碼',
+ '夢',
+ '芽',
+ '熔',
+ '赤',
+ '漁',
+ '哭',
+ '敬',
+ '顆',
+ '奔',
+ '鉛',
+ '仲',
+ '虎',
+ '稀',
+ '妹',
+ '乏',
+ '珍',
+ '申',
+ '桌',
+ '遵',
+ '允',
+ '隆',
+ '螺',
+ '倉',
+ '魏',
+ '銳',
+ '曉',
+ '氮',
+ '兼',
+ '隱',
+ '礙',
+ '赫',
+ '撥',
+ '忠',
+ '肅',
+ '缸',
+ '牽',
+ '搶',
+ '博',
+ '巧',
+ '殼',
+ '兄',
+ '杜',
+ '訊',
+ '誠',
+ '碧',
+ '祥',
+ '柯',
+ '頁',
+ '巡',
+ '矩',
+ '悲',
+ '灌',
+ '齡',
+ '倫',
+ '票',
+ '尋',
+ '桂',
+ '鋪',
+ '聖',
+ '恐',
+ '恰',
+ '鄭',
+ '趣',
+ '抬',
+ '荒',
+ '騰',
+ '貼',
+ '柔',
+ '滴',
+ '猛',
+ '闊',
+ '輛',
+ '妻',
+ '填',
+ '撤',
+ '儲',
+ '簽',
+ '鬧',
+ '擾',
+ '紫',
+ '砂',
+ '遞',
+ '戲',
+ '吊',
+ '陶',
+ '伐',
+ '餵',
+ '療',
+ '瓶',
+ '婆',
+ '撫',
+ '臂',
+ '摸',
+ '忍',
+ '蝦',
+ '蠟',
+ '鄰',
+ '胸',
+ '鞏',
+ '擠',
+ '偶',
+ '棄',
+ '槽',
+ '勁',
+ '乳',
+ '鄧',
+ '吉',
+ '仁',
+ '爛',
+ '磚',
+ '租',
+ '烏',
+ '艦',
+ '伴',
+ '瓜',
+ '淺',
+ '丙',
+ '暫',
+ '燥',
+ '橡',
+ '柳',
+ '迷',
+ '暖',
+ '牌',
+ '秧',
+ '膽',
+ '詳',
+ '簧',
+ '踏',
+ '瓷',
+ '譜',
+ '呆',
+ '賓',
+ '糊',
+ '洛',
+ '輝',
+ '憤',
+ '競',
+ '隙',
+ '怒',
+ '粘',
+ '乃',
+ '緒',
+ '肩',
+ '籍',
+ '敏',
+ '塗',
+ '熙',
+ '皆',
+ '偵',
+ '懸',
+ '掘',
+ '享',
+ '糾',
+ '醒',
+ '狂',
+ '鎖',
+ '淀',
+ '恨',
+ '牲',
+ '霸',
+ '爬',
+ '賞',
+ '逆',
+ '玩',
+ '陵',
+ '祝',
+ '秒',
+ '浙',
+ '貌',
+ '役',
+ '彼',
+ '悉',
+ '鴨',
+ '趨',
+ '鳳',
+ '晨',
+ '畜',
+ '輩',
+ '秩',
+ '卵',
+ '署',
+ '梯',
+ '炎',
+ '灘',
+ '棋',
+ '驅',
+ '篩',
+ '峽',
+ '冒',
+ '啥',
+ '壽',
+ '譯',
+ '浸',
+ '泉',
+ '帽',
+ '遲',
+ '矽',
+ '疆',
+ '貸',
+ '漏',
+ '稿',
+ '冠',
+ '嫩',
+ '脅',
+ '芯',
+ '牢',
+ '叛',
+ '蝕',
+ '奧',
+ '鳴',
+ '嶺',
+ '羊',
+ '憑',
+ '串',
+ '塘',
+ '繪',
+ '酵',
+ '融',
+ '盆',
+ '錫',
+ '廟',
+ '籌',
+ '凍',
+ '輔',
+ '攝',
+ '襲',
+ '筋',
+ '拒',
+ '僚',
+ '旱',
+ '鉀',
+ '鳥',
+ '漆',
+ '沈',
+ '眉',
+ '疏',
+ '添',
+ '棒',
+ '穗',
+ '硝',
+ '韓',
+ '逼',
+ '扭',
+ '僑',
+ '涼',
+ '挺',
+ '碗',
+ '栽',
+ '炒',
+ '杯',
+ '患',
+ '餾',
+ '勸',
+ '豪',
+ '遼',
+ '勃',
+ '鴻',
+ '旦',
+ '吏',
+ '拜',
+ '狗',
+ '埋',
+ '輥',
+ '掩',
+ '飲',
+ '搬',
+ '罵',
+ '辭',
+ '勾',
+ '扣',
+ '估',
+ '蔣',
+ '絨',
+ '霧',
+ '丈',
+ '朵',
+ '姆',
+ '擬',
+ '宇',
+ '輯',
+ '陝',
+ '雕',
+ '償',
+ '蓄',
+ '崇',
+ '剪',
+ '倡',
+ '廳',
+ '咬',
+ '駛',
+ '薯',
+ '刷',
+ '斥',
+ '番',
+ '賦',
+ '奉',
+ '佛',
+ '澆',
+ '漫',
+ '曼',
+ '扇',
+ '鈣',
+ '桃',
+ '扶',
+ '仔',
+ '返',
+ '俗',
+ '虧',
+ '腔',
+ '鞋',
+ '棱',
+ '覆',
+ '框',
+ '悄',
+ '叔',
+ '撞',
+ '騙',
+ '勘',
+ '旺',
+ '沸',
+ '孤',
+ '吐',
+ '孟',
+ '渠',
+ '屈',
+ '疾',
+ '妙',
+ '惜',
+ '仰',
+ '狠',
+ '脹',
+ '諧',
+ '拋',
+ '黴',
+ '桑',
+ '崗',
+ '嘛',
+ '衰',
+ '盜',
+ '滲',
+ '臟',
+ '賴',
+ '湧',
+ '甜',
+ '曹',
+ '閱',
+ '肌',
+ '哩',
+ '厲',
+ '烴',
+ '緯',
+ '毅',
+ '昨',
+ '偽',
+ '症',
+ '煮',
+ '嘆',
+ '釘',
+ '搭',
+ '莖',
+ '籠',
+ '酷',
+ '偷',
+ '弓',
+ '錐',
+ '恆',
+ '傑',
+ '坑',
+ '鼻',
+ '翼',
+ '綸',
+ '敘',
+ '獄',
+ '逮',
+ '罐',
+ '絡',
+ '棚',
+ '抑',
+ '膨',
+ '蔬',
+ '寺',
+ '驟',
+ '穆',
+ '冶',
+ '枯',
+ '冊',
+ '屍',
+ '凸',
+ '紳',
+ '坯',
+ '犧',
+ '焰',
+ '轟',
+ '欣',
+ '晉',
+ '瘦',
+ '禦',
+ '錠',
+ '錦',
+ '喪',
+ '旬',
+ '鍛',
+ '壟',
+ '搜',
+ '撲',
+ '邀',
+ '亭',
+ '酯',
+ '邁',
+ '舒',
+ '脆',
+ '酶',
+ '閒',
+ '憂',
+ '酚',
+ '頑',
+ '羽',
+ '漲',
+ '卸',
+ '仗',
+ '陪',
+ '闢',
+ '懲',
+ '杭',
+ '姚',
+ '肚',
+ '捉',
+ '飄',
+ '漂',
+ '昆',
+ '欺',
+ '吾',
+ '郎',
+ '烷',
+ '汁',
+ '呵',
+ '飾',
+ '蕭',
+ '雅',
+ '郵',
+ '遷',
+ '燕',
+ '撒',
+ '姻',
+ '赴',
+ '宴',
+ '煩',
+ '債',
+ '帳',
+ '斑',
+ '鈴',
+ '旨',
+ '醇',
+ '董',
+ '餅',
+ '雛',
+ '姿',
+ '拌',
+ '傅',
+ '腹',
+ '妥',
+ '揉',
+ '賢',
+ '拆',
+ '歪',
+ '葡',
+ '胺',
+ '丟',
+ '浩',
+ '徽',
+ '昂',
+ '墊',
+ '擋',
+ '覽',
+ '貪',
+ '慰',
+ '繳',
+ '汪',
+ '慌',
+ '馮',
+ '諾',
+ '姜',
+ '誼',
+ '兇',
+ '劣',
+ '誣',
+ '耀',
+ '昏',
+ '躺',
+ '盈',
+ '騎',
+ '喬',
+ '溪',
+ '叢',
+ '盧',
+ '抹',
+ '悶',
+ '諮',
+ '刮',
+ '駕',
+ '纜',
+ '悟',
+ '摘',
+ '鉺',
+ '擲',
+ '頗',
+ '幻',
+ '柄',
+ '惠',
+ '慘',
+ '佳',
+ '仇',
+ '臘',
+ '窩',
+ '滌',
+ '劍',
+ '瞧',
+ '堡',
+ '潑',
+ '蔥',
+ '罩',
+ '霍',
+ '撈',
+ '胎',
+ '蒼',
+ '濱',
+ '倆',
+ '捅',
+ '湘',
+ '砍',
+ '霞',
+ '邵',
+ '萄',
+ '瘋',
+ '淮',
+ '遂',
+ '熊',
+ '糞',
+ '烘',
+ '宿',
+ '檔',
+ '戈',
+ '駁',
+ '嫂',
+ '裕',
+ '徙',
+ '箭',
+ '捐',
+ '腸',
+ '撐',
+ '曬',
+ '辨',
+ '殿',
+ '蓮',
+ '攤',
+ '攪',
+ '醬',
+ '屏',
+ '疫',
+ '哀',
+ '蔡',
+ '堵',
+ '沫',
+ '皺',
+ '暢',
+ '疊',
+ '閣',
+ '萊',
+ '敲',
+ '轄',
+ '鉤',
+ '痕',
+ '壩',
+ '巷',
+ '餓',
+ '禍',
+ '丘',
+ '玄',
+ '溜',
+ '曰',
+ '邏',
+ '彭',
+ '嘗',
+ '卿',
+ '妨',
+ '艇',
+ '吞',
+ '韋',
+ '怨',
+ '矮',
+ '歇',
+];
+
+const czech = [
+ 'abdikace',
+ 'abeceda',
+ 'adresa',
+ 'agrese',
+ 'akce',
+ 'aktovka',
+ 'alej',
+ 'alkohol',
+ 'amputace',
+ 'ananas',
+ 'andulka',
+ 'anekdota',
+ 'anketa',
+ 'antika',
+ 'anulovat',
+ 'archa',
+ 'arogance',
+ 'asfalt',
+ 'asistent',
+ 'aspirace',
+ 'astma',
+ 'astronom',
+ 'atlas',
+ 'atletika',
+ 'atol',
+ 'autobus',
+ 'azyl',
+ 'babka',
+ 'bachor',
+ 'bacil',
+ 'baculka',
+ 'badatel',
+ 'bageta',
+ 'bagr',
+ 'bahno',
+ 'bakterie',
+ 'balada',
+ 'baletka',
+ 'balkon',
+ 'balonek',
+ 'balvan',
+ 'balza',
+ 'bambus',
+ 'bankomat',
+ 'barbar',
+ 'baret',
+ 'barman',
+ 'baroko',
+ 'barva',
+ 'baterka',
+ 'batoh',
+ 'bavlna',
+ 'bazalka',
+ 'bazilika',
+ 'bazuka',
+ 'bedna',
+ 'beran',
+ 'beseda',
+ 'bestie',
+ 'beton',
+ 'bezinka',
+ 'bezmoc',
+ 'beztak',
+ 'bicykl',
+ 'bidlo',
+ 'biftek',
+ 'bikiny',
+ 'bilance',
+ 'biograf',
+ 'biolog',
+ 'bitva',
+ 'bizon',
+ 'blahobyt',
+ 'blatouch',
+ 'blecha',
+ 'bledule',
+ 'blesk',
+ 'blikat',
+ 'blizna',
+ 'blokovat',
+ 'bloudit',
+ 'blud',
+ 'bobek',
+ 'bobr',
+ 'bodlina',
+ 'bodnout',
+ 'bohatost',
+ 'bojkot',
+ 'bojovat',
+ 'bokorys',
+ 'bolest',
+ 'borec',
+ 'borovice',
+ 'bota',
+ 'boubel',
+ 'bouchat',
+ 'bouda',
+ 'boule',
+ 'bourat',
+ 'boxer',
+ 'bradavka',
+ 'brambora',
+ 'branka',
+ 'bratr',
+ 'brepta',
+ 'briketa',
+ 'brko',
+ 'brloh',
+ 'bronz',
+ 'broskev',
+ 'brunetka',
+ 'brusinka',
+ 'brzda',
+ 'brzy',
+ 'bublina',
+ 'bubnovat',
+ 'buchta',
+ 'buditel',
+ 'budka',
+ 'budova',
+ 'bufet',
+ 'bujarost',
+ 'bukvice',
+ 'buldok',
+ 'bulva',
+ 'bunda',
+ 'bunkr',
+ 'burza',
+ 'butik',
+ 'buvol',
+ 'buzola',
+ 'bydlet',
+ 'bylina',
+ 'bytovka',
+ 'bzukot',
+ 'capart',
+ 'carevna',
+ 'cedr',
+ 'cedule',
+ 'cejch',
+ 'cejn',
+ 'cela',
+ 'celer',
+ 'celkem',
+ 'celnice',
+ 'cenina',
+ 'cennost',
+ 'cenovka',
+ 'centrum',
+ 'cenzor',
+ 'cestopis',
+ 'cetka',
+ 'chalupa',
+ 'chapadlo',
+ 'charita',
+ 'chata',
+ 'chechtat',
+ 'chemie',
+ 'chichot',
+ 'chirurg',
+ 'chlad',
+ 'chleba',
+ 'chlubit',
+ 'chmel',
+ 'chmura',
+ 'chobot',
+ 'chochol',
+ 'chodba',
+ 'cholera',
+ 'chomout',
+ 'chopit',
+ 'choroba',
+ 'chov',
+ 'chrapot',
+ 'chrlit',
+ 'chrt',
+ 'chrup',
+ 'chtivost',
+ 'chudina',
+ 'chutnat',
+ 'chvat',
+ 'chvilka',
+ 'chvost',
+ 'chyba',
+ 'chystat',
+ 'chytit',
+ 'cibule',
+ 'cigareta',
+ 'cihelna',
+ 'cihla',
+ 'cinkot',
+ 'cirkus',
+ 'cisterna',
+ 'citace',
+ 'citrus',
+ 'cizinec',
+ 'cizost',
+ 'clona',
+ 'cokoliv',
+ 'couvat',
+ 'ctitel',
+ 'ctnost',
+ 'cudnost',
+ 'cuketa',
+ 'cukr',
+ 'cupot',
+ 'cvaknout',
+ 'cval',
+ 'cvik',
+ 'cvrkot',
+ 'cyklista',
+ 'daleko',
+ 'dareba',
+ 'datel',
+ 'datum',
+ 'dcera',
+ 'debata',
+ 'dechovka',
+ 'decibel',
+ 'deficit',
+ 'deflace',
+ 'dekl',
+ 'dekret',
+ 'demokrat',
+ 'deprese',
+ 'derby',
+ 'deska',
+ 'detektiv',
+ 'dikobraz',
+ 'diktovat',
+ 'dioda',
+ 'diplom',
+ 'disk',
+ 'displej',
+ 'divadlo',
+ 'divoch',
+ 'dlaha',
+ 'dlouho',
+ 'dluhopis',
+ 'dnes',
+ 'dobro',
+ 'dobytek',
+ 'docent',
+ 'dochutit',
+ 'dodnes',
+ 'dohled',
+ 'dohoda',
+ 'dohra',
+ 'dojem',
+ 'dojnice',
+ 'doklad',
+ 'dokola',
+ 'doktor',
+ 'dokument',
+ 'dolar',
+ 'doleva',
+ 'dolina',
+ 'doma',
+ 'dominant',
+ 'domluvit',
+ 'domov',
+ 'donutit',
+ 'dopad',
+ 'dopis',
+ 'doplnit',
+ 'doposud',
+ 'doprovod',
+ 'dopustit',
+ 'dorazit',
+ 'dorost',
+ 'dort',
+ 'dosah',
+ 'doslov',
+ 'dostatek',
+ 'dosud',
+ 'dosyta',
+ 'dotaz',
+ 'dotek',
+ 'dotknout',
+ 'doufat',
+ 'doutnat',
+ 'dovozce',
+ 'dozadu',
+ 'doznat',
+ 'dozorce',
+ 'drahota',
+ 'drak',
+ 'dramatik',
+ 'dravec',
+ 'draze',
+ 'drdol',
+ 'drobnost',
+ 'drogerie',
+ 'drozd',
+ 'drsnost',
+ 'drtit',
+ 'drzost',
+ 'duben',
+ 'duchovno',
+ 'dudek',
+ 'duha',
+ 'duhovka',
+ 'dusit',
+ 'dusno',
+ 'dutost',
+ 'dvojice',
+ 'dvorec',
+ 'dynamit',
+ 'ekolog',
+ 'ekonomie',
+ 'elektron',
+ 'elipsa',
+ 'email',
+ 'emise',
+ 'emoce',
+ 'empatie',
+ 'epizoda',
+ 'epocha',
+ 'epopej',
+ 'epos',
+ 'esej',
+ 'esence',
+ 'eskorta',
+ 'eskymo',
+ 'etiketa',
+ 'euforie',
+ 'evoluce',
+ 'exekuce',
+ 'exkurze',
+ 'expedice',
+ 'exploze',
+ 'export',
+ 'extrakt',
+ 'facka',
+ 'fajfka',
+ 'fakulta',
+ 'fanatik',
+ 'fantazie',
+ 'farmacie',
+ 'favorit',
+ 'fazole',
+ 'federace',
+ 'fejeton',
+ 'fenka',
+ 'fialka',
+ 'figurant',
+ 'filozof',
+ 'filtr',
+ 'finance',
+ 'finta',
+ 'fixace',
+ 'fjord',
+ 'flanel',
+ 'flirt',
+ 'flotila',
+ 'fond',
+ 'fosfor',
+ 'fotbal',
+ 'fotka',
+ 'foton',
+ 'frakce',
+ 'freska',
+ 'fronta',
+ 'fukar',
+ 'funkce',
+ 'fyzika',
+ 'galeje',
+ 'garant',
+ 'genetika',
+ 'geolog',
+ 'gilotina',
+ 'glazura',
+ 'glejt',
+ 'golem',
+ 'golfista',
+ 'gotika',
+ 'graf',
+ 'gramofon',
+ 'granule',
+ 'grep',
+ 'gril',
+ 'grog',
+ 'groteska',
+ 'guma',
+ 'hadice',
+ 'hadr',
+ 'hala',
+ 'halenka',
+ 'hanba',
+ 'hanopis',
+ 'harfa',
+ 'harpuna',
+ 'havran',
+ 'hebkost',
+ 'hejkal',
+ 'hejno',
+ 'hejtman',
+ 'hektar',
+ 'helma',
+ 'hematom',
+ 'herec',
+ 'herna',
+ 'heslo',
+ 'hezky',
+ 'historik',
+ 'hladovka',
+ 'hlasivky',
+ 'hlava',
+ 'hledat',
+ 'hlen',
+ 'hlodavec',
+ 'hloh',
+ 'hloupost',
+ 'hltat',
+ 'hlubina',
+ 'hluchota',
+ 'hmat',
+ 'hmota',
+ 'hmyz',
+ 'hnis',
+ 'hnojivo',
+ 'hnout',
+ 'hoblina',
+ 'hoboj',
+ 'hoch',
+ 'hodiny',
+ 'hodlat',
+ 'hodnota',
+ 'hodovat',
+ 'hojnost',
+ 'hokej',
+ 'holinka',
+ 'holka',
+ 'holub',
+ 'homole',
+ 'honitba',
+ 'honorace',
+ 'horal',
+ 'horda',
+ 'horizont',
+ 'horko',
+ 'horlivec',
+ 'hormon',
+ 'hornina',
+ 'horoskop',
+ 'horstvo',
+ 'hospoda',
+ 'hostina',
+ 'hotovost',
+ 'houba',
+ 'houf',
+ 'houpat',
+ 'houska',
+ 'hovor',
+ 'hradba',
+ 'hranice',
+ 'hravost',
+ 'hrazda',
+ 'hrbolek',
+ 'hrdina',
+ 'hrdlo',
+ 'hrdost',
+ 'hrnek',
+ 'hrobka',
+ 'hromada',
+ 'hrot',
+ 'hrouda',
+ 'hrozen',
+ 'hrstka',
+ 'hrubost',
+ 'hryzat',
+ 'hubenost',
+ 'hubnout',
+ 'hudba',
+ 'hukot',
+ 'humr',
+ 'husita',
+ 'hustota',
+ 'hvozd',
+ 'hybnost',
+ 'hydrant',
+ 'hygiena',
+ 'hymna',
+ 'hysterik',
+ 'idylka',
+ 'ihned',
+ 'ikona',
+ 'iluze',
+ 'imunita',
+ 'infekce',
+ 'inflace',
+ 'inkaso',
+ 'inovace',
+ 'inspekce',
+ 'internet',
+ 'invalida',
+ 'investor',
+ 'inzerce',
+ 'ironie',
+ 'jablko',
+ 'jachta',
+ 'jahoda',
+ 'jakmile',
+ 'jakost',
+ 'jalovec',
+ 'jantar',
+ 'jarmark',
+ 'jaro',
+ 'jasan',
+ 'jasno',
+ 'jatka',
+ 'javor',
+ 'jazyk',
+ 'jedinec',
+ 'jedle',
+ 'jednatel',
+ 'jehlan',
+ 'jekot',
+ 'jelen',
+ 'jelito',
+ 'jemnost',
+ 'jenom',
+ 'jepice',
+ 'jeseter',
+ 'jevit',
+ 'jezdec',
+ 'jezero',
+ 'jinak',
+ 'jindy',
+ 'jinoch',
+ 'jiskra',
+ 'jistota',
+ 'jitrnice',
+ 'jizva',
+ 'jmenovat',
+ 'jogurt',
+ 'jurta',
+ 'kabaret',
+ 'kabel',
+ 'kabinet',
+ 'kachna',
+ 'kadet',
+ 'kadidlo',
+ 'kahan',
+ 'kajak',
+ 'kajuta',
+ 'kakao',
+ 'kaktus',
+ 'kalamita',
+ 'kalhoty',
+ 'kalibr',
+ 'kalnost',
+ 'kamera',
+ 'kamkoliv',
+ 'kamna',
+ 'kanibal',
+ 'kanoe',
+ 'kantor',
+ 'kapalina',
+ 'kapela',
+ 'kapitola',
+ 'kapka',
+ 'kaple',
+ 'kapota',
+ 'kapr',
+ 'kapusta',
+ 'kapybara',
+ 'karamel',
+ 'karotka',
+ 'karton',
+ 'kasa',
+ 'katalog',
+ 'katedra',
+ 'kauce',
+ 'kauza',
+ 'kavalec',
+ 'kazajka',
+ 'kazeta',
+ 'kazivost',
+ 'kdekoliv',
+ 'kdesi',
+ 'kedluben',
+ 'kemp',
+ 'keramika',
+ 'kino',
+ 'klacek',
+ 'kladivo',
+ 'klam',
+ 'klapot',
+ 'klasika',
+ 'klaun',
+ 'klec',
+ 'klenba',
+ 'klepat',
+ 'klesnout',
+ 'klid',
+ 'klima',
+ 'klisna',
+ 'klobouk',
+ 'klokan',
+ 'klopa',
+ 'kloub',
+ 'klubovna',
+ 'klusat',
+ 'kluzkost',
+ 'kmen',
+ 'kmitat',
+ 'kmotr',
+ 'kniha',
+ 'knot',
+ 'koalice',
+ 'koberec',
+ 'kobka',
+ 'kobliha',
+ 'kobyla',
+ 'kocour',
+ 'kohout',
+ 'kojenec',
+ 'kokos',
+ 'koktejl',
+ 'kolaps',
+ 'koleda',
+ 'kolize',
+ 'kolo',
+ 'komando',
+ 'kometa',
+ 'komik',
+ 'komnata',
+ 'komora',
+ 'kompas',
+ 'komunita',
+ 'konat',
+ 'koncept',
+ 'kondice',
+ 'konec',
+ 'konfese',
+ 'kongres',
+ 'konina',
+ 'konkurs',
+ 'kontakt',
+ 'konzerva',
+ 'kopanec',
+ 'kopie',
+ 'kopnout',
+ 'koprovka',
+ 'korbel',
+ 'korektor',
+ 'kormidlo',
+ 'koroptev',
+ 'korpus',
+ 'koruna',
+ 'koryto',
+ 'korzet',
+ 'kosatec',
+ 'kostka',
+ 'kotel',
+ 'kotleta',
+ 'kotoul',
+ 'koukat',
+ 'koupelna',
+ 'kousek',
+ 'kouzlo',
+ 'kovboj',
+ 'koza',
+ 'kozoroh',
+ 'krabice',
+ 'krach',
+ 'krajina',
+ 'kralovat',
+ 'krasopis',
+ 'kravata',
+ 'kredit',
+ 'krejcar',
+ 'kresba',
+ 'kreveta',
+ 'kriket',
+ 'kritik',
+ 'krize',
+ 'krkavec',
+ 'krmelec',
+ 'krmivo',
+ 'krocan',
+ 'krok',
+ 'kronika',
+ 'kropit',
+ 'kroupa',
+ 'krovka',
+ 'krtek',
+ 'kruhadlo',
+ 'krupice',
+ 'krutost',
+ 'krvinka',
+ 'krychle',
+ 'krypta',
+ 'krystal',
+ 'kryt',
+ 'kudlanka',
+ 'kufr',
+ 'kujnost',
+ 'kukla',
+ 'kulajda',
+ 'kulich',
+ 'kulka',
+ 'kulomet',
+ 'kultura',
+ 'kuna',
+ 'kupodivu',
+ 'kurt',
+ 'kurzor',
+ 'kutil',
+ 'kvalita',
+ 'kvasinka',
+ 'kvestor',
+ 'kynolog',
+ 'kyselina',
+ 'kytara',
+ 'kytice',
+ 'kytka',
+ 'kytovec',
+ 'kyvadlo',
+ 'labrador',
+ 'lachtan',
+ 'ladnost',
+ 'laik',
+ 'lakomec',
+ 'lamela',
+ 'lampa',
+ 'lanovka',
+ 'lasice',
+ 'laso',
+ 'lastura',
+ 'latinka',
+ 'lavina',
+ 'lebka',
+ 'leckdy',
+ 'leden',
+ 'lednice',
+ 'ledovka',
+ 'ledvina',
+ 'legenda',
+ 'legie',
+ 'legrace',
+ 'lehce',
+ 'lehkost',
+ 'lehnout',
+ 'lektvar',
+ 'lenochod',
+ 'lentilka',
+ 'lepenka',
+ 'lepidlo',
+ 'letadlo',
+ 'letec',
+ 'letmo',
+ 'letokruh',
+ 'levhart',
+ 'levitace',
+ 'levobok',
+ 'libra',
+ 'lichotka',
+ 'lidojed',
+ 'lidskost',
+ 'lihovina',
+ 'lijavec',
+ 'lilek',
+ 'limetka',
+ 'linie',
+ 'linka',
+ 'linoleum',
+ 'listopad',
+ 'litina',
+ 'litovat',
+ 'lobista',
+ 'lodivod',
+ 'logika',
+ 'logoped',
+ 'lokalita',
+ 'loket',
+ 'lomcovat',
+ 'lopata',
+ 'lopuch',
+ 'lord',
+ 'losos',
+ 'lotr',
+ 'loudal',
+ 'louh',
+ 'louka',
+ 'louskat',
+ 'lovec',
+ 'lstivost',
+ 'lucerna',
+ 'lucifer',
+ 'lump',
+ 'lusk',
+ 'lustrace',
+ 'lvice',
+ 'lyra',
+ 'lyrika',
+ 'lysina',
+ 'madam',
+ 'madlo',
+ 'magistr',
+ 'mahagon',
+ 'majetek',
+ 'majitel',
+ 'majorita',
+ 'makak',
+ 'makovice',
+ 'makrela',
+ 'malba',
+ 'malina',
+ 'malovat',
+ 'malvice',
+ 'maminka',
+ 'mandle',
+ 'manko',
+ 'marnost',
+ 'masakr',
+ 'maskot',
+ 'masopust',
+ 'matice',
+ 'matrika',
+ 'maturita',
+ 'mazanec',
+ 'mazivo',
+ 'mazlit',
+ 'mazurka',
+ 'mdloba',
+ 'mechanik',
+ 'meditace',
+ 'medovina',
+ 'melasa',
+ 'meloun',
+ 'mentolka',
+ 'metla',
+ 'metoda',
+ 'metr',
+ 'mezera',
+ 'migrace',
+ 'mihnout',
+ 'mihule',
+ 'mikina',
+ 'mikrofon',
+ 'milenec',
+ 'milimetr',
+ 'milost',
+ 'mimika',
+ 'mincovna',
+ 'minibar',
+ 'minomet',
+ 'minulost',
+ 'miska',
+ 'mistr',
+ 'mixovat',
+ 'mladost',
+ 'mlha',
+ 'mlhovina',
+ 'mlok',
+ 'mlsat',
+ 'mluvit',
+ 'mnich',
+ 'mnohem',
+ 'mobil',
+ 'mocnost',
+ 'modelka',
+ 'modlitba',
+ 'mohyla',
+ 'mokro',
+ 'molekula',
+ 'momentka',
+ 'monarcha',
+ 'monokl',
+ 'monstrum',
+ 'montovat',
+ 'monzun',
+ 'mosaz',
+ 'moskyt',
+ 'most',
+ 'motivace',
+ 'motorka',
+ 'motyka',
+ 'moucha',
+ 'moudrost',
+ 'mozaika',
+ 'mozek',
+ 'mozol',
+ 'mramor',
+ 'mravenec',
+ 'mrkev',
+ 'mrtvola',
+ 'mrzet',
+ 'mrzutost',
+ 'mstitel',
+ 'mudrc',
+ 'muflon',
+ 'mulat',
+ 'mumie',
+ 'munice',
+ 'muset',
+ 'mutace',
+ 'muzeum',
+ 'muzikant',
+ 'myslivec',
+ 'mzda',
+ 'nabourat',
+ 'nachytat',
+ 'nadace',
+ 'nadbytek',
+ 'nadhoz',
+ 'nadobro',
+ 'nadpis',
+ 'nahlas',
+ 'nahnat',
+ 'nahodile',
+ 'nahradit',
+ 'naivita',
+ 'najednou',
+ 'najisto',
+ 'najmout',
+ 'naklonit',
+ 'nakonec',
+ 'nakrmit',
+ 'nalevo',
+ 'namazat',
+ 'namluvit',
+ 'nanometr',
+ 'naoko',
+ 'naopak',
+ 'naostro',
+ 'napadat',
+ 'napevno',
+ 'naplnit',
+ 'napnout',
+ 'naposled',
+ 'naprosto',
+ 'narodit',
+ 'naruby',
+ 'narychlo',
+ 'nasadit',
+ 'nasekat',
+ 'naslepo',
+ 'nastat',
+ 'natolik',
+ 'navenek',
+ 'navrch',
+ 'navzdory',
+ 'nazvat',
+ 'nebe',
+ 'nechat',
+ 'necky',
+ 'nedaleko',
+ 'nedbat',
+ 'neduh',
+ 'negace',
+ 'nehet',
+ 'nehoda',
+ 'nejen',
+ 'nejprve',
+ 'neklid',
+ 'nelibost',
+ 'nemilost',
+ 'nemoc',
+ 'neochota',
+ 'neonka',
+ 'nepokoj',
+ 'nerost',
+ 'nerv',
+ 'nesmysl',
+ 'nesoulad',
+ 'netvor',
+ 'neuron',
+ 'nevina',
+ 'nezvykle',
+ 'nicota',
+ 'nijak',
+ 'nikam',
+ 'nikdy',
+ 'nikl',
+ 'nikterak',
+ 'nitro',
+ 'nocleh',
+ 'nohavice',
+ 'nominace',
+ 'nora',
+ 'norek',
+ 'nositel',
+ 'nosnost',
+ 'nouze',
+ 'noviny',
+ 'novota',
+ 'nozdra',
+ 'nuda',
+ 'nudle',
+ 'nuget',
+ 'nutit',
+ 'nutnost',
+ 'nutrie',
+ 'nymfa',
+ 'obal',
+ 'obarvit',
+ 'obava',
+ 'obdiv',
+ 'obec',
+ 'obehnat',
+ 'obejmout',
+ 'obezita',
+ 'obhajoba',
+ 'obilnice',
+ 'objasnit',
+ 'objekt',
+ 'obklopit',
+ 'oblast',
+ 'oblek',
+ 'obliba',
+ 'obloha',
+ 'obluda',
+ 'obnos',
+ 'obohatit',
+ 'obojek',
+ 'obout',
+ 'obrazec',
+ 'obrna',
+ 'obruba',
+ 'obrys',
+ 'obsah',
+ 'obsluha',
+ 'obstarat',
+ 'obuv',
+ 'obvaz',
+ 'obvinit',
+ 'obvod',
+ 'obvykle',
+ 'obyvatel',
+ 'obzor',
+ 'ocas',
+ 'ocel',
+ 'ocenit',
+ 'ochladit',
+ 'ochota',
+ 'ochrana',
+ 'ocitnout',
+ 'odboj',
+ 'odbyt',
+ 'odchod',
+ 'odcizit',
+ 'odebrat',
+ 'odeslat',
+ 'odevzdat',
+ 'odezva',
+ 'odhadce',
+ 'odhodit',
+ 'odjet',
+ 'odjinud',
+ 'odkaz',
+ 'odkoupit',
+ 'odliv',
+ 'odluka',
+ 'odmlka',
+ 'odolnost',
+ 'odpad',
+ 'odpis',
+ 'odplout',
+ 'odpor',
+ 'odpustit',
+ 'odpykat',
+ 'odrazka',
+ 'odsoudit',
+ 'odstup',
+ 'odsun',
+ 'odtok',
+ 'odtud',
+ 'odvaha',
+ 'odveta',
+ 'odvolat',
+ 'odvracet',
+ 'odznak',
+ 'ofina',
+ 'ofsajd',
+ 'ohlas',
+ 'ohnisko',
+ 'ohrada',
+ 'ohrozit',
+ 'ohryzek',
+ 'okap',
+ 'okenice',
+ 'oklika',
+ 'okno',
+ 'okouzlit',
+ 'okovy',
+ 'okrasa',
+ 'okres',
+ 'okrsek',
+ 'okruh',
+ 'okupant',
+ 'okurka',
+ 'okusit',
+ 'olejnina',
+ 'olizovat',
+ 'omak',
+ 'omeleta',
+ 'omezit',
+ 'omladina',
+ 'omlouvat',
+ 'omluva',
+ 'omyl',
+ 'onehdy',
+ 'opakovat',
+ 'opasek',
+ 'operace',
+ 'opice',
+ 'opilost',
+ 'opisovat',
+ 'opora',
+ 'opozice',
+ 'opravdu',
+ 'oproti',
+ 'orbital',
+ 'orchestr',
+ 'orgie',
+ 'orlice',
+ 'orloj',
+ 'ortel',
+ 'osada',
+ 'oschnout',
+ 'osika',
+ 'osivo',
+ 'oslava',
+ 'oslepit',
+ 'oslnit',
+ 'oslovit',
+ 'osnova',
+ 'osoba',
+ 'osolit',
+ 'ospalec',
+ 'osten',
+ 'ostraha',
+ 'ostuda',
+ 'ostych',
+ 'osvojit',
+ 'oteplit',
+ 'otisk',
+ 'otop',
+ 'otrhat',
+ 'otrlost',
+ 'otrok',
+ 'otruby',
+ 'otvor',
+ 'ovanout',
+ 'ovar',
+ 'oves',
+ 'ovlivnit',
+ 'ovoce',
+ 'oxid',
+ 'ozdoba',
+ 'pachatel',
+ 'pacient',
+ 'padouch',
+ 'pahorek',
+ 'pakt',
+ 'palanda',
+ 'palec',
+ 'palivo',
+ 'paluba',
+ 'pamflet',
+ 'pamlsek',
+ 'panenka',
+ 'panika',
+ 'panna',
+ 'panovat',
+ 'panstvo',
+ 'pantofle',
+ 'paprika',
+ 'parketa',
+ 'parodie',
+ 'parta',
+ 'paruka',
+ 'paryba',
+ 'paseka',
+ 'pasivita',
+ 'pastelka',
+ 'patent',
+ 'patrona',
+ 'pavouk',
+ 'pazneht',
+ 'pazourek',
+ 'pecka',
+ 'pedagog',
+ 'pejsek',
+ 'peklo',
+ 'peloton',
+ 'penalta',
+ 'pendrek',
+ 'penze',
+ 'periskop',
+ 'pero',
+ 'pestrost',
+ 'petarda',
+ 'petice',
+ 'petrolej',
+ 'pevnina',
+ 'pexeso',
+ 'pianista',
+ 'piha',
+ 'pijavice',
+ 'pikle',
+ 'piknik',
+ 'pilina',
+ 'pilnost',
+ 'pilulka',
+ 'pinzeta',
+ 'pipeta',
+ 'pisatel',
+ 'pistole',
+ 'pitevna',
+ 'pivnice',
+ 'pivovar',
+ 'placenta',
+ 'plakat',
+ 'plamen',
+ 'planeta',
+ 'plastika',
+ 'platit',
+ 'plavidlo',
+ 'plaz',
+ 'plech',
+ 'plemeno',
+ 'plenta',
+ 'ples',
+ 'pletivo',
+ 'plevel',
+ 'plivat',
+ 'plnit',
+ 'plno',
+ 'plocha',
+ 'plodina',
+ 'plomba',
+ 'plout',
+ 'pluk',
+ 'plyn',
+ 'pobavit',
+ 'pobyt',
+ 'pochod',
+ 'pocit',
+ 'poctivec',
+ 'podat',
+ 'podcenit',
+ 'podepsat',
+ 'podhled',
+ 'podivit',
+ 'podklad',
+ 'podmanit',
+ 'podnik',
+ 'podoba',
+ 'podpora',
+ 'podraz',
+ 'podstata',
+ 'podvod',
+ 'podzim',
+ 'poezie',
+ 'pohanka',
+ 'pohnutka',
+ 'pohovor',
+ 'pohroma',
+ 'pohyb',
+ 'pointa',
+ 'pojistka',
+ 'pojmout',
+ 'pokazit',
+ 'pokles',
+ 'pokoj',
+ 'pokrok',
+ 'pokuta',
+ 'pokyn',
+ 'poledne',
+ 'polibek',
+ 'polknout',
+ 'poloha',
+ 'polynom',
+ 'pomalu',
+ 'pominout',
+ 'pomlka',
+ 'pomoc',
+ 'pomsta',
+ 'pomyslet',
+ 'ponechat',
+ 'ponorka',
+ 'ponurost',
+ 'popadat',
+ 'popel',
+ 'popisek',
+ 'poplach',
+ 'poprosit',
+ 'popsat',
+ 'popud',
+ 'poradce',
+ 'porce',
+ 'porod',
+ 'porucha',
+ 'poryv',
+ 'posadit',
+ 'posed',
+ 'posila',
+ 'poskok',
+ 'poslanec',
+ 'posoudit',
+ 'pospolu',
+ 'postava',
+ 'posudek',
+ 'posyp',
+ 'potah',
+ 'potkan',
+ 'potlesk',
+ 'potomek',
+ 'potrava',
+ 'potupa',
+ 'potvora',
+ 'poukaz',
+ 'pouto',
+ 'pouzdro',
+ 'povaha',
+ 'povidla',
+ 'povlak',
+ 'povoz',
+ 'povrch',
+ 'povstat',
+ 'povyk',
+ 'povzdech',
+ 'pozdrav',
+ 'pozemek',
+ 'poznatek',
+ 'pozor',
+ 'pozvat',
+ 'pracovat',
+ 'prahory',
+ 'praktika',
+ 'prales',
+ 'praotec',
+ 'praporek',
+ 'prase',
+ 'pravda',
+ 'princip',
+ 'prkno',
+ 'probudit',
+ 'procento',
+ 'prodej',
+ 'profese',
+ 'prohra',
+ 'projekt',
+ 'prolomit',
+ 'promile',
+ 'pronikat',
+ 'propad',
+ 'prorok',
+ 'prosba',
+ 'proton',
+ 'proutek',
+ 'provaz',
+ 'prskavka',
+ 'prsten',
+ 'prudkost',
+ 'prut',
+ 'prvek',
+ 'prvohory',
+ 'psanec',
+ 'psovod',
+ 'pstruh',
+ 'ptactvo',
+ 'puberta',
+ 'puch',
+ 'pudl',
+ 'pukavec',
+ 'puklina',
+ 'pukrle',
+ 'pult',
+ 'pumpa',
+ 'punc',
+ 'pupen',
+ 'pusa',
+ 'pusinka',
+ 'pustina',
+ 'putovat',
+ 'putyka',
+ 'pyramida',
+ 'pysk',
+ 'pytel',
+ 'racek',
+ 'rachot',
+ 'radiace',
+ 'radnice',
+ 'radon',
+ 'raft',
+ 'ragby',
+ 'raketa',
+ 'rakovina',
+ 'rameno',
+ 'rampouch',
+ 'rande',
+ 'rarach',
+ 'rarita',
+ 'rasovna',
+ 'rastr',
+ 'ratolest',
+ 'razance',
+ 'razidlo',
+ 'reagovat',
+ 'reakce',
+ 'recept',
+ 'redaktor',
+ 'referent',
+ 'reflex',
+ 'rejnok',
+ 'reklama',
+ 'rekord',
+ 'rekrut',
+ 'rektor',
+ 'reputace',
+ 'revize',
+ 'revma',
+ 'revolver',
+ 'rezerva',
+ 'riskovat',
+ 'riziko',
+ 'robotika',
+ 'rodokmen',
+ 'rohovka',
+ 'rokle',
+ 'rokoko',
+ 'romaneto',
+ 'ropovod',
+ 'ropucha',
+ 'rorejs',
+ 'rosol',
+ 'rostlina',
+ 'rotmistr',
+ 'rotoped',
+ 'rotunda',
+ 'roubenka',
+ 'roucho',
+ 'roup',
+ 'roura',
+ 'rovina',
+ 'rovnice',
+ 'rozbor',
+ 'rozchod',
+ 'rozdat',
+ 'rozeznat',
+ 'rozhodce',
+ 'rozinka',
+ 'rozjezd',
+ 'rozkaz',
+ 'rozloha',
+ 'rozmar',
+ 'rozpad',
+ 'rozruch',
+ 'rozsah',
+ 'roztok',
+ 'rozum',
+ 'rozvod',
+ 'rubrika',
+ 'ruchadlo',
+ 'rukavice',
+ 'rukopis',
+ 'ryba',
+ 'rybolov',
+ 'rychlost',
+ 'rydlo',
+ 'rypadlo',
+ 'rytina',
+ 'ryzost',
+ 'sadista',
+ 'sahat',
+ 'sako',
+ 'samec',
+ 'samizdat',
+ 'samota',
+ 'sanitka',
+ 'sardinka',
+ 'sasanka',
+ 'satelit',
+ 'sazba',
+ 'sazenice',
+ 'sbor',
+ 'schovat',
+ 'sebranka',
+ 'secese',
+ 'sedadlo',
+ 'sediment',
+ 'sedlo',
+ 'sehnat',
+ 'sejmout',
+ 'sekera',
+ 'sekta',
+ 'sekunda',
+ 'sekvoje',
+ 'semeno',
+ 'seno',
+ 'servis',
+ 'sesadit',
+ 'seshora',
+ 'seskok',
+ 'seslat',
+ 'sestra',
+ 'sesuv',
+ 'sesypat',
+ 'setba',
+ 'setina',
+ 'setkat',
+ 'setnout',
+ 'setrvat',
+ 'sever',
+ 'seznam',
+ 'shoda',
+ 'shrnout',
+ 'sifon',
+ 'silnice',
+ 'sirka',
+ 'sirotek',
+ 'sirup',
+ 'situace',
+ 'skafandr',
+ 'skalisko',
+ 'skanzen',
+ 'skaut',
+ 'skeptik',
+ 'skica',
+ 'skladba',
+ 'sklenice',
+ 'sklo',
+ 'skluz',
+ 'skoba',
+ 'skokan',
+ 'skoro',
+ 'skripta',
+ 'skrz',
+ 'skupina',
+ 'skvost',
+ 'skvrna',
+ 'slabika',
+ 'sladidlo',
+ 'slanina',
+ 'slast',
+ 'slavnost',
+ 'sledovat',
+ 'slepec',
+ 'sleva',
+ 'slezina',
+ 'slib',
+ 'slina',
+ 'sliznice',
+ 'slon',
+ 'sloupek',
+ 'slovo',
+ 'sluch',
+ 'sluha',
+ 'slunce',
+ 'slupka',
+ 'slza',
+ 'smaragd',
+ 'smetana',
+ 'smilstvo',
+ 'smlouva',
+ 'smog',
+ 'smrad',
+ 'smrk',
+ 'smrtka',
+ 'smutek',
+ 'smysl',
+ 'snad',
+ 'snaha',
+ 'snob',
+ 'sobota',
+ 'socha',
+ 'sodovka',
+ 'sokol',
+ 'sopka',
+ 'sotva',
+ 'souboj',
+ 'soucit',
+ 'soudce',
+ 'souhlas',
+ 'soulad',
+ 'soumrak',
+ 'souprava',
+ 'soused',
+ 'soutok',
+ 'souviset',
+ 'spalovna',
+ 'spasitel',
+ 'spis',
+ 'splav',
+ 'spodek',
+ 'spojenec',
+ 'spolu',
+ 'sponzor',
+ 'spornost',
+ 'spousta',
+ 'sprcha',
+ 'spustit',
+ 'sranda',
+ 'sraz',
+ 'srdce',
+ 'srna',
+ 'srnec',
+ 'srovnat',
+ 'srpen',
+ 'srst',
+ 'srub',
+ 'stanice',
+ 'starosta',
+ 'statika',
+ 'stavba',
+ 'stehno',
+ 'stezka',
+ 'stodola',
+ 'stolek',
+ 'stopa',
+ 'storno',
+ 'stoupat',
+ 'strach',
+ 'stres',
+ 'strhnout',
+ 'strom',
+ 'struna',
+ 'studna',
+ 'stupnice',
+ 'stvol',
+ 'styk',
+ 'subjekt',
+ 'subtropy',
+ 'suchar',
+ 'sudost',
+ 'sukno',
+ 'sundat',
+ 'sunout',
+ 'surikata',
+ 'surovina',
+ 'svah',
+ 'svalstvo',
+ 'svetr',
+ 'svatba',
+ 'svazek',
+ 'svisle',
+ 'svitek',
+ 'svoboda',
+ 'svodidlo',
+ 'svorka',
+ 'svrab',
+ 'sykavka',
+ 'sykot',
+ 'synek',
+ 'synovec',
+ 'sypat',
+ 'sypkost',
+ 'syrovost',
+ 'sysel',
+ 'sytost',
+ 'tabletka',
+ 'tabule',
+ 'tahoun',
+ 'tajemno',
+ 'tajfun',
+ 'tajga',
+ 'tajit',
+ 'tajnost',
+ 'taktika',
+ 'tamhle',
+ 'tampon',
+ 'tancovat',
+ 'tanec',
+ 'tanker',
+ 'tapeta',
+ 'tavenina',
+ 'tazatel',
+ 'technika',
+ 'tehdy',
+ 'tekutina',
+ 'telefon',
+ 'temnota',
+ 'tendence',
+ 'tenista',
+ 'tenor',
+ 'teplota',
+ 'tepna',
+ 'teprve',
+ 'terapie',
+ 'termoska',
+ 'textil',
+ 'ticho',
+ 'tiskopis',
+ 'titulek',
+ 'tkadlec',
+ 'tkanina',
+ 'tlapka',
+ 'tleskat',
+ 'tlukot',
+ 'tlupa',
+ 'tmel',
+ 'toaleta',
+ 'topinka',
+ 'topol',
+ 'torzo',
+ 'touha',
+ 'toulec',
+ 'tradice',
+ 'traktor',
+ 'tramp',
+ 'trasa',
+ 'traverza',
+ 'trefit',
+ 'trest',
+ 'trezor',
+ 'trhavina',
+ 'trhlina',
+ 'trochu',
+ 'trojice',
+ 'troska',
+ 'trouba',
+ 'trpce',
+ 'trpitel',
+ 'trpkost',
+ 'trubec',
+ 'truchlit',
+ 'truhlice',
+ 'trus',
+ 'trvat',
+ 'tudy',
+ 'tuhnout',
+ 'tuhost',
+ 'tundra',
+ 'turista',
+ 'turnaj',
+ 'tuzemsko',
+ 'tvaroh',
+ 'tvorba',
+ 'tvrdost',
+ 'tvrz',
+ 'tygr',
+ 'tykev',
+ 'ubohost',
+ 'uboze',
+ 'ubrat',
+ 'ubrousek',
+ 'ubrus',
+ 'ubytovna',
+ 'ucho',
+ 'uctivost',
+ 'udivit',
+ 'uhradit',
+ 'ujednat',
+ 'ujistit',
+ 'ujmout',
+ 'ukazatel',
+ 'uklidnit',
+ 'uklonit',
+ 'ukotvit',
+ 'ukrojit',
+ 'ulice',
+ 'ulita',
+ 'ulovit',
+ 'umyvadlo',
+ 'unavit',
+ 'uniforma',
+ 'uniknout',
+ 'upadnout',
+ 'uplatnit',
+ 'uplynout',
+ 'upoutat',
+ 'upravit',
+ 'uran',
+ 'urazit',
+ 'usednout',
+ 'usilovat',
+ 'usmrtit',
+ 'usnadnit',
+ 'usnout',
+ 'usoudit',
+ 'ustlat',
+ 'ustrnout',
+ 'utahovat',
+ 'utkat',
+ 'utlumit',
+ 'utonout',
+ 'utopenec',
+ 'utrousit',
+ 'uvalit',
+ 'uvolnit',
+ 'uvozovka',
+ 'uzdravit',
+ 'uzel',
+ 'uzenina',
+ 'uzlina',
+ 'uznat',
+ 'vagon',
+ 'valcha',
+ 'valoun',
+ 'vana',
+ 'vandal',
+ 'vanilka',
+ 'varan',
+ 'varhany',
+ 'varovat',
+ 'vcelku',
+ 'vchod',
+ 'vdova',
+ 'vedro',
+ 'vegetace',
+ 'vejce',
+ 'velbloud',
+ 'veletrh',
+ 'velitel',
+ 'velmoc',
+ 'velryba',
+ 'venkov',
+ 'veranda',
+ 'verze',
+ 'veselka',
+ 'veskrze',
+ 'vesnice',
+ 'vespodu',
+ 'vesta',
+ 'veterina',
+ 'veverka',
+ 'vibrace',
+ 'vichr',
+ 'videohra',
+ 'vidina',
+ 'vidle',
+ 'vila',
+ 'vinice',
+ 'viset',
+ 'vitalita',
+ 'vize',
+ 'vizitka',
+ 'vjezd',
+ 'vklad',
+ 'vkus',
+ 'vlajka',
+ 'vlak',
+ 'vlasec',
+ 'vlevo',
+ 'vlhkost',
+ 'vliv',
+ 'vlnovka',
+ 'vloupat',
+ 'vnucovat',
+ 'vnuk',
+ 'voda',
+ 'vodivost',
+ 'vodoznak',
+ 'vodstvo',
+ 'vojensky',
+ 'vojna',
+ 'vojsko',
+ 'volant',
+ 'volba',
+ 'volit',
+ 'volno',
+ 'voskovka',
+ 'vozidlo',
+ 'vozovna',
+ 'vpravo',
+ 'vrabec',
+ 'vracet',
+ 'vrah',
+ 'vrata',
+ 'vrba',
+ 'vrcholek',
+ 'vrhat',
+ 'vrstva',
+ 'vrtule',
+ 'vsadit',
+ 'vstoupit',
+ 'vstup',
+ 'vtip',
+ 'vybavit',
+ 'vybrat',
+ 'vychovat',
+ 'vydat',
+ 'vydra',
+ 'vyfotit',
+ 'vyhledat',
+ 'vyhnout',
+ 'vyhodit',
+ 'vyhradit',
+ 'vyhubit',
+ 'vyjasnit',
+ 'vyjet',
+ 'vyjmout',
+ 'vyklopit',
+ 'vykonat',
+ 'vylekat',
+ 'vymazat',
+ 'vymezit',
+ 'vymizet',
+ 'vymyslet',
+ 'vynechat',
+ 'vynikat',
+ 'vynutit',
+ 'vypadat',
+ 'vyplatit',
+ 'vypravit',
+ 'vypustit',
+ 'vyrazit',
+ 'vyrovnat',
+ 'vyrvat',
+ 'vyslovit',
+ 'vysoko',
+ 'vystavit',
+ 'vysunout',
+ 'vysypat',
+ 'vytasit',
+ 'vytesat',
+ 'vytratit',
+ 'vyvinout',
+ 'vyvolat',
+ 'vyvrhel',
+ 'vyzdobit',
+ 'vyznat',
+ 'vzadu',
+ 'vzbudit',
+ 'vzchopit',
+ 'vzdor',
+ 'vzduch',
+ 'vzdychat',
+ 'vzestup',
+ 'vzhledem',
+ 'vzkaz',
+ 'vzlykat',
+ 'vznik',
+ 'vzorek',
+ 'vzpoura',
+ 'vztah',
+ 'vztek',
+ 'xylofon',
+ 'zabrat',
+ 'zabydlet',
+ 'zachovat',
+ 'zadarmo',
+ 'zadusit',
+ 'zafoukat',
+ 'zahltit',
+ 'zahodit',
+ 'zahrada',
+ 'zahynout',
+ 'zajatec',
+ 'zajet',
+ 'zajistit',
+ 'zaklepat',
+ 'zakoupit',
+ 'zalepit',
+ 'zamezit',
+ 'zamotat',
+ 'zamyslet',
+ 'zanechat',
+ 'zanikat',
+ 'zaplatit',
+ 'zapojit',
+ 'zapsat',
+ 'zarazit',
+ 'zastavit',
+ 'zasunout',
+ 'zatajit',
+ 'zatemnit',
+ 'zatknout',
+ 'zaujmout',
+ 'zavalit',
+ 'zavelet',
+ 'zavinit',
+ 'zavolat',
+ 'zavrtat',
+ 'zazvonit',
+ 'zbavit',
+ 'zbrusu',
+ 'zbudovat',
+ 'zbytek',
+ 'zdaleka',
+ 'zdarma',
+ 'zdatnost',
+ 'zdivo',
+ 'zdobit',
+ 'zdroj',
+ 'zdvih',
+ 'zdymadlo',
+ 'zelenina',
+ 'zeman',
+ 'zemina',
+ 'zeptat',
+ 'zezadu',
+ 'zezdola',
+ 'zhatit',
+ 'zhltnout',
+ 'zhluboka',
+ 'zhotovit',
+ 'zhruba',
+ 'zima',
+ 'zimnice',
+ 'zjemnit',
+ 'zklamat',
+ 'zkoumat',
+ 'zkratka',
+ 'zkumavka',
+ 'zlato',
+ 'zlehka',
+ 'zloba',
+ 'zlom',
+ 'zlost',
+ 'zlozvyk',
+ 'zmapovat',
+ 'zmar',
+ 'zmatek',
+ 'zmije',
+ 'zmizet',
+ 'zmocnit',
+ 'zmodrat',
+ 'zmrzlina',
+ 'zmutovat',
+ 'znak',
+ 'znalost',
+ 'znamenat',
+ 'znovu',
+ 'zobrazit',
+ 'zotavit',
+ 'zoubek',
+ 'zoufale',
+ 'zplodit',
+ 'zpomalit',
+ 'zprava',
+ 'zprostit',
+ 'zprudka',
+ 'zprvu',
+ 'zrada',
+ 'zranit',
+ 'zrcadlo',
+ 'zrnitost',
+ 'zrno',
+ 'zrovna',
+ 'zrychlit',
+ 'zrzavost',
+ 'zticha',
+ 'ztratit',
+ 'zubovina',
+ 'zubr',
+ 'zvednout',
+ 'zvenku',
+ 'zvesela',
+ 'zvon',
+ 'zvrat',
+ 'zvukovod',
+ 'zvyk',
+];
+
+const english = [
+ 'abandon',
+ 'ability',
+ 'able',
+ 'about',
+ 'above',
+ 'absent',
+ 'absorb',
+ 'abstract',
+ 'absurd',
+ 'abuse',
+ 'access',
+ 'accident',
+ 'account',
+ 'accuse',
+ 'achieve',
+ 'acid',
+ 'acoustic',
+ 'acquire',
+ 'across',
+ 'act',
+ 'action',
+ 'actor',
+ 'actress',
+ 'actual',
+ 'adapt',
+ 'add',
+ 'addict',
+ 'address',
+ 'adjust',
+ 'admit',
+ 'adult',
+ 'advance',
+ 'advice',
+ 'aerobic',
+ 'affair',
+ 'afford',
+ 'afraid',
+ 'again',
+ 'age',
+ 'agent',
+ 'agree',
+ 'ahead',
+ 'aim',
+ 'air',
+ 'airport',
+ 'aisle',
+ 'alarm',
+ 'album',
+ 'alcohol',
+ 'alert',
+ 'alien',
+ 'all',
+ 'alley',
+ 'allow',
+ 'almost',
+ 'alone',
+ 'alpha',
+ 'already',
+ 'also',
+ 'alter',
+ 'always',
+ 'amateur',
+ 'amazing',
+ 'among',
+ 'amount',
+ 'amused',
+ 'analyst',
+ 'anchor',
+ 'ancient',
+ 'anger',
+ 'angle',
+ 'angry',
+ 'animal',
+ 'ankle',
+ 'announce',
+ 'annual',
+ 'another',
+ 'answer',
+ 'antenna',
+ 'antique',
+ 'anxiety',
+ 'any',
+ 'apart',
+ 'apology',
+ 'appear',
+ 'apple',
+ 'approve',
+ 'april',
+ 'arch',
+ 'arctic',
+ 'area',
+ 'arena',
+ 'argue',
+ 'arm',
+ 'armed',
+ 'armor',
+ 'army',
+ 'around',
+ 'arrange',
+ 'arrest',
+ 'arrive',
+ 'arrow',
+ 'art',
+ 'artefact',
+ 'artist',
+ 'artwork',
+ 'ask',
+ 'aspect',
+ 'assault',
+ 'asset',
+ 'assist',
+ 'assume',
+ 'asthma',
+ 'athlete',
+ 'atom',
+ 'attack',
+ 'attend',
+ 'attitude',
+ 'attract',
+ 'auction',
+ 'audit',
+ 'august',
+ 'aunt',
+ 'author',
+ 'auto',
+ 'autumn',
+ 'average',
+ 'avocado',
+ 'avoid',
+ 'awake',
+ 'aware',
+ 'away',
+ 'awesome',
+ 'awful',
+ 'awkward',
+ 'axis',
+ 'baby',
+ 'bachelor',
+ 'bacon',
+ 'badge',
+ 'bag',
+ 'balance',
+ 'balcony',
+ 'ball',
+ 'bamboo',
+ 'banana',
+ 'banner',
+ 'bar',
+ 'barely',
+ 'bargain',
+ 'barrel',
+ 'base',
+ 'basic',
+ 'basket',
+ 'battle',
+ 'beach',
+ 'bean',
+ 'beauty',
+ 'because',
+ 'become',
+ 'beef',
+ 'before',
+ 'begin',
+ 'behave',
+ 'behind',
+ 'believe',
+ 'below',
+ 'belt',
+ 'bench',
+ 'benefit',
+ 'best',
+ 'betray',
+ 'better',
+ 'between',
+ 'beyond',
+ 'bicycle',
+ 'bid',
+ 'bike',
+ 'bind',
+ 'biology',
+ 'bird',
+ 'birth',
+ 'bitter',
+ 'black',
+ 'blade',
+ 'blame',
+ 'blanket',
+ 'blast',
+ 'bleak',
+ 'bless',
+ 'blind',
+ 'blood',
+ 'blossom',
+ 'blouse',
+ 'blue',
+ 'blur',
+ 'blush',
+ 'board',
+ 'boat',
+ 'body',
+ 'boil',
+ 'bomb',
+ 'bone',
+ 'bonus',
+ 'book',
+ 'boost',
+ 'border',
+ 'boring',
+ 'borrow',
+ 'boss',
+ 'bottom',
+ 'bounce',
+ 'box',
+ 'boy',
+ 'bracket',
+ 'brain',
+ 'brand',
+ 'brass',
+ 'brave',
+ 'bread',
+ 'breeze',
+ 'brick',
+ 'bridge',
+ 'brief',
+ 'bright',
+ 'bring',
+ 'brisk',
+ 'broccoli',
+ 'broken',
+ 'bronze',
+ 'broom',
+ 'brother',
+ 'brown',
+ 'brush',
+ 'bubble',
+ 'buddy',
+ 'budget',
+ 'buffalo',
+ 'build',
+ 'bulb',
+ 'bulk',
+ 'bullet',
+ 'bundle',
+ 'bunker',
+ 'burden',
+ 'burger',
+ 'burst',
+ 'bus',
+ 'business',
+ 'busy',
+ 'butter',
+ 'buyer',
+ 'buzz',
+ 'cabbage',
+ 'cabin',
+ 'cable',
+ 'cactus',
+ 'cage',
+ 'cake',
+ 'call',
+ 'calm',
+ 'camera',
+ 'camp',
+ 'can',
+ 'canal',
+ 'cancel',
+ 'candy',
+ 'cannon',
+ 'canoe',
+ 'canvas',
+ 'canyon',
+ 'capable',
+ 'capital',
+ 'captain',
+ 'car',
+ 'carbon',
+ 'card',
+ 'cargo',
+ 'carpet',
+ 'carry',
+ 'cart',
+ 'case',
+ 'cash',
+ 'casino',
+ 'castle',
+ 'casual',
+ 'cat',
+ 'catalog',
+ 'catch',
+ 'category',
+ 'cattle',
+ 'caught',
+ 'cause',
+ 'caution',
+ 'cave',
+ 'ceiling',
+ 'celery',
+ 'cement',
+ 'census',
+ 'century',
+ 'cereal',
+ 'certain',
+ 'chair',
+ 'chalk',
+ 'champion',
+ 'change',
+ 'chaos',
+ 'chapter',
+ 'charge',
+ 'chase',
+ 'chat',
+ 'cheap',
+ 'check',
+ 'cheese',
+ 'chef',
+ 'cherry',
+ 'chest',
+ 'chicken',
+ 'chief',
+ 'child',
+ 'chimney',
+ 'choice',
+ 'choose',
+ 'chronic',
+ 'chuckle',
+ 'chunk',
+ 'churn',
+ 'cigar',
+ 'cinnamon',
+ 'circle',
+ 'citizen',
+ 'city',
+ 'civil',
+ 'claim',
+ 'clap',
+ 'clarify',
+ 'claw',
+ 'clay',
+ 'clean',
+ 'clerk',
+ 'clever',
+ 'click',
+ 'client',
+ 'cliff',
+ 'climb',
+ 'clinic',
+ 'clip',
+ 'clock',
+ 'clog',
+ 'close',
+ 'cloth',
+ 'cloud',
+ 'clown',
+ 'club',
+ 'clump',
+ 'cluster',
+ 'clutch',
+ 'coach',
+ 'coast',
+ 'coconut',
+ 'code',
+ 'coffee',
+ 'coil',
+ 'coin',
+ 'collect',
+ 'color',
+ 'column',
+ 'combine',
+ 'come',
+ 'comfort',
+ 'comic',
+ 'common',
+ 'company',
+ 'concert',
+ 'conduct',
+ 'confirm',
+ 'congress',
+ 'connect',
+ 'consider',
+ 'control',
+ 'convince',
+ 'cook',
+ 'cool',
+ 'copper',
+ 'copy',
+ 'coral',
+ 'core',
+ 'corn',
+ 'correct',
+ 'cost',
+ 'cotton',
+ 'couch',
+ 'country',
+ 'couple',
+ 'course',
+ 'cousin',
+ 'cover',
+ 'coyote',
+ 'crack',
+ 'cradle',
+ 'craft',
+ 'cram',
+ 'crane',
+ 'crash',
+ 'crater',
+ 'crawl',
+ 'crazy',
+ 'cream',
+ 'credit',
+ 'creek',
+ 'crew',
+ 'cricket',
+ 'crime',
+ 'crisp',
+ 'critic',
+ 'crop',
+ 'cross',
+ 'crouch',
+ 'crowd',
+ 'crucial',
+ 'cruel',
+ 'cruise',
+ 'crumble',
+ 'crunch',
+ 'crush',
+ 'cry',
+ 'crystal',
+ 'cube',
+ 'culture',
+ 'cup',
+ 'cupboard',
+ 'curious',
+ 'current',
+ 'curtain',
+ 'curve',
+ 'cushion',
+ 'custom',
+ 'cute',
+ 'cycle',
+ 'dad',
+ 'damage',
+ 'damp',
+ 'dance',
+ 'danger',
+ 'daring',
+ 'dash',
+ 'daughter',
+ 'dawn',
+ 'day',
+ 'deal',
+ 'debate',
+ 'debris',
+ 'decade',
+ 'december',
+ 'decide',
+ 'decline',
+ 'decorate',
+ 'decrease',
+ 'deer',
+ 'defense',
+ 'define',
+ 'defy',
+ 'degree',
+ 'delay',
+ 'deliver',
+ 'demand',
+ 'demise',
+ 'denial',
+ 'dentist',
+ 'deny',
+ 'depart',
+ 'depend',
+ 'deposit',
+ 'depth',
+ 'deputy',
+ 'derive',
+ 'describe',
+ 'desert',
+ 'design',
+ 'desk',
+ 'despair',
+ 'destroy',
+ 'detail',
+ 'detect',
+ 'develop',
+ 'device',
+ 'devote',
+ 'diagram',
+ 'dial',
+ 'diamond',
+ 'diary',
+ 'dice',
+ 'diesel',
+ 'diet',
+ 'differ',
+ 'digital',
+ 'dignity',
+ 'dilemma',
+ 'dinner',
+ 'dinosaur',
+ 'direct',
+ 'dirt',
+ 'disagree',
+ 'discover',
+ 'disease',
+ 'dish',
+ 'dismiss',
+ 'disorder',
+ 'display',
+ 'distance',
+ 'divert',
+ 'divide',
+ 'divorce',
+ 'dizzy',
+ 'doctor',
+ 'document',
+ 'dog',
+ 'doll',
+ 'dolphin',
+ 'domain',
+ 'donate',
+ 'donkey',
+ 'donor',
+ 'door',
+ 'dose',
+ 'double',
+ 'dove',
+ 'draft',
+ 'dragon',
+ 'drama',
+ 'drastic',
+ 'draw',
+ 'dream',
+ 'dress',
+ 'drift',
+ 'drill',
+ 'drink',
+ 'drip',
+ 'drive',
+ 'drop',
+ 'drum',
+ 'dry',
+ 'duck',
+ 'dumb',
+ 'dune',
+ 'during',
+ 'dust',
+ 'dutch',
+ 'duty',
+ 'dwarf',
+ 'dynamic',
+ 'eager',
+ 'eagle',
+ 'early',
+ 'earn',
+ 'earth',
+ 'easily',
+ 'east',
+ 'easy',
+ 'echo',
+ 'ecology',
+ 'economy',
+ 'edge',
+ 'edit',
+ 'educate',
+ 'effort',
+ 'egg',
+ 'eight',
+ 'either',
+ 'elbow',
+ 'elder',
+ 'electric',
+ 'elegant',
+ 'element',
+ 'elephant',
+ 'elevator',
+ 'elite',
+ 'else',
+ 'embark',
+ 'embody',
+ 'embrace',
+ 'emerge',
+ 'emotion',
+ 'employ',
+ 'empower',
+ 'empty',
+ 'enable',
+ 'enact',
+ 'end',
+ 'endless',
+ 'endorse',
+ 'enemy',
+ 'energy',
+ 'enforce',
+ 'engage',
+ 'engine',
+ 'enhance',
+ 'enjoy',
+ 'enlist',
+ 'enough',
+ 'enrich',
+ 'enroll',
+ 'ensure',
+ 'enter',
+ 'entire',
+ 'entry',
+ 'envelope',
+ 'episode',
+ 'equal',
+ 'equip',
+ 'era',
+ 'erase',
+ 'erode',
+ 'erosion',
+ 'error',
+ 'erupt',
+ 'escape',
+ 'essay',
+ 'essence',
+ 'estate',
+ 'eternal',
+ 'ethics',
+ 'evidence',
+ 'evil',
+ 'evoke',
+ 'evolve',
+ 'exact',
+ 'example',
+ 'excess',
+ 'exchange',
+ 'excite',
+ 'exclude',
+ 'excuse',
+ 'execute',
+ 'exercise',
+ 'exhaust',
+ 'exhibit',
+ 'exile',
+ 'exist',
+ 'exit',
+ 'exotic',
+ 'expand',
+ 'expect',
+ 'expire',
+ 'explain',
+ 'expose',
+ 'express',
+ 'extend',
+ 'extra',
+ 'eye',
+ 'eyebrow',
+ 'fabric',
+ 'face',
+ 'faculty',
+ 'fade',
+ 'faint',
+ 'faith',
+ 'fall',
+ 'false',
+ 'fame',
+ 'family',
+ 'famous',
+ 'fan',
+ 'fancy',
+ 'fantasy',
+ 'farm',
+ 'fashion',
+ 'fat',
+ 'fatal',
+ 'father',
+ 'fatigue',
+ 'fault',
+ 'favorite',
+ 'feature',
+ 'february',
+ 'federal',
+ 'fee',
+ 'feed',
+ 'feel',
+ 'female',
+ 'fence',
+ 'festival',
+ 'fetch',
+ 'fever',
+ 'few',
+ 'fiber',
+ 'fiction',
+ 'field',
+ 'figure',
+ 'file',
+ 'film',
+ 'filter',
+ 'final',
+ 'find',
+ 'fine',
+ 'finger',
+ 'finish',
+ 'fire',
+ 'firm',
+ 'first',
+ 'fiscal',
+ 'fish',
+ 'fit',
+ 'fitness',
+ 'fix',
+ 'flag',
+ 'flame',
+ 'flash',
+ 'flat',
+ 'flavor',
+ 'flee',
+ 'flight',
+ 'flip',
+ 'float',
+ 'flock',
+ 'floor',
+ 'flower',
+ 'fluid',
+ 'flush',
+ 'fly',
+ 'foam',
+ 'focus',
+ 'fog',
+ 'foil',
+ 'fold',
+ 'follow',
+ 'food',
+ 'foot',
+ 'force',
+ 'forest',
+ 'forget',
+ 'fork',
+ 'fortune',
+ 'forum',
+ 'forward',
+ 'fossil',
+ 'foster',
+ 'found',
+ 'fox',
+ 'fragile',
+ 'frame',
+ 'frequent',
+ 'fresh',
+ 'friend',
+ 'fringe',
+ 'frog',
+ 'front',
+ 'frost',
+ 'frown',
+ 'frozen',
+ 'fruit',
+ 'fuel',
+ 'fun',
+ 'funny',
+ 'furnace',
+ 'fury',
+ 'future',
+ 'gadget',
+ 'gain',
+ 'galaxy',
+ 'gallery',
+ 'game',
+ 'gap',
+ 'garage',
+ 'garbage',
+ 'garden',
+ 'garlic',
+ 'garment',
+ 'gas',
+ 'gasp',
+ 'gate',
+ 'gather',
+ 'gauge',
+ 'gaze',
+ 'general',
+ 'genius',
+ 'genre',
+ 'gentle',
+ 'genuine',
+ 'gesture',
+ 'ghost',
+ 'giant',
+ 'gift',
+ 'giggle',
+ 'ginger',
+ 'giraffe',
+ 'girl',
+ 'give',
+ 'glad',
+ 'glance',
+ 'glare',
+ 'glass',
+ 'glide',
+ 'glimpse',
+ 'globe',
+ 'gloom',
+ 'glory',
+ 'glove',
+ 'glow',
+ 'glue',
+ 'goat',
+ 'goddess',
+ 'gold',
+ 'good',
+ 'goose',
+ 'gorilla',
+ 'gospel',
+ 'gossip',
+ 'govern',
+ 'gown',
+ 'grab',
+ 'grace',
+ 'grain',
+ 'grant',
+ 'grape',
+ 'grass',
+ 'gravity',
+ 'great',
+ 'green',
+ 'grid',
+ 'grief',
+ 'grit',
+ 'grocery',
+ 'group',
+ 'grow',
+ 'grunt',
+ 'guard',
+ 'guess',
+ 'guide',
+ 'guilt',
+ 'guitar',
+ 'gun',
+ 'gym',
+ 'habit',
+ 'hair',
+ 'half',
+ 'hammer',
+ 'hamster',
+ 'hand',
+ 'happy',
+ 'harbor',
+ 'hard',
+ 'harsh',
+ 'harvest',
+ 'hat',
+ 'have',
+ 'hawk',
+ 'hazard',
+ 'head',
+ 'health',
+ 'heart',
+ 'heavy',
+ 'hedgehog',
+ 'height',
+ 'hello',
+ 'helmet',
+ 'help',
+ 'hen',
+ 'hero',
+ 'hidden',
+ 'high',
+ 'hill',
+ 'hint',
+ 'hip',
+ 'hire',
+ 'history',
+ 'hobby',
+ 'hockey',
+ 'hold',
+ 'hole',
+ 'holiday',
+ 'hollow',
+ 'home',
+ 'honey',
+ 'hood',
+ 'hope',
+ 'horn',
+ 'horror',
+ 'horse',
+ 'hospital',
+ 'host',
+ 'hotel',
+ 'hour',
+ 'hover',
+ 'hub',
+ 'huge',
+ 'human',
+ 'humble',
+ 'humor',
+ 'hundred',
+ 'hungry',
+ 'hunt',
+ 'hurdle',
+ 'hurry',
+ 'hurt',
+ 'husband',
+ 'hybrid',
+ 'ice',
+ 'icon',
+ 'idea',
+ 'identify',
+ 'idle',
+ 'ignore',
+ 'ill',
+ 'illegal',
+ 'illness',
+ 'image',
+ 'imitate',
+ 'immense',
+ 'immune',
+ 'impact',
+ 'impose',
+ 'improve',
+ 'impulse',
+ 'inch',
+ 'include',
+ 'income',
+ 'increase',
+ 'index',
+ 'indicate',
+ 'indoor',
+ 'industry',
+ 'infant',
+ 'inflict',
+ 'inform',
+ 'inhale',
+ 'inherit',
+ 'initial',
+ 'inject',
+ 'injury',
+ 'inmate',
+ 'inner',
+ 'innocent',
+ 'input',
+ 'inquiry',
+ 'insane',
+ 'insect',
+ 'inside',
+ 'inspire',
+ 'install',
+ 'intact',
+ 'interest',
+ 'into',
+ 'invest',
+ 'invite',
+ 'involve',
+ 'iron',
+ 'island',
+ 'isolate',
+ 'issue',
+ 'item',
+ 'ivory',
+ 'jacket',
+ 'jaguar',
+ 'jar',
+ 'jazz',
+ 'jealous',
+ 'jeans',
+ 'jelly',
+ 'jewel',
+ 'job',
+ 'join',
+ 'joke',
+ 'journey',
+ 'joy',
+ 'judge',
+ 'juice',
+ 'jump',
+ 'jungle',
+ 'junior',
+ 'junk',
+ 'just',
+ 'kangaroo',
+ 'keen',
+ 'keep',
+ 'ketchup',
+ 'key',
+ 'kick',
+ 'kid',
+ 'kidney',
+ 'kind',
+ 'kingdom',
+ 'kiss',
+ 'kit',
+ 'kitchen',
+ 'kite',
+ 'kitten',
+ 'kiwi',
+ 'knee',
+ 'knife',
+ 'knock',
+ 'know',
+ 'lab',
+ 'label',
+ 'labor',
+ 'ladder',
+ 'lady',
+ 'lake',
+ 'lamp',
+ 'language',
+ 'laptop',
+ 'large',
+ 'later',
+ 'latin',
+ 'laugh',
+ 'laundry',
+ 'lava',
+ 'law',
+ 'lawn',
+ 'lawsuit',
+ 'layer',
+ 'lazy',
+ 'leader',
+ 'leaf',
+ 'learn',
+ 'leave',
+ 'lecture',
+ 'left',
+ 'leg',
+ 'legal',
+ 'legend',
+ 'leisure',
+ 'lemon',
+ 'lend',
+ 'length',
+ 'lens',
+ 'leopard',
+ 'lesson',
+ 'letter',
+ 'level',
+ 'liar',
+ 'liberty',
+ 'library',
+ 'license',
+ 'life',
+ 'lift',
+ 'light',
+ 'like',
+ 'limb',
+ 'limit',
+ 'link',
+ 'lion',
+ 'liquid',
+ 'list',
+ 'little',
+ 'live',
+ 'lizard',
+ 'load',
+ 'loan',
+ 'lobster',
+ 'local',
+ 'lock',
+ 'logic',
+ 'lonely',
+ 'long',
+ 'loop',
+ 'lottery',
+ 'loud',
+ 'lounge',
+ 'love',
+ 'loyal',
+ 'lucky',
+ 'luggage',
+ 'lumber',
+ 'lunar',
+ 'lunch',
+ 'luxury',
+ 'lyrics',
+ 'machine',
+ 'mad',
+ 'magic',
+ 'magnet',
+ 'maid',
+ 'mail',
+ 'main',
+ 'major',
+ 'make',
+ 'mammal',
+ 'man',
+ 'manage',
+ 'mandate',
+ 'mango',
+ 'mansion',
+ 'manual',
+ 'maple',
+ 'marble',
+ 'march',
+ 'margin',
+ 'marine',
+ 'market',
+ 'marriage',
+ 'mask',
+ 'mass',
+ 'master',
+ 'match',
+ 'material',
+ 'math',
+ 'matrix',
+ 'matter',
+ 'maximum',
+ 'maze',
+ 'meadow',
+ 'mean',
+ 'measure',
+ 'meat',
+ 'mechanic',
+ 'medal',
+ 'media',
+ 'melody',
+ 'melt',
+ 'member',
+ 'memory',
+ 'mention',
+ 'menu',
+ 'mercy',
+ 'merge',
+ 'merit',
+ 'merry',
+ 'mesh',
+ 'message',
+ 'metal',
+ 'method',
+ 'middle',
+ 'midnight',
+ 'milk',
+ 'million',
+ 'mimic',
+ 'mind',
+ 'minimum',
+ 'minor',
+ 'minute',
+ 'miracle',
+ 'mirror',
+ 'misery',
+ 'miss',
+ 'mistake',
+ 'mix',
+ 'mixed',
+ 'mixture',
+ 'mobile',
+ 'model',
+ 'modify',
+ 'mom',
+ 'moment',
+ 'monitor',
+ 'monkey',
+ 'monster',
+ 'month',
+ 'moon',
+ 'moral',
+ 'more',
+ 'morning',
+ 'mosquito',
+ 'mother',
+ 'motion',
+ 'motor',
+ 'mountain',
+ 'mouse',
+ 'move',
+ 'movie',
+ 'much',
+ 'muffin',
+ 'mule',
+ 'multiply',
+ 'muscle',
+ 'museum',
+ 'mushroom',
+ 'music',
+ 'must',
+ 'mutual',
+ 'myself',
+ 'mystery',
+ 'myth',
+ 'naive',
+ 'name',
+ 'napkin',
+ 'narrow',
+ 'nasty',
+ 'nation',
+ 'nature',
+ 'near',
+ 'neck',
+ 'need',
+ 'negative',
+ 'neglect',
+ 'neither',
+ 'nephew',
+ 'nerve',
+ 'nest',
+ 'net',
+ 'network',
+ 'neutral',
+ 'never',
+ 'news',
+ 'next',
+ 'nice',
+ 'night',
+ 'noble',
+ 'noise',
+ 'nominee',
+ 'noodle',
+ 'normal',
+ 'north',
+ 'nose',
+ 'notable',
+ 'note',
+ 'nothing',
+ 'notice',
+ 'novel',
+ 'now',
+ 'nuclear',
+ 'number',
+ 'nurse',
+ 'nut',
+ 'oak',
+ 'obey',
+ 'object',
+ 'oblige',
+ 'obscure',
+ 'observe',
+ 'obtain',
+ 'obvious',
+ 'occur',
+ 'ocean',
+ 'october',
+ 'odor',
+ 'off',
+ 'offer',
+ 'office',
+ 'often',
+ 'oil',
+ 'okay',
+ 'old',
+ 'olive',
+ 'olympic',
+ 'omit',
+ 'once',
+ 'one',
+ 'onion',
+ 'online',
+ 'only',
+ 'open',
+ 'opera',
+ 'opinion',
+ 'oppose',
+ 'option',
+ 'orange',
+ 'orbit',
+ 'orchard',
+ 'order',
+ 'ordinary',
+ 'organ',
+ 'orient',
+ 'original',
+ 'orphan',
+ 'ostrich',
+ 'other',
+ 'outdoor',
+ 'outer',
+ 'output',
+ 'outside',
+ 'oval',
+ 'oven',
+ 'over',
+ 'own',
+ 'owner',
+ 'oxygen',
+ 'oyster',
+ 'ozone',
+ 'pact',
+ 'paddle',
+ 'page',
+ 'pair',
+ 'palace',
+ 'palm',
+ 'panda',
+ 'panel',
+ 'panic',
+ 'panther',
+ 'paper',
+ 'parade',
+ 'parent',
+ 'park',
+ 'parrot',
+ 'party',
+ 'pass',
+ 'patch',
+ 'path',
+ 'patient',
+ 'patrol',
+ 'pattern',
+ 'pause',
+ 'pave',
+ 'payment',
+ 'peace',
+ 'peanut',
+ 'pear',
+ 'peasant',
+ 'pelican',
+ 'pen',
+ 'penalty',
+ 'pencil',
+ 'people',
+ 'pepper',
+ 'perfect',
+ 'permit',
+ 'person',
+ 'pet',
+ 'phone',
+ 'photo',
+ 'phrase',
+ 'physical',
+ 'piano',
+ 'picnic',
+ 'picture',
+ 'piece',
+ 'pig',
+ 'pigeon',
+ 'pill',
+ 'pilot',
+ 'pink',
+ 'pioneer',
+ 'pipe',
+ 'pistol',
+ 'pitch',
+ 'pizza',
+ 'place',
+ 'planet',
+ 'plastic',
+ 'plate',
+ 'play',
+ 'please',
+ 'pledge',
+ 'pluck',
+ 'plug',
+ 'plunge',
+ 'poem',
+ 'poet',
+ 'point',
+ 'polar',
+ 'pole',
+ 'police',
+ 'pond',
+ 'pony',
+ 'pool',
+ 'popular',
+ 'portion',
+ 'position',
+ 'possible',
+ 'post',
+ 'potato',
+ 'pottery',
+ 'poverty',
+ 'powder',
+ 'power',
+ 'practice',
+ 'praise',
+ 'predict',
+ 'prefer',
+ 'prepare',
+ 'present',
+ 'pretty',
+ 'prevent',
+ 'price',
+ 'pride',
+ 'primary',
+ 'print',
+ 'priority',
+ 'prison',
+ 'private',
+ 'prize',
+ 'problem',
+ 'process',
+ 'produce',
+ 'profit',
+ 'program',
+ 'project',
+ 'promote',
+ 'proof',
+ 'property',
+ 'prosper',
+ 'protect',
+ 'proud',
+ 'provide',
+ 'public',
+ 'pudding',
+ 'pull',
+ 'pulp',
+ 'pulse',
+ 'pumpkin',
+ 'punch',
+ 'pupil',
+ 'puppy',
+ 'purchase',
+ 'purity',
+ 'purpose',
+ 'purse',
+ 'push',
+ 'put',
+ 'puzzle',
+ 'pyramid',
+ 'quality',
+ 'quantum',
+ 'quarter',
+ 'question',
+ 'quick',
+ 'quit',
+ 'quiz',
+ 'quote',
+ 'rabbit',
+ 'raccoon',
+ 'race',
+ 'rack',
+ 'radar',
+ 'radio',
+ 'rail',
+ 'rain',
+ 'raise',
+ 'rally',
+ 'ramp',
+ 'ranch',
+ 'random',
+ 'range',
+ 'rapid',
+ 'rare',
+ 'rate',
+ 'rather',
+ 'raven',
+ 'raw',
+ 'razor',
+ 'ready',
+ 'real',
+ 'reason',
+ 'rebel',
+ 'rebuild',
+ 'recall',
+ 'receive',
+ 'recipe',
+ 'record',
+ 'recycle',
+ 'reduce',
+ 'reflect',
+ 'reform',
+ 'refuse',
+ 'region',
+ 'regret',
+ 'regular',
+ 'reject',
+ 'relax',
+ 'release',
+ 'relief',
+ 'rely',
+ 'remain',
+ 'remember',
+ 'remind',
+ 'remove',
+ 'render',
+ 'renew',
+ 'rent',
+ 'reopen',
+ 'repair',
+ 'repeat',
+ 'replace',
+ 'report',
+ 'require',
+ 'rescue',
+ 'resemble',
+ 'resist',
+ 'resource',
+ 'response',
+ 'result',
+ 'retire',
+ 'retreat',
+ 'return',
+ 'reunion',
+ 'reveal',
+ 'review',
+ 'reward',
+ 'rhythm',
+ 'rib',
+ 'ribbon',
+ 'rice',
+ 'rich',
+ 'ride',
+ 'ridge',
+ 'rifle',
+ 'right',
+ 'rigid',
+ 'ring',
+ 'riot',
+ 'ripple',
+ 'risk',
+ 'ritual',
+ 'rival',
+ 'river',
+ 'road',
+ 'roast',
+ 'robot',
+ 'robust',
+ 'rocket',
+ 'romance',
+ 'roof',
+ 'rookie',
+ 'room',
+ 'rose',
+ 'rotate',
+ 'rough',
+ 'round',
+ 'route',
+ 'royal',
+ 'rubber',
+ 'rude',
+ 'rug',
+ 'rule',
+ 'run',
+ 'runway',
+ 'rural',
+ 'sad',
+ 'saddle',
+ 'sadness',
+ 'safe',
+ 'sail',
+ 'salad',
+ 'salmon',
+ 'salon',
+ 'salt',
+ 'salute',
+ 'same',
+ 'sample',
+ 'sand',
+ 'satisfy',
+ 'satoshi',
+ 'sauce',
+ 'sausage',
+ 'save',
+ 'say',
+ 'scale',
+ 'scan',
+ 'scare',
+ 'scatter',
+ 'scene',
+ 'scheme',
+ 'school',
+ 'science',
+ 'scissors',
+ 'scorpion',
+ 'scout',
+ 'scrap',
+ 'screen',
+ 'script',
+ 'scrub',
+ 'sea',
+ 'search',
+ 'season',
+ 'seat',
+ 'second',
+ 'secret',
+ 'section',
+ 'security',
+ 'seed',
+ 'seek',
+ 'segment',
+ 'select',
+ 'sell',
+ 'seminar',
+ 'senior',
+ 'sense',
+ 'sentence',
+ 'series',
+ 'service',
+ 'session',
+ 'settle',
+ 'setup',
+ 'seven',
+ 'shadow',
+ 'shaft',
+ 'shallow',
+ 'share',
+ 'shed',
+ 'shell',
+ 'sheriff',
+ 'shield',
+ 'shift',
+ 'shine',
+ 'ship',
+ 'shiver',
+ 'shock',
+ 'shoe',
+ 'shoot',
+ 'shop',
+ 'short',
+ 'shoulder',
+ 'shove',
+ 'shrimp',
+ 'shrug',
+ 'shuffle',
+ 'shy',
+ 'sibling',
+ 'sick',
+ 'side',
+ 'siege',
+ 'sight',
+ 'sign',
+ 'silent',
+ 'silk',
+ 'silly',
+ 'silver',
+ 'similar',
+ 'simple',
+ 'since',
+ 'sing',
+ 'siren',
+ 'sister',
+ 'situate',
+ 'six',
+ 'size',
+ 'skate',
+ 'sketch',
+ 'ski',
+ 'skill',
+ 'skin',
+ 'skirt',
+ 'skull',
+ 'slab',
+ 'slam',
+ 'sleep',
+ 'slender',
+ 'slice',
+ 'slide',
+ 'slight',
+ 'slim',
+ 'slogan',
+ 'slot',
+ 'slow',
+ 'slush',
+ 'small',
+ 'smart',
+ 'smile',
+ 'smoke',
+ 'smooth',
+ 'snack',
+ 'snake',
+ 'snap',
+ 'sniff',
+ 'snow',
+ 'soap',
+ 'soccer',
+ 'social',
+ 'sock',
+ 'soda',
+ 'soft',
+ 'solar',
+ 'soldier',
+ 'solid',
+ 'solution',
+ 'solve',
+ 'someone',
+ 'song',
+ 'soon',
+ 'sorry',
+ 'sort',
+ 'soul',
+ 'sound',
+ 'soup',
+ 'source',
+ 'south',
+ 'space',
+ 'spare',
+ 'spatial',
+ 'spawn',
+ 'speak',
+ 'special',
+ 'speed',
+ 'spell',
+ 'spend',
+ 'sphere',
+ 'spice',
+ 'spider',
+ 'spike',
+ 'spin',
+ 'spirit',
+ 'split',
+ 'spoil',
+ 'sponsor',
+ 'spoon',
+ 'sport',
+ 'spot',
+ 'spray',
+ 'spread',
+ 'spring',
+ 'spy',
+ 'square',
+ 'squeeze',
+ 'squirrel',
+ 'stable',
+ 'stadium',
+ 'staff',
+ 'stage',
+ 'stairs',
+ 'stamp',
+ 'stand',
+ 'start',
+ 'state',
+ 'stay',
+ 'steak',
+ 'steel',
+ 'stem',
+ 'step',
+ 'stereo',
+ 'stick',
+ 'still',
+ 'sting',
+ 'stock',
+ 'stomach',
+ 'stone',
+ 'stool',
+ 'story',
+ 'stove',
+ 'strategy',
+ 'street',
+ 'strike',
+ 'strong',
+ 'struggle',
+ 'student',
+ 'stuff',
+ 'stumble',
+ 'style',
+ 'subject',
+ 'submit',
+ 'subway',
+ 'success',
+ 'such',
+ 'sudden',
+ 'suffer',
+ 'sugar',
+ 'suggest',
+ 'suit',
+ 'summer',
+ 'sun',
+ 'sunny',
+ 'sunset',
+ 'super',
+ 'supply',
+ 'supreme',
+ 'sure',
+ 'surface',
+ 'surge',
+ 'surprise',
+ 'surround',
+ 'survey',
+ 'suspect',
+ 'sustain',
+ 'swallow',
+ 'swamp',
+ 'swap',
+ 'swarm',
+ 'swear',
+ 'sweet',
+ 'swift',
+ 'swim',
+ 'swing',
+ 'switch',
+ 'sword',
+ 'symbol',
+ 'symptom',
+ 'syrup',
+ 'system',
+ 'table',
+ 'tackle',
+ 'tag',
+ 'tail',
+ 'talent',
+ 'talk',
+ 'tank',
+ 'tape',
+ 'target',
+ 'task',
+ 'taste',
+ 'tattoo',
+ 'taxi',
+ 'teach',
+ 'team',
+ 'tell',
+ 'ten',
+ 'tenant',
+ 'tennis',
+ 'tent',
+ 'term',
+ 'test',
+ 'text',
+ 'thank',
+ 'that',
+ 'theme',
+ 'then',
+ 'theory',
+ 'there',
+ 'they',
+ 'thing',
+ 'this',
+ 'thought',
+ 'three',
+ 'thrive',
+ 'throw',
+ 'thumb',
+ 'thunder',
+ 'ticket',
+ 'tide',
+ 'tiger',
+ 'tilt',
+ 'timber',
+ 'time',
+ 'tiny',
+ 'tip',
+ 'tired',
+ 'tissue',
+ 'title',
+ 'toast',
+ 'tobacco',
+ 'today',
+ 'toddler',
+ 'toe',
+ 'together',
+ 'toilet',
+ 'token',
+ 'tomato',
+ 'tomorrow',
+ 'tone',
+ 'tongue',
+ 'tonight',
+ 'tool',
+ 'tooth',
+ 'top',
+ 'topic',
+ 'topple',
+ 'torch',
+ 'tornado',
+ 'tortoise',
+ 'toss',
+ 'total',
+ 'tourist',
+ 'toward',
+ 'tower',
+ 'town',
+ 'toy',
+ 'track',
+ 'trade',
+ 'traffic',
+ 'tragic',
+ 'train',
+ 'transfer',
+ 'trap',
+ 'trash',
+ 'travel',
+ 'tray',
+ 'treat',
+ 'tree',
+ 'trend',
+ 'trial',
+ 'tribe',
+ 'trick',
+ 'trigger',
+ 'trim',
+ 'trip',
+ 'trophy',
+ 'trouble',
+ 'truck',
+ 'true',
+ 'truly',
+ 'trumpet',
+ 'trust',
+ 'truth',
+ 'try',
+ 'tube',
+ 'tuition',
+ 'tumble',
+ 'tuna',
+ 'tunnel',
+ 'turkey',
+ 'turn',
+ 'turtle',
+ 'twelve',
+ 'twenty',
+ 'twice',
+ 'twin',
+ 'twist',
+ 'two',
+ 'type',
+ 'typical',
+ 'ugly',
+ 'umbrella',
+ 'unable',
+ 'unaware',
+ 'uncle',
+ 'uncover',
+ 'under',
+ 'undo',
+ 'unfair',
+ 'unfold',
+ 'unhappy',
+ 'uniform',
+ 'unique',
+ 'unit',
+ 'universe',
+ 'unknown',
+ 'unlock',
+ 'until',
+ 'unusual',
+ 'unveil',
+ 'update',
+ 'upgrade',
+ 'uphold',
+ 'upon',
+ 'upper',
+ 'upset',
+ 'urban',
+ 'urge',
+ 'usage',
+ 'use',
+ 'used',
+ 'useful',
+ 'useless',
+ 'usual',
+ 'utility',
+ 'vacant',
+ 'vacuum',
+ 'vague',
+ 'valid',
+ 'valley',
+ 'valve',
+ 'van',
+ 'vanish',
+ 'vapor',
+ 'various',
+ 'vast',
+ 'vault',
+ 'vehicle',
+ 'velvet',
+ 'vendor',
+ 'venture',
+ 'venue',
+ 'verb',
+ 'verify',
+ 'version',
+ 'very',
+ 'vessel',
+ 'veteran',
+ 'viable',
+ 'vibrant',
+ 'vicious',
+ 'victory',
+ 'video',
+ 'view',
+ 'village',
+ 'vintage',
+ 'violin',
+ 'virtual',
+ 'virus',
+ 'visa',
+ 'visit',
+ 'visual',
+ 'vital',
+ 'vivid',
+ 'vocal',
+ 'voice',
+ 'void',
+ 'volcano',
+ 'volume',
+ 'vote',
+ 'voyage',
+ 'wage',
+ 'wagon',
+ 'wait',
+ 'walk',
+ 'wall',
+ 'walnut',
+ 'want',
+ 'warfare',
+ 'warm',
+ 'warrior',
+ 'wash',
+ 'wasp',
+ 'waste',
+ 'water',
+ 'wave',
+ 'way',
+ 'wealth',
+ 'weapon',
+ 'wear',
+ 'weasel',
+ 'weather',
+ 'web',
+ 'wedding',
+ 'weekend',
+ 'weird',
+ 'welcome',
+ 'west',
+ 'wet',
+ 'whale',
+ 'what',
+ 'wheat',
+ 'wheel',
+ 'when',
+ 'where',
+ 'whip',
+ 'whisper',
+ 'wide',
+ 'width',
+ 'wife',
+ 'wild',
+ 'will',
+ 'win',
+ 'window',
+ 'wine',
+ 'wing',
+ 'wink',
+ 'winner',
+ 'winter',
+ 'wire',
+ 'wisdom',
+ 'wise',
+ 'wish',
+ 'witness',
+ 'wolf',
+ 'woman',
+ 'wonder',
+ 'wood',
+ 'wool',
+ 'word',
+ 'work',
+ 'world',
+ 'worry',
+ 'worth',
+ 'wrap',
+ 'wreck',
+ 'wrestle',
+ 'wrist',
+ 'write',
+ 'wrong',
+ 'yard',
+ 'year',
+ 'yellow',
+ 'you',
+ 'young',
+ 'youth',
+ 'zebra',
+ 'zero',
+ 'zone',
+ 'zoo',
+];
+
+const french = [
+ 'abaisser',
+ 'abandon',
+ 'abdiquer',
+ 'abeille',
+ 'abolir',
+ 'aborder',
+ 'aboutir',
+ 'aboyer',
+ 'abrasif',
+ 'abreuver',
+ 'abriter',
+ 'abroger',
+ 'abrupt',
+ 'absence',
+ 'absolu',
+ 'absurde',
+ 'abusif',
+ 'abyssal',
+ 'académie',
+ 'acajou',
+ 'acarien',
+ 'accabler',
+ 'accepter',
+ 'acclamer',
+ 'accolade',
+ 'accroche',
+ 'accuser',
+ 'acerbe',
+ 'achat',
+ 'acheter',
+ 'aciduler',
+ 'acier',
+ 'acompte',
+ 'acquérir',
+ 'acronyme',
+ 'acteur',
+ 'actif',
+ 'actuel',
+ 'adepte',
+ 'adéquat',
+ 'adhésif',
+ 'adjectif',
+ 'adjuger',
+ 'admettre',
+ 'admirer',
+ 'adopter',
+ 'adorer',
+ 'adoucir',
+ 'adresse',
+ 'adroit',
+ 'adulte',
+ 'adverbe',
+ 'aérer',
+ 'aéronef',
+ 'affaire',
+ 'affecter',
+ 'affiche',
+ 'affreux',
+ 'affubler',
+ 'agacer',
+ 'agencer',
+ 'agile',
+ 'agiter',
+ 'agrafer',
+ 'agréable',
+ 'agrume',
+ 'aider',
+ 'aiguille',
+ 'ailier',
+ 'aimable',
+ 'aisance',
+ 'ajouter',
+ 'ajuster',
+ 'alarmer',
+ 'alchimie',
+ 'alerte',
+ 'algèbre',
+ 'algue',
+ 'aliéner',
+ 'aliment',
+ 'alléger',
+ 'alliage',
+ 'allouer',
+ 'allumer',
+ 'alourdir',
+ 'alpaga',
+ 'altesse',
+ 'alvéole',
+ 'amateur',
+ 'ambigu',
+ 'ambre',
+ 'aménager',
+ 'amertume',
+ 'amidon',
+ 'amiral',
+ 'amorcer',
+ 'amour',
+ 'amovible',
+ 'amphibie',
+ 'ampleur',
+ 'amusant',
+ 'analyse',
+ 'anaphore',
+ 'anarchie',
+ 'anatomie',
+ 'ancien',
+ 'anéantir',
+ 'angle',
+ 'angoisse',
+ 'anguleux',
+ 'animal',
+ 'annexer',
+ 'annonce',
+ 'annuel',
+ 'anodin',
+ 'anomalie',
+ 'anonyme',
+ 'anormal',
+ 'antenne',
+ 'antidote',
+ 'anxieux',
+ 'apaiser',
+ 'apéritif',
+ 'aplanir',
+ 'apologie',
+ 'appareil',
+ 'appeler',
+ 'apporter',
+ 'appuyer',
+ 'aquarium',
+ 'aqueduc',
+ 'arbitre',
+ 'arbuste',
+ 'ardeur',
+ 'ardoise',
+ 'argent',
+ 'arlequin',
+ 'armature',
+ 'armement',
+ 'armoire',
+ 'armure',
+ 'arpenter',
+ 'arracher',
+ 'arriver',
+ 'arroser',
+ 'arsenic',
+ 'artériel',
+ 'article',
+ 'aspect',
+ 'asphalte',
+ 'aspirer',
+ 'assaut',
+ 'asservir',
+ 'assiette',
+ 'associer',
+ 'assurer',
+ 'asticot',
+ 'astre',
+ 'astuce',
+ 'atelier',
+ 'atome',
+ 'atrium',
+ 'atroce',
+ 'attaque',
+ 'attentif',
+ 'attirer',
+ 'attraper',
+ 'aubaine',
+ 'auberge',
+ 'audace',
+ 'audible',
+ 'augurer',
+ 'aurore',
+ 'automne',
+ 'autruche',
+ 'avaler',
+ 'avancer',
+ 'avarice',
+ 'avenir',
+ 'averse',
+ 'aveugle',
+ 'aviateur',
+ 'avide',
+ 'avion',
+ 'aviser',
+ 'avoine',
+ 'avouer',
+ 'avril',
+ 'axial',
+ 'axiome',
+ 'badge',
+ 'bafouer',
+ 'bagage',
+ 'baguette',
+ 'baignade',
+ 'balancer',
+ 'balcon',
+ 'baleine',
+ 'balisage',
+ 'bambin',
+ 'bancaire',
+ 'bandage',
+ 'banlieue',
+ 'bannière',
+ 'banquier',
+ 'barbier',
+ 'baril',
+ 'baron',
+ 'barque',
+ 'barrage',
+ 'bassin',
+ 'bastion',
+ 'bataille',
+ 'bateau',
+ 'batterie',
+ 'baudrier',
+ 'bavarder',
+ 'belette',
+ 'bélier',
+ 'belote',
+ 'bénéfice',
+ 'berceau',
+ 'berger',
+ 'berline',
+ 'bermuda',
+ 'besace',
+ 'besogne',
+ 'bétail',
+ 'beurre',
+ 'biberon',
+ 'bicycle',
+ 'bidule',
+ 'bijou',
+ 'bilan',
+ 'bilingue',
+ 'billard',
+ 'binaire',
+ 'biologie',
+ 'biopsie',
+ 'biotype',
+ 'biscuit',
+ 'bison',
+ 'bistouri',
+ 'bitume',
+ 'bizarre',
+ 'blafard',
+ 'blague',
+ 'blanchir',
+ 'blessant',
+ 'blinder',
+ 'blond',
+ 'bloquer',
+ 'blouson',
+ 'bobard',
+ 'bobine',
+ 'boire',
+ 'boiser',
+ 'bolide',
+ 'bonbon',
+ 'bondir',
+ 'bonheur',
+ 'bonifier',
+ 'bonus',
+ 'bordure',
+ 'borne',
+ 'botte',
+ 'boucle',
+ 'boueux',
+ 'bougie',
+ 'boulon',
+ 'bouquin',
+ 'bourse',
+ 'boussole',
+ 'boutique',
+ 'boxeur',
+ 'branche',
+ 'brasier',
+ 'brave',
+ 'brebis',
+ 'brèche',
+ 'breuvage',
+ 'bricoler',
+ 'brigade',
+ 'brillant',
+ 'brioche',
+ 'brique',
+ 'brochure',
+ 'broder',
+ 'bronzer',
+ 'brousse',
+ 'broyeur',
+ 'brume',
+ 'brusque',
+ 'brutal',
+ 'bruyant',
+ 'buffle',
+ 'buisson',
+ 'bulletin',
+ 'bureau',
+ 'burin',
+ 'bustier',
+ 'butiner',
+ 'butoir',
+ 'buvable',
+ 'buvette',
+ 'cabanon',
+ 'cabine',
+ 'cachette',
+ 'cadeau',
+ 'cadre',
+ 'caféine',
+ 'caillou',
+ 'caisson',
+ 'calculer',
+ 'calepin',
+ 'calibre',
+ 'calmer',
+ 'calomnie',
+ 'calvaire',
+ 'camarade',
+ 'caméra',
+ 'camion',
+ 'campagne',
+ 'canal',
+ 'caneton',
+ 'canon',
+ 'cantine',
+ 'canular',
+ 'capable',
+ 'caporal',
+ 'caprice',
+ 'capsule',
+ 'capter',
+ 'capuche',
+ 'carabine',
+ 'carbone',
+ 'caresser',
+ 'caribou',
+ 'carnage',
+ 'carotte',
+ 'carreau',
+ 'carton',
+ 'cascade',
+ 'casier',
+ 'casque',
+ 'cassure',
+ 'causer',
+ 'caution',
+ 'cavalier',
+ 'caverne',
+ 'caviar',
+ 'cédille',
+ 'ceinture',
+ 'céleste',
+ 'cellule',
+ 'cendrier',
+ 'censurer',
+ 'central',
+ 'cercle',
+ 'cérébral',
+ 'cerise',
+ 'cerner',
+ 'cerveau',
+ 'cesser',
+ 'chagrin',
+ 'chaise',
+ 'chaleur',
+ 'chambre',
+ 'chance',
+ 'chapitre',
+ 'charbon',
+ 'chasseur',
+ 'chaton',
+ 'chausson',
+ 'chavirer',
+ 'chemise',
+ 'chenille',
+ 'chéquier',
+ 'chercher',
+ 'cheval',
+ 'chien',
+ 'chiffre',
+ 'chignon',
+ 'chimère',
+ 'chiot',
+ 'chlorure',
+ 'chocolat',
+ 'choisir',
+ 'chose',
+ 'chouette',
+ 'chrome',
+ 'chute',
+ 'cigare',
+ 'cigogne',
+ 'cimenter',
+ 'cinéma',
+ 'cintrer',
+ 'circuler',
+ 'cirer',
+ 'cirque',
+ 'citerne',
+ 'citoyen',
+ 'citron',
+ 'civil',
+ 'clairon',
+ 'clameur',
+ 'claquer',
+ 'classe',
+ 'clavier',
+ 'client',
+ 'cligner',
+ 'climat',
+ 'clivage',
+ 'cloche',
+ 'clonage',
+ 'cloporte',
+ 'cobalt',
+ 'cobra',
+ 'cocasse',
+ 'cocotier',
+ 'coder',
+ 'codifier',
+ 'coffre',
+ 'cogner',
+ 'cohésion',
+ 'coiffer',
+ 'coincer',
+ 'colère',
+ 'colibri',
+ 'colline',
+ 'colmater',
+ 'colonel',
+ 'combat',
+ 'comédie',
+ 'commande',
+ 'compact',
+ 'concert',
+ 'conduire',
+ 'confier',
+ 'congeler',
+ 'connoter',
+ 'consonne',
+ 'contact',
+ 'convexe',
+ 'copain',
+ 'copie',
+ 'corail',
+ 'corbeau',
+ 'cordage',
+ 'corniche',
+ 'corpus',
+ 'correct',
+ 'cortège',
+ 'cosmique',
+ 'costume',
+ 'coton',
+ 'coude',
+ 'coupure',
+ 'courage',
+ 'couteau',
+ 'couvrir',
+ 'coyote',
+ 'crabe',
+ 'crainte',
+ 'cravate',
+ 'crayon',
+ 'créature',
+ 'créditer',
+ 'crémeux',
+ 'creuser',
+ 'crevette',
+ 'cribler',
+ 'crier',
+ 'cristal',
+ 'critère',
+ 'croire',
+ 'croquer',
+ 'crotale',
+ 'crucial',
+ 'cruel',
+ 'crypter',
+ 'cubique',
+ 'cueillir',
+ 'cuillère',
+ 'cuisine',
+ 'cuivre',
+ 'culminer',
+ 'cultiver',
+ 'cumuler',
+ 'cupide',
+ 'curatif',
+ 'curseur',
+ 'cyanure',
+ 'cycle',
+ 'cylindre',
+ 'cynique',
+ 'daigner',
+ 'damier',
+ 'danger',
+ 'danseur',
+ 'dauphin',
+ 'débattre',
+ 'débiter',
+ 'déborder',
+ 'débrider',
+ 'débutant',
+ 'décaler',
+ 'décembre',
+ 'déchirer',
+ 'décider',
+ 'déclarer',
+ 'décorer',
+ 'décrire',
+ 'décupler',
+ 'dédale',
+ 'déductif',
+ 'déesse',
+ 'défensif',
+ 'défiler',
+ 'défrayer',
+ 'dégager',
+ 'dégivrer',
+ 'déglutir',
+ 'dégrafer',
+ 'déjeuner',
+ 'délice',
+ 'déloger',
+ 'demander',
+ 'demeurer',
+ 'démolir',
+ 'dénicher',
+ 'dénouer',
+ 'dentelle',
+ 'dénuder',
+ 'départ',
+ 'dépenser',
+ 'déphaser',
+ 'déplacer',
+ 'déposer',
+ 'déranger',
+ 'dérober',
+ 'désastre',
+ 'descente',
+ 'désert',
+ 'désigner',
+ 'désobéir',
+ 'dessiner',
+ 'destrier',
+ 'détacher',
+ 'détester',
+ 'détourer',
+ 'détresse',
+ 'devancer',
+ 'devenir',
+ 'deviner',
+ 'devoir',
+ 'diable',
+ 'dialogue',
+ 'diamant',
+ 'dicter',
+ 'différer',
+ 'digérer',
+ 'digital',
+ 'digne',
+ 'diluer',
+ 'dimanche',
+ 'diminuer',
+ 'dioxyde',
+ 'directif',
+ 'diriger',
+ 'discuter',
+ 'disposer',
+ 'dissiper',
+ 'distance',
+ 'divertir',
+ 'diviser',
+ 'docile',
+ 'docteur',
+ 'dogme',
+ 'doigt',
+ 'domaine',
+ 'domicile',
+ 'dompter',
+ 'donateur',
+ 'donjon',
+ 'donner',
+ 'dopamine',
+ 'dortoir',
+ 'dorure',
+ 'dosage',
+ 'doseur',
+ 'dossier',
+ 'dotation',
+ 'douanier',
+ 'double',
+ 'douceur',
+ 'douter',
+ 'doyen',
+ 'dragon',
+ 'draper',
+ 'dresser',
+ 'dribbler',
+ 'droiture',
+ 'duperie',
+ 'duplexe',
+ 'durable',
+ 'durcir',
+ 'dynastie',
+ 'éblouir',
+ 'écarter',
+ 'écharpe',
+ 'échelle',
+ 'éclairer',
+ 'éclipse',
+ 'éclore',
+ 'écluse',
+ 'école',
+ 'économie',
+ 'écorce',
+ 'écouter',
+ 'écraser',
+ 'écrémer',
+ 'écrivain',
+ 'écrou',
+ 'écume',
+ 'écureuil',
+ 'édifier',
+ 'éduquer',
+ 'effacer',
+ 'effectif',
+ 'effigie',
+ 'effort',
+ 'effrayer',
+ 'effusion',
+ 'égaliser',
+ 'égarer',
+ 'éjecter',
+ 'élaborer',
+ 'élargir',
+ 'électron',
+ 'élégant',
+ 'éléphant',
+ 'élève',
+ 'éligible',
+ 'élitisme',
+ 'éloge',
+ 'élucider',
+ 'éluder',
+ 'emballer',
+ 'embellir',
+ 'embryon',
+ 'émeraude',
+ 'émission',
+ 'emmener',
+ 'émotion',
+ 'émouvoir',
+ 'empereur',
+ 'employer',
+ 'emporter',
+ 'emprise',
+ 'émulsion',
+ 'encadrer',
+ 'enchère',
+ 'enclave',
+ 'encoche',
+ 'endiguer',
+ 'endosser',
+ 'endroit',
+ 'enduire',
+ 'énergie',
+ 'enfance',
+ 'enfermer',
+ 'enfouir',
+ 'engager',
+ 'engin',
+ 'englober',
+ 'énigme',
+ 'enjamber',
+ 'enjeu',
+ 'enlever',
+ 'ennemi',
+ 'ennuyeux',
+ 'enrichir',
+ 'enrobage',
+ 'enseigne',
+ 'entasser',
+ 'entendre',
+ 'entier',
+ 'entourer',
+ 'entraver',
+ 'énumérer',
+ 'envahir',
+ 'enviable',
+ 'envoyer',
+ 'enzyme',
+ 'éolien',
+ 'épaissir',
+ 'épargne',
+ 'épatant',
+ 'épaule',
+ 'épicerie',
+ 'épidémie',
+ 'épier',
+ 'épilogue',
+ 'épine',
+ 'épisode',
+ 'épitaphe',
+ 'époque',
+ 'épreuve',
+ 'éprouver',
+ 'épuisant',
+ 'équerre',
+ 'équipe',
+ 'ériger',
+ 'érosion',
+ 'erreur',
+ 'éruption',
+ 'escalier',
+ 'espadon',
+ 'espèce',
+ 'espiègle',
+ 'espoir',
+ 'esprit',
+ 'esquiver',
+ 'essayer',
+ 'essence',
+ 'essieu',
+ 'essorer',
+ 'estime',
+ 'estomac',
+ 'estrade',
+ 'étagère',
+ 'étaler',
+ 'étanche',
+ 'étatique',
+ 'éteindre',
+ 'étendoir',
+ 'éternel',
+ 'éthanol',
+ 'éthique',
+ 'ethnie',
+ 'étirer',
+ 'étoffer',
+ 'étoile',
+ 'étonnant',
+ 'étourdir',
+ 'étrange',
+ 'étroit',
+ 'étude',
+ 'euphorie',
+ 'évaluer',
+ 'évasion',
+ 'éventail',
+ 'évidence',
+ 'éviter',
+ 'évolutif',
+ 'évoquer',
+ 'exact',
+ 'exagérer',
+ 'exaucer',
+ 'exceller',
+ 'excitant',
+ 'exclusif',
+ 'excuse',
+ 'exécuter',
+ 'exemple',
+ 'exercer',
+ 'exhaler',
+ 'exhorter',
+ 'exigence',
+ 'exiler',
+ 'exister',
+ 'exotique',
+ 'expédier',
+ 'explorer',
+ 'exposer',
+ 'exprimer',
+ 'exquis',
+ 'extensif',
+ 'extraire',
+ 'exulter',
+ 'fable',
+ 'fabuleux',
+ 'facette',
+ 'facile',
+ 'facture',
+ 'faiblir',
+ 'falaise',
+ 'fameux',
+ 'famille',
+ 'farceur',
+ 'farfelu',
+ 'farine',
+ 'farouche',
+ 'fasciner',
+ 'fatal',
+ 'fatigue',
+ 'faucon',
+ 'fautif',
+ 'faveur',
+ 'favori',
+ 'fébrile',
+ 'féconder',
+ 'fédérer',
+ 'félin',
+ 'femme',
+ 'fémur',
+ 'fendoir',
+ 'féodal',
+ 'fermer',
+ 'féroce',
+ 'ferveur',
+ 'festival',
+ 'feuille',
+ 'feutre',
+ 'février',
+ 'fiasco',
+ 'ficeler',
+ 'fictif',
+ 'fidèle',
+ 'figure',
+ 'filature',
+ 'filetage',
+ 'filière',
+ 'filleul',
+ 'filmer',
+ 'filou',
+ 'filtrer',
+ 'financer',
+ 'finir',
+ 'fiole',
+ 'firme',
+ 'fissure',
+ 'fixer',
+ 'flairer',
+ 'flamme',
+ 'flasque',
+ 'flatteur',
+ 'fléau',
+ 'flèche',
+ 'fleur',
+ 'flexion',
+ 'flocon',
+ 'flore',
+ 'fluctuer',
+ 'fluide',
+ 'fluvial',
+ 'folie',
+ 'fonderie',
+ 'fongible',
+ 'fontaine',
+ 'forcer',
+ 'forgeron',
+ 'formuler',
+ 'fortune',
+ 'fossile',
+ 'foudre',
+ 'fougère',
+ 'fouiller',
+ 'foulure',
+ 'fourmi',
+ 'fragile',
+ 'fraise',
+ 'franchir',
+ 'frapper',
+ 'frayeur',
+ 'frégate',
+ 'freiner',
+ 'frelon',
+ 'frémir',
+ 'frénésie',
+ 'frère',
+ 'friable',
+ 'friction',
+ 'frisson',
+ 'frivole',
+ 'froid',
+ 'fromage',
+ 'frontal',
+ 'frotter',
+ 'fruit',
+ 'fugitif',
+ 'fuite',
+ 'fureur',
+ 'furieux',
+ 'furtif',
+ 'fusion',
+ 'futur',
+ 'gagner',
+ 'galaxie',
+ 'galerie',
+ 'gambader',
+ 'garantir',
+ 'gardien',
+ 'garnir',
+ 'garrigue',
+ 'gazelle',
+ 'gazon',
+ 'géant',
+ 'gélatine',
+ 'gélule',
+ 'gendarme',
+ 'général',
+ 'génie',
+ 'genou',
+ 'gentil',
+ 'géologie',
+ 'géomètre',
+ 'géranium',
+ 'germe',
+ 'gestuel',
+ 'geyser',
+ 'gibier',
+ 'gicler',
+ 'girafe',
+ 'givre',
+ 'glace',
+ 'glaive',
+ 'glisser',
+ 'globe',
+ 'gloire',
+ 'glorieux',
+ 'golfeur',
+ 'gomme',
+ 'gonfler',
+ 'gorge',
+ 'gorille',
+ 'goudron',
+ 'gouffre',
+ 'goulot',
+ 'goupille',
+ 'gourmand',
+ 'goutte',
+ 'graduel',
+ 'graffiti',
+ 'graine',
+ 'grand',
+ 'grappin',
+ 'gratuit',
+ 'gravir',
+ 'grenat',
+ 'griffure',
+ 'griller',
+ 'grimper',
+ 'grogner',
+ 'gronder',
+ 'grotte',
+ 'groupe',
+ 'gruger',
+ 'grutier',
+ 'gruyère',
+ 'guépard',
+ 'guerrier',
+ 'guide',
+ 'guimauve',
+ 'guitare',
+ 'gustatif',
+ 'gymnaste',
+ 'gyrostat',
+ 'habitude',
+ 'hachoir',
+ 'halte',
+ 'hameau',
+ 'hangar',
+ 'hanneton',
+ 'haricot',
+ 'harmonie',
+ 'harpon',
+ 'hasard',
+ 'hélium',
+ 'hématome',
+ 'herbe',
+ 'hérisson',
+ 'hermine',
+ 'héron',
+ 'hésiter',
+ 'heureux',
+ 'hiberner',
+ 'hibou',
+ 'hilarant',
+ 'histoire',
+ 'hiver',
+ 'homard',
+ 'hommage',
+ 'homogène',
+ 'honneur',
+ 'honorer',
+ 'honteux',
+ 'horde',
+ 'horizon',
+ 'horloge',
+ 'hormone',
+ 'horrible',
+ 'houleux',
+ 'housse',
+ 'hublot',
+ 'huileux',
+ 'humain',
+ 'humble',
+ 'humide',
+ 'humour',
+ 'hurler',
+ 'hydromel',
+ 'hygiène',
+ 'hymne',
+ 'hypnose',
+ 'idylle',
+ 'ignorer',
+ 'iguane',
+ 'illicite',
+ 'illusion',
+ 'image',
+ 'imbiber',
+ 'imiter',
+ 'immense',
+ 'immobile',
+ 'immuable',
+ 'impact',
+ 'impérial',
+ 'implorer',
+ 'imposer',
+ 'imprimer',
+ 'imputer',
+ 'incarner',
+ 'incendie',
+ 'incident',
+ 'incliner',
+ 'incolore',
+ 'indexer',
+ 'indice',
+ 'inductif',
+ 'inédit',
+ 'ineptie',
+ 'inexact',
+ 'infini',
+ 'infliger',
+ 'informer',
+ 'infusion',
+ 'ingérer',
+ 'inhaler',
+ 'inhiber',
+ 'injecter',
+ 'injure',
+ 'innocent',
+ 'inoculer',
+ 'inonder',
+ 'inscrire',
+ 'insecte',
+ 'insigne',
+ 'insolite',
+ 'inspirer',
+ 'instinct',
+ 'insulter',
+ 'intact',
+ 'intense',
+ 'intime',
+ 'intrigue',
+ 'intuitif',
+ 'inutile',
+ 'invasion',
+ 'inventer',
+ 'inviter',
+ 'invoquer',
+ 'ironique',
+ 'irradier',
+ 'irréel',
+ 'irriter',
+ 'isoler',
+ 'ivoire',
+ 'ivresse',
+ 'jaguar',
+ 'jaillir',
+ 'jambe',
+ 'janvier',
+ 'jardin',
+ 'jauger',
+ 'jaune',
+ 'javelot',
+ 'jetable',
+ 'jeton',
+ 'jeudi',
+ 'jeunesse',
+ 'joindre',
+ 'joncher',
+ 'jongler',
+ 'joueur',
+ 'jouissif',
+ 'journal',
+ 'jovial',
+ 'joyau',
+ 'joyeux',
+ 'jubiler',
+ 'jugement',
+ 'junior',
+ 'jupon',
+ 'juriste',
+ 'justice',
+ 'juteux',
+ 'juvénile',
+ 'kayak',
+ 'kimono',
+ 'kiosque',
+ 'label',
+ 'labial',
+ 'labourer',
+ 'lacérer',
+ 'lactose',
+ 'lagune',
+ 'laine',
+ 'laisser',
+ 'laitier',
+ 'lambeau',
+ 'lamelle',
+ 'lampe',
+ 'lanceur',
+ 'langage',
+ 'lanterne',
+ 'lapin',
+ 'largeur',
+ 'larme',
+ 'laurier',
+ 'lavabo',
+ 'lavoir',
+ 'lecture',
+ 'légal',
+ 'léger',
+ 'légume',
+ 'lessive',
+ 'lettre',
+ 'levier',
+ 'lexique',
+ 'lézard',
+ 'liasse',
+ 'libérer',
+ 'libre',
+ 'licence',
+ 'licorne',
+ 'liège',
+ 'lièvre',
+ 'ligature',
+ 'ligoter',
+ 'ligue',
+ 'limer',
+ 'limite',
+ 'limonade',
+ 'limpide',
+ 'linéaire',
+ 'lingot',
+ 'lionceau',
+ 'liquide',
+ 'lisière',
+ 'lister',
+ 'lithium',
+ 'litige',
+ 'littoral',
+ 'livreur',
+ 'logique',
+ 'lointain',
+ 'loisir',
+ 'lombric',
+ 'loterie',
+ 'louer',
+ 'lourd',
+ 'loutre',
+ 'louve',
+ 'loyal',
+ 'lubie',
+ 'lucide',
+ 'lucratif',
+ 'lueur',
+ 'lugubre',
+ 'luisant',
+ 'lumière',
+ 'lunaire',
+ 'lundi',
+ 'luron',
+ 'lutter',
+ 'luxueux',
+ 'machine',
+ 'magasin',
+ 'magenta',
+ 'magique',
+ 'maigre',
+ 'maillon',
+ 'maintien',
+ 'mairie',
+ 'maison',
+ 'majorer',
+ 'malaxer',
+ 'maléfice',
+ 'malheur',
+ 'malice',
+ 'mallette',
+ 'mammouth',
+ 'mandater',
+ 'maniable',
+ 'manquant',
+ 'manteau',
+ 'manuel',
+ 'marathon',
+ 'marbre',
+ 'marchand',
+ 'mardi',
+ 'maritime',
+ 'marqueur',
+ 'marron',
+ 'marteler',
+ 'mascotte',
+ 'massif',
+ 'matériel',
+ 'matière',
+ 'matraque',
+ 'maudire',
+ 'maussade',
+ 'mauve',
+ 'maximal',
+ 'méchant',
+ 'méconnu',
+ 'médaille',
+ 'médecin',
+ 'méditer',
+ 'méduse',
+ 'meilleur',
+ 'mélange',
+ 'mélodie',
+ 'membre',
+ 'mémoire',
+ 'menacer',
+ 'mener',
+ 'menhir',
+ 'mensonge',
+ 'mentor',
+ 'mercredi',
+ 'mérite',
+ 'merle',
+ 'messager',
+ 'mesure',
+ 'métal',
+ 'météore',
+ 'méthode',
+ 'métier',
+ 'meuble',
+ 'miauler',
+ 'microbe',
+ 'miette',
+ 'mignon',
+ 'migrer',
+ 'milieu',
+ 'million',
+ 'mimique',
+ 'mince',
+ 'minéral',
+ 'minimal',
+ 'minorer',
+ 'minute',
+ 'miracle',
+ 'miroiter',
+ 'missile',
+ 'mixte',
+ 'mobile',
+ 'moderne',
+ 'moelleux',
+ 'mondial',
+ 'moniteur',
+ 'monnaie',
+ 'monotone',
+ 'monstre',
+ 'montagne',
+ 'monument',
+ 'moqueur',
+ 'morceau',
+ 'morsure',
+ 'mortier',
+ 'moteur',
+ 'motif',
+ 'mouche',
+ 'moufle',
+ 'moulin',
+ 'mousson',
+ 'mouton',
+ 'mouvant',
+ 'multiple',
+ 'munition',
+ 'muraille',
+ 'murène',
+ 'murmure',
+ 'muscle',
+ 'muséum',
+ 'musicien',
+ 'mutation',
+ 'muter',
+ 'mutuel',
+ 'myriade',
+ 'myrtille',
+ 'mystère',
+ 'mythique',
+ 'nageur',
+ 'nappe',
+ 'narquois',
+ 'narrer',
+ 'natation',
+ 'nation',
+ 'nature',
+ 'naufrage',
+ 'nautique',
+ 'navire',
+ 'nébuleux',
+ 'nectar',
+ 'néfaste',
+ 'négation',
+ 'négliger',
+ 'négocier',
+ 'neige',
+ 'nerveux',
+ 'nettoyer',
+ 'neurone',
+ 'neutron',
+ 'neveu',
+ 'niche',
+ 'nickel',
+ 'nitrate',
+ 'niveau',
+ 'noble',
+ 'nocif',
+ 'nocturne',
+ 'noirceur',
+ 'noisette',
+ 'nomade',
+ 'nombreux',
+ 'nommer',
+ 'normatif',
+ 'notable',
+ 'notifier',
+ 'notoire',
+ 'nourrir',
+ 'nouveau',
+ 'novateur',
+ 'novembre',
+ 'novice',
+ 'nuage',
+ 'nuancer',
+ 'nuire',
+ 'nuisible',
+ 'numéro',
+ 'nuptial',
+ 'nuque',
+ 'nutritif',
+ 'obéir',
+ 'objectif',
+ 'obliger',
+ 'obscur',
+ 'observer',
+ 'obstacle',
+ 'obtenir',
+ 'obturer',
+ 'occasion',
+ 'occuper',
+ 'océan',
+ 'octobre',
+ 'octroyer',
+ 'octupler',
+ 'oculaire',
+ 'odeur',
+ 'odorant',
+ 'offenser',
+ 'officier',
+ 'offrir',
+ 'ogive',
+ 'oiseau',
+ 'oisillon',
+ 'olfactif',
+ 'olivier',
+ 'ombrage',
+ 'omettre',
+ 'onctueux',
+ 'onduler',
+ 'onéreux',
+ 'onirique',
+ 'opale',
+ 'opaque',
+ 'opérer',
+ 'opinion',
+ 'opportun',
+ 'opprimer',
+ 'opter',
+ 'optique',
+ 'orageux',
+ 'orange',
+ 'orbite',
+ 'ordonner',
+ 'oreille',
+ 'organe',
+ 'orgueil',
+ 'orifice',
+ 'ornement',
+ 'orque',
+ 'ortie',
+ 'osciller',
+ 'osmose',
+ 'ossature',
+ 'otarie',
+ 'ouragan',
+ 'ourson',
+ 'outil',
+ 'outrager',
+ 'ouvrage',
+ 'ovation',
+ 'oxyde',
+ 'oxygène',
+ 'ozone',
+ 'paisible',
+ 'palace',
+ 'palmarès',
+ 'palourde',
+ 'palper',
+ 'panache',
+ 'panda',
+ 'pangolin',
+ 'paniquer',
+ 'panneau',
+ 'panorama',
+ 'pantalon',
+ 'papaye',
+ 'papier',
+ 'papoter',
+ 'papyrus',
+ 'paradoxe',
+ 'parcelle',
+ 'paresse',
+ 'parfumer',
+ 'parler',
+ 'parole',
+ 'parrain',
+ 'parsemer',
+ 'partager',
+ 'parure',
+ 'parvenir',
+ 'passion',
+ 'pastèque',
+ 'paternel',
+ 'patience',
+ 'patron',
+ 'pavillon',
+ 'pavoiser',
+ 'payer',
+ 'paysage',
+ 'peigne',
+ 'peintre',
+ 'pelage',
+ 'pélican',
+ 'pelle',
+ 'pelouse',
+ 'peluche',
+ 'pendule',
+ 'pénétrer',
+ 'pénible',
+ 'pensif',
+ 'pénurie',
+ 'pépite',
+ 'péplum',
+ 'perdrix',
+ 'perforer',
+ 'période',
+ 'permuter',
+ 'perplexe',
+ 'persil',
+ 'perte',
+ 'peser',
+ 'pétale',
+ 'petit',
+ 'pétrir',
+ 'peuple',
+ 'pharaon',
+ 'phobie',
+ 'phoque',
+ 'photon',
+ 'phrase',
+ 'physique',
+ 'piano',
+ 'pictural',
+ 'pièce',
+ 'pierre',
+ 'pieuvre',
+ 'pilote',
+ 'pinceau',
+ 'pipette',
+ 'piquer',
+ 'pirogue',
+ 'piscine',
+ 'piston',
+ 'pivoter',
+ 'pixel',
+ 'pizza',
+ 'placard',
+ 'plafond',
+ 'plaisir',
+ 'planer',
+ 'plaque',
+ 'plastron',
+ 'plateau',
+ 'pleurer',
+ 'plexus',
+ 'pliage',
+ 'plomb',
+ 'plonger',
+ 'pluie',
+ 'plumage',
+ 'pochette',
+ 'poésie',
+ 'poète',
+ 'pointe',
+ 'poirier',
+ 'poisson',
+ 'poivre',
+ 'polaire',
+ 'policier',
+ 'pollen',
+ 'polygone',
+ 'pommade',
+ 'pompier',
+ 'ponctuel',
+ 'pondérer',
+ 'poney',
+ 'portique',
+ 'position',
+ 'posséder',
+ 'posture',
+ 'potager',
+ 'poteau',
+ 'potion',
+ 'pouce',
+ 'poulain',
+ 'poumon',
+ 'pourpre',
+ 'poussin',
+ 'pouvoir',
+ 'prairie',
+ 'pratique',
+ 'précieux',
+ 'prédire',
+ 'préfixe',
+ 'prélude',
+ 'prénom',
+ 'présence',
+ 'prétexte',
+ 'prévoir',
+ 'primitif',
+ 'prince',
+ 'prison',
+ 'priver',
+ 'problème',
+ 'procéder',
+ 'prodige',
+ 'profond',
+ 'progrès',
+ 'proie',
+ 'projeter',
+ 'prologue',
+ 'promener',
+ 'propre',
+ 'prospère',
+ 'protéger',
+ 'prouesse',
+ 'proverbe',
+ 'prudence',
+ 'pruneau',
+ 'psychose',
+ 'public',
+ 'puceron',
+ 'puiser',
+ 'pulpe',
+ 'pulsar',
+ 'punaise',
+ 'punitif',
+ 'pupitre',
+ 'purifier',
+ 'puzzle',
+ 'pyramide',
+ 'quasar',
+ 'querelle',
+ 'question',
+ 'quiétude',
+ 'quitter',
+ 'quotient',
+ 'racine',
+ 'raconter',
+ 'radieux',
+ 'ragondin',
+ 'raideur',
+ 'raisin',
+ 'ralentir',
+ 'rallonge',
+ 'ramasser',
+ 'rapide',
+ 'rasage',
+ 'ratisser',
+ 'ravager',
+ 'ravin',
+ 'rayonner',
+ 'réactif',
+ 'réagir',
+ 'réaliser',
+ 'réanimer',
+ 'recevoir',
+ 'réciter',
+ 'réclamer',
+ 'récolter',
+ 'recruter',
+ 'reculer',
+ 'recycler',
+ 'rédiger',
+ 'redouter',
+ 'refaire',
+ 'réflexe',
+ 'réformer',
+ 'refrain',
+ 'refuge',
+ 'régalien',
+ 'région',
+ 'réglage',
+ 'régulier',
+ 'réitérer',
+ 'rejeter',
+ 'rejouer',
+ 'relatif',
+ 'relever',
+ 'relief',
+ 'remarque',
+ 'remède',
+ 'remise',
+ 'remonter',
+ 'remplir',
+ 'remuer',
+ 'renard',
+ 'renfort',
+ 'renifler',
+ 'renoncer',
+ 'rentrer',
+ 'renvoi',
+ 'replier',
+ 'reporter',
+ 'reprise',
+ 'reptile',
+ 'requin',
+ 'réserve',
+ 'résineux',
+ 'résoudre',
+ 'respect',
+ 'rester',
+ 'résultat',
+ 'rétablir',
+ 'retenir',
+ 'réticule',
+ 'retomber',
+ 'retracer',
+ 'réunion',
+ 'réussir',
+ 'revanche',
+ 'revivre',
+ 'révolte',
+ 'révulsif',
+ 'richesse',
+ 'rideau',
+ 'rieur',
+ 'rigide',
+ 'rigoler',
+ 'rincer',
+ 'riposter',
+ 'risible',
+ 'risque',
+ 'rituel',
+ 'rival',
+ 'rivière',
+ 'rocheux',
+ 'romance',
+ 'rompre',
+ 'ronce',
+ 'rondin',
+ 'roseau',
+ 'rosier',
+ 'rotatif',
+ 'rotor',
+ 'rotule',
+ 'rouge',
+ 'rouille',
+ 'rouleau',
+ 'routine',
+ 'royaume',
+ 'ruban',
+ 'rubis',
+ 'ruche',
+ 'ruelle',
+ 'rugueux',
+ 'ruiner',
+ 'ruisseau',
+ 'ruser',
+ 'rustique',
+ 'rythme',
+ 'sabler',
+ 'saboter',
+ 'sabre',
+ 'sacoche',
+ 'safari',
+ 'sagesse',
+ 'saisir',
+ 'salade',
+ 'salive',
+ 'salon',
+ 'saluer',
+ 'samedi',
+ 'sanction',
+ 'sanglier',
+ 'sarcasme',
+ 'sardine',
+ 'saturer',
+ 'saugrenu',
+ 'saumon',
+ 'sauter',
+ 'sauvage',
+ 'savant',
+ 'savonner',
+ 'scalpel',
+ 'scandale',
+ 'scélérat',
+ 'scénario',
+ 'sceptre',
+ 'schéma',
+ 'science',
+ 'scinder',
+ 'score',
+ 'scrutin',
+ 'sculpter',
+ 'séance',
+ 'sécable',
+ 'sécher',
+ 'secouer',
+ 'sécréter',
+ 'sédatif',
+ 'séduire',
+ 'seigneur',
+ 'séjour',
+ 'sélectif',
+ 'semaine',
+ 'sembler',
+ 'semence',
+ 'séminal',
+ 'sénateur',
+ 'sensible',
+ 'sentence',
+ 'séparer',
+ 'séquence',
+ 'serein',
+ 'sergent',
+ 'sérieux',
+ 'serrure',
+ 'sérum',
+ 'service',
+ 'sésame',
+ 'sévir',
+ 'sevrage',
+ 'sextuple',
+ 'sidéral',
+ 'siècle',
+ 'siéger',
+ 'siffler',
+ 'sigle',
+ 'signal',
+ 'silence',
+ 'silicium',
+ 'simple',
+ 'sincère',
+ 'sinistre',
+ 'siphon',
+ 'sirop',
+ 'sismique',
+ 'situer',
+ 'skier',
+ 'social',
+ 'socle',
+ 'sodium',
+ 'soigneux',
+ 'soldat',
+ 'soleil',
+ 'solitude',
+ 'soluble',
+ 'sombre',
+ 'sommeil',
+ 'somnoler',
+ 'sonde',
+ 'songeur',
+ 'sonnette',
+ 'sonore',
+ 'sorcier',
+ 'sortir',
+ 'sosie',
+ 'sottise',
+ 'soucieux',
+ 'soudure',
+ 'souffle',
+ 'soulever',
+ 'soupape',
+ 'source',
+ 'soutirer',
+ 'souvenir',
+ 'spacieux',
+ 'spatial',
+ 'spécial',
+ 'sphère',
+ 'spiral',
+ 'stable',
+ 'station',
+ 'sternum',
+ 'stimulus',
+ 'stipuler',
+ 'strict',
+ 'studieux',
+ 'stupeur',
+ 'styliste',
+ 'sublime',
+ 'substrat',
+ 'subtil',
+ 'subvenir',
+ 'succès',
+ 'sucre',
+ 'suffixe',
+ 'suggérer',
+ 'suiveur',
+ 'sulfate',
+ 'superbe',
+ 'supplier',
+ 'surface',
+ 'suricate',
+ 'surmener',
+ 'surprise',
+ 'sursaut',
+ 'survie',
+ 'suspect',
+ 'syllabe',
+ 'symbole',
+ 'symétrie',
+ 'synapse',
+ 'syntaxe',
+ 'système',
+ 'tabac',
+ 'tablier',
+ 'tactile',
+ 'tailler',
+ 'talent',
+ 'talisman',
+ 'talonner',
+ 'tambour',
+ 'tamiser',
+ 'tangible',
+ 'tapis',
+ 'taquiner',
+ 'tarder',
+ 'tarif',
+ 'tartine',
+ 'tasse',
+ 'tatami',
+ 'tatouage',
+ 'taupe',
+ 'taureau',
+ 'taxer',
+ 'témoin',
+ 'temporel',
+ 'tenaille',
+ 'tendre',
+ 'teneur',
+ 'tenir',
+ 'tension',
+ 'terminer',
+ 'terne',
+ 'terrible',
+ 'tétine',
+ 'texte',
+ 'thème',
+ 'théorie',
+ 'thérapie',
+ 'thorax',
+ 'tibia',
+ 'tiède',
+ 'timide',
+ 'tirelire',
+ 'tiroir',
+ 'tissu',
+ 'titane',
+ 'titre',
+ 'tituber',
+ 'toboggan',
+ 'tolérant',
+ 'tomate',
+ 'tonique',
+ 'tonneau',
+ 'toponyme',
+ 'torche',
+ 'tordre',
+ 'tornade',
+ 'torpille',
+ 'torrent',
+ 'torse',
+ 'tortue',
+ 'totem',
+ 'toucher',
+ 'tournage',
+ 'tousser',
+ 'toxine',
+ 'traction',
+ 'trafic',
+ 'tragique',
+ 'trahir',
+ 'train',
+ 'trancher',
+ 'travail',
+ 'trèfle',
+ 'tremper',
+ 'trésor',
+ 'treuil',
+ 'triage',
+ 'tribunal',
+ 'tricoter',
+ 'trilogie',
+ 'triomphe',
+ 'tripler',
+ 'triturer',
+ 'trivial',
+ 'trombone',
+ 'tronc',
+ 'tropical',
+ 'troupeau',
+ 'tuile',
+ 'tulipe',
+ 'tumulte',
+ 'tunnel',
+ 'turbine',
+ 'tuteur',
+ 'tutoyer',
+ 'tuyau',
+ 'tympan',
+ 'typhon',
+ 'typique',
+ 'tyran',
+ 'ubuesque',
+ 'ultime',
+ 'ultrason',
+ 'unanime',
+ 'unifier',
+ 'union',
+ 'unique',
+ 'unitaire',
+ 'univers',
+ 'uranium',
+ 'urbain',
+ 'urticant',
+ 'usage',
+ 'usine',
+ 'usuel',
+ 'usure',
+ 'utile',
+ 'utopie',
+ 'vacarme',
+ 'vaccin',
+ 'vagabond',
+ 'vague',
+ 'vaillant',
+ 'vaincre',
+ 'vaisseau',
+ 'valable',
+ 'valise',
+ 'vallon',
+ 'valve',
+ 'vampire',
+ 'vanille',
+ 'vapeur',
+ 'varier',
+ 'vaseux',
+ 'vassal',
+ 'vaste',
+ 'vecteur',
+ 'vedette',
+ 'végétal',
+ 'véhicule',
+ 'veinard',
+ 'véloce',
+ 'vendredi',
+ 'vénérer',
+ 'venger',
+ 'venimeux',
+ 'ventouse',
+ 'verdure',
+ 'vérin',
+ 'vernir',
+ 'verrou',
+ 'verser',
+ 'vertu',
+ 'veston',
+ 'vétéran',
+ 'vétuste',
+ 'vexant',
+ 'vexer',
+ 'viaduc',
+ 'viande',
+ 'victoire',
+ 'vidange',
+ 'vidéo',
+ 'vignette',
+ 'vigueur',
+ 'vilain',
+ 'village',
+ 'vinaigre',
+ 'violon',
+ 'vipère',
+ 'virement',
+ 'virtuose',
+ 'virus',
+ 'visage',
+ 'viseur',
+ 'vision',
+ 'visqueux',
+ 'visuel',
+ 'vital',
+ 'vitesse',
+ 'viticole',
+ 'vitrine',
+ 'vivace',
+ 'vivipare',
+ 'vocation',
+ 'voguer',
+ 'voile',
+ 'voisin',
+ 'voiture',
+ 'volaille',
+ 'volcan',
+ 'voltiger',
+ 'volume',
+ 'vorace',
+ 'vortex',
+ 'voter',
+ 'vouloir',
+ 'voyage',
+ 'voyelle',
+ 'wagon',
+ 'xénon',
+ 'yacht',
+ 'zèbre',
+ 'zénith',
+ 'zeste',
+ 'zoologie',
+];
+
+const italian = [
+ 'abaco',
+ 'abbaglio',
+ 'abbinato',
+ 'abete',
+ 'abisso',
+ 'abolire',
+ 'abrasivo',
+ 'abrogato',
+ 'accadere',
+ 'accenno',
+ 'accusato',
+ 'acetone',
+ 'achille',
+ 'acido',
+ 'acqua',
+ 'acre',
+ 'acrilico',
+ 'acrobata',
+ 'acuto',
+ 'adagio',
+ 'addebito',
+ 'addome',
+ 'adeguato',
+ 'aderire',
+ 'adipe',
+ 'adottare',
+ 'adulare',
+ 'affabile',
+ 'affetto',
+ 'affisso',
+ 'affranto',
+ 'aforisma',
+ 'afoso',
+ 'africano',
+ 'agave',
+ 'agente',
+ 'agevole',
+ 'aggancio',
+ 'agire',
+ 'agitare',
+ 'agonismo',
+ 'agricolo',
+ 'agrumeto',
+ 'aguzzo',
+ 'alabarda',
+ 'alato',
+ 'albatro',
+ 'alberato',
+ 'albo',
+ 'albume',
+ 'alce',
+ 'alcolico',
+ 'alettone',
+ 'alfa',
+ 'algebra',
+ 'aliante',
+ 'alibi',
+ 'alimento',
+ 'allagato',
+ 'allegro',
+ 'allievo',
+ 'allodola',
+ 'allusivo',
+ 'almeno',
+ 'alogeno',
+ 'alpaca',
+ 'alpestre',
+ 'altalena',
+ 'alterno',
+ 'alticcio',
+ 'altrove',
+ 'alunno',
+ 'alveolo',
+ 'alzare',
+ 'amalgama',
+ 'amanita',
+ 'amarena',
+ 'ambito',
+ 'ambrato',
+ 'ameba',
+ 'america',
+ 'ametista',
+ 'amico',
+ 'ammasso',
+ 'ammenda',
+ 'ammirare',
+ 'ammonito',
+ 'amore',
+ 'ampio',
+ 'ampliare',
+ 'amuleto',
+ 'anacardo',
+ 'anagrafe',
+ 'analista',
+ 'anarchia',
+ 'anatra',
+ 'anca',
+ 'ancella',
+ 'ancora',
+ 'andare',
+ 'andrea',
+ 'anello',
+ 'angelo',
+ 'angolare',
+ 'angusto',
+ 'anima',
+ 'annegare',
+ 'annidato',
+ 'anno',
+ 'annuncio',
+ 'anonimo',
+ 'anticipo',
+ 'anzi',
+ 'apatico',
+ 'apertura',
+ 'apode',
+ 'apparire',
+ 'appetito',
+ 'appoggio',
+ 'approdo',
+ 'appunto',
+ 'aprile',
+ 'arabica',
+ 'arachide',
+ 'aragosta',
+ 'araldica',
+ 'arancio',
+ 'aratura',
+ 'arazzo',
+ 'arbitro',
+ 'archivio',
+ 'ardito',
+ 'arenile',
+ 'argento',
+ 'argine',
+ 'arguto',
+ 'aria',
+ 'armonia',
+ 'arnese',
+ 'arredato',
+ 'arringa',
+ 'arrosto',
+ 'arsenico',
+ 'arso',
+ 'artefice',
+ 'arzillo',
+ 'asciutto',
+ 'ascolto',
+ 'asepsi',
+ 'asettico',
+ 'asfalto',
+ 'asino',
+ 'asola',
+ 'aspirato',
+ 'aspro',
+ 'assaggio',
+ 'asse',
+ 'assoluto',
+ 'assurdo',
+ 'asta',
+ 'astenuto',
+ 'astice',
+ 'astratto',
+ 'atavico',
+ 'ateismo',
+ 'atomico',
+ 'atono',
+ 'attesa',
+ 'attivare',
+ 'attorno',
+ 'attrito',
+ 'attuale',
+ 'ausilio',
+ 'austria',
+ 'autista',
+ 'autonomo',
+ 'autunno',
+ 'avanzato',
+ 'avere',
+ 'avvenire',
+ 'avviso',
+ 'avvolgere',
+ 'azione',
+ 'azoto',
+ 'azzimo',
+ 'azzurro',
+ 'babele',
+ 'baccano',
+ 'bacino',
+ 'baco',
+ 'badessa',
+ 'badilata',
+ 'bagnato',
+ 'baita',
+ 'balcone',
+ 'baldo',
+ 'balena',
+ 'ballata',
+ 'balzano',
+ 'bambino',
+ 'bandire',
+ 'baraonda',
+ 'barbaro',
+ 'barca',
+ 'baritono',
+ 'barlume',
+ 'barocco',
+ 'basilico',
+ 'basso',
+ 'batosta',
+ 'battuto',
+ 'baule',
+ 'bava',
+ 'bavosa',
+ 'becco',
+ 'beffa',
+ 'belgio',
+ 'belva',
+ 'benda',
+ 'benevole',
+ 'benigno',
+ 'benzina',
+ 'bere',
+ 'berlina',
+ 'beta',
+ 'bibita',
+ 'bici',
+ 'bidone',
+ 'bifido',
+ 'biga',
+ 'bilancia',
+ 'bimbo',
+ 'binocolo',
+ 'biologo',
+ 'bipede',
+ 'bipolare',
+ 'birbante',
+ 'birra',
+ 'biscotto',
+ 'bisesto',
+ 'bisnonno',
+ 'bisonte',
+ 'bisturi',
+ 'bizzarro',
+ 'blando',
+ 'blatta',
+ 'bollito',
+ 'bonifico',
+ 'bordo',
+ 'bosco',
+ 'botanico',
+ 'bottino',
+ 'bozzolo',
+ 'braccio',
+ 'bradipo',
+ 'brama',
+ 'branca',
+ 'bravura',
+ 'bretella',
+ 'brevetto',
+ 'brezza',
+ 'briglia',
+ 'brillante',
+ 'brindare',
+ 'broccolo',
+ 'brodo',
+ 'bronzina',
+ 'brullo',
+ 'bruno',
+ 'bubbone',
+ 'buca',
+ 'budino',
+ 'buffone',
+ 'buio',
+ 'bulbo',
+ 'buono',
+ 'burlone',
+ 'burrasca',
+ 'bussola',
+ 'busta',
+ 'cadetto',
+ 'caduco',
+ 'calamaro',
+ 'calcolo',
+ 'calesse',
+ 'calibro',
+ 'calmo',
+ 'caloria',
+ 'cambusa',
+ 'camerata',
+ 'camicia',
+ 'cammino',
+ 'camola',
+ 'campale',
+ 'canapa',
+ 'candela',
+ 'cane',
+ 'canino',
+ 'canotto',
+ 'cantina',
+ 'capace',
+ 'capello',
+ 'capitolo',
+ 'capogiro',
+ 'cappero',
+ 'capra',
+ 'capsula',
+ 'carapace',
+ 'carcassa',
+ 'cardo',
+ 'carisma',
+ 'carovana',
+ 'carretto',
+ 'cartolina',
+ 'casaccio',
+ 'cascata',
+ 'caserma',
+ 'caso',
+ 'cassone',
+ 'castello',
+ 'casuale',
+ 'catasta',
+ 'catena',
+ 'catrame',
+ 'cauto',
+ 'cavillo',
+ 'cedibile',
+ 'cedrata',
+ 'cefalo',
+ 'celebre',
+ 'cellulare',
+ 'cena',
+ 'cenone',
+ 'centesimo',
+ 'ceramica',
+ 'cercare',
+ 'certo',
+ 'cerume',
+ 'cervello',
+ 'cesoia',
+ 'cespo',
+ 'ceto',
+ 'chela',
+ 'chiaro',
+ 'chicca',
+ 'chiedere',
+ 'chimera',
+ 'china',
+ 'chirurgo',
+ 'chitarra',
+ 'ciao',
+ 'ciclismo',
+ 'cifrare',
+ 'cigno',
+ 'cilindro',
+ 'ciottolo',
+ 'circa',
+ 'cirrosi',
+ 'citrico',
+ 'cittadino',
+ 'ciuffo',
+ 'civetta',
+ 'civile',
+ 'classico',
+ 'clinica',
+ 'cloro',
+ 'cocco',
+ 'codardo',
+ 'codice',
+ 'coerente',
+ 'cognome',
+ 'collare',
+ 'colmato',
+ 'colore',
+ 'colposo',
+ 'coltivato',
+ 'colza',
+ 'coma',
+ 'cometa',
+ 'commando',
+ 'comodo',
+ 'computer',
+ 'comune',
+ 'conciso',
+ 'condurre',
+ 'conferma',
+ 'congelare',
+ 'coniuge',
+ 'connesso',
+ 'conoscere',
+ 'consumo',
+ 'continuo',
+ 'convegno',
+ 'coperto',
+ 'copione',
+ 'coppia',
+ 'copricapo',
+ 'corazza',
+ 'cordata',
+ 'coricato',
+ 'cornice',
+ 'corolla',
+ 'corpo',
+ 'corredo',
+ 'corsia',
+ 'cortese',
+ 'cosmico',
+ 'costante',
+ 'cottura',
+ 'covato',
+ 'cratere',
+ 'cravatta',
+ 'creato',
+ 'credere',
+ 'cremoso',
+ 'crescita',
+ 'creta',
+ 'criceto',
+ 'crinale',
+ 'crisi',
+ 'critico',
+ 'croce',
+ 'cronaca',
+ 'crostata',
+ 'cruciale',
+ 'crusca',
+ 'cucire',
+ 'cuculo',
+ 'cugino',
+ 'cullato',
+ 'cupola',
+ 'curatore',
+ 'cursore',
+ 'curvo',
+ 'cuscino',
+ 'custode',
+ 'dado',
+ 'daino',
+ 'dalmata',
+ 'damerino',
+ 'daniela',
+ 'dannoso',
+ 'danzare',
+ 'datato',
+ 'davanti',
+ 'davvero',
+ 'debutto',
+ 'decennio',
+ 'deciso',
+ 'declino',
+ 'decollo',
+ 'decreto',
+ 'dedicato',
+ 'definito',
+ 'deforme',
+ 'degno',
+ 'delegare',
+ 'delfino',
+ 'delirio',
+ 'delta',
+ 'demenza',
+ 'denotato',
+ 'dentro',
+ 'deposito',
+ 'derapata',
+ 'derivare',
+ 'deroga',
+ 'descritto',
+ 'deserto',
+ 'desiderio',
+ 'desumere',
+ 'detersivo',
+ 'devoto',
+ 'diametro',
+ 'dicembre',
+ 'diedro',
+ 'difeso',
+ 'diffuso',
+ 'digerire',
+ 'digitale',
+ 'diluvio',
+ 'dinamico',
+ 'dinnanzi',
+ 'dipinto',
+ 'diploma',
+ 'dipolo',
+ 'diradare',
+ 'dire',
+ 'dirotto',
+ 'dirupo',
+ 'disagio',
+ 'discreto',
+ 'disfare',
+ 'disgelo',
+ 'disposto',
+ 'distanza',
+ 'disumano',
+ 'dito',
+ 'divano',
+ 'divelto',
+ 'dividere',
+ 'divorato',
+ 'doblone',
+ 'docente',
+ 'doganale',
+ 'dogma',
+ 'dolce',
+ 'domato',
+ 'domenica',
+ 'dominare',
+ 'dondolo',
+ 'dono',
+ 'dormire',
+ 'dote',
+ 'dottore',
+ 'dovuto',
+ 'dozzina',
+ 'drago',
+ 'druido',
+ 'dubbio',
+ 'dubitare',
+ 'ducale',
+ 'duna',
+ 'duomo',
+ 'duplice',
+ 'duraturo',
+ 'ebano',
+ 'eccesso',
+ 'ecco',
+ 'eclissi',
+ 'economia',
+ 'edera',
+ 'edicola',
+ 'edile',
+ 'editoria',
+ 'educare',
+ 'egemonia',
+ 'egli',
+ 'egoismo',
+ 'egregio',
+ 'elaborato',
+ 'elargire',
+ 'elegante',
+ 'elencato',
+ 'eletto',
+ 'elevare',
+ 'elfico',
+ 'elica',
+ 'elmo',
+ 'elsa',
+ 'eluso',
+ 'emanato',
+ 'emblema',
+ 'emesso',
+ 'emiro',
+ 'emotivo',
+ 'emozione',
+ 'empirico',
+ 'emulo',
+ 'endemico',
+ 'enduro',
+ 'energia',
+ 'enfasi',
+ 'enoteca',
+ 'entrare',
+ 'enzima',
+ 'epatite',
+ 'epilogo',
+ 'episodio',
+ 'epocale',
+ 'eppure',
+ 'equatore',
+ 'erario',
+ 'erba',
+ 'erboso',
+ 'erede',
+ 'eremita',
+ 'erigere',
+ 'ermetico',
+ 'eroe',
+ 'erosivo',
+ 'errante',
+ 'esagono',
+ 'esame',
+ 'esanime',
+ 'esaudire',
+ 'esca',
+ 'esempio',
+ 'esercito',
+ 'esibito',
+ 'esigente',
+ 'esistere',
+ 'esito',
+ 'esofago',
+ 'esortato',
+ 'esoso',
+ 'espanso',
+ 'espresso',
+ 'essenza',
+ 'esso',
+ 'esteso',
+ 'estimare',
+ 'estonia',
+ 'estroso',
+ 'esultare',
+ 'etilico',
+ 'etnico',
+ 'etrusco',
+ 'etto',
+ 'euclideo',
+ 'europa',
+ 'evaso',
+ 'evidenza',
+ 'evitato',
+ 'evoluto',
+ 'evviva',
+ 'fabbrica',
+ 'faccenda',
+ 'fachiro',
+ 'falco',
+ 'famiglia',
+ 'fanale',
+ 'fanfara',
+ 'fango',
+ 'fantasma',
+ 'fare',
+ 'farfalla',
+ 'farinoso',
+ 'farmaco',
+ 'fascia',
+ 'fastoso',
+ 'fasullo',
+ 'faticare',
+ 'fato',
+ 'favoloso',
+ 'febbre',
+ 'fecola',
+ 'fede',
+ 'fegato',
+ 'felpa',
+ 'feltro',
+ 'femmina',
+ 'fendere',
+ 'fenomeno',
+ 'fermento',
+ 'ferro',
+ 'fertile',
+ 'fessura',
+ 'festivo',
+ 'fetta',
+ 'feudo',
+ 'fiaba',
+ 'fiducia',
+ 'fifa',
+ 'figurato',
+ 'filo',
+ 'finanza',
+ 'finestra',
+ 'finire',
+ 'fiore',
+ 'fiscale',
+ 'fisico',
+ 'fiume',
+ 'flacone',
+ 'flamenco',
+ 'flebo',
+ 'flemma',
+ 'florido',
+ 'fluente',
+ 'fluoro',
+ 'fobico',
+ 'focaccia',
+ 'focoso',
+ 'foderato',
+ 'foglio',
+ 'folata',
+ 'folclore',
+ 'folgore',
+ 'fondente',
+ 'fonetico',
+ 'fonia',
+ 'fontana',
+ 'forbito',
+ 'forchetta',
+ 'foresta',
+ 'formica',
+ 'fornaio',
+ 'foro',
+ 'fortezza',
+ 'forzare',
+ 'fosfato',
+ 'fosso',
+ 'fracasso',
+ 'frana',
+ 'frassino',
+ 'fratello',
+ 'freccetta',
+ 'frenata',
+ 'fresco',
+ 'frigo',
+ 'frollino',
+ 'fronde',
+ 'frugale',
+ 'frutta',
+ 'fucilata',
+ 'fucsia',
+ 'fuggente',
+ 'fulmine',
+ 'fulvo',
+ 'fumante',
+ 'fumetto',
+ 'fumoso',
+ 'fune',
+ 'funzione',
+ 'fuoco',
+ 'furbo',
+ 'furgone',
+ 'furore',
+ 'fuso',
+ 'futile',
+ 'gabbiano',
+ 'gaffe',
+ 'galateo',
+ 'gallina',
+ 'galoppo',
+ 'gambero',
+ 'gamma',
+ 'garanzia',
+ 'garbo',
+ 'garofano',
+ 'garzone',
+ 'gasdotto',
+ 'gasolio',
+ 'gastrico',
+ 'gatto',
+ 'gaudio',
+ 'gazebo',
+ 'gazzella',
+ 'geco',
+ 'gelatina',
+ 'gelso',
+ 'gemello',
+ 'gemmato',
+ 'gene',
+ 'genitore',
+ 'gennaio',
+ 'genotipo',
+ 'gergo',
+ 'ghepardo',
+ 'ghiaccio',
+ 'ghisa',
+ 'giallo',
+ 'gilda',
+ 'ginepro',
+ 'giocare',
+ 'gioiello',
+ 'giorno',
+ 'giove',
+ 'girato',
+ 'girone',
+ 'gittata',
+ 'giudizio',
+ 'giurato',
+ 'giusto',
+ 'globulo',
+ 'glutine',
+ 'gnomo',
+ 'gobba',
+ 'golf',
+ 'gomito',
+ 'gommone',
+ 'gonfio',
+ 'gonna',
+ 'governo',
+ 'gracile',
+ 'grado',
+ 'grafico',
+ 'grammo',
+ 'grande',
+ 'grattare',
+ 'gravoso',
+ 'grazia',
+ 'greca',
+ 'gregge',
+ 'grifone',
+ 'grigio',
+ 'grinza',
+ 'grotta',
+ 'gruppo',
+ 'guadagno',
+ 'guaio',
+ 'guanto',
+ 'guardare',
+ 'gufo',
+ 'guidare',
+ 'ibernato',
+ 'icona',
+ 'identico',
+ 'idillio',
+ 'idolo',
+ 'idra',
+ 'idrico',
+ 'idrogeno',
+ 'igiene',
+ 'ignaro',
+ 'ignorato',
+ 'ilare',
+ 'illeso',
+ 'illogico',
+ 'illudere',
+ 'imballo',
+ 'imbevuto',
+ 'imbocco',
+ 'imbuto',
+ 'immane',
+ 'immerso',
+ 'immolato',
+ 'impacco',
+ 'impeto',
+ 'impiego',
+ 'importo',
+ 'impronta',
+ 'inalare',
+ 'inarcare',
+ 'inattivo',
+ 'incanto',
+ 'incendio',
+ 'inchino',
+ 'incisivo',
+ 'incluso',
+ 'incontro',
+ 'incrocio',
+ 'incubo',
+ 'indagine',
+ 'india',
+ 'indole',
+ 'inedito',
+ 'infatti',
+ 'infilare',
+ 'inflitto',
+ 'ingaggio',
+ 'ingegno',
+ 'inglese',
+ 'ingordo',
+ 'ingrosso',
+ 'innesco',
+ 'inodore',
+ 'inoltrare',
+ 'inondato',
+ 'insano',
+ 'insetto',
+ 'insieme',
+ 'insonnia',
+ 'insulina',
+ 'intasato',
+ 'intero',
+ 'intonaco',
+ 'intuito',
+ 'inumidire',
+ 'invalido',
+ 'invece',
+ 'invito',
+ 'iperbole',
+ 'ipnotico',
+ 'ipotesi',
+ 'ippica',
+ 'iride',
+ 'irlanda',
+ 'ironico',
+ 'irrigato',
+ 'irrorare',
+ 'isolato',
+ 'isotopo',
+ 'isterico',
+ 'istituto',
+ 'istrice',
+ 'italia',
+ 'iterare',
+ 'labbro',
+ 'labirinto',
+ 'lacca',
+ 'lacerato',
+ 'lacrima',
+ 'lacuna',
+ 'laddove',
+ 'lago',
+ 'lampo',
+ 'lancetta',
+ 'lanterna',
+ 'lardoso',
+ 'larga',
+ 'laringe',
+ 'lastra',
+ 'latenza',
+ 'latino',
+ 'lattuga',
+ 'lavagna',
+ 'lavoro',
+ 'legale',
+ 'leggero',
+ 'lembo',
+ 'lentezza',
+ 'lenza',
+ 'leone',
+ 'lepre',
+ 'lesivo',
+ 'lessato',
+ 'lesto',
+ 'letterale',
+ 'leva',
+ 'levigato',
+ 'libero',
+ 'lido',
+ 'lievito',
+ 'lilla',
+ 'limatura',
+ 'limitare',
+ 'limpido',
+ 'lineare',
+ 'lingua',
+ 'liquido',
+ 'lira',
+ 'lirica',
+ 'lisca',
+ 'lite',
+ 'litigio',
+ 'livrea',
+ 'locanda',
+ 'lode',
+ 'logica',
+ 'lombare',
+ 'londra',
+ 'longevo',
+ 'loquace',
+ 'lorenzo',
+ 'loto',
+ 'lotteria',
+ 'luce',
+ 'lucidato',
+ 'lumaca',
+ 'luminoso',
+ 'lungo',
+ 'lupo',
+ 'luppolo',
+ 'lusinga',
+ 'lusso',
+ 'lutto',
+ 'macabro',
+ 'macchina',
+ 'macero',
+ 'macinato',
+ 'madama',
+ 'magico',
+ 'maglia',
+ 'magnete',
+ 'magro',
+ 'maiolica',
+ 'malafede',
+ 'malgrado',
+ 'malinteso',
+ 'malsano',
+ 'malto',
+ 'malumore',
+ 'mana',
+ 'mancia',
+ 'mandorla',
+ 'mangiare',
+ 'manifesto',
+ 'mannaro',
+ 'manovra',
+ 'mansarda',
+ 'mantide',
+ 'manubrio',
+ 'mappa',
+ 'maratona',
+ 'marcire',
+ 'maretta',
+ 'marmo',
+ 'marsupio',
+ 'maschera',
+ 'massaia',
+ 'mastino',
+ 'materasso',
+ 'matricola',
+ 'mattone',
+ 'maturo',
+ 'mazurca',
+ 'meandro',
+ 'meccanico',
+ 'mecenate',
+ 'medesimo',
+ 'meditare',
+ 'mega',
+ 'melassa',
+ 'melis',
+ 'melodia',
+ 'meninge',
+ 'meno',
+ 'mensola',
+ 'mercurio',
+ 'merenda',
+ 'merlo',
+ 'meschino',
+ 'mese',
+ 'messere',
+ 'mestolo',
+ 'metallo',
+ 'metodo',
+ 'mettere',
+ 'miagolare',
+ 'mica',
+ 'micelio',
+ 'michele',
+ 'microbo',
+ 'midollo',
+ 'miele',
+ 'migliore',
+ 'milano',
+ 'milite',
+ 'mimosa',
+ 'minerale',
+ 'mini',
+ 'minore',
+ 'mirino',
+ 'mirtillo',
+ 'miscela',
+ 'missiva',
+ 'misto',
+ 'misurare',
+ 'mitezza',
+ 'mitigare',
+ 'mitra',
+ 'mittente',
+ 'mnemonico',
+ 'modello',
+ 'modifica',
+ 'modulo',
+ 'mogano',
+ 'mogio',
+ 'mole',
+ 'molosso',
+ 'monastero',
+ 'monco',
+ 'mondina',
+ 'monetario',
+ 'monile',
+ 'monotono',
+ 'monsone',
+ 'montato',
+ 'monviso',
+ 'mora',
+ 'mordere',
+ 'morsicato',
+ 'mostro',
+ 'motivato',
+ 'motosega',
+ 'motto',
+ 'movenza',
+ 'movimento',
+ 'mozzo',
+ 'mucca',
+ 'mucosa',
+ 'muffa',
+ 'mughetto',
+ 'mugnaio',
+ 'mulatto',
+ 'mulinello',
+ 'multiplo',
+ 'mummia',
+ 'munto',
+ 'muovere',
+ 'murale',
+ 'musa',
+ 'muscolo',
+ 'musica',
+ 'mutevole',
+ 'muto',
+ 'nababbo',
+ 'nafta',
+ 'nanometro',
+ 'narciso',
+ 'narice',
+ 'narrato',
+ 'nascere',
+ 'nastrare',
+ 'naturale',
+ 'nautica',
+ 'naviglio',
+ 'nebulosa',
+ 'necrosi',
+ 'negativo',
+ 'negozio',
+ 'nemmeno',
+ 'neofita',
+ 'neretto',
+ 'nervo',
+ 'nessuno',
+ 'nettuno',
+ 'neutrale',
+ 'neve',
+ 'nevrotico',
+ 'nicchia',
+ 'ninfa',
+ 'nitido',
+ 'nobile',
+ 'nocivo',
+ 'nodo',
+ 'nome',
+ 'nomina',
+ 'nordico',
+ 'normale',
+ 'norvegese',
+ 'nostrano',
+ 'notare',
+ 'notizia',
+ 'notturno',
+ 'novella',
+ 'nucleo',
+ 'nulla',
+ 'numero',
+ 'nuovo',
+ 'nutrire',
+ 'nuvola',
+ 'nuziale',
+ 'oasi',
+ 'obbedire',
+ 'obbligo',
+ 'obelisco',
+ 'oblio',
+ 'obolo',
+ 'obsoleto',
+ 'occasione',
+ 'occhio',
+ 'occidente',
+ 'occorrere',
+ 'occultare',
+ 'ocra',
+ 'oculato',
+ 'odierno',
+ 'odorare',
+ 'offerta',
+ 'offrire',
+ 'offuscato',
+ 'oggetto',
+ 'oggi',
+ 'ognuno',
+ 'olandese',
+ 'olfatto',
+ 'oliato',
+ 'oliva',
+ 'ologramma',
+ 'oltre',
+ 'omaggio',
+ 'ombelico',
+ 'ombra',
+ 'omega',
+ 'omissione',
+ 'ondoso',
+ 'onere',
+ 'onice',
+ 'onnivoro',
+ 'onorevole',
+ 'onta',
+ 'operato',
+ 'opinione',
+ 'opposto',
+ 'oracolo',
+ 'orafo',
+ 'ordine',
+ 'orecchino',
+ 'orefice',
+ 'orfano',
+ 'organico',
+ 'origine',
+ 'orizzonte',
+ 'orma',
+ 'ormeggio',
+ 'ornativo',
+ 'orologio',
+ 'orrendo',
+ 'orribile',
+ 'ortensia',
+ 'ortica',
+ 'orzata',
+ 'orzo',
+ 'osare',
+ 'oscurare',
+ 'osmosi',
+ 'ospedale',
+ 'ospite',
+ 'ossa',
+ 'ossidare',
+ 'ostacolo',
+ 'oste',
+ 'otite',
+ 'otre',
+ 'ottagono',
+ 'ottimo',
+ 'ottobre',
+ 'ovale',
+ 'ovest',
+ 'ovino',
+ 'oviparo',
+ 'ovocito',
+ 'ovunque',
+ 'ovviare',
+ 'ozio',
+ 'pacchetto',
+ 'pace',
+ 'pacifico',
+ 'padella',
+ 'padrone',
+ 'paese',
+ 'paga',
+ 'pagina',
+ 'palazzina',
+ 'palesare',
+ 'pallido',
+ 'palo',
+ 'palude',
+ 'pandoro',
+ 'pannello',
+ 'paolo',
+ 'paonazzo',
+ 'paprica',
+ 'parabola',
+ 'parcella',
+ 'parere',
+ 'pargolo',
+ 'pari',
+ 'parlato',
+ 'parola',
+ 'partire',
+ 'parvenza',
+ 'parziale',
+ 'passivo',
+ 'pasticca',
+ 'patacca',
+ 'patologia',
+ 'pattume',
+ 'pavone',
+ 'peccato',
+ 'pedalare',
+ 'pedonale',
+ 'peggio',
+ 'peloso',
+ 'penare',
+ 'pendice',
+ 'penisola',
+ 'pennuto',
+ 'penombra',
+ 'pensare',
+ 'pentola',
+ 'pepe',
+ 'pepita',
+ 'perbene',
+ 'percorso',
+ 'perdonato',
+ 'perforare',
+ 'pergamena',
+ 'periodo',
+ 'permesso',
+ 'perno',
+ 'perplesso',
+ 'persuaso',
+ 'pertugio',
+ 'pervaso',
+ 'pesatore',
+ 'pesista',
+ 'peso',
+ 'pestifero',
+ 'petalo',
+ 'pettine',
+ 'petulante',
+ 'pezzo',
+ 'piacere',
+ 'pianta',
+ 'piattino',
+ 'piccino',
+ 'picozza',
+ 'piega',
+ 'pietra',
+ 'piffero',
+ 'pigiama',
+ 'pigolio',
+ 'pigro',
+ 'pila',
+ 'pilifero',
+ 'pillola',
+ 'pilota',
+ 'pimpante',
+ 'pineta',
+ 'pinna',
+ 'pinolo',
+ 'pioggia',
+ 'piombo',
+ 'piramide',
+ 'piretico',
+ 'pirite',
+ 'pirolisi',
+ 'pitone',
+ 'pizzico',
+ 'placebo',
+ 'planare',
+ 'plasma',
+ 'platano',
+ 'plenario',
+ 'pochezza',
+ 'poderoso',
+ 'podismo',
+ 'poesia',
+ 'poggiare',
+ 'polenta',
+ 'poligono',
+ 'pollice',
+ 'polmonite',
+ 'polpetta',
+ 'polso',
+ 'poltrona',
+ 'polvere',
+ 'pomice',
+ 'pomodoro',
+ 'ponte',
+ 'popoloso',
+ 'porfido',
+ 'poroso',
+ 'porpora',
+ 'porre',
+ 'portata',
+ 'posa',
+ 'positivo',
+ 'possesso',
+ 'postulato',
+ 'potassio',
+ 'potere',
+ 'pranzo',
+ 'prassi',
+ 'pratica',
+ 'precluso',
+ 'predica',
+ 'prefisso',
+ 'pregiato',
+ 'prelievo',
+ 'premere',
+ 'prenotare',
+ 'preparato',
+ 'presenza',
+ 'pretesto',
+ 'prevalso',
+ 'prima',
+ 'principe',
+ 'privato',
+ 'problema',
+ 'procura',
+ 'produrre',
+ 'profumo',
+ 'progetto',
+ 'prolunga',
+ 'promessa',
+ 'pronome',
+ 'proposta',
+ 'proroga',
+ 'proteso',
+ 'prova',
+ 'prudente',
+ 'prugna',
+ 'prurito',
+ 'psiche',
+ 'pubblico',
+ 'pudica',
+ 'pugilato',
+ 'pugno',
+ 'pulce',
+ 'pulito',
+ 'pulsante',
+ 'puntare',
+ 'pupazzo',
+ 'pupilla',
+ 'puro',
+ 'quadro',
+ 'qualcosa',
+ 'quasi',
+ 'querela',
+ 'quota',
+ 'raccolto',
+ 'raddoppio',
+ 'radicale',
+ 'radunato',
+ 'raffica',
+ 'ragazzo',
+ 'ragione',
+ 'ragno',
+ 'ramarro',
+ 'ramingo',
+ 'ramo',
+ 'randagio',
+ 'rantolare',
+ 'rapato',
+ 'rapina',
+ 'rappreso',
+ 'rasatura',
+ 'raschiato',
+ 'rasente',
+ 'rassegna',
+ 'rastrello',
+ 'rata',
+ 'ravveduto',
+ 'reale',
+ 'recepire',
+ 'recinto',
+ 'recluta',
+ 'recondito',
+ 'recupero',
+ 'reddito',
+ 'redimere',
+ 'regalato',
+ 'registro',
+ 'regola',
+ 'regresso',
+ 'relazione',
+ 'remare',
+ 'remoto',
+ 'renna',
+ 'replica',
+ 'reprimere',
+ 'reputare',
+ 'resa',
+ 'residente',
+ 'responso',
+ 'restauro',
+ 'rete',
+ 'retina',
+ 'retorica',
+ 'rettifica',
+ 'revocato',
+ 'riassunto',
+ 'ribadire',
+ 'ribelle',
+ 'ribrezzo',
+ 'ricarica',
+ 'ricco',
+ 'ricevere',
+ 'riciclato',
+ 'ricordo',
+ 'ricreduto',
+ 'ridicolo',
+ 'ridurre',
+ 'rifasare',
+ 'riflesso',
+ 'riforma',
+ 'rifugio',
+ 'rigare',
+ 'rigettato',
+ 'righello',
+ 'rilassato',
+ 'rilevato',
+ 'rimanere',
+ 'rimbalzo',
+ 'rimedio',
+ 'rimorchio',
+ 'rinascita',
+ 'rincaro',
+ 'rinforzo',
+ 'rinnovo',
+ 'rinomato',
+ 'rinsavito',
+ 'rintocco',
+ 'rinuncia',
+ 'rinvenire',
+ 'riparato',
+ 'ripetuto',
+ 'ripieno',
+ 'riportare',
+ 'ripresa',
+ 'ripulire',
+ 'risata',
+ 'rischio',
+ 'riserva',
+ 'risibile',
+ 'riso',
+ 'rispetto',
+ 'ristoro',
+ 'risultato',
+ 'risvolto',
+ 'ritardo',
+ 'ritegno',
+ 'ritmico',
+ 'ritrovo',
+ 'riunione',
+ 'riva',
+ 'riverso',
+ 'rivincita',
+ 'rivolto',
+ 'rizoma',
+ 'roba',
+ 'robotico',
+ 'robusto',
+ 'roccia',
+ 'roco',
+ 'rodaggio',
+ 'rodere',
+ 'roditore',
+ 'rogito',
+ 'rollio',
+ 'romantico',
+ 'rompere',
+ 'ronzio',
+ 'rosolare',
+ 'rospo',
+ 'rotante',
+ 'rotondo',
+ 'rotula',
+ 'rovescio',
+ 'rubizzo',
+ 'rubrica',
+ 'ruga',
+ 'rullino',
+ 'rumine',
+ 'rumoroso',
+ 'ruolo',
+ 'rupe',
+ 'russare',
+ 'rustico',
+ 'sabato',
+ 'sabbiare',
+ 'sabotato',
+ 'sagoma',
+ 'salasso',
+ 'saldatura',
+ 'salgemma',
+ 'salivare',
+ 'salmone',
+ 'salone',
+ 'saltare',
+ 'saluto',
+ 'salvo',
+ 'sapere',
+ 'sapido',
+ 'saporito',
+ 'saraceno',
+ 'sarcasmo',
+ 'sarto',
+ 'sassoso',
+ 'satellite',
+ 'satira',
+ 'satollo',
+ 'saturno',
+ 'savana',
+ 'savio',
+ 'saziato',
+ 'sbadiglio',
+ 'sbalzo',
+ 'sbancato',
+ 'sbarra',
+ 'sbattere',
+ 'sbavare',
+ 'sbendare',
+ 'sbirciare',
+ 'sbloccato',
+ 'sbocciato',
+ 'sbrinare',
+ 'sbruffone',
+ 'sbuffare',
+ 'scabroso',
+ 'scadenza',
+ 'scala',
+ 'scambiare',
+ 'scandalo',
+ 'scapola',
+ 'scarso',
+ 'scatenare',
+ 'scavato',
+ 'scelto',
+ 'scenico',
+ 'scettro',
+ 'scheda',
+ 'schiena',
+ 'sciarpa',
+ 'scienza',
+ 'scindere',
+ 'scippo',
+ 'sciroppo',
+ 'scivolo',
+ 'sclerare',
+ 'scodella',
+ 'scolpito',
+ 'scomparto',
+ 'sconforto',
+ 'scoprire',
+ 'scorta',
+ 'scossone',
+ 'scozzese',
+ 'scriba',
+ 'scrollare',
+ 'scrutinio',
+ 'scuderia',
+ 'scultore',
+ 'scuola',
+ 'scuro',
+ 'scusare',
+ 'sdebitare',
+ 'sdoganare',
+ 'seccatura',
+ 'secondo',
+ 'sedano',
+ 'seggiola',
+ 'segnalato',
+ 'segregato',
+ 'seguito',
+ 'selciato',
+ 'selettivo',
+ 'sella',
+ 'selvaggio',
+ 'semaforo',
+ 'sembrare',
+ 'seme',
+ 'seminato',
+ 'sempre',
+ 'senso',
+ 'sentire',
+ 'sepolto',
+ 'sequenza',
+ 'serata',
+ 'serbato',
+ 'sereno',
+ 'serio',
+ 'serpente',
+ 'serraglio',
+ 'servire',
+ 'sestina',
+ 'setola',
+ 'settimana',
+ 'sfacelo',
+ 'sfaldare',
+ 'sfamato',
+ 'sfarzoso',
+ 'sfaticato',
+ 'sfera',
+ 'sfida',
+ 'sfilato',
+ 'sfinge',
+ 'sfocato',
+ 'sfoderare',
+ 'sfogo',
+ 'sfoltire',
+ 'sforzato',
+ 'sfratto',
+ 'sfruttato',
+ 'sfuggito',
+ 'sfumare',
+ 'sfuso',
+ 'sgabello',
+ 'sgarbato',
+ 'sgonfiare',
+ 'sgorbio',
+ 'sgrassato',
+ 'sguardo',
+ 'sibilo',
+ 'siccome',
+ 'sierra',
+ 'sigla',
+ 'signore',
+ 'silenzio',
+ 'sillaba',
+ 'simbolo',
+ 'simpatico',
+ 'simulato',
+ 'sinfonia',
+ 'singolo',
+ 'sinistro',
+ 'sino',
+ 'sintesi',
+ 'sinusoide',
+ 'sipario',
+ 'sisma',
+ 'sistole',
+ 'situato',
+ 'slitta',
+ 'slogatura',
+ 'sloveno',
+ 'smarrito',
+ 'smemorato',
+ 'smentito',
+ 'smeraldo',
+ 'smilzo',
+ 'smontare',
+ 'smottato',
+ 'smussato',
+ 'snellire',
+ 'snervato',
+ 'snodo',
+ 'sobbalzo',
+ 'sobrio',
+ 'soccorso',
+ 'sociale',
+ 'sodale',
+ 'soffitto',
+ 'sogno',
+ 'soldato',
+ 'solenne',
+ 'solido',
+ 'sollazzo',
+ 'solo',
+ 'solubile',
+ 'solvente',
+ 'somatico',
+ 'somma',
+ 'sonda',
+ 'sonetto',
+ 'sonnifero',
+ 'sopire',
+ 'soppeso',
+ 'sopra',
+ 'sorgere',
+ 'sorpasso',
+ 'sorriso',
+ 'sorso',
+ 'sorteggio',
+ 'sorvolato',
+ 'sospiro',
+ 'sosta',
+ 'sottile',
+ 'spada',
+ 'spalla',
+ 'spargere',
+ 'spatola',
+ 'spavento',
+ 'spazzola',
+ 'specie',
+ 'spedire',
+ 'spegnere',
+ 'spelatura',
+ 'speranza',
+ 'spessore',
+ 'spettrale',
+ 'spezzato',
+ 'spia',
+ 'spigoloso',
+ 'spillato',
+ 'spinoso',
+ 'spirale',
+ 'splendido',
+ 'sportivo',
+ 'sposo',
+ 'spranga',
+ 'sprecare',
+ 'spronato',
+ 'spruzzo',
+ 'spuntino',
+ 'squillo',
+ 'sradicare',
+ 'srotolato',
+ 'stabile',
+ 'stacco',
+ 'staffa',
+ 'stagnare',
+ 'stampato',
+ 'stantio',
+ 'starnuto',
+ 'stasera',
+ 'statuto',
+ 'stelo',
+ 'steppa',
+ 'sterzo',
+ 'stiletto',
+ 'stima',
+ 'stirpe',
+ 'stivale',
+ 'stizzoso',
+ 'stonato',
+ 'storico',
+ 'strappo',
+ 'stregato',
+ 'stridulo',
+ 'strozzare',
+ 'strutto',
+ 'stuccare',
+ 'stufo',
+ 'stupendo',
+ 'subentro',
+ 'succoso',
+ 'sudore',
+ 'suggerito',
+ 'sugo',
+ 'sultano',
+ 'suonare',
+ 'superbo',
+ 'supporto',
+ 'surgelato',
+ 'surrogato',
+ 'sussurro',
+ 'sutura',
+ 'svagare',
+ 'svedese',
+ 'sveglio',
+ 'svelare',
+ 'svenuto',
+ 'svezia',
+ 'sviluppo',
+ 'svista',
+ 'svizzera',
+ 'svolta',
+ 'svuotare',
+ 'tabacco',
+ 'tabulato',
+ 'tacciare',
+ 'taciturno',
+ 'tale',
+ 'talismano',
+ 'tampone',
+ 'tannino',
+ 'tara',
+ 'tardivo',
+ 'targato',
+ 'tariffa',
+ 'tarpare',
+ 'tartaruga',
+ 'tasto',
+ 'tattico',
+ 'taverna',
+ 'tavolata',
+ 'tazza',
+ 'teca',
+ 'tecnico',
+ 'telefono',
+ 'temerario',
+ 'tempo',
+ 'temuto',
+ 'tendone',
+ 'tenero',
+ 'tensione',
+ 'tentacolo',
+ 'teorema',
+ 'terme',
+ 'terrazzo',
+ 'terzetto',
+ 'tesi',
+ 'tesserato',
+ 'testato',
+ 'tetro',
+ 'tettoia',
+ 'tifare',
+ 'tigella',
+ 'timbro',
+ 'tinto',
+ 'tipico',
+ 'tipografo',
+ 'tiraggio',
+ 'tiro',
+ 'titanio',
+ 'titolo',
+ 'titubante',
+ 'tizio',
+ 'tizzone',
+ 'toccare',
+ 'tollerare',
+ 'tolto',
+ 'tombola',
+ 'tomo',
+ 'tonfo',
+ 'tonsilla',
+ 'topazio',
+ 'topologia',
+ 'toppa',
+ 'torba',
+ 'tornare',
+ 'torrone',
+ 'tortora',
+ 'toscano',
+ 'tossire',
+ 'tostatura',
+ 'totano',
+ 'trabocco',
+ 'trachea',
+ 'trafila',
+ 'tragedia',
+ 'tralcio',
+ 'tramonto',
+ 'transito',
+ 'trapano',
+ 'trarre',
+ 'trasloco',
+ 'trattato',
+ 'trave',
+ 'treccia',
+ 'tremolio',
+ 'trespolo',
+ 'tributo',
+ 'tricheco',
+ 'trifoglio',
+ 'trillo',
+ 'trincea',
+ 'trio',
+ 'tristezza',
+ 'triturato',
+ 'trivella',
+ 'tromba',
+ 'trono',
+ 'troppo',
+ 'trottola',
+ 'trovare',
+ 'truccato',
+ 'tubatura',
+ 'tuffato',
+ 'tulipano',
+ 'tumulto',
+ 'tunisia',
+ 'turbare',
+ 'turchino',
+ 'tuta',
+ 'tutela',
+ 'ubicato',
+ 'uccello',
+ 'uccisore',
+ 'udire',
+ 'uditivo',
+ 'uffa',
+ 'ufficio',
+ 'uguale',
+ 'ulisse',
+ 'ultimato',
+ 'umano',
+ 'umile',
+ 'umorismo',
+ 'uncinetto',
+ 'ungere',
+ 'ungherese',
+ 'unicorno',
+ 'unificato',
+ 'unisono',
+ 'unitario',
+ 'unte',
+ 'uovo',
+ 'upupa',
+ 'uragano',
+ 'urgenza',
+ 'urlo',
+ 'usanza',
+ 'usato',
+ 'uscito',
+ 'usignolo',
+ 'usuraio',
+ 'utensile',
+ 'utilizzo',
+ 'utopia',
+ 'vacante',
+ 'vaccinato',
+ 'vagabondo',
+ 'vagliato',
+ 'valanga',
+ 'valgo',
+ 'valico',
+ 'valletta',
+ 'valoroso',
+ 'valutare',
+ 'valvola',
+ 'vampata',
+ 'vangare',
+ 'vanitoso',
+ 'vano',
+ 'vantaggio',
+ 'vanvera',
+ 'vapore',
+ 'varano',
+ 'varcato',
+ 'variante',
+ 'vasca',
+ 'vedetta',
+ 'vedova',
+ 'veduto',
+ 'vegetale',
+ 'veicolo',
+ 'velcro',
+ 'velina',
+ 'velluto',
+ 'veloce',
+ 'venato',
+ 'vendemmia',
+ 'vento',
+ 'verace',
+ 'verbale',
+ 'vergogna',
+ 'verifica',
+ 'vero',
+ 'verruca',
+ 'verticale',
+ 'vescica',
+ 'vessillo',
+ 'vestale',
+ 'veterano',
+ 'vetrina',
+ 'vetusto',
+ 'viandante',
+ 'vibrante',
+ 'vicenda',
+ 'vichingo',
+ 'vicinanza',
+ 'vidimare',
+ 'vigilia',
+ 'vigneto',
+ 'vigore',
+ 'vile',
+ 'villano',
+ 'vimini',
+ 'vincitore',
+ 'viola',
+ 'vipera',
+ 'virgola',
+ 'virologo',
+ 'virulento',
+ 'viscoso',
+ 'visione',
+ 'vispo',
+ 'vissuto',
+ 'visura',
+ 'vita',
+ 'vitello',
+ 'vittima',
+ 'vivanda',
+ 'vivido',
+ 'viziare',
+ 'voce',
+ 'voga',
+ 'volatile',
+ 'volere',
+ 'volpe',
+ 'voragine',
+ 'vulcano',
+ 'zampogna',
+ 'zanna',
+ 'zappato',
+ 'zattera',
+ 'zavorra',
+ 'zefiro',
+ 'zelante',
+ 'zelo',
+ 'zenzero',
+ 'zerbino',
+ 'zibetto',
+ 'zinco',
+ 'zircone',
+ 'zitto',
+ 'zolla',
+ 'zotico',
+ 'zucchero',
+ 'zufolo',
+ 'zulu',
+ 'zuppa',
+];
+
+const japanese = [
+ 'あいこくしん',
+ 'あいさつ',
+ 'あいだ',
+ 'あおぞら',
+ 'あかちゃん',
+ 'あきる',
+ 'あけがた',
+ 'あける',
+ 'あこがれる',
+ 'あさい',
+ 'あさひ',
+ 'あしあと',
+ 'あじわう',
+ 'あずかる',
+ 'あずき',
+ 'あそぶ',
+ 'あたえる',
+ 'あたためる',
+ 'あたりまえ',
+ 'あたる',
+ 'あつい',
+ 'あつかう',
+ 'あっしゅく',
+ 'あつまり',
+ 'あつめる',
+ 'あてな',
+ 'あてはまる',
+ 'あひる',
+ 'あぶら',
+ 'あぶる',
+ 'あふれる',
+ 'あまい',
+ 'あまど',
+ 'あまやかす',
+ 'あまり',
+ 'あみもの',
+ 'あめりか',
+ 'あやまる',
+ 'あゆむ',
+ 'あらいぐま',
+ 'あらし',
+ 'あらすじ',
+ 'あらためる',
+ 'あらゆる',
+ 'あらわす',
+ 'ありがとう',
+ 'あわせる',
+ 'あわてる',
+ 'あんい',
+ 'あんがい',
+ 'あんこ',
+ 'あんぜん',
+ 'あんてい',
+ 'あんない',
+ 'あんまり',
+ 'いいだす',
+ 'いおん',
+ 'いがい',
+ 'いがく',
+ 'いきおい',
+ 'いきなり',
+ 'いきもの',
+ 'いきる',
+ 'いくじ',
+ 'いくぶん',
+ 'いけばな',
+ 'いけん',
+ 'いこう',
+ 'いこく',
+ 'いこつ',
+ 'いさましい',
+ 'いさん',
+ 'いしき',
+ 'いじゅう',
+ 'いじょう',
+ 'いじわる',
+ 'いずみ',
+ 'いずれ',
+ 'いせい',
+ 'いせえび',
+ 'いせかい',
+ 'いせき',
+ 'いぜん',
+ 'いそうろう',
+ 'いそがしい',
+ 'いだい',
+ 'いだく',
+ 'いたずら',
+ 'いたみ',
+ 'いたりあ',
+ 'いちおう',
+ 'いちじ',
+ 'いちど',
+ 'いちば',
+ 'いちぶ',
+ 'いちりゅう',
+ 'いつか',
+ 'いっしゅん',
+ 'いっせい',
+ 'いっそう',
+ 'いったん',
+ 'いっち',
+ 'いってい',
+ 'いっぽう',
+ 'いてざ',
+ 'いてん',
+ 'いどう',
+ 'いとこ',
+ 'いない',
+ 'いなか',
+ 'いねむり',
+ 'いのち',
+ 'いのる',
+ 'いはつ',
+ 'いばる',
+ 'いはん',
+ 'いびき',
+ 'いひん',
+ 'いふく',
+ 'いへん',
+ 'いほう',
+ 'いみん',
+ 'いもうと',
+ 'いもたれ',
+ 'いもり',
+ 'いやがる',
+ 'いやす',
+ 'いよかん',
+ 'いよく',
+ 'いらい',
+ 'いらすと',
+ 'いりぐち',
+ 'いりょう',
+ 'いれい',
+ 'いれもの',
+ 'いれる',
+ 'いろえんぴつ',
+ 'いわい',
+ 'いわう',
+ 'いわかん',
+ 'いわば',
+ 'いわゆる',
+ 'いんげんまめ',
+ 'いんさつ',
+ 'いんしょう',
+ 'いんよう',
+ 'うえき',
+ 'うえる',
+ 'うおざ',
+ 'うがい',
+ 'うかぶ',
+ 'うかべる',
+ 'うきわ',
+ 'うくらいな',
+ 'うくれれ',
+ 'うけたまわる',
+ 'うけつけ',
+ 'うけとる',
+ 'うけもつ',
+ 'うける',
+ 'うごかす',
+ 'うごく',
+ 'うこん',
+ 'うさぎ',
+ 'うしなう',
+ 'うしろがみ',
+ 'うすい',
+ 'うすぎ',
+ 'うすぐらい',
+ 'うすめる',
+ 'うせつ',
+ 'うちあわせ',
+ 'うちがわ',
+ 'うちき',
+ 'うちゅう',
+ 'うっかり',
+ 'うつくしい',
+ 'うったえる',
+ 'うつる',
+ 'うどん',
+ 'うなぎ',
+ 'うなじ',
+ 'うなずく',
+ 'うなる',
+ 'うねる',
+ 'うのう',
+ 'うぶげ',
+ 'うぶごえ',
+ 'うまれる',
+ 'うめる',
+ 'うもう',
+ 'うやまう',
+ 'うよく',
+ 'うらがえす',
+ 'うらぐち',
+ 'うらない',
+ 'うりあげ',
+ 'うりきれ',
+ 'うるさい',
+ 'うれしい',
+ 'うれゆき',
+ 'うれる',
+ 'うろこ',
+ 'うわき',
+ 'うわさ',
+ 'うんこう',
+ 'うんちん',
+ 'うんてん',
+ 'うんどう',
+ 'えいえん',
+ 'えいが',
+ 'えいきょう',
+ 'えいご',
+ 'えいせい',
+ 'えいぶん',
+ 'えいよう',
+ 'えいわ',
+ 'えおり',
+ 'えがお',
+ 'えがく',
+ 'えきたい',
+ 'えくせる',
+ 'えしゃく',
+ 'えすて',
+ 'えつらん',
+ 'えのぐ',
+ 'えほうまき',
+ 'えほん',
+ 'えまき',
+ 'えもじ',
+ 'えもの',
+ 'えらい',
+ 'えらぶ',
+ 'えりあ',
+ 'えんえん',
+ 'えんかい',
+ 'えんぎ',
+ 'えんげき',
+ 'えんしゅう',
+ 'えんぜつ',
+ 'えんそく',
+ 'えんちょう',
+ 'えんとつ',
+ 'おいかける',
+ 'おいこす',
+ 'おいしい',
+ 'おいつく',
+ 'おうえん',
+ 'おうさま',
+ 'おうじ',
+ 'おうせつ',
+ 'おうたい',
+ 'おうふく',
+ 'おうべい',
+ 'おうよう',
+ 'おえる',
+ 'おおい',
+ 'おおう',
+ 'おおどおり',
+ 'おおや',
+ 'おおよそ',
+ 'おかえり',
+ 'おかず',
+ 'おがむ',
+ 'おかわり',
+ 'おぎなう',
+ 'おきる',
+ 'おくさま',
+ 'おくじょう',
+ 'おくりがな',
+ 'おくる',
+ 'おくれる',
+ 'おこす',
+ 'おこなう',
+ 'おこる',
+ 'おさえる',
+ 'おさない',
+ 'おさめる',
+ 'おしいれ',
+ 'おしえる',
+ 'おじぎ',
+ 'おじさん',
+ 'おしゃれ',
+ 'おそらく',
+ 'おそわる',
+ 'おたがい',
+ 'おたく',
+ 'おだやか',
+ 'おちつく',
+ 'おっと',
+ 'おつり',
+ 'おでかけ',
+ 'おとしもの',
+ 'おとなしい',
+ 'おどり',
+ 'おどろかす',
+ 'おばさん',
+ 'おまいり',
+ 'おめでとう',
+ 'おもいで',
+ 'おもう',
+ 'おもたい',
+ 'おもちゃ',
+ 'おやつ',
+ 'おやゆび',
+ 'およぼす',
+ 'おらんだ',
+ 'おろす',
+ 'おんがく',
+ 'おんけい',
+ 'おんしゃ',
+ 'おんせん',
+ 'おんだん',
+ 'おんちゅう',
+ 'おんどけい',
+ 'かあつ',
+ 'かいが',
+ 'がいき',
+ 'がいけん',
+ 'がいこう',
+ 'かいさつ',
+ 'かいしゃ',
+ 'かいすいよく',
+ 'かいぜん',
+ 'かいぞうど',
+ 'かいつう',
+ 'かいてん',
+ 'かいとう',
+ 'かいふく',
+ 'がいへき',
+ 'かいほう',
+ 'かいよう',
+ 'がいらい',
+ 'かいわ',
+ 'かえる',
+ 'かおり',
+ 'かかえる',
+ 'かがく',
+ 'かがし',
+ 'かがみ',
+ 'かくご',
+ 'かくとく',
+ 'かざる',
+ 'がぞう',
+ 'かたい',
+ 'かたち',
+ 'がちょう',
+ 'がっきゅう',
+ 'がっこう',
+ 'がっさん',
+ 'がっしょう',
+ 'かなざわし',
+ 'かのう',
+ 'がはく',
+ 'かぶか',
+ 'かほう',
+ 'かほご',
+ 'かまう',
+ 'かまぼこ',
+ 'かめれおん',
+ 'かゆい',
+ 'かようび',
+ 'からい',
+ 'かるい',
+ 'かろう',
+ 'かわく',
+ 'かわら',
+ 'がんか',
+ 'かんけい',
+ 'かんこう',
+ 'かんしゃ',
+ 'かんそう',
+ 'かんたん',
+ 'かんち',
+ 'がんばる',
+ 'きあい',
+ 'きあつ',
+ 'きいろ',
+ 'ぎいん',
+ 'きうい',
+ 'きうん',
+ 'きえる',
+ 'きおう',
+ 'きおく',
+ 'きおち',
+ 'きおん',
+ 'きかい',
+ 'きかく',
+ 'きかんしゃ',
+ 'ききて',
+ 'きくばり',
+ 'きくらげ',
+ 'きけんせい',
+ 'きこう',
+ 'きこえる',
+ 'きこく',
+ 'きさい',
+ 'きさく',
+ 'きさま',
+ 'きさらぎ',
+ 'ぎじかがく',
+ 'ぎしき',
+ 'ぎじたいけん',
+ 'ぎじにってい',
+ 'ぎじゅつしゃ',
+ 'きすう',
+ 'きせい',
+ 'きせき',
+ 'きせつ',
+ 'きそう',
+ 'きぞく',
+ 'きぞん',
+ 'きたえる',
+ 'きちょう',
+ 'きつえん',
+ 'ぎっちり',
+ 'きつつき',
+ 'きつね',
+ 'きてい',
+ 'きどう',
+ 'きどく',
+ 'きない',
+ 'きなが',
+ 'きなこ',
+ 'きぬごし',
+ 'きねん',
+ 'きのう',
+ 'きのした',
+ 'きはく',
+ 'きびしい',
+ 'きひん',
+ 'きふく',
+ 'きぶん',
+ 'きぼう',
+ 'きほん',
+ 'きまる',
+ 'きみつ',
+ 'きむずかしい',
+ 'きめる',
+ 'きもだめし',
+ 'きもち',
+ 'きもの',
+ 'きゃく',
+ 'きやく',
+ 'ぎゅうにく',
+ 'きよう',
+ 'きょうりゅう',
+ 'きらい',
+ 'きらく',
+ 'きりん',
+ 'きれい',
+ 'きれつ',
+ 'きろく',
+ 'ぎろん',
+ 'きわめる',
+ 'ぎんいろ',
+ 'きんかくじ',
+ 'きんじょ',
+ 'きんようび',
+ 'ぐあい',
+ 'くいず',
+ 'くうかん',
+ 'くうき',
+ 'くうぐん',
+ 'くうこう',
+ 'ぐうせい',
+ 'くうそう',
+ 'ぐうたら',
+ 'くうふく',
+ 'くうぼ',
+ 'くかん',
+ 'くきょう',
+ 'くげん',
+ 'ぐこう',
+ 'くさい',
+ 'くさき',
+ 'くさばな',
+ 'くさる',
+ 'くしゃみ',
+ 'くしょう',
+ 'くすのき',
+ 'くすりゆび',
+ 'くせげ',
+ 'くせん',
+ 'ぐたいてき',
+ 'くださる',
+ 'くたびれる',
+ 'くちこみ',
+ 'くちさき',
+ 'くつした',
+ 'ぐっすり',
+ 'くつろぐ',
+ 'くとうてん',
+ 'くどく',
+ 'くなん',
+ 'くねくね',
+ 'くのう',
+ 'くふう',
+ 'くみあわせ',
+ 'くみたてる',
+ 'くめる',
+ 'くやくしょ',
+ 'くらす',
+ 'くらべる',
+ 'くるま',
+ 'くれる',
+ 'くろう',
+ 'くわしい',
+ 'ぐんかん',
+ 'ぐんしょく',
+ 'ぐんたい',
+ 'ぐんて',
+ 'けあな',
+ 'けいかく',
+ 'けいけん',
+ 'けいこ',
+ 'けいさつ',
+ 'げいじゅつ',
+ 'けいたい',
+ 'げいのうじん',
+ 'けいれき',
+ 'けいろ',
+ 'けおとす',
+ 'けおりもの',
+ 'げきか',
+ 'げきげん',
+ 'げきだん',
+ 'げきちん',
+ 'げきとつ',
+ 'げきは',
+ 'げきやく',
+ 'げこう',
+ 'げこくじょう',
+ 'げざい',
+ 'けさき',
+ 'げざん',
+ 'けしき',
+ 'けしごむ',
+ 'けしょう',
+ 'げすと',
+ 'けたば',
+ 'けちゃっぷ',
+ 'けちらす',
+ 'けつあつ',
+ 'けつい',
+ 'けつえき',
+ 'けっこん',
+ 'けつじょ',
+ 'けっせき',
+ 'けってい',
+ 'けつまつ',
+ 'げつようび',
+ 'げつれい',
+ 'けつろん',
+ 'げどく',
+ 'けとばす',
+ 'けとる',
+ 'けなげ',
+ 'けなす',
+ 'けなみ',
+ 'けぬき',
+ 'げねつ',
+ 'けねん',
+ 'けはい',
+ 'げひん',
+ 'けぶかい',
+ 'げぼく',
+ 'けまり',
+ 'けみかる',
+ 'けむし',
+ 'けむり',
+ 'けもの',
+ 'けらい',
+ 'けろけろ',
+ 'けわしい',
+ 'けんい',
+ 'けんえつ',
+ 'けんお',
+ 'けんか',
+ 'げんき',
+ 'けんげん',
+ 'けんこう',
+ 'けんさく',
+ 'けんしゅう',
+ 'けんすう',
+ 'げんそう',
+ 'けんちく',
+ 'けんてい',
+ 'けんとう',
+ 'けんない',
+ 'けんにん',
+ 'げんぶつ',
+ 'けんま',
+ 'けんみん',
+ 'けんめい',
+ 'けんらん',
+ 'けんり',
+ 'こあくま',
+ 'こいぬ',
+ 'こいびと',
+ 'ごうい',
+ 'こうえん',
+ 'こうおん',
+ 'こうかん',
+ 'ごうきゅう',
+ 'ごうけい',
+ 'こうこう',
+ 'こうさい',
+ 'こうじ',
+ 'こうすい',
+ 'ごうせい',
+ 'こうそく',
+ 'こうたい',
+ 'こうちゃ',
+ 'こうつう',
+ 'こうてい',
+ 'こうどう',
+ 'こうない',
+ 'こうはい',
+ 'ごうほう',
+ 'ごうまん',
+ 'こうもく',
+ 'こうりつ',
+ 'こえる',
+ 'こおり',
+ 'ごかい',
+ 'ごがつ',
+ 'ごかん',
+ 'こくご',
+ 'こくさい',
+ 'こくとう',
+ 'こくない',
+ 'こくはく',
+ 'こぐま',
+ 'こけい',
+ 'こける',
+ 'ここのか',
+ 'こころ',
+ 'こさめ',
+ 'こしつ',
+ 'こすう',
+ 'こせい',
+ 'こせき',
+ 'こぜん',
+ 'こそだて',
+ 'こたい',
+ 'こたえる',
+ 'こたつ',
+ 'こちょう',
+ 'こっか',
+ 'こつこつ',
+ 'こつばん',
+ 'こつぶ',
+ 'こてい',
+ 'こてん',
+ 'ことがら',
+ 'ことし',
+ 'ことば',
+ 'ことり',
+ 'こなごな',
+ 'こねこね',
+ 'このまま',
+ 'このみ',
+ 'このよ',
+ 'ごはん',
+ 'こひつじ',
+ 'こふう',
+ 'こふん',
+ 'こぼれる',
+ 'ごまあぶら',
+ 'こまかい',
+ 'ごますり',
+ 'こまつな',
+ 'こまる',
+ 'こむぎこ',
+ 'こもじ',
+ 'こもち',
+ 'こもの',
+ 'こもん',
+ 'こやく',
+ 'こやま',
+ 'こゆう',
+ 'こゆび',
+ 'こよい',
+ 'こよう',
+ 'こりる',
+ 'これくしょん',
+ 'ころっけ',
+ 'こわもて',
+ 'こわれる',
+ 'こんいん',
+ 'こんかい',
+ 'こんき',
+ 'こんしゅう',
+ 'こんすい',
+ 'こんだて',
+ 'こんとん',
+ 'こんなん',
+ 'こんびに',
+ 'こんぽん',
+ 'こんまけ',
+ 'こんや',
+ 'こんれい',
+ 'こんわく',
+ 'ざいえき',
+ 'さいかい',
+ 'さいきん',
+ 'ざいげん',
+ 'ざいこ',
+ 'さいしょ',
+ 'さいせい',
+ 'ざいたく',
+ 'ざいちゅう',
+ 'さいてき',
+ 'ざいりょう',
+ 'さうな',
+ 'さかいし',
+ 'さがす',
+ 'さかな',
+ 'さかみち',
+ 'さがる',
+ 'さぎょう',
+ 'さくし',
+ 'さくひん',
+ 'さくら',
+ 'さこく',
+ 'さこつ',
+ 'さずかる',
+ 'ざせき',
+ 'さたん',
+ 'さつえい',
+ 'ざつおん',
+ 'ざっか',
+ 'ざつがく',
+ 'さっきょく',
+ 'ざっし',
+ 'さつじん',
+ 'ざっそう',
+ 'さつたば',
+ 'さつまいも',
+ 'さてい',
+ 'さといも',
+ 'さとう',
+ 'さとおや',
+ 'さとし',
+ 'さとる',
+ 'さのう',
+ 'さばく',
+ 'さびしい',
+ 'さべつ',
+ 'さほう',
+ 'さほど',
+ 'さます',
+ 'さみしい',
+ 'さみだれ',
+ 'さむけ',
+ 'さめる',
+ 'さやえんどう',
+ 'さゆう',
+ 'さよう',
+ 'さよく',
+ 'さらだ',
+ 'ざるそば',
+ 'さわやか',
+ 'さわる',
+ 'さんいん',
+ 'さんか',
+ 'さんきゃく',
+ 'さんこう',
+ 'さんさい',
+ 'ざんしょ',
+ 'さんすう',
+ 'さんせい',
+ 'さんそ',
+ 'さんち',
+ 'さんま',
+ 'さんみ',
+ 'さんらん',
+ 'しあい',
+ 'しあげ',
+ 'しあさって',
+ 'しあわせ',
+ 'しいく',
+ 'しいん',
+ 'しうち',
+ 'しえい',
+ 'しおけ',
+ 'しかい',
+ 'しかく',
+ 'じかん',
+ 'しごと',
+ 'しすう',
+ 'じだい',
+ 'したうけ',
+ 'したぎ',
+ 'したて',
+ 'したみ',
+ 'しちょう',
+ 'しちりん',
+ 'しっかり',
+ 'しつじ',
+ 'しつもん',
+ 'してい',
+ 'してき',
+ 'してつ',
+ 'じてん',
+ 'じどう',
+ 'しなぎれ',
+ 'しなもの',
+ 'しなん',
+ 'しねま',
+ 'しねん',
+ 'しのぐ',
+ 'しのぶ',
+ 'しはい',
+ 'しばかり',
+ 'しはつ',
+ 'しはらい',
+ 'しはん',
+ 'しひょう',
+ 'しふく',
+ 'じぶん',
+ 'しへい',
+ 'しほう',
+ 'しほん',
+ 'しまう',
+ 'しまる',
+ 'しみん',
+ 'しむける',
+ 'じむしょ',
+ 'しめい',
+ 'しめる',
+ 'しもん',
+ 'しゃいん',
+ 'しゃうん',
+ 'しゃおん',
+ 'じゃがいも',
+ 'しやくしょ',
+ 'しゃくほう',
+ 'しゃけん',
+ 'しゃこ',
+ 'しゃざい',
+ 'しゃしん',
+ 'しゃせん',
+ 'しゃそう',
+ 'しゃたい',
+ 'しゃちょう',
+ 'しゃっきん',
+ 'じゃま',
+ 'しゃりん',
+ 'しゃれい',
+ 'じゆう',
+ 'じゅうしょ',
+ 'しゅくはく',
+ 'じゅしん',
+ 'しゅっせき',
+ 'しゅみ',
+ 'しゅらば',
+ 'じゅんばん',
+ 'しょうかい',
+ 'しょくたく',
+ 'しょっけん',
+ 'しょどう',
+ 'しょもつ',
+ 'しらせる',
+ 'しらべる',
+ 'しんか',
+ 'しんこう',
+ 'じんじゃ',
+ 'しんせいじ',
+ 'しんちく',
+ 'しんりん',
+ 'すあげ',
+ 'すあし',
+ 'すあな',
+ 'ずあん',
+ 'すいえい',
+ 'すいか',
+ 'すいとう',
+ 'ずいぶん',
+ 'すいようび',
+ 'すうがく',
+ 'すうじつ',
+ 'すうせん',
+ 'すおどり',
+ 'すきま',
+ 'すくう',
+ 'すくない',
+ 'すける',
+ 'すごい',
+ 'すこし',
+ 'ずさん',
+ 'すずしい',
+ 'すすむ',
+ 'すすめる',
+ 'すっかり',
+ 'ずっしり',
+ 'ずっと',
+ 'すてき',
+ 'すてる',
+ 'すねる',
+ 'すのこ',
+ 'すはだ',
+ 'すばらしい',
+ 'ずひょう',
+ 'ずぶぬれ',
+ 'すぶり',
+ 'すふれ',
+ 'すべて',
+ 'すべる',
+ 'ずほう',
+ 'すぼん',
+ 'すまい',
+ 'すめし',
+ 'すもう',
+ 'すやき',
+ 'すらすら',
+ 'するめ',
+ 'すれちがう',
+ 'すろっと',
+ 'すわる',
+ 'すんぜん',
+ 'すんぽう',
+ 'せあぶら',
+ 'せいかつ',
+ 'せいげん',
+ 'せいじ',
+ 'せいよう',
+ 'せおう',
+ 'せかいかん',
+ 'せきにん',
+ 'せきむ',
+ 'せきゆ',
+ 'せきらんうん',
+ 'せけん',
+ 'せこう',
+ 'せすじ',
+ 'せたい',
+ 'せたけ',
+ 'せっかく',
+ 'せっきゃく',
+ 'ぜっく',
+ 'せっけん',
+ 'せっこつ',
+ 'せっさたくま',
+ 'せつぞく',
+ 'せつだん',
+ 'せつでん',
+ 'せっぱん',
+ 'せつび',
+ 'せつぶん',
+ 'せつめい',
+ 'せつりつ',
+ 'せなか',
+ 'せのび',
+ 'せはば',
+ 'せびろ',
+ 'せぼね',
+ 'せまい',
+ 'せまる',
+ 'せめる',
+ 'せもたれ',
+ 'せりふ',
+ 'ぜんあく',
+ 'せんい',
+ 'せんえい',
+ 'せんか',
+ 'せんきょ',
+ 'せんく',
+ 'せんげん',
+ 'ぜんご',
+ 'せんさい',
+ 'せんしゅ',
+ 'せんすい',
+ 'せんせい',
+ 'せんぞ',
+ 'せんたく',
+ 'せんちょう',
+ 'せんてい',
+ 'せんとう',
+ 'せんぬき',
+ 'せんねん',
+ 'せんぱい',
+ 'ぜんぶ',
+ 'ぜんぽう',
+ 'せんむ',
+ 'せんめんじょ',
+ 'せんもん',
+ 'せんやく',
+ 'せんゆう',
+ 'せんよう',
+ 'ぜんら',
+ 'ぜんりゃく',
+ 'せんれい',
+ 'せんろ',
+ 'そあく',
+ 'そいとげる',
+ 'そいね',
+ 'そうがんきょう',
+ 'そうき',
+ 'そうご',
+ 'そうしん',
+ 'そうだん',
+ 'そうなん',
+ 'そうび',
+ 'そうめん',
+ 'そうり',
+ 'そえもの',
+ 'そえん',
+ 'そがい',
+ 'そげき',
+ 'そこう',
+ 'そこそこ',
+ 'そざい',
+ 'そしな',
+ 'そせい',
+ 'そせん',
+ 'そそぐ',
+ 'そだてる',
+ 'そつう',
+ 'そつえん',
+ 'そっかん',
+ 'そつぎょう',
+ 'そっけつ',
+ 'そっこう',
+ 'そっせん',
+ 'そっと',
+ 'そとがわ',
+ 'そとづら',
+ 'そなえる',
+ 'そなた',
+ 'そふぼ',
+ 'そぼく',
+ 'そぼろ',
+ 'そまつ',
+ 'そまる',
+ 'そむく',
+ 'そむりえ',
+ 'そめる',
+ 'そもそも',
+ 'そよかぜ',
+ 'そらまめ',
+ 'そろう',
+ 'そんかい',
+ 'そんけい',
+ 'そんざい',
+ 'そんしつ',
+ 'そんぞく',
+ 'そんちょう',
+ 'ぞんび',
+ 'ぞんぶん',
+ 'そんみん',
+ 'たあい',
+ 'たいいん',
+ 'たいうん',
+ 'たいえき',
+ 'たいおう',
+ 'だいがく',
+ 'たいき',
+ 'たいぐう',
+ 'たいけん',
+ 'たいこ',
+ 'たいざい',
+ 'だいじょうぶ',
+ 'だいすき',
+ 'たいせつ',
+ 'たいそう',
+ 'だいたい',
+ 'たいちょう',
+ 'たいてい',
+ 'だいどころ',
+ 'たいない',
+ 'たいねつ',
+ 'たいのう',
+ 'たいはん',
+ 'だいひょう',
+ 'たいふう',
+ 'たいへん',
+ 'たいほ',
+ 'たいまつばな',
+ 'たいみんぐ',
+ 'たいむ',
+ 'たいめん',
+ 'たいやき',
+ 'たいよう',
+ 'たいら',
+ 'たいりょく',
+ 'たいる',
+ 'たいわん',
+ 'たうえ',
+ 'たえる',
+ 'たおす',
+ 'たおる',
+ 'たおれる',
+ 'たかい',
+ 'たかね',
+ 'たきび',
+ 'たくさん',
+ 'たこく',
+ 'たこやき',
+ 'たさい',
+ 'たしざん',
+ 'だじゃれ',
+ 'たすける',
+ 'たずさわる',
+ 'たそがれ',
+ 'たたかう',
+ 'たたく',
+ 'ただしい',
+ 'たたみ',
+ 'たちばな',
+ 'だっかい',
+ 'だっきゃく',
+ 'だっこ',
+ 'だっしゅつ',
+ 'だったい',
+ 'たてる',
+ 'たとえる',
+ 'たなばた',
+ 'たにん',
+ 'たぬき',
+ 'たのしみ',
+ 'たはつ',
+ 'たぶん',
+ 'たべる',
+ 'たぼう',
+ 'たまご',
+ 'たまる',
+ 'だむる',
+ 'ためいき',
+ 'ためす',
+ 'ためる',
+ 'たもつ',
+ 'たやすい',
+ 'たよる',
+ 'たらす',
+ 'たりきほんがん',
+ 'たりょう',
+ 'たりる',
+ 'たると',
+ 'たれる',
+ 'たれんと',
+ 'たろっと',
+ 'たわむれる',
+ 'だんあつ',
+ 'たんい',
+ 'たんおん',
+ 'たんか',
+ 'たんき',
+ 'たんけん',
+ 'たんご',
+ 'たんさん',
+ 'たんじょうび',
+ 'だんせい',
+ 'たんそく',
+ 'たんたい',
+ 'だんち',
+ 'たんてい',
+ 'たんとう',
+ 'だんな',
+ 'たんにん',
+ 'だんねつ',
+ 'たんのう',
+ 'たんぴん',
+ 'だんぼう',
+ 'たんまつ',
+ 'たんめい',
+ 'だんれつ',
+ 'だんろ',
+ 'だんわ',
+ 'ちあい',
+ 'ちあん',
+ 'ちいき',
+ 'ちいさい',
+ 'ちえん',
+ 'ちかい',
+ 'ちから',
+ 'ちきゅう',
+ 'ちきん',
+ 'ちけいず',
+ 'ちけん',
+ 'ちこく',
+ 'ちさい',
+ 'ちしき',
+ 'ちしりょう',
+ 'ちせい',
+ 'ちそう',
+ 'ちたい',
+ 'ちたん',
+ 'ちちおや',
+ 'ちつじょ',
+ 'ちてき',
+ 'ちてん',
+ 'ちぬき',
+ 'ちぬり',
+ 'ちのう',
+ 'ちひょう',
+ 'ちへいせん',
+ 'ちほう',
+ 'ちまた',
+ 'ちみつ',
+ 'ちみどろ',
+ 'ちめいど',
+ 'ちゃんこなべ',
+ 'ちゅうい',
+ 'ちゆりょく',
+ 'ちょうし',
+ 'ちょさくけん',
+ 'ちらし',
+ 'ちらみ',
+ 'ちりがみ',
+ 'ちりょう',
+ 'ちるど',
+ 'ちわわ',
+ 'ちんたい',
+ 'ちんもく',
+ 'ついか',
+ 'ついたち',
+ 'つうか',
+ 'つうじょう',
+ 'つうはん',
+ 'つうわ',
+ 'つかう',
+ 'つかれる',
+ 'つくね',
+ 'つくる',
+ 'つけね',
+ 'つける',
+ 'つごう',
+ 'つたえる',
+ 'つづく',
+ 'つつじ',
+ 'つつむ',
+ 'つとめる',
+ 'つながる',
+ 'つなみ',
+ 'つねづね',
+ 'つのる',
+ 'つぶす',
+ 'つまらない',
+ 'つまる',
+ 'つみき',
+ 'つめたい',
+ 'つもり',
+ 'つもる',
+ 'つよい',
+ 'つるぼ',
+ 'つるみく',
+ 'つわもの',
+ 'つわり',
+ 'てあし',
+ 'てあて',
+ 'てあみ',
+ 'ていおん',
+ 'ていか',
+ 'ていき',
+ 'ていけい',
+ 'ていこく',
+ 'ていさつ',
+ 'ていし',
+ 'ていせい',
+ 'ていたい',
+ 'ていど',
+ 'ていねい',
+ 'ていひょう',
+ 'ていへん',
+ 'ていぼう',
+ 'てうち',
+ 'ておくれ',
+ 'てきとう',
+ 'てくび',
+ 'でこぼこ',
+ 'てさぎょう',
+ 'てさげ',
+ 'てすり',
+ 'てそう',
+ 'てちがい',
+ 'てちょう',
+ 'てつがく',
+ 'てつづき',
+ 'でっぱ',
+ 'てつぼう',
+ 'てつや',
+ 'でぬかえ',
+ 'てぬき',
+ 'てぬぐい',
+ 'てのひら',
+ 'てはい',
+ 'てぶくろ',
+ 'てふだ',
+ 'てほどき',
+ 'てほん',
+ 'てまえ',
+ 'てまきずし',
+ 'てみじか',
+ 'てみやげ',
+ 'てらす',
+ 'てれび',
+ 'てわけ',
+ 'てわたし',
+ 'でんあつ',
+ 'てんいん',
+ 'てんかい',
+ 'てんき',
+ 'てんぐ',
+ 'てんけん',
+ 'てんごく',
+ 'てんさい',
+ 'てんし',
+ 'てんすう',
+ 'でんち',
+ 'てんてき',
+ 'てんとう',
+ 'てんない',
+ 'てんぷら',
+ 'てんぼうだい',
+ 'てんめつ',
+ 'てんらんかい',
+ 'でんりょく',
+ 'でんわ',
+ 'どあい',
+ 'といれ',
+ 'どうかん',
+ 'とうきゅう',
+ 'どうぐ',
+ 'とうし',
+ 'とうむぎ',
+ 'とおい',
+ 'とおか',
+ 'とおく',
+ 'とおす',
+ 'とおる',
+ 'とかい',
+ 'とかす',
+ 'ときおり',
+ 'ときどき',
+ 'とくい',
+ 'とくしゅう',
+ 'とくてん',
+ 'とくに',
+ 'とくべつ',
+ 'とけい',
+ 'とける',
+ 'とこや',
+ 'とさか',
+ 'としょかん',
+ 'とそう',
+ 'とたん',
+ 'とちゅう',
+ 'とっきゅう',
+ 'とっくん',
+ 'とつぜん',
+ 'とつにゅう',
+ 'とどける',
+ 'ととのえる',
+ 'とない',
+ 'となえる',
+ 'となり',
+ 'とのさま',
+ 'とばす',
+ 'どぶがわ',
+ 'とほう',
+ 'とまる',
+ 'とめる',
+ 'ともだち',
+ 'ともる',
+ 'どようび',
+ 'とらえる',
+ 'とんかつ',
+ 'どんぶり',
+ 'ないかく',
+ 'ないこう',
+ 'ないしょ',
+ 'ないす',
+ 'ないせん',
+ 'ないそう',
+ 'なおす',
+ 'ながい',
+ 'なくす',
+ 'なげる',
+ 'なこうど',
+ 'なさけ',
+ 'なたでここ',
+ 'なっとう',
+ 'なつやすみ',
+ 'ななおし',
+ 'なにごと',
+ 'なにもの',
+ 'なにわ',
+ 'なのか',
+ 'なふだ',
+ 'なまいき',
+ 'なまえ',
+ 'なまみ',
+ 'なみだ',
+ 'なめらか',
+ 'なめる',
+ 'なやむ',
+ 'ならう',
+ 'ならび',
+ 'ならぶ',
+ 'なれる',
+ 'なわとび',
+ 'なわばり',
+ 'にあう',
+ 'にいがた',
+ 'にうけ',
+ 'におい',
+ 'にかい',
+ 'にがて',
+ 'にきび',
+ 'にくしみ',
+ 'にくまん',
+ 'にげる',
+ 'にさんかたんそ',
+ 'にしき',
+ 'にせもの',
+ 'にちじょう',
+ 'にちようび',
+ 'にっか',
+ 'にっき',
+ 'にっけい',
+ 'にっこう',
+ 'にっさん',
+ 'にっしょく',
+ 'にっすう',
+ 'にっせき',
+ 'にってい',
+ 'になう',
+ 'にほん',
+ 'にまめ',
+ 'にもつ',
+ 'にやり',
+ 'にゅういん',
+ 'にりんしゃ',
+ 'にわとり',
+ 'にんい',
+ 'にんか',
+ 'にんき',
+ 'にんげん',
+ 'にんしき',
+ 'にんずう',
+ 'にんそう',
+ 'にんたい',
+ 'にんち',
+ 'にんてい',
+ 'にんにく',
+ 'にんぷ',
+ 'にんまり',
+ 'にんむ',
+ 'にんめい',
+ 'にんよう',
+ 'ぬいくぎ',
+ 'ぬかす',
+ 'ぬぐいとる',
+ 'ぬぐう',
+ 'ぬくもり',
+ 'ぬすむ',
+ 'ぬまえび',
+ 'ぬめり',
+ 'ぬらす',
+ 'ぬんちゃく',
+ 'ねあげ',
+ 'ねいき',
+ 'ねいる',
+ 'ねいろ',
+ 'ねぐせ',
+ 'ねくたい',
+ 'ねくら',
+ 'ねこぜ',
+ 'ねこむ',
+ 'ねさげ',
+ 'ねすごす',
+ 'ねそべる',
+ 'ねだん',
+ 'ねつい',
+ 'ねっしん',
+ 'ねつぞう',
+ 'ねったいぎょ',
+ 'ねぶそく',
+ 'ねふだ',
+ 'ねぼう',
+ 'ねほりはほり',
+ 'ねまき',
+ 'ねまわし',
+ 'ねみみ',
+ 'ねむい',
+ 'ねむたい',
+ 'ねもと',
+ 'ねらう',
+ 'ねわざ',
+ 'ねんいり',
+ 'ねんおし',
+ 'ねんかん',
+ 'ねんきん',
+ 'ねんぐ',
+ 'ねんざ',
+ 'ねんし',
+ 'ねんちゃく',
+ 'ねんど',
+ 'ねんぴ',
+ 'ねんぶつ',
+ 'ねんまつ',
+ 'ねんりょう',
+ 'ねんれい',
+ 'のいず',
+ 'のおづま',
+ 'のがす',
+ 'のきなみ',
+ 'のこぎり',
+ 'のこす',
+ 'のこる',
+ 'のせる',
+ 'のぞく',
+ 'のぞむ',
+ 'のたまう',
+ 'のちほど',
+ 'のっく',
+ 'のばす',
+ 'のはら',
+ 'のべる',
+ 'のぼる',
+ 'のみもの',
+ 'のやま',
+ 'のらいぬ',
+ 'のらねこ',
+ 'のりもの',
+ 'のりゆき',
+ 'のれん',
+ 'のんき',
+ 'ばあい',
+ 'はあく',
+ 'ばあさん',
+ 'ばいか',
+ 'ばいく',
+ 'はいけん',
+ 'はいご',
+ 'はいしん',
+ 'はいすい',
+ 'はいせん',
+ 'はいそう',
+ 'はいち',
+ 'ばいばい',
+ 'はいれつ',
+ 'はえる',
+ 'はおる',
+ 'はかい',
+ 'ばかり',
+ 'はかる',
+ 'はくしゅ',
+ 'はけん',
+ 'はこぶ',
+ 'はさみ',
+ 'はさん',
+ 'はしご',
+ 'ばしょ',
+ 'はしる',
+ 'はせる',
+ 'ぱそこん',
+ 'はそん',
+ 'はたん',
+ 'はちみつ',
+ 'はつおん',
+ 'はっかく',
+ 'はづき',
+ 'はっきり',
+ 'はっくつ',
+ 'はっけん',
+ 'はっこう',
+ 'はっさん',
+ 'はっしん',
+ 'はったつ',
+ 'はっちゅう',
+ 'はってん',
+ 'はっぴょう',
+ 'はっぽう',
+ 'はなす',
+ 'はなび',
+ 'はにかむ',
+ 'はぶらし',
+ 'はみがき',
+ 'はむかう',
+ 'はめつ',
+ 'はやい',
+ 'はやし',
+ 'はらう',
+ 'はろうぃん',
+ 'はわい',
+ 'はんい',
+ 'はんえい',
+ 'はんおん',
+ 'はんかく',
+ 'はんきょう',
+ 'ばんぐみ',
+ 'はんこ',
+ 'はんしゃ',
+ 'はんすう',
+ 'はんだん',
+ 'ぱんち',
+ 'ぱんつ',
+ 'はんてい',
+ 'はんとし',
+ 'はんのう',
+ 'はんぱ',
+ 'はんぶん',
+ 'はんぺん',
+ 'はんぼうき',
+ 'はんめい',
+ 'はんらん',
+ 'はんろん',
+ 'ひいき',
+ 'ひうん',
+ 'ひえる',
+ 'ひかく',
+ 'ひかり',
+ 'ひかる',
+ 'ひかん',
+ 'ひくい',
+ 'ひけつ',
+ 'ひこうき',
+ 'ひこく',
+ 'ひさい',
+ 'ひさしぶり',
+ 'ひさん',
+ 'びじゅつかん',
+ 'ひしょ',
+ 'ひそか',
+ 'ひそむ',
+ 'ひたむき',
+ 'ひだり',
+ 'ひたる',
+ 'ひつぎ',
+ 'ひっこし',
+ 'ひっし',
+ 'ひつじゅひん',
+ 'ひっす',
+ 'ひつぜん',
+ 'ぴったり',
+ 'ぴっちり',
+ 'ひつよう',
+ 'ひてい',
+ 'ひとごみ',
+ 'ひなまつり',
+ 'ひなん',
+ 'ひねる',
+ 'ひはん',
+ 'ひびく',
+ 'ひひょう',
+ 'ひほう',
+ 'ひまわり',
+ 'ひまん',
+ 'ひみつ',
+ 'ひめい',
+ 'ひめじし',
+ 'ひやけ',
+ 'ひやす',
+ 'ひよう',
+ 'びょうき',
+ 'ひらがな',
+ 'ひらく',
+ 'ひりつ',
+ 'ひりょう',
+ 'ひるま',
+ 'ひるやすみ',
+ 'ひれい',
+ 'ひろい',
+ 'ひろう',
+ 'ひろき',
+ 'ひろゆき',
+ 'ひんかく',
+ 'ひんけつ',
+ 'ひんこん',
+ 'ひんしゅ',
+ 'ひんそう',
+ 'ぴんち',
+ 'ひんぱん',
+ 'びんぼう',
+ 'ふあん',
+ 'ふいうち',
+ 'ふうけい',
+ 'ふうせん',
+ 'ぷうたろう',
+ 'ふうとう',
+ 'ふうふ',
+ 'ふえる',
+ 'ふおん',
+ 'ふかい',
+ 'ふきん',
+ 'ふくざつ',
+ 'ふくぶくろ',
+ 'ふこう',
+ 'ふさい',
+ 'ふしぎ',
+ 'ふじみ',
+ 'ふすま',
+ 'ふせい',
+ 'ふせぐ',
+ 'ふそく',
+ 'ぶたにく',
+ 'ふたん',
+ 'ふちょう',
+ 'ふつう',
+ 'ふつか',
+ 'ふっかつ',
+ 'ふっき',
+ 'ふっこく',
+ 'ぶどう',
+ 'ふとる',
+ 'ふとん',
+ 'ふのう',
+ 'ふはい',
+ 'ふひょう',
+ 'ふへん',
+ 'ふまん',
+ 'ふみん',
+ 'ふめつ',
+ 'ふめん',
+ 'ふよう',
+ 'ふりこ',
+ 'ふりる',
+ 'ふるい',
+ 'ふんいき',
+ 'ぶんがく',
+ 'ぶんぐ',
+ 'ふんしつ',
+ 'ぶんせき',
+ 'ふんそう',
+ 'ぶんぽう',
+ 'へいあん',
+ 'へいおん',
+ 'へいがい',
+ 'へいき',
+ 'へいげん',
+ 'へいこう',
+ 'へいさ',
+ 'へいしゃ',
+ 'へいせつ',
+ 'へいそ',
+ 'へいたく',
+ 'へいてん',
+ 'へいねつ',
+ 'へいわ',
+ 'へきが',
+ 'へこむ',
+ 'べにいろ',
+ 'べにしょうが',
+ 'へらす',
+ 'へんかん',
+ 'べんきょう',
+ 'べんごし',
+ 'へんさい',
+ 'へんたい',
+ 'べんり',
+ 'ほあん',
+ 'ほいく',
+ 'ぼうぎょ',
+ 'ほうこく',
+ 'ほうそう',
+ 'ほうほう',
+ 'ほうもん',
+ 'ほうりつ',
+ 'ほえる',
+ 'ほおん',
+ 'ほかん',
+ 'ほきょう',
+ 'ぼきん',
+ 'ほくろ',
+ 'ほけつ',
+ 'ほけん',
+ 'ほこう',
+ 'ほこる',
+ 'ほしい',
+ 'ほしつ',
+ 'ほしゅ',
+ 'ほしょう',
+ 'ほせい',
+ 'ほそい',
+ 'ほそく',
+ 'ほたて',
+ 'ほたる',
+ 'ぽちぶくろ',
+ 'ほっきょく',
+ 'ほっさ',
+ 'ほったん',
+ 'ほとんど',
+ 'ほめる',
+ 'ほんい',
+ 'ほんき',
+ 'ほんけ',
+ 'ほんしつ',
+ 'ほんやく',
+ 'まいにち',
+ 'まかい',
+ 'まかせる',
+ 'まがる',
+ 'まける',
+ 'まこと',
+ 'まさつ',
+ 'まじめ',
+ 'ますく',
+ 'まぜる',
+ 'まつり',
+ 'まとめ',
+ 'まなぶ',
+ 'まぬけ',
+ 'まねく',
+ 'まほう',
+ 'まもる',
+ 'まゆげ',
+ 'まよう',
+ 'まろやか',
+ 'まわす',
+ 'まわり',
+ 'まわる',
+ 'まんが',
+ 'まんきつ',
+ 'まんぞく',
+ 'まんなか',
+ 'みいら',
+ 'みうち',
+ 'みえる',
+ 'みがく',
+ 'みかた',
+ 'みかん',
+ 'みけん',
+ 'みこん',
+ 'みじかい',
+ 'みすい',
+ 'みすえる',
+ 'みせる',
+ 'みっか',
+ 'みつかる',
+ 'みつける',
+ 'みてい',
+ 'みとめる',
+ 'みなと',
+ 'みなみかさい',
+ 'みねらる',
+ 'みのう',
+ 'みのがす',
+ 'みほん',
+ 'みもと',
+ 'みやげ',
+ 'みらい',
+ 'みりょく',
+ 'みわく',
+ 'みんか',
+ 'みんぞく',
+ 'むいか',
+ 'むえき',
+ 'むえん',
+ 'むかい',
+ 'むかう',
+ 'むかえ',
+ 'むかし',
+ 'むぎちゃ',
+ 'むける',
+ 'むげん',
+ 'むさぼる',
+ 'むしあつい',
+ 'むしば',
+ 'むじゅん',
+ 'むしろ',
+ 'むすう',
+ 'むすこ',
+ 'むすぶ',
+ 'むすめ',
+ 'むせる',
+ 'むせん',
+ 'むちゅう',
+ 'むなしい',
+ 'むのう',
+ 'むやみ',
+ 'むよう',
+ 'むらさき',
+ 'むりょう',
+ 'むろん',
+ 'めいあん',
+ 'めいうん',
+ 'めいえん',
+ 'めいかく',
+ 'めいきょく',
+ 'めいさい',
+ 'めいし',
+ 'めいそう',
+ 'めいぶつ',
+ 'めいれい',
+ 'めいわく',
+ 'めぐまれる',
+ 'めざす',
+ 'めした',
+ 'めずらしい',
+ 'めだつ',
+ 'めまい',
+ 'めやす',
+ 'めんきょ',
+ 'めんせき',
+ 'めんどう',
+ 'もうしあげる',
+ 'もうどうけん',
+ 'もえる',
+ 'もくし',
+ 'もくてき',
+ 'もくようび',
+ 'もちろん',
+ 'もどる',
+ 'もらう',
+ 'もんく',
+ 'もんだい',
+ 'やおや',
+ 'やける',
+ 'やさい',
+ 'やさしい',
+ 'やすい',
+ 'やすたろう',
+ 'やすみ',
+ 'やせる',
+ 'やそう',
+ 'やたい',
+ 'やちん',
+ 'やっと',
+ 'やっぱり',
+ 'やぶる',
+ 'やめる',
+ 'ややこしい',
+ 'やよい',
+ 'やわらかい',
+ 'ゆうき',
+ 'ゆうびんきょく',
+ 'ゆうべ',
+ 'ゆうめい',
+ 'ゆけつ',
+ 'ゆしゅつ',
+ 'ゆせん',
+ 'ゆそう',
+ 'ゆたか',
+ 'ゆちゃく',
+ 'ゆでる',
+ 'ゆにゅう',
+ 'ゆびわ',
+ 'ゆらい',
+ 'ゆれる',
+ 'ようい',
+ 'ようか',
+ 'ようきゅう',
+ 'ようじ',
+ 'ようす',
+ 'ようちえん',
+ 'よかぜ',
+ 'よかん',
+ 'よきん',
+ 'よくせい',
+ 'よくぼう',
+ 'よけい',
+ 'よごれる',
+ 'よさん',
+ 'よしゅう',
+ 'よそう',
+ 'よそく',
+ 'よっか',
+ 'よてい',
+ 'よどがわく',
+ 'よねつ',
+ 'よやく',
+ 'よゆう',
+ 'よろこぶ',
+ 'よろしい',
+ 'らいう',
+ 'らくがき',
+ 'らくご',
+ 'らくさつ',
+ 'らくだ',
+ 'らしんばん',
+ 'らせん',
+ 'らぞく',
+ 'らたい',
+ 'らっか',
+ 'られつ',
+ 'りえき',
+ 'りかい',
+ 'りきさく',
+ 'りきせつ',
+ 'りくぐん',
+ 'りくつ',
+ 'りけん',
+ 'りこう',
+ 'りせい',
+ 'りそう',
+ 'りそく',
+ 'りてん',
+ 'りねん',
+ 'りゆう',
+ 'りゅうがく',
+ 'りよう',
+ 'りょうり',
+ 'りょかん',
+ 'りょくちゃ',
+ 'りょこう',
+ 'りりく',
+ 'りれき',
+ 'りろん',
+ 'りんご',
+ 'るいけい',
+ 'るいさい',
+ 'るいじ',
+ 'るいせき',
+ 'るすばん',
+ 'るりがわら',
+ 'れいかん',
+ 'れいぎ',
+ 'れいせい',
+ 'れいぞうこ',
+ 'れいとう',
+ 'れいぼう',
+ 'れきし',
+ 'れきだい',
+ 'れんあい',
+ 'れんけい',
+ 'れんこん',
+ 'れんさい',
+ 'れんしゅう',
+ 'れんぞく',
+ 'れんらく',
+ 'ろうか',
+ 'ろうご',
+ 'ろうじん',
+ 'ろうそく',
+ 'ろくが',
+ 'ろこつ',
+ 'ろじうら',
+ 'ろしゅつ',
+ 'ろせん',
+ 'ろてん',
+ 'ろめん',
+ 'ろれつ',
+ 'ろんぎ',
+ 'ろんぱ',
+ 'ろんぶん',
+ 'ろんり',
+ 'わかす',
+ 'わかめ',
+ 'わかやま',
+ 'わかれる',
+ 'わしつ',
+ 'わじまし',
+ 'わすれもの',
+ 'わらう',
+ 'われる',
+];
+
+const korean = [
+ '가격',
+ '가끔',
+ '가난',
+ '가능',
+ '가득',
+ '가르침',
+ '가뭄',
+ '가방',
+ '가상',
+ '가슴',
+ '가운데',
+ '가을',
+ '가이드',
+ '가입',
+ '가장',
+ '가정',
+ '가족',
+ '가죽',
+ '각오',
+ '각자',
+ '간격',
+ '간부',
+ '간섭',
+ '간장',
+ '간접',
+ '간판',
+ '갈등',
+ '갈비',
+ '갈색',
+ '갈증',
+ '감각',
+ '감기',
+ '감소',
+ '감수성',
+ '감자',
+ '감정',
+ '갑자기',
+ '강남',
+ '강당',
+ '강도',
+ '강력히',
+ '강변',
+ '강북',
+ '강사',
+ '강수량',
+ '강아지',
+ '강원도',
+ '강의',
+ '강제',
+ '강조',
+ '같이',
+ '개구리',
+ '개나리',
+ '개방',
+ '개별',
+ '개선',
+ '개성',
+ '개인',
+ '객관적',
+ '거실',
+ '거액',
+ '거울',
+ '거짓',
+ '거품',
+ '걱정',
+ '건강',
+ '건물',
+ '건설',
+ '건조',
+ '건축',
+ '걸음',
+ '검사',
+ '검토',
+ '게시판',
+ '게임',
+ '겨울',
+ '견해',
+ '결과',
+ '결국',
+ '결론',
+ '결석',
+ '결승',
+ '결심',
+ '결정',
+ '결혼',
+ '경계',
+ '경고',
+ '경기',
+ '경력',
+ '경복궁',
+ '경비',
+ '경상도',
+ '경영',
+ '경우',
+ '경쟁',
+ '경제',
+ '경주',
+ '경찰',
+ '경치',
+ '경향',
+ '경험',
+ '계곡',
+ '계단',
+ '계란',
+ '계산',
+ '계속',
+ '계약',
+ '계절',
+ '계층',
+ '계획',
+ '고객',
+ '고구려',
+ '고궁',
+ '고급',
+ '고등학생',
+ '고무신',
+ '고민',
+ '고양이',
+ '고장',
+ '고전',
+ '고집',
+ '고춧가루',
+ '고통',
+ '고향',
+ '곡식',
+ '골목',
+ '골짜기',
+ '골프',
+ '공간',
+ '공개',
+ '공격',
+ '공군',
+ '공급',
+ '공기',
+ '공동',
+ '공무원',
+ '공부',
+ '공사',
+ '공식',
+ '공업',
+ '공연',
+ '공원',
+ '공장',
+ '공짜',
+ '공책',
+ '공통',
+ '공포',
+ '공항',
+ '공휴일',
+ '과목',
+ '과일',
+ '과장',
+ '과정',
+ '과학',
+ '관객',
+ '관계',
+ '관광',
+ '관념',
+ '관람',
+ '관련',
+ '관리',
+ '관습',
+ '관심',
+ '관점',
+ '관찰',
+ '광경',
+ '광고',
+ '광장',
+ '광주',
+ '괴로움',
+ '굉장히',
+ '교과서',
+ '교문',
+ '교복',
+ '교실',
+ '교양',
+ '교육',
+ '교장',
+ '교직',
+ '교통',
+ '교환',
+ '교훈',
+ '구경',
+ '구름',
+ '구멍',
+ '구별',
+ '구분',
+ '구석',
+ '구성',
+ '구속',
+ '구역',
+ '구입',
+ '구청',
+ '구체적',
+ '국가',
+ '국기',
+ '국내',
+ '국립',
+ '국물',
+ '국민',
+ '국수',
+ '국어',
+ '국왕',
+ '국적',
+ '국제',
+ '국회',
+ '군대',
+ '군사',
+ '군인',
+ '궁극적',
+ '권리',
+ '권위',
+ '권투',
+ '귀국',
+ '귀신',
+ '규정',
+ '규칙',
+ '균형',
+ '그날',
+ '그냥',
+ '그늘',
+ '그러나',
+ '그룹',
+ '그릇',
+ '그림',
+ '그제서야',
+ '그토록',
+ '극복',
+ '극히',
+ '근거',
+ '근교',
+ '근래',
+ '근로',
+ '근무',
+ '근본',
+ '근원',
+ '근육',
+ '근처',
+ '글씨',
+ '글자',
+ '금강산',
+ '금고',
+ '금년',
+ '금메달',
+ '금액',
+ '금연',
+ '금요일',
+ '금지',
+ '긍정적',
+ '기간',
+ '기관',
+ '기념',
+ '기능',
+ '기독교',
+ '기둥',
+ '기록',
+ '기름',
+ '기법',
+ '기본',
+ '기분',
+ '기쁨',
+ '기숙사',
+ '기술',
+ '기억',
+ '기업',
+ '기온',
+ '기운',
+ '기원',
+ '기적',
+ '기준',
+ '기침',
+ '기혼',
+ '기획',
+ '긴급',
+ '긴장',
+ '길이',
+ '김밥',
+ '김치',
+ '김포공항',
+ '깍두기',
+ '깜빡',
+ '깨달음',
+ '깨소금',
+ '껍질',
+ '꼭대기',
+ '꽃잎',
+ '나들이',
+ '나란히',
+ '나머지',
+ '나물',
+ '나침반',
+ '나흘',
+ '낙엽',
+ '난방',
+ '날개',
+ '날씨',
+ '날짜',
+ '남녀',
+ '남대문',
+ '남매',
+ '남산',
+ '남자',
+ '남편',
+ '남학생',
+ '낭비',
+ '낱말',
+ '내년',
+ '내용',
+ '내일',
+ '냄비',
+ '냄새',
+ '냇물',
+ '냉동',
+ '냉면',
+ '냉방',
+ '냉장고',
+ '넥타이',
+ '넷째',
+ '노동',
+ '노란색',
+ '노력',
+ '노인',
+ '녹음',
+ '녹차',
+ '녹화',
+ '논리',
+ '논문',
+ '논쟁',
+ '놀이',
+ '농구',
+ '농담',
+ '농민',
+ '농부',
+ '농업',
+ '농장',
+ '농촌',
+ '높이',
+ '눈동자',
+ '눈물',
+ '눈썹',
+ '뉴욕',
+ '느낌',
+ '늑대',
+ '능동적',
+ '능력',
+ '다방',
+ '다양성',
+ '다음',
+ '다이어트',
+ '다행',
+ '단계',
+ '단골',
+ '단독',
+ '단맛',
+ '단순',
+ '단어',
+ '단위',
+ '단점',
+ '단체',
+ '단추',
+ '단편',
+ '단풍',
+ '달걀',
+ '달러',
+ '달력',
+ '달리',
+ '닭고기',
+ '담당',
+ '담배',
+ '담요',
+ '담임',
+ '답변',
+ '답장',
+ '당근',
+ '당분간',
+ '당연히',
+ '당장',
+ '대규모',
+ '대낮',
+ '대단히',
+ '대답',
+ '대도시',
+ '대략',
+ '대량',
+ '대륙',
+ '대문',
+ '대부분',
+ '대신',
+ '대응',
+ '대장',
+ '대전',
+ '대접',
+ '대중',
+ '대책',
+ '대출',
+ '대충',
+ '대통령',
+ '대학',
+ '대한민국',
+ '대합실',
+ '대형',
+ '덩어리',
+ '데이트',
+ '도대체',
+ '도덕',
+ '도둑',
+ '도망',
+ '도서관',
+ '도심',
+ '도움',
+ '도입',
+ '도자기',
+ '도저히',
+ '도전',
+ '도중',
+ '도착',
+ '독감',
+ '독립',
+ '독서',
+ '독일',
+ '독창적',
+ '동화책',
+ '뒷모습',
+ '뒷산',
+ '딸아이',
+ '마누라',
+ '마늘',
+ '마당',
+ '마라톤',
+ '마련',
+ '마무리',
+ '마사지',
+ '마약',
+ '마요네즈',
+ '마을',
+ '마음',
+ '마이크',
+ '마중',
+ '마지막',
+ '마찬가지',
+ '마찰',
+ '마흔',
+ '막걸리',
+ '막내',
+ '막상',
+ '만남',
+ '만두',
+ '만세',
+ '만약',
+ '만일',
+ '만점',
+ '만족',
+ '만화',
+ '많이',
+ '말기',
+ '말씀',
+ '말투',
+ '맘대로',
+ '망원경',
+ '매년',
+ '매달',
+ '매력',
+ '매번',
+ '매스컴',
+ '매일',
+ '매장',
+ '맥주',
+ '먹이',
+ '먼저',
+ '먼지',
+ '멀리',
+ '메일',
+ '며느리',
+ '며칠',
+ '면담',
+ '멸치',
+ '명단',
+ '명령',
+ '명예',
+ '명의',
+ '명절',
+ '명칭',
+ '명함',
+ '모금',
+ '모니터',
+ '모델',
+ '모든',
+ '모범',
+ '모습',
+ '모양',
+ '모임',
+ '모조리',
+ '모집',
+ '모퉁이',
+ '목걸이',
+ '목록',
+ '목사',
+ '목소리',
+ '목숨',
+ '목적',
+ '목표',
+ '몰래',
+ '몸매',
+ '몸무게',
+ '몸살',
+ '몸속',
+ '몸짓',
+ '몸통',
+ '몹시',
+ '무관심',
+ '무궁화',
+ '무더위',
+ '무덤',
+ '무릎',
+ '무슨',
+ '무엇',
+ '무역',
+ '무용',
+ '무조건',
+ '무지개',
+ '무척',
+ '문구',
+ '문득',
+ '문법',
+ '문서',
+ '문제',
+ '문학',
+ '문화',
+ '물가',
+ '물건',
+ '물결',
+ '물고기',
+ '물론',
+ '물리학',
+ '물음',
+ '물질',
+ '물체',
+ '미국',
+ '미디어',
+ '미사일',
+ '미술',
+ '미역',
+ '미용실',
+ '미움',
+ '미인',
+ '미팅',
+ '미혼',
+ '민간',
+ '민족',
+ '민주',
+ '믿음',
+ '밀가루',
+ '밀리미터',
+ '밑바닥',
+ '바가지',
+ '바구니',
+ '바나나',
+ '바늘',
+ '바닥',
+ '바닷가',
+ '바람',
+ '바이러스',
+ '바탕',
+ '박물관',
+ '박사',
+ '박수',
+ '반대',
+ '반드시',
+ '반말',
+ '반발',
+ '반성',
+ '반응',
+ '반장',
+ '반죽',
+ '반지',
+ '반찬',
+ '받침',
+ '발가락',
+ '발걸음',
+ '발견',
+ '발달',
+ '발레',
+ '발목',
+ '발바닥',
+ '발생',
+ '발음',
+ '발자국',
+ '발전',
+ '발톱',
+ '발표',
+ '밤하늘',
+ '밥그릇',
+ '밥맛',
+ '밥상',
+ '밥솥',
+ '방금',
+ '방면',
+ '방문',
+ '방바닥',
+ '방법',
+ '방송',
+ '방식',
+ '방안',
+ '방울',
+ '방지',
+ '방학',
+ '방해',
+ '방향',
+ '배경',
+ '배꼽',
+ '배달',
+ '배드민턴',
+ '백두산',
+ '백색',
+ '백성',
+ '백인',
+ '백제',
+ '백화점',
+ '버릇',
+ '버섯',
+ '버튼',
+ '번개',
+ '번역',
+ '번지',
+ '번호',
+ '벌금',
+ '벌레',
+ '벌써',
+ '범위',
+ '범인',
+ '범죄',
+ '법률',
+ '법원',
+ '법적',
+ '법칙',
+ '베이징',
+ '벨트',
+ '변경',
+ '변동',
+ '변명',
+ '변신',
+ '변호사',
+ '변화',
+ '별도',
+ '별명',
+ '별일',
+ '병실',
+ '병아리',
+ '병원',
+ '보관',
+ '보너스',
+ '보라색',
+ '보람',
+ '보름',
+ '보상',
+ '보안',
+ '보자기',
+ '보장',
+ '보전',
+ '보존',
+ '보통',
+ '보편적',
+ '보험',
+ '복도',
+ '복사',
+ '복숭아',
+ '복습',
+ '볶음',
+ '본격적',
+ '본래',
+ '본부',
+ '본사',
+ '본성',
+ '본인',
+ '본질',
+ '볼펜',
+ '봉사',
+ '봉지',
+ '봉투',
+ '부근',
+ '부끄러움',
+ '부담',
+ '부동산',
+ '부문',
+ '부분',
+ '부산',
+ '부상',
+ '부엌',
+ '부인',
+ '부작용',
+ '부장',
+ '부정',
+ '부족',
+ '부지런히',
+ '부친',
+ '부탁',
+ '부품',
+ '부회장',
+ '북부',
+ '북한',
+ '분노',
+ '분량',
+ '분리',
+ '분명',
+ '분석',
+ '분야',
+ '분위기',
+ '분필',
+ '분홍색',
+ '불고기',
+ '불과',
+ '불교',
+ '불꽃',
+ '불만',
+ '불법',
+ '불빛',
+ '불안',
+ '불이익',
+ '불행',
+ '브랜드',
+ '비극',
+ '비난',
+ '비닐',
+ '비둘기',
+ '비디오',
+ '비로소',
+ '비만',
+ '비명',
+ '비밀',
+ '비바람',
+ '비빔밥',
+ '비상',
+ '비용',
+ '비율',
+ '비중',
+ '비타민',
+ '비판',
+ '빌딩',
+ '빗물',
+ '빗방울',
+ '빗줄기',
+ '빛깔',
+ '빨간색',
+ '빨래',
+ '빨리',
+ '사건',
+ '사계절',
+ '사나이',
+ '사냥',
+ '사람',
+ '사랑',
+ '사립',
+ '사모님',
+ '사물',
+ '사방',
+ '사상',
+ '사생활',
+ '사설',
+ '사슴',
+ '사실',
+ '사업',
+ '사용',
+ '사월',
+ '사장',
+ '사전',
+ '사진',
+ '사촌',
+ '사춘기',
+ '사탕',
+ '사투리',
+ '사흘',
+ '산길',
+ '산부인과',
+ '산업',
+ '산책',
+ '살림',
+ '살인',
+ '살짝',
+ '삼계탕',
+ '삼국',
+ '삼십',
+ '삼월',
+ '삼촌',
+ '상관',
+ '상금',
+ '상대',
+ '상류',
+ '상반기',
+ '상상',
+ '상식',
+ '상업',
+ '상인',
+ '상자',
+ '상점',
+ '상처',
+ '상추',
+ '상태',
+ '상표',
+ '상품',
+ '상황',
+ '새벽',
+ '색깔',
+ '색연필',
+ '생각',
+ '생명',
+ '생물',
+ '생방송',
+ '생산',
+ '생선',
+ '생신',
+ '생일',
+ '생활',
+ '서랍',
+ '서른',
+ '서명',
+ '서민',
+ '서비스',
+ '서양',
+ '서울',
+ '서적',
+ '서점',
+ '서쪽',
+ '서클',
+ '석사',
+ '석유',
+ '선거',
+ '선물',
+ '선배',
+ '선생',
+ '선수',
+ '선원',
+ '선장',
+ '선전',
+ '선택',
+ '선풍기',
+ '설거지',
+ '설날',
+ '설렁탕',
+ '설명',
+ '설문',
+ '설사',
+ '설악산',
+ '설치',
+ '설탕',
+ '섭씨',
+ '성공',
+ '성당',
+ '성명',
+ '성별',
+ '성인',
+ '성장',
+ '성적',
+ '성질',
+ '성함',
+ '세금',
+ '세미나',
+ '세상',
+ '세월',
+ '세종대왕',
+ '세탁',
+ '센터',
+ '센티미터',
+ '셋째',
+ '소규모',
+ '소극적',
+ '소금',
+ '소나기',
+ '소년',
+ '소득',
+ '소망',
+ '소문',
+ '소설',
+ '소속',
+ '소아과',
+ '소용',
+ '소원',
+ '소음',
+ '소중히',
+ '소지품',
+ '소질',
+ '소풍',
+ '소형',
+ '속담',
+ '속도',
+ '속옷',
+ '손가락',
+ '손길',
+ '손녀',
+ '손님',
+ '손등',
+ '손목',
+ '손뼉',
+ '손실',
+ '손질',
+ '손톱',
+ '손해',
+ '솔직히',
+ '솜씨',
+ '송아지',
+ '송이',
+ '송편',
+ '쇠고기',
+ '쇼핑',
+ '수건',
+ '수년',
+ '수단',
+ '수돗물',
+ '수동적',
+ '수면',
+ '수명',
+ '수박',
+ '수상',
+ '수석',
+ '수술',
+ '수시로',
+ '수업',
+ '수염',
+ '수영',
+ '수입',
+ '수준',
+ '수집',
+ '수출',
+ '수컷',
+ '수필',
+ '수학',
+ '수험생',
+ '수화기',
+ '숙녀',
+ '숙소',
+ '숙제',
+ '순간',
+ '순서',
+ '순수',
+ '순식간',
+ '순위',
+ '숟가락',
+ '술병',
+ '술집',
+ '숫자',
+ '스님',
+ '스물',
+ '스스로',
+ '스승',
+ '스웨터',
+ '스위치',
+ '스케이트',
+ '스튜디오',
+ '스트레스',
+ '스포츠',
+ '슬쩍',
+ '슬픔',
+ '습관',
+ '습기',
+ '승객',
+ '승리',
+ '승부',
+ '승용차',
+ '승진',
+ '시각',
+ '시간',
+ '시골',
+ '시금치',
+ '시나리오',
+ '시댁',
+ '시리즈',
+ '시멘트',
+ '시민',
+ '시부모',
+ '시선',
+ '시설',
+ '시스템',
+ '시아버지',
+ '시어머니',
+ '시월',
+ '시인',
+ '시일',
+ '시작',
+ '시장',
+ '시절',
+ '시점',
+ '시중',
+ '시즌',
+ '시집',
+ '시청',
+ '시합',
+ '시험',
+ '식구',
+ '식기',
+ '식당',
+ '식량',
+ '식료품',
+ '식물',
+ '식빵',
+ '식사',
+ '식생활',
+ '식초',
+ '식탁',
+ '식품',
+ '신고',
+ '신규',
+ '신념',
+ '신문',
+ '신발',
+ '신비',
+ '신사',
+ '신세',
+ '신용',
+ '신제품',
+ '신청',
+ '신체',
+ '신화',
+ '실감',
+ '실내',
+ '실력',
+ '실례',
+ '실망',
+ '실수',
+ '실습',
+ '실시',
+ '실장',
+ '실정',
+ '실질적',
+ '실천',
+ '실체',
+ '실컷',
+ '실태',
+ '실패',
+ '실험',
+ '실현',
+ '심리',
+ '심부름',
+ '심사',
+ '심장',
+ '심정',
+ '심판',
+ '쌍둥이',
+ '씨름',
+ '씨앗',
+ '아가씨',
+ '아나운서',
+ '아드님',
+ '아들',
+ '아쉬움',
+ '아스팔트',
+ '아시아',
+ '아울러',
+ '아저씨',
+ '아줌마',
+ '아직',
+ '아침',
+ '아파트',
+ '아프리카',
+ '아픔',
+ '아홉',
+ '아흔',
+ '악기',
+ '악몽',
+ '악수',
+ '안개',
+ '안경',
+ '안과',
+ '안내',
+ '안녕',
+ '안동',
+ '안방',
+ '안부',
+ '안주',
+ '알루미늄',
+ '알코올',
+ '암시',
+ '암컷',
+ '압력',
+ '앞날',
+ '앞문',
+ '애인',
+ '애정',
+ '액수',
+ '앨범',
+ '야간',
+ '야단',
+ '야옹',
+ '약간',
+ '약국',
+ '약속',
+ '약수',
+ '약점',
+ '약품',
+ '약혼녀',
+ '양념',
+ '양력',
+ '양말',
+ '양배추',
+ '양주',
+ '양파',
+ '어둠',
+ '어려움',
+ '어른',
+ '어젯밤',
+ '어쨌든',
+ '어쩌다가',
+ '어쩐지',
+ '언니',
+ '언덕',
+ '언론',
+ '언어',
+ '얼굴',
+ '얼른',
+ '얼음',
+ '얼핏',
+ '엄마',
+ '업무',
+ '업종',
+ '업체',
+ '엉덩이',
+ '엉망',
+ '엉터리',
+ '엊그제',
+ '에너지',
+ '에어컨',
+ '엔진',
+ '여건',
+ '여고생',
+ '여관',
+ '여군',
+ '여권',
+ '여대생',
+ '여덟',
+ '여동생',
+ '여든',
+ '여론',
+ '여름',
+ '여섯',
+ '여성',
+ '여왕',
+ '여인',
+ '여전히',
+ '여직원',
+ '여학생',
+ '여행',
+ '역사',
+ '역시',
+ '역할',
+ '연결',
+ '연구',
+ '연극',
+ '연기',
+ '연락',
+ '연설',
+ '연세',
+ '연속',
+ '연습',
+ '연애',
+ '연예인',
+ '연인',
+ '연장',
+ '연주',
+ '연출',
+ '연필',
+ '연합',
+ '연휴',
+ '열기',
+ '열매',
+ '열쇠',
+ '열심히',
+ '열정',
+ '열차',
+ '열흘',
+ '염려',
+ '엽서',
+ '영국',
+ '영남',
+ '영상',
+ '영양',
+ '영역',
+ '영웅',
+ '영원히',
+ '영하',
+ '영향',
+ '영혼',
+ '영화',
+ '옆구리',
+ '옆방',
+ '옆집',
+ '예감',
+ '예금',
+ '예방',
+ '예산',
+ '예상',
+ '예선',
+ '예술',
+ '예습',
+ '예식장',
+ '예약',
+ '예전',
+ '예절',
+ '예정',
+ '예컨대',
+ '옛날',
+ '오늘',
+ '오락',
+ '오랫동안',
+ '오렌지',
+ '오로지',
+ '오른발',
+ '오븐',
+ '오십',
+ '오염',
+ '오월',
+ '오전',
+ '오직',
+ '오징어',
+ '오페라',
+ '오피스텔',
+ '오히려',
+ '옥상',
+ '옥수수',
+ '온갖',
+ '온라인',
+ '온몸',
+ '온종일',
+ '온통',
+ '올가을',
+ '올림픽',
+ '올해',
+ '옷차림',
+ '와이셔츠',
+ '와인',
+ '완성',
+ '완전',
+ '왕비',
+ '왕자',
+ '왜냐하면',
+ '왠지',
+ '외갓집',
+ '외국',
+ '외로움',
+ '외삼촌',
+ '외출',
+ '외침',
+ '외할머니',
+ '왼발',
+ '왼손',
+ '왼쪽',
+ '요금',
+ '요일',
+ '요즘',
+ '요청',
+ '용기',
+ '용서',
+ '용어',
+ '우산',
+ '우선',
+ '우승',
+ '우연히',
+ '우정',
+ '우체국',
+ '우편',
+ '운동',
+ '운명',
+ '운반',
+ '운전',
+ '운행',
+ '울산',
+ '울음',
+ '움직임',
+ '웃어른',
+ '웃음',
+ '워낙',
+ '원고',
+ '원래',
+ '원서',
+ '원숭이',
+ '원인',
+ '원장',
+ '원피스',
+ '월급',
+ '월드컵',
+ '월세',
+ '월요일',
+ '웨이터',
+ '위반',
+ '위법',
+ '위성',
+ '위원',
+ '위험',
+ '위협',
+ '윗사람',
+ '유난히',
+ '유럽',
+ '유명',
+ '유물',
+ '유산',
+ '유적',
+ '유치원',
+ '유학',
+ '유행',
+ '유형',
+ '육군',
+ '육상',
+ '육십',
+ '육체',
+ '은행',
+ '음력',
+ '음료',
+ '음반',
+ '음성',
+ '음식',
+ '음악',
+ '음주',
+ '의견',
+ '의논',
+ '의문',
+ '의복',
+ '의식',
+ '의심',
+ '의외로',
+ '의욕',
+ '의원',
+ '의학',
+ '이것',
+ '이곳',
+ '이념',
+ '이놈',
+ '이달',
+ '이대로',
+ '이동',
+ '이렇게',
+ '이력서',
+ '이론적',
+ '이름',
+ '이민',
+ '이발소',
+ '이별',
+ '이불',
+ '이빨',
+ '이상',
+ '이성',
+ '이슬',
+ '이야기',
+ '이용',
+ '이웃',
+ '이월',
+ '이윽고',
+ '이익',
+ '이전',
+ '이중',
+ '이튿날',
+ '이틀',
+ '이혼',
+ '인간',
+ '인격',
+ '인공',
+ '인구',
+ '인근',
+ '인기',
+ '인도',
+ '인류',
+ '인물',
+ '인생',
+ '인쇄',
+ '인연',
+ '인원',
+ '인재',
+ '인종',
+ '인천',
+ '인체',
+ '인터넷',
+ '인하',
+ '인형',
+ '일곱',
+ '일기',
+ '일단',
+ '일대',
+ '일등',
+ '일반',
+ '일본',
+ '일부',
+ '일상',
+ '일생',
+ '일손',
+ '일요일',
+ '일월',
+ '일정',
+ '일종',
+ '일주일',
+ '일찍',
+ '일체',
+ '일치',
+ '일행',
+ '일회용',
+ '임금',
+ '임무',
+ '입대',
+ '입력',
+ '입맛',
+ '입사',
+ '입술',
+ '입시',
+ '입원',
+ '입장',
+ '입학',
+ '자가용',
+ '자격',
+ '자극',
+ '자동',
+ '자랑',
+ '자부심',
+ '자식',
+ '자신',
+ '자연',
+ '자원',
+ '자율',
+ '자전거',
+ '자정',
+ '자존심',
+ '자판',
+ '작가',
+ '작년',
+ '작성',
+ '작업',
+ '작용',
+ '작은딸',
+ '작품',
+ '잔디',
+ '잔뜩',
+ '잔치',
+ '잘못',
+ '잠깐',
+ '잠수함',
+ '잠시',
+ '잠옷',
+ '잠자리',
+ '잡지',
+ '장관',
+ '장군',
+ '장기간',
+ '장래',
+ '장례',
+ '장르',
+ '장마',
+ '장면',
+ '장모',
+ '장미',
+ '장비',
+ '장사',
+ '장소',
+ '장식',
+ '장애인',
+ '장인',
+ '장점',
+ '장차',
+ '장학금',
+ '재능',
+ '재빨리',
+ '재산',
+ '재생',
+ '재작년',
+ '재정',
+ '재채기',
+ '재판',
+ '재학',
+ '재활용',
+ '저것',
+ '저고리',
+ '저곳',
+ '저녁',
+ '저런',
+ '저렇게',
+ '저번',
+ '저울',
+ '저절로',
+ '저축',
+ '적극',
+ '적당히',
+ '적성',
+ '적용',
+ '적응',
+ '전개',
+ '전공',
+ '전기',
+ '전달',
+ '전라도',
+ '전망',
+ '전문',
+ '전반',
+ '전부',
+ '전세',
+ '전시',
+ '전용',
+ '전자',
+ '전쟁',
+ '전주',
+ '전철',
+ '전체',
+ '전통',
+ '전혀',
+ '전후',
+ '절대',
+ '절망',
+ '절반',
+ '절약',
+ '절차',
+ '점검',
+ '점수',
+ '점심',
+ '점원',
+ '점점',
+ '점차',
+ '접근',
+ '접시',
+ '접촉',
+ '젓가락',
+ '정거장',
+ '정도',
+ '정류장',
+ '정리',
+ '정말',
+ '정면',
+ '정문',
+ '정반대',
+ '정보',
+ '정부',
+ '정비',
+ '정상',
+ '정성',
+ '정오',
+ '정원',
+ '정장',
+ '정지',
+ '정치',
+ '정확히',
+ '제공',
+ '제과점',
+ '제대로',
+ '제목',
+ '제발',
+ '제법',
+ '제삿날',
+ '제안',
+ '제일',
+ '제작',
+ '제주도',
+ '제출',
+ '제품',
+ '제한',
+ '조각',
+ '조건',
+ '조금',
+ '조깅',
+ '조명',
+ '조미료',
+ '조상',
+ '조선',
+ '조용히',
+ '조절',
+ '조정',
+ '조직',
+ '존댓말',
+ '존재',
+ '졸업',
+ '졸음',
+ '종교',
+ '종로',
+ '종류',
+ '종소리',
+ '종업원',
+ '종종',
+ '종합',
+ '좌석',
+ '죄인',
+ '주관적',
+ '주름',
+ '주말',
+ '주머니',
+ '주먹',
+ '주문',
+ '주민',
+ '주방',
+ '주변',
+ '주식',
+ '주인',
+ '주일',
+ '주장',
+ '주전자',
+ '주택',
+ '준비',
+ '줄거리',
+ '줄기',
+ '줄무늬',
+ '중간',
+ '중계방송',
+ '중국',
+ '중년',
+ '중단',
+ '중독',
+ '중반',
+ '중부',
+ '중세',
+ '중소기업',
+ '중순',
+ '중앙',
+ '중요',
+ '중학교',
+ '즉석',
+ '즉시',
+ '즐거움',
+ '증가',
+ '증거',
+ '증권',
+ '증상',
+ '증세',
+ '지각',
+ '지갑',
+ '지경',
+ '지극히',
+ '지금',
+ '지급',
+ '지능',
+ '지름길',
+ '지리산',
+ '지방',
+ '지붕',
+ '지식',
+ '지역',
+ '지우개',
+ '지원',
+ '지적',
+ '지점',
+ '지진',
+ '지출',
+ '직선',
+ '직업',
+ '직원',
+ '직장',
+ '진급',
+ '진동',
+ '진로',
+ '진료',
+ '진리',
+ '진짜',
+ '진찰',
+ '진출',
+ '진통',
+ '진행',
+ '질문',
+ '질병',
+ '질서',
+ '짐작',
+ '집단',
+ '집안',
+ '집중',
+ '짜증',
+ '찌꺼기',
+ '차남',
+ '차라리',
+ '차량',
+ '차림',
+ '차별',
+ '차선',
+ '차츰',
+ '착각',
+ '찬물',
+ '찬성',
+ '참가',
+ '참기름',
+ '참새',
+ '참석',
+ '참여',
+ '참외',
+ '참조',
+ '찻잔',
+ '창가',
+ '창고',
+ '창구',
+ '창문',
+ '창밖',
+ '창작',
+ '창조',
+ '채널',
+ '채점',
+ '책가방',
+ '책방',
+ '책상',
+ '책임',
+ '챔피언',
+ '처벌',
+ '처음',
+ '천국',
+ '천둥',
+ '천장',
+ '천재',
+ '천천히',
+ '철도',
+ '철저히',
+ '철학',
+ '첫날',
+ '첫째',
+ '청년',
+ '청바지',
+ '청소',
+ '청춘',
+ '체계',
+ '체력',
+ '체온',
+ '체육',
+ '체중',
+ '체험',
+ '초등학생',
+ '초반',
+ '초밥',
+ '초상화',
+ '초순',
+ '초여름',
+ '초원',
+ '초저녁',
+ '초점',
+ '초청',
+ '초콜릿',
+ '촛불',
+ '총각',
+ '총리',
+ '총장',
+ '촬영',
+ '최근',
+ '최상',
+ '최선',
+ '최신',
+ '최악',
+ '최종',
+ '추석',
+ '추억',
+ '추진',
+ '추천',
+ '추측',
+ '축구',
+ '축소',
+ '축제',
+ '축하',
+ '출근',
+ '출발',
+ '출산',
+ '출신',
+ '출연',
+ '출입',
+ '출장',
+ '출판',
+ '충격',
+ '충고',
+ '충돌',
+ '충분히',
+ '충청도',
+ '취업',
+ '취직',
+ '취향',
+ '치약',
+ '친구',
+ '친척',
+ '칠십',
+ '칠월',
+ '칠판',
+ '침대',
+ '침묵',
+ '침실',
+ '칫솔',
+ '칭찬',
+ '카메라',
+ '카운터',
+ '칼국수',
+ '캐릭터',
+ '캠퍼스',
+ '캠페인',
+ '커튼',
+ '컨디션',
+ '컬러',
+ '컴퓨터',
+ '코끼리',
+ '코미디',
+ '콘서트',
+ '콜라',
+ '콤플렉스',
+ '콩나물',
+ '쾌감',
+ '쿠데타',
+ '크림',
+ '큰길',
+ '큰딸',
+ '큰소리',
+ '큰아들',
+ '큰어머니',
+ '큰일',
+ '큰절',
+ '클래식',
+ '클럽',
+ '킬로',
+ '타입',
+ '타자기',
+ '탁구',
+ '탁자',
+ '탄생',
+ '태권도',
+ '태양',
+ '태풍',
+ '택시',
+ '탤런트',
+ '터널',
+ '터미널',
+ '테니스',
+ '테스트',
+ '테이블',
+ '텔레비전',
+ '토론',
+ '토마토',
+ '토요일',
+ '통계',
+ '통과',
+ '통로',
+ '통신',
+ '통역',
+ '통일',
+ '통장',
+ '통제',
+ '통증',
+ '통합',
+ '통화',
+ '퇴근',
+ '퇴원',
+ '퇴직금',
+ '튀김',
+ '트럭',
+ '특급',
+ '특별',
+ '특성',
+ '특수',
+ '특징',
+ '특히',
+ '튼튼히',
+ '티셔츠',
+ '파란색',
+ '파일',
+ '파출소',
+ '판결',
+ '판단',
+ '판매',
+ '판사',
+ '팔십',
+ '팔월',
+ '팝송',
+ '패션',
+ '팩스',
+ '팩시밀리',
+ '팬티',
+ '퍼센트',
+ '페인트',
+ '편견',
+ '편의',
+ '편지',
+ '편히',
+ '평가',
+ '평균',
+ '평생',
+ '평소',
+ '평양',
+ '평일',
+ '평화',
+ '포스터',
+ '포인트',
+ '포장',
+ '포함',
+ '표면',
+ '표정',
+ '표준',
+ '표현',
+ '품목',
+ '품질',
+ '풍경',
+ '풍속',
+ '풍습',
+ '프랑스',
+ '프린터',
+ '플라스틱',
+ '피곤',
+ '피망',
+ '피아노',
+ '필름',
+ '필수',
+ '필요',
+ '필자',
+ '필통',
+ '핑계',
+ '하느님',
+ '하늘',
+ '하드웨어',
+ '하룻밤',
+ '하반기',
+ '하숙집',
+ '하순',
+ '하여튼',
+ '하지만',
+ '하천',
+ '하품',
+ '하필',
+ '학과',
+ '학교',
+ '학급',
+ '학기',
+ '학년',
+ '학력',
+ '학번',
+ '학부모',
+ '학비',
+ '학생',
+ '학술',
+ '학습',
+ '학용품',
+ '학원',
+ '학위',
+ '학자',
+ '학점',
+ '한계',
+ '한글',
+ '한꺼번에',
+ '한낮',
+ '한눈',
+ '한동안',
+ '한때',
+ '한라산',
+ '한마디',
+ '한문',
+ '한번',
+ '한복',
+ '한식',
+ '한여름',
+ '한쪽',
+ '할머니',
+ '할아버지',
+ '할인',
+ '함께',
+ '함부로',
+ '합격',
+ '합리적',
+ '항공',
+ '항구',
+ '항상',
+ '항의',
+ '해결',
+ '해군',
+ '해답',
+ '해당',
+ '해물',
+ '해석',
+ '해설',
+ '해수욕장',
+ '해안',
+ '핵심',
+ '핸드백',
+ '햄버거',
+ '햇볕',
+ '햇살',
+ '행동',
+ '행복',
+ '행사',
+ '행운',
+ '행위',
+ '향기',
+ '향상',
+ '향수',
+ '허락',
+ '허용',
+ '헬기',
+ '현관',
+ '현금',
+ '현대',
+ '현상',
+ '현실',
+ '현장',
+ '현재',
+ '현지',
+ '혈액',
+ '협력',
+ '형부',
+ '형사',
+ '형수',
+ '형식',
+ '형제',
+ '형태',
+ '형편',
+ '혜택',
+ '호기심',
+ '호남',
+ '호랑이',
+ '호박',
+ '호텔',
+ '호흡',
+ '혹시',
+ '홀로',
+ '홈페이지',
+ '홍보',
+ '홍수',
+ '홍차',
+ '화면',
+ '화분',
+ '화살',
+ '화요일',
+ '화장',
+ '화학',
+ '확보',
+ '확인',
+ '확장',
+ '확정',
+ '환갑',
+ '환경',
+ '환영',
+ '환율',
+ '환자',
+ '활기',
+ '활동',
+ '활발히',
+ '활용',
+ '활짝',
+ '회견',
+ '회관',
+ '회복',
+ '회색',
+ '회원',
+ '회장',
+ '회전',
+ '횟수',
+ '횡단보도',
+ '효율적',
+ '후반',
+ '후춧가루',
+ '훈련',
+ '훨씬',
+ '휴식',
+ '휴일',
+ '흉내',
+ '흐름',
+ '흑백',
+ '흑인',
+ '흔적',
+ '흔히',
+ '흥미',
+ '흥분',
+ '희곡',
+ '희망',
+ '희생',
+ '흰색',
+ '힘껏',
+];
+
+const spanish = [
+ 'ábaco',
+ 'abdomen',
+ 'abeja',
+ 'abierto',
+ 'abogado',
+ 'abono',
+ 'aborto',
+ 'abrazo',
+ 'abrir',
+ 'abuelo',
+ 'abuso',
+ 'acabar',
+ 'academia',
+ 'acceso',
+ 'acción',
+ 'aceite',
+ 'acelga',
+ 'acento',
+ 'aceptar',
+ 'ácido',
+ 'aclarar',
+ 'acné',
+ 'acoger',
+ 'acoso',
+ 'activo',
+ 'acto',
+ 'actriz',
+ 'actuar',
+ 'acudir',
+ 'acuerdo',
+ 'acusar',
+ 'adicto',
+ 'admitir',
+ 'adoptar',
+ 'adorno',
+ 'aduana',
+ 'adulto',
+ 'aéreo',
+ 'afectar',
+ 'afición',
+ 'afinar',
+ 'afirmar',
+ 'ágil',
+ 'agitar',
+ 'agonía',
+ 'agosto',
+ 'agotar',
+ 'agregar',
+ 'agrio',
+ 'agua',
+ 'agudo',
+ 'águila',
+ 'aguja',
+ 'ahogo',
+ 'ahorro',
+ 'aire',
+ 'aislar',
+ 'ajedrez',
+ 'ajeno',
+ 'ajuste',
+ 'alacrán',
+ 'alambre',
+ 'alarma',
+ 'alba',
+ 'álbum',
+ 'alcalde',
+ 'aldea',
+ 'alegre',
+ 'alejar',
+ 'alerta',
+ 'aleta',
+ 'alfiler',
+ 'alga',
+ 'algodón',
+ 'aliado',
+ 'aliento',
+ 'alivio',
+ 'alma',
+ 'almeja',
+ 'almíbar',
+ 'altar',
+ 'alteza',
+ 'altivo',
+ 'alto',
+ 'altura',
+ 'alumno',
+ 'alzar',
+ 'amable',
+ 'amante',
+ 'amapola',
+ 'amargo',
+ 'amasar',
+ 'ámbar',
+ 'ámbito',
+ 'ameno',
+ 'amigo',
+ 'amistad',
+ 'amor',
+ 'amparo',
+ 'amplio',
+ 'ancho',
+ 'anciano',
+ 'ancla',
+ 'andar',
+ 'andén',
+ 'anemia',
+ 'ángulo',
+ 'anillo',
+ 'ánimo',
+ 'anís',
+ 'anotar',
+ 'antena',
+ 'antiguo',
+ 'antojo',
+ 'anual',
+ 'anular',
+ 'anuncio',
+ 'añadir',
+ 'añejo',
+ 'año',
+ 'apagar',
+ 'aparato',
+ 'apetito',
+ 'apio',
+ 'aplicar',
+ 'apodo',
+ 'aporte',
+ 'apoyo',
+ 'aprender',
+ 'aprobar',
+ 'apuesta',
+ 'apuro',
+ 'arado',
+ 'araña',
+ 'arar',
+ 'árbitro',
+ 'árbol',
+ 'arbusto',
+ 'archivo',
+ 'arco',
+ 'arder',
+ 'ardilla',
+ 'arduo',
+ 'área',
+ 'árido',
+ 'aries',
+ 'armonía',
+ 'arnés',
+ 'aroma',
+ 'arpa',
+ 'arpón',
+ 'arreglo',
+ 'arroz',
+ 'arruga',
+ 'arte',
+ 'artista',
+ 'asa',
+ 'asado',
+ 'asalto',
+ 'ascenso',
+ 'asegurar',
+ 'aseo',
+ 'asesor',
+ 'asiento',
+ 'asilo',
+ 'asistir',
+ 'asno',
+ 'asombro',
+ 'áspero',
+ 'astilla',
+ 'astro',
+ 'astuto',
+ 'asumir',
+ 'asunto',
+ 'atajo',
+ 'ataque',
+ 'atar',
+ 'atento',
+ 'ateo',
+ 'ático',
+ 'atleta',
+ 'átomo',
+ 'atraer',
+ 'atroz',
+ 'atún',
+ 'audaz',
+ 'audio',
+ 'auge',
+ 'aula',
+ 'aumento',
+ 'ausente',
+ 'autor',
+ 'aval',
+ 'avance',
+ 'avaro',
+ 'ave',
+ 'avellana',
+ 'avena',
+ 'avestruz',
+ 'avión',
+ 'aviso',
+ 'ayer',
+ 'ayuda',
+ 'ayuno',
+ 'azafrán',
+ 'azar',
+ 'azote',
+ 'azúcar',
+ 'azufre',
+ 'azul',
+ 'baba',
+ 'babor',
+ 'bache',
+ 'bahía',
+ 'baile',
+ 'bajar',
+ 'balanza',
+ 'balcón',
+ 'balde',
+ 'bambú',
+ 'banco',
+ 'banda',
+ 'baño',
+ 'barba',
+ 'barco',
+ 'barniz',
+ 'barro',
+ 'báscula',
+ 'bastón',
+ 'basura',
+ 'batalla',
+ 'batería',
+ 'batir',
+ 'batuta',
+ 'baúl',
+ 'bazar',
+ 'bebé',
+ 'bebida',
+ 'bello',
+ 'besar',
+ 'beso',
+ 'bestia',
+ 'bicho',
+ 'bien',
+ 'bingo',
+ 'blanco',
+ 'bloque',
+ 'blusa',
+ 'boa',
+ 'bobina',
+ 'bobo',
+ 'boca',
+ 'bocina',
+ 'boda',
+ 'bodega',
+ 'boina',
+ 'bola',
+ 'bolero',
+ 'bolsa',
+ 'bomba',
+ 'bondad',
+ 'bonito',
+ 'bono',
+ 'bonsái',
+ 'borde',
+ 'borrar',
+ 'bosque',
+ 'bote',
+ 'botín',
+ 'bóveda',
+ 'bozal',
+ 'bravo',
+ 'brazo',
+ 'brecha',
+ 'breve',
+ 'brillo',
+ 'brinco',
+ 'brisa',
+ 'broca',
+ 'broma',
+ 'bronce',
+ 'brote',
+ 'bruja',
+ 'brusco',
+ 'bruto',
+ 'buceo',
+ 'bucle',
+ 'bueno',
+ 'buey',
+ 'bufanda',
+ 'bufón',
+ 'búho',
+ 'buitre',
+ 'bulto',
+ 'burbuja',
+ 'burla',
+ 'burro',
+ 'buscar',
+ 'butaca',
+ 'buzón',
+ 'caballo',
+ 'cabeza',
+ 'cabina',
+ 'cabra',
+ 'cacao',
+ 'cadáver',
+ 'cadena',
+ 'caer',
+ 'café',
+ 'caída',
+ 'caimán',
+ 'caja',
+ 'cajón',
+ 'cal',
+ 'calamar',
+ 'calcio',
+ 'caldo',
+ 'calidad',
+ 'calle',
+ 'calma',
+ 'calor',
+ 'calvo',
+ 'cama',
+ 'cambio',
+ 'camello',
+ 'camino',
+ 'campo',
+ 'cáncer',
+ 'candil',
+ 'canela',
+ 'canguro',
+ 'canica',
+ 'canto',
+ 'caña',
+ 'cañón',
+ 'caoba',
+ 'caos',
+ 'capaz',
+ 'capitán',
+ 'capote',
+ 'captar',
+ 'capucha',
+ 'cara',
+ 'carbón',
+ 'cárcel',
+ 'careta',
+ 'carga',
+ 'cariño',
+ 'carne',
+ 'carpeta',
+ 'carro',
+ 'carta',
+ 'casa',
+ 'casco',
+ 'casero',
+ 'caspa',
+ 'castor',
+ 'catorce',
+ 'catre',
+ 'caudal',
+ 'causa',
+ 'cazo',
+ 'cebolla',
+ 'ceder',
+ 'cedro',
+ 'celda',
+ 'célebre',
+ 'celoso',
+ 'célula',
+ 'cemento',
+ 'ceniza',
+ 'centro',
+ 'cerca',
+ 'cerdo',
+ 'cereza',
+ 'cero',
+ 'cerrar',
+ 'certeza',
+ 'césped',
+ 'cetro',
+ 'chacal',
+ 'chaleco',
+ 'champú',
+ 'chancla',
+ 'chapa',
+ 'charla',
+ 'chico',
+ 'chiste',
+ 'chivo',
+ 'choque',
+ 'choza',
+ 'chuleta',
+ 'chupar',
+ 'ciclón',
+ 'ciego',
+ 'cielo',
+ 'cien',
+ 'cierto',
+ 'cifra',
+ 'cigarro',
+ 'cima',
+ 'cinco',
+ 'cine',
+ 'cinta',
+ 'ciprés',
+ 'circo',
+ 'ciruela',
+ 'cisne',
+ 'cita',
+ 'ciudad',
+ 'clamor',
+ 'clan',
+ 'claro',
+ 'clase',
+ 'clave',
+ 'cliente',
+ 'clima',
+ 'clínica',
+ 'cobre',
+ 'cocción',
+ 'cochino',
+ 'cocina',
+ 'coco',
+ 'código',
+ 'codo',
+ 'cofre',
+ 'coger',
+ 'cohete',
+ 'cojín',
+ 'cojo',
+ 'cola',
+ 'colcha',
+ 'colegio',
+ 'colgar',
+ 'colina',
+ 'collar',
+ 'colmo',
+ 'columna',
+ 'combate',
+ 'comer',
+ 'comida',
+ 'cómodo',
+ 'compra',
+ 'conde',
+ 'conejo',
+ 'conga',
+ 'conocer',
+ 'consejo',
+ 'contar',
+ 'copa',
+ 'copia',
+ 'corazón',
+ 'corbata',
+ 'corcho',
+ 'cordón',
+ 'corona',
+ 'correr',
+ 'coser',
+ 'cosmos',
+ 'costa',
+ 'cráneo',
+ 'cráter',
+ 'crear',
+ 'crecer',
+ 'creído',
+ 'crema',
+ 'cría',
+ 'crimen',
+ 'cripta',
+ 'crisis',
+ 'cromo',
+ 'crónica',
+ 'croqueta',
+ 'crudo',
+ 'cruz',
+ 'cuadro',
+ 'cuarto',
+ 'cuatro',
+ 'cubo',
+ 'cubrir',
+ 'cuchara',
+ 'cuello',
+ 'cuento',
+ 'cuerda',
+ 'cuesta',
+ 'cueva',
+ 'cuidar',
+ 'culebra',
+ 'culpa',
+ 'culto',
+ 'cumbre',
+ 'cumplir',
+ 'cuna',
+ 'cuneta',
+ 'cuota',
+ 'cupón',
+ 'cúpula',
+ 'curar',
+ 'curioso',
+ 'curso',
+ 'curva',
+ 'cutis',
+ 'dama',
+ 'danza',
+ 'dar',
+ 'dardo',
+ 'dátil',
+ 'deber',
+ 'débil',
+ 'década',
+ 'decir',
+ 'dedo',
+ 'defensa',
+ 'definir',
+ 'dejar',
+ 'delfín',
+ 'delgado',
+ 'delito',
+ 'demora',
+ 'denso',
+ 'dental',
+ 'deporte',
+ 'derecho',
+ 'derrota',
+ 'desayuno',
+ 'deseo',
+ 'desfile',
+ 'desnudo',
+ 'destino',
+ 'desvío',
+ 'detalle',
+ 'detener',
+ 'deuda',
+ 'día',
+ 'diablo',
+ 'diadema',
+ 'diamante',
+ 'diana',
+ 'diario',
+ 'dibujo',
+ 'dictar',
+ 'diente',
+ 'dieta',
+ 'diez',
+ 'difícil',
+ 'digno',
+ 'dilema',
+ 'diluir',
+ 'dinero',
+ 'directo',
+ 'dirigir',
+ 'disco',
+ 'diseño',
+ 'disfraz',
+ 'diva',
+ 'divino',
+ 'doble',
+ 'doce',
+ 'dolor',
+ 'domingo',
+ 'don',
+ 'donar',
+ 'dorado',
+ 'dormir',
+ 'dorso',
+ 'dos',
+ 'dosis',
+ 'dragón',
+ 'droga',
+ 'ducha',
+ 'duda',
+ 'duelo',
+ 'dueño',
+ 'dulce',
+ 'dúo',
+ 'duque',
+ 'durar',
+ 'dureza',
+ 'duro',
+ 'ébano',
+ 'ebrio',
+ 'echar',
+ 'eco',
+ 'ecuador',
+ 'edad',
+ 'edición',
+ 'edificio',
+ 'editor',
+ 'educar',
+ 'efecto',
+ 'eficaz',
+ 'eje',
+ 'ejemplo',
+ 'elefante',
+ 'elegir',
+ 'elemento',
+ 'elevar',
+ 'elipse',
+ 'élite',
+ 'elixir',
+ 'elogio',
+ 'eludir',
+ 'embudo',
+ 'emitir',
+ 'emoción',
+ 'empate',
+ 'empeño',
+ 'empleo',
+ 'empresa',
+ 'enano',
+ 'encargo',
+ 'enchufe',
+ 'encía',
+ 'enemigo',
+ 'enero',
+ 'enfado',
+ 'enfermo',
+ 'engaño',
+ 'enigma',
+ 'enlace',
+ 'enorme',
+ 'enredo',
+ 'ensayo',
+ 'enseñar',
+ 'entero',
+ 'entrar',
+ 'envase',
+ 'envío',
+ 'época',
+ 'equipo',
+ 'erizo',
+ 'escala',
+ 'escena',
+ 'escolar',
+ 'escribir',
+ 'escudo',
+ 'esencia',
+ 'esfera',
+ 'esfuerzo',
+ 'espada',
+ 'espejo',
+ 'espía',
+ 'esposa',
+ 'espuma',
+ 'esquí',
+ 'estar',
+ 'este',
+ 'estilo',
+ 'estufa',
+ 'etapa',
+ 'eterno',
+ 'ética',
+ 'etnia',
+ 'evadir',
+ 'evaluar',
+ 'evento',
+ 'evitar',
+ 'exacto',
+ 'examen',
+ 'exceso',
+ 'excusa',
+ 'exento',
+ 'exigir',
+ 'exilio',
+ 'existir',
+ 'éxito',
+ 'experto',
+ 'explicar',
+ 'exponer',
+ 'extremo',
+ 'fábrica',
+ 'fábula',
+ 'fachada',
+ 'fácil',
+ 'factor',
+ 'faena',
+ 'faja',
+ 'falda',
+ 'fallo',
+ 'falso',
+ 'faltar',
+ 'fama',
+ 'familia',
+ 'famoso',
+ 'faraón',
+ 'farmacia',
+ 'farol',
+ 'farsa',
+ 'fase',
+ 'fatiga',
+ 'fauna',
+ 'favor',
+ 'fax',
+ 'febrero',
+ 'fecha',
+ 'feliz',
+ 'feo',
+ 'feria',
+ 'feroz',
+ 'fértil',
+ 'fervor',
+ 'festín',
+ 'fiable',
+ 'fianza',
+ 'fiar',
+ 'fibra',
+ 'ficción',
+ 'ficha',
+ 'fideo',
+ 'fiebre',
+ 'fiel',
+ 'fiera',
+ 'fiesta',
+ 'figura',
+ 'fijar',
+ 'fijo',
+ 'fila',
+ 'filete',
+ 'filial',
+ 'filtro',
+ 'fin',
+ 'finca',
+ 'fingir',
+ 'finito',
+ 'firma',
+ 'flaco',
+ 'flauta',
+ 'flecha',
+ 'flor',
+ 'flota',
+ 'fluir',
+ 'flujo',
+ 'flúor',
+ 'fobia',
+ 'foca',
+ 'fogata',
+ 'fogón',
+ 'folio',
+ 'folleto',
+ 'fondo',
+ 'forma',
+ 'forro',
+ 'fortuna',
+ 'forzar',
+ 'fosa',
+ 'foto',
+ 'fracaso',
+ 'frágil',
+ 'franja',
+ 'frase',
+ 'fraude',
+ 'freír',
+ 'freno',
+ 'fresa',
+ 'frío',
+ 'frito',
+ 'fruta',
+ 'fuego',
+ 'fuente',
+ 'fuerza',
+ 'fuga',
+ 'fumar',
+ 'función',
+ 'funda',
+ 'furgón',
+ 'furia',
+ 'fusil',
+ 'fútbol',
+ 'futuro',
+ 'gacela',
+ 'gafas',
+ 'gaita',
+ 'gajo',
+ 'gala',
+ 'galería',
+ 'gallo',
+ 'gamba',
+ 'ganar',
+ 'gancho',
+ 'ganga',
+ 'ganso',
+ 'garaje',
+ 'garza',
+ 'gasolina',
+ 'gastar',
+ 'gato',
+ 'gavilán',
+ 'gemelo',
+ 'gemir',
+ 'gen',
+ 'género',
+ 'genio',
+ 'gente',
+ 'geranio',
+ 'gerente',
+ 'germen',
+ 'gesto',
+ 'gigante',
+ 'gimnasio',
+ 'girar',
+ 'giro',
+ 'glaciar',
+ 'globo',
+ 'gloria',
+ 'gol',
+ 'golfo',
+ 'goloso',
+ 'golpe',
+ 'goma',
+ 'gordo',
+ 'gorila',
+ 'gorra',
+ 'gota',
+ 'goteo',
+ 'gozar',
+ 'grada',
+ 'gráfico',
+ 'grano',
+ 'grasa',
+ 'gratis',
+ 'grave',
+ 'grieta',
+ 'grillo',
+ 'gripe',
+ 'gris',
+ 'grito',
+ 'grosor',
+ 'grúa',
+ 'grueso',
+ 'grumo',
+ 'grupo',
+ 'guante',
+ 'guapo',
+ 'guardia',
+ 'guerra',
+ 'guía',
+ 'guiño',
+ 'guion',
+ 'guiso',
+ 'guitarra',
+ 'gusano',
+ 'gustar',
+ 'haber',
+ 'hábil',
+ 'hablar',
+ 'hacer',
+ 'hacha',
+ 'hada',
+ 'hallar',
+ 'hamaca',
+ 'harina',
+ 'haz',
+ 'hazaña',
+ 'hebilla',
+ 'hebra',
+ 'hecho',
+ 'helado',
+ 'helio',
+ 'hembra',
+ 'herir',
+ 'hermano',
+ 'héroe',
+ 'hervir',
+ 'hielo',
+ 'hierro',
+ 'hígado',
+ 'higiene',
+ 'hijo',
+ 'himno',
+ 'historia',
+ 'hocico',
+ 'hogar',
+ 'hoguera',
+ 'hoja',
+ 'hombre',
+ 'hongo',
+ 'honor',
+ 'honra',
+ 'hora',
+ 'hormiga',
+ 'horno',
+ 'hostil',
+ 'hoyo',
+ 'hueco',
+ 'huelga',
+ 'huerta',
+ 'hueso',
+ 'huevo',
+ 'huida',
+ 'huir',
+ 'humano',
+ 'húmedo',
+ 'humilde',
+ 'humo',
+ 'hundir',
+ 'huracán',
+ 'hurto',
+ 'icono',
+ 'ideal',
+ 'idioma',
+ 'ídolo',
+ 'iglesia',
+ 'iglú',
+ 'igual',
+ 'ilegal',
+ 'ilusión',
+ 'imagen',
+ 'imán',
+ 'imitar',
+ 'impar',
+ 'imperio',
+ 'imponer',
+ 'impulso',
+ 'incapaz',
+ 'índice',
+ 'inerte',
+ 'infiel',
+ 'informe',
+ 'ingenio',
+ 'inicio',
+ 'inmenso',
+ 'inmune',
+ 'innato',
+ 'insecto',
+ 'instante',
+ 'interés',
+ 'íntimo',
+ 'intuir',
+ 'inútil',
+ 'invierno',
+ 'ira',
+ 'iris',
+ 'ironía',
+ 'isla',
+ 'islote',
+ 'jabalí',
+ 'jabón',
+ 'jamón',
+ 'jarabe',
+ 'jardín',
+ 'jarra',
+ 'jaula',
+ 'jazmín',
+ 'jefe',
+ 'jeringa',
+ 'jinete',
+ 'jornada',
+ 'joroba',
+ 'joven',
+ 'joya',
+ 'juerga',
+ 'jueves',
+ 'juez',
+ 'jugador',
+ 'jugo',
+ 'juguete',
+ 'juicio',
+ 'junco',
+ 'jungla',
+ 'junio',
+ 'juntar',
+ 'júpiter',
+ 'jurar',
+ 'justo',
+ 'juvenil',
+ 'juzgar',
+ 'kilo',
+ 'koala',
+ 'labio',
+ 'lacio',
+ 'lacra',
+ 'lado',
+ 'ladrón',
+ 'lagarto',
+ 'lágrima',
+ 'laguna',
+ 'laico',
+ 'lamer',
+ 'lámina',
+ 'lámpara',
+ 'lana',
+ 'lancha',
+ 'langosta',
+ 'lanza',
+ 'lápiz',
+ 'largo',
+ 'larva',
+ 'lástima',
+ 'lata',
+ 'látex',
+ 'latir',
+ 'laurel',
+ 'lavar',
+ 'lazo',
+ 'leal',
+ 'lección',
+ 'leche',
+ 'lector',
+ 'leer',
+ 'legión',
+ 'legumbre',
+ 'lejano',
+ 'lengua',
+ 'lento',
+ 'leña',
+ 'león',
+ 'leopardo',
+ 'lesión',
+ 'letal',
+ 'letra',
+ 'leve',
+ 'leyenda',
+ 'libertad',
+ 'libro',
+ 'licor',
+ 'líder',
+ 'lidiar',
+ 'lienzo',
+ 'liga',
+ 'ligero',
+ 'lima',
+ 'límite',
+ 'limón',
+ 'limpio',
+ 'lince',
+ 'lindo',
+ 'línea',
+ 'lingote',
+ 'lino',
+ 'linterna',
+ 'líquido',
+ 'liso',
+ 'lista',
+ 'litera',
+ 'litio',
+ 'litro',
+ 'llaga',
+ 'llama',
+ 'llanto',
+ 'llave',
+ 'llegar',
+ 'llenar',
+ 'llevar',
+ 'llorar',
+ 'llover',
+ 'lluvia',
+ 'lobo',
+ 'loción',
+ 'loco',
+ 'locura',
+ 'lógica',
+ 'logro',
+ 'lombriz',
+ 'lomo',
+ 'lonja',
+ 'lote',
+ 'lucha',
+ 'lucir',
+ 'lugar',
+ 'lujo',
+ 'luna',
+ 'lunes',
+ 'lupa',
+ 'lustro',
+ 'luto',
+ 'luz',
+ 'maceta',
+ 'macho',
+ 'madera',
+ 'madre',
+ 'maduro',
+ 'maestro',
+ 'mafia',
+ 'magia',
+ 'mago',
+ 'maíz',
+ 'maldad',
+ 'maleta',
+ 'malla',
+ 'malo',
+ 'mamá',
+ 'mambo',
+ 'mamut',
+ 'manco',
+ 'mando',
+ 'manejar',
+ 'manga',
+ 'maniquí',
+ 'manjar',
+ 'mano',
+ 'manso',
+ 'manta',
+ 'mañana',
+ 'mapa',
+ 'máquina',
+ 'mar',
+ 'marco',
+ 'marea',
+ 'marfil',
+ 'margen',
+ 'marido',
+ 'mármol',
+ 'marrón',
+ 'martes',
+ 'marzo',
+ 'masa',
+ 'máscara',
+ 'masivo',
+ 'matar',
+ 'materia',
+ 'matiz',
+ 'matriz',
+ 'máximo',
+ 'mayor',
+ 'mazorca',
+ 'mecha',
+ 'medalla',
+ 'medio',
+ 'médula',
+ 'mejilla',
+ 'mejor',
+ 'melena',
+ 'melón',
+ 'memoria',
+ 'menor',
+ 'mensaje',
+ 'mente',
+ 'menú',
+ 'mercado',
+ 'merengue',
+ 'mérito',
+ 'mes',
+ 'mesón',
+ 'meta',
+ 'meter',
+ 'método',
+ 'metro',
+ 'mezcla',
+ 'miedo',
+ 'miel',
+ 'miembro',
+ 'miga',
+ 'mil',
+ 'milagro',
+ 'militar',
+ 'millón',
+ 'mimo',
+ 'mina',
+ 'minero',
+ 'mínimo',
+ 'minuto',
+ 'miope',
+ 'mirar',
+ 'misa',
+ 'miseria',
+ 'misil',
+ 'mismo',
+ 'mitad',
+ 'mito',
+ 'mochila',
+ 'moción',
+ 'moda',
+ 'modelo',
+ 'moho',
+ 'mojar',
+ 'molde',
+ 'moler',
+ 'molino',
+ 'momento',
+ 'momia',
+ 'monarca',
+ 'moneda',
+ 'monja',
+ 'monto',
+ 'moño',
+ 'morada',
+ 'morder',
+ 'moreno',
+ 'morir',
+ 'morro',
+ 'morsa',
+ 'mortal',
+ 'mosca',
+ 'mostrar',
+ 'motivo',
+ 'mover',
+ 'móvil',
+ 'mozo',
+ 'mucho',
+ 'mudar',
+ 'mueble',
+ 'muela',
+ 'muerte',
+ 'muestra',
+ 'mugre',
+ 'mujer',
+ 'mula',
+ 'muleta',
+ 'multa',
+ 'mundo',
+ 'muñeca',
+ 'mural',
+ 'muro',
+ 'músculo',
+ 'museo',
+ 'musgo',
+ 'música',
+ 'muslo',
+ 'nácar',
+ 'nación',
+ 'nadar',
+ 'naipe',
+ 'naranja',
+ 'nariz',
+ 'narrar',
+ 'nasal',
+ 'natal',
+ 'nativo',
+ 'natural',
+ 'náusea',
+ 'naval',
+ 'nave',
+ 'navidad',
+ 'necio',
+ 'néctar',
+ 'negar',
+ 'negocio',
+ 'negro',
+ 'neón',
+ 'nervio',
+ 'neto',
+ 'neutro',
+ 'nevar',
+ 'nevera',
+ 'nicho',
+ 'nido',
+ 'niebla',
+ 'nieto',
+ 'niñez',
+ 'niño',
+ 'nítido',
+ 'nivel',
+ 'nobleza',
+ 'noche',
+ 'nómina',
+ 'noria',
+ 'norma',
+ 'norte',
+ 'nota',
+ 'noticia',
+ 'novato',
+ 'novela',
+ 'novio',
+ 'nube',
+ 'nuca',
+ 'núcleo',
+ 'nudillo',
+ 'nudo',
+ 'nuera',
+ 'nueve',
+ 'nuez',
+ 'nulo',
+ 'número',
+ 'nutria',
+ 'oasis',
+ 'obeso',
+ 'obispo',
+ 'objeto',
+ 'obra',
+ 'obrero',
+ 'observar',
+ 'obtener',
+ 'obvio',
+ 'oca',
+ 'ocaso',
+ 'océano',
+ 'ochenta',
+ 'ocho',
+ 'ocio',
+ 'ocre',
+ 'octavo',
+ 'octubre',
+ 'oculto',
+ 'ocupar',
+ 'ocurrir',
+ 'odiar',
+ 'odio',
+ 'odisea',
+ 'oeste',
+ 'ofensa',
+ 'oferta',
+ 'oficio',
+ 'ofrecer',
+ 'ogro',
+ 'oído',
+ 'oír',
+ 'ojo',
+ 'ola',
+ 'oleada',
+ 'olfato',
+ 'olivo',
+ 'olla',
+ 'olmo',
+ 'olor',
+ 'olvido',
+ 'ombligo',
+ 'onda',
+ 'onza',
+ 'opaco',
+ 'opción',
+ 'ópera',
+ 'opinar',
+ 'oponer',
+ 'optar',
+ 'óptica',
+ 'opuesto',
+ 'oración',
+ 'orador',
+ 'oral',
+ 'órbita',
+ 'orca',
+ 'orden',
+ 'oreja',
+ 'órgano',
+ 'orgía',
+ 'orgullo',
+ 'oriente',
+ 'origen',
+ 'orilla',
+ 'oro',
+ 'orquesta',
+ 'oruga',
+ 'osadía',
+ 'oscuro',
+ 'osezno',
+ 'oso',
+ 'ostra',
+ 'otoño',
+ 'otro',
+ 'oveja',
+ 'óvulo',
+ 'óxido',
+ 'oxígeno',
+ 'oyente',
+ 'ozono',
+ 'pacto',
+ 'padre',
+ 'paella',
+ 'página',
+ 'pago',
+ 'país',
+ 'pájaro',
+ 'palabra',
+ 'palco',
+ 'paleta',
+ 'pálido',
+ 'palma',
+ 'paloma',
+ 'palpar',
+ 'pan',
+ 'panal',
+ 'pánico',
+ 'pantera',
+ 'pañuelo',
+ 'papá',
+ 'papel',
+ 'papilla',
+ 'paquete',
+ 'parar',
+ 'parcela',
+ 'pared',
+ 'parir',
+ 'paro',
+ 'párpado',
+ 'parque',
+ 'párrafo',
+ 'parte',
+ 'pasar',
+ 'paseo',
+ 'pasión',
+ 'paso',
+ 'pasta',
+ 'pata',
+ 'patio',
+ 'patria',
+ 'pausa',
+ 'pauta',
+ 'pavo',
+ 'payaso',
+ 'peatón',
+ 'pecado',
+ 'pecera',
+ 'pecho',
+ 'pedal',
+ 'pedir',
+ 'pegar',
+ 'peine',
+ 'pelar',
+ 'peldaño',
+ 'pelea',
+ 'peligro',
+ 'pellejo',
+ 'pelo',
+ 'peluca',
+ 'pena',
+ 'pensar',
+ 'peñón',
+ 'peón',
+ 'peor',
+ 'pepino',
+ 'pequeño',
+ 'pera',
+ 'percha',
+ 'perder',
+ 'pereza',
+ 'perfil',
+ 'perico',
+ 'perla',
+ 'permiso',
+ 'perro',
+ 'persona',
+ 'pesa',
+ 'pesca',
+ 'pésimo',
+ 'pestaña',
+ 'pétalo',
+ 'petróleo',
+ 'pez',
+ 'pezuña',
+ 'picar',
+ 'pichón',
+ 'pie',
+ 'piedra',
+ 'pierna',
+ 'pieza',
+ 'pijama',
+ 'pilar',
+ 'piloto',
+ 'pimienta',
+ 'pino',
+ 'pintor',
+ 'pinza',
+ 'piña',
+ 'piojo',
+ 'pipa',
+ 'pirata',
+ 'pisar',
+ 'piscina',
+ 'piso',
+ 'pista',
+ 'pitón',
+ 'pizca',
+ 'placa',
+ 'plan',
+ 'plata',
+ 'playa',
+ 'plaza',
+ 'pleito',
+ 'pleno',
+ 'plomo',
+ 'pluma',
+ 'plural',
+ 'pobre',
+ 'poco',
+ 'poder',
+ 'podio',
+ 'poema',
+ 'poesía',
+ 'poeta',
+ 'polen',
+ 'policía',
+ 'pollo',
+ 'polvo',
+ 'pomada',
+ 'pomelo',
+ 'pomo',
+ 'pompa',
+ 'poner',
+ 'porción',
+ 'portal',
+ 'posada',
+ 'poseer',
+ 'posible',
+ 'poste',
+ 'potencia',
+ 'potro',
+ 'pozo',
+ 'prado',
+ 'precoz',
+ 'pregunta',
+ 'premio',
+ 'prensa',
+ 'preso',
+ 'previo',
+ 'primo',
+ 'príncipe',
+ 'prisión',
+ 'privar',
+ 'proa',
+ 'probar',
+ 'proceso',
+ 'producto',
+ 'proeza',
+ 'profesor',
+ 'programa',
+ 'prole',
+ 'promesa',
+ 'pronto',
+ 'propio',
+ 'próximo',
+ 'prueba',
+ 'público',
+ 'puchero',
+ 'pudor',
+ 'pueblo',
+ 'puerta',
+ 'puesto',
+ 'pulga',
+ 'pulir',
+ 'pulmón',
+ 'pulpo',
+ 'pulso',
+ 'puma',
+ 'punto',
+ 'puñal',
+ 'puño',
+ 'pupa',
+ 'pupila',
+ 'puré',
+ 'quedar',
+ 'queja',
+ 'quemar',
+ 'querer',
+ 'queso',
+ 'quieto',
+ 'química',
+ 'quince',
+ 'quitar',
+ 'rábano',
+ 'rabia',
+ 'rabo',
+ 'ración',
+ 'radical',
+ 'raíz',
+ 'rama',
+ 'rampa',
+ 'rancho',
+ 'rango',
+ 'rapaz',
+ 'rápido',
+ 'rapto',
+ 'rasgo',
+ 'raspa',
+ 'rato',
+ 'rayo',
+ 'raza',
+ 'razón',
+ 'reacción',
+ 'realidad',
+ 'rebaño',
+ 'rebote',
+ 'recaer',
+ 'receta',
+ 'rechazo',
+ 'recoger',
+ 'recreo',
+ 'recto',
+ 'recurso',
+ 'red',
+ 'redondo',
+ 'reducir',
+ 'reflejo',
+ 'reforma',
+ 'refrán',
+ 'refugio',
+ 'regalo',
+ 'regir',
+ 'regla',
+ 'regreso',
+ 'rehén',
+ 'reino',
+ 'reír',
+ 'reja',
+ 'relato',
+ 'relevo',
+ 'relieve',
+ 'relleno',
+ 'reloj',
+ 'remar',
+ 'remedio',
+ 'remo',
+ 'rencor',
+ 'rendir',
+ 'renta',
+ 'reparto',
+ 'repetir',
+ 'reposo',
+ 'reptil',
+ 'res',
+ 'rescate',
+ 'resina',
+ 'respeto',
+ 'resto',
+ 'resumen',
+ 'retiro',
+ 'retorno',
+ 'retrato',
+ 'reunir',
+ 'revés',
+ 'revista',
+ 'rey',
+ 'rezar',
+ 'rico',
+ 'riego',
+ 'rienda',
+ 'riesgo',
+ 'rifa',
+ 'rígido',
+ 'rigor',
+ 'rincón',
+ 'riñón',
+ 'río',
+ 'riqueza',
+ 'risa',
+ 'ritmo',
+ 'rito',
+ 'rizo',
+ 'roble',
+ 'roce',
+ 'rociar',
+ 'rodar',
+ 'rodeo',
+ 'rodilla',
+ 'roer',
+ 'rojizo',
+ 'rojo',
+ 'romero',
+ 'romper',
+ 'ron',
+ 'ronco',
+ 'ronda',
+ 'ropa',
+ 'ropero',
+ 'rosa',
+ 'rosca',
+ 'rostro',
+ 'rotar',
+ 'rubí',
+ 'rubor',
+ 'rudo',
+ 'rueda',
+ 'rugir',
+ 'ruido',
+ 'ruina',
+ 'ruleta',
+ 'rulo',
+ 'rumbo',
+ 'rumor',
+ 'ruptura',
+ 'ruta',
+ 'rutina',
+ 'sábado',
+ 'saber',
+ 'sabio',
+ 'sable',
+ 'sacar',
+ 'sagaz',
+ 'sagrado',
+ 'sala',
+ 'saldo',
+ 'salero',
+ 'salir',
+ 'salmón',
+ 'salón',
+ 'salsa',
+ 'salto',
+ 'salud',
+ 'salvar',
+ 'samba',
+ 'sanción',
+ 'sandía',
+ 'sanear',
+ 'sangre',
+ 'sanidad',
+ 'sano',
+ 'santo',
+ 'sapo',
+ 'saque',
+ 'sardina',
+ 'sartén',
+ 'sastre',
+ 'satán',
+ 'sauna',
+ 'saxofón',
+ 'sección',
+ 'seco',
+ 'secreto',
+ 'secta',
+ 'sed',
+ 'seguir',
+ 'seis',
+ 'sello',
+ 'selva',
+ 'semana',
+ 'semilla',
+ 'senda',
+ 'sensor',
+ 'señal',
+ 'señor',
+ 'separar',
+ 'sepia',
+ 'sequía',
+ 'ser',
+ 'serie',
+ 'sermón',
+ 'servir',
+ 'sesenta',
+ 'sesión',
+ 'seta',
+ 'setenta',
+ 'severo',
+ 'sexo',
+ 'sexto',
+ 'sidra',
+ 'siesta',
+ 'siete',
+ 'siglo',
+ 'signo',
+ 'sílaba',
+ 'silbar',
+ 'silencio',
+ 'silla',
+ 'símbolo',
+ 'simio',
+ 'sirena',
+ 'sistema',
+ 'sitio',
+ 'situar',
+ 'sobre',
+ 'socio',
+ 'sodio',
+ 'sol',
+ 'solapa',
+ 'soldado',
+ 'soledad',
+ 'sólido',
+ 'soltar',
+ 'solución',
+ 'sombra',
+ 'sondeo',
+ 'sonido',
+ 'sonoro',
+ 'sonrisa',
+ 'sopa',
+ 'soplar',
+ 'soporte',
+ 'sordo',
+ 'sorpresa',
+ 'sorteo',
+ 'sostén',
+ 'sótano',
+ 'suave',
+ 'subir',
+ 'suceso',
+ 'sudor',
+ 'suegra',
+ 'suelo',
+ 'sueño',
+ 'suerte',
+ 'sufrir',
+ 'sujeto',
+ 'sultán',
+ 'sumar',
+ 'superar',
+ 'suplir',
+ 'suponer',
+ 'supremo',
+ 'sur',
+ 'surco',
+ 'sureño',
+ 'surgir',
+ 'susto',
+ 'sutil',
+ 'tabaco',
+ 'tabique',
+ 'tabla',
+ 'tabú',
+ 'taco',
+ 'tacto',
+ 'tajo',
+ 'talar',
+ 'talco',
+ 'talento',
+ 'talla',
+ 'talón',
+ 'tamaño',
+ 'tambor',
+ 'tango',
+ 'tanque',
+ 'tapa',
+ 'tapete',
+ 'tapia',
+ 'tapón',
+ 'taquilla',
+ 'tarde',
+ 'tarea',
+ 'tarifa',
+ 'tarjeta',
+ 'tarot',
+ 'tarro',
+ 'tarta',
+ 'tatuaje',
+ 'tauro',
+ 'taza',
+ 'tazón',
+ 'teatro',
+ 'techo',
+ 'tecla',
+ 'técnica',
+ 'tejado',
+ 'tejer',
+ 'tejido',
+ 'tela',
+ 'teléfono',
+ 'tema',
+ 'temor',
+ 'templo',
+ 'tenaz',
+ 'tender',
+ 'tener',
+ 'tenis',
+ 'tenso',
+ 'teoría',
+ 'terapia',
+ 'terco',
+ 'término',
+ 'ternura',
+ 'terror',
+ 'tesis',
+ 'tesoro',
+ 'testigo',
+ 'tetera',
+ 'texto',
+ 'tez',
+ 'tibio',
+ 'tiburón',
+ 'tiempo',
+ 'tienda',
+ 'tierra',
+ 'tieso',
+ 'tigre',
+ 'tijera',
+ 'tilde',
+ 'timbre',
+ 'tímido',
+ 'timo',
+ 'tinta',
+ 'tío',
+ 'típico',
+ 'tipo',
+ 'tira',
+ 'tirón',
+ 'titán',
+ 'títere',
+ 'título',
+ 'tiza',
+ 'toalla',
+ 'tobillo',
+ 'tocar',
+ 'tocino',
+ 'todo',
+ 'toga',
+ 'toldo',
+ 'tomar',
+ 'tono',
+ 'tonto',
+ 'topar',
+ 'tope',
+ 'toque',
+ 'tórax',
+ 'torero',
+ 'tormenta',
+ 'torneo',
+ 'toro',
+ 'torpedo',
+ 'torre',
+ 'torso',
+ 'tortuga',
+ 'tos',
+ 'tosco',
+ 'toser',
+ 'tóxico',
+ 'trabajo',
+ 'tractor',
+ 'traer',
+ 'tráfico',
+ 'trago',
+ 'traje',
+ 'tramo',
+ 'trance',
+ 'trato',
+ 'trauma',
+ 'trazar',
+ 'trébol',
+ 'tregua',
+ 'treinta',
+ 'tren',
+ 'trepar',
+ 'tres',
+ 'tribu',
+ 'trigo',
+ 'tripa',
+ 'triste',
+ 'triunfo',
+ 'trofeo',
+ 'trompa',
+ 'tronco',
+ 'tropa',
+ 'trote',
+ 'trozo',
+ 'truco',
+ 'trueno',
+ 'trufa',
+ 'tubería',
+ 'tubo',
+ 'tuerto',
+ 'tumba',
+ 'tumor',
+ 'túnel',
+ 'túnica',
+ 'turbina',
+ 'turismo',
+ 'turno',
+ 'tutor',
+ 'ubicar',
+ 'úlcera',
+ 'umbral',
+ 'unidad',
+ 'unir',
+ 'universo',
+ 'uno',
+ 'untar',
+ 'uña',
+ 'urbano',
+ 'urbe',
+ 'urgente',
+ 'urna',
+ 'usar',
+ 'usuario',
+ 'útil',
+ 'utopía',
+ 'uva',
+ 'vaca',
+ 'vacío',
+ 'vacuna',
+ 'vagar',
+ 'vago',
+ 'vaina',
+ 'vajilla',
+ 'vale',
+ 'válido',
+ 'valle',
+ 'valor',
+ 'válvula',
+ 'vampiro',
+ 'vara',
+ 'variar',
+ 'varón',
+ 'vaso',
+ 'vecino',
+ 'vector',
+ 'vehículo',
+ 'veinte',
+ 'vejez',
+ 'vela',
+ 'velero',
+ 'veloz',
+ 'vena',
+ 'vencer',
+ 'venda',
+ 'veneno',
+ 'vengar',
+ 'venir',
+ 'venta',
+ 'venus',
+ 'ver',
+ 'verano',
+ 'verbo',
+ 'verde',
+ 'vereda',
+ 'verja',
+ 'verso',
+ 'verter',
+ 'vía',
+ 'viaje',
+ 'vibrar',
+ 'vicio',
+ 'víctima',
+ 'vida',
+ 'vídeo',
+ 'vidrio',
+ 'viejo',
+ 'viernes',
+ 'vigor',
+ 'vil',
+ 'villa',
+ 'vinagre',
+ 'vino',
+ 'viñedo',
+ 'violín',
+ 'viral',
+ 'virgo',
+ 'virtud',
+ 'visor',
+ 'víspera',
+ 'vista',
+ 'vitamina',
+ 'viudo',
+ 'vivaz',
+ 'vivero',
+ 'vivir',
+ 'vivo',
+ 'volcán',
+ 'volumen',
+ 'volver',
+ 'voraz',
+ 'votar',
+ 'voto',
+ 'voz',
+ 'vuelo',
+ 'vulgar',
+ 'yacer',
+ 'yate',
+ 'yegua',
+ 'yema',
+ 'yerno',
+ 'yeso',
+ 'yodo',
+ 'yoga',
+ 'yogur',
+ 'zafiro',
+ 'zanja',
+ 'zapato',
+ 'zarza',
+ 'zona',
+ 'zorro',
+ 'zumo',
+ 'zurdo',
+];
+
+const portuguese = [
+ 'abacate',
+ 'abaixo',
+ 'abalar',
+ 'abater',
+ 'abduzir',
+ 'abelha',
+ 'aberto',
+ 'abismo',
+ 'abotoar',
+ 'abranger',
+ 'abreviar',
+ 'abrigar',
+ 'abrupto',
+ 'absinto',
+ 'absoluto',
+ 'absurdo',
+ 'abutre',
+ 'acabado',
+ 'acalmar',
+ 'acampar',
+ 'acanhar',
+ 'acaso',
+ 'aceitar',
+ 'acelerar',
+ 'acenar',
+ 'acervo',
+ 'acessar',
+ 'acetona',
+ 'achatar',
+ 'acidez',
+ 'acima',
+ 'acionado',
+ 'acirrar',
+ 'aclamar',
+ 'aclive',
+ 'acolhida',
+ 'acomodar',
+ 'acoplar',
+ 'acordar',
+ 'acumular',
+ 'acusador',
+ 'adaptar',
+ 'adega',
+ 'adentro',
+ 'adepto',
+ 'adequar',
+ 'aderente',
+ 'adesivo',
+ 'adeus',
+ 'adiante',
+ 'aditivo',
+ 'adjetivo',
+ 'adjunto',
+ 'admirar',
+ 'adorar',
+ 'adquirir',
+ 'adubo',
+ 'adverso',
+ 'advogado',
+ 'aeronave',
+ 'afastar',
+ 'aferir',
+ 'afetivo',
+ 'afinador',
+ 'afivelar',
+ 'aflito',
+ 'afluente',
+ 'afrontar',
+ 'agachar',
+ 'agarrar',
+ 'agasalho',
+ 'agenciar',
+ 'agilizar',
+ 'agiota',
+ 'agitado',
+ 'agora',
+ 'agradar',
+ 'agreste',
+ 'agrupar',
+ 'aguardar',
+ 'agulha',
+ 'ajoelhar',
+ 'ajudar',
+ 'ajustar',
+ 'alameda',
+ 'alarme',
+ 'alastrar',
+ 'alavanca',
+ 'albergue',
+ 'albino',
+ 'alcatra',
+ 'aldeia',
+ 'alecrim',
+ 'alegria',
+ 'alertar',
+ 'alface',
+ 'alfinete',
+ 'algum',
+ 'alheio',
+ 'aliar',
+ 'alicate',
+ 'alienar',
+ 'alinhar',
+ 'aliviar',
+ 'almofada',
+ 'alocar',
+ 'alpiste',
+ 'alterar',
+ 'altitude',
+ 'alucinar',
+ 'alugar',
+ 'aluno',
+ 'alusivo',
+ 'alvo',
+ 'amaciar',
+ 'amador',
+ 'amarelo',
+ 'amassar',
+ 'ambas',
+ 'ambiente',
+ 'ameixa',
+ 'amenizar',
+ 'amido',
+ 'amistoso',
+ 'amizade',
+ 'amolador',
+ 'amontoar',
+ 'amoroso',
+ 'amostra',
+ 'amparar',
+ 'ampliar',
+ 'ampola',
+ 'anagrama',
+ 'analisar',
+ 'anarquia',
+ 'anatomia',
+ 'andaime',
+ 'anel',
+ 'anexo',
+ 'angular',
+ 'animar',
+ 'anjo',
+ 'anomalia',
+ 'anotado',
+ 'ansioso',
+ 'anterior',
+ 'anuidade',
+ 'anunciar',
+ 'anzol',
+ 'apagador',
+ 'apalpar',
+ 'apanhado',
+ 'apego',
+ 'apelido',
+ 'apertada',
+ 'apesar',
+ 'apetite',
+ 'apito',
+ 'aplauso',
+ 'aplicada',
+ 'apoio',
+ 'apontar',
+ 'aposta',
+ 'aprendiz',
+ 'aprovar',
+ 'aquecer',
+ 'arame',
+ 'aranha',
+ 'arara',
+ 'arcada',
+ 'ardente',
+ 'areia',
+ 'arejar',
+ 'arenito',
+ 'aresta',
+ 'argiloso',
+ 'argola',
+ 'arma',
+ 'arquivo',
+ 'arraial',
+ 'arrebate',
+ 'arriscar',
+ 'arroba',
+ 'arrumar',
+ 'arsenal',
+ 'arterial',
+ 'artigo',
+ 'arvoredo',
+ 'asfaltar',
+ 'asilado',
+ 'aspirar',
+ 'assador',
+ 'assinar',
+ 'assoalho',
+ 'assunto',
+ 'astral',
+ 'atacado',
+ 'atadura',
+ 'atalho',
+ 'atarefar',
+ 'atear',
+ 'atender',
+ 'aterro',
+ 'ateu',
+ 'atingir',
+ 'atirador',
+ 'ativo',
+ 'atoleiro',
+ 'atracar',
+ 'atrevido',
+ 'atriz',
+ 'atual',
+ 'atum',
+ 'auditor',
+ 'aumentar',
+ 'aura',
+ 'aurora',
+ 'autismo',
+ 'autoria',
+ 'autuar',
+ 'avaliar',
+ 'avante',
+ 'avaria',
+ 'avental',
+ 'avesso',
+ 'aviador',
+ 'avisar',
+ 'avulso',
+ 'axila',
+ 'azarar',
+ 'azedo',
+ 'azeite',
+ 'azulejo',
+ 'babar',
+ 'babosa',
+ 'bacalhau',
+ 'bacharel',
+ 'bacia',
+ 'bagagem',
+ 'baiano',
+ 'bailar',
+ 'baioneta',
+ 'bairro',
+ 'baixista',
+ 'bajular',
+ 'baleia',
+ 'baliza',
+ 'balsa',
+ 'banal',
+ 'bandeira',
+ 'banho',
+ 'banir',
+ 'banquete',
+ 'barato',
+ 'barbado',
+ 'baronesa',
+ 'barraca',
+ 'barulho',
+ 'baseado',
+ 'bastante',
+ 'batata',
+ 'batedor',
+ 'batida',
+ 'batom',
+ 'batucar',
+ 'baunilha',
+ 'beber',
+ 'beijo',
+ 'beirada',
+ 'beisebol',
+ 'beldade',
+ 'beleza',
+ 'belga',
+ 'beliscar',
+ 'bendito',
+ 'bengala',
+ 'benzer',
+ 'berimbau',
+ 'berlinda',
+ 'berro',
+ 'besouro',
+ 'bexiga',
+ 'bezerro',
+ 'bico',
+ 'bicudo',
+ 'bienal',
+ 'bifocal',
+ 'bifurcar',
+ 'bigorna',
+ 'bilhete',
+ 'bimestre',
+ 'bimotor',
+ 'biologia',
+ 'biombo',
+ 'biosfera',
+ 'bipolar',
+ 'birrento',
+ 'biscoito',
+ 'bisneto',
+ 'bispo',
+ 'bissexto',
+ 'bitola',
+ 'bizarro',
+ 'blindado',
+ 'bloco',
+ 'bloquear',
+ 'boato',
+ 'bobagem',
+ 'bocado',
+ 'bocejo',
+ 'bochecha',
+ 'boicotar',
+ 'bolada',
+ 'boletim',
+ 'bolha',
+ 'bolo',
+ 'bombeiro',
+ 'bonde',
+ 'boneco',
+ 'bonita',
+ 'borbulha',
+ 'borda',
+ 'boreal',
+ 'borracha',
+ 'bovino',
+ 'boxeador',
+ 'branco',
+ 'brasa',
+ 'braveza',
+ 'breu',
+ 'briga',
+ 'brilho',
+ 'brincar',
+ 'broa',
+ 'brochura',
+ 'bronzear',
+ 'broto',
+ 'bruxo',
+ 'bucha',
+ 'budismo',
+ 'bufar',
+ 'bule',
+ 'buraco',
+ 'busca',
+ 'busto',
+ 'buzina',
+ 'cabana',
+ 'cabelo',
+ 'cabide',
+ 'cabo',
+ 'cabrito',
+ 'cacau',
+ 'cacetada',
+ 'cachorro',
+ 'cacique',
+ 'cadastro',
+ 'cadeado',
+ 'cafezal',
+ 'caiaque',
+ 'caipira',
+ 'caixote',
+ 'cajado',
+ 'caju',
+ 'calafrio',
+ 'calcular',
+ 'caldeira',
+ 'calibrar',
+ 'calmante',
+ 'calota',
+ 'camada',
+ 'cambista',
+ 'camisa',
+ 'camomila',
+ 'campanha',
+ 'camuflar',
+ 'canavial',
+ 'cancelar',
+ 'caneta',
+ 'canguru',
+ 'canhoto',
+ 'canivete',
+ 'canoa',
+ 'cansado',
+ 'cantar',
+ 'canudo',
+ 'capacho',
+ 'capela',
+ 'capinar',
+ 'capotar',
+ 'capricho',
+ 'captador',
+ 'capuz',
+ 'caracol',
+ 'carbono',
+ 'cardeal',
+ 'careca',
+ 'carimbar',
+ 'carneiro',
+ 'carpete',
+ 'carreira',
+ 'cartaz',
+ 'carvalho',
+ 'casaco',
+ 'casca',
+ 'casebre',
+ 'castelo',
+ 'casulo',
+ 'catarata',
+ 'cativar',
+ 'caule',
+ 'causador',
+ 'cautelar',
+ 'cavalo',
+ 'caverna',
+ 'cebola',
+ 'cedilha',
+ 'cegonha',
+ 'celebrar',
+ 'celular',
+ 'cenoura',
+ 'censo',
+ 'centeio',
+ 'cercar',
+ 'cerrado',
+ 'certeiro',
+ 'cerveja',
+ 'cetim',
+ 'cevada',
+ 'chacota',
+ 'chaleira',
+ 'chamado',
+ 'chapada',
+ 'charme',
+ 'chatice',
+ 'chave',
+ 'chefe',
+ 'chegada',
+ 'cheiro',
+ 'cheque',
+ 'chicote',
+ 'chifre',
+ 'chinelo',
+ 'chocalho',
+ 'chover',
+ 'chumbo',
+ 'chutar',
+ 'chuva',
+ 'cicatriz',
+ 'ciclone',
+ 'cidade',
+ 'cidreira',
+ 'ciente',
+ 'cigana',
+ 'cimento',
+ 'cinto',
+ 'cinza',
+ 'ciranda',
+ 'circuito',
+ 'cirurgia',
+ 'citar',
+ 'clareza',
+ 'clero',
+ 'clicar',
+ 'clone',
+ 'clube',
+ 'coado',
+ 'coagir',
+ 'cobaia',
+ 'cobertor',
+ 'cobrar',
+ 'cocada',
+ 'coelho',
+ 'coentro',
+ 'coeso',
+ 'cogumelo',
+ 'coibir',
+ 'coifa',
+ 'coiote',
+ 'colar',
+ 'coleira',
+ 'colher',
+ 'colidir',
+ 'colmeia',
+ 'colono',
+ 'coluna',
+ 'comando',
+ 'combinar',
+ 'comentar',
+ 'comitiva',
+ 'comover',
+ 'complexo',
+ 'comum',
+ 'concha',
+ 'condor',
+ 'conectar',
+ 'confuso',
+ 'congelar',
+ 'conhecer',
+ 'conjugar',
+ 'consumir',
+ 'contrato',
+ 'convite',
+ 'cooperar',
+ 'copeiro',
+ 'copiador',
+ 'copo',
+ 'coquetel',
+ 'coragem',
+ 'cordial',
+ 'corneta',
+ 'coronha',
+ 'corporal',
+ 'correio',
+ 'cortejo',
+ 'coruja',
+ 'corvo',
+ 'cosseno',
+ 'costela',
+ 'cotonete',
+ 'couro',
+ 'couve',
+ 'covil',
+ 'cozinha',
+ 'cratera',
+ 'cravo',
+ 'creche',
+ 'credor',
+ 'creme',
+ 'crer',
+ 'crespo',
+ 'criada',
+ 'criminal',
+ 'crioulo',
+ 'crise',
+ 'criticar',
+ 'crosta',
+ 'crua',
+ 'cruzeiro',
+ 'cubano',
+ 'cueca',
+ 'cuidado',
+ 'cujo',
+ 'culatra',
+ 'culminar',
+ 'culpar',
+ 'cultura',
+ 'cumprir',
+ 'cunhado',
+ 'cupido',
+ 'curativo',
+ 'curral',
+ 'cursar',
+ 'curto',
+ 'cuspir',
+ 'custear',
+ 'cutelo',
+ 'damasco',
+ 'datar',
+ 'debater',
+ 'debitar',
+ 'deboche',
+ 'debulhar',
+ 'decalque',
+ 'decimal',
+ 'declive',
+ 'decote',
+ 'decretar',
+ 'dedal',
+ 'dedicado',
+ 'deduzir',
+ 'defesa',
+ 'defumar',
+ 'degelo',
+ 'degrau',
+ 'degustar',
+ 'deitado',
+ 'deixar',
+ 'delator',
+ 'delegado',
+ 'delinear',
+ 'delonga',
+ 'demanda',
+ 'demitir',
+ 'demolido',
+ 'dentista',
+ 'depenado',
+ 'depilar',
+ 'depois',
+ 'depressa',
+ 'depurar',
+ 'deriva',
+ 'derramar',
+ 'desafio',
+ 'desbotar',
+ 'descanso',
+ 'desenho',
+ 'desfiado',
+ 'desgaste',
+ 'desigual',
+ 'deslize',
+ 'desmamar',
+ 'desova',
+ 'despesa',
+ 'destaque',
+ 'desviar',
+ 'detalhar',
+ 'detentor',
+ 'detonar',
+ 'detrito',
+ 'deusa',
+ 'dever',
+ 'devido',
+ 'devotado',
+ 'dezena',
+ 'diagrama',
+ 'dialeto',
+ 'didata',
+ 'difuso',
+ 'digitar',
+ 'dilatado',
+ 'diluente',
+ 'diminuir',
+ 'dinastia',
+ 'dinheiro',
+ 'diocese',
+ 'direto',
+ 'discreta',
+ 'disfarce',
+ 'disparo',
+ 'disquete',
+ 'dissipar',
+ 'distante',
+ 'ditador',
+ 'diurno',
+ 'diverso',
+ 'divisor',
+ 'divulgar',
+ 'dizer',
+ 'dobrador',
+ 'dolorido',
+ 'domador',
+ 'dominado',
+ 'donativo',
+ 'donzela',
+ 'dormente',
+ 'dorsal',
+ 'dosagem',
+ 'dourado',
+ 'doutor',
+ 'drenagem',
+ 'drible',
+ 'drogaria',
+ 'duelar',
+ 'duende',
+ 'dueto',
+ 'duplo',
+ 'duquesa',
+ 'durante',
+ 'duvidoso',
+ 'eclodir',
+ 'ecoar',
+ 'ecologia',
+ 'edificar',
+ 'edital',
+ 'educado',
+ 'efeito',
+ 'efetivar',
+ 'ejetar',
+ 'elaborar',
+ 'eleger',
+ 'eleitor',
+ 'elenco',
+ 'elevador',
+ 'eliminar',
+ 'elogiar',
+ 'embargo',
+ 'embolado',
+ 'embrulho',
+ 'embutido',
+ 'emenda',
+ 'emergir',
+ 'emissor',
+ 'empatia',
+ 'empenho',
+ 'empinado',
+ 'empolgar',
+ 'emprego',
+ 'empurrar',
+ 'emulador',
+ 'encaixe',
+ 'encenado',
+ 'enchente',
+ 'encontro',
+ 'endeusar',
+ 'endossar',
+ 'enfaixar',
+ 'enfeite',
+ 'enfim',
+ 'engajado',
+ 'engenho',
+ 'englobar',
+ 'engomado',
+ 'engraxar',
+ 'enguia',
+ 'enjoar',
+ 'enlatar',
+ 'enquanto',
+ 'enraizar',
+ 'enrolado',
+ 'enrugar',
+ 'ensaio',
+ 'enseada',
+ 'ensino',
+ 'ensopado',
+ 'entanto',
+ 'enteado',
+ 'entidade',
+ 'entortar',
+ 'entrada',
+ 'entulho',
+ 'envergar',
+ 'enviado',
+ 'envolver',
+ 'enxame',
+ 'enxerto',
+ 'enxofre',
+ 'enxuto',
+ 'epiderme',
+ 'equipar',
+ 'ereto',
+ 'erguido',
+ 'errata',
+ 'erva',
+ 'ervilha',
+ 'esbanjar',
+ 'esbelto',
+ 'escama',
+ 'escola',
+ 'escrita',
+ 'escuta',
+ 'esfinge',
+ 'esfolar',
+ 'esfregar',
+ 'esfumado',
+ 'esgrima',
+ 'esmalte',
+ 'espanto',
+ 'espelho',
+ 'espiga',
+ 'esponja',
+ 'espreita',
+ 'espumar',
+ 'esquerda',
+ 'estaca',
+ 'esteira',
+ 'esticar',
+ 'estofado',
+ 'estrela',
+ 'estudo',
+ 'esvaziar',
+ 'etanol',
+ 'etiqueta',
+ 'euforia',
+ 'europeu',
+ 'evacuar',
+ 'evaporar',
+ 'evasivo',
+ 'eventual',
+ 'evidente',
+ 'evoluir',
+ 'exagero',
+ 'exalar',
+ 'examinar',
+ 'exato',
+ 'exausto',
+ 'excesso',
+ 'excitar',
+ 'exclamar',
+ 'executar',
+ 'exemplo',
+ 'exibir',
+ 'exigente',
+ 'exonerar',
+ 'expandir',
+ 'expelir',
+ 'expirar',
+ 'explanar',
+ 'exposto',
+ 'expresso',
+ 'expulsar',
+ 'externo',
+ 'extinto',
+ 'extrato',
+ 'fabricar',
+ 'fabuloso',
+ 'faceta',
+ 'facial',
+ 'fada',
+ 'fadiga',
+ 'faixa',
+ 'falar',
+ 'falta',
+ 'familiar',
+ 'fandango',
+ 'fanfarra',
+ 'fantoche',
+ 'fardado',
+ 'farelo',
+ 'farinha',
+ 'farofa',
+ 'farpa',
+ 'fartura',
+ 'fatia',
+ 'fator',
+ 'favorita',
+ 'faxina',
+ 'fazenda',
+ 'fechado',
+ 'feijoada',
+ 'feirante',
+ 'felino',
+ 'feminino',
+ 'fenda',
+ 'feno',
+ 'fera',
+ 'feriado',
+ 'ferrugem',
+ 'ferver',
+ 'festejar',
+ 'fetal',
+ 'feudal',
+ 'fiapo',
+ 'fibrose',
+ 'ficar',
+ 'ficheiro',
+ 'figurado',
+ 'fileira',
+ 'filho',
+ 'filme',
+ 'filtrar',
+ 'firmeza',
+ 'fisgada',
+ 'fissura',
+ 'fita',
+ 'fivela',
+ 'fixador',
+ 'fixo',
+ 'flacidez',
+ 'flamingo',
+ 'flanela',
+ 'flechada',
+ 'flora',
+ 'flutuar',
+ 'fluxo',
+ 'focal',
+ 'focinho',
+ 'fofocar',
+ 'fogo',
+ 'foguete',
+ 'foice',
+ 'folgado',
+ 'folheto',
+ 'forjar',
+ 'formiga',
+ 'forno',
+ 'forte',
+ 'fosco',
+ 'fossa',
+ 'fragata',
+ 'fralda',
+ 'frango',
+ 'frasco',
+ 'fraterno',
+ 'freira',
+ 'frente',
+ 'fretar',
+ 'frieza',
+ 'friso',
+ 'fritura',
+ 'fronha',
+ 'frustrar',
+ 'fruteira',
+ 'fugir',
+ 'fulano',
+ 'fuligem',
+ 'fundar',
+ 'fungo',
+ 'funil',
+ 'furador',
+ 'furioso',
+ 'futebol',
+ 'gabarito',
+ 'gabinete',
+ 'gado',
+ 'gaiato',
+ 'gaiola',
+ 'gaivota',
+ 'galega',
+ 'galho',
+ 'galinha',
+ 'galocha',
+ 'ganhar',
+ 'garagem',
+ 'garfo',
+ 'gargalo',
+ 'garimpo',
+ 'garoupa',
+ 'garrafa',
+ 'gasoduto',
+ 'gasto',
+ 'gata',
+ 'gatilho',
+ 'gaveta',
+ 'gazela',
+ 'gelado',
+ 'geleia',
+ 'gelo',
+ 'gemada',
+ 'gemer',
+ 'gemido',
+ 'generoso',
+ 'gengiva',
+ 'genial',
+ 'genoma',
+ 'genro',
+ 'geologia',
+ 'gerador',
+ 'germinar',
+ 'gesso',
+ 'gestor',
+ 'ginasta',
+ 'gincana',
+ 'gingado',
+ 'girafa',
+ 'girino',
+ 'glacial',
+ 'glicose',
+ 'global',
+ 'glorioso',
+ 'goela',
+ 'goiaba',
+ 'golfe',
+ 'golpear',
+ 'gordura',
+ 'gorjeta',
+ 'gorro',
+ 'gostoso',
+ 'goteira',
+ 'governar',
+ 'gracejo',
+ 'gradual',
+ 'grafite',
+ 'gralha',
+ 'grampo',
+ 'granada',
+ 'gratuito',
+ 'graveto',
+ 'graxa',
+ 'grego',
+ 'grelhar',
+ 'greve',
+ 'grilo',
+ 'grisalho',
+ 'gritaria',
+ 'grosso',
+ 'grotesco',
+ 'grudado',
+ 'grunhido',
+ 'gruta',
+ 'guache',
+ 'guarani',
+ 'guaxinim',
+ 'guerrear',
+ 'guiar',
+ 'guincho',
+ 'guisado',
+ 'gula',
+ 'guloso',
+ 'guru',
+ 'habitar',
+ 'harmonia',
+ 'haste',
+ 'haver',
+ 'hectare',
+ 'herdar',
+ 'heresia',
+ 'hesitar',
+ 'hiato',
+ 'hibernar',
+ 'hidratar',
+ 'hiena',
+ 'hino',
+ 'hipismo',
+ 'hipnose',
+ 'hipoteca',
+ 'hoje',
+ 'holofote',
+ 'homem',
+ 'honesto',
+ 'honrado',
+ 'hormonal',
+ 'hospedar',
+ 'humorado',
+ 'iate',
+ 'ideia',
+ 'idoso',
+ 'ignorado',
+ 'igreja',
+ 'iguana',
+ 'ileso',
+ 'ilha',
+ 'iludido',
+ 'iluminar',
+ 'ilustrar',
+ 'imagem',
+ 'imediato',
+ 'imenso',
+ 'imersivo',
+ 'iminente',
+ 'imitador',
+ 'imortal',
+ 'impacto',
+ 'impedir',
+ 'implante',
+ 'impor',
+ 'imprensa',
+ 'impune',
+ 'imunizar',
+ 'inalador',
+ 'inapto',
+ 'inativo',
+ 'incenso',
+ 'inchar',
+ 'incidir',
+ 'incluir',
+ 'incolor',
+ 'indeciso',
+ 'indireto',
+ 'indutor',
+ 'ineficaz',
+ 'inerente',
+ 'infantil',
+ 'infestar',
+ 'infinito',
+ 'inflamar',
+ 'informal',
+ 'infrator',
+ 'ingerir',
+ 'inibido',
+ 'inicial',
+ 'inimigo',
+ 'injetar',
+ 'inocente',
+ 'inodoro',
+ 'inovador',
+ 'inox',
+ 'inquieto',
+ 'inscrito',
+ 'inseto',
+ 'insistir',
+ 'inspetor',
+ 'instalar',
+ 'insulto',
+ 'intacto',
+ 'integral',
+ 'intimar',
+ 'intocado',
+ 'intriga',
+ 'invasor',
+ 'inverno',
+ 'invicto',
+ 'invocar',
+ 'iogurte',
+ 'iraniano',
+ 'ironizar',
+ 'irreal',
+ 'irritado',
+ 'isca',
+ 'isento',
+ 'isolado',
+ 'isqueiro',
+ 'italiano',
+ 'janeiro',
+ 'jangada',
+ 'janta',
+ 'jararaca',
+ 'jardim',
+ 'jarro',
+ 'jasmim',
+ 'jato',
+ 'javali',
+ 'jazida',
+ 'jejum',
+ 'joaninha',
+ 'joelhada',
+ 'jogador',
+ 'joia',
+ 'jornal',
+ 'jorrar',
+ 'jovem',
+ 'juba',
+ 'judeu',
+ 'judoca',
+ 'juiz',
+ 'julgador',
+ 'julho',
+ 'jurado',
+ 'jurista',
+ 'juro',
+ 'justa',
+ 'labareda',
+ 'laboral',
+ 'lacre',
+ 'lactante',
+ 'ladrilho',
+ 'lagarta',
+ 'lagoa',
+ 'laje',
+ 'lamber',
+ 'lamentar',
+ 'laminar',
+ 'lampejo',
+ 'lanche',
+ 'lapidar',
+ 'lapso',
+ 'laranja',
+ 'lareira',
+ 'largura',
+ 'lasanha',
+ 'lastro',
+ 'lateral',
+ 'latido',
+ 'lavanda',
+ 'lavoura',
+ 'lavrador',
+ 'laxante',
+ 'lazer',
+ 'lealdade',
+ 'lebre',
+ 'legado',
+ 'legendar',
+ 'legista',
+ 'leigo',
+ 'leiloar',
+ 'leitura',
+ 'lembrete',
+ 'leme',
+ 'lenhador',
+ 'lentilha',
+ 'leoa',
+ 'lesma',
+ 'leste',
+ 'letivo',
+ 'letreiro',
+ 'levar',
+ 'leveza',
+ 'levitar',
+ 'liberal',
+ 'libido',
+ 'liderar',
+ 'ligar',
+ 'ligeiro',
+ 'limitar',
+ 'limoeiro',
+ 'limpador',
+ 'linda',
+ 'linear',
+ 'linhagem',
+ 'liquidez',
+ 'listagem',
+ 'lisura',
+ 'litoral',
+ 'livro',
+ 'lixa',
+ 'lixeira',
+ 'locador',
+ 'locutor',
+ 'lojista',
+ 'lombo',
+ 'lona',
+ 'longe',
+ 'lontra',
+ 'lorde',
+ 'lotado',
+ 'loteria',
+ 'loucura',
+ 'lousa',
+ 'louvar',
+ 'luar',
+ 'lucidez',
+ 'lucro',
+ 'luneta',
+ 'lustre',
+ 'lutador',
+ 'luva',
+ 'macaco',
+ 'macete',
+ 'machado',
+ 'macio',
+ 'madeira',
+ 'madrinha',
+ 'magnata',
+ 'magreza',
+ 'maior',
+ 'mais',
+ 'malandro',
+ 'malha',
+ 'malote',
+ 'maluco',
+ 'mamilo',
+ 'mamoeiro',
+ 'mamute',
+ 'manada',
+ 'mancha',
+ 'mandato',
+ 'manequim',
+ 'manhoso',
+ 'manivela',
+ 'manobrar',
+ 'mansa',
+ 'manter',
+ 'manusear',
+ 'mapeado',
+ 'maquinar',
+ 'marcador',
+ 'maresia',
+ 'marfim',
+ 'margem',
+ 'marinho',
+ 'marmita',
+ 'maroto',
+ 'marquise',
+ 'marreco',
+ 'martelo',
+ 'marujo',
+ 'mascote',
+ 'masmorra',
+ 'massagem',
+ 'mastigar',
+ 'matagal',
+ 'materno',
+ 'matinal',
+ 'matutar',
+ 'maxilar',
+ 'medalha',
+ 'medida',
+ 'medusa',
+ 'megafone',
+ 'meiga',
+ 'melancia',
+ 'melhor',
+ 'membro',
+ 'memorial',
+ 'menino',
+ 'menos',
+ 'mensagem',
+ 'mental',
+ 'merecer',
+ 'mergulho',
+ 'mesada',
+ 'mesclar',
+ 'mesmo',
+ 'mesquita',
+ 'mestre',
+ 'metade',
+ 'meteoro',
+ 'metragem',
+ 'mexer',
+ 'mexicano',
+ 'micro',
+ 'migalha',
+ 'migrar',
+ 'milagre',
+ 'milenar',
+ 'milhar',
+ 'mimado',
+ 'minerar',
+ 'minhoca',
+ 'ministro',
+ 'minoria',
+ 'miolo',
+ 'mirante',
+ 'mirtilo',
+ 'misturar',
+ 'mocidade',
+ 'moderno',
+ 'modular',
+ 'moeda',
+ 'moer',
+ 'moinho',
+ 'moita',
+ 'moldura',
+ 'moleza',
+ 'molho',
+ 'molinete',
+ 'molusco',
+ 'montanha',
+ 'moqueca',
+ 'morango',
+ 'morcego',
+ 'mordomo',
+ 'morena',
+ 'mosaico',
+ 'mosquete',
+ 'mostarda',
+ 'motel',
+ 'motim',
+ 'moto',
+ 'motriz',
+ 'muda',
+ 'muito',
+ 'mulata',
+ 'mulher',
+ 'multar',
+ 'mundial',
+ 'munido',
+ 'muralha',
+ 'murcho',
+ 'muscular',
+ 'museu',
+ 'musical',
+ 'nacional',
+ 'nadador',
+ 'naja',
+ 'namoro',
+ 'narina',
+ 'narrado',
+ 'nascer',
+ 'nativa',
+ 'natureza',
+ 'navalha',
+ 'navegar',
+ 'navio',
+ 'neblina',
+ 'nebuloso',
+ 'negativa',
+ 'negociar',
+ 'negrito',
+ 'nervoso',
+ 'neta',
+ 'neural',
+ 'nevasca',
+ 'nevoeiro',
+ 'ninar',
+ 'ninho',
+ 'nitidez',
+ 'nivelar',
+ 'nobreza',
+ 'noite',
+ 'noiva',
+ 'nomear',
+ 'nominal',
+ 'nordeste',
+ 'nortear',
+ 'notar',
+ 'noticiar',
+ 'noturno',
+ 'novelo',
+ 'novilho',
+ 'novo',
+ 'nublado',
+ 'nudez',
+ 'numeral',
+ 'nupcial',
+ 'nutrir',
+ 'nuvem',
+ 'obcecado',
+ 'obedecer',
+ 'objetivo',
+ 'obrigado',
+ 'obscuro',
+ 'obstetra',
+ 'obter',
+ 'obturar',
+ 'ocidente',
+ 'ocioso',
+ 'ocorrer',
+ 'oculista',
+ 'ocupado',
+ 'ofegante',
+ 'ofensiva',
+ 'oferenda',
+ 'oficina',
+ 'ofuscado',
+ 'ogiva',
+ 'olaria',
+ 'oleoso',
+ 'olhar',
+ 'oliveira',
+ 'ombro',
+ 'omelete',
+ 'omisso',
+ 'omitir',
+ 'ondulado',
+ 'oneroso',
+ 'ontem',
+ 'opcional',
+ 'operador',
+ 'oponente',
+ 'oportuno',
+ 'oposto',
+ 'orar',
+ 'orbitar',
+ 'ordem',
+ 'ordinal',
+ 'orfanato',
+ 'orgasmo',
+ 'orgulho',
+ 'oriental',
+ 'origem',
+ 'oriundo',
+ 'orla',
+ 'ortodoxo',
+ 'orvalho',
+ 'oscilar',
+ 'ossada',
+ 'osso',
+ 'ostentar',
+ 'otimismo',
+ 'ousadia',
+ 'outono',
+ 'outubro',
+ 'ouvido',
+ 'ovelha',
+ 'ovular',
+ 'oxidar',
+ 'oxigenar',
+ 'pacato',
+ 'paciente',
+ 'pacote',
+ 'pactuar',
+ 'padaria',
+ 'padrinho',
+ 'pagar',
+ 'pagode',
+ 'painel',
+ 'pairar',
+ 'paisagem',
+ 'palavra',
+ 'palestra',
+ 'palheta',
+ 'palito',
+ 'palmada',
+ 'palpitar',
+ 'pancada',
+ 'panela',
+ 'panfleto',
+ 'panqueca',
+ 'pantanal',
+ 'papagaio',
+ 'papelada',
+ 'papiro',
+ 'parafina',
+ 'parcial',
+ 'pardal',
+ 'parede',
+ 'partida',
+ 'pasmo',
+ 'passado',
+ 'pastel',
+ 'patamar',
+ 'patente',
+ 'patinar',
+ 'patrono',
+ 'paulada',
+ 'pausar',
+ 'peculiar',
+ 'pedalar',
+ 'pedestre',
+ 'pediatra',
+ 'pedra',
+ 'pegada',
+ 'peitoral',
+ 'peixe',
+ 'pele',
+ 'pelicano',
+ 'penca',
+ 'pendurar',
+ 'peneira',
+ 'penhasco',
+ 'pensador',
+ 'pente',
+ 'perceber',
+ 'perfeito',
+ 'pergunta',
+ 'perito',
+ 'permitir',
+ 'perna',
+ 'perplexo',
+ 'persiana',
+ 'pertence',
+ 'peruca',
+ 'pescado',
+ 'pesquisa',
+ 'pessoa',
+ 'petiscar',
+ 'piada',
+ 'picado',
+ 'piedade',
+ 'pigmento',
+ 'pilastra',
+ 'pilhado',
+ 'pilotar',
+ 'pimenta',
+ 'pincel',
+ 'pinguim',
+ 'pinha',
+ 'pinote',
+ 'pintar',
+ 'pioneiro',
+ 'pipoca',
+ 'piquete',
+ 'piranha',
+ 'pires',
+ 'pirueta',
+ 'piscar',
+ 'pistola',
+ 'pitanga',
+ 'pivete',
+ 'planta',
+ 'plaqueta',
+ 'platina',
+ 'plebeu',
+ 'plumagem',
+ 'pluvial',
+ 'pneu',
+ 'poda',
+ 'poeira',
+ 'poetisa',
+ 'polegada',
+ 'policiar',
+ 'poluente',
+ 'polvilho',
+ 'pomar',
+ 'pomba',
+ 'ponderar',
+ 'pontaria',
+ 'populoso',
+ 'porta',
+ 'possuir',
+ 'postal',
+ 'pote',
+ 'poupar',
+ 'pouso',
+ 'povoar',
+ 'praia',
+ 'prancha',
+ 'prato',
+ 'praxe',
+ 'prece',
+ 'predador',
+ 'prefeito',
+ 'premiar',
+ 'prensar',
+ 'preparar',
+ 'presilha',
+ 'pretexto',
+ 'prevenir',
+ 'prezar',
+ 'primata',
+ 'princesa',
+ 'prisma',
+ 'privado',
+ 'processo',
+ 'produto',
+ 'profeta',
+ 'proibido',
+ 'projeto',
+ 'prometer',
+ 'propagar',
+ 'prosa',
+ 'protetor',
+ 'provador',
+ 'publicar',
+ 'pudim',
+ 'pular',
+ 'pulmonar',
+ 'pulseira',
+ 'punhal',
+ 'punir',
+ 'pupilo',
+ 'pureza',
+ 'puxador',
+ 'quadra',
+ 'quantia',
+ 'quarto',
+ 'quase',
+ 'quebrar',
+ 'queda',
+ 'queijo',
+ 'quente',
+ 'querido',
+ 'quimono',
+ 'quina',
+ 'quiosque',
+ 'rabanada',
+ 'rabisco',
+ 'rachar',
+ 'racionar',
+ 'radial',
+ 'raiar',
+ 'rainha',
+ 'raio',
+ 'raiva',
+ 'rajada',
+ 'ralado',
+ 'ramal',
+ 'ranger',
+ 'ranhura',
+ 'rapadura',
+ 'rapel',
+ 'rapidez',
+ 'raposa',
+ 'raquete',
+ 'raridade',
+ 'rasante',
+ 'rascunho',
+ 'rasgar',
+ 'raspador',
+ 'rasteira',
+ 'rasurar',
+ 'ratazana',
+ 'ratoeira',
+ 'realeza',
+ 'reanimar',
+ 'reaver',
+ 'rebaixar',
+ 'rebelde',
+ 'rebolar',
+ 'recado',
+ 'recente',
+ 'recheio',
+ 'recibo',
+ 'recordar',
+ 'recrutar',
+ 'recuar',
+ 'rede',
+ 'redimir',
+ 'redonda',
+ 'reduzida',
+ 'reenvio',
+ 'refinar',
+ 'refletir',
+ 'refogar',
+ 'refresco',
+ 'refugiar',
+ 'regalia',
+ 'regime',
+ 'regra',
+ 'reinado',
+ 'reitor',
+ 'rejeitar',
+ 'relativo',
+ 'remador',
+ 'remendo',
+ 'remorso',
+ 'renovado',
+ 'reparo',
+ 'repelir',
+ 'repleto',
+ 'repolho',
+ 'represa',
+ 'repudiar',
+ 'requerer',
+ 'resenha',
+ 'resfriar',
+ 'resgatar',
+ 'residir',
+ 'resolver',
+ 'respeito',
+ 'ressaca',
+ 'restante',
+ 'resumir',
+ 'retalho',
+ 'reter',
+ 'retirar',
+ 'retomada',
+ 'retratar',
+ 'revelar',
+ 'revisor',
+ 'revolta',
+ 'riacho',
+ 'rica',
+ 'rigidez',
+ 'rigoroso',
+ 'rimar',
+ 'ringue',
+ 'risada',
+ 'risco',
+ 'risonho',
+ 'robalo',
+ 'rochedo',
+ 'rodada',
+ 'rodeio',
+ 'rodovia',
+ 'roedor',
+ 'roleta',
+ 'romano',
+ 'roncar',
+ 'rosado',
+ 'roseira',
+ 'rosto',
+ 'rota',
+ 'roteiro',
+ 'rotina',
+ 'rotular',
+ 'rouco',
+ 'roupa',
+ 'roxo',
+ 'rubro',
+ 'rugido',
+ 'rugoso',
+ 'ruivo',
+ 'rumo',
+ 'rupestre',
+ 'russo',
+ 'sabor',
+ 'saciar',
+ 'sacola',
+ 'sacudir',
+ 'sadio',
+ 'safira',
+ 'saga',
+ 'sagrada',
+ 'saibro',
+ 'salada',
+ 'saleiro',
+ 'salgado',
+ 'saliva',
+ 'salpicar',
+ 'salsicha',
+ 'saltar',
+ 'salvador',
+ 'sambar',
+ 'samurai',
+ 'sanar',
+ 'sanfona',
+ 'sangue',
+ 'sanidade',
+ 'sapato',
+ 'sarda',
+ 'sargento',
+ 'sarjeta',
+ 'saturar',
+ 'saudade',
+ 'saxofone',
+ 'sazonal',
+ 'secar',
+ 'secular',
+ 'seda',
+ 'sedento',
+ 'sediado',
+ 'sedoso',
+ 'sedutor',
+ 'segmento',
+ 'segredo',
+ 'segundo',
+ 'seiva',
+ 'seleto',
+ 'selvagem',
+ 'semanal',
+ 'semente',
+ 'senador',
+ 'senhor',
+ 'sensual',
+ 'sentado',
+ 'separado',
+ 'sereia',
+ 'seringa',
+ 'serra',
+ 'servo',
+ 'setembro',
+ 'setor',
+ 'sigilo',
+ 'silhueta',
+ 'silicone',
+ 'simetria',
+ 'simpatia',
+ 'simular',
+ 'sinal',
+ 'sincero',
+ 'singular',
+ 'sinopse',
+ 'sintonia',
+ 'sirene',
+ 'siri',
+ 'situado',
+ 'soberano',
+ 'sobra',
+ 'socorro',
+ 'sogro',
+ 'soja',
+ 'solda',
+ 'soletrar',
+ 'solteiro',
+ 'sombrio',
+ 'sonata',
+ 'sondar',
+ 'sonegar',
+ 'sonhador',
+ 'sono',
+ 'soprano',
+ 'soquete',
+ 'sorrir',
+ 'sorteio',
+ 'sossego',
+ 'sotaque',
+ 'soterrar',
+ 'sovado',
+ 'sozinho',
+ 'suavizar',
+ 'subida',
+ 'submerso',
+ 'subsolo',
+ 'subtrair',
+ 'sucata',
+ 'sucesso',
+ 'suco',
+ 'sudeste',
+ 'sufixo',
+ 'sugador',
+ 'sugerir',
+ 'sujeito',
+ 'sulfato',
+ 'sumir',
+ 'suor',
+ 'superior',
+ 'suplicar',
+ 'suposto',
+ 'suprimir',
+ 'surdina',
+ 'surfista',
+ 'surpresa',
+ 'surreal',
+ 'surtir',
+ 'suspiro',
+ 'sustento',
+ 'tabela',
+ 'tablete',
+ 'tabuada',
+ 'tacho',
+ 'tagarela',
+ 'talher',
+ 'talo',
+ 'talvez',
+ 'tamanho',
+ 'tamborim',
+ 'tampa',
+ 'tangente',
+ 'tanto',
+ 'tapar',
+ 'tapioca',
+ 'tardio',
+ 'tarefa',
+ 'tarja',
+ 'tarraxa',
+ 'tatuagem',
+ 'taurino',
+ 'taxativo',
+ 'taxista',
+ 'teatral',
+ 'tecer',
+ 'tecido',
+ 'teclado',
+ 'tedioso',
+ 'teia',
+ 'teimar',
+ 'telefone',
+ 'telhado',
+ 'tempero',
+ 'tenente',
+ 'tensor',
+ 'tentar',
+ 'termal',
+ 'terno',
+ 'terreno',
+ 'tese',
+ 'tesoura',
+ 'testado',
+ 'teto',
+ 'textura',
+ 'texugo',
+ 'tiara',
+ 'tigela',
+ 'tijolo',
+ 'timbrar',
+ 'timidez',
+ 'tingido',
+ 'tinteiro',
+ 'tiragem',
+ 'titular',
+ 'toalha',
+ 'tocha',
+ 'tolerar',
+ 'tolice',
+ 'tomada',
+ 'tomilho',
+ 'tonel',
+ 'tontura',
+ 'topete',
+ 'tora',
+ 'torcido',
+ 'torneio',
+ 'torque',
+ 'torrada',
+ 'torto',
+ 'tostar',
+ 'touca',
+ 'toupeira',
+ 'toxina',
+ 'trabalho',
+ 'tracejar',
+ 'tradutor',
+ 'trafegar',
+ 'trajeto',
+ 'trama',
+ 'trancar',
+ 'trapo',
+ 'traseiro',
+ 'tratador',
+ 'travar',
+ 'treino',
+ 'tremer',
+ 'trepidar',
+ 'trevo',
+ 'triagem',
+ 'tribo',
+ 'triciclo',
+ 'tridente',
+ 'trilogia',
+ 'trindade',
+ 'triplo',
+ 'triturar',
+ 'triunfal',
+ 'trocar',
+ 'trombeta',
+ 'trova',
+ 'trunfo',
+ 'truque',
+ 'tubular',
+ 'tucano',
+ 'tudo',
+ 'tulipa',
+ 'tupi',
+ 'turbo',
+ 'turma',
+ 'turquesa',
+ 'tutelar',
+ 'tutorial',
+ 'uivar',
+ 'umbigo',
+ 'unha',
+ 'unidade',
+ 'uniforme',
+ 'urologia',
+ 'urso',
+ 'urtiga',
+ 'urubu',
+ 'usado',
+ 'usina',
+ 'usufruir',
+ 'vacina',
+ 'vadiar',
+ 'vagaroso',
+ 'vaidoso',
+ 'vala',
+ 'valente',
+ 'validade',
+ 'valores',
+ 'vantagem',
+ 'vaqueiro',
+ 'varanda',
+ 'vareta',
+ 'varrer',
+ 'vascular',
+ 'vasilha',
+ 'vassoura',
+ 'vazar',
+ 'vazio',
+ 'veado',
+ 'vedar',
+ 'vegetar',
+ 'veicular',
+ 'veleiro',
+ 'velhice',
+ 'veludo',
+ 'vencedor',
+ 'vendaval',
+ 'venerar',
+ 'ventre',
+ 'verbal',
+ 'verdade',
+ 'vereador',
+ 'vergonha',
+ 'vermelho',
+ 'verniz',
+ 'versar',
+ 'vertente',
+ 'vespa',
+ 'vestido',
+ 'vetorial',
+ 'viaduto',
+ 'viagem',
+ 'viajar',
+ 'viatura',
+ 'vibrador',
+ 'videira',
+ 'vidraria',
+ 'viela',
+ 'viga',
+ 'vigente',
+ 'vigiar',
+ 'vigorar',
+ 'vilarejo',
+ 'vinco',
+ 'vinheta',
+ 'vinil',
+ 'violeta',
+ 'virada',
+ 'virtude',
+ 'visitar',
+ 'visto',
+ 'vitral',
+ 'viveiro',
+ 'vizinho',
+ 'voador',
+ 'voar',
+ 'vogal',
+ 'volante',
+ 'voleibol',
+ 'voltagem',
+ 'volumoso',
+ 'vontade',
+ 'vulto',
+ 'vuvuzela',
+ 'xadrez',
+ 'xarope',
+ 'xeque',
+ 'xeretar',
+ 'xerife',
+ 'xingar',
+ 'zangado',
+ 'zarpar',
+ 'zebu',
+ 'zelador',
+ 'zombar',
+ 'zoologia',
+ 'zumbido',
+];
+
+let DEFAULT_WORDLIST;
+const INVALID_MNEMONIC = 'Invalid mnemonic';
+const INVALID_ENTROPY = 'Invalid entropy';
+const INVALID_CHECKSUM = 'Invalid mnemonic checksum';
+const WORDLIST_REQUIRED = 'A wordlist is required but a default could not be found.\n' +
+ 'Please pass a 2048 word array explicitly.';
+function normalize(str) {
+ return (str || '').normalize('NFKD');
+}
+function lpad(str, padString, length) {
+ while (str.length < length) {
+ str = padString + str;
+ }
+ return str;
+}
+function binaryToByte(bin) {
+ return parseInt(bin, 2);
+}
+function bytesToBinary(bytes) {
+ return bytes.map((x) => lpad(x.toString(2), '0', 8)).join('');
+}
+function deriveChecksumBits(entropyBuffer) {
+ const ENT = entropyBuffer.length * 8;
+ const CS = ENT / 32;
+ const hash = sha256(entropyBuffer);
+ return bytesToBinary(Array.from(hash)).slice(0, CS);
+}
+function salt(password) {
+ return 'mnemonic' + (password || '');
+}
+function mnemonicToSeedSync(mnemonic, password) {
+ const mnemonicBuffer = fromUtf8(normalize(mnemonic));
+ const saltBuffer = fromUtf8(salt(normalize(password)));
+ const res = pbkdf2(sha512, mnemonicBuffer, saltBuffer, {
+ c: 2048,
+ dkLen: 64,
+ });
+ return res;
+}
+function mnemonicToSeed(mnemonic, password) {
+ const mnemonicBuffer = fromUtf8(normalize(mnemonic));
+ const saltBuffer = fromUtf8(salt(normalize(password)));
+ return pbkdf2Async(sha512, mnemonicBuffer, saltBuffer, {
+ c: 2048,
+ dkLen: 64,
+ });
+}
+function mnemonicToEntropy(mnemonic, wordlist) {
+ wordlist = wordlist || DEFAULT_WORDLIST;
+ if (!wordlist) {
+ throw new Error(WORDLIST_REQUIRED);
+ }
+ const words = normalize(mnemonic).split(' ');
+ if (words.length % 3 !== 0) {
+ throw new Error(INVALID_MNEMONIC);
+ }
+ const bits = words
+ .map((word) => {
+ const index = wordlist.indexOf(word);
+ if (index === -1) {
+ throw new Error(INVALID_MNEMONIC);
+ }
+ return lpad(index.toString(2), '0', 11);
+ })
+ .join('');
+ const dividerIndex = Math.floor(bits.length / 33) * 32;
+ const entropyBits = bits.slice(0, dividerIndex);
+ const checksumBits = bits.slice(dividerIndex);
+ const entropyBytes = entropyBits.match(/(.{1,8})/g).map(binaryToByte);
+ if (entropyBytes.length < 16) {
+ throw new Error(INVALID_ENTROPY);
+ }
+ if (entropyBytes.length > 32) {
+ throw new Error(INVALID_ENTROPY);
+ }
+ if (entropyBytes.length % 4 !== 0) {
+ throw new Error(INVALID_ENTROPY);
+ }
+ const entropy = Uint8Array.from(entropyBytes);
+ const newChecksum = deriveChecksumBits(entropy);
+ if (newChecksum !== checksumBits) {
+ throw new Error(INVALID_CHECKSUM);
+ }
+ return toHex(entropy);
+}
+function entropyToMnemonic(entropy, wordlist) {
+ if (typeof entropy === 'string') {
+ entropy = fromHex(entropy);
+ }
+ wordlist = wordlist || DEFAULT_WORDLIST;
+ if (!wordlist) {
+ throw new Error(WORDLIST_REQUIRED);
+ }
+ if (entropy.length < 16) {
+ throw new TypeError(INVALID_ENTROPY);
+ }
+ if (entropy.length > 32) {
+ throw new TypeError(INVALID_ENTROPY);
+ }
+ if (entropy.length % 4 !== 0) {
+ throw new TypeError(INVALID_ENTROPY);
+ }
+ const entropyBits = bytesToBinary(Array.from(entropy));
+ const checksumBits = deriveChecksumBits(entropy);
+ const bits = entropyBits + checksumBits;
+ const chunks = bits.match(/(.{1,11})/g);
+ const words = chunks.map((binary) => {
+ const index = binaryToByte(binary);
+ return wordlist[index];
+ });
+ return wordlist[0] === '\u3042\u3044\u3053\u304f\u3057\u3093'
+ ? words.join('\u3000')
+ : words.join(' ');
+}
+function generateMnemonic(strength, rng, wordlist) {
+ strength = strength || 128;
+ if (strength % 32 !== 0) {
+ throw new TypeError(INVALID_ENTROPY);
+ }
+ rng = rng || ((size) => crypto.getRandomValues(new Uint8Array(size)));
+ return entropyToMnemonic(rng(strength / 8), wordlist);
+}
+function validateMnemonic(mnemonic, wordlist) {
+ try {
+ mnemonicToEntropy(mnemonic, wordlist);
+ }
+ catch (e) {
+ return false;
+ }
+ return true;
+}
+function validateWordlist(wordlist) {
+ if (!Array.isArray(wordlist)) {
+ return false;
+ }
+ if (wordlist.length !== 2048) {
+ return false;
+ }
+ const unique = new Set(wordlist);
+ if (unique.size !== wordlist.length) {
+ return false;
+ }
+ console.log("hi");
+ return true;
+}
+function setDefaultWordlist(wordlist) {
+ if (!validateWordlist(wordlist)) {
+ throw new Error('Invalid wordlist');
+ }
+ DEFAULT_WORDLIST = wordlist;
+}
+function getDefaultWordlist() {
+ if (!DEFAULT_WORDLIST) {
+ throw new Error('No Default Wordlist set');
+ }
+ return DEFAULT_WORDLIST;
+}
+
+export { chineseSimplified, chineseTraditional, czech, english, entropyToMnemonic, french, generateMnemonic, getDefaultWordlist, italian, japanese, korean, mnemonicToEntropy, mnemonicToSeed, mnemonicToSeedSync, portuguese, setDefaultWordlist, spanish, validateMnemonic };
+//# sourceMappingURL=index.js.map
diff --git a/src/esm/index.js.map b/src/esm/index.js.map
new file mode 100644
index 0000000..bd72e2b
--- /dev/null
+++ b/src/esm/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sources":["../../node_modules/@noble/hashes/esm/_assert.js","../../node_modules/@noble/hashes/esm/utils.js","../../node_modules/@noble/hashes/esm/_sha2.js","../../node_modules/@noble/hashes/esm/sha256.js","../../node_modules/@noble/hashes/esm/_u64.js","../../node_modules/@noble/hashes/esm/sha512.js","../../node_modules/@noble/hashes/esm/hmac.js","../../node_modules/@noble/hashes/esm/pbkdf2.js","../../node_modules/uint8array-tools/src/mjs/browser.js","../../ts_src/wordlists/chinese_simplified.ts","../../ts_src/wordlists/chinese_traditional.ts","../../ts_src/wordlists/czech.ts","../../ts_src/wordlists/english.ts","../../ts_src/wordlists/french.ts","../../ts_src/wordlists/italian.ts","../../ts_src/wordlists/japanese.ts","../../ts_src/wordlists/korean.ts","../../ts_src/wordlists/spanish.ts","../../ts_src/wordlists/portuguese.ts","../../ts_src/index.ts"],"sourcesContent":["export function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nexport function bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nexport function bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new TypeError('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nexport function hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nexport function exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nexport function output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nconst assert = {\n number,\n bool,\n bytes,\n hash,\n exists,\n output,\n};\nexport default assert;\n//# sourceMappingURL=_assert.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// The import here is via the package name. This is to ensure\n// that exports mapping/resolution does fall into place.\nimport { crypto } from '@noble/hashes/crypto';\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\n// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.\n// So, just to be sure not to corrupt anything.\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))\n */\nexport function bytesToHex(uint8a) {\n // pre-caching improves the speed 6x\n if (!(uint8a instanceof Uint8Array))\n throw new Error('Uint8Array expected');\n let hex = '';\n for (let i = 0; i < uint8a.length; i++) {\n hex += hexes[uint8a[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('deadbeef')\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n }\n if (hex.length % 2)\n throw new Error('hexToBytes: received invalid unpadded hex');\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise\n// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string') {\n throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!(data instanceof Uint8Array))\n throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);\n return data;\n}\n/**\n * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`\n * @example concatBytes(buf1, buf2)\n */\nexport function concatBytes(...arrays) {\n if (!arrays.every((a) => a instanceof Uint8Array))\n throw new Error('Uint8Array list expected');\n if (arrays.length === 1)\n return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n throw new TypeError('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashConstructor) {\n const hashC = (message) => hashConstructor().update(toBytes(message)).digest();\n const tmp = hashConstructor();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashConstructor();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto.web) {\n return crypto.web.getRandomValues(new Uint8Array(bytesLength));\n }\n else if (crypto.node) {\n return new Uint8Array(crypto.node.randomBytes(bytesLength).buffer);\n }\n else {\n throw new Error(\"The environment doesn't have randomBytes function\");\n }\n}\n//# sourceMappingURL=utils.js.map","import assert from './_assert.js';\nimport { Hash, createView, toBytes } from './utils.js';\n// Polyfill for Safari 14\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n// Base SHA2 class (RFC 6234)\nexport class SHA2 extends Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.buffer = new Uint8Array(blockLen);\n this.view = createView(this.buffer);\n }\n update(data) {\n assert.exists(this);\n const { view, buffer, blockLen } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = createView(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n assert.exists(this);\n assert.output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = createView(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n}\n//# sourceMappingURL=_sha2.js.map","import { SHA2 } from './_sha2.js';\nimport { rotr, wrapConstructor } from './utils.js';\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = new Uint32Array(64);\nclass SHA256 extends SHA2 {\n constructor() {\n super(64, 32, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n this.F = IV[5] | 0;\n this.G = IV[6] | 0;\n this.H = IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n constructor() {\n super();\n this.A = 0xc1059ed8 | 0;\n this.B = 0x367cd507 | 0;\n this.C = 0x3070dd17 | 0;\n this.D = 0xf70e5939 | 0;\n this.E = 0xffc00b31 | 0;\n this.F = 0x68581511 | 0;\n this.G = 0x64f98fa7 | 0;\n this.H = 0xbefa4fa4 | 0;\n this.outputLen = 28;\n }\n}\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = wrapConstructor(() => new SHA256());\nexport const sha224 = wrapConstructor(() => new SHA224());\n//# sourceMappingURL=sha256.js.map","const U32_MASK64 = BigInt(2 ** 32 - 1);\nconst _32n = BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nexport function fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nexport function split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nexport const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (h, l) => l;\nconst rotr32L = (h, l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\n// Removing \"export\" has 5% perf penalty -_-\nexport function add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","import { SHA2 } from './_sha2.js';\nimport u64 from './_u64.js';\nimport { wrapConstructor } from './utils.js';\n// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):\n// prettier-ignore\nconst [SHA512_Kh, SHA512_Kl] = u64.split([\n '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',\n '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',\n '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',\n '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',\n '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',\n '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',\n '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',\n '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',\n '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',\n '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',\n '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',\n '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',\n '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',\n '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',\n '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',\n '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',\n '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',\n '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',\n '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',\n '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'\n].map(n => BigInt(n)));\n// Temporary buffer, not used to store anything between runs\nconst SHA512_W_H = new Uint32Array(80);\nconst SHA512_W_L = new Uint32Array(80);\nexport class SHA512 extends SHA2 {\n constructor() {\n super(128, 64, 16, false);\n // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.\n // Also looks cleaner and easier to verify with spec.\n // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x6a09e667 | 0;\n this.Al = 0xf3bcc908 | 0;\n this.Bh = 0xbb67ae85 | 0;\n this.Bl = 0x84caa73b | 0;\n this.Ch = 0x3c6ef372 | 0;\n this.Cl = 0xfe94f82b | 0;\n this.Dh = 0xa54ff53a | 0;\n this.Dl = 0x5f1d36f1 | 0;\n this.Eh = 0x510e527f | 0;\n this.El = 0xade682d1 | 0;\n this.Fh = 0x9b05688c | 0;\n this.Fl = 0x2b3e6c1f | 0;\n this.Gh = 0x1f83d9ab | 0;\n this.Gl = 0xfb41bd6b | 0;\n this.Hh = 0x5be0cd19 | 0;\n this.Hl = 0x137e2179 | 0;\n }\n // prettier-ignore\n get() {\n const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];\n }\n // prettier-ignore\n set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {\n this.Ah = Ah | 0;\n this.Al = Al | 0;\n this.Bh = Bh | 0;\n this.Bl = Bl | 0;\n this.Ch = Ch | 0;\n this.Cl = Cl | 0;\n this.Dh = Dh | 0;\n this.Dl = Dl | 0;\n this.Eh = Eh | 0;\n this.El = El | 0;\n this.Fh = Fh | 0;\n this.Fl = Fl | 0;\n this.Gh = Gh | 0;\n this.Gl = Gl | 0;\n this.Hh = Hh | 0;\n this.Hl = Hl | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) {\n SHA512_W_H[i] = view.getUint32(offset);\n SHA512_W_L[i] = view.getUint32((offset += 4));\n }\n for (let i = 16; i < 80; i++) {\n // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)\n const W15h = SHA512_W_H[i - 15] | 0;\n const W15l = SHA512_W_L[i - 15] | 0;\n const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);\n const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);\n // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)\n const W2h = SHA512_W_H[i - 2] | 0;\n const W2l = SHA512_W_L[i - 2] | 0;\n const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);\n const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);\n // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];\n const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);\n const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);\n SHA512_W_H[i] = SUMh | 0;\n SHA512_W_L[i] = SUMl | 0;\n }\n let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n // Compression function main loop, 80 rounds\n for (let i = 0; i < 80; i++) {\n // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)\n const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);\n const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);\n //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const CHIh = (Eh & Fh) ^ (~Eh & Gh);\n const CHIl = (El & Fl) ^ (~El & Gl);\n // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]\n // prettier-ignore\n const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);\n const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);\n const T1l = T1ll | 0;\n // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)\n const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);\n const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);\n const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);\n const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);\n Hh = Gh | 0;\n Hl = Gl | 0;\n Gh = Fh | 0;\n Gl = Fl | 0;\n Fh = Eh | 0;\n Fl = El | 0;\n ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));\n Dh = Ch | 0;\n Dl = Cl | 0;\n Ch = Bh | 0;\n Cl = Bl | 0;\n Bh = Ah | 0;\n Bl = Al | 0;\n const All = u64.add3L(T1l, sigma0l, MAJl);\n Ah = u64.add3H(All, T1h, sigma0h, MAJh);\n Al = All | 0;\n }\n // Add the compressed chunk to the current hash value\n ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));\n ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));\n ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));\n ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));\n ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));\n ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));\n ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));\n ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));\n this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);\n }\n roundClean() {\n SHA512_W_H.fill(0);\n SHA512_W_L.fill(0);\n }\n destroy() {\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\nclass SHA512_224 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x8c3d37c8 | 0;\n this.Al = 0x19544da2 | 0;\n this.Bh = 0x73e19966 | 0;\n this.Bl = 0x89dcd4d6 | 0;\n this.Ch = 0x1dfab7ae | 0;\n this.Cl = 0x32ff9c82 | 0;\n this.Dh = 0x679dd514 | 0;\n this.Dl = 0x582f9fcf | 0;\n this.Eh = 0x0f6d2b69 | 0;\n this.El = 0x7bd44da8 | 0;\n this.Fh = 0x77e36f73 | 0;\n this.Fl = 0x04c48942 | 0;\n this.Gh = 0x3f9d85a8 | 0;\n this.Gl = 0x6a1d36c8 | 0;\n this.Hh = 0x1112e6ad | 0;\n this.Hl = 0x91d692a1 | 0;\n this.outputLen = 28;\n }\n}\nclass SHA512_256 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x22312194 | 0;\n this.Al = 0xfc2bf72c | 0;\n this.Bh = 0x9f555fa3 | 0;\n this.Bl = 0xc84c64c2 | 0;\n this.Ch = 0x2393b86b | 0;\n this.Cl = 0x6f53b151 | 0;\n this.Dh = 0x96387719 | 0;\n this.Dl = 0x5940eabd | 0;\n this.Eh = 0x96283ee2 | 0;\n this.El = 0xa88effe3 | 0;\n this.Fh = 0xbe5e1e25 | 0;\n this.Fl = 0x53863992 | 0;\n this.Gh = 0x2b0199fc | 0;\n this.Gl = 0x2c85b8aa | 0;\n this.Hh = 0x0eb72ddc | 0;\n this.Hl = 0x81c52ca2 | 0;\n this.outputLen = 32;\n }\n}\nclass SHA384 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0xcbbb9d5d | 0;\n this.Al = 0xc1059ed8 | 0;\n this.Bh = 0x629a292a | 0;\n this.Bl = 0x367cd507 | 0;\n this.Ch = 0x9159015a | 0;\n this.Cl = 0x3070dd17 | 0;\n this.Dh = 0x152fecd8 | 0;\n this.Dl = 0xf70e5939 | 0;\n this.Eh = 0x67332667 | 0;\n this.El = 0xffc00b31 | 0;\n this.Fh = 0x8eb44a87 | 0;\n this.Fl = 0x68581511 | 0;\n this.Gh = 0xdb0c2e0d | 0;\n this.Gl = 0x64f98fa7 | 0;\n this.Hh = 0x47b5481d | 0;\n this.Hl = 0xbefa4fa4 | 0;\n this.outputLen = 48;\n }\n}\nexport const sha512 = wrapConstructor(() => new SHA512());\nexport const sha512_224 = wrapConstructor(() => new SHA512_224());\nexport const sha512_256 = wrapConstructor(() => new SHA512_256());\nexport const sha384 = wrapConstructor(() => new SHA384());\n//# sourceMappingURL=sha512.js.map","import assert from './_assert.js';\nimport { Hash, toBytes } from './utils.js';\n// HMAC (RFC 2104)\nclass HMAC extends Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n assert.hash(hash);\n const key = toBytes(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new TypeError('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf) {\n assert.exists(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n assert.exists(this);\n assert.bytes(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nexport const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nhmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map","import assert from './_assert.js';\nimport { hmac } from './hmac.js';\nimport { createView, toBytes, checkOpts, asyncLoop } from './utils.js';\n// Common prologue and epilogue for sync/async functions\nfunction pbkdf2Init(hash, _password, _salt, _opts) {\n assert.hash(hash);\n const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);\n const { c, dkLen, asyncTick } = opts;\n assert.number(c);\n assert.number(dkLen);\n assert.number(asyncTick);\n if (c < 1)\n throw new Error('PBKDF2: iterations (c) should be >= 1');\n const password = toBytes(_password);\n const salt = toBytes(_salt);\n // DK = PBKDF2(PRF, Password, Salt, c, dkLen);\n const DK = new Uint8Array(dkLen);\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n const PRF = hmac.create(hash, password);\n const PRFSalt = PRF._cloneInto().update(salt);\n return { c, dkLen, asyncTick, DK, PRF, PRFSalt };\n}\nfunction pbkdf2Output(PRF, PRFSalt, DK, prfW, u) {\n PRF.destroy();\n PRFSalt.destroy();\n if (prfW)\n prfW.destroy();\n u.fill(0);\n return DK;\n}\n/**\n * PBKDF2-HMAC: RFC 2898 key derivation function\n * @param hash - hash function that would be used e.g. sha256\n * @param password - password from which a derived key is generated\n * @param salt - cryptographic salt\n * @param opts - {c, dkLen} where c is work factor and dkLen is output message size\n */\nexport function pbkdf2(hash, password, salt, opts) {\n const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n for (let ui = 1; ui < c; ui++) {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n }\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\nexport async function pbkdf2Async(hash, password, salt, opts) {\n const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n await asyncLoop(c - 1, asyncTick, (i) => {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n });\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n//# sourceMappingURL=pbkdf2.js.map","const HEX_STRINGS = \"0123456789abcdefABCDEF\";\nconst HEX_CODES = HEX_STRINGS.split(\"\").map((c) => c.codePointAt(0));\nconst HEX_CODEPOINTS = Array(256)\n .fill(true)\n .map((_, i) => {\n const s = String.fromCodePoint(i);\n const index = HEX_STRINGS.indexOf(s);\n // ABCDEF will use 10 - 15\n return index < 0 ? undefined : index < 16 ? index : index - 6;\n});\nconst ENCODER = new TextEncoder();\nconst DECODER = new TextDecoder();\nexport function toUtf8(bytes) {\n return DECODER.decode(bytes);\n}\nexport function fromUtf8(s) {\n return ENCODER.encode(s);\n}\nexport function concat(arrays) {\n const totalLength = arrays.reduce((a, b) => a + b.length, 0);\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n// There are two implementations.\n// One optimizes for length of the bytes, and uses TextDecoder.\n// One optimizes for iteration count, and appends strings.\n// This removes the overhead of TextDecoder.\nexport function toHex(bytes) {\n const b = bytes || new Uint8Array();\n return b.length > 512 ? _toHexLengthPerf(b) : _toHexIterPerf(b);\n}\nfunction _toHexIterPerf(bytes) {\n let s = \"\";\n for (let i = 0; i < bytes.length; ++i) {\n s += HEX_STRINGS[HEX_CODEPOINTS[HEX_CODES[bytes[i] >> 4]]];\n s += HEX_STRINGS[HEX_CODEPOINTS[HEX_CODES[bytes[i] & 15]]];\n }\n return s;\n}\nfunction _toHexLengthPerf(bytes) {\n const hexBytes = new Uint8Array(bytes.length * 2);\n for (let i = 0; i < bytes.length; ++i) {\n hexBytes[i * 2] = HEX_CODES[bytes[i] >> 4];\n hexBytes[i * 2 + 1] = HEX_CODES[bytes[i] & 15];\n }\n return DECODER.decode(hexBytes);\n}\n// Mimics Buffer.from(x, 'hex') logic\n// Stops on first non-hex string and returns\n// https://github.com/nodejs/node/blob/v14.18.1/src/string_bytes.cc#L246-L261\nexport function fromHex(hexString) {\n const hexBytes = ENCODER.encode(hexString || \"\");\n const resultBytes = new Uint8Array(Math.floor(hexBytes.length / 2));\n let i;\n for (i = 0; i < resultBytes.length; i++) {\n const a = HEX_CODEPOINTS[hexBytes[i * 2]];\n const b = HEX_CODEPOINTS[hexBytes[i * 2 + 1]];\n if (a === undefined || b === undefined) {\n break;\n }\n resultBytes[i] = (a << 4) | b;\n }\n return i === resultBytes.length ? resultBytes : resultBytes.slice(0, i);\n}\nexport function toBase64(bytes) {\n return btoa(String.fromCharCode(...bytes));\n}\nexport function fromBase64(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\n// Same behavior as Buffer.compare()\nexport function compare(v1, v2) {\n const minLength = Math.min(v1.length, v2.length);\n for (let i = 0; i < minLength; ++i) {\n if (v1[i] !== v2[i]) {\n return v1[i] < v2[i] ? -1 : 1;\n }\n }\n return v1.length === v2.length ? 0 : v1.length > v2.length ? 1 : -1;\n}\nexport function writeUInt8(buffer, offset, value) {\n if (offset + 1 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n if (value > 0xff) {\n throw new Error(`The value of \"value\" is out of range. It must be >= 0 and <= ${0xff}. Received ${value}`);\n }\n buffer[offset] = value;\n}\nexport function writeUInt16(buffer, offset, value, littleEndian) {\n if (offset + 2 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (value > 0xffff) {\n throw new Error(`The value of \"value\" is out of range. It must be >= 0 and <= ${0xffff}. Received ${value}`);\n }\n if (littleEndian === \"LE\") {\n buffer[offset] = value & 0xff;\n buffer[offset + 1] = (value >> 8) & 0xff;\n }\n else {\n buffer[offset] = (value >> 8) & 0xff;\n buffer[offset + 1] = value & 0xff;\n }\n}\nexport function writeUInt32(buffer, offset, value, littleEndian) {\n if (offset + 4 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (value > 0xffffffff) {\n throw new Error(`The value of \"value\" is out of range. It must be >= 0 and <= ${0xffffffff}. Received ${value}`);\n }\n if (littleEndian === \"LE\") {\n buffer[offset] = value & 0xff;\n buffer[offset + 1] = (value >> 8) & 0xff;\n buffer[offset + 2] = (value >> 16) & 0xff;\n buffer[offset + 3] = (value >> 24) & 0xff;\n }\n else {\n buffer[offset] = (value >> 24) & 0xff;\n buffer[offset + 1] = (value >> 16) & 0xff;\n buffer[offset + 2] = (value >> 8) & 0xff;\n buffer[offset + 3] = value & 0xff;\n }\n}\nexport function writeUInt64(buffer, offset, value, littleEndian) {\n if (offset + 8 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (value > 0xffffffffffffffffn) {\n throw new Error(`The value of \"value\" is out of range. It must be >= 0 and <= ${0xffffffffffffffffn}. Received ${value}`);\n }\n if (littleEndian === \"LE\") {\n buffer[offset] = Number(value & 0xffn);\n buffer[offset + 1] = Number((value >> 8n) & 0xffn);\n buffer[offset + 2] = Number((value >> 16n) & 0xffn);\n buffer[offset + 3] = Number((value >> 24n) & 0xffn);\n buffer[offset + 4] = Number((value >> 32n) & 0xffn);\n buffer[offset + 5] = Number((value >> 40n) & 0xffn);\n buffer[offset + 6] = Number((value >> 48n) & 0xffn);\n buffer[offset + 7] = Number((value >> 56n) & 0xffn);\n }\n else {\n buffer[offset] = Number((value >> 56n) & 0xffn);\n buffer[offset + 1] = Number((value >> 48n) & 0xffn);\n buffer[offset + 2] = Number((value >> 40n) & 0xffn);\n buffer[offset + 3] = Number((value >> 32n) & 0xffn);\n buffer[offset + 4] = Number((value >> 24n) & 0xffn);\n buffer[offset + 5] = Number((value >> 16n) & 0xffn);\n buffer[offset + 6] = Number((value >> 8n) & 0xffn);\n buffer[offset + 7] = Number(value & 0xffn);\n }\n}\nexport function readUInt8(buffer, offset) {\n if (offset + 1 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n return buffer[offset];\n}\nexport function readUInt16(buffer, offset, littleEndian) {\n if (offset + 2 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (littleEndian === \"LE\") {\n let num = 0;\n num = (num << 8) + buffer[offset + 1];\n num = (num << 8) + buffer[offset];\n return num;\n }\n else {\n let num = 0;\n num = (num << 8) + buffer[offset];\n num = (num << 8) + buffer[offset + 1];\n return num;\n }\n}\nexport function readUInt32(buffer, offset, littleEndian) {\n if (offset + 4 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (littleEndian === \"LE\") {\n let num = 0;\n num = ((num << 8) + buffer[offset + 3]) >>> 0;\n num = ((num << 8) + buffer[offset + 2]) >>> 0;\n num = ((num << 8) + buffer[offset + 1]) >>> 0;\n num = ((num << 8) + buffer[offset]) >>> 0;\n return num;\n }\n else {\n let num = 0;\n num = ((num << 8) + buffer[offset]) >>> 0;\n num = ((num << 8) + buffer[offset + 1]) >>> 0;\n num = ((num << 8) + buffer[offset + 2]) >>> 0;\n num = ((num << 8) + buffer[offset + 3]) >>> 0;\n return num;\n }\n}\nexport function readUInt64(buffer, offset, littleEndian) {\n if (offset + 8 > buffer.length) {\n throw new Error(\"Offset is outside the bounds of Uint8Array\");\n }\n littleEndian = littleEndian.toUpperCase();\n if (littleEndian === \"LE\") {\n let num = 0n;\n num = (num << 8n) + BigInt(buffer[offset + 7]);\n num = (num << 8n) + BigInt(buffer[offset + 6]);\n num = (num << 8n) + BigInt(buffer[offset + 5]);\n num = (num << 8n) + BigInt(buffer[offset + 4]);\n num = (num << 8n) + BigInt(buffer[offset + 3]);\n num = (num << 8n) + BigInt(buffer[offset + 2]);\n num = (num << 8n) + BigInt(buffer[offset + 1]);\n num = (num << 8n) + BigInt(buffer[offset]);\n return num;\n }\n else {\n let num = 0n;\n num = (num << 8n) + BigInt(buffer[offset]);\n num = (num << 8n) + BigInt(buffer[offset + 1]);\n num = (num << 8n) + BigInt(buffer[offset + 2]);\n num = (num << 8n) + BigInt(buffer[offset + 3]);\n num = (num << 8n) + BigInt(buffer[offset + 4]);\n num = (num << 8n) + BigInt(buffer[offset + 5]);\n num = (num << 8n) + BigInt(buffer[offset + 6]);\n num = (num << 8n) + BigInt(buffer[offset + 7]);\n return num;\n }\n}\n",null,null,null,null,null,null,null,null,null,null,null],"names":["tools.fromUtf8","tools.toHex","tools.fromHex"],"mappings":"AAAO,SAAS,MAAM,CAAC,CAAC,EAAE;AAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AACM,SAAS,IAAI,CAAC,CAAC,EAAE;AACxB,IAAI,IAAI,OAAO,CAAC,KAAK,SAAS;AAC9B,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AACM,SAAS,KAAK,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE;AACrC,IAAI,IAAI,EAAE,CAAC,YAAY,UAAU,CAAC;AAClC,QAAQ,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;AACnD,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACzD,QAAQ,MAAM,IAAI,SAAS,CAAC,CAAC,8BAA8B,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AACM,SAAS,IAAI,CAAC,IAAI,EAAE;AAC3B,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU;AACvE,QAAQ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACM,SAAS,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE;AACvD,IAAI,IAAI,QAAQ,CAAC,SAAS;AAC1B,QAAQ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AAC5D,IAAI,IAAI,aAAa,IAAI,QAAQ,CAAC,QAAQ;AAC1C,QAAQ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AACjE,CAAC;AACM,SAAS,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE;AACtC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACf,IAAI,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;AACnC,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;AAC1B,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACxF,KAAK;AACL,CAAC;AACD,MAAM,MAAM,GAAG;AACf,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,MAAM;AACV,CAAC;;ACxCD;AACA;AACA;AAKA;AACO,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5F;AACO,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC;AACxE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACrF;AACA;AACA,IAAI,CAAC,IAAI;AACT,IAAI,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACrD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AAkCrF;AACA;AACO,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC;AACxC;AACO,eAAe,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;AACjD,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACxB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AACpC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACd;AACA,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACrC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI;AACpC,YAAY,SAAS;AACrB,QAAQ,MAAM,QAAQ,EAAE,CAAC;AACzB,QAAQ,EAAE,IAAI,IAAI,CAAC;AACnB,KAAK;AACL,CAAC;AACM,SAAS,WAAW,CAAC,GAAG,EAAE;AACjC,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACjC,QAAQ,MAAM,IAAI,SAAS,CAAC,CAAC,iCAAiC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9E,KAAK;AACL,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AACM,SAAS,OAAO,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;AAChC,QAAQ,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AACjC,IAAI,IAAI,EAAE,IAAI,YAAY,UAAU,CAAC;AACrC,QAAQ,MAAM,IAAI,SAAS,CAAC,CAAC,uCAAuC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,IAAI,OAAO,IAAI,CAAC;AAChB,CAAC;AAmBD;AACO,MAAM,IAAI,CAAC;AAClB;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;AACjC,KAAK;AACL,CAAC;AACD;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,iBAAiB,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;AAChH,SAAS,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE;AAC1C,IAAI,IAAI,IAAI,KAAK,SAAS,KAAK,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAChF,QAAQ,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;AACrE,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjD,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACM,SAAS,eAAe,CAAC,eAAe,EAAE;AACjD,IAAI,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACnF,IAAI,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;AAClC,IAAI,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AACpC,IAAI,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAClC,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;AAC3C,IAAI,OAAO,KAAK,CAAC;AACjB;;ACrHA;AACA,SAAS,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;AACrD,IAAI,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU;AAC/C,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1D,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5B,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACxC,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,CAAC;AAClD,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;AACxC,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AACD;AACO,MAAM,IAAI,SAAS,IAAI,CAAC;AAC/B,IAAI,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;AACtD,QAAQ,KAAK,EAAE,CAAC;AAChB,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC9B,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACrB,QAAQ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAC/B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC/C,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5C,KAAK;AACL,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AAChD,QAAQ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,QAAQ,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG;AACtC,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;AAClE;AACA,YAAY,IAAI,IAAI,KAAK,QAAQ,EAAE;AACnC,gBAAgB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AAClD,gBAAgB,OAAO,QAAQ,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,QAAQ;AAC7D,oBAAoB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAChD,gBAAgB,SAAS;AACzB,aAAa;AACb,YAAY,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACjE,YAAY,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;AAC7B,YAAY,GAAG,IAAI,IAAI,CAAC;AACxB,YAAY,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE;AACvC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,gBAAgB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AAC7B,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;AACnC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1B,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,UAAU,CAAC,GAAG,EAAE;AACpB,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC7B;AACA;AACA;AACA,QAAQ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;AACtD,QAAQ,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3B;AACA,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC;AACnC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1C;AACA,QAAQ,IAAI,IAAI,CAAC,SAAS,GAAG,QAAQ,GAAG,GAAG,EAAE;AAC7C,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAClC,YAAY,GAAG,GAAG,CAAC,CAAC;AACpB,SAAS;AACT;AACA,QAAQ,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE;AAC3C,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1B;AACA;AACA;AACA,QAAQ,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACxE,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9B,QAAQ,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AACtC,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;AACnC;AACA,QAAQ,IAAI,GAAG,GAAG,CAAC;AACnB,YAAY,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAC3E,QAAQ,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;AAC/B,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACjC,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM;AACjC,YAAY,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AAClE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;AACvC,YAAY,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACnD,KAAK;AACL,IAAI,MAAM,GAAG;AACb,QAAQ,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;AAC3C,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAChC,QAAQ,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC/C,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;AACvB,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,IAAI,UAAU,CAAC,EAAE,EAAE;AACnB,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5C,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9B,QAAQ,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5E,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;AAC3B,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;AACrB,QAAQ,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/B,QAAQ,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;AACjC,QAAQ,IAAI,MAAM,GAAG,QAAQ;AAC7B,YAAY,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClC,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL;;AC9GA;AACA,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C;AACA,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD;AACA;AACA;AACA,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC;AACjC,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,CAAC,CAAC,CAAC;AACH;AACA;AACA,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;AAC3B,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClG,CAAC,CAAC,CAAC;AACH;AACA;AACA,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AACrC,MAAM,MAAM,SAAS,IAAI,CAAC;AAC1B,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAChC;AACA;AACA,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,GAAG,GAAG;AACV,QAAQ,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;AAChD,QAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxC,KAAK;AACL;AACA,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAChC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,KAAK;AACL,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;AAC1B;AACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC;AAChD,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACxD,QAAQ,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACtC,YAAY,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACzC,YAAY,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,YAAY,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;AAClE,YAAY,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACjE,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7E,SAAS;AACT;AACA,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;AAC9C,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACrC,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClE,YAAY,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnF,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClE,YAAY,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACnD,YAAY,CAAC,GAAG,CAAC,CAAC;AAClB,YAAY,CAAC,GAAG,CAAC,CAAC;AAClB,YAAY,CAAC,GAAG,CAAC,CAAC;AAClB,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC7B,YAAY,CAAC,GAAG,CAAC,CAAC;AAClB,YAAY,CAAC,GAAG,CAAC,CAAC;AAClB,YAAY,CAAC,GAAG,CAAC,CAAC;AAClB,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9B,SAAS;AACT;AACA,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,KAAK;AACL,IAAI,UAAU,GAAG;AACjB,QAAQ,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,KAAK;AACL,CAAC;AACD;AACA,MAAM,MAAM,SAAS,MAAM,CAAC;AAC5B,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE,CAAC;AAChB,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AAC5B,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACO,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;AACpC,eAAe,CAAC,MAAM,IAAI,MAAM,EAAE;;AC1HxD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AACvC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AACxB;AACO,SAAS,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE;AACvC,IAAI,IAAI,EAAE;AACV,QAAQ,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC;AAClF,IAAI,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;AACtF,CAAC;AACM,SAAS,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE;AACvC,IAAI,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,IAAI,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,QAAQ,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACpB,CAAC;AACM,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3E;AACA,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACnC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD;AACA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD;AACA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/D;AACA,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC5B;AACA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACxD;AACA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/D;AACA;AACA;AACO,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACpC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACtC,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAChE,CAAC;AACD;AACA,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACnE,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9E,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACpF,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACvF,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACrG,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAChG;AACA,MAAM,GAAG,GAAG;AACZ,IAAI,OAAO,EAAE,KAAK,EAAE,KAAK;AACzB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;AAClC,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;AAClC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;AACjD,CAAC;;ACvDD;AACA;AACA,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;AACzC,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,IAAI,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;AAC1F,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB;AACA,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AACvC,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AAChC,MAAM,MAAM,SAAS,IAAI,CAAC;AACjC,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AACjC,KAAK;AACL;AACA,IAAI,GAAG,GAAG;AACV,QAAQ,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;AACxF,QAAQ,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChF,KAAK;AACL;AACA,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACxE,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzB,KAAK;AACL,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;AAC1B;AACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC,EAAE;AAClD,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACnD,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;AAC1D,SAAS;AACT,QAAQ,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACtC;AACA,YAAY,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AAChD,YAAY,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AAChD,YAAY,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzG,YAAY,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzG;AACA,YAAY,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9C,YAAY,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9C,YAAY,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACrG,YAAY,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACrG;AACA,YAAY,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACpF,YAAY,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1F,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AACrC,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AACrC,SAAS;AACT,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;AACtF;AACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACrC;AACA,YAAY,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACrG,YAAY,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACrG;AACA,YAAY,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAChD,YAAY,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAChD;AACA;AACA,YAAY,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,YAAY,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,YAAY,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;AACjC;AACA,YAAY,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACrG,YAAY,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACrG,YAAY,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3D,YAAY,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3D,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE;AAC3E,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,YAAY,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACtD,YAAY,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACpD,YAAY,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;AACzB,SAAS;AACT;AACA,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/E,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EA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ACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;;;AChgEQ,MAAA,kBAAkB,GAAG;IAChC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH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;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,SAAS;IACT,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,UAAU;IACV,MAAM;IACN,UAAU;IACV,UAAU;IACV,UAAU;IACV,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,UAAU;IACV,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,WAAW;IACX,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,SAAS;IACT,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,UAAU;IACV,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,UAAU;IACV,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,SAAS;IACT,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,UAAU;IACV,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,UAAU;IACV,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
\ No newline at end of file
diff --git a/src/esm/wordlists/chinese_simplified.d.ts b/src/esm/wordlists/chinese_simplified.d.ts
new file mode 100644
index 0000000..32d8e72
--- /dev/null
+++ b/src/esm/wordlists/chinese_simplified.d.ts
@@ -0,0 +1,2 @@
+export declare const chineseSimplified: string[];
+//# sourceMappingURL=chinese_simplified.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/chinese_simplified.d.ts.map b/src/esm/wordlists/chinese_simplified.d.ts.map
new file mode 100644
index 0000000..9e67aff
--- /dev/null
+++ b/src/esm/wordlists/chinese_simplified.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"chinese_simplified.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/chinese_simplified.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,UAigE7B,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/chinese_traditional.d.ts b/src/esm/wordlists/chinese_traditional.d.ts
new file mode 100644
index 0000000..94139d5
--- /dev/null
+++ b/src/esm/wordlists/chinese_traditional.d.ts
@@ -0,0 +1,2 @@
+export declare const chineseTraditional: string[];
+//# sourceMappingURL=chinese_traditional.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/chinese_traditional.d.ts.map b/src/esm/wordlists/chinese_traditional.d.ts.map
new file mode 100644
index 0000000..04739e9
--- /dev/null
+++ b/src/esm/wordlists/chinese_traditional.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"chinese_traditional.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/chinese_traditional.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAigE9B,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/czech.d.ts b/src/esm/wordlists/czech.d.ts
new file mode 100644
index 0000000..98775e6
--- /dev/null
+++ b/src/esm/wordlists/czech.d.ts
@@ -0,0 +1,2 @@
+export declare const czech: string[];
+//# sourceMappingURL=czech.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/czech.d.ts.map b/src/esm/wordlists/czech.d.ts.map
new file mode 100644
index 0000000..ec64634
--- /dev/null
+++ b/src/esm/wordlists/czech.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"czech.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/czech.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAigEjB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/english.d.ts b/src/esm/wordlists/english.d.ts
new file mode 100644
index 0000000..8f0a1a9
--- /dev/null
+++ b/src/esm/wordlists/english.d.ts
@@ -0,0 +1,2 @@
+export declare const english: string[];
+//# sourceMappingURL=english.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/english.d.ts.map b/src/esm/wordlists/english.d.ts.map
new file mode 100644
index 0000000..d0a92b7
--- /dev/null
+++ b/src/esm/wordlists/english.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"english.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/english.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAigEnB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/french.d.ts b/src/esm/wordlists/french.d.ts
new file mode 100644
index 0000000..fd4ee12
--- /dev/null
+++ b/src/esm/wordlists/french.d.ts
@@ -0,0 +1,2 @@
+export declare const french: string[];
+//# sourceMappingURL=french.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/french.d.ts.map b/src/esm/wordlists/french.d.ts.map
new file mode 100644
index 0000000..004b243
--- /dev/null
+++ b/src/esm/wordlists/french.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"french.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/french.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,UAigElB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/index.d.ts b/src/esm/wordlists/index.d.ts
new file mode 100644
index 0000000..ea5e120
--- /dev/null
+++ b/src/esm/wordlists/index.d.ts
@@ -0,0 +1,11 @@
+export { chineseSimplified } from './chinese_simplified.js';
+export { chineseTraditional } from './chinese_traditional.js';
+export { czech } from './czech.js';
+export { english } from './english.js';
+export { french } from './french.js';
+export { italian } from './italian.js';
+export { japanese } from './japanese.js';
+export { korean } from './korean.js';
+export { spanish } from './spanish.js';
+export { portuguese } from './portuguese.js';
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/index.d.ts.map b/src/esm/wordlists/index.d.ts.map
new file mode 100644
index 0000000..6c11474
--- /dev/null
+++ b/src/esm/wordlists/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/italian.d.ts b/src/esm/wordlists/italian.d.ts
new file mode 100644
index 0000000..40ef81b
--- /dev/null
+++ b/src/esm/wordlists/italian.d.ts
@@ -0,0 +1,2 @@
+export declare const italian: string[];
+//# sourceMappingURL=italian.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/italian.d.ts.map b/src/esm/wordlists/italian.d.ts.map
new file mode 100644
index 0000000..1742fae
--- /dev/null
+++ b/src/esm/wordlists/italian.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"italian.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/italian.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAigEnB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/japanese.d.ts b/src/esm/wordlists/japanese.d.ts
new file mode 100644
index 0000000..65a5dca
--- /dev/null
+++ b/src/esm/wordlists/japanese.d.ts
@@ -0,0 +1,2 @@
+export declare const japanese: string[];
+//# sourceMappingURL=japanese.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/japanese.d.ts.map b/src/esm/wordlists/japanese.d.ts.map
new file mode 100644
index 0000000..bce1c2c
--- /dev/null
+++ b/src/esm/wordlists/japanese.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"japanese.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/japanese.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,UAigEpB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/korean.d.ts b/src/esm/wordlists/korean.d.ts
new file mode 100644
index 0000000..82601d0
--- /dev/null
+++ b/src/esm/wordlists/korean.d.ts
@@ -0,0 +1,2 @@
+export declare const korean: string[];
+//# sourceMappingURL=korean.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/korean.d.ts.map b/src/esm/wordlists/korean.d.ts.map
new file mode 100644
index 0000000..915bd8e
--- /dev/null
+++ b/src/esm/wordlists/korean.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"korean.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/korean.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,UAigElB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/portuguese.d.ts b/src/esm/wordlists/portuguese.d.ts
new file mode 100644
index 0000000..1971427
--- /dev/null
+++ b/src/esm/wordlists/portuguese.d.ts
@@ -0,0 +1,2 @@
+export declare const portuguese: string[];
+//# sourceMappingURL=portuguese.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/portuguese.d.ts.map b/src/esm/wordlists/portuguese.d.ts.map
new file mode 100644
index 0000000..7fbaa13
--- /dev/null
+++ b/src/esm/wordlists/portuguese.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"portuguese.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/portuguese.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,UAigEtB,CAAC"}
\ No newline at end of file
diff --git a/src/esm/wordlists/spanish.d.ts b/src/esm/wordlists/spanish.d.ts
new file mode 100644
index 0000000..c1d10e1
--- /dev/null
+++ b/src/esm/wordlists/spanish.d.ts
@@ -0,0 +1,2 @@
+export declare const spanish: string[];
+//# sourceMappingURL=spanish.d.ts.map
\ No newline at end of file
diff --git a/src/esm/wordlists/spanish.d.ts.map b/src/esm/wordlists/spanish.d.ts.map
new file mode 100644
index 0000000..765323a
--- /dev/null
+++ b/src/esm/wordlists/spanish.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"spanish.d.ts","sourceRoot":"","sources":["../../ts_src/wordlists/spanish.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAigEnB,CAAC"}
\ No newline at end of file
diff --git a/src/index.js b/src/index.js
deleted file mode 100644
index 6910106..0000000
--- a/src/index.js
+++ /dev/null
@@ -1,164 +0,0 @@
-import { sha256 } from '@noble/hashes/sha256';
-import { sha512 } from '@noble/hashes/sha512';
-import { pbkdf2, pbkdf2Async } from '@noble/hashes/pbkdf2';
-import { randomBytes } from '@noble/hashes/utils';
-let DEFAULT_WORDLIST;
-const INVALID_MNEMONIC = 'Invalid mnemonic';
-const INVALID_ENTROPY = 'Invalid entropy';
-const INVALID_CHECKSUM = 'Invalid mnemonic checksum';
-const WORDLIST_REQUIRED = 'A wordlist is required but a default could not be found.\n' +
- 'Please pass a 2048 word array explicitly.';
-function normalize(str) {
- return (str || '').normalize('NFKD');
-}
-function lpad(str, padString, length) {
- while (str.length < length) {
- str = padString + str;
- }
- return str;
-}
-function binaryToByte(bin) {
- return parseInt(bin, 2);
-}
-function bytesToBinary(bytes) {
- return bytes.map((x) => lpad(x.toString(2), '0', 8)).join('');
-}
-function deriveChecksumBits(entropyBuffer) {
- const ENT = entropyBuffer.length * 8;
- const CS = ENT / 32;
- const hash = sha256(Uint8Array.from(entropyBuffer));
- return bytesToBinary(Array.from(hash)).slice(0, CS);
-}
-function salt(password) {
- return 'mnemonic' + (password || '');
-}
-export function mnemonicToSeedSync(mnemonic, password) {
- const mnemonicBuffer = Uint8Array.from(Buffer.from(normalize(mnemonic), 'utf8'));
- const saltBuffer = Uint8Array.from(Buffer.from(salt(normalize(password)), 'utf8'));
- const res = pbkdf2(sha512, mnemonicBuffer, saltBuffer, {
- c: 2048,
- dkLen: 64,
- });
- return Buffer.from(res);
-}
-export function mnemonicToSeed(mnemonic, password) {
- const mnemonicBuffer = Uint8Array.from(Buffer.from(normalize(mnemonic), 'utf8'));
- const saltBuffer = Uint8Array.from(Buffer.from(salt(normalize(password)), 'utf8'));
- return pbkdf2Async(sha512, mnemonicBuffer, saltBuffer, {
- c: 2048,
- dkLen: 64,
- }).then((res) => Buffer.from(res));
-}
-export function mnemonicToEntropy(mnemonic, wordlist) {
- wordlist = wordlist || DEFAULT_WORDLIST;
- if (!wordlist) {
- throw new Error(WORDLIST_REQUIRED);
- }
- const words = normalize(mnemonic).split(' ');
- if (words.length % 3 !== 0) {
- throw new Error(INVALID_MNEMONIC);
- }
- // convert word indices to 11 bit binary strings
- const bits = words
- .map((word) => {
- const index = wordlist.indexOf(word);
- if (index === -1) {
- throw new Error(INVALID_MNEMONIC);
- }
- return lpad(index.toString(2), '0', 11);
- })
- .join('');
- // split the binary string into ENT/CS
- const dividerIndex = Math.floor(bits.length / 33) * 32;
- const entropyBits = bits.slice(0, dividerIndex);
- const checksumBits = bits.slice(dividerIndex);
- // calculate the checksum and compare
- const entropyBytes = entropyBits.match(/(.{1,8})/g).map(binaryToByte);
- if (entropyBytes.length < 16) {
- throw new Error(INVALID_ENTROPY);
- }
- if (entropyBytes.length > 32) {
- throw new Error(INVALID_ENTROPY);
- }
- if (entropyBytes.length % 4 !== 0) {
- throw new Error(INVALID_ENTROPY);
- }
- const entropy = Buffer.from(entropyBytes);
- const newChecksum = deriveChecksumBits(entropy);
- if (newChecksum !== checksumBits) {
- throw new Error(INVALID_CHECKSUM);
- }
- return entropy.toString('hex');
-}
-export function entropyToMnemonic(entropy, wordlist) {
- if (!Buffer.isBuffer(entropy)) {
- entropy = Buffer.from(entropy, 'hex');
- }
- wordlist = wordlist || DEFAULT_WORDLIST;
- if (!wordlist) {
- throw new Error(WORDLIST_REQUIRED);
- }
- // 128 <= ENT <= 256
- if (entropy.length < 16) {
- throw new TypeError(INVALID_ENTROPY);
- }
- if (entropy.length > 32) {
- throw new TypeError(INVALID_ENTROPY);
- }
- if (entropy.length % 4 !== 0) {
- throw new TypeError(INVALID_ENTROPY);
- }
- const entropyBits = bytesToBinary(Array.from(entropy));
- const checksumBits = deriveChecksumBits(entropy);
- const bits = entropyBits + checksumBits;
- const chunks = bits.match(/(.{1,11})/g);
- const words = chunks.map((binary) => {
- const index = binaryToByte(binary);
- return wordlist[index];
- });
- return wordlist[0] === '\u3042\u3044\u3053\u304f\u3057\u3093' // Japanese wordlist
- ? words.join('\u3000')
- : words.join(' ');
-}
-export function generateMnemonic(strength, rng, wordlist) {
- strength = strength || 128;
- if (strength % 32 !== 0) {
- throw new TypeError(INVALID_ENTROPY);
- }
- rng = rng || ((size) => Buffer.from(randomBytes(size)));
- return entropyToMnemonic(rng(strength / 8), wordlist);
-}
-export function validateMnemonic(mnemonic, wordlist) {
- try {
- mnemonicToEntropy(mnemonic, wordlist);
- }
- catch (e) {
- return false;
- }
- return true;
-}
-function validateWordlist(wordlist) {
- if (!Array.isArray(wordlist)) {
- return false;
- }
- if (wordlist.length !== 2048) {
- return false;
- }
- const unique = new Set(wordlist);
- if (unique.size !== wordlist.length) {
- return false;
- }
- return true;
-}
-export function setDefaultWordlist(wordlist) {
- if (!validateWordlist(wordlist)) {
- throw new Error('Invalid wordlist');
- }
- DEFAULT_WORDLIST = wordlist;
-}
-export function getDefaultWordlist() {
- if (!DEFAULT_WORDLIST) {
- throw new Error('No Default Wordlist set');
- }
- return DEFAULT_WORDLIST;
-}
diff --git a/src/wordlists/chinese_simplified.d.ts b/src/wordlists/chinese_simplified.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/chinese_simplified.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/chinese_simplified.js b/src/wordlists/chinese_simplified.js
deleted file mode 100644
index 4890e7e..0000000
--- a/src/wordlists/chinese_simplified.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- '的',
- '一',
- '是',
- '在',
- '不',
- '了',
- '有',
- '和',
- '人',
- '这',
- '中',
- '大',
- '为',
- '上',
- '个',
- '国',
- '我',
- '以',
- '要',
- '他',
- '时',
- '来',
- '用',
- '们',
- '生',
- '到',
- '作',
- '地',
- '于',
- '出',
- '就',
- '分',
- '对',
- '成',
- '会',
- '可',
- '主',
- '发',
- '年',
- '动',
- '同',
- '工',
- '也',
- '能',
- '下',
- '过',
- '子',
- '说',
- '产',
- '种',
- '面',
- '而',
- '方',
- '后',
- '多',
- '定',
- '行',
- '学',
- '法',
- '所',
- '民',
- '得',
- '经',
- '十',
- '三',
- '之',
- '进',
- '着',
- '等',
- '部',
- '度',
- '家',
- '电',
- '力',
- '里',
- '如',
- '水',
- '化',
- '高',
- '自',
- '二',
- '理',
- '起',
- '小',
- '物',
- '现',
- '实',
- '加',
- '量',
- '都',
- '两',
- '体',
- '制',
- '机',
- '当',
- '使',
- '点',
- '从',
- '业',
- '本',
- '去',
- '把',
- '性',
- '好',
- '应',
- '开',
- '它',
- '合',
- '还',
- '因',
- '由',
- '其',
- '些',
- '然',
- '前',
- '外',
- '天',
- '政',
- '四',
- '日',
- '那',
- '社',
- '义',
- '事',
- '平',
- '形',
- '相',
- '全',
- '表',
- '间',
- '样',
- '与',
- '关',
- '各',
- '重',
- '新',
- '线',
- '内',
- '数',
- '正',
- '心',
- '反',
- '你',
- '明',
- '看',
- '原',
- '又',
- '么',
- '利',
- '比',
- '或',
- '但',
- '质',
- '气',
- '第',
- '向',
- '道',
- '命',
- '此',
- '变',
- '条',
- '只',
- '没',
- '结',
- '解',
- '问',
- '意',
- '建',
- '月',
- '公',
- '无',
- '系',
- '军',
- '很',
- '情',
- '者',
- '最',
- '立',
- '代',
- '想',
- '已',
- '通',
- '并',
- '提',
- '直',
- '题',
- '党',
- '程',
- '展',
- '五',
- '果',
- '料',
- '象',
- '员',
- '革',
- '位',
- '入',
- '常',
- '文',
- '总',
- '次',
- '品',
- '式',
- '活',
- '设',
- '及',
- '管',
- '特',
- '件',
- '长',
- '求',
- '老',
- '头',
- '基',
- '资',
- '边',
- '流',
- '路',
- '级',
- '少',
- '图',
- '山',
- '统',
- '接',
- '知',
- '较',
- '将',
- '组',
- '见',
- '计',
- '别',
- '她',
- '手',
- '角',
- '期',
- '根',
- '论',
- '运',
- '农',
- '指',
- '几',
- '九',
- '区',
- '强',
- '放',
- '决',
- '西',
- '被',
- '干',
- '做',
- '必',
- '战',
- '先',
- '回',
- '则',
- '任',
- '取',
- '据',
- '处',
- '队',
- '南',
- '给',
- '色',
- '光',
- '门',
- '即',
- '保',
- '治',
- '北',
- '造',
- '百',
- '规',
- '热',
- '领',
- '七',
- '海',
- '口',
- '东',
- '导',
- '器',
- '压',
- '志',
- '世',
- '金',
- '增',
- '争',
- '济',
- '阶',
- '油',
- '思',
- '术',
- '极',
- '交',
- '受',
- '联',
- '什',
- '认',
- '六',
- '共',
- '权',
- '收',
- '证',
- '改',
- '清',
- '美',
- '再',
- '采',
- '转',
- '更',
- '单',
- '风',
- '切',
- '打',
- '白',
- '教',
- '速',
- '花',
- '带',
- '安',
- '场',
- '身',
- '车',
- '例',
- '真',
- '务',
- '具',
- '万',
- '每',
- '目',
- '至',
- '达',
- '走',
- '积',
- '示',
- '议',
- '声',
- '报',
- '斗',
- '完',
- '类',
- '八',
- '离',
- '华',
- '名',
- '确',
- '才',
- '科',
- '张',
- '信',
- '马',
- '节',
- '话',
- '米',
- '整',
- '空',
- '元',
- '况',
- '今',
- '集',
- '温',
- '传',
- '土',
- '许',
- '步',
- '群',
- '广',
- '石',
- '记',
- '需',
- '段',
- '研',
- '界',
- '拉',
- '林',
- '律',
- '叫',
- '且',
- '究',
- '观',
- '越',
- '织',
- '装',
- '影',
- '算',
- '低',
- '持',
- '音',
- '众',
- '书',
- '布',
- '复',
- '容',
- '儿',
- '须',
- '际',
- '商',
- '非',
- '验',
- '连',
- '断',
- '深',
- '难',
- '近',
- '矿',
- '千',
- '周',
- '委',
- '素',
- '技',
- '备',
- '半',
- '办',
- '青',
- '省',
- '列',
- '习',
- '响',
- '约',
- '支',
- '般',
- '史',
- '感',
- '劳',
- '便',
- '团',
- '往',
- '酸',
- '历',
- '市',
- '克',
- '何',
- '除',
- '消',
- '构',
- '府',
- '称',
- '太',
- '准',
- '精',
- '值',
- '号',
- '率',
- '族',
- '维',
- '划',
- '选',
- '标',
- '写',
- '存',
- '候',
- '毛',
- '亲',
- '快',
- '效',
- '斯',
- '院',
- '查',
- '江',
- '型',
- '眼',
- '王',
- '按',
- '格',
- '养',
- '易',
- '置',
- '派',
- '层',
- '片',
- '始',
- '却',
- '专',
- '状',
- '育',
- '厂',
- '京',
- '识',
- '适',
- '属',
- '圆',
- '包',
- '火',
- '住',
- '调',
- '满',
- '县',
- '局',
- '照',
- '参',
- '红',
- '细',
- '引',
- '听',
- '该',
- '铁',
- '价',
- '严',
- '首',
- '底',
- '液',
- '官',
- '德',
- '随',
- '病',
- '苏',
- '失',
- '尔',
- '死',
- '讲',
- '配',
- '女',
- '黄',
- '推',
- '显',
- '谈',
- '罪',
- '神',
- '艺',
- '呢',
- '席',
- '含',
- '企',
- '望',
- '密',
- '批',
- '营',
- '项',
- '防',
- '举',
- '球',
- '英',
- '氧',
- '势',
- '告',
- '李',
- '台',
- '落',
- '木',
- '帮',
- '轮',
- '破',
- '亚',
- '师',
- '围',
- '注',
- '远',
- '字',
- '材',
- '排',
- '供',
- '河',
- '态',
- '封',
- '另',
- '施',
- '减',
- '树',
- '溶',
- '怎',
- '止',
- '案',
- '言',
- '士',
- '均',
- '武',
- '固',
- '叶',
- '鱼',
- '波',
- '视',
- '仅',
- '费',
- '紧',
- '爱',
- '左',
- '章',
- '早',
- '朝',
- '害',
- '续',
- '轻',
- '服',
- '试',
- '食',
- '充',
- '兵',
- '源',
- '判',
- '护',
- '司',
- '足',
- '某',
- '练',
- '差',
- '致',
- '板',
- '田',
- '降',
- '黑',
- '犯',
- '负',
- '击',
- '范',
- '继',
- '兴',
- '似',
- '余',
- '坚',
- '曲',
- '输',
- '修',
- '故',
- '城',
- '夫',
- '够',
- '送',
- '笔',
- '船',
- '占',
- '右',
- '财',
- '吃',
- '富',
- '春',
- '职',
- '觉',
- '汉',
- '画',
- '功',
- '巴',
- '跟',
- '虽',
- '杂',
- '飞',
- '检',
- '吸',
- '助',
- '升',
- '阳',
- '互',
- '初',
- '创',
- '抗',
- '考',
- '投',
- '坏',
- '策',
- '古',
- '径',
- '换',
- '未',
- '跑',
- '留',
- '钢',
- '曾',
- '端',
- '责',
- '站',
- '简',
- '述',
- '钱',
- '副',
- '尽',
- '帝',
- '射',
- '草',
- '冲',
- '承',
- '独',
- '令',
- '限',
- '阿',
- '宣',
- '环',
- '双',
- '请',
- '超',
- '微',
- '让',
- '控',
- '州',
- '良',
- '轴',
- '找',
- '否',
- '纪',
- '益',
- '依',
- '优',
- '顶',
- '础',
- '载',
- '倒',
- '房',
- '突',
- '坐',
- '粉',
- '敌',
- '略',
- '客',
- '袁',
- '冷',
- '胜',
- '绝',
- '析',
- '块',
- '剂',
- '测',
- '丝',
- '协',
- '诉',
- '念',
- '陈',
- '仍',
- '罗',
- '盐',
- '友',
- '洋',
- '错',
- '苦',
- '夜',
- '刑',
- '移',
- '频',
- '逐',
- '靠',
- '混',
- '母',
- '短',
- '皮',
- '终',
- '聚',
- '汽',
- '村',
- '云',
- '哪',
- '既',
- '距',
- '卫',
- '停',
- '烈',
- '央',
- '察',
- '烧',
- '迅',
- '境',
- '若',
- '印',
- '洲',
- '刻',
- '括',
- '激',
- '孔',
- '搞',
- '甚',
- '室',
- '待',
- '核',
- '校',
- '散',
- '侵',
- '吧',
- '甲',
- '游',
- '久',
- '菜',
- '味',
- '旧',
- '模',
- '湖',
- '货',
- '损',
- '预',
- '阻',
- '毫',
- '普',
- '稳',
- '乙',
- '妈',
- '植',
- '息',
- '扩',
- '银',
- '语',
- '挥',
- '酒',
- '守',
- '拿',
- '序',
- '纸',
- '医',
- '缺',
- '雨',
- '吗',
- '针',
- '刘',
- '啊',
- '急',
- '唱',
- '误',
- '训',
- '愿',
- '审',
- '附',
- '获',
- '茶',
- '鲜',
- '粮',
- '斤',
- '孩',
- '脱',
- '硫',
- '肥',
- '善',
- '龙',
- '演',
- '父',
- '渐',
- '血',
- '欢',
- '械',
- '掌',
- '歌',
- '沙',
- '刚',
- '攻',
- '谓',
- '盾',
- '讨',
- '晚',
- '粒',
- '乱',
- '燃',
- '矛',
- '乎',
- '杀',
- '药',
- '宁',
- '鲁',
- '贵',
- '钟',
- '煤',
- '读',
- '班',
- '伯',
- '香',
- '介',
- '迫',
- '句',
- '丰',
- '培',
- '握',
- '兰',
- '担',
- '弦',
- '蛋',
- '沉',
- '假',
- '穿',
- '执',
- '答',
- '乐',
- '谁',
- '顺',
- '烟',
- '缩',
- '征',
- '脸',
- '喜',
- '松',
- '脚',
- '困',
- '异',
- '免',
- '背',
- '星',
- '福',
- '买',
- '染',
- '井',
- '概',
- '慢',
- '怕',
- '磁',
- '倍',
- '祖',
- '皇',
- '促',
- '静',
- '补',
- '评',
- '翻',
- '肉',
- '践',
- '尼',
- '衣',
- '宽',
- '扬',
- '棉',
- '希',
- '伤',
- '操',
- '垂',
- '秋',
- '宜',
- '氢',
- '套',
- '督',
- '振',
- '架',
- '亮',
- '末',
- '宪',
- '庆',
- '编',
- '牛',
- '触',
- '映',
- '雷',
- '销',
- '诗',
- '座',
- '居',
- '抓',
- '裂',
- '胞',
- '呼',
- '娘',
- '景',
- '威',
- '绿',
- '晶',
- '厚',
- '盟',
- '衡',
- '鸡',
- '孙',
- '延',
- '危',
- '胶',
- '屋',
- '乡',
- '临',
- '陆',
- '顾',
- '掉',
- '呀',
- '灯',
- '岁',
- '措',
- '束',
- '耐',
- '剧',
- '玉',
- '赵',
- '跳',
- '哥',
- '季',
- '课',
- '凯',
- '胡',
- '额',
- '款',
- '绍',
- '卷',
- '齐',
- '伟',
- '蒸',
- '殖',
- '永',
- '宗',
- '苗',
- '川',
- '炉',
- '岩',
- '弱',
- '零',
- '杨',
- '奏',
- '沿',
- '露',
- '杆',
- '探',
- '滑',
- '镇',
- '饭',
- '浓',
- '航',
- '怀',
- '赶',
- '库',
- '夺',
- '伊',
- '灵',
- '税',
- '途',
- '灭',
- '赛',
- '归',
- '召',
- '鼓',
- '播',
- '盘',
- '裁',
- '险',
- '康',
- '唯',
- '录',
- '菌',
- '纯',
- '借',
- '糖',
- '盖',
- '横',
- '符',
- '私',
- '努',
- '堂',
- '域',
- '枪',
- '润',
- '幅',
- '哈',
- '竟',
- '熟',
- '虫',
- '泽',
- '脑',
- '壤',
- '碳',
- '欧',
- '遍',
- '侧',
- '寨',
- '敢',
- '彻',
- '虑',
- '斜',
- '薄',
- '庭',
- '纳',
- '弹',
- '饲',
- '伸',
- '折',
- '麦',
- '湿',
- '暗',
- '荷',
- '瓦',
- '塞',
- '床',
- '筑',
- '恶',
- '户',
- '访',
- '塔',
- '奇',
- '透',
- '梁',
- '刀',
- '旋',
- '迹',
- '卡',
- '氯',
- '遇',
- '份',
- '毒',
- '泥',
- '退',
- '洗',
- '摆',
- '灰',
- '彩',
- '卖',
- '耗',
- '夏',
- '择',
- '忙',
- '铜',
- '献',
- '硬',
- '予',
- '繁',
- '圈',
- '雪',
- '函',
- '亦',
- '抽',
- '篇',
- '阵',
- '阴',
- '丁',
- '尺',
- '追',
- '堆',
- '雄',
- '迎',
- '泛',
- '爸',
- '楼',
- '避',
- '谋',
- '吨',
- '野',
- '猪',
- '旗',
- '累',
- '偏',
- '典',
- '馆',
- '索',
- '秦',
- '脂',
- '潮',
- '爷',
- '豆',
- '忽',
- '托',
- '惊',
- '塑',
- '遗',
- '愈',
- '朱',
- '替',
- '纤',
- '粗',
- '倾',
- '尚',
- '痛',
- '楚',
- '谢',
- '奋',
- '购',
- '磨',
- '君',
- '池',
- '旁',
- '碎',
- '骨',
- '监',
- '捕',
- '弟',
- '暴',
- '割',
- '贯',
- '殊',
- '释',
- '词',
- '亡',
- '壁',
- '顿',
- '宝',
- '午',
- '尘',
- '闻',
- '揭',
- '炮',
- '残',
- '冬',
- '桥',
- '妇',
- '警',
- '综',
- '招',
- '吴',
- '付',
- '浮',
- '遭',
- '徐',
- '您',
- '摇',
- '谷',
- '赞',
- '箱',
- '隔',
- '订',
- '男',
- '吹',
- '园',
- '纷',
- '唐',
- '败',
- '宋',
- '玻',
- '巨',
- '耕',
- '坦',
- '荣',
- '闭',
- '湾',
- '键',
- '凡',
- '驻',
- '锅',
- '救',
- '恩',
- '剥',
- '凝',
- '碱',
- '齿',
- '截',
- '炼',
- '麻',
- '纺',
- '禁',
- '废',
- '盛',
- '版',
- '缓',
- '净',
- '睛',
- '昌',
- '婚',
- '涉',
- '筒',
- '嘴',
- '插',
- '岸',
- '朗',
- '庄',
- '街',
- '藏',
- '姑',
- '贸',
- '腐',
- '奴',
- '啦',
- '惯',
- '乘',
- '伙',
- '恢',
- '匀',
- '纱',
- '扎',
- '辩',
- '耳',
- '彪',
- '臣',
- '亿',
- '璃',
- '抵',
- '脉',
- '秀',
- '萨',
- '俄',
- '网',
- '舞',
- '店',
- '喷',
- '纵',
- '寸',
- '汗',
- '挂',
- '洪',
- '贺',
- '闪',
- '柬',
- '爆',
- '烯',
- '津',
- '稻',
- '墙',
- '软',
- '勇',
- '像',
- '滚',
- '厘',
- '蒙',
- '芳',
- '肯',
- '坡',
- '柱',
- '荡',
- '腿',
- '仪',
- '旅',
- '尾',
- '轧',
- '冰',
- '贡',
- '登',
- '黎',
- '削',
- '钻',
- '勒',
- '逃',
- '障',
- '氨',
- '郭',
- '峰',
- '币',
- '港',
- '伏',
- '轨',
- '亩',
- '毕',
- '擦',
- '莫',
- '刺',
- '浪',
- '秘',
- '援',
- '株',
- '健',
- '售',
- '股',
- '岛',
- '甘',
- '泡',
- '睡',
- '童',
- '铸',
- '汤',
- '阀',
- '休',
- '汇',
- '舍',
- '牧',
- '绕',
- '炸',
- '哲',
- '磷',
- '绩',
- '朋',
- '淡',
- '尖',
- '启',
- '陷',
- '柴',
- '呈',
- '徒',
- '颜',
- '泪',
- '稍',
- '忘',
- '泵',
- '蓝',
- '拖',
- '洞',
- '授',
- '镜',
- '辛',
- '壮',
- '锋',
- '贫',
- '虚',
- '弯',
- '摩',
- '泰',
- '幼',
- '廷',
- '尊',
- '窗',
- '纲',
- '弄',
- '隶',
- '疑',
- '氏',
- '宫',
- '姐',
- '震',
- '瑞',
- '怪',
- '尤',
- '琴',
- '循',
- '描',
- '膜',
- '违',
- '夹',
- '腰',
- '缘',
- '珠',
- '穷',
- '森',
- '枝',
- '竹',
- '沟',
- '催',
- '绳',
- '忆',
- '邦',
- '剩',
- '幸',
- '浆',
- '栏',
- '拥',
- '牙',
- '贮',
- '礼',
- '滤',
- '钠',
- '纹',
- '罢',
- '拍',
- '咱',
- '喊',
- '袖',
- '埃',
- '勤',
- '罚',
- '焦',
- '潜',
- '伍',
- '墨',
- '欲',
- '缝',
- '姓',
- '刊',
- '饱',
- '仿',
- '奖',
- '铝',
- '鬼',
- '丽',
- '跨',
- '默',
- '挖',
- '链',
- '扫',
- '喝',
- '袋',
- '炭',
- '污',
- '幕',
- '诸',
- '弧',
- '励',
- '梅',
- '奶',
- '洁',
- '灾',
- '舟',
- '鉴',
- '苯',
- '讼',
- '抱',
- '毁',
- '懂',
- '寒',
- '智',
- '埔',
- '寄',
- '届',
- '跃',
- '渡',
- '挑',
- '丹',
- '艰',
- '贝',
- '碰',
- '拔',
- '爹',
- '戴',
- '码',
- '梦',
- '芽',
- '熔',
- '赤',
- '渔',
- '哭',
- '敬',
- '颗',
- '奔',
- '铅',
- '仲',
- '虎',
- '稀',
- '妹',
- '乏',
- '珍',
- '申',
- '桌',
- '遵',
- '允',
- '隆',
- '螺',
- '仓',
- '魏',
- '锐',
- '晓',
- '氮',
- '兼',
- '隐',
- '碍',
- '赫',
- '拨',
- '忠',
- '肃',
- '缸',
- '牵',
- '抢',
- '博',
- '巧',
- '壳',
- '兄',
- '杜',
- '讯',
- '诚',
- '碧',
- '祥',
- '柯',
- '页',
- '巡',
- '矩',
- '悲',
- '灌',
- '龄',
- '伦',
- '票',
- '寻',
- '桂',
- '铺',
- '圣',
- '恐',
- '恰',
- '郑',
- '趣',
- '抬',
- '荒',
- '腾',
- '贴',
- '柔',
- '滴',
- '猛',
- '阔',
- '辆',
- '妻',
- '填',
- '撤',
- '储',
- '签',
- '闹',
- '扰',
- '紫',
- '砂',
- '递',
- '戏',
- '吊',
- '陶',
- '伐',
- '喂',
- '疗',
- '瓶',
- '婆',
- '抚',
- '臂',
- '摸',
- '忍',
- '虾',
- '蜡',
- '邻',
- '胸',
- '巩',
- '挤',
- '偶',
- '弃',
- '槽',
- '劲',
- '乳',
- '邓',
- '吉',
- '仁',
- '烂',
- '砖',
- '租',
- '乌',
- '舰',
- '伴',
- '瓜',
- '浅',
- '丙',
- '暂',
- '燥',
- '橡',
- '柳',
- '迷',
- '暖',
- '牌',
- '秧',
- '胆',
- '详',
- '簧',
- '踏',
- '瓷',
- '谱',
- '呆',
- '宾',
- '糊',
- '洛',
- '辉',
- '愤',
- '竞',
- '隙',
- '怒',
- '粘',
- '乃',
- '绪',
- '肩',
- '籍',
- '敏',
- '涂',
- '熙',
- '皆',
- '侦',
- '悬',
- '掘',
- '享',
- '纠',
- '醒',
- '狂',
- '锁',
- '淀',
- '恨',
- '牲',
- '霸',
- '爬',
- '赏',
- '逆',
- '玩',
- '陵',
- '祝',
- '秒',
- '浙',
- '貌',
- '役',
- '彼',
- '悉',
- '鸭',
- '趋',
- '凤',
- '晨',
- '畜',
- '辈',
- '秩',
- '卵',
- '署',
- '梯',
- '炎',
- '滩',
- '棋',
- '驱',
- '筛',
- '峡',
- '冒',
- '啥',
- '寿',
- '译',
- '浸',
- '泉',
- '帽',
- '迟',
- '硅',
- '疆',
- '贷',
- '漏',
- '稿',
- '冠',
- '嫩',
- '胁',
- '芯',
- '牢',
- '叛',
- '蚀',
- '奥',
- '鸣',
- '岭',
- '羊',
- '凭',
- '串',
- '塘',
- '绘',
- '酵',
- '融',
- '盆',
- '锡',
- '庙',
- '筹',
- '冻',
- '辅',
- '摄',
- '袭',
- '筋',
- '拒',
- '僚',
- '旱',
- '钾',
- '鸟',
- '漆',
- '沈',
- '眉',
- '疏',
- '添',
- '棒',
- '穗',
- '硝',
- '韩',
- '逼',
- '扭',
- '侨',
- '凉',
- '挺',
- '碗',
- '栽',
- '炒',
- '杯',
- '患',
- '馏',
- '劝',
- '豪',
- '辽',
- '勃',
- '鸿',
- '旦',
- '吏',
- '拜',
- '狗',
- '埋',
- '辊',
- '掩',
- '饮',
- '搬',
- '骂',
- '辞',
- '勾',
- '扣',
- '估',
- '蒋',
- '绒',
- '雾',
- '丈',
- '朵',
- '姆',
- '拟',
- '宇',
- '辑',
- '陕',
- '雕',
- '偿',
- '蓄',
- '崇',
- '剪',
- '倡',
- '厅',
- '咬',
- '驶',
- '薯',
- '刷',
- '斥',
- '番',
- '赋',
- '奉',
- '佛',
- '浇',
- '漫',
- '曼',
- '扇',
- '钙',
- '桃',
- '扶',
- '仔',
- '返',
- '俗',
- '亏',
- '腔',
- '鞋',
- '棱',
- '覆',
- '框',
- '悄',
- '叔',
- '撞',
- '骗',
- '勘',
- '旺',
- '沸',
- '孤',
- '吐',
- '孟',
- '渠',
- '屈',
- '疾',
- '妙',
- '惜',
- '仰',
- '狠',
- '胀',
- '谐',
- '抛',
- '霉',
- '桑',
- '岗',
- '嘛',
- '衰',
- '盗',
- '渗',
- '脏',
- '赖',
- '涌',
- '甜',
- '曹',
- '阅',
- '肌',
- '哩',
- '厉',
- '烃',
- '纬',
- '毅',
- '昨',
- '伪',
- '症',
- '煮',
- '叹',
- '钉',
- '搭',
- '茎',
- '笼',
- '酷',
- '偷',
- '弓',
- '锥',
- '恒',
- '杰',
- '坑',
- '鼻',
- '翼',
- '纶',
- '叙',
- '狱',
- '逮',
- '罐',
- '络',
- '棚',
- '抑',
- '膨',
- '蔬',
- '寺',
- '骤',
- '穆',
- '冶',
- '枯',
- '册',
- '尸',
- '凸',
- '绅',
- '坯',
- '牺',
- '焰',
- '轰',
- '欣',
- '晋',
- '瘦',
- '御',
- '锭',
- '锦',
- '丧',
- '旬',
- '锻',
- '垄',
- '搜',
- '扑',
- '邀',
- '亭',
- '酯',
- '迈',
- '舒',
- '脆',
- '酶',
- '闲',
- '忧',
- '酚',
- '顽',
- '羽',
- '涨',
- '卸',
- '仗',
- '陪',
- '辟',
- '惩',
- '杭',
- '姚',
- '肚',
- '捉',
- '飘',
- '漂',
- '昆',
- '欺',
- '吾',
- '郎',
- '烷',
- '汁',
- '呵',
- '饰',
- '萧',
- '雅',
- '邮',
- '迁',
- '燕',
- '撒',
- '姻',
- '赴',
- '宴',
- '烦',
- '债',
- '帐',
- '斑',
- '铃',
- '旨',
- '醇',
- '董',
- '饼',
- '雏',
- '姿',
- '拌',
- '傅',
- '腹',
- '妥',
- '揉',
- '贤',
- '拆',
- '歪',
- '葡',
- '胺',
- '丢',
- '浩',
- '徽',
- '昂',
- '垫',
- '挡',
- '览',
- '贪',
- '慰',
- '缴',
- '汪',
- '慌',
- '冯',
- '诺',
- '姜',
- '谊',
- '凶',
- '劣',
- '诬',
- '耀',
- '昏',
- '躺',
- '盈',
- '骑',
- '乔',
- '溪',
- '丛',
- '卢',
- '抹',
- '闷',
- '咨',
- '刮',
- '驾',
- '缆',
- '悟',
- '摘',
- '铒',
- '掷',
- '颇',
- '幻',
- '柄',
- '惠',
- '惨',
- '佳',
- '仇',
- '腊',
- '窝',
- '涤',
- '剑',
- '瞧',
- '堡',
- '泼',
- '葱',
- '罩',
- '霍',
- '捞',
- '胎',
- '苍',
- '滨',
- '俩',
- '捅',
- '湘',
- '砍',
- '霞',
- '邵',
- '萄',
- '疯',
- '淮',
- '遂',
- '熊',
- '粪',
- '烘',
- '宿',
- '档',
- '戈',
- '驳',
- '嫂',
- '裕',
- '徙',
- '箭',
- '捐',
- '肠',
- '撑',
- '晒',
- '辨',
- '殿',
- '莲',
- '摊',
- '搅',
- '酱',
- '屏',
- '疫',
- '哀',
- '蔡',
- '堵',
- '沫',
- '皱',
- '畅',
- '叠',
- '阁',
- '莱',
- '敲',
- '辖',
- '钩',
- '痕',
- '坝',
- '巷',
- '饿',
- '祸',
- '丘',
- '玄',
- '溜',
- '曰',
- '逻',
- '彭',
- '尝',
- '卿',
- '妨',
- '艇',
- '吞',
- '韦',
- '怨',
- '矮',
- '歇',
-];
diff --git a/src/wordlists/chinese_traditional.d.ts b/src/wordlists/chinese_traditional.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/chinese_traditional.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/chinese_traditional.js b/src/wordlists/chinese_traditional.js
deleted file mode 100644
index 9127067..0000000
--- a/src/wordlists/chinese_traditional.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- '的',
- '一',
- '是',
- '在',
- '不',
- '了',
- '有',
- '和',
- '人',
- '這',
- '中',
- '大',
- '為',
- '上',
- '個',
- '國',
- '我',
- '以',
- '要',
- '他',
- '時',
- '來',
- '用',
- '們',
- '生',
- '到',
- '作',
- '地',
- '於',
- '出',
- '就',
- '分',
- '對',
- '成',
- '會',
- '可',
- '主',
- '發',
- '年',
- '動',
- '同',
- '工',
- '也',
- '能',
- '下',
- '過',
- '子',
- '說',
- '產',
- '種',
- '面',
- '而',
- '方',
- '後',
- '多',
- '定',
- '行',
- '學',
- '法',
- '所',
- '民',
- '得',
- '經',
- '十',
- '三',
- '之',
- '進',
- '著',
- '等',
- '部',
- '度',
- '家',
- '電',
- '力',
- '裡',
- '如',
- '水',
- '化',
- '高',
- '自',
- '二',
- '理',
- '起',
- '小',
- '物',
- '現',
- '實',
- '加',
- '量',
- '都',
- '兩',
- '體',
- '制',
- '機',
- '當',
- '使',
- '點',
- '從',
- '業',
- '本',
- '去',
- '把',
- '性',
- '好',
- '應',
- '開',
- '它',
- '合',
- '還',
- '因',
- '由',
- '其',
- '些',
- '然',
- '前',
- '外',
- '天',
- '政',
- '四',
- '日',
- '那',
- '社',
- '義',
- '事',
- '平',
- '形',
- '相',
- '全',
- '表',
- '間',
- '樣',
- '與',
- '關',
- '各',
- '重',
- '新',
- '線',
- '內',
- '數',
- '正',
- '心',
- '反',
- '你',
- '明',
- '看',
- '原',
- '又',
- '麼',
- '利',
- '比',
- '或',
- '但',
- '質',
- '氣',
- '第',
- '向',
- '道',
- '命',
- '此',
- '變',
- '條',
- '只',
- '沒',
- '結',
- '解',
- '問',
- '意',
- '建',
- '月',
- '公',
- '無',
- '系',
- '軍',
- '很',
- '情',
- '者',
- '最',
- '立',
- '代',
- '想',
- '已',
- '通',
- '並',
- '提',
- '直',
- '題',
- '黨',
- '程',
- '展',
- '五',
- '果',
- '料',
- '象',
- '員',
- '革',
- '位',
- '入',
- '常',
- '文',
- '總',
- '次',
- '品',
- '式',
- '活',
- '設',
- '及',
- '管',
- '特',
- '件',
- '長',
- '求',
- '老',
- '頭',
- '基',
- '資',
- '邊',
- '流',
- '路',
- '級',
- '少',
- '圖',
- '山',
- '統',
- '接',
- '知',
- '較',
- '將',
- '組',
- '見',
- '計',
- '別',
- '她',
- '手',
- '角',
- '期',
- '根',
- '論',
- '運',
- '農',
- '指',
- '幾',
- '九',
- '區',
- '強',
- '放',
- '決',
- '西',
- '被',
- '幹',
- '做',
- '必',
- '戰',
- '先',
- '回',
- '則',
- '任',
- '取',
- '據',
- '處',
- '隊',
- '南',
- '給',
- '色',
- '光',
- '門',
- '即',
- '保',
- '治',
- '北',
- '造',
- '百',
- '規',
- '熱',
- '領',
- '七',
- '海',
- '口',
- '東',
- '導',
- '器',
- '壓',
- '志',
- '世',
- '金',
- '增',
- '爭',
- '濟',
- '階',
- '油',
- '思',
- '術',
- '極',
- '交',
- '受',
- '聯',
- '什',
- '認',
- '六',
- '共',
- '權',
- '收',
- '證',
- '改',
- '清',
- '美',
- '再',
- '採',
- '轉',
- '更',
- '單',
- '風',
- '切',
- '打',
- '白',
- '教',
- '速',
- '花',
- '帶',
- '安',
- '場',
- '身',
- '車',
- '例',
- '真',
- '務',
- '具',
- '萬',
- '每',
- '目',
- '至',
- '達',
- '走',
- '積',
- '示',
- '議',
- '聲',
- '報',
- '鬥',
- '完',
- '類',
- '八',
- '離',
- '華',
- '名',
- '確',
- '才',
- '科',
- '張',
- '信',
- '馬',
- '節',
- '話',
- '米',
- '整',
- '空',
- '元',
- '況',
- '今',
- '集',
- '溫',
- '傳',
- '土',
- '許',
- '步',
- '群',
- '廣',
- '石',
- '記',
- '需',
- '段',
- '研',
- '界',
- '拉',
- '林',
- '律',
- '叫',
- '且',
- '究',
- '觀',
- '越',
- '織',
- '裝',
- '影',
- '算',
- '低',
- '持',
- '音',
- '眾',
- '書',
- '布',
- '复',
- '容',
- '兒',
- '須',
- '際',
- '商',
- '非',
- '驗',
- '連',
- '斷',
- '深',
- '難',
- '近',
- '礦',
- '千',
- '週',
- '委',
- '素',
- '技',
- '備',
- '半',
- '辦',
- '青',
- '省',
- '列',
- '習',
- '響',
- '約',
- '支',
- '般',
- '史',
- '感',
- '勞',
- '便',
- '團',
- '往',
- '酸',
- '歷',
- '市',
- '克',
- '何',
- '除',
- '消',
- '構',
- '府',
- '稱',
- '太',
- '準',
- '精',
- '值',
- '號',
- '率',
- '族',
- '維',
- '劃',
- '選',
- '標',
- '寫',
- '存',
- '候',
- '毛',
- '親',
- '快',
- '效',
- '斯',
- '院',
- '查',
- '江',
- '型',
- '眼',
- '王',
- '按',
- '格',
- '養',
- '易',
- '置',
- '派',
- '層',
- '片',
- '始',
- '卻',
- '專',
- '狀',
- '育',
- '廠',
- '京',
- '識',
- '適',
- '屬',
- '圓',
- '包',
- '火',
- '住',
- '調',
- '滿',
- '縣',
- '局',
- '照',
- '參',
- '紅',
- '細',
- '引',
- '聽',
- '該',
- '鐵',
- '價',
- '嚴',
- '首',
- '底',
- '液',
- '官',
- '德',
- '隨',
- '病',
- '蘇',
- '失',
- '爾',
- '死',
- '講',
- '配',
- '女',
- '黃',
- '推',
- '顯',
- '談',
- '罪',
- '神',
- '藝',
- '呢',
- '席',
- '含',
- '企',
- '望',
- '密',
- '批',
- '營',
- '項',
- '防',
- '舉',
- '球',
- '英',
- '氧',
- '勢',
- '告',
- '李',
- '台',
- '落',
- '木',
- '幫',
- '輪',
- '破',
- '亞',
- '師',
- '圍',
- '注',
- '遠',
- '字',
- '材',
- '排',
- '供',
- '河',
- '態',
- '封',
- '另',
- '施',
- '減',
- '樹',
- '溶',
- '怎',
- '止',
- '案',
- '言',
- '士',
- '均',
- '武',
- '固',
- '葉',
- '魚',
- '波',
- '視',
- '僅',
- '費',
- '緊',
- '愛',
- '左',
- '章',
- '早',
- '朝',
- '害',
- '續',
- '輕',
- '服',
- '試',
- '食',
- '充',
- '兵',
- '源',
- '判',
- '護',
- '司',
- '足',
- '某',
- '練',
- '差',
- '致',
- '板',
- '田',
- '降',
- '黑',
- '犯',
- '負',
- '擊',
- '范',
- '繼',
- '興',
- '似',
- '餘',
- '堅',
- '曲',
- '輸',
- '修',
- '故',
- '城',
- '夫',
- '夠',
- '送',
- '筆',
- '船',
- '佔',
- '右',
- '財',
- '吃',
- '富',
- '春',
- '職',
- '覺',
- '漢',
- '畫',
- '功',
- '巴',
- '跟',
- '雖',
- '雜',
- '飛',
- '檢',
- '吸',
- '助',
- '昇',
- '陽',
- '互',
- '初',
- '創',
- '抗',
- '考',
- '投',
- '壞',
- '策',
- '古',
- '徑',
- '換',
- '未',
- '跑',
- '留',
- '鋼',
- '曾',
- '端',
- '責',
- '站',
- '簡',
- '述',
- '錢',
- '副',
- '盡',
- '帝',
- '射',
- '草',
- '衝',
- '承',
- '獨',
- '令',
- '限',
- '阿',
- '宣',
- '環',
- '雙',
- '請',
- '超',
- '微',
- '讓',
- '控',
- '州',
- '良',
- '軸',
- '找',
- '否',
- '紀',
- '益',
- '依',
- '優',
- '頂',
- '礎',
- '載',
- '倒',
- '房',
- '突',
- '坐',
- '粉',
- '敵',
- '略',
- '客',
- '袁',
- '冷',
- '勝',
- '絕',
- '析',
- '塊',
- '劑',
- '測',
- '絲',
- '協',
- '訴',
- '念',
- '陳',
- '仍',
- '羅',
- '鹽',
- '友',
- '洋',
- '錯',
- '苦',
- '夜',
- '刑',
- '移',
- '頻',
- '逐',
- '靠',
- '混',
- '母',
- '短',
- '皮',
- '終',
- '聚',
- '汽',
- '村',
- '雲',
- '哪',
- '既',
- '距',
- '衛',
- '停',
- '烈',
- '央',
- '察',
- '燒',
- '迅',
- '境',
- '若',
- '印',
- '洲',
- '刻',
- '括',
- '激',
- '孔',
- '搞',
- '甚',
- '室',
- '待',
- '核',
- '校',
- '散',
- '侵',
- '吧',
- '甲',
- '遊',
- '久',
- '菜',
- '味',
- '舊',
- '模',
- '湖',
- '貨',
- '損',
- '預',
- '阻',
- '毫',
- '普',
- '穩',
- '乙',
- '媽',
- '植',
- '息',
- '擴',
- '銀',
- '語',
- '揮',
- '酒',
- '守',
- '拿',
- '序',
- '紙',
- '醫',
- '缺',
- '雨',
- '嗎',
- '針',
- '劉',
- '啊',
- '急',
- '唱',
- '誤',
- '訓',
- '願',
- '審',
- '附',
- '獲',
- '茶',
- '鮮',
- '糧',
- '斤',
- '孩',
- '脫',
- '硫',
- '肥',
- '善',
- '龍',
- '演',
- '父',
- '漸',
- '血',
- '歡',
- '械',
- '掌',
- '歌',
- '沙',
- '剛',
- '攻',
- '謂',
- '盾',
- '討',
- '晚',
- '粒',
- '亂',
- '燃',
- '矛',
- '乎',
- '殺',
- '藥',
- '寧',
- '魯',
- '貴',
- '鐘',
- '煤',
- '讀',
- '班',
- '伯',
- '香',
- '介',
- '迫',
- '句',
- '豐',
- '培',
- '握',
- '蘭',
- '擔',
- '弦',
- '蛋',
- '沉',
- '假',
- '穿',
- '執',
- '答',
- '樂',
- '誰',
- '順',
- '煙',
- '縮',
- '徵',
- '臉',
- '喜',
- '松',
- '腳',
- '困',
- '異',
- '免',
- '背',
- '星',
- '福',
- '買',
- '染',
- '井',
- '概',
- '慢',
- '怕',
- '磁',
- '倍',
- '祖',
- '皇',
- '促',
- '靜',
- '補',
- '評',
- '翻',
- '肉',
- '踐',
- '尼',
- '衣',
- '寬',
- '揚',
- '棉',
- '希',
- '傷',
- '操',
- '垂',
- '秋',
- '宜',
- '氫',
- '套',
- '督',
- '振',
- '架',
- '亮',
- '末',
- '憲',
- '慶',
- '編',
- '牛',
- '觸',
- '映',
- '雷',
- '銷',
- '詩',
- '座',
- '居',
- '抓',
- '裂',
- '胞',
- '呼',
- '娘',
- '景',
- '威',
- '綠',
- '晶',
- '厚',
- '盟',
- '衡',
- '雞',
- '孫',
- '延',
- '危',
- '膠',
- '屋',
- '鄉',
- '臨',
- '陸',
- '顧',
- '掉',
- '呀',
- '燈',
- '歲',
- '措',
- '束',
- '耐',
- '劇',
- '玉',
- '趙',
- '跳',
- '哥',
- '季',
- '課',
- '凱',
- '胡',
- '額',
- '款',
- '紹',
- '卷',
- '齊',
- '偉',
- '蒸',
- '殖',
- '永',
- '宗',
- '苗',
- '川',
- '爐',
- '岩',
- '弱',
- '零',
- '楊',
- '奏',
- '沿',
- '露',
- '桿',
- '探',
- '滑',
- '鎮',
- '飯',
- '濃',
- '航',
- '懷',
- '趕',
- '庫',
- '奪',
- '伊',
- '靈',
- '稅',
- '途',
- '滅',
- '賽',
- '歸',
- '召',
- '鼓',
- '播',
- '盤',
- '裁',
- '險',
- '康',
- '唯',
- '錄',
- '菌',
- '純',
- '借',
- '糖',
- '蓋',
- '橫',
- '符',
- '私',
- '努',
- '堂',
- '域',
- '槍',
- '潤',
- '幅',
- '哈',
- '竟',
- '熟',
- '蟲',
- '澤',
- '腦',
- '壤',
- '碳',
- '歐',
- '遍',
- '側',
- '寨',
- '敢',
- '徹',
- '慮',
- '斜',
- '薄',
- '庭',
- '納',
- '彈',
- '飼',
- '伸',
- '折',
- '麥',
- '濕',
- '暗',
- '荷',
- '瓦',
- '塞',
- '床',
- '築',
- '惡',
- '戶',
- '訪',
- '塔',
- '奇',
- '透',
- '梁',
- '刀',
- '旋',
- '跡',
- '卡',
- '氯',
- '遇',
- '份',
- '毒',
- '泥',
- '退',
- '洗',
- '擺',
- '灰',
- '彩',
- '賣',
- '耗',
- '夏',
- '擇',
- '忙',
- '銅',
- '獻',
- '硬',
- '予',
- '繁',
- '圈',
- '雪',
- '函',
- '亦',
- '抽',
- '篇',
- '陣',
- '陰',
- '丁',
- '尺',
- '追',
- '堆',
- '雄',
- '迎',
- '泛',
- '爸',
- '樓',
- '避',
- '謀',
- '噸',
- '野',
- '豬',
- '旗',
- '累',
- '偏',
- '典',
- '館',
- '索',
- '秦',
- '脂',
- '潮',
- '爺',
- '豆',
- '忽',
- '托',
- '驚',
- '塑',
- '遺',
- '愈',
- '朱',
- '替',
- '纖',
- '粗',
- '傾',
- '尚',
- '痛',
- '楚',
- '謝',
- '奮',
- '購',
- '磨',
- '君',
- '池',
- '旁',
- '碎',
- '骨',
- '監',
- '捕',
- '弟',
- '暴',
- '割',
- '貫',
- '殊',
- '釋',
- '詞',
- '亡',
- '壁',
- '頓',
- '寶',
- '午',
- '塵',
- '聞',
- '揭',
- '炮',
- '殘',
- '冬',
- '橋',
- '婦',
- '警',
- '綜',
- '招',
- '吳',
- '付',
- '浮',
- '遭',
- '徐',
- '您',
- '搖',
- '谷',
- '贊',
- '箱',
- '隔',
- '訂',
- '男',
- '吹',
- '園',
- '紛',
- '唐',
- '敗',
- '宋',
- '玻',
- '巨',
- '耕',
- '坦',
- '榮',
- '閉',
- '灣',
- '鍵',
- '凡',
- '駐',
- '鍋',
- '救',
- '恩',
- '剝',
- '凝',
- '鹼',
- '齒',
- '截',
- '煉',
- '麻',
- '紡',
- '禁',
- '廢',
- '盛',
- '版',
- '緩',
- '淨',
- '睛',
- '昌',
- '婚',
- '涉',
- '筒',
- '嘴',
- '插',
- '岸',
- '朗',
- '莊',
- '街',
- '藏',
- '姑',
- '貿',
- '腐',
- '奴',
- '啦',
- '慣',
- '乘',
- '夥',
- '恢',
- '勻',
- '紗',
- '扎',
- '辯',
- '耳',
- '彪',
- '臣',
- '億',
- '璃',
- '抵',
- '脈',
- '秀',
- '薩',
- '俄',
- '網',
- '舞',
- '店',
- '噴',
- '縱',
- '寸',
- '汗',
- '掛',
- '洪',
- '賀',
- '閃',
- '柬',
- '爆',
- '烯',
- '津',
- '稻',
- '牆',
- '軟',
- '勇',
- '像',
- '滾',
- '厘',
- '蒙',
- '芳',
- '肯',
- '坡',
- '柱',
- '盪',
- '腿',
- '儀',
- '旅',
- '尾',
- '軋',
- '冰',
- '貢',
- '登',
- '黎',
- '削',
- '鑽',
- '勒',
- '逃',
- '障',
- '氨',
- '郭',
- '峰',
- '幣',
- '港',
- '伏',
- '軌',
- '畝',
- '畢',
- '擦',
- '莫',
- '刺',
- '浪',
- '秘',
- '援',
- '株',
- '健',
- '售',
- '股',
- '島',
- '甘',
- '泡',
- '睡',
- '童',
- '鑄',
- '湯',
- '閥',
- '休',
- '匯',
- '舍',
- '牧',
- '繞',
- '炸',
- '哲',
- '磷',
- '績',
- '朋',
- '淡',
- '尖',
- '啟',
- '陷',
- '柴',
- '呈',
- '徒',
- '顏',
- '淚',
- '稍',
- '忘',
- '泵',
- '藍',
- '拖',
- '洞',
- '授',
- '鏡',
- '辛',
- '壯',
- '鋒',
- '貧',
- '虛',
- '彎',
- '摩',
- '泰',
- '幼',
- '廷',
- '尊',
- '窗',
- '綱',
- '弄',
- '隸',
- '疑',
- '氏',
- '宮',
- '姐',
- '震',
- '瑞',
- '怪',
- '尤',
- '琴',
- '循',
- '描',
- '膜',
- '違',
- '夾',
- '腰',
- '緣',
- '珠',
- '窮',
- '森',
- '枝',
- '竹',
- '溝',
- '催',
- '繩',
- '憶',
- '邦',
- '剩',
- '幸',
- '漿',
- '欄',
- '擁',
- '牙',
- '貯',
- '禮',
- '濾',
- '鈉',
- '紋',
- '罷',
- '拍',
- '咱',
- '喊',
- '袖',
- '埃',
- '勤',
- '罰',
- '焦',
- '潛',
- '伍',
- '墨',
- '欲',
- '縫',
- '姓',
- '刊',
- '飽',
- '仿',
- '獎',
- '鋁',
- '鬼',
- '麗',
- '跨',
- '默',
- '挖',
- '鏈',
- '掃',
- '喝',
- '袋',
- '炭',
- '污',
- '幕',
- '諸',
- '弧',
- '勵',
- '梅',
- '奶',
- '潔',
- '災',
- '舟',
- '鑑',
- '苯',
- '訟',
- '抱',
- '毀',
- '懂',
- '寒',
- '智',
- '埔',
- '寄',
- '屆',
- '躍',
- '渡',
- '挑',
- '丹',
- '艱',
- '貝',
- '碰',
- '拔',
- '爹',
- '戴',
- '碼',
- '夢',
- '芽',
- '熔',
- '赤',
- '漁',
- '哭',
- '敬',
- '顆',
- '奔',
- '鉛',
- '仲',
- '虎',
- '稀',
- '妹',
- '乏',
- '珍',
- '申',
- '桌',
- '遵',
- '允',
- '隆',
- '螺',
- '倉',
- '魏',
- '銳',
- '曉',
- '氮',
- '兼',
- '隱',
- '礙',
- '赫',
- '撥',
- '忠',
- '肅',
- '缸',
- '牽',
- '搶',
- '博',
- '巧',
- '殼',
- '兄',
- '杜',
- '訊',
- '誠',
- '碧',
- '祥',
- '柯',
- '頁',
- '巡',
- '矩',
- '悲',
- '灌',
- '齡',
- '倫',
- '票',
- '尋',
- '桂',
- '鋪',
- '聖',
- '恐',
- '恰',
- '鄭',
- '趣',
- '抬',
- '荒',
- '騰',
- '貼',
- '柔',
- '滴',
- '猛',
- '闊',
- '輛',
- '妻',
- '填',
- '撤',
- '儲',
- '簽',
- '鬧',
- '擾',
- '紫',
- '砂',
- '遞',
- '戲',
- '吊',
- '陶',
- '伐',
- '餵',
- '療',
- '瓶',
- '婆',
- '撫',
- '臂',
- '摸',
- '忍',
- '蝦',
- '蠟',
- '鄰',
- '胸',
- '鞏',
- '擠',
- '偶',
- '棄',
- '槽',
- '勁',
- '乳',
- '鄧',
- '吉',
- '仁',
- '爛',
- '磚',
- '租',
- '烏',
- '艦',
- '伴',
- '瓜',
- '淺',
- '丙',
- '暫',
- '燥',
- '橡',
- '柳',
- '迷',
- '暖',
- '牌',
- '秧',
- '膽',
- '詳',
- '簧',
- '踏',
- '瓷',
- '譜',
- '呆',
- '賓',
- '糊',
- '洛',
- '輝',
- '憤',
- '競',
- '隙',
- '怒',
- '粘',
- '乃',
- '緒',
- '肩',
- '籍',
- '敏',
- '塗',
- '熙',
- '皆',
- '偵',
- '懸',
- '掘',
- '享',
- '糾',
- '醒',
- '狂',
- '鎖',
- '淀',
- '恨',
- '牲',
- '霸',
- '爬',
- '賞',
- '逆',
- '玩',
- '陵',
- '祝',
- '秒',
- '浙',
- '貌',
- '役',
- '彼',
- '悉',
- '鴨',
- '趨',
- '鳳',
- '晨',
- '畜',
- '輩',
- '秩',
- '卵',
- '署',
- '梯',
- '炎',
- '灘',
- '棋',
- '驅',
- '篩',
- '峽',
- '冒',
- '啥',
- '壽',
- '譯',
- '浸',
- '泉',
- '帽',
- '遲',
- '矽',
- '疆',
- '貸',
- '漏',
- '稿',
- '冠',
- '嫩',
- '脅',
- '芯',
- '牢',
- '叛',
- '蝕',
- '奧',
- '鳴',
- '嶺',
- '羊',
- '憑',
- '串',
- '塘',
- '繪',
- '酵',
- '融',
- '盆',
- '錫',
- '廟',
- '籌',
- '凍',
- '輔',
- '攝',
- '襲',
- '筋',
- '拒',
- '僚',
- '旱',
- '鉀',
- '鳥',
- '漆',
- '沈',
- '眉',
- '疏',
- '添',
- '棒',
- '穗',
- '硝',
- '韓',
- '逼',
- '扭',
- '僑',
- '涼',
- '挺',
- '碗',
- '栽',
- '炒',
- '杯',
- '患',
- '餾',
- '勸',
- '豪',
- '遼',
- '勃',
- '鴻',
- '旦',
- '吏',
- '拜',
- '狗',
- '埋',
- '輥',
- '掩',
- '飲',
- '搬',
- '罵',
- '辭',
- '勾',
- '扣',
- '估',
- '蔣',
- '絨',
- '霧',
- '丈',
- '朵',
- '姆',
- '擬',
- '宇',
- '輯',
- '陝',
- '雕',
- '償',
- '蓄',
- '崇',
- '剪',
- '倡',
- '廳',
- '咬',
- '駛',
- '薯',
- '刷',
- '斥',
- '番',
- '賦',
- '奉',
- '佛',
- '澆',
- '漫',
- '曼',
- '扇',
- '鈣',
- '桃',
- '扶',
- '仔',
- '返',
- '俗',
- '虧',
- '腔',
- '鞋',
- '棱',
- '覆',
- '框',
- '悄',
- '叔',
- '撞',
- '騙',
- '勘',
- '旺',
- '沸',
- '孤',
- '吐',
- '孟',
- '渠',
- '屈',
- '疾',
- '妙',
- '惜',
- '仰',
- '狠',
- '脹',
- '諧',
- '拋',
- '黴',
- '桑',
- '崗',
- '嘛',
- '衰',
- '盜',
- '滲',
- '臟',
- '賴',
- '湧',
- '甜',
- '曹',
- '閱',
- '肌',
- '哩',
- '厲',
- '烴',
- '緯',
- '毅',
- '昨',
- '偽',
- '症',
- '煮',
- '嘆',
- '釘',
- '搭',
- '莖',
- '籠',
- '酷',
- '偷',
- '弓',
- '錐',
- '恆',
- '傑',
- '坑',
- '鼻',
- '翼',
- '綸',
- '敘',
- '獄',
- '逮',
- '罐',
- '絡',
- '棚',
- '抑',
- '膨',
- '蔬',
- '寺',
- '驟',
- '穆',
- '冶',
- '枯',
- '冊',
- '屍',
- '凸',
- '紳',
- '坯',
- '犧',
- '焰',
- '轟',
- '欣',
- '晉',
- '瘦',
- '禦',
- '錠',
- '錦',
- '喪',
- '旬',
- '鍛',
- '壟',
- '搜',
- '撲',
- '邀',
- '亭',
- '酯',
- '邁',
- '舒',
- '脆',
- '酶',
- '閒',
- '憂',
- '酚',
- '頑',
- '羽',
- '漲',
- '卸',
- '仗',
- '陪',
- '闢',
- '懲',
- '杭',
- '姚',
- '肚',
- '捉',
- '飄',
- '漂',
- '昆',
- '欺',
- '吾',
- '郎',
- '烷',
- '汁',
- '呵',
- '飾',
- '蕭',
- '雅',
- '郵',
- '遷',
- '燕',
- '撒',
- '姻',
- '赴',
- '宴',
- '煩',
- '債',
- '帳',
- '斑',
- '鈴',
- '旨',
- '醇',
- '董',
- '餅',
- '雛',
- '姿',
- '拌',
- '傅',
- '腹',
- '妥',
- '揉',
- '賢',
- '拆',
- '歪',
- '葡',
- '胺',
- '丟',
- '浩',
- '徽',
- '昂',
- '墊',
- '擋',
- '覽',
- '貪',
- '慰',
- '繳',
- '汪',
- '慌',
- '馮',
- '諾',
- '姜',
- '誼',
- '兇',
- '劣',
- '誣',
- '耀',
- '昏',
- '躺',
- '盈',
- '騎',
- '喬',
- '溪',
- '叢',
- '盧',
- '抹',
- '悶',
- '諮',
- '刮',
- '駕',
- '纜',
- '悟',
- '摘',
- '鉺',
- '擲',
- '頗',
- '幻',
- '柄',
- '惠',
- '慘',
- '佳',
- '仇',
- '臘',
- '窩',
- '滌',
- '劍',
- '瞧',
- '堡',
- '潑',
- '蔥',
- '罩',
- '霍',
- '撈',
- '胎',
- '蒼',
- '濱',
- '倆',
- '捅',
- '湘',
- '砍',
- '霞',
- '邵',
- '萄',
- '瘋',
- '淮',
- '遂',
- '熊',
- '糞',
- '烘',
- '宿',
- '檔',
- '戈',
- '駁',
- '嫂',
- '裕',
- '徙',
- '箭',
- '捐',
- '腸',
- '撐',
- '曬',
- '辨',
- '殿',
- '蓮',
- '攤',
- '攪',
- '醬',
- '屏',
- '疫',
- '哀',
- '蔡',
- '堵',
- '沫',
- '皺',
- '暢',
- '疊',
- '閣',
- '萊',
- '敲',
- '轄',
- '鉤',
- '痕',
- '壩',
- '巷',
- '餓',
- '禍',
- '丘',
- '玄',
- '溜',
- '曰',
- '邏',
- '彭',
- '嘗',
- '卿',
- '妨',
- '艇',
- '吞',
- '韋',
- '怨',
- '矮',
- '歇',
-];
diff --git a/src/wordlists/czech.d.ts b/src/wordlists/czech.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/czech.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/czech.js b/src/wordlists/czech.js
deleted file mode 100644
index 7cbab32..0000000
--- a/src/wordlists/czech.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- 'abdikace',
- 'abeceda',
- 'adresa',
- 'agrese',
- 'akce',
- 'aktovka',
- 'alej',
- 'alkohol',
- 'amputace',
- 'ananas',
- 'andulka',
- 'anekdota',
- 'anketa',
- 'antika',
- 'anulovat',
- 'archa',
- 'arogance',
- 'asfalt',
- 'asistent',
- 'aspirace',
- 'astma',
- 'astronom',
- 'atlas',
- 'atletika',
- 'atol',
- 'autobus',
- 'azyl',
- 'babka',
- 'bachor',
- 'bacil',
- 'baculka',
- 'badatel',
- 'bageta',
- 'bagr',
- 'bahno',
- 'bakterie',
- 'balada',
- 'baletka',
- 'balkon',
- 'balonek',
- 'balvan',
- 'balza',
- 'bambus',
- 'bankomat',
- 'barbar',
- 'baret',
- 'barman',
- 'baroko',
- 'barva',
- 'baterka',
- 'batoh',
- 'bavlna',
- 'bazalka',
- 'bazilika',
- 'bazuka',
- 'bedna',
- 'beran',
- 'beseda',
- 'bestie',
- 'beton',
- 'bezinka',
- 'bezmoc',
- 'beztak',
- 'bicykl',
- 'bidlo',
- 'biftek',
- 'bikiny',
- 'bilance',
- 'biograf',
- 'biolog',
- 'bitva',
- 'bizon',
- 'blahobyt',
- 'blatouch',
- 'blecha',
- 'bledule',
- 'blesk',
- 'blikat',
- 'blizna',
- 'blokovat',
- 'bloudit',
- 'blud',
- 'bobek',
- 'bobr',
- 'bodlina',
- 'bodnout',
- 'bohatost',
- 'bojkot',
- 'bojovat',
- 'bokorys',
- 'bolest',
- 'borec',
- 'borovice',
- 'bota',
- 'boubel',
- 'bouchat',
- 'bouda',
- 'boule',
- 'bourat',
- 'boxer',
- 'bradavka',
- 'brambora',
- 'branka',
- 'bratr',
- 'brepta',
- 'briketa',
- 'brko',
- 'brloh',
- 'bronz',
- 'broskev',
- 'brunetka',
- 'brusinka',
- 'brzda',
- 'brzy',
- 'bublina',
- 'bubnovat',
- 'buchta',
- 'buditel',
- 'budka',
- 'budova',
- 'bufet',
- 'bujarost',
- 'bukvice',
- 'buldok',
- 'bulva',
- 'bunda',
- 'bunkr',
- 'burza',
- 'butik',
- 'buvol',
- 'buzola',
- 'bydlet',
- 'bylina',
- 'bytovka',
- 'bzukot',
- 'capart',
- 'carevna',
- 'cedr',
- 'cedule',
- 'cejch',
- 'cejn',
- 'cela',
- 'celer',
- 'celkem',
- 'celnice',
- 'cenina',
- 'cennost',
- 'cenovka',
- 'centrum',
- 'cenzor',
- 'cestopis',
- 'cetka',
- 'chalupa',
- 'chapadlo',
- 'charita',
- 'chata',
- 'chechtat',
- 'chemie',
- 'chichot',
- 'chirurg',
- 'chlad',
- 'chleba',
- 'chlubit',
- 'chmel',
- 'chmura',
- 'chobot',
- 'chochol',
- 'chodba',
- 'cholera',
- 'chomout',
- 'chopit',
- 'choroba',
- 'chov',
- 'chrapot',
- 'chrlit',
- 'chrt',
- 'chrup',
- 'chtivost',
- 'chudina',
- 'chutnat',
- 'chvat',
- 'chvilka',
- 'chvost',
- 'chyba',
- 'chystat',
- 'chytit',
- 'cibule',
- 'cigareta',
- 'cihelna',
- 'cihla',
- 'cinkot',
- 'cirkus',
- 'cisterna',
- 'citace',
- 'citrus',
- 'cizinec',
- 'cizost',
- 'clona',
- 'cokoliv',
- 'couvat',
- 'ctitel',
- 'ctnost',
- 'cudnost',
- 'cuketa',
- 'cukr',
- 'cupot',
- 'cvaknout',
- 'cval',
- 'cvik',
- 'cvrkot',
- 'cyklista',
- 'daleko',
- 'dareba',
- 'datel',
- 'datum',
- 'dcera',
- 'debata',
- 'dechovka',
- 'decibel',
- 'deficit',
- 'deflace',
- 'dekl',
- 'dekret',
- 'demokrat',
- 'deprese',
- 'derby',
- 'deska',
- 'detektiv',
- 'dikobraz',
- 'diktovat',
- 'dioda',
- 'diplom',
- 'disk',
- 'displej',
- 'divadlo',
- 'divoch',
- 'dlaha',
- 'dlouho',
- 'dluhopis',
- 'dnes',
- 'dobro',
- 'dobytek',
- 'docent',
- 'dochutit',
- 'dodnes',
- 'dohled',
- 'dohoda',
- 'dohra',
- 'dojem',
- 'dojnice',
- 'doklad',
- 'dokola',
- 'doktor',
- 'dokument',
- 'dolar',
- 'doleva',
- 'dolina',
- 'doma',
- 'dominant',
- 'domluvit',
- 'domov',
- 'donutit',
- 'dopad',
- 'dopis',
- 'doplnit',
- 'doposud',
- 'doprovod',
- 'dopustit',
- 'dorazit',
- 'dorost',
- 'dort',
- 'dosah',
- 'doslov',
- 'dostatek',
- 'dosud',
- 'dosyta',
- 'dotaz',
- 'dotek',
- 'dotknout',
- 'doufat',
- 'doutnat',
- 'dovozce',
- 'dozadu',
- 'doznat',
- 'dozorce',
- 'drahota',
- 'drak',
- 'dramatik',
- 'dravec',
- 'draze',
- 'drdol',
- 'drobnost',
- 'drogerie',
- 'drozd',
- 'drsnost',
- 'drtit',
- 'drzost',
- 'duben',
- 'duchovno',
- 'dudek',
- 'duha',
- 'duhovka',
- 'dusit',
- 'dusno',
- 'dutost',
- 'dvojice',
- 'dvorec',
- 'dynamit',
- 'ekolog',
- 'ekonomie',
- 'elektron',
- 'elipsa',
- 'email',
- 'emise',
- 'emoce',
- 'empatie',
- 'epizoda',
- 'epocha',
- 'epopej',
- 'epos',
- 'esej',
- 'esence',
- 'eskorta',
- 'eskymo',
- 'etiketa',
- 'euforie',
- 'evoluce',
- 'exekuce',
- 'exkurze',
- 'expedice',
- 'exploze',
- 'export',
- 'extrakt',
- 'facka',
- 'fajfka',
- 'fakulta',
- 'fanatik',
- 'fantazie',
- 'farmacie',
- 'favorit',
- 'fazole',
- 'federace',
- 'fejeton',
- 'fenka',
- 'fialka',
- 'figurant',
- 'filozof',
- 'filtr',
- 'finance',
- 'finta',
- 'fixace',
- 'fjord',
- 'flanel',
- 'flirt',
- 'flotila',
- 'fond',
- 'fosfor',
- 'fotbal',
- 'fotka',
- 'foton',
- 'frakce',
- 'freska',
- 'fronta',
- 'fukar',
- 'funkce',
- 'fyzika',
- 'galeje',
- 'garant',
- 'genetika',
- 'geolog',
- 'gilotina',
- 'glazura',
- 'glejt',
- 'golem',
- 'golfista',
- 'gotika',
- 'graf',
- 'gramofon',
- 'granule',
- 'grep',
- 'gril',
- 'grog',
- 'groteska',
- 'guma',
- 'hadice',
- 'hadr',
- 'hala',
- 'halenka',
- 'hanba',
- 'hanopis',
- 'harfa',
- 'harpuna',
- 'havran',
- 'hebkost',
- 'hejkal',
- 'hejno',
- 'hejtman',
- 'hektar',
- 'helma',
- 'hematom',
- 'herec',
- 'herna',
- 'heslo',
- 'hezky',
- 'historik',
- 'hladovka',
- 'hlasivky',
- 'hlava',
- 'hledat',
- 'hlen',
- 'hlodavec',
- 'hloh',
- 'hloupost',
- 'hltat',
- 'hlubina',
- 'hluchota',
- 'hmat',
- 'hmota',
- 'hmyz',
- 'hnis',
- 'hnojivo',
- 'hnout',
- 'hoblina',
- 'hoboj',
- 'hoch',
- 'hodiny',
- 'hodlat',
- 'hodnota',
- 'hodovat',
- 'hojnost',
- 'hokej',
- 'holinka',
- 'holka',
- 'holub',
- 'homole',
- 'honitba',
- 'honorace',
- 'horal',
- 'horda',
- 'horizont',
- 'horko',
- 'horlivec',
- 'hormon',
- 'hornina',
- 'horoskop',
- 'horstvo',
- 'hospoda',
- 'hostina',
- 'hotovost',
- 'houba',
- 'houf',
- 'houpat',
- 'houska',
- 'hovor',
- 'hradba',
- 'hranice',
- 'hravost',
- 'hrazda',
- 'hrbolek',
- 'hrdina',
- 'hrdlo',
- 'hrdost',
- 'hrnek',
- 'hrobka',
- 'hromada',
- 'hrot',
- 'hrouda',
- 'hrozen',
- 'hrstka',
- 'hrubost',
- 'hryzat',
- 'hubenost',
- 'hubnout',
- 'hudba',
- 'hukot',
- 'humr',
- 'husita',
- 'hustota',
- 'hvozd',
- 'hybnost',
- 'hydrant',
- 'hygiena',
- 'hymna',
- 'hysterik',
- 'idylka',
- 'ihned',
- 'ikona',
- 'iluze',
- 'imunita',
- 'infekce',
- 'inflace',
- 'inkaso',
- 'inovace',
- 'inspekce',
- 'internet',
- 'invalida',
- 'investor',
- 'inzerce',
- 'ironie',
- 'jablko',
- 'jachta',
- 'jahoda',
- 'jakmile',
- 'jakost',
- 'jalovec',
- 'jantar',
- 'jarmark',
- 'jaro',
- 'jasan',
- 'jasno',
- 'jatka',
- 'javor',
- 'jazyk',
- 'jedinec',
- 'jedle',
- 'jednatel',
- 'jehlan',
- 'jekot',
- 'jelen',
- 'jelito',
- 'jemnost',
- 'jenom',
- 'jepice',
- 'jeseter',
- 'jevit',
- 'jezdec',
- 'jezero',
- 'jinak',
- 'jindy',
- 'jinoch',
- 'jiskra',
- 'jistota',
- 'jitrnice',
- 'jizva',
- 'jmenovat',
- 'jogurt',
- 'jurta',
- 'kabaret',
- 'kabel',
- 'kabinet',
- 'kachna',
- 'kadet',
- 'kadidlo',
- 'kahan',
- 'kajak',
- 'kajuta',
- 'kakao',
- 'kaktus',
- 'kalamita',
- 'kalhoty',
- 'kalibr',
- 'kalnost',
- 'kamera',
- 'kamkoliv',
- 'kamna',
- 'kanibal',
- 'kanoe',
- 'kantor',
- 'kapalina',
- 'kapela',
- 'kapitola',
- 'kapka',
- 'kaple',
- 'kapota',
- 'kapr',
- 'kapusta',
- 'kapybara',
- 'karamel',
- 'karotka',
- 'karton',
- 'kasa',
- 'katalog',
- 'katedra',
- 'kauce',
- 'kauza',
- 'kavalec',
- 'kazajka',
- 'kazeta',
- 'kazivost',
- 'kdekoliv',
- 'kdesi',
- 'kedluben',
- 'kemp',
- 'keramika',
- 'kino',
- 'klacek',
- 'kladivo',
- 'klam',
- 'klapot',
- 'klasika',
- 'klaun',
- 'klec',
- 'klenba',
- 'klepat',
- 'klesnout',
- 'klid',
- 'klima',
- 'klisna',
- 'klobouk',
- 'klokan',
- 'klopa',
- 'kloub',
- 'klubovna',
- 'klusat',
- 'kluzkost',
- 'kmen',
- 'kmitat',
- 'kmotr',
- 'kniha',
- 'knot',
- 'koalice',
- 'koberec',
- 'kobka',
- 'kobliha',
- 'kobyla',
- 'kocour',
- 'kohout',
- 'kojenec',
- 'kokos',
- 'koktejl',
- 'kolaps',
- 'koleda',
- 'kolize',
- 'kolo',
- 'komando',
- 'kometa',
- 'komik',
- 'komnata',
- 'komora',
- 'kompas',
- 'komunita',
- 'konat',
- 'koncept',
- 'kondice',
- 'konec',
- 'konfese',
- 'kongres',
- 'konina',
- 'konkurs',
- 'kontakt',
- 'konzerva',
- 'kopanec',
- 'kopie',
- 'kopnout',
- 'koprovka',
- 'korbel',
- 'korektor',
- 'kormidlo',
- 'koroptev',
- 'korpus',
- 'koruna',
- 'koryto',
- 'korzet',
- 'kosatec',
- 'kostka',
- 'kotel',
- 'kotleta',
- 'kotoul',
- 'koukat',
- 'koupelna',
- 'kousek',
- 'kouzlo',
- 'kovboj',
- 'koza',
- 'kozoroh',
- 'krabice',
- 'krach',
- 'krajina',
- 'kralovat',
- 'krasopis',
- 'kravata',
- 'kredit',
- 'krejcar',
- 'kresba',
- 'kreveta',
- 'kriket',
- 'kritik',
- 'krize',
- 'krkavec',
- 'krmelec',
- 'krmivo',
- 'krocan',
- 'krok',
- 'kronika',
- 'kropit',
- 'kroupa',
- 'krovka',
- 'krtek',
- 'kruhadlo',
- 'krupice',
- 'krutost',
- 'krvinka',
- 'krychle',
- 'krypta',
- 'krystal',
- 'kryt',
- 'kudlanka',
- 'kufr',
- 'kujnost',
- 'kukla',
- 'kulajda',
- 'kulich',
- 'kulka',
- 'kulomet',
- 'kultura',
- 'kuna',
- 'kupodivu',
- 'kurt',
- 'kurzor',
- 'kutil',
- 'kvalita',
- 'kvasinka',
- 'kvestor',
- 'kynolog',
- 'kyselina',
- 'kytara',
- 'kytice',
- 'kytka',
- 'kytovec',
- 'kyvadlo',
- 'labrador',
- 'lachtan',
- 'ladnost',
- 'laik',
- 'lakomec',
- 'lamela',
- 'lampa',
- 'lanovka',
- 'lasice',
- 'laso',
- 'lastura',
- 'latinka',
- 'lavina',
- 'lebka',
- 'leckdy',
- 'leden',
- 'lednice',
- 'ledovka',
- 'ledvina',
- 'legenda',
- 'legie',
- 'legrace',
- 'lehce',
- 'lehkost',
- 'lehnout',
- 'lektvar',
- 'lenochod',
- 'lentilka',
- 'lepenka',
- 'lepidlo',
- 'letadlo',
- 'letec',
- 'letmo',
- 'letokruh',
- 'levhart',
- 'levitace',
- 'levobok',
- 'libra',
- 'lichotka',
- 'lidojed',
- 'lidskost',
- 'lihovina',
- 'lijavec',
- 'lilek',
- 'limetka',
- 'linie',
- 'linka',
- 'linoleum',
- 'listopad',
- 'litina',
- 'litovat',
- 'lobista',
- 'lodivod',
- 'logika',
- 'logoped',
- 'lokalita',
- 'loket',
- 'lomcovat',
- 'lopata',
- 'lopuch',
- 'lord',
- 'losos',
- 'lotr',
- 'loudal',
- 'louh',
- 'louka',
- 'louskat',
- 'lovec',
- 'lstivost',
- 'lucerna',
- 'lucifer',
- 'lump',
- 'lusk',
- 'lustrace',
- 'lvice',
- 'lyra',
- 'lyrika',
- 'lysina',
- 'madam',
- 'madlo',
- 'magistr',
- 'mahagon',
- 'majetek',
- 'majitel',
- 'majorita',
- 'makak',
- 'makovice',
- 'makrela',
- 'malba',
- 'malina',
- 'malovat',
- 'malvice',
- 'maminka',
- 'mandle',
- 'manko',
- 'marnost',
- 'masakr',
- 'maskot',
- 'masopust',
- 'matice',
- 'matrika',
- 'maturita',
- 'mazanec',
- 'mazivo',
- 'mazlit',
- 'mazurka',
- 'mdloba',
- 'mechanik',
- 'meditace',
- 'medovina',
- 'melasa',
- 'meloun',
- 'mentolka',
- 'metla',
- 'metoda',
- 'metr',
- 'mezera',
- 'migrace',
- 'mihnout',
- 'mihule',
- 'mikina',
- 'mikrofon',
- 'milenec',
- 'milimetr',
- 'milost',
- 'mimika',
- 'mincovna',
- 'minibar',
- 'minomet',
- 'minulost',
- 'miska',
- 'mistr',
- 'mixovat',
- 'mladost',
- 'mlha',
- 'mlhovina',
- 'mlok',
- 'mlsat',
- 'mluvit',
- 'mnich',
- 'mnohem',
- 'mobil',
- 'mocnost',
- 'modelka',
- 'modlitba',
- 'mohyla',
- 'mokro',
- 'molekula',
- 'momentka',
- 'monarcha',
- 'monokl',
- 'monstrum',
- 'montovat',
- 'monzun',
- 'mosaz',
- 'moskyt',
- 'most',
- 'motivace',
- 'motorka',
- 'motyka',
- 'moucha',
- 'moudrost',
- 'mozaika',
- 'mozek',
- 'mozol',
- 'mramor',
- 'mravenec',
- 'mrkev',
- 'mrtvola',
- 'mrzet',
- 'mrzutost',
- 'mstitel',
- 'mudrc',
- 'muflon',
- 'mulat',
- 'mumie',
- 'munice',
- 'muset',
- 'mutace',
- 'muzeum',
- 'muzikant',
- 'myslivec',
- 'mzda',
- 'nabourat',
- 'nachytat',
- 'nadace',
- 'nadbytek',
- 'nadhoz',
- 'nadobro',
- 'nadpis',
- 'nahlas',
- 'nahnat',
- 'nahodile',
- 'nahradit',
- 'naivita',
- 'najednou',
- 'najisto',
- 'najmout',
- 'naklonit',
- 'nakonec',
- 'nakrmit',
- 'nalevo',
- 'namazat',
- 'namluvit',
- 'nanometr',
- 'naoko',
- 'naopak',
- 'naostro',
- 'napadat',
- 'napevno',
- 'naplnit',
- 'napnout',
- 'naposled',
- 'naprosto',
- 'narodit',
- 'naruby',
- 'narychlo',
- 'nasadit',
- 'nasekat',
- 'naslepo',
- 'nastat',
- 'natolik',
- 'navenek',
- 'navrch',
- 'navzdory',
- 'nazvat',
- 'nebe',
- 'nechat',
- 'necky',
- 'nedaleko',
- 'nedbat',
- 'neduh',
- 'negace',
- 'nehet',
- 'nehoda',
- 'nejen',
- 'nejprve',
- 'neklid',
- 'nelibost',
- 'nemilost',
- 'nemoc',
- 'neochota',
- 'neonka',
- 'nepokoj',
- 'nerost',
- 'nerv',
- 'nesmysl',
- 'nesoulad',
- 'netvor',
- 'neuron',
- 'nevina',
- 'nezvykle',
- 'nicota',
- 'nijak',
- 'nikam',
- 'nikdy',
- 'nikl',
- 'nikterak',
- 'nitro',
- 'nocleh',
- 'nohavice',
- 'nominace',
- 'nora',
- 'norek',
- 'nositel',
- 'nosnost',
- 'nouze',
- 'noviny',
- 'novota',
- 'nozdra',
- 'nuda',
- 'nudle',
- 'nuget',
- 'nutit',
- 'nutnost',
- 'nutrie',
- 'nymfa',
- 'obal',
- 'obarvit',
- 'obava',
- 'obdiv',
- 'obec',
- 'obehnat',
- 'obejmout',
- 'obezita',
- 'obhajoba',
- 'obilnice',
- 'objasnit',
- 'objekt',
- 'obklopit',
- 'oblast',
- 'oblek',
- 'obliba',
- 'obloha',
- 'obluda',
- 'obnos',
- 'obohatit',
- 'obojek',
- 'obout',
- 'obrazec',
- 'obrna',
- 'obruba',
- 'obrys',
- 'obsah',
- 'obsluha',
- 'obstarat',
- 'obuv',
- 'obvaz',
- 'obvinit',
- 'obvod',
- 'obvykle',
- 'obyvatel',
- 'obzor',
- 'ocas',
- 'ocel',
- 'ocenit',
- 'ochladit',
- 'ochota',
- 'ochrana',
- 'ocitnout',
- 'odboj',
- 'odbyt',
- 'odchod',
- 'odcizit',
- 'odebrat',
- 'odeslat',
- 'odevzdat',
- 'odezva',
- 'odhadce',
- 'odhodit',
- 'odjet',
- 'odjinud',
- 'odkaz',
- 'odkoupit',
- 'odliv',
- 'odluka',
- 'odmlka',
- 'odolnost',
- 'odpad',
- 'odpis',
- 'odplout',
- 'odpor',
- 'odpustit',
- 'odpykat',
- 'odrazka',
- 'odsoudit',
- 'odstup',
- 'odsun',
- 'odtok',
- 'odtud',
- 'odvaha',
- 'odveta',
- 'odvolat',
- 'odvracet',
- 'odznak',
- 'ofina',
- 'ofsajd',
- 'ohlas',
- 'ohnisko',
- 'ohrada',
- 'ohrozit',
- 'ohryzek',
- 'okap',
- 'okenice',
- 'oklika',
- 'okno',
- 'okouzlit',
- 'okovy',
- 'okrasa',
- 'okres',
- 'okrsek',
- 'okruh',
- 'okupant',
- 'okurka',
- 'okusit',
- 'olejnina',
- 'olizovat',
- 'omak',
- 'omeleta',
- 'omezit',
- 'omladina',
- 'omlouvat',
- 'omluva',
- 'omyl',
- 'onehdy',
- 'opakovat',
- 'opasek',
- 'operace',
- 'opice',
- 'opilost',
- 'opisovat',
- 'opora',
- 'opozice',
- 'opravdu',
- 'oproti',
- 'orbital',
- 'orchestr',
- 'orgie',
- 'orlice',
- 'orloj',
- 'ortel',
- 'osada',
- 'oschnout',
- 'osika',
- 'osivo',
- 'oslava',
- 'oslepit',
- 'oslnit',
- 'oslovit',
- 'osnova',
- 'osoba',
- 'osolit',
- 'ospalec',
- 'osten',
- 'ostraha',
- 'ostuda',
- 'ostych',
- 'osvojit',
- 'oteplit',
- 'otisk',
- 'otop',
- 'otrhat',
- 'otrlost',
- 'otrok',
- 'otruby',
- 'otvor',
- 'ovanout',
- 'ovar',
- 'oves',
- 'ovlivnit',
- 'ovoce',
- 'oxid',
- 'ozdoba',
- 'pachatel',
- 'pacient',
- 'padouch',
- 'pahorek',
- 'pakt',
- 'palanda',
- 'palec',
- 'palivo',
- 'paluba',
- 'pamflet',
- 'pamlsek',
- 'panenka',
- 'panika',
- 'panna',
- 'panovat',
- 'panstvo',
- 'pantofle',
- 'paprika',
- 'parketa',
- 'parodie',
- 'parta',
- 'paruka',
- 'paryba',
- 'paseka',
- 'pasivita',
- 'pastelka',
- 'patent',
- 'patrona',
- 'pavouk',
- 'pazneht',
- 'pazourek',
- 'pecka',
- 'pedagog',
- 'pejsek',
- 'peklo',
- 'peloton',
- 'penalta',
- 'pendrek',
- 'penze',
- 'periskop',
- 'pero',
- 'pestrost',
- 'petarda',
- 'petice',
- 'petrolej',
- 'pevnina',
- 'pexeso',
- 'pianista',
- 'piha',
- 'pijavice',
- 'pikle',
- 'piknik',
- 'pilina',
- 'pilnost',
- 'pilulka',
- 'pinzeta',
- 'pipeta',
- 'pisatel',
- 'pistole',
- 'pitevna',
- 'pivnice',
- 'pivovar',
- 'placenta',
- 'plakat',
- 'plamen',
- 'planeta',
- 'plastika',
- 'platit',
- 'plavidlo',
- 'plaz',
- 'plech',
- 'plemeno',
- 'plenta',
- 'ples',
- 'pletivo',
- 'plevel',
- 'plivat',
- 'plnit',
- 'plno',
- 'plocha',
- 'plodina',
- 'plomba',
- 'plout',
- 'pluk',
- 'plyn',
- 'pobavit',
- 'pobyt',
- 'pochod',
- 'pocit',
- 'poctivec',
- 'podat',
- 'podcenit',
- 'podepsat',
- 'podhled',
- 'podivit',
- 'podklad',
- 'podmanit',
- 'podnik',
- 'podoba',
- 'podpora',
- 'podraz',
- 'podstata',
- 'podvod',
- 'podzim',
- 'poezie',
- 'pohanka',
- 'pohnutka',
- 'pohovor',
- 'pohroma',
- 'pohyb',
- 'pointa',
- 'pojistka',
- 'pojmout',
- 'pokazit',
- 'pokles',
- 'pokoj',
- 'pokrok',
- 'pokuta',
- 'pokyn',
- 'poledne',
- 'polibek',
- 'polknout',
- 'poloha',
- 'polynom',
- 'pomalu',
- 'pominout',
- 'pomlka',
- 'pomoc',
- 'pomsta',
- 'pomyslet',
- 'ponechat',
- 'ponorka',
- 'ponurost',
- 'popadat',
- 'popel',
- 'popisek',
- 'poplach',
- 'poprosit',
- 'popsat',
- 'popud',
- 'poradce',
- 'porce',
- 'porod',
- 'porucha',
- 'poryv',
- 'posadit',
- 'posed',
- 'posila',
- 'poskok',
- 'poslanec',
- 'posoudit',
- 'pospolu',
- 'postava',
- 'posudek',
- 'posyp',
- 'potah',
- 'potkan',
- 'potlesk',
- 'potomek',
- 'potrava',
- 'potupa',
- 'potvora',
- 'poukaz',
- 'pouto',
- 'pouzdro',
- 'povaha',
- 'povidla',
- 'povlak',
- 'povoz',
- 'povrch',
- 'povstat',
- 'povyk',
- 'povzdech',
- 'pozdrav',
- 'pozemek',
- 'poznatek',
- 'pozor',
- 'pozvat',
- 'pracovat',
- 'prahory',
- 'praktika',
- 'prales',
- 'praotec',
- 'praporek',
- 'prase',
- 'pravda',
- 'princip',
- 'prkno',
- 'probudit',
- 'procento',
- 'prodej',
- 'profese',
- 'prohra',
- 'projekt',
- 'prolomit',
- 'promile',
- 'pronikat',
- 'propad',
- 'prorok',
- 'prosba',
- 'proton',
- 'proutek',
- 'provaz',
- 'prskavka',
- 'prsten',
- 'prudkost',
- 'prut',
- 'prvek',
- 'prvohory',
- 'psanec',
- 'psovod',
- 'pstruh',
- 'ptactvo',
- 'puberta',
- 'puch',
- 'pudl',
- 'pukavec',
- 'puklina',
- 'pukrle',
- 'pult',
- 'pumpa',
- 'punc',
- 'pupen',
- 'pusa',
- 'pusinka',
- 'pustina',
- 'putovat',
- 'putyka',
- 'pyramida',
- 'pysk',
- 'pytel',
- 'racek',
- 'rachot',
- 'radiace',
- 'radnice',
- 'radon',
- 'raft',
- 'ragby',
- 'raketa',
- 'rakovina',
- 'rameno',
- 'rampouch',
- 'rande',
- 'rarach',
- 'rarita',
- 'rasovna',
- 'rastr',
- 'ratolest',
- 'razance',
- 'razidlo',
- 'reagovat',
- 'reakce',
- 'recept',
- 'redaktor',
- 'referent',
- 'reflex',
- 'rejnok',
- 'reklama',
- 'rekord',
- 'rekrut',
- 'rektor',
- 'reputace',
- 'revize',
- 'revma',
- 'revolver',
- 'rezerva',
- 'riskovat',
- 'riziko',
- 'robotika',
- 'rodokmen',
- 'rohovka',
- 'rokle',
- 'rokoko',
- 'romaneto',
- 'ropovod',
- 'ropucha',
- 'rorejs',
- 'rosol',
- 'rostlina',
- 'rotmistr',
- 'rotoped',
- 'rotunda',
- 'roubenka',
- 'roucho',
- 'roup',
- 'roura',
- 'rovina',
- 'rovnice',
- 'rozbor',
- 'rozchod',
- 'rozdat',
- 'rozeznat',
- 'rozhodce',
- 'rozinka',
- 'rozjezd',
- 'rozkaz',
- 'rozloha',
- 'rozmar',
- 'rozpad',
- 'rozruch',
- 'rozsah',
- 'roztok',
- 'rozum',
- 'rozvod',
- 'rubrika',
- 'ruchadlo',
- 'rukavice',
- 'rukopis',
- 'ryba',
- 'rybolov',
- 'rychlost',
- 'rydlo',
- 'rypadlo',
- 'rytina',
- 'ryzost',
- 'sadista',
- 'sahat',
- 'sako',
- 'samec',
- 'samizdat',
- 'samota',
- 'sanitka',
- 'sardinka',
- 'sasanka',
- 'satelit',
- 'sazba',
- 'sazenice',
- 'sbor',
- 'schovat',
- 'sebranka',
- 'secese',
- 'sedadlo',
- 'sediment',
- 'sedlo',
- 'sehnat',
- 'sejmout',
- 'sekera',
- 'sekta',
- 'sekunda',
- 'sekvoje',
- 'semeno',
- 'seno',
- 'servis',
- 'sesadit',
- 'seshora',
- 'seskok',
- 'seslat',
- 'sestra',
- 'sesuv',
- 'sesypat',
- 'setba',
- 'setina',
- 'setkat',
- 'setnout',
- 'setrvat',
- 'sever',
- 'seznam',
- 'shoda',
- 'shrnout',
- 'sifon',
- 'silnice',
- 'sirka',
- 'sirotek',
- 'sirup',
- 'situace',
- 'skafandr',
- 'skalisko',
- 'skanzen',
- 'skaut',
- 'skeptik',
- 'skica',
- 'skladba',
- 'sklenice',
- 'sklo',
- 'skluz',
- 'skoba',
- 'skokan',
- 'skoro',
- 'skripta',
- 'skrz',
- 'skupina',
- 'skvost',
- 'skvrna',
- 'slabika',
- 'sladidlo',
- 'slanina',
- 'slast',
- 'slavnost',
- 'sledovat',
- 'slepec',
- 'sleva',
- 'slezina',
- 'slib',
- 'slina',
- 'sliznice',
- 'slon',
- 'sloupek',
- 'slovo',
- 'sluch',
- 'sluha',
- 'slunce',
- 'slupka',
- 'slza',
- 'smaragd',
- 'smetana',
- 'smilstvo',
- 'smlouva',
- 'smog',
- 'smrad',
- 'smrk',
- 'smrtka',
- 'smutek',
- 'smysl',
- 'snad',
- 'snaha',
- 'snob',
- 'sobota',
- 'socha',
- 'sodovka',
- 'sokol',
- 'sopka',
- 'sotva',
- 'souboj',
- 'soucit',
- 'soudce',
- 'souhlas',
- 'soulad',
- 'soumrak',
- 'souprava',
- 'soused',
- 'soutok',
- 'souviset',
- 'spalovna',
- 'spasitel',
- 'spis',
- 'splav',
- 'spodek',
- 'spojenec',
- 'spolu',
- 'sponzor',
- 'spornost',
- 'spousta',
- 'sprcha',
- 'spustit',
- 'sranda',
- 'sraz',
- 'srdce',
- 'srna',
- 'srnec',
- 'srovnat',
- 'srpen',
- 'srst',
- 'srub',
- 'stanice',
- 'starosta',
- 'statika',
- 'stavba',
- 'stehno',
- 'stezka',
- 'stodola',
- 'stolek',
- 'stopa',
- 'storno',
- 'stoupat',
- 'strach',
- 'stres',
- 'strhnout',
- 'strom',
- 'struna',
- 'studna',
- 'stupnice',
- 'stvol',
- 'styk',
- 'subjekt',
- 'subtropy',
- 'suchar',
- 'sudost',
- 'sukno',
- 'sundat',
- 'sunout',
- 'surikata',
- 'surovina',
- 'svah',
- 'svalstvo',
- 'svetr',
- 'svatba',
- 'svazek',
- 'svisle',
- 'svitek',
- 'svoboda',
- 'svodidlo',
- 'svorka',
- 'svrab',
- 'sykavka',
- 'sykot',
- 'synek',
- 'synovec',
- 'sypat',
- 'sypkost',
- 'syrovost',
- 'sysel',
- 'sytost',
- 'tabletka',
- 'tabule',
- 'tahoun',
- 'tajemno',
- 'tajfun',
- 'tajga',
- 'tajit',
- 'tajnost',
- 'taktika',
- 'tamhle',
- 'tampon',
- 'tancovat',
- 'tanec',
- 'tanker',
- 'tapeta',
- 'tavenina',
- 'tazatel',
- 'technika',
- 'tehdy',
- 'tekutina',
- 'telefon',
- 'temnota',
- 'tendence',
- 'tenista',
- 'tenor',
- 'teplota',
- 'tepna',
- 'teprve',
- 'terapie',
- 'termoska',
- 'textil',
- 'ticho',
- 'tiskopis',
- 'titulek',
- 'tkadlec',
- 'tkanina',
- 'tlapka',
- 'tleskat',
- 'tlukot',
- 'tlupa',
- 'tmel',
- 'toaleta',
- 'topinka',
- 'topol',
- 'torzo',
- 'touha',
- 'toulec',
- 'tradice',
- 'traktor',
- 'tramp',
- 'trasa',
- 'traverza',
- 'trefit',
- 'trest',
- 'trezor',
- 'trhavina',
- 'trhlina',
- 'trochu',
- 'trojice',
- 'troska',
- 'trouba',
- 'trpce',
- 'trpitel',
- 'trpkost',
- 'trubec',
- 'truchlit',
- 'truhlice',
- 'trus',
- 'trvat',
- 'tudy',
- 'tuhnout',
- 'tuhost',
- 'tundra',
- 'turista',
- 'turnaj',
- 'tuzemsko',
- 'tvaroh',
- 'tvorba',
- 'tvrdost',
- 'tvrz',
- 'tygr',
- 'tykev',
- 'ubohost',
- 'uboze',
- 'ubrat',
- 'ubrousek',
- 'ubrus',
- 'ubytovna',
- 'ucho',
- 'uctivost',
- 'udivit',
- 'uhradit',
- 'ujednat',
- 'ujistit',
- 'ujmout',
- 'ukazatel',
- 'uklidnit',
- 'uklonit',
- 'ukotvit',
- 'ukrojit',
- 'ulice',
- 'ulita',
- 'ulovit',
- 'umyvadlo',
- 'unavit',
- 'uniforma',
- 'uniknout',
- 'upadnout',
- 'uplatnit',
- 'uplynout',
- 'upoutat',
- 'upravit',
- 'uran',
- 'urazit',
- 'usednout',
- 'usilovat',
- 'usmrtit',
- 'usnadnit',
- 'usnout',
- 'usoudit',
- 'ustlat',
- 'ustrnout',
- 'utahovat',
- 'utkat',
- 'utlumit',
- 'utonout',
- 'utopenec',
- 'utrousit',
- 'uvalit',
- 'uvolnit',
- 'uvozovka',
- 'uzdravit',
- 'uzel',
- 'uzenina',
- 'uzlina',
- 'uznat',
- 'vagon',
- 'valcha',
- 'valoun',
- 'vana',
- 'vandal',
- 'vanilka',
- 'varan',
- 'varhany',
- 'varovat',
- 'vcelku',
- 'vchod',
- 'vdova',
- 'vedro',
- 'vegetace',
- 'vejce',
- 'velbloud',
- 'veletrh',
- 'velitel',
- 'velmoc',
- 'velryba',
- 'venkov',
- 'veranda',
- 'verze',
- 'veselka',
- 'veskrze',
- 'vesnice',
- 'vespodu',
- 'vesta',
- 'veterina',
- 'veverka',
- 'vibrace',
- 'vichr',
- 'videohra',
- 'vidina',
- 'vidle',
- 'vila',
- 'vinice',
- 'viset',
- 'vitalita',
- 'vize',
- 'vizitka',
- 'vjezd',
- 'vklad',
- 'vkus',
- 'vlajka',
- 'vlak',
- 'vlasec',
- 'vlevo',
- 'vlhkost',
- 'vliv',
- 'vlnovka',
- 'vloupat',
- 'vnucovat',
- 'vnuk',
- 'voda',
- 'vodivost',
- 'vodoznak',
- 'vodstvo',
- 'vojensky',
- 'vojna',
- 'vojsko',
- 'volant',
- 'volba',
- 'volit',
- 'volno',
- 'voskovka',
- 'vozidlo',
- 'vozovna',
- 'vpravo',
- 'vrabec',
- 'vracet',
- 'vrah',
- 'vrata',
- 'vrba',
- 'vrcholek',
- 'vrhat',
- 'vrstva',
- 'vrtule',
- 'vsadit',
- 'vstoupit',
- 'vstup',
- 'vtip',
- 'vybavit',
- 'vybrat',
- 'vychovat',
- 'vydat',
- 'vydra',
- 'vyfotit',
- 'vyhledat',
- 'vyhnout',
- 'vyhodit',
- 'vyhradit',
- 'vyhubit',
- 'vyjasnit',
- 'vyjet',
- 'vyjmout',
- 'vyklopit',
- 'vykonat',
- 'vylekat',
- 'vymazat',
- 'vymezit',
- 'vymizet',
- 'vymyslet',
- 'vynechat',
- 'vynikat',
- 'vynutit',
- 'vypadat',
- 'vyplatit',
- 'vypravit',
- 'vypustit',
- 'vyrazit',
- 'vyrovnat',
- 'vyrvat',
- 'vyslovit',
- 'vysoko',
- 'vystavit',
- 'vysunout',
- 'vysypat',
- 'vytasit',
- 'vytesat',
- 'vytratit',
- 'vyvinout',
- 'vyvolat',
- 'vyvrhel',
- 'vyzdobit',
- 'vyznat',
- 'vzadu',
- 'vzbudit',
- 'vzchopit',
- 'vzdor',
- 'vzduch',
- 'vzdychat',
- 'vzestup',
- 'vzhledem',
- 'vzkaz',
- 'vzlykat',
- 'vznik',
- 'vzorek',
- 'vzpoura',
- 'vztah',
- 'vztek',
- 'xylofon',
- 'zabrat',
- 'zabydlet',
- 'zachovat',
- 'zadarmo',
- 'zadusit',
- 'zafoukat',
- 'zahltit',
- 'zahodit',
- 'zahrada',
- 'zahynout',
- 'zajatec',
- 'zajet',
- 'zajistit',
- 'zaklepat',
- 'zakoupit',
- 'zalepit',
- 'zamezit',
- 'zamotat',
- 'zamyslet',
- 'zanechat',
- 'zanikat',
- 'zaplatit',
- 'zapojit',
- 'zapsat',
- 'zarazit',
- 'zastavit',
- 'zasunout',
- 'zatajit',
- 'zatemnit',
- 'zatknout',
- 'zaujmout',
- 'zavalit',
- 'zavelet',
- 'zavinit',
- 'zavolat',
- 'zavrtat',
- 'zazvonit',
- 'zbavit',
- 'zbrusu',
- 'zbudovat',
- 'zbytek',
- 'zdaleka',
- 'zdarma',
- 'zdatnost',
- 'zdivo',
- 'zdobit',
- 'zdroj',
- 'zdvih',
- 'zdymadlo',
- 'zelenina',
- 'zeman',
- 'zemina',
- 'zeptat',
- 'zezadu',
- 'zezdola',
- 'zhatit',
- 'zhltnout',
- 'zhluboka',
- 'zhotovit',
- 'zhruba',
- 'zima',
- 'zimnice',
- 'zjemnit',
- 'zklamat',
- 'zkoumat',
- 'zkratka',
- 'zkumavka',
- 'zlato',
- 'zlehka',
- 'zloba',
- 'zlom',
- 'zlost',
- 'zlozvyk',
- 'zmapovat',
- 'zmar',
- 'zmatek',
- 'zmije',
- 'zmizet',
- 'zmocnit',
- 'zmodrat',
- 'zmrzlina',
- 'zmutovat',
- 'znak',
- 'znalost',
- 'znamenat',
- 'znovu',
- 'zobrazit',
- 'zotavit',
- 'zoubek',
- 'zoufale',
- 'zplodit',
- 'zpomalit',
- 'zprava',
- 'zprostit',
- 'zprudka',
- 'zprvu',
- 'zrada',
- 'zranit',
- 'zrcadlo',
- 'zrnitost',
- 'zrno',
- 'zrovna',
- 'zrychlit',
- 'zrzavost',
- 'zticha',
- 'ztratit',
- 'zubovina',
- 'zubr',
- 'zvednout',
- 'zvenku',
- 'zvesela',
- 'zvon',
- 'zvrat',
- 'zvukovod',
- 'zvyk',
-];
diff --git a/src/wordlists/english.d.ts b/src/wordlists/english.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/english.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/english.js b/src/wordlists/english.js
deleted file mode 100644
index 5a069f3..0000000
--- a/src/wordlists/english.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- 'abandon',
- 'ability',
- 'able',
- 'about',
- 'above',
- 'absent',
- 'absorb',
- 'abstract',
- 'absurd',
- 'abuse',
- 'access',
- 'accident',
- 'account',
- 'accuse',
- 'achieve',
- 'acid',
- 'acoustic',
- 'acquire',
- 'across',
- 'act',
- 'action',
- 'actor',
- 'actress',
- 'actual',
- 'adapt',
- 'add',
- 'addict',
- 'address',
- 'adjust',
- 'admit',
- 'adult',
- 'advance',
- 'advice',
- 'aerobic',
- 'affair',
- 'afford',
- 'afraid',
- 'again',
- 'age',
- 'agent',
- 'agree',
- 'ahead',
- 'aim',
- 'air',
- 'airport',
- 'aisle',
- 'alarm',
- 'album',
- 'alcohol',
- 'alert',
- 'alien',
- 'all',
- 'alley',
- 'allow',
- 'almost',
- 'alone',
- 'alpha',
- 'already',
- 'also',
- 'alter',
- 'always',
- 'amateur',
- 'amazing',
- 'among',
- 'amount',
- 'amused',
- 'analyst',
- 'anchor',
- 'ancient',
- 'anger',
- 'angle',
- 'angry',
- 'animal',
- 'ankle',
- 'announce',
- 'annual',
- 'another',
- 'answer',
- 'antenna',
- 'antique',
- 'anxiety',
- 'any',
- 'apart',
- 'apology',
- 'appear',
- 'apple',
- 'approve',
- 'april',
- 'arch',
- 'arctic',
- 'area',
- 'arena',
- 'argue',
- 'arm',
- 'armed',
- 'armor',
- 'army',
- 'around',
- 'arrange',
- 'arrest',
- 'arrive',
- 'arrow',
- 'art',
- 'artefact',
- 'artist',
- 'artwork',
- 'ask',
- 'aspect',
- 'assault',
- 'asset',
- 'assist',
- 'assume',
- 'asthma',
- 'athlete',
- 'atom',
- 'attack',
- 'attend',
- 'attitude',
- 'attract',
- 'auction',
- 'audit',
- 'august',
- 'aunt',
- 'author',
- 'auto',
- 'autumn',
- 'average',
- 'avocado',
- 'avoid',
- 'awake',
- 'aware',
- 'away',
- 'awesome',
- 'awful',
- 'awkward',
- 'axis',
- 'baby',
- 'bachelor',
- 'bacon',
- 'badge',
- 'bag',
- 'balance',
- 'balcony',
- 'ball',
- 'bamboo',
- 'banana',
- 'banner',
- 'bar',
- 'barely',
- 'bargain',
- 'barrel',
- 'base',
- 'basic',
- 'basket',
- 'battle',
- 'beach',
- 'bean',
- 'beauty',
- 'because',
- 'become',
- 'beef',
- 'before',
- 'begin',
- 'behave',
- 'behind',
- 'believe',
- 'below',
- 'belt',
- 'bench',
- 'benefit',
- 'best',
- 'betray',
- 'better',
- 'between',
- 'beyond',
- 'bicycle',
- 'bid',
- 'bike',
- 'bind',
- 'biology',
- 'bird',
- 'birth',
- 'bitter',
- 'black',
- 'blade',
- 'blame',
- 'blanket',
- 'blast',
- 'bleak',
- 'bless',
- 'blind',
- 'blood',
- 'blossom',
- 'blouse',
- 'blue',
- 'blur',
- 'blush',
- 'board',
- 'boat',
- 'body',
- 'boil',
- 'bomb',
- 'bone',
- 'bonus',
- 'book',
- 'boost',
- 'border',
- 'boring',
- 'borrow',
- 'boss',
- 'bottom',
- 'bounce',
- 'box',
- 'boy',
- 'bracket',
- 'brain',
- 'brand',
- 'brass',
- 'brave',
- 'bread',
- 'breeze',
- 'brick',
- 'bridge',
- 'brief',
- 'bright',
- 'bring',
- 'brisk',
- 'broccoli',
- 'broken',
- 'bronze',
- 'broom',
- 'brother',
- 'brown',
- 'brush',
- 'bubble',
- 'buddy',
- 'budget',
- 'buffalo',
- 'build',
- 'bulb',
- 'bulk',
- 'bullet',
- 'bundle',
- 'bunker',
- 'burden',
- 'burger',
- 'burst',
- 'bus',
- 'business',
- 'busy',
- 'butter',
- 'buyer',
- 'buzz',
- 'cabbage',
- 'cabin',
- 'cable',
- 'cactus',
- 'cage',
- 'cake',
- 'call',
- 'calm',
- 'camera',
- 'camp',
- 'can',
- 'canal',
- 'cancel',
- 'candy',
- 'cannon',
- 'canoe',
- 'canvas',
- 'canyon',
- 'capable',
- 'capital',
- 'captain',
- 'car',
- 'carbon',
- 'card',
- 'cargo',
- 'carpet',
- 'carry',
- 'cart',
- 'case',
- 'cash',
- 'casino',
- 'castle',
- 'casual',
- 'cat',
- 'catalog',
- 'catch',
- 'category',
- 'cattle',
- 'caught',
- 'cause',
- 'caution',
- 'cave',
- 'ceiling',
- 'celery',
- 'cement',
- 'census',
- 'century',
- 'cereal',
- 'certain',
- 'chair',
- 'chalk',
- 'champion',
- 'change',
- 'chaos',
- 'chapter',
- 'charge',
- 'chase',
- 'chat',
- 'cheap',
- 'check',
- 'cheese',
- 'chef',
- 'cherry',
- 'chest',
- 'chicken',
- 'chief',
- 'child',
- 'chimney',
- 'choice',
- 'choose',
- 'chronic',
- 'chuckle',
- 'chunk',
- 'churn',
- 'cigar',
- 'cinnamon',
- 'circle',
- 'citizen',
- 'city',
- 'civil',
- 'claim',
- 'clap',
- 'clarify',
- 'claw',
- 'clay',
- 'clean',
- 'clerk',
- 'clever',
- 'click',
- 'client',
- 'cliff',
- 'climb',
- 'clinic',
- 'clip',
- 'clock',
- 'clog',
- 'close',
- 'cloth',
- 'cloud',
- 'clown',
- 'club',
- 'clump',
- 'cluster',
- 'clutch',
- 'coach',
- 'coast',
- 'coconut',
- 'code',
- 'coffee',
- 'coil',
- 'coin',
- 'collect',
- 'color',
- 'column',
- 'combine',
- 'come',
- 'comfort',
- 'comic',
- 'common',
- 'company',
- 'concert',
- 'conduct',
- 'confirm',
- 'congress',
- 'connect',
- 'consider',
- 'control',
- 'convince',
- 'cook',
- 'cool',
- 'copper',
- 'copy',
- 'coral',
- 'core',
- 'corn',
- 'correct',
- 'cost',
- 'cotton',
- 'couch',
- 'country',
- 'couple',
- 'course',
- 'cousin',
- 'cover',
- 'coyote',
- 'crack',
- 'cradle',
- 'craft',
- 'cram',
- 'crane',
- 'crash',
- 'crater',
- 'crawl',
- 'crazy',
- 'cream',
- 'credit',
- 'creek',
- 'crew',
- 'cricket',
- 'crime',
- 'crisp',
- 'critic',
- 'crop',
- 'cross',
- 'crouch',
- 'crowd',
- 'crucial',
- 'cruel',
- 'cruise',
- 'crumble',
- 'crunch',
- 'crush',
- 'cry',
- 'crystal',
- 'cube',
- 'culture',
- 'cup',
- 'cupboard',
- 'curious',
- 'current',
- 'curtain',
- 'curve',
- 'cushion',
- 'custom',
- 'cute',
- 'cycle',
- 'dad',
- 'damage',
- 'damp',
- 'dance',
- 'danger',
- 'daring',
- 'dash',
- 'daughter',
- 'dawn',
- 'day',
- 'deal',
- 'debate',
- 'debris',
- 'decade',
- 'december',
- 'decide',
- 'decline',
- 'decorate',
- 'decrease',
- 'deer',
- 'defense',
- 'define',
- 'defy',
- 'degree',
- 'delay',
- 'deliver',
- 'demand',
- 'demise',
- 'denial',
- 'dentist',
- 'deny',
- 'depart',
- 'depend',
- 'deposit',
- 'depth',
- 'deputy',
- 'derive',
- 'describe',
- 'desert',
- 'design',
- 'desk',
- 'despair',
- 'destroy',
- 'detail',
- 'detect',
- 'develop',
- 'device',
- 'devote',
- 'diagram',
- 'dial',
- 'diamond',
- 'diary',
- 'dice',
- 'diesel',
- 'diet',
- 'differ',
- 'digital',
- 'dignity',
- 'dilemma',
- 'dinner',
- 'dinosaur',
- 'direct',
- 'dirt',
- 'disagree',
- 'discover',
- 'disease',
- 'dish',
- 'dismiss',
- 'disorder',
- 'display',
- 'distance',
- 'divert',
- 'divide',
- 'divorce',
- 'dizzy',
- 'doctor',
- 'document',
- 'dog',
- 'doll',
- 'dolphin',
- 'domain',
- 'donate',
- 'donkey',
- 'donor',
- 'door',
- 'dose',
- 'double',
- 'dove',
- 'draft',
- 'dragon',
- 'drama',
- 'drastic',
- 'draw',
- 'dream',
- 'dress',
- 'drift',
- 'drill',
- 'drink',
- 'drip',
- 'drive',
- 'drop',
- 'drum',
- 'dry',
- 'duck',
- 'dumb',
- 'dune',
- 'during',
- 'dust',
- 'dutch',
- 'duty',
- 'dwarf',
- 'dynamic',
- 'eager',
- 'eagle',
- 'early',
- 'earn',
- 'earth',
- 'easily',
- 'east',
- 'easy',
- 'echo',
- 'ecology',
- 'economy',
- 'edge',
- 'edit',
- 'educate',
- 'effort',
- 'egg',
- 'eight',
- 'either',
- 'elbow',
- 'elder',
- 'electric',
- 'elegant',
- 'element',
- 'elephant',
- 'elevator',
- 'elite',
- 'else',
- 'embark',
- 'embody',
- 'embrace',
- 'emerge',
- 'emotion',
- 'employ',
- 'empower',
- 'empty',
- 'enable',
- 'enact',
- 'end',
- 'endless',
- 'endorse',
- 'enemy',
- 'energy',
- 'enforce',
- 'engage',
- 'engine',
- 'enhance',
- 'enjoy',
- 'enlist',
- 'enough',
- 'enrich',
- 'enroll',
- 'ensure',
- 'enter',
- 'entire',
- 'entry',
- 'envelope',
- 'episode',
- 'equal',
- 'equip',
- 'era',
- 'erase',
- 'erode',
- 'erosion',
- 'error',
- 'erupt',
- 'escape',
- 'essay',
- 'essence',
- 'estate',
- 'eternal',
- 'ethics',
- 'evidence',
- 'evil',
- 'evoke',
- 'evolve',
- 'exact',
- 'example',
- 'excess',
- 'exchange',
- 'excite',
- 'exclude',
- 'excuse',
- 'execute',
- 'exercise',
- 'exhaust',
- 'exhibit',
- 'exile',
- 'exist',
- 'exit',
- 'exotic',
- 'expand',
- 'expect',
- 'expire',
- 'explain',
- 'expose',
- 'express',
- 'extend',
- 'extra',
- 'eye',
- 'eyebrow',
- 'fabric',
- 'face',
- 'faculty',
- 'fade',
- 'faint',
- 'faith',
- 'fall',
- 'false',
- 'fame',
- 'family',
- 'famous',
- 'fan',
- 'fancy',
- 'fantasy',
- 'farm',
- 'fashion',
- 'fat',
- 'fatal',
- 'father',
- 'fatigue',
- 'fault',
- 'favorite',
- 'feature',
- 'february',
- 'federal',
- 'fee',
- 'feed',
- 'feel',
- 'female',
- 'fence',
- 'festival',
- 'fetch',
- 'fever',
- 'few',
- 'fiber',
- 'fiction',
- 'field',
- 'figure',
- 'file',
- 'film',
- 'filter',
- 'final',
- 'find',
- 'fine',
- 'finger',
- 'finish',
- 'fire',
- 'firm',
- 'first',
- 'fiscal',
- 'fish',
- 'fit',
- 'fitness',
- 'fix',
- 'flag',
- 'flame',
- 'flash',
- 'flat',
- 'flavor',
- 'flee',
- 'flight',
- 'flip',
- 'float',
- 'flock',
- 'floor',
- 'flower',
- 'fluid',
- 'flush',
- 'fly',
- 'foam',
- 'focus',
- 'fog',
- 'foil',
- 'fold',
- 'follow',
- 'food',
- 'foot',
- 'force',
- 'forest',
- 'forget',
- 'fork',
- 'fortune',
- 'forum',
- 'forward',
- 'fossil',
- 'foster',
- 'found',
- 'fox',
- 'fragile',
- 'frame',
- 'frequent',
- 'fresh',
- 'friend',
- 'fringe',
- 'frog',
- 'front',
- 'frost',
- 'frown',
- 'frozen',
- 'fruit',
- 'fuel',
- 'fun',
- 'funny',
- 'furnace',
- 'fury',
- 'future',
- 'gadget',
- 'gain',
- 'galaxy',
- 'gallery',
- 'game',
- 'gap',
- 'garage',
- 'garbage',
- 'garden',
- 'garlic',
- 'garment',
- 'gas',
- 'gasp',
- 'gate',
- 'gather',
- 'gauge',
- 'gaze',
- 'general',
- 'genius',
- 'genre',
- 'gentle',
- 'genuine',
- 'gesture',
- 'ghost',
- 'giant',
- 'gift',
- 'giggle',
- 'ginger',
- 'giraffe',
- 'girl',
- 'give',
- 'glad',
- 'glance',
- 'glare',
- 'glass',
- 'glide',
- 'glimpse',
- 'globe',
- 'gloom',
- 'glory',
- 'glove',
- 'glow',
- 'glue',
- 'goat',
- 'goddess',
- 'gold',
- 'good',
- 'goose',
- 'gorilla',
- 'gospel',
- 'gossip',
- 'govern',
- 'gown',
- 'grab',
- 'grace',
- 'grain',
- 'grant',
- 'grape',
- 'grass',
- 'gravity',
- 'great',
- 'green',
- 'grid',
- 'grief',
- 'grit',
- 'grocery',
- 'group',
- 'grow',
- 'grunt',
- 'guard',
- 'guess',
- 'guide',
- 'guilt',
- 'guitar',
- 'gun',
- 'gym',
- 'habit',
- 'hair',
- 'half',
- 'hammer',
- 'hamster',
- 'hand',
- 'happy',
- 'harbor',
- 'hard',
- 'harsh',
- 'harvest',
- 'hat',
- 'have',
- 'hawk',
- 'hazard',
- 'head',
- 'health',
- 'heart',
- 'heavy',
- 'hedgehog',
- 'height',
- 'hello',
- 'helmet',
- 'help',
- 'hen',
- 'hero',
- 'hidden',
- 'high',
- 'hill',
- 'hint',
- 'hip',
- 'hire',
- 'history',
- 'hobby',
- 'hockey',
- 'hold',
- 'hole',
- 'holiday',
- 'hollow',
- 'home',
- 'honey',
- 'hood',
- 'hope',
- 'horn',
- 'horror',
- 'horse',
- 'hospital',
- 'host',
- 'hotel',
- 'hour',
- 'hover',
- 'hub',
- 'huge',
- 'human',
- 'humble',
- 'humor',
- 'hundred',
- 'hungry',
- 'hunt',
- 'hurdle',
- 'hurry',
- 'hurt',
- 'husband',
- 'hybrid',
- 'ice',
- 'icon',
- 'idea',
- 'identify',
- 'idle',
- 'ignore',
- 'ill',
- 'illegal',
- 'illness',
- 'image',
- 'imitate',
- 'immense',
- 'immune',
- 'impact',
- 'impose',
- 'improve',
- 'impulse',
- 'inch',
- 'include',
- 'income',
- 'increase',
- 'index',
- 'indicate',
- 'indoor',
- 'industry',
- 'infant',
- 'inflict',
- 'inform',
- 'inhale',
- 'inherit',
- 'initial',
- 'inject',
- 'injury',
- 'inmate',
- 'inner',
- 'innocent',
- 'input',
- 'inquiry',
- 'insane',
- 'insect',
- 'inside',
- 'inspire',
- 'install',
- 'intact',
- 'interest',
- 'into',
- 'invest',
- 'invite',
- 'involve',
- 'iron',
- 'island',
- 'isolate',
- 'issue',
- 'item',
- 'ivory',
- 'jacket',
- 'jaguar',
- 'jar',
- 'jazz',
- 'jealous',
- 'jeans',
- 'jelly',
- 'jewel',
- 'job',
- 'join',
- 'joke',
- 'journey',
- 'joy',
- 'judge',
- 'juice',
- 'jump',
- 'jungle',
- 'junior',
- 'junk',
- 'just',
- 'kangaroo',
- 'keen',
- 'keep',
- 'ketchup',
- 'key',
- 'kick',
- 'kid',
- 'kidney',
- 'kind',
- 'kingdom',
- 'kiss',
- 'kit',
- 'kitchen',
- 'kite',
- 'kitten',
- 'kiwi',
- 'knee',
- 'knife',
- 'knock',
- 'know',
- 'lab',
- 'label',
- 'labor',
- 'ladder',
- 'lady',
- 'lake',
- 'lamp',
- 'language',
- 'laptop',
- 'large',
- 'later',
- 'latin',
- 'laugh',
- 'laundry',
- 'lava',
- 'law',
- 'lawn',
- 'lawsuit',
- 'layer',
- 'lazy',
- 'leader',
- 'leaf',
- 'learn',
- 'leave',
- 'lecture',
- 'left',
- 'leg',
- 'legal',
- 'legend',
- 'leisure',
- 'lemon',
- 'lend',
- 'length',
- 'lens',
- 'leopard',
- 'lesson',
- 'letter',
- 'level',
- 'liar',
- 'liberty',
- 'library',
- 'license',
- 'life',
- 'lift',
- 'light',
- 'like',
- 'limb',
- 'limit',
- 'link',
- 'lion',
- 'liquid',
- 'list',
- 'little',
- 'live',
- 'lizard',
- 'load',
- 'loan',
- 'lobster',
- 'local',
- 'lock',
- 'logic',
- 'lonely',
- 'long',
- 'loop',
- 'lottery',
- 'loud',
- 'lounge',
- 'love',
- 'loyal',
- 'lucky',
- 'luggage',
- 'lumber',
- 'lunar',
- 'lunch',
- 'luxury',
- 'lyrics',
- 'machine',
- 'mad',
- 'magic',
- 'magnet',
- 'maid',
- 'mail',
- 'main',
- 'major',
- 'make',
- 'mammal',
- 'man',
- 'manage',
- 'mandate',
- 'mango',
- 'mansion',
- 'manual',
- 'maple',
- 'marble',
- 'march',
- 'margin',
- 'marine',
- 'market',
- 'marriage',
- 'mask',
- 'mass',
- 'master',
- 'match',
- 'material',
- 'math',
- 'matrix',
- 'matter',
- 'maximum',
- 'maze',
- 'meadow',
- 'mean',
- 'measure',
- 'meat',
- 'mechanic',
- 'medal',
- 'media',
- 'melody',
- 'melt',
- 'member',
- 'memory',
- 'mention',
- 'menu',
- 'mercy',
- 'merge',
- 'merit',
- 'merry',
- 'mesh',
- 'message',
- 'metal',
- 'method',
- 'middle',
- 'midnight',
- 'milk',
- 'million',
- 'mimic',
- 'mind',
- 'minimum',
- 'minor',
- 'minute',
- 'miracle',
- 'mirror',
- 'misery',
- 'miss',
- 'mistake',
- 'mix',
- 'mixed',
- 'mixture',
- 'mobile',
- 'model',
- 'modify',
- 'mom',
- 'moment',
- 'monitor',
- 'monkey',
- 'monster',
- 'month',
- 'moon',
- 'moral',
- 'more',
- 'morning',
- 'mosquito',
- 'mother',
- 'motion',
- 'motor',
- 'mountain',
- 'mouse',
- 'move',
- 'movie',
- 'much',
- 'muffin',
- 'mule',
- 'multiply',
- 'muscle',
- 'museum',
- 'mushroom',
- 'music',
- 'must',
- 'mutual',
- 'myself',
- 'mystery',
- 'myth',
- 'naive',
- 'name',
- 'napkin',
- 'narrow',
- 'nasty',
- 'nation',
- 'nature',
- 'near',
- 'neck',
- 'need',
- 'negative',
- 'neglect',
- 'neither',
- 'nephew',
- 'nerve',
- 'nest',
- 'net',
- 'network',
- 'neutral',
- 'never',
- 'news',
- 'next',
- 'nice',
- 'night',
- 'noble',
- 'noise',
- 'nominee',
- 'noodle',
- 'normal',
- 'north',
- 'nose',
- 'notable',
- 'note',
- 'nothing',
- 'notice',
- 'novel',
- 'now',
- 'nuclear',
- 'number',
- 'nurse',
- 'nut',
- 'oak',
- 'obey',
- 'object',
- 'oblige',
- 'obscure',
- 'observe',
- 'obtain',
- 'obvious',
- 'occur',
- 'ocean',
- 'october',
- 'odor',
- 'off',
- 'offer',
- 'office',
- 'often',
- 'oil',
- 'okay',
- 'old',
- 'olive',
- 'olympic',
- 'omit',
- 'once',
- 'one',
- 'onion',
- 'online',
- 'only',
- 'open',
- 'opera',
- 'opinion',
- 'oppose',
- 'option',
- 'orange',
- 'orbit',
- 'orchard',
- 'order',
- 'ordinary',
- 'organ',
- 'orient',
- 'original',
- 'orphan',
- 'ostrich',
- 'other',
- 'outdoor',
- 'outer',
- 'output',
- 'outside',
- 'oval',
- 'oven',
- 'over',
- 'own',
- 'owner',
- 'oxygen',
- 'oyster',
- 'ozone',
- 'pact',
- 'paddle',
- 'page',
- 'pair',
- 'palace',
- 'palm',
- 'panda',
- 'panel',
- 'panic',
- 'panther',
- 'paper',
- 'parade',
- 'parent',
- 'park',
- 'parrot',
- 'party',
- 'pass',
- 'patch',
- 'path',
- 'patient',
- 'patrol',
- 'pattern',
- 'pause',
- 'pave',
- 'payment',
- 'peace',
- 'peanut',
- 'pear',
- 'peasant',
- 'pelican',
- 'pen',
- 'penalty',
- 'pencil',
- 'people',
- 'pepper',
- 'perfect',
- 'permit',
- 'person',
- 'pet',
- 'phone',
- 'photo',
- 'phrase',
- 'physical',
- 'piano',
- 'picnic',
- 'picture',
- 'piece',
- 'pig',
- 'pigeon',
- 'pill',
- 'pilot',
- 'pink',
- 'pioneer',
- 'pipe',
- 'pistol',
- 'pitch',
- 'pizza',
- 'place',
- 'planet',
- 'plastic',
- 'plate',
- 'play',
- 'please',
- 'pledge',
- 'pluck',
- 'plug',
- 'plunge',
- 'poem',
- 'poet',
- 'point',
- 'polar',
- 'pole',
- 'police',
- 'pond',
- 'pony',
- 'pool',
- 'popular',
- 'portion',
- 'position',
- 'possible',
- 'post',
- 'potato',
- 'pottery',
- 'poverty',
- 'powder',
- 'power',
- 'practice',
- 'praise',
- 'predict',
- 'prefer',
- 'prepare',
- 'present',
- 'pretty',
- 'prevent',
- 'price',
- 'pride',
- 'primary',
- 'print',
- 'priority',
- 'prison',
- 'private',
- 'prize',
- 'problem',
- 'process',
- 'produce',
- 'profit',
- 'program',
- 'project',
- 'promote',
- 'proof',
- 'property',
- 'prosper',
- 'protect',
- 'proud',
- 'provide',
- 'public',
- 'pudding',
- 'pull',
- 'pulp',
- 'pulse',
- 'pumpkin',
- 'punch',
- 'pupil',
- 'puppy',
- 'purchase',
- 'purity',
- 'purpose',
- 'purse',
- 'push',
- 'put',
- 'puzzle',
- 'pyramid',
- 'quality',
- 'quantum',
- 'quarter',
- 'question',
- 'quick',
- 'quit',
- 'quiz',
- 'quote',
- 'rabbit',
- 'raccoon',
- 'race',
- 'rack',
- 'radar',
- 'radio',
- 'rail',
- 'rain',
- 'raise',
- 'rally',
- 'ramp',
- 'ranch',
- 'random',
- 'range',
- 'rapid',
- 'rare',
- 'rate',
- 'rather',
- 'raven',
- 'raw',
- 'razor',
- 'ready',
- 'real',
- 'reason',
- 'rebel',
- 'rebuild',
- 'recall',
- 'receive',
- 'recipe',
- 'record',
- 'recycle',
- 'reduce',
- 'reflect',
- 'reform',
- 'refuse',
- 'region',
- 'regret',
- 'regular',
- 'reject',
- 'relax',
- 'release',
- 'relief',
- 'rely',
- 'remain',
- 'remember',
- 'remind',
- 'remove',
- 'render',
- 'renew',
- 'rent',
- 'reopen',
- 'repair',
- 'repeat',
- 'replace',
- 'report',
- 'require',
- 'rescue',
- 'resemble',
- 'resist',
- 'resource',
- 'response',
- 'result',
- 'retire',
- 'retreat',
- 'return',
- 'reunion',
- 'reveal',
- 'review',
- 'reward',
- 'rhythm',
- 'rib',
- 'ribbon',
- 'rice',
- 'rich',
- 'ride',
- 'ridge',
- 'rifle',
- 'right',
- 'rigid',
- 'ring',
- 'riot',
- 'ripple',
- 'risk',
- 'ritual',
- 'rival',
- 'river',
- 'road',
- 'roast',
- 'robot',
- 'robust',
- 'rocket',
- 'romance',
- 'roof',
- 'rookie',
- 'room',
- 'rose',
- 'rotate',
- 'rough',
- 'round',
- 'route',
- 'royal',
- 'rubber',
- 'rude',
- 'rug',
- 'rule',
- 'run',
- 'runway',
- 'rural',
- 'sad',
- 'saddle',
- 'sadness',
- 'safe',
- 'sail',
- 'salad',
- 'salmon',
- 'salon',
- 'salt',
- 'salute',
- 'same',
- 'sample',
- 'sand',
- 'satisfy',
- 'satoshi',
- 'sauce',
- 'sausage',
- 'save',
- 'say',
- 'scale',
- 'scan',
- 'scare',
- 'scatter',
- 'scene',
- 'scheme',
- 'school',
- 'science',
- 'scissors',
- 'scorpion',
- 'scout',
- 'scrap',
- 'screen',
- 'script',
- 'scrub',
- 'sea',
- 'search',
- 'season',
- 'seat',
- 'second',
- 'secret',
- 'section',
- 'security',
- 'seed',
- 'seek',
- 'segment',
- 'select',
- 'sell',
- 'seminar',
- 'senior',
- 'sense',
- 'sentence',
- 'series',
- 'service',
- 'session',
- 'settle',
- 'setup',
- 'seven',
- 'shadow',
- 'shaft',
- 'shallow',
- 'share',
- 'shed',
- 'shell',
- 'sheriff',
- 'shield',
- 'shift',
- 'shine',
- 'ship',
- 'shiver',
- 'shock',
- 'shoe',
- 'shoot',
- 'shop',
- 'short',
- 'shoulder',
- 'shove',
- 'shrimp',
- 'shrug',
- 'shuffle',
- 'shy',
- 'sibling',
- 'sick',
- 'side',
- 'siege',
- 'sight',
- 'sign',
- 'silent',
- 'silk',
- 'silly',
- 'silver',
- 'similar',
- 'simple',
- 'since',
- 'sing',
- 'siren',
- 'sister',
- 'situate',
- 'six',
- 'size',
- 'skate',
- 'sketch',
- 'ski',
- 'skill',
- 'skin',
- 'skirt',
- 'skull',
- 'slab',
- 'slam',
- 'sleep',
- 'slender',
- 'slice',
- 'slide',
- 'slight',
- 'slim',
- 'slogan',
- 'slot',
- 'slow',
- 'slush',
- 'small',
- 'smart',
- 'smile',
- 'smoke',
- 'smooth',
- 'snack',
- 'snake',
- 'snap',
- 'sniff',
- 'snow',
- 'soap',
- 'soccer',
- 'social',
- 'sock',
- 'soda',
- 'soft',
- 'solar',
- 'soldier',
- 'solid',
- 'solution',
- 'solve',
- 'someone',
- 'song',
- 'soon',
- 'sorry',
- 'sort',
- 'soul',
- 'sound',
- 'soup',
- 'source',
- 'south',
- 'space',
- 'spare',
- 'spatial',
- 'spawn',
- 'speak',
- 'special',
- 'speed',
- 'spell',
- 'spend',
- 'sphere',
- 'spice',
- 'spider',
- 'spike',
- 'spin',
- 'spirit',
- 'split',
- 'spoil',
- 'sponsor',
- 'spoon',
- 'sport',
- 'spot',
- 'spray',
- 'spread',
- 'spring',
- 'spy',
- 'square',
- 'squeeze',
- 'squirrel',
- 'stable',
- 'stadium',
- 'staff',
- 'stage',
- 'stairs',
- 'stamp',
- 'stand',
- 'start',
- 'state',
- 'stay',
- 'steak',
- 'steel',
- 'stem',
- 'step',
- 'stereo',
- 'stick',
- 'still',
- 'sting',
- 'stock',
- 'stomach',
- 'stone',
- 'stool',
- 'story',
- 'stove',
- 'strategy',
- 'street',
- 'strike',
- 'strong',
- 'struggle',
- 'student',
- 'stuff',
- 'stumble',
- 'style',
- 'subject',
- 'submit',
- 'subway',
- 'success',
- 'such',
- 'sudden',
- 'suffer',
- 'sugar',
- 'suggest',
- 'suit',
- 'summer',
- 'sun',
- 'sunny',
- 'sunset',
- 'super',
- 'supply',
- 'supreme',
- 'sure',
- 'surface',
- 'surge',
- 'surprise',
- 'surround',
- 'survey',
- 'suspect',
- 'sustain',
- 'swallow',
- 'swamp',
- 'swap',
- 'swarm',
- 'swear',
- 'sweet',
- 'swift',
- 'swim',
- 'swing',
- 'switch',
- 'sword',
- 'symbol',
- 'symptom',
- 'syrup',
- 'system',
- 'table',
- 'tackle',
- 'tag',
- 'tail',
- 'talent',
- 'talk',
- 'tank',
- 'tape',
- 'target',
- 'task',
- 'taste',
- 'tattoo',
- 'taxi',
- 'teach',
- 'team',
- 'tell',
- 'ten',
- 'tenant',
- 'tennis',
- 'tent',
- 'term',
- 'test',
- 'text',
- 'thank',
- 'that',
- 'theme',
- 'then',
- 'theory',
- 'there',
- 'they',
- 'thing',
- 'this',
- 'thought',
- 'three',
- 'thrive',
- 'throw',
- 'thumb',
- 'thunder',
- 'ticket',
- 'tide',
- 'tiger',
- 'tilt',
- 'timber',
- 'time',
- 'tiny',
- 'tip',
- 'tired',
- 'tissue',
- 'title',
- 'toast',
- 'tobacco',
- 'today',
- 'toddler',
- 'toe',
- 'together',
- 'toilet',
- 'token',
- 'tomato',
- 'tomorrow',
- 'tone',
- 'tongue',
- 'tonight',
- 'tool',
- 'tooth',
- 'top',
- 'topic',
- 'topple',
- 'torch',
- 'tornado',
- 'tortoise',
- 'toss',
- 'total',
- 'tourist',
- 'toward',
- 'tower',
- 'town',
- 'toy',
- 'track',
- 'trade',
- 'traffic',
- 'tragic',
- 'train',
- 'transfer',
- 'trap',
- 'trash',
- 'travel',
- 'tray',
- 'treat',
- 'tree',
- 'trend',
- 'trial',
- 'tribe',
- 'trick',
- 'trigger',
- 'trim',
- 'trip',
- 'trophy',
- 'trouble',
- 'truck',
- 'true',
- 'truly',
- 'trumpet',
- 'trust',
- 'truth',
- 'try',
- 'tube',
- 'tuition',
- 'tumble',
- 'tuna',
- 'tunnel',
- 'turkey',
- 'turn',
- 'turtle',
- 'twelve',
- 'twenty',
- 'twice',
- 'twin',
- 'twist',
- 'two',
- 'type',
- 'typical',
- 'ugly',
- 'umbrella',
- 'unable',
- 'unaware',
- 'uncle',
- 'uncover',
- 'under',
- 'undo',
- 'unfair',
- 'unfold',
- 'unhappy',
- 'uniform',
- 'unique',
- 'unit',
- 'universe',
- 'unknown',
- 'unlock',
- 'until',
- 'unusual',
- 'unveil',
- 'update',
- 'upgrade',
- 'uphold',
- 'upon',
- 'upper',
- 'upset',
- 'urban',
- 'urge',
- 'usage',
- 'use',
- 'used',
- 'useful',
- 'useless',
- 'usual',
- 'utility',
- 'vacant',
- 'vacuum',
- 'vague',
- 'valid',
- 'valley',
- 'valve',
- 'van',
- 'vanish',
- 'vapor',
- 'various',
- 'vast',
- 'vault',
- 'vehicle',
- 'velvet',
- 'vendor',
- 'venture',
- 'venue',
- 'verb',
- 'verify',
- 'version',
- 'very',
- 'vessel',
- 'veteran',
- 'viable',
- 'vibrant',
- 'vicious',
- 'victory',
- 'video',
- 'view',
- 'village',
- 'vintage',
- 'violin',
- 'virtual',
- 'virus',
- 'visa',
- 'visit',
- 'visual',
- 'vital',
- 'vivid',
- 'vocal',
- 'voice',
- 'void',
- 'volcano',
- 'volume',
- 'vote',
- 'voyage',
- 'wage',
- 'wagon',
- 'wait',
- 'walk',
- 'wall',
- 'walnut',
- 'want',
- 'warfare',
- 'warm',
- 'warrior',
- 'wash',
- 'wasp',
- 'waste',
- 'water',
- 'wave',
- 'way',
- 'wealth',
- 'weapon',
- 'wear',
- 'weasel',
- 'weather',
- 'web',
- 'wedding',
- 'weekend',
- 'weird',
- 'welcome',
- 'west',
- 'wet',
- 'whale',
- 'what',
- 'wheat',
- 'wheel',
- 'when',
- 'where',
- 'whip',
- 'whisper',
- 'wide',
- 'width',
- 'wife',
- 'wild',
- 'will',
- 'win',
- 'window',
- 'wine',
- 'wing',
- 'wink',
- 'winner',
- 'winter',
- 'wire',
- 'wisdom',
- 'wise',
- 'wish',
- 'witness',
- 'wolf',
- 'woman',
- 'wonder',
- 'wood',
- 'wool',
- 'word',
- 'work',
- 'world',
- 'worry',
- 'worth',
- 'wrap',
- 'wreck',
- 'wrestle',
- 'wrist',
- 'write',
- 'wrong',
- 'yard',
- 'year',
- 'yellow',
- 'you',
- 'young',
- 'youth',
- 'zebra',
- 'zero',
- 'zone',
- 'zoo',
-];
diff --git a/src/wordlists/french.d.ts b/src/wordlists/french.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/french.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/french.js b/src/wordlists/french.js
deleted file mode 100644
index 7ba4c1b..0000000
--- a/src/wordlists/french.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- 'abaisser',
- 'abandon',
- 'abdiquer',
- 'abeille',
- 'abolir',
- 'aborder',
- 'aboutir',
- 'aboyer',
- 'abrasif',
- 'abreuver',
- 'abriter',
- 'abroger',
- 'abrupt',
- 'absence',
- 'absolu',
- 'absurde',
- 'abusif',
- 'abyssal',
- 'académie',
- 'acajou',
- 'acarien',
- 'accabler',
- 'accepter',
- 'acclamer',
- 'accolade',
- 'accroche',
- 'accuser',
- 'acerbe',
- 'achat',
- 'acheter',
- 'aciduler',
- 'acier',
- 'acompte',
- 'acquérir',
- 'acronyme',
- 'acteur',
- 'actif',
- 'actuel',
- 'adepte',
- 'adéquat',
- 'adhésif',
- 'adjectif',
- 'adjuger',
- 'admettre',
- 'admirer',
- 'adopter',
- 'adorer',
- 'adoucir',
- 'adresse',
- 'adroit',
- 'adulte',
- 'adverbe',
- 'aérer',
- 'aéronef',
- 'affaire',
- 'affecter',
- 'affiche',
- 'affreux',
- 'affubler',
- 'agacer',
- 'agencer',
- 'agile',
- 'agiter',
- 'agrafer',
- 'agréable',
- 'agrume',
- 'aider',
- 'aiguille',
- 'ailier',
- 'aimable',
- 'aisance',
- 'ajouter',
- 'ajuster',
- 'alarmer',
- 'alchimie',
- 'alerte',
- 'algèbre',
- 'algue',
- 'aliéner',
- 'aliment',
- 'alléger',
- 'alliage',
- 'allouer',
- 'allumer',
- 'alourdir',
- 'alpaga',
- 'altesse',
- 'alvéole',
- 'amateur',
- 'ambigu',
- 'ambre',
- 'aménager',
- 'amertume',
- 'amidon',
- 'amiral',
- 'amorcer',
- 'amour',
- 'amovible',
- 'amphibie',
- 'ampleur',
- 'amusant',
- 'analyse',
- 'anaphore',
- 'anarchie',
- 'anatomie',
- 'ancien',
- 'anéantir',
- 'angle',
- 'angoisse',
- 'anguleux',
- 'animal',
- 'annexer',
- 'annonce',
- 'annuel',
- 'anodin',
- 'anomalie',
- 'anonyme',
- 'anormal',
- 'antenne',
- 'antidote',
- 'anxieux',
- 'apaiser',
- 'apéritif',
- 'aplanir',
- 'apologie',
- 'appareil',
- 'appeler',
- 'apporter',
- 'appuyer',
- 'aquarium',
- 'aqueduc',
- 'arbitre',
- 'arbuste',
- 'ardeur',
- 'ardoise',
- 'argent',
- 'arlequin',
- 'armature',
- 'armement',
- 'armoire',
- 'armure',
- 'arpenter',
- 'arracher',
- 'arriver',
- 'arroser',
- 'arsenic',
- 'artériel',
- 'article',
- 'aspect',
- 'asphalte',
- 'aspirer',
- 'assaut',
- 'asservir',
- 'assiette',
- 'associer',
- 'assurer',
- 'asticot',
- 'astre',
- 'astuce',
- 'atelier',
- 'atome',
- 'atrium',
- 'atroce',
- 'attaque',
- 'attentif',
- 'attirer',
- 'attraper',
- 'aubaine',
- 'auberge',
- 'audace',
- 'audible',
- 'augurer',
- 'aurore',
- 'automne',
- 'autruche',
- 'avaler',
- 'avancer',
- 'avarice',
- 'avenir',
- 'averse',
- 'aveugle',
- 'aviateur',
- 'avide',
- 'avion',
- 'aviser',
- 'avoine',
- 'avouer',
- 'avril',
- 'axial',
- 'axiome',
- 'badge',
- 'bafouer',
- 'bagage',
- 'baguette',
- 'baignade',
- 'balancer',
- 'balcon',
- 'baleine',
- 'balisage',
- 'bambin',
- 'bancaire',
- 'bandage',
- 'banlieue',
- 'bannière',
- 'banquier',
- 'barbier',
- 'baril',
- 'baron',
- 'barque',
- 'barrage',
- 'bassin',
- 'bastion',
- 'bataille',
- 'bateau',
- 'batterie',
- 'baudrier',
- 'bavarder',
- 'belette',
- 'bélier',
- 'belote',
- 'bénéfice',
- 'berceau',
- 'berger',
- 'berline',
- 'bermuda',
- 'besace',
- 'besogne',
- 'bétail',
- 'beurre',
- 'biberon',
- 'bicycle',
- 'bidule',
- 'bijou',
- 'bilan',
- 'bilingue',
- 'billard',
- 'binaire',
- 'biologie',
- 'biopsie',
- 'biotype',
- 'biscuit',
- 'bison',
- 'bistouri',
- 'bitume',
- 'bizarre',
- 'blafard',
- 'blague',
- 'blanchir',
- 'blessant',
- 'blinder',
- 'blond',
- 'bloquer',
- 'blouson',
- 'bobard',
- 'bobine',
- 'boire',
- 'boiser',
- 'bolide',
- 'bonbon',
- 'bondir',
- 'bonheur',
- 'bonifier',
- 'bonus',
- 'bordure',
- 'borne',
- 'botte',
- 'boucle',
- 'boueux',
- 'bougie',
- 'boulon',
- 'bouquin',
- 'bourse',
- 'boussole',
- 'boutique',
- 'boxeur',
- 'branche',
- 'brasier',
- 'brave',
- 'brebis',
- 'brèche',
- 'breuvage',
- 'bricoler',
- 'brigade',
- 'brillant',
- 'brioche',
- 'brique',
- 'brochure',
- 'broder',
- 'bronzer',
- 'brousse',
- 'broyeur',
- 'brume',
- 'brusque',
- 'brutal',
- 'bruyant',
- 'buffle',
- 'buisson',
- 'bulletin',
- 'bureau',
- 'burin',
- 'bustier',
- 'butiner',
- 'butoir',
- 'buvable',
- 'buvette',
- 'cabanon',
- 'cabine',
- 'cachette',
- 'cadeau',
- 'cadre',
- 'caféine',
- 'caillou',
- 'caisson',
- 'calculer',
- 'calepin',
- 'calibre',
- 'calmer',
- 'calomnie',
- 'calvaire',
- 'camarade',
- 'caméra',
- 'camion',
- 'campagne',
- 'canal',
- 'caneton',
- 'canon',
- 'cantine',
- 'canular',
- 'capable',
- 'caporal',
- 'caprice',
- 'capsule',
- 'capter',
- 'capuche',
- 'carabine',
- 'carbone',
- 'caresser',
- 'caribou',
- 'carnage',
- 'carotte',
- 'carreau',
- 'carton',
- 'cascade',
- 'casier',
- 'casque',
- 'cassure',
- 'causer',
- 'caution',
- 'cavalier',
- 'caverne',
- 'caviar',
- 'cédille',
- 'ceinture',
- 'céleste',
- 'cellule',
- 'cendrier',
- 'censurer',
- 'central',
- 'cercle',
- 'cérébral',
- 'cerise',
- 'cerner',
- 'cerveau',
- 'cesser',
- 'chagrin',
- 'chaise',
- 'chaleur',
- 'chambre',
- 'chance',
- 'chapitre',
- 'charbon',
- 'chasseur',
- 'chaton',
- 'chausson',
- 'chavirer',
- 'chemise',
- 'chenille',
- 'chéquier',
- 'chercher',
- 'cheval',
- 'chien',
- 'chiffre',
- 'chignon',
- 'chimère',
- 'chiot',
- 'chlorure',
- 'chocolat',
- 'choisir',
- 'chose',
- 'chouette',
- 'chrome',
- 'chute',
- 'cigare',
- 'cigogne',
- 'cimenter',
- 'cinéma',
- 'cintrer',
- 'circuler',
- 'cirer',
- 'cirque',
- 'citerne',
- 'citoyen',
- 'citron',
- 'civil',
- 'clairon',
- 'clameur',
- 'claquer',
- 'classe',
- 'clavier',
- 'client',
- 'cligner',
- 'climat',
- 'clivage',
- 'cloche',
- 'clonage',
- 'cloporte',
- 'cobalt',
- 'cobra',
- 'cocasse',
- 'cocotier',
- 'coder',
- 'codifier',
- 'coffre',
- 'cogner',
- 'cohésion',
- 'coiffer',
- 'coincer',
- 'colère',
- 'colibri',
- 'colline',
- 'colmater',
- 'colonel',
- 'combat',
- 'comédie',
- 'commande',
- 'compact',
- 'concert',
- 'conduire',
- 'confier',
- 'congeler',
- 'connoter',
- 'consonne',
- 'contact',
- 'convexe',
- 'copain',
- 'copie',
- 'corail',
- 'corbeau',
- 'cordage',
- 'corniche',
- 'corpus',
- 'correct',
- 'cortège',
- 'cosmique',
- 'costume',
- 'coton',
- 'coude',
- 'coupure',
- 'courage',
- 'couteau',
- 'couvrir',
- 'coyote',
- 'crabe',
- 'crainte',
- 'cravate',
- 'crayon',
- 'créature',
- 'créditer',
- 'crémeux',
- 'creuser',
- 'crevette',
- 'cribler',
- 'crier',
- 'cristal',
- 'critère',
- 'croire',
- 'croquer',
- 'crotale',
- 'crucial',
- 'cruel',
- 'crypter',
- 'cubique',
- 'cueillir',
- 'cuillère',
- 'cuisine',
- 'cuivre',
- 'culminer',
- 'cultiver',
- 'cumuler',
- 'cupide',
- 'curatif',
- 'curseur',
- 'cyanure',
- 'cycle',
- 'cylindre',
- 'cynique',
- 'daigner',
- 'damier',
- 'danger',
- 'danseur',
- 'dauphin',
- 'débattre',
- 'débiter',
- 'déborder',
- 'débrider',
- 'débutant',
- 'décaler',
- 'décembre',
- 'déchirer',
- 'décider',
- 'déclarer',
- 'décorer',
- 'décrire',
- 'décupler',
- 'dédale',
- 'déductif',
- 'déesse',
- 'défensif',
- 'défiler',
- 'défrayer',
- 'dégager',
- 'dégivrer',
- 'déglutir',
- 'dégrafer',
- 'déjeuner',
- 'délice',
- 'déloger',
- 'demander',
- 'demeurer',
- 'démolir',
- 'dénicher',
- 'dénouer',
- 'dentelle',
- 'dénuder',
- 'départ',
- 'dépenser',
- 'déphaser',
- 'déplacer',
- 'déposer',
- 'déranger',
- 'dérober',
- 'désastre',
- 'descente',
- 'désert',
- 'désigner',
- 'désobéir',
- 'dessiner',
- 'destrier',
- 'détacher',
- 'détester',
- 'détourer',
- 'détresse',
- 'devancer',
- 'devenir',
- 'deviner',
- 'devoir',
- 'diable',
- 'dialogue',
- 'diamant',
- 'dicter',
- 'différer',
- 'digérer',
- 'digital',
- 'digne',
- 'diluer',
- 'dimanche',
- 'diminuer',
- 'dioxyde',
- 'directif',
- 'diriger',
- 'discuter',
- 'disposer',
- 'dissiper',
- 'distance',
- 'divertir',
- 'diviser',
- 'docile',
- 'docteur',
- 'dogme',
- 'doigt',
- 'domaine',
- 'domicile',
- 'dompter',
- 'donateur',
- 'donjon',
- 'donner',
- 'dopamine',
- 'dortoir',
- 'dorure',
- 'dosage',
- 'doseur',
- 'dossier',
- 'dotation',
- 'douanier',
- 'double',
- 'douceur',
- 'douter',
- 'doyen',
- 'dragon',
- 'draper',
- 'dresser',
- 'dribbler',
- 'droiture',
- 'duperie',
- 'duplexe',
- 'durable',
- 'durcir',
- 'dynastie',
- 'éblouir',
- 'écarter',
- 'écharpe',
- 'échelle',
- 'éclairer',
- 'éclipse',
- 'éclore',
- 'écluse',
- 'école',
- 'économie',
- 'écorce',
- 'écouter',
- 'écraser',
- 'écrémer',
- 'écrivain',
- 'écrou',
- 'écume',
- 'écureuil',
- 'édifier',
- 'éduquer',
- 'effacer',
- 'effectif',
- 'effigie',
- 'effort',
- 'effrayer',
- 'effusion',
- 'égaliser',
- 'égarer',
- 'éjecter',
- 'élaborer',
- 'élargir',
- 'électron',
- 'élégant',
- 'éléphant',
- 'élève',
- 'éligible',
- 'élitisme',
- 'éloge',
- 'élucider',
- 'éluder',
- 'emballer',
- 'embellir',
- 'embryon',
- 'émeraude',
- 'émission',
- 'emmener',
- 'émotion',
- 'émouvoir',
- 'empereur',
- 'employer',
- 'emporter',
- 'emprise',
- 'émulsion',
- 'encadrer',
- 'enchère',
- 'enclave',
- 'encoche',
- 'endiguer',
- 'endosser',
- 'endroit',
- 'enduire',
- 'énergie',
- 'enfance',
- 'enfermer',
- 'enfouir',
- 'engager',
- 'engin',
- 'englober',
- 'énigme',
- 'enjamber',
- 'enjeu',
- 'enlever',
- 'ennemi',
- 'ennuyeux',
- 'enrichir',
- 'enrobage',
- 'enseigne',
- 'entasser',
- 'entendre',
- 'entier',
- 'entourer',
- 'entraver',
- 'énumérer',
- 'envahir',
- 'enviable',
- 'envoyer',
- 'enzyme',
- 'éolien',
- 'épaissir',
- 'épargne',
- 'épatant',
- 'épaule',
- 'épicerie',
- 'épidémie',
- 'épier',
- 'épilogue',
- 'épine',
- 'épisode',
- 'épitaphe',
- 'époque',
- 'épreuve',
- 'éprouver',
- 'épuisant',
- 'équerre',
- 'équipe',
- 'ériger',
- 'érosion',
- 'erreur',
- 'éruption',
- 'escalier',
- 'espadon',
- 'espèce',
- 'espiègle',
- 'espoir',
- 'esprit',
- 'esquiver',
- 'essayer',
- 'essence',
- 'essieu',
- 'essorer',
- 'estime',
- 'estomac',
- 'estrade',
- 'étagère',
- 'étaler',
- 'étanche',
- 'étatique',
- 'éteindre',
- 'étendoir',
- 'éternel',
- 'éthanol',
- 'éthique',
- 'ethnie',
- 'étirer',
- 'étoffer',
- 'étoile',
- 'étonnant',
- 'étourdir',
- 'étrange',
- 'étroit',
- 'étude',
- 'euphorie',
- 'évaluer',
- 'évasion',
- 'éventail',
- 'évidence',
- 'éviter',
- 'évolutif',
- 'évoquer',
- 'exact',
- 'exagérer',
- 'exaucer',
- 'exceller',
- 'excitant',
- 'exclusif',
- 'excuse',
- 'exécuter',
- 'exemple',
- 'exercer',
- 'exhaler',
- 'exhorter',
- 'exigence',
- 'exiler',
- 'exister',
- 'exotique',
- 'expédier',
- 'explorer',
- 'exposer',
- 'exprimer',
- 'exquis',
- 'extensif',
- 'extraire',
- 'exulter',
- 'fable',
- 'fabuleux',
- 'facette',
- 'facile',
- 'facture',
- 'faiblir',
- 'falaise',
- 'fameux',
- 'famille',
- 'farceur',
- 'farfelu',
- 'farine',
- 'farouche',
- 'fasciner',
- 'fatal',
- 'fatigue',
- 'faucon',
- 'fautif',
- 'faveur',
- 'favori',
- 'fébrile',
- 'féconder',
- 'fédérer',
- 'félin',
- 'femme',
- 'fémur',
- 'fendoir',
- 'féodal',
- 'fermer',
- 'féroce',
- 'ferveur',
- 'festival',
- 'feuille',
- 'feutre',
- 'février',
- 'fiasco',
- 'ficeler',
- 'fictif',
- 'fidèle',
- 'figure',
- 'filature',
- 'filetage',
- 'filière',
- 'filleul',
- 'filmer',
- 'filou',
- 'filtrer',
- 'financer',
- 'finir',
- 'fiole',
- 'firme',
- 'fissure',
- 'fixer',
- 'flairer',
- 'flamme',
- 'flasque',
- 'flatteur',
- 'fléau',
- 'flèche',
- 'fleur',
- 'flexion',
- 'flocon',
- 'flore',
- 'fluctuer',
- 'fluide',
- 'fluvial',
- 'folie',
- 'fonderie',
- 'fongible',
- 'fontaine',
- 'forcer',
- 'forgeron',
- 'formuler',
- 'fortune',
- 'fossile',
- 'foudre',
- 'fougère',
- 'fouiller',
- 'foulure',
- 'fourmi',
- 'fragile',
- 'fraise',
- 'franchir',
- 'frapper',
- 'frayeur',
- 'frégate',
- 'freiner',
- 'frelon',
- 'frémir',
- 'frénésie',
- 'frère',
- 'friable',
- 'friction',
- 'frisson',
- 'frivole',
- 'froid',
- 'fromage',
- 'frontal',
- 'frotter',
- 'fruit',
- 'fugitif',
- 'fuite',
- 'fureur',
- 'furieux',
- 'furtif',
- 'fusion',
- 'futur',
- 'gagner',
- 'galaxie',
- 'galerie',
- 'gambader',
- 'garantir',
- 'gardien',
- 'garnir',
- 'garrigue',
- 'gazelle',
- 'gazon',
- 'géant',
- 'gélatine',
- 'gélule',
- 'gendarme',
- 'général',
- 'génie',
- 'genou',
- 'gentil',
- 'géologie',
- 'géomètre',
- 'géranium',
- 'germe',
- 'gestuel',
- 'geyser',
- 'gibier',
- 'gicler',
- 'girafe',
- 'givre',
- 'glace',
- 'glaive',
- 'glisser',
- 'globe',
- 'gloire',
- 'glorieux',
- 'golfeur',
- 'gomme',
- 'gonfler',
- 'gorge',
- 'gorille',
- 'goudron',
- 'gouffre',
- 'goulot',
- 'goupille',
- 'gourmand',
- 'goutte',
- 'graduel',
- 'graffiti',
- 'graine',
- 'grand',
- 'grappin',
- 'gratuit',
- 'gravir',
- 'grenat',
- 'griffure',
- 'griller',
- 'grimper',
- 'grogner',
- 'gronder',
- 'grotte',
- 'groupe',
- 'gruger',
- 'grutier',
- 'gruyère',
- 'guépard',
- 'guerrier',
- 'guide',
- 'guimauve',
- 'guitare',
- 'gustatif',
- 'gymnaste',
- 'gyrostat',
- 'habitude',
- 'hachoir',
- 'halte',
- 'hameau',
- 'hangar',
- 'hanneton',
- 'haricot',
- 'harmonie',
- 'harpon',
- 'hasard',
- 'hélium',
- 'hématome',
- 'herbe',
- 'hérisson',
- 'hermine',
- 'héron',
- 'hésiter',
- 'heureux',
- 'hiberner',
- 'hibou',
- 'hilarant',
- 'histoire',
- 'hiver',
- 'homard',
- 'hommage',
- 'homogène',
- 'honneur',
- 'honorer',
- 'honteux',
- 'horde',
- 'horizon',
- 'horloge',
- 'hormone',
- 'horrible',
- 'houleux',
- 'housse',
- 'hublot',
- 'huileux',
- 'humain',
- 'humble',
- 'humide',
- 'humour',
- 'hurler',
- 'hydromel',
- 'hygiène',
- 'hymne',
- 'hypnose',
- 'idylle',
- 'ignorer',
- 'iguane',
- 'illicite',
- 'illusion',
- 'image',
- 'imbiber',
- 'imiter',
- 'immense',
- 'immobile',
- 'immuable',
- 'impact',
- 'impérial',
- 'implorer',
- 'imposer',
- 'imprimer',
- 'imputer',
- 'incarner',
- 'incendie',
- 'incident',
- 'incliner',
- 'incolore',
- 'indexer',
- 'indice',
- 'inductif',
- 'inédit',
- 'ineptie',
- 'inexact',
- 'infini',
- 'infliger',
- 'informer',
- 'infusion',
- 'ingérer',
- 'inhaler',
- 'inhiber',
- 'injecter',
- 'injure',
- 'innocent',
- 'inoculer',
- 'inonder',
- 'inscrire',
- 'insecte',
- 'insigne',
- 'insolite',
- 'inspirer',
- 'instinct',
- 'insulter',
- 'intact',
- 'intense',
- 'intime',
- 'intrigue',
- 'intuitif',
- 'inutile',
- 'invasion',
- 'inventer',
- 'inviter',
- 'invoquer',
- 'ironique',
- 'irradier',
- 'irréel',
- 'irriter',
- 'isoler',
- 'ivoire',
- 'ivresse',
- 'jaguar',
- 'jaillir',
- 'jambe',
- 'janvier',
- 'jardin',
- 'jauger',
- 'jaune',
- 'javelot',
- 'jetable',
- 'jeton',
- 'jeudi',
- 'jeunesse',
- 'joindre',
- 'joncher',
- 'jongler',
- 'joueur',
- 'jouissif',
- 'journal',
- 'jovial',
- 'joyau',
- 'joyeux',
- 'jubiler',
- 'jugement',
- 'junior',
- 'jupon',
- 'juriste',
- 'justice',
- 'juteux',
- 'juvénile',
- 'kayak',
- 'kimono',
- 'kiosque',
- 'label',
- 'labial',
- 'labourer',
- 'lacérer',
- 'lactose',
- 'lagune',
- 'laine',
- 'laisser',
- 'laitier',
- 'lambeau',
- 'lamelle',
- 'lampe',
- 'lanceur',
- 'langage',
- 'lanterne',
- 'lapin',
- 'largeur',
- 'larme',
- 'laurier',
- 'lavabo',
- 'lavoir',
- 'lecture',
- 'légal',
- 'léger',
- 'légume',
- 'lessive',
- 'lettre',
- 'levier',
- 'lexique',
- 'lézard',
- 'liasse',
- 'libérer',
- 'libre',
- 'licence',
- 'licorne',
- 'liège',
- 'lièvre',
- 'ligature',
- 'ligoter',
- 'ligue',
- 'limer',
- 'limite',
- 'limonade',
- 'limpide',
- 'linéaire',
- 'lingot',
- 'lionceau',
- 'liquide',
- 'lisière',
- 'lister',
- 'lithium',
- 'litige',
- 'littoral',
- 'livreur',
- 'logique',
- 'lointain',
- 'loisir',
- 'lombric',
- 'loterie',
- 'louer',
- 'lourd',
- 'loutre',
- 'louve',
- 'loyal',
- 'lubie',
- 'lucide',
- 'lucratif',
- 'lueur',
- 'lugubre',
- 'luisant',
- 'lumière',
- 'lunaire',
- 'lundi',
- 'luron',
- 'lutter',
- 'luxueux',
- 'machine',
- 'magasin',
- 'magenta',
- 'magique',
- 'maigre',
- 'maillon',
- 'maintien',
- 'mairie',
- 'maison',
- 'majorer',
- 'malaxer',
- 'maléfice',
- 'malheur',
- 'malice',
- 'mallette',
- 'mammouth',
- 'mandater',
- 'maniable',
- 'manquant',
- 'manteau',
- 'manuel',
- 'marathon',
- 'marbre',
- 'marchand',
- 'mardi',
- 'maritime',
- 'marqueur',
- 'marron',
- 'marteler',
- 'mascotte',
- 'massif',
- 'matériel',
- 'matière',
- 'matraque',
- 'maudire',
- 'maussade',
- 'mauve',
- 'maximal',
- 'méchant',
- 'méconnu',
- 'médaille',
- 'médecin',
- 'méditer',
- 'méduse',
- 'meilleur',
- 'mélange',
- 'mélodie',
- 'membre',
- 'mémoire',
- 'menacer',
- 'mener',
- 'menhir',
- 'mensonge',
- 'mentor',
- 'mercredi',
- 'mérite',
- 'merle',
- 'messager',
- 'mesure',
- 'métal',
- 'météore',
- 'méthode',
- 'métier',
- 'meuble',
- 'miauler',
- 'microbe',
- 'miette',
- 'mignon',
- 'migrer',
- 'milieu',
- 'million',
- 'mimique',
- 'mince',
- 'minéral',
- 'minimal',
- 'minorer',
- 'minute',
- 'miracle',
- 'miroiter',
- 'missile',
- 'mixte',
- 'mobile',
- 'moderne',
- 'moelleux',
- 'mondial',
- 'moniteur',
- 'monnaie',
- 'monotone',
- 'monstre',
- 'montagne',
- 'monument',
- 'moqueur',
- 'morceau',
- 'morsure',
- 'mortier',
- 'moteur',
- 'motif',
- 'mouche',
- 'moufle',
- 'moulin',
- 'mousson',
- 'mouton',
- 'mouvant',
- 'multiple',
- 'munition',
- 'muraille',
- 'murène',
- 'murmure',
- 'muscle',
- 'muséum',
- 'musicien',
- 'mutation',
- 'muter',
- 'mutuel',
- 'myriade',
- 'myrtille',
- 'mystère',
- 'mythique',
- 'nageur',
- 'nappe',
- 'narquois',
- 'narrer',
- 'natation',
- 'nation',
- 'nature',
- 'naufrage',
- 'nautique',
- 'navire',
- 'nébuleux',
- 'nectar',
- 'néfaste',
- 'négation',
- 'négliger',
- 'négocier',
- 'neige',
- 'nerveux',
- 'nettoyer',
- 'neurone',
- 'neutron',
- 'neveu',
- 'niche',
- 'nickel',
- 'nitrate',
- 'niveau',
- 'noble',
- 'nocif',
- 'nocturne',
- 'noirceur',
- 'noisette',
- 'nomade',
- 'nombreux',
- 'nommer',
- 'normatif',
- 'notable',
- 'notifier',
- 'notoire',
- 'nourrir',
- 'nouveau',
- 'novateur',
- 'novembre',
- 'novice',
- 'nuage',
- 'nuancer',
- 'nuire',
- 'nuisible',
- 'numéro',
- 'nuptial',
- 'nuque',
- 'nutritif',
- 'obéir',
- 'objectif',
- 'obliger',
- 'obscur',
- 'observer',
- 'obstacle',
- 'obtenir',
- 'obturer',
- 'occasion',
- 'occuper',
- 'océan',
- 'octobre',
- 'octroyer',
- 'octupler',
- 'oculaire',
- 'odeur',
- 'odorant',
- 'offenser',
- 'officier',
- 'offrir',
- 'ogive',
- 'oiseau',
- 'oisillon',
- 'olfactif',
- 'olivier',
- 'ombrage',
- 'omettre',
- 'onctueux',
- 'onduler',
- 'onéreux',
- 'onirique',
- 'opale',
- 'opaque',
- 'opérer',
- 'opinion',
- 'opportun',
- 'opprimer',
- 'opter',
- 'optique',
- 'orageux',
- 'orange',
- 'orbite',
- 'ordonner',
- 'oreille',
- 'organe',
- 'orgueil',
- 'orifice',
- 'ornement',
- 'orque',
- 'ortie',
- 'osciller',
- 'osmose',
- 'ossature',
- 'otarie',
- 'ouragan',
- 'ourson',
- 'outil',
- 'outrager',
- 'ouvrage',
- 'ovation',
- 'oxyde',
- 'oxygène',
- 'ozone',
- 'paisible',
- 'palace',
- 'palmarès',
- 'palourde',
- 'palper',
- 'panache',
- 'panda',
- 'pangolin',
- 'paniquer',
- 'panneau',
- 'panorama',
- 'pantalon',
- 'papaye',
- 'papier',
- 'papoter',
- 'papyrus',
- 'paradoxe',
- 'parcelle',
- 'paresse',
- 'parfumer',
- 'parler',
- 'parole',
- 'parrain',
- 'parsemer',
- 'partager',
- 'parure',
- 'parvenir',
- 'passion',
- 'pastèque',
- 'paternel',
- 'patience',
- 'patron',
- 'pavillon',
- 'pavoiser',
- 'payer',
- 'paysage',
- 'peigne',
- 'peintre',
- 'pelage',
- 'pélican',
- 'pelle',
- 'pelouse',
- 'peluche',
- 'pendule',
- 'pénétrer',
- 'pénible',
- 'pensif',
- 'pénurie',
- 'pépite',
- 'péplum',
- 'perdrix',
- 'perforer',
- 'période',
- 'permuter',
- 'perplexe',
- 'persil',
- 'perte',
- 'peser',
- 'pétale',
- 'petit',
- 'pétrir',
- 'peuple',
- 'pharaon',
- 'phobie',
- 'phoque',
- 'photon',
- 'phrase',
- 'physique',
- 'piano',
- 'pictural',
- 'pièce',
- 'pierre',
- 'pieuvre',
- 'pilote',
- 'pinceau',
- 'pipette',
- 'piquer',
- 'pirogue',
- 'piscine',
- 'piston',
- 'pivoter',
- 'pixel',
- 'pizza',
- 'placard',
- 'plafond',
- 'plaisir',
- 'planer',
- 'plaque',
- 'plastron',
- 'plateau',
- 'pleurer',
- 'plexus',
- 'pliage',
- 'plomb',
- 'plonger',
- 'pluie',
- 'plumage',
- 'pochette',
- 'poésie',
- 'poète',
- 'pointe',
- 'poirier',
- 'poisson',
- 'poivre',
- 'polaire',
- 'policier',
- 'pollen',
- 'polygone',
- 'pommade',
- 'pompier',
- 'ponctuel',
- 'pondérer',
- 'poney',
- 'portique',
- 'position',
- 'posséder',
- 'posture',
- 'potager',
- 'poteau',
- 'potion',
- 'pouce',
- 'poulain',
- 'poumon',
- 'pourpre',
- 'poussin',
- 'pouvoir',
- 'prairie',
- 'pratique',
- 'précieux',
- 'prédire',
- 'préfixe',
- 'prélude',
- 'prénom',
- 'présence',
- 'prétexte',
- 'prévoir',
- 'primitif',
- 'prince',
- 'prison',
- 'priver',
- 'problème',
- 'procéder',
- 'prodige',
- 'profond',
- 'progrès',
- 'proie',
- 'projeter',
- 'prologue',
- 'promener',
- 'propre',
- 'prospère',
- 'protéger',
- 'prouesse',
- 'proverbe',
- 'prudence',
- 'pruneau',
- 'psychose',
- 'public',
- 'puceron',
- 'puiser',
- 'pulpe',
- 'pulsar',
- 'punaise',
- 'punitif',
- 'pupitre',
- 'purifier',
- 'puzzle',
- 'pyramide',
- 'quasar',
- 'querelle',
- 'question',
- 'quiétude',
- 'quitter',
- 'quotient',
- 'racine',
- 'raconter',
- 'radieux',
- 'ragondin',
- 'raideur',
- 'raisin',
- 'ralentir',
- 'rallonge',
- 'ramasser',
- 'rapide',
- 'rasage',
- 'ratisser',
- 'ravager',
- 'ravin',
- 'rayonner',
- 'réactif',
- 'réagir',
- 'réaliser',
- 'réanimer',
- 'recevoir',
- 'réciter',
- 'réclamer',
- 'récolter',
- 'recruter',
- 'reculer',
- 'recycler',
- 'rédiger',
- 'redouter',
- 'refaire',
- 'réflexe',
- 'réformer',
- 'refrain',
- 'refuge',
- 'régalien',
- 'région',
- 'réglage',
- 'régulier',
- 'réitérer',
- 'rejeter',
- 'rejouer',
- 'relatif',
- 'relever',
- 'relief',
- 'remarque',
- 'remède',
- 'remise',
- 'remonter',
- 'remplir',
- 'remuer',
- 'renard',
- 'renfort',
- 'renifler',
- 'renoncer',
- 'rentrer',
- 'renvoi',
- 'replier',
- 'reporter',
- 'reprise',
- 'reptile',
- 'requin',
- 'réserve',
- 'résineux',
- 'résoudre',
- 'respect',
- 'rester',
- 'résultat',
- 'rétablir',
- 'retenir',
- 'réticule',
- 'retomber',
- 'retracer',
- 'réunion',
- 'réussir',
- 'revanche',
- 'revivre',
- 'révolte',
- 'révulsif',
- 'richesse',
- 'rideau',
- 'rieur',
- 'rigide',
- 'rigoler',
- 'rincer',
- 'riposter',
- 'risible',
- 'risque',
- 'rituel',
- 'rival',
- 'rivière',
- 'rocheux',
- 'romance',
- 'rompre',
- 'ronce',
- 'rondin',
- 'roseau',
- 'rosier',
- 'rotatif',
- 'rotor',
- 'rotule',
- 'rouge',
- 'rouille',
- 'rouleau',
- 'routine',
- 'royaume',
- 'ruban',
- 'rubis',
- 'ruche',
- 'ruelle',
- 'rugueux',
- 'ruiner',
- 'ruisseau',
- 'ruser',
- 'rustique',
- 'rythme',
- 'sabler',
- 'saboter',
- 'sabre',
- 'sacoche',
- 'safari',
- 'sagesse',
- 'saisir',
- 'salade',
- 'salive',
- 'salon',
- 'saluer',
- 'samedi',
- 'sanction',
- 'sanglier',
- 'sarcasme',
- 'sardine',
- 'saturer',
- 'saugrenu',
- 'saumon',
- 'sauter',
- 'sauvage',
- 'savant',
- 'savonner',
- 'scalpel',
- 'scandale',
- 'scélérat',
- 'scénario',
- 'sceptre',
- 'schéma',
- 'science',
- 'scinder',
- 'score',
- 'scrutin',
- 'sculpter',
- 'séance',
- 'sécable',
- 'sécher',
- 'secouer',
- 'sécréter',
- 'sédatif',
- 'séduire',
- 'seigneur',
- 'séjour',
- 'sélectif',
- 'semaine',
- 'sembler',
- 'semence',
- 'séminal',
- 'sénateur',
- 'sensible',
- 'sentence',
- 'séparer',
- 'séquence',
- 'serein',
- 'sergent',
- 'sérieux',
- 'serrure',
- 'sérum',
- 'service',
- 'sésame',
- 'sévir',
- 'sevrage',
- 'sextuple',
- 'sidéral',
- 'siècle',
- 'siéger',
- 'siffler',
- 'sigle',
- 'signal',
- 'silence',
- 'silicium',
- 'simple',
- 'sincère',
- 'sinistre',
- 'siphon',
- 'sirop',
- 'sismique',
- 'situer',
- 'skier',
- 'social',
- 'socle',
- 'sodium',
- 'soigneux',
- 'soldat',
- 'soleil',
- 'solitude',
- 'soluble',
- 'sombre',
- 'sommeil',
- 'somnoler',
- 'sonde',
- 'songeur',
- 'sonnette',
- 'sonore',
- 'sorcier',
- 'sortir',
- 'sosie',
- 'sottise',
- 'soucieux',
- 'soudure',
- 'souffle',
- 'soulever',
- 'soupape',
- 'source',
- 'soutirer',
- 'souvenir',
- 'spacieux',
- 'spatial',
- 'spécial',
- 'sphère',
- 'spiral',
- 'stable',
- 'station',
- 'sternum',
- 'stimulus',
- 'stipuler',
- 'strict',
- 'studieux',
- 'stupeur',
- 'styliste',
- 'sublime',
- 'substrat',
- 'subtil',
- 'subvenir',
- 'succès',
- 'sucre',
- 'suffixe',
- 'suggérer',
- 'suiveur',
- 'sulfate',
- 'superbe',
- 'supplier',
- 'surface',
- 'suricate',
- 'surmener',
- 'surprise',
- 'sursaut',
- 'survie',
- 'suspect',
- 'syllabe',
- 'symbole',
- 'symétrie',
- 'synapse',
- 'syntaxe',
- 'système',
- 'tabac',
- 'tablier',
- 'tactile',
- 'tailler',
- 'talent',
- 'talisman',
- 'talonner',
- 'tambour',
- 'tamiser',
- 'tangible',
- 'tapis',
- 'taquiner',
- 'tarder',
- 'tarif',
- 'tartine',
- 'tasse',
- 'tatami',
- 'tatouage',
- 'taupe',
- 'taureau',
- 'taxer',
- 'témoin',
- 'temporel',
- 'tenaille',
- 'tendre',
- 'teneur',
- 'tenir',
- 'tension',
- 'terminer',
- 'terne',
- 'terrible',
- 'tétine',
- 'texte',
- 'thème',
- 'théorie',
- 'thérapie',
- 'thorax',
- 'tibia',
- 'tiède',
- 'timide',
- 'tirelire',
- 'tiroir',
- 'tissu',
- 'titane',
- 'titre',
- 'tituber',
- 'toboggan',
- 'tolérant',
- 'tomate',
- 'tonique',
- 'tonneau',
- 'toponyme',
- 'torche',
- 'tordre',
- 'tornade',
- 'torpille',
- 'torrent',
- 'torse',
- 'tortue',
- 'totem',
- 'toucher',
- 'tournage',
- 'tousser',
- 'toxine',
- 'traction',
- 'trafic',
- 'tragique',
- 'trahir',
- 'train',
- 'trancher',
- 'travail',
- 'trèfle',
- 'tremper',
- 'trésor',
- 'treuil',
- 'triage',
- 'tribunal',
- 'tricoter',
- 'trilogie',
- 'triomphe',
- 'tripler',
- 'triturer',
- 'trivial',
- 'trombone',
- 'tronc',
- 'tropical',
- 'troupeau',
- 'tuile',
- 'tulipe',
- 'tumulte',
- 'tunnel',
- 'turbine',
- 'tuteur',
- 'tutoyer',
- 'tuyau',
- 'tympan',
- 'typhon',
- 'typique',
- 'tyran',
- 'ubuesque',
- 'ultime',
- 'ultrason',
- 'unanime',
- 'unifier',
- 'union',
- 'unique',
- 'unitaire',
- 'univers',
- 'uranium',
- 'urbain',
- 'urticant',
- 'usage',
- 'usine',
- 'usuel',
- 'usure',
- 'utile',
- 'utopie',
- 'vacarme',
- 'vaccin',
- 'vagabond',
- 'vague',
- 'vaillant',
- 'vaincre',
- 'vaisseau',
- 'valable',
- 'valise',
- 'vallon',
- 'valve',
- 'vampire',
- 'vanille',
- 'vapeur',
- 'varier',
- 'vaseux',
- 'vassal',
- 'vaste',
- 'vecteur',
- 'vedette',
- 'végétal',
- 'véhicule',
- 'veinard',
- 'véloce',
- 'vendredi',
- 'vénérer',
- 'venger',
- 'venimeux',
- 'ventouse',
- 'verdure',
- 'vérin',
- 'vernir',
- 'verrou',
- 'verser',
- 'vertu',
- 'veston',
- 'vétéran',
- 'vétuste',
- 'vexant',
- 'vexer',
- 'viaduc',
- 'viande',
- 'victoire',
- 'vidange',
- 'vidéo',
- 'vignette',
- 'vigueur',
- 'vilain',
- 'village',
- 'vinaigre',
- 'violon',
- 'vipère',
- 'virement',
- 'virtuose',
- 'virus',
- 'visage',
- 'viseur',
- 'vision',
- 'visqueux',
- 'visuel',
- 'vital',
- 'vitesse',
- 'viticole',
- 'vitrine',
- 'vivace',
- 'vivipare',
- 'vocation',
- 'voguer',
- 'voile',
- 'voisin',
- 'voiture',
- 'volaille',
- 'volcan',
- 'voltiger',
- 'volume',
- 'vorace',
- 'vortex',
- 'voter',
- 'vouloir',
- 'voyage',
- 'voyelle',
- 'wagon',
- 'xénon',
- 'yacht',
- 'zèbre',
- 'zénith',
- 'zeste',
- 'zoologie',
-];
diff --git a/src/wordlists/italian.d.ts b/src/wordlists/italian.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/italian.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/italian.js b/src/wordlists/italian.js
deleted file mode 100644
index 594fffb..0000000
--- a/src/wordlists/italian.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- 'abaco',
- 'abbaglio',
- 'abbinato',
- 'abete',
- 'abisso',
- 'abolire',
- 'abrasivo',
- 'abrogato',
- 'accadere',
- 'accenno',
- 'accusato',
- 'acetone',
- 'achille',
- 'acido',
- 'acqua',
- 'acre',
- 'acrilico',
- 'acrobata',
- 'acuto',
- 'adagio',
- 'addebito',
- 'addome',
- 'adeguato',
- 'aderire',
- 'adipe',
- 'adottare',
- 'adulare',
- 'affabile',
- 'affetto',
- 'affisso',
- 'affranto',
- 'aforisma',
- 'afoso',
- 'africano',
- 'agave',
- 'agente',
- 'agevole',
- 'aggancio',
- 'agire',
- 'agitare',
- 'agonismo',
- 'agricolo',
- 'agrumeto',
- 'aguzzo',
- 'alabarda',
- 'alato',
- 'albatro',
- 'alberato',
- 'albo',
- 'albume',
- 'alce',
- 'alcolico',
- 'alettone',
- 'alfa',
- 'algebra',
- 'aliante',
- 'alibi',
- 'alimento',
- 'allagato',
- 'allegro',
- 'allievo',
- 'allodola',
- 'allusivo',
- 'almeno',
- 'alogeno',
- 'alpaca',
- 'alpestre',
- 'altalena',
- 'alterno',
- 'alticcio',
- 'altrove',
- 'alunno',
- 'alveolo',
- 'alzare',
- 'amalgama',
- 'amanita',
- 'amarena',
- 'ambito',
- 'ambrato',
- 'ameba',
- 'america',
- 'ametista',
- 'amico',
- 'ammasso',
- 'ammenda',
- 'ammirare',
- 'ammonito',
- 'amore',
- 'ampio',
- 'ampliare',
- 'amuleto',
- 'anacardo',
- 'anagrafe',
- 'analista',
- 'anarchia',
- 'anatra',
- 'anca',
- 'ancella',
- 'ancora',
- 'andare',
- 'andrea',
- 'anello',
- 'angelo',
- 'angolare',
- 'angusto',
- 'anima',
- 'annegare',
- 'annidato',
- 'anno',
- 'annuncio',
- 'anonimo',
- 'anticipo',
- 'anzi',
- 'apatico',
- 'apertura',
- 'apode',
- 'apparire',
- 'appetito',
- 'appoggio',
- 'approdo',
- 'appunto',
- 'aprile',
- 'arabica',
- 'arachide',
- 'aragosta',
- 'araldica',
- 'arancio',
- 'aratura',
- 'arazzo',
- 'arbitro',
- 'archivio',
- 'ardito',
- 'arenile',
- 'argento',
- 'argine',
- 'arguto',
- 'aria',
- 'armonia',
- 'arnese',
- 'arredato',
- 'arringa',
- 'arrosto',
- 'arsenico',
- 'arso',
- 'artefice',
- 'arzillo',
- 'asciutto',
- 'ascolto',
- 'asepsi',
- 'asettico',
- 'asfalto',
- 'asino',
- 'asola',
- 'aspirato',
- 'aspro',
- 'assaggio',
- 'asse',
- 'assoluto',
- 'assurdo',
- 'asta',
- 'astenuto',
- 'astice',
- 'astratto',
- 'atavico',
- 'ateismo',
- 'atomico',
- 'atono',
- 'attesa',
- 'attivare',
- 'attorno',
- 'attrito',
- 'attuale',
- 'ausilio',
- 'austria',
- 'autista',
- 'autonomo',
- 'autunno',
- 'avanzato',
- 'avere',
- 'avvenire',
- 'avviso',
- 'avvolgere',
- 'azione',
- 'azoto',
- 'azzimo',
- 'azzurro',
- 'babele',
- 'baccano',
- 'bacino',
- 'baco',
- 'badessa',
- 'badilata',
- 'bagnato',
- 'baita',
- 'balcone',
- 'baldo',
- 'balena',
- 'ballata',
- 'balzano',
- 'bambino',
- 'bandire',
- 'baraonda',
- 'barbaro',
- 'barca',
- 'baritono',
- 'barlume',
- 'barocco',
- 'basilico',
- 'basso',
- 'batosta',
- 'battuto',
- 'baule',
- 'bava',
- 'bavosa',
- 'becco',
- 'beffa',
- 'belgio',
- 'belva',
- 'benda',
- 'benevole',
- 'benigno',
- 'benzina',
- 'bere',
- 'berlina',
- 'beta',
- 'bibita',
- 'bici',
- 'bidone',
- 'bifido',
- 'biga',
- 'bilancia',
- 'bimbo',
- 'binocolo',
- 'biologo',
- 'bipede',
- 'bipolare',
- 'birbante',
- 'birra',
- 'biscotto',
- 'bisesto',
- 'bisnonno',
- 'bisonte',
- 'bisturi',
- 'bizzarro',
- 'blando',
- 'blatta',
- 'bollito',
- 'bonifico',
- 'bordo',
- 'bosco',
- 'botanico',
- 'bottino',
- 'bozzolo',
- 'braccio',
- 'bradipo',
- 'brama',
- 'branca',
- 'bravura',
- 'bretella',
- 'brevetto',
- 'brezza',
- 'briglia',
- 'brillante',
- 'brindare',
- 'broccolo',
- 'brodo',
- 'bronzina',
- 'brullo',
- 'bruno',
- 'bubbone',
- 'buca',
- 'budino',
- 'buffone',
- 'buio',
- 'bulbo',
- 'buono',
- 'burlone',
- 'burrasca',
- 'bussola',
- 'busta',
- 'cadetto',
- 'caduco',
- 'calamaro',
- 'calcolo',
- 'calesse',
- 'calibro',
- 'calmo',
- 'caloria',
- 'cambusa',
- 'camerata',
- 'camicia',
- 'cammino',
- 'camola',
- 'campale',
- 'canapa',
- 'candela',
- 'cane',
- 'canino',
- 'canotto',
- 'cantina',
- 'capace',
- 'capello',
- 'capitolo',
- 'capogiro',
- 'cappero',
- 'capra',
- 'capsula',
- 'carapace',
- 'carcassa',
- 'cardo',
- 'carisma',
- 'carovana',
- 'carretto',
- 'cartolina',
- 'casaccio',
- 'cascata',
- 'caserma',
- 'caso',
- 'cassone',
- 'castello',
- 'casuale',
- 'catasta',
- 'catena',
- 'catrame',
- 'cauto',
- 'cavillo',
- 'cedibile',
- 'cedrata',
- 'cefalo',
- 'celebre',
- 'cellulare',
- 'cena',
- 'cenone',
- 'centesimo',
- 'ceramica',
- 'cercare',
- 'certo',
- 'cerume',
- 'cervello',
- 'cesoia',
- 'cespo',
- 'ceto',
- 'chela',
- 'chiaro',
- 'chicca',
- 'chiedere',
- 'chimera',
- 'china',
- 'chirurgo',
- 'chitarra',
- 'ciao',
- 'ciclismo',
- 'cifrare',
- 'cigno',
- 'cilindro',
- 'ciottolo',
- 'circa',
- 'cirrosi',
- 'citrico',
- 'cittadino',
- 'ciuffo',
- 'civetta',
- 'civile',
- 'classico',
- 'clinica',
- 'cloro',
- 'cocco',
- 'codardo',
- 'codice',
- 'coerente',
- 'cognome',
- 'collare',
- 'colmato',
- 'colore',
- 'colposo',
- 'coltivato',
- 'colza',
- 'coma',
- 'cometa',
- 'commando',
- 'comodo',
- 'computer',
- 'comune',
- 'conciso',
- 'condurre',
- 'conferma',
- 'congelare',
- 'coniuge',
- 'connesso',
- 'conoscere',
- 'consumo',
- 'continuo',
- 'convegno',
- 'coperto',
- 'copione',
- 'coppia',
- 'copricapo',
- 'corazza',
- 'cordata',
- 'coricato',
- 'cornice',
- 'corolla',
- 'corpo',
- 'corredo',
- 'corsia',
- 'cortese',
- 'cosmico',
- 'costante',
- 'cottura',
- 'covato',
- 'cratere',
- 'cravatta',
- 'creato',
- 'credere',
- 'cremoso',
- 'crescita',
- 'creta',
- 'criceto',
- 'crinale',
- 'crisi',
- 'critico',
- 'croce',
- 'cronaca',
- 'crostata',
- 'cruciale',
- 'crusca',
- 'cucire',
- 'cuculo',
- 'cugino',
- 'cullato',
- 'cupola',
- 'curatore',
- 'cursore',
- 'curvo',
- 'cuscino',
- 'custode',
- 'dado',
- 'daino',
- 'dalmata',
- 'damerino',
- 'daniela',
- 'dannoso',
- 'danzare',
- 'datato',
- 'davanti',
- 'davvero',
- 'debutto',
- 'decennio',
- 'deciso',
- 'declino',
- 'decollo',
- 'decreto',
- 'dedicato',
- 'definito',
- 'deforme',
- 'degno',
- 'delegare',
- 'delfino',
- 'delirio',
- 'delta',
- 'demenza',
- 'denotato',
- 'dentro',
- 'deposito',
- 'derapata',
- 'derivare',
- 'deroga',
- 'descritto',
- 'deserto',
- 'desiderio',
- 'desumere',
- 'detersivo',
- 'devoto',
- 'diametro',
- 'dicembre',
- 'diedro',
- 'difeso',
- 'diffuso',
- 'digerire',
- 'digitale',
- 'diluvio',
- 'dinamico',
- 'dinnanzi',
- 'dipinto',
- 'diploma',
- 'dipolo',
- 'diradare',
- 'dire',
- 'dirotto',
- 'dirupo',
- 'disagio',
- 'discreto',
- 'disfare',
- 'disgelo',
- 'disposto',
- 'distanza',
- 'disumano',
- 'dito',
- 'divano',
- 'divelto',
- 'dividere',
- 'divorato',
- 'doblone',
- 'docente',
- 'doganale',
- 'dogma',
- 'dolce',
- 'domato',
- 'domenica',
- 'dominare',
- 'dondolo',
- 'dono',
- 'dormire',
- 'dote',
- 'dottore',
- 'dovuto',
- 'dozzina',
- 'drago',
- 'druido',
- 'dubbio',
- 'dubitare',
- 'ducale',
- 'duna',
- 'duomo',
- 'duplice',
- 'duraturo',
- 'ebano',
- 'eccesso',
- 'ecco',
- 'eclissi',
- 'economia',
- 'edera',
- 'edicola',
- 'edile',
- 'editoria',
- 'educare',
- 'egemonia',
- 'egli',
- 'egoismo',
- 'egregio',
- 'elaborato',
- 'elargire',
- 'elegante',
- 'elencato',
- 'eletto',
- 'elevare',
- 'elfico',
- 'elica',
- 'elmo',
- 'elsa',
- 'eluso',
- 'emanato',
- 'emblema',
- 'emesso',
- 'emiro',
- 'emotivo',
- 'emozione',
- 'empirico',
- 'emulo',
- 'endemico',
- 'enduro',
- 'energia',
- 'enfasi',
- 'enoteca',
- 'entrare',
- 'enzima',
- 'epatite',
- 'epilogo',
- 'episodio',
- 'epocale',
- 'eppure',
- 'equatore',
- 'erario',
- 'erba',
- 'erboso',
- 'erede',
- 'eremita',
- 'erigere',
- 'ermetico',
- 'eroe',
- 'erosivo',
- 'errante',
- 'esagono',
- 'esame',
- 'esanime',
- 'esaudire',
- 'esca',
- 'esempio',
- 'esercito',
- 'esibito',
- 'esigente',
- 'esistere',
- 'esito',
- 'esofago',
- 'esortato',
- 'esoso',
- 'espanso',
- 'espresso',
- 'essenza',
- 'esso',
- 'esteso',
- 'estimare',
- 'estonia',
- 'estroso',
- 'esultare',
- 'etilico',
- 'etnico',
- 'etrusco',
- 'etto',
- 'euclideo',
- 'europa',
- 'evaso',
- 'evidenza',
- 'evitato',
- 'evoluto',
- 'evviva',
- 'fabbrica',
- 'faccenda',
- 'fachiro',
- 'falco',
- 'famiglia',
- 'fanale',
- 'fanfara',
- 'fango',
- 'fantasma',
- 'fare',
- 'farfalla',
- 'farinoso',
- 'farmaco',
- 'fascia',
- 'fastoso',
- 'fasullo',
- 'faticare',
- 'fato',
- 'favoloso',
- 'febbre',
- 'fecola',
- 'fede',
- 'fegato',
- 'felpa',
- 'feltro',
- 'femmina',
- 'fendere',
- 'fenomeno',
- 'fermento',
- 'ferro',
- 'fertile',
- 'fessura',
- 'festivo',
- 'fetta',
- 'feudo',
- 'fiaba',
- 'fiducia',
- 'fifa',
- 'figurato',
- 'filo',
- 'finanza',
- 'finestra',
- 'finire',
- 'fiore',
- 'fiscale',
- 'fisico',
- 'fiume',
- 'flacone',
- 'flamenco',
- 'flebo',
- 'flemma',
- 'florido',
- 'fluente',
- 'fluoro',
- 'fobico',
- 'focaccia',
- 'focoso',
- 'foderato',
- 'foglio',
- 'folata',
- 'folclore',
- 'folgore',
- 'fondente',
- 'fonetico',
- 'fonia',
- 'fontana',
- 'forbito',
- 'forchetta',
- 'foresta',
- 'formica',
- 'fornaio',
- 'foro',
- 'fortezza',
- 'forzare',
- 'fosfato',
- 'fosso',
- 'fracasso',
- 'frana',
- 'frassino',
- 'fratello',
- 'freccetta',
- 'frenata',
- 'fresco',
- 'frigo',
- 'frollino',
- 'fronde',
- 'frugale',
- 'frutta',
- 'fucilata',
- 'fucsia',
- 'fuggente',
- 'fulmine',
- 'fulvo',
- 'fumante',
- 'fumetto',
- 'fumoso',
- 'fune',
- 'funzione',
- 'fuoco',
- 'furbo',
- 'furgone',
- 'furore',
- 'fuso',
- 'futile',
- 'gabbiano',
- 'gaffe',
- 'galateo',
- 'gallina',
- 'galoppo',
- 'gambero',
- 'gamma',
- 'garanzia',
- 'garbo',
- 'garofano',
- 'garzone',
- 'gasdotto',
- 'gasolio',
- 'gastrico',
- 'gatto',
- 'gaudio',
- 'gazebo',
- 'gazzella',
- 'geco',
- 'gelatina',
- 'gelso',
- 'gemello',
- 'gemmato',
- 'gene',
- 'genitore',
- 'gennaio',
- 'genotipo',
- 'gergo',
- 'ghepardo',
- 'ghiaccio',
- 'ghisa',
- 'giallo',
- 'gilda',
- 'ginepro',
- 'giocare',
- 'gioiello',
- 'giorno',
- 'giove',
- 'girato',
- 'girone',
- 'gittata',
- 'giudizio',
- 'giurato',
- 'giusto',
- 'globulo',
- 'glutine',
- 'gnomo',
- 'gobba',
- 'golf',
- 'gomito',
- 'gommone',
- 'gonfio',
- 'gonna',
- 'governo',
- 'gracile',
- 'grado',
- 'grafico',
- 'grammo',
- 'grande',
- 'grattare',
- 'gravoso',
- 'grazia',
- 'greca',
- 'gregge',
- 'grifone',
- 'grigio',
- 'grinza',
- 'grotta',
- 'gruppo',
- 'guadagno',
- 'guaio',
- 'guanto',
- 'guardare',
- 'gufo',
- 'guidare',
- 'ibernato',
- 'icona',
- 'identico',
- 'idillio',
- 'idolo',
- 'idra',
- 'idrico',
- 'idrogeno',
- 'igiene',
- 'ignaro',
- 'ignorato',
- 'ilare',
- 'illeso',
- 'illogico',
- 'illudere',
- 'imballo',
- 'imbevuto',
- 'imbocco',
- 'imbuto',
- 'immane',
- 'immerso',
- 'immolato',
- 'impacco',
- 'impeto',
- 'impiego',
- 'importo',
- 'impronta',
- 'inalare',
- 'inarcare',
- 'inattivo',
- 'incanto',
- 'incendio',
- 'inchino',
- 'incisivo',
- 'incluso',
- 'incontro',
- 'incrocio',
- 'incubo',
- 'indagine',
- 'india',
- 'indole',
- 'inedito',
- 'infatti',
- 'infilare',
- 'inflitto',
- 'ingaggio',
- 'ingegno',
- 'inglese',
- 'ingordo',
- 'ingrosso',
- 'innesco',
- 'inodore',
- 'inoltrare',
- 'inondato',
- 'insano',
- 'insetto',
- 'insieme',
- 'insonnia',
- 'insulina',
- 'intasato',
- 'intero',
- 'intonaco',
- 'intuito',
- 'inumidire',
- 'invalido',
- 'invece',
- 'invito',
- 'iperbole',
- 'ipnotico',
- 'ipotesi',
- 'ippica',
- 'iride',
- 'irlanda',
- 'ironico',
- 'irrigato',
- 'irrorare',
- 'isolato',
- 'isotopo',
- 'isterico',
- 'istituto',
- 'istrice',
- 'italia',
- 'iterare',
- 'labbro',
- 'labirinto',
- 'lacca',
- 'lacerato',
- 'lacrima',
- 'lacuna',
- 'laddove',
- 'lago',
- 'lampo',
- 'lancetta',
- 'lanterna',
- 'lardoso',
- 'larga',
- 'laringe',
- 'lastra',
- 'latenza',
- 'latino',
- 'lattuga',
- 'lavagna',
- 'lavoro',
- 'legale',
- 'leggero',
- 'lembo',
- 'lentezza',
- 'lenza',
- 'leone',
- 'lepre',
- 'lesivo',
- 'lessato',
- 'lesto',
- 'letterale',
- 'leva',
- 'levigato',
- 'libero',
- 'lido',
- 'lievito',
- 'lilla',
- 'limatura',
- 'limitare',
- 'limpido',
- 'lineare',
- 'lingua',
- 'liquido',
- 'lira',
- 'lirica',
- 'lisca',
- 'lite',
- 'litigio',
- 'livrea',
- 'locanda',
- 'lode',
- 'logica',
- 'lombare',
- 'londra',
- 'longevo',
- 'loquace',
- 'lorenzo',
- 'loto',
- 'lotteria',
- 'luce',
- 'lucidato',
- 'lumaca',
- 'luminoso',
- 'lungo',
- 'lupo',
- 'luppolo',
- 'lusinga',
- 'lusso',
- 'lutto',
- 'macabro',
- 'macchina',
- 'macero',
- 'macinato',
- 'madama',
- 'magico',
- 'maglia',
- 'magnete',
- 'magro',
- 'maiolica',
- 'malafede',
- 'malgrado',
- 'malinteso',
- 'malsano',
- 'malto',
- 'malumore',
- 'mana',
- 'mancia',
- 'mandorla',
- 'mangiare',
- 'manifesto',
- 'mannaro',
- 'manovra',
- 'mansarda',
- 'mantide',
- 'manubrio',
- 'mappa',
- 'maratona',
- 'marcire',
- 'maretta',
- 'marmo',
- 'marsupio',
- 'maschera',
- 'massaia',
- 'mastino',
- 'materasso',
- 'matricola',
- 'mattone',
- 'maturo',
- 'mazurca',
- 'meandro',
- 'meccanico',
- 'mecenate',
- 'medesimo',
- 'meditare',
- 'mega',
- 'melassa',
- 'melis',
- 'melodia',
- 'meninge',
- 'meno',
- 'mensola',
- 'mercurio',
- 'merenda',
- 'merlo',
- 'meschino',
- 'mese',
- 'messere',
- 'mestolo',
- 'metallo',
- 'metodo',
- 'mettere',
- 'miagolare',
- 'mica',
- 'micelio',
- 'michele',
- 'microbo',
- 'midollo',
- 'miele',
- 'migliore',
- 'milano',
- 'milite',
- 'mimosa',
- 'minerale',
- 'mini',
- 'minore',
- 'mirino',
- 'mirtillo',
- 'miscela',
- 'missiva',
- 'misto',
- 'misurare',
- 'mitezza',
- 'mitigare',
- 'mitra',
- 'mittente',
- 'mnemonico',
- 'modello',
- 'modifica',
- 'modulo',
- 'mogano',
- 'mogio',
- 'mole',
- 'molosso',
- 'monastero',
- 'monco',
- 'mondina',
- 'monetario',
- 'monile',
- 'monotono',
- 'monsone',
- 'montato',
- 'monviso',
- 'mora',
- 'mordere',
- 'morsicato',
- 'mostro',
- 'motivato',
- 'motosega',
- 'motto',
- 'movenza',
- 'movimento',
- 'mozzo',
- 'mucca',
- 'mucosa',
- 'muffa',
- 'mughetto',
- 'mugnaio',
- 'mulatto',
- 'mulinello',
- 'multiplo',
- 'mummia',
- 'munto',
- 'muovere',
- 'murale',
- 'musa',
- 'muscolo',
- 'musica',
- 'mutevole',
- 'muto',
- 'nababbo',
- 'nafta',
- 'nanometro',
- 'narciso',
- 'narice',
- 'narrato',
- 'nascere',
- 'nastrare',
- 'naturale',
- 'nautica',
- 'naviglio',
- 'nebulosa',
- 'necrosi',
- 'negativo',
- 'negozio',
- 'nemmeno',
- 'neofita',
- 'neretto',
- 'nervo',
- 'nessuno',
- 'nettuno',
- 'neutrale',
- 'neve',
- 'nevrotico',
- 'nicchia',
- 'ninfa',
- 'nitido',
- 'nobile',
- 'nocivo',
- 'nodo',
- 'nome',
- 'nomina',
- 'nordico',
- 'normale',
- 'norvegese',
- 'nostrano',
- 'notare',
- 'notizia',
- 'notturno',
- 'novella',
- 'nucleo',
- 'nulla',
- 'numero',
- 'nuovo',
- 'nutrire',
- 'nuvola',
- 'nuziale',
- 'oasi',
- 'obbedire',
- 'obbligo',
- 'obelisco',
- 'oblio',
- 'obolo',
- 'obsoleto',
- 'occasione',
- 'occhio',
- 'occidente',
- 'occorrere',
- 'occultare',
- 'ocra',
- 'oculato',
- 'odierno',
- 'odorare',
- 'offerta',
- 'offrire',
- 'offuscato',
- 'oggetto',
- 'oggi',
- 'ognuno',
- 'olandese',
- 'olfatto',
- 'oliato',
- 'oliva',
- 'ologramma',
- 'oltre',
- 'omaggio',
- 'ombelico',
- 'ombra',
- 'omega',
- 'omissione',
- 'ondoso',
- 'onere',
- 'onice',
- 'onnivoro',
- 'onorevole',
- 'onta',
- 'operato',
- 'opinione',
- 'opposto',
- 'oracolo',
- 'orafo',
- 'ordine',
- 'orecchino',
- 'orefice',
- 'orfano',
- 'organico',
- 'origine',
- 'orizzonte',
- 'orma',
- 'ormeggio',
- 'ornativo',
- 'orologio',
- 'orrendo',
- 'orribile',
- 'ortensia',
- 'ortica',
- 'orzata',
- 'orzo',
- 'osare',
- 'oscurare',
- 'osmosi',
- 'ospedale',
- 'ospite',
- 'ossa',
- 'ossidare',
- 'ostacolo',
- 'oste',
- 'otite',
- 'otre',
- 'ottagono',
- 'ottimo',
- 'ottobre',
- 'ovale',
- 'ovest',
- 'ovino',
- 'oviparo',
- 'ovocito',
- 'ovunque',
- 'ovviare',
- 'ozio',
- 'pacchetto',
- 'pace',
- 'pacifico',
- 'padella',
- 'padrone',
- 'paese',
- 'paga',
- 'pagina',
- 'palazzina',
- 'palesare',
- 'pallido',
- 'palo',
- 'palude',
- 'pandoro',
- 'pannello',
- 'paolo',
- 'paonazzo',
- 'paprica',
- 'parabola',
- 'parcella',
- 'parere',
- 'pargolo',
- 'pari',
- 'parlato',
- 'parola',
- 'partire',
- 'parvenza',
- 'parziale',
- 'passivo',
- 'pasticca',
- 'patacca',
- 'patologia',
- 'pattume',
- 'pavone',
- 'peccato',
- 'pedalare',
- 'pedonale',
- 'peggio',
- 'peloso',
- 'penare',
- 'pendice',
- 'penisola',
- 'pennuto',
- 'penombra',
- 'pensare',
- 'pentola',
- 'pepe',
- 'pepita',
- 'perbene',
- 'percorso',
- 'perdonato',
- 'perforare',
- 'pergamena',
- 'periodo',
- 'permesso',
- 'perno',
- 'perplesso',
- 'persuaso',
- 'pertugio',
- 'pervaso',
- 'pesatore',
- 'pesista',
- 'peso',
- 'pestifero',
- 'petalo',
- 'pettine',
- 'petulante',
- 'pezzo',
- 'piacere',
- 'pianta',
- 'piattino',
- 'piccino',
- 'picozza',
- 'piega',
- 'pietra',
- 'piffero',
- 'pigiama',
- 'pigolio',
- 'pigro',
- 'pila',
- 'pilifero',
- 'pillola',
- 'pilota',
- 'pimpante',
- 'pineta',
- 'pinna',
- 'pinolo',
- 'pioggia',
- 'piombo',
- 'piramide',
- 'piretico',
- 'pirite',
- 'pirolisi',
- 'pitone',
- 'pizzico',
- 'placebo',
- 'planare',
- 'plasma',
- 'platano',
- 'plenario',
- 'pochezza',
- 'poderoso',
- 'podismo',
- 'poesia',
- 'poggiare',
- 'polenta',
- 'poligono',
- 'pollice',
- 'polmonite',
- 'polpetta',
- 'polso',
- 'poltrona',
- 'polvere',
- 'pomice',
- 'pomodoro',
- 'ponte',
- 'popoloso',
- 'porfido',
- 'poroso',
- 'porpora',
- 'porre',
- 'portata',
- 'posa',
- 'positivo',
- 'possesso',
- 'postulato',
- 'potassio',
- 'potere',
- 'pranzo',
- 'prassi',
- 'pratica',
- 'precluso',
- 'predica',
- 'prefisso',
- 'pregiato',
- 'prelievo',
- 'premere',
- 'prenotare',
- 'preparato',
- 'presenza',
- 'pretesto',
- 'prevalso',
- 'prima',
- 'principe',
- 'privato',
- 'problema',
- 'procura',
- 'produrre',
- 'profumo',
- 'progetto',
- 'prolunga',
- 'promessa',
- 'pronome',
- 'proposta',
- 'proroga',
- 'proteso',
- 'prova',
- 'prudente',
- 'prugna',
- 'prurito',
- 'psiche',
- 'pubblico',
- 'pudica',
- 'pugilato',
- 'pugno',
- 'pulce',
- 'pulito',
- 'pulsante',
- 'puntare',
- 'pupazzo',
- 'pupilla',
- 'puro',
- 'quadro',
- 'qualcosa',
- 'quasi',
- 'querela',
- 'quota',
- 'raccolto',
- 'raddoppio',
- 'radicale',
- 'radunato',
- 'raffica',
- 'ragazzo',
- 'ragione',
- 'ragno',
- 'ramarro',
- 'ramingo',
- 'ramo',
- 'randagio',
- 'rantolare',
- 'rapato',
- 'rapina',
- 'rappreso',
- 'rasatura',
- 'raschiato',
- 'rasente',
- 'rassegna',
- 'rastrello',
- 'rata',
- 'ravveduto',
- 'reale',
- 'recepire',
- 'recinto',
- 'recluta',
- 'recondito',
- 'recupero',
- 'reddito',
- 'redimere',
- 'regalato',
- 'registro',
- 'regola',
- 'regresso',
- 'relazione',
- 'remare',
- 'remoto',
- 'renna',
- 'replica',
- 'reprimere',
- 'reputare',
- 'resa',
- 'residente',
- 'responso',
- 'restauro',
- 'rete',
- 'retina',
- 'retorica',
- 'rettifica',
- 'revocato',
- 'riassunto',
- 'ribadire',
- 'ribelle',
- 'ribrezzo',
- 'ricarica',
- 'ricco',
- 'ricevere',
- 'riciclato',
- 'ricordo',
- 'ricreduto',
- 'ridicolo',
- 'ridurre',
- 'rifasare',
- 'riflesso',
- 'riforma',
- 'rifugio',
- 'rigare',
- 'rigettato',
- 'righello',
- 'rilassato',
- 'rilevato',
- 'rimanere',
- 'rimbalzo',
- 'rimedio',
- 'rimorchio',
- 'rinascita',
- 'rincaro',
- 'rinforzo',
- 'rinnovo',
- 'rinomato',
- 'rinsavito',
- 'rintocco',
- 'rinuncia',
- 'rinvenire',
- 'riparato',
- 'ripetuto',
- 'ripieno',
- 'riportare',
- 'ripresa',
- 'ripulire',
- 'risata',
- 'rischio',
- 'riserva',
- 'risibile',
- 'riso',
- 'rispetto',
- 'ristoro',
- 'risultato',
- 'risvolto',
- 'ritardo',
- 'ritegno',
- 'ritmico',
- 'ritrovo',
- 'riunione',
- 'riva',
- 'riverso',
- 'rivincita',
- 'rivolto',
- 'rizoma',
- 'roba',
- 'robotico',
- 'robusto',
- 'roccia',
- 'roco',
- 'rodaggio',
- 'rodere',
- 'roditore',
- 'rogito',
- 'rollio',
- 'romantico',
- 'rompere',
- 'ronzio',
- 'rosolare',
- 'rospo',
- 'rotante',
- 'rotondo',
- 'rotula',
- 'rovescio',
- 'rubizzo',
- 'rubrica',
- 'ruga',
- 'rullino',
- 'rumine',
- 'rumoroso',
- 'ruolo',
- 'rupe',
- 'russare',
- 'rustico',
- 'sabato',
- 'sabbiare',
- 'sabotato',
- 'sagoma',
- 'salasso',
- 'saldatura',
- 'salgemma',
- 'salivare',
- 'salmone',
- 'salone',
- 'saltare',
- 'saluto',
- 'salvo',
- 'sapere',
- 'sapido',
- 'saporito',
- 'saraceno',
- 'sarcasmo',
- 'sarto',
- 'sassoso',
- 'satellite',
- 'satira',
- 'satollo',
- 'saturno',
- 'savana',
- 'savio',
- 'saziato',
- 'sbadiglio',
- 'sbalzo',
- 'sbancato',
- 'sbarra',
- 'sbattere',
- 'sbavare',
- 'sbendare',
- 'sbirciare',
- 'sbloccato',
- 'sbocciato',
- 'sbrinare',
- 'sbruffone',
- 'sbuffare',
- 'scabroso',
- 'scadenza',
- 'scala',
- 'scambiare',
- 'scandalo',
- 'scapola',
- 'scarso',
- 'scatenare',
- 'scavato',
- 'scelto',
- 'scenico',
- 'scettro',
- 'scheda',
- 'schiena',
- 'sciarpa',
- 'scienza',
- 'scindere',
- 'scippo',
- 'sciroppo',
- 'scivolo',
- 'sclerare',
- 'scodella',
- 'scolpito',
- 'scomparto',
- 'sconforto',
- 'scoprire',
- 'scorta',
- 'scossone',
- 'scozzese',
- 'scriba',
- 'scrollare',
- 'scrutinio',
- 'scuderia',
- 'scultore',
- 'scuola',
- 'scuro',
- 'scusare',
- 'sdebitare',
- 'sdoganare',
- 'seccatura',
- 'secondo',
- 'sedano',
- 'seggiola',
- 'segnalato',
- 'segregato',
- 'seguito',
- 'selciato',
- 'selettivo',
- 'sella',
- 'selvaggio',
- 'semaforo',
- 'sembrare',
- 'seme',
- 'seminato',
- 'sempre',
- 'senso',
- 'sentire',
- 'sepolto',
- 'sequenza',
- 'serata',
- 'serbato',
- 'sereno',
- 'serio',
- 'serpente',
- 'serraglio',
- 'servire',
- 'sestina',
- 'setola',
- 'settimana',
- 'sfacelo',
- 'sfaldare',
- 'sfamato',
- 'sfarzoso',
- 'sfaticato',
- 'sfera',
- 'sfida',
- 'sfilato',
- 'sfinge',
- 'sfocato',
- 'sfoderare',
- 'sfogo',
- 'sfoltire',
- 'sforzato',
- 'sfratto',
- 'sfruttato',
- 'sfuggito',
- 'sfumare',
- 'sfuso',
- 'sgabello',
- 'sgarbato',
- 'sgonfiare',
- 'sgorbio',
- 'sgrassato',
- 'sguardo',
- 'sibilo',
- 'siccome',
- 'sierra',
- 'sigla',
- 'signore',
- 'silenzio',
- 'sillaba',
- 'simbolo',
- 'simpatico',
- 'simulato',
- 'sinfonia',
- 'singolo',
- 'sinistro',
- 'sino',
- 'sintesi',
- 'sinusoide',
- 'sipario',
- 'sisma',
- 'sistole',
- 'situato',
- 'slitta',
- 'slogatura',
- 'sloveno',
- 'smarrito',
- 'smemorato',
- 'smentito',
- 'smeraldo',
- 'smilzo',
- 'smontare',
- 'smottato',
- 'smussato',
- 'snellire',
- 'snervato',
- 'snodo',
- 'sobbalzo',
- 'sobrio',
- 'soccorso',
- 'sociale',
- 'sodale',
- 'soffitto',
- 'sogno',
- 'soldato',
- 'solenne',
- 'solido',
- 'sollazzo',
- 'solo',
- 'solubile',
- 'solvente',
- 'somatico',
- 'somma',
- 'sonda',
- 'sonetto',
- 'sonnifero',
- 'sopire',
- 'soppeso',
- 'sopra',
- 'sorgere',
- 'sorpasso',
- 'sorriso',
- 'sorso',
- 'sorteggio',
- 'sorvolato',
- 'sospiro',
- 'sosta',
- 'sottile',
- 'spada',
- 'spalla',
- 'spargere',
- 'spatola',
- 'spavento',
- 'spazzola',
- 'specie',
- 'spedire',
- 'spegnere',
- 'spelatura',
- 'speranza',
- 'spessore',
- 'spettrale',
- 'spezzato',
- 'spia',
- 'spigoloso',
- 'spillato',
- 'spinoso',
- 'spirale',
- 'splendido',
- 'sportivo',
- 'sposo',
- 'spranga',
- 'sprecare',
- 'spronato',
- 'spruzzo',
- 'spuntino',
- 'squillo',
- 'sradicare',
- 'srotolato',
- 'stabile',
- 'stacco',
- 'staffa',
- 'stagnare',
- 'stampato',
- 'stantio',
- 'starnuto',
- 'stasera',
- 'statuto',
- 'stelo',
- 'steppa',
- 'sterzo',
- 'stiletto',
- 'stima',
- 'stirpe',
- 'stivale',
- 'stizzoso',
- 'stonato',
- 'storico',
- 'strappo',
- 'stregato',
- 'stridulo',
- 'strozzare',
- 'strutto',
- 'stuccare',
- 'stufo',
- 'stupendo',
- 'subentro',
- 'succoso',
- 'sudore',
- 'suggerito',
- 'sugo',
- 'sultano',
- 'suonare',
- 'superbo',
- 'supporto',
- 'surgelato',
- 'surrogato',
- 'sussurro',
- 'sutura',
- 'svagare',
- 'svedese',
- 'sveglio',
- 'svelare',
- 'svenuto',
- 'svezia',
- 'sviluppo',
- 'svista',
- 'svizzera',
- 'svolta',
- 'svuotare',
- 'tabacco',
- 'tabulato',
- 'tacciare',
- 'taciturno',
- 'tale',
- 'talismano',
- 'tampone',
- 'tannino',
- 'tara',
- 'tardivo',
- 'targato',
- 'tariffa',
- 'tarpare',
- 'tartaruga',
- 'tasto',
- 'tattico',
- 'taverna',
- 'tavolata',
- 'tazza',
- 'teca',
- 'tecnico',
- 'telefono',
- 'temerario',
- 'tempo',
- 'temuto',
- 'tendone',
- 'tenero',
- 'tensione',
- 'tentacolo',
- 'teorema',
- 'terme',
- 'terrazzo',
- 'terzetto',
- 'tesi',
- 'tesserato',
- 'testato',
- 'tetro',
- 'tettoia',
- 'tifare',
- 'tigella',
- 'timbro',
- 'tinto',
- 'tipico',
- 'tipografo',
- 'tiraggio',
- 'tiro',
- 'titanio',
- 'titolo',
- 'titubante',
- 'tizio',
- 'tizzone',
- 'toccare',
- 'tollerare',
- 'tolto',
- 'tombola',
- 'tomo',
- 'tonfo',
- 'tonsilla',
- 'topazio',
- 'topologia',
- 'toppa',
- 'torba',
- 'tornare',
- 'torrone',
- 'tortora',
- 'toscano',
- 'tossire',
- 'tostatura',
- 'totano',
- 'trabocco',
- 'trachea',
- 'trafila',
- 'tragedia',
- 'tralcio',
- 'tramonto',
- 'transito',
- 'trapano',
- 'trarre',
- 'trasloco',
- 'trattato',
- 'trave',
- 'treccia',
- 'tremolio',
- 'trespolo',
- 'tributo',
- 'tricheco',
- 'trifoglio',
- 'trillo',
- 'trincea',
- 'trio',
- 'tristezza',
- 'triturato',
- 'trivella',
- 'tromba',
- 'trono',
- 'troppo',
- 'trottola',
- 'trovare',
- 'truccato',
- 'tubatura',
- 'tuffato',
- 'tulipano',
- 'tumulto',
- 'tunisia',
- 'turbare',
- 'turchino',
- 'tuta',
- 'tutela',
- 'ubicato',
- 'uccello',
- 'uccisore',
- 'udire',
- 'uditivo',
- 'uffa',
- 'ufficio',
- 'uguale',
- 'ulisse',
- 'ultimato',
- 'umano',
- 'umile',
- 'umorismo',
- 'uncinetto',
- 'ungere',
- 'ungherese',
- 'unicorno',
- 'unificato',
- 'unisono',
- 'unitario',
- 'unte',
- 'uovo',
- 'upupa',
- 'uragano',
- 'urgenza',
- 'urlo',
- 'usanza',
- 'usato',
- 'uscito',
- 'usignolo',
- 'usuraio',
- 'utensile',
- 'utilizzo',
- 'utopia',
- 'vacante',
- 'vaccinato',
- 'vagabondo',
- 'vagliato',
- 'valanga',
- 'valgo',
- 'valico',
- 'valletta',
- 'valoroso',
- 'valutare',
- 'valvola',
- 'vampata',
- 'vangare',
- 'vanitoso',
- 'vano',
- 'vantaggio',
- 'vanvera',
- 'vapore',
- 'varano',
- 'varcato',
- 'variante',
- 'vasca',
- 'vedetta',
- 'vedova',
- 'veduto',
- 'vegetale',
- 'veicolo',
- 'velcro',
- 'velina',
- 'velluto',
- 'veloce',
- 'venato',
- 'vendemmia',
- 'vento',
- 'verace',
- 'verbale',
- 'vergogna',
- 'verifica',
- 'vero',
- 'verruca',
- 'verticale',
- 'vescica',
- 'vessillo',
- 'vestale',
- 'veterano',
- 'vetrina',
- 'vetusto',
- 'viandante',
- 'vibrante',
- 'vicenda',
- 'vichingo',
- 'vicinanza',
- 'vidimare',
- 'vigilia',
- 'vigneto',
- 'vigore',
- 'vile',
- 'villano',
- 'vimini',
- 'vincitore',
- 'viola',
- 'vipera',
- 'virgola',
- 'virologo',
- 'virulento',
- 'viscoso',
- 'visione',
- 'vispo',
- 'vissuto',
- 'visura',
- 'vita',
- 'vitello',
- 'vittima',
- 'vivanda',
- 'vivido',
- 'viziare',
- 'voce',
- 'voga',
- 'volatile',
- 'volere',
- 'volpe',
- 'voragine',
- 'vulcano',
- 'zampogna',
- 'zanna',
- 'zappato',
- 'zattera',
- 'zavorra',
- 'zefiro',
- 'zelante',
- 'zelo',
- 'zenzero',
- 'zerbino',
- 'zibetto',
- 'zinco',
- 'zircone',
- 'zitto',
- 'zolla',
- 'zotico',
- 'zucchero',
- 'zufolo',
- 'zulu',
- 'zuppa',
-];
diff --git a/src/wordlists/japanese.d.ts b/src/wordlists/japanese.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/japanese.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/japanese.js b/src/wordlists/japanese.js
deleted file mode 100644
index 6b8a369..0000000
--- a/src/wordlists/japanese.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- 'あいこくしん',
- 'あいさつ',
- 'あいだ',
- 'あおぞら',
- 'あかちゃん',
- 'あきる',
- 'あけがた',
- 'あける',
- 'あこがれる',
- 'あさい',
- 'あさひ',
- 'あしあと',
- 'あじわう',
- 'あずかる',
- 'あずき',
- 'あそぶ',
- 'あたえる',
- 'あたためる',
- 'あたりまえ',
- 'あたる',
- 'あつい',
- 'あつかう',
- 'あっしゅく',
- 'あつまり',
- 'あつめる',
- 'あてな',
- 'あてはまる',
- 'あひる',
- 'あぶら',
- 'あぶる',
- 'あふれる',
- 'あまい',
- 'あまど',
- 'あまやかす',
- 'あまり',
- 'あみもの',
- 'あめりか',
- 'あやまる',
- 'あゆむ',
- 'あらいぐま',
- 'あらし',
- 'あらすじ',
- 'あらためる',
- 'あらゆる',
- 'あらわす',
- 'ありがとう',
- 'あわせる',
- 'あわてる',
- 'あんい',
- 'あんがい',
- 'あんこ',
- 'あんぜん',
- 'あんてい',
- 'あんない',
- 'あんまり',
- 'いいだす',
- 'いおん',
- 'いがい',
- 'いがく',
- 'いきおい',
- 'いきなり',
- 'いきもの',
- 'いきる',
- 'いくじ',
- 'いくぶん',
- 'いけばな',
- 'いけん',
- 'いこう',
- 'いこく',
- 'いこつ',
- 'いさましい',
- 'いさん',
- 'いしき',
- 'いじゅう',
- 'いじょう',
- 'いじわる',
- 'いずみ',
- 'いずれ',
- 'いせい',
- 'いせえび',
- 'いせかい',
- 'いせき',
- 'いぜん',
- 'いそうろう',
- 'いそがしい',
- 'いだい',
- 'いだく',
- 'いたずら',
- 'いたみ',
- 'いたりあ',
- 'いちおう',
- 'いちじ',
- 'いちど',
- 'いちば',
- 'いちぶ',
- 'いちりゅう',
- 'いつか',
- 'いっしゅん',
- 'いっせい',
- 'いっそう',
- 'いったん',
- 'いっち',
- 'いってい',
- 'いっぽう',
- 'いてざ',
- 'いてん',
- 'いどう',
- 'いとこ',
- 'いない',
- 'いなか',
- 'いねむり',
- 'いのち',
- 'いのる',
- 'いはつ',
- 'いばる',
- 'いはん',
- 'いびき',
- 'いひん',
- 'いふく',
- 'いへん',
- 'いほう',
- 'いみん',
- 'いもうと',
- 'いもたれ',
- 'いもり',
- 'いやがる',
- 'いやす',
- 'いよかん',
- 'いよく',
- 'いらい',
- 'いらすと',
- 'いりぐち',
- 'いりょう',
- 'いれい',
- 'いれもの',
- 'いれる',
- 'いろえんぴつ',
- 'いわい',
- 'いわう',
- 'いわかん',
- 'いわば',
- 'いわゆる',
- 'いんげんまめ',
- 'いんさつ',
- 'いんしょう',
- 'いんよう',
- 'うえき',
- 'うえる',
- 'うおざ',
- 'うがい',
- 'うかぶ',
- 'うかべる',
- 'うきわ',
- 'うくらいな',
- 'うくれれ',
- 'うけたまわる',
- 'うけつけ',
- 'うけとる',
- 'うけもつ',
- 'うける',
- 'うごかす',
- 'うごく',
- 'うこん',
- 'うさぎ',
- 'うしなう',
- 'うしろがみ',
- 'うすい',
- 'うすぎ',
- 'うすぐらい',
- 'うすめる',
- 'うせつ',
- 'うちあわせ',
- 'うちがわ',
- 'うちき',
- 'うちゅう',
- 'うっかり',
- 'うつくしい',
- 'うったえる',
- 'うつる',
- 'うどん',
- 'うなぎ',
- 'うなじ',
- 'うなずく',
- 'うなる',
- 'うねる',
- 'うのう',
- 'うぶげ',
- 'うぶごえ',
- 'うまれる',
- 'うめる',
- 'うもう',
- 'うやまう',
- 'うよく',
- 'うらがえす',
- 'うらぐち',
- 'うらない',
- 'うりあげ',
- 'うりきれ',
- 'うるさい',
- 'うれしい',
- 'うれゆき',
- 'うれる',
- 'うろこ',
- 'うわき',
- 'うわさ',
- 'うんこう',
- 'うんちん',
- 'うんてん',
- 'うんどう',
- 'えいえん',
- 'えいが',
- 'えいきょう',
- 'えいご',
- 'えいせい',
- 'えいぶん',
- 'えいよう',
- 'えいわ',
- 'えおり',
- 'えがお',
- 'えがく',
- 'えきたい',
- 'えくせる',
- 'えしゃく',
- 'えすて',
- 'えつらん',
- 'えのぐ',
- 'えほうまき',
- 'えほん',
- 'えまき',
- 'えもじ',
- 'えもの',
- 'えらい',
- 'えらぶ',
- 'えりあ',
- 'えんえん',
- 'えんかい',
- 'えんぎ',
- 'えんげき',
- 'えんしゅう',
- 'えんぜつ',
- 'えんそく',
- 'えんちょう',
- 'えんとつ',
- 'おいかける',
- 'おいこす',
- 'おいしい',
- 'おいつく',
- 'おうえん',
- 'おうさま',
- 'おうじ',
- 'おうせつ',
- 'おうたい',
- 'おうふく',
- 'おうべい',
- 'おうよう',
- 'おえる',
- 'おおい',
- 'おおう',
- 'おおどおり',
- 'おおや',
- 'おおよそ',
- 'おかえり',
- 'おかず',
- 'おがむ',
- 'おかわり',
- 'おぎなう',
- 'おきる',
- 'おくさま',
- 'おくじょう',
- 'おくりがな',
- 'おくる',
- 'おくれる',
- 'おこす',
- 'おこなう',
- 'おこる',
- 'おさえる',
- 'おさない',
- 'おさめる',
- 'おしいれ',
- 'おしえる',
- 'おじぎ',
- 'おじさん',
- 'おしゃれ',
- 'おそらく',
- 'おそわる',
- 'おたがい',
- 'おたく',
- 'おだやか',
- 'おちつく',
- 'おっと',
- 'おつり',
- 'おでかけ',
- 'おとしもの',
- 'おとなしい',
- 'おどり',
- 'おどろかす',
- 'おばさん',
- 'おまいり',
- 'おめでとう',
- 'おもいで',
- 'おもう',
- 'おもたい',
- 'おもちゃ',
- 'おやつ',
- 'おやゆび',
- 'およぼす',
- 'おらんだ',
- 'おろす',
- 'おんがく',
- 'おんけい',
- 'おんしゃ',
- 'おんせん',
- 'おんだん',
- 'おんちゅう',
- 'おんどけい',
- 'かあつ',
- 'かいが',
- 'がいき',
- 'がいけん',
- 'がいこう',
- 'かいさつ',
- 'かいしゃ',
- 'かいすいよく',
- 'かいぜん',
- 'かいぞうど',
- 'かいつう',
- 'かいてん',
- 'かいとう',
- 'かいふく',
- 'がいへき',
- 'かいほう',
- 'かいよう',
- 'がいらい',
- 'かいわ',
- 'かえる',
- 'かおり',
- 'かかえる',
- 'かがく',
- 'かがし',
- 'かがみ',
- 'かくご',
- 'かくとく',
- 'かざる',
- 'がぞう',
- 'かたい',
- 'かたち',
- 'がちょう',
- 'がっきゅう',
- 'がっこう',
- 'がっさん',
- 'がっしょう',
- 'かなざわし',
- 'かのう',
- 'がはく',
- 'かぶか',
- 'かほう',
- 'かほご',
- 'かまう',
- 'かまぼこ',
- 'かめれおん',
- 'かゆい',
- 'かようび',
- 'からい',
- 'かるい',
- 'かろう',
- 'かわく',
- 'かわら',
- 'がんか',
- 'かんけい',
- 'かんこう',
- 'かんしゃ',
- 'かんそう',
- 'かんたん',
- 'かんち',
- 'がんばる',
- 'きあい',
- 'きあつ',
- 'きいろ',
- 'ぎいん',
- 'きうい',
- 'きうん',
- 'きえる',
- 'きおう',
- 'きおく',
- 'きおち',
- 'きおん',
- 'きかい',
- 'きかく',
- 'きかんしゃ',
- 'ききて',
- 'きくばり',
- 'きくらげ',
- 'きけんせい',
- 'きこう',
- 'きこえる',
- 'きこく',
- 'きさい',
- 'きさく',
- 'きさま',
- 'きさらぎ',
- 'ぎじかがく',
- 'ぎしき',
- 'ぎじたいけん',
- 'ぎじにってい',
- 'ぎじゅつしゃ',
- 'きすう',
- 'きせい',
- 'きせき',
- 'きせつ',
- 'きそう',
- 'きぞく',
- 'きぞん',
- 'きたえる',
- 'きちょう',
- 'きつえん',
- 'ぎっちり',
- 'きつつき',
- 'きつね',
- 'きてい',
- 'きどう',
- 'きどく',
- 'きない',
- 'きなが',
- 'きなこ',
- 'きぬごし',
- 'きねん',
- 'きのう',
- 'きのした',
- 'きはく',
- 'きびしい',
- 'きひん',
- 'きふく',
- 'きぶん',
- 'きぼう',
- 'きほん',
- 'きまる',
- 'きみつ',
- 'きむずかしい',
- 'きめる',
- 'きもだめし',
- 'きもち',
- 'きもの',
- 'きゃく',
- 'きやく',
- 'ぎゅうにく',
- 'きよう',
- 'きょうりゅう',
- 'きらい',
- 'きらく',
- 'きりん',
- 'きれい',
- 'きれつ',
- 'きろく',
- 'ぎろん',
- 'きわめる',
- 'ぎんいろ',
- 'きんかくじ',
- 'きんじょ',
- 'きんようび',
- 'ぐあい',
- 'くいず',
- 'くうかん',
- 'くうき',
- 'くうぐん',
- 'くうこう',
- 'ぐうせい',
- 'くうそう',
- 'ぐうたら',
- 'くうふく',
- 'くうぼ',
- 'くかん',
- 'くきょう',
- 'くげん',
- 'ぐこう',
- 'くさい',
- 'くさき',
- 'くさばな',
- 'くさる',
- 'くしゃみ',
- 'くしょう',
- 'くすのき',
- 'くすりゆび',
- 'くせげ',
- 'くせん',
- 'ぐたいてき',
- 'くださる',
- 'くたびれる',
- 'くちこみ',
- 'くちさき',
- 'くつした',
- 'ぐっすり',
- 'くつろぐ',
- 'くとうてん',
- 'くどく',
- 'くなん',
- 'くねくね',
- 'くのう',
- 'くふう',
- 'くみあわせ',
- 'くみたてる',
- 'くめる',
- 'くやくしょ',
- 'くらす',
- 'くらべる',
- 'くるま',
- 'くれる',
- 'くろう',
- 'くわしい',
- 'ぐんかん',
- 'ぐんしょく',
- 'ぐんたい',
- 'ぐんて',
- 'けあな',
- 'けいかく',
- 'けいけん',
- 'けいこ',
- 'けいさつ',
- 'げいじゅつ',
- 'けいたい',
- 'げいのうじん',
- 'けいれき',
- 'けいろ',
- 'けおとす',
- 'けおりもの',
- 'げきか',
- 'げきげん',
- 'げきだん',
- 'げきちん',
- 'げきとつ',
- 'げきは',
- 'げきやく',
- 'げこう',
- 'げこくじょう',
- 'げざい',
- 'けさき',
- 'げざん',
- 'けしき',
- 'けしごむ',
- 'けしょう',
- 'げすと',
- 'けたば',
- 'けちゃっぷ',
- 'けちらす',
- 'けつあつ',
- 'けつい',
- 'けつえき',
- 'けっこん',
- 'けつじょ',
- 'けっせき',
- 'けってい',
- 'けつまつ',
- 'げつようび',
- 'げつれい',
- 'けつろん',
- 'げどく',
- 'けとばす',
- 'けとる',
- 'けなげ',
- 'けなす',
- 'けなみ',
- 'けぬき',
- 'げねつ',
- 'けねん',
- 'けはい',
- 'げひん',
- 'けぶかい',
- 'げぼく',
- 'けまり',
- 'けみかる',
- 'けむし',
- 'けむり',
- 'けもの',
- 'けらい',
- 'けろけろ',
- 'けわしい',
- 'けんい',
- 'けんえつ',
- 'けんお',
- 'けんか',
- 'げんき',
- 'けんげん',
- 'けんこう',
- 'けんさく',
- 'けんしゅう',
- 'けんすう',
- 'げんそう',
- 'けんちく',
- 'けんてい',
- 'けんとう',
- 'けんない',
- 'けんにん',
- 'げんぶつ',
- 'けんま',
- 'けんみん',
- 'けんめい',
- 'けんらん',
- 'けんり',
- 'こあくま',
- 'こいぬ',
- 'こいびと',
- 'ごうい',
- 'こうえん',
- 'こうおん',
- 'こうかん',
- 'ごうきゅう',
- 'ごうけい',
- 'こうこう',
- 'こうさい',
- 'こうじ',
- 'こうすい',
- 'ごうせい',
- 'こうそく',
- 'こうたい',
- 'こうちゃ',
- 'こうつう',
- 'こうてい',
- 'こうどう',
- 'こうない',
- 'こうはい',
- 'ごうほう',
- 'ごうまん',
- 'こうもく',
- 'こうりつ',
- 'こえる',
- 'こおり',
- 'ごかい',
- 'ごがつ',
- 'ごかん',
- 'こくご',
- 'こくさい',
- 'こくとう',
- 'こくない',
- 'こくはく',
- 'こぐま',
- 'こけい',
- 'こける',
- 'ここのか',
- 'こころ',
- 'こさめ',
- 'こしつ',
- 'こすう',
- 'こせい',
- 'こせき',
- 'こぜん',
- 'こそだて',
- 'こたい',
- 'こたえる',
- 'こたつ',
- 'こちょう',
- 'こっか',
- 'こつこつ',
- 'こつばん',
- 'こつぶ',
- 'こてい',
- 'こてん',
- 'ことがら',
- 'ことし',
- 'ことば',
- 'ことり',
- 'こなごな',
- 'こねこね',
- 'このまま',
- 'このみ',
- 'このよ',
- 'ごはん',
- 'こひつじ',
- 'こふう',
- 'こふん',
- 'こぼれる',
- 'ごまあぶら',
- 'こまかい',
- 'ごますり',
- 'こまつな',
- 'こまる',
- 'こむぎこ',
- 'こもじ',
- 'こもち',
- 'こもの',
- 'こもん',
- 'こやく',
- 'こやま',
- 'こゆう',
- 'こゆび',
- 'こよい',
- 'こよう',
- 'こりる',
- 'これくしょん',
- 'ころっけ',
- 'こわもて',
- 'こわれる',
- 'こんいん',
- 'こんかい',
- 'こんき',
- 'こんしゅう',
- 'こんすい',
- 'こんだて',
- 'こんとん',
- 'こんなん',
- 'こんびに',
- 'こんぽん',
- 'こんまけ',
- 'こんや',
- 'こんれい',
- 'こんわく',
- 'ざいえき',
- 'さいかい',
- 'さいきん',
- 'ざいげん',
- 'ざいこ',
- 'さいしょ',
- 'さいせい',
- 'ざいたく',
- 'ざいちゅう',
- 'さいてき',
- 'ざいりょう',
- 'さうな',
- 'さかいし',
- 'さがす',
- 'さかな',
- 'さかみち',
- 'さがる',
- 'さぎょう',
- 'さくし',
- 'さくひん',
- 'さくら',
- 'さこく',
- 'さこつ',
- 'さずかる',
- 'ざせき',
- 'さたん',
- 'さつえい',
- 'ざつおん',
- 'ざっか',
- 'ざつがく',
- 'さっきょく',
- 'ざっし',
- 'さつじん',
- 'ざっそう',
- 'さつたば',
- 'さつまいも',
- 'さてい',
- 'さといも',
- 'さとう',
- 'さとおや',
- 'さとし',
- 'さとる',
- 'さのう',
- 'さばく',
- 'さびしい',
- 'さべつ',
- 'さほう',
- 'さほど',
- 'さます',
- 'さみしい',
- 'さみだれ',
- 'さむけ',
- 'さめる',
- 'さやえんどう',
- 'さゆう',
- 'さよう',
- 'さよく',
- 'さらだ',
- 'ざるそば',
- 'さわやか',
- 'さわる',
- 'さんいん',
- 'さんか',
- 'さんきゃく',
- 'さんこう',
- 'さんさい',
- 'ざんしょ',
- 'さんすう',
- 'さんせい',
- 'さんそ',
- 'さんち',
- 'さんま',
- 'さんみ',
- 'さんらん',
- 'しあい',
- 'しあげ',
- 'しあさって',
- 'しあわせ',
- 'しいく',
- 'しいん',
- 'しうち',
- 'しえい',
- 'しおけ',
- 'しかい',
- 'しかく',
- 'じかん',
- 'しごと',
- 'しすう',
- 'じだい',
- 'したうけ',
- 'したぎ',
- 'したて',
- 'したみ',
- 'しちょう',
- 'しちりん',
- 'しっかり',
- 'しつじ',
- 'しつもん',
- 'してい',
- 'してき',
- 'してつ',
- 'じてん',
- 'じどう',
- 'しなぎれ',
- 'しなもの',
- 'しなん',
- 'しねま',
- 'しねん',
- 'しのぐ',
- 'しのぶ',
- 'しはい',
- 'しばかり',
- 'しはつ',
- 'しはらい',
- 'しはん',
- 'しひょう',
- 'しふく',
- 'じぶん',
- 'しへい',
- 'しほう',
- 'しほん',
- 'しまう',
- 'しまる',
- 'しみん',
- 'しむける',
- 'じむしょ',
- 'しめい',
- 'しめる',
- 'しもん',
- 'しゃいん',
- 'しゃうん',
- 'しゃおん',
- 'じゃがいも',
- 'しやくしょ',
- 'しゃくほう',
- 'しゃけん',
- 'しゃこ',
- 'しゃざい',
- 'しゃしん',
- 'しゃせん',
- 'しゃそう',
- 'しゃたい',
- 'しゃちょう',
- 'しゃっきん',
- 'じゃま',
- 'しゃりん',
- 'しゃれい',
- 'じゆう',
- 'じゅうしょ',
- 'しゅくはく',
- 'じゅしん',
- 'しゅっせき',
- 'しゅみ',
- 'しゅらば',
- 'じゅんばん',
- 'しょうかい',
- 'しょくたく',
- 'しょっけん',
- 'しょどう',
- 'しょもつ',
- 'しらせる',
- 'しらべる',
- 'しんか',
- 'しんこう',
- 'じんじゃ',
- 'しんせいじ',
- 'しんちく',
- 'しんりん',
- 'すあげ',
- 'すあし',
- 'すあな',
- 'ずあん',
- 'すいえい',
- 'すいか',
- 'すいとう',
- 'ずいぶん',
- 'すいようび',
- 'すうがく',
- 'すうじつ',
- 'すうせん',
- 'すおどり',
- 'すきま',
- 'すくう',
- 'すくない',
- 'すける',
- 'すごい',
- 'すこし',
- 'ずさん',
- 'すずしい',
- 'すすむ',
- 'すすめる',
- 'すっかり',
- 'ずっしり',
- 'ずっと',
- 'すてき',
- 'すてる',
- 'すねる',
- 'すのこ',
- 'すはだ',
- 'すばらしい',
- 'ずひょう',
- 'ずぶぬれ',
- 'すぶり',
- 'すふれ',
- 'すべて',
- 'すべる',
- 'ずほう',
- 'すぼん',
- 'すまい',
- 'すめし',
- 'すもう',
- 'すやき',
- 'すらすら',
- 'するめ',
- 'すれちがう',
- 'すろっと',
- 'すわる',
- 'すんぜん',
- 'すんぽう',
- 'せあぶら',
- 'せいかつ',
- 'せいげん',
- 'せいじ',
- 'せいよう',
- 'せおう',
- 'せかいかん',
- 'せきにん',
- 'せきむ',
- 'せきゆ',
- 'せきらんうん',
- 'せけん',
- 'せこう',
- 'せすじ',
- 'せたい',
- 'せたけ',
- 'せっかく',
- 'せっきゃく',
- 'ぜっく',
- 'せっけん',
- 'せっこつ',
- 'せっさたくま',
- 'せつぞく',
- 'せつだん',
- 'せつでん',
- 'せっぱん',
- 'せつび',
- 'せつぶん',
- 'せつめい',
- 'せつりつ',
- 'せなか',
- 'せのび',
- 'せはば',
- 'せびろ',
- 'せぼね',
- 'せまい',
- 'せまる',
- 'せめる',
- 'せもたれ',
- 'せりふ',
- 'ぜんあく',
- 'せんい',
- 'せんえい',
- 'せんか',
- 'せんきょ',
- 'せんく',
- 'せんげん',
- 'ぜんご',
- 'せんさい',
- 'せんしゅ',
- 'せんすい',
- 'せんせい',
- 'せんぞ',
- 'せんたく',
- 'せんちょう',
- 'せんてい',
- 'せんとう',
- 'せんぬき',
- 'せんねん',
- 'せんぱい',
- 'ぜんぶ',
- 'ぜんぽう',
- 'せんむ',
- 'せんめんじょ',
- 'せんもん',
- 'せんやく',
- 'せんゆう',
- 'せんよう',
- 'ぜんら',
- 'ぜんりゃく',
- 'せんれい',
- 'せんろ',
- 'そあく',
- 'そいとげる',
- 'そいね',
- 'そうがんきょう',
- 'そうき',
- 'そうご',
- 'そうしん',
- 'そうだん',
- 'そうなん',
- 'そうび',
- 'そうめん',
- 'そうり',
- 'そえもの',
- 'そえん',
- 'そがい',
- 'そげき',
- 'そこう',
- 'そこそこ',
- 'そざい',
- 'そしな',
- 'そせい',
- 'そせん',
- 'そそぐ',
- 'そだてる',
- 'そつう',
- 'そつえん',
- 'そっかん',
- 'そつぎょう',
- 'そっけつ',
- 'そっこう',
- 'そっせん',
- 'そっと',
- 'そとがわ',
- 'そとづら',
- 'そなえる',
- 'そなた',
- 'そふぼ',
- 'そぼく',
- 'そぼろ',
- 'そまつ',
- 'そまる',
- 'そむく',
- 'そむりえ',
- 'そめる',
- 'そもそも',
- 'そよかぜ',
- 'そらまめ',
- 'そろう',
- 'そんかい',
- 'そんけい',
- 'そんざい',
- 'そんしつ',
- 'そんぞく',
- 'そんちょう',
- 'ぞんび',
- 'ぞんぶん',
- 'そんみん',
- 'たあい',
- 'たいいん',
- 'たいうん',
- 'たいえき',
- 'たいおう',
- 'だいがく',
- 'たいき',
- 'たいぐう',
- 'たいけん',
- 'たいこ',
- 'たいざい',
- 'だいじょうぶ',
- 'だいすき',
- 'たいせつ',
- 'たいそう',
- 'だいたい',
- 'たいちょう',
- 'たいてい',
- 'だいどころ',
- 'たいない',
- 'たいねつ',
- 'たいのう',
- 'たいはん',
- 'だいひょう',
- 'たいふう',
- 'たいへん',
- 'たいほ',
- 'たいまつばな',
- 'たいみんぐ',
- 'たいむ',
- 'たいめん',
- 'たいやき',
- 'たいよう',
- 'たいら',
- 'たいりょく',
- 'たいる',
- 'たいわん',
- 'たうえ',
- 'たえる',
- 'たおす',
- 'たおる',
- 'たおれる',
- 'たかい',
- 'たかね',
- 'たきび',
- 'たくさん',
- 'たこく',
- 'たこやき',
- 'たさい',
- 'たしざん',
- 'だじゃれ',
- 'たすける',
- 'たずさわる',
- 'たそがれ',
- 'たたかう',
- 'たたく',
- 'ただしい',
- 'たたみ',
- 'たちばな',
- 'だっかい',
- 'だっきゃく',
- 'だっこ',
- 'だっしゅつ',
- 'だったい',
- 'たてる',
- 'たとえる',
- 'たなばた',
- 'たにん',
- 'たぬき',
- 'たのしみ',
- 'たはつ',
- 'たぶん',
- 'たべる',
- 'たぼう',
- 'たまご',
- 'たまる',
- 'だむる',
- 'ためいき',
- 'ためす',
- 'ためる',
- 'たもつ',
- 'たやすい',
- 'たよる',
- 'たらす',
- 'たりきほんがん',
- 'たりょう',
- 'たりる',
- 'たると',
- 'たれる',
- 'たれんと',
- 'たろっと',
- 'たわむれる',
- 'だんあつ',
- 'たんい',
- 'たんおん',
- 'たんか',
- 'たんき',
- 'たんけん',
- 'たんご',
- 'たんさん',
- 'たんじょうび',
- 'だんせい',
- 'たんそく',
- 'たんたい',
- 'だんち',
- 'たんてい',
- 'たんとう',
- 'だんな',
- 'たんにん',
- 'だんねつ',
- 'たんのう',
- 'たんぴん',
- 'だんぼう',
- 'たんまつ',
- 'たんめい',
- 'だんれつ',
- 'だんろ',
- 'だんわ',
- 'ちあい',
- 'ちあん',
- 'ちいき',
- 'ちいさい',
- 'ちえん',
- 'ちかい',
- 'ちから',
- 'ちきゅう',
- 'ちきん',
- 'ちけいず',
- 'ちけん',
- 'ちこく',
- 'ちさい',
- 'ちしき',
- 'ちしりょう',
- 'ちせい',
- 'ちそう',
- 'ちたい',
- 'ちたん',
- 'ちちおや',
- 'ちつじょ',
- 'ちてき',
- 'ちてん',
- 'ちぬき',
- 'ちぬり',
- 'ちのう',
- 'ちひょう',
- 'ちへいせん',
- 'ちほう',
- 'ちまた',
- 'ちみつ',
- 'ちみどろ',
- 'ちめいど',
- 'ちゃんこなべ',
- 'ちゅうい',
- 'ちゆりょく',
- 'ちょうし',
- 'ちょさくけん',
- 'ちらし',
- 'ちらみ',
- 'ちりがみ',
- 'ちりょう',
- 'ちるど',
- 'ちわわ',
- 'ちんたい',
- 'ちんもく',
- 'ついか',
- 'ついたち',
- 'つうか',
- 'つうじょう',
- 'つうはん',
- 'つうわ',
- 'つかう',
- 'つかれる',
- 'つくね',
- 'つくる',
- 'つけね',
- 'つける',
- 'つごう',
- 'つたえる',
- 'つづく',
- 'つつじ',
- 'つつむ',
- 'つとめる',
- 'つながる',
- 'つなみ',
- 'つねづね',
- 'つのる',
- 'つぶす',
- 'つまらない',
- 'つまる',
- 'つみき',
- 'つめたい',
- 'つもり',
- 'つもる',
- 'つよい',
- 'つるぼ',
- 'つるみく',
- 'つわもの',
- 'つわり',
- 'てあし',
- 'てあて',
- 'てあみ',
- 'ていおん',
- 'ていか',
- 'ていき',
- 'ていけい',
- 'ていこく',
- 'ていさつ',
- 'ていし',
- 'ていせい',
- 'ていたい',
- 'ていど',
- 'ていねい',
- 'ていひょう',
- 'ていへん',
- 'ていぼう',
- 'てうち',
- 'ておくれ',
- 'てきとう',
- 'てくび',
- 'でこぼこ',
- 'てさぎょう',
- 'てさげ',
- 'てすり',
- 'てそう',
- 'てちがい',
- 'てちょう',
- 'てつがく',
- 'てつづき',
- 'でっぱ',
- 'てつぼう',
- 'てつや',
- 'でぬかえ',
- 'てぬき',
- 'てぬぐい',
- 'てのひら',
- 'てはい',
- 'てぶくろ',
- 'てふだ',
- 'てほどき',
- 'てほん',
- 'てまえ',
- 'てまきずし',
- 'てみじか',
- 'てみやげ',
- 'てらす',
- 'てれび',
- 'てわけ',
- 'てわたし',
- 'でんあつ',
- 'てんいん',
- 'てんかい',
- 'てんき',
- 'てんぐ',
- 'てんけん',
- 'てんごく',
- 'てんさい',
- 'てんし',
- 'てんすう',
- 'でんち',
- 'てんてき',
- 'てんとう',
- 'てんない',
- 'てんぷら',
- 'てんぼうだい',
- 'てんめつ',
- 'てんらんかい',
- 'でんりょく',
- 'でんわ',
- 'どあい',
- 'といれ',
- 'どうかん',
- 'とうきゅう',
- 'どうぐ',
- 'とうし',
- 'とうむぎ',
- 'とおい',
- 'とおか',
- 'とおく',
- 'とおす',
- 'とおる',
- 'とかい',
- 'とかす',
- 'ときおり',
- 'ときどき',
- 'とくい',
- 'とくしゅう',
- 'とくてん',
- 'とくに',
- 'とくべつ',
- 'とけい',
- 'とける',
- 'とこや',
- 'とさか',
- 'としょかん',
- 'とそう',
- 'とたん',
- 'とちゅう',
- 'とっきゅう',
- 'とっくん',
- 'とつぜん',
- 'とつにゅう',
- 'とどける',
- 'ととのえる',
- 'とない',
- 'となえる',
- 'となり',
- 'とのさま',
- 'とばす',
- 'どぶがわ',
- 'とほう',
- 'とまる',
- 'とめる',
- 'ともだち',
- 'ともる',
- 'どようび',
- 'とらえる',
- 'とんかつ',
- 'どんぶり',
- 'ないかく',
- 'ないこう',
- 'ないしょ',
- 'ないす',
- 'ないせん',
- 'ないそう',
- 'なおす',
- 'ながい',
- 'なくす',
- 'なげる',
- 'なこうど',
- 'なさけ',
- 'なたでここ',
- 'なっとう',
- 'なつやすみ',
- 'ななおし',
- 'なにごと',
- 'なにもの',
- 'なにわ',
- 'なのか',
- 'なふだ',
- 'なまいき',
- 'なまえ',
- 'なまみ',
- 'なみだ',
- 'なめらか',
- 'なめる',
- 'なやむ',
- 'ならう',
- 'ならび',
- 'ならぶ',
- 'なれる',
- 'なわとび',
- 'なわばり',
- 'にあう',
- 'にいがた',
- 'にうけ',
- 'におい',
- 'にかい',
- 'にがて',
- 'にきび',
- 'にくしみ',
- 'にくまん',
- 'にげる',
- 'にさんかたんそ',
- 'にしき',
- 'にせもの',
- 'にちじょう',
- 'にちようび',
- 'にっか',
- 'にっき',
- 'にっけい',
- 'にっこう',
- 'にっさん',
- 'にっしょく',
- 'にっすう',
- 'にっせき',
- 'にってい',
- 'になう',
- 'にほん',
- 'にまめ',
- 'にもつ',
- 'にやり',
- 'にゅういん',
- 'にりんしゃ',
- 'にわとり',
- 'にんい',
- 'にんか',
- 'にんき',
- 'にんげん',
- 'にんしき',
- 'にんずう',
- 'にんそう',
- 'にんたい',
- 'にんち',
- 'にんてい',
- 'にんにく',
- 'にんぷ',
- 'にんまり',
- 'にんむ',
- 'にんめい',
- 'にんよう',
- 'ぬいくぎ',
- 'ぬかす',
- 'ぬぐいとる',
- 'ぬぐう',
- 'ぬくもり',
- 'ぬすむ',
- 'ぬまえび',
- 'ぬめり',
- 'ぬらす',
- 'ぬんちゃく',
- 'ねあげ',
- 'ねいき',
- 'ねいる',
- 'ねいろ',
- 'ねぐせ',
- 'ねくたい',
- 'ねくら',
- 'ねこぜ',
- 'ねこむ',
- 'ねさげ',
- 'ねすごす',
- 'ねそべる',
- 'ねだん',
- 'ねつい',
- 'ねっしん',
- 'ねつぞう',
- 'ねったいぎょ',
- 'ねぶそく',
- 'ねふだ',
- 'ねぼう',
- 'ねほりはほり',
- 'ねまき',
- 'ねまわし',
- 'ねみみ',
- 'ねむい',
- 'ねむたい',
- 'ねもと',
- 'ねらう',
- 'ねわざ',
- 'ねんいり',
- 'ねんおし',
- 'ねんかん',
- 'ねんきん',
- 'ねんぐ',
- 'ねんざ',
- 'ねんし',
- 'ねんちゃく',
- 'ねんど',
- 'ねんぴ',
- 'ねんぶつ',
- 'ねんまつ',
- 'ねんりょう',
- 'ねんれい',
- 'のいず',
- 'のおづま',
- 'のがす',
- 'のきなみ',
- 'のこぎり',
- 'のこす',
- 'のこる',
- 'のせる',
- 'のぞく',
- 'のぞむ',
- 'のたまう',
- 'のちほど',
- 'のっく',
- 'のばす',
- 'のはら',
- 'のべる',
- 'のぼる',
- 'のみもの',
- 'のやま',
- 'のらいぬ',
- 'のらねこ',
- 'のりもの',
- 'のりゆき',
- 'のれん',
- 'のんき',
- 'ばあい',
- 'はあく',
- 'ばあさん',
- 'ばいか',
- 'ばいく',
- 'はいけん',
- 'はいご',
- 'はいしん',
- 'はいすい',
- 'はいせん',
- 'はいそう',
- 'はいち',
- 'ばいばい',
- 'はいれつ',
- 'はえる',
- 'はおる',
- 'はかい',
- 'ばかり',
- 'はかる',
- 'はくしゅ',
- 'はけん',
- 'はこぶ',
- 'はさみ',
- 'はさん',
- 'はしご',
- 'ばしょ',
- 'はしる',
- 'はせる',
- 'ぱそこん',
- 'はそん',
- 'はたん',
- 'はちみつ',
- 'はつおん',
- 'はっかく',
- 'はづき',
- 'はっきり',
- 'はっくつ',
- 'はっけん',
- 'はっこう',
- 'はっさん',
- 'はっしん',
- 'はったつ',
- 'はっちゅう',
- 'はってん',
- 'はっぴょう',
- 'はっぽう',
- 'はなす',
- 'はなび',
- 'はにかむ',
- 'はぶらし',
- 'はみがき',
- 'はむかう',
- 'はめつ',
- 'はやい',
- 'はやし',
- 'はらう',
- 'はろうぃん',
- 'はわい',
- 'はんい',
- 'はんえい',
- 'はんおん',
- 'はんかく',
- 'はんきょう',
- 'ばんぐみ',
- 'はんこ',
- 'はんしゃ',
- 'はんすう',
- 'はんだん',
- 'ぱんち',
- 'ぱんつ',
- 'はんてい',
- 'はんとし',
- 'はんのう',
- 'はんぱ',
- 'はんぶん',
- 'はんぺん',
- 'はんぼうき',
- 'はんめい',
- 'はんらん',
- 'はんろん',
- 'ひいき',
- 'ひうん',
- 'ひえる',
- 'ひかく',
- 'ひかり',
- 'ひかる',
- 'ひかん',
- 'ひくい',
- 'ひけつ',
- 'ひこうき',
- 'ひこく',
- 'ひさい',
- 'ひさしぶり',
- 'ひさん',
- 'びじゅつかん',
- 'ひしょ',
- 'ひそか',
- 'ひそむ',
- 'ひたむき',
- 'ひだり',
- 'ひたる',
- 'ひつぎ',
- 'ひっこし',
- 'ひっし',
- 'ひつじゅひん',
- 'ひっす',
- 'ひつぜん',
- 'ぴったり',
- 'ぴっちり',
- 'ひつよう',
- 'ひてい',
- 'ひとごみ',
- 'ひなまつり',
- 'ひなん',
- 'ひねる',
- 'ひはん',
- 'ひびく',
- 'ひひょう',
- 'ひほう',
- 'ひまわり',
- 'ひまん',
- 'ひみつ',
- 'ひめい',
- 'ひめじし',
- 'ひやけ',
- 'ひやす',
- 'ひよう',
- 'びょうき',
- 'ひらがな',
- 'ひらく',
- 'ひりつ',
- 'ひりょう',
- 'ひるま',
- 'ひるやすみ',
- 'ひれい',
- 'ひろい',
- 'ひろう',
- 'ひろき',
- 'ひろゆき',
- 'ひんかく',
- 'ひんけつ',
- 'ひんこん',
- 'ひんしゅ',
- 'ひんそう',
- 'ぴんち',
- 'ひんぱん',
- 'びんぼう',
- 'ふあん',
- 'ふいうち',
- 'ふうけい',
- 'ふうせん',
- 'ぷうたろう',
- 'ふうとう',
- 'ふうふ',
- 'ふえる',
- 'ふおん',
- 'ふかい',
- 'ふきん',
- 'ふくざつ',
- 'ふくぶくろ',
- 'ふこう',
- 'ふさい',
- 'ふしぎ',
- 'ふじみ',
- 'ふすま',
- 'ふせい',
- 'ふせぐ',
- 'ふそく',
- 'ぶたにく',
- 'ふたん',
- 'ふちょう',
- 'ふつう',
- 'ふつか',
- 'ふっかつ',
- 'ふっき',
- 'ふっこく',
- 'ぶどう',
- 'ふとる',
- 'ふとん',
- 'ふのう',
- 'ふはい',
- 'ふひょう',
- 'ふへん',
- 'ふまん',
- 'ふみん',
- 'ふめつ',
- 'ふめん',
- 'ふよう',
- 'ふりこ',
- 'ふりる',
- 'ふるい',
- 'ふんいき',
- 'ぶんがく',
- 'ぶんぐ',
- 'ふんしつ',
- 'ぶんせき',
- 'ふんそう',
- 'ぶんぽう',
- 'へいあん',
- 'へいおん',
- 'へいがい',
- 'へいき',
- 'へいげん',
- 'へいこう',
- 'へいさ',
- 'へいしゃ',
- 'へいせつ',
- 'へいそ',
- 'へいたく',
- 'へいてん',
- 'へいねつ',
- 'へいわ',
- 'へきが',
- 'へこむ',
- 'べにいろ',
- 'べにしょうが',
- 'へらす',
- 'へんかん',
- 'べんきょう',
- 'べんごし',
- 'へんさい',
- 'へんたい',
- 'べんり',
- 'ほあん',
- 'ほいく',
- 'ぼうぎょ',
- 'ほうこく',
- 'ほうそう',
- 'ほうほう',
- 'ほうもん',
- 'ほうりつ',
- 'ほえる',
- 'ほおん',
- 'ほかん',
- 'ほきょう',
- 'ぼきん',
- 'ほくろ',
- 'ほけつ',
- 'ほけん',
- 'ほこう',
- 'ほこる',
- 'ほしい',
- 'ほしつ',
- 'ほしゅ',
- 'ほしょう',
- 'ほせい',
- 'ほそい',
- 'ほそく',
- 'ほたて',
- 'ほたる',
- 'ぽちぶくろ',
- 'ほっきょく',
- 'ほっさ',
- 'ほったん',
- 'ほとんど',
- 'ほめる',
- 'ほんい',
- 'ほんき',
- 'ほんけ',
- 'ほんしつ',
- 'ほんやく',
- 'まいにち',
- 'まかい',
- 'まかせる',
- 'まがる',
- 'まける',
- 'まこと',
- 'まさつ',
- 'まじめ',
- 'ますく',
- 'まぜる',
- 'まつり',
- 'まとめ',
- 'まなぶ',
- 'まぬけ',
- 'まねく',
- 'まほう',
- 'まもる',
- 'まゆげ',
- 'まよう',
- 'まろやか',
- 'まわす',
- 'まわり',
- 'まわる',
- 'まんが',
- 'まんきつ',
- 'まんぞく',
- 'まんなか',
- 'みいら',
- 'みうち',
- 'みえる',
- 'みがく',
- 'みかた',
- 'みかん',
- 'みけん',
- 'みこん',
- 'みじかい',
- 'みすい',
- 'みすえる',
- 'みせる',
- 'みっか',
- 'みつかる',
- 'みつける',
- 'みてい',
- 'みとめる',
- 'みなと',
- 'みなみかさい',
- 'みねらる',
- 'みのう',
- 'みのがす',
- 'みほん',
- 'みもと',
- 'みやげ',
- 'みらい',
- 'みりょく',
- 'みわく',
- 'みんか',
- 'みんぞく',
- 'むいか',
- 'むえき',
- 'むえん',
- 'むかい',
- 'むかう',
- 'むかえ',
- 'むかし',
- 'むぎちゃ',
- 'むける',
- 'むげん',
- 'むさぼる',
- 'むしあつい',
- 'むしば',
- 'むじゅん',
- 'むしろ',
- 'むすう',
- 'むすこ',
- 'むすぶ',
- 'むすめ',
- 'むせる',
- 'むせん',
- 'むちゅう',
- 'むなしい',
- 'むのう',
- 'むやみ',
- 'むよう',
- 'むらさき',
- 'むりょう',
- 'むろん',
- 'めいあん',
- 'めいうん',
- 'めいえん',
- 'めいかく',
- 'めいきょく',
- 'めいさい',
- 'めいし',
- 'めいそう',
- 'めいぶつ',
- 'めいれい',
- 'めいわく',
- 'めぐまれる',
- 'めざす',
- 'めした',
- 'めずらしい',
- 'めだつ',
- 'めまい',
- 'めやす',
- 'めんきょ',
- 'めんせき',
- 'めんどう',
- 'もうしあげる',
- 'もうどうけん',
- 'もえる',
- 'もくし',
- 'もくてき',
- 'もくようび',
- 'もちろん',
- 'もどる',
- 'もらう',
- 'もんく',
- 'もんだい',
- 'やおや',
- 'やける',
- 'やさい',
- 'やさしい',
- 'やすい',
- 'やすたろう',
- 'やすみ',
- 'やせる',
- 'やそう',
- 'やたい',
- 'やちん',
- 'やっと',
- 'やっぱり',
- 'やぶる',
- 'やめる',
- 'ややこしい',
- 'やよい',
- 'やわらかい',
- 'ゆうき',
- 'ゆうびんきょく',
- 'ゆうべ',
- 'ゆうめい',
- 'ゆけつ',
- 'ゆしゅつ',
- 'ゆせん',
- 'ゆそう',
- 'ゆたか',
- 'ゆちゃく',
- 'ゆでる',
- 'ゆにゅう',
- 'ゆびわ',
- 'ゆらい',
- 'ゆれる',
- 'ようい',
- 'ようか',
- 'ようきゅう',
- 'ようじ',
- 'ようす',
- 'ようちえん',
- 'よかぜ',
- 'よかん',
- 'よきん',
- 'よくせい',
- 'よくぼう',
- 'よけい',
- 'よごれる',
- 'よさん',
- 'よしゅう',
- 'よそう',
- 'よそく',
- 'よっか',
- 'よてい',
- 'よどがわく',
- 'よねつ',
- 'よやく',
- 'よゆう',
- 'よろこぶ',
- 'よろしい',
- 'らいう',
- 'らくがき',
- 'らくご',
- 'らくさつ',
- 'らくだ',
- 'らしんばん',
- 'らせん',
- 'らぞく',
- 'らたい',
- 'らっか',
- 'られつ',
- 'りえき',
- 'りかい',
- 'りきさく',
- 'りきせつ',
- 'りくぐん',
- 'りくつ',
- 'りけん',
- 'りこう',
- 'りせい',
- 'りそう',
- 'りそく',
- 'りてん',
- 'りねん',
- 'りゆう',
- 'りゅうがく',
- 'りよう',
- 'りょうり',
- 'りょかん',
- 'りょくちゃ',
- 'りょこう',
- 'りりく',
- 'りれき',
- 'りろん',
- 'りんご',
- 'るいけい',
- 'るいさい',
- 'るいじ',
- 'るいせき',
- 'るすばん',
- 'るりがわら',
- 'れいかん',
- 'れいぎ',
- 'れいせい',
- 'れいぞうこ',
- 'れいとう',
- 'れいぼう',
- 'れきし',
- 'れきだい',
- 'れんあい',
- 'れんけい',
- 'れんこん',
- 'れんさい',
- 'れんしゅう',
- 'れんぞく',
- 'れんらく',
- 'ろうか',
- 'ろうご',
- 'ろうじん',
- 'ろうそく',
- 'ろくが',
- 'ろこつ',
- 'ろじうら',
- 'ろしゅつ',
- 'ろせん',
- 'ろてん',
- 'ろめん',
- 'ろれつ',
- 'ろんぎ',
- 'ろんぱ',
- 'ろんぶん',
- 'ろんり',
- 'わかす',
- 'わかめ',
- 'わかやま',
- 'わかれる',
- 'わしつ',
- 'わじまし',
- 'わすれもの',
- 'わらう',
- 'われる',
-];
diff --git a/src/wordlists/korean.d.ts b/src/wordlists/korean.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/korean.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/korean.js b/src/wordlists/korean.js
deleted file mode 100644
index 96f0374..0000000
--- a/src/wordlists/korean.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- '가격',
- '가끔',
- '가난',
- '가능',
- '가득',
- '가르침',
- '가뭄',
- '가방',
- '가상',
- '가슴',
- '가운데',
- '가을',
- '가이드',
- '가입',
- '가장',
- '가정',
- '가족',
- '가죽',
- '각오',
- '각자',
- '간격',
- '간부',
- '간섭',
- '간장',
- '간접',
- '간판',
- '갈등',
- '갈비',
- '갈색',
- '갈증',
- '감각',
- '감기',
- '감소',
- '감수성',
- '감자',
- '감정',
- '갑자기',
- '강남',
- '강당',
- '강도',
- '강력히',
- '강변',
- '강북',
- '강사',
- '강수량',
- '강아지',
- '강원도',
- '강의',
- '강제',
- '강조',
- '같이',
- '개구리',
- '개나리',
- '개방',
- '개별',
- '개선',
- '개성',
- '개인',
- '객관적',
- '거실',
- '거액',
- '거울',
- '거짓',
- '거품',
- '걱정',
- '건강',
- '건물',
- '건설',
- '건조',
- '건축',
- '걸음',
- '검사',
- '검토',
- '게시판',
- '게임',
- '겨울',
- '견해',
- '결과',
- '결국',
- '결론',
- '결석',
- '결승',
- '결심',
- '결정',
- '결혼',
- '경계',
- '경고',
- '경기',
- '경력',
- '경복궁',
- '경비',
- '경상도',
- '경영',
- '경우',
- '경쟁',
- '경제',
- '경주',
- '경찰',
- '경치',
- '경향',
- '경험',
- '계곡',
- '계단',
- '계란',
- '계산',
- '계속',
- '계약',
- '계절',
- '계층',
- '계획',
- '고객',
- '고구려',
- '고궁',
- '고급',
- '고등학생',
- '고무신',
- '고민',
- '고양이',
- '고장',
- '고전',
- '고집',
- '고춧가루',
- '고통',
- '고향',
- '곡식',
- '골목',
- '골짜기',
- '골프',
- '공간',
- '공개',
- '공격',
- '공군',
- '공급',
- '공기',
- '공동',
- '공무원',
- '공부',
- '공사',
- '공식',
- '공업',
- '공연',
- '공원',
- '공장',
- '공짜',
- '공책',
- '공통',
- '공포',
- '공항',
- '공휴일',
- '과목',
- '과일',
- '과장',
- '과정',
- '과학',
- '관객',
- '관계',
- '관광',
- '관념',
- '관람',
- '관련',
- '관리',
- '관습',
- '관심',
- '관점',
- '관찰',
- '광경',
- '광고',
- '광장',
- '광주',
- '괴로움',
- '굉장히',
- '교과서',
- '교문',
- '교복',
- '교실',
- '교양',
- '교육',
- '교장',
- '교직',
- '교통',
- '교환',
- '교훈',
- '구경',
- '구름',
- '구멍',
- '구별',
- '구분',
- '구석',
- '구성',
- '구속',
- '구역',
- '구입',
- '구청',
- '구체적',
- '국가',
- '국기',
- '국내',
- '국립',
- '국물',
- '국민',
- '국수',
- '국어',
- '국왕',
- '국적',
- '국제',
- '국회',
- '군대',
- '군사',
- '군인',
- '궁극적',
- '권리',
- '권위',
- '권투',
- '귀국',
- '귀신',
- '규정',
- '규칙',
- '균형',
- '그날',
- '그냥',
- '그늘',
- '그러나',
- '그룹',
- '그릇',
- '그림',
- '그제서야',
- '그토록',
- '극복',
- '극히',
- '근거',
- '근교',
- '근래',
- '근로',
- '근무',
- '근본',
- '근원',
- '근육',
- '근처',
- '글씨',
- '글자',
- '금강산',
- '금고',
- '금년',
- '금메달',
- '금액',
- '금연',
- '금요일',
- '금지',
- '긍정적',
- '기간',
- '기관',
- '기념',
- '기능',
- '기독교',
- '기둥',
- '기록',
- '기름',
- '기법',
- '기본',
- '기분',
- '기쁨',
- '기숙사',
- '기술',
- '기억',
- '기업',
- '기온',
- '기운',
- '기원',
- '기적',
- '기준',
- '기침',
- '기혼',
- '기획',
- '긴급',
- '긴장',
- '길이',
- '김밥',
- '김치',
- '김포공항',
- '깍두기',
- '깜빡',
- '깨달음',
- '깨소금',
- '껍질',
- '꼭대기',
- '꽃잎',
- '나들이',
- '나란히',
- '나머지',
- '나물',
- '나침반',
- '나흘',
- '낙엽',
- '난방',
- '날개',
- '날씨',
- '날짜',
- '남녀',
- '남대문',
- '남매',
- '남산',
- '남자',
- '남편',
- '남학생',
- '낭비',
- '낱말',
- '내년',
- '내용',
- '내일',
- '냄비',
- '냄새',
- '냇물',
- '냉동',
- '냉면',
- '냉방',
- '냉장고',
- '넥타이',
- '넷째',
- '노동',
- '노란색',
- '노력',
- '노인',
- '녹음',
- '녹차',
- '녹화',
- '논리',
- '논문',
- '논쟁',
- '놀이',
- '농구',
- '농담',
- '농민',
- '농부',
- '농업',
- '농장',
- '농촌',
- '높이',
- '눈동자',
- '눈물',
- '눈썹',
- '뉴욕',
- '느낌',
- '늑대',
- '능동적',
- '능력',
- '다방',
- '다양성',
- '다음',
- '다이어트',
- '다행',
- '단계',
- '단골',
- '단독',
- '단맛',
- '단순',
- '단어',
- '단위',
- '단점',
- '단체',
- '단추',
- '단편',
- '단풍',
- '달걀',
- '달러',
- '달력',
- '달리',
- '닭고기',
- '담당',
- '담배',
- '담요',
- '담임',
- '답변',
- '답장',
- '당근',
- '당분간',
- '당연히',
- '당장',
- '대규모',
- '대낮',
- '대단히',
- '대답',
- '대도시',
- '대략',
- '대량',
- '대륙',
- '대문',
- '대부분',
- '대신',
- '대응',
- '대장',
- '대전',
- '대접',
- '대중',
- '대책',
- '대출',
- '대충',
- '대통령',
- '대학',
- '대한민국',
- '대합실',
- '대형',
- '덩어리',
- '데이트',
- '도대체',
- '도덕',
- '도둑',
- '도망',
- '도서관',
- '도심',
- '도움',
- '도입',
- '도자기',
- '도저히',
- '도전',
- '도중',
- '도착',
- '독감',
- '독립',
- '독서',
- '독일',
- '독창적',
- '동화책',
- '뒷모습',
- '뒷산',
- '딸아이',
- '마누라',
- '마늘',
- '마당',
- '마라톤',
- '마련',
- '마무리',
- '마사지',
- '마약',
- '마요네즈',
- '마을',
- '마음',
- '마이크',
- '마중',
- '마지막',
- '마찬가지',
- '마찰',
- '마흔',
- '막걸리',
- '막내',
- '막상',
- '만남',
- '만두',
- '만세',
- '만약',
- '만일',
- '만점',
- '만족',
- '만화',
- '많이',
- '말기',
- '말씀',
- '말투',
- '맘대로',
- '망원경',
- '매년',
- '매달',
- '매력',
- '매번',
- '매스컴',
- '매일',
- '매장',
- '맥주',
- '먹이',
- '먼저',
- '먼지',
- '멀리',
- '메일',
- '며느리',
- '며칠',
- '면담',
- '멸치',
- '명단',
- '명령',
- '명예',
- '명의',
- '명절',
- '명칭',
- '명함',
- '모금',
- '모니터',
- '모델',
- '모든',
- '모범',
- '모습',
- '모양',
- '모임',
- '모조리',
- '모집',
- '모퉁이',
- '목걸이',
- '목록',
- '목사',
- '목소리',
- '목숨',
- '목적',
- '목표',
- '몰래',
- '몸매',
- '몸무게',
- '몸살',
- '몸속',
- '몸짓',
- '몸통',
- '몹시',
- '무관심',
- '무궁화',
- '무더위',
- '무덤',
- '무릎',
- '무슨',
- '무엇',
- '무역',
- '무용',
- '무조건',
- '무지개',
- '무척',
- '문구',
- '문득',
- '문법',
- '문서',
- '문제',
- '문학',
- '문화',
- '물가',
- '물건',
- '물결',
- '물고기',
- '물론',
- '물리학',
- '물음',
- '물질',
- '물체',
- '미국',
- '미디어',
- '미사일',
- '미술',
- '미역',
- '미용실',
- '미움',
- '미인',
- '미팅',
- '미혼',
- '민간',
- '민족',
- '민주',
- '믿음',
- '밀가루',
- '밀리미터',
- '밑바닥',
- '바가지',
- '바구니',
- '바나나',
- '바늘',
- '바닥',
- '바닷가',
- '바람',
- '바이러스',
- '바탕',
- '박물관',
- '박사',
- '박수',
- '반대',
- '반드시',
- '반말',
- '반발',
- '반성',
- '반응',
- '반장',
- '반죽',
- '반지',
- '반찬',
- '받침',
- '발가락',
- '발걸음',
- '발견',
- '발달',
- '발레',
- '발목',
- '발바닥',
- '발생',
- '발음',
- '발자국',
- '발전',
- '발톱',
- '발표',
- '밤하늘',
- '밥그릇',
- '밥맛',
- '밥상',
- '밥솥',
- '방금',
- '방면',
- '방문',
- '방바닥',
- '방법',
- '방송',
- '방식',
- '방안',
- '방울',
- '방지',
- '방학',
- '방해',
- '방향',
- '배경',
- '배꼽',
- '배달',
- '배드민턴',
- '백두산',
- '백색',
- '백성',
- '백인',
- '백제',
- '백화점',
- '버릇',
- '버섯',
- '버튼',
- '번개',
- '번역',
- '번지',
- '번호',
- '벌금',
- '벌레',
- '벌써',
- '범위',
- '범인',
- '범죄',
- '법률',
- '법원',
- '법적',
- '법칙',
- '베이징',
- '벨트',
- '변경',
- '변동',
- '변명',
- '변신',
- '변호사',
- '변화',
- '별도',
- '별명',
- '별일',
- '병실',
- '병아리',
- '병원',
- '보관',
- '보너스',
- '보라색',
- '보람',
- '보름',
- '보상',
- '보안',
- '보자기',
- '보장',
- '보전',
- '보존',
- '보통',
- '보편적',
- '보험',
- '복도',
- '복사',
- '복숭아',
- '복습',
- '볶음',
- '본격적',
- '본래',
- '본부',
- '본사',
- '본성',
- '본인',
- '본질',
- '볼펜',
- '봉사',
- '봉지',
- '봉투',
- '부근',
- '부끄러움',
- '부담',
- '부동산',
- '부문',
- '부분',
- '부산',
- '부상',
- '부엌',
- '부인',
- '부작용',
- '부장',
- '부정',
- '부족',
- '부지런히',
- '부친',
- '부탁',
- '부품',
- '부회장',
- '북부',
- '북한',
- '분노',
- '분량',
- '분리',
- '분명',
- '분석',
- '분야',
- '분위기',
- '분필',
- '분홍색',
- '불고기',
- '불과',
- '불교',
- '불꽃',
- '불만',
- '불법',
- '불빛',
- '불안',
- '불이익',
- '불행',
- '브랜드',
- '비극',
- '비난',
- '비닐',
- '비둘기',
- '비디오',
- '비로소',
- '비만',
- '비명',
- '비밀',
- '비바람',
- '비빔밥',
- '비상',
- '비용',
- '비율',
- '비중',
- '비타민',
- '비판',
- '빌딩',
- '빗물',
- '빗방울',
- '빗줄기',
- '빛깔',
- '빨간색',
- '빨래',
- '빨리',
- '사건',
- '사계절',
- '사나이',
- '사냥',
- '사람',
- '사랑',
- '사립',
- '사모님',
- '사물',
- '사방',
- '사상',
- '사생활',
- '사설',
- '사슴',
- '사실',
- '사업',
- '사용',
- '사월',
- '사장',
- '사전',
- '사진',
- '사촌',
- '사춘기',
- '사탕',
- '사투리',
- '사흘',
- '산길',
- '산부인과',
- '산업',
- '산책',
- '살림',
- '살인',
- '살짝',
- '삼계탕',
- '삼국',
- '삼십',
- '삼월',
- '삼촌',
- '상관',
- '상금',
- '상대',
- '상류',
- '상반기',
- '상상',
- '상식',
- '상업',
- '상인',
- '상자',
- '상점',
- '상처',
- '상추',
- '상태',
- '상표',
- '상품',
- '상황',
- '새벽',
- '색깔',
- '색연필',
- '생각',
- '생명',
- '생물',
- '생방송',
- '생산',
- '생선',
- '생신',
- '생일',
- '생활',
- '서랍',
- '서른',
- '서명',
- '서민',
- '서비스',
- '서양',
- '서울',
- '서적',
- '서점',
- '서쪽',
- '서클',
- '석사',
- '석유',
- '선거',
- '선물',
- '선배',
- '선생',
- '선수',
- '선원',
- '선장',
- '선전',
- '선택',
- '선풍기',
- '설거지',
- '설날',
- '설렁탕',
- '설명',
- '설문',
- '설사',
- '설악산',
- '설치',
- '설탕',
- '섭씨',
- '성공',
- '성당',
- '성명',
- '성별',
- '성인',
- '성장',
- '성적',
- '성질',
- '성함',
- '세금',
- '세미나',
- '세상',
- '세월',
- '세종대왕',
- '세탁',
- '센터',
- '센티미터',
- '셋째',
- '소규모',
- '소극적',
- '소금',
- '소나기',
- '소년',
- '소득',
- '소망',
- '소문',
- '소설',
- '소속',
- '소아과',
- '소용',
- '소원',
- '소음',
- '소중히',
- '소지품',
- '소질',
- '소풍',
- '소형',
- '속담',
- '속도',
- '속옷',
- '손가락',
- '손길',
- '손녀',
- '손님',
- '손등',
- '손목',
- '손뼉',
- '손실',
- '손질',
- '손톱',
- '손해',
- '솔직히',
- '솜씨',
- '송아지',
- '송이',
- '송편',
- '쇠고기',
- '쇼핑',
- '수건',
- '수년',
- '수단',
- '수돗물',
- '수동적',
- '수면',
- '수명',
- '수박',
- '수상',
- '수석',
- '수술',
- '수시로',
- '수업',
- '수염',
- '수영',
- '수입',
- '수준',
- '수집',
- '수출',
- '수컷',
- '수필',
- '수학',
- '수험생',
- '수화기',
- '숙녀',
- '숙소',
- '숙제',
- '순간',
- '순서',
- '순수',
- '순식간',
- '순위',
- '숟가락',
- '술병',
- '술집',
- '숫자',
- '스님',
- '스물',
- '스스로',
- '스승',
- '스웨터',
- '스위치',
- '스케이트',
- '스튜디오',
- '스트레스',
- '스포츠',
- '슬쩍',
- '슬픔',
- '습관',
- '습기',
- '승객',
- '승리',
- '승부',
- '승용차',
- '승진',
- '시각',
- '시간',
- '시골',
- '시금치',
- '시나리오',
- '시댁',
- '시리즈',
- '시멘트',
- '시민',
- '시부모',
- '시선',
- '시설',
- '시스템',
- '시아버지',
- '시어머니',
- '시월',
- '시인',
- '시일',
- '시작',
- '시장',
- '시절',
- '시점',
- '시중',
- '시즌',
- '시집',
- '시청',
- '시합',
- '시험',
- '식구',
- '식기',
- '식당',
- '식량',
- '식료품',
- '식물',
- '식빵',
- '식사',
- '식생활',
- '식초',
- '식탁',
- '식품',
- '신고',
- '신규',
- '신념',
- '신문',
- '신발',
- '신비',
- '신사',
- '신세',
- '신용',
- '신제품',
- '신청',
- '신체',
- '신화',
- '실감',
- '실내',
- '실력',
- '실례',
- '실망',
- '실수',
- '실습',
- '실시',
- '실장',
- '실정',
- '실질적',
- '실천',
- '실체',
- '실컷',
- '실태',
- '실패',
- '실험',
- '실현',
- '심리',
- '심부름',
- '심사',
- '심장',
- '심정',
- '심판',
- '쌍둥이',
- '씨름',
- '씨앗',
- '아가씨',
- '아나운서',
- '아드님',
- '아들',
- '아쉬움',
- '아스팔트',
- '아시아',
- '아울러',
- '아저씨',
- '아줌마',
- '아직',
- '아침',
- '아파트',
- '아프리카',
- '아픔',
- '아홉',
- '아흔',
- '악기',
- '악몽',
- '악수',
- '안개',
- '안경',
- '안과',
- '안내',
- '안녕',
- '안동',
- '안방',
- '안부',
- '안주',
- '알루미늄',
- '알코올',
- '암시',
- '암컷',
- '압력',
- '앞날',
- '앞문',
- '애인',
- '애정',
- '액수',
- '앨범',
- '야간',
- '야단',
- '야옹',
- '약간',
- '약국',
- '약속',
- '약수',
- '약점',
- '약품',
- '약혼녀',
- '양념',
- '양력',
- '양말',
- '양배추',
- '양주',
- '양파',
- '어둠',
- '어려움',
- '어른',
- '어젯밤',
- '어쨌든',
- '어쩌다가',
- '어쩐지',
- '언니',
- '언덕',
- '언론',
- '언어',
- '얼굴',
- '얼른',
- '얼음',
- '얼핏',
- '엄마',
- '업무',
- '업종',
- '업체',
- '엉덩이',
- '엉망',
- '엉터리',
- '엊그제',
- '에너지',
- '에어컨',
- '엔진',
- '여건',
- '여고생',
- '여관',
- '여군',
- '여권',
- '여대생',
- '여덟',
- '여동생',
- '여든',
- '여론',
- '여름',
- '여섯',
- '여성',
- '여왕',
- '여인',
- '여전히',
- '여직원',
- '여학생',
- '여행',
- '역사',
- '역시',
- '역할',
- '연결',
- '연구',
- '연극',
- '연기',
- '연락',
- '연설',
- '연세',
- '연속',
- '연습',
- '연애',
- '연예인',
- '연인',
- '연장',
- '연주',
- '연출',
- '연필',
- '연합',
- '연휴',
- '열기',
- '열매',
- '열쇠',
- '열심히',
- '열정',
- '열차',
- '열흘',
- '염려',
- '엽서',
- '영국',
- '영남',
- '영상',
- '영양',
- '영역',
- '영웅',
- '영원히',
- '영하',
- '영향',
- '영혼',
- '영화',
- '옆구리',
- '옆방',
- '옆집',
- '예감',
- '예금',
- '예방',
- '예산',
- '예상',
- '예선',
- '예술',
- '예습',
- '예식장',
- '예약',
- '예전',
- '예절',
- '예정',
- '예컨대',
- '옛날',
- '오늘',
- '오락',
- '오랫동안',
- '오렌지',
- '오로지',
- '오른발',
- '오븐',
- '오십',
- '오염',
- '오월',
- '오전',
- '오직',
- '오징어',
- '오페라',
- '오피스텔',
- '오히려',
- '옥상',
- '옥수수',
- '온갖',
- '온라인',
- '온몸',
- '온종일',
- '온통',
- '올가을',
- '올림픽',
- '올해',
- '옷차림',
- '와이셔츠',
- '와인',
- '완성',
- '완전',
- '왕비',
- '왕자',
- '왜냐하면',
- '왠지',
- '외갓집',
- '외국',
- '외로움',
- '외삼촌',
- '외출',
- '외침',
- '외할머니',
- '왼발',
- '왼손',
- '왼쪽',
- '요금',
- '요일',
- '요즘',
- '요청',
- '용기',
- '용서',
- '용어',
- '우산',
- '우선',
- '우승',
- '우연히',
- '우정',
- '우체국',
- '우편',
- '운동',
- '운명',
- '운반',
- '운전',
- '운행',
- '울산',
- '울음',
- '움직임',
- '웃어른',
- '웃음',
- '워낙',
- '원고',
- '원래',
- '원서',
- '원숭이',
- '원인',
- '원장',
- '원피스',
- '월급',
- '월드컵',
- '월세',
- '월요일',
- '웨이터',
- '위반',
- '위법',
- '위성',
- '위원',
- '위험',
- '위협',
- '윗사람',
- '유난히',
- '유럽',
- '유명',
- '유물',
- '유산',
- '유적',
- '유치원',
- '유학',
- '유행',
- '유형',
- '육군',
- '육상',
- '육십',
- '육체',
- '은행',
- '음력',
- '음료',
- '음반',
- '음성',
- '음식',
- '음악',
- '음주',
- '의견',
- '의논',
- '의문',
- '의복',
- '의식',
- '의심',
- '의외로',
- '의욕',
- '의원',
- '의학',
- '이것',
- '이곳',
- '이념',
- '이놈',
- '이달',
- '이대로',
- '이동',
- '이렇게',
- '이력서',
- '이론적',
- '이름',
- '이민',
- '이발소',
- '이별',
- '이불',
- '이빨',
- '이상',
- '이성',
- '이슬',
- '이야기',
- '이용',
- '이웃',
- '이월',
- '이윽고',
- '이익',
- '이전',
- '이중',
- '이튿날',
- '이틀',
- '이혼',
- '인간',
- '인격',
- '인공',
- '인구',
- '인근',
- '인기',
- '인도',
- '인류',
- '인물',
- '인생',
- '인쇄',
- '인연',
- '인원',
- '인재',
- '인종',
- '인천',
- '인체',
- '인터넷',
- '인하',
- '인형',
- '일곱',
- '일기',
- '일단',
- '일대',
- '일등',
- '일반',
- '일본',
- '일부',
- '일상',
- '일생',
- '일손',
- '일요일',
- '일월',
- '일정',
- '일종',
- '일주일',
- '일찍',
- '일체',
- '일치',
- '일행',
- '일회용',
- '임금',
- '임무',
- '입대',
- '입력',
- '입맛',
- '입사',
- '입술',
- '입시',
- '입원',
- '입장',
- '입학',
- '자가용',
- '자격',
- '자극',
- '자동',
- '자랑',
- '자부심',
- '자식',
- '자신',
- '자연',
- '자원',
- '자율',
- '자전거',
- '자정',
- '자존심',
- '자판',
- '작가',
- '작년',
- '작성',
- '작업',
- '작용',
- '작은딸',
- '작품',
- '잔디',
- '잔뜩',
- '잔치',
- '잘못',
- '잠깐',
- '잠수함',
- '잠시',
- '잠옷',
- '잠자리',
- '잡지',
- '장관',
- '장군',
- '장기간',
- '장래',
- '장례',
- '장르',
- '장마',
- '장면',
- '장모',
- '장미',
- '장비',
- '장사',
- '장소',
- '장식',
- '장애인',
- '장인',
- '장점',
- '장차',
- '장학금',
- '재능',
- '재빨리',
- '재산',
- '재생',
- '재작년',
- '재정',
- '재채기',
- '재판',
- '재학',
- '재활용',
- '저것',
- '저고리',
- '저곳',
- '저녁',
- '저런',
- '저렇게',
- '저번',
- '저울',
- '저절로',
- '저축',
- '적극',
- '적당히',
- '적성',
- '적용',
- '적응',
- '전개',
- '전공',
- '전기',
- '전달',
- '전라도',
- '전망',
- '전문',
- '전반',
- '전부',
- '전세',
- '전시',
- '전용',
- '전자',
- '전쟁',
- '전주',
- '전철',
- '전체',
- '전통',
- '전혀',
- '전후',
- '절대',
- '절망',
- '절반',
- '절약',
- '절차',
- '점검',
- '점수',
- '점심',
- '점원',
- '점점',
- '점차',
- '접근',
- '접시',
- '접촉',
- '젓가락',
- '정거장',
- '정도',
- '정류장',
- '정리',
- '정말',
- '정면',
- '정문',
- '정반대',
- '정보',
- '정부',
- '정비',
- '정상',
- '정성',
- '정오',
- '정원',
- '정장',
- '정지',
- '정치',
- '정확히',
- '제공',
- '제과점',
- '제대로',
- '제목',
- '제발',
- '제법',
- '제삿날',
- '제안',
- '제일',
- '제작',
- '제주도',
- '제출',
- '제품',
- '제한',
- '조각',
- '조건',
- '조금',
- '조깅',
- '조명',
- '조미료',
- '조상',
- '조선',
- '조용히',
- '조절',
- '조정',
- '조직',
- '존댓말',
- '존재',
- '졸업',
- '졸음',
- '종교',
- '종로',
- '종류',
- '종소리',
- '종업원',
- '종종',
- '종합',
- '좌석',
- '죄인',
- '주관적',
- '주름',
- '주말',
- '주머니',
- '주먹',
- '주문',
- '주민',
- '주방',
- '주변',
- '주식',
- '주인',
- '주일',
- '주장',
- '주전자',
- '주택',
- '준비',
- '줄거리',
- '줄기',
- '줄무늬',
- '중간',
- '중계방송',
- '중국',
- '중년',
- '중단',
- '중독',
- '중반',
- '중부',
- '중세',
- '중소기업',
- '중순',
- '중앙',
- '중요',
- '중학교',
- '즉석',
- '즉시',
- '즐거움',
- '증가',
- '증거',
- '증권',
- '증상',
- '증세',
- '지각',
- '지갑',
- '지경',
- '지극히',
- '지금',
- '지급',
- '지능',
- '지름길',
- '지리산',
- '지방',
- '지붕',
- '지식',
- '지역',
- '지우개',
- '지원',
- '지적',
- '지점',
- '지진',
- '지출',
- '직선',
- '직업',
- '직원',
- '직장',
- '진급',
- '진동',
- '진로',
- '진료',
- '진리',
- '진짜',
- '진찰',
- '진출',
- '진통',
- '진행',
- '질문',
- '질병',
- '질서',
- '짐작',
- '집단',
- '집안',
- '집중',
- '짜증',
- '찌꺼기',
- '차남',
- '차라리',
- '차량',
- '차림',
- '차별',
- '차선',
- '차츰',
- '착각',
- '찬물',
- '찬성',
- '참가',
- '참기름',
- '참새',
- '참석',
- '참여',
- '참외',
- '참조',
- '찻잔',
- '창가',
- '창고',
- '창구',
- '창문',
- '창밖',
- '창작',
- '창조',
- '채널',
- '채점',
- '책가방',
- '책방',
- '책상',
- '책임',
- '챔피언',
- '처벌',
- '처음',
- '천국',
- '천둥',
- '천장',
- '천재',
- '천천히',
- '철도',
- '철저히',
- '철학',
- '첫날',
- '첫째',
- '청년',
- '청바지',
- '청소',
- '청춘',
- '체계',
- '체력',
- '체온',
- '체육',
- '체중',
- '체험',
- '초등학생',
- '초반',
- '초밥',
- '초상화',
- '초순',
- '초여름',
- '초원',
- '초저녁',
- '초점',
- '초청',
- '초콜릿',
- '촛불',
- '총각',
- '총리',
- '총장',
- '촬영',
- '최근',
- '최상',
- '최선',
- '최신',
- '최악',
- '최종',
- '추석',
- '추억',
- '추진',
- '추천',
- '추측',
- '축구',
- '축소',
- '축제',
- '축하',
- '출근',
- '출발',
- '출산',
- '출신',
- '출연',
- '출입',
- '출장',
- '출판',
- '충격',
- '충고',
- '충돌',
- '충분히',
- '충청도',
- '취업',
- '취직',
- '취향',
- '치약',
- '친구',
- '친척',
- '칠십',
- '칠월',
- '칠판',
- '침대',
- '침묵',
- '침실',
- '칫솔',
- '칭찬',
- '카메라',
- '카운터',
- '칼국수',
- '캐릭터',
- '캠퍼스',
- '캠페인',
- '커튼',
- '컨디션',
- '컬러',
- '컴퓨터',
- '코끼리',
- '코미디',
- '콘서트',
- '콜라',
- '콤플렉스',
- '콩나물',
- '쾌감',
- '쿠데타',
- '크림',
- '큰길',
- '큰딸',
- '큰소리',
- '큰아들',
- '큰어머니',
- '큰일',
- '큰절',
- '클래식',
- '클럽',
- '킬로',
- '타입',
- '타자기',
- '탁구',
- '탁자',
- '탄생',
- '태권도',
- '태양',
- '태풍',
- '택시',
- '탤런트',
- '터널',
- '터미널',
- '테니스',
- '테스트',
- '테이블',
- '텔레비전',
- '토론',
- '토마토',
- '토요일',
- '통계',
- '통과',
- '통로',
- '통신',
- '통역',
- '통일',
- '통장',
- '통제',
- '통증',
- '통합',
- '통화',
- '퇴근',
- '퇴원',
- '퇴직금',
- '튀김',
- '트럭',
- '특급',
- '특별',
- '특성',
- '특수',
- '특징',
- '특히',
- '튼튼히',
- '티셔츠',
- '파란색',
- '파일',
- '파출소',
- '판결',
- '판단',
- '판매',
- '판사',
- '팔십',
- '팔월',
- '팝송',
- '패션',
- '팩스',
- '팩시밀리',
- '팬티',
- '퍼센트',
- '페인트',
- '편견',
- '편의',
- '편지',
- '편히',
- '평가',
- '평균',
- '평생',
- '평소',
- '평양',
- '평일',
- '평화',
- '포스터',
- '포인트',
- '포장',
- '포함',
- '표면',
- '표정',
- '표준',
- '표현',
- '품목',
- '품질',
- '풍경',
- '풍속',
- '풍습',
- '프랑스',
- '프린터',
- '플라스틱',
- '피곤',
- '피망',
- '피아노',
- '필름',
- '필수',
- '필요',
- '필자',
- '필통',
- '핑계',
- '하느님',
- '하늘',
- '하드웨어',
- '하룻밤',
- '하반기',
- '하숙집',
- '하순',
- '하여튼',
- '하지만',
- '하천',
- '하품',
- '하필',
- '학과',
- '학교',
- '학급',
- '학기',
- '학년',
- '학력',
- '학번',
- '학부모',
- '학비',
- '학생',
- '학술',
- '학습',
- '학용품',
- '학원',
- '학위',
- '학자',
- '학점',
- '한계',
- '한글',
- '한꺼번에',
- '한낮',
- '한눈',
- '한동안',
- '한때',
- '한라산',
- '한마디',
- '한문',
- '한번',
- '한복',
- '한식',
- '한여름',
- '한쪽',
- '할머니',
- '할아버지',
- '할인',
- '함께',
- '함부로',
- '합격',
- '합리적',
- '항공',
- '항구',
- '항상',
- '항의',
- '해결',
- '해군',
- '해답',
- '해당',
- '해물',
- '해석',
- '해설',
- '해수욕장',
- '해안',
- '핵심',
- '핸드백',
- '햄버거',
- '햇볕',
- '햇살',
- '행동',
- '행복',
- '행사',
- '행운',
- '행위',
- '향기',
- '향상',
- '향수',
- '허락',
- '허용',
- '헬기',
- '현관',
- '현금',
- '현대',
- '현상',
- '현실',
- '현장',
- '현재',
- '현지',
- '혈액',
- '협력',
- '형부',
- '형사',
- '형수',
- '형식',
- '형제',
- '형태',
- '형편',
- '혜택',
- '호기심',
- '호남',
- '호랑이',
- '호박',
- '호텔',
- '호흡',
- '혹시',
- '홀로',
- '홈페이지',
- '홍보',
- '홍수',
- '홍차',
- '화면',
- '화분',
- '화살',
- '화요일',
- '화장',
- '화학',
- '확보',
- '확인',
- '확장',
- '확정',
- '환갑',
- '환경',
- '환영',
- '환율',
- '환자',
- '활기',
- '활동',
- '활발히',
- '활용',
- '활짝',
- '회견',
- '회관',
- '회복',
- '회색',
- '회원',
- '회장',
- '회전',
- '횟수',
- '횡단보도',
- '효율적',
- '후반',
- '후춧가루',
- '훈련',
- '훨씬',
- '휴식',
- '휴일',
- '흉내',
- '흐름',
- '흑백',
- '흑인',
- '흔적',
- '흔히',
- '흥미',
- '흥분',
- '희곡',
- '희망',
- '희생',
- '흰색',
- '힘껏',
-];
diff --git a/src/wordlists/portuguese.d.ts b/src/wordlists/portuguese.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/portuguese.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/portuguese.js b/src/wordlists/portuguese.js
deleted file mode 100644
index 71c3b85..0000000
--- a/src/wordlists/portuguese.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- 'abacate',
- 'abaixo',
- 'abalar',
- 'abater',
- 'abduzir',
- 'abelha',
- 'aberto',
- 'abismo',
- 'abotoar',
- 'abranger',
- 'abreviar',
- 'abrigar',
- 'abrupto',
- 'absinto',
- 'absoluto',
- 'absurdo',
- 'abutre',
- 'acabado',
- 'acalmar',
- 'acampar',
- 'acanhar',
- 'acaso',
- 'aceitar',
- 'acelerar',
- 'acenar',
- 'acervo',
- 'acessar',
- 'acetona',
- 'achatar',
- 'acidez',
- 'acima',
- 'acionado',
- 'acirrar',
- 'aclamar',
- 'aclive',
- 'acolhida',
- 'acomodar',
- 'acoplar',
- 'acordar',
- 'acumular',
- 'acusador',
- 'adaptar',
- 'adega',
- 'adentro',
- 'adepto',
- 'adequar',
- 'aderente',
- 'adesivo',
- 'adeus',
- 'adiante',
- 'aditivo',
- 'adjetivo',
- 'adjunto',
- 'admirar',
- 'adorar',
- 'adquirir',
- 'adubo',
- 'adverso',
- 'advogado',
- 'aeronave',
- 'afastar',
- 'aferir',
- 'afetivo',
- 'afinador',
- 'afivelar',
- 'aflito',
- 'afluente',
- 'afrontar',
- 'agachar',
- 'agarrar',
- 'agasalho',
- 'agenciar',
- 'agilizar',
- 'agiota',
- 'agitado',
- 'agora',
- 'agradar',
- 'agreste',
- 'agrupar',
- 'aguardar',
- 'agulha',
- 'ajoelhar',
- 'ajudar',
- 'ajustar',
- 'alameda',
- 'alarme',
- 'alastrar',
- 'alavanca',
- 'albergue',
- 'albino',
- 'alcatra',
- 'aldeia',
- 'alecrim',
- 'alegria',
- 'alertar',
- 'alface',
- 'alfinete',
- 'algum',
- 'alheio',
- 'aliar',
- 'alicate',
- 'alienar',
- 'alinhar',
- 'aliviar',
- 'almofada',
- 'alocar',
- 'alpiste',
- 'alterar',
- 'altitude',
- 'alucinar',
- 'alugar',
- 'aluno',
- 'alusivo',
- 'alvo',
- 'amaciar',
- 'amador',
- 'amarelo',
- 'amassar',
- 'ambas',
- 'ambiente',
- 'ameixa',
- 'amenizar',
- 'amido',
- 'amistoso',
- 'amizade',
- 'amolador',
- 'amontoar',
- 'amoroso',
- 'amostra',
- 'amparar',
- 'ampliar',
- 'ampola',
- 'anagrama',
- 'analisar',
- 'anarquia',
- 'anatomia',
- 'andaime',
- 'anel',
- 'anexo',
- 'angular',
- 'animar',
- 'anjo',
- 'anomalia',
- 'anotado',
- 'ansioso',
- 'anterior',
- 'anuidade',
- 'anunciar',
- 'anzol',
- 'apagador',
- 'apalpar',
- 'apanhado',
- 'apego',
- 'apelido',
- 'apertada',
- 'apesar',
- 'apetite',
- 'apito',
- 'aplauso',
- 'aplicada',
- 'apoio',
- 'apontar',
- 'aposta',
- 'aprendiz',
- 'aprovar',
- 'aquecer',
- 'arame',
- 'aranha',
- 'arara',
- 'arcada',
- 'ardente',
- 'areia',
- 'arejar',
- 'arenito',
- 'aresta',
- 'argiloso',
- 'argola',
- 'arma',
- 'arquivo',
- 'arraial',
- 'arrebate',
- 'arriscar',
- 'arroba',
- 'arrumar',
- 'arsenal',
- 'arterial',
- 'artigo',
- 'arvoredo',
- 'asfaltar',
- 'asilado',
- 'aspirar',
- 'assador',
- 'assinar',
- 'assoalho',
- 'assunto',
- 'astral',
- 'atacado',
- 'atadura',
- 'atalho',
- 'atarefar',
- 'atear',
- 'atender',
- 'aterro',
- 'ateu',
- 'atingir',
- 'atirador',
- 'ativo',
- 'atoleiro',
- 'atracar',
- 'atrevido',
- 'atriz',
- 'atual',
- 'atum',
- 'auditor',
- 'aumentar',
- 'aura',
- 'aurora',
- 'autismo',
- 'autoria',
- 'autuar',
- 'avaliar',
- 'avante',
- 'avaria',
- 'avental',
- 'avesso',
- 'aviador',
- 'avisar',
- 'avulso',
- 'axila',
- 'azarar',
- 'azedo',
- 'azeite',
- 'azulejo',
- 'babar',
- 'babosa',
- 'bacalhau',
- 'bacharel',
- 'bacia',
- 'bagagem',
- 'baiano',
- 'bailar',
- 'baioneta',
- 'bairro',
- 'baixista',
- 'bajular',
- 'baleia',
- 'baliza',
- 'balsa',
- 'banal',
- 'bandeira',
- 'banho',
- 'banir',
- 'banquete',
- 'barato',
- 'barbado',
- 'baronesa',
- 'barraca',
- 'barulho',
- 'baseado',
- 'bastante',
- 'batata',
- 'batedor',
- 'batida',
- 'batom',
- 'batucar',
- 'baunilha',
- 'beber',
- 'beijo',
- 'beirada',
- 'beisebol',
- 'beldade',
- 'beleza',
- 'belga',
- 'beliscar',
- 'bendito',
- 'bengala',
- 'benzer',
- 'berimbau',
- 'berlinda',
- 'berro',
- 'besouro',
- 'bexiga',
- 'bezerro',
- 'bico',
- 'bicudo',
- 'bienal',
- 'bifocal',
- 'bifurcar',
- 'bigorna',
- 'bilhete',
- 'bimestre',
- 'bimotor',
- 'biologia',
- 'biombo',
- 'biosfera',
- 'bipolar',
- 'birrento',
- 'biscoito',
- 'bisneto',
- 'bispo',
- 'bissexto',
- 'bitola',
- 'bizarro',
- 'blindado',
- 'bloco',
- 'bloquear',
- 'boato',
- 'bobagem',
- 'bocado',
- 'bocejo',
- 'bochecha',
- 'boicotar',
- 'bolada',
- 'boletim',
- 'bolha',
- 'bolo',
- 'bombeiro',
- 'bonde',
- 'boneco',
- 'bonita',
- 'borbulha',
- 'borda',
- 'boreal',
- 'borracha',
- 'bovino',
- 'boxeador',
- 'branco',
- 'brasa',
- 'braveza',
- 'breu',
- 'briga',
- 'brilho',
- 'brincar',
- 'broa',
- 'brochura',
- 'bronzear',
- 'broto',
- 'bruxo',
- 'bucha',
- 'budismo',
- 'bufar',
- 'bule',
- 'buraco',
- 'busca',
- 'busto',
- 'buzina',
- 'cabana',
- 'cabelo',
- 'cabide',
- 'cabo',
- 'cabrito',
- 'cacau',
- 'cacetada',
- 'cachorro',
- 'cacique',
- 'cadastro',
- 'cadeado',
- 'cafezal',
- 'caiaque',
- 'caipira',
- 'caixote',
- 'cajado',
- 'caju',
- 'calafrio',
- 'calcular',
- 'caldeira',
- 'calibrar',
- 'calmante',
- 'calota',
- 'camada',
- 'cambista',
- 'camisa',
- 'camomila',
- 'campanha',
- 'camuflar',
- 'canavial',
- 'cancelar',
- 'caneta',
- 'canguru',
- 'canhoto',
- 'canivete',
- 'canoa',
- 'cansado',
- 'cantar',
- 'canudo',
- 'capacho',
- 'capela',
- 'capinar',
- 'capotar',
- 'capricho',
- 'captador',
- 'capuz',
- 'caracol',
- 'carbono',
- 'cardeal',
- 'careca',
- 'carimbar',
- 'carneiro',
- 'carpete',
- 'carreira',
- 'cartaz',
- 'carvalho',
- 'casaco',
- 'casca',
- 'casebre',
- 'castelo',
- 'casulo',
- 'catarata',
- 'cativar',
- 'caule',
- 'causador',
- 'cautelar',
- 'cavalo',
- 'caverna',
- 'cebola',
- 'cedilha',
- 'cegonha',
- 'celebrar',
- 'celular',
- 'cenoura',
- 'censo',
- 'centeio',
- 'cercar',
- 'cerrado',
- 'certeiro',
- 'cerveja',
- 'cetim',
- 'cevada',
- 'chacota',
- 'chaleira',
- 'chamado',
- 'chapada',
- 'charme',
- 'chatice',
- 'chave',
- 'chefe',
- 'chegada',
- 'cheiro',
- 'cheque',
- 'chicote',
- 'chifre',
- 'chinelo',
- 'chocalho',
- 'chover',
- 'chumbo',
- 'chutar',
- 'chuva',
- 'cicatriz',
- 'ciclone',
- 'cidade',
- 'cidreira',
- 'ciente',
- 'cigana',
- 'cimento',
- 'cinto',
- 'cinza',
- 'ciranda',
- 'circuito',
- 'cirurgia',
- 'citar',
- 'clareza',
- 'clero',
- 'clicar',
- 'clone',
- 'clube',
- 'coado',
- 'coagir',
- 'cobaia',
- 'cobertor',
- 'cobrar',
- 'cocada',
- 'coelho',
- 'coentro',
- 'coeso',
- 'cogumelo',
- 'coibir',
- 'coifa',
- 'coiote',
- 'colar',
- 'coleira',
- 'colher',
- 'colidir',
- 'colmeia',
- 'colono',
- 'coluna',
- 'comando',
- 'combinar',
- 'comentar',
- 'comitiva',
- 'comover',
- 'complexo',
- 'comum',
- 'concha',
- 'condor',
- 'conectar',
- 'confuso',
- 'congelar',
- 'conhecer',
- 'conjugar',
- 'consumir',
- 'contrato',
- 'convite',
- 'cooperar',
- 'copeiro',
- 'copiador',
- 'copo',
- 'coquetel',
- 'coragem',
- 'cordial',
- 'corneta',
- 'coronha',
- 'corporal',
- 'correio',
- 'cortejo',
- 'coruja',
- 'corvo',
- 'cosseno',
- 'costela',
- 'cotonete',
- 'couro',
- 'couve',
- 'covil',
- 'cozinha',
- 'cratera',
- 'cravo',
- 'creche',
- 'credor',
- 'creme',
- 'crer',
- 'crespo',
- 'criada',
- 'criminal',
- 'crioulo',
- 'crise',
- 'criticar',
- 'crosta',
- 'crua',
- 'cruzeiro',
- 'cubano',
- 'cueca',
- 'cuidado',
- 'cujo',
- 'culatra',
- 'culminar',
- 'culpar',
- 'cultura',
- 'cumprir',
- 'cunhado',
- 'cupido',
- 'curativo',
- 'curral',
- 'cursar',
- 'curto',
- 'cuspir',
- 'custear',
- 'cutelo',
- 'damasco',
- 'datar',
- 'debater',
- 'debitar',
- 'deboche',
- 'debulhar',
- 'decalque',
- 'decimal',
- 'declive',
- 'decote',
- 'decretar',
- 'dedal',
- 'dedicado',
- 'deduzir',
- 'defesa',
- 'defumar',
- 'degelo',
- 'degrau',
- 'degustar',
- 'deitado',
- 'deixar',
- 'delator',
- 'delegado',
- 'delinear',
- 'delonga',
- 'demanda',
- 'demitir',
- 'demolido',
- 'dentista',
- 'depenado',
- 'depilar',
- 'depois',
- 'depressa',
- 'depurar',
- 'deriva',
- 'derramar',
- 'desafio',
- 'desbotar',
- 'descanso',
- 'desenho',
- 'desfiado',
- 'desgaste',
- 'desigual',
- 'deslize',
- 'desmamar',
- 'desova',
- 'despesa',
- 'destaque',
- 'desviar',
- 'detalhar',
- 'detentor',
- 'detonar',
- 'detrito',
- 'deusa',
- 'dever',
- 'devido',
- 'devotado',
- 'dezena',
- 'diagrama',
- 'dialeto',
- 'didata',
- 'difuso',
- 'digitar',
- 'dilatado',
- 'diluente',
- 'diminuir',
- 'dinastia',
- 'dinheiro',
- 'diocese',
- 'direto',
- 'discreta',
- 'disfarce',
- 'disparo',
- 'disquete',
- 'dissipar',
- 'distante',
- 'ditador',
- 'diurno',
- 'diverso',
- 'divisor',
- 'divulgar',
- 'dizer',
- 'dobrador',
- 'dolorido',
- 'domador',
- 'dominado',
- 'donativo',
- 'donzela',
- 'dormente',
- 'dorsal',
- 'dosagem',
- 'dourado',
- 'doutor',
- 'drenagem',
- 'drible',
- 'drogaria',
- 'duelar',
- 'duende',
- 'dueto',
- 'duplo',
- 'duquesa',
- 'durante',
- 'duvidoso',
- 'eclodir',
- 'ecoar',
- 'ecologia',
- 'edificar',
- 'edital',
- 'educado',
- 'efeito',
- 'efetivar',
- 'ejetar',
- 'elaborar',
- 'eleger',
- 'eleitor',
- 'elenco',
- 'elevador',
- 'eliminar',
- 'elogiar',
- 'embargo',
- 'embolado',
- 'embrulho',
- 'embutido',
- 'emenda',
- 'emergir',
- 'emissor',
- 'empatia',
- 'empenho',
- 'empinado',
- 'empolgar',
- 'emprego',
- 'empurrar',
- 'emulador',
- 'encaixe',
- 'encenado',
- 'enchente',
- 'encontro',
- 'endeusar',
- 'endossar',
- 'enfaixar',
- 'enfeite',
- 'enfim',
- 'engajado',
- 'engenho',
- 'englobar',
- 'engomado',
- 'engraxar',
- 'enguia',
- 'enjoar',
- 'enlatar',
- 'enquanto',
- 'enraizar',
- 'enrolado',
- 'enrugar',
- 'ensaio',
- 'enseada',
- 'ensino',
- 'ensopado',
- 'entanto',
- 'enteado',
- 'entidade',
- 'entortar',
- 'entrada',
- 'entulho',
- 'envergar',
- 'enviado',
- 'envolver',
- 'enxame',
- 'enxerto',
- 'enxofre',
- 'enxuto',
- 'epiderme',
- 'equipar',
- 'ereto',
- 'erguido',
- 'errata',
- 'erva',
- 'ervilha',
- 'esbanjar',
- 'esbelto',
- 'escama',
- 'escola',
- 'escrita',
- 'escuta',
- 'esfinge',
- 'esfolar',
- 'esfregar',
- 'esfumado',
- 'esgrima',
- 'esmalte',
- 'espanto',
- 'espelho',
- 'espiga',
- 'esponja',
- 'espreita',
- 'espumar',
- 'esquerda',
- 'estaca',
- 'esteira',
- 'esticar',
- 'estofado',
- 'estrela',
- 'estudo',
- 'esvaziar',
- 'etanol',
- 'etiqueta',
- 'euforia',
- 'europeu',
- 'evacuar',
- 'evaporar',
- 'evasivo',
- 'eventual',
- 'evidente',
- 'evoluir',
- 'exagero',
- 'exalar',
- 'examinar',
- 'exato',
- 'exausto',
- 'excesso',
- 'excitar',
- 'exclamar',
- 'executar',
- 'exemplo',
- 'exibir',
- 'exigente',
- 'exonerar',
- 'expandir',
- 'expelir',
- 'expirar',
- 'explanar',
- 'exposto',
- 'expresso',
- 'expulsar',
- 'externo',
- 'extinto',
- 'extrato',
- 'fabricar',
- 'fabuloso',
- 'faceta',
- 'facial',
- 'fada',
- 'fadiga',
- 'faixa',
- 'falar',
- 'falta',
- 'familiar',
- 'fandango',
- 'fanfarra',
- 'fantoche',
- 'fardado',
- 'farelo',
- 'farinha',
- 'farofa',
- 'farpa',
- 'fartura',
- 'fatia',
- 'fator',
- 'favorita',
- 'faxina',
- 'fazenda',
- 'fechado',
- 'feijoada',
- 'feirante',
- 'felino',
- 'feminino',
- 'fenda',
- 'feno',
- 'fera',
- 'feriado',
- 'ferrugem',
- 'ferver',
- 'festejar',
- 'fetal',
- 'feudal',
- 'fiapo',
- 'fibrose',
- 'ficar',
- 'ficheiro',
- 'figurado',
- 'fileira',
- 'filho',
- 'filme',
- 'filtrar',
- 'firmeza',
- 'fisgada',
- 'fissura',
- 'fita',
- 'fivela',
- 'fixador',
- 'fixo',
- 'flacidez',
- 'flamingo',
- 'flanela',
- 'flechada',
- 'flora',
- 'flutuar',
- 'fluxo',
- 'focal',
- 'focinho',
- 'fofocar',
- 'fogo',
- 'foguete',
- 'foice',
- 'folgado',
- 'folheto',
- 'forjar',
- 'formiga',
- 'forno',
- 'forte',
- 'fosco',
- 'fossa',
- 'fragata',
- 'fralda',
- 'frango',
- 'frasco',
- 'fraterno',
- 'freira',
- 'frente',
- 'fretar',
- 'frieza',
- 'friso',
- 'fritura',
- 'fronha',
- 'frustrar',
- 'fruteira',
- 'fugir',
- 'fulano',
- 'fuligem',
- 'fundar',
- 'fungo',
- 'funil',
- 'furador',
- 'furioso',
- 'futebol',
- 'gabarito',
- 'gabinete',
- 'gado',
- 'gaiato',
- 'gaiola',
- 'gaivota',
- 'galega',
- 'galho',
- 'galinha',
- 'galocha',
- 'ganhar',
- 'garagem',
- 'garfo',
- 'gargalo',
- 'garimpo',
- 'garoupa',
- 'garrafa',
- 'gasoduto',
- 'gasto',
- 'gata',
- 'gatilho',
- 'gaveta',
- 'gazela',
- 'gelado',
- 'geleia',
- 'gelo',
- 'gemada',
- 'gemer',
- 'gemido',
- 'generoso',
- 'gengiva',
- 'genial',
- 'genoma',
- 'genro',
- 'geologia',
- 'gerador',
- 'germinar',
- 'gesso',
- 'gestor',
- 'ginasta',
- 'gincana',
- 'gingado',
- 'girafa',
- 'girino',
- 'glacial',
- 'glicose',
- 'global',
- 'glorioso',
- 'goela',
- 'goiaba',
- 'golfe',
- 'golpear',
- 'gordura',
- 'gorjeta',
- 'gorro',
- 'gostoso',
- 'goteira',
- 'governar',
- 'gracejo',
- 'gradual',
- 'grafite',
- 'gralha',
- 'grampo',
- 'granada',
- 'gratuito',
- 'graveto',
- 'graxa',
- 'grego',
- 'grelhar',
- 'greve',
- 'grilo',
- 'grisalho',
- 'gritaria',
- 'grosso',
- 'grotesco',
- 'grudado',
- 'grunhido',
- 'gruta',
- 'guache',
- 'guarani',
- 'guaxinim',
- 'guerrear',
- 'guiar',
- 'guincho',
- 'guisado',
- 'gula',
- 'guloso',
- 'guru',
- 'habitar',
- 'harmonia',
- 'haste',
- 'haver',
- 'hectare',
- 'herdar',
- 'heresia',
- 'hesitar',
- 'hiato',
- 'hibernar',
- 'hidratar',
- 'hiena',
- 'hino',
- 'hipismo',
- 'hipnose',
- 'hipoteca',
- 'hoje',
- 'holofote',
- 'homem',
- 'honesto',
- 'honrado',
- 'hormonal',
- 'hospedar',
- 'humorado',
- 'iate',
- 'ideia',
- 'idoso',
- 'ignorado',
- 'igreja',
- 'iguana',
- 'ileso',
- 'ilha',
- 'iludido',
- 'iluminar',
- 'ilustrar',
- 'imagem',
- 'imediato',
- 'imenso',
- 'imersivo',
- 'iminente',
- 'imitador',
- 'imortal',
- 'impacto',
- 'impedir',
- 'implante',
- 'impor',
- 'imprensa',
- 'impune',
- 'imunizar',
- 'inalador',
- 'inapto',
- 'inativo',
- 'incenso',
- 'inchar',
- 'incidir',
- 'incluir',
- 'incolor',
- 'indeciso',
- 'indireto',
- 'indutor',
- 'ineficaz',
- 'inerente',
- 'infantil',
- 'infestar',
- 'infinito',
- 'inflamar',
- 'informal',
- 'infrator',
- 'ingerir',
- 'inibido',
- 'inicial',
- 'inimigo',
- 'injetar',
- 'inocente',
- 'inodoro',
- 'inovador',
- 'inox',
- 'inquieto',
- 'inscrito',
- 'inseto',
- 'insistir',
- 'inspetor',
- 'instalar',
- 'insulto',
- 'intacto',
- 'integral',
- 'intimar',
- 'intocado',
- 'intriga',
- 'invasor',
- 'inverno',
- 'invicto',
- 'invocar',
- 'iogurte',
- 'iraniano',
- 'ironizar',
- 'irreal',
- 'irritado',
- 'isca',
- 'isento',
- 'isolado',
- 'isqueiro',
- 'italiano',
- 'janeiro',
- 'jangada',
- 'janta',
- 'jararaca',
- 'jardim',
- 'jarro',
- 'jasmim',
- 'jato',
- 'javali',
- 'jazida',
- 'jejum',
- 'joaninha',
- 'joelhada',
- 'jogador',
- 'joia',
- 'jornal',
- 'jorrar',
- 'jovem',
- 'juba',
- 'judeu',
- 'judoca',
- 'juiz',
- 'julgador',
- 'julho',
- 'jurado',
- 'jurista',
- 'juro',
- 'justa',
- 'labareda',
- 'laboral',
- 'lacre',
- 'lactante',
- 'ladrilho',
- 'lagarta',
- 'lagoa',
- 'laje',
- 'lamber',
- 'lamentar',
- 'laminar',
- 'lampejo',
- 'lanche',
- 'lapidar',
- 'lapso',
- 'laranja',
- 'lareira',
- 'largura',
- 'lasanha',
- 'lastro',
- 'lateral',
- 'latido',
- 'lavanda',
- 'lavoura',
- 'lavrador',
- 'laxante',
- 'lazer',
- 'lealdade',
- 'lebre',
- 'legado',
- 'legendar',
- 'legista',
- 'leigo',
- 'leiloar',
- 'leitura',
- 'lembrete',
- 'leme',
- 'lenhador',
- 'lentilha',
- 'leoa',
- 'lesma',
- 'leste',
- 'letivo',
- 'letreiro',
- 'levar',
- 'leveza',
- 'levitar',
- 'liberal',
- 'libido',
- 'liderar',
- 'ligar',
- 'ligeiro',
- 'limitar',
- 'limoeiro',
- 'limpador',
- 'linda',
- 'linear',
- 'linhagem',
- 'liquidez',
- 'listagem',
- 'lisura',
- 'litoral',
- 'livro',
- 'lixa',
- 'lixeira',
- 'locador',
- 'locutor',
- 'lojista',
- 'lombo',
- 'lona',
- 'longe',
- 'lontra',
- 'lorde',
- 'lotado',
- 'loteria',
- 'loucura',
- 'lousa',
- 'louvar',
- 'luar',
- 'lucidez',
- 'lucro',
- 'luneta',
- 'lustre',
- 'lutador',
- 'luva',
- 'macaco',
- 'macete',
- 'machado',
- 'macio',
- 'madeira',
- 'madrinha',
- 'magnata',
- 'magreza',
- 'maior',
- 'mais',
- 'malandro',
- 'malha',
- 'malote',
- 'maluco',
- 'mamilo',
- 'mamoeiro',
- 'mamute',
- 'manada',
- 'mancha',
- 'mandato',
- 'manequim',
- 'manhoso',
- 'manivela',
- 'manobrar',
- 'mansa',
- 'manter',
- 'manusear',
- 'mapeado',
- 'maquinar',
- 'marcador',
- 'maresia',
- 'marfim',
- 'margem',
- 'marinho',
- 'marmita',
- 'maroto',
- 'marquise',
- 'marreco',
- 'martelo',
- 'marujo',
- 'mascote',
- 'masmorra',
- 'massagem',
- 'mastigar',
- 'matagal',
- 'materno',
- 'matinal',
- 'matutar',
- 'maxilar',
- 'medalha',
- 'medida',
- 'medusa',
- 'megafone',
- 'meiga',
- 'melancia',
- 'melhor',
- 'membro',
- 'memorial',
- 'menino',
- 'menos',
- 'mensagem',
- 'mental',
- 'merecer',
- 'mergulho',
- 'mesada',
- 'mesclar',
- 'mesmo',
- 'mesquita',
- 'mestre',
- 'metade',
- 'meteoro',
- 'metragem',
- 'mexer',
- 'mexicano',
- 'micro',
- 'migalha',
- 'migrar',
- 'milagre',
- 'milenar',
- 'milhar',
- 'mimado',
- 'minerar',
- 'minhoca',
- 'ministro',
- 'minoria',
- 'miolo',
- 'mirante',
- 'mirtilo',
- 'misturar',
- 'mocidade',
- 'moderno',
- 'modular',
- 'moeda',
- 'moer',
- 'moinho',
- 'moita',
- 'moldura',
- 'moleza',
- 'molho',
- 'molinete',
- 'molusco',
- 'montanha',
- 'moqueca',
- 'morango',
- 'morcego',
- 'mordomo',
- 'morena',
- 'mosaico',
- 'mosquete',
- 'mostarda',
- 'motel',
- 'motim',
- 'moto',
- 'motriz',
- 'muda',
- 'muito',
- 'mulata',
- 'mulher',
- 'multar',
- 'mundial',
- 'munido',
- 'muralha',
- 'murcho',
- 'muscular',
- 'museu',
- 'musical',
- 'nacional',
- 'nadador',
- 'naja',
- 'namoro',
- 'narina',
- 'narrado',
- 'nascer',
- 'nativa',
- 'natureza',
- 'navalha',
- 'navegar',
- 'navio',
- 'neblina',
- 'nebuloso',
- 'negativa',
- 'negociar',
- 'negrito',
- 'nervoso',
- 'neta',
- 'neural',
- 'nevasca',
- 'nevoeiro',
- 'ninar',
- 'ninho',
- 'nitidez',
- 'nivelar',
- 'nobreza',
- 'noite',
- 'noiva',
- 'nomear',
- 'nominal',
- 'nordeste',
- 'nortear',
- 'notar',
- 'noticiar',
- 'noturno',
- 'novelo',
- 'novilho',
- 'novo',
- 'nublado',
- 'nudez',
- 'numeral',
- 'nupcial',
- 'nutrir',
- 'nuvem',
- 'obcecado',
- 'obedecer',
- 'objetivo',
- 'obrigado',
- 'obscuro',
- 'obstetra',
- 'obter',
- 'obturar',
- 'ocidente',
- 'ocioso',
- 'ocorrer',
- 'oculista',
- 'ocupado',
- 'ofegante',
- 'ofensiva',
- 'oferenda',
- 'oficina',
- 'ofuscado',
- 'ogiva',
- 'olaria',
- 'oleoso',
- 'olhar',
- 'oliveira',
- 'ombro',
- 'omelete',
- 'omisso',
- 'omitir',
- 'ondulado',
- 'oneroso',
- 'ontem',
- 'opcional',
- 'operador',
- 'oponente',
- 'oportuno',
- 'oposto',
- 'orar',
- 'orbitar',
- 'ordem',
- 'ordinal',
- 'orfanato',
- 'orgasmo',
- 'orgulho',
- 'oriental',
- 'origem',
- 'oriundo',
- 'orla',
- 'ortodoxo',
- 'orvalho',
- 'oscilar',
- 'ossada',
- 'osso',
- 'ostentar',
- 'otimismo',
- 'ousadia',
- 'outono',
- 'outubro',
- 'ouvido',
- 'ovelha',
- 'ovular',
- 'oxidar',
- 'oxigenar',
- 'pacato',
- 'paciente',
- 'pacote',
- 'pactuar',
- 'padaria',
- 'padrinho',
- 'pagar',
- 'pagode',
- 'painel',
- 'pairar',
- 'paisagem',
- 'palavra',
- 'palestra',
- 'palheta',
- 'palito',
- 'palmada',
- 'palpitar',
- 'pancada',
- 'panela',
- 'panfleto',
- 'panqueca',
- 'pantanal',
- 'papagaio',
- 'papelada',
- 'papiro',
- 'parafina',
- 'parcial',
- 'pardal',
- 'parede',
- 'partida',
- 'pasmo',
- 'passado',
- 'pastel',
- 'patamar',
- 'patente',
- 'patinar',
- 'patrono',
- 'paulada',
- 'pausar',
- 'peculiar',
- 'pedalar',
- 'pedestre',
- 'pediatra',
- 'pedra',
- 'pegada',
- 'peitoral',
- 'peixe',
- 'pele',
- 'pelicano',
- 'penca',
- 'pendurar',
- 'peneira',
- 'penhasco',
- 'pensador',
- 'pente',
- 'perceber',
- 'perfeito',
- 'pergunta',
- 'perito',
- 'permitir',
- 'perna',
- 'perplexo',
- 'persiana',
- 'pertence',
- 'peruca',
- 'pescado',
- 'pesquisa',
- 'pessoa',
- 'petiscar',
- 'piada',
- 'picado',
- 'piedade',
- 'pigmento',
- 'pilastra',
- 'pilhado',
- 'pilotar',
- 'pimenta',
- 'pincel',
- 'pinguim',
- 'pinha',
- 'pinote',
- 'pintar',
- 'pioneiro',
- 'pipoca',
- 'piquete',
- 'piranha',
- 'pires',
- 'pirueta',
- 'piscar',
- 'pistola',
- 'pitanga',
- 'pivete',
- 'planta',
- 'plaqueta',
- 'platina',
- 'plebeu',
- 'plumagem',
- 'pluvial',
- 'pneu',
- 'poda',
- 'poeira',
- 'poetisa',
- 'polegada',
- 'policiar',
- 'poluente',
- 'polvilho',
- 'pomar',
- 'pomba',
- 'ponderar',
- 'pontaria',
- 'populoso',
- 'porta',
- 'possuir',
- 'postal',
- 'pote',
- 'poupar',
- 'pouso',
- 'povoar',
- 'praia',
- 'prancha',
- 'prato',
- 'praxe',
- 'prece',
- 'predador',
- 'prefeito',
- 'premiar',
- 'prensar',
- 'preparar',
- 'presilha',
- 'pretexto',
- 'prevenir',
- 'prezar',
- 'primata',
- 'princesa',
- 'prisma',
- 'privado',
- 'processo',
- 'produto',
- 'profeta',
- 'proibido',
- 'projeto',
- 'prometer',
- 'propagar',
- 'prosa',
- 'protetor',
- 'provador',
- 'publicar',
- 'pudim',
- 'pular',
- 'pulmonar',
- 'pulseira',
- 'punhal',
- 'punir',
- 'pupilo',
- 'pureza',
- 'puxador',
- 'quadra',
- 'quantia',
- 'quarto',
- 'quase',
- 'quebrar',
- 'queda',
- 'queijo',
- 'quente',
- 'querido',
- 'quimono',
- 'quina',
- 'quiosque',
- 'rabanada',
- 'rabisco',
- 'rachar',
- 'racionar',
- 'radial',
- 'raiar',
- 'rainha',
- 'raio',
- 'raiva',
- 'rajada',
- 'ralado',
- 'ramal',
- 'ranger',
- 'ranhura',
- 'rapadura',
- 'rapel',
- 'rapidez',
- 'raposa',
- 'raquete',
- 'raridade',
- 'rasante',
- 'rascunho',
- 'rasgar',
- 'raspador',
- 'rasteira',
- 'rasurar',
- 'ratazana',
- 'ratoeira',
- 'realeza',
- 'reanimar',
- 'reaver',
- 'rebaixar',
- 'rebelde',
- 'rebolar',
- 'recado',
- 'recente',
- 'recheio',
- 'recibo',
- 'recordar',
- 'recrutar',
- 'recuar',
- 'rede',
- 'redimir',
- 'redonda',
- 'reduzida',
- 'reenvio',
- 'refinar',
- 'refletir',
- 'refogar',
- 'refresco',
- 'refugiar',
- 'regalia',
- 'regime',
- 'regra',
- 'reinado',
- 'reitor',
- 'rejeitar',
- 'relativo',
- 'remador',
- 'remendo',
- 'remorso',
- 'renovado',
- 'reparo',
- 'repelir',
- 'repleto',
- 'repolho',
- 'represa',
- 'repudiar',
- 'requerer',
- 'resenha',
- 'resfriar',
- 'resgatar',
- 'residir',
- 'resolver',
- 'respeito',
- 'ressaca',
- 'restante',
- 'resumir',
- 'retalho',
- 'reter',
- 'retirar',
- 'retomada',
- 'retratar',
- 'revelar',
- 'revisor',
- 'revolta',
- 'riacho',
- 'rica',
- 'rigidez',
- 'rigoroso',
- 'rimar',
- 'ringue',
- 'risada',
- 'risco',
- 'risonho',
- 'robalo',
- 'rochedo',
- 'rodada',
- 'rodeio',
- 'rodovia',
- 'roedor',
- 'roleta',
- 'romano',
- 'roncar',
- 'rosado',
- 'roseira',
- 'rosto',
- 'rota',
- 'roteiro',
- 'rotina',
- 'rotular',
- 'rouco',
- 'roupa',
- 'roxo',
- 'rubro',
- 'rugido',
- 'rugoso',
- 'ruivo',
- 'rumo',
- 'rupestre',
- 'russo',
- 'sabor',
- 'saciar',
- 'sacola',
- 'sacudir',
- 'sadio',
- 'safira',
- 'saga',
- 'sagrada',
- 'saibro',
- 'salada',
- 'saleiro',
- 'salgado',
- 'saliva',
- 'salpicar',
- 'salsicha',
- 'saltar',
- 'salvador',
- 'sambar',
- 'samurai',
- 'sanar',
- 'sanfona',
- 'sangue',
- 'sanidade',
- 'sapato',
- 'sarda',
- 'sargento',
- 'sarjeta',
- 'saturar',
- 'saudade',
- 'saxofone',
- 'sazonal',
- 'secar',
- 'secular',
- 'seda',
- 'sedento',
- 'sediado',
- 'sedoso',
- 'sedutor',
- 'segmento',
- 'segredo',
- 'segundo',
- 'seiva',
- 'seleto',
- 'selvagem',
- 'semanal',
- 'semente',
- 'senador',
- 'senhor',
- 'sensual',
- 'sentado',
- 'separado',
- 'sereia',
- 'seringa',
- 'serra',
- 'servo',
- 'setembro',
- 'setor',
- 'sigilo',
- 'silhueta',
- 'silicone',
- 'simetria',
- 'simpatia',
- 'simular',
- 'sinal',
- 'sincero',
- 'singular',
- 'sinopse',
- 'sintonia',
- 'sirene',
- 'siri',
- 'situado',
- 'soberano',
- 'sobra',
- 'socorro',
- 'sogro',
- 'soja',
- 'solda',
- 'soletrar',
- 'solteiro',
- 'sombrio',
- 'sonata',
- 'sondar',
- 'sonegar',
- 'sonhador',
- 'sono',
- 'soprano',
- 'soquete',
- 'sorrir',
- 'sorteio',
- 'sossego',
- 'sotaque',
- 'soterrar',
- 'sovado',
- 'sozinho',
- 'suavizar',
- 'subida',
- 'submerso',
- 'subsolo',
- 'subtrair',
- 'sucata',
- 'sucesso',
- 'suco',
- 'sudeste',
- 'sufixo',
- 'sugador',
- 'sugerir',
- 'sujeito',
- 'sulfato',
- 'sumir',
- 'suor',
- 'superior',
- 'suplicar',
- 'suposto',
- 'suprimir',
- 'surdina',
- 'surfista',
- 'surpresa',
- 'surreal',
- 'surtir',
- 'suspiro',
- 'sustento',
- 'tabela',
- 'tablete',
- 'tabuada',
- 'tacho',
- 'tagarela',
- 'talher',
- 'talo',
- 'talvez',
- 'tamanho',
- 'tamborim',
- 'tampa',
- 'tangente',
- 'tanto',
- 'tapar',
- 'tapioca',
- 'tardio',
- 'tarefa',
- 'tarja',
- 'tarraxa',
- 'tatuagem',
- 'taurino',
- 'taxativo',
- 'taxista',
- 'teatral',
- 'tecer',
- 'tecido',
- 'teclado',
- 'tedioso',
- 'teia',
- 'teimar',
- 'telefone',
- 'telhado',
- 'tempero',
- 'tenente',
- 'tensor',
- 'tentar',
- 'termal',
- 'terno',
- 'terreno',
- 'tese',
- 'tesoura',
- 'testado',
- 'teto',
- 'textura',
- 'texugo',
- 'tiara',
- 'tigela',
- 'tijolo',
- 'timbrar',
- 'timidez',
- 'tingido',
- 'tinteiro',
- 'tiragem',
- 'titular',
- 'toalha',
- 'tocha',
- 'tolerar',
- 'tolice',
- 'tomada',
- 'tomilho',
- 'tonel',
- 'tontura',
- 'topete',
- 'tora',
- 'torcido',
- 'torneio',
- 'torque',
- 'torrada',
- 'torto',
- 'tostar',
- 'touca',
- 'toupeira',
- 'toxina',
- 'trabalho',
- 'tracejar',
- 'tradutor',
- 'trafegar',
- 'trajeto',
- 'trama',
- 'trancar',
- 'trapo',
- 'traseiro',
- 'tratador',
- 'travar',
- 'treino',
- 'tremer',
- 'trepidar',
- 'trevo',
- 'triagem',
- 'tribo',
- 'triciclo',
- 'tridente',
- 'trilogia',
- 'trindade',
- 'triplo',
- 'triturar',
- 'triunfal',
- 'trocar',
- 'trombeta',
- 'trova',
- 'trunfo',
- 'truque',
- 'tubular',
- 'tucano',
- 'tudo',
- 'tulipa',
- 'tupi',
- 'turbo',
- 'turma',
- 'turquesa',
- 'tutelar',
- 'tutorial',
- 'uivar',
- 'umbigo',
- 'unha',
- 'unidade',
- 'uniforme',
- 'urologia',
- 'urso',
- 'urtiga',
- 'urubu',
- 'usado',
- 'usina',
- 'usufruir',
- 'vacina',
- 'vadiar',
- 'vagaroso',
- 'vaidoso',
- 'vala',
- 'valente',
- 'validade',
- 'valores',
- 'vantagem',
- 'vaqueiro',
- 'varanda',
- 'vareta',
- 'varrer',
- 'vascular',
- 'vasilha',
- 'vassoura',
- 'vazar',
- 'vazio',
- 'veado',
- 'vedar',
- 'vegetar',
- 'veicular',
- 'veleiro',
- 'velhice',
- 'veludo',
- 'vencedor',
- 'vendaval',
- 'venerar',
- 'ventre',
- 'verbal',
- 'verdade',
- 'vereador',
- 'vergonha',
- 'vermelho',
- 'verniz',
- 'versar',
- 'vertente',
- 'vespa',
- 'vestido',
- 'vetorial',
- 'viaduto',
- 'viagem',
- 'viajar',
- 'viatura',
- 'vibrador',
- 'videira',
- 'vidraria',
- 'viela',
- 'viga',
- 'vigente',
- 'vigiar',
- 'vigorar',
- 'vilarejo',
- 'vinco',
- 'vinheta',
- 'vinil',
- 'violeta',
- 'virada',
- 'virtude',
- 'visitar',
- 'visto',
- 'vitral',
- 'viveiro',
- 'vizinho',
- 'voador',
- 'voar',
- 'vogal',
- 'volante',
- 'voleibol',
- 'voltagem',
- 'volumoso',
- 'vontade',
- 'vulto',
- 'vuvuzela',
- 'xadrez',
- 'xarope',
- 'xeque',
- 'xeretar',
- 'xerife',
- 'xingar',
- 'zangado',
- 'zarpar',
- 'zebu',
- 'zelador',
- 'zombar',
- 'zoologia',
- 'zumbido',
-];
diff --git a/src/wordlists/spanish.d.ts b/src/wordlists/spanish.d.ts
deleted file mode 100644
index d451d2b..0000000
--- a/src/wordlists/spanish.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: string[];
-export default _default;
diff --git a/src/wordlists/spanish.js b/src/wordlists/spanish.js
deleted file mode 100644
index 3a6623a..0000000
--- a/src/wordlists/spanish.js
+++ /dev/null
@@ -1,2050 +0,0 @@
-export default [
- 'ábaco',
- 'abdomen',
- 'abeja',
- 'abierto',
- 'abogado',
- 'abono',
- 'aborto',
- 'abrazo',
- 'abrir',
- 'abuelo',
- 'abuso',
- 'acabar',
- 'academia',
- 'acceso',
- 'acción',
- 'aceite',
- 'acelga',
- 'acento',
- 'aceptar',
- 'ácido',
- 'aclarar',
- 'acné',
- 'acoger',
- 'acoso',
- 'activo',
- 'acto',
- 'actriz',
- 'actuar',
- 'acudir',
- 'acuerdo',
- 'acusar',
- 'adicto',
- 'admitir',
- 'adoptar',
- 'adorno',
- 'aduana',
- 'adulto',
- 'aéreo',
- 'afectar',
- 'afición',
- 'afinar',
- 'afirmar',
- 'ágil',
- 'agitar',
- 'agonía',
- 'agosto',
- 'agotar',
- 'agregar',
- 'agrio',
- 'agua',
- 'agudo',
- 'águila',
- 'aguja',
- 'ahogo',
- 'ahorro',
- 'aire',
- 'aislar',
- 'ajedrez',
- 'ajeno',
- 'ajuste',
- 'alacrán',
- 'alambre',
- 'alarma',
- 'alba',
- 'álbum',
- 'alcalde',
- 'aldea',
- 'alegre',
- 'alejar',
- 'alerta',
- 'aleta',
- 'alfiler',
- 'alga',
- 'algodón',
- 'aliado',
- 'aliento',
- 'alivio',
- 'alma',
- 'almeja',
- 'almíbar',
- 'altar',
- 'alteza',
- 'altivo',
- 'alto',
- 'altura',
- 'alumno',
- 'alzar',
- 'amable',
- 'amante',
- 'amapola',
- 'amargo',
- 'amasar',
- 'ámbar',
- 'ámbito',
- 'ameno',
- 'amigo',
- 'amistad',
- 'amor',
- 'amparo',
- 'amplio',
- 'ancho',
- 'anciano',
- 'ancla',
- 'andar',
- 'andén',
- 'anemia',
- 'ángulo',
- 'anillo',
- 'ánimo',
- 'anís',
- 'anotar',
- 'antena',
- 'antiguo',
- 'antojo',
- 'anual',
- 'anular',
- 'anuncio',
- 'añadir',
- 'añejo',
- 'año',
- 'apagar',
- 'aparato',
- 'apetito',
- 'apio',
- 'aplicar',
- 'apodo',
- 'aporte',
- 'apoyo',
- 'aprender',
- 'aprobar',
- 'apuesta',
- 'apuro',
- 'arado',
- 'araña',
- 'arar',
- 'árbitro',
- 'árbol',
- 'arbusto',
- 'archivo',
- 'arco',
- 'arder',
- 'ardilla',
- 'arduo',
- 'área',
- 'árido',
- 'aries',
- 'armonía',
- 'arnés',
- 'aroma',
- 'arpa',
- 'arpón',
- 'arreglo',
- 'arroz',
- 'arruga',
- 'arte',
- 'artista',
- 'asa',
- 'asado',
- 'asalto',
- 'ascenso',
- 'asegurar',
- 'aseo',
- 'asesor',
- 'asiento',
- 'asilo',
- 'asistir',
- 'asno',
- 'asombro',
- 'áspero',
- 'astilla',
- 'astro',
- 'astuto',
- 'asumir',
- 'asunto',
- 'atajo',
- 'ataque',
- 'atar',
- 'atento',
- 'ateo',
- 'ático',
- 'atleta',
- 'átomo',
- 'atraer',
- 'atroz',
- 'atún',
- 'audaz',
- 'audio',
- 'auge',
- 'aula',
- 'aumento',
- 'ausente',
- 'autor',
- 'aval',
- 'avance',
- 'avaro',
- 'ave',
- 'avellana',
- 'avena',
- 'avestruz',
- 'avión',
- 'aviso',
- 'ayer',
- 'ayuda',
- 'ayuno',
- 'azafrán',
- 'azar',
- 'azote',
- 'azúcar',
- 'azufre',
- 'azul',
- 'baba',
- 'babor',
- 'bache',
- 'bahía',
- 'baile',
- 'bajar',
- 'balanza',
- 'balcón',
- 'balde',
- 'bambú',
- 'banco',
- 'banda',
- 'baño',
- 'barba',
- 'barco',
- 'barniz',
- 'barro',
- 'báscula',
- 'bastón',
- 'basura',
- 'batalla',
- 'batería',
- 'batir',
- 'batuta',
- 'baúl',
- 'bazar',
- 'bebé',
- 'bebida',
- 'bello',
- 'besar',
- 'beso',
- 'bestia',
- 'bicho',
- 'bien',
- 'bingo',
- 'blanco',
- 'bloque',
- 'blusa',
- 'boa',
- 'bobina',
- 'bobo',
- 'boca',
- 'bocina',
- 'boda',
- 'bodega',
- 'boina',
- 'bola',
- 'bolero',
- 'bolsa',
- 'bomba',
- 'bondad',
- 'bonito',
- 'bono',
- 'bonsái',
- 'borde',
- 'borrar',
- 'bosque',
- 'bote',
- 'botín',
- 'bóveda',
- 'bozal',
- 'bravo',
- 'brazo',
- 'brecha',
- 'breve',
- 'brillo',
- 'brinco',
- 'brisa',
- 'broca',
- 'broma',
- 'bronce',
- 'brote',
- 'bruja',
- 'brusco',
- 'bruto',
- 'buceo',
- 'bucle',
- 'bueno',
- 'buey',
- 'bufanda',
- 'bufón',
- 'búho',
- 'buitre',
- 'bulto',
- 'burbuja',
- 'burla',
- 'burro',
- 'buscar',
- 'butaca',
- 'buzón',
- 'caballo',
- 'cabeza',
- 'cabina',
- 'cabra',
- 'cacao',
- 'cadáver',
- 'cadena',
- 'caer',
- 'café',
- 'caída',
- 'caimán',
- 'caja',
- 'cajón',
- 'cal',
- 'calamar',
- 'calcio',
- 'caldo',
- 'calidad',
- 'calle',
- 'calma',
- 'calor',
- 'calvo',
- 'cama',
- 'cambio',
- 'camello',
- 'camino',
- 'campo',
- 'cáncer',
- 'candil',
- 'canela',
- 'canguro',
- 'canica',
- 'canto',
- 'caña',
- 'cañón',
- 'caoba',
- 'caos',
- 'capaz',
- 'capitán',
- 'capote',
- 'captar',
- 'capucha',
- 'cara',
- 'carbón',
- 'cárcel',
- 'careta',
- 'carga',
- 'cariño',
- 'carne',
- 'carpeta',
- 'carro',
- 'carta',
- 'casa',
- 'casco',
- 'casero',
- 'caspa',
- 'castor',
- 'catorce',
- 'catre',
- 'caudal',
- 'causa',
- 'cazo',
- 'cebolla',
- 'ceder',
- 'cedro',
- 'celda',
- 'célebre',
- 'celoso',
- 'célula',
- 'cemento',
- 'ceniza',
- 'centro',
- 'cerca',
- 'cerdo',
- 'cereza',
- 'cero',
- 'cerrar',
- 'certeza',
- 'césped',
- 'cetro',
- 'chacal',
- 'chaleco',
- 'champú',
- 'chancla',
- 'chapa',
- 'charla',
- 'chico',
- 'chiste',
- 'chivo',
- 'choque',
- 'choza',
- 'chuleta',
- 'chupar',
- 'ciclón',
- 'ciego',
- 'cielo',
- 'cien',
- 'cierto',
- 'cifra',
- 'cigarro',
- 'cima',
- 'cinco',
- 'cine',
- 'cinta',
- 'ciprés',
- 'circo',
- 'ciruela',
- 'cisne',
- 'cita',
- 'ciudad',
- 'clamor',
- 'clan',
- 'claro',
- 'clase',
- 'clave',
- 'cliente',
- 'clima',
- 'clínica',
- 'cobre',
- 'cocción',
- 'cochino',
- 'cocina',
- 'coco',
- 'código',
- 'codo',
- 'cofre',
- 'coger',
- 'cohete',
- 'cojín',
- 'cojo',
- 'cola',
- 'colcha',
- 'colegio',
- 'colgar',
- 'colina',
- 'collar',
- 'colmo',
- 'columna',
- 'combate',
- 'comer',
- 'comida',
- 'cómodo',
- 'compra',
- 'conde',
- 'conejo',
- 'conga',
- 'conocer',
- 'consejo',
- 'contar',
- 'copa',
- 'copia',
- 'corazón',
- 'corbata',
- 'corcho',
- 'cordón',
- 'corona',
- 'correr',
- 'coser',
- 'cosmos',
- 'costa',
- 'cráneo',
- 'cráter',
- 'crear',
- 'crecer',
- 'creído',
- 'crema',
- 'cría',
- 'crimen',
- 'cripta',
- 'crisis',
- 'cromo',
- 'crónica',
- 'croqueta',
- 'crudo',
- 'cruz',
- 'cuadro',
- 'cuarto',
- 'cuatro',
- 'cubo',
- 'cubrir',
- 'cuchara',
- 'cuello',
- 'cuento',
- 'cuerda',
- 'cuesta',
- 'cueva',
- 'cuidar',
- 'culebra',
- 'culpa',
- 'culto',
- 'cumbre',
- 'cumplir',
- 'cuna',
- 'cuneta',
- 'cuota',
- 'cupón',
- 'cúpula',
- 'curar',
- 'curioso',
- 'curso',
- 'curva',
- 'cutis',
- 'dama',
- 'danza',
- 'dar',
- 'dardo',
- 'dátil',
- 'deber',
- 'débil',
- 'década',
- 'decir',
- 'dedo',
- 'defensa',
- 'definir',
- 'dejar',
- 'delfín',
- 'delgado',
- 'delito',
- 'demora',
- 'denso',
- 'dental',
- 'deporte',
- 'derecho',
- 'derrota',
- 'desayuno',
- 'deseo',
- 'desfile',
- 'desnudo',
- 'destino',
- 'desvío',
- 'detalle',
- 'detener',
- 'deuda',
- 'día',
- 'diablo',
- 'diadema',
- 'diamante',
- 'diana',
- 'diario',
- 'dibujo',
- 'dictar',
- 'diente',
- 'dieta',
- 'diez',
- 'difícil',
- 'digno',
- 'dilema',
- 'diluir',
- 'dinero',
- 'directo',
- 'dirigir',
- 'disco',
- 'diseño',
- 'disfraz',
- 'diva',
- 'divino',
- 'doble',
- 'doce',
- 'dolor',
- 'domingo',
- 'don',
- 'donar',
- 'dorado',
- 'dormir',
- 'dorso',
- 'dos',
- 'dosis',
- 'dragón',
- 'droga',
- 'ducha',
- 'duda',
- 'duelo',
- 'dueño',
- 'dulce',
- 'dúo',
- 'duque',
- 'durar',
- 'dureza',
- 'duro',
- 'ébano',
- 'ebrio',
- 'echar',
- 'eco',
- 'ecuador',
- 'edad',
- 'edición',
- 'edificio',
- 'editor',
- 'educar',
- 'efecto',
- 'eficaz',
- 'eje',
- 'ejemplo',
- 'elefante',
- 'elegir',
- 'elemento',
- 'elevar',
- 'elipse',
- 'élite',
- 'elixir',
- 'elogio',
- 'eludir',
- 'embudo',
- 'emitir',
- 'emoción',
- 'empate',
- 'empeño',
- 'empleo',
- 'empresa',
- 'enano',
- 'encargo',
- 'enchufe',
- 'encía',
- 'enemigo',
- 'enero',
- 'enfado',
- 'enfermo',
- 'engaño',
- 'enigma',
- 'enlace',
- 'enorme',
- 'enredo',
- 'ensayo',
- 'enseñar',
- 'entero',
- 'entrar',
- 'envase',
- 'envío',
- 'época',
- 'equipo',
- 'erizo',
- 'escala',
- 'escena',
- 'escolar',
- 'escribir',
- 'escudo',
- 'esencia',
- 'esfera',
- 'esfuerzo',
- 'espada',
- 'espejo',
- 'espía',
- 'esposa',
- 'espuma',
- 'esquí',
- 'estar',
- 'este',
- 'estilo',
- 'estufa',
- 'etapa',
- 'eterno',
- 'ética',
- 'etnia',
- 'evadir',
- 'evaluar',
- 'evento',
- 'evitar',
- 'exacto',
- 'examen',
- 'exceso',
- 'excusa',
- 'exento',
- 'exigir',
- 'exilio',
- 'existir',
- 'éxito',
- 'experto',
- 'explicar',
- 'exponer',
- 'extremo',
- 'fábrica',
- 'fábula',
- 'fachada',
- 'fácil',
- 'factor',
- 'faena',
- 'faja',
- 'falda',
- 'fallo',
- 'falso',
- 'faltar',
- 'fama',
- 'familia',
- 'famoso',
- 'faraón',
- 'farmacia',
- 'farol',
- 'farsa',
- 'fase',
- 'fatiga',
- 'fauna',
- 'favor',
- 'fax',
- 'febrero',
- 'fecha',
- 'feliz',
- 'feo',
- 'feria',
- 'feroz',
- 'fértil',
- 'fervor',
- 'festín',
- 'fiable',
- 'fianza',
- 'fiar',
- 'fibra',
- 'ficción',
- 'ficha',
- 'fideo',
- 'fiebre',
- 'fiel',
- 'fiera',
- 'fiesta',
- 'figura',
- 'fijar',
- 'fijo',
- 'fila',
- 'filete',
- 'filial',
- 'filtro',
- 'fin',
- 'finca',
- 'fingir',
- 'finito',
- 'firma',
- 'flaco',
- 'flauta',
- 'flecha',
- 'flor',
- 'flota',
- 'fluir',
- 'flujo',
- 'flúor',
- 'fobia',
- 'foca',
- 'fogata',
- 'fogón',
- 'folio',
- 'folleto',
- 'fondo',
- 'forma',
- 'forro',
- 'fortuna',
- 'forzar',
- 'fosa',
- 'foto',
- 'fracaso',
- 'frágil',
- 'franja',
- 'frase',
- 'fraude',
- 'freír',
- 'freno',
- 'fresa',
- 'frío',
- 'frito',
- 'fruta',
- 'fuego',
- 'fuente',
- 'fuerza',
- 'fuga',
- 'fumar',
- 'función',
- 'funda',
- 'furgón',
- 'furia',
- 'fusil',
- 'fútbol',
- 'futuro',
- 'gacela',
- 'gafas',
- 'gaita',
- 'gajo',
- 'gala',
- 'galería',
- 'gallo',
- 'gamba',
- 'ganar',
- 'gancho',
- 'ganga',
- 'ganso',
- 'garaje',
- 'garza',
- 'gasolina',
- 'gastar',
- 'gato',
- 'gavilán',
- 'gemelo',
- 'gemir',
- 'gen',
- 'género',
- 'genio',
- 'gente',
- 'geranio',
- 'gerente',
- 'germen',
- 'gesto',
- 'gigante',
- 'gimnasio',
- 'girar',
- 'giro',
- 'glaciar',
- 'globo',
- 'gloria',
- 'gol',
- 'golfo',
- 'goloso',
- 'golpe',
- 'goma',
- 'gordo',
- 'gorila',
- 'gorra',
- 'gota',
- 'goteo',
- 'gozar',
- 'grada',
- 'gráfico',
- 'grano',
- 'grasa',
- 'gratis',
- 'grave',
- 'grieta',
- 'grillo',
- 'gripe',
- 'gris',
- 'grito',
- 'grosor',
- 'grúa',
- 'grueso',
- 'grumo',
- 'grupo',
- 'guante',
- 'guapo',
- 'guardia',
- 'guerra',
- 'guía',
- 'guiño',
- 'guion',
- 'guiso',
- 'guitarra',
- 'gusano',
- 'gustar',
- 'haber',
- 'hábil',
- 'hablar',
- 'hacer',
- 'hacha',
- 'hada',
- 'hallar',
- 'hamaca',
- 'harina',
- 'haz',
- 'hazaña',
- 'hebilla',
- 'hebra',
- 'hecho',
- 'helado',
- 'helio',
- 'hembra',
- 'herir',
- 'hermano',
- 'héroe',
- 'hervir',
- 'hielo',
- 'hierro',
- 'hígado',
- 'higiene',
- 'hijo',
- 'himno',
- 'historia',
- 'hocico',
- 'hogar',
- 'hoguera',
- 'hoja',
- 'hombre',
- 'hongo',
- 'honor',
- 'honra',
- 'hora',
- 'hormiga',
- 'horno',
- 'hostil',
- 'hoyo',
- 'hueco',
- 'huelga',
- 'huerta',
- 'hueso',
- 'huevo',
- 'huida',
- 'huir',
- 'humano',
- 'húmedo',
- 'humilde',
- 'humo',
- 'hundir',
- 'huracán',
- 'hurto',
- 'icono',
- 'ideal',
- 'idioma',
- 'ídolo',
- 'iglesia',
- 'iglú',
- 'igual',
- 'ilegal',
- 'ilusión',
- 'imagen',
- 'imán',
- 'imitar',
- 'impar',
- 'imperio',
- 'imponer',
- 'impulso',
- 'incapaz',
- 'índice',
- 'inerte',
- 'infiel',
- 'informe',
- 'ingenio',
- 'inicio',
- 'inmenso',
- 'inmune',
- 'innato',
- 'insecto',
- 'instante',
- 'interés',
- 'íntimo',
- 'intuir',
- 'inútil',
- 'invierno',
- 'ira',
- 'iris',
- 'ironía',
- 'isla',
- 'islote',
- 'jabalí',
- 'jabón',
- 'jamón',
- 'jarabe',
- 'jardín',
- 'jarra',
- 'jaula',
- 'jazmín',
- 'jefe',
- 'jeringa',
- 'jinete',
- 'jornada',
- 'joroba',
- 'joven',
- 'joya',
- 'juerga',
- 'jueves',
- 'juez',
- 'jugador',
- 'jugo',
- 'juguete',
- 'juicio',
- 'junco',
- 'jungla',
- 'junio',
- 'juntar',
- 'júpiter',
- 'jurar',
- 'justo',
- 'juvenil',
- 'juzgar',
- 'kilo',
- 'koala',
- 'labio',
- 'lacio',
- 'lacra',
- 'lado',
- 'ladrón',
- 'lagarto',
- 'lágrima',
- 'laguna',
- 'laico',
- 'lamer',
- 'lámina',
- 'lámpara',
- 'lana',
- 'lancha',
- 'langosta',
- 'lanza',
- 'lápiz',
- 'largo',
- 'larva',
- 'lástima',
- 'lata',
- 'látex',
- 'latir',
- 'laurel',
- 'lavar',
- 'lazo',
- 'leal',
- 'lección',
- 'leche',
- 'lector',
- 'leer',
- 'legión',
- 'legumbre',
- 'lejano',
- 'lengua',
- 'lento',
- 'leña',
- 'león',
- 'leopardo',
- 'lesión',
- 'letal',
- 'letra',
- 'leve',
- 'leyenda',
- 'libertad',
- 'libro',
- 'licor',
- 'líder',
- 'lidiar',
- 'lienzo',
- 'liga',
- 'ligero',
- 'lima',
- 'límite',
- 'limón',
- 'limpio',
- 'lince',
- 'lindo',
- 'línea',
- 'lingote',
- 'lino',
- 'linterna',
- 'líquido',
- 'liso',
- 'lista',
- 'litera',
- 'litio',
- 'litro',
- 'llaga',
- 'llama',
- 'llanto',
- 'llave',
- 'llegar',
- 'llenar',
- 'llevar',
- 'llorar',
- 'llover',
- 'lluvia',
- 'lobo',
- 'loción',
- 'loco',
- 'locura',
- 'lógica',
- 'logro',
- 'lombriz',
- 'lomo',
- 'lonja',
- 'lote',
- 'lucha',
- 'lucir',
- 'lugar',
- 'lujo',
- 'luna',
- 'lunes',
- 'lupa',
- 'lustro',
- 'luto',
- 'luz',
- 'maceta',
- 'macho',
- 'madera',
- 'madre',
- 'maduro',
- 'maestro',
- 'mafia',
- 'magia',
- 'mago',
- 'maíz',
- 'maldad',
- 'maleta',
- 'malla',
- 'malo',
- 'mamá',
- 'mambo',
- 'mamut',
- 'manco',
- 'mando',
- 'manejar',
- 'manga',
- 'maniquí',
- 'manjar',
- 'mano',
- 'manso',
- 'manta',
- 'mañana',
- 'mapa',
- 'máquina',
- 'mar',
- 'marco',
- 'marea',
- 'marfil',
- 'margen',
- 'marido',
- 'mármol',
- 'marrón',
- 'martes',
- 'marzo',
- 'masa',
- 'máscara',
- 'masivo',
- 'matar',
- 'materia',
- 'matiz',
- 'matriz',
- 'máximo',
- 'mayor',
- 'mazorca',
- 'mecha',
- 'medalla',
- 'medio',
- 'médula',
- 'mejilla',
- 'mejor',
- 'melena',
- 'melón',
- 'memoria',
- 'menor',
- 'mensaje',
- 'mente',
- 'menú',
- 'mercado',
- 'merengue',
- 'mérito',
- 'mes',
- 'mesón',
- 'meta',
- 'meter',
- 'método',
- 'metro',
- 'mezcla',
- 'miedo',
- 'miel',
- 'miembro',
- 'miga',
- 'mil',
- 'milagro',
- 'militar',
- 'millón',
- 'mimo',
- 'mina',
- 'minero',
- 'mínimo',
- 'minuto',
- 'miope',
- 'mirar',
- 'misa',
- 'miseria',
- 'misil',
- 'mismo',
- 'mitad',
- 'mito',
- 'mochila',
- 'moción',
- 'moda',
- 'modelo',
- 'moho',
- 'mojar',
- 'molde',
- 'moler',
- 'molino',
- 'momento',
- 'momia',
- 'monarca',
- 'moneda',
- 'monja',
- 'monto',
- 'moño',
- 'morada',
- 'morder',
- 'moreno',
- 'morir',
- 'morro',
- 'morsa',
- 'mortal',
- 'mosca',
- 'mostrar',
- 'motivo',
- 'mover',
- 'móvil',
- 'mozo',
- 'mucho',
- 'mudar',
- 'mueble',
- 'muela',
- 'muerte',
- 'muestra',
- 'mugre',
- 'mujer',
- 'mula',
- 'muleta',
- 'multa',
- 'mundo',
- 'muñeca',
- 'mural',
- 'muro',
- 'músculo',
- 'museo',
- 'musgo',
- 'música',
- 'muslo',
- 'nácar',
- 'nación',
- 'nadar',
- 'naipe',
- 'naranja',
- 'nariz',
- 'narrar',
- 'nasal',
- 'natal',
- 'nativo',
- 'natural',
- 'náusea',
- 'naval',
- 'nave',
- 'navidad',
- 'necio',
- 'néctar',
- 'negar',
- 'negocio',
- 'negro',
- 'neón',
- 'nervio',
- 'neto',
- 'neutro',
- 'nevar',
- 'nevera',
- 'nicho',
- 'nido',
- 'niebla',
- 'nieto',
- 'niñez',
- 'niño',
- 'nítido',
- 'nivel',
- 'nobleza',
- 'noche',
- 'nómina',
- 'noria',
- 'norma',
- 'norte',
- 'nota',
- 'noticia',
- 'novato',
- 'novela',
- 'novio',
- 'nube',
- 'nuca',
- 'núcleo',
- 'nudillo',
- 'nudo',
- 'nuera',
- 'nueve',
- 'nuez',
- 'nulo',
- 'número',
- 'nutria',
- 'oasis',
- 'obeso',
- 'obispo',
- 'objeto',
- 'obra',
- 'obrero',
- 'observar',
- 'obtener',
- 'obvio',
- 'oca',
- 'ocaso',
- 'océano',
- 'ochenta',
- 'ocho',
- 'ocio',
- 'ocre',
- 'octavo',
- 'octubre',
- 'oculto',
- 'ocupar',
- 'ocurrir',
- 'odiar',
- 'odio',
- 'odisea',
- 'oeste',
- 'ofensa',
- 'oferta',
- 'oficio',
- 'ofrecer',
- 'ogro',
- 'oído',
- 'oír',
- 'ojo',
- 'ola',
- 'oleada',
- 'olfato',
- 'olivo',
- 'olla',
- 'olmo',
- 'olor',
- 'olvido',
- 'ombligo',
- 'onda',
- 'onza',
- 'opaco',
- 'opción',
- 'ópera',
- 'opinar',
- 'oponer',
- 'optar',
- 'óptica',
- 'opuesto',
- 'oración',
- 'orador',
- 'oral',
- 'órbita',
- 'orca',
- 'orden',
- 'oreja',
- 'órgano',
- 'orgía',
- 'orgullo',
- 'oriente',
- 'origen',
- 'orilla',
- 'oro',
- 'orquesta',
- 'oruga',
- 'osadía',
- 'oscuro',
- 'osezno',
- 'oso',
- 'ostra',
- 'otoño',
- 'otro',
- 'oveja',
- 'óvulo',
- 'óxido',
- 'oxígeno',
- 'oyente',
- 'ozono',
- 'pacto',
- 'padre',
- 'paella',
- 'página',
- 'pago',
- 'país',
- 'pájaro',
- 'palabra',
- 'palco',
- 'paleta',
- 'pálido',
- 'palma',
- 'paloma',
- 'palpar',
- 'pan',
- 'panal',
- 'pánico',
- 'pantera',
- 'pañuelo',
- 'papá',
- 'papel',
- 'papilla',
- 'paquete',
- 'parar',
- 'parcela',
- 'pared',
- 'parir',
- 'paro',
- 'párpado',
- 'parque',
- 'párrafo',
- 'parte',
- 'pasar',
- 'paseo',
- 'pasión',
- 'paso',
- 'pasta',
- 'pata',
- 'patio',
- 'patria',
- 'pausa',
- 'pauta',
- 'pavo',
- 'payaso',
- 'peatón',
- 'pecado',
- 'pecera',
- 'pecho',
- 'pedal',
- 'pedir',
- 'pegar',
- 'peine',
- 'pelar',
- 'peldaño',
- 'pelea',
- 'peligro',
- 'pellejo',
- 'pelo',
- 'peluca',
- 'pena',
- 'pensar',
- 'peñón',
- 'peón',
- 'peor',
- 'pepino',
- 'pequeño',
- 'pera',
- 'percha',
- 'perder',
- 'pereza',
- 'perfil',
- 'perico',
- 'perla',
- 'permiso',
- 'perro',
- 'persona',
- 'pesa',
- 'pesca',
- 'pésimo',
- 'pestaña',
- 'pétalo',
- 'petróleo',
- 'pez',
- 'pezuña',
- 'picar',
- 'pichón',
- 'pie',
- 'piedra',
- 'pierna',
- 'pieza',
- 'pijama',
- 'pilar',
- 'piloto',
- 'pimienta',
- 'pino',
- 'pintor',
- 'pinza',
- 'piña',
- 'piojo',
- 'pipa',
- 'pirata',
- 'pisar',
- 'piscina',
- 'piso',
- 'pista',
- 'pitón',
- 'pizca',
- 'placa',
- 'plan',
- 'plata',
- 'playa',
- 'plaza',
- 'pleito',
- 'pleno',
- 'plomo',
- 'pluma',
- 'plural',
- 'pobre',
- 'poco',
- 'poder',
- 'podio',
- 'poema',
- 'poesía',
- 'poeta',
- 'polen',
- 'policía',
- 'pollo',
- 'polvo',
- 'pomada',
- 'pomelo',
- 'pomo',
- 'pompa',
- 'poner',
- 'porción',
- 'portal',
- 'posada',
- 'poseer',
- 'posible',
- 'poste',
- 'potencia',
- 'potro',
- 'pozo',
- 'prado',
- 'precoz',
- 'pregunta',
- 'premio',
- 'prensa',
- 'preso',
- 'previo',
- 'primo',
- 'príncipe',
- 'prisión',
- 'privar',
- 'proa',
- 'probar',
- 'proceso',
- 'producto',
- 'proeza',
- 'profesor',
- 'programa',
- 'prole',
- 'promesa',
- 'pronto',
- 'propio',
- 'próximo',
- 'prueba',
- 'público',
- 'puchero',
- 'pudor',
- 'pueblo',
- 'puerta',
- 'puesto',
- 'pulga',
- 'pulir',
- 'pulmón',
- 'pulpo',
- 'pulso',
- 'puma',
- 'punto',
- 'puñal',
- 'puño',
- 'pupa',
- 'pupila',
- 'puré',
- 'quedar',
- 'queja',
- 'quemar',
- 'querer',
- 'queso',
- 'quieto',
- 'química',
- 'quince',
- 'quitar',
- 'rábano',
- 'rabia',
- 'rabo',
- 'ración',
- 'radical',
- 'raíz',
- 'rama',
- 'rampa',
- 'rancho',
- 'rango',
- 'rapaz',
- 'rápido',
- 'rapto',
- 'rasgo',
- 'raspa',
- 'rato',
- 'rayo',
- 'raza',
- 'razón',
- 'reacción',
- 'realidad',
- 'rebaño',
- 'rebote',
- 'recaer',
- 'receta',
- 'rechazo',
- 'recoger',
- 'recreo',
- 'recto',
- 'recurso',
- 'red',
- 'redondo',
- 'reducir',
- 'reflejo',
- 'reforma',
- 'refrán',
- 'refugio',
- 'regalo',
- 'regir',
- 'regla',
- 'regreso',
- 'rehén',
- 'reino',
- 'reír',
- 'reja',
- 'relato',
- 'relevo',
- 'relieve',
- 'relleno',
- 'reloj',
- 'remar',
- 'remedio',
- 'remo',
- 'rencor',
- 'rendir',
- 'renta',
- 'reparto',
- 'repetir',
- 'reposo',
- 'reptil',
- 'res',
- 'rescate',
- 'resina',
- 'respeto',
- 'resto',
- 'resumen',
- 'retiro',
- 'retorno',
- 'retrato',
- 'reunir',
- 'revés',
- 'revista',
- 'rey',
- 'rezar',
- 'rico',
- 'riego',
- 'rienda',
- 'riesgo',
- 'rifa',
- 'rígido',
- 'rigor',
- 'rincón',
- 'riñón',
- 'río',
- 'riqueza',
- 'risa',
- 'ritmo',
- 'rito',
- 'rizo',
- 'roble',
- 'roce',
- 'rociar',
- 'rodar',
- 'rodeo',
- 'rodilla',
- 'roer',
- 'rojizo',
- 'rojo',
- 'romero',
- 'romper',
- 'ron',
- 'ronco',
- 'ronda',
- 'ropa',
- 'ropero',
- 'rosa',
- 'rosca',
- 'rostro',
- 'rotar',
- 'rubí',
- 'rubor',
- 'rudo',
- 'rueda',
- 'rugir',
- 'ruido',
- 'ruina',
- 'ruleta',
- 'rulo',
- 'rumbo',
- 'rumor',
- 'ruptura',
- 'ruta',
- 'rutina',
- 'sábado',
- 'saber',
- 'sabio',
- 'sable',
- 'sacar',
- 'sagaz',
- 'sagrado',
- 'sala',
- 'saldo',
- 'salero',
- 'salir',
- 'salmón',
- 'salón',
- 'salsa',
- 'salto',
- 'salud',
- 'salvar',
- 'samba',
- 'sanción',
- 'sandía',
- 'sanear',
- 'sangre',
- 'sanidad',
- 'sano',
- 'santo',
- 'sapo',
- 'saque',
- 'sardina',
- 'sartén',
- 'sastre',
- 'satán',
- 'sauna',
- 'saxofón',
- 'sección',
- 'seco',
- 'secreto',
- 'secta',
- 'sed',
- 'seguir',
- 'seis',
- 'sello',
- 'selva',
- 'semana',
- 'semilla',
- 'senda',
- 'sensor',
- 'señal',
- 'señor',
- 'separar',
- 'sepia',
- 'sequía',
- 'ser',
- 'serie',
- 'sermón',
- 'servir',
- 'sesenta',
- 'sesión',
- 'seta',
- 'setenta',
- 'severo',
- 'sexo',
- 'sexto',
- 'sidra',
- 'siesta',
- 'siete',
- 'siglo',
- 'signo',
- 'sílaba',
- 'silbar',
- 'silencio',
- 'silla',
- 'símbolo',
- 'simio',
- 'sirena',
- 'sistema',
- 'sitio',
- 'situar',
- 'sobre',
- 'socio',
- 'sodio',
- 'sol',
- 'solapa',
- 'soldado',
- 'soledad',
- 'sólido',
- 'soltar',
- 'solución',
- 'sombra',
- 'sondeo',
- 'sonido',
- 'sonoro',
- 'sonrisa',
- 'sopa',
- 'soplar',
- 'soporte',
- 'sordo',
- 'sorpresa',
- 'sorteo',
- 'sostén',
- 'sótano',
- 'suave',
- 'subir',
- 'suceso',
- 'sudor',
- 'suegra',
- 'suelo',
- 'sueño',
- 'suerte',
- 'sufrir',
- 'sujeto',
- 'sultán',
- 'sumar',
- 'superar',
- 'suplir',
- 'suponer',
- 'supremo',
- 'sur',
- 'surco',
- 'sureño',
- 'surgir',
- 'susto',
- 'sutil',
- 'tabaco',
- 'tabique',
- 'tabla',
- 'tabú',
- 'taco',
- 'tacto',
- 'tajo',
- 'talar',
- 'talco',
- 'talento',
- 'talla',
- 'talón',
- 'tamaño',
- 'tambor',
- 'tango',
- 'tanque',
- 'tapa',
- 'tapete',
- 'tapia',
- 'tapón',
- 'taquilla',
- 'tarde',
- 'tarea',
- 'tarifa',
- 'tarjeta',
- 'tarot',
- 'tarro',
- 'tarta',
- 'tatuaje',
- 'tauro',
- 'taza',
- 'tazón',
- 'teatro',
- 'techo',
- 'tecla',
- 'técnica',
- 'tejado',
- 'tejer',
- 'tejido',
- 'tela',
- 'teléfono',
- 'tema',
- 'temor',
- 'templo',
- 'tenaz',
- 'tender',
- 'tener',
- 'tenis',
- 'tenso',
- 'teoría',
- 'terapia',
- 'terco',
- 'término',
- 'ternura',
- 'terror',
- 'tesis',
- 'tesoro',
- 'testigo',
- 'tetera',
- 'texto',
- 'tez',
- 'tibio',
- 'tiburón',
- 'tiempo',
- 'tienda',
- 'tierra',
- 'tieso',
- 'tigre',
- 'tijera',
- 'tilde',
- 'timbre',
- 'tímido',
- 'timo',
- 'tinta',
- 'tío',
- 'típico',
- 'tipo',
- 'tira',
- 'tirón',
- 'titán',
- 'títere',
- 'título',
- 'tiza',
- 'toalla',
- 'tobillo',
- 'tocar',
- 'tocino',
- 'todo',
- 'toga',
- 'toldo',
- 'tomar',
- 'tono',
- 'tonto',
- 'topar',
- 'tope',
- 'toque',
- 'tórax',
- 'torero',
- 'tormenta',
- 'torneo',
- 'toro',
- 'torpedo',
- 'torre',
- 'torso',
- 'tortuga',
- 'tos',
- 'tosco',
- 'toser',
- 'tóxico',
- 'trabajo',
- 'tractor',
- 'traer',
- 'tráfico',
- 'trago',
- 'traje',
- 'tramo',
- 'trance',
- 'trato',
- 'trauma',
- 'trazar',
- 'trébol',
- 'tregua',
- 'treinta',
- 'tren',
- 'trepar',
- 'tres',
- 'tribu',
- 'trigo',
- 'tripa',
- 'triste',
- 'triunfo',
- 'trofeo',
- 'trompa',
- 'tronco',
- 'tropa',
- 'trote',
- 'trozo',
- 'truco',
- 'trueno',
- 'trufa',
- 'tubería',
- 'tubo',
- 'tuerto',
- 'tumba',
- 'tumor',
- 'túnel',
- 'túnica',
- 'turbina',
- 'turismo',
- 'turno',
- 'tutor',
- 'ubicar',
- 'úlcera',
- 'umbral',
- 'unidad',
- 'unir',
- 'universo',
- 'uno',
- 'untar',
- 'uña',
- 'urbano',
- 'urbe',
- 'urgente',
- 'urna',
- 'usar',
- 'usuario',
- 'útil',
- 'utopía',
- 'uva',
- 'vaca',
- 'vacío',
- 'vacuna',
- 'vagar',
- 'vago',
- 'vaina',
- 'vajilla',
- 'vale',
- 'válido',
- 'valle',
- 'valor',
- 'válvula',
- 'vampiro',
- 'vara',
- 'variar',
- 'varón',
- 'vaso',
- 'vecino',
- 'vector',
- 'vehículo',
- 'veinte',
- 'vejez',
- 'vela',
- 'velero',
- 'veloz',
- 'vena',
- 'vencer',
- 'venda',
- 'veneno',
- 'vengar',
- 'venir',
- 'venta',
- 'venus',
- 'ver',
- 'verano',
- 'verbo',
- 'verde',
- 'vereda',
- 'verja',
- 'verso',
- 'verter',
- 'vía',
- 'viaje',
- 'vibrar',
- 'vicio',
- 'víctima',
- 'vida',
- 'vídeo',
- 'vidrio',
- 'viejo',
- 'viernes',
- 'vigor',
- 'vil',
- 'villa',
- 'vinagre',
- 'vino',
- 'viñedo',
- 'violín',
- 'viral',
- 'virgo',
- 'virtud',
- 'visor',
- 'víspera',
- 'vista',
- 'vitamina',
- 'viudo',
- 'vivaz',
- 'vivero',
- 'vivir',
- 'vivo',
- 'volcán',
- 'volumen',
- 'volver',
- 'voraz',
- 'votar',
- 'voto',
- 'voz',
- 'vuelo',
- 'vulgar',
- 'yacer',
- 'yate',
- 'yegua',
- 'yema',
- 'yerno',
- 'yeso',
- 'yodo',
- 'yoga',
- 'yogur',
- 'zafiro',
- 'zanja',
- 'zapato',
- 'zarza',
- 'zona',
- 'zorro',
- 'zumo',
- 'zurdo',
-];
diff --git a/test/index.js b/test/index.js
index 6359c9a..ddd8c7b 100644
--- a/test/index.js
+++ b/test/index.js
@@ -1,17 +1,19 @@
-import * as bip39 from "../src/index.js";
+import * as bip39 from "../src/esm/index.js";
import { download } from "../util/wordlists.js";
-
-import english from '../src/wordlists/english.js';
-import japanese from '../src/wordlists/japanese.js';
-import italian from "../src/wordlists/italian.js";
-import spanish from "../src/wordlists/spanish.js";
-import chinese_simplified from "../src/wordlists/chinese_simplified.js";
-import chinese_traditional from "../src/wordlists/chinese_traditional.js";
-import french from "../src/wordlists/french.js";
-import korean from "../src/wordlists/korean.js";
-import portuguese from "../src/wordlists/portuguese.js";
-import czech from "../src/wordlists/czech.js";
+import {
+ english,
+ japanese,
+ italian,
+ spanish,
+ chineseSimplified,
+ chineseTraditional,
+ french,
+ korean,
+ portuguese,
+ czech
+} from "../src/esm/index.js";
import custom from './wordlist.json' assert {type: "json"};
+import * as tools from "uint8array-tools";
var WORDLISTS = {
english,
@@ -20,8 +22,8 @@ var WORDLISTS = {
};
const exposedWordlists = {
- chinese_simplified,
- chinese_traditional,
+ chinese_simplified: chineseSimplified,
+ chinese_traditional: chineseTraditional,
czech,
english,
french,
@@ -46,9 +48,9 @@ function testVector (description, wordlist, password, v, i) {
t.plan(6)
t.equal(bip39.mnemonicToEntropy(vmnemonic, wordlist), ventropy, 'mnemonicToEntropy returns ' + ventropy.slice(0, 40) + '...')
- t.equal(bip39.mnemonicToSeedSync(vmnemonic, password).toString('hex'), vseedHex, 'mnemonicToSeedSync returns ' + vseedHex.slice(0, 40) + '...')
+ t.equal(tools.toHex(bip39.mnemonicToSeedSync(vmnemonic, password)), vseedHex, 'mnemonicToSeedSync returns ' + vseedHex.slice(0, 40) + '...')
bip39.mnemonicToSeed(vmnemonic, password).then(function (asyncSeed) {
- t.equal(asyncSeed.toString('hex'), vseedHex, 'mnemonicToSeed returns ' + vseedHex.slice(0, 40) + '...')
+ t.equal(tools.toHex(asyncSeed), vseedHex, 'mnemonicToSeed returns ' + vseedHex.slice(0, 40) + '...')
})
t.equal(bip39.entropyToMnemonic(ventropy, wordlist), vmnemonic, 'entropyToMnemonic returns ' + vmnemonic.slice(0, 40) + '...')
@@ -128,8 +130,8 @@ test('UTF8 passwords', function (t) {
var password = '㍍ガバヴァぱばぐゞちぢ十人十色'
var normalizedPassword = 'メートルガバヴァぱばぐゞちぢ十人十色'
- t.equal(bip39.mnemonicToSeedSync(vmnemonic, password).toString('hex'), vseedHex, 'mnemonicToSeedSync normalizes passwords')
- t.equal(bip39.mnemonicToSeedSync(vmnemonic, normalizedPassword).toString('hex'), vseedHex, 'mnemonicToSeedSync leaves normalizes passwords as-is')
+ t.equal(tools.toHex(bip39.mnemonicToSeedSync(vmnemonic, password)), vseedHex, 'mnemonicToSeedSync normalizes passwords')
+ t.equal(tools.toHex(bip39.mnemonicToSeedSync(vmnemonic, normalizedPassword)), vseedHex, 'mnemonicToSeedSync leaves normalizes passwords as-is')
})
})
diff --git a/ts_src/index.ts b/ts_src/index.ts
index 8d968b4..c466f7a 100644
--- a/ts_src/index.ts
+++ b/ts_src/index.ts
@@ -1,7 +1,7 @@
import { sha256 } from '@noble/hashes/sha256';
import { sha512 } from '@noble/hashes/sha512';
import { pbkdf2, pbkdf2Async } from '@noble/hashes/pbkdf2';
-import { randomBytes } from '@noble/hashes/utils';
+import * as tools from 'uint8array-tools';
let DEFAULT_WORDLIST: string[] | undefined;
@@ -31,10 +31,10 @@ function bytesToBinary(bytes: number[]): string {
return bytes.map((x: number): string => lpad(x.toString(2), '0', 8)).join('');
}
-function deriveChecksumBits(entropyBuffer: Buffer): string {
+function deriveChecksumBits(entropyBuffer: Uint8Array): string {
const ENT = entropyBuffer.length * 8;
const CS = ENT / 32;
- const hash = sha256(Uint8Array.from(entropyBuffer));
+ const hash = sha256(entropyBuffer);
return bytesToBinary(Array.from(hash)).slice(0, CS);
}
@@ -45,34 +45,26 @@ function salt(password?: string): string {
export function mnemonicToSeedSync(
mnemonic: string,
password?: string,
-): Buffer {
- const mnemonicBuffer = Uint8Array.from(
- Buffer.from(normalize(mnemonic), 'utf8'),
- );
- const saltBuffer = Uint8Array.from(
- Buffer.from(salt(normalize(password)), 'utf8'),
- );
+): Uint8Array {
+ const mnemonicBuffer = tools.fromUtf8(normalize(mnemonic));
+ const saltBuffer = tools.fromUtf8(salt(normalize(password)));
const res = pbkdf2(sha512, mnemonicBuffer, saltBuffer, {
c: 2048,
dkLen: 64,
});
- return Buffer.from(res);
+ return res;
}
export function mnemonicToSeed(
mnemonic: string,
password?: string,
-): Promise {
- const mnemonicBuffer = Uint8Array.from(
- Buffer.from(normalize(mnemonic), 'utf8'),
- );
- const saltBuffer = Uint8Array.from(
- Buffer.from(salt(normalize(password)), 'utf8'),
- );
+): Promise {
+ const mnemonicBuffer = tools.fromUtf8(normalize(mnemonic));
+ const saltBuffer = tools.fromUtf8(salt(normalize(password)));
return pbkdf2Async(sha512, mnemonicBuffer, saltBuffer, {
c: 2048,
dkLen: 64,
- }).then((res: Uint8Array): Buffer => Buffer.from(res));
+ });
}
export function mnemonicToEntropy(
@@ -120,21 +112,21 @@ export function mnemonicToEntropy(
throw new Error(INVALID_ENTROPY);
}
- const entropy = Buffer.from(entropyBytes);
+ const entropy = Uint8Array.from(entropyBytes);
const newChecksum = deriveChecksumBits(entropy);
if (newChecksum !== checksumBits) {
throw new Error(INVALID_CHECKSUM);
}
- return entropy.toString('hex');
+ return tools.toHex(entropy);
}
export function entropyToMnemonic(
- entropy: Buffer | string,
+ entropy: Uint8Array | string,
wordlist?: string[],
): string {
- if (!Buffer.isBuffer(entropy)) {
- entropy = Buffer.from(entropy, 'hex');
+ if (typeof entropy === 'string') {
+ entropy = tools.fromHex(entropy);
}
wordlist = wordlist || DEFAULT_WORDLIST;
if (!wordlist) {
@@ -171,14 +163,14 @@ export function entropyToMnemonic(
export function generateMnemonic(
strength?: number,
- rng?: (size: number) => Buffer,
+ rng?: (size: number) => Uint8Array,
wordlist?: string[],
): string {
strength = strength || 128;
if (strength % 32 !== 0) {
throw new TypeError(INVALID_ENTROPY);
}
- rng = rng || ((size: number): Buffer => Buffer.from(randomBytes(size)));
+ rng = rng || ((size: number): Uint8Array => crypto.getRandomValues(new Uint8Array(size)));
return entropyToMnemonic(rng(strength / 8), wordlist);
}
@@ -199,16 +191,16 @@ function validateWordlist(wordlist: string[]): boolean {
if (!Array.isArray(wordlist)) {
return false;
}
-
+
if (wordlist.length !== 2048) {
return false;
}
-
+
const unique = new Set(wordlist);
if (unique.size !== wordlist.length) {
return false;
}
-
+
return true;
}
@@ -226,3 +218,16 @@ export function getDefaultWordlist(): string[] {
return DEFAULT_WORDLIST;
}
+
+export {
+ chineseSimplified,
+ chineseTraditional,
+ english,
+ japanese,
+ korean,
+ spanish,
+ italian,
+ czech,
+ french,
+ portuguese,
+} from './wordlists/index.js';
diff --git a/ts_src/wordlists/chinese_simplified.ts b/ts_src/wordlists/chinese_simplified.ts
index 3216591..5460305 100644
--- a/ts_src/wordlists/chinese_simplified.ts
+++ b/ts_src/wordlists/chinese_simplified.ts
@@ -1,4 +1,4 @@
-export default [
+export const chineseSimplified = [
'的',
'一',
'是',
diff --git a/ts_src/wordlists/chinese_traditional.ts b/ts_src/wordlists/chinese_traditional.ts
index 5d4074f..0b7c291 100644
--- a/ts_src/wordlists/chinese_traditional.ts
+++ b/ts_src/wordlists/chinese_traditional.ts
@@ -1,4 +1,4 @@
-export default [
+export const chineseTraditional = [
'的',
'一',
'是',
diff --git a/ts_src/wordlists/czech.ts b/ts_src/wordlists/czech.ts
index d17b76f..5496cd6 100644
--- a/ts_src/wordlists/czech.ts
+++ b/ts_src/wordlists/czech.ts
@@ -1,4 +1,4 @@
-export default [
+export const czech = [
'abdikace',
'abeceda',
'adresa',
diff --git a/ts_src/wordlists/english.ts b/ts_src/wordlists/english.ts
index 51dbbdf..1c5aa55 100644
--- a/ts_src/wordlists/english.ts
+++ b/ts_src/wordlists/english.ts
@@ -1,4 +1,4 @@
-export default [
+export const english = [
'abandon',
'ability',
'able',
diff --git a/ts_src/wordlists/french.ts b/ts_src/wordlists/french.ts
index 733c102..d96f214 100644
--- a/ts_src/wordlists/french.ts
+++ b/ts_src/wordlists/french.ts
@@ -1,4 +1,4 @@
-export default [
+export const french = [
'abaisser',
'abandon',
'abdiquer',
diff --git a/ts_src/wordlists/index.ts b/ts_src/wordlists/index.ts
new file mode 100644
index 0000000..ae59ef7
--- /dev/null
+++ b/ts_src/wordlists/index.ts
@@ -0,0 +1,10 @@
+export { chineseSimplified } from './chinese_simplified.js';
+export { chineseTraditional } from './chinese_traditional.js';
+export { czech } from './czech.js';
+export { english } from './english.js';
+export { french } from './french.js';
+export { italian } from './italian.js';
+export { japanese } from './japanese.js';
+export { korean } from './korean.js';
+export { spanish } from './spanish.js';
+export { portuguese } from './portuguese.js';
diff --git a/ts_src/wordlists/italian.ts b/ts_src/wordlists/italian.ts
index b2aafa8..3198e48 100644
--- a/ts_src/wordlists/italian.ts
+++ b/ts_src/wordlists/italian.ts
@@ -1,4 +1,4 @@
-export default [
+export const italian = [
'abaco',
'abbaglio',
'abbinato',
diff --git a/ts_src/wordlists/japanese.ts b/ts_src/wordlists/japanese.ts
index dcb3d77..ff6add9 100644
--- a/ts_src/wordlists/japanese.ts
+++ b/ts_src/wordlists/japanese.ts
@@ -1,4 +1,4 @@
-export default [
+export const japanese = [
'あいこくしん',
'あいさつ',
'あいだ',
diff --git a/ts_src/wordlists/korean.ts b/ts_src/wordlists/korean.ts
index a98831a..bc73eb7 100644
--- a/ts_src/wordlists/korean.ts
+++ b/ts_src/wordlists/korean.ts
@@ -1,4 +1,4 @@
-export default [
+export const korean = [
'가격',
'가끔',
'가난',
diff --git a/ts_src/wordlists/portuguese.ts b/ts_src/wordlists/portuguese.ts
index ab13c0d..96914f8 100644
--- a/ts_src/wordlists/portuguese.ts
+++ b/ts_src/wordlists/portuguese.ts
@@ -1,4 +1,4 @@
-export default [
+export const portuguese = [
'abacate',
'abaixo',
'abalar',
diff --git a/ts_src/wordlists/spanish.ts b/ts_src/wordlists/spanish.ts
index bdd65f3..8d6ad61 100644
--- a/ts_src/wordlists/spanish.ts
+++ b/ts_src/wordlists/spanish.ts
@@ -1,4 +1,4 @@
-export default [
+export const spanish = [
'ábaco',
'abdomen',
'abeja',
diff --git a/tsconfig.json b/tsconfig.json
index ae2add9..d512480 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,27 +1,31 @@
{
"compilerOptions": {
- "target": "es2017",
- "outDir": "./src",
+ "module": "NodeNext",
+ "moduleResolution": "NodeNext",
+ "target": "ESNext",
"rootDir": "./ts_src",
+ "outDir": "./src",
+ "sourceMap": true,
"declaration": true,
- "types": ["node"],
- "allowJs": false,
+ "declarationMap": true,
+ "importHelpers": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "useDefineForClassFields": false,
+ "skipLibCheck": true,
"strict": true,
- "noImplicitAny": true,
+ "pretty": true,
+ "removeComments": true,
"strictNullChecks": true,
- "strictFunctionTypes": true,
- "strictBindCallApply": true,
- "strictPropertyInitialization": true,
+ "noImplicitAny": true,
"noImplicitThis": true,
- "alwaysStrict": true,
+ "noImplicitReturns": true,
"noUnusedLocals": true,
- "noUnusedParameters": true,
- "moduleResolution": "Node",
- "module": "ESNext",
- "resolveJsonModule": true,
- "allowSyntheticDefaultImports": true,
- "esModuleInterop": true
+ "noUnusedParameters": true
},
- "include": ["ts_src/**/*.ts", "ts_src/**/*.json"],
- "exclude": ["**/*.spec.ts", "node_modules/**/*"]
-}
+ "exclude": [ "node_modules", "test", "rollup.config.ts" ],
+ "include": ["ts_src/**/*.ts" ]
+}
\ No newline at end of file