

#include "BUILTIN.h"
extern OBJ _AFile_23(OBJ);extern OBJ __AFile_23;
extern OBJ _AFile_25(OBJ,OBJ);extern OBJ __AFile_25;
extern OBJ _AFile_26(OBJ,OBJ);extern OBJ __AFile_26;
extern OBJ _AFile_28(OBJ,OBJ);extern OBJ __AFile_28;

#include "Nat.h"

#include "Char.h"

#include "Int.h"

#include "Real.h"
extern OBJ _ACom_22(OBJ);extern OBJ __ACom_22;
extern OBJ _ACom_23(OBJ);extern OBJ __ACom_23;
extern OBJ _APair_4(OBJ);extern OBJ __APair_4;
extern OBJ _APair_5(OBJ);extern OBJ __APair_5;

#include "Denotation.h"
extern OBJ _AComCompose_3(OBJ,OBJ);extern OBJ __AComCompose_3;
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _AComCompose_6(OBJ,OBJ);extern OBJ __AComCompose_6;
extern OBJ __AStream_3;
extern OBJ __AStream_4;
extern TUP2 _AStringScan_1(OBJ);extern OBJ __AStringScan_1;
extern TUP2 _AStringScan_2(OBJ);extern OBJ __AStringScan_2;
extern TUP2 _AStringScan_3(OBJ);extern OBJ __AStringScan_3;
extern TUP2 _AStringScan_4(OBJ);extern OBJ __AStringScan_4;
extern TUP2 _AStringScan_5(OBJ);extern OBJ __AStringScan_5;
extern OBJ _AStringConv_1(OBJ);extern OBJ __AStringConv_1;
extern TUP2 _ASeqMapEnv_4(OBJ,OBJ,OBJ);extern OBJ __ASeqMapEnv_4;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;

#include "Array.h"
extern OBJ _AArrayConv_3(OBJ);extern OBJ __AArrayConv_3;
extern OBJ __APrintableChar_93;
extern OBJ __ALineFormat_1;
extern OBJ _ALineFormat_17(OBJ,OBJ);extern OBJ __ALineFormat_17;
extern OBJ __ABoolConv_2;
extern OBJ __ABoolConv_3;

#include "NatConv.h"

#include "IntConv.h"

#include "RealConv.h"
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;

