

#include "BUILTIN.h"
extern OBJ __AString_6;
extern OBJ _AString_24(OBJ,OBJ);extern OBJ __AString_24;
extern OBJ _AString_49(OBJ);extern OBJ __AString_49;

#include "Nat.h"

#include "Char.h"
extern OBJ _AStringConv_1(OBJ);extern OBJ __AStringConv_1;
extern OBJ _ASeqConv_2(OBJ,OBJ);OBJ __ASeqConv_2; /* ` */
extern OBJ _ASeqConv_3(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ASeqConv_3; /* `,1 */
extern OBJ _ASeqConv_4(OBJ,OBJ);OBJ __ASeqConv_4; /* `,2 */
extern OBJ _ASeqConv_5(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ASeqConv_5; /* `,3 */
extern OBJ _ASeqConv_6(OBJ,OBJ,OBJ);OBJ __ASeqConv_6; /* toString */
OBJ __ASeqConv_7; /* `,2'7 */
OBJ __ASeqConv_8; /* `,2'8 */
OBJ __ASeqConv_9; /* `,2'9 */
extern OBJ _ASeqConv_10(OBJ,OBJ);OBJ __ASeqConv_10; /* `'10 */
extern OBJ _ASeqConv_11(OBJ,OBJ);OBJ __ASeqConv_11; /* `,1'11 */

extern OBJ _ASeqConv_2(OBJ x1,OBJ x2) /* ` */
{OBJ r;
 CPPRD(__ASeqConv_7,1);
 CPPRD(__ASeqConv_8,1);
 CPPRD(__ASeqConv_9,1);
 CPCLS(__ASeqConv_10,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ASeqConv_10,1))(__ASeqConv_10,x1);
  x4=_ASeqConv_5(__ASeqConv_7,__ASeqConv_8,__ASeqConv_9,x3,x2);
  r=_AStringConv_1(x4);}
 return r;}

extern OBJ _ASeqConv_3(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* `,1 */
{OBJ r;
 CPCLS(__ASeqConv_11,1);
 {OBJ x6;OBJ x7;
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ASeqConv_11,1))(__ASeqConv_11,x4);
  x7=_ASeqConv_5(x1,x2,x3,x6,x5);
  r=_AStringConv_1(x7);}
 return r;}

extern OBJ _ASeqConv_4(OBJ x1,OBJ x2) /* `,2 */
{OBJ r;
 CPPRD(__ASeqConv_7,1);
 CPPRD(__ASeqConv_8,1);
 CPPRD(__ASeqConv_9,1);
 r=_ASeqConv_5(__ASeqConv_7,__ASeqConv_8,__ASeqConv_9,x1,x2);
 return r;}

extern OBJ _ASeqConv_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* `,3 */
{OBJ r;
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  x6=_AString_49(x1);
  x7=_AString_49(x2);
  x8=_AString_49(x3);
  x9=_ASeqConv_6(x7,x4,x5);
  x10=_AString_24(x9,x8);
  r=_AString_24(x6,x10);}
 return r;}

extern OBJ _ASeqConv_6(OBJ x1,OBJ x2,OBJ x3) /* toString */
{OBJ r;
 if(ISPRM(x3)){
  FREE(x1,1);
  FRCLS(x2,1);
  r=__AString_6;
 }else{
  {OBJ x31=FLD1(x3,1);OBJ x32=FLD1(x3,2);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    COPY(x31,1);COPY(x32,1);
    FRPRD(x3,1);}
   CPCLS(x2,1);
   {OBJ x34;
    x34=(*(OBJ(*)(OBJ,OBJ))METHOD(x2,1))(x2,x31);
    if(ISPRM(x32)){
     r=x34;
     FREE(x1,1);
     FRCLS(x2,1);
    }else{
     COPY(x1,1);
     {OBJ x37;OBJ x38;
      x37=_ASeqConv_6(x1,x2,x32);
      x38=_AString_24(x1,x37);
      r=_AString_24(x34,x38);}}}}}
 return r;}

extern OBJ _ASeqConv_10(OBJ x1,OBJ x2) /* `'10 */
{OBJ r;
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x2);
  r=_AString_49(x3);}
 return r;}

extern OBJ _ASeqConv_11(OBJ x1,OBJ x2) /* `,1'11 */
{OBJ r;
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x2);
  r=_AString_49(x3);}
 return r;}

static OBJ _mt_2_0_1(OBJ t,OBJ t1) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,1);
 FLDCLS(r,1)=t1;
 return r;}

static OBJ _mt_2_1_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),t1);
 return r;}
static OBJ _mt_2_1_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

static OBJ _mt_5_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,3);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 return r;}

static OBJ _mt_5_0_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,4);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 return r;}

static OBJ _mt_5_3_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  FLDCLS(r,2)=FLDCLS(t,2);
  FLDCLS(r,3)=FLDCLS(t,3);
  COPY(FLDCLS(r,1),1);
  COPY(FLDCLS(r,2),1);
  COPY(FLDCLS(r,3),1);}
 INCCLS(r,3,1);
 FLDCLS(r,4)=t1;
 return r;}

static OBJ _mt_5_3_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1,t2);
 return r;}

static OBJ _mt_5_4_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1);
 return r;}
static OBJ _mt_5_4_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;FLDCLS(t,4)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_ASeqConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASeq();
 init_AString();
 init_ANat();
 init_AChar();
 init_AOption();
 init_AStringConv();
 init_AStringMapSeq();
 CLS(2,_ASeqConv_11,__ASeqConv_11);
 CLS(2,_ASeqConv_10,__ASeqConv_10);
 DEN(">",__ASeqConv_9);
 DEN(",",__ASeqConv_8);
 DEN("<",__ASeqConv_7);
 CLS(3,_ASeqConv_6,__ASeqConv_6);
 CLS(5,_ASeqConv_5,__ASeqConv_5);
 CLS(2,_ASeqConv_4,__ASeqConv_4);
 CLS(5,_ASeqConv_3,__ASeqConv_3);
 CLS(2,_ASeqConv_2,__ASeqConv_2);
 MTH(2,0,1,_mt_2_0_1);LZYMTH(2,0,1,_mt_2_0_1);
 MTH(2,1,1,_mt_2_1_1);LZYMTH(2,1,1,_mt_2_1_1_l);
 MTH(5,0,3,_mt_5_0_3);LZYMTH(5,0,3,_mt_5_0_3);
 MTH(5,0,4,_mt_5_0_4);LZYMTH(5,0,4,_mt_5_0_4);
 MTH(5,3,1,_mt_5_3_1);LZYMTH(5,3,1,_mt_5_3_1);
 MTH(5,3,2,_mt_5_3_2);LZYMTH(5,3,2,_mt_5_3_2);
 MTH(5,4,1,_mt_5_4_1);LZYMTH(5,4,1,_mt_5_4_1_l);}

