home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2257 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  28.1 KB  |  2,159 lines

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