#include <perms.h>
void Stopper(int Op);
void Leveltwotest(void);
typedef struct Era {
  int A;
  int B[4 /*1:4*/];
  _imp_string C;
} Era;
typedef struct Pointer {
  Pointer *Link;
  int A;
} Pointer;
extern int Eint;
int Eia[6 /*10:15*/];
Era Erec[3 /*1:3*/];
Pointer *Eptr2;
void Levelonetest(void) {
  int J;
  int K;
  int Error;
  Error = 0;
  if (Eint != 100) Error++;
  if (Eia[12] != 13) Error++;
  if (Erec[2].A) Error++;
  if (!Error) {
    Printstring(_imp_str_literal("Pass: External data accessed "));
    Printstring(_imp_str_literal("correctly from module MTWO."));
    Newline();
    Eint = -255;
    for (J = 10; J <= 15; J++) Eia[J] = J;
    for (J = 1; J <= 3; J++) {
      Erec[J].A = J;
      for (K = 1; K <= 4; K++) Erec[J].B = J * 10 + K;
      Erec[J].C = Tostring('0' + J);
    }
    Leveltwotest();
  } else {
    Printstring(_imp_str_literal("FAIL: Trouble accessing external data "));
    Printstring(_imp_str_literal("in module MTWO"));
    Newline();
  }
}
void Steppingstone2(int Go) {
  if (_imp_on_event(13)) {
    if (Go == 1 && Event.Sub == 117) {
      Printstring(
          _imp_str_literal("Pass: an external event trapped by a seperate "));
      Printstring(_imp_str_literal("external routine."));
      Newline();
      return;
    }
  }
  Stopper(Go);
}
