[Back to ANSI SWAG index]  [Back to Main SWAG index]  [Original]

{ANSI3.PAS}
UNIT Ansi3;

INTERFACE


USES Crt, Dos;

CONST
     RecANSI : BOOLEAN = FALSE;

PROCEDURE AnsiWrite (ch : CHAR);
PROCEDURE AnsiWriteLn (S : STRING);
PROCEDURE My_GotoXY (x,y : byte);
var   My_WhereX,My_WhereY,screen_bottom,ThisSeg : word;

IMPLEMENTATION


VAR
    Escape, Saved_X,
     Saved_Y              : BYTE;
    Control_Code          : STRING;



procedure my_gotoxy (X,Y : byte);
begin
    MY_WHEREX:=X;
    My_WhereY:=Y;

end;

  Procedure TABULATE;
  Var x:Integer;
  begin
    x:=MY_WhereX;
    if x<80 then
      Repeat
        Inc(x);
      Until (x MOD 8)=0;
    if x=80 then x:=1;
    my_GotoXY(x,my_WhereY);
    if x=1 then inc(my_whereY);
  end;

  Procedure BACKSPACE;
  Var x:Integer;
  begin
    if MY_WhereX>1 then
    begin
      Dec(My_WhereX);
      write(' ');
      Dec(My_WhereX);
    end
    else
      if My_WhereY>1 then begin
        My_GotoXY(80,My_WhereY-1);
        Write(' ');
        My_GotoXY(80,My_WhereY-1);
      end;
  end;



procedure write(ch : char);
begin

     case ch of

           ^G: begin
            Sound(2000);
            Delay(75);
            NoSound;
          end;
      ^H: Backspace;
      ^I: Tabulate;
      ^J: begin
            TextBackground(0);
            inc(my_whereY);
          end;
      ^K: my_GotoXY(1,1);
      ^L: begin
            TextBackground(0);
{            ClrScr;     }
            my_gotoXY(1,1);
          end;
      ^M: begin
            TextBackground(0);
            my_whereX:=1;
          end;
     else
     begin
          mem[ThisSeg:(160*(My_WhereY-1))+(2*(my_whereX-1))]:=ord(Ch);
          mem[ThisSeg:(160*(My_WhereY-1))+(2*(my_whereX-1))+1]:=TextAttr;
          inc(my_whereX);
          if my_wherex=81 then
          begin
             my_wherex:=1;
             inc(My_WhereY);
          end; {if my_wherex=81}
     end; {else}
     end; {case}

     if (MY_WhereY>Screen_bottom) then screen_bottom:=My_Wherey;

end;


FUNCTION GetNumber (VAR LINE : STRING) : INTEGER;

   VAR
     i, j, k         : INTEGER;
     temp0, temp1   : STRING;

  BEGIN
       temp0 := LINE;
       VAL (temp0, i, j);
      IF j = 0 THEN temp0 := ''
       ELSE
      BEGIN
         temp1 := COPY (temp0, 1, j - 1);
         DELETE (temp0, 1, j);
         VAL (temp1, i, j);
      END;
    LINE := temp0;
    GetNumber := i;
  END;

 PROCEDURE loseit;
    BEGIN
      escape := 0;
      control_code := '';
      RecANSI := FALSE;
    END;

 PROCEDURE Ansi_Cursor_move;

     VAR
      x, y       : INTEGER;

    BEGIN
     y := GetNumber (control_code);
     IF y = 0 THEN y := 1;
     x := GetNumber (control_code);
     IF x = 0 THEN x := 1;
     IF y > 25 THEN y := 25;
     IF x > 80 THEN x := 80;
     my_gotoxy (x, y);
    loseit;
    END;

PROCEDURE Ansi_Cursor_up;

 VAR
   y, new_y, offset          : INTEGER;

   BEGIN
     Offset := getnumber (control_code);
        IF Offset = 0 THEN offset := 1;
      y := My_WhereY;
      IF (y - Offset) < 1 THEN
             New_y := 1
          ELSE
             New_y := y - offset;
       my_gotoxy (My_WhereX, new_y);
  loseit;
  END;

PROCEDURE Ansi_Cursor_Down;

 VAR
   y, new_y, offset          : INTEGER;

   BEGIN
     Offset := getnumber (control_code);
        IF Offset = 0 THEN offset := 1;
      y := My_WhereY;
      IF (y + Offset) > 25 THEN
             New_y := 25
          ELSE
             New_y := y + offset;
       my_gotoxy (My_WhereX, new_y);
  loseit;
  END;