#include "CharConv.h"
extern OBJ _ABasicIO_1(OBJ);OBJ __ABasicIO_1; /* ask */
extern OBJ _ABasicIO_2(OBJ);OBJ __ABasicIO_2; /* ask,1 */
extern OBJ _ABasicIO_3(OBJ);OBJ __ABasicIO_3; /* ask,2 */
extern OBJ _ABasicIO_4(OBJ);OBJ __ABasicIO_4; /* ask,3 */
extern OBJ _ABasicIO_5(OBJ);OBJ __ABasicIO_5; /* ask,4 */
extern OBJ _ABasicIO_6(OBJ);OBJ __ABasicIO_6; /* ask,5 */
extern OBJ _ABasicIO_7(OBJ);OBJ __ABasicIO_7; /* write */
extern OBJ _ABasicIO_8(OBJ);OBJ __ABasicIO_8; /* write,1 */
extern OBJ _ABasicIO_9(OBJ);OBJ __ABasicIO_9; /* write,2 */
extern OBJ _ABasicIO_10(OBJ);OBJ __ABasicIO_10; /* write,3 */
extern OBJ _ABasicIO_11(OBJ);OBJ __ABasicIO_11; /* write,4 */
extern OBJ _ABasicIO_12(OBJ);OBJ __ABasicIO_12; /* write,5 */
extern OBJ _ABasicIO_13(OBJ);OBJ __ABasicIO_13; /* writeLine */
extern OBJ _ABasicIO_14(OBJ);OBJ __ABasicIO_14; /* writeLine,1 */
extern OBJ _ABasicIO_15(OBJ);OBJ __ABasicIO_15; /* writeLine,2 */
extern OBJ _ABasicIO_16(OBJ);OBJ __ABasicIO_16; /* writeLine,3 */
extern OBJ _ABasicIO_17(OBJ);OBJ __ABasicIO_17; /* writeLine,4 */
extern OBJ _ABasicIO_18(OBJ);OBJ __ABasicIO_18; /* writeLine,5 */
extern OBJ _ABasicIO_19(OBJ,OBJ);OBJ __ABasicIO_19; /* menu */
OBJ __ABasicIO_20; /* beep */
extern OBJ _ABasicIO_21(OBJ);OBJ __ABasicIO_21; /* repeat */
extern OBJ _ABasicIO_22(OBJ,OBJ);OBJ __ABasicIO_22; /* repeatAsk */
extern OBJ _ABasicIO_23(OBJ,OBJ);OBJ __ABasicIO_23; /* imenu */
extern OBJ _ABasicIO_24(OBJ);OBJ __ABasicIO_24; /* ask'24 */
OBJ __ABasicIO_25; /* ask'25 */
extern OBJ _ABasicIO_26(OBJ);OBJ __ABasicIO_26; /* ask'26 */
OBJ __ABasicIO_27; /* ask'27 */
extern OBJ _ABasicIO_28(OBJ);OBJ __ABasicIO_28; /* ask'28 */
extern OBJ _ABasicIO_29(OBJ,OBJ);OBJ __ABasicIO_29; /* ask'29 */
extern OBJ _ABasicIO_30(OBJ);OBJ __ABasicIO_30; /* ask,1'30 */
OBJ __ABasicIO_31; /* ask,1'31 */
extern OBJ _ABasicIO_32(OBJ);OBJ __ABasicIO_32; /* ask,1'32 */
extern OBJ _ABasicIO_33(OBJ);OBJ __ABasicIO_33; /* ask,1'33 */
extern OBJ _ABasicIO_34(OBJ,OBJ);OBJ __ABasicIO_34; /* ask,1'34 */
extern OBJ _ABasicIO_35(OBJ);OBJ __ABasicIO_35; /* ask,2'35 */
OBJ __ABasicIO_36; /* ask,2'36 */
extern OBJ _ABasicIO_37(OBJ);OBJ __ABasicIO_37; /* ask,2'37 */
extern OBJ _ABasicIO_38(OBJ);OBJ __ABasicIO_38; /* ask,2'38 */
extern OBJ _ABasicIO_39(OBJ,OBJ);OBJ __ABasicIO_39; /* ask,2'39 */
extern OBJ _ABasicIO_40(OBJ);OBJ __ABasicIO_40; /* ask,3'40 */
OBJ __ABasicIO_41; /* ask,3'41 */
extern OBJ _ABasicIO_42(OBJ);OBJ __ABasicIO_42; /* ask,3'42 */
extern OBJ _ABasicIO_43(OBJ);OBJ __ABasicIO_43; /* ask,3'43 */
extern OBJ _ABasicIO_44(OBJ,OBJ);OBJ __ABasicIO_44; /* ask,3'44 */
extern OBJ _ABasicIO_45(OBJ);OBJ __ABasicIO_45; /* ask,4'45 */
OBJ __ABasicIO_46; /* ask,4'46 */
extern OBJ _ABasicIO_47(OBJ);OBJ __ABasicIO_47; /* ask,4'47 */
extern OBJ _ABasicIO_48(OBJ);OBJ __ABasicIO_48; /* ask,4'48 */
extern OBJ _ABasicIO_49(OBJ,OBJ);OBJ __ABasicIO_49; /* ask,4'49 */
extern OBJ _ABasicIO_50(OBJ);OBJ __ABasicIO_50; /* ask,5'50 */
extern OBJ _ABasicIO_51(OBJ);OBJ __ABasicIO_51; /* ask,5'51 */
extern OBJ _ABasicIO_52(OBJ);OBJ __ABasicIO_52; /* ask,5'52 */
extern OBJ _ABasicIO_53(OBJ);OBJ __ABasicIO_53; /* repeat'53 */
extern OBJ _ABasicIO_54(OBJ,OBJ);OBJ __ABasicIO_54; /* repeat'54 */
OBJ __ABasicIO_55; /* imenu'55 */
extern OBJ _ABasicIO_56(OBJ);OBJ __ABasicIO_56; /* imenu'56 */
OBJ __ABasicIO_57; /* imenu'57 */
extern OBJ _ABasicIO_58(OBJ);OBJ __ABasicIO_58; /* imenu'58 */
extern OBJ _ABasicIO_59(OBJ,OBJ,OBJ);OBJ __ABasicIO_59; /* imenu'59 */
extern OBJ _ABasicIO_60(OBJ);OBJ __ABasicIO_60; /* menu'60 */
OBJ __ABasicIO_61; /* menu'61 */
extern OBJ _ABasicIO_62(OBJ);OBJ __ABasicIO_62; /* menu'62 */
OBJ __ABasicIO_63; /* menu'63 */
extern TUP2 _ABasicIO_64(OBJ,OBJ);OBJ __ABasicIO_64; /* menu'64 */
OBJ __ABasicIO_65; /* menu'65 */
OBJ __ABasicIO_66; /* repeatAsk'66 */
extern OBJ _ABasicIO_67(OBJ);OBJ __ABasicIO_67; /* repeatAsk'67 */
extern OBJ _ABasicIO_68(OBJ,OBJ,OBJ);OBJ __ABasicIO_68; /* repeatAsk'68 */
extern OBJ _ABasicIO_69(OBJ);OBJ __ABasicIO_69; /* repeatAsk'69 */
extern OBJ _ABasicIO_70(OBJ,OBJ,OBJ);OBJ __ABasicIO_70; /* repeatAsk'70 */
OBJ __ABasicIO_71; /* beep'71 */

extern OBJ _ABasicIO_1(OBJ x1) /* ask */
{OBJ r;
 CPCLS(__ABasicIO_24,1);
 CPCLS(__ABasicIO_29,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;OBJ x4;OBJ x5;
  x2=_AFile_26(__AStream_4,x1);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_24,1))(__ABasicIO_24,__ABUILTIN_20);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_29,1))(__ABasicIO_29,x1);
  x5=_AComCompose_5(x3,x4);
  r=_AComCompose_6(x2,x5);}
 return r;}

