#include <perms.h>
#include "..."
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  const int FRAMESTOREXL = 0;
  const int FRAMESTOREXR = 687;
  const int FRAMESTOREYB = 0;
  const int FRAMESTOREYT = 511;
  const int WINDOWFRAME = 12;
  const int WINDOWXL = FRAMESTOREXL + WINDOWFRAME;
  const int WINDOWXR = FRAMESTOREXR - WINDOWFRAME;
  const int WINDOWYB = FRAMESTOREYB + WINDOWFRAME;
  const int WINDOWYT = FRAMESTOREYT - WINDOWFRAME;
  const int VGRIDXL = 0;
  const int VGRIDXR = 255;
  const int VGRIDYB = 0;
  const int VGRIDYT = 255;
  char VGRID[VGRIDXR - VGRIDXL + 1][VGRIDYT - VGRIDYB + 1];
  char HVGRID[VGRIDXR + 1 - VGRIDXL + 1][VGRIDYT - VGRIDYB + 1];
  char VVGRID[VGRIDXR - VGRIDXL + 1][VGRIDYT + 1 - VGRIDYB + 1];
  const int MPOLY = 1;
  const int MDIFF = 2;
  const int MMETAL1 = 3;
  const int MMETAL2 = 4;
  const int MCONTACT = 5;
  const int MSUBCON = 6;
  const int MTRANX = 7;
  const int MTRANY = 8;
  const int MPTRANX = 9;
  const int MPTRANY = 10;
  const int MPWELL = 11;
  const int MZOOM = 12;
  const int MINPUT = 13;
  const int MOUTPUT = 14;
  const int MITEMS = 14;
  const int MWSCALE = 8;
  const int MTSCALE = 4;
  const int MTSCALE3 = 12;
  const int MITEMX[MITEMS - 1 + 1] = {20, 48, 76,  104, 132, 160, 22,
                                      56, 90, 124, 158, 20,  20,  68};
  const int MITEMXL[MITEMS - 1 + 1] = {0,  34, 62,  90,  118, 146, 0,
                                       39, 73, 107, 141, 0,   0,   53};
  const int MITEMXR[MITEMS - 1 + 1] = {33, 61,  89,  117, 145, 180, 38,
                                       72, 106, 140, 180, 41,  52,  110};
  const int MITEMY[MITEMS - 1 + 1] = {96, 66, 36, 10};
  const int MITEMYB[MITEMS - 1 + 1] = {84, 49, 23, 0};
  const int MITEMYT[MITEMS - 1 + 1] = {114, 83, 48, 22};
  const int MENUXS = 180;
  const int MENUYS = 114;
  const int CURXL[MITEMS - 1 + 1] = {-1, -3, -1};
  const int CURXR[MITEMS - 1 + 1] = {1, 3, 1};
  const int CURYB[MITEMS - 1 + 1] = {-1, -3, -1};
  const int CURYT[MITEMS - 1 + 1] = {1, 3, 1};
  const int POLY = 1;
  const int DIFF = 2;
  const int METAL1 = 4;
  const int METAL2 = 8;
  const int PWELL = 16;
  const int CONTACT = 32;
  const int ALLLAYERS = 63;
  const int GRID = 64;
  const int MENUBACK = 128;
  const int POLYWIREERASED = 16;
  const int DIFFWIREERASED = 32;
  const int METAL1WIREERASED = 64;
  const int METAL2WIREERASED = 128;
  const int TRANX = 1;
  const int TRANY = 2;
  const int SUBCON = 4;
  const int WINDOWFRAMELR[MITEMS - 1 + 1] = {
      POLY, DIFF, METAL1, METAL2, MENUBACK, MENUBACK,
      POLY, DIFF, POLY,   DIFF,   PWELL,    MENUBACK};
  const int WINDOWFRAMEBT[MITEMS - 1 + 1] = {
      POLY, DIFF, METAL1, METAL2, MENUBACK, MENUBACK,
      DIFF, POLY, DIFF,   POLY,   PWELL,    MENUBACK};
  const int NODIR = 0;
  const int SOUTH = 1;
  const int EAST = 2;
  const int NORTH = 3;
  const int WEST = 4;
  const int NOSTATE = 0;
  const int DRAWING = 1;
  const int ERASING = 2;
  const int NOTPRESSED = 0;
  const int PRESSED = 1;
  const int RELEASED = 2;
  const int STILLPRESSED = 3;
  short CMAP[255 - 0 + 1];
  int BACKGROUNDCOLOUR;
  int FLASHCOLOUR;
  auto void SETUPCOLOURMAP(void);
  auto void DRAWWINDOWFRAME(int B, int R, int T, int L);
  auto void SETUPNEWSCALE(int NEWSCALE);
  auto void CLIPFILL(int XL, int YB, int XR, int YT);
  auto void CLIPVLINE(int X, int YB, int YT);
  auto void CLIPHLINE(int XL, int XR, int Y);
  auto void CLIPDBTLINE(int XL, int YB, int XR, int YT);
  auto void CLIPDTBLINE(int XL, int YT, int XR, int YB);
  auto void OUTLINE(int XL, int YB, int XR, int YT);
  auto void CLIPOUTLINE(int XL, int YB, int XR, int YT);
  auto void DRAWWIREX(int LAYER, int GX, int GY);
  auto void ERASEWIREX(int LAYER, int GX, int GY);
  auto void DRAWWIREY(int LAYER, int GX, int GY);
  auto void ERASEWIREY(int LAYER, int GX, int GY);
  auto void DRAWTRANX(int GX, int GY);
  auto void DRAWTRANY(int GX, int GY);
  auto void DRAWCONTACT(int GX, int GY);
  auto void DRAWSUBCON(int GX, int GY);
  auto void DRAWPWELL(int GX, int GY);
  auto void REDRAWDESIGN(void);
  auto void REDRAWGRIDPOINT(int GX, int GY);
  auto void REDRAWPRIM(int GX, int GY);
  auto void REDRAWWIREX(int GX, int GY);
  auto void REDRAWWIREY(int GX, int GY);
  auto void DRAWCURSOR(void);
  auto void ERASECURSOR(void);
  auto void PAN(int XI, int YI);
  auto void ZOOMIN(void);
  auto void ZOOMOUT(void);
  auto void DRAWMENU(void);
  auto void ERASEMENU(void);
  auto void FLASH(void);
  short GRIDX[VGRIDXR + 1 - VGRIDXL - 1 + 1];
  short GRIDY[VGRIDYT + 1 - VGRIDYB - 1 + 1];
  int WGRIDXL;
  int WGRIDXR;
  int WGRIDYB;
  int WGRIDYT;
  const int GRIDXL = 0;
  const int GRIDYB = 0;
  int GRIDXR;
  int GRIDYT;
  int MENUXL;
  int MENUXR;
  int MENUYB;
  int MENUYT;
  int CURBUTS;
  int CURGX;
  int CURGY;
  int NEWBUTS;
  int NEWGX;
  int NEWGY;
  int VGX;
  int VGY;
  int VG;
  int VGW;
  int SCALE;
  int SCALE2;
  int SCALE3;
  int SCALE4;
  int SCALE6;
  int X;
  int Y;
  int XI;
  int YI;
  int CURX;
  int CURY;
  int S;
  int STATE;
  int BUTL;
  int BUTM;
  int BUTR;
  int CURTYPE;
  int NEWTYPE;
  int VGWH;
  int VGWV;
  int WIRESTARTGX;
  int WIRESTARTGY;
  int WIRECURGX;
  int WIRECURGY;
  int CURWIREDIR;
  int NEWWIREDIR;
  int LAYER;
  int XL;
  int XR;
  int YB;
  int YT;
  static void *ACTION /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/[() - 1 + 1] = {
      /* These need to be filled in from associated code block */};
  static void *WIREACTION[2 - 0 + 1] = {
      /* These need to be filled in from associated code block */};
  static void *WIREDRAWN[WEST - NODIR + 1] = {
      /* These need to be filled in from associated code block */};
  static void *UNDRAWWIRE[WEST - NODIR + 1] = {
      /* These need to be filled in from associated code block */};
  static void *DRAWWIRE[WEST - NODIR + 1] = {
      /* These need to be filled in from associated code block */};
  static void *WIREERASED[WEST - NODIR + 1] = {
      /* These need to be filled in from associated code block */};
  static void *UNERASEWIRE[WEST - NODIR + 1] = {
      /* These need to be filled in from associated code block */};
  static void *ERASEWIRE[WEST - NODIR + 1] = {
      /* These need to be filled in from associated code block */};
  for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
       /*C_NAME*/ X = MISSING_RHS;
       X != () + 1; X += 1) {
    for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
         /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ Y = MISSING_RHS;
         Y != () + 1; Y += 1) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ 0;
          /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      0; /*ERROR: name_sym_idx is -1!*/  /*C_NAME*/
      0;
    }
  }
  for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
       /*C_NAME*/ Y = MISSING_RHS;
       Y != () + 1; Y += 1) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    0;
  for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
       /*C_NAME*/ X = MISSING_RHS;
       X != () + 1; X += 1) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    0; /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
  ;
  SETUPCOLOURMAP(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  DRAWWINDOWFRAME(, , , ); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
  WGRIDXL = (() + ()) / 2; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
  WGRIDYB = (() + ()) / 2;
  CURGX = 0;
  CURGY = 0; /*ERROR: name_sym_idx is -1!*/                    /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                           /*C_NAME*/
  GRIDX[CURGX] = (() + ()) / 2; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                           /*C_NAME*/
  GRIDY[CURGY] = (() + ()) / 2;
  SETUPNEWSCALE(6);
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  (() + ()) / 2;
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  (() + ()) / 2; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  CURBUTS = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  CURTYPE = MISSING_RHS;
  DRAWCURSOR();
MENU:;
  DRAWMENU();
MENULOOP:;
  /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ X = MISSING_RHS;
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  Y = MISSING_RHS;
  if (X < MENUXL) {
    X = MENUXL; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    X;
  } else if (X > MENUXR) {
    X = MENUXR; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    X;
  }
  if (Y < MENUYB) {
    Y = MENUYB; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    Y;
  } else if (Y > MENUYT) {
    Y = MENUYT; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    Y;
  }
  X = X - MENUXL;
  Y = Y - MENUYB;
  for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ NEWTYPE = 1; NEWTYPE != () + 1;
       NEWTYPE += 1) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (() <= X && X <= () &&
                                                  () <= Y && Y <= ())
      break;
  }
  if (NEWTYPE != CURTYPE) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;    /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/   /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    OUTLINE(() + MENUXL, () + MENUYB, () + MENUXL, () + MENUYB);
    CURTYPE = NEWTYPE; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                  /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/   /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    OUTLINE(() + MENUXL, () + MENUYB, () + MENUXL, () + MENUYB);

  } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  NEWBUTS = MISSING_RHS;
  BUTL = (CURBUTS & 1) << 1 | (NEWBUTS & 1);
  BUTM = (CURBUTS & 2) | (NEWBUTS & 2) >> 1;
  BUTR = (CURBUTS & 4) >> 1 | (NEWBUTS & 4) >> 2;
  CURBUTS = NEWBUTS;
  if (BUTL != PRESSED && BUTM != PRESSED) goto MENULOOP;
  DRAWWINDOWFRAME(WINDOWFRAMEBT[CURTYPE], WINDOWFRAMELR[CURTYPE],
                  WINDOWFRAMEBT[CURTYPE], WINDOWFRAMELR[CURTYPE]);
