You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mymonero-core-js/cryptonote_utils/mnemonic.js

1240 lines
98 KiB

/*
mnemonic.js : Converts between 4-byte aligned strings and a human-readable
sequence of words. Uses 1626 common words taken from wikipedia article:
http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists/Contemporary_poetry
Originally written in python special for Electrum (lightweight Bitcoin client).
This version has been reimplemented in javascript and placed in public domain.
*/
/* This file has been modified to export its various functions and properties */
(function(exports)
{
var isNodeJSOrElectronRenderer
if (typeof window !== 'undefined' && window.IsElectronRendererProcess !== true) {
isNodeJSOrElectronRenderer = false
} else {
isNodeJSOrElectronRenderer = true
}
//
var crc32 = require('./crc32').crc32
var nodeJS__crypto;
if (isNodeJSOrElectronRenderer == true) {
nodeJS__crypto = require('crypto')
}
//
var mn_default_wordset = 'english';
exports.mn_default_wordset = mn_default_wordset;
function mn_get_checksum_index(words, prefix_len) {
var trimmed_words = "";
for (var i = 0; i < words.length; i++) {
trimmed_words += words[i].slice(0, prefix_len);
}
var checksum = crc32.run(trimmed_words);
var index = checksum % words.length;
return index;
}
exports.mn_get_checksum_index = mn_get_checksum_index;
function mn_encode(str, wordset_name) {
'use strict';
wordset_name = wordset_name || mn_default_wordset;
var wordset = mn_words[wordset_name];
var out = [];
var n = wordset.words.length;
for (var j = 0; j < str.length; j += 8) {
str = str.slice(0, j) + mn_swap_endian_4byte(str.slice(j, j + 8)) + str.slice(j + 8);
}
for (var i = 0; i < str.length; i += 8) {
var x = parseInt(str.substr(i, 8), 16);
var w1 = (x % n);
var w2 = (Math.floor(x / n) + w1) % n;
var w3 = (Math.floor(Math.floor(x / n) / n) + w2) % n;
out = out.concat([wordset.words[w1], wordset.words[w2], wordset.words[w3]]);
}
if (wordset.prefix_len > 0) {
out.push(out[mn_get_checksum_index(out, wordset.prefix_len)]);
}
return out.join(' ');
}
exports.mn_encode = mn_encode
function mn_swap_endian_4byte(str) {
'use strict';
if (str.length !== 8) throw 'Invalid input length: ' + str.length;
return str.slice(6, 8) + str.slice(4, 6) + str.slice(2, 4) + str.slice(0, 2);
}
exports.mn_swap_endian_4byte = mn_swap_endian_4byte;
function mn_decode(str, wordset_name) {
'use strict';
wordset_name = wordset_name || mn_default_wordset;
var wordset = mn_words[wordset_name];
var out = '';
var n = wordset.words.length;
var wlist = str.toLowerCase().split(' ');
var checksum_word = '';
if (wlist.length < 12) throw "You've entered too few words, please try again";
if ((wordset.prefix_len === 0 && (wlist.length % 3 !== 0)) ||
(wordset.prefix_len > 0 && (wlist.length % 3 === 2))) throw "You've entered too few words, please try again";
if (wordset.prefix_len > 0 && (wlist.length % 3 === 0)) throw "You seem to be missing the last word in your private key, please try again";
if (wordset.prefix_len > 0) {
// Pop checksum from mnemonic
checksum_word = wlist.pop();
}
// Decode mnemonic
for (var i = 0; i < wlist.length; i += 3) {
var w1, w2, w3;
if (wordset.prefix_len === 0) {
w1 = wordset.words.indexOf(wlist[i]);
w2 = wordset.words.indexOf(wlist[i + 1]);
w3 = wordset.words.indexOf(wlist[i + 2]);
} else {
w1 = wordset.trunc_words.indexOf(wlist[i].slice(0, wordset.prefix_len));
w2 = wordset.trunc_words.indexOf(wlist[i + 1].slice(0, wordset.prefix_len));
w3 = wordset.trunc_words.indexOf(wlist[i + 2].slice(0, wordset.prefix_len));
}
if (w1 === -1 || w2 === -1 || w3 === -1) {
throw "invalid word in mnemonic";
}
var x = w1 + n * (((n - w1) + w2) % n) + n * n * (((n - w2) + w3) % n);
if (x % n != w1) throw 'Something went wrong when decoding your private key, please try again';
out += mn_swap_endian_4byte(('0000000' + x.toString(16)).slice(-8));
}
// Verify checksum
if (wordset.prefix_len > 0) {
var index = mn_get_checksum_index(wlist, wordset.prefix_len);
var expected_checksum_word = wlist[index];
if (expected_checksum_word.slice(0, wordset.prefix_len) !== checksum_word.slice(0, wordset.prefix_len)) {
throw "Your private key could not be verified, please try again";
}
}
return out;
}
exports.mn_decode = mn_decode;
function mn_random(bits) {
'use strict';
if (bits % 32 !== 0) throw "Something weird went wrong: Invalid number of bits - " + bits;
if (isNodeJSOrElectronRenderer == false) {
// browser implementation
var array = new Uint32Array(bits / 32);
var i = 0;
function arr_is_zero() {
for (var j = 0; j < bits / 32; ++j) {
if (array[j] !== 0) return false;
}
return true;
}
do {
/// Doing this in the loop is chunky, blame Microsoft and the in-flux status of the window.crypto standard
if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {
window.crypto.getRandomValues(array);
} else if (typeof window !== 'undefined' && typeof window.msCrypto === 'object' && typeof window.msCrypto.getRandomValues === 'function') {
window.msCrypto.getRandomValues(array);
} else {
throw "Unfortunately MyMonero only runs on browsers that support the JavaScript Crypto API";
}
++i;
} while (i < 5 && arr_is_zero());
if (arr_is_zero()) {
throw "Something went wrong and we could not securely generate random data for your account";
}
// Convert to hex
var out = '';
for (var j = 0; j < bits / 32; ++j) {
out += ('0000000' + array[j].toString(16)).slice(-8);
}
return out;
} else {
// node.js implementation
// v---- Declared above
const buffer = nodeJS__crypto.randomBytes(bits / 8) // assuming 8 bits in byte
const hexString = buffer.toString("hex")
//
return hexString
}
}
exports.mn_random = mn_random;
var mn_words = {
'electrum': {
prefix_len: 0,
words: [
"like", "just", "love", "know", "never", "want", "time", "out", "there",
"make", "look", "eye", "down", "only", "think", "heart", "back", "then",
"into", "about", "more", "away", "still", "them", "take", "thing", "even",
"through", "long", "always", "world", "too", "friend", "tell", "try",
"hand", "thought", "over", "here", "other", "need", "smile", "again",
"much", "cry", "been", "night", "ever", "little", "said", "end", "some",
"those", "around", "mind", "people", "girl", "leave", "dream", "left",
"turn", "myself", "give", "nothing", "really", "off", "before",
"something", "find", "walk", "wish", "good", "once", "place", "ask",
"stop", "keep", "watch", "seem", "everything", "wait", "got", "yet",
"made", "remember", "start", "alone", "run", "hope", "maybe", "believe",
"body", "hate", "after", "close", "talk", "stand", "own", "each", "hurt",
"help", "home", "god", "soul", "new", "many", "two", "inside", "should",
"true", "first", "fear", "mean", "better", "play", "another", "gone",
"change", "use", "wonder", "someone", "hair", "cold", "open", "best",
"any", "behind", "happen", "water", "dark", "laugh", "stay", "forever",
"name", "work", "show", "sky", "break", "came", "deep", "door", "put",
"black", "together", "upon", "happy", "such", "great", "white", "matter",
"fill", "past", "please", "burn", "cause", "enough", "touch", "moment",
"soon", "voice", "scream", "anything", "stare", "sound", "red", "everyone",
"hide", "kiss", "truth", "death", "beautiful", "mine", "blood", "broken",
"very", "pass", "next", "forget", "tree", "wrong", "air", "mother",
"understand", "lip", "hit", "wall", "memory", "sleep", "free", "high",
"realize", "school", "might", "skin", "sweet", "perfect", "blue", "kill",
"breath", "dance", "against", "fly", "between", "grow", "strong", "under",
"listen", "bring", "sometimes", "speak", "pull", "person", "become",
"family", "begin", "ground", "real", "small", "father", "sure", "feet",
"rest", "young", "finally", "land", "across", "today", "different", "guy",
"line", "fire", "reason", "reach", "second", "slowly", "write", "eat",
"smell", "mouth", "step", "learn", "three", "floor", "promise", "breathe",
"darkness", "push", "earth", "guess", "save", "song", "above", "along",
"both", "color", "house", "almost", "sorry", "anymore", "brother", "okay",
"dear", "game", "fade", "already", "apart", "warm", "beauty", "heard",
"notice", "question", "shine", "began", "piece", "whole", "shadow",
"secret", "street", "within", "finger", "point", "morning", "whisper",
"child", "moon", "green", "story", "glass", "kid", "silence", "since",
"soft", "yourself", "empty", "shall", "angel", "answer", "baby", "bright",
"dad", "path", "worry", "hour", "drop", "follow", "power", "war", "half",
"flow", "heaven", "act", "chance", "fact", "least", "tired", "children",
"near", "quite", "afraid", "rise", "sea", "taste", "window", "cover",
"nice", "trust", "lot", "sad", "cool", "force", "peace", "return", "blind",
"easy", "ready", "roll", "rose", "drive", "held", "music", "beneath",
"hang", "mom", "paint", "emotion", "quiet", "clear", "cloud", "few",
"pretty", "bird", "outside", "paper", "picture", "front", "rock", "simple",
"anyone", "meant", "reality", "road", "sense", "waste", "bit", "leaf",
"thank", "happiness", "meet", "men", "smoke", "truly", "decide", "self",
"age", "book", "form", "alive", "carry", "escape", "damn", "instead",
"able", "ice", "minute", "throw", "catch", "leg", "ring", "course",
"goodbye", "lead", "poem", "sick", "corner", "desire", "known", "problem",
"remind", "shoulder", "suppose", "toward", "wave", "drink", "jump",
"woman", "pretend", "sister", "week", "human", "joy", "crack", "grey",
"pray", "surprise", "dry", "knee", "less", "search", "bleed", "caught",
"clean", "embrace", "future", "king", "son", "sorrow", "chest", "hug",
"remain", "sat", "worth", "blow", "daddy", "final", "parent", "tight",
"also", "create", "lonely", "safe", "cross", "dress", "evil", "silent",
"bone", "fate", "perhaps", "anger", "class", "scar", "snow", "tiny",
"tonight", "continue", "control", "dog", "edge", "mirror", "month",
"suddenly", "comfort", "given", "loud", "quickly", "gaze", "plan", "rush",
"stone", "town", "battle", "ignore", "spirit", "stood", "stupid", "yours",
"brown", "build", "dust", "hey", "kept", "pay", "phone", "twist",
"although", "ball", "beyond", "hidden", "nose", "taken", "fail", "float",
"pure", "somehow", "wash", "wrap", "angry", "cheek", "creature",
"forgotten", "heat", "rip", "single", "space", "special", "weak",
"whatever", "yell", "anyway", "blame", "job", "choose", "country", "curse",
"drift", "echo", "figure", "grew", "laughter", "neck", "suffer", "worse",
"yeah", "disappear", "foot", "forward", "knife", "mess", "somewhere",
"stomach", "storm", "beg", "idea", "lift", "offer", "breeze", "field",
"five", "often", "simply", "stuck", "win", "allow", "confuse", "enjoy",
"except", "flower", "seek", "strength", "calm", "grin", "gun", "heavy",
"hill", "large", "ocean", "shoe", "sigh", "straight", "summer", "tongue",
"accept", "crazy", "everyday", "exist", "grass", "mistake", "sent", "shut",
"surround", "table", "ache", "brain", "destroy", "heal", "nature", "shout",
"sign", "stain", "choice", "doubt", "glance", "glow", "mountain", "queen",
"stranger", "throat", "tomorrow", "city", "either", "fish", "flame",
"rather", "shape", "spin", "spread", "ash", "distance", "finish", "image",
"imagine", "important", "nobody", "shatter", "warmth", "became", "feed",
"flesh", "funny", "lust", "shirt", "trouble", "yellow", "attention",
"bare", "bite", "money", "protect", "amaze", "appear", "born", "choke",
"completely", "daughter", "fresh", "friendship", "gentle", "probably",
"six", "deserve", "expect", "grab", "middle", "nightmare", "river",
"thousand", "weight", "worst", "wound", "barely", "bottle", "cream",
"regret", "relationship", "stick", "test", "crush", "endless", "fault",
"itself", "rule", "spill", "art", "circle", "join", "kick", "mask",
"master", "passion", "quick", "raise", "smooth", "unless", "wander",
"actually", "broke", "chair", "deal", "favorite", "gift", "note", "number",
"sweat", "box", "chill", "clothes", "lady", "mark", "park", "poor",
"sadness", "tie", "animal", "belong", "brush", "consume", "dawn", "forest",
"innocent", "pen", "pride", "stream", "thick", "clay", "complete", "count",
"draw", "faith", "press", "silver", "struggle", "surface", "taught",
"teach", "wet", "bless", "chase", "climb", "enter", "letter", "melt",
"metal", "movie", "stretch", "swing", "vision", "wife", "beside", "crash",
"forgot", "guide", "haunt", "joke", "knock", "plant", "pour", "prove",
"reveal", "steal", "stuff", "trip", "wood", "wrist", "bother", "bottom",
"crawl", "crowd", "fix", "forgive", "frown", "grace", "loose", "lucky",
"party", "release", "surely", "survive", "teacher", "gently", "grip",
"speed", "suicide", "travel", "treat", "vein", "written", "cage", "chain",
"conversation", "date", "enemy", "however", "interest", "million", "page",
"pink", "proud", "sway", "themselves", "winter", "church", "cruel", "cup",
"demon", "experience", "freedom", "pair", "pop", "purpose", "respect",
"shoot", "softly", "state", "strange", "bar", "birth", "curl", "dirt",
"excuse", "lord", "lovely", "monster", "order", "pack", "pants", "pool",
"scene", "seven", "shame", "slide", "ugly", "among", "blade", "blonde",
"closet", "creek", "deny", "drug", "eternity", "gain", "grade", "handle",
"key", "linger", "pale", "prepare", "swallow", "swim", "tremble", "wheel",
"won", "cast", "cigarette", "claim", "college", "direction", "dirty",
"gather", "ghost", "hundred", "loss", "lung", "orange", "present", "swear",
"swirl", "twice", "wild", "bitter", "blanket", "doctor", "everywhere",
"flash", "grown", "knowledge", "numb", "pressure", "radio", "repeat",
"ruin", "spend", "unknown", "buy", "clock", "devil", "early", "false",
"fantasy", "pound", "precious", "refuse", "sheet", "teeth", "welcome",
"add", "ahead", "block", "bury", "caress", "content", "depth", "despite",
"distant", "marry", "purple", "threw", "whenever", "bomb", "dull",
"easily", "grasp", "hospital", "innocence", "normal", "receive", "reply",
"rhyme", "shade", "someday", "sword", "toe", "visit", "asleep", "bought",
"center", "consider", "flat", "hero", "history", "ink", "insane", "muscle",
"mystery", "pocket", "reflection", "shove", "silently", "smart", "soldier",
"spot", "stress", "train", "type", "view", "whether", "bus", "energy",
"explain", "holy", "hunger", "inch", "magic", "mix", "noise", "nowhere",
"prayer", "presence", "shock", "snap", "spider", "study", "thunder",
"trail", "admit", "agree", "bag", "bang", "bound", "butterfly", "cute",
"exactly", "explode", "familiar", "fold", "further", "pierce", "reflect",
"scent", "selfish", "sharp", "sink", "spring", "stumble", "universe",
"weep", "women", "wonderful", "action", "ancient", "attempt", "avoid",
"birthday", "branch", "chocolate", "core", "depress", "drunk",
"especially", "focus", "fruit", "honest", "match", "palm", "perfectly",
"pillow", "pity", "poison", "roar", "shift", "slightly", "thump", "truck",
"tune", "twenty", "unable", "wipe", "wrote", "coat", "constant", "dinner",
"drove", "egg", "eternal", "flight", "flood", "frame", "freak", "gasp",
"glad", "hollow", "motion", "peer", "plastic", "root", "screen", "season",
"sting", "strike", "team", "unlike", "victim", "volume", "warn", "weird",
"attack", "await", "awake", "built", "charm", "crave", "despair", "fought",
"grant", "grief", "horse", "limit", "message", "ripple", "sanity",
"scatter", "serve", "split", "string", "trick", "annoy", "blur", "boat",
"brave", "clearly", "cling", "connect", "fist", "forth", "imagination",
"iron", "jock", "judge", "lesson", "milk", "misery", "nail", "naked",
"ourselves", "poet", "possible", "princess", "sail", "size", "snake",
"society", "stroke", "torture", "toss", "trace", "wise", "bloom", "bullet",
"cell", "check", "cost", "darling", "during", "footstep", "fragile",
"hallway", "hardly", "horizon", "invisible", "journey", "midnight", "mud",
"nod", "pause", "relax", "shiver", "sudden", "value", "youth", "abuse",
"admire", "blink", "breast", "bruise", "constantly", "couple", "creep",
"curve", "difference", "dumb", "emptiness", "gotta", "honor", "plain",
"planet", "recall", "rub", "ship", "slam", "soar", "somebody", "tightly",
"weather", "adore", "approach", "bond", "bread", "burst", "candle",
"coffee", "cousin", "crime", "desert", "flutter", "frozen", "grand",
"heel", "hello", "language", "level", "movement", "pleasure", "powerful",
"random", "rhythm", "settle", "silly", "slap", "sort", "spoken", "steel",
"threaten", "tumble", "upset", "aside", "awkward", "bee", "blank", "board",
"button", "card", "carefully", "complain", "crap", "deeply", "discover",
"drag", "dread", "effort", "entire", "fairy", "giant", "gotten", "greet",
"illusion", "jeans", "leap", "liquid", "march", "mend", "nervous", "nine",
"replace", "rope", "spine", "stole", "terror", "accident", "apple",
"balance", "boom", "childhood", "collect", "demand", "depression",
"eventually", "faint", "glare", "goal", "group", "honey", "kitchen",
"laid", "limb", "machine", "mere", "mold", "murder", "nerve", "painful",
"poetry", "prince", "rabbit", "shelter", "shore", "shower", "soothe",
"stair", "steady", "sunlight", "tangle", "tease", "treasure", "uncle",
"begun", "bliss", "canvas", "cheer", "claw", "clutch", "commit", "crimson",
"crystal", "delight", "doll", "existence", "express", "fog", "football",
"gay", "goose", "guard", "hatred", "illuminate", "mass", "math", "mourn",
"rich", "rough", "skip", "stir", "student", "style", "support", "thorn",
"tough", "yard", "yearn", "yesterday", "advice", "appreciate", "autumn",
"bank", "beam", "bowl", "capture", "carve", "collapse", "confusion",
"creation", "dove", "feather", "girlfriend", "glory", "government",
"harsh", "hop", "inner", "loser", "moonlight", "neighbor", "neither",
"peach", "pig", "praise", "screw", "shield", "shimmer", "sneak", "stab",
"subject", "throughout", "thrown", "tower", "twirl", "wow", "army",
"arrive", "bathroom", "bump", "cease", "cookie", "couch", "courage", "dim",
"guilt", "howl", "hum", "husband", "insult", "led", "lunch", "mock",
"mostly", "natural", "nearly", "needle", "nerd", "peaceful", "perfection",
"pile", "price", "remove", "roam", "sanctuary", "serious", "shiny",
"shook", "sob", "stolen", "tap", "vain", "void", "warrior", "wrinkle",
"affection", "apologize", "blossom", "bounce", "bridge", "cheap",
"crumble", "decision", "descend", "desperately", "dig", "dot", "flip",
"frighten", "heartbeat", "huge", "lazy", "lick", "odd", "opinion",
"process", "puzzle", "quietly", "retreat", "score", "sentence", "separate",
"situation", "skill", "soak", "square", "stray", "taint", "task", "tide",
"underneath", "veil", "whistle", "anywhere", "bedroom", "bid", "bloody",
"burden", "careful", "compare", "concern", "curtain", "decay", "defeat",
"describe", "double", "dreamer", "driver", "dwell", "evening", "flare",
"flicker", "grandma", "guitar", "harm", "horrible", "hungry", "indeed",
"lace", "melody", "monkey", "nation", "object", "obviously", "rainbow",
"salt", "scratch", "shown", "shy", "stage", "stun", "third", "tickle",
"useless", "weakness", "worship", "worthless", "afternoon", "beard",
"boyfriend", "bubble", "busy", "certain", "chin", "concrete", "desk",
"diamond", "doom", "drawn", "due", "felicity", "freeze", "frost", "garden",
"glide", "harmony", "hopefully", "hunt", "jealous", "lightning", "mama",
"mercy", "peel", "physical", "position", "pulse", "punch", "quit", "rant",
"respond", "salty", "sane", "satisfy", "savior", "sheep", "slept",
"social", "sport", "tuck", "utter", "valley", "wolf", "aim", "alas",
"alter", "arrow", "awaken", "beaten", "belief", "brand", "ceiling",
"cheese", "clue", "confidence", "connection", "daily", "disguise", "eager",
"erase", "essence", "everytime", "expression", "fan", "flag", "flirt",
"foul", "fur", "giggle", "glorious", "ignorance", "law", "lifeless",
"measure", "mighty", "muse", "north", "opposite", "paradise", "patience",
"patient", "pencil", "petal", "plate", "ponder", "possibly", "practice",
"slice", "spell", "stock", "strife", "strip", "suffocate", "suit",
"tender", "tool", "trade", "velvet", "verse", "waist", "witch", "aunt",
"bench", "bold", "cap", "certainly", "click", "companion", "creator",
"dart", "delicate", "determine", "dish", "dragon", "drama", "drum", "dude",
"everybody", "feast", "forehead", "former", "fright", "fully", "gas",
"hook", "hurl", "invite", "juice", "manage", "moral", "possess", "raw",
"rebel", "royal", "scale", "scary", "several", "slight", "stubborn",
"swell", "talent", "tea", "terrible", "thread", "torment", "trickle",
"usually", "vast", "violence", "weave", "acid", "agony", "ashamed", "awe",
"belly", "blend", "blush", "character", "cheat", "common", "company",
"coward", "creak", "danger", "deadly", "defense", "define", "depend",
"desperate", "destination", "dew", "duck", "dusty", "embarrass", "engine",
"example", "explore", "foe", "freely", "frustrate", "generation", "glove",
"guilty", "health", "hurry", "idiot", "impossible", "inhale", "jaw",
"kingdom", "mention", "mist", "moan", "mumble", "mutter", "observe", "ode",
"pathetic", "pattern", "pie", "prefer", "puff", "rape", "rare", "revenge",
"rude", "scrape", "spiral", "squeeze", "strain", "sunset", "suspend",
"sympathy", "thigh", "throne", "total", "unseen", "weapon", "weary"
]
},
'english': {
prefix_len: 3,
words: [
"abbey", "abducts", "ability", "ablaze", "abnormal", "abort", "abrasive", "absorb",
"abyss", "academy", "aces", "aching", "acidic", "acoustic", "acquire", "across",
"actress", "acumen", "adapt", "addicted", "adept", "adhesive", "adjust", "adopt",
"adrenalin", "adult", "adventure", "aerial", "afar", "affair", "afield", "afloat",
"afoot", "afraid", "after", "against", "agenda", "aggravate", "agile", "aglow",
"agnostic", "agony", "agreed", "ahead", "aided", "ailments", "aimless", "airport",
"aisle", "ajar", "akin", "alarms", "album", "alchemy", "alerts", "algebra",
"alkaline", "alley", "almost", "aloof", "alpine", "already", "also", "altitude",
"alumni", "always", "amaze", "ambush", "amended", "amidst", "ammo", "amnesty",
"among", "amply", "amused", "anchor", "android", "anecdote", "angled", "ankle",
"annoyed", "answers", "antics", "anvil", "anxiety", "anybody", "apart", "apex",
"aphid", "aplomb", "apology", "apply", "apricot", "aptitude", "aquarium", "arbitrary",
"archer", "ardent", "arena", "argue", "arises", "army", "around", "arrow",
"arsenic", "artistic", "ascend", "ashtray", "aside", "asked", "asleep", "aspire",
"assorted", "asylum", "athlete", "atlas", "atom", "atrium", "attire", "auburn",
"auctions", "audio", "august", "aunt", "austere", "autumn", "avatar", "avidly",
"avoid", "awakened", "awesome", "awful", "awkward", "awning", "awoken", "axes",
"axis", "axle", "aztec", "azure", "baby", "bacon", "badge", "baffles",
"bagpipe", "bailed", "bakery", "balding", "bamboo", "banjo", "baptism", "basin",
"batch", "bawled", "bays", "because", "beer", "befit", "begun", "behind",
"being", "below", "bemused", "benches", "berries", "bested", "betting", "bevel",
"beware", "beyond", "bias", "bicycle", "bids", "bifocals", "biggest", "bikini",
"bimonthly", "binocular", "biology", "biplane", "birth", "biscuit", "bite", "biweekly",
"blender", "blip", "bluntly", "boat", "bobsled", "bodies", "bogeys", "boil",
"boldly", "bomb", "border", "boss", "both", "bounced", "bovine", "bowling",
"boxes", "boyfriend", "broken", "brunt", "bubble", "buckets", "budget", "buffet",
"bugs", "building", "bulb", "bumper", "bunch", "business", "butter", "buying",
"buzzer", "bygones", "byline", "bypass", "cabin", "cactus", "cadets", "cafe",
"cage", "cajun", "cake", "calamity", "camp", "candy", "casket", "catch",
"cause", "cavernous", "cease", "cedar", "ceiling", "cell", "cement", "cent",
"certain", "chlorine", "chrome", "cider", "cigar", "cinema", "circle", "cistern",
"citadel", "civilian", "claim", "click", "clue", "coal", "cobra", "cocoa",
"code", "coexist", "coffee", "cogs", "cohesive", "coils", "colony", "comb",
"cool", "copy", "corrode", "costume", "cottage", "cousin", "cowl", "criminal",
"cube", "cucumber", "cuddled", "cuffs", "cuisine", "cunning", "cupcake", "custom",
"cycling", "cylinder", "cynical", "dabbing", "dads", "daft", "dagger", "daily",
"damp", "dangerous", "dapper", "darted", "dash", "dating", "dauntless", "dawn",
"daytime", "dazed", "debut", "decay", "dedicated", "deepest", "deftly", "degrees",
"dehydrate", "deity", "dejected", "delayed", "demonstrate", "dented", "deodorant", "depth",
"desk", "devoid", "dewdrop", "dexterity", "dialect", "dice", "diet", "different",
"digit", "dilute", "dime", "dinner", "diode", "diplomat", "directed", "distance",
"ditch", "divers", "dizzy", "doctor", "dodge", "does", "dogs", "doing",
"dolphin", "domestic", "donuts", "doorway", "dormant", "dosage", "dotted", "double",
"dove", "down", "dozen", "dreams", "drinks", "drowning", "drunk", "drying",
"dual", "dubbed", "duckling", "dude", "duets", "duke", "dullness", "dummy",
"dunes", "duplex", "duration", "dusted", "duties", "dwarf", "dwelt", "dwindling",
"dying", "dynamite", "dyslexic", "each", "eagle", "earth", "easy", "eating",
"eavesdrop", "eccentric", "echo", "eclipse", "economics", "ecstatic", "eden", "edgy",
"edited", "educated", "eels", "efficient", "eggs", "egotistic", "eight", "either",
"eject", "elapse", "elbow", "eldest", "eleven", "elite", "elope", "else",
"eluded", "emails", "ember", "emerge", "emit", "emotion", "empty", "emulate",
"energy", "enforce", "enhanced", "enigma", "enjoy", "enlist", "enmity", "enough",
"enraged", "ensign", "entrance", "envy", "epoxy", "equip", "erase", "erected",
"erosion", "error", "eskimos", "espionage", "essential", "estate", "etched", "eternal",
"ethics", "etiquette", "evaluate", "evenings", "evicted", "evolved", "examine", "excess",
"exhale", "exit", "exotic", "exquisite", "extra", "exult", "fabrics", "factual",
"fading", "fainted", "faked", "fall", "family", "fancy", "farming", "fatal",
"faulty", "fawns", "faxed", "fazed", "feast", "february", "federal", "feel",
"feline", "females", "fences", "ferry", "festival", "fetches", "fever", "fewest",
"fiat", "fibula", "fictional", "fidget", "fierce", "fifteen", "fight", "films",
"firm", "fishing", "fitting", "five", "fixate", "fizzle", "fleet", "flippant",
"flying", "foamy", "focus", "foes", "foggy", "foiled", "folding", "fonts",
"foolish", "fossil", "fountain", "fowls", "foxes", "foyer", "framed", "friendly",
"frown", "fruit", "frying", "fudge", "fuel", "fugitive", "fully", "fuming",
"fungal", "furnished", "fuselage", "future", "fuzzy", "gables", "gadget", "gags",
"gained", "galaxy", "gambit", "gang", "gasp", "gather", "gauze", "gave",
"gawk", "gaze", "gearbox", "gecko", "geek", "gels", "gemstone", "general",
"geometry", "germs", "gesture", "getting", "geyser", "ghetto", "ghost", "giant",
"giddy", "gifts", "gigantic", "gills", "gimmick", "ginger", "girth", "giving",
"glass", "gleeful", "glide", "gnaw", "gnome", "goat", "goblet", "godfather",
"goes", "goggles", "going", "goldfish", "gone", "goodbye", "gopher", "gorilla",
"gossip", "gotten", "gourmet", "governing", "gown", "greater", "grunt", "guarded",
"guest", "guide", "gulp", "gumball", "guru", "gusts", "gutter", "guys",
"gymnast", "gypsy", "gyrate", "habitat", "hacksaw", "haggled", "hairy", "hamburger",
"happens", "hashing", "hatchet", "haunted", "having", "hawk", "haystack", "hazard",
"hectare", "hedgehog", "heels", "hefty", "height", "hemlock", "hence", "heron",
"hesitate", "hexagon", "hickory", "hiding", "highway", "hijack", "hiker", "hills",
"himself", "hinder", "hippo", "hire", "history", "hitched", "hive", "hoax",
"hobby", "hockey", "hoisting", "hold", "honked", "hookup", "hope", "hornet",
"hospital", "hotel", "hounded", "hover", "howls", "hubcaps", "huddle", "huge",
"hull", "humid", "hunter", "hurried", "husband", "huts", "hybrid", "hydrogen",
"hyper", "iceberg", "icing", "icon", "identity", "idiom", "idled", "idols",
"igloo", "ignore", "iguana", "illness", "imagine", "imbalance", "imitate", "impel",
"inactive", "inbound", "incur", "industrial", "inexact", "inflamed", "ingested", "initiate",
"injury", "inkling", "inline", "inmate", "innocent", "inorganic", "input", "inquest",
"inroads", "insult", "intended", "inundate", "invoke", "inwardly", "ionic", "irate",
"iris", "irony", "irritate", "island", "isolated", "issued", "italics", "itches",
"items", "itinerary", "itself", "ivory", "jabbed", "jackets", "jaded", "jagged",
"jailed", "jamming", "january", "jargon", "jaunt", "javelin", "jaws", "jazz",
"jeans", "jeers", "jellyfish", "jeopardy", "jerseys", "jester", "jetting", "jewels",
"jigsaw", "jingle", "jittery", "jive", "jobs", "jockey", "jogger", "joining",
"joking", "jolted", "jostle", "journal", "joyous", "jubilee", "judge", "juggled",
"juicy", "jukebox", "july", "jump", "junk", "jury", "justice", "juvenile",
"kangaroo", "karate", "keep", "kennel", "kept", "kernels", "kettle", "keyboard",
"kickoff", "kidneys", "king", "kiosk", "kisses", "kitchens", "kiwi", "knapsack",
"knee", "knife", "knowledge", "knuckle", "koala", "laboratory", "ladder", "lagoon",
"lair", "lakes", "lamb", "language", "laptop", "large", "last", "later",
"launching", "lava", "lawsuit", "layout", "lazy", "lectures", "ledge", "leech",
"left", "legion", "leisure", "lemon", "lending", "leopard", "lesson", "lettuce",
"lexicon", "liar", "library", "licks", "lids", "lied", "lifestyle", "light",
"likewise", "lilac", "limits", "linen", "lion", "lipstick", "liquid", "listen",
"lively", "loaded", "lobster", "locker", "lodge", "lofty", "logic", "loincloth",
"long", "looking", "lopped", "lordship", "losing", "lottery", "loudly", "love",
"lower", "loyal", "lucky", "luggage", "lukewarm", "lullaby", "lumber", "lunar",
"lurk", "lush", "luxury", "lymph", "lynx", "lyrics", "macro", "madness",
"magically", "mailed", "major", "makeup", "malady", "mammal", "maps", "masterful",
"match", "maul", "maverick", "maximum", "mayor", "maze", "meant", "mechanic",
"medicate", "meeting", "megabyte", "melting", "memoir", "menu", "merger", "mesh",
"metro", "mews", "mice", "midst", "mighty", "mime", "mirror", "misery",
"mittens", "mixture", "moat", "mobile", "mocked", "mohawk", "moisture", "molten",
"moment", "money", "moon", "mops", "morsel", "mostly", "motherly", "mouth",
"movement", "mowing", "much", "muddy", "muffin", "mugged", "mullet", "mumble",
"mundane", "muppet", "mural", "musical", "muzzle", "myriad", "mystery", "myth",
"nabbing", "nagged", "nail", "names", "nanny", "napkin", "narrate", "nasty",
"natural", "nautical", "navy", "nearby", "necklace", "needed", "negative", "neither",
"neon", "nephew", "nerves", "nestle", "network", "neutral", "never", "newt",
"nexus", "nibs", "niche", "niece", "nifty", "nightly", "nimbly", "nineteen",
"nirvana", "nitrogen", "nobody", "nocturnal", "nodes", "noises", "nomad", "noodles",
"northern", "nostril", "noted", "nouns", "novelty", "nowhere", "nozzle", "nuance",
"nucleus", "nudged", "nugget", "nuisance", "null", "number", "nuns", "nurse",
"nutshell", "nylon", "oaks", "oars", "oasis", "oatmeal", "obedient", "object",
"obliged", "obnoxious", "observant", "obtains", "obvious", "occur", "ocean", "october",
"odds", "odometer", "offend", "often", "oilfield", "ointment", "okay", "older",
"olive", "olympics", "omega", "omission", "omnibus", "onboard", "oncoming", "oneself",
"ongoing", "onion", "online", "onslaught", "onto", "onward", "oozed", "opacity",
"opened", "opposite", "optical", "opus", "orange", "orbit", "orchid", "orders",
"organs", "origin", "ornament", "orphans", "oscar", "ostrich", "otherwise", "otter",
"ouch", "ought", "ounce", "ourselves", "oust", "outbreak", "oval", "oven",
"owed", "owls", "owner", "oxidant", "oxygen", "oyster", "ozone", "pact",
"paddles", "pager", "pairing", "palace", "pamphlet", "pancakes", "paper", "paradise",
"pastry", "patio", "pause", "pavements", "pawnshop", "payment", "peaches", "pebbles",
"peculiar", "pedantic", "peeled", "pegs", "pelican", "pencil", "people", "pepper",
"perfect", "pests", "petals", "phase", "pheasants", "phone", "phrases", "physics",
"piano", "picked", "pierce", "pigment", "piloted", "pimple", "pinched", "pioneer",
"pipeline", "pirate", "pistons", "pitched", "pivot", "pixels", "pizza", "playful",
"pledge", "pliers", "plotting", "plus", "plywood", "poaching", "pockets", "podcast",
"poetry", "point", "poker", "polar", "ponies", "pool", "popular", "portents",
"possible", "potato", "pouch", "poverty", "powder", "pram", "present", "pride",
"problems", "pruned", "prying", "psychic", "public", "puck", "puddle", "puffin",
"pulp", "pumpkins", "punch", "puppy", "purged", "push", "putty", "puzzled",
"pylons", "pyramid", "python", "queen", "quick", "quote", "rabbits", "racetrack",
"radar", "rafts", "rage", "railway", "raking", "rally", "ramped", "randomly",
"rapid", "rarest", "rash", "rated", "ravine", "rays", "razor", "react",
"rebel", "recipe", "reduce", "reef", "refer", "regular", "reheat", "reinvest",
"rejoices", "rekindle", "relic", "remedy", "renting", "reorder", "repent", "request",
"reruns", "rest", "return", "reunion", "revamp", "rewind", "rhino", "rhythm",
"ribbon", "richly", "ridges", "rift", "rigid", "rims", "ringing", "riots",
"ripped", "rising", "ritual", "river", "roared", "robot", "rockets", "rodent",
"rogue", "roles", "romance", "roomy", "roped", "roster", "rotate", "rounded",
"rover", "rowboat", "royal", "ruby", "rudely", "ruffled", "rugged", "ruined",
"ruling", "rumble", "runway", "rural", "rustled", "ruthless", "sabotage", "sack",
"sadness", "safety", "saga", "sailor", "sake", "salads", "sample", "sanity",
"sapling", "sarcasm", "sash", "satin", "saucepan", "saved", "sawmill", "saxophone",
"sayings", "scamper", "scenic", "school", "science", "scoop", "scrub", "scuba",
"seasons", "second", "sedan", "seeded", "segments", "seismic", "selfish", "semifinal",
"sensible", "september", "sequence", "serving", "session", "setup", "seventh", "sewage",
"shackles", "shelter", "shipped", "shocking", "shrugged", "shuffled", "shyness", "siblings",
"sickness", "sidekick", "sieve", "sifting", "sighting", "silk", "simplest", "sincerely",
"sipped", "siren", "situated", "sixteen", "sizes", "skater", "skew", "skirting",
"skulls", "skydive", "slackens", "sleepless", "slid", "slower", "slug", "smash",
"smelting", "smidgen", "smog", "smuggled", "snake", "sneeze", "sniff", "snout",
"snug", "soapy", "sober", "soccer", "soda", "software", "soggy", "soil",
"solved", "somewhere", "sonic", "soothe", "soprano", "sorry", "southern", "sovereign",
"sowed", "soya", "space", "speedy", "sphere", "spiders", "splendid", "spout",
"sprig", "spud", "spying", "square", "stacking", "stellar", "stick", "stockpile",
"strained", "stunning", "stylishly", "subtly", "succeed", "suddenly", "suede", "suffice",
"sugar", "suitcase", "sulking", "summon", "sunken", "superior", "surfer", "sushi",
"suture", "swagger", "swept", "swiftly", "sword", "swung", "syllabus", "symptoms",
"syndrome", "syringe", "system", "taboo", "tacit", "tadpoles", "tagged", "tail",
"taken", "talent", "tamper", "tanks", "tapestry", "tarnished", "tasked", "tattoo",
"taunts", "tavern", "tawny", "taxi", "teardrop", "technical", "tedious", "teeming",
"tell", "template", "tender", "tepid", "tequila", "terminal", "testing", "tether",
"textbook", "thaw", "theatrics", "thirsty", "thorn", "threaten", "thumbs", "thwart",
"ticket", "tidy", "tiers", "tiger", "tilt", "timber", "tinted", "tipsy",
"tirade", "tissue", "titans", "toaster", "tobacco", "today", "toenail", "toffee",
"together", "toilet", "token", "tolerant", "tomorrow", "tonic", "toolbox", "topic",
"torch", "tossed", "total", "touchy", "towel", "toxic", "toyed", "trash",
"trendy", "tribal", "trolling", "truth", "trying", "tsunami", "tubes", "tucks",
"tudor", "tuesday", "tufts", "tugs", "tuition", "tulips", "tumbling", "tunnel",
"turnip", "tusks", "tutor", "tuxedo", "twang", "tweezers", "twice", "twofold",
"tycoon", "typist", "tyrant", "ugly", "ulcers", "ultimate", "umbrella", "umpire",
"unafraid", "unbending", "uncle", "under", "uneven", "unfit", "ungainly", "unhappy",
"union", "unjustly", "unknown", "unlikely", "unmask", "unnoticed", "unopened", "unplugs",
"unquoted", "unrest", "unsafe", "until", "unusual", "unveil", "unwind", "unzip",
"upbeat", "upcoming", "update", "upgrade", "uphill", "upkeep", "upload", "upon",
"upper", "upright", "upstairs", "uptight", "upwards", "urban", "urchins", "urgent",
"usage", "useful", "usher", "using", "usual", "utensils", "utility", "utmost",
"utopia", "uttered", "vacation", "vague", "vain", "value", "vampire", "vane",
"vapidly", "vary", "vastness", "vats", "vaults", "vector", "veered", "vegan",
"vehicle", "vein", "velvet", "venomous", "verification", "vessel", "veteran", "vexed",
"vials", "vibrate", "victim", "video", "viewpoint", "vigilant", "viking", "village",
"vinegar", "violin", "vipers", "virtual", "visited", "vitals", "vivid", "vixen",
"vocal", "vogue", "voice", "volcano", "vortex", "voted", "voucher", "vowels",
"voyage", "vulture", "wade", "waffle", "wagtail", "waist", "waking", "wallets",
"wanted", "warped", "washing", "water", "waveform", "waxing", "wayside", "weavers",
"website", "wedge", "weekday", "weird", "welders", "went", "wept", "were",
"western", "wetsuit", "whale", "when", "whipped", "whole", "wickets", "width",
"wield", "wife", "wiggle", "wildly", "winter", "wipeout", "wiring", "wise",
"withdrawn", "wives", "wizard", "wobbly", "woes", "woken", "wolf", "womanly",
"wonders", "woozy", "worry", "wounded", "woven", "wrap", "wrist", "wrong",
"yacht", "yahoo", "yanks", "yard", "yawning", "yearbook", "yellow", "yesterday",
"yeti", "yields", "yodel", "yoga", "younger", "yoyo", "zapped", "zeal",
"zebra", "zero", "zesty", "zigzags", "zinger", "zippers", "zodiac", "zombie",
"zones", "zoom"
]
},
'spanish': {
prefix_len: 4,
words: [
"á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"
]
},
'portuguese': {
prefix_len: 3,
words: [
"abaular", "abdominal", "abeto", "abissinio", "abjeto", "ablucao", "abnegar", "abotoar",
"abrutalhar", "absurdo", "abutre", "acautelar", "accessorios", "acetona", "achocolatado", "acirrar",
"acne", "acovardar", "acrostico", "actinomicete", "acustico", "adaptavel", "adeus", "adivinho",
"adjunto", "admoestar", "adnominal", "adotivo", "adquirir", "adriatico", "adsorcao", "adutora",
"advogar", "aerossol", "afazeres", "afetuoso", "afixo", "afluir", "afortunar", "afrouxar",
"aftosa", "afunilar", "agentes", "agito", "aglutinar", "aiatola", "aimore", "aino",
"aipo", "airoso", "ajeitar", "ajoelhar", "ajudante", "ajuste", "alazao", "albumina",
"alcunha", "alegria", "alexandre", "alforriar", "alguns", "alhures", "alivio", "almoxarife",
"alotropico", "alpiste", "alquimista", "alsaciano", "altura", "aluviao", "alvura", "amazonico",
"ambulatorio", "ametodico", "amizades", "amniotico", "amovivel", "amurada", "anatomico", "ancorar",
"anexo", "anfora", "aniversario", "anjo", "anotar", "ansioso", "anturio", "anuviar",
"anverso", "anzol", "aonde", "apaziguar", "apito", "aplicavel", "apoteotico", "aprimorar",
"aprumo", "apto", "apuros", "aquoso", "arauto", "arbusto", "arduo", "aresta",
"arfar", "arguto", "aritmetico", "arlequim", "armisticio", "aromatizar", "arpoar", "arquivo",
"arrumar", "arsenio", "arturiano", "aruaque", "arvores", "asbesto", "ascorbico", "aspirina",
"asqueroso", "assustar", "astuto", "atazanar", "ativo", "atletismo", "atmosferico", "atormentar",
"atroz", "aturdir", "audivel", "auferir", "augusto", "aula", "aumento", "aurora",
"autuar", "avatar", "avexar", "avizinhar", "avolumar", "avulso", "axiomatico", "azerbaijano",
"azimute", "azoto", "azulejo", "bacteriologista", "badulaque", "baforada", "baixote", "bajular",
"balzaquiana", "bambuzal", "banzo", "baoba", "baqueta", "barulho", "bastonete", "batuta",
"bauxita", "bavaro", "bazuca", "bcrepuscular", "beato", "beduino", "begonia", "behaviorista",
"beisebol", "belzebu", "bemol", "benzido", "beocio", "bequer", "berro", "besuntar",
"betume", "bexiga", "bezerro", "biatlon", "biboca", "bicuspide", "bidirecional", "bienio",
"bifurcar", "bigorna", "bijuteria", "bimotor", "binormal", "bioxido", "bipolarizacao", "biquini",
"birutice", "bisturi", "bituca", "biunivoco", "bivalve", "bizarro", "blasfemo", "blenorreia",
"blindar", "bloqueio", "blusao", "boazuda", "bofete", "bojudo", "bolso", "bombordo",
"bonzo", "botina", "boquiaberto", "bostoniano", "botulismo", "bourbon", "bovino", "boximane",
"bravura", "brevidade", "britar", "broxar", "bruno", "bruxuleio", "bubonico", "bucolico",
"buda", "budista", "bueiro", "buffer", "bugre", "bujao", "bumerangue", "burundines",
"busto", "butique", "buzios", "caatinga", "cabuqui", "cacunda", "cafuzo", "cajueiro",
"camurca", "canudo", "caquizeiro", "carvoeiro", "casulo", "catuaba", "cauterizar", "cebolinha",
"cedula", "ceifeiro", "celulose", "cerzir", "cesto", "cetro", "ceus", "cevar",
"chavena", "cheroqui", "chita", "chovido", "chuvoso", "ciatico", "cibernetico", "cicuta",
"cidreira", "cientistas", "cifrar", "cigarro", "cilio", "cimo", "cinzento", "cioso",
"cipriota", "cirurgico", "cisto", "citrico", "ciumento", "civismo", "clavicula", "clero",
"clitoris", "cluster", "coaxial", "cobrir", "cocota", "codorniz", "coexistir", "cogumelo",
"coito", "colusao", "compaixao", "comutativo", "contentamento", "convulsivo", "coordenativa", "coquetel",
"correto", "corvo", "costureiro", "cotovia", "covil", "cozinheiro", "cretino", "cristo",
"crivo", "crotalo", "cruzes", "cubo", "cucuia", "cueiro", "cuidar", "cujo",
"cultural", "cunilingua", "cupula", "curvo", "custoso", "cutucar", "czarismo", "dablio",
"dacota", "dados", "daguerreotipo", "daiquiri", "daltonismo", "damista", "dantesco", "daquilo",
"darwinista", "dasein", "dativo", "deao", "debutantes", "decurso", "deduzir", "defunto",
"degustar", "dejeto", "deltoide", "demover", "denunciar", "deputado", "deque", "dervixe",
"desvirtuar", "deturpar", "deuteronomio", "devoto", "dextrose", "dezoito", "diatribe", "dicotomico",
"didatico", "dietista", "difuso", "digressao", "diluvio", "diminuto", "dinheiro", "dinossauro",
"dioxido", "diplomatico", "dique", "dirimivel", "disturbio", "diurno", "divulgar", "dizivel",
"doar", "dobro", "docura", "dodoi", "doer", "dogue", "doloso", "domo",
"donzela", "doping", "dorsal", "dossie", "dote", "doutro", "doze", "dravidico",
"dreno", "driver", "dropes", "druso", "dubnio", "ducto", "dueto", "dulija",
"dundum", "duodeno", "duquesa", "durou", "duvidoso", "duzia", "ebano", "ebrio",
"eburneo", "echarpe", "eclusa", "ecossistema", "ectoplasma", "ecumenismo", "eczema", "eden",
"editorial", "edredom", "edulcorar", "efetuar", "efigie", "efluvio", "egiptologo", "egresso",
"egua", "einsteiniano", "eira", "eivar", "eixos", "ejetar", "elastomero", "eldorado",
"elixir", "elmo", "eloquente", "elucidativo", "emaranhar", "embutir", "emerito", "emfa",
"emitir", "emotivo", "empuxo", "emulsao", "enamorar", "encurvar", "enduro", "enevoar",
"enfurnar", "enguico", "enho", "enigmista", "enlutar", "enormidade", "enpreendimento", "enquanto",
"enriquecer", "enrugar", "entusiastico", "enunciar", "envolvimento", "enxuto", "enzimatico", "eolico",
"epiteto", "epoxi", "epura", "equivoco", "erario", "erbio", "ereto", "erguido",
"erisipela", "ermo", "erotizar", "erros", "erupcao", "ervilha", "esburacar", "escutar",
"esfuziante", "esguio", "esloveno", "esmurrar", "esoterismo", "esperanca", "espirito", "espurio",
"essencialmente", "esturricar", "esvoacar", "etario", "eterno", "etiquetar", "etnologo", "etos",
"etrusco", "euclidiano", "euforico", "eugenico", "eunuco", "europio", "eustaquio", "eutanasia",
"evasivo", "eventualidade", "evitavel", "evoluir", "exaustor", "excursionista", "exercito", "exfoliado",
"exito", "exotico", "expurgo", "exsudar", "extrusora", "exumar", "fabuloso", "facultativo",
"fado", "fagulha", "faixas", "fajuto", "faltoso", "famoso", "fanzine", "fapesp",
"faquir", "fartura", "fastio", "faturista", "fausto", "favorito", "faxineira", "fazer",
"fealdade", "febril", "fecundo", "fedorento", "feerico", "feixe", "felicidade", "felipe",
"feltro", "femur", "fenotipo", "fervura", "festivo", "feto", "feudo", "fevereiro",
"fezinha", "fiasco", "fibra", "ficticio", "fiduciario", "fiesp", "fifa", "figurino",
"fijiano", "filtro", "finura", "fiorde", "fiquei", "firula", "fissurar", "fitoteca",
"fivela", "fixo", "flavio", "flexor", "flibusteiro", "flotilha", "fluxograma", "fobos",
"foco", "fofura", "foguista", "foie", "foliculo", "fominha", "fonte", "forum",
"fosso", "fotossintese", "foxtrote", "fraudulento", "frevo", "frivolo", "frouxo", "frutose",
"fuba", "fucsia", "fugitivo", "fuinha", "fujao", "fulustreco", "fumo", "funileiro",
"furunculo", "fustigar", "futurologo", "fuxico", "fuzue", "gabriel", "gado", "gaelico",
"gafieira", "gaguejo", "gaivota", "gajo", "galvanoplastico", "gamo", "ganso", "garrucha",
"gastronomo", "gatuno", "gaussiano", "gaviao", "gaxeta", "gazeteiro", "gear", "geiser",
"geminiano", "generoso", "genuino", "geossinclinal", "gerundio", "gestual", "getulista", "gibi",
"gigolo", "gilete", "ginseng", "giroscopio", "glaucio", "glacial", "gleba", "glifo",
"glote", "glutonia", "gnostico", "goela", "gogo", "goitaca", "golpista", "gomo",
"gonzo", "gorro", "gostou", "goticula", "gourmet", "governo", "gozo", "graxo",
"grevista", "grito", "grotesco", "gruta", "guaxinim", "gude", "gueto", "guizo",
"guloso", "gume", "guru", "gustativo", "gustavo", "gutural", "habitue", "haitiano",
"halterofilista", "hamburguer", "hanseniase", "happening", "harpista", "hastear", "haveres", "hebreu",
"hectometro", "hedonista", "hegira", "helena", "helminto", "hemorroidas", "henrique", "heptassilabo",
"hertziano", "hesitar", "heterossexual", "heuristico", "hexagono", "hiato", "hibrido", "hidrostatico",
"hieroglifo", "hifenizar", "higienizar", "hilario", "himen", "hino", "hippie", "hirsuto",
"historiografia", "hitlerista", "hodometro", "hoje", "holograma", "homus", "honroso", "hoquei",
"horto", "hostilizar", "hotentote", "huguenote", "humilde", "huno", "hurra", "hutu",
"iaia", "ialorixa", "iambico", "iansa", "iaque", "iara", "iatista", "iberico",
"ibis", "icar", "iceberg", "icosagono", "idade", "ideologo", "idiotice", "idoso",
"iemenita", "iene", "igarape", "iglu", "ignorar", "igreja", "iguaria", "iidiche",
"ilativo", "iletrado", "ilharga", "ilimitado", "ilogismo", "ilustrissimo", "imaturo", "imbuzeiro",
"imerso", "imitavel", "imovel", "imputar", "imutavel", "inaveriguavel", "incutir", "induzir",
"inextricavel", "infusao", "ingua", "inhame", "iniquo", "injusto", "inning", "inoxidavel",
"inquisitorial", "insustentavel", "intumescimento", "inutilizavel", "invulneravel", "inzoneiro", "iodo", "iogurte",
"ioio", "ionosfera", "ioruba", "iota", "ipsilon", "irascivel", "iris", "irlandes",
"irmaos", "iroques", "irrupcao", "isca", "isento", "islandes", "isotopo", "isqueiro",
"israelita", "isso", "isto", "iterbio", "itinerario", "itrio", "iuane", "iugoslavo",
"jabuticabeira", "jacutinga", "jade", "jagunco", "jainista", "jaleco", "jambo", "jantarada",
"japones", "jaqueta", "jarro", "jasmim", "jato", "jaula", "javel", "jazz",
"jegue", "jeitoso", "jejum", "jenipapo", "jeova", "jequitiba", "jersei", "jesus",
"jetom", "jiboia", "jihad", "jilo", "jingle", "jipe", "jocoso", "joelho",
"joguete", "joio", "jojoba", "jorro", "jota", "joule", "joviano", "jubiloso",
"judoca", "jugular", "juizo", "jujuba", "juliano", "jumento", "junto", "jururu",
"justo", "juta", "juventude", "labutar", "laguna", "laico", "lajota", "lanterninha",
"lapso", "laquear", "lastro", "lauto", "lavrar", "laxativo", "lazer", "leasing",
"lebre", "lecionar", "ledo", "leguminoso", "leitura", "lele", "lemure", "lento",
"leonardo", "leopardo", "lepton", "leque", "leste", "letreiro", "leucocito", "levitico",
"lexicologo", "lhama", "lhufas", "liame", "licoroso", "lidocaina", "liliputiano", "limusine",
"linotipo", "lipoproteina", "liquidos", "lirismo", "lisura", "liturgico", "livros", "lixo",
"lobulo", "locutor", "lodo", "logro", "lojista", "lombriga", "lontra", "loop",
"loquaz", "lorota", "losango", "lotus", "louvor", "luar", "lubrificavel", "lucros",
"lugubre", "luis", "luminoso", "luneta", "lustroso", "luto", "luvas", "luxuriante",
"luzeiro", "maduro", "maestro", "mafioso", "magro", "maiuscula", "majoritario", "malvisto",
"mamute", "manutencao", "mapoteca", "maquinista", "marzipa", "masturbar", "matuto", "mausoleu",
"mavioso", "maxixe", "mazurca", "meandro", "mecha", "medusa", "mefistofelico", "megera",
"meirinho", "melro", "memorizar", "menu", "mequetrefe", "mertiolate", "mestria", "metroviario",
"mexilhao", "mezanino", "miau", "microssegundo", "midia", "migratorio", "mimosa", "minuto",
"miosotis", "mirtilo", "misturar", "mitzvah", "miudos", "mixuruca", "mnemonico", "moagem",
"mobilizar", "modulo", "moer", "mofo", "mogno", "moita", "molusco", "monumento",
"moqueca", "morubixaba", "mostruario", "motriz", "mouse", "movivel", "mozarela", "muarra",
"muculmano", "mudo", "mugir", "muitos", "mumunha", "munir", "muon", "muquira",
"murros", "musselina", "nacoes", "nado", "naftalina", "nago", "naipe", "naja",
"nalgum", "namoro", "nanquim", "napolitano", "naquilo", "nascimento", "nautilo", "navios",
"nazista", "nebuloso", "nectarina", "nefrologo", "negus", "nelore", "nenufar", "nepotismo",
"nervura", "neste", "netuno", "neutron", "nevoeiro", "newtoniano", "nexo", "nhenhenhem",
"nhoque", "nigeriano", "niilista", "ninho", "niobio", "niponico", "niquelar", "nirvana",
"nisto", "nitroglicerina", "nivoso", "nobreza", "nocivo", "noel", "nogueira", "noivo",
"nojo", "nominativo", "nonuplo", "noruegues", "nostalgico", "noturno", "nouveau", "nuanca",
"nublar", "nucleotideo", "nudista", "nulo", "numismatico", "nunquinha", "nupcias", "nutritivo",
"nuvens", "oasis", "obcecar", "obeso", "obituario", "objetos", "oblongo", "obnoxio",
"obrigatorio", "obstruir", "obtuso", "obus", "obvio", "ocaso", "occipital", "oceanografo",
"ocioso", "oclusivo", "ocorrer", "ocre", "octogono", "odalisca", "odisseia", "odorifico",
"oersted", "oeste", "ofertar", "ofidio", "oftalmologo", "ogiva", "ogum", "oigale",
"oitavo", "oitocentos", "ojeriza", "olaria", "oleoso", "olfato", "olhos", "oliveira",
"olmo", "olor", "olvidavel", "ombudsman", "omeleteira", "omitir", "omoplata", "onanismo",
"ondular", "oneroso", "onomatopeico", "ontologico", "onus", "onze", "opalescente", "opcional",
"operistico", "opio", "oposto", "oprobrio", "optometrista", "opusculo", "oratorio", "orbital",
"orcar", "orfao", "orixa", "orla", "ornitologo", "orquidea", "ortorrombico", "orvalho",
"osculo", "osmotico", "ossudo", "ostrogodo", "otario", "otite", "ouro", "ousar",
"outubro", "ouvir", "ovario", "overnight", "oviparo", "ovni", "ovoviviparo", "ovulo",
"oxala", "oxente", "oxiuro", "oxossi", "ozonizar", "paciente", "pactuar", "padronizar",
"paete", "pagodeiro", "paixao", "pajem", "paludismo", "pampas", "panturrilha", "papudo",
"paquistanes", "pastoso", "patua", "paulo", "pauzinhos", "pavoroso", "paxa", "pazes",
"peao", "pecuniario", "pedunculo", "pegaso", "peixinho", "pejorativo", "pelvis", "penuria",
"pequno", "petunia", "pezada", "piauiense", "pictorico", "pierro", "pigmeu", "pijama",
"pilulas", "pimpolho", "pintura", "piorar", "pipocar", "piqueteiro", "pirulito", "pistoleiro",
"pituitaria", "pivotar", "pixote", "pizzaria", "plistoceno", "plotar", "pluviometrico", "pneumonico",
"poco", "podridao", "poetisa", "pogrom", "pois", "polvorosa", "pomposo", "ponderado",
"pontudo", "populoso", "poquer", "porvir", "posudo", "potro", "pouso", "povoar",
"prazo", "prezar", "privilegios", "proximo", "prussiano", "pseudopode", "psoriase", "pterossauros",
"ptialina", "ptolemaico", "pudor", "pueril", "pufe", "pugilista", "puir", "pujante",
"pulverizar", "pumba", "punk", "purulento", "pustula", "putsch", "puxe", "quatrocentos",
"quetzal", "quixotesco", "quotizavel", "rabujice", "racista", "radonio", "rafia", "ragu",
"rajado", "ralo", "rampeiro", "ranzinza", "raptor", "raquitismo", "raro", "rasurar",
"ratoeira", "ravioli", "razoavel", "reavivar", "rebuscar", "recusavel", "reduzivel", "reexposicao",
"refutavel", "regurgitar", "reivindicavel", "rejuvenescimento", "relva", "remuneravel", "renunciar", "reorientar",
"repuxo", "requisito", "resumo", "returno", "reutilizar", "revolvido", "rezonear", "riacho",
"ribossomo", "ricota", "ridiculo", "rifle", "rigoroso", "rijo", "rimel", "rins",
"rios", "riqueza", "riquixa", "rissole", "ritualistico", "rivalizar", "rixa", "robusto",
"rococo", "rodoviario", "roer", "rogo", "rojao", "rolo", "rompimento", "ronronar",
"roqueiro", "rorqual", "rosto", "rotundo", "rouxinol", "roxo", "royal", "ruas",
"rucula", "rudimentos", "ruela", "rufo", "rugoso", "ruivo", "rule", "rumoroso",
"runico", "ruptura", "rural", "rustico", "rutilar", "saariano", "sabujo", "sacudir",
"sadomasoquista", "safra", "sagui", "sais", "samurai", "santuario", "sapo", "saquear",
"sartriano", "saturno", "saude", "sauva", "saveiro", "saxofonista", "sazonal", "scherzo",
"script", "seara", "seborreia", "secura", "seduzir", "sefardim", "seguro", "seja",
"selvas", "sempre", "senzala", "sepultura", "sequoia", "sestercio", "setuplo", "seus",
"seviciar", "sezonismo", "shalom", "siames", "sibilante", "sicrano", "sidra", "sifilitico",
"signos", "silvo", "simultaneo", "sinusite", "sionista", "sirio", "sisudo", "situar",
"sivan", "slide", "slogan", "soar", "sobrio", "socratico", "sodomizar", "soerguer",
"software", "sogro", "soja", "solver", "somente", "sonso", "sopro", "soquete",
"sorveteiro", "sossego", "soturno", "sousafone", "sovinice", "sozinho", "suavizar", "subverter",
"sucursal", "sudoriparo", "sufragio", "sugestoes", "suite", "sujo", "sultao", "sumula",
"suntuoso", "suor", "supurar", "suruba", "susto", "suturar", "suvenir", "tabuleta",
"taco", "tadjique", "tafeta", "tagarelice", "taitiano", "talvez", "tampouco", "tanzaniano",
"taoista", "tapume", "taquion", "tarugo", "tascar", "tatuar", "tautologico", "tavola",
"taxionomista", "tchecoslovaco", "teatrologo", "tectonismo", "tedioso", "teflon", "tegumento", "teixo",
"telurio", "temporas", "tenue", "teosofico", "tepido", "tequila", "terrorista", "testosterona",
"tetrico", "teutonico", "teve", "texugo", "tiara", "tibia", "tiete", "tifoide",
"tigresa", "tijolo", "tilintar", "timpano", "tintureiro", "tiquete", "tiroteio", "tisico",
"titulos", "tive", "toar", "toboga", "tofu", "togoles", "toicinho", "tolueno",
"tomografo", "tontura", "toponimo", "toquio", "torvelinho", "tostar", "toto", "touro",
"toxina", "trazer", "trezentos", "trivialidade", "trovoar", "truta", "tuaregue", "tubular",
"tucano", "tudo", "tufo", "tuiste", "tulipa", "tumultuoso", "tunisino", "tupiniquim",
"turvo", "tutu", "ucraniano", "udenista", "ufanista", "ufologo", "ugaritico", "uiste",
"uivo", "ulceroso", "ulema", "ultravioleta", "umbilical", "umero", "umido", "umlaut",
"unanimidade", "unesco", "ungulado", "unheiro", "univoco", "untuoso", "urano", "urbano",
"urdir", "uretra", "urgente", "urinol", "urna", "urologo", "urro", "ursulina",
"urtiga", "urupe", "usavel", "usbeque", "usei", "usineiro", "usurpar", "utero",
"utilizar", "utopico", "uvular", "uxoricidio", "vacuo", "vadio", "vaguear", "vaivem",
"valvula", "vampiro", "vantajoso", "vaporoso", "vaquinha", "varziano", "vasto", "vaticinio",
"vaudeville", "vazio", "veado", "vedico", "veemente", "vegetativo", "veio", "veja",
"veludo", "venusiano", "verdade", "verve", "vestuario", "vetusto", "vexatorio", "vezes",
"viavel", "vibratorio", "victor", "vicunha", "vidros", "vietnamita", "vigoroso", "vilipendiar",
"vime", "vintem", "violoncelo", "viquingue", "virus", "visualizar", "vituperio", "viuvo",
"vivo", "vizir", "voar", "vociferar", "vodu", "vogar", "voile", "volver",
"vomito", "vontade", "vortice", "vosso", "voto", "vovozinha", "voyeuse", "vozes",
"vulva", "vupt", "western", "xadrez", "xale", "xampu", "xango", "xarope",
"xaual", "xavante", "xaxim", "xenonio", "xepa", "xerox", "xicara", "xifopago",
"xiita", "xilogravura", "xinxim", "xistoso", "xixi", "xodo", "xogum", "xucro",
"zabumba", "zagueiro", "zambiano", "zanzar", "zarpar", "zebu", "zefiro", "zeloso",
"zenite", "zumbi"
]
},
'japanese': {
prefix_len: 3,
words: [
"あいこくしん", "あいさつ", "あいだ", "あおぞら", "あかちゃん", "あきる", "あけがた", "あける",
"あこがれる", "あさい", "あさひ", "あしあと", "あじわう", "あずかる", "あずき", "あそぶ",
"あたえる", "あたためる", "あたりまえ", "あたる", "あつい", "あつかう", "あっしゅく", "あつまり",
"あつめる", "あてな", "あてはまる", "あひる", "あぶら", "あぶる", "あふれる", "あまい",
"あまど", "あまやかす", "あまり", "あみもの", "あめりか", "あやまる", "あゆむ", "あらいぐま",
"あらし", "あらすじ", "あらためる", "あらゆる", "あらわす", "ありがとう", "あわせる", "あわてる",
"あんい", "あんがい", "あんこ", "あんぜん", "あんてい", "あんない", "あんまり", "いいだす",
"いおん", "いがい", "いがく", "いきおい", "いきなり", "いきもの", "いきる", "いくじ",
"いくぶん", "いけばな", "いけん", "いこう", "いこく", "いこつ", "いさましい", "いさん",
"いしき", "いじゅう", "いじょう", "いじわる", "いずみ", "いずれ", "いせい", "いせえび",
"いせかい", "いせき", "いぜん", "いそうろう", "いそがしい", "いだい", "いだく", "いたずら",
"いたみ", "いたりあ", "いちおう", "いちじ", "いちど", "いちば", "いちぶ", "いちりゅう",
"いつか", "いっしゅん", "いっせい", "いっそう", "いったん", "いっち", "いってい", "いっぽう",
"いてざ", "いてん", "いどう", "いとこ", "いない", "いなか", "いねむり", "いのち",
"いのる", "いはつ", "いばる", "いはん", "いびき", "いひん", "いふく", "いへん",
"いほう", "いみん", "いもうと", "いもたれ", "いもり", "いやがる", "いやす", "いよかん",
"いよく", "いらい", "いらすと", "いりぐち", "いりょう", "いれい", "いれもの", "いれる",
"いろえんぴつ", "いわい", "いわう", "いわかん", "いわば", "いわゆる", "いんげんまめ", "いんさつ",
"いんしょう", "いんよう", "うえき", "うえる", "うおざ", "うがい", "うかぶ", "うかべる",
"うきわ", "うくらいな", "うくれれ", "うけたまわる", "うけつけ", "うけとる", "うけもつ", "うける",
"うごかす", "うごく", "うこん", "うさぎ", "うしなう", "うしろがみ", "うすい", "うすぎ",
"うすぐらい", "うすめる", "うせつ", "うちあわせ", "うちがわ", "うちき", "うちゅう", "うっかり",
"うつくしい", "うったえる", "うつる", "うどん", "うなぎ", "うなじ", "うなずく", "うなる",
"うねる", "うのう", "うぶげ", "うぶごえ", "うまれる", "うめる", "うもう", "うやまう",
"うよく", "うらがえす", "うらぐち", "うらない", "うりあげ", "うりきれ", "うるさい", "うれしい",
"うれゆき", "うれる", "うろこ", "うわき", "うわさ", "うんこう", "うんちん", "うんてん",
"うんどう", "えいえん", "えいが", "えいきょう", "えいご", "えいせい", "えいぶん", "えいよう",
"えいわ", "えおり", "えがお", "えがく", "えきたい", "えくせる", "えしゃく", "えすて",
"えつらん", "えのぐ", "えほうまき", "えほん", "えまき", "えもじ", "えもの", "えらい",
"えらぶ", "えりあ", "えんえん", "えんかい", "えんぎ", "えんげき", "えんしゅう", "えんぜつ",
"えんそく", "えんちょう", "えんとつ", "おいかける", "おいこす", "おいしい", "おいつく", "おうえん",
"おうさま", "おうじ", "おうせつ", "おうたい", "おうふく", "おうべい", "おうよう", "おえる",
"おおい", "おおう", "おおどおり", "おおや", "おおよそ", "おかえり", "おかず", "おがむ",
"おかわり", "おぎなう", "おきる", "おくさま", "おくじょう", "おくりがな", "おくる", "おくれる",
"おこす", "おこなう", "おこる", "おさえる", "おさない", "おさめる", "おしいれ", "おしえる",
"おじぎ", "おじさん", "おしゃれ", "おそらく", "おそわる", "おたがい", "おたく", "おだやか",
"おちつく", "おっと", "おつり", "おでかけ", "おとしもの", "おとなしい", "おどり", "おどろかす",
"おばさん", "おまいり", "おめでとう", "おもいで", "おもう", "おもたい", "おもちゃ", "おやつ",
"おやゆび", "およぼす", "おらんだ", "おろす", "おんがく", "おんけい", "おんしゃ", "おんせん",
"おんだん", "おんちゅう", "おんどけい", "かあつ", "かいが", "がいき", "がいけん", "がいこう",
"かいさつ", "かいしゃ", "かいすいよく", "かいぜん", "かいぞうど", "かいつう", "かいてん", "かいとう",
"かいふく", "がいへき", "かいほう", "かいよう", "がいらい", "かいわ", "かえる", "かおり",
"かかえる", "かがく", "かがし", "かがみ", "かくご", "かくとく", "かざる", "がぞう",
"かたい", "かたち", "がちょう", "がっきゅう", "がっこう", "がっさん", "がっしょう", "かなざわし",
"かのう", "がはく", "かぶか", "かほう", "かほご", "かまう", "かまぼこ", "かめれおん",
"かゆい", "かようび", "からい", "かるい", "かろう", "かわく", "かわら", "がんか",
"かんけい", "かんこう", "かんしゃ", "かんそう", "かんたん", "かんち", "がんばる", "きあい",
"きあつ", "きいろ", "ぎいん", "きうい", "きうん", "きえる", "きおう", "きおく",
"きおち", "きおん", "きかい", "きかく", "きかんしゃ", "ききて", "きくばり", "きくらげ",
"きけんせい", "きこう", "きこえる", "きこく", "きさい", "きさく", "きさま", "きさらぎ",
"ぎじかがく", "ぎしき", "ぎじたいけん", "ぎじにってい", "ぎじゅつしゃ", "きすう", "きせい", "きせき",
"きせつ", "きそう", "きぞく", "きぞん", "きたえる", "きちょう", "きつえん", "ぎっちり",
"きつつき", "きつね", "きてい", "きどう", "きどく", "きない", "きなが", "きなこ",
"きぬごし", "きねん", "きのう", "きのした", "きはく", "きびしい", "きひん", "きふく",
"きぶん", "きぼう", "きほん", "きまる", "きみつ", "きむずかしい", "きめる", "きもだめし",
"きもち", "きもの", "きゃく", "きやく", "ぎゅうにく", "きよう", "きょうりゅう", "きらい",
"きらく", "きりん", "きれい", "きれつ", "きろく", "ぎろん", "きわめる", "ぎんいろ",
"きんかくじ", "きんじょ", "きんようび", "ぐあい", "くいず", "くうかん", "くうき", "くうぐん",
"くうこう", "ぐうせい", "くうそう", "ぐうたら", "くうふく", "くうぼ", "くかん", "くきょう",
"くげん", "ぐこう", "くさい", "くさき", "くさばな", "くさる", "くしゃみ", "くしょう",
"くすのき", "くすりゆび", "くせげ", "くせん", "ぐたいてき", "くださる", "くたびれる", "くちこみ",
"くちさき", "くつした", "ぐっすり", "くつろぐ", "くとうてん", "くどく", "くなん", "くねくね",
"くのう", "くふう", "くみあわせ", "くみたてる", "くめる", "くやくしょ", "くらす", "くらべる",
"くるま", "くれる", "くろう", "くわしい", "ぐんかん", "ぐんしょく", "ぐんたい", "ぐんて",
"けあな", "けいかく", "けいけん", "けいこ", "けいさつ", "げいじゅつ", "けいたい", "げいのうじん",
"けいれき", "けいろ", "けおとす", "けおりもの", "げきか", "げきげん", "げきだん", "げきちん",
"げきとつ", "げきは", "げきやく", "げこう", "げこくじょう", "げざい", "けさき", "げざん",
"けしき", "けしごむ", "けしょう", "げすと", "けたば", "けちゃっぷ", "けちらす", "けつあつ",
"けつい", "けつえき", "けっこん", "けつじょ", "けっせき", "けってい", "けつまつ", "げつようび",
"げつれい", "けつろん", "げどく", "けとばす", "けとる", "けなげ", "けなす", "けなみ",
"けぬき", "げねつ", "けねん", "けはい", "げひん", "けぶかい", "げぼく", "けまり",
"けみかる", "けむし", "けむり", "けもの", "けらい", "けろけろ", "けわしい", "けんい",
"けんえつ", "けんお", "けんか", "げんき", "けんげん", "けんこう", "けんさく", "けんしゅう",
"けんすう", "げんそう", "けんちく", "けんてい", "けんとう", "けんない", "けんにん", "げんぶつ",
"けんま", "けんみん", "けんめい", "けんらん", "けんり", "こあくま", "こいぬ", "こいびと",
"ごうい", "こうえん", "こうおん", "こうかん", "ごうきゅう", "ごうけい", "こうこう", "こうさい",
"こうじ", "こうすい", "ごうせい", "こうそく", "こうたい", "こうちゃ", "こうつう", "こうてい",
"こうどう", "こうない", "こうはい", "ごうほう", "ごうまん", "こうもく", "こうりつ", "こえる",
"こおり", "ごかい", "ごがつ", "ごかん", "こくご", "こくさい", "こくとう", "こくない",
"こくはく", "こぐま", "こけい", "こける", "ここのか", "こころ", "こさめ", "こしつ",
"こすう", "こせい", "こせき", "こぜん", "こそだて", "こたい", "こたえる", "こたつ",
"こちょう", "こっか", "こつこつ", "こつばん", "こつぶ", "こてい", "こてん", "ことがら",
"ことし", "ことば", "ことり", "こなごな", "こねこね", "このまま", "このみ", "このよ",
"ごはん", "こひつじ", "こふう", "こふん", "こぼれる", "ごまあぶら", "こまかい", "ごますり",
"こまつな", "こまる", "こむぎこ", "こもじ", "こもち", "こもの", "こもん", "こやく",
"こやま", "こゆう", "こゆび", "こよい", "こよう", "こりる", "これくしょん", "ころっけ",
"こわもて", "こわれる", "こんいん", "こんかい", "こんき", "こんしゅう", "こんすい", "こんだて",
"こんとん", "こんなん", "こんびに", "こんぽん", "こんまけ", "こんや", "こんれい", "こんわく",
"ざいえき", "さいかい", "さいきん", "ざいげん", "ざいこ", "さいしょ", "さいせい", "ざいたく",
"ざいちゅう", "さいてき", "ざいりょう", "さうな", "さかいし", "さがす", "さかな", "さかみち",
"さがる", "さぎょう", "さくし", "さくひん", "さくら", "さこく", "さこつ", "さずかる",
"ざせき", "さたん", "さつえい", "ざつおん", "ざっか", "ざつがく", "さっきょく", "ざっし",
"さつじん", "ざっそう", "さつたば", "さつまいも", "さてい", "さといも", "さとう", "さとおや",
"さとし", "さとる", "さのう", "さばく", "さびしい", "さべつ", "さほう", "さほど",
"さます", "さみしい", "さみだれ", "さむけ", "さめる", "さやえんどう", "さゆう", "さよう",
"さよく", "さらだ", "ざるそば", "さわやか", "さわる", "さんいん", "さんか", "さんきゃく",
"さんこう", "さんさい", "ざんしょ", "さんすう", "さんせい", "さんそ", "さんち", "さんま",
"さんみ", "さんらん", "しあい", "しあげ", "しあさって", "しあわせ", "しいく", "しいん",
"しうち", "しえい", "しおけ", "しかい", "しかく", "じかん", "しごと", "しすう",
"じだい", "したうけ", "したぎ", "したて", "したみ", "しちょう", "しちりん", "しっかり",
"しつじ", "しつもん", "してい", "してき", "してつ", "じてん", "じどう", "しなぎれ",
"しなもの", "しなん", "しねま", "しねん", "しのぐ", "しのぶ", "しはい", "しばかり",
"しはつ", "しはらい", "しはん", "しひょう", "しふく", "じぶん", "しへい", "しほう",
"しほん", "しまう", "しまる", "しみん", "しむける", "じむしょ", "しめい", "しめる",
"しもん", "しゃいん", "しゃうん", "しゃおん", "じゃがいも", "しやくしょ", "しゃくほう", "しゃけん",
"しゃこ", "しゃざい", "しゃしん", "しゃせん", "しゃそう", "しゃたい", "しゃちょう", "しゃっきん",
"じゃま", "しゃりん", "しゃれい", "じゆう", "じゅうしょ", "しゅくはく", "じゅしん", "しゅっせき",
"しゅみ", "しゅらば", "じゅんばん", "しょうかい", "しょくたく", "しょっけん", "しょどう", "しょもつ",
"しらせる", "しらべる", "しんか", "しんこう", "じんじゃ", "しんせいじ", "しんちく", "しんりん",
"すあげ", "すあし", "すあな", "ずあん", "すいえい", "すいか", "すいとう", "ずいぶん",
"すいようび", "すうがく", "すうじつ", "すうせん", "すおどり", "すきま", "すくう", "すくない",
"すける", "すごい", "すこし", "ずさん", "すずしい", "すすむ", "すすめる", "すっかり",
"ずっしり", "ずっと", "すてき", "すてる", "すねる", "すのこ", "すはだ", "すばらしい",
"ずひょう", "ずぶぬれ", "すぶり", "すふれ", "すべて", "すべる", "ずほう", "すぼん",
"すまい", "すめし", "すもう", "すやき", "すらすら", "するめ", "すれちがう", "すろっと",
"すわる", "すんぜん", "すんぽう", "せあぶら", "せいかつ", "せいげん", "せいじ", "せいよう",
"せおう", "せかいかん", "せきにん", "せきむ", "せきゆ", "せきらんうん", "せけん", "せこう",
"せすじ", "せたい", "せたけ", "せっかく", "せっきゃく", "ぜっく", "せっけん", "せっこつ",
"せっさたくま", "せつぞく", "せつだん", "せつでん", "せっぱん", "せつび", "せつぶん", "せつめい",
"せつりつ", "せなか", "せのび", "せはば", "せびろ", "せぼね", "せまい", "せまる",
"せめる", "せもたれ", "せりふ", "ぜんあく", "せんい", "せんえい", "せんか", "せんきょ",
"せんく", "せんげん", "ぜんご", "せんさい", "せんしゅ", "せんすい", "せんせい", "せんぞ",
"せんたく", "せんちょう", "せんてい", "せんとう", "せんぬき", "せんねん", "せんぱい", "ぜんぶ",
"ぜんぽう", "せんむ", "せんめんじょ", "せんもん", "せんやく", "せんゆう", "せんよう", "ぜんら",
"ぜんりゃく", "せんれい", "せんろ", "そあく", "そいとげる", "そいね", "そうがんきょう", "そうき",
"そうご", "そうしん", "そうだん", "そうなん", "そうび", "そうめん", "そうり", "そえもの",
"そえん", "そがい", "そげき", "そこう", "そこそこ", "そざい", "そしな", "そせい",
"そせん", "そそぐ", "そだてる", "そつう", "そつえん", "そっかん", "そつぎょう", "そっけつ",
"そっこう", "そっせん", "そっと", "そとがわ", "そとづら", "そなえる", "そなた", "そふぼ",
"そぼく", "そぼろ", "そまつ", "そまる", "そむく", "そむりえ", "そめる", "そもそも",
"そよかぜ", "そらまめ", "そろう", "そんかい", "そんけい", "そんざい", "そんしつ", "そんぞく",
"そんちょう", "ぞんび", "ぞんぶん", "そんみん", "たあい", "たいいん", "たいうん", "たいえき",
"たいおう", "だいがく", "たいき", "たいぐう", "たいけん", "たいこ", "たいざい", "だいじょうぶ",
"だいすき", "たいせつ", "たいそう", "だいたい", "たいちょう", "たいてい", "だいどころ", "たいない",
"たいねつ", "たいのう", "たいはん", "だいひょう", "たいふう", "たいへん", "たいほ", "たいまつばな",
"たいみんぐ", "たいむ", "たいめん", "たいやき", "たいよう", "たいら", "たいりょく", "たいる",
"たいわん", "たうえ", "たえる", "たおす", "たおる", "たおれる", "たかい", "たかね",
"たきび", "たくさん", "たこく", "たこやき", "たさい", "たしざん", "だじゃれ", "たすける",
"たずさわる", "たそがれ", "たたかう", "たたく", "ただしい", "たたみ", "たちばな", "だっかい",
"だっきゃく", "だっこ", "だっしゅつ", "だったい", "たてる", "たとえる", "たなばた", "たにん",
"たぬき", "たのしみ", "たはつ", "たぶん", "たべる", "たぼう", "たまご", "たまる",
"だむる", "ためいき", "ためす", "ためる", "たもつ", "たやすい", "たよる", "たらす",
"たりきほんがん", "たりょう", "たりる", "たると", "たれる", "たれんと", "たろっと", "たわむれる",
"だんあつ", "たんい", "たんおん", "たんか", "たんき", "たんけん", "たんご", "たんさん",
"たんじょうび", "だんせい", "たんそく", "たんたい", "だんち", "たんてい", "たんとう", "だんな",
"たんにん", "だんねつ", "たんのう", "たんぴん", "だんぼう", "たんまつ", "たんめい", "だんれつ",
"だんろ", "だんわ", "ちあい", "ちあん", "ちいき", "ちいさい", "ちえん", "ちかい",
"ちから", "ちきゅう", "ちきん", "ちけいず", "ちけん", "ちこく", "ちさい", "ちしき",
"ちしりょう", "ちせい", "ちそう", "ちたい", "ちたん", "ちちおや", "ちつじょ", "ちてき",
"ちてん", "ちぬき", "ちぬり", "ちのう", "ちひょう", "ちへいせん", "ちほう", "ちまた",
"ちみつ", "ちみどろ", "ちめいど", "ちゃんこなべ", "ちゅうい", "ちゆりょく", "ちょうし", "ちょさくけん",
"ちらし", "ちらみ", "ちりがみ", "ちりょう", "ちるど", "ちわわ", "ちんたい", "ちんもく",
"ついか", "ついたち", "つうか", "つうじょう", "つうはん", "つうわ", "つかう", "つかれる",
"つくね", "つくる", "つけね", "つける", "つごう", "つたえる", "つづく", "つつじ",
"つつむ", "つとめる", "つながる", "つなみ", "つねづね", "つのる", "つぶす", "つまらない",
"つまる", "つみき", "つめたい", "つもり", "つもる", "つよい", "つるぼ", "つるみく",
"つわもの", "つわり", "てあし", "てあて", "てあみ", "ていおん", "ていか", "ていき",
"ていけい", "ていこく", "ていさつ", "ていし", "ていせい", "ていたい", "ていど", "ていねい",
"ていひょう", "ていへん", "ていぼう", "てうち", "ておくれ", "てきとう", "てくび", "でこぼこ",
"てさぎょう", "てさげ", "てすり", "てそう", "てちがい", "てちょう", "てつがく", "てつづき",
"でっぱ", "てつぼう", "てつや", "でぬかえ", "てぬき", "てぬぐい", "てのひら", "てはい",
"てぶくろ", "てふだ", "てほどき", "てほん", "てまえ", "てまきずし", "てみじか", "てみやげ",
"てらす", "てれび", "てわけ", "てわたし", "でんあつ", "てんいん", "てんかい", "てんき",
"てんぐ", "てんけん", "てんごく", "てんさい", "てんし", "てんすう", "でんち", "てんてき",
"てんとう", "てんない", "てんぷら", "てんぼうだい", "てんめつ", "てんらんかい", "でんりょく", "でんわ",
"どあい", "といれ", "どうかん", "とうきゅう", "どうぐ", "とうし", "とうむぎ", "とおい",
"とおか", "とおく", "とおす", "とおる", "とかい", "とかす", "ときおり", "ときどき",
"とくい", "とくしゅう", "とくてん", "とくに", "とくべつ", "とけい", "とける", "とこや",
"とさか", "としょかん", "とそう", "とたん", "とちゅう", "とっきゅう", "とっくん", "とつぜん",
"とつにゅう", "とどける", "ととのえる", "とない", "となえる", "となり", "とのさま", "とばす",
"どぶがわ", "とほう", "とまる", "とめる", "ともだち", "ともる", "どようび", "とらえる",
"とんかつ", "どんぶり", "ないかく", "ないこう", "ないしょ", "ないす", "ないせん", "ないそう",
"なおす", "ながい", "なくす", "なげる", "なこうど", "なさけ", "なたでここ", "なっとう",
"なつやすみ", "ななおし", "なにごと", "なにもの", "なにわ", "なのか", "なふだ", "なまいき",
"なまえ", "なまみ", "なみだ", "なめらか", "なめる", "なやむ", "ならう", "ならび",
"ならぶ", "なれる", "なわとび", "なわばり", "にあう", "にいがた", "にうけ", "におい",
"にかい", "にがて", "にきび", "にくしみ", "にくまん", "にげる", "にさんかたんそ", "にしき",
"にせもの", "にちじょう", "にちようび", "にっか", "にっき", "にっけい", "にっこう", "にっさん",
"にっしょく", "にっすう", "にっせき", "にってい", "になう", "にほん", "にまめ", "にもつ",
"にやり", "にゅういん", "にりんしゃ", "にわとり", "にんい", "にんか", "にんき", "にんげん",
"にんしき", "にんずう", "にんそう", "にんたい", "にんち", "にんてい", "にんにく", "にんぷ",
"にんまり", "にんむ", "にんめい", "にんよう", "ぬいくぎ", "ぬかす", "ぬぐいとる", "ぬぐう",
"ぬくもり", "ぬすむ", "ぬまえび", "ぬめり", "ぬらす", "ぬんちゃく", "ねあげ", "ねいき",
"ねいる", "ねいろ", "ねぐせ", "ねくたい", "ねくら", "ねこぜ", "ねこむ", "ねさげ",
"ねすごす", "ねそべる", "ねだん", "ねつい", "ねっしん", "ねつぞう", "ねったいぎょ", "ねぶそく",
"ねふだ", "ねぼう", "ねほりはほり", "ねまき", "ねまわし", "ねみみ", "ねむい", "ねむたい",
"ねもと", "ねらう", "ねわざ", "ねんいり", "ねんおし", "ねんかん", "ねんきん", "ねんぐ",
"ねんざ", "ねんし", "ねんちゃく", "ねんど", "ねんぴ", "ねんぶつ", "ねんまつ", "ねんりょう",
"ねんれい", "のいず", "のおづま", "のがす", "のきなみ", "のこぎり", "のこす", "のこる",
"のせる", "のぞく", "のぞむ", "のたまう", "のちほど", "のっく", "のばす", "のはら",
"のべる", "のぼる", "のみもの", "のやま", "のらいぬ", "のらねこ", "のりもの", "のりゆき",
"のれん", "のんき", "ばあい", "はあく", "ばあさん", "ばいか", "ばいく", "はいけん",
"はいご", "はいしん", "はいすい", "はいせん", "はいそう", "はいち", "ばいばい", "はいれつ",
"はえる", "はおる", "はかい", "ばかり", "はかる", "はくしゅ", "はけん", "はこぶ",
"はさみ", "はさん", "はしご", "ばしょ", "はしる", "はせる", "ぱそこん", "はそん",
"はたん", "はちみつ", "はつおん", "はっかく", "はづき", "はっきり", "はっくつ", "はっけん",
"はっこう", "はっさん", "はっしん", "はったつ", "はっちゅう", "はってん", "はっぴょう", "はっぽう",
"はなす", "はなび", "はにかむ", "はぶらし", "はみがき", "はむかう", "はめつ", "はやい",
"はやし", "はらう", "はろうぃん", "はわい", "はんい", "はんえい", "はんおん", "はんかく",
"はんきょう", "ばんぐみ", "はんこ", "はんしゃ", "はんすう", "はんだん", "ぱんち", "ぱんつ",
"はんてい", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい",
"はんらん", "はんろん", "ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかる",
"ひかん", "ひくい", "ひけつ", "ひこうき", "ひこく", "ひさい", "ひさしぶり", "ひさん",
"びじゅつかん", "ひしょ"
]
}
};
exports.mn_words = mn_words;
(function() {
'use strict';
for (var i in mn_words) {
if (mn_words.hasOwnProperty(i)) {
if (mn_words[i].prefix_len === 0) {
continue;
}
mn_words[i].trunc_words = [];
for (var j = 0; j < mn_words[i].words.length; ++j) {
mn_words[i].trunc_words.push(mn_words[i].words[j].slice(0, mn_words[i].prefix_len));
}
}
}
})();
})(typeof exports !== 'undefined' ? exports : this);