extern OBJ _ABasicIO_2(OBJ x1) /* ask,1 */
{OBJ r;
 CPCLS(__ABasicIO_30,1);
 CPCLS(__ABasicIO_34,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;OBJ x4;OBJ x5;
  x2=_AFile_26(__AStream_4,x1);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_30,1))(__ABasicIO_30,__ABUILTIN_20);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_34,1))(__ABasicIO_34,x1);
  x5=_AComCompose_5(x3,x4);
  r=_AComCompose_6(x2,x5);}
 return r;}

extern OBJ _ABasicIO_3(OBJ x1) /* ask,2 */
{OBJ r;
 CPCLS(__ABasicIO_35,1);
 CPCLS(__ABasicIO_39,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;OBJ x4;OBJ x5;
  x2=_AFile_26(__AStream_4,x1);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_35,1))(__ABasicIO_35,__ABUILTIN_20);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_39,1))(__ABasicIO_39,x1);
  x5=_AComCompose_5(x3,x4);
  r=_AComCompose_6(x2,x5);}
 return r;}

extern OBJ _ABasicIO_4(OBJ x1) /* ask,3 */
{OBJ r;
 CPCLS(__ABasicIO_40,1);
 CPCLS(__ABasicIO_44,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;OBJ x4;OBJ x5;
  x2=_AFile_26(__AStream_4,x1);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_40,1))(__ABasicIO_40,__ABUILTIN_20);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_44,1))(__ABasicIO_44,x1);
  x5=_AComCompose_5(x3,x4);
  r=_AComCompose_6(x2,x5);}
 return r;}

extern OBJ _ABasicIO_5(OBJ x1) /* ask,4 */
{OBJ r;
 CPCLS(__ABasicIO_45,1);
 CPCLS(__ABasicIO_49,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;OBJ x4;OBJ x5;
  x2=_AFile_26(__AStream_4,x1);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_45,1))(__ABasicIO_45,__ABUILTIN_20);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_49,1))(__ABasicIO_49,x1);
  x5=_AComCompose_5(x3,x4);
  r=_AComCompose_6(x2,x5);}
 return r;}

extern OBJ _ABasicIO_6(OBJ x1) /* ask,5 */
{OBJ r;
 CPCLS(__ABasicIO_52,1);
 {OBJ x2;OBJ x4;
  x2=_AFile_26(__AStream_4,x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_52,1))(__ABasicIO_52,__ABUILTIN_20);
  r=_AComCompose_6(x2,x4);}
 return r;}

extern OBJ _ABasicIO_7(OBJ x1) /* write */
{OBJ r;
 r=_AFile_26(__AStream_4,x1);
 return r;}