DISPLAY:;
  ERASEMENU();
  DRAWCURSOR();
  STATE = NOSTATE;
DISPLAYLOOP:;
  /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ X = MISSING_RHS;
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  Y = MISSING_RHS;
  XI = 0;
  YI = 0; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  if (X < ())
    XI = -1;
  else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (X > ())
    XI = 1; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  if (Y < ())
    YI = -1;
  else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (Y > ())
    YI = 1;
  if (XI != 0 || YI != 0) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (X < ()) {
      /*ERROR: name_sym_idx is -1!*/                  /*C_NAME*/
      X = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      X;
    } /*ERROR: name_sym_idx is -1!*/                  /*C_NAME*/
    if (X > ()) { /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
      X = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      X;
    } /*ERROR: name_sym_idx is -1!*/                  /*C_NAME*/
    if (Y < ()) { /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
      Y = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      Y;
    } /*ERROR: name_sym_idx is -1!*/                  /*C_NAME*/
    if (Y > ()) { /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
      Y = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      Y;
    }
    ERASECURSOR(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ;
    PAN(XI, YI);
    goto DISPLAYLOOP;
  }
  NEWGX = X / SCALE6;
  NEWGY = Y / SCALE6;
  if (NEWGX < GRIDXL)
    NEWGX = GRIDXL;
  else if (NEWGX > GRIDXR)
    NEWGX = GRIDXR;
  if (NEWGY < GRIDYB)
    NEWGY = GRIDYB;
  else if (NEWGY > GRIDYT)
    NEWGY = GRIDYT;
  if (NEWGX != CURGX || NEWGY != CURGY) {
    ERASECURSOR();
    CURGX = NEWGX;
    CURGY = NEWGY;
    DRAWCURSOR();

  } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  NEWBUTS = MISSING_RHS;
  BUTL = (CURBUTS & 1) << 1 | (NEWBUTS & 1);
  BUTM = (CURBUTS & 2) | (NEWBUTS & 2) >> 1;
  BUTR = (CURBUTS & 4) >> 1 | (NEWBUTS & 4) >> 2;
  CURBUTS = NEWBUTS;
  if (BUTR == PRESSED) goto MENU;
  VGX = CURGX + WGRIDXL;
  VGY = CURGY + WGRIDYB; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  VG = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                    /*C_NAME*/
  VGWH = () | (); /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                    /*C_NAME*/
  VGWV = () | ();
  VGW = VGWH | VGWV;
  goto *ACTION[CURTYPE];
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/
      :;
       /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  LAYER = MISSING_RHS;
  goto *WIREACTION[STATE];
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/
      :;
       /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  LAYER = MISSING_RHS;
  goto *WIREACTION[STATE];
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/
      :;
       /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  LAYER = MISSING_RHS;
  goto *WIREACTION[STATE];
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/
      :;
       /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  LAYER = MISSING_RHS;
  goto *WIREACTION[STATE];
