Contributor: MARTIN WALDENBURG

{+--------------------------------------------------------------------------+
 | Component:   TTokenList
 | Created:     12.06.97
 | Author:      Martin Waldenburg
 | Copyright    1997, all rights reserved.
 | Description: TTokenList is a general tokenizer, very fast.
 |              It contains a faster replacement for StrScan.
 | Version:     1.2
 | State:       FreeWare
 +--------------------------------------------------------------------------+}
 { Disclaimer:
   This is provided as is, expressly without a warranty of any kind.
   You use it at your own risc.}

{ the following contains additional files that should be included with this
  file.  To extract, you need XX3402 available with the SWAG distribution.

  1.     Cut the text below out, and save to a file  ..  filename.xx
  2.     Use XX3402  :   xx3402 d filename.xx
  3.     The decoded file should be created in the same directory.
  4.     If the file is a archive file, use the proper archive program to
         extract the members.

{ ------------------            CUT              ----------------------}


*XX3402-007511-200797--72--85-31584-----MWTOKEN.ZIP--1-OF--2
I2g1--E++++6+AlhoW6LG-fjxE+++9Q-+++F++++PLREEqVVQZBoQaJVPGtkMLBhI2pfkn+A
jETm5kGvh318RYr6MMGmom+g5HivXfc62hjMwcPruyQD3felWsrSSrduYZT2g5sCzGngm-P3
qhNJLN3Wh3QVAFLScOgfU14sJuP35O-TV6hUZb6kaBXn61QDu2+amSvwX8iqcO1v71CKDUHb
1c0fJt778rV0TbEtF7DThYUpcqGQQi2j0wbG3Ua1ZUDokUV75Bczy0wjW9CbakbhNiTascpe
8ZijNg2J3MgI8W3PkBjhXjyYZJctnaSMwOGa-j9Y1ivi6rb-Rp8759GXNBRoAB6LtWFjZVVr
dSo+1zgAje1n0oRNiJz2TX94zpVLrp-9+kEI++++0+1DjQcWQLwk51Y-++-M+U++0E+++3Ji
OLEl9aFaPOKFEIv1A--3Fmt7qeOFiaLL2u+K9Z0p2-J-GIEgRMiPH3g9lssGctNPQEJq5+XK
cBU7Z0JWAzNstfztpbnqUMPFzL60sy40+B+s59goJ4IyQIkwiQKBvfl-Vue0O4T3Avrfj6Cv
E9vRuQs9S5BKO8uYOzjvcN9uP8u28fp-8ZNQNadDwO-xIv+mwh2nqFr9oEqKmGVVgVcZKD8B
pGTuKO+DEQkD88cMmqiNvgV1jkMpW+-QSgjK83kHfJ2mB1v5XQzLpWQ754idZseNZW39oMxN
WJ8PtmvwVdoTkuPzV3oQky8zknkuSx7OGQwSnIRXUmggXhmohBDjRPHhLQfKINZVGQ09t3nk
xB2PB1KH+TUo8Z-SQWPIpjytHc8E0vn8i1PfwBlBJGRqzfGKtTiEJNfm57ouh1g+U0xEGkA2
3+++++U+wr546hLOIX8H++++mU++++k+++-EQaxeNKBoAGtYQ57ZXXo9kX+EVjR+zgABEZJ8
A8uRl+xkYuVPZpWDSh6a6IYLGzyvHIPRvjpuCCRhurID3qzTq2FNQQPN21-k-b0mjUxZiiu4
cUEmIBE5vBm9M0gqhOun9tkC-Mmd9OQA4-Q8pY6RfpBG1qn77AfCiMsO5QYOQNuLd1juMDIP
vHreW+arj4JcaHyFevya4gngcLY8nftEGkA23+++++U+n4vG6eFT3e7X-k++vFY+++w+++-h
RpFjOqJiH4ZnR0tkMLChKShiqnMIzZyUvr0+PdWxiduHNWreB2JQCyYwC6YFitQpG+-Ocaoi
giFFJ-kruvjjY-EdGdMjLFgIXLFsvdSD3DDkxBYDyrbuy-5w0ypcBcx04cca++m5oGoBSmkK
ScpH6eUjJk1qxiiB3zJL9xJ88l5HWCg3C0BQg-+yYg0bsGXVYpHlTAbNN0eIw8hL9qh+UU+I
8ENCMwfje3xLj-oOStnB-Mj0diA2g-U6H4V6CEZ+G19vEbYBvWVTkdX2EcjbTfc0j0UIV6JG
K17FXiPa+T5c1CC2QQFV6DX+6u2Kzo-tf0kfHyjvWXUE45cO67lmGXwGHb5ZFlPU8ydvU+u9
jM0k4SJBTAQWH13gz1TboFrneEx2jhO+rgwlOr4kV+L1v0Q0kpgEnYYcZV0BUMF9i4KVGWb+
Lp20GIm-6Ni+NNFkW-MVdXzquaXrwOAYl8LNkWPvI-6TTfdwdZMTDq6V7auAGJDAAMpVg6nT
0lOU8lzFH9H+VksXEHG7ZOlMnVIjViGI22C9Mt0FEZxFKyXl2cvUNdWx5gfZMKtN-fOwOhHf
XKgNL9wx7RlVIveDhDP8w49oBzJ2JGvDCPj1meYQk4IGpaEZCLNrdU5feLHocvWA93IrLKTB
OXh8t7VoAH2HOaH4PH6b5VD9Nc3yUNrCkeOfTxmV+Ngln0gOhU5yfWBoyItNmC6dHhvP8+cc
0JAuRcF5zMFHC9aTYx-T6EycACtIniaWu3fJu2x0HwsOj8B0VJbdVXuxhu3JanUT97mIg4DC
a5lSYGV2vsXoO1UFomo0iFWmB3LiG71Ep7omxtqACXuXBc2BETpJUOuUgrX34PR8CJT8q+wZ
mB-NqXjOerYm0dWb3G1wl66bbY0UwFG2JbEnx+Ir1ET8wGPY6zCd3Sn6lqVt0-405IQQ8+PT
wjq8uwPOV9OlUpOdTS9R3ZKSoriF9rr4DonFhu94mLOKHK3FZsFLJ3INFj97VXpU2rnF1VSG
DeQQUOnMgkXRlAya1-MQeyoqyce0r7FeQHquFItJquhwPOxHHvKQuNTAebcxl28BGF8gO5Fb
DbJQYp63uJhFHCJqlF3R0Ci6MWd8ab3Q2Qu3vwlhIM2SnerWaeocj17wZXxPmJ8LoMduWb0L
dguEgk4HPz838in1DKcq1xGaHaFgOUBnxkSpYvbHa8rJRlzA2IICONK3Ime1wRC1YT99sDkF
K3K8fbSR6nVpGcvP2J9IWiP7ENpup5BoOXC00YUEGpAaNaQYgqXAX3hTowre0-dOcFofEvaY
S-e9j1AueqHPLUoOw0jCu-RuAOtcK8YudVpsQakPd58gNt1HhHb9q1N4MbQqewnRp4kQw-Hq
4jg5pKreRhUFbNlZGL7sBuIfwqR1qWkaCbthE4zfnmKB2KB+xY04Lqlgu2SCRH4ZcLgcm5mw
ohnLIcooa3P3eqWRqznQiaCKSNgNJp9LClFdhroq8pLFF-PRFYjdfiQsjOOgAXTTKhBRnXdr
V8R6U20FbYoRx73fKW2BrNBaBUl4c1nBFfC-4MB4q1JaEnvB68SaaKyefxx+m+9JFN9PKdCM
tpIoZoMaX-wc+d7wlcweVA4IPtlOjg4yTB9E1IbjaRYWikIxa3soiBqbkumpA0Ox-gzQs9NI
N6Q1Ou4ft4T-qikOHmkfCdB-z-NThdmpzqRj+--3RXsd71Gu5lKvhswpQ3EwiiiucPAxyKJT
oHMn9qhKhCfsR4K6QY0Ta7obnO3aqE2QBbkDC75ljb9AvGJEv1jAPRZbF-amtQsk4xpKHtjD
muIvL6uxOYOuQ7-MH3Z+EEvInSgrHldJw8D0r7fX-v8Y2mVr52IpFzLpa9+001bJ3VGA6VQH
weVUQ42B83VMA7cqcY6C2bHiBpIpzn4HnhPrncwn5cp1Cp-CbfwVeGv8dZZ01dAahNfZFnrN
0Ij1rkP5av4sufnaNrTrAenOQMyiEttEkqMg6CiStfEsc57sMyD6RL2NqVGVNVDMZA3BgLgS
c-L60vL7pBk9migrn5sfXiZg3C-rY2XjtDFpMUr6GBuz5HFyzZfSTBzkxJi+4LHIGOuKVo9b
dCCj3xCi8Q2+8mzf6oqjaqRfKPDPuFnVNsut71+RduRTApN9Yqbi9yYzWPepFOg2OvP+zuI1
ugONmOHu2MrJLGMkRN29LJWECDl3M5clDdH2vngSrOZ9H0m5jC-QY8JWDGD92MIsah3FtAgP
oE-BwOLIV0Jty8uO23Bq16X2AtABUDvvkFzmxwbPHlblhxzGx64eL9PkuS6GIitOEK7hNTLD
w4EkJ76RZCksYbxypfyDXkwQsZYz7SuJqWVIzzVsLppfhpClRezKuXbOnXybqduLluWJNahb
3lzIPlJa7lSaqnx8hzLo6CRdpZ1GjST8jSttKujBexGhbyhwpTUMj-6nrfFuhGgIjJtBOahR
jDhGmo3CmoafI9dyBBQ9YWVPLZolI5Ld9bizv2wVoACjAY8xKkFEkKJnkPvw8kewr5hlg+yx
l3ykGKmMrp2yYsqCWjw1I2g1--E++++6+6NynG8dIQZJvU6++025+++7++++JKtdR12iQ43n
fJFPPxck35t5sXxsumGUo-H8d4ZECbJdaGfpUUfJ5ecyaCEID66RqIsdEznr5RgVi9FGBqaF
YdnnbTj3nXXHt+szfKutJ0slfY2yoUUAYmZEtF6VDlaDlI6pm-IcFGS+p50dvXF9Y+cHedG-
TYWOHZZY6A4p32PM3r8CjnB42n3F1SBgeCBEGmCQ9kPVZAeVZY1bVVq74T-9dfFVyZHd2Ni1
HIgjIn146yCkFLcYAZ4fZeoN+G5TAuo3PrL6m33R-xyYk3ps6xdmiRV2A66LwMnUYcsVAF79
yC1FKq-v-omZW01C74nm0VAKnOd1s136YwXs3oGuNfJHmNuc-aSs6UD55dn-984GOWMsQ98q
ahYMrFG8Zbh91uDMhXpFOJXPh2vSD1TaSNf+59WqNUNNTPcZyw3Nzqdhi4runWVsfscwoW+e
-cdWXvC33jB3KI3PmIqaymk-lC5NIVMBFKPKgI2iCiE0eEb6fNwCPd7Yr+lm1-D4DMBCXlmo
fCOdIan0XQBe5e7-8YUBAVrcNppl+vW3VKGuI54ULofjFGp-W3wBipd-G3AOAPp2xJOvpTlm
N1LMcvy1kTYnF7Y4ceT+RlpQ0VfrdNWvT1oX+pnHSNvNhcoxfsxtJZLTsOamLABhn1hDVLEv
pJcjOBkz58nKeyCHzTfVVqwT8zKxxZRwDxTrwBResxigvnLnJAnl0MOOGXT5lFEn7JncPN8M
D4Re0X47VJ2dVfKNMwzHjQPltmRcVMqfKUYtDW2Mi2McXpx+nJfFFfmYn+UHjdqnJOlppovA
S3HBpwCZvgs6lhZ4hlHv1JIhApHrCnZ2y9-RqlZ+A81Fn28DEi8KxYWHOC57PIFQlfydrJ9r
3kxtzTydz2qdOrxQ6fKsiyDArddP+7D-EnMGKD4foaiYLW5TZlceKwAXnv1WocdAiFrQd5fV
mSztuZwARteM1x7Rhds1Jx7tEZA3QL3zSxgbsTJ79Q+k2Efwuw5YiPYxwFyIGrw+I2g1--E+
+++6+-FhoW6ixDKe1kM++DQK+++D++++PLRAOKtZJ4xfNKsiQ43nhJVhPxgq2DtScDzVU+mM
jOGSbPFBMxQ1oaER+eF925g9VW+346aCiQWWEJ7lj8nzTIRG30b7gdAV3Mf0CVvjbbjiVJES
hxywq9DxyVLw0oRwBiQdHJIT+AOb98JXTYRHimMcIHHK8k0x1triywv-jZYtnBGI0vg+LsVE
96J9YgEojQb2PKtsjVHgRefAtcC1zFoUGE74723EGQIxXHh4xtX8G90tMXnh-m1U-U5QGG-k
TXEZ+ZWeCCVJ38IlH3WWe714PAFbAkl0KbiZtmm3qF9CQNJZAyWxTkzYVaQ8DbHSTTbowsV4
D6ovQAYk6dGe8QoB+pAzmfeta4Qr0EIWMI8YgjvyF-U4isapgqi26sLYtFH-No5d7F2IJpsm
VRzErWAQAlYZVAqcuCAvdb587C0ziS1r98Ol-gjY1h05CT6iYmIgwaU796UE73J9s-AYREZr
91J7+TW9Nt-7WXE+IP1YaE0yG14-AieUrxSjgVGLNcgWLEAhTDnVscpNTTo8ooL3V2HI82jA
qaUdzp+gEGWLu6MjwAQl6kazZKOjKguB9cMI3+447WLcGC5wl6UC2T6GVj-p59kDhA8sf8-X
KptpCtrihMvDJ75JwyO5pY3fT5PnBspIKmzD-Pj5t-YOs9DFCySm5lV+QK4WLw9ZZcxsddje
-2asdKvHt6XAGQHIgZyFbq3Tg9ETCdUQosHBa0vljczYbEoZoAAgFnHC-6JT5yPM3nLlW0fb
hjIvLJEVh7qz96po-w7jJ7ZkKWRdH-y82BdZR62qQgDovxe4Gd1-ZZCOrefdqUoMUA82o9Wy
yoHFaJk9flHx8jI-U-PbCPIQn94nKKEBs3GEGaGFsU6WAkRnmn2htATu7pwCUBxH6P1Hec2S
lb2fx36Vl6AoT9BzOAjKkPYGfhXo4-33zbmoBFB50JoFzHa7vflkHUJqSfI+Q-WHq7Qa9+EK
LJUpBECZofPPPPpLBErnJqLafzDEv1uLHSzJj+uEtkb7Ydf3g33ms3OI4wXTehgAkHIUNFli
W7IqiheivGp35nF-pM0hx6rPfNcjEnapVIxBEyAkbQoHecwscdqMGFhCAHBmktfpOtqWT4wc
AeCBgbF8BJhlTgHXajAHp8Grs4efA7-Dhm3o-zPJZNGHL3+wZLboVQtOTZ1iE-RyUV5KyRaY
NHiW5PUCCWjkvNcgwCt9zOE6l8ihXOEMYMKlQ1cKQQ+qx9evPxiPn1pVh+OQSN60rLJoSHlf
***** END OF BLOCK 1 *****



*XX3402-007511-200797--72--85-27642-----MWTOKEN.ZIP--2-OF--2
O0iaHM-fnS+dw3lEWTo3W0PcLHNlwa5U5Gx3OLWuS6lLJjhOax2Cwul29Khn2wuBgrkJKizQ
v9dyEd8SRU9sJ3JRyCXKSgebPE0u6OqOayTax0abtXoF-XwHIe2TZd92rpdwS5etUIb6Rkqh
Zd2gdUljj2Py3Hvy+ZixDPk4slH-B4hVSy+nN1OW1BsI-XM2xMHPkoi23Q-1BEqjC0Yq+3lz
4Je91Sn-QucjWS5NHz89Mr4hoxAajBUxAOX0yf-ueP6t4GZleXz2KgGJbcLdxfI1B3RC0Bgx
LT-PPd9bj-3rDeth+TDzQqwmCMR4MEQigXFYwAVyqir+0CzdIsfT14DuU8y5eKFy1PRy2jWh
oMRDbCDtY6MYiijp2+dIUyfg9u4nj4UzabeGG-d08QZmJ0JN+8oYpt2BUw7nfRL0VOwTTxbe
hf4jh9V+bdC0ip-ZM0Jui-idikHKXCWjMzCORugnKn9wiDpmnnRf2VYWyAJcDDC7Yk3gvFro
nRaGQiJ6B01pSo0KDKUAFYSyph+z-wOe9gixrI3y8mfAjyoqaxSPXJqjPty+Wj1FVlSuOUze
Gzdkp82VW9Sv8qoqKerKl3VYR6K5QZniWKY17BS7vVpVuHwsD7S7Fh-fi0WFoKgUctaBlVOd
DPun4pY106hXlTdeKdht-FBSsRaKtLcL6Qm4OCfNqhxEhYohwf8ZjDzQIjMXfn2VrvrGSvhv
TQRRWOgQLDBsOMG4BhzxHthqN3LfiL3YVPzFbz43LnrC7DugSJVFTNLoTcRtvb5eRgV7wAJG
8d0aNZtpDcOKwmVqMBQ4MZRQjebtOyFzI2g1-+c++++++2hRW03V9lqmg+I++9+3+++C++++
PLR4MLBoJ4ZhNGtuOL-EGkA23+++++U+9d3M6OZKPkVB+E++l+I+++s+++-hRoNVQrFIOKpZ
9aFXQgKHDIs1AF03LlMYe2WCEAY-C+-620Y3B2HW0VlXGrRQOMym-EIJqX8RaHxv7htB+F7W
RWrjtra7lnwD+8udtOmhXQyitAycfKFggvYs9zYPyzoRhFJoiCxk6bdtoTTOwIATkn-EnmBN
LWt2CbuYfcmjLwFcgnNM-f1CWS6xsofHqLV0sEBlBaNxtfHdHJ1H6a0qh+W67uwROy8ONg2V
HL3di2kVHE9WU1Bix0BGucC+oWY6C-o3YbO-dZr+utLkzR5kzMbQuaTvrNv5Xk9z54xodqz-
Rv515YxslFPrS85jDLP2XuNPwUOrsUrwUHQSabUyrfeD7FthJiC0DA+QjI3wt+rXuUrHJqzc
zvYrN9vU1NizSYDfQqwcinSgzbfLXOgLHb0XRqzMTBIPJYyxyZejSoDLsxscumprrTOXSa4-
KzpgjxjnW15Xxfmz+J-9+kEI++++0+1cM3gVZgdJabo1++0-0k++1U+++4prFa3nR3FdPKIi
Q43nfJPPPVAl25qDZ5wM5Z-G8MGY60uBS6-0c38-EU6JEXksitCBpJpv4RhRJZLtRgNCghaa
1EYhcpnqAbDaRXnqlMDz67TBlUKAgq6cX-r91C2fx9gxi6o2e3CGpe80GEbj-Jads3GYAOe7
ckHuntwzuSu4QuXnYaEmgrx1Sdaa27EA2-eYQsmvOnXXaHH+bm2VbUf0vSujGQ+tgWo1CSZn
4KAAkaBqc7-qddo3+MIU2geKc8QUJ+ZbIgLffU9CByr+4EH7JVN8vEVocHU92yoOKcKHWH7U
0FJ196oZCL2qE2wtqvHQ+VVkLb5sGmmZ9FXyZnvL23eVuSnj62iQcuarK+j1DwaQgQj0US04
1KK8tePEDAtqkauLFPzUdoCGO9UvvtUXw-aBHdqJKX4tb976cLzwCWSAdD2jTDQajeBJLfpC
fxRvxUUm1bac0T0L7Qmsi4-aaWlMLXA4v+kx+ppeEm2b03CFQaTyRptCQJJLWrLEP1EPoeQm
3F5u4uO1OHPUZCab0qPce1FTf2ntuX+JVZym0HEPhglN5Osgz-QESNLqy3-biJOcv7tLmIaS
0lio+O6Ce1tzxkxUT0kckGBqbW+Btey5Pp8F4sk1rU4AT6J4n+SJ1CNEqa7YAEsrPd98O+4f
3RD4FNM9T2X6vhcjDlM8uO+Kn20T6l4nOC2glgfahPzItPf40SYQWFTZlf0sOG8y2jP8BA9M
2Q96wj0tsObC-pIONXPDeSPmUwWiVH2KjUucsh0rj+9vX+Yjap13oB+gHtZWmUdDJjzYsjSC
QfYFSA8LmgSnT3MJpfFPKR5eT8xlsQRS3GS2nvw3I4xb1PKviPKpy8GOwP7ZYZlZkhuWa4gQ
Sk4hpdpWfP4c5ieGIHQ4hbdtSvwf8hLR9gZKCTr2AukwsTKh8FAeEhv4S8mde4l5wseg8ml4
KpjpJnrwRkdhWWuETaBkZSzxSKnpJb4bUddhhoP6-6bB+RlDKVrsnifRHov27tkuDC1tIhrh
DMGcieZlYbyv6OThArCnVCZyzK0lgkHvMxtu-INbGAk6DpxVzyZqom1-zabzmSBxC5Nl6FBn
0zxjoJSyr8txLM9x5GHMXpn0Os4b34wkD9NsZky1msEXGOFtluyRVs0DLp-U4aZSiQjHaJ-b
lXA197Jy64RZgBjlZ1WOSQlkJD3KxvNOfSGiin9Pzk3EGk20AUgI++++0++iYJUVeJNj02o-
++12-E++1U+++++++++++0++hc2+++++PLR4MLBoJ4ZhNGtYMr7EGk20AUgI++++0+1cM3gV
ZgdJabo1++0-0k++1U+++++++++-+0++hc3t+E++PLR4MLBoJ4ZhNGtkMLBEGkI4++++++6+
+U-s++++6UI+++++I2g1--E++++6++3moW7mmPMMFU2++CY-+++8++++IaJVN4pZ9bFsR2qE
kKfPE-04vkOzkrzf6G4VPaUUlxVCKb0V22D7QGmBfA4fLH2vOoJxygk80UIRhDzCTDDB5czd
kj2UqG+NV1B5JUek4ghTpZhQKKRoZCpijHcS7D9GUdAmLKf9vqpD0caKI4wxWWou0QPezm4U
GQD+oT7z8CQblyrnm6psnMmGiGhpfWgMbBq0acNnfZ3Mi8a1xMmTizqLX5ofxaNSBnXb7Gaq
UL7ypXHZCdShwLmxSYw31QLeA2dUW42Guv5XADO0nTqrFPRmhnQrS0sGKhOZRGSt0GE1uxBu
-S1MykjtBqeuGgjiJsyrs6xFrRBreCFInBxY6ZK8BZRbWXAi2hivVJ83TBQeEcMt3IKO6hG5
9JBzo7LFZPUQU3yY7V3zm9LWeSWtVURL7asijeWdPwrMDBPwwSjrVkoCdNrYbDwJjv6Cfj+7
I2g-+X693+++++U+n4rG6VR64izp++++hk2++-2++++++++++E+U+9O-+++++4prI2BcML7H
R57ZMKoiQ43nI2g-+X693+++++U+nvr86b3zA-kt+E++K+6+++Y++++++++++E+U+9O-7+2+
+3JiOLEl9aFaPJ-9+E6m0lE++++6+DBllW9JqZ6mYk+++Ac++++A++++++++++2+6+0qUME0
++-EQaxeNKBoAGtYQ57EGk20AUgI++++0+1APh6Wd3wKcaA5++1h4E++1k+++++++++-+0++
hc3-+k++PLRIPqhZPYldQrEiQ43nI2g-+X693+++++U+VbvB6eZFmJLi+U++6EQ+++Y+++++
+++++E+U+9O-oEc++3JiOLEl9b-VQp-9+E6m0lE++++6+-FhoW6ixDKe1kM++DQK+++D++++
++++++2+6+0qUSMB++-hRoldPaJIPqhZPWtkMLBEGk20AUg8++++++-9LMUVMGwRgf+3++0k
-E++1U+++++++++++0++hc2W3+++PLR4MLBoJ4ZhNGtuOL-EGk20AUgI++++0++-Qh6WQgaq
42M-++1d+E++0U+++++++++-+0++hc5y4E++IaJVN4pZ9bFsR3-9-EM+++++0++6+BI-++-g
4k++++++
***** END OF BLOCK 2 *****