extern OBJ _ABasicIO_8(OBJ x1) /* write,1 */
{OBJ r;
 {OBJ x2;
  if(ISTGPRM(x1,1)){
   CPPRD(__ABoolConv_2,1);
   x2=__ABoolConv_2;
  }else{
   CPPRD(__ABoolConv_3,1);
   x2=__ABoolConv_3;}
  r=_AFile_26(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_9(OBJ x1) /* write,2 */
{OBJ r;
 {OBJ x2;
  ANatConv_1(x1,x2);
  r=_AFile_26(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_10(OBJ x1) /* write,3 */
{OBJ r;
 {OBJ x2;
  AIntConv_1(x1,x2);
  r=_AFile_26(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_11(OBJ x1) /* write,4 */
{OBJ r;
 {OBJ x2;
  ARealConv_2(x1,__ANat_23,x2);
  r=_AFile_26(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_12(OBJ x1) /* write,5 */
{OBJ r;
 r=_AFile_25(__AStream_4,x1);
 return r;}

extern OBJ _ABasicIO_13(OBJ x1) /* writeLine */
{OBJ r;
 r=_AFile_28(__AStream_4,x1);
 return r;}

extern OBJ _ABasicIO_14(OBJ x1) /* writeLine,1 */
{OBJ r;
 {OBJ x2;
  if(ISTGPRM(x1,1)){
   CPPRD(__ABoolConv_2,1);
   x2=__ABoolConv_2;
  }else{
   CPPRD(__ABoolConv_3,1);
   x2=__ABoolConv_3;}
  r=_AFile_28(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_15(OBJ x1) /* writeLine,2 */
{OBJ r;
 {OBJ x2;
  ANatConv_1(x1,x2);
  r=_AFile_28(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_16(OBJ x1) /* writeLine,3 */
{OBJ r;
 {OBJ x2;
  AIntConv_1(x1,x2);
  r=_AFile_28(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_17(OBJ x1) /* writeLine,4 */
{OBJ r;
 {OBJ x2;
  ARealConv_2(x1,__ANat_23,x2);
  r=_AFile_28(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_18(OBJ x1) /* writeLine,5 */
{OBJ r;
 {OBJ x2;
  ADenotation_1(__ANat_8,x1,x2);
  r=_AFile_28(__AStream_4,x2);}
 return r;}

extern OBJ _ABasicIO_19(OBJ x1,OBJ x2) /* menu */
{OBJ r;
 CPCLS(__ABasicIO_54,1);
 CPCLS(__ABasicIO_60,1);
 CPCLS(__ABasicIO_62,1);
 CPCLS(__ABasicIO_64,1);
 CPPRD(__ABasicIO_65,1);
 CPCLS(__APair_4,1);
 CPCLS(__APair_5,1);
 CPPRD(__ADenotation_3,1);
 COPY(x2,1);
 {OBJ x3;OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;TUP2 x11;OBJ x14;OBJ x15;OBJ x16;OBJ x17;OBJ x18;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_60,1))(__ABasicIO_60,__ABUILTIN_20);
  x4=_ASeqMap_3(__APair_4,x2);
  x5=_ALineFormat_17(__ALineFormat_1,x1);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_62,1))(__ABasicIO_62,__ABUILTIN_20);
  x7=_ASeqMap_3(__APair_5,x2);
  PRD1(2,x8);FLD1(x8,1)=x3;FLD1(x8,2)=x4;
  x9=_AArrayConv_3(x8);
  x11=_ASeqMapEnv_4(__ABasicIO_64,__ANat_8,x7);
  x14=_ASeqReduce_3(x6,__ADenotation_3,x11.c2);
  ADenotation_4(x14,__ABasicIO_65,x15);
  ADenotation_4(x5,x15,x16);
  x17=_ABasicIO_23(x16,x9);
  CPPRD(x17,1);
  x18=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_54,1))(__ABasicIO_54,x17);
  r=_AComCompose_3(x17,x18);}
 return r;}

extern OBJ _ABasicIO_21(OBJ x1) /* repeat */
{OBJ r;
 CPCLS(__ABasicIO_54,1);
 CPPRD(x1,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_54,1))(__ABasicIO_54,x1);
  r=_AComCompose_3(x1,x2);}
 return r;}

extern OBJ _ABasicIO_22(OBJ x1,OBJ x2) /* repeatAsk */
{OBJ r;
 CPCLS(__ABasicIO_70,1);
 CPPRD(x2,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ABasicIO_70,2))(__ABasicIO_70,x1,x2);
  r=_AComCompose_3(x2,x3);}
 return r;}

extern OBJ _ABasicIO_23(OBJ x1,OBJ x2) /* imenu */
{OBJ r;
 CPCLS(__ABasicIO_56,1);
 CPCLS(__ABasicIO_59,1);
 CPPRD(x1,1);
 {OBJ x3;OBJ x4;OBJ x5;OBJ x6;
  x3=_AFile_26(__AStream_4,x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_56,1))(__ABasicIO_56,__ABUILTIN_20);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ABasicIO_59,2))(__ABasicIO_59,x1,x2);
  x6=_AComCompose_5(x4,x5);
  r=_AComCompose_6(x3,x6);}
 return r;}

extern OBJ _ABasicIO_24(OBJ x1) /* ask'24 */
{OBJ r;
 r=_AFile_23(__AStream_3);
 return r;}

extern OBJ _ABasicIO_26(OBJ x1) /* ask'26 */
{OBJ r;
 CPPRD(__ABasicIO_25,1);
 r=_AFile_28(__AStream_4,__ABasicIO_25);
 return r;}

extern OBJ _ABasicIO_28(OBJ x1) /* ask'28 */
{OBJ r;
 CPPRD(__ABasicIO_27,1);
 r=_AFile_28(__AStream_4,__ABasicIO_27);
 return r;}

extern OBJ _ABasicIO_29(OBJ x1,OBJ x2) /* ask'29 */
{OBJ r;
 {TUP2 x4;
  x4=_AStringScan_5(x2);
  if(ISPRM(x4.c1)){
   FREE(x4.c2,1);
   CPPRD(__ABasicIO_20,1);
   CPCLS(__ABasicIO_26,1);
   {OBJ x28;OBJ x29;OBJ x30;
    x28=_ABasicIO_1(x1);
    x29=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_26,1))(__ABasicIO_26,__ABUILTIN_20);
    x30=_AComCompose_6(x29,x28);
    r=_AComCompose_6(__ABasicIO_20,x30);}
  }else{
   {OBJ x31=FLD1(x4.c1,1);
    if(EXPRD(x4.c1,1)){
     DSPRDF(x4.c1);
    }else{
     FRPRD(x4.c1,1);}
    if(ISPRM(x4.c2)){
     FRPRD(x1,1);
     r=_ACom_23(x31);
    }else{
     if(EXPRD(x4.c2,1)){
      DSPRD(x4.c2);
     }else{
      DCPRD(x4.c2,1);}
     CPPRD(__ABasicIO_20,1);
     CPCLS(__ABasicIO_28,1);
     {OBJ x35;OBJ x36;OBJ x37;
      x35=_ABasicIO_1(x1);
      x36=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_28,1))(__ABasicIO_28,__ABUILTIN_20);
      x37=_AComCompose_6(x36,x35);
      r=_AComCompose_6(__ABasicIO_20,x37);}}}}}
 return r;}

extern OBJ _ABasicIO_30(OBJ x1) /* ask,1'30 */
{OBJ r;
 r=_AFile_23(__AStream_3);
 return r;}

extern OBJ _ABasicIO_32(OBJ x1) /* ask,1'32 */
{OBJ r;
 CPPRD(__ABasicIO_31,1);
 r=_AFile_28(__AStream_4,__ABasicIO_31);
 return r;}

extern OBJ _ABasicIO_33(OBJ x1) /* ask,1'33 */
{OBJ r;
 CPPRD(__ABasicIO_27,1);
 r=_AFile_28(__AStream_4,__ABasicIO_27);
 return r;}

extern OBJ _ABasicIO_34(OBJ x1,OBJ x2) /* ask,1'34 */
{OBJ r;
 {TUP2 x4;
  x4=_AStringScan_1(x2);
  if(ISPRM(x4.c1)){
   FREE(x4.c2,1);
   CPPRD(__ABasicIO_20,1);
   CPCLS(__ABasicIO_32,1);
   {OBJ x28;OBJ x29;OBJ x30;
    x28=_ABasicIO_2(x1);
    x29=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_32,1))(__ABasicIO_32,__ABUILTIN_20);
    x30=_AComCompose_6(x29,x28);
    r=_AComCompose_6(__ABasicIO_20,x30);}
  }else{
   {OBJ x31=FLD1(x4.c1,1);
    if(EXPRD(x4.c1,1)){
     DSPRDF(x4.c1);
    }else{
     FRPRD(x4.c1,1);}
    if(ISPRM(x4.c2)){
     FRPRD(x1,1);
     r=_ACom_23(x31);
    }else{
     if(EXPRD(x4.c2,1)){
      DSPRD(x4.c2);
     }else{
      DCPRD(x4.c2,1);}
     CPPRD(__ABasicIO_20,1);
     CPCLS(__ABasicIO_33,1);
     {OBJ x35;OBJ x36;OBJ x37;
      x35=_ABasicIO_2(x1);
      x36=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_33,1))(__ABasicIO_33,__ABUILTIN_20);
      x37=_AComCompose_6(x36,x35);
      r=_AComCompose_6(__ABasicIO_20,x37);}}}}}
 return r;}

extern OBJ _ABasicIO_35(OBJ x1) /* ask,2'35 */
{OBJ r;
 r=_AFile_23(__AStream_3);
 return r;}

extern OBJ _ABasicIO_37(OBJ x1) /* ask,2'37 */
{OBJ r;
 CPPRD(__ABasicIO_36,1);
 r=_AFile_28(__AStream_4,__ABasicIO_36);
 return r;}

extern OBJ _ABasicIO_38(OBJ x1) /* ask,2'38 */
{OBJ r;
 CPPRD(__ABasicIO_27,1);
 r=_AFile_28(__AStream_4,__ABasicIO_27);
 return r;}

extern OBJ _ABasicIO_39(OBJ x1,OBJ x2) /* ask,2'39 */
{OBJ r;
 {TUP2 x4;
  x4=_AStringScan_2(x2);
  if(ISPRM(x4.c1)){
   FREE(x4.c2,1);
   CPPRD(__ABasicIO_20,1);
   CPCLS(__ABasicIO_37,1);
   {OBJ x28;OBJ x29;OBJ x30;
    x28=_ABasicIO_3(x1);
    x29=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_37,1))(__ABasicIO_37,__ABUILTIN_20);
    x30=_AComCompose_6(x29,x28);
    r=_AComCompose_6(__ABasicIO_20,x30);}
  }else{
   {OBJ x31=FLD1(x4.c1,1);
    if(EXPRD(x4.c1,1)){
     DSPRDF(x4.c1);
    }else{
     FRPRD(x4.c1,1);}
    if(ISPRM(x4.c2)){
     FRPRD(x1,1);
     r=_ACom_23(x31);
    }else{
     if(EXPRD(x4.c2,1)){
      DSPRD(x4.c2);
     }else{
      DCPRD(x4.c2,1);}
     CPPRD(__ABasicIO_20,1);
     CPCLS(__ABasicIO_38,1);
     {OBJ x35;OBJ x36;OBJ x37;
      x35=_ABasicIO_3(x1);
      x36=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_38,1))(__ABasicIO_38,__ABUILTIN_20);
      x37=_AComCompose_6(x36,x35);
      r=_AComCompose_6(__ABasicIO_20,x37);}}}}}
 return r;}