WIREACTION_0:;
  if (BUTM == PRESSED || BUTL == PRESSED) {
    WIRESTARTGX = CURGX;
    WIRESTARTGY = CURGY;
    WIRECURGX = CURGX;
    WIRECURGY = CURGY;
    CURWIREDIR = NODIR;
    if (BUTM == PRESSED)
      STATE = DRAWING;
    else
      STATE = ERASING;
  }
  goto DISPLAYLOOP;
  WIREACTION_ /*non-const?*/ DRAWINGDRAWING:;
  if (BUTM == STILLPRESSED) goto WIREDRAWING;
  STATE = NOSTATE;
  goto *WIREDRAWN[CURWIREDIR];
  WIREDRAWN_ /*non-const?*/ NODIRNODIR:;
  goto DISPLAYLOOP;
  WIREDRAWN_ /*non-const?*/ SOUTHSOUTH:;
  X = WIRESTARTGX + WGRIDXL;
  YB = WIRECURGY + WGRIDYB + 1;
  YT = WIRESTARTGY + WGRIDYB;  // option...

WIREYDRAWN:;
  for (Y = YB; Y != YT + 1; Y += 1) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((() & LAYER) != 0)
      continue; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (LAYER == ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (((() | () | ()) &
                                                                ()) != 0 ||
                                                               ((() | ()) &
                                                                (() | () |
                                                                 ())) != 0 ||
                                                               (((() | ()) &
                                                                 ()) != 0 &&
                                                                (() & ()) ==
                                                                    0) ||
                                                               (((() | ()) &
                                                                 ()) != 0 &&
                                                                (() & ()) == 0))
        goto WIREYKO;

    } else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (LAYER == ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (((() | () | ()) &
                                                                ()) != 0 ||
                                                               ((() | ()) &
                                                                (() | () |
                                                                 ())) != 0 ||
                                                               (((() | ()) &
                                                                 ()) != 0 &&
                                                                (() & ()) ==
                                                                    0) ||
                                                               (((() | ()) &
                                                                 ()) != 0 &&
                                                                (() & ()) == 0))
        goto WIREYKO;

    } else {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (((() | ()) & (() | ())) !=
                                                    0)
        goto WIREYKO;
    }
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ () | LAYER;
    continue;
  WIREYKO:;
    ERASEWIREY(LAYER, X - WGRIDXL, Y - WGRIDYB);
    if (Y != YT) DRAWWIREY(LAYER, X - WGRIDXL, Y + 1 - WGRIDYB);
    FLASH();
  }
  goto DISPLAYLOOP;
  WIREDRAWN_ /*non-const?*/ EASTEAST:;
  XL = WIRESTARTGX + WGRIDXL + 1;
  XR = WIRECURGX + WGRIDXL;
  Y = WIRESTARTGY + WGRIDYB;
