

#include "BUILTIN.h"
extern OBJ _ASet_39(OBJ,OBJ,OBJ);extern OBJ __ASet_39;
extern OBJ __ASeq_6;

#include "Nat.h"

#include "Char.h"
extern OBJ _ASeqConv_3(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_3;
extern OBJ _ASeqConv_5(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_5;
extern OBJ __ASeqConv_8;
extern OBJ _ASetConv_3(OBJ,OBJ);OBJ __ASetConv_3; /* asSet */
extern OBJ _ASetConv_4(OBJ,OBJ);OBJ __ASetConv_4; /* asSeq */
extern OBJ _ASetConv_5(OBJ,OBJ,OBJ);OBJ __ASetConv_5; /* ` */
extern OBJ _ASetConv_6(OBJ,OBJ,OBJ);OBJ __ASetConv_6; /* `,1 */
extern OBJ _ASetConv_7(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ASetConv_7; /* `,2 */
extern OBJ _ASetConv_8(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ASetConv_8; /* `,3 */
extern OBJ _ASetConv_9(OBJ,OBJ);OBJ __ASetConv_9; /* explode */
extern OBJ _ASetConv_10(OBJ,OBJ);OBJ __ASetConv_10; /* implode */
OBJ __ASetConv_11; /* `'11 */
OBJ __ASetConv_12; /* `'12 */

extern OBJ _ASetConv_3(OBJ x1,OBJ x2) /* asSet */
{OBJ r;
 if(ISPRM(x2)){
  FRCLS(x1,1);
  r=__ASeq_6;
 }else{
  {OBJ x21=FLD1(x2,1);OBJ x22=FLD1(x2,2);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x21,1);COPY(x22,1);
    FRPRD(x2,1);}
   CPCLS(x1,1);
   {OBJ x24;
    x24=_ASetConv_3(x1,x22);
    r=_ASet_39(x1,x21,x24);}}}
 return r;}

extern OBJ _ASetConv_4(OBJ x1,OBJ x2) /* asSeq */
{OBJ r;
 FRCLS(x1,1);
 r=x2;
 return r;}

extern OBJ _ASetConv_5(OBJ x1,OBJ x2,OBJ x3) /* ` */
{OBJ r;
 CPPRD(__ASetConv_11,1);
 CPPRD(__ASetConv_12,1);
 CPPRD(__ASeqConv_8,1);
 FRCLS(x1,1);
 r=_ASeqConv_3(__ASetConv_11,__ASeqConv_8,__ASetConv_12,x2,x3);
 return r;}

extern OBJ _ASetConv_6(OBJ x1,OBJ x2,OBJ x3) /* `,1 */
{OBJ r;
 CPPRD(__ASetConv_11,1);
 CPPRD(__ASetConv_12,1);
 CPPRD(__ASeqConv_8,1);
 FRCLS(x1,1);
 r=_ASeqConv_5(__ASetConv_11,__ASeqConv_8,__ASetConv_12,x2,x3);
 return r;}

extern OBJ _ASetConv_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* `,2 */
{OBJ r;
 FRCLS(x1,1);
 r=_ASeqConv_3(x2,x3,x4,x5,x6);
 return r;}

extern OBJ _ASetConv_8(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* `,3 */
{OBJ r;
 FRCLS(x1,1);
 r=_ASeqConv_5(x2,x3,x4,x5,x6);
 return r;}

extern OBJ _ASetConv_9(OBJ x1,OBJ x2) /* explode */
{OBJ r;
 FRCLS(x1,1);
 r=x2;
 return r;}

extern OBJ _ASetConv_10(OBJ x1,OBJ x2) /* implode */
{OBJ r;
 r=_ASetConv_3(x1,x2);
 return r;}

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

static OBJ _mt_6_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_6_0_5(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,5);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 return r;}

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

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

static OBJ _mt_6_4_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);
  FLDCLS(r,4)=FLDCLS(t,4);
  COPY(FLDCLS(r,1),1);
  COPY(FLDCLS(r,2),1);
  COPY(FLDCLS(r,3),1);
  COPY(FLDCLS(r,4),1);}
 INCCLS(r,4,1);
 FLDCLS(r,5)=t1;
 return r;}

static OBJ _mt_6_4_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);
  COPY(FLDCLS(t,4),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1,t2);
 return r;}

static OBJ _mt_6_5_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);
  COPY(FLDCLS(t,5),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),t1);
 return r;}
static OBJ _mt_6_5_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),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;FLDCLS(t,5)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_ASetConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASet();
 init_ASeq();
 init_AString();
 init_ANat();
 init_AChar();
 init_AOption();
 init_ASeqConv();
 DEN("}",__ASetConv_12);
 DEN("{",__ASetConv_11);
 CLS(2,_ASetConv_10,__ASetConv_10);
 CLS(2,_ASetConv_9,__ASetConv_9);
 CLS(6,_ASetConv_8,__ASetConv_8);
 CLS(6,_ASetConv_7,__ASetConv_7);
 CLS(3,_ASetConv_6,__ASetConv_6);
 CLS(3,_ASetConv_5,__ASetConv_5);
 CLS(2,_ASetConv_4,__ASetConv_4);
 CLS(2,_ASetConv_3,__ASetConv_3);
 MTH(3,1,1,_mt_3_1_1);LZYMTH(3,1,1,_mt_3_1_1);
 MTH(6,0,4,_mt_6_0_4);LZYMTH(6,0,4,_mt_6_0_4);
 MTH(6,0,5,_mt_6_0_5);LZYMTH(6,0,5,_mt_6_0_5);
 MTH(6,1,3,_mt_6_1_3);LZYMTH(6,1,3,_mt_6_1_3);
 MTH(6,1,4,_mt_6_1_4);LZYMTH(6,1,4,_mt_6_1_4);
 MTH(6,4,1,_mt_6_4_1);LZYMTH(6,4,1,_mt_6_4_1);
 MTH(6,4,2,_mt_6_4_2);LZYMTH(6,4,2,_mt_6_4_2);
 MTH(6,5,1,_mt_6_5_1);LZYMTH(6,5,1,_mt_6_5_1_l);}

