
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1635 ec53bebd-3082-4978-b11e-865c3cabbd6b
2258 lines
35 KiB
C
2258 lines
35 KiB
C
/*
|
|
* Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Högskolan
|
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
*
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* 3. All advertising materials mentioning features or use of this software
|
|
* must display the following acknowledgement:
|
|
* This product includes software developed by the Kungliga Tekniska
|
|
* Högskolan and its contributors.
|
|
*
|
|
* 4. Neither the name of the Institute nor the names of its contributors
|
|
* may be used to endorse or promote products derived from this software
|
|
* without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
RCSID("$Id$");
|
|
#endif
|
|
|
|
#include "otp_locl.h"
|
|
|
|
struct e {
|
|
char *s;
|
|
unsigned n;
|
|
};
|
|
|
|
static struct e inv_std_dict[] = {
|
|
{"A", 0},
|
|
{"ABE", 1},
|
|
{"ABED", 571},
|
|
{"ABEL", 572},
|
|
{"ABET", 573},
|
|
{"ABLE", 574},
|
|
{"ABUT", 575},
|
|
{"ACE", 2},
|
|
{"ACHE", 576},
|
|
{"ACID", 577},
|
|
{"ACME", 578},
|
|
{"ACRE", 579},
|
|
{"ACT", 3},
|
|
{"ACTA", 580},
|
|
{"ACTS", 581},
|
|
{"AD", 4},
|
|
{"ADA", 5},
|
|
{"ADAM", 582},
|
|
{"ADD", 6},
|
|
{"ADDS", 583},
|
|
{"ADEN", 584},
|
|
{"AFAR", 585},
|
|
{"AFRO", 586},
|
|
{"AGEE", 587},
|
|
{"AGO", 7},
|
|
{"AHEM", 588},
|
|
{"AHOY", 589},
|
|
{"AID", 8},
|
|
{"AIDA", 590},
|
|
{"AIDE", 591},
|
|
{"AIDS", 592},
|
|
{"AIM", 9},
|
|
{"AIR", 10},
|
|
{"AIRY", 593},
|
|
{"AJAR", 594},
|
|
{"AKIN", 595},
|
|
{"ALAN", 596},
|
|
{"ALEC", 597},
|
|
{"ALGA", 598},
|
|
{"ALIA", 599},
|
|
{"ALL", 11},
|
|
{"ALLY", 600},
|
|
{"ALMA", 601},
|
|
{"ALOE", 602},
|
|
{"ALP", 12},
|
|
{"ALSO", 603},
|
|
{"ALTO", 604},
|
|
{"ALUM", 605},
|
|
{"ALVA", 606},
|
|
{"AM", 13},
|
|
{"AMEN", 607},
|
|
{"AMES", 608},
|
|
{"AMID", 609},
|
|
{"AMMO", 610},
|
|
{"AMOK", 611},
|
|
{"AMOS", 612},
|
|
{"AMRA", 613},
|
|
{"AMY", 14},
|
|
{"AN", 15},
|
|
{"ANA", 16},
|
|
{"AND", 17},
|
|
{"ANDY", 614},
|
|
{"ANEW", 615},
|
|
{"ANN", 18},
|
|
{"ANNA", 616},
|
|
{"ANNE", 617},
|
|
{"ANT", 19},
|
|
{"ANTE", 618},
|
|
{"ANTI", 619},
|
|
{"ANY", 20},
|
|
{"APE", 21},
|
|
{"APS", 22},
|
|
{"APT", 23},
|
|
{"AQUA", 620},
|
|
{"ARAB", 621},
|
|
{"ARC", 24},
|
|
{"ARCH", 622},
|
|
{"ARE", 25},
|
|
{"AREA", 623},
|
|
{"ARGO", 624},
|
|
{"ARID", 625},
|
|
{"ARK", 26},
|
|
{"ARM", 27},
|
|
{"ARMY", 626},
|
|
{"ART", 28},
|
|
{"ARTS", 627},
|
|
{"ARTY", 628},
|
|
{"AS", 29},
|
|
{"ASH", 30},
|
|
{"ASIA", 629},
|
|
{"ASK", 31},
|
|
{"ASKS", 630},
|
|
{"AT", 32},
|
|
{"ATE", 33},
|
|
{"ATOM", 631},
|
|
{"AUG", 34},
|
|
{"AUK", 35},
|
|
{"AUNT", 632},
|
|
{"AURA", 633},
|
|
{"AUTO", 634},
|
|
{"AVE", 36},
|
|
{"AVER", 635},
|
|
{"AVID", 636},
|
|
{"AVIS", 637},
|
|
{"AVON", 638},
|
|
{"AVOW", 639},
|
|
{"AWAY", 640},
|
|
{"AWE", 37},
|
|
{"AWK", 38},
|
|
{"AWL", 39},
|
|
{"AWN", 40},
|
|
{"AWRY", 641},
|
|
{"AX", 41},
|
|
{"AYE", 42},
|
|
{"BABE", 642},
|
|
{"BABY", 643},
|
|
{"BACH", 644},
|
|
{"BACK", 645},
|
|
{"BAD", 43},
|
|
{"BADE", 646},
|
|
{"BAG", 44},
|
|
{"BAH", 45},
|
|
{"BAIL", 647},
|
|
{"BAIT", 648},
|
|
{"BAKE", 649},
|
|
{"BALD", 650},
|
|
{"BALE", 651},
|
|
{"BALI", 652},
|
|
{"BALK", 653},
|
|
{"BALL", 654},
|
|
{"BALM", 655},
|
|
{"BAM", 46},
|
|
{"BAN", 47},
|
|
{"BAND", 656},
|
|
{"BANE", 657},
|
|
{"BANG", 658},
|
|
{"BANK", 659},
|
|
{"BAR", 48},
|
|
{"BARB", 660},
|
|
{"BARD", 661},
|
|
{"BARE", 662},
|
|
{"BARK", 663},
|
|
{"BARN", 664},
|
|
{"BARR", 665},
|
|
{"BASE", 666},
|
|
{"BASH", 667},
|
|
{"BASK", 668},
|
|
{"BASS", 669},
|
|
{"BAT", 49},
|
|
{"BATE", 670},
|
|
{"BATH", 671},
|
|
{"BAWD", 672},
|
|
{"BAWL", 673},
|
|
{"BAY", 50},
|
|
{"BE", 51},
|
|
{"BEAD", 674},
|
|
{"BEAK", 675},
|
|
{"BEAM", 676},
|
|
{"BEAN", 677},
|
|
{"BEAR", 678},
|
|
{"BEAT", 679},
|
|
{"BEAU", 680},
|
|
{"BECK", 681},
|
|
{"BED", 52},
|
|
{"BEE", 53},
|
|
{"BEEF", 682},
|
|
{"BEEN", 683},
|
|
{"BEER", 684},
|
|
{"BEET", 685},
|
|
{"BEG", 54},
|
|
{"BELA", 686},
|
|
{"BELL", 687},
|
|
{"BELT", 688},
|
|
{"BEN", 55},
|
|
{"BEND", 689},
|
|
{"BENT", 690},
|
|
{"BERG", 691},
|
|
{"BERN", 692},
|
|
{"BERT", 693},
|
|
{"BESS", 694},
|
|
{"BEST", 695},
|
|
{"BET", 56},
|
|
{"BETA", 696},
|
|
{"BETH", 697},
|
|
{"BEY", 57},
|
|
{"BHOY", 698},
|
|
{"BIAS", 699},
|
|
{"BIB", 58},
|
|
{"BID", 59},
|
|
{"BIDE", 700},
|
|
{"BIEN", 701},
|
|
{"BIG", 60},
|
|
{"BILE", 702},
|
|
{"BILK", 703},
|
|
{"BILL", 704},
|
|
{"BIN", 61},
|
|
{"BIND", 705},
|
|
{"BING", 706},
|
|
{"BIRD", 707},
|
|
{"BIT", 62},
|
|
{"BITE", 708},
|
|
{"BITS", 709},
|
|
{"BLAB", 710},
|
|
{"BLAT", 711},
|
|
{"BLED", 712},
|
|
{"BLEW", 713},
|
|
{"BLOB", 714},
|
|
{"BLOC", 715},
|
|
{"BLOT", 716},
|
|
{"BLOW", 717},
|
|
{"BLUE", 718},
|
|
{"BLUM", 719},
|
|
{"BLUR", 720},
|
|
{"BOAR", 721},
|
|
{"BOAT", 722},
|
|
{"BOB", 63},
|
|
{"BOCA", 723},
|
|
{"BOCK", 724},
|
|
{"BODE", 725},
|
|
{"BODY", 726},
|
|
{"BOG", 64},
|
|
{"BOGY", 727},
|
|
{"BOHR", 728},
|
|
{"BOIL", 729},
|
|
{"BOLD", 730},
|
|
{"BOLO", 731},
|
|
{"BOLT", 732},
|
|
{"BOMB", 733},
|
|
{"BON", 65},
|
|
{"BONA", 734},
|
|
{"BOND", 735},
|
|
{"BONE", 736},
|
|
{"BONG", 737},
|
|
{"BONN", 738},
|
|
{"BONY", 739},
|
|
{"BOO", 66},
|
|
{"BOOK", 740},
|
|
{"BOOM", 741},
|
|
{"BOON", 742},
|
|
{"BOOT", 743},
|
|
{"BOP", 67},
|
|
{"BORE", 744},
|
|
{"BORG", 745},
|
|
{"BORN", 746},
|
|
{"BOSE", 747},
|
|
{"BOSS", 748},
|
|
{"BOTH", 749},
|
|
{"BOUT", 750},
|
|
{"BOW", 68},
|
|
{"BOWL", 751},
|
|
{"BOY", 69},
|
|
{"BOYD", 752},
|
|
{"BRAD", 753},
|
|
{"BRAE", 754},
|
|
{"BRAG", 755},
|
|
{"BRAN", 756},
|
|
{"BRAY", 757},
|
|
{"BRED", 758},
|
|
{"BREW", 759},
|
|
{"BRIG", 760},
|
|
{"BRIM", 761},
|
|
{"BROW", 762},
|
|
{"BUB", 70},
|
|
{"BUCK", 763},
|
|
{"BUD", 71},
|
|
{"BUDD", 764},
|
|
{"BUFF", 765},
|
|
{"BUG", 72},
|
|
{"BULB", 766},
|
|
{"BULK", 767},
|
|
{"BULL", 768},
|
|
{"BUM", 73},
|
|
{"BUN", 74},
|
|
{"BUNK", 769},
|
|
{"BUNT", 770},
|
|
{"BUOY", 771},
|
|
{"BURG", 772},
|
|
{"BURL", 773},
|
|
{"BURN", 774},
|
|
{"BURR", 775},
|
|
{"BURT", 776},
|
|
{"BURY", 777},
|
|
{"BUS", 75},
|
|
{"BUSH", 778},
|
|
{"BUSS", 779},
|
|
{"BUST", 780},
|
|
{"BUSY", 781},
|
|
{"BUT", 76},
|
|
{"BUY", 77},
|
|
{"BY", 78},
|
|
{"BYE", 79},
|
|
{"BYTE", 782},
|
|
{"CAB", 80},
|
|
{"CADY", 783},
|
|
{"CAFE", 784},
|
|
{"CAGE", 785},
|
|
{"CAIN", 786},
|
|
{"CAKE", 787},
|
|
{"CAL", 81},
|
|
{"CALF", 788},
|
|
{"CALL", 789},
|
|
{"CALM", 790},
|
|
{"CAM", 82},
|
|
{"CAME", 791},
|
|
{"CAN", 83},
|
|
{"CANE", 792},
|
|
{"CANT", 793},
|
|
{"CAP", 84},
|
|
{"CAR", 85},
|
|
{"CARD", 794},
|
|
{"CARE", 795},
|
|
{"CARL", 796},
|
|
{"CARR", 797},
|
|
{"CART", 798},
|
|
{"CASE", 799},
|
|
{"CASH", 800},
|
|
{"CASK", 801},
|
|
{"CAST", 802},
|
|
{"CAT", 86},
|
|
{"CAVE", 803},
|
|
{"CAW", 87},
|
|
{"CEIL", 804},
|
|
{"CELL", 805},
|
|
{"CENT", 806},
|
|
{"CERN", 807},
|
|
{"CHAD", 808},
|
|
{"CHAR", 809},
|
|
{"CHAT", 810},
|
|
{"CHAW", 811},
|
|
{"CHEF", 812},
|
|
{"CHEN", 813},
|
|
{"CHEW", 814},
|
|
{"CHIC", 815},
|
|
{"CHIN", 816},
|
|
{"CHOU", 817},
|
|
{"CHOW", 818},
|
|
{"CHUB", 819},
|
|
{"CHUG", 820},
|
|
{"CHUM", 821},
|
|
{"CITE", 822},
|
|
{"CITY", 823},
|
|
{"CLAD", 824},
|
|
{"CLAM", 825},
|
|
{"CLAN", 826},
|
|
{"CLAW", 827},
|
|
{"CLAY", 828},
|
|
{"CLOD", 829},
|
|
{"CLOG", 830},
|
|
{"CLOT", 831},
|
|
{"CLUB", 832},
|
|
{"CLUE", 833},
|
|
{"COAL", 834},
|
|
{"COAT", 835},
|
|
{"COCA", 836},
|
|
{"COCK", 837},
|
|
{"COCO", 838},
|
|
{"COD", 88},
|
|
{"CODA", 839},
|
|
{"CODE", 840},
|
|
{"CODY", 841},
|
|
{"COED", 842},
|
|
{"COG", 89},
|
|
{"COIL", 843},
|
|
{"COIN", 844},
|
|
{"COKE", 845},
|
|
{"COL", 90},
|
|
{"COLA", 846},
|
|
{"COLD", 847},
|
|
{"COLT", 848},
|
|
{"COMA", 849},
|
|
{"COMB", 850},
|
|
{"COME", 851},
|
|
{"CON", 91},
|
|
{"COO", 92},
|
|
{"COOK", 852},
|
|
{"COOL", 853},
|
|
{"COON", 854},
|
|
{"COOT", 855},
|
|
{"COP", 93},
|
|
{"CORD", 856},
|
|
{"CORE", 857},
|
|
{"CORK", 858},
|
|
{"CORN", 859},
|
|
{"COST", 860},
|
|
{"COT", 94},
|
|
{"COVE", 861},
|
|
{"COW", 95},
|
|
{"COWL", 862},
|
|
{"COY", 96},
|
|
{"CRAB", 863},
|
|
{"CRAG", 864},
|
|
{"CRAM", 865},
|
|
{"CRAY", 866},
|
|
{"CREW", 867},
|
|
{"CRIB", 868},
|
|
{"CROW", 869},
|
|
{"CRUD", 870},
|
|
{"CRY", 97},
|
|
{"CUB", 98},
|
|
{"CUBA", 871},
|
|
{"CUBE", 872},
|
|
{"CUE", 99},
|
|
{"CUFF", 873},
|
|
{"CULL", 874},
|
|
{"CULT", 875},
|
|
{"CUNY", 876},
|
|
{"CUP", 100},
|
|
{"CUR", 101},
|
|
{"CURB", 877},
|
|
{"CURD", 878},
|
|
{"CURE", 879},
|
|
{"CURL", 880},
|
|
{"CURT", 881},
|
|
{"CUT", 102},
|
|
{"CUTS", 882},
|
|
{"DAB", 103},
|
|
{"DAD", 104},
|
|
{"DADE", 883},
|
|
{"DALE", 884},
|
|
{"DAM", 105},
|
|
{"DAME", 885},
|
|
{"DAN", 106},
|
|
{"DANA", 886},
|
|
{"DANE", 887},
|
|
{"DANG", 888},
|
|
{"DANK", 889},
|
|
{"DAR", 107},
|
|
{"DARE", 890},
|
|
{"DARK", 891},
|
|
{"DARN", 892},
|
|
{"DART", 893},
|
|
{"DASH", 894},
|
|
{"DATA", 895},
|
|
{"DATE", 896},
|
|
{"DAVE", 897},
|
|
{"DAVY", 898},
|
|
{"DAWN", 899},
|
|
{"DAY", 108},
|
|
{"DAYS", 900},
|
|
{"DEAD", 901},
|
|
{"DEAF", 902},
|
|
{"DEAL", 903},
|
|
{"DEAN", 904},
|
|
{"DEAR", 905},
|
|
{"DEBT", 906},
|
|
{"DECK", 907},
|
|
{"DEE", 109},
|
|
{"DEED", 908},
|
|
{"DEEM", 909},
|
|
{"DEER", 910},
|
|
{"DEFT", 911},
|
|
{"DEFY", 912},
|
|
{"DEL", 110},
|
|
{"DELL", 913},
|
|
{"DEN", 111},
|
|
{"DENT", 914},
|
|
{"DENY", 915},
|
|
{"DES", 112},
|
|
{"DESK", 916},
|
|
{"DEW", 113},
|
|
{"DIAL", 917},
|
|
{"DICE", 918},
|
|
{"DID", 114},
|
|
{"DIE", 115},
|
|
{"DIED", 919},
|
|
{"DIET", 920},
|
|
{"DIG", 116},
|
|
{"DIME", 921},
|
|
{"DIN", 117},
|
|
{"DINE", 922},
|
|
{"DING", 923},
|
|
{"DINT", 924},
|
|
{"DIP", 118},
|
|
{"DIRE", 925},
|
|
{"DIRT", 926},
|
|
{"DISC", 927},
|
|
{"DISH", 928},
|
|
{"DISK", 929},
|
|
{"DIVE", 930},
|
|
{"DO", 119},
|
|
{"DOCK", 931},
|
|
{"DOE", 120},
|
|
{"DOES", 932},
|
|
{"DOG", 121},
|
|
{"DOLE", 933},
|
|
{"DOLL", 934},
|
|
{"DOLT", 935},
|
|
{"DOME", 936},
|
|
{"DON", 122},
|
|
{"DONE", 937},
|
|
{"DOOM", 938},
|
|
{"DOOR", 939},
|
|
{"DORA", 940},
|
|
{"DOSE", 941},
|
|
{"DOT", 123},
|
|
{"DOTE", 942},
|
|
{"DOUG", 943},
|
|
{"DOUR", 944},
|
|
{"DOVE", 945},
|
|
{"DOW", 124},
|
|
{"DOWN", 946},
|
|
{"DRAB", 947},
|
|
{"DRAG", 948},
|
|
{"DRAM", 949},
|
|
{"DRAW", 950},
|
|
{"DREW", 951},
|
|
{"DRUB", 952},
|
|
{"DRUG", 953},
|
|
{"DRUM", 954},
|
|
{"DRY", 125},
|
|
{"DUAL", 955},
|
|
{"DUB", 126},
|
|
{"DUCK", 956},
|
|
{"DUCT", 957},
|
|
{"DUD", 127},
|
|
{"DUE", 128},
|
|
{"DUEL", 958},
|
|
{"DUET", 959},
|
|
{"DUG", 129},
|
|
{"DUKE", 960},
|
|
{"DULL", 961},
|
|
{"DUMB", 962},
|
|
{"DUN", 130},
|
|
{"DUNE", 963},
|
|
{"DUNK", 964},
|
|
{"DUSK", 965},
|
|
{"DUST", 966},
|
|
{"DUTY", 967},
|
|
{"EACH", 968},
|
|
{"EAR", 131},
|
|
{"EARL", 969},
|
|
{"EARN", 970},
|
|
{"EASE", 971},
|
|
{"EAST", 972},
|
|
{"EASY", 973},
|
|
{"EAT", 132},
|
|
{"EBEN", 974},
|
|
{"ECHO", 975},
|
|
{"ED", 133},
|
|
{"EDDY", 976},
|
|
{"EDEN", 977},
|
|
{"EDGE", 978},
|
|
{"EDGY", 979},
|
|
{"EDIT", 980},
|
|
{"EDNA", 981},
|
|
{"EEL", 134},
|
|
{"EGAN", 982},
|
|
{"EGG", 135},
|
|
{"EGO", 136},
|
|
{"ELAN", 983},
|
|
{"ELBA", 984},
|
|
{"ELI", 137},
|
|
{"ELK", 138},
|
|
{"ELLA", 985},
|
|
{"ELM", 139},
|
|
{"ELSE", 986},
|
|
{"ELY", 140},
|
|
{"EM", 141},
|
|
{"EMIL", 987},
|
|
{"EMIT", 988},
|
|
{"EMMA", 989},
|
|
{"END", 142},
|
|
{"ENDS", 990},
|
|
{"ERIC", 991},
|
|
{"EROS", 992},
|
|
{"EST", 143},
|
|
{"ETC", 144},
|
|
{"EVA", 145},
|
|
{"EVE", 146},
|
|
{"EVEN", 993},
|
|
{"EVER", 994},
|
|
{"EVIL", 995},
|
|
{"EWE", 147},
|
|
{"EYE", 148},
|
|
{"EYED", 996},
|
|
{"FACE", 997},
|
|
{"FACT", 998},
|
|
{"FAD", 149},
|
|
{"FADE", 999},
|
|
{"FAIL", 1000},
|
|
{"FAIN", 1001},
|
|
{"FAIR", 1002},
|
|
{"FAKE", 1003},
|
|
{"FALL", 1004},
|
|
{"FAME", 1005},
|
|
{"FAN", 150},
|
|
{"FANG", 1006},
|
|
{"FAR", 151},
|
|
{"FARM", 1007},
|
|
{"FAST", 1008},
|
|
{"FAT", 152},
|
|
{"FATE", 1009},
|
|
{"FAWN", 1010},
|
|
{"FAY", 153},
|
|
{"FEAR", 1011},
|
|
{"FEAT", 1012},
|
|
{"FED", 154},
|
|
{"FEE", 155},
|
|
{"FEED", 1013},
|
|
{"FEEL", 1014},
|
|
{"FEET", 1015},
|
|
{"FELL", 1016},
|
|
{"FELT", 1017},
|
|
{"FEND", 1018},
|
|
{"FERN", 1019},
|
|
{"FEST", 1020},
|
|
{"FEUD", 1021},
|
|
{"FEW", 156},
|
|
{"FIB", 157},
|
|
{"FIEF", 1022},
|
|
{"FIG", 158},
|
|
{"FIGS", 1023},
|
|
{"FILE", 1024},
|
|
{"FILL", 1025},
|
|
{"FILM", 1026},
|
|
{"FIN", 159},
|
|
{"FIND", 1027},
|
|
{"FINE", 1028},
|
|
{"FINK", 1029},
|
|
{"FIR", 160},
|
|
{"FIRE", 1030},
|
|
{"FIRM", 1031},
|
|
{"FISH", 1032},
|
|
{"FISK", 1033},
|
|
{"FIST", 1034},
|
|
{"FIT", 161},
|
|
{"FITS", 1035},
|
|
{"FIVE", 1036},
|
|
{"FLAG", 1037},
|
|
{"FLAK", 1038},
|
|
{"FLAM", 1039},
|
|
{"FLAT", 1040},
|
|
{"FLAW", 1041},
|
|
{"FLEA", 1042},
|
|
{"FLED", 1043},
|
|
{"FLEW", 1044},
|
|
{"FLIT", 1045},
|
|
{"FLO", 162},
|
|
{"FLOC", 1046},
|
|
{"FLOG", 1047},
|
|
{"FLOW", 1048},
|
|
{"FLUB", 1049},
|
|
{"FLUE", 1050},
|
|
{"FLY", 163},
|
|
{"FOAL", 1051},
|
|
{"FOAM", 1052},
|
|
{"FOE", 164},
|
|
{"FOG", 165},
|
|
{"FOGY", 1053},
|
|
{"FOIL", 1054},
|
|
{"FOLD", 1055},
|
|
{"FOLK", 1056},
|
|
{"FOND", 1057},
|
|
{"FONT", 1058},
|
|
{"FOOD", 1059},
|
|
{"FOOL", 1060},
|
|
{"FOOT", 1061},
|
|
{"FOR", 166},
|
|
{"FORD", 1062},
|
|
{"FORE", 1063},
|
|
{"FORK", 1064},
|
|
{"FORM", 1065},
|
|
{"FORT", 1066},
|
|
{"FOSS", 1067},
|
|
{"FOUL", 1068},
|
|
{"FOUR", 1069},
|
|
{"FOWL", 1070},
|
|
{"FRAU", 1071},
|
|
{"FRAY", 1072},
|
|
{"FRED", 1073},
|
|
{"FREE", 1074},
|
|
{"FRET", 1075},
|
|
{"FREY", 1076},
|
|
{"FROG", 1077},
|
|
{"FROM", 1078},
|
|
{"FRY", 167},
|
|
{"FUEL", 1079},
|
|
{"FULL", 1080},
|
|
{"FUM", 168},
|
|
{"FUME", 1081},
|
|
{"FUN", 169},
|
|
{"FUND", 1082},
|
|
{"FUNK", 1083},
|
|
{"FUR", 170},
|
|
{"FURY", 1084},
|
|
{"FUSE", 1085},
|
|
{"FUSS", 1086},
|
|
{"GAB", 171},
|
|
{"GAD", 172},
|
|
{"GAFF", 1087},
|
|
{"GAG", 173},
|
|
{"GAGE", 1088},
|
|
{"GAIL", 1089},
|
|
{"GAIN", 1090},
|
|
{"GAIT", 1091},
|
|
{"GAL", 174},
|
|
{"GALA", 1092},
|
|
{"GALE", 1093},
|
|
{"GALL", 1094},
|
|
{"GALT", 1095},
|
|
{"GAM", 175},
|
|
{"GAME", 1096},
|
|
{"GANG", 1097},
|
|
{"GAP", 176},
|
|
{"GARB", 1098},
|
|
{"GARY", 1099},
|
|
{"GAS", 177},
|
|
{"GASH", 1100},
|
|
{"GATE", 1101},
|
|
{"GAUL", 1102},
|
|
{"GAUR", 1103},
|
|
{"GAVE", 1104},
|
|
{"GAWK", 1105},
|
|
{"GAY", 178},
|
|
{"GEAR", 1106},
|
|
{"GEE", 179},
|
|
{"GEL", 180},
|
|
{"GELD", 1107},
|
|
{"GEM", 181},
|
|
{"GENE", 1108},
|
|
{"GENT", 1109},
|
|
{"GERM", 1110},
|
|
{"GET", 182},
|
|
{"GETS", 1111},
|
|
{"GIBE", 1112},
|
|
{"GIFT", 1113},
|
|
{"GIG", 183},
|
|
{"GIL", 184},
|
|
{"GILD", 1114},
|
|
{"GILL", 1115},
|
|
{"GILT", 1116},
|
|
{"GIN", 185},
|
|
{"GINA", 1117},
|
|
{"GIRD", 1118},
|
|
{"GIRL", 1119},
|
|
{"GIST", 1120},
|
|
{"GIVE", 1121},
|
|
{"GLAD", 1122},
|
|
{"GLEE", 1123},
|
|
{"GLEN", 1124},
|
|
{"GLIB", 1125},
|
|
{"GLOB", 1126},
|
|
{"GLOM", 1127},
|
|
{"GLOW", 1128},
|
|
{"GLUE", 1129},
|
|
{"GLUM", 1130},
|
|
{"GLUT", 1131},
|
|
{"GO", 186},
|
|
{"GOAD", 1132},
|
|
{"GOAL", 1133},
|
|
{"GOAT", 1134},
|
|
{"GOER", 1135},
|
|
{"GOES", 1136},
|
|
{"GOLD", 1137},
|
|
{"GOLF", 1138},
|
|
{"GONE", 1139},
|
|
{"GONG", 1140},
|
|
{"GOOD", 1141},
|
|
{"GOOF", 1142},
|
|
{"GORE", 1143},
|
|
{"GORY", 1144},
|
|
{"GOSH", 1145},
|
|
{"GOT", 187},
|
|
{"GOUT", 1146},
|
|
{"GOWN", 1147},
|
|
{"GRAB", 1148},
|
|
{"GRAD", 1149},
|
|
{"GRAY", 1150},
|
|
{"GREG", 1151},
|
|
{"GREW", 1152},
|
|
{"GREY", 1153},
|
|
{"GRID", 1154},
|
|
{"GRIM", 1155},
|
|
{"GRIN", 1156},
|
|
{"GRIT", 1157},
|
|
{"GROW", 1158},
|
|
{"GRUB", 1159},
|
|
{"GULF", 1160},
|
|
{"GULL", 1161},
|
|
{"GUM", 188},
|
|
{"GUN", 189},
|
|
{"GUNK", 1162},
|
|
{"GURU", 1163},
|
|
{"GUS", 190},
|
|
{"GUSH", 1164},
|
|
{"GUST", 1165},
|
|
{"GUT", 191},
|
|
{"GUY", 192},
|
|
{"GWEN", 1166},
|
|
{"GWYN", 1167},
|
|
{"GYM", 193},
|
|
{"GYP", 194},
|
|
{"HA", 195},
|
|
{"HAAG", 1168},
|
|
{"HAAS", 1169},
|
|
{"HACK", 1170},
|
|
{"HAD", 196},
|
|
{"HAIL", 1171},
|
|
{"HAIR", 1172},
|
|
{"HAL", 197},
|
|
{"HALE", 1173},
|
|
{"HALF", 1174},
|
|
{"HALL", 1175},
|
|
{"HALO", 1176},
|
|
{"HALT", 1177},
|
|
{"HAM", 198},
|
|
{"HAN", 199},
|
|
{"HAND", 1178},
|
|
{"HANG", 1179},
|
|
{"HANK", 1180},
|
|
{"HANS", 1181},
|
|
{"HAP", 200},
|
|
{"HARD", 1182},
|
|
{"HARK", 1183},
|
|
{"HARM", 1184},
|
|
{"HART", 1185},
|
|
{"HAS", 201},
|
|
{"HASH", 1186},
|
|
{"HAST", 1187},
|
|
{"HAT", 202},
|
|
{"HATE", 1188},
|
|
{"HATH", 1189},
|
|
{"HAUL", 1190},
|
|
{"HAVE", 1191},
|
|
{"HAW", 203},
|
|
{"HAWK", 1192},
|
|
{"HAY", 204},
|
|
{"HAYS", 1193},
|
|
{"HE", 205},
|
|
{"HEAD", 1194},
|
|
{"HEAL", 1195},
|
|
{"HEAR", 1196},
|
|
{"HEAT", 1197},
|
|
{"HEBE", 1198},
|
|
{"HECK", 1199},
|
|
{"HEED", 1200},
|
|
{"HEEL", 1201},
|
|
{"HEFT", 1202},
|
|
{"HELD", 1203},
|
|
{"HELL", 1204},
|
|
{"HELM", 1205},
|
|
{"HEM", 206},
|
|
{"HEN", 207},
|
|
{"HER", 208},
|
|
{"HERB", 1206},
|
|
{"HERD", 1207},
|
|
{"HERE", 1208},
|
|
{"HERO", 1209},
|
|
{"HERS", 1210},
|
|
{"HESS", 1211},
|
|
{"HEW", 209},
|
|
{"HEWN", 1212},
|
|
{"HEY", 210},
|
|
{"HI", 211},
|
|
{"HICK", 1213},
|
|
{"HID", 212},
|
|
{"HIDE", 1214},
|
|
{"HIGH", 1215},
|
|
{"HIKE", 1216},
|
|
{"HILL", 1217},
|
|
{"HILT", 1218},
|
|
{"HIM", 213},
|
|
{"HIND", 1219},
|
|
{"HINT", 1220},
|
|
{"HIP", 214},
|
|
{"HIRE", 1221},
|
|
{"HIS", 215},
|
|
{"HISS", 1222},
|
|
{"HIT", 216},
|
|
{"HIVE", 1223},
|
|
{"HO", 217},
|
|
{"HOB", 218},
|
|
{"HOBO", 1224},
|
|
{"HOC", 219},
|
|
{"HOCK", 1225},
|
|
{"HOE", 220},
|
|
{"HOFF", 1226},
|
|
{"HOG", 221},
|
|
{"HOLD", 1227},
|
|
{"HOLE", 1228},
|
|
{"HOLM", 1229},
|
|
{"HOLT", 1230},
|
|
{"HOME", 1231},
|
|
{"HONE", 1232},
|
|
{"HONK", 1233},
|
|
{"HOOD", 1234},
|
|
{"HOOF", 1235},
|
|
{"HOOK", 1236},
|
|
{"HOOT", 1237},
|
|
{"HOP", 222},
|
|
{"HORN", 1238},
|
|
{"HOSE", 1239},
|
|
{"HOST", 1240},
|
|
{"HOT", 223},
|
|
{"HOUR", 1241},
|
|
{"HOVE", 1242},
|
|
{"HOW", 224},
|
|
{"HOWE", 1243},
|
|
{"HOWL", 1244},
|
|
{"HOYT", 1245},
|
|
{"HUB", 225},
|
|
{"HUCK", 1246},
|
|
{"HUE", 226},
|
|
{"HUED", 1247},
|
|
{"HUFF", 1248},
|
|
{"HUG", 227},
|
|
{"HUGE", 1249},
|
|
{"HUGH", 1250},
|
|
{"HUGO", 1251},
|
|
{"HUH", 228},
|
|
{"HULK", 1252},
|
|
{"HULL", 1253},
|
|
{"HUM", 229},
|
|
{"HUNK", 1254},
|
|
{"HUNT", 1255},
|
|
{"HURD", 1256},
|
|
{"HURL", 1257},
|
|
{"HURT", 1258},
|
|
{"HUSH", 1259},
|
|
{"HUT", 230},
|
|
{"HYDE", 1260},
|
|
{"HYMN", 1261},
|
|
{"I", 231},
|
|
{"IBIS", 1262},
|
|
{"ICON", 1263},
|
|
{"ICY", 232},
|
|
{"IDA", 233},
|
|
{"IDEA", 1264},
|
|
{"IDLE", 1265},
|
|
{"IF", 234},
|
|
{"IFFY", 1266},
|
|
{"IKE", 235},
|
|
{"ILL", 236},
|
|
{"INCA", 1267},
|
|
{"INCH", 1268},
|
|
{"INK", 237},
|
|
{"INN", 238},
|
|
{"INTO", 1269},
|
|
{"IO", 239},
|
|
{"ION", 240},
|
|
{"IONS", 1270},
|
|
{"IOTA", 1271},
|
|
{"IOWA", 1272},
|
|
{"IQ", 241},
|
|
{"IRA", 242},
|
|
{"IRE", 243},
|
|
{"IRIS", 1273},
|
|
{"IRK", 244},
|
|
{"IRMA", 1274},
|
|
{"IRON", 1275},
|
|
{"IS", 245},
|
|
{"ISLE", 1276},
|
|
{"IT", 246},
|
|
{"ITCH", 1277},
|
|
{"ITEM", 1278},
|
|
{"ITS", 247},
|
|
{"IVAN", 1279},
|
|
{"IVY", 248},
|
|
{"JAB", 249},
|
|
{"JACK", 1280},
|
|
{"JADE", 1281},
|
|
{"JAG", 250},
|
|
{"JAIL", 1282},
|
|
{"JAKE", 1283},
|
|
{"JAM", 251},
|
|
{"JAN", 252},
|
|
{"JANE", 1284},
|
|
{"JAR", 253},
|
|
{"JAVA", 1285},
|
|
{"JAW", 254},
|
|
{"JAY", 255},
|
|
{"JEAN", 1286},
|
|
{"JEFF", 1287},
|
|
{"JERK", 1288},
|
|
{"JESS", 1289},
|
|
{"JEST", 1290},
|
|
{"JET", 256},
|
|
{"JIBE", 1291},
|
|
{"JIG", 257},
|
|
{"JILL", 1292},
|
|
{"JILT", 1293},
|
|
{"JIM", 258},
|
|
{"JIVE", 1294},
|
|
{"JO", 259},
|
|
{"JOAN", 1295},
|
|
{"JOB", 260},
|
|
{"JOBS", 1296},
|
|
{"JOCK", 1297},
|
|
{"JOE", 261},
|
|
{"JOEL", 1298},
|
|
{"JOEY", 1299},
|
|
{"JOG", 262},
|
|
{"JOHN", 1300},
|
|
{"JOIN", 1301},
|
|
{"JOKE", 1302},
|
|
{"JOLT", 1303},
|
|
{"JOT", 263},
|
|
{"JOVE", 1304},
|
|
{"JOY", 264},
|
|
{"JUDD", 1305},
|
|
{"JUDE", 1306},
|
|
{"JUDO", 1307},
|
|
{"JUDY", 1308},
|
|
{"JUG", 265},
|
|
{"JUJU", 1309},
|
|
{"JUKE", 1310},
|
|
{"JULY", 1311},
|
|
{"JUNE", 1312},
|
|
{"JUNK", 1313},
|
|
{"JUNO", 1314},
|
|
{"JURY", 1315},
|
|
{"JUST", 1316},
|
|
{"JUT", 266},
|
|
{"JUTE", 1317},
|
|
{"KAHN", 1318},
|
|
{"KALE", 1319},
|
|
{"KANE", 1320},
|
|
{"KANT", 1321},
|
|
{"KARL", 1322},
|
|
{"KATE", 1323},
|
|
{"KAY", 267},
|
|
{"KEEL", 1324},
|
|
{"KEEN", 1325},
|
|
{"KEG", 268},
|
|
{"KEN", 269},
|
|
{"KENO", 1326},
|
|
{"KENT", 1327},
|
|
{"KERN", 1328},
|
|
{"KERR", 1329},
|
|
{"KEY", 270},
|
|
{"KEYS", 1330},
|
|
{"KICK", 1331},
|
|
{"KID", 271},
|
|
{"KILL", 1332},
|
|
{"KIM", 272},
|
|
{"KIN", 273},
|
|
{"KIND", 1333},
|
|
{"KING", 1334},
|
|
{"KIRK", 1335},
|
|
{"KISS", 1336},
|
|
{"KIT", 274},
|
|
{"KITE", 1337},
|
|
{"KLAN", 1338},
|
|
{"KNEE", 1339},
|
|
{"KNEW", 1340},
|
|
{"KNIT", 1341},
|
|
{"KNOB", 1342},
|
|
{"KNOT", 1343},
|
|
{"KNOW", 1344},
|
|
{"KOCH", 1345},
|
|
{"KONG", 1346},
|
|
{"KUDO", 1347},
|
|
{"KURD", 1348},
|
|
{"KURT", 1349},
|
|
{"KYLE", 1350},
|
|
{"LA", 275},
|
|
{"LAB", 276},
|
|
{"LAC", 277},
|
|
{"LACE", 1351},
|
|
{"LACK", 1352},
|
|
{"LACY", 1353},
|
|
{"LAD", 278},
|
|
{"LADY", 1354},
|
|
{"LAG", 279},
|
|
{"LAID", 1355},
|
|
{"LAIN", 1356},
|
|
{"LAIR", 1357},
|
|
{"LAKE", 1358},
|
|
{"LAM", 280},
|
|
{"LAMB", 1359},
|
|
{"LAME", 1360},
|
|
{"LAND", 1361},
|
|
{"LANE", 1362},
|
|
{"LANG", 1363},
|
|
{"LAP", 281},
|
|
{"LARD", 1364},
|
|
{"LARK", 1365},
|
|
{"LASS", 1366},
|
|
{"LAST", 1367},
|
|
{"LATE", 1368},
|
|
{"LAUD", 1369},
|
|
{"LAVA", 1370},
|
|
{"LAW", 282},
|
|
{"LAWN", 1371},
|
|
{"LAWS", 1372},
|
|
{"LAY", 283},
|
|
{"LAYS", 1373},
|
|
{"LEA", 284},
|
|
{"LEAD", 1374},
|
|
{"LEAF", 1375},
|
|
{"LEAK", 1376},
|
|
{"LEAN", 1377},
|
|
{"LEAR", 1378},
|
|
{"LED", 285},
|
|
{"LEE", 286},
|
|
{"LEEK", 1379},
|
|
{"LEER", 1380},
|
|
{"LEFT", 1381},
|
|
{"LEG", 287},
|
|
{"LEN", 288},
|
|
{"LEND", 1382},
|
|
{"LENS", 1383},
|
|
{"LENT", 1384},
|
|
{"LEO", 289},
|
|
{"LEON", 1385},
|
|
{"LESK", 1386},
|
|
{"LESS", 1387},
|
|
{"LEST", 1388},
|
|
{"LET", 290},
|
|
{"LETS", 1389},
|
|
{"LEW", 291},
|
|
{"LIAR", 1390},
|
|
{"LICE", 1391},
|
|
{"LICK", 1392},
|
|
{"LID", 292},
|
|
{"LIE", 293},
|
|
{"LIED", 1393},
|
|
{"LIEN", 1394},
|
|
{"LIES", 1395},
|
|
{"LIEU", 1396},
|
|
{"LIFE", 1397},
|
|
{"LIFT", 1398},
|
|
{"LIKE", 1399},
|
|
{"LILA", 1400},
|
|
{"LILT", 1401},
|
|
{"LILY", 1402},
|
|
{"LIMA", 1403},
|
|
{"LIMB", 1404},
|
|
{"LIME", 1405},
|
|
{"LIN", 294},
|
|
{"LIND", 1406},
|
|
{"LINE", 1407},
|
|
{"LINK", 1408},
|
|
{"LINT", 1409},
|
|
{"LION", 1410},
|
|
{"LIP", 295},
|
|
{"LISA", 1411},
|
|
{"LIST", 1412},
|
|
{"LIT", 296},
|
|
{"LIVE", 1413},
|
|
{"LO", 297},
|
|
{"LOAD", 1414},
|
|
{"LOAF", 1415},
|
|
{"LOAM", 1416},
|
|
{"LOAN", 1417},
|
|
{"LOB", 298},
|
|
{"LOCK", 1418},
|
|
{"LOFT", 1419},
|
|
{"LOG", 299},
|
|
{"LOGE", 1420},
|
|
{"LOIS", 1421},
|
|
{"LOLA", 1422},
|
|
{"LONE", 1423},
|
|
{"LONG", 1424},
|
|
{"LOOK", 1425},
|
|
{"LOON", 1426},
|
|
{"LOOT", 1427},
|
|
{"LOP", 300},
|
|
{"LORD", 1428},
|
|
{"LORE", 1429},
|
|
{"LOS", 301},
|
|
{"LOSE", 1430},
|
|
{"LOSS", 1431},
|
|
{"LOST", 1432},
|
|
{"LOT", 302},
|
|
{"LOU", 303},
|
|
{"LOUD", 1433},
|
|
{"LOVE", 1434},
|
|
{"LOW", 304},
|
|
{"LOWE", 1435},
|
|
{"LOY", 305},
|
|
{"LUCK", 1436},
|
|
{"LUCY", 1437},
|
|
{"LUG", 306},
|
|
{"LUGE", 1438},
|
|
{"LUKE", 1439},
|
|
{"LULU", 1440},
|
|
{"LUND", 1441},
|
|
{"LUNG", 1442},
|
|
{"LURA", 1443},
|
|
{"LURE", 1444},
|
|
{"LURK", 1445},
|
|
{"LUSH", 1446},
|
|
{"LUST", 1447},
|
|
{"LYE", 307},
|
|
{"LYLE", 1448},
|
|
{"LYNN", 1449},
|
|
{"LYON", 1450},
|
|
{"LYRA", 1451},
|
|
{"MA", 308},
|
|
{"MAC", 309},
|
|
{"MACE", 1452},
|
|
{"MAD", 310},
|
|
{"MADE", 1453},
|
|
{"MAE", 311},
|
|
{"MAGI", 1454},
|
|
{"MAID", 1455},
|
|
{"MAIL", 1456},
|
|
{"MAIN", 1457},
|
|
{"MAKE", 1458},
|
|
{"MALE", 1459},
|
|
{"MALI", 1460},
|
|
{"MALL", 1461},
|
|
{"MALT", 1462},
|
|
{"MAN", 312},
|
|
{"MANA", 1463},
|
|
{"MANN", 1464},
|
|
{"MANY", 1465},
|
|
{"MAO", 313},
|
|
{"MAP", 314},
|
|
{"MARC", 1466},
|
|
{"MARE", 1467},
|
|
{"MARK", 1468},
|
|
{"MARS", 1469},
|
|
{"MART", 1470},
|
|
{"MARY", 1471},
|
|
{"MASH", 1472},
|
|
{"MASK", 1473},
|
|
{"MASS", 1474},
|
|
{"MAST", 1475},
|
|
{"MAT", 315},
|
|
{"MATE", 1476},
|
|
{"MATH", 1477},
|
|
{"MAUL", 1478},
|
|
{"MAW", 316},
|
|
{"MAY", 317},
|
|
{"MAYO", 1479},
|
|
{"ME", 318},
|
|
{"MEAD", 1480},
|
|
{"MEAL", 1481},
|
|
{"MEAN", 1482},
|
|
{"MEAT", 1483},
|
|
{"MEEK", 1484},
|
|
{"MEET", 1485},
|
|
{"MEG", 319},
|
|
{"MEL", 320},
|
|
{"MELD", 1486},
|
|
{"MELT", 1487},
|
|
{"MEMO", 1488},
|
|
{"MEN", 321},
|
|
{"MEND", 1489},
|
|
{"MENU", 1490},
|
|
{"MERT", 1491},
|
|
{"MESH", 1492},
|
|
{"MESS", 1493},
|
|
{"MET", 322},
|
|
{"MEW", 323},
|
|
{"MICE", 1494},
|
|
{"MID", 324},
|
|
{"MIKE", 1495},
|
|
{"MILD", 1496},
|
|
{"MILE", 1497},
|
|
{"MILK", 1498},
|
|
{"MILL", 1499},
|
|
{"MILT", 1500},
|
|
{"MIMI", 1501},
|
|
{"MIN", 325},
|
|
{"MIND", 1502},
|
|
{"MINE", 1503},
|
|
{"MINI", 1504},
|
|
{"MINK", 1505},
|
|
{"MINT", 1506},
|
|
{"MIRE", 1507},
|
|
{"MISS", 1508},
|
|
{"MIST", 1509},
|
|
{"MIT", 326},
|
|
{"MITE", 1510},
|
|
{"MITT", 1511},
|
|
{"MOAN", 1512},
|
|
{"MOAT", 1513},
|
|
{"MOB", 327},
|
|
{"MOCK", 1514},
|
|
{"MOD", 328},
|
|
{"MODE", 1515},
|
|
{"MOE", 329},
|
|
{"MOLD", 1516},
|
|
{"MOLE", 1517},
|
|
{"MOLL", 1518},
|
|
{"MOLT", 1519},
|
|
{"MONA", 1520},
|
|
{"MONK", 1521},
|
|
{"MONT", 1522},
|
|
{"MOO", 330},
|
|
{"MOOD", 1523},
|
|
{"MOON", 1524},
|
|
{"MOOR", 1525},
|
|
{"MOOT", 1526},
|
|
{"MOP", 331},
|
|
{"MORE", 1527},
|
|
{"MORN", 1528},
|
|
{"MORT", 1529},
|
|
{"MOS", 332},
|
|
{"MOSS", 1530},
|
|
{"MOST", 1531},
|
|
{"MOT", 333},
|
|
{"MOTH", 1532},
|
|
{"MOVE", 1533},
|
|
{"MOW", 334},
|
|
{"MUCH", 1534},
|
|
{"MUCK", 1535},
|
|
{"MUD", 335},
|
|
{"MUDD", 1536},
|
|
{"MUFF", 1537},
|
|
{"MUG", 336},
|
|
{"MULE", 1538},
|
|
{"MULL", 1539},
|
|
{"MUM", 337},
|
|
{"MURK", 1540},
|
|
{"MUSH", 1541},
|
|
{"MUST", 1542},
|
|
{"MUTE", 1543},
|
|
{"MUTT", 1544},
|
|
{"MY", 338},
|
|
{"MYRA", 1545},
|
|
{"MYTH", 1546},
|
|
{"NAB", 339},
|
|
{"NAG", 340},
|
|
{"NAGY", 1547},
|
|
{"NAIL", 1548},
|
|
{"NAIR", 1549},
|
|
{"NAME", 1550},
|
|
{"NAN", 341},
|
|
{"NAP", 342},
|
|
{"NARY", 1551},
|
|
{"NASH", 1552},
|
|
{"NAT", 343},
|
|
{"NAVE", 1553},
|
|
{"NAVY", 1554},
|
|
{"NAY", 344},
|
|
{"NE", 345},
|
|
{"NEAL", 1555},
|
|
{"NEAR", 1556},
|
|
{"NEAT", 1557},
|
|
{"NECK", 1558},
|
|
{"NED", 346},
|
|
{"NEE", 347},
|
|
{"NEED", 1559},
|
|
{"NEIL", 1560},
|
|
{"NELL", 1561},
|
|
{"NEON", 1562},
|
|
{"NERO", 1563},
|
|
{"NESS", 1564},
|
|
{"NEST", 1565},
|
|
{"NET", 348},
|
|
{"NEW", 349},
|
|
{"NEWS", 1566},
|
|
{"NEWT", 1567},
|
|
{"NIB", 350},
|
|
{"NIBS", 1568},
|
|
{"NICE", 1569},
|
|
{"NICK", 1570},
|
|
{"NIIL", 351},
|
|
{"NILE", 1571},
|
|
{"NINA", 1572},
|
|
{"NINE", 1573},
|
|
{"NIP", 352},
|
|
{"NIT", 353},
|
|
{"NO", 354},
|
|
{"NOAH", 1574},
|
|
{"NOB", 355},
|
|
{"NOD", 356},
|
|
{"NODE", 1575},
|
|
{"NOEL", 1576},
|
|
{"NOLL", 1577},
|
|
{"NON", 357},
|
|
{"NONE", 1578},
|
|
{"NOOK", 1579},
|
|
{"NOON", 1580},
|
|
{"NOR", 358},
|
|
{"NORM", 1581},
|
|
{"NOSE", 1582},
|
|
{"NOT", 359},
|
|
{"NOTE", 1583},
|
|
{"NOUN", 1584},
|
|
{"NOV", 360},
|
|
{"NOVA", 1585},
|
|
{"NOW", 361},
|
|
{"NU", 362},
|
|
{"NUDE", 1586},
|
|
{"NULL", 1587},
|
|
{"NUMB", 1588},
|
|
{"NUN", 363},
|
|
{"NUT", 364},
|
|
{"O", 365},
|
|
{"OAF", 366},
|
|
{"OAK", 367},
|
|
{"OAR", 368},
|
|
{"OAT", 369},
|
|
{"OATH", 1589},
|
|
{"OBEY", 1590},
|
|
{"OBOE", 1591},
|
|
{"ODD", 370},
|
|
{"ODE", 371},
|
|
{"ODIN", 1592},
|
|
{"OF", 372},
|
|
{"OFF", 373},
|
|
{"OFT", 374},
|
|
{"OH", 375},
|
|
{"OHIO", 1593},
|
|
{"OIL", 376},
|
|
{"OILY", 1594},
|
|
{"OINT", 1595},
|
|
{"OK", 377},
|
|
{"OKAY", 1596},
|
|
{"OLAF", 1597},
|
|
{"OLD", 378},
|
|
{"OLDY", 1598},
|
|
{"OLGA", 1599},
|
|
{"OLIN", 1600},
|
|
{"OMAN", 1601},
|
|
{"OMEN", 1602},
|
|
{"OMIT", 1603},
|
|
{"ON", 379},
|
|
{"ONCE", 1604},
|
|
{"ONE", 380},
|
|
{"ONES", 1605},
|
|
{"ONLY", 1606},
|
|
{"ONTO", 1607},
|
|
{"ONUS", 1608},
|
|
{"OR", 381},
|
|
{"ORAL", 1609},
|
|
{"ORB", 382},
|
|
{"ORE", 383},
|
|
{"ORGY", 1610},
|
|
{"ORR", 384},
|
|
{"OS", 385},
|
|
{"OSLO", 1611},
|
|
{"OTIS", 1612},
|
|
{"OTT", 386},
|
|
{"OTTO", 1613},
|
|
{"OUCH", 1614},
|
|
{"OUR", 387},
|
|
{"OUST", 1615},
|
|
{"OUT", 388},
|
|
{"OUTS", 1616},
|
|
{"OVA", 389},
|
|
{"OVAL", 1617},
|
|
{"OVEN", 1618},
|
|
{"OVER", 1619},
|
|
{"OW", 390},
|
|
{"OWE", 391},
|
|
{"OWL", 392},
|
|
{"OWLY", 1620},
|
|
{"OWN", 393},
|
|
{"OWNS", 1621},
|
|
{"OX", 394},
|
|
{"PA", 395},
|
|
{"PAD", 396},
|
|
{"PAL", 397},
|
|
{"PAM", 398},
|
|
{"PAN", 399},
|
|
{"PAP", 400},
|
|
{"PAR", 401},
|
|
{"PAT", 402},
|
|
{"PAW", 403},
|
|
{"PAY", 404},
|
|
{"PEA", 405},
|
|
{"PEG", 406},
|
|
{"PEN", 407},
|
|
{"PEP", 408},
|
|
{"PER", 409},
|
|
{"PET", 410},
|
|
{"PEW", 411},
|
|
{"PHI", 412},
|
|
{"PI", 413},
|
|
{"PIE", 414},
|
|
{"PIN", 415},
|
|
{"PIT", 416},
|
|
{"PLY", 417},
|
|
{"PO", 418},
|
|
{"POD", 419},
|
|
{"POE", 420},
|
|
{"POP", 421},
|
|
{"POT", 422},
|
|
{"POW", 423},
|
|
{"PRO", 424},
|
|
{"PRY", 425},
|
|
{"PUB", 426},
|
|
{"PUG", 427},
|
|
{"PUN", 428},
|
|
{"PUP", 429},
|
|
{"PUT", 430},
|
|
{"QUAD", 1622},
|
|
{"QUIT", 1623},
|
|
{"QUO", 431},
|
|
{"QUOD", 1624},
|
|
{"RACE", 1625},
|
|
{"RACK", 1626},
|
|
{"RACY", 1627},
|
|
{"RAFT", 1628},
|
|
{"RAG", 432},
|
|
{"RAGE", 1629},
|
|
{"RAID", 1630},
|
|
{"RAIL", 1631},
|
|
{"RAIN", 1632},
|
|
{"RAKE", 1633},
|
|
{"RAM", 433},
|
|
{"RAN", 434},
|
|
{"RANK", 1634},
|
|
{"RANT", 1635},
|
|
{"RAP", 435},
|
|
{"RARE", 1636},
|
|
{"RASH", 1637},
|
|
{"RAT", 436},
|
|
{"RATE", 1638},
|
|
{"RAVE", 1639},
|
|
{"RAW", 437},
|
|
{"RAY", 438},
|
|
{"RAYS", 1640},
|
|
{"READ", 1641},
|
|
{"REAL", 1642},
|
|
{"REAM", 1643},
|
|
{"REAR", 1644},
|
|
{"REB", 439},
|
|
{"RECK", 1645},
|
|
{"RED", 440},
|
|
{"REED", 1646},
|
|
{"REEF", 1647},
|
|
{"REEK", 1648},
|
|
{"REEL", 1649},
|
|
{"REID", 1650},
|
|
{"REIN", 1651},
|
|
{"RENA", 1652},
|
|
{"REND", 1653},
|
|
{"RENT", 1654},
|
|
{"REP", 441},
|
|
{"REST", 1655},
|
|
{"RET", 442},
|
|
{"RIB", 443},
|
|
{"RICE", 1656},
|
|
{"RICH", 1657},
|
|
{"RICK", 1658},
|
|
{"RID", 444},
|
|
{"RIDE", 1659},
|
|
{"RIFT", 1660},
|
|
{"RIG", 445},
|
|
{"RILL", 1661},
|
|
{"RIM", 446},
|
|
{"RIME", 1662},
|
|
{"RING", 1663},
|
|
{"RINK", 1664},
|
|
{"RIO", 447},
|
|
{"RIP", 448},
|
|
{"RISE", 1665},
|
|
{"RISK", 1666},
|
|
{"RITE", 1667},
|
|
{"ROAD", 1668},
|
|
{"ROAM", 1669},
|
|
{"ROAR", 1670},
|
|
{"ROB", 449},
|
|
{"ROBE", 1671},
|
|
{"ROCK", 1672},
|
|
{"ROD", 450},
|
|
{"RODE", 1673},
|
|
{"ROE", 451},
|
|
{"ROIL", 1674},
|
|
{"ROLL", 1675},
|
|
{"ROME", 1676},
|
|
{"RON", 452},
|
|
{"ROOD", 1677},
|
|
{"ROOF", 1678},
|
|
{"ROOK", 1679},
|
|
{"ROOM", 1680},
|
|
{"ROOT", 1681},
|
|
{"ROSA", 1682},
|
|
{"ROSE", 1683},
|
|
{"ROSS", 1684},
|
|
{"ROSY", 1685},
|
|
{"ROT", 453},
|
|
{"ROTH", 1686},
|
|
{"ROUT", 1687},
|
|
{"ROVE", 1688},
|
|
{"ROW", 454},
|
|
{"ROWE", 1689},
|
|
{"ROWS", 1690},
|
|
{"ROY", 455},
|
|
{"RUB", 456},
|
|
{"RUBE", 1691},
|
|
{"RUBY", 1692},
|
|
{"RUDE", 1693},
|
|
{"RUDY", 1694},
|
|
{"RUE", 457},
|
|
{"RUG", 458},
|
|
{"RUIN", 1695},
|
|
{"RULE", 1696},
|
|
{"RUM", 459},
|
|
{"RUN", 460},
|
|
{"RUNG", 1697},
|
|
{"RUNS", 1698},
|
|
{"RUNT", 1699},
|
|
{"RUSE", 1700},
|
|
{"RUSH", 1701},
|
|
{"RUSK", 1702},
|
|
{"RUSS", 1703},
|
|
{"RUST", 1704},
|
|
{"RUTH", 1705},
|
|
{"RYE", 461},
|
|
{"SAC", 462},
|
|
{"SACK", 1706},
|
|
{"SAD", 463},
|
|
{"SAFE", 1707},
|
|
{"SAG", 464},
|
|
{"SAGE", 1708},
|
|
{"SAID", 1709},
|
|
{"SAIL", 1710},
|
|
{"SAL", 465},
|
|
{"SALE", 1711},
|
|
{"SALK", 1712},
|
|
{"SALT", 1713},
|
|
{"SAM", 466},
|
|
{"SAME", 1714},
|
|
{"SAN", 467},
|
|
{"SAND", 1715},
|
|
{"SANE", 1716},
|
|
{"SANG", 1717},
|
|
{"SANK", 1718},
|
|
{"SAP", 468},
|
|
{"SARA", 1719},
|
|
{"SAT", 469},
|
|
{"SAUL", 1720},
|
|
{"SAVE", 1721},
|
|
{"SAW", 470},
|
|
{"SAY", 471},
|
|
{"SAYS", 1722},
|
|
{"SCAN", 1723},
|
|
{"SCAR", 1724},
|
|
{"SCAT", 1725},
|
|
{"SCOT", 1726},
|
|
{"SEA", 472},
|
|
{"SEAL", 1727},
|
|
{"SEAM", 1728},
|
|
{"SEAR", 1729},
|
|
{"SEAT", 1730},
|
|
{"SEC", 473},
|
|
{"SEE", 474},
|
|
{"SEED", 1731},
|
|
{"SEEK", 1732},
|
|
{"SEEM", 1733},
|
|
{"SEEN", 1734},
|
|
{"SEES", 1735},
|
|
{"SELF", 1736},
|
|
{"SELL", 1737},
|
|
{"SEN", 475},
|
|
{"SEND", 1738},
|
|
{"SENT", 1739},
|
|
{"SET", 476},
|
|
{"SETS", 1740},
|
|
{"SEW", 477},
|
|
{"SEWN", 1741},
|
|
{"SHAG", 1742},
|
|
{"SHAM", 1743},
|
|
{"SHAW", 1744},
|
|
{"SHAY", 1745},
|
|
{"SHE", 478},
|
|
{"SHED", 1746},
|
|
{"SHIM", 1747},
|
|
{"SHIN", 1748},
|
|
{"SHOD", 1749},
|
|
{"SHOE", 1750},
|
|
{"SHOT", 1751},
|
|
{"SHOW", 1752},
|
|
{"SHUN", 1753},
|
|
{"SHUT", 1754},
|
|
{"SHY", 479},
|
|
{"SICK", 1755},
|
|
{"SIDE", 1756},
|
|
{"SIFT", 1757},
|
|
{"SIGH", 1758},
|
|
{"SIGN", 1759},
|
|
{"SILK", 1760},
|
|
{"SILL", 1761},
|
|
{"SILO", 1762},
|
|
{"SILT", 1763},
|
|
{"SIN", 480},
|
|
{"SINE", 1764},
|
|
{"SING", 1765},
|
|
{"SINK", 1766},
|
|
{"SIP", 481},
|
|
{"SIR", 482},
|
|
{"SIRE", 1767},
|
|
{"SIS", 483},
|
|
{"SIT", 484},
|
|
{"SITE", 1768},
|
|
{"SITS", 1769},
|
|
{"SITU", 1770},
|
|
{"SKAT", 1771},
|
|
{"SKEW", 1772},
|
|
{"SKI", 485},
|
|
{"SKID", 1773},
|
|
{"SKIM", 1774},
|
|
{"SKIN", 1775},
|
|
{"SKIT", 1776},
|
|
{"SKY", 486},
|
|
{"SLAB", 1777},
|
|
{"SLAM", 1778},
|
|
{"SLAT", 1779},
|
|
{"SLAY", 1780},
|
|
{"SLED", 1781},
|
|
{"SLEW", 1782},
|
|
{"SLID", 1783},
|
|
{"SLIM", 1784},
|
|
{"SLIT", 1785},
|
|
{"SLOB", 1786},
|
|
{"SLOG", 1787},
|
|
{"SLOT", 1788},
|
|
{"SLOW", 1789},
|
|
{"SLUG", 1790},
|
|
{"SLUM", 1791},
|
|
{"SLUR", 1792},
|
|
{"SLY", 487},
|
|
{"SMOG", 1793},
|
|
{"SMUG", 1794},
|
|
{"SNAG", 1795},
|
|
{"SNOB", 1796},
|
|
{"SNOW", 1797},
|
|
{"SNUB", 1798},
|
|
{"SNUG", 1799},
|
|
{"SO", 488},
|
|
{"SOAK", 1800},
|
|
{"SOAR", 1801},
|
|
{"SOB", 489},
|
|
{"SOCK", 1802},
|
|
{"SOD", 490},
|
|
{"SODA", 1803},
|
|
{"SOFA", 1804},
|
|
{"SOFT", 1805},
|
|
{"SOIL", 1806},
|
|
{"SOLD", 1807},
|
|
{"SOME", 1808},
|
|
{"SON", 491},
|
|
{"SONG", 1809},
|
|
{"SOON", 1810},
|
|
{"SOOT", 1811},
|
|
{"SOP", 492},
|
|
{"SORE", 1812},
|
|
{"SORT", 1813},
|
|
{"SOUL", 1814},
|
|
{"SOUR", 1815},
|
|
{"SOW", 493},
|
|
{"SOWN", 1816},
|
|
{"SOY", 494},
|
|
{"SPA", 495},
|
|
{"SPY", 496},
|
|
{"STAB", 1817},
|
|
{"STAG", 1818},
|
|
{"STAN", 1819},
|
|
{"STAR", 1820},
|
|
{"STAY", 1821},
|
|
{"STEM", 1822},
|
|
{"STEW", 1823},
|
|
{"STIR", 1824},
|
|
{"STOW", 1825},
|
|
{"STUB", 1826},
|
|
{"STUN", 1827},
|
|
{"SUB", 497},
|
|
{"SUCH", 1828},
|
|
{"SUD", 498},
|
|
{"SUDS", 1829},
|
|
{"SUE", 499},
|
|
{"SUIT", 1830},
|
|
{"SULK", 1831},
|
|
{"SUM", 500},
|
|
{"SUMS", 1832},
|
|
{"SUN", 501},
|
|
{"SUNG", 1833},
|
|
{"SUNK", 1834},
|
|
{"SUP", 502},
|
|
{"SURE", 1835},
|
|
{"SURF", 1836},
|
|
{"SWAB", 1837},
|
|
{"SWAG", 1838},
|
|
{"SWAM", 1839},
|
|
{"SWAN", 1840},
|
|
{"SWAT", 1841},
|
|
{"SWAY", 1842},
|
|
{"SWIM", 1843},
|
|
{"SWUM", 1844},
|
|
{"TAB", 503},
|
|
{"TACK", 1845},
|
|
{"TACT", 1846},
|
|
{"TAD", 504},
|
|
{"TAG", 505},
|
|
{"TAIL", 1847},
|
|
{"TAKE", 1848},
|
|
{"TALE", 1849},
|
|
{"TALK", 1850},
|
|
{"TALL", 1851},
|
|
{"TAN", 506},
|
|
{"TANK", 1852},
|
|
{"TAP", 507},
|
|
{"TAR", 508},
|
|
{"TASK", 1853},
|
|
{"TATE", 1854},
|
|
{"TAUT", 1855},
|
|
{"TEA", 509},
|
|
{"TEAL", 1856},
|
|
{"TEAM", 1857},
|
|
{"TEAR", 1858},
|
|
{"TECH", 1859},
|
|
{"TED", 510},
|
|
{"TEE", 511},
|
|
{"TEEM", 1860},
|
|
{"TEEN", 1861},
|
|
{"TEET", 1862},
|
|
{"TELL", 1863},
|
|
{"TEN", 512},
|
|
{"TEND", 1864},
|
|
{"TENT", 1865},
|
|
{"TERM", 1866},
|
|
{"TERN", 1867},
|
|
{"TESS", 1868},
|
|
{"TEST", 1869},
|
|
{"THAN", 1870},
|
|
{"THAT", 1871},
|
|
{"THE", 513},
|
|
{"THEE", 1872},
|
|
{"THEM", 1873},
|
|
{"THEN", 1874},
|
|
{"THEY", 1875},
|
|
{"THIN", 1876},
|
|
{"THIS", 1877},
|
|
{"THUD", 1878},
|
|
{"THUG", 1879},
|
|
{"THY", 514},
|
|
{"TIC", 515},
|
|
{"TICK", 1880},
|
|
{"TIDE", 1881},
|
|
{"TIDY", 1882},
|
|
{"TIE", 516},
|
|
{"TIED", 1883},
|
|
{"TIER", 1884},
|
|
{"TILE", 1885},
|
|
{"TILL", 1886},
|
|
{"TILT", 1887},
|
|
{"TIM", 517},
|
|
{"TIME", 1888},
|
|
{"TIN", 518},
|
|
{"TINA", 1889},
|
|
{"TINE", 1890},
|
|
{"TINT", 1891},
|
|
{"TINY", 1892},
|
|
{"TIP", 519},
|
|
{"TIRE", 1893},
|
|
{"TO", 520},
|
|
{"TOAD", 1894},
|
|
{"TOE", 521},
|
|
{"TOG", 522},
|
|
{"TOGO", 1895},
|
|
{"TOIL", 1896},
|
|
{"TOLD", 1897},
|
|
{"TOLL", 1898},
|
|
{"TOM", 523},
|
|
{"TON", 524},
|
|
{"TONE", 1899},
|
|
{"TONG", 1900},
|
|
{"TONY", 1901},
|
|
{"TOO", 525},
|
|
{"TOOK", 1902},
|
|
{"TOOL", 1903},
|
|
{"TOOT", 1904},
|
|
{"TOP", 526},
|
|
{"TORE", 1905},
|
|
{"TORN", 1906},
|
|
{"TOTE", 1907},
|
|
{"TOUR", 1908},
|
|
{"TOUT", 1909},
|
|
{"TOW", 527},
|
|
{"TOWN", 1910},
|
|
{"TOY", 528},
|
|
{"TRAG", 1911},
|
|
{"TRAM", 1912},
|
|
{"TRAY", 1913},
|
|
{"TREE", 1914},
|
|
{"TREK", 1915},
|
|
{"TRIG", 1916},
|
|
{"TRIM", 1917},
|
|
{"TRIO", 1918},
|
|
{"TROD", 1919},
|
|
{"TROT", 1920},
|
|
{"TROY", 1921},
|
|
{"TRUE", 1922},
|
|
{"TRY", 529},
|
|
{"TUB", 530},
|
|
{"TUBA", 1923},
|
|
{"TUBE", 1924},
|
|
{"TUCK", 1925},
|
|
{"TUFT", 1926},
|
|
{"TUG", 531},
|
|
{"TUM", 532},
|
|
{"TUN", 533},
|
|
{"TUNA", 1927},
|
|
{"TUNE", 1928},
|
|
{"TUNG", 1929},
|
|
{"TURF", 1930},
|
|
{"TURN", 1931},
|
|
{"TUSK", 1932},
|
|
{"TWIG", 1933},
|
|
{"TWIN", 1934},
|
|
{"TWIT", 1935},
|
|
{"TWO", 534},
|
|
{"ULAN", 1936},
|
|
{"UN", 535},
|
|
{"UNIT", 1937},
|
|
{"UP", 536},
|
|
{"URGE", 1938},
|
|
{"US", 537},
|
|
{"USE", 538},
|
|
{"USED", 1939},
|
|
{"USER", 1940},
|
|
{"USES", 1941},
|
|
{"UTAH", 1942},
|
|
{"VAIL", 1943},
|
|
{"VAIN", 1944},
|
|
{"VALE", 1945},
|
|
{"VAN", 539},
|
|
{"VARY", 1946},
|
|
{"VASE", 1947},
|
|
{"VAST", 1948},
|
|
{"VAT", 540},
|
|
{"VEAL", 1949},
|
|
{"VEDA", 1950},
|
|
{"VEIL", 1951},
|
|
{"VEIN", 1952},
|
|
{"VEND", 1953},
|
|
{"VENT", 1954},
|
|
{"VERB", 1955},
|
|
{"VERY", 1956},
|
|
{"VET", 541},
|
|
{"VETO", 1957},
|
|
{"VICE", 1958},
|
|
{"VIE", 542},
|
|
{"VIEW", 1959},
|
|
{"VINE", 1960},
|
|
{"VISE", 1961},
|
|
{"VOID", 1962},
|
|
{"VOLT", 1963},
|
|
{"VOTE", 1964},
|
|
{"WACK", 1965},
|
|
{"WAD", 543},
|
|
{"WADE", 1966},
|
|
{"WAG", 544},
|
|
{"WAGE", 1967},
|
|
{"WAIL", 1968},
|
|
{"WAIT", 1969},
|
|
{"WAKE", 1970},
|
|
{"WALE", 1971},
|
|
{"WALK", 1972},
|
|
{"WALL", 1973},
|
|
{"WALT", 1974},
|
|
{"WAND", 1975},
|
|
{"WANE", 1976},
|
|
{"WANG", 1977},
|
|
{"WANT", 1978},
|
|
{"WAR", 545},
|
|
{"WARD", 1979},
|
|
{"WARM", 1980},
|
|
{"WARN", 1981},
|
|
{"WART", 1982},
|
|
{"WAS", 546},
|
|
{"WASH", 1983},
|
|
{"WAST", 1984},
|
|
{"WATS", 1985},
|
|
{"WATT", 1986},
|
|
{"WAVE", 1987},
|
|
{"WAVY", 1988},
|
|
{"WAY", 547},
|
|
{"WAYS", 1989},
|
|
{"WE", 548},
|
|
{"WEAK", 1990},
|
|
{"WEAL", 1991},
|
|
{"WEAN", 1992},
|
|
{"WEAR", 1993},
|
|
{"WEB", 549},
|
|
{"WED", 550},
|
|
{"WEE", 551},
|
|
{"WEED", 1994},
|
|
{"WEEK", 1995},
|
|
{"WEIR", 1996},
|
|
{"WELD", 1997},
|
|
{"WELL", 1998},
|
|
{"WELT", 1999},
|
|
{"WENT", 2000},
|
|
{"WERE", 2001},
|
|
{"WERT", 2002},
|
|
{"WEST", 2003},
|
|
{"WET", 552},
|
|
{"WHAM", 2004},
|
|
{"WHAT", 2005},
|
|
{"WHEE", 2006},
|
|
{"WHEN", 2007},
|
|
{"WHET", 2008},
|
|
{"WHO", 553},
|
|
{"WHOA", 2009},
|
|
{"WHOM", 2010},
|
|
{"WHY", 554},
|
|
{"WICK", 2011},
|
|
{"WIFE", 2012},
|
|
{"WILD", 2013},
|
|
{"WILL", 2014},
|
|
{"WIN", 555},
|
|
{"WIND", 2015},
|
|
{"WINE", 2016},
|
|
{"WING", 2017},
|
|
{"WINK", 2018},
|
|
{"WINO", 2019},
|
|
{"WIRE", 2020},
|
|
{"WISE", 2021},
|
|
{"WISH", 2022},
|
|
{"WIT", 556},
|
|
{"WITH", 2023},
|
|
{"WOK", 557},
|
|
{"WOLF", 2024},
|
|
{"WON", 558},
|
|
{"WONT", 2025},
|
|
{"WOO", 559},
|
|
{"WOOD", 2026},
|
|
{"WOOL", 2027},
|
|
{"WORD", 2028},
|
|
{"WORE", 2029},
|
|
{"WORK", 2030},
|
|
{"WORM", 2031},
|
|
{"WORN", 2032},
|
|
{"WOVE", 2033},
|
|
{"WOW", 560},
|
|
{"WRIT", 2034},
|
|
{"WRY", 561},
|
|
{"WU", 562},
|
|
{"WYNN", 2035},
|
|
{"YALE", 2036},
|
|
{"YAM", 563},
|
|
{"YANG", 2037},
|
|
{"YANK", 2038},
|
|
{"YAP", 564},
|
|
{"YARD", 2039},
|
|
{"YARN", 2040},
|
|
{"YAW", 565},
|
|
{"YAWL", 2041},
|
|
{"YAWN", 2042},
|
|
{"YE", 566},
|
|
{"YEA", 567},
|
|
{"YEAH", 2043},
|
|
{"YEAR", 2044},
|
|
{"YELL", 2045},
|
|
{"YES", 568},
|
|
{"YET", 569},
|
|
{"YOGA", 2046},
|
|
{"YOKE", 2047},
|
|
{"YOU", 570}
|
|
};
|
|
|
|
static int
|
|
cmp(const void *a, const void *b)
|
|
{
|
|
struct e *e1, *e2;
|
|
|
|
e1 = (struct e *)a;
|
|
e2 = (struct e *)b;
|
|
return strcasecmp (e1->s, e2->s);
|
|
}
|
|
|
|
static int
|
|
get_stdword (char *s, void *v)
|
|
{
|
|
struct e e, *r;
|
|
|
|
e.s = s;
|
|
e.n = -1;
|
|
r = (struct e *) bsearch (&e, inv_std_dict,
|
|
sizeof(inv_std_dict)/sizeof(*inv_std_dict),
|
|
sizeof(*inv_std_dict), cmp);
|
|
if (r)
|
|
return r->n;
|
|
else
|
|
return -1;
|
|
}
|
|
|
|
static void
|
|
compress (OtpKey key, unsigned wn[])
|
|
{
|
|
key[0] = wn[0] >> 3;
|
|
key[1] = ((wn[0] & 0x07) << 5) | (wn[1] >> 6);
|
|
key[2] = ((wn[1] & 0x3F) << 2) | (wn[2] >> 9);
|
|
key[3] = ((wn[2] >> 1) & 0xFF);
|
|
key[4] = ((wn[2] & 0x01) << 7) | (wn[3] >> 4);
|
|
key[5] = ((wn[3] & 0x0F) << 4) | (wn[4] >> 7);
|
|
key[6] = ((wn[4] & 0x7F) << 1) | (wn[5] >> 10);
|
|
key[7] = ((wn[5] >> 2) & 0xFF);
|
|
}
|
|
|
|
static int
|
|
get_altword (char *s, void *a)
|
|
{
|
|
OtpAlgorithm *alg = (OtpAlgorithm *)a;
|
|
int ret;
|
|
unsigned char *res = malloc(alg->hashsize);
|
|
|
|
if (res == NULL)
|
|
return -1;
|
|
alg->hash (s, strlen(s), res);
|
|
ret = (unsigned)(res[alg->hashsize - 1]) |
|
|
((res[alg->hashsize - 2] & 0x03) << 8);
|
|
free (res);
|
|
return ret;
|
|
}
|
|
|
|
static int
|
|
parse_words(unsigned wn[],
|
|
char *str,
|
|
int (*convert)(char *, void *),
|
|
void *arg)
|
|
{
|
|
char *w, *wend, c;
|
|
int i;
|
|
int tmp;
|
|
|
|
w = str;
|
|
for (i = 0; i < 6; ++i) {
|
|
while (isspace(*w))
|
|
++w;
|
|
wend = w;
|
|
while (isalpha (*wend))
|
|
++wend;
|
|
c = *wend;
|
|
*wend = '\0';
|
|
tmp = (*convert)(w, arg);
|
|
*wend = c;
|
|
w = wend;
|
|
if (tmp < 0)
|
|
return -1;
|
|
wn[i] = tmp;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
static int
|
|
otp_parse_internal (OtpKey key, char *str, OtpAlgorithm *alg,
|
|
int (*convert)(char *, void *))
|
|
{
|
|
unsigned wn[6];
|
|
|
|
if (parse_words (wn, str, convert, alg))
|
|
return -1;
|
|
compress (key, wn);
|
|
if (otp_checksum (key) != (wn[5] & 0x03))
|
|
return -1;
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
otp_parse_stddict (OtpKey key, char *str)
|
|
{
|
|
return otp_parse_internal (key, str, NULL, get_stdword);
|
|
}
|
|
|
|
int
|
|
otp_parse_altdict (OtpKey key, char *str, OtpAlgorithm *alg)
|
|
{
|
|
return otp_parse_internal (key, str, alg, get_altword);
|
|
}
|
|
|
|
int
|
|
otp_parse_hex (OtpKey key, char *s)
|
|
{
|
|
char buf[17], *b;
|
|
int is[8];
|
|
int i;
|
|
|
|
b = buf;
|
|
while (*s) {
|
|
if (strchr ("0123456789ABCDEFabcdef", *s))
|
|
if (b - buf >= 16)
|
|
return -1;
|
|
else
|
|
*b++ = tolower(*s);
|
|
s++;
|
|
}
|
|
*b = '\0';
|
|
if (sscanf (buf, "%2x%2x%2x%2x%2x%2x%2x%2x",
|
|
&is[0], &is[1], &is[2], &is[3], &is[4],
|
|
&is[5], &is[6], &is[7]) != 8)
|
|
return -1;
|
|
for (i = 0; i < OTPKEYSIZE; ++i)
|
|
key[i] = is[i];
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
otp_parse (OtpKey key, char *s, OtpAlgorithm *alg)
|
|
{
|
|
int ret;
|
|
int dohex = 1;
|
|
|
|
if (strncmp (s, OTP_HEXPREFIX, strlen(OTP_HEXPREFIX)) == 0)
|
|
return otp_parse_hex (key, s + strlen(OTP_HEXPREFIX));
|
|
if (strncmp (s, OTP_WORDPREFIX, strlen(OTP_WORDPREFIX)) == 0) {
|
|
s += strlen(OTP_WORDPREFIX);
|
|
dohex = 0;
|
|
}
|
|
|
|
ret = otp_parse_stddict (key, s);
|
|
if (ret)
|
|
ret = otp_parse_altdict (key, s, alg);
|
|
if (ret && dohex)
|
|
ret = otp_parse_hex (key, s);
|
|
return ret;
|
|
}
|