extern OBJ _ABasicIO_40(OBJ x1) /* ask,3'40 */
{OBJ r;
 r=_AFile_23(__AStream_3);
 return r;}

extern OBJ _ABasicIO_42(OBJ x1) /* ask,3'42 */
{OBJ r;
 CPPRD(__ABasicIO_41,1);
 r=_AFile_28(__AStream_4,__ABasicIO_41);
 return r;}

extern OBJ _ABasicIO_43(OBJ x1) /* ask,3'43 */
{OBJ r;
 CPPRD(__ABasicIO_27,1);
 r=_AFile_28(__AStream_4,__ABasicIO_27);
 return r;}

extern OBJ _ABasicIO_44(OBJ x1,OBJ x2) /* ask,3'44 */
{OBJ r;
 {TUP2 x4;
  x4=_AStringScan_3(x2);
  if(ISPRM(x4.c1)){
   FREE(x4.c2,1);
   CPPRD(__ABasicIO_20,1);
   CPCLS(__ABasicIO_42,1);
   {OBJ x28;OBJ x29;OBJ x30;
    x28=_ABasicIO_4(x1);
    x29=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_42,1))(__ABasicIO_42,__ABUILTIN_20);
    x30=_AComCompose_6(x29,x28);
    r=_AComCompose_6(__ABasicIO_20,x30);}
  }else{
   {OBJ x31=FLD1(x4.c1,1);
    if(EXPRD(x4.c1,1)){
     DSPRDF(x4.c1);
    }else{
     CPPRD(x31,1);
     FRPRD(x4.c1,1);}
    if(ISPRM(x4.c2)){
     FRPRD(x1,1);
     r=_ACom_23(x31);
    }else{
     if(EXPRD(x4.c2,1)){
      DSPRD(x4.c2);
     }else{
      DCPRD(x4.c2,1);}
     FRPRD(x31,1);
     CPPRD(__ABasicIO_20,1);
     CPCLS(__ABasicIO_43,1);
     {OBJ x35;OBJ x36;OBJ x37;
      x35=_ABasicIO_4(x1);
      x36=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_43,1))(__ABasicIO_43,__ABUILTIN_20);
      x37=_AComCompose_6(x36,x35);
      r=_AComCompose_6(__ABasicIO_20,x37);}}}}}
 return r;}