WIREXDRAWN:;
  for (X = XL; X != XR + 1; X += 1) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((() & LAYER) != 0)
      continue; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (LAYER == ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ if (((() | () | ()) & ()) != 0 ||
                     ((() | ()) & (() | () | ())) != 0 ||
                     (() & ()) != (() & ()) ||
                     (((() | ()) & ()) != 0 && (() & ()) == 0) ||
                     (((() | ()) & ()) != 0 && (() & ()) == 0))
        goto WIREXKO;

    } else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (LAYER == ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                              is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (((() | () | ()) &
                                                                ()) != 0 ||
                                                               ((() | ()) &
                                                                (() | () |
                                                                 ())) != 0 ||
                                                               (((() | ()) &
                                                                 ()) != 0 &&
                                                                (() & ()) ==
                                                                    0) ||
                                                               (((() | ()) &
                                                                 ()) != 0 &&
                                                                (() & ()) == 0))
        goto WIREXKO;

    } else {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (((() | ()) & (() | ())) !=
                                                    0)
        goto WIREXKO;
    }
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ () | LAYER;
    DRAWWIREX(LAYER, X - WGRIDXL, Y - WGRIDYB);
    continue;
  WIREXKO:;
    ERASEWIREX(LAYER, X - WGRIDXL, Y - WGRIDYB);
    if (X != XR) DRAWWIREX(LAYER, X + 1 - WGRIDXL, Y - WGRIDYB);
    FLASH();
  }
  goto DISPLAYLOOP;
  WIREDRAWN_ /*non-const?*/ NORTHNORTH:;
  X = WIRESTARTGX + WGRIDXL;
  YB = WIRESTARTGY + WGRIDYB + 1;
  YT = WIRECURGY + WGRIDYB;
  goto WIREYDRAWN;
  WIREDRAWN_ /*non-const?*/ WESTWEST:;
  XL = WIRECURGX + WGRIDXL + 1;
  XR = WIRESTARTGX + WGRIDXL;
  Y = WIRESTARTGY + WGRIDYB;
  goto WIREXDRAWN;
