• FPC - trying again :(

    From Robert AH Prins@1:261/20.999 to All on Mon Jan 9 15:50:53 2012
    From: Robert AH Prins <spamtrap@prino.org>

    Although I'm quite happy using Virtual Pascal, I've decided to give FPC
    (on W32) another try and, again, I'm not a very happy bunny.

    I've got a program that compiles and runs cleanly in VP, yet it fails miserably in VP, and the unpleasant thing is that running it in the IDE
    gives me a

    "Run Time Error 4297603" with an
    "Error address $00000000"

    on a "reset(liftin)" statement.

    Running the program, which compiles with just two warnings about
    uninitialized variables, from the command-line, will not show up this
    error, but it now abends with a 216 in the next routine,

    _hash_tr:= maxint;
    list_ptr:= list_top;

    repeat
    if list_ptr^.cday[3] = '#' then <--- 216
    _hash_tr:= pred(list_ptr^.tr);

    list_ptr:= list_ptr^.list_nxt;
    until (_hash_tr <> maxint) or
    (list_ptr = nil);

    which would indicate that the list that is supposed to be build in the
    earlier routine that reads the file is not built, but given that I
    cannot even get to this step in the IDE, that's pretty hard to confirm, although pretty obvious.

    Any hints as how to proceed?

    Robert

    PS: The code generated for some (if not most) routines is just as
    horribly bad as the code generated by BP and VP - don't take this too personally, IBM's commercial PL/I compiler for Windows generates code
    that's just as horrible, if not even worse (and this despite the fact
    that an IBM'er told me two years ago that IBM was well ahead of the FOSS
    pack when it came to compiler optimizations...)

    PS2: The VP executable, with full debugging info comes to 110K, the FPC version is a few bits more bloated at 299K...
    --
    Robert AH Prins
    robert(a)prino(d)org

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Bart@1:261/20.999 to All on Mon Jan 9 17:54:43 2012
    From: Bart <broersma.juda_ANTISPAM_@tiscali.nl>

    Op Mon, 09 Jan 2012 15:50:53 +0000 schreef Robert AH Prins <spamtrap@prino.org>:


    repeat
    if list_ptr^.cday[3] = '#' then <--- 216
    _hash_tr:= pred(list_ptr^.tr);

    list_ptr:= list_ptr^.list_nxt;
    until (_hash_tr <> maxint) or
    (list_ptr = nil);


    RTE 216 = GPF I think?
    if list_ptr = nil on entry the code will crash

    if (list_ptr <> nil) and (list_ptr^.cday[3] = '#') then
    _hash_tr:= pred(list_ptr^.tr)
    else writeln('lsit_ptr = nil'); //debug

    See what that comes up with?

    Bart

    --
    Bart Broersma
    broersma.juda_ANTISPAM_@tiscali.nl
    (ff _ANTISPAM_ wegpoetsen uit dit adres natuurlijk)

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Robert AH Prins@1:261/20.999 to All on Mon Jan 9 19:42:46 2012
    From: Robert AH Prins <spamtrap@prino.org>

    On 2012-01-09 16:54, Bart wrote:
    Op Mon, 09 Jan 2012 15:50:53 +0000 schreef Robert AH Prins <spamtrap@prino.org>:


    repeat
    if list_ptr^.cday[3] = '#' then<--- 216
    _hash_tr:= pred(list_ptr^.tr);

    list_ptr:= list_ptr^.list_nxt;
    until (_hash_tr<> maxint) or
    (list_ptr = nil);


    RTE 216 = GPF I think?
    if list_ptr = nil on entry the code will crash

    if (list_ptr<> nil) and (list_ptr^.cday[3] = '#') then
    _hash_tr:= pred(list_ptr^.tr)
    else writeln('lsit_ptr = nil'); //debug

    See what that comes up with?

    To be quite honest, I don't see the point in adding extra code to detect something that cannot occur unless there is a failure earlier in the
    program. What I really need is a clue as to why the "reset(liftin)"
    fails when I'm running the program inside the IDE.

    FWIW, full source can be found in "lift32bit.rar" in the Files section
    of the hitching group on Yahoo! <http://groups.yahoo.com/group/hitching/files/Robert%27s%20programs/>
    The sources contain two parts, pure Pascal and assemblerized Pascal
    {$ifdef asm} Input data is in liftdat.rar at the same location. In the
    FPC version I had to comment out the code in the "write_time" procedure,
    need to look at the differences in parameters between VP and FPC, VP
    uses longint's in GetTime, FPC doesn't like them.

    Other than the fact that the programs are meant to process hitchhike
    data, they might serve as a prime example as to what can be done using
    VP's built-in assembler, the assemblerized version of "lift" is around
    15k smaller than the Pascal version, which tells you something about the quality of the VP generated code, which is really, really bad. (And the
    FPC generated code is, as I already mentioned, not a lot better...)

    Robert
    --
    Robert AH Prins
    robert(a)prino(d)org

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Marco van de Voort@1:261/20.999 to All on Mon Jan 9 21:04:49 2012
    From: Marco van de Voort <marcov@toad.stack.nl>

    On 2012-01-09, Robert AH Prins <spamtrap@prino.org> wrote:

    FWIW, full source can be found in "lift32bit.rar" in the Files section
    of the hitching group on Yahoo!
    <http://groups.yahoo.com/group/hitching/files/Robert%27s%20programs/>

    That is unaccessable unless you subscribe. Can't you put it up somewhere
    else?


    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Robert AH Prins@1:261/20.999 to All on Tue Jan 10 00:51:11 2012
    From: Robert AH Prins <spamtrap@prino.org>

    On 2012-01-09 21:04, Marco van de Voort wrote:
    On 2012-01-09, Robert AH Prins<spamtrap@prino.org> wrote:

    FWIW, full source can be found in "lift32bit.rar" in the Files section
    of the hitching group on Yahoo!
    <http://groups.yahoo.com/group/hitching/files/Robert%27s%20programs/>

    That is unaccessable unless you subscribe. Can't you put it up somewhere else?

    https://rapidshare.com/files/4179083034/lift-fpc.rar

    Executables are renamed to .ex, other assumptions, to enable the use of
    the supplied VP .VPO files:

    VP installed in c:\vp21
    Sources installed in c:\01-lift\vp\dev

    write_time (in all_supp.pas) needs to have its code commented out, or
    the type of variable for ihh/imm/iss/ims needs to be changed, it doesn't compile with longint's and I could not be bothered to find out what
    these need to be.

    Default input for the program is 'lift.dat', output files are summ/lift/trip/days.h-h (and contain DOS CP 473 high-ASCII box characters)

    Robert
    --
    Robert AH Prins
    robert(a)prino(d)org

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Adrian Devries@1:261/20.999 to All on Tue Jan 10 08:58:14 2012
    From: Adrian Devries <adrian.devries@t-online.de>

    This is a multi-part message in MIME format. --------------080207090302010406090605
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: 7bit

    Before I try to compile your sources with fpc, I try to compile it with
    vpc. With the following batch

    @echo off
    :Main
    setlocal
    set DevDir=c:\01-lift\vp\dev
    set VPC=c:\vp21\bin.w32\vpc -M -V%DevDir%
    set Progs=chkdat dat2csv dat2txt dayform get-aud h-h2rtf lift \
    newlift h-h2wiki
    set LogFile=%~dpn0.log
    type nul >"%LogFile%"
    pushd "%~dp0"
    if not exist "%DevDir%" (md "%DevDir%")
    copy /y ..\source\*.* "%DevDir%\" 1>nul
    copy /y ..\vpo\*.* "%DevDir%\" 1>nul
    pushd "%DevDir%"
    touch *.pas *.vpo
    for %%a in ( %Progs% ) do (
    if "%%~a"=="get-aud" (sed -i -r -e "s_d:_c:_g" "%%~a.vpo" & \ del /f /q sed*.)
    %VPC%\%%~a.vpo | tee -a "%LogFile%"
    )
    popd
    popd
    endlocal
    pause
    goto :EOF
    :EOF

    I get following results:

    Virtual Pascal Version 2.1.279 Copyright (C) 2000-2004 vpascal.com
    Built in London, UK on 9 May 2004 by build@vpascal.com

    c:\01-lift\vp\dev\chkdat.pas(1)
    c:\01-lift\vp\dev\chkdat.pas(27): Error 15: File 'hhcommon.vpi' is not found
    hhcommon;
    ..........^

    (...)

    The file get-aud.vpo contains incorrect path settings; the batch
    corrects it on the fly. But the main problem is the missing hhcommon stuff.

    Best regards,
    Adrian

    --------------080207090302010406090605
    Content-Type: application/pgp-keys;
    name="0x38CC5F8C.asc"
    Content-Transfer-Encoding: 7bit
    Content-Disposition: attachment;
    filename="0x38CC5F8C.asc"

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: GnuPG v2.0.17 (MingW32)

    mQGiBEfNL5kRBADOtw7osQxrf4uBIuSBBm8ASPOLzD3a2MwdTVgux+6s7+aoH7dD dlv5FMmUOC6z0TeEb7pR0Pcksdg+4sTqsuUnd/3JD3ECHk7bHE6L2DB9IMZtDYqW efc7xJP2n/ucT4cMaQbGHTnQZbc5KLUDVbnkRtIfcTtltL4l+M0D4w+FWwCg/3Lu qUBhl3ddZ9BiP7EiqI4Un0MEALyxwUAh0WJ95uYDcbTFhWPOgEYNeHhEBryekWMr 4HtEUhOGm+9mMR8uRpKmZckgprIK1It4o5kLp+koQSstliR60H2J9XlBqk2w4L9S /RI46GYNcV1ntmajYUecMlfvHMJ1Yu4GonCgjJ7MkFqIOMqkBPnEKslbWMPG0Gyt Fhl/BACHrMmxXY+OasBMNNZY0BgHsUNHvSFf4bC/rocQrcWxIBYmL2rRdsfeKdYf L8BMAyGtxP6sgFvPREME1czzUsSD31DLoVGiAxKuO9fxdDj2oESP1DSpyeXyaMef +pPIY3R2ZRBuKs85pFLJdpbpuD8pg/TsEzZGI1kyrqNy9fHfhLQrQWRyaWFuIERl dnJpZXMgPGFkcmlhbi5kZXZyaWVzQHQtb25saW5lLmRlPohLBBARAgALBQJHzS+Z BAsDAQIACgkQU2D+CzjMX4z1pQCdHBiySKb9zPVnUuxaWqZvwoMVvpYAoMGJclNn h+QbGz9BJJuurOJbXJz3iEYEExECAAYFAkf50eoACgkQK6489tr/sAAXsACcD06W 68jU8U4PZ9sYcMYXdERCdKoAn3wPkq2ClPbmc2da2hOPtmUSfd84uQINBEfNL5oQ CAD2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0Op lK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPF RzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEH NmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4z ISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGf nHy9iUsiGSa6q6Jew1XpMgs7AAICCACA48puNxjDPauIFgCqxXY0SkHr5RcC06cY u9wIuNGq2SJiQIQxFXlRv1v/brf2nJGCf6TigoTCIX3aP1wBY2bZBBct4H63yfoY 4NBMH1MZ7RQR8robAOisEcmHCPKp31TYx3VHzVTKyiJlKi/njWPL82MBOWDwwXmm Qw9i0nX0Hm1OTS476rLMYGEyrZfjimOL/RlFcI4kYFRxKC0DLlyQoFg8kxfwkKXy BsIpBJgQO0RdWhK9H9uqIGfQyq1G+zK5QpO/JjTYwurNe/9hyj9XFzGucmXpwNj8 ADrIrgOjcGNxpLQSZW9VmYoe91m7YNTUPnoq64GJDTpACK0FmMZbiD8DBRhHzS+a U2D+CzjMX4wRAuEvAKD1FT4VbL2o1z2nSJ3PjOaeF1XLsgCePrqM50KrWoEcpKGn
    siZ10dsaSck=
    =KyAK
    -----END PGP PUBLIC KEY BLOCK-----

    --------------080207090302010406090605--

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Robert AH Prins@1:261/20.999 to All on Tue Jan 10 10:04:47 2012
    From: Robert AH Prins <spamtrap@prino.org>

    On 2012-01-10 07:58, Adrian Devries wrote:
    Before I try to compile your sources with fpc, I try to compile it with
    vpc. With the following batch

    @echo off
    :Main
    setlocal
    set DevDir=c:\01-lift\vp\dev
    set VPC=c:\vp21\bin.w32\vpc -M -V%DevDir%
    set Progs=chkdat dat2csv dat2txt dayform get-aud h-h2rtf lift \
    newlift h-h2wiki
    set LogFile=%~dpn0.log
    type nul>"%LogFile%"
    pushd "%~dp0"
    if not exist "%DevDir%" (md "%DevDir%")
    copy /y ..\source\*.* "%DevDir%\" 1>nul
    copy /y ..\vpo\*.* "%DevDir%\" 1>nul
    pushd "%DevDir%"
    touch *.pas *.vpo
    for %%a in ( %Progs% ) do (
    if "%%~a"=="get-aud" (sed -i -r -e "s_d:_c:_g" "%%~a.vpo"& \ del /f /q sed*.)
    %VPC%\%%~a.vpo | tee -a "%LogFile%"
    )
    popd
    popd
    endlocal
    pause
    goto :EOF
    :EOF

    I get following results:

    Virtual Pascal Version 2.1.279 Copyright (C) 2000-2004 vpascal.com
    Built in London, UK on 9 May 2004 by build@vpascal.com

    c:\01-lift\vp\dev\chkdat.pas(1)
    c:\01-lift\vp\dev\chkdat.pas(27): Error 15: File 'hhcommon.vpi' is not found
    hhcommon;
    ..........^

    (...)

    The file get-aud.vpo contains incorrect path settings; the batch
    corrects it on the fly. But the main problem is the missing hhcommon stuff.

    hhcommon.pas should compile to hhcommon.vpi/hhcommon.lib, a "Make" (F9)
    in the IDE should create the critter, in my case in "C:\vp21\out.w32\units"

    FWIW, my VP install is the one that is created by the VP installer, i.e.
    in c:\vp21, with only the CHM (from Ning) documentation added to the
    vp21\doc library.

    Robert
    --
    Robert AH Prins
    robert(a)prino(d)org

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Robert AH Prins@1:261/20.999 to All on Tue Jan 10 10:42:53 2012
    From: Robert AH Prins <spamtrap@prino.org>

    On 2012-01-10 07:58, Adrian Devries wrote:
    Before I try to compile your sources with fpc, I try to compile it with
    vpc. With the following batch

    (...)

    The file get-aud.vpo contains incorrect path settings; the batch
    corrects it on the fly. But the main problem is the missing hhcommon stuff.

    get-aud.vpo wasn't changed when I took it from a backup after my desktop
    died, I normally use the oxxxxx.vpo files to generate "optimized" (ha,
    ha, ha...) code. FWIW, I use the following batch file (in the same
    directory as the Pascal sources)

    === CUT ===
    del c:\vp21\out.w32\units\hhcommon.lib
    del c:\vp21\out.w32\units\hhcommon.vpi

    rem Following two lines wrapped by Thunderbird...
    del chkdat.exe dat2csv.exe dat2txt.exe dayform.exe get-aud.exe
    h-h2rtf.exe lift.exe newlift.exe h-h2wiki.exe
    del chkdat.map dat2csv.map dat2txt.map dayform.map get-aud.map
    h-h2rtf.map lift.map newlift.map h-h2wiki.map

    set vpc=c:\vp21\bin.w32\vpc -M -Vc:\01-lift\vp\dev\

    %vpc%ochkdat.vpo
    %vpc%odat2csv.vpo
    %vpc%odat2txt.vpo
    %vpc%odayform.vpo
    %vpc%oget-aud.vpo
    %vpc%oh-h2rtf.vpo
    %vpc%olift.vpo
    %vpc%onewlift.vpo
    %vpc%oh-h2wiki.vpo

    set vpc=
    === CUT ===

    and that works without problems.

    Robert
    --
    Robert AH Prins
    robert(a)prino(d)org

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Marco van de Voort@1:261/20.999 to All on Tue Jan 10 10:56:51 2012
    From: Marco van de Voort <marcov@toad.stack.nl>

    On 2012-01-10, Robert AH Prins <spamtrap@prino.org> wrote:
    That is unaccessable unless you subscribe. Can't you put it up somewhere
    else?

    https://rapidshare.com/files/4179083034/lift-fpc.rar

    Executables are renamed to .ex, other assumptions, to enable the use of
    the supplied VP .VPO files:

    Free Pascal Compiler version 2.6.0 [2011/12/25] for i386
    Copyright (c) 1993-2011 by Florian Klaempfl and others
    Target OS: Win32 for i386
    Compiling lift.pas
    Fatal: Can't find unit hhcommon used by lift
    Fatal: Compilation aborted
    Error: d:\FPC\2.6.0\bin\i386-Win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled
    )

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Robert AH Prins@1:261/20.999 to All on Tue Jan 10 23:48:36 2012
    From: Robert AH Prins <spamtrap@prino.org>

    On 2012-01-10 10:56, Marco van de Voort wrote:
    On 2012-01-10, Robert AH Prins<spamtrap@prino.org> wrote:
    That is unaccessable unless you subscribe. Can't you put it up somewhere >>> else?

    https://rapidshare.com/files/4179083034/lift-fpc.rar

    Executables are renamed to .ex, other assumptions, to enable the use of
    the supplied VP .VPO files:

    Free Pascal Compiler version 2.6.0 [2011/12/25] for i386
    Copyright (c) 1993-2011 by Florian Klaempfl and others
    Target OS: Win32 for i386
    Compiling lift.pas
    Fatal: Can't find unit hhcommon used by lift
    Fatal: Compilation aborted
    Error: d:\FPC\2.6.0\bin\i386-Win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled
    )

    OK, gave it another try:

    1) Installation of FPC: accept all suggestions and just install it in
    full in the suggested directory, i.e. c:\fpc\2.6.0\etc

    Note: the installer updates the PATH, without asking, coming from a z/OS background, I am vehemently opposed to this kind of behaviour!

    2) My files in c:\lift

    3) Start fp.exe via the Windows Explorer.

    4) Set up environment:

    - primary file c:\lift\lift.pas
    - assembler style: Intel (but no conditional define of "asm")
    - mode debug
    - backtrace line info for debugging
    - rest all defaults

    Note: It would be very nice to have an option that would write the
    entire environment into a simple text file for inclusion in postings, I haven't been able to figure out where Compiler options are stored, I
    expected fp.ini, but changing the state of e.g. Range Checking does not
    change fp.ini...

    5) F9

    6) Result: 8 errors, all to do with write_time in all_supp.pas - replace
    the code by

    === CUT ===
    procedure write_time;
    var ihh: word;
    var imm: word;
    var iss: word;
    var ims: word;

    begin
    gettime(ihh, imm, iss, ims);

    asm
    movzx eax, ihh
    mov eax, dword [eax * 2 + offset h_desc]
    mov word ptr wt_time[1], ax

    movzx eax, imm
    mov eax, dword [eax * 2 + offset ms_desc]
    mov word ptr wt_time[4], ax

    movzx eax, iss
    mov eax, dword [eax * 2 + offset ms_desc]
    mov word ptr wt_time[7], ax

    movzx eax, ims
    mov eax, dword [eax * 2 + offset ms_desc]
    mov word ptr wt_time[10], ax
    end;

    write(wt_time);
    end; {write_time}
    === CUT ===

    Q1: Why doesn't FPC allow longint's, like VP that has gettime also
    defined with words?

    Q2: Why do I have to add dword qualifiers to the
    "mov eax, dword [eax * 2 + offset h_desc]" statements, shouldn't it be
    clear from the first operand that I'm loading a dword?

    7) F9 again: it will just give two warnings of the

    Warning: Local variable "..." does not seem to be initialized

    kind. Nice to know, but in my case they are harmless.

    8) F8-F8-F8 and kaboom... (on the "reset(liftin)" statement)

    As it turns out, the incomprehensible error message is just that, but
    adding a "Run -> "Parameter..." -> "-ic:\lift\lift.dat" solves the
    problem (as does setting the "Run Directory..." to c:\lift) - I
    belatedly realized that running the IDE from the installation directory
    would obviously try to find the input file in the same. Oops!

    9) F9, F8 and now the program 207's on line 62 of speed.pas and from
    what I can see, it seems that FPC has a problem with untyped variables
    as the "fldl 0x8(%eax)" (Sheesh, AT&T assembler is totally crap, the
    debug window should also be able to show Intel syntax...) loads values
    that do not make any sense and on the eight, where it should load
    94.736..., it loads 1.7164658746958755e+211 and that is obviously far to
    big to ever truncate to a longint...

    I'm stuck...

    Robert
    --
    Robert AH Prins
    robert(a)prino(d)org

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)
  • From Adrian Devries@1:261/20.999 to All on Wed Jan 11 00:11:20 2012
    From: Adrian Devries <adrian.devries@t-online.de>

    This is a multi-part message in MIME format. --------------060508030109050309060902
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: 7bit

    Am 11.01.2012 00:48, schrieb Robert AH Prins:
    On 2012-01-10 10:56, Marco van de Voort wrote:
    On 2012-01-10, Robert AH Prins<spamtrap@prino.org> wrote:
    Free Pascal Compiler version 2.6.0 [2011/12/25] for i386
    Copyright (c) 1993-2011 by Florian Klaempfl and others
    Target OS: Win32 for i386
    Compiling lift.pas
    Fatal: Can't find unit hhcommon used by lift
    Fatal: Compilation aborted
    Error: d:\FPC\2.6.0\bin\i386-Win32\ppc386.exe returned an error exitcode
    (normal if you did not specify a source file to be compiled
    )

    Would you please provide the file "hhcommon.pas"? Thanks!

    Best regards,
    Adrian

    --------------060508030109050309060902
    Content-Type: application/pgp-keys;
    name="0x38CC5F8C.asc"
    Content-Transfer-Encoding: 7bit
    Content-Disposition: attachment;
    filename="0x38CC5F8C.asc"

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: GnuPG v2.0.17 (MingW32)

    mQGiBEfNL5kRBADOtw7osQxrf4uBIuSBBm8ASPOLzD3a2MwdTVgux+6s7+aoH7dD dlv5FMmUOC6z0TeEb7pR0Pcksdg+4sTqsuUnd/3JD3ECHk7bHE6L2DB9IMZtDYqW efc7xJP2n/ucT4cMaQbGHTnQZbc5KLUDVbnkRtIfcTtltL4l+M0D4w+FWwCg/3Lu qUBhl3ddZ9BiP7EiqI4Un0MEALyxwUAh0WJ95uYDcbTFhWPOgEYNeHhEBryekWMr 4HtEUhOGm+9mMR8uRpKmZckgprIK1It4o5kLp+koQSstliR60H2J9XlBqk2w4L9S /RI46GYNcV1ntmajYUecMlfvHMJ1Yu4GonCgjJ7MkFqIOMqkBPnEKslbWMPG0Gyt Fhl/BACHrMmxXY+OasBMNNZY0BgHsUNHvSFf4bC/rocQrcWxIBYmL2rRdsfeKdYf L8BMAyGtxP6sgFvPREME1czzUsSD31DLoVGiAxKuO9fxdDj2oESP1DSpyeXyaMef +pPIY3R2ZRBuKs85pFLJdpbpuD8pg/TsEzZGI1kyrqNy9fHfhLQrQWRyaWFuIERl dnJpZXMgPGFkcmlhbi5kZXZyaWVzQHQtb25saW5lLmRlPohLBBARAgALBQJHzS+Z BAsDAQIACgkQU2D+CzjMX4z1pQCdHBiySKb9zPVnUuxaWqZvwoMVvpYAoMGJclNn h+QbGz9BJJuurOJbXJz3iEYEExECAAYFAkf50eoACgkQK6489tr/sAAXsACcD06W 68jU8U4PZ9sYcMYXdERCdKoAn3wPkq2ClPbmc2da2hOPtmUSfd84uQINBEfNL5oQ CAD2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0Op lK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPF RzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEH NmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4z ISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGf nHy9iUsiGSa6q6Jew1XpMgs7AAICCACA48puNxjDPauIFgCqxXY0SkHr5RcC06cY u9wIuNGq2SJiQIQxFXlRv1v/brf2nJGCf6TigoTCIX3aP1wBY2bZBBct4H63yfoY 4NBMH1MZ7RQR8robAOisEcmHCPKp31TYx3VHzVTKyiJlKi/njWPL82MBOWDwwXmm Qw9i0nX0Hm1OTS476rLMYGEyrZfjimOL/RlFcI4kYFRxKC0DLlyQoFg8kxfwkKXy BsIpBJgQO0RdWhK9H9uqIGfQyq1G+zK5QpO/JjTYwurNe/9hyj9XFzGucmXpwNj8 ADrIrgOjcGNxpLQSZW9VmYoe91m7YNTUPnoq64GJDTpACK0FmMZbiD8DBRhHzS+a U2D+CzjMX4wRAuEvAKD1FT4VbL2o1z2nSJ3PjOaeF1XLsgCePrqM50KrWoEcpKGn
    siZ10dsaSck=
    =KyAK
    -----END PGP PUBLIC KEY BLOCK-----

    --------------060508030109050309060902--

    --- Internet Rex 2.31
    * Origin: The gateway at Omicron Theta (1:261/20.999)