extern OBJ _ABasicIO_45(OBJ x1) /* ask,4'45 */
{OBJ r;
 r=_AFile_23(__AStream_3);
 return r;}

extern OBJ _ABasicIO_47(OBJ x1) /* ask,4'47 */
{OBJ r;
 CPPRD(__ABasicIO_46,1);
 r=_AFile_28(__AStream_4,__ABasicIO_46);
 return r;}

extern OBJ _ABasicIO_48(OBJ x1) /* ask,4'48 */
{OBJ r;
 CPPRD(__ABasicIO_27,1);
 r=_AFile_28(__AStream_4,__ABasicIO_27);
 return r;}

extern OBJ _ABasicIO_49(OBJ x1,OBJ x2) /* ask,4'49 */
{OBJ r;
 {TUP2 x4;
  x4=_AStringScan_4(x2);
  if(ISPRM(x4.c1)){
   FREE(x4.c2,1);
   CPPRD(__ABasicIO_20,1);
   CPCLS(__ABasicIO_47,1);
   {OBJ x28;OBJ x29;OBJ x30;
    x28=_ABasicIO_5(x1);
    x29=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_47,1))(__ABasicIO_47,__ABUILTIN_20);
    x30=_AComCompose_6(x29,x28);
    r=_AComCompose_6(__ABasicIO_20,x30);}
  }else{
   {OBJ x31=FLD1(x4.c1,1);
    if(EXPRD(x4.c1,1)){
     DSPRDF(x4.c1);
    }else{
     FRPRD(x4.c1,1);}
    if(ISPRM(x4.c2)){
     FRPRD(x1,1);
     r=_ACom_23(x31);
    }else{
     if(EXPRD(x4.c2,1)){
      DSPRD(x4.c2);
     }else{
      DCPRD(x4.c2,1);}
     CPPRD(__ABasicIO_20,1);
     CPCLS(__ABasicIO_48,1);
     {OBJ x35;OBJ x36;OBJ x37;
      x35=_ABasicIO_5(x1);
      x36=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_48,1))(__ABasicIO_48,__ABUILTIN_20);
      x37=_AComCompose_6(x36,x35);
      r=_AComCompose_6(__ABasicIO_20,x37);}}}}}
 return r;}

extern OBJ _ABasicIO_50(OBJ x1) /* ask,5'50 */
{OBJ r;
 r=_AFile_23(__AStream_3);
 return r;}

extern OBJ _ABasicIO_51(OBJ x1) /* ask,5'51 */
{OBJ r;
 {OBJ x2;
  x2=_AStringConv_1(x1);
  r=_ACom_23(x2);}
 return r;}

extern OBJ _ABasicIO_52(OBJ x1) /* ask,5'52 */
{OBJ r;
 CPCLS(__ABasicIO_50,1);
 CPCLS(__ABasicIO_51,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_50,1))(__ABasicIO_50,__ABUILTIN_20);
  r=_AComCompose_5(x2,__ABasicIO_51);}
 return r;}

extern OBJ _ABasicIO_53(OBJ x1) /* repeat'53 */
{OBJ r;
 r=_ACom_22(__ANat_8);
 return r;}

extern OBJ _ABasicIO_54(OBJ x1,OBJ x2) /* repeat'54 */
{OBJ r;
 if(ISTGPRD(x2,0)){
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   DCPRD(x2,1);}
  r=_ABasicIO_21(x1);
 }else{
  if(EXPRD(x2,1)){
   FRPRD(FLD(x2,1),1);DSPRDF(x2);
  }else{
   DCPRD(x2,1);}
  FRPRD(x1,1);
  CPCLS(__ABasicIO_53,1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_53,1))(__ABasicIO_53,__ABUILTIN_20);}
 return r;}

extern OBJ _ABasicIO_56(OBJ x1) /* imenu'56 */
{OBJ r;
 CPPRD(__ABasicIO_55,1);
 r=_ABasicIO_2(__ABasicIO_55);
 return r;}