WIREDRAWING:;
  X = CURGX - WIRESTARTGX;
  Y = CURGY - WIRESTARTGY;
  if (X == 0 && Y == 0)
    NEWWIREDIR = NODIR;
  else {
    if (X >= Y) {
      if (X > -Y)
        NEWWIREDIR = EAST;
      else
        NEWWIREDIR = SOUTH;

    } else {
      if (X > -Y)
        NEWWIREDIR = NORTH;
      else
        NEWWIREDIR = WEST;
    }
  }
  if (NEWWIREDIR != CURWIREDIR) {
    goto *UNDRAWWIRE[CURWIREDIR];
    UNDRAWWIRE_ /*non-const?*/ NODIRNODIR:;
    goto ENDUNDRAWWIRE;
    UNDRAWWIRE_ /*non-const?*/ SOUTHSOUTH:;
    for (Y = WIRECURGY + 1; Y != WIRESTARTGY + 1; Y += 1)
      ERASEWIREY(LAYER, WIRESTARTGX, Y);
    goto ENDUNDRAWWIRE;
    UNDRAWWIRE_ /*non-const?*/ EASTEAST:;
    for (X = WIRECURGX; X != WIRESTARTGX + 1 + -1; X += -1)
      ERASEWIREX(LAYER, X, WIRESTARTGY);
    goto ENDUNDRAWWIRE;
    UNDRAWWIRE_ /*non-const?*/ NORTHNORTH:;
    for (Y = WIRECURGY; Y != WIRESTARTGY + 1 + -1; Y += -1)
      ERASEWIREY(LAYER, WIRESTARTGX, Y);
    goto ENDUNDRAWWIRE;
    UNDRAWWIRE_ /*non-const?*/ WESTWEST:;
    for (X = WIRECURGX + 1; X != WIRESTARTGX + 1; X += 1)
      ERASEWIREX(LAYER, X, WIRESTARTGY);
    goto ENDUNDRAWWIRE;
  ENDUNDRAWWIRE:;
    WIRECURGX = WIRESTARTGX;
    WIRECURGY = WIRESTARTGY;
    CURWIREDIR = NEWWIREDIR;
  }
  goto *DRAWWIRE[CURWIREDIR];
  DRAWWIRE_ /*non-const?*/ NODIRNODIR:;
  DRAWCURSOR();
  goto DISPLAYLOOP;
  DRAWWIRE_ /*non-const?*/ SOUTHSOUTH:;
  if (CURGY <= WIRECURGY) {
    YT = WIRECURGY + 1;
    if (WIRECURGY == WIRESTARTGY) YT = YT - 1;
    for (Y = YT; Y != CURGY + 1 + -1; Y += -1) DRAWWIREY(LAYER, WIRESTARTGX, Y);

  } else {
    for (Y = WIRECURGY + 1; Y != CURGY + 1; Y += 1)
      ERASEWIREY(LAYER, WIRESTARTGX, Y);
  }
  WIRECURGY = CURGY;
  goto DISPLAYLOOP;
  DRAWWIRE_ /*non-const?*/ EASTEAST:;
  if (CURGX >= WIRECURGX) {
    XL = WIRECURGX;
    if (WIRECURGX == WIRESTARTGX) XL = XL + 1;
    for (X = XL; X != CURGX + 1; X += 1) DRAWWIREX(LAYER, X, WIRESTARTGY);

  } else {
    for (X = WIRECURGX; X != CURGX + 1 + -1; X += -1)
      ERASEWIREX(LAYER, X, WIRESTARTGY);
  }
  WIRECURGX = CURGX;
  goto DISPLAYLOOP;
  DRAWWIRE_ /*non-const?*/ NORTHNORTH:;
  if (CURGY >= WIRECURGY) {
    YB = WIRECURGY;
    if (WIRECURGY == WIRESTARTGY) YB = YB + 1;
    for (Y = YB; Y != CURGY + 1; Y += 1) DRAWWIREY(LAYER, WIRESTARTGX, Y);

  } else {
    for (Y = WIRECURGY; Y != CURGY + 1 + -1; Y += -1)
      ERASEWIREY(LAYER, WIRESTARTGX, Y);
  }
  WIRECURGY = CURGY;
  goto DISPLAYLOOP;
  DRAWWIRE_ /*non-const?*/ WESTWEST:;
  if (CURGX <= WIRECURGX) {
    XR = WIRECURGX + 1;
    if (WIRECURGX == WIRESTARTGX) XR = XR - 1;
    for (X = XR; X != CURGX + 1 + -1; X += -1) DRAWWIREX(LAYER, X, WIRESTARTGY);

  } else {
    for (X = WIRECURGX + 1; X != CURGX + 1; X += 1)
      ERASEWIREX(LAYER, X, WIRESTARTGY);
  }
  WIRECURGX = CURGX;
  goto DISPLAYLOOP;
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
  if (BUTM == PRESSED) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                            is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                            is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                            is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((VG & (() | () |
                                                                    ())) != 0 ||
                                                             (VGW !=
                                                                  (() | ()) &&
                                                              VGW !=
                                                                  (() | ()) &&
                                                              VGW != (() | ())))
      FLASH();
    else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/  /*C_NAME*/
      VG | ();

  } else if (BUTL == PRESSED) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    VG &(~());
  goto DISPLAYLOOP;
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
  if (BUTM == PRESSED) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                            is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((VG & (() | () |
                                                                    ())) != 0 ||
                                                             (VGW & (~())) !=
                                                                 ())
      FLASH();
    else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/  /*C_NAME*/
      VG | ();

  } else if (BUTL == PRESSED) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    VG &(~());
  goto DISPLAYLOOP;
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
  if (BUTM == PRESSED) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                            is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((VG & (() | () |
                                                                    ())) != 0 ||
                                                             (VGWH & ()) != 0 ||
                                                             (VGWV & ()) != 0)
      FLASH();
    else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/  /*C_NAME*/
      VG | ();

  } else if (BUTL == PRESSED) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    VG &(~());
  goto DISPLAYLOOP;
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
  if (BUTM == PRESSED) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                            is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((VG & (() | () |
                                                                    ())) != 0 ||
                                                             (VGWH & ()) != 0 ||
                                                             (VGWV & ()) != 0)
      FLASH();
    else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/  /*C_NAME*/
      VG | ();

  } else if (BUTL == PRESSED) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    VG &(~());
  goto DISPLAYLOOP;
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
  if (BUTM == PRESSED) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                            is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((VG & (() | () |
                                                                    ())) != 0 ||
                                                             (VGWH & ()) != 0 ||
                                                             (VGWV & ()) != 0)
      FLASH();
    else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is
                                                      -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/  /*C_NAME*/
      VG | () | ();

  } else if (BUTL ==
             PRESSED) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                   name_sym_idx
                                                                   is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/                 /*C_NAME*/
    VG &(~()) & (~());
  goto DISPLAYLOOP;
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
  if (BUTM == PRESSED) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx
                                                            is -1!*/
    /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((VG & (() | () |
                                                                    ())) != 0 ||
                                                             (VGWH & ()) != 0 ||
                                                             (VGWV & ()) != 0)
      FLASH();
    else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is
                                                      -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/  /*C_NAME*/
      VG | () | ();

  } else if (BUTL ==
             PRESSED) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                   name_sym_idx
                                                                   is -1!*/
      /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/                 /*C_NAME*/
    VG &(~()) & (~());
  goto DISPLAYLOOP;
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
  if (BUTM == PRESSED) {
  } else if (BUTL == PRESSED) {
  }
  goto DISPLAYLOOP;
  ACTION_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
  if (BUTM == PRESSED)
    ZOOMIN();
  else if (BUTL == PRESSED)
    ZOOMOUT();
  goto DISPLAYLOOP;
  auto void SETUPCOLOURMAP(void) {
    _imp_enter();
    auto int CMAPC(int RED, int GREEN, int BLUE) {
      _imp_enter();
      return (((BLUE << 5 | GREEN) << 5) + RED);
      _imp_leave();
    }
    int I;
    for (I = 0; I != 255 + 1; I += 1) CMAP[I] = 0;
    BACKGROUNDCOLOUR = CMAPC(14, 16, 14);
    FLASHCOLOUR = CMAPC(31, 0, 0);
    CMAP[0] = BACKGROUNDCOLOUR; /*ERROR: name_sym_idx is -1!*/       /*C_NAME*/
    CMAP[] = CMAPC(28, 0, 0); /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    CMAP[] = CMAPC(0, 26, 0); /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                               /*C_NAME*/
    CMAP[() + ()] = CMAPC(18, 18, 0); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CMAP[] = CMAPC(15, 15, 31); /*ERROR: name_sym_idx is -1!*/       /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                               /*C_NAME*/
    CMAP[() + ()] = CMAPC(22, 8, 22); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                               /*C_NAME*/
    CMAP[() + ()] = CMAPC(8, 24, 24);
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CMAP[() + () + ()] = CMAPC(18, 18, 31);
        /*ERROR: name_sym_idx is -1!*/                               /*C_NAME*/
    CMAP[] = CMAPC(0, 0, 31); /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                               /*C_NAME*/
    CMAP[() + ()] = CMAPC(24, 0, 31); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                               /*C_NAME*/
    CMAP[() + ()] = CMAPC(0, 24, 31);
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CMAP[() + () + ()] = CMAPC(24, 24, 31);       /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CMAP[() + ()] = CMAPC(8, 8, 31);
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CMAP[() + () + ()] = CMAPC(31, 8, 31);
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CMAP[() + () + ()] = CMAPC(8, 31, 31);
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    CMAP[() + () + () + ()] = CMAPC(24, 24, 24);
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CMAP[] = CMAPC(20, 20, 0);
    for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ I = 1; I != () - 1 + 1;
         I += 1) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      CMAP[() + I] = CMAP[I];
    for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
         /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ I = MISSING_RHS;
         I != 2 * () - 1 + 1; I += 1)
      CMAP[I] = CMAPC(24, 24, 24);
    for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
         /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ I = MISSING_RHS;
         I != 2 * () - 1 + 1; I += 1)
      CMAP[I] = CMAPC(28, 28, 28);
    for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
         /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ I = MISSING_RHS;
         I != 2 * () - 1 + 1; I += 1)
      CMAP[I] = CMAPC(16, 18, 16);
    for (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ I = 1; I != () - 1 + 1;
         I += 1) /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
      CMAP[() + I] = CMAP[I]; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    _imp_leave();
  }
  auto void DRAWWINDOWFRAME(int B, int R, int T, int L) {
    _imp_enter();
    static int FRAME = 0;
    if (FRAME == 0) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/   /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/; /*ERROR: name_sym_idx is -1!*/  /*C_NAME*/
          /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
      ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
          /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
          /*ERROR: name_sym_idx is -1!*/                    /*C_NAME*/
      OUTLINE(, , , () - 1); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
          /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is
                                                       -1!*/
          /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      OUTLINE(() + 1, , , ); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
          /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is
                                                       -1!*/
          /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      OUTLINE(, () + 1, , ); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
          /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is
                                                       -1!*/
          /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      OUTLINE(, , () - 1, );
      FRAME = 1;

    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/   /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ;
    _imp_leave();
  }
  auto void SETUPNEWSCALE(int NEWSCALE) {
    _imp_enter();
    int X;
    int Y;
    int CURX;
    int CURY;
    int CURVGX;
    int CURVGY;
    SCALE = NEWSCALE;
    SCALE2 = 2 * SCALE;
    SCALE3 = 3 * SCALE;
    SCALE4 = 4 * SCALE;
    SCALE6 = 6 * SCALE;
    CURX = GRIDX[CURGX];
    CURY = GRIDY[CURGY];
    CURVGX = CURGX + WGRIDXL;
    CURVGY = CURGY + WGRIDYB; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    WGRIDXL = CURVGX - (CURX - ()) / SCALE6;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    WGRIDXR = CURVGX + (() - CURX) / SCALE6;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    WGRIDYB = CURVGY - (CURY - ()) / SCALE6;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    WGRIDYT = CURVGY + (() - CURY) / SCALE6;
    GRIDXR = WGRIDXR - WGRIDXL;
    GRIDYT = WGRIDYT - WGRIDYB;
    CURGX = CURVGX - WGRIDXL;
    CURGY = CURVGY - WGRIDYB;
    CURX = CURX - SCALE6 * (CURGX + 1);
    for (X = -1; X != GRIDXR + 1 + 1; X += 1) {
      GRIDX[X] = CURX;
      CURX = CURX + SCALE6;
    }
    CURY = CURY - SCALE6 * (CURGY + 1);
    for (Y = -1; Y != GRIDYT + 1 + 1; Y += 1) {
      GRIDY[Y] = CURY;
      CURY = CURY + SCALE6;
    }
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/   /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ;
    for (X = GRIDXL; X != GRIDXR + 1; X += 1) {
      for (Y = GRIDYB; Y != GRIDYT + 1; Y += 1) {
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
      }
    }
    REDRAWDESIGN();
    _imp_leave();
  }
  auto void CLIPFILL(int XL, int YB, int XR, int YT) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/                     /*C_NAME*/
    if (XL < ()) /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      XL = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (YB < ()) /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      YB = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (XR > ()) /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      XR = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (YT > ()) /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      YT = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    _imp_leave();
  }
  auto void CLIPVLINE(int X, int YB, int YT) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ if (X < () || X > ()) {
      _imp_leave();
      return;
    } /*ERROR: name_sym_idx is -1!*/                   /*C_NAME*/
    if (YB < ()) /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      YB = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (YT > ()) /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      YT = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    _imp_leave();
  }
  auto void CLIPHLINE(int XL, int XR, int Y) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ if (Y < () || Y > ()) {
      _imp_leave();
      return;
    } /*ERROR: name_sym_idx is -1!*/                   /*C_NAME*/
    if (XL < ()) /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      XL = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (XR > ()) /*ERROR: name_sym_idx is -1!*/        /*C_NAME*/
      XR = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    _imp_leave();
  }
  auto void CLIPDBTLINE(int XL, int YB, int XR, int YT) {
    _imp_enter();
    int XLL;
    int XRR;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ if (XL < () || YB < ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ XLL = XL + () - YB;
          /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      if (XLL >= ()) {
        XL = XLL; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        YB = MISSING_RHS;
      } else { /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
        XL = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        YB = YB + () - XL;
      }

    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    /*ERROR: name_sym_idx is -1!*/   /*C_NAME*/
    if (XR > () || YT > ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ XRR = XR + () - YT;
          /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      if (XRR <= ()) {
        XR = XRR; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        YT = MISSING_RHS;
      } else { /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
        XR = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        YT = YT + () - XR;
      }

    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
    _imp_leave();
  }
  auto void CLIPDTBLINE(int XL, int YT, int XR, int YB) {
    _imp_enter();
    int XLL;
    int XRR;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/ if (XL < () || YT > ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ XLL = XL + YT - ();
          /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      if (XLL >= ()) {
        XL = XLL; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        YT = MISSING_RHS;
      } else { /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
        XL = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        YT = YT + XL - ();
      }

    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    /*ERROR: name_sym_idx is -1!*/   /*C_NAME*/
    if (XR > () || YB < ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ XRR = XR + YB - ();
          /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      if (XRR <= ()) {
        XR = XRR; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        YB = MISSING_RHS;
      } else { /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
        XR = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        YB = YB + XR - ();
      }

    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
    _imp_leave();
  }
  auto void OUTLINE(int XL, int YB, int XR, int YT) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/   /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/   /*C_NAME*/
    ;
    _imp_leave();
  }
  auto void CLIPOUTLINE(int XL, int YB, int XR, int YT) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (YB >= ())
      CLIPHLINE(XL, XR, YB); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (XR <= ())
      CLIPVLINE(XR, YB, YT); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (YT <= ())
      CLIPHLINE(XL, XR, YT); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (XL >= ()) CLIPVLINE(XL, YB, YT);
    _imp_leave();
  }
  auto void DRAWWIREX(int LAYER, int GX, int GY) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    CLIPFILL(GRIDX[GX - 1] - SCALE, GRIDY[GY] - SCALE, GRIDX[GX] + SCALE,
             GRIDY[GY] + SCALE);
    _imp_leave();
  }
  auto void ERASEWIREX(int LAYER, int GX, int GY) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    CLIPFILL(GRIDX[GX - 1] - SCALE, GRIDY[GY] - SCALE, GRIDX[GX] + SCALE,
             GRIDY[GY] + SCALE);
    REDRAWGRIDPOINT(GX - 1, GY);
    REDRAWGRIDPOINT(GX, GY);
    _imp_leave();
  }
  auto void DRAWWIREY(int LAYER, int GX, int GY) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    CLIPFILL(GRIDX[GX] - SCALE, GRIDY[GY - 1] - SCALE, GRIDX[GX] + SCALE,
             GRIDY[GY] + SCALE);
    _imp_leave();
  }
  auto void ERASEWIREY(int LAYER, int GX, int GY) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    CLIPFILL(GRIDX[GX] - SCALE, GRIDY[GY - 1] - SCALE, GRIDX[GX] + SCALE,
             GRIDY[GY] + SCALE);
    REDRAWGRIDPOINT(GX, GY - 1);
    REDRAWGRIDPOINT(GX, GY);
    _imp_leave();
  }
  auto void DRAWTRANX(int GX, int GY) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/  /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    ;
    CLIPFILL(GRIDX[GX] - SCALE3, GRIDY[GY] - SCALE, GRIDX[GX] + SCALE3,
             GRIDY[GY] + SCALE);
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/   /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    CLIPFILL(GRIDX[GX] - SCALE, GRIDY[GY] - SCALE3, GRIDX[GX] + SCALE,
             GRIDY[GY] + SCALE3);
    _imp_leave();
  }
  auto void DRAWTRANY(int GX, int GY) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/  /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    ;
    CLIPFILL(GRIDX[GX] - SCALE, GRIDY[GY] - 3 * SCALE, GRIDX[GX] + SCALE,
             GRIDY[GY] + 3 * SCALE);
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/   /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    CLIPFILL(GRIDX[GX] - 3 * SCALE, GRIDY[GY] - SCALE, GRIDX[GX] + 3 * SCALE,
             GRIDY[GY] + SCALE);
    _imp_leave();
  }
  auto void DRAWCONTACT(int GX, int GY) {
    _imp_enter();
    int XM;
    int XP;
    int YM;
    int YP;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/  /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    ;
    XM = GRIDX[GX] - SCALE2;
    XP = XM + SCALE4;
    YM = GRIDY[GY] - SCALE2;
    YP = YM + SCALE4;
    CLIPHLINE(XM, XP, YM);
    CLIPVLINE(XP, YM, YP);
    CLIPHLINE(XM, XP, YP);
    CLIPVLINE(XM, YM, YP);
    CLIPDBTLINE(XM, YM, XP, YP);
    CLIPDTBLINE(XM, YP, XP, YM);
    _imp_leave();
  }
  auto void DRAWSUBCON(int GX, int GY) {
    _imp_enter();
    int X;
    int Y;
    int XM;
    int XP;
    int YM;
    int YP;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/  /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    ;
    X = GRIDX[GX];
    XM = X - SCALE2;
    XP = XM + SCALE4;
    Y = GRIDY[GY];
    YM = Y - SCALE2;
    YP = YM + SCALE4;
    CLIPHLINE(XM, XP, YM);
    CLIPVLINE(XP, YM, YP);
    CLIPHLINE(XM, XP, YP);
    CLIPVLINE(XM, YM, YP);
    CLIPVLINE(X, YM, YP);
    CLIPHLINE(XM, XP, Y);
    _imp_leave();
  }
  auto void DRAWPWELL(int GX, int GY) {
    _imp_enter();
    int X;
    int Y;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/  /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    ;
    X = GRIDX[GX];
    Y = GRIDY[GY];
    CLIPFILL(X - SCALE3, Y - SCALE3, X + SCALE3, Y + SCALE3);
    _imp_leave();
  }
  auto void REDRAWDESIGN(void) {
    _imp_enter();
    int X;
    int Y;
    for (X = GRIDXL; X != GRIDXR + 1; X += 1) {
      for (Y = GRIDYB; Y != GRIDYT + 1; Y += 1) {
        REDRAWPRIM(X, Y);
        REDRAWWIREX(X, Y);
        REDRAWWIREY(X, Y);
      }
    }
    for (Y = GRIDYB; Y != GRIDYT + 1; Y += 1) REDRAWWIREX(GRIDXR + 1, Y);
    for (X = GRIDXL; X != GRIDXR + 1; X += 1) REDRAWWIREY(X, GRIDYT + 1);
    _imp_leave();
  }
  auto void REDRAWGRIDPOINT(int GX, int GY) {
    _imp_enter();
    REDRAWPRIM(GX, GY);
    REDRAWWIREX(GX, GY);
    REDRAWWIREX(GX + 1, GY);
    REDRAWWIREY(GX, GY);
    REDRAWWIREY(GX, GY + 1);
    _imp_leave();
  }
  auto void REDRAWPRIM(int GX, int GY) {
    _imp_enter();
    int P;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ P = MISSING_RHS;
    if (P != 0) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((P & ()) != 0)
        DRAWPWELL(GX, GY); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      if ((P & ()) != 0)
        DRAWTRANX(GX, GY);
      else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((P & ()) != 0)
        DRAWTRANY(GX, GY);
      else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((P & ()) != 0)
        DRAWCONTACT(GX, GY);
      else /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if ((P & ()) != 0)
        DRAWSUBCON(GX, GY);
    }
    _imp_leave();
  }
  auto void REDRAWWIREX(int GX, int GY) {
    _imp_enter();
    int WIRES;
    int DRAWN;
    int ERASED;
    int LAYERS;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ WIRES = MISSING_RHS;
    DRAWN = WIRES & 0xF;
    ERASED = WIRES >> 4;
    LAYERS = DRAWN & (~ERASED);
    if (LAYERS != 0) DRAWWIREX(LAYERS, GX, GY);
    _imp_leave();
  }
  auto void REDRAWWIREY(int GX, int GY) {
    _imp_enter();
    int LAYERS;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ LAYERS = MISSING_RHS;
    if (LAYERS != 0) DRAWWIREY(LAYERS, GX, GY);
    _imp_leave();
  }
  auto void PAN(int XI, int YI) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;    /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/   /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ;
    WGRIDXL = WGRIDXL + XI;
    WGRIDXR = WGRIDXR + XI;
    WGRIDYB = WGRIDYB + YI;
    WGRIDYT = WGRIDYT + YI;
    REDRAWDESIGN();
    _imp_leave();
  }
  auto void ZOOMIN(void) {
    _imp_enter();
    SETUPNEWSCALE(SCALE + 1);
    _imp_leave();
  }
  auto void ZOOMOUT(void) {
    _imp_enter();
    if (SCALE != 1) SETUPNEWSCALE(SCALE - 1);
    _imp_leave();
  }
  auto void DRAWMENU(void) {
    _imp_enter();
    int X;
    int Y;
    int XL;
    int XR;
    int YB;
    int YT;
    ERASECURSOR(); /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                     /*C_NAME*/
    MENUXL = () - (); /*ERROR: name_sym_idx is -1!*/       /*C_NAME*/
    MENUXR = MENUXL + (); /*ERROR: name_sym_idx is -1!*/   /*C_NAME*/
    if (MENUXL < ()) { /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
      MENUXL = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      MENUXR = MENUXL + ();
    } /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    if (MENUXR > ()) { /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
      MENUXR = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      MENUXL = MENUXR - ();
    } /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
    MENUYB = () - (); /*ERROR: name_sym_idx is -1!*/       /*C_NAME*/
    MENUYT = MENUYB + (); /*ERROR: name_sym_idx is -1!*/   /*C_NAME*/
    if (MENUYB < ()) { /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
      MENUYB = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      MENUYT = MENUYB + ();
    } /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    if (MENUYT > ()) { /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
      MENUYT = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      MENUYB = MENUYT - ();
    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ;
    OUTLINE(MENUXL, MENUYB, MENUXR, MENUYT);      /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
    XL = X - (); /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    XR = X + (); /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
    YB = Y - (); /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    YT = Y + (); /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ;
    OUTLINE(XL, YB, XR, YT); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                        /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                        /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    XL = X - (); /*ERROR: name_sym_idx is -1!*/             /*C_NAME*/
    XR = X + (); /*ERROR: name_sym_idx is -1!*/             /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    YB = Y - (); /*ERROR: name_sym_idx is -1!*/             /*C_NAME*/
    YT = Y + (); /*ERROR: name_sym_idx is -1!*/             /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                        /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
    ;
    OUTLINE(XL, YB, XR, YT); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                        /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                        /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                        /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                      /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR:
                                                                name_sym_idx is
                                                                -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                         /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/                       /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/          /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    OUTLINE(X - (), Y - (), X + (), Y + ());
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    OUTLINE(X - (), Y - (), X + (), Y + ());      /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    X = () + MENUXL; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    Y = () + MENUYB; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/   /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
    OUTLINE(() + MENUXL, () + MENUYB, () + MENUXL, () + MENUYB);
    _imp_leave();
  }
  auto void ERASEMENU(void) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ;
    REDRAWDESIGN(); /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
    CURGX = () / SCALE6; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CURGY = () / SCALE6;
    DRAWCURSOR();
    _imp_leave();
  }
  auto void DRAWCURSOR(void) {
    _imp_enter();
    int X;
    int Y;
    int XL;
    int YB;
    int XR;
    int YT;
    int LAYER;
    static void *CUR /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/[() - 1 + 1] = {
        /* These need to be filled in from associated code block */};
    goto *CUR[CURTYPE];
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/
        :;
         /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    LAYER = MISSING_RHS;
    goto WIRECURSOR;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/
        :;
         /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    LAYER = MISSING_RHS;
    goto WIRECURSOR;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/
        :;
         /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    LAYER = MISSING_RHS;
    goto WIRECURSOR;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/
        :;
         /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    LAYER = MISSING_RHS;
    goto WIRECURSOR;
  WIRECURSOR:;
    X = GRIDX[CURGX];
    XL = X - SCALE;
    XR = X + SCALE;
    Y = GRIDY[CURGY];
    YB = Y - SCALE;
    YT = Y + SCALE; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/               /*C_NAME*/
    ;
    CLIPFILL(XL, YB, XR, YT);
    goto DRAWOUT;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
    DRAWCONTACT(CURGX, CURGY);
    goto DRAWOUT;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
    DRAWSUBCON(CURGX, CURGY);
    goto DRAWOUT;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
    DRAWTRANX(CURGX, CURGY);
    goto DRAWOUT;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
    DRAWTRANY(CURGX, CURGY);
    goto DRAWOUT;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
    DRAWPWELL(CURGX, CURGY);
    DRAWTRANX(CURGX, CURGY);
    goto DRAWOUT;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
    DRAWPWELL(CURGX, CURGY);
    DRAWTRANY(CURGX, CURGY);
    goto DRAWOUT;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
    DRAWPWELL(CURGX, CURGY);
    goto DRAWOUT;
    CUR_ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*non-const?*/:;
    X = GRIDX[CURGX];
    XL = X - SCALE2;
    XR = X + SCALE2;
    Y = GRIDY[CURGY];
    YB = Y - SCALE2;
    YT = Y + SCALE2; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/              /*C_NAME*/
    ;
    CLIPOUTLINE(XL, YB, XR, YT);
    goto DRAWOUT;
  DRAWOUT:;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/  /*ERROR: name_sym_idx is -1!*/
    /*C_NAME*/; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/         /*C_NAME*/
    ;
    X = GRIDX[CURGX];
    Y = GRIDY[CURGY]; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
        /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    CLIPOUTLINE(X + () * SCALE, Y + () * SCALE, X + () * SCALE, Y + () * SCALE);
    _imp_leave();
  }
  auto void ERASECURSOR(void) {
    _imp_enter();
    int X;
    int Y;
    X = GRIDX[CURGX];
    Y = GRIDY[CURGY]; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ; /*ERROR: name_sym_idx is -1!*/                 /*C_NAME*/
        /*ERROR: name_sym_idx is -1!*/               /*C_NAME*/
    ;
    CLIPFILL(X - SCALE3, Y - SCALE3, X + SCALE3, Y + SCALE3);
    REDRAWGRIDPOINT(CURGX, CURGY);
    _imp_leave();
  }
  auto void FLASH(void) {
    _imp_enter();
    int I;
    CMAP[0] = FLASHCOLOUR; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    for (I = 1; I != 20000 + 1; I += 1) {
    }
    CMAP[0] = BACKGROUNDCOLOUR; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    ;
    _imp_leave();
  }

  _imp_leave();
  exit(0);
  return (0);
}