PROCEDURE Ansi_Cursor_Left;

 VAR
   x, new_x, offset          : INTEGER;

   BEGIN
     Offset := getnumber (control_code);
        IF Offset = 0 THEN offset := 1;
      x := My_WhereX;
      IF (x - Offset) < 1 THEN
             New_x := 1
          ELSE
             New_x := x - offset;
       my_gotoxy (new_x, My_WhereY);
  loseit;
  END;

PROCEDURE Ansi_Cursor_Right;

 VAR
   x, new_x, offset          : INTEGER;

   BEGIN
     Offset := getnumber (control_code);
        IF Offset = 0 THEN offset := 1;
      x := My_WhereX;
      IF (x + Offset) > 80 THEN
             New_x := 1
          ELSE
             New_x := x + offset;
       my_gotoxy (New_x, My_WhereY);
  loseit;
  END;

 PROCEDURE Ansi_Clear_Screen;

   BEGIN                         {   0J = cusor to Eos           }
     CLRSCR;                      {  1j start to cursor           }
     my_gotoxy(1,1);
     loseit;                       { 2j entie screen/cursor no-move}
   END;

 PROCEDURE Ansi_Clear_EoLine;
 var
 temP : byte;

   BEGIN
   temP:=my_whereX;
     repeat
           mem[ThisSeg:(160*(My_WhereY-1))+(2*(Temp-1))]:=ord(' ');
           mem[ThisSeg:(160*(My_WhereY-1))+(2*(temp-1))+1]:=TextAttr;
           inc(temp)
      until temp>80;
     loseit;
   END;


 PROCEDURE Reverse_Video;

 VAR
      tempAttr, tblink, tempAttrlo, tempAttrhi : BYTE;

 BEGIN
            LOWVIDEO;
            TempAttrlo := (TextAttr AND $7);
            tempAttrHi := (textAttr AND $70);
            tblink     := (textattr AND $80);
            tempattrlo := tempattrlo * 16;
            tempattrhi := tempattrhi DIV 16;
            TextAttr   := TempAttrhi + TempAttrLo + TBlink;
  END;


 PROCEDURE Ansi_Set_Colors;

 VAR
    temp0, Color_Code   : INTEGER;

    BEGIN
        IF LENGTH (control_code) = 0 THEN control_code := '0';
           WHILE (LENGTH (control_code) > 0) DO
           BEGIN
            Color_code := getNumber (control_code);
                CASE Color_code OF
                   0          :  BEGIN
                                   LOWVIDEO;
                                   TEXTCOLOR (LightGray);
                                   TEXTBACKGROUND (Black);
                                 END;
                   1          : HIGHVIDEO;
                   5          : TextAttr := (TextAttr OR $80);
                   7          : Reverse_Video;
                   30         : textAttr := (TextAttr AND $F8) + black;
                   31         : textattr := (TextAttr AND $f8) + red;
                   32         : textattr := (TextAttr AND $f8) + green;
                   33         : textattr := (TextAttr AND $f8) + brown;
                   34         : textattr := (TextAttr AND $f8) + blue;
                   35         : textattr := (TextAttr AND $f8) + magenta;
                   36         : textattr := (TextAttr AND $f8) + cyan;
                   37         : textattr := (TextAttr AND $f8) + Lightgray;
                   40         : TEXTBACKGROUND (black);
                   41         : TEXTBACKGROUND (red);
                   42         : TEXTBACKGROUND (green);
                   43         : TEXTBACKGROUND (yellow);
                   44         : TEXTBACKGROUND (blue);
                   45         : TEXTBACKGROUND (magenta);
                   46         : TEXTBACKGROUND (cyan);
                   47         : TEXTBACKGROUND (white);
                 END;
             END;
       loseit;
  END;


 PROCEDURE Ansi_Save_Cur_pos;

    BEGIN
      Saved_X := My_WhereX;
      Saved_Y := My_WhereY;
      loseit;
    END;


 PROCEDURE Ansi_Restore_cur_pos;

    BEGIN
      my_gotoxy (Saved_X, Saved_Y);
      loseit;
    END;


 PROCEDURE Ansi_check_code ( ch : CHAR);

   BEGIN
       CASE ch OF
            '0'..'9', ';'     : control_code := control_code + ch;
            'H', 'f'          : Ansi_Cursor_Move;
            'A'              : Ansi_Cursor_up;
            'B'              : Ansi_Cursor_Down;
            'C'              : Ansi_Cursor_Right;
            'D'              : Ansi_Cursor_Left;
            'J'              : Ansi_Clear_Screen;
            'K'              : Ansi_Clear_EoLine;
            'm'              : Ansi_Set_Colors;
            's'              : Ansi_Save_Cur_Pos;
            'u'              : Ansi_Restore_Cur_pos;
            '?'              :;
        ELSE
          loseit;
        END;
   END;


