[Date Prev][Date Next][Subject Prev][Subject Next][
Date Index][
Subject Index]
New UU encoder|decoder written in XPL
- Subject: New UU encoder|decoder written in XPL
- From: Robert Holmgren holmgren@xxxxxxxx
- Date: Fri, 20 Sep 1996 02:18:49 EST
Enclosed with this message (UUencoded versions follow in the next message),
a UU encoder/decoder written entirely in XPL. It seems asinine. Called
X-MUC and X-MUD (the "Moronic UuenCoder|UuDecoder for XyWrite"), these two
utilities offer real functionality that belie their name. XPL is just
amazing. (The guy who recently suggested that "XPL should be taken out
back and shot" was reported dead himself back in 1991, and in any case
neglects to indicate a better WP-specific language. Although Rexx comes
close. I post RexXPL versions of these programs tomorrow.)
There is a basic difference between this encoder|decoder and standard UU
coding products. That difference is optimally exploited in E-mail
communication:
Standard UUcode products operate upon whole files only. You hand them a
discreet file name as input (containing either source text or UU code), and
they output another discreet file (either UU code or decoded target text).
All operations occur at the level of the operating system.
In contrast, the Moronic XMUC/XMUD coders operate on DeFined blocks, i.e.
upon fragments of files. Moronic output, either UU code or decoded target
text, is inserted in the same file that provided the DF input, immediately
after said DF block. Whereas XMUC's UUencode is identical (compatible)
with all commercial UUcode (it decodes to a .MUD extension), by default
XMUC encode is just inserted in text documents, so that you can send it in
Email without fancy handling (no need for multipart MIME messages, aka
"transported files"). Many little fragments of UUcode can be wrapped into
one message. All can be decoded by the recipient simply by DeFining the
discreet block of UUcode and running XMUD. Plus, you can decode any UUcode
(howsoever generated) that you receive, simply by DeFining it and running
XMUD. You never leave XyWrite. XMUC and XMUD are slow compared to
standalone UUcode executables, but in many Email situations the ease of use
more than compensates.
For more information, see the Help frames for XMUC and XMUD.
--------------------------
XPLeNCODE v1.9
b-gin [UNTITLED]
{<}GLA{>}[cr|lf]
{{;5help4xmuc}} X-MUC: Moronic UuenCode (Pure
XPL Version)[cr|lf]
{2}{<}SV01,[cr|lf]
X-MUC: Moronic UuenCod
e for XyWrite - Pure XPL Version[cr|lf]
XMUC.PM for XyWin|XyWr
ite 4 - R.J.Holmgren - 9/18/96[cr|lf]
[cr|lf]
Purpose: UUencod
e DeFined Block[cr|lf]
U2: XMUC[cr|lf]
Command:{32}
RUN XMUC.PM[cr|lf]
[cr|lf]
Operation:[cr|lf]
---------[cr|l
f]Source text must be in current XyWrite window[cr|lf]
Source{32}
to encode must be DeFined; there are no size limits[cr|lf]
One
unused window must be available[cr|lf]
Run XMUC[cr|lf]
UUcode{32}
is written in current window at end of DeFined block,[cr|lf]
{32}
in a format compatible with most available decoders[cr|lf]
(t
hey can decode MUC output as a discreet .MUD file, or you[cr|
lf] can decode it as a fragment in a XyWrite window with XMUD
)[cr|lf]
DF block is _not_ replaced[cr|lf]
Incomplete 3-byte re
cords (at EOF only) are padded with Ascii-0 chars[cr|lf]
Criti
cal apps should be encoded, then decoded, then compared with{32}
the[cr|lf]
source code, to verify accuracy before distributio
n[cr|lf]
X-MUC is intended to encode fragments (e.g. XPL) or f
iles, e.g for[cr|lf]
insertion in Email. X-MUC is _not_ inte
nded for binary executables,[cr|lf]
but anything that you can
load with integrity into a XyWrite screen[cr|lf]
can be enco
ded by X-MUC.[cr|lf]
[cr|lf]
Use X-MUC entirely at your OWN ris
k.[cr|lf]
{<}FC{>}[cr|lf]
For Use by RENUMBER.PM:[cr|lf]
Renumbe
r XMUC.PM in PACK mode[cr|lf]
Default Save/Get Range=01-21[cr|
lf]OPTIONs (none)[cr|lf]
{<}FL{>}{>}{2}[cr|lf]
[255+50+69][255+
50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69]
[255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+5
0+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][
255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50
+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][2
55+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+
69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][25
5+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+6
9][255+50+69][255+50+69][255+50+69][255+50+69]
[255+50+69][255+50+69][cr|lf]
[cr|lf]
{{;5xmuc}} X-MUC: Moronic
UuenCode (Pure XPL Version) - R.J.Holmgren 9/18/96[cr|lf]
[cr
|lf]{2}{<}LBA{>}[XH_][XP_]{<}IF{<}VA$WS{>}<1{>}{<}SV01,No fil
e{>}{<}LBB{>}{<}SX01,{<}IS01{>}+" - Abort{>}{<}PR@01{>}{<}EX{
>}{<}EI{>}{<}SX02,{<}VA$WA{>}{>}{<}IF{<}PV02{>}<1{>}{<}SV01,N
o Window{>}{<}GLB{>}{<}EI{>}{<}IF{<}VA$DF{>}<1{>}{<}SV01,No D
eFined block{>}{<}GLB{>}{<}EI{>}[DZ_]{<}IF{<}VA$DS{>}=={<}VA$
DN{>}{>}{<}SV01,Zero-length DF block{>}{<}GLB{>}{<}EI{>}[DE_]
[GT_][SI_]{<}SX03,{<}VA$FI{>}{>}{<}SX03,{<}VA@03.1{>}{>}{<}SX
03,"[cr|lf]
"+"Moronic UuenCode for XyWrite (X-MUC)[cr|lf]
begi
n 644 "+{<}IS03{>}+".MUD[cr|lf]
"{>}[BX_]func #{<}PV02{>}[Q2_]
[BX_]ne/100[Q2_][CP_][AS_][XD_][AS_][BF_]{<}SX02,{<}CP{>}{>}{
<}GT03{>}[TF_]{<}SX03,{<}CP{>}{>}{<}SV04,{>}{<}SV05,{>};*;[cr
|lf];*;[cr|lf]
{<}SV01,[$A_]{>}{<}SV06,{129}{>}{<}XS01,06,07,,
08{>}{<}SV01,[385]{>}{<}XS01,06,09,,10{>}{<}SV01,[WN_]{>}{<}X
S01,06,07,,11{>}{<}SV01,[255+129+2]{>}{<}XS01,06,07,,12{>}{<}
SV01,[538]{>}{<}XS01,11,13,,14{>}{<}SX01,{<}IS07{>}+"{128}"+{
<}IS13{>}{>}{<}SV15,{27}X{>}{<}XS01,15,,14,13{>}{<}SV01,[255+
129+10]{>}{<}XS01,06,07,,14{>}{<}SX16,{<}IS10{>}+{<}IS11{>}+{
<}IS12{>}+"{3}{4}{5}{6}{7}{8}{tab}"+{<}IS14{>}+"{11}{12}{13}{
14}{15}{16}{17}{18}{19}{20}{21}{22}{23}{24}{25}"+{<}IS13{>}+"
{27}{28}{29}{30}{31} !"+""""+"#$%&'()*+,-./0123456789:;<=>?@A
BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
{128}{129}{130}{131}{132}{133}{134}{135}{136}{137}{138}{139}
{140}{141}{142}{143}{144}{145}{146}{147}{148}{149}{150}{151}{
152}{153}{154}{155}{156}{157}{158}{159}{160}{161}{162}{163}{1
64}{165}{166}{167}{168}{169}{170}{171}{172}{173}{<}{>}{176}{1
77}{178}{179}{180}{181}{182}{183}{184}{185}{186}{187}{188}{18
9}{190}{191}{192}{193}{194}{195}{196}{197}{198}{199}{200}{201
}{202}{203}{204}{205}{206}{207}{208}{209}
{210}{211}{212}{213}{214}{215}{216}{217}{218}{219}{220}{221}{
222}{223}{224}{225}{226}{227}{228}{229}{230}{231}{232}{233}{2
34}{235}{236}{237}{238}{239}{240}{241}{242}{243}{244}{245}{24
6}{247}{248}{249}{250}{251}{252}"+{<}IS08{>}+{<}IS09{>}+{<}IS
07{>}{>};*;[cr|lf]
;*;[cr|lf]
{<}SV01,|000000`|000001!|000010"|
000011#|000100$|000101%|000110&|000111'|001000(|001001)|00101
0*|001011+|001100,|001101-|001110.|001111/|0100000|0100011|01
00102|0100113|0101004|0101015|0101106|0101117|0110008|0110019
|011010:|011011;|011100<|011101=|011110>|011111?|100000@|1000
01A|100010B|100011C|100100D|100101E|100110F|100111G|101000H|1
01001I|101010J|101011K|101100L|101101M|101110N|101111O|110000
P|110001Q|110010R|110011S|110100T|110101U|110110V|110111W|111
000X|111001Y|111010Z|111011[|111100\|111101]|111110^|111111_|
{>};*;[cr|lf]
;*;[cr|lf]
{<}SV06,{>}{<}SV08,{27}X{27}X{27}X{27}
X{27}X{27}X{>}{<}SX11,0{>}{<}SV17,{>}{<}SU12,{<}LBC{>}{<}SX13
,{<}PV14{>}-{<}PV10{>}{>}{<}IF{<}PV13{>}<0{>}{<}SX18,{<}IS18{
>}+"0"{>}{<}GLD{>}{<}EI{>}{<}SX18,{<}IS18{>}+"1"{>}{<}SX14,{<
}PV13{>}{>}{<}LBD{>}{<}SX10,{<}PV10{>}/2{>}{<}IF{<}PV10{>}<1{
>}{<}EX{>}{<}EI{>}{<}GLC{>}{>};*;[cr|lf]
;*;[cr|lf]
{<}SU19,{<}
LBE{>}{<}SX03,{<}PV03{>}+1{>}[DF_][BX_]jmp {<}PV03{>}[Q2_][DF
_]{<}SV05{>}[XD_];*;[cr|lf]
{<}LBF{>}{<}IF{<}VA|05{>}==1{>};*;
1-byte DF block[cr|lf]
{<}SX14,{<}IS05{>}{238}{<}IS16{>}{>}{<
}IF{<}PV14{>}<0{>}{<}SX14,255{>}{<}EI{>}{<}SX10,128{>}{<}SV18
,{>}{<}GT12{>}{<}SX06,{<}IS06{>}+{<}IS18{>}{>}{<}IF{<}VA|06{>
}>16{>}{<}LBG{>}{<}XS06,08,,13,14{>}{<}SX13,"|"+{<}IS13{>}{>}
{<}XS01,13,,10,18{>}{<}XS18,15,,13,10{>}{<}SX04,{<}IS04{>}+{<
}IS13{>}{>}{<}IF{<}VA|04{>}>59{>}{<}SX17,{<}IS17{>}+"M"+{<}IS
04{>}+"[cr|lf]
"{>}{<}SV04,{>}{<}IF{<}VA|17{>}>2000{>}[DX_]{<}
SX20,{<}CP{>}{>}[BF_]{<}GT17{>}{<}LBH{>}[BX_]jmp {<}PV20{>}
[Q2_]{<}IF{<}CP{>}<>{<}PV20{>}{>}{<}GLH{>}{<}EI{>}[DO_][FF_]{
<}SV17,{>}{<}EI{>}{<}SX20,{<}CP{>}/{<}PV02{>}*100{>}{<}SX20,{
<}IS20{>}{>}{<}SX20,{<}VA@20.1{>}+"%"{>}[BC_] {<}PV20{>}[GT_]
{<}EI{>}{<}IF{<}VA|14{>}>0{>}{<}SX06,{<}IS14{>}{>}{<}GLG{>}{<
}EI{>}{<}SV06,{>}{<}EI{>}{<}IF{<}PV11{>}>0{>}{<}SX11,{<}PV11{
>}-1{>}{<}IF{<}VA|21{>}<2{>}{<}SX05,{<}IS21{>}{>}{<}GLF{>}{<}
EI{>}{<}SV18,{>}{<}XS21,15,,05,18{>}{<}SV21,{>}{<}IF{<}VA|18{
>}>0{>}{<}SX21,{<}IS18{>}{>}{<}EI{>}{<}GLF{>}{<}LBI{>}{<}EI{>
}{<}IF{<}PV03{>}<{<}PV02{>}{>}{<}GLE{>}{<}EI{>}{<}IF{<}VA|06{
>}>0{>}{<}LBJ{>}{<}IF{<}VA|06{>}<17{>}{<}SX06,{<}IS06{>}+"000
00000"{>}{<}GLJ{>}{<}EI{>}{<}GLG{>}{<}EI{>}{<}EX{>}{<}EI{>}{<
}IF{<}VA|05{>}>2{>}{<}SX11,2{>}{<}SX18,{<}IS07{>}+"{128}"+{<}
IS05{>}{>}{<}XS18,15,,13,21{>}{<}IF{<}IS13{>}=="[WL_]"{>}{<}S
X05,{<}IS07{>}{>}{<}GLF{>}{<}EI{>}{<}SX05,{<}IS09{>}{>}{<}GLF
{>}{<}EI{>}{<}IF{<}VA|05{>}>1{>}{<}SX11,1{>}{<}SV05,{13}{>}{<
}SV21{44}{10}{>}{<}GLF{>}{<}EI{>}{<}IF{<}VA|05{>}<1{>}{<}GLI{
>}{<}EI{>}{>};*;[cr|lf]
;*;[cr|lf]
{<}GT19{>}[DO_][FF_][BF_]{<}
IF{<}VA|17{>}>0{>}{<}GT17{>}{<}EI{>}{<}IF{<}VA|04{>}>0{>}{<}G
T04{>}{<}SV01,|60M|56J|52G|48D|44A|40>|36;|328|285|242|20/|16
,|12)|8&|4#|{>}{<}SX04,{<}VA|04{>}{>}{<}SX04,"|"+{<}IS04{>}{>
}{<}XS01,04,,02,06{>}{<}XS06,15,,02,07{>}[LB_]{<}GT02{>}[LE_]
[cr|lf]
{<}EI{>}{<}SV01,`[cr|lf]
end[cr|lf]
{>}{<}GT01{>}[BF_][B
X_]seb {252}[wC]Moronic{252}[Q2_][DF_][BF_][DF_][AS_]{<}SX01,
{<}CP{>}+2{>}[CP_][AS_]{<}SX02,{<}VA$WN{>}{>}[BX_](ab/nv){<}I
F{<}VA$WN{>}=={<}PV02{>}{>}[BX_](rs){<}EI{>}[BX_]jmp {<}PV01{
>}[Q2_]{<}PRDone{>}{<}EX{>}{2}[cr|lf]
[cr|lf]
{<}GLK{>}
[cr|lf]
{{;5help4xmud}} X-MUD: Moronic UuDecode (Pure XPL Vers
ion)[cr|lf]
{2}{<}SV01,[cr|lf]
X-MUD: Moronic UuDecode - Pure{32}
XPL Version[cr|lf]
XMUD.PM for XyWin|XyWrite 4 - R.J.Holmgren{32}
- 9/18/96[cr|lf]
[cr|lf]
Purpose: UUdecode DeFined Block[cr|lf
]U2: XMUD[cr|lf]
Command: RUN XMUD.PM[cr|l
f][cr|lf]
Operation:[cr|lf]
---------[cr|lf]
UU source code must
be in current XyWrite window[cr|lf]
Source to decode must be{32}
DeFined. DeFine _whole lines_! Exclude[cr|lf]
"begin" and "
end" statements![cr|lf]
Run XMUD[cr|lf]
Decoded text is written
in current window at end of DeFined block[cr|lf]
(DF block i
s _not_ replaced)[cr|lf]
[cr|lf]
X-MUD is intended to decode UU
attachments or fragments in Email. For[cr|lf]
example, it a
llows you to decode pieces of XPL without cranking up a[cr|lf
] formal decoder or forcing decoded text into separate files.
X-MUD is[cr|lf]
_not_ intended for binary executables![cr|l
f][cr|lf]
X-MUD does not trap characters that screw XyWrite up
if you attempt to[cr|lf]
write them to the screen, such as 2
6d, because they may be constituents[cr|lf]
of 3-byte charact
ers.[cr|lf]
[cr|lf]
The moral is: Use X-MUD with discretion, a
t your OWN risk.[cr|lf]
{<}FC{>}[cr|lf]
For Use by RENUMBER.PM:
[cr|lf]
Renumber XMUD.PM in PACK mode[cr|lf]
Default Save/Get R
ange=01-28[cr|lf]
OPTIONs (none)[cr|lf]
{<}FL{>}{>}{2}[cr|lf]
[2
55+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+
69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][25
5+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+6
9][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255
+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69
][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+
50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69]
[255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][255+5
0+69][255+50+69][255+50+69][255+50+69][255+50+69][255+50+69][
255+50+69][255+50+69][cr|lf]
[cr|lf]
{{;5xmud}} X-MUD: Moronic{32}
UuDecode (Pure XPL Version) - R.J.Holmgren 9/18/96[cr|lf]
[cr|
lf]{2}{<}LBK{>}[XH_][DZ_][XP_][SI_][GT_]{<}
IF{<}VA$DE{>}<1{>}{<}PRNo UUencoded text is DeFined - Abort{>
}{<}EX{>}{<}EI{>}{<}IF{<}VA$DS{>}=={<}VA$DN{>}{>}{<}PRZero-le
ngth DF block - Abort{>}{<}EX{>}{<}EI{>}[DE_]{<}SX01,{<}CP{>}
{>}{<}SX02,{<}PV01{>}{>}[cr|lf]
[DB_]{<}SX03,{<}CP{>}{>}{<}SX0
4,{<}PV01{>}-{<}PV03{>}{>}[YD_][XD_];*;[cr|lf]
;*;[cr|lf]
{<}SV
05,[$A_]{>}{<}SV06,{129}{>}{<}XS05,06,07,,08{>}{<}SV05,[385]{
>}{<}XS05,06,09,,10{>}{<}SV05,[WN_]{>}{<}XS05,06,07,,11{>}{<}
SV05,[255+129+2]{>}{<}XS05,06,07,,12{>}{<}SV05,[538]{>}{<}XS0
5,11,13,,14{>}{<}SX05,{<}IS07{>}+"{128}"+{<}IS13{>}{>}{<}SV15
,{27}X{>}{<}XS05,15,,14,13{>}{<}SV05,[255+129+10]{>}{<}XS05,0
6,07,,14{>}{<}SX16,"[255+70+67]000"+{<}IS10{>}+"[255+70+67]00
1"+{<}IS11{>}+"[255+70+67]002"+{<}IS12{>}+"[255+70+67]003{3}[
255+70+67]004{4}[255+70+67]005{5}[255+70+67]006{6}[255+70+67]
007{7}[255+70+67]008{8}[255+70+67]009{tab}[255+70+67]010"+{<}
IS14{>}+"[255+70+67]011{11}[255+70+67]012{12}[255+70+67]013{1
3}[255+70+67]014{14}[255+70+67]015{15}[255+70+67]016{16}[255+
70+67]017{17}[255+70+67]018{18}[255+70+67]019{19}[255+70+67]0
20{20}[255+70+67]021{21}[255+70+67]022{22}[255+70+67]023{23}[
255+70+67]024{24}[255+70+67]025{25}[255+70+67]026"+{<}IS13{>}
+"[255+70+67]027{27}[255+70+67]028{28}[255+70+67]029{29}[255+
70+67]030{30}[255+70+67]031{31}[255+70+67]032 [255+70+67]033!
[255+70+67]034"+""""+"[255+70+67]035#[255+70+67]036$[255+70+6
7]037%[255+70+67]038&[255+70+67]039'[255+70+67]040([255+70+67
]041)[255+70+67]042*[255+70+67]043+[255+70+67]044,[255+70+67]
045-[255+70+67]046.[255+70+67]047/[255+70+67]0480[255+70+67]0
491[255+70+67]0502[255+70+67]0513[255+70+67]0524[255+70+67]05
35[255+70+67]0546[255+70+67]0557[255+70+67]0568[255+70+67]057
9[255+70+67]058:[255+70+67]059;[255+70+67]060<[255+70+67]061=
[255+70+67]062>[255+70+67]063?[255+70+67]064@[255+70+67]065A[
255+70+67]066B[255+70+67]067C[255+70+67]068D[255+70+67]069E[2
55+70+67]070F[255+70+67]071G[255+70+67]072H[255+70+67]073I[25
5+70+67]074J[255+70+67]
075K[255+70+67]076L[255+70+67]077M[255+70+67]078N[255+70+67]0
79O[255+70+67]080P[255+70+67]081Q[255+70+67]082R[255+70+67]08
3S[255+70+67]084T[255+70+67]085U[255+70+67]086V[255+70+67]087
W[255+70+67]088X[255+70+67]089Y[255+70+67]090Z[255+70+67]091[
[255+70+67]092\[255+70+67]093][255+70+67]094^[255+70+67]095_[
255+70+67]096`[255+70+67]097a[255+70+67]098b[255+70+67]099c[2
55+70+67]100d[255+70+67]101e[255+70+67]102f[255+70+67]103g[25
5+70+67]104h[255+70+67]105i[255+70+67]106j[255+70+67]107k[255
+70+67]108l[255+70+67]109m[255+70+67]110n[255+70+67]111o[255+
70+67]112p[255+70+67]113q[255+70+67]114r[255+70+67]115s[255+7
0+67]116t[255+70+67]117u[255+70+67]118v[255+70+67]119w[255+70
+67]120x[255+70+67]121y[255+70+67]122z[255+70+67]123{[255+70+
67]124|[255+70+67]125}[255+70+67]126[255+70+67]127[255+70+67
]128{128}[255+70+67]129{129}[255+70+67]130{130}[255+70+67]131
{131}[255+70+67]132{132}[255+70+67]133{133}[255+70+67]134{134
}[255+70+67]135{135}[255+70+67]136{136}[255+70+67]137{137}[25
5+70+67]138{138}[255+70+67]139{139}[255+70+67]140{140}[255+70
+67]141{141}[255+70+67]142{142}[255+70+67]143{143}[255+70+67]
144{144}[255+70+67]145{145}[255+70+67]146{146}[255+70+67]147{
147}[255+70+67]148{148}[255+70+67]149{149}[255+70+67]150{150}
[255+70+67]151{151}[255+70+67]152{152}[255+70+67]153{153}[255
+70+67]154{154}[255+70+67]155{155}[255+70+67]156{156}[255+70+
67]157{157}[255+70+67]158{158}[255+70+67]159{159}[255+70+67]1
60{160}[255+70+67]161{161}[255+70+67]162{162}[255+70+67]163{1
63}[255+70+67]164{164}[255+70+67]165{165}[255+70+67]166{166}[
255+70+67]167{167}[255+70+67]168{168}[255+70+67]169{169}[255+
70+67]170{170}[255+70+67]171{171}[255+70+67]172{172}[255+70+6
7]173{173}[255+70+67]174{<}[255+70+67]175{>}[255+70+67]176{17
6}[255+70+67]177{177}[255+70+67]178{178}[255+70+67]179{179}[2
55+70+67]180{180}[255+70+67]181{181}[255+70+67]182{182}[255+7
0+67]183{183}[255+70+67]184{184}[255+70+67]185{185}[255+70+67
]186{186}[255+70+67]187{187}[255+70+67]188{188}[255+70+67]189
{189}[255+70+67]190{190}[255+70+67]191{191}[255+70+67]192{192
}[255+70+67]193{193}[255+70+67]194{194}[255+70+67]195{195}
[255+70+67]196{196}[255+70+67]197{197}[255+70+67]198{198}[255
+70+67]199{199}[255+70+67]200{200}[255+70+67]201{201}[255+70+
67]202{202}[255+70+67]203{203}[255+70+67]204{204}[255+70+67]2
05{205}[255+70+67]206{206}[255+70+67]207{207}[255+70+67]208{2
08}[255+70+67]209{209}[255+70+67]210{210}[255+70+67]211{211}[
255+70+67]212{212}[255+70+67]213{213}[255+70+67]214{214}[255+
70+67]215{215}[255+70+67]216{216}[255+70+67]217{217}[255+70+6
7]218{218}[255+70+67]219{219}[255+70+67]220{220}[255+70+67]22
1{221}[255+70+67]222{222}[255+70+67]223{223}[255+70+67]224{22
4}[255+70+67]225{225}[255+70+67]226{226}[255+70+67]227{227}[2
55+70+67]228{228}[255+70+67]229{229}[255+70+67]230{230}[255+7
0+67]231{231}[255+70+67]232{232}[255+70+67]233{233}[255+70+67
]234{234}[255+70+67]235{235}[255+70+67]236{236}[255+70+67]237
{237}[255+70+67]238{238}[255+70+67]239{239}[255+70+67]240{240
}[255+70+67]241{241}[255+70+67]242{242}[255+70+67]243{243}[25
5+70+67]244{244}[255+70+67]245{245}[255+70+67]246{246}[255+70
+67]247{247}[255+70+67]248{248}[255+70+67]249{249}[255+70+67]
250{250}[255+70+67]251{251}[255+70+67]252{252}[255+70+67]253"
+{<}IS08{>}+"[255+70+67]254"+{<}IS09{>}+"[255+70+67]255"+{<}I
S07{>}+"[255+70+67]"{>};*;[cr|lf]
;*;[cr|lf]
{<}SV05,[cr|lf]
{>}
{<}SV06,|{>}{<}SV07,{27}X{27}X{27}X{27}X{27}X{27}X{27}X{27}X{
>}{<}SV09,0{>}{<}SV10,.{>}{<}SV11,{>}{<}SV12,{>}{<}SV13,| 000
000|!000001|"000010|#000011|$000100|%000101|&000110|'000111|(
001000|)001001|*001010|+001011|,001100|-001101|.001110|/00111
1|0010000|1010001|2010010|3010011|4010100|5010101|6010110|701
0111|8011000|9011001|:011010|;011011|<011100|=011101|>011110|
?011111|@100000|A100001|B100010|C100011|D100100|E100101|F1001
10|G100111|H101000|I101001|J101010|K101011|L101100|M101101|N1
01110|O101111|P110000|Q110001|R110010|S110011|T110100|U110101
|V110110|W110111|X111000|Y111001|Z111010|[;111011|\111100|]11
1101|^111110|_111111|`000000|{>};*;[cr|lf]
{<}SV17,{>}{<}SV18,
[255+70+67]{>};*; 3-byte "{252}"[cr|lf]
{<}SU14,{<}LBL{>}{<}IF
{<}CP{>}<{<}PV01{>}{>}[DL_]{<}SV19{>}{<}IF{<}
IS05{>}{238}{<}IS19{>}>-1{>}[XD_]{<}SX20,({<}CP{>}-{<}PV03{>}
)/{<}PV04{>}*100{>}{<}SX20,{<}IS20{>}{>}{<}SX20,{<}VA@20.1{>}
+"%"{>}{<}PR@20{>}{<}XS19,05,20,,21{>}{<}XS20,15,,21,19{>}{<}
LBM{>}{<}XS19,15,,20,21{>}{<}SX20,"|"+{<}IS20{>}{>}{<}XS13,20
,,22,23{>}{<}XS23,06,22,,20{>}{<}SX11,{<}IS11{>}+{<}IS22{>}{>
}{<}IF{<}VA|11{>}>18{>}{<}LBN{>}{<}XS11,07,,22,23{>}{<}SX22,{
<}IS22{>}+"0"{>}{<}SX20,0{>}{<}SX24,256{>}{<}LBO{>}{<}SX25,0{
>}{<}XS22,09,26,27,28{>}{<}SX27,{<}VA|26{>}{>}{<}LBP{>}{<}SX2
4,{<}PV24{>}/2{>}{<}IF{<}PV25{>}<{<}PV27{>}{>}{<}SX20,{<}PV20
{>}+{<}PV24{>}{>}{<}SX25,{<}PV25{>}+1{>}{<}GLP{>}{<}EI{>}{<}I
F{<}PV24{>}>=1{>}{<}SX22,{<}IS28{>}{>}{<}GLO{>}{<}EI{>}{<}SX2
0,{<}IS20{>}{>}{<}SX26,{<}IS20{>}{>}{<}XS20,10,26,,27{>}{<}IF
{<}VA|26{>}<3{>}{<}SX26,"0"+{<}IS26{>}{>}{<}EI{>}{<}IF{<}VA|2
6{>}<3{>}{<}SX26,"0"+{<}IS26{>}{>}{<}EI{>}{<}SX26,"[255+70+67
]"+{<}IS26{>}{>}{<}XS16,26,,27,20{>}{<}XS20,18,27,,28{>}{<}IF
{<}VA|12{>}>0{>}{<}SX12,{<}IS12{>}+{<}IS27{>}{>}{<}IF{<}VA|12
{>}>2{>}{<}SX17,{<}IS17{>}+{<}IS12{>}{>}{<}SV12,{>}{<}EI{>}{<
}GLR{>}{<}EI{>}{<}IF{<}IS27{>}>{<}IS08{>}{>}{<}SX12,{<}IS27{>
}{>}{<}GLR{>}{<}EI{>}{<}SX17,{<}IS17{>}+{<}IS27{>}{>}{<}IF{<}
VA|17{>}>2000{>}{<}SX27,{<}CP{>}{>}[DX_][BX_]jmp {<}PV02{>}[Q
2_]{<}GT17{>}{<}SX02,{<}CP{>}{>}{<}LBQ{>}[BX_]jmp {<}PV27{>}[
Q2_]{<}IF{<}CP{>}<>{<}PV27{>}{>}{<}GLQ{>}{<}EI{>}[DO_][FF_]{<
}SV17,{>}{<}EI{>}{<}LBR{>}{<}IF{<}VA|23{>}>0{>}{<}SX11,{<}IS2
3{>}{>}{<}GLN{>}{<}EI{>}{<}SV11,{>}{<}EI{>}{<}IF{<}VA|21{>}>0
{>}{<}SX19,{<}IS21{>}{>}{<}GLM{>}{<}EI{>}{<}GLL{>}{<}EI{>}[DB
_]{<}PRBad line input (
no at EndOfLine) - Abort{>}{<}EX{>}{<}EI{>}[XD_][BX_]jmp
{<}PV02{>}[Q2_]{<}GT17{>}[BX_]jmp {<}PV01{>}[Q2_]{<}PRDone{>
}{>}{<}GT14{>}{<}EX{>}{2}[cr|lf]
[cr|lf]
-nd
XPLeNCODE
-----------
Robert Holmgren
holmgren@xxxxxxxx
-----------