extern OBJ _ABasicIO_58(OBJ x1) /* imenu'58 */
{OBJ r;
 CPPRD(__ABasicIO_57,1);
 r=_AFile_28(__AStream_4,__ABasicIO_57);
 return r;}

extern OBJ _ABasicIO_59(OBJ x1,OBJ x2,OBJ x3) /* imenu'59 */
{OBJ r;
 CPPRD(x2,1);
 {OBJ x4;OBJ x5;
  AArray_16(x2,x4);
  ANat_80(x3,x4,x5);
  if(ISTGPRM(x5,1)){
   FRPRD(x1,1);
   AArray_15(x2,x3,r);
  }else{
   CPPRD(__ABasicIO_20,1);
   CPCLS(__ABasicIO_58,1);
   {OBJ x6;OBJ x7;OBJ x8;
    x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_58,1))(__ABasicIO_58,__ABUILTIN_20);
    x7=_ABasicIO_23(x1,x2);
    x8=_AComCompose_6(x6,x7);
    r=_AComCompose_6(__ABasicIO_20,x8);}}}
 return r;}

extern OBJ _ABasicIO_60(OBJ x1) /* menu'60 */
{OBJ r;
 r=_ACom_22(__ANat_5);
 return r;}

extern OBJ _ABasicIO_62(OBJ x1) /* menu'62 */
{OBJ r;
 CPPRD(__ABasicIO_61,1);
 CPCLS(__ADenotation_6,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADenotation_6,1))(__ADenotation_6,__ABasicIO_61);
 return r;}

extern TUP2 _ABasicIO_64(OBJ x1,OBJ x2) /* menu'64 */
{TUP2 r;
 CPPRD(__ABasicIO_63,1);
 {OBJ x4;OBJ x5;
  ANat_2(x1,r.c1);
  ANatConv_1(x1,x4);
  ADenotation_4(__ABasicIO_63,x2,x5);
  ADenotation_4(x4,x5,r.c2);}
 return r;}
extern OBJ _ABasicIO_64_c(OBJ x1,OBJ x2) /* menu'64 */
{OBJ r;
 {TUP2 t=_ABasicIO_64(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _ABasicIO_67(OBJ x1) /* repeatAsk'67 */
{OBJ r;
 r=_ACom_22(__ANat_5);
 return r;}

extern OBJ _ABasicIO_68(OBJ x1,OBJ x2,OBJ x3) /* repeatAsk'68 */
{OBJ r;
 {OBJ x4;
  AChar_15(x3,__APrintableChar_93,x4);
  if(ISTGPRM(x4,1)){
   r=_ABasicIO_22(x1,x2);
  }else{
   FRPRD(x1,1);
   FRPRD(x2,1);
   CPCLS(__ABasicIO_67,1);
   r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_67,1))(__ABasicIO_67,__ABUILTIN_20);}}
 return r;}

extern OBJ _ABasicIO_69(OBJ x1) /* repeatAsk'69 */
{OBJ r;
 r=_ACom_22(__ANat_8);
 return r;}

extern OBJ _ABasicIO_70(OBJ x1,OBJ x2,OBJ x3) /* repeatAsk'70 */
{OBJ r;
 if(ISTGPRD(x3,0)){
  if(EXPRD(x3,1)){
   DSPRDF(x3);
  }else{
   DCPRD(x3,1);}
  CPPRD(x1,1);
  CPPRD(__ABasicIO_66,1);
  CPCLS(__ABasicIO_68,1);
  {OBJ x20;OBJ x21;OBJ x22;
   ADenotation_4(x1,__ABasicIO_66,x20);
   x21=_ABasicIO_5(x20);
   x22=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ABasicIO_68,2))(__ABasicIO_68,x1,x2);
   r=_AComCompose_5(x21,x22);}
 }else{
  {OBJ x23=FLD(x3,1);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    CPPRD(x23,1);
    FRPRD(x3,1);}
   FRPRD(x1,1);
   FRPRD(x2,1);
   CPCLS(__ABasicIO_69,1);
   {OBJ x24;OBJ x25;
    x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABasicIO_69,1))(__ABasicIO_69,__ABUILTIN_20);
    x25=_AFile_28(__AStream_4,x23);
    r=_AComCompose_6(x25,x24);}}}
 return r;}


static OBJ _mt_1_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 {OBJ t4;
  DCCLS(t,1);
  t4=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(t4,2))(t4,t2,t3);}
 return r;}

