Hex Artifact Content
Not logged in

Artifact 8fde63294a6e110b0649cb0f8c50c09ec33849de:


0000: 5c 20 72 65 61 64 61 62 6c 65 20 77 75 72 73 74  \ readable wurst
0010: 6b 65 73 73 65 6c 20 2d 20 36 34 20 62 69 74 20  kessel - 64 bit 
0020: 6f 6e 6c 79 0a 0a 38 20 63 65 6c 6c 73 20 43 6f  only..8 cells Co
0030: 6e 73 74 61 6e 74 20 73 74 61 74 65 23 0a 0a 24  nstant state#..$
0040: 31 30 20 68 65 72 65 20 24 46 20 61 6e 64 20 2d  10 here $F and -
0050: 20 61 6c 6c 6f 74 20 0a 68 65 72 65 20 73 74 61   allot .here sta
0060: 74 65 23 20 61 6c 6c 6f 74 20 5c 20 73 6f 75 72  te# allot \ sour
0070: 63 65 0a 68 65 72 65 20 73 74 61 74 65 23 20 61  ce.here state# a
0080: 6c 6c 6f 74 20 5c 20 73 74 61 74 65 0a 68 65 72  llot \ state.her
0090: 65 20 73 74 61 74 65 23 20 61 6c 6c 6f 74 20 5c  e state# allot \
00a0: 20 6e 65 78 74 73 74 61 74 65 0a 68 65 72 65 20   nextstate.here 
00b0: 73 74 61 74 65 23 20 38 20 2a 20 61 6c 6c 6f 74  state# 8 * allot
00c0: 20 5c 20 6d 65 73 73 61 67 65 0a 73 77 61 70 20   \ message.swap 
00d0: 32 73 77 61 70 20 73 77 61 70 0a 0a 43 6f 6e 73  2swap swap..Cons
00e0: 74 61 6e 74 20 77 75 72 73 74 2d 73 6f 75 72 63  tant wurst-sourc
00f0: 65 0a 43 6f 6e 73 74 61 6e 74 20 77 75 72 73 74  e.Constant wurst
0100: 2d 73 74 61 74 65 0a 43 6f 6e 73 74 61 6e 74 20  -state.Constant 
0110: 6e 65 78 74 73 74 61 74 65 0a 43 6f 6e 73 74 61  nextstate.Consta
0120: 6e 74 20 6d 65 73 73 61 67 65 0a 0a 43 72 65 61  nt message..Crea
0130: 74 65 20 27 72 6e 67 73 20 5c 20 74 68 69 73 20  te 'rngs \ this 
0140: 69 73 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 57  is essentially W
0150: 75 72 73 74 6b 65 73 73 65 6c 27 73 20 53 2d 62  urstkessel's S-b
0160: 6f 78 0a 24 45 41 35 37 36 42 31 35 41 37 41 46  ox.$EA576B15A7AF
0170: 42 41 30 38 20 2c 20 24 42 46 34 38 38 38 44 43  BA08 , $BF4888DC
0180: 30 32 31 33 31 45 46 37 20 2c 20 24 35 46 34 39  02131EF7 , $5F49
0190: 41 34 30 42 31 44 41 41 46 35 46 44 20 2c 20 24  A40B1DAAF5FD , $
01a0: 37 37 39 38 39 37 35 45 35 32 33 33 43 38 39 44  7798975E5233C89D
01b0: 20 2c 0a 24 41 37 30 41 31 42 44 35 31 38 42 33   ,.$A70A1BD518B3
01c0: 46 42 43 36 20 2c 20 24 38 45 33 31 44 35 34 45  FBC6 , $8E31D54E
01d0: 43 42 37 42 43 44 46 39 20 2c 20 24 39 34 39 44  CB7BCDF9 , $949D
01e0: 31 30 37 30 32 39 46 39 34 45 41 41 20 2c 20 24  107029F94EAA , $
01f0: 37 42 34 30 32 36 31 46 36 42 33 45 30 37 36 33  7B40261F6B3E0763
0200: 20 2c 0a 24 45 38 34 35 46 39 30 34 37 37 41 33   ,.$E845F90477A3
0210: 30 41 43 35 20 2c 20 24 36 42 46 35 43 44 43 30  0AC5 , $6BF5CDC0
0220: 39 34 42 37 41 36 35 37 20 2c 20 24 42 30 37 39  94B7A657 , $B079
0230: 36 43 39 46 36 31 46 39 39 30 46 39 20 2c 20 24  6C9F61F990F9 , $
0240: 43 31 34 39 46 41 42 41 35 30 30 31 34 42 46 43  C149FABA50014BFC
0250: 20 2c 0a 24 36 32 36 33 37 37 32 32 38 42 43 37   ,.$626377228BC7
0260: 36 32 45 46 20 2c 20 24 36 33 39 42 46 45 39 33  62EF , $639BFE93
0270: 30 39 34 45 37 42 38 34 20 2c 20 24 30 42 36 31  094E7B84 , $0B61
0280: 31 34 30 43 31 33 35 31 33 45 31 35 20 2c 20 24  140C13513E15 , $
0290: 41 44 42 38 30 30 34 36 30 44 38 42 37 41 33 46  ADB800460D8B7A3F
02a0: 20 2c 0a 24 32 30 44 33 38 37 33 31 31 30 38 38   ,.$20D387311088
02b0: 30 44 34 33 20 2c 20 24 31 34 34 42 38 36 32 46  0D43 , $144B862F
02c0: 34 37 35 35 44 38 45 46 20 2c 20 24 36 39 43 31  4755D8EF , $69C1
02d0: 32 37 46 33 35 30 45 43 44 37 30 39 20 2c 20 24  27F350ECD709 , $
02e0: 34 41 39 32 35 31 31 46 41 44 33 31 44 34 36 35  4A92511FAD31D465
02f0: 20 2c 0a 24 33 34 45 42 30 45 46 38 45 44 38 32   ,.$34EB0EF8ED82
0300: 33 30 42 32 20 2c 20 24 34 37 37 42 46 34 36 36  30B2 , $477BF466
0310: 45 33 33 32 44 44 42 38 20 2c 20 24 30 38 36 42  E332DDB8 , $086B
0320: 36 46 32 30 44 43 32 46 31 42 33 33 20 2c 20 24  6F20DC2F1B33 , $
0330: 45 30 32 30 43 38 30 31 32 45 31 45 42 43 34 41  E020C8012E1EBC4A
0340: 20 2c 0a 24 43 34 41 35 42 45 46 39 33 39 30 34   ,.$C4A5BEF93904
0350: 34 41 46 43 20 2c 20 24 43 35 43 35 42 30 33 46  4AFC , $C5C5B03F
0360: 38 30 46 41 46 37 33 39 20 2c 20 24 41 44 34 36  80FAF739 , $AD46
0370: 45 46 42 41 36 45 34 45 45 46 42 32 20 2c 20 24  EFBA6E4EEFB2 , $
0380: 45 41 44 30 34 45 45 46 32 31 41 44 35 43 43 41  EAD04EEF21AD5CCA
0390: 20 2c 0a 24 36 38 35 31 36 33 34 35 46 33 32 45   ,.$68516345F32E
03a0: 35 38 32 45 20 2c 20 24 46 45 44 45 32 30 36 37  582E , $FEDE2067
03b0: 41 33 33 35 42 31 46 36 20 2c 20 24 39 36 36 31  A335B1F6 , $9661
03c0: 31 44 31 33 31 37 32 42 41 30 34 34 20 2c 20 24  1D13172BA044 , $
03d0: 31 44 44 42 43 33 46 33 36 32 35 37 44 46 39 36  1DDBC3F36257DF96
03e0: 20 2c 0a 24 34 42 46 45 37 35 41 39 31 42 35 38   ,.$4BFE75A91B58
03f0: 32 44 30 37 20 2c 20 24 38 32 44 46 33 41 37 44  2D07 , $82DF3A7D
0400: 34 32 30 35 44 39 42 34 20 2c 20 24 43 44 43 37  4205D9B4 , $CDC7
0410: 43 32 43 37 36 39 42 31 30 31 36 33 20 2c 20 24  C2C769B10163 , $
0420: 32 42 39 45 46 42 33 41 34 30 36 43 31 43 32 32  2B9EFB3A406C1C22
0430: 20 2c 0a 24 44 41 37 33 32 46 31 37 42 42 35 46   ,.$DA732F17BB5F
0440: 41 38 31 39 20 2c 20 24 31 34 44 41 32 44 39 39  A819 , $14DA2D99
0450: 34 42 38 38 45 42 46 42 20 2c 20 24 45 39 45 38  4B88EBFB , $E9E8
0460: 44 41 33 37 31 38 36 36 38 31 38 45 20 2c 20 24  DA371866818E , $
0470: 36 41 41 46 45 41 41 42 38 30 44 37 32 37 35 38  6AAFEAAB80D72758
0480: 20 2c 0a 24 45 32 34 35 33 41 43 45 41 37 34 37   ,.$E2453ACEA747
0490: 31 39 44 42 20 2c 20 24 36 32 43 41 42 37 38 45  19DB , $62CAB78E
04a0: 38 32 31 33 37 45 37 38 20 2c 20 24 34 42 36 30  82137E78 , $4B60
04b0: 45 36 37 37 38 41 38 34 43 38 32 42 20 2c 20 24  E6778A84C82B , $
04c0: 34 31 42 46 32 34 31 37 42 30 30 37 30 37 36 34  41BF2417B0070764
04d0: 20 2c 0a 24 46 33 38 36 35 41 44 45 42 46 33 33   ,.$F3865ADEBF33
04e0: 37 41 39 39 20 2c 20 24 41 31 45 43 33 36 43 36  7A99 , $A1EC36C6
04f0: 39 36 34 39 32 42 45 30 20 2c 20 24 37 43 38 38  96492BE0 , $7C88
0500: 34 42 33 32 30 38 30 43 36 34 39 46 20 2c 20 24  4B32080C649F , $
0510: 41 41 45 39 39 42 44 41 44 43 33 37 36 38 35 41  AAE99BDADC37685A
0520: 20 2c 0a 24 44 43 41 34 43 35 39 44 39 38 42 45   ,.$DCA4C59D98BE
0530: 45 43 36 43 20 2c 20 24 44 44 38 38 38 36 46 45  EC6C , $DD8886FE
0540: 44 38 42 38 32 30 39 30 20 2c 20 24 46 38 39 34  D8B82090 , $F894
0550: 41 41 36 39 39 34 45 46 44 42 38 41 20 2c 20 24  AA6994EFDB8A , $
0560: 46 42 39 35 34 45 41 37 31 30 37 42 31 42 46 33  FB954EA7107B1BF3
0570: 20 2c 0a 24 38 30 45 35 36 39 35 38 31 37 37 33   ,.$80E569581773
0580: 43 46 35 46 20 2c 20 24 46 34 31 38 45 31 46 39  CF5F , $F418E1F9
0590: 37 45 36 30 31 44 39 34 20 2c 20 24 37 41 39 42  7E601D94 , $7A9B
05a0: 39 46 39 30 33 33 41 34 30 38 32 30 20 2c 20 24  9F9033A40820 , $
05b0: 30 30 45 30 36 44 37 43 34 46 35 30 37 32 36 42  00E06D7C4F50726B
05c0: 20 2c 0a 24 31 39 43 32 30 35 43 37 46 34 36 31   ,.$19C205C7F461
05d0: 45 42 36 35 20 2c 20 24 44 42 36 31 30 41 33 36  EB65 , $DB610A36
05e0: 44 45 34 30 41 45 37 43 20 2c 20 24 30 46 43 44  DE40AE7C , $0FCD
05f0: 32 30 31 41 46 33 45 36 35 46 35 46 20 2c 20 24  201AF3E65F5F , $
0600: 35 38 34 30 39 31 30 46 43 31 39 30 32 32 32 34  5840910FC1902224
0610: 20 2c 0a 24 31 32 31 30 39 37 35 32 34 30 42 45   ,.$1210975240BE
0620: 31 38 32 39 20 2c 20 24 37 31 42 39 37 33 30 37  1829 , $71B97307
0630: 45 38 45 39 30 33 46 39 20 2c 20 24 44 46 38 35  E8E903F9 , $DF85
0640: 43 36 43 33 34 36 44 46 34 46 46 32 20 2c 20 24  C6C346DF4FF2 , $
0650: 42 42 32 36 46 38 33 35 46 44 33 37 31 31 46 31  BB26F835FD3711F1
0660: 20 2c 0a 24 34 44 45 38 45 36 44 43 30 30 38 42   ,.$4DE8E6DC008B
0670: 44 32 34 39 20 2c 20 24 38 43 31 31 44 35 41 36  D249 , $8C11D5A6
0680: 34 37 43 41 36 32 33 31 20 2c 20 24 42 31 30 44  47CA6231 , $B10D
0690: 30 46 36 36 45 43 30 37 41 32 35 31 20 2c 20 24  0F66EC07A251 , $
06a0: 44 32 44 34 43 37 42 44 36 30 38 41 41 43 44 45  D2D4C7BD608AACDE
06b0: 20 2c 0a 24 31 37 43 37 35 36 30 44 36 32 31 45   ,.$17C7560D621E
06c0: 36 44 36 32 20 2c 20 24 41 31 38 32 35 39 31 42  6D62 , $A182591B
06d0: 43 35 33 44 37 43 38 41 20 2c 20 24 38 46 42 46  C53D7C8A , $8FBF
06e0: 37 32 36 30 43 31 36 30 35 38 44 37 20 2c 20 24  7260C16058D7 , $
06f0: 44 32 30 43 31 41 41 34 37 41 44 32 38 30 46 44  D20C1AA47AD280FD
0700: 20 2c 0a 24 34 43 33 34 41 42 43 36 34 36 32 37   ,.$4C34ABC64627
0710: 36 44 33 45 20 2c 20 24 44 46 39 33 32 38 32 32  6D3E , $DF932822
0720: 32 42 35 35 35 38 38 35 20 2c 20 24 35 46 43 45  2B555885 , $5FCE
0730: 41 43 36 38 42 39 31 41 41 37 35 46 20 2c 20 24  AC68B91AA75F , $
0740: 42 36 36 32 43 34 44 38 34 46 37 31 33 35 43 36  B662C4D84F7135C6
0750: 20 2c 0a 24 34 31 38 44 42 44 33 43 34 35 44 37   ,.$418DBD3C45D7
0760: 45 36 37 43 20 2c 20 24 35 45 30 37 44 42 39 37  E67C , $5E07DB97
0770: 41 32 38 44 32 41 33 41 20 2c 20 24 44 35 44 37  A28D2A3A , $D5D7
0780: 42 30 32 34 43 37 45 31 34 38 41 33 20 2c 20 24  B024C7E148A3 , $
0790: 33 46 33 30 32 33 36 33 39 45 34 45 44 39 31 44  3F3023639E4ED91D
07a0: 20 2c 0a 24 37 35 35 39 30 35 38 30 44 31 38 42   ,.$75590580D18B
07b0: 44 43 46 37 20 2c 20 24 32 39 33 36 43 34 34 35  DCF7 , $2936C445
07c0: 41 38 43 43 45 35 44 33 20 2c 20 24 31 43 39 42  A8CCE5D3 , $1C9B
07d0: 35 31 33 35 32 41 39 42 33 38 41 41 20 2c 20 24  51352A9B38AA , $
07e0: 31 45 43 36 37 42 30 45 36 33 45 41 36 42 39 43  1EC67B0E63EA6B9C
07f0: 20 2c 0a 24 33 30 41 41 34 32 46 34 34 34 44 44   ,.$30AA42F444DD
0800: 38 44 37 37 20 2c 20 24 35 34 39 30 43 37 35 46  8D77 , $5490C75F
0810: 31 41 35 30 42 33 44 34 20 2c 20 24 38 41 36 32  1A50B3D4 , $8A62
0820: 44 43 36 38 36 36 31 34 39 44 43 36 20 2c 20 24  DC6866149DC6 , $
0830: 34 35 45 37 31 43 41 35 38 41 33 41 31 41 30 33  45E71CA58A3A1A03
0840: 20 2c 0a 24 34 34 43 33 35 41 36 30 43 41 36 32   ,.$44C35A60CA62
0850: 45 46 34 43 20 2c 20 24 38 41 38 44 31 30 46 36  EF4C , $8A8D10F6
0860: 37 39 30 34 46 32 30 33 20 2c 20 24 37 33 46 42  7904F203 , $73FB
0870: 34 37 43 39 39 41 37 38 39 45 32 37 20 2c 20 24  47C99A789E27 , $
0880: 46 36 44 41 32 36 34 43 35 45 43 35 38 38 33 34  F6DA264C5EC58834
0890: 20 2c 0a 24 37 44 45 37 30 37 41 42 39 34 31 41   ,.$7DE707AB941A
08a0: 36 38 42 31 20 2c 20 24 38 45 35 46 43 31 35 41  68B1 , $8E5FC15A
08b0: 42 31 42 38 32 44 34 32 20 2c 20 24 31 36 39 46  B1B82D42 , $169F
08c0: 32 37 30 45 33 31 45 31 31 38 42 39 20 2c 20 24  270E31E118B9 , $
08d0: 38 39 44 37 37 44 32 43 41 32 32 38 46 31 41 31  89D77D2CA228F1A1
08e0: 20 2c 0a 24 46 37 33 42 46 43 44 30 37 36 45 41   ,.$F73BFCD076EA
08f0: 34 35 39 33 20 2c 20 24 33 46 43 32 35 39 34 45  4593 , $3FC2594E
0900: 41 38 36 38 41 41 36 42 20 2c 20 24 37 45 37 31  A868AA6B , $7E71
0910: 32 42 33 38 32 36 42 46 39 34 30 42 20 2c 20 24  2B3826BF940B , $
0920: 43 35 45 34 37 35 32 33 46 32 45 44 37 32 44 33  C5E47523F2ED72D3
0930: 20 2c 0a 24 42 31 37 44 35 45 32 42 34 30 44 39   ,.$B17D5E2B40D9
0940: 31 43 42 37 20 2c 20 24 37 41 34 36 43 41 39 38  1CB7 , $7A46CA98
0950: 39 42 36 42 35 34 35 43 20 2c 20 24 44 46 35 33  9B6B545C , $DF53
0960: 39 36 33 34 37 33 44 38 41 30 32 38 20 2c 20 24  963473D8A028 , $
0970: 31 43 32 42 30 35 45 39 35 42 36 41 32 33 36 31  1C2B05E95B6A2361
0980: 20 2c 0a 24 32 41 38 43 45 36 43 43 38 41 41 34   ,.$2A8CE6CC8AA4
0990: 36 32 34 30 20 2c 20 24 37 45 35 36 36 37 33 42  6240 , $7E56673B
09a0: 38 34 36 37 42 32 44 34 20 2c 20 24 35 43 43 30  8467B2D4 , $5CC0
09b0: 38 39 38 36 44 44 31 36 34 33 44 32 20 2c 20 24  8986DD1643D2 , $
09c0: 33 34 42 45 43 32 36 43 31 30 41 38 41 30 46 37  34BEC26C10A8A0F7
09d0: 20 2c 0a 24 35 41 31 30 36 35 35 30 38 33 34 34   ,.$5A1065508344
09e0: 44 39 42 46 20 2c 20 24 39 36 34 43 44 36 39 31  D9BF , $964CD691
09f0: 43 37 35 31 34 41 35 34 20 2c 20 24 44 41 36 36  C7514A54 , $DA66
0a00: 34 32 45 32 30 36 44 38 45 45 43 30 20 2c 20 24  42E206D8EEC0 , $
0a10: 46 45 35 30 36 34 30 45 41 43 43 35 37 37 33 36  FE50640EACC57736
0a20: 20 2c 0a 24 34 46 44 37 37 35 42 45 45 43 30 33   ,.$4FD775BEEC03
0a30: 45 30 30 43 20 2c 20 24 32 45 44 35 31 33 32 32  E00C , $2ED51322
0a40: 46 41 36 34 38 34 37 30 20 2c 20 24 44 31 32 36  FA648470 , $D126
0a50: 33 39 36 46 45 33 34 36 46 44 38 32 20 2c 20 24  396FE346FD82 , $
0a60: 33 32 31 46 38 45 36 32 36 36 30 41 35 33 35 38  321F8E62660A5358
0a70: 20 2c 0a 24 42 31 38 41 43 30 34 31 35 31 32 30   ,.$B18AC0415120
0a80: 41 39 37 30 20 2c 20 24 41 45 36 36 45 38 44 30  A970 , $AE66E8D0
0a90: 44 38 39 42 44 45 41 32 20 2c 20 24 38 46 46 33  D89BDEA2 , $8FF3
0aa0: 39 30 37 30 34 32 31 31 33 37 31 33 20 2c 20 24  907042113713 , $
0ab0: 33 45 44 31 41 35 41 46 34 35 42 39 42 44 32 31  3ED1A5AF45B9BD21
0ac0: 20 2c 0a 24 43 44 39 33 43 35 41 37 36 37 36 46   ,.$CD93C5A7676F
0ad0: 39 42 38 30 20 2c 20 24 42 36 33 39 30 41 33 44  9B80 , $B6390A3D
0ae0: 39 34 44 41 45 46 31 31 20 2c 20 24 38 36 38 39  94DAEF11 , $8689
0af0: 37 36 37 31 35 43 35 43 43 41 36 38 20 2c 20 24  76715C5CCA68 , $
0b00: 41 44 38 38 36 41 41 30 36 34 42 35 44 44 43 35  AD886AA064B5DDC5
0b10: 20 2c 0a 24 44 43 44 38 41 30 43 43 42 30 45 45   ,.$DCD8A0CCB0EE
0b20: 34 46 34 32 20 2c 20 24 35 45 38 32 35 42 35 41  4F42 , $5E825B5A
0b30: 46 32 36 39 36 42 34 38 20 2c 20 24 43 36 41 44  F2696B48 , $C6AD
0b40: 32 38 34 38 42 31 42 44 32 41 46 45 20 2c 20 24  2848B1BD2AFE , $
0b50: 34 44 45 35 41 32 30 41 44 33 33 30 42 36 45 34  4DE5A20AD330B6E4
0b60: 20 2c 0a 24 31 32 31 44 41 33 45 34 34 32 38 41   ,.$121DA3E4428A
0b70: 41 32 37 44 20 2c 20 24 41 44 37 33 34 41 46 36  A27D , $AD734AF6
0b80: 39 42 42 36 35 38 45 38 20 2c 20 24 41 32 33 39  9BB658E8 , $A239
0b90: 38 30 39 38 33 34 42 36 36 46 45 43 20 2c 20 24  809834B66FEC , $
0ba0: 34 45 30 41 46 46 32 35 43 31 36 32 30 32 34 43  4E0AFF25C162024C
0bb0: 20 2c 0a 24 31 32 41 44 41 42 31 42 38 43 44 42   ,.$12ADAB1B8CDB
0bc0: 41 41 34 39 20 2c 20 24 37 45 46 44 32 30 35 42  AA49 , $7EFD205B
0bd0: 38 41 32 44 37 31 34 32 20 2c 20 24 31 31 30 30  8A2D7142 , $1100
0be0: 44 33 36 39 35 31 43 43 36 41 43 44 20 2c 20 24  D36951CC6ACD , $
0bf0: 35 36 44 37 44 35 44 39 30 38 37 44 34 32 44 43  56D7D5D9087D42DC
0c00: 20 2c 0a 24 31 39 42 45 38 46 33 44 31 44 37 41   ,.$19BE8F3D1D7A
0c10: 31 30 33 46 20 2c 20 24 35 38 37 36 39 37 41 30  103F , $587697A0
0c20: 37 33 33 37 45 30 37 36 20 2c 20 24 46 31 33 34  7337E076 , $F134
0c30: 39 38 33 44 37 39 36 33 33 33 42 46 20 2c 20 24  983D796333BF , $
0c40: 38 41 36 37 42 34 46 33 38 43 35 36 32 34 43 35  8A67B4F38C5624C5
0c50: 20 2c 0a 24 35 44 38 41 39 37 33 36 41 44 32 45   ,.$5D8A9736AD2E
0c60: 45 44 45 33 20 2c 20 24 35 43 33 32 46 30 43 31  EDE3 , $5C32F0C1
0c70: 44 32 45 32 36 42 45 44 20 2c 20 24 30 32 39 41  D2E26BED , $029A
0c80: 44 38 36 30 38 30 41 31 39 36 30 41 20 2c 20 24  D86080A1960A , $
0c90: 45 44 35 46 37 36 44 31 44 42 32 37 36 45 44 39  ED5F76D1DB276ED9
0ca0: 20 2c 0a 24 33 33 43 42 35 38 31 30 36 31 38 30   ,.$33CB58106180
0cb0: 35 44 46 44 20 2c 20 24 41 35 44 46 32 35 32 32  5DFD , $A5DF2522
0cc0: 41 30 46 36 39 31 43 37 20 2c 20 24 41 34 41 44  A0F691C7 , $A4AD
0cd0: 45 44 46 37 38 32 46 44 36 42 44 32 20 2c 20 24  EDF782FD6BD2 , $
0ce0: 46 45 33 38 34 46 46 30 44 33 37 31 43 39 36 34  FE384FF0D371C964
0cf0: 20 2c 0a 24 46 35 43 46 45 46 39 45 34 41 34 43   ,.$F5CFEF9E4A4C
0d00: 44 32 37 33 20 2c 20 24 38 35 43 42 42 41 43 38  D273 , $85CBBAC8
0d10: 36 39 34 30 31 43 38 31 20 2c 20 24 44 35 31 31  69401C81 , $D511
0d20: 42 37 31 33 46 45 44 37 30 30 35 42 20 2c 20 24  B713FED7005B , $
0d30: 41 37 36 31 31 31 37 37 44 36 39 36 46 31 38 36  A7611177D696F186
0d40: 20 2c 0a 24 43 42 32 42 45 31 46 46 41 36 30 38   ,.$CB2BE1FFA608
0d50: 46 36 37 35 20 2c 20 24 32 35 30 33 31 30 34 36  F675 , $25031046
0d60: 43 38 35 43 34 36 35 31 20 2c 20 24 36 30 37 31  C85C4651 , $6071
0d70: 37 31 42 43 34 35 37 37 44 32 37 30 20 2c 20 24  71BC4577D270 , $
0d80: 41 37 42 44 38 38 38 34 32 39 39 38 36 33 41 36  A7BD8884299863A6
0d90: 20 2c 0a 24 42 42 30 39 46 42 37 32 38 30 39 39   ,.$BB09FB728099
0da0: 41 31 45 30 20 2c 20 24 32 35 37 31 34 35 45 35  A1E0 , $257145E5
0db0: 36 36 43 38 36 39 38 46 20 2c 20 24 36 35 36 42  66C8698F , $656B
0dc0: 44 42 36 42 39 31 38 34 35 33 35 46 20 2c 20 24  DB6B9184535F , $
0dd0: 32 36 38 32 41 41 45 32 43 41 38 33 41 45 39 31  2682AAE2CA83AE91
0de0: 20 2c 0a 24 46 37 41 34 34 43 43 34 30 30 33 41   ,.$F7A44CC4003A
0df0: 41 45 45 30 20 2c 20 24 38 38 38 41 39 41 39 33  AEE0 , $888A9A93
0e00: 37 30 44 41 34 36 30 41 20 2c 20 24 36 44 45 31  70DA460A , $6DE1
0e10: 46 37 46 43 46 46 36 34 41 38 39 35 20 2c 20 24  F7FCFF64A895 , $
0e20: 42 39 39 38 32 39 34 42 36 45 36 33 31 37 32 36  B998294B6E631726
0e30: 20 2c 0a 24 44 44 31 30 46 44 30 45 33 37 33 44   ,.$DD10FD0E373D
0e40: 45 31 37 34 20 2c 20 24 41 34 41 31 43 39 39 45  E174 , $A4A1C99E
0e50: 31 45 44 46 46 37 38 38 20 2c 20 24 41 42 46 38  1EDFF788 , $ABF8
0e60: 39 43 35 43 32 33 39 36 35 43 38 43 20 2c 20 24  9C5C23965C8C , $
0e70: 35 31 39 46 43 45 41 43 44 42 35 30 41 34 32 45  519FCEACDB50A42E
0e80: 20 2c 0a 24 43 38 37 45 45 30 36 42 30 34 41 33   ,.$C87EE06B04A3
0e90: 45 45 32 37 20 2c 20 24 42 33 42 38 34 38 33 36  EE27 , $B3B84836
0ea0: 46 35 32 45 46 45 34 41 20 2c 20 24 36 37 37 31  F52EFE4A , $6771
0eb0: 38 35 35 46 43 35 34 38 38 46 46 32 20 2c 20 24  855FC5488FF2 , $
0ec0: 30 32 39 46 32 37 33 35 37 42 46 37 39 41 37 42  029F27357BF79A7B
0ed0: 20 2c 0a 24 38 36 34 45 39 33 31 45 43 30 32 44   ,.$864E931EC02D
0ee0: 32 32 30 31 20 2c 20 24 39 44 46 41 34 31 43 30  2201 , $9DFA41C0
0ef0: 36 39 41 32 42 45 45 45 20 2c 20 24 32 32 41 35  69A2BEEE , $22A5
0f00: 44 42 34 42 35 30 34 36 34 30 39 31 20 2c 20 24  DB4B50464091 , $
0f10: 42 30 44 32 45 32 39 39 41 37 38 30 38 37 32 34  B0D2E299A7808724
0f20: 20 2c 0a 24 46 46 43 33 35 32 41 43 43 34 45 30   ,.$FFC352ACC4E0
0f30: 36 43 44 36 20 2c 20 24 39 35 37 38 42 45 42 42  6CD6 , $9578BEBB
0f40: 34 44 42 38 46 43 32 46 20 2c 20 24 44 43 36 45  4DB8FC2F , $DC6E
0f50: 33 34 39 42 32 44 36 44 41 35 34 38 20 2c 20 24  349B2D6DA548 , $
0f60: 32 30 39 34 44 41 42 36 43 36 34 36 43 32 44 37  2094DAB6C646C2D7
0f70: 20 2c 0a 24 33 42 30 41 46 33 44 32 46 44 38 45   ,.$3B0AF3D2FD8E
0f80: 46 31 44 30 20 2c 20 24 36 33 46 44 45 37 38 46  F1D0 , $63FDE78F
0f90: 32 45 30 46 42 36 33 34 20 2c 20 24 31 43 39 39  2E0FB634 , $1C99
0fa0: 35 30 33 42 43 36 30 34 46 30 39 37 20 2c 20 24  503BC604F097 , $
0fb0: 31 43 31 45 46 33 45 38 32 43 39 46 43 30 35 33  1C1EF3E82C9FC053
0fc0: 20 2c 0a 24 36 42 44 42 38 45 37 36 30 31 37 43   ,.$6BDB8E76017C
0fd0: 31 38 31 41 20 2c 20 24 32 36 44 38 38 34 30 34  181A , $26D88404
0fe0: 42 38 43 42 41 46 41 45 20 2c 20 24 31 38 37 33  B8CBAFAE , $1873
0ff0: 36 36 41 46 30 34 34 37 31 46 38 44 20 2c 20 24  66AF04471F8D , $
1000: 37 36 41 32 37 37 38 46 36 36 45 35 31 32 42 38  76A2778F66E512B8
1010: 20 2c 0a 24 45 35 42 41 32 39 35 31 41 46 32 31   ,.$E5BA2951AF21
1020: 31 46 38 30 20 2c 20 24 38 36 42 30 36 35 35 30  1F80 , $86B06550
1030: 37 42 33 33 46 32 30 35 20 2c 20 24 37 35 45 33  7B33F205 , $75E3
1040: 42 30 44 46 44 44 31 37 42 45 39 38 20 2c 20 24  B0DFDD17BE98 , $
1050: 30 39 45 44 41 37 37 42 36 30 41 42 46 45 30 41  09EDA77B60ABFE0A
1060: 20 2c 0a 24 39 37 42 45 41 30 34 45 38 46 41 33   ,.$97BEA04E8FA3
1070: 35 30 46 43 20 2c 20 24 42 43 36 45 36 34 31 44  50FC , $BC6E641D
1080: 38 41 35 44 31 41 32 38 20 2c 20 24 34 36 44 36  8A5D1A28 , $46D6
1090: 33 37 37 44 35 46 42 37 37 43 38 44 20 2c 20 24  377D5FB77C8D , $
10a0: 33 46 39 37 41 37 43 32 33 32 38 35 44 39 45 34  3F97A7C23285D9E4
10b0: 20 2c 0a 24 42 41 35 30 31 36 34 43 41 39 32 36   ,.$BA50164CA926
10c0: 43 32 35 44 20 2c 20 24 43 43 44 42 35 37 38 31  C25D , $CCDB5781
10d0: 33 45 32 32 30 34 35 31 20 2c 20 24 31 43 39 36  3E220451 , $1C96
10e0: 37 46 31 32 31 42 36 33 44 44 44 46 20 2c 20 24  7F121B63DDDF , $
10f0: 41 32 41 38 34 30 42 32 45 35 36 43 41 33 42 44  A2A840B2E56CA3BD
1100: 20 2c 0a 24 30 30 37 38 37 41 38 31 44 42 36 39   ,.$00787A81DB69
1110: 41 38 35 31 20 2c 20 24 41 42 37 42 45 38 33 35  A851 , $AB7BE835
1120: 42 46 43 31 39 46 45 38 20 2c 20 24 43 33 35 41  BFC19FE8 , $C35A
1130: 31 38 42 36 45 31 31 41 39 46 30 35 20 2c 20 24  18B6E11A9F05 , $
1140: 46 34 46 41 44 33 43 32 36 39 43 45 41 39 39 35  F4FAD3C269CEA995
1150: 20 2c 0a 24 43 35 32 42 34 46 39 46 42 35 46 37   ,.$C52B4F9FB5F7
1160: 45 42 38 37 20 2c 20 24 42 46 30 36 36 38 39 30  EB87 , $BF066890
1170: 42 34 39 34 44 46 30 45 20 2c 20 24 45 36 36 35  B494DF0E , $E665
1180: 45 35 34 42 44 35 37 42 46 30 37 44 20 2c 20 24  E54BD57BF07D , $
1190: 39 46 36 36 32 36 35 30 45 31 43 41 41 38 42 33  9F662650E1CAA8B3
11a0: 20 2c 0a 24 42 36 30 46 43 42 42 32 30 35 45 31   ,.$B60FCBB205E1
11b0: 42 33 44 34 20 2c 20 24 32 31 44 34 37 46 30 35  B3D4 , $21D47F05
11c0: 42 31 36 43 45 45 34 36 20 2c 20 24 41 37 37 30  B16CEE46 , $A770
11d0: 36 44 39 44 41 34 44 33 36 42 33 31 20 2c 20 24  6D9DA4D36B31 , $
11e0: 32 33 30 32 38 44 31 43 38 38 36 35 37 38 33 39  23028D1C88657839
11f0: 20 2c 0a 24 45 30 46 33 42 45 39 38 43 30 44 38   ,.$E0F3BE98C0D8
1200: 45 39 32 45 20 2c 20 24 39 44 41 35 44 35 43 44  E92E , $9DA5D5CD
1210: 45 44 38 43 34 44 41 32 20 2c 20 24 38 32 37 31  ED8C4DA2 , $8271
1220: 30 39 42 46 41 37 35 34 43 45 41 34 20 2c 20 24  09BFA754CEA4 , $
1230: 34 33 35 35 37 31 46 38 38 45 34 32 42 43 31 46  435571F88E42BC1F
1240: 20 2c 0a 24 33 43 45 30 36 30 39 34 43 42 42 39   ,.$3CE06094CBB9
1250: 45 46 43 42 20 2c 20 24 32 43 30 33 34 34 37 44  EFCB , $2C03447D
1260: 39 35 42 30 30 39 37 37 20 2c 20 24 44 33 45 36  95B00977 , $D3E6
1270: 33 42 36 35 44 39 36 41 33 36 38 36 20 2c 20 24  3B65D96A3686 , $
1280: 41 35 30 43 37 32 44 37 34 33 37 42 43 37 46 45  A50C72D7437BC7FE
1290: 20 2c 0a 24 35 37 33 37 45 34 37 36 33 38 39 43   ,.$5737E476389C
12a0: 41 39 46 44 20 2c 20 24 33 43 38 46 38 34 39 35  A9FD , $3C8F8495
12b0: 45 44 39 46 42 36 42 42 20 2c 20 24 37 45 36 36  ED9FB6BB , $7E66
12c0: 42 46 30 31 42 44 44 45 38 41 43 39 20 2c 20 24  BF01BDDE8AC9 , $
12d0: 34 32 46 46 36 35 30 43 39 34 37 46 31 42 37 33  42FF650C947F1B73
12e0: 20 2c 0a 24 38 33 31 41 44 34 43 30 31 41 33 37   ,.$831AD4C01A37
12f0: 34 35 38 41 20 2c 20 24 41 42 38 36 32 39 36 39  458A , $AB862969
1300: 32 34 46 39 44 34 34 45 20 2c 20 24 44 30 34 35  24F9D44E , $D045
1310: 33 34 39 33 34 35 32 37 46 45 31 31 20 2c 20 24  34934527FE11 , $
1320: 41 44 36 37 42 31 38 44 33 32 36 42 41 30 35 36  AD67B18D326BA056
1330: 20 2c 0a 24 43 44 43 38 35 42 43 32 31 38 45 35   ,.$CDC85BC218E5
1340: 39 36 43 33 20 2c 20 24 39 37 35 33 36 43 44 36  96C3 , $97536CD6
1350: 35 30 38 32 41 35 38 38 20 2c 20 24 34 31 38 33  5082A588 , $4183
1360: 38 31 31 31 41 33 37 43 38 39 42 35 20 2c 20 24  8111A37C89B5 , $
1370: 31 45 36 37 30 41 43 37 41 35 39 30 35 36 34 38  1E670AC7A5905648
1380: 20 2c 0a 24 37 45 42 36 37 44 32 36 33 36 41 44   ,.$7EB67D2636AD
1390: 45 44 46 36 20 2c 20 24 30 35 36 30 35 31 34 46  EDF6 , $0560514F
13a0: 37 38 30 44 44 31 33 45 20 2c 20 24 38 42 37 38  780DD13E , $8B78
13b0: 41 39 34 42 36 43 39 39 30 37 30 38 20 2c 20 24  A94B6C990708 , $
13c0: 37 43 31 35 39 37 37 42 41 38 45 41 36 32 31 33  7C15977BA8EA6213
13d0: 20 2c 0a 24 38 43 38 45 38 39 38 44 33 35 46 38   ,.$8C8E898D35F8
13e0: 39 35 46 45 20 2c 20 24 31 41 32 43 41 38 45 45  95FE , $1A2CA8EE
13f0: 39 31 37 46 33 32 34 42 20 2c 20 24 32 43 44 33  917F324B , $2CD3
1400: 30 36 37 42 31 32 36 32 41 38 34 44 20 2c 20 24  067B1262A84D , $
1410: 31 36 39 43 30 39 35 36 44 36 30 31 31 32 34 31  169C0956D6011241
1420: 20 2c 0a 24 33 32 31 33 46 39 31 39 33 42 44 42   ,.$3213F9193BDB
1430: 33 43 36 39 20 2c 20 24 37 42 43 32 46 30 38 36  3C69 , $7BC2F086
1440: 34 45 37 43 34 38 30 45 20 2c 20 24 35 33 39 46  4E7C480E , $539F
1450: 38 32 30 30 36 41 42 30 35 42 32 43 20 2c 20 24  82006AB05B2C , $
1460: 44 36 38 34 44 44 35 43 36 39 41 37 36 46 37 33  D684DD5C69A76F73
1470: 20 2c 0a 24 31 36 38 41 34 34 45 34 45 30 46 41   ,.$168A44E4E0FA
1480: 30 35 30 34 20 2c 20 24 34 32 41 37 35 46 44 44  0504 , $42A75FDD
1490: 45 33 42 41 38 43 30 31 20 2c 20 24 46 42 34 38  E3BA8C01 , $FB48
14a0: 41 39 32 41 45 32 44 41 44 34 44 31 20 2c 20 24  A92AE2DAD4D1 , $
14b0: 38 36 31 32 31 38 39 39 44 43 37 34 32 39 43 37  86121899DC7429C7
14c0: 20 2c 0a 24 31 30 46 37 32 41 41 35 42 34 30 41   ,.$10F72AA5B40A
14d0: 33 34 34 41 20 2c 20 24 45 34 39 32 36 42 31 37  344A , $E4926B17
14e0: 38 31 46 38 43 39 30 43 20 2c 20 24 34 46 34 43  81F8C90C , $4F4C
14f0: 33 46 32 38 45 44 41 44 37 35 31 38 20 2c 20 24  3F28EDAD7518 , $
1500: 37 34 34 43 35 37 43 34 44 42 31 34 41 30 31 33  744C57C4DB14A013
1510: 20 2c 0a 24 34 35 30 46 43 32 34 42 33 30 36 31   ,.$450FC24B3061
1520: 33 36 41 45 20 2c 20 24 44 42 45 38 36 31 34 42  36AE , $DBE8614B
1530: 37 45 31 38 31 31 35 43 20 2c 20 24 41 34 43 44  7E18115C , $A4CD
1540: 36 36 38 31 31 42 30 46 38 37 46 43 20 2c 20 24  66811B0F87FC , $
1550: 33 31 39 38 34 35 30 30 30 39 39 44 30 36 46 35  31984500099D06F5
1560: 20 2c 0a 0a 3a 20 77 75 72 73 74 20 28 20 78 31   ,..: wurst ( x1
1570: 20 69 20 2d 2d 20 78 32 20 29 0a 20 20 20 20 63   i -- x2 ).    c
1580: 65 6c 6c 73 20 27 72 6e 67 73 20 2b 20 40 20 3e  ells 'rngs + @ >
1590: 72 20 64 75 70 20 32 2a 20 73 77 61 70 20 30 3c  r dup 2* swap 0<
15a0: 20 2d 20 72 3e 20 78 6f 72 20 3b 0a 0a 3a 20 6d   - r> xor ;..: m
15b0: 69 78 32 62 79 74 65 73 20 28 20 69 6e 64 65 78  ix2bytes ( index
15c0: 20 6e 20 6b 20 2d 2d 20 62 31 20 2e 2e 20 62 38   n k -- b1 .. b8
15d0: 20 69 6e 64 65 78 27 20 6e 20 29 20 77 75 72 73   index' n ) wurs
15e0: 74 2d 73 74 61 74 65 20 2b 20 38 20 30 20 44 4f  t-state + 8 0 DO
15f0: 0a 09 3e 72 20 6f 76 65 72 20 77 75 72 73 74 2d  ..>r over wurst-
1600: 73 6f 75 72 63 65 20 2b 20 63 40 20 72 40 20 63  source + c@ r@ c
1610: 40 20 78 6f 72 20 2d 72 6f 74 20 64 75 70 20 3e  @ xor -rot dup >
1620: 72 20 2b 20 24 33 46 20 61 6e 64 20 72 3e 20 72  r + $3F and r> r
1630: 3e 20 38 20 2b 20 4c 4f 4f 50 0a 20 20 20 20 64  > 8 + LOOP.    d
1640: 72 6f 70 20 3b 0a 0a 3a 20 62 79 74 65 73 32 73  rop ;..: bytes2s
1650: 75 6d 20 28 20 78 20 62 31 20 2e 2e 20 62 38 20  um ( x b1 .. b8 
1660: 2d 2d 20 78 27 20 29 20 3e 72 20 3e 72 20 3e 72  -- x' ) >r >r >r
1670: 20 3e 72 20 20 3e 72 20 3e 72 20 3e 72 20 3e 72   >r  >r >r >r >r
1680: 0a 20 20 20 20 72 3e 20 77 75 72 73 74 20 20 72  .    r> wurst  r
1690: 3e 20 77 75 72 73 74 20 20 72 3e 20 77 75 72 73  > wurst  r> wurs
16a0: 74 20 20 72 3e 20 77 75 72 73 74 0a 20 20 20 20  t  r> wurst.    
16b0: 72 3e 20 77 75 72 73 74 20 20 72 3e 20 77 75 72  r> wurst  r> wur
16c0: 73 74 20 20 72 3e 20 77 75 72 73 74 20 20 72 3e  st  r> wurst  r>
16d0: 20 77 75 72 73 74 20 3b 0a 0a 43 72 65 61 74 65   wurst ;..Create
16e0: 20 72 6f 75 6e 64 23 20 31 33 20 63 2c 20 32 39   round# 13 c, 29
16f0: 20 63 2c 20 31 39 20 63 2c 20 32 33 20 63 2c 20   c, 19 c, 23 c, 
1700: 33 31 20 63 2c 20 34 37 20 63 2c 20 31 37 20 63  31 c, 47 c, 17 c
1710: 2c 20 33 37 20 63 2c 20 5c 20 72 6f 75 6e 64 73  , 37 c, \ rounds
1720: 0a 43 72 65 61 74 65 20 70 65 72 6d 75 74 23 20  .Create permut# 
1730: 32 20 63 2c 20 36 20 63 2c 20 31 20 63 2c 20 34  2 c, 6 c, 1 c, 4
1740: 20 63 2c 20 37 20 63 2c 20 30 20 63 2c 20 35 20   c, 7 c, 0 c, 5 
1750: 63 2c 20 33 20 63 2c 20 5c 20 70 65 72 6d 75 74  c, 3 c, \ permut
1760: 20 6c 65 6e 67 74 68 20 31 35 0a 0a 3a 20 78 6f   length 15..: xo
1770: 72 73 20 28 20 61 64 64 72 31 20 61 64 64 72 32  rs ( addr1 addr2
1780: 20 6e 20 2d 2d 20 29 20 62 6f 75 6e 64 73 20 3f   n -- ) bounds ?
1790: 44 4f 0a 20 20 20 20 64 75 70 20 40 20 49 20 40  DO.    dup @ I @
17a0: 20 78 6f 72 20 49 20 21 20 63 65 6c 6c 2b 20 20   xor I ! cell+  
17b0: 63 65 6c 6c 20 2b 4c 4f 4f 50 20 20 64 72 6f 70  cell +LOOP  drop
17c0: 20 3b 0a 3a 20 2b 21 73 20 28 20 61 64 64 72 31   ;.: +!s ( addr1
17d0: 20 61 64 64 72 32 20 6e 20 2d 2d 20 29 20 62 6f   addr2 n -- ) bo
17e0: 75 6e 64 73 20 3f 44 4f 0a 20 20 20 20 64 75 70  unds ?DO.    dup
17f0: 20 40 20 49 20 40 20 2b 20 49 20 21 20 63 65 6c   @ I @ + I ! cel
1800: 6c 2b 20 20 31 20 63 65 6c 6c 73 20 2b 4c 4f 4f  l+  1 cells +LOO
1810: 50 20 20 64 72 6f 70 20 3b 0a 0a 3a 20 75 70 64  P  drop ;..: upd
1820: 61 74 65 2d 73 74 61 74 65 20 28 20 2d 2d 20 29  ate-state ( -- )
1830: 0a 20 20 20 20 77 75 72 73 74 2d 73 74 61 74 65  .    wurst-state
1840: 20 77 75 72 73 74 2d 73 6f 75 72 63 65 20 73 74   wurst-source st
1850: 61 74 65 23 20 78 6f 72 73 0a 20 20 20 20 6e 65  ate# xors.    ne
1860: 78 74 73 74 61 74 65 20 77 75 72 73 74 2d 73 74  xtstate wurst-st
1870: 61 74 65 20 73 74 61 74 65 23 20 2b 21 73 20 3b  ate state# +!s ;
1880: 0a 3a 20 72 6f 75 6e 64 20 28 20 6e 20 2d 2d 20  .: round ( n -- 
1890: 29 20 64 75 70 20 31 2d 20 73 77 61 70 20 20 38  ) dup 1- swap  8
18a0: 20 30 20 44 4f 0a 09 77 75 72 73 74 2d 73 74 61   0 DO..wurst-sta
18b0: 74 65 20 49 20 70 65 72 6d 75 74 23 20 2b 20 63  te I permut# + c
18c0: 40 20 63 65 6c 6c 73 20 2b 20 40 20 2d 72 6f 74  @ cells + @ -rot
18d0: 0a 09 49 20 6d 69 78 32 62 79 74 65 73 20 32 3e  ..I mix2bytes 2>
18e0: 72 20 62 79 74 65 73 32 73 75 6d 20 32 72 3e 20  r bytes2sum 2r> 
18f0: 72 6f 74 20 6e 65 78 74 73 74 61 74 65 20 49 20  rot nextstate I 
1900: 63 65 6c 6c 73 20 2b 20 21 0a 20 20 20 20 4c 4f  cells + !.    LO
1910: 4f 50 20 32 64 72 6f 70 20 75 70 64 61 74 65 2d  OP 2drop update-
1920: 73 74 61 74 65 20 3b 0a 0a 43 72 65 61 74 65 20  state ;..Create 
1930: 27 72 6f 75 6e 64 2d 66 6c 61 67 73 0a 20 20 20  'round-flags.   
1940: 20 24 31 30 20 63 2c 20 24 33 30 20 63 2c 20 24   $10 c, $30 c, $
1950: 31 30 20 63 2c 20 24 37 30 20 63 2c 20 24 31 30  10 c, $70 c, $10
1960: 20 63 2c 20 24 33 30 20 63 2c 20 24 31 30 20 63   c, $30 c, $10 c
1970: 2c 20 24 46 30 20 63 2c 0a 0a 3a 20 2b 65 6e 74  , $F0 c,..: +ent
1980: 72 6f 70 79 20 28 20 6d 65 73 73 61 67 65 20 2d  ropy ( message -
1990: 2d 20 6d 65 73 73 61 67 65 27 20 29 0a 20 20 20  - message' ).   
19a0: 20 64 75 70 20 77 75 72 73 74 2d 73 6f 75 72 63   dup wurst-sourc
19b0: 65 20 73 74 61 74 65 23 20 78 6f 72 73 0a 20 20  e state# xors.  
19c0: 20 20 77 75 72 73 74 2d 73 74 61 74 65 20 6f 76    wurst-state ov
19d0: 65 72 20 73 74 61 74 65 23 20 78 6f 72 73 0a 20  er state# xors. 
19e0: 20 20 20 73 74 61 74 65 23 20 2b 20 3b 0a 3a 20     state# + ;.: 
19f0: 2d 65 6e 74 72 6f 70 79 20 28 20 6d 65 73 73 61  -entropy ( messa
1a00: 67 65 20 2d 2d 20 6d 65 73 73 61 67 65 27 20 29  ge -- message' )
1a10: 0a 20 20 20 20 77 75 72 73 74 2d 73 74 61 74 65  .    wurst-state
1a20: 20 6f 76 65 72 20 73 74 61 74 65 23 20 78 6f 72   over state# xor
1a30: 73 0a 20 20 20 20 64 75 70 20 77 75 72 73 74 2d  s.    dup wurst-
1a40: 73 6f 75 72 63 65 20 73 74 61 74 65 23 20 78 6f  source state# xo
1a50: 72 73 0a 20 20 20 20 73 74 61 74 65 23 20 2b 20  rs.    state# + 
1a60: 3b 0a 0a 3a 20 72 6f 75 6e 64 73 20 28 20 61 64  ;..: rounds ( ad
1a70: 64 72 20 6e 20 2d 2d 20 29 20 20 64 75 70 20 24  dr n -- )  dup $
1a80: 46 30 20 61 6e 64 20 3f 44 4f 0a 09 49 20 24 46  F0 and ?DO..I $F
1a90: 20 61 6e 64 20 72 6f 75 6e 64 23 20 2b 20 63 40   and round# + c@
1aa0: 20 72 6f 75 6e 64 0a 09 49 20 27 72 6f 75 6e 64   round..I 'round
1ab0: 2d 66 6c 61 67 73 20 49 20 24 46 20 61 6e 64 20  -flags I $F and 
1ac0: 2b 20 63 40 20 61 6e 64 20 49 46 20 20 2b 65 6e  + c@ and IF  +en
1ad0: 74 72 6f 70 79 20 20 54 48 45 4e 0a 20 20 20 20  tropy  THEN.    
1ae0: 4c 4f 4f 50 20 64 72 6f 70 20 3b 0a 0a 3a 20 72  LOOP drop ;..: r
1af0: 6f 75 6e 64 73 2d 64 65 63 72 79 70 74 20 28 20  ounds-decrypt ( 
1b00: 61 64 64 72 20 6e 20 2d 2d 20 29 20 20 64 75 70  addr n -- )  dup
1b10: 20 24 46 30 20 61 6e 64 20 3f 44 4f 0a 09 49 20   $F0 and ?DO..I 
1b20: 24 46 20 61 6e 64 20 72 6f 75 6e 64 23 20 2b 20  $F and round# + 
1b30: 63 40 20 72 6f 75 6e 64 0a 09 49 20 27 72 6f 75  c@ round..I 'rou
1b40: 6e 64 2d 66 6c 61 67 73 20 49 20 24 46 20 61 6e  nd-flags I $F an
1b50: 64 20 2b 20 63 40 20 61 6e 64 20 49 46 20 20 2d  d + c@ and IF  -
1b60: 65 6e 74 72 6f 70 79 20 20 54 48 45 4e 0a 20 20  entropy  THEN.  
1b70: 20 20 4c 4f 4f 50 20 64 72 6f 70 20 3b 0a          LOOP drop ;.