PROCEDURE AnsiWrite (ch : CHAR);

VAR
  temp0      : INTEGER;

BEGIN
       IF escape > 0 THEN
          BEGIN
              CASE Escape OF
                1    : BEGIN
                         IF ch = '[' THEN
                            BEGIN
                              escape := 2;
                              Control_Code := '';
                            END
                         ELSE
                             escape := 0;
                       END;
                2    : Ansi_Check_code (ch);
              ELSE
                BEGIN
                   escape := 0;
                   control_code := '';
                   RecANSI := FALSE;
                END;
              END;
          END
       ELSE
         BEGIN
          CASE Ch OF
             #27       : Escape := 1;
             #9        : BEGIN
                            temp0 := My_WhereX;
                            temp0 := temp0 DIV 8;
                            temp0 := temp0 + 1;
                            temp0 := temp0 * 8;
                            my_gotoxy (temp0, My_WhereY);
                         END;
          ELSE
                 BEGIN
                    IF ( (My_WhereX = 80) AND (My_WhereY = 25) ) THEN
                      BEGIN
                        windmax := (80 + (24 * 256) );
                        WRITE (ch);
                        windmax := (79 + (24 * 256) );
                      END
                    ELSE
                      WRITE (ch);
                    escape := 0;
                 END;
           END;
         END;
  RecANSI := (Escape <> 0);
  END;

PROCEDURE AnsiWriteLn (S : STRING);
VAR I : BYTE;
BEGIN
FOR I := 1 TO LENGTH (S) DO Ansiwrite (S [i]);
END;
begin
     ThisSeg:=Segb800;
END.

{dodgey.pas}