init_ABasicIO()
{
 static int visited=0; if(visited) return; visited=1;
 init_AFile();
 init_AStringMapSeq();
 init_AArrayReduce();
 init_ANat();
 init_AChar();
 init_AInt();
 init_AReal();
 init_AVoid();
 init_ACom();
 init_APair();
 init_ASeq();
 init_AOption();
 init_ABTUnion();
 init_ADenotation();
 init_AComCompose();
 init_AStream();
 init_AStringScan();
 init_AString();
 init_AStringConv();
 init_AAnonPair();
 init_ASeqMapEnv();
 init_ASeqMap();
 init_AArray();
 init_AArrayConv();
 init_APrintableChar();
 init_ALineFormat();
 init_ABoolConv();
 init_ANatConv();
 init_AIntConv();
 init_ARealConv();
 init_ASeqReduce();
 init_ACharConv();
 DEN(": ",__ABasicIO_63);
 DEN("expected nat!",__ABasicIO_31);
 LCLS(1,_ABasicIO_62,__ABasicIO_62);
 LCLS(1,_ABasicIO_30,__ABasicIO_30);
 DEN("\n",__ABasicIO_61);
 CLS(2,_ABasicIO_29,__ABasicIO_29);
 LCLS(1,_ABasicIO_60,__ABasicIO_60);
 LCLS(1,_ABasicIO_28,__ABasicIO_28);
 CLS(3,_ABasicIO_59,__ABasicIO_59);
 DEN("extra characters!",__ABasicIO_27);
 LCLS(1,_ABasicIO_58,__ABasicIO_58);
 LCLS(1,_ABasicIO_26,__ABasicIO_26);
 DEN("this choice is too large!",__ABasicIO_57);
 DEN("expected bool!",__ABasicIO_25);
 LCLS(1,_ABasicIO_56,__ABasicIO_56);
 LCLS(1,_ABasicIO_24,__ABasicIO_24);
 DEN("your choice: ",__ABasicIO_55);
 CLS(2,_ABasicIO_23,__ABasicIO_23);
 CLS(2,_ABasicIO_54,__ABasicIO_54);
 CLS(2,_ABasicIO_22,__ABasicIO_22);
 LCLS(1,_ABasicIO_53,__ABasicIO_53);
 CLS(1,_ABasicIO_21,__ABasicIO_21);
 LCLS(1,_ABasicIO_52,__ABasicIO_52);
 CLS(1,_ABasicIO_51,__ABasicIO_51);
 CLS(2,_ABasicIO_19,__ABasicIO_19);
 LCLS(1,_ABasicIO_50,__ABasicIO_50);
 CLS(1,_ABasicIO_18,__ABasicIO_18);
 CLS(2,_ABasicIO_49,__ABasicIO_49);
 CLS(1,_ABasicIO_17,__ABasicIO_17);
 LCLS(1,_ABasicIO_48,__ABasicIO_48);
 CLS(1,_ABasicIO_16,__ABasicIO_16);
 LCLS(1,_ABasicIO_47,__ABasicIO_47);
 CLS(1,_ABasicIO_15,__ABasicIO_15);
 DEN("expected char!",__ABasicIO_46);
 CLS(1,_ABasicIO_14,__ABasicIO_14);
 LCLS(1,_ABasicIO_45,__ABasicIO_45);
 CLS(1,_ABasicIO_13,__ABasicIO_13);
 CLS(2,_ABasicIO_44,__ABasicIO_44);
 CLS(1,_ABasicIO_12,__ABasicIO_12);
 LCLS(1,_ABasicIO_43,__ABasicIO_43);
 CLS(1,_ABasicIO_11,__ABasicIO_11);
 LCLS(1,_ABasicIO_42,__ABasicIO_42);
 CLS(1,_ABasicIO_10,__ABasicIO_10);
 DEN("expected real!",__ABasicIO_41);
 CLS(1,_ABasicIO_9,__ABasicIO_9);
 LCLS(1,_ABasicIO_40,__ABasicIO_40);
 CLS(1,_ABasicIO_8,__ABasicIO_8);
 DEN("\a",__ABasicIO_71);
 CLS(1,_ABasicIO_7,__ABasicIO_7);
 CLS(2,_ABasicIO_39,__ABasicIO_39);
 CLS(3,_ABasicIO_70,__ABasicIO_70);
 CLS(1,_ABasicIO_6,__ABasicIO_6);
 LCLS(1,_ABasicIO_38,__ABasicIO_38);
 LCLS(1,_ABasicIO_69,__ABasicIO_69);
 CLS(1,_ABasicIO_5,__ABasicIO_5);
 LCLS(1,_ABasicIO_37,__ABasicIO_37);
 CLS(3,_ABasicIO_68,__ABasicIO_68);
 CLS(1,_ABasicIO_4,__ABasicIO_4);
 DEN("expected int!",__ABasicIO_36);
 LCLS(1,_ABasicIO_67,__ABasicIO_67);
 CLS(1,_ABasicIO_3,__ABasicIO_3);
 LCLS(1,_ABasicIO_35,__ABasicIO_35);
 DEN("(y/n)\?",__ABasicIO_66);
 CLS(1,_ABasicIO_2,__ABasicIO_2);
 CLS(2,_ABasicIO_34,__ABasicIO_34);
 DEN("\n\n0: END\n\n",__ABasicIO_65);
 CLS(1,_ABasicIO_1,__ABasicIO_1);
 LCLS(1,_ABasicIO_33,__ABasicIO_33);
 CLS(2,_ABasicIO_64_c,__ABasicIO_64);
 LCLS(1,_ABasicIO_32,__ABasicIO_32);
 MTH(1,0,3,_mt_1_0_3);LZYMTH(1,0,3,_mt_1_0_3);
 CPPRD(__ABasicIO_71,1);
 __ABasicIO_20=_AFile_26(__AStream_4,__ABasicIO_71);}