{ TheDraw Pascal Screen Image.  Date: 08/29/95 }
const
  IMAGEDATA_WIDTH=80;
  IMAGEDATA_DEPTH=25;
  IMAGEDATA_LENGTH=4000;
  IMAGEDATA : array [1..4000] of Char = (
     'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8,
     ' ', #15, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15,
     'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15,
     'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15, ' ', #15, 'Ü', #15,
     'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8,
     ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15, ' ', #15, ' ', #15,
     'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8,
     ' ', #15, ' ', #15, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15,
     'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15,
     'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15, 'Ü', #15, 'Ü', #15,
     'Ü',  #8, ' ', #15, ' ', #15, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8,
     ' ', #15, ' ', #15, ' ', #15, 'Û', #15, 'Ü',#120, 'Ü',#120, 'Ü',#120,
     'Ü',#120, 'Ü',#120, 'Û',  #8, ' ', #15, ' ', #15, 'Û', #15, 'Ü',#120,
     'Ü',#120, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Û',  #8, ' ', #15,
     'Û', #15, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Û',  #8,
     ' ', #15, ' ', #15, 'Û', #15, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Ü',#120,
     'Ü',#120, 'Ü',#120, 'Û',  #8, ' ', #15, 'Û', #15, ' ',#127, 'Û',  #8,
     ' ', #15, ' ', #15, ' ', #15, 'Û', #15, ' ',#127, 'Û',  #8, ' ', #15,
     'Û', #15, ' ',#127, 'Û',  #8, ' ', #15, ' ', #15, ' ', #15, 'Û', #15,
     ' ',#127, 'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15,
     'Û', #15, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Û',  #8,
     ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15, ' ', #15,
     'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15, ' ', #15, 'Ü', #15,
     'Ü', #15, 'Ü',  #8, ' ', #15, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8,
     ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15, ' ', #15, 'Ü', #15,
     'Ü', #15, 'Ü',  #8, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15,
     ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü',  #8, ' ', #15, 'Ü', #15, 'Ü', #15,
     'Ü',  #8, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     'Û',#127, ' ',#127, 'Û',  #8, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Û',#127,
     ' ',#127, 'Û',  #8, ' ', #15, 'Û',#127, ' ',#127, 'Û',#120, 'Ü',  #8,
     ' ', #15, 'Ü', #15, 'Û', #15, ' ',#127, 'Û',  #8, ' ', #15, 'Û', #15,
     'Û',  #7, 'Û',  #8, ' ', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15, 'Ü', #15,
     'Ü', #15, 'Ü',  #8, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8,
     ' ', #15, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15,
     ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15,
     'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8,
     ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15,
     'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8,
     ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15, 'ß',#127,
     'ß',#127, 'Û',  #8, ' ', #15, 'Û', #15, 'Ü',#120, 'Ü',#120, 'Ü',#120,
     'Û',  #7, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Û',  #8, ' ', #15, 'Û', #15,
     'Ü',#127, 'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7, 'Ü',#120,
     'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15,
     'Û',  #7, 'Ü',#120, 'Ü',#120, 'Ü',#120, 'Û',  #8, ' ', #15, ' ', #15,
     'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, 'Ü', #15, ' ', #15, 'Û', #15,
     'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7,
     'Û',  #8, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15,
     'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7,
     'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15,
     'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8,
     ' ', #15, 'ß',  #8, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'ß',#120, 'Ü', #15,
     'ß',#127, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7,
     'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, 'ß',#127,
     'Û',  #7, 'ß',#127, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, ' ', #15,
     ' ', #15, 'Û', #15, 'Û',  #7, 'ß',#127, 'ß',#127, 'ß',#127, 'ß',#127,
     'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7, 'ß',#127, 'ß',#127,
     'ß',#127, 'ß',#127, 'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7,
     'ß',#127, 'ß',#127, 'ß',#127, 'ß',#127, 'Û',  #7, 'Û',  #8, ' ', #15,
     'Û', #15, 'Û',  #7, 'ß',#127, 'ß',#127, 'ß',#127, 'ß',#127, 'Û',  #7,
     'Û',  #8, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'Û', #15, 'Û',  #7,
     'Û',  #8, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'ß', #15,
     'Û', #15, 'Û',  #7, 'ß',#127, 'Û',  #7, 'Û',  #8, 'ß',  #8, ' ', #15,
     ' ', #15, 'Û', #15, 'Û',  #7, 'Û',  #8, ' ', #15, 'Û', #15, 'Û',  #7,
     'ß',#127, 'ß',#127, 'ß',#127, 'ß',#127, 'Û',  #8, ' ', #15, 'Û', #15,
     'Û',  #7, 'Û',  #7, 'Ü',#120, 'ß',  #8, 'Ü',#120, 'Û',  #7, 'Û',  #7,
     'Û',  #8, ' ', #15, ' ', #15, ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8,
     'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, ' ', #15, 'ß',  #8,
     'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8,
     ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8,
     'ß',  #8, 'ß',  #8, ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8,
     'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8,
     'ß',  #8, ' ', #15, ' ', #15, ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8,
     ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8, 'ß',  #8,
     'ß',  #8, ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8, ' ', #15, ' ', #15,
     ' ', #15, 'ß',  #8, 'ß',  #8, 'ß',  #8, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, 'C', #15, 'o', #15, 'D', #15, 'e', #15, ' ', #15,
     '-', #15, ' ', #15, 'S', #15, 'L', #15, 'a', #15, 'C', #15, 'K', #15,
     ' ', #15, 'M', #15, 'a', #15, 'M', #15, 'M', #15, 'o', #15, 'T', #15,
     'H', #15, ' ', #15, '/', #15, ' ', #15, 'T', #15, 'R', #15, 'i', #15,
     'H', #15, 'a', #15, 'R', #15, 'D', #15, ' ', #15, 'i', #15, 'N', #15,
     'C', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ', #15, ' ', #15, 'F', #15, 'i', #15, 'l', #15,
     'e', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'T', #15,
     'i', #15, 't', #15, 'l', #15, 'e', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, 'A', #15, 'u', #15, 't', #15, 'h', #15, 'o', #15, 'r', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ',#127, ' ',#127, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ',#127,
     ' ',#127, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ',#127, ' ',#127, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ',#127, ' ',#127,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ',#127, ' ',#127, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ',#127, ' ',#127, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ',#127, ' ',#127, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ',#127, ' ',#127, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ',#127,
     ' ',#127, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127,
     ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ',#127, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
     ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15);


[Back to ANSI SWAG index]  [Back to Main SWAG index]  [Original]