diff options
author | rik <rik@FreeBSD.org> | 2004-08-16 12:00:07 +0000 |
---|---|---|
committer | rik <rik@FreeBSD.org> | 2004-08-16 12:00:07 +0000 |
commit | 98956397522dafe3356136f6c975b37330b416fe (patch) | |
tree | 15b7bcb4a63135ccf3fbdc5ae653840ee6815724 | |
parent | f036c024967ddaf1b3415df2f14bbe07c97779d9 (diff) | |
download | FreeBSD-src-98956397522dafe3356136f6c975b37330b416fe.zip FreeBSD-src-98956397522dafe3356136f6c975b37330b416fe.tar.gz |
Update low level code for Cronyx Tau-PCI:
1. Add support for Cronyx Tau-PCI/E3 rev.B.
2. Improve model identification and firmware load procedure.
-rw-r--r-- | sys/dev/cp/cpddk.c | 1916 | ||||
-rw-r--r-- | sys/dev/cp/cpddk.h | 7 |
2 files changed, 1180 insertions, 743 deletions
diff --git a/sys/dev/cp/cpddk.c b/sys/dev/cp/cpddk.c index 9b4ae9e..685d553 100644 --- a/sys/dev/cp/cpddk.c +++ b/sys/dev/cp/cpddk.c @@ -15,9 +15,8 @@ * as long as this message is kept with the software, all derivative * works or modified versions. * - * $Cronyx: cpddk.c,v 1.13.4.30 2003/12/15 08:57:28 rik Exp $ + * $Cronyx: cpddk.c,v 1.13.4.34 2004/08/10 13:37:20 rik Exp $ */ - #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); @@ -27,76 +26,76 @@ __FBSDID("$FreeBSD$"); #include <dev/cp/cpddk.h> #pragma pack(4) -typedef struct{unsigned long l48;unsigned long l109;unsigned long l121 -;unsigned long l102;unsigned long l100;unsigned long l97;unsigned long -l119;unsigned long l110;unsigned long l114;unsigned long l112; -unsigned long l120;unsigned long l98;}l186;typedef struct{unsigned -char j[32];unsigned char l41[32];}l71;typedef struct{unsigned long z; -unsigned long l96;unsigned long p;unsigned long t;unsigned long l909; -}l125;typedef struct{l125 l39[4];l125 l33[64];unsigned char l624[4][ -1664];unsigned char l745[64][1664];}l212;typedef struct{unsigned long -l138[4][128];unsigned long l101[4][128];unsigned long l95[128];}l170; -typedef struct l176{unsigned char*x;volatile unsigned long*l127, * -l133, *l83;volatile unsigned long*l129, *l94, *l159, *l79, *l126, * -l149;unsigned char l69,l82,l63,l42,l51,l59,l35;unsigned char r; -unsigned char f;struct l605*d;unsigned char l193;unsigned char l216; -unsigned long w;unsigned char l157;unsigned char l145;unsigned char -l164;unsigned char l178;unsigned char l54;unsigned char l150;unsigned -char l60;unsigned char l128;unsigned long j;unsigned char l187; -unsigned char l46;unsigned char l53;unsigned char l58;unsigned char -l31;unsigned char l180;unsigned char u;l71 q;unsigned char l87; -unsigned char l122;unsigned char l165;unsigned char l168;unsigned char -l174;unsigned char l144;unsigned char l130;unsigned long l72;unsigned -char l32;unsigned long l34;unsigned long l44;unsigned long l38; +typedef struct{unsigned long l50;unsigned long l109;unsigned long l121 +;unsigned long l103;unsigned long l96;unsigned long l89;unsigned long +l108;unsigned long l120;unsigned long l114;unsigned long l118; +unsigned long l105;unsigned long l100;}l163;typedef struct{unsigned +char j[32];unsigned char l41[32];}l69;typedef struct{unsigned long w; +unsigned long l93;unsigned long l88;unsigned long t;unsigned long l913 +;}l123;typedef struct{l123 l39[4];l123 l32[64];unsigned char l628[4][ +1664];unsigned char l749[64][1664];}l212;typedef struct{unsigned long +l141[4][128];unsigned long l91[4][128];unsigned long l98[128];}l170; +typedef struct l175{unsigned char*x;volatile unsigned long*l134, * +l132, *l83;volatile unsigned long*l126, *l92, *l135, *l76, *l125, * +l147;unsigned char l70,l81,l65,l45,l49,l67,l34;unsigned char p; +unsigned char f;struct l610*d;unsigned char l196;unsigned char l219; +unsigned long y;unsigned char l151;unsigned char l145;unsigned char +l164;unsigned char l176;unsigned char l54;unsigned char l140;unsigned +char l66;unsigned char l133;unsigned long j;unsigned char l184; +unsigned char l44;unsigned char l56;unsigned char l53;unsigned char +l31;unsigned char l165;unsigned char u;l69 o;unsigned char l82; +unsigned char l127;unsigned char l179;unsigned char l166;unsigned char +l560;unsigned char l146;unsigned char l131;unsigned long l73;unsigned +char l33;unsigned long l35;unsigned long l42;unsigned long l36; unsigned char l40;unsigned char l26;unsigned char l37;unsigned long -l629;unsigned long l617;ulong64 l563;ulong64 l598;unsigned long l621; -unsigned long l298;unsigned long l240;unsigned long l197;unsigned long -l579;unsigned long l551;unsigned short t;unsigned long l146;unsigned -long l56;unsigned long l107;unsigned long l103;l186 o;l186 l29;l186 -l108[48];unsigned long l106;unsigned long l158;unsigned long l619; -unsigned long l141;unsigned long l625;unsigned long l185[48];unsigned -long*l138;unsigned long*l101;int l593,l118;unsigned char*l147[4];l125 - *l39;unsigned long l189[4];unsigned long l152[4];int l47;int l45; -unsigned char*l136[64];l125*l33;unsigned long l208[64];unsigned long -l61[64];int l30;void*l81[4];void*l534;unsigned char l908;void( *l160)( -struct l176*a,void*l81,int z);void( *l171)(struct l176*a,unsigned char - *p,int z);void( *l62)(struct l176*a,int l910);}e;typedef struct l605 -{unsigned char*g;unsigned char r;unsigned char f;unsigned long l80; -char l43[16];e k[4];unsigned char l28;unsigned char l179;unsigned char -l132;unsigned char l115;unsigned char l70;unsigned char l85;unsigned -long l565;unsigned long*l95;int l111;unsigned char l577;unsigned char - *l73;void*l534;}s; +l633;unsigned long l614;ulong64 l567;ulong64 l596;unsigned long l591; +unsigned long l301;unsigned long l261;unsigned long l200;unsigned long +l588;unsigned long l554;unsigned short t;unsigned long l136;unsigned +long l55;unsigned long l119;unsigned long l107;l163 n;l163 l30;l163 +l116[48];unsigned long l101;unsigned long l138;unsigned long l617; +unsigned long l152;unsigned long l620;unsigned long l183[48];unsigned +long*l141;unsigned long*l91;int l600,l111;unsigned char*l156[4];l123* +l39;unsigned long l202[4];unsigned long l143[4];int l48;int l46; +unsigned char*l137[64];l123*l32;unsigned long l210[64];unsigned long +l62[64];int l28;void*l78[4];void*l531;unsigned char l912;void( *l186)( +struct l175*a,void*l78,int w);void( *l169)(struct l175*a,unsigned char + *l88,int w);void( *l63)(struct l175*a,int l914);}e;typedef struct +l610{unsigned char*g;unsigned char p;unsigned char f;unsigned long l77 +;char l43[16];e k[4];unsigned char l29;unsigned char l174;unsigned +char l128;unsigned char l115;unsigned char l148;unsigned char l95; +unsigned long l563;unsigned long*l98;int l112;unsigned char l173; +unsigned char*l72[8];void*l531;}s; #pragma pack() extern unsigned short cp_vendor_id;extern unsigned short cp_device_id -;unsigned short cp_init(s*b,int r,unsigned char*g);void cp_reset(s*b, -l170*l67,unsigned long l74);void cp_hard_reset(s*b);unsigned long -cp_regio(e*a,int l203,int y,unsigned long n);void cp_register_transmit +;unsigned short cp_init(s*b,int p,unsigned char*g);void cp_reset(s*b, +l170*l58,unsigned long l71);void cp_hard_reset(s*b);unsigned long +cp_regio(e*a,int l207,int z,unsigned long r);void cp_register_transmit (e*a,void( *l86)(e* ,void* ,int));void cp_register_receive(e*a,void( * l86)(e* ,unsigned char* ,int));void cp_register_error(e*a,void( *l86)( -e* ,int));void cp_start_chan(e*a,int l188,int l206,l212*l52,unsigned -long l74);void cp_stop_chan(e*a);void cp_start_e1(e*a);void cp_stop_e1 +e* ,int));void cp_start_chan(e*a,int l211,int l208,l212*l51,unsigned +long l71);void cp_stop_chan(e*a);void cp_start_e1(e*a);void cp_stop_e1 (e*a);int cp_transmit_space(e*a);int cp_send_packet(e*a,unsigned char - *p,int z,void*l81);int cp_interrupt(s*b);int cp_interrupt_poll(s*b, -int l217);void cp_handle_interrupt(s*b);void cp_enable_interrupt(s*b, -int m);void cp_g703_timer(e*a);void cp_e1_timer(e*a);void cp_e3_timer + *l88,int w,void*l78);int cp_interrupt(s*b);int cp_interrupt_poll(s*b +,int l218);void cp_handle_interrupt(s*b);void cp_enable_interrupt(s*b +,int m);void cp_g703_timer(e*a);void cp_e1_timer(e*a);void cp_e3_timer (e*a);void cp_led(s*b,int m);void cp_set_dtr(e*a,int m);void cp_set_rts(e*a,int m);int cp_get_dsr(e*a);int cp_get_cd(e*a);int cp_get_cts(e*a);int cp_get_txcerr(e*a);int cp_get_rxcerr(e*a);void -cp_set_baud(e*a,int w);void cp_set_dpll(e*a,int m);void cp_set_nrzi(e +cp_set_baud(e*a,int y);void cp_set_dpll(e*a,int m);void cp_set_nrzi(e *a,int m);void cp_set_invtxc(e*a,int m);void cp_set_invrxc(e*a,int m );void cp_set_lloop(e*a,int m);int cp_get_rloop(e*a);int cp_get_lq(e* a);int cp_get_cable(e*a);void cp_set_gsyn(e*a,int l75);void cp_set_ts (e*a,unsigned long j);void cp_set_dir(e*a,int u);void cp_set_mux(s*b, -int m);void l195(s*b,int m);void cp_set_dxc(e*a,l71*l911);void +int m);void l190(s*b,int m);void cp_set_dxc(e*a,l69*l915);void cp_set_higain(e*a,int m);void cp_set_use16(e*a,int m);void cp_set_crc4 (e*a,int m);void cp_set_phony(e*a,int m);void cp_set_unfram(e*a,int m );void cp_set_scrambler(e*a,int m);void cp_set_monitor(e*a,int m); void cp_set_rloop(e*a,int m);void cp_set_ber(e*a,int m);void cp_set_cablen(e*a,int m);void cp_set_losais(e*a,int m);static void -l190(e*a);static void l140(long l199,long w,int*l50,int*l55);static -void l183(e*a);static void l209(e*a);static void l181(e*a,l71*l156); +l192(e*a);static void l142(long l199,long y,int*l47,int*l57);static +void l162(e*a);static void l188(e*a);static void l180(e*a,l69*l149); static void l167(s*b);unsigned short cp_vendor_id=4362;unsigned short -cp_device_id=8450;static const unsigned char l518[]={79,231,255,255, +cp_device_id=8450;static const unsigned char l525[]={79,231,255,255, 98,255,57,0,0,213,255,255,255,255,255,255,255,255,255,255,255,255,255 ,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, @@ -1196,7 +1195,7 @@ cp_device_id=8450;static const unsigned char l518[]={79,231,255,255, 22,160,2,112,248,160,9,52,1,146,213,4,154,64,19,104,2,100,160,97,149, 129,50,96,6,202,64,25,40,3,102,160,12,144,1,0,14,128,12,148,1,50,64,6 ,72,22,25,32,3,101,128,12,52,1,50,64,6,154,68,25,32,57,100,128,12,52, -1,160,252,255,255,0};static const unsigned char l557[]={79,231,255, +1,160,252,255,255,0};static const unsigned char l565[]={79,231,255, 255,98,255,57,0,0,213,255,255,255,255,255,255,255,255,255,255,255,255 ,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, @@ -2598,7 +2597,7 @@ cp_device_id=8450;static const unsigned char l518[]={79,231,255,255, 213,4,154,0,0,19,32,3,77,160,100,148,1,51,96,6,202,192,25,40,3,102, 192,12,144,1,0,14,128,12,152,1,50,64,6,200,68,19,32,3,100,128,12,56,1 ,50,64,6,152,4,25,32,57,100,128,12,48,1,16,249,255,255,0};static const -unsigned char l435[]={79,231,255,255,98,255,57,0,0,213,255,255,255, +unsigned char l437[]={79,231,255,255,98,255,57,0,0,213,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, @@ -5124,700 +5123,1137 @@ unsigned char l435[]={79,231,255,255,98,255,57,0,0,213,255,255,255, 232,254,128,9,48,1,134,215,4,154,0,0,19,32,3,77,192,100,152,129,50, 112,6,202,64,25,40,3,101,192,12,144,1,0,14,128,12,152,1,50,64,6,200, 68,19,32,3,100,128,12,52,1,50,64,6,152,4,25,32,121,100,128,12,48,1, -152,252,255,255,0};typedef struct{const unsigned char*l90;unsigned -char l124;unsigned char l153;}l161;static unsigned short l671(l161* -l36,const unsigned char*l90){unsigned short z;z= *l90++;z|= *l90++<<8 -;l36->l90=l90;l36->l124=0;l36->l153=0;return z;}static unsigned char -l283(l161*l36){{if(!(l36->l153>0))goto l634;{--l36->l153;return l36-> -l124;}l634:;}l36->l124= *l36->l90++;{if(!(l36->l124==0))goto l623;l36 -->l153= *l36->l90++;l623:;}return l36->l124;}static char l512(s*b, -const unsigned char*l319){unsigned short l175;unsigned char n,p;l161 -l36; * (volatile unsigned short* )((b)->g+1028)=36; * (volatile -unsigned short* )((b)->g+1024)=39; * (volatile unsigned short* )((b)-> -g+1028)=(p=4);{n=0;l620:if(!(n<255))goto l612;goto l608;l616:++n;goto -l620;l608:outb(128,0);goto l616;l612:;} * (volatile unsigned short* )( -(b)->g+1028)=(p&=~4);{n=0;l607:if(!(n<2*3))goto l596;goto l264;l600: -++n;goto l607;l264:outb(128,0);goto l600;l596:;}{if(!(( * (volatile -unsigned short* )((b)->g+1028)&8)))goto l262;{; * (volatile unsigned -short* )((b)->g+1028)=(p|=4);return 0;}l262:;} * (volatile unsigned -short* )((b)->g+1028)=(p|=4);{n=0;l260:if(!(n<5*3))goto l255;goto l241 -;l259:++n;goto l260;l241:{ * (volatile unsigned short* )((b)->g+1028)= -(p|=4);outb(128,0);}goto l259;l255:;}l175=l671(&l36,l319);{;l239:if(! -(l175>0))goto l236;goto l243;l238:--l175;goto l239;l243:{n=l283(&l36); -{if(!(( * (volatile unsigned short* )((b)->g+1028)&8)==0))goto l790;{ -;goto l214;}l790:;}{if(!(( * (volatile unsigned short* )((b)->g+1028)& -16)))goto l782;{{n=0;l756:if(!(n<50))goto l742;goto l730;l726:++n; -goto l756;l730:( * (volatile unsigned short* )((b)->g+1028)=(p|2), * ( -volatile unsigned short* )((b)->g+1028)=p);goto l726;l742:;}{if(!(( * -(volatile unsigned short* )((b)->g+1028)&8)==0))goto l723;{;goto l214 -;}l723:;};return 1;}l782:;}{{if(!(n&1))goto l712;p|=1;goto l708;l712: -;p&=~1;l708:;} * (volatile unsigned short* )((b)->g+1028)=p;( * ( -volatile unsigned short* )((b)->g+1028)=(p|2), * (volatile unsigned -short* )((b)->g+1028)=p);};{{if(!(n&2))goto l703;p|=1;goto l653;l703: -;p&=~1;l653:;} * (volatile unsigned short* )((b)->g+1028)=p;( * ( -volatile unsigned short* )((b)->g+1028)=(p|2), * (volatile unsigned -short* )((b)->g+1028)=p);};{{if(!(n&4))goto l648;p|=1;goto l647;l648: -;p&=~1;l647:;} * (volatile unsigned short* )((b)->g+1028)=p;( * ( -volatile unsigned short* )((b)->g+1028)=(p|2), * (volatile unsigned -short* )((b)->g+1028)=p);};{{if(!(n&8))goto l643;p|=1;goto l633;l643: -;p&=~1;l633:;} * (volatile unsigned short* )((b)->g+1028)=p;( * ( -volatile unsigned short* )((b)->g+1028)=(p|2), * (volatile unsigned -short* )((b)->g+1028)=p);};{{if(!(n&16))goto l637;p|=1;goto l635;l637 -:;p&=~1;l635:;} * (volatile unsigned short* )((b)->g+1028)=p;( * ( -volatile unsigned short* )((b)->g+1028)=(p|2), * (volatile unsigned -short* )((b)->g+1028)=p);};{{if(!(n&32))goto l622;p|=1;goto l632;l622 -:;p&=~1;l632:;} * (volatile unsigned short* )((b)->g+1028)=p;( * ( -volatile unsigned short* )((b)->g+1028)=(p|2), * (volatile unsigned -short* )((b)->g+1028)=p);};{{if(!(n&64))goto l626;p|=1;goto l595;l626 -:;p&=~1;l595:;} * (volatile unsigned short* )((b)->g+1028)=p;( * ( -volatile unsigned short* )((b)->g+1028)=(p|2), * (volatile unsigned -short* )((b)->g+1028)=p);};{{if(!(n&128))goto l592;p|=1;goto l591; -l592:;p&=~1;l591:;} * (volatile unsigned short* )((b)->g+1028)=p;( * ( -volatile unsigned short* )((b)->g+1028)=(p|2), * (volatile unsigned -short* )((b)->g+1028)=p);};}goto l238;l236:;};l214:;return 0;}static -unsigned char v(s*b,unsigned char y){unsigned short l89=y|65280|b-> -l70;unsigned char n; * (volatile unsigned short* )((b)->g+1024)=255; * -(volatile unsigned short* )((b)->g+1028)=l89; * (volatile unsigned -short* )((b)->g+1024)=255; * (volatile unsigned short* )((b)->g+1028)= -l89^128; * (volatile unsigned short* )((b)->g+1024)=255;n= * ( -volatile unsigned short* )((b)->g+1028)>>8; * (volatile unsigned short - * )((b)->g+1028)=l89; * (volatile unsigned short* )((b)->g+1024)=b-> -l70;return n;}static void l(s*b,unsigned char y,unsigned char n){ -unsigned short l89=y|n<<8|b->l70; * (volatile unsigned short* )((b)-> -g+1024)=65535; * (volatile unsigned short* )((b)->g+1028)=l89; * ( +152,252,255,255,0};static const unsigned char l449[]={79,231,255,255, +98,255,57,0,0,213,255,255,255,255,255,255,255,255,255,255,255,255,255 +,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,12,52,1,48,0,0,6,192,0,0,17,0,0,3,32,2,68 +,128,44,48,0,0,6,192,0,0,24,0,0,3,96,160,9,128,1,0,15,12,128,129,38,0 +,0,6,192,0,0,24,0,0,3,96,160,9,128,1,39,64,6,192,0,0,152,0,0,3,100,0, +0,12,144,1,56,250,0,0,18,160,2,72,0,0,9,32,1,44,128,4,208,0,0,26,64,5 +,72,0,0,9,32,1,36,128,4,144,0,0,21,64,2,0,15,18,64,2,84,0,0,9,32,1,36 +,128,4,144,0,0,21,64,2,84,0,0,10,32,1,20,128,4,176,0,0,18,128,2,216, +251,0,63,1,0,9,152,254,0,66,32,0,4,64,0,0,248,249,0,12,1,32,0,47,128, +0,2,16,0,1,8,0,3,128,253,0,8,10,0,1,68,128,8,0,23,64,0,26,1,0,1,8,0,1 +,32,0,0,208,250,0,74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0 +,74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0,70,128,5,0,1,4, +254,0,71,128,0,1,24,255,0,70,224,1,0,2,248,8,0,69,32,0,0,2,0,0,163, +252,0,74,137,254,0,70,192,1,0,2,250,4,0,73,201,250,0,70,128,1,0,2,254 +,0,74,152,255,0,74,152,255,0,74,152,255,8,0,73,178,253,0,74,152,255,0 +,74,152,255,4,0,73,201,250,0,74,152,255,0,72,36,1,168,249,0,72,16,8,8 +,254,0,72,28,0,1,250,8,0,71,36,0,0,146,251,0,72,32,0,0,184,253,0,72, +20,0,0,136,250,4,0,71,16,0,0,217,251,0,72,32,0,0,184,253,0,69,1,0,1,4 +,0,0,152,250,0,74,152,255,0,69,3,0,1,44,0,0,48,250,8,0,68,1,0,1,20,0, +0,162,249,0,69,140,2,0,0,24,0,0,160,250,0,69,15,0,1,36,0,0,48,254,4,0 +,68,12,0,1,32,0,0,97,252,0,69,13,0,1,16,0,1,251,0,72,4,0,0,152,251,0, +74,152,255,0,72,44,0,0,48,249,8,0,71,20,0,0,179,249,0,72,24,0,0,17, +255,0,72,36,0,0,184,249,4,0,71,32,0,0,233,248,0,72,16,0,0,136,254,0, +69,1,0,1,4,0,0,152,250,0,74,152,255,0,69,3,0,1,44,0,0,48,250,8,0,68,1 +,0,1,20,0,0,162,249,0,69,12,2,0,0,24,0,0,168,250,0,69,15,0,1,36,0,0, +48,254,4,0,68,12,0,1,32,0,0,97,252,0,69,13,0,1,16,0,1,251,0,8,35,1,0, +58,140,4,0,0,36,0,0,104,255,0,72,16,0,0,136,254,0,7,192,3,2,0,58,15,0 +,1,44,0,1,251,8,0,6,64,0,60,1,1,0,0,20,0,0,163,252,0,72,24,0,0,17,255 +,0,7,128,3,0,59,14,0,1,36,0,0,136,252,4,0,71,16,0,0,217,251,0,8,3,0, +59,12,0,1,32,0,1,250,0,74,152,255,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8, +0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4 +,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0 +,1,32,0,0,4,0,0,152,254,0,70,8,0,2,24,255,40,0,0,4,128,0,0,16,0,0,2, +64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15 +,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2, +64,0,0,8,0,0,65,32,0,0,4,0,0,242,249,0,8,8,0,59,64,2,4,0,1,176,255,32 +,0,0,4,128,0,0,16,0,0,2,0,1,10,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0 +,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0, +0,4,128,0,0,16,0,0,2,64,0,0,8,0,3,9,0,0,16,255,4,0,8,1,0,59,4,128,0,1 +,9,251,32,0,0,4,128,0,0,16,0,0,2,64,32,8,0,0,1,32,0,0,4,128,0,0,16,0, +0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0 +,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,129,32,16,4,0,0,160,255,0 +,74,152,255,0,74,152,255,0,69,32,0,3,184,253,0,74,220,251,0,74,152, +255,0,74,152,255,0,73,8,24,255,0,74,152,255,0,73,16,152,254,0,49,1,0, +21,16,1,136,254,0,49,2,0,21,16,0,0,168,254,0,74,220,251,0,74,152,255, +0,74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0,74 +,152,255,0,74,152,255,0,74,152,255,0,71,1,0,1,136,254,0,74,152,255,0, +74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0,74, +152,255,0,74,152,255,0,74,152,255,0,8,1,0,59,4,128,0,3,250,0,74,152, +255,0,74,152,255,0,74,152,255,0,8,8,0,64,144,255,0,51,4,0,21,152,251, +0,22,16,0,21,128,8,0,22,2,0,2,116,250,0,22,8,0,22,5,0,3,4,0,16,64,9,0 +,2,152,255,0,7,64,0,39,4,0,14,16,0,8,152,254,0,74,152,255,0,48,1,0,14 +,4,0,8,216,254,0,69,1,0,3,152,254,2,0,72,128,48,253,8,0,73,178,253,0, +74,152,255,0,74,152,255,0,74,220,251,0,74,152,255,0,8,128,0,61,64,0,1 +,88,255,0,74,152,255,0,72,1,0,0,152,254,0,74,152,255,0,7,128,0,60,2,0 +,3,16,253,0,47,4,0,18,104,34,0,0,128,0,2,208,255,0,46,48,0,19,64,0,3, +1,0,0,152,249,0,46,12,0,19,32,0,1,128,129,0,1,64,252,0,46,52,4,0,19, +128,0,1,9,0,2,249,0,46,48,0,19,32,0,5,152,254,0,46,8,0,19,104,0,2,1,0 +,1,136,248,0,46,48,0,22,128,0,2,16,252,0,67,64,0,1,128,1,0,2,250,0,47 +,4,0,18,32,64,0,0,128,8,0,1,24,249,0,46,48,0,24,1,0,0,152,253,0,46,12 +,0,19,96,0,1,128,1,0,1,192,248,8,0,45,52,34,0,18,64,64,0,1,1,2,0,0, +145,248,0,46,48,0,26,171,255,0,46,8,0,19,64,0,2,1,0,1,8,250,4,0,45,48 +,0,19,32,0,1,128,0,2,114,248,0,67,96,0,1,128,1,0,2,248,0,61,128,0,4, +32,0,1,128,16,1,0,0,136,252,0,61,6,0,5,32,0,4,216,255,0,60,128,1,0,4, +96,0,1,128,1,0,1,24,248,8,0,59,128,6,2,0,3,64,68,0,1,129,0,1,106,254, +0,61,6,0,11,248,255,0,61,1,0,4,64,0,2,1,0,1,152,250,4,0,60,6,0,4,32,0 +,1,128,0,2,33,248,0,67,96,0,1,128,1,0,2,248,0,47,4,0,18,32,8,0,0,128, +8,1,0,0,80,248,0,46,48,0,26,152,252,0,46,12,0,19,96,0,1,128,129,0,1, +64,248,8,0,45,52,65,0,18,64,132,0,1,17,0,1,98,254,0,46,48,0,26,152, +252,0,46,8,0,19,64,0,2,1,0,1,8,250,4,0,45,48,0,19,32,0,1,128,0,2,65, +251,0,67,96,0,1,128,1,0,2,248,0,44,128,33,0,1,16,8,0,1,64,0,7,128,192 +,16,0,2,32,2,0,0,128,4,1,0,0,24,253,0,48,6,0,11,6,0,5,32,0,4,216,249, +0,44,224,1,0,0,128,1,0,2,192,0,0,1,0,4,128,1,244,0,3,96,32,0,0,128,1, +0,1,96,249,8,0,43,32,0,0,1,128,22,4,0,1,64,11,0,5,128,70,16,130,0,2, +64,2,0,1,145,0,1,186,252,0,48,6,0,3,19,2,0,5,6,0,11,216,248,0,44,192, +1,0,1,1,0,2,128,3,0,6,1,224,0,3,64,0,2,1,0,2,249,4,0,47,6,0,3,131,0,6 +,6,0,4,32,0,1,128,0,2,145,253,0,44,128,1,0,6,35,0,7,192,0,3,96,0,1, +128,1,0,1,80,250,0,1,48,4,0,12,134,0,32,16,0,6,4,2,0,0,128,0,1,24,2,0 +,0,32,68,0,0,128,0,0,128,64,172,255,0,49,192,0,6,128,1,0,1,6,0,8,128, +48,0,0,216,248,0,1,60,0,12,128,7,0,31,48,0,6,96,0,1,128,1,0,1,30,0,1, +96,0,1,128,1,12,0,0,168,251,8,0,0,4,32,0,11,128,0,0,2,0,30,208,64,0,5 +,160,33,0,0,128,6,4,0,0,2,8,0,0,64,8,0,1,41,52,34,59,255,0,49,192,0,6 +,128,1,0,1,6,0,9,48,0,0,73,249,0,1,56,0,13,7,0,31,32,0,6,64,0,2,1,0,1 +,28,0,1,64,0,2,1,8,0,0,96,254,4,0,48,192,0,6,128,1,0,1,6,0,1,2,0,1,32 +,0,1,128,0,0,48,0,0,161,255,0,1,48,0,13,6,0,46,24,0,1,96,0,1,128,1,0, +1,224,250,0,1,48,4,0,46,16,64,32,0,5,128,64,0,2,64,96,11,36,1,32,144, +48,0,1,104,253,0,49,192,0,0,24,0,6,48,0,3,24,0,2,64,12,0,3,240,255,0, +1,60,32,0,45,48,0,0,6,0,6,12,0,3,6,0,0,3,96,0,0,3,128,1,0,1,200,250,8 +,0,0,132,0,46,208,130,26,16,0,5,52,65,0,2,26,8,64,64,66,13,4,17,2,0,0 +,186,252,0,49,192,0,0,24,0,6,48,0,3,24,0,0,32,4,0,0,12,0,3,208,253,0, +1,56,0,46,32,0,0,4,0,6,8,0,3,4,192,3,64,0,0,2,0,0,1,0,1,128,254,4,0, +48,192,0,0,24,0,6,48,0,3,24,0,0,1,32,0,0,12,128,0,2,105,249,0,1,48,0, +63,18,100,0,1,128,1,0,1,80,248,0,1,4,0,4,64,9,1,0,0,13,0,1,52,0,39, +129,5,4,0,5,26,0,1,32,4,0,0,128,0,0,1,0,0,72,253,0,8,2,0,1,12,0,1,48, +0,38,96,0,0,8,0,6,24,0,2,32,0,4,8,254,0,2,8,0,4,3,0,1,12,0,41,24,64,4 +,0,6,24,0,1,96,0,1,128,128,0,1,184,254,8,0,0,176,0,5,18,4,0,0,12,0,41 +,104,4,8,0,6,24,0,1,64,33,0,4,82,254,0,2,6,0,4,11,4,0,0,64,0,1,48,1,0 +,37,96,0,0,4,0,7,8,0,7,152,253,0,1,60,0,4,192,3,0,1,3,8,0,0,60,32,0, +37,16,0,0,11,0,6,6,0,1,64,0,2,1,0,1,88,249,4,0,0,48,32,0,4,3,0,1,12,4 +,0,0,48,16,0,37,96,0,0,4,0,6,24,4,0,0,32,0,5,81,254,0,1,48,0,5,3,4,0, +0,76,0,1,48,1,0,39,8,0,6,88,0,1,96,0,2,1,0,1,8,252,0,64,64,8,0,7,144, +251,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0, +2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0 +,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,0,152,255,0,74 +,152,255,40,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16 +,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64,0,0, +8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,0,178,253 +,0,1,128,16,0,12,16,2,0,26,132,0,0,18,64,2,72,0,0,137,32,1,36,0,1,144 +,0,0,18,64,2,66,0,0,9,0,2,128,4,0,1,18,192,255,32,0,1,128,0,0,16,0,0, +2,64,0,0,8,0,0,1,32,0,0,4,0,1,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,27,1 +,0,7,64,0,0,8,0,1,32,0,2,224,251,4,0,44,128,0,0,16,0,0,2,64,0,0,8,0,1 +,32,0,1,128,0,0,16,0,0,2,64,0,0,8,0,3,4,0,1,16,129,254,32,0,0,4,161,0 +,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,32,20,0,0,2,64,0,0,8,0,0,1,32 +,0,0,4,0,15,32,16,0,0,2,64,0,0,8,0,0,1,0,1,4,1,0,0,16,0,0,2,64,16,8,0 +,0,65,0,0,8,0,0,128,32,0,1,2,112,253,0,9,2,0,56,2,0,5,184,253,0,74, +152,255,0,49,8,0,1,32,1,0,0,128,0,2,2,64,0,3,32,0,3,80,0,1,64,192,251 +,0,53,64,0,15,32,0,2,216,253,0,74,152,255,0,74,152,255,0,47,136,0,0,4 +,0,1,16,0,7,4,0,6,2,0,3,16,252,0,50,64,0,22,216,255,0,47,16,1,2,128,0 +,0,8,0,7,1,0,6,2,0,3,184,252,0,1,16,0,22,128,0,18,80,16,0,0,134,1,0,0 +,8,4,128,0,3,1,0,3,40,0,1,1,0,1,20,0,3,184,250,0,1,32,0,23,1,0,17,64, +16,128,0,0,4,0,0,2,16,0,0,2,0,7,32,0,0,128,0,2,4,0,3,168,254,0,48,4,2 +,0,7,1,0,14,168,251,0,65,64,0,7,216,255,0,74,152,255,0,74,152,255,0, +67,168,0,2,4,0,1,208,249,0,74,152,255,0,1,4,0,12,128,0,27,32,0,16,16, +0,0,2,0,8,192,255,0,1,4,0,71,216,255,0,74,152,255,0,8,1,0,57,4,1,0,1, +66,0,1,184,253,0,1,128,0,68,160,2,0,0,176,253,0,74,152,255,0,74,152, +255,0,74,152,255,0,74,152,255,0,45,128,0,5,8,0,8,2,0,10,48,253,0,74, +152,255,0,74,152,255,0,46,8,0,0,1,32,0,0,4,128,0,0,16,0,1,64,0,0,8,0, +0,1,0,1,4,0,3,2,0,1,8,0,0,16,255,0,2,16,0,12,8,0,29,32,0,1,1,0,8,32,0 +,7,16,0,3,8,253,0,2,16,0,13,2,0,25,128,0,0,16,0,0,2,64,0,0,8,0,1,32,0 +,1,128,0,0,16,0,0,2,64,0,0,8,0,3,4,0,1,16,0,0,104,253,0,11,2,0,1,8,0, +40,2,0,3,8,0,1,36,0,1,8,16,0,4,192,253,0,49,1,32,0,11,32,0,3,193,0,0, +128,0,2,208,252,0,74,152,255,0,74,152,255,128,0,17,32,0,24,64,0,0,8, +128,0,0,68,128,2,16,0,5,16,8,0,0,1,32,0,4,4,0,3,16,253,0,22,16,0,21, +64,0,4,4,0,0,128,0,15,4,0,2,24,254,64,0,17,64,0,2,8,0,20,64,0,0,9,0,0 +,1,34,64,6,8,0,0,2,0,3,8,16,0,0,2,64,0,1,1,0,1,2,8,0,2,208,248,0,0,4, +4,0,3,34,0,3,2,64,2,0,3,4,0,7,32,0,19,66,65,1,8,4,161,32,0,0,9,128,0, +0,32,1,2,1,0,0,18,0,0,160,0,5,8,8,249,0,47,128,0,0,65,0,0,2,144,128, +32,0,1,64,0,2,1,1,0,2,128,0,5,8,232,255,0,27,8,0,27,4,0,1,8,0,3,4,0,8 +,24,251,0,2,4,0,42,4,0,9,32,0,15,184,249,0,74,152,255,4,0,66,16,32,0, +1,5,0,1,185,254,0,67,64,0,1,64,0,0,1,0,0,152,254,0,9,4,0,63,152,251,0 +,55,8,0,4,128,0,11,144,255,0,1,16,0,13,2,0,26,128,0,16,64,0,0,8,0,8, +248,254,0,74,152,255,0,12,2,0,1,8,0,30,8,0,18,192,0,1,32,32,0,0,8,48, +251,0,46,4,0,1,16,0,9,128,0,6,48,0,1,2,0,1,192,252,0,74,152,255,0,9,2 +,0,56,2,0,5,252,249,0,24,1,0,48,152,254,0,25,2,0,47,184,255,0,24,7,0, +48,152,248,0,24,33,8,0,47,56,252,0,24,128,2,0,47,176,255,0,24,3,0,48, +152,252,0,24,12,0,48,16,251,0,24,12,2,0,47,48,251,0,17,16,0,5,41,16,0 +,33,192,68,2,0,10,8,255,0,24,4,0,35,2,0,11,184,251,0,17,240,0,5,8,0, +33,12,0,13,168,251,8,0,16,16,4,1,0,3,4,0,33,4,0,0,18,1,0,10,194,249,0 +,18,8,0,4,8,0,33,48,6,6,0,11,200,249,0,17,240,32,0,4,7,0,33,56,128,7, +2,0,10,40,248,4,0,16,192,32,0,4,8,0,33,48,0,0,6,2,0,10,209,250,0,17, +192,0,5,4,0,33,48,0,0,16,0,11,104,250,0,24,13,0,26,64,19,0,5,64,0,0,8 +,0,10,120,249,0,24,12,0,27,128,0,19,144,251,0,53,131,0,4,12,128,1,0, +11,120,248,4,0,23,32,8,0,26,35,0,4,4,128,0,12,2,252,12,0,23,32,16,0, +26,9,1,0,3,176,64,6,4,0,10,56,248,0,24,15,0,26,192,3,0,4,56,0,0,7,0, +11,224,255,8,0,24,2,0,26,3,0,4,48,0,0,6,0,11,193,253,0,24,64,0,27,35, +1,0,3,48,0,0,6,0,11,152,249,0,24,32,16,0,27,4,0,3,36,129,36,4,0,10, +208,251,0,24,12,0,34,32,0,12,48,249,0,24,15,2,0,25,192,0,5,32,32,4,4, +0,10,184,250,8,0,23,45,0,26,64,0,5,128,0,0,16,0,11,154,255,0,24,44,0, +27,11,2,0,4,1,32,0,11,8,251,0,24,15,2,0,25,128,3,0,4,28,136,3,1,0,10, +112,254,4,0,23,12,0,27,3,0,19,113,253,0,24,76,2,0,26,3,0,4,48,5,166,0 +,11,152,251,0,24,45,2,0,25,64,0,6,64,0,0,8,0,10,88,248,0,24,4,0,48, +152,251,0,53,131,0,4,12,128,1,0,11,120,248,8,0,23,64,2,0,26,3,0,4,4, +128,0,12,153,253,0,24,44,0,27,32,0,4,176,0,0,22,8,0,10,251,251,0,24, +15,2,0,25,192,3,1,0,3,56,32,7,0,11,224,252,4,0,52,131,0,4,48,0,0,6,0, +11,26,250,0,24,32,8,0,26,11,0,4,48,0,0,6,0,11,80,254,0,24,5,0,26,64, +131,0,4,52,9,0,0,8,0,10,216,248,0,24,8,0,33,48,0,13,32,255,0,24,11,0, +33,32,128,1,0,11,40,252,8,0,23,5,2,0,26,64,0,4,16,194,0,12,138,254,0, +24,70,2,0,26,33,0,4,48,1,22,0,11,152,252,0,24,9,0,26,192,3,2,0,3,12,8 +,7,2,0,10,56,253,4,0,23,10,2,0,26,1,0,4,32,0,0,6,0,11,49,249,0,24,36, +0,27,18,1,0,3,8,32,6,0,11,192,248,0,18,2,1,0,3,1,0,28,4,0,3,180,128, +32,0,1,74,16,0,7,192,250,0,25,2,0,32,48,8,0,0,2,0,10,32,253,0,17,48,0 +,5,4,2,0,25,192,0,5,32,0,0,4,1,0,0,8,0,8,240,254,8,0,16,16,0,5,136,0, +26,64,0,5,16,8,66,0,1,64,16,0,7,138,249,0,17,192,0,0,1,0,32,35,1,0,3, +176,16,64,0,2,5,0,7,168,253,0,17,240,0,5,5,0,26,128,3,0,4,12,128,1,2, +0,0,22,0,8,192,254,4,0,16,192,0,34,3,0,4,32,0,0,4,0,1,8,0,8,217,249,0 +,17,192,0,5,8,0,27,3,0,4,8,16,1,1,0,0,144,2,0,7,80,255,0,17,80,66,0,4 +,73,2,0,27,4,0,3,36,146,20,1,0,1,64,0,2,1,0,1,4,0,0,8,250,0,17,128,0, +5,4,0,33,48,0,0,6,0,11,72,251,0,17,112,0,5,11,0,26,192,0,7,4,0,11,168 +,248,8,0,16,144,0,5,5,2,0,25,64,0,6,18,6,4,0,10,50,251,0,17,64,0,5,10 +,0,27,35,2,0,3,48,0,0,38,0,3,11,0,1,76,8,0,0,48,65,240,250,0,17,176,0 +,5,9,0,26,128,3,0,4,28,144,3,1,0,1,192,3,1,0,0,15,0,1,60,0,0,152,250, +4,0,16,64,0,5,10,0,27,3,0,4,48,16,0,4,3,0,1,12,0,1,48,0,0,169,254,0, +17,128,0,5,8,0,27,3,0,4,16,1,64,8,0,2,3,0,1,12,0,1,48,0,1,253,0,74, +152,255,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16, +0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8 +,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,0,152,255, +0,74,152,255,40,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0, +0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64, +0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,0,178 +,253,0,17,32,0,5,2,0,26,128,64,0,4,136,32,17,4,0,10,136,250,32,0,0,4, +128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,2,2,64,0,0,8,0,1,32,0, +0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,0,1,8,0,0,1,32,0,3,16,0,0,2,64,0,0 +,8,0,0,1,32,0,0,4,0,0,192,254,4,0,73,201,250,32,0,0,4,128,0,0,16,0,0, +2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0, +15,32,0,0,4,128,0,0,16,0,0,2,0,1,8,0,0,1,32,0,3,16,0,0,2,64,0,0,8,0,0 +,1,32,0,0,4,0,0,208,255,0,74,152,255,0,74,152,255,0,54,2,0,4,32,0,0,4 +,0,10,248,251,0,60,64,0,0,8,0,10,208,251,0,60,8,0,12,16,255,0,65,4,0, +7,216,251,0,72,8,0,0,16,255,0,74,152,255,0,51,80,0,19,8,0,0,64,250,0, +15,4,0,1,16,0,2,160,8,0,0,128,0,24,64,0,13,1,0,2,128,0,2,72,253,0,22, +32,0,2,1,0,37,128,0,3,64,0,2,8,248,0,15,32,0,1,32,0,3,32,0,49,184,255 +,0,74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0, +74,152,255,0,74,152,255,0,74,152,255,0,17,64,128,0,33,1,0,4,16,0,0,2, +0,11,240,254,0,74,152,255,0,74,152,255,0,74,152,255,0,74,152,255,0,53 +,4,0,4,64,0,0,8,0,11,24,251,0,74,152,255,0,74,152,255,0,74,152,255,0, +59,8,0,12,64,144,251,0,74,152,255,0,61,128,0,11,16,255,0,54,1,0,4,84, +128,2,0,1,2,0,7,64,255,0,25,2,0,25,64,0,20,184,251,0,74,152,255,0,74, +152,255,8,0,44,128,0,0,128,0,0,4,64,2,16,0,1,64,1,0,15,128,128,249,0, +7,128,0,11,128,0,35,32,0,8,16,0,3,8,0,0,56,252,0,7,64,0,11,64,0,23, +128,0,1,1,2,64,4,8,0,1,32,2,32,0,2,20,0,4,8,0,3,4,0,0,240,249,0,16,10 +,0,30,2,0,1,8,0,2,16,4,2,0,1,40,0,2,16,128,32,2,0,0,1,128,0,0,4,0,0, +80,254,0,16,2,0,29,128,0,2,2,0,2,32,1,8,0,1,16,0,8,64,0,2,176,251,0, +64,2,0,8,184,255,0,19,1,0,4,16,0,25,64,0,20,136,250,2,0,65,2,0,2,1,0, +1,128,32,255,0,53,6,0,4,104,0,0,28,8,0,10,88,248,4,0,58,4,128,0,2,2,0 +,8,161,254,0,74,152,255,0,61,1,0,11,136,255,0,74,152,255,0,74,152,255 +,0,53,64,0,4,4,0,13,152,251,0,52,128,8,0,5,8,4,0,11,208,255,0,74,152, +255,0,74,152,255,0,46,128,16,0,0,192,8,0,12,2,0,8,160,251,0,50,32,0, +22,184,255,0,46,12,0,1,240,0,13,6,0,8,176,248,0,46,4,0,1,16,128,0,12, +2,0,8,120,254,0,46,48,33,0,15,24,5,0,7,120,249,0,46,56,0,1,224,0,13, +30,0,8,112,251,0,46,48,0,16,24,0,8,24,253,0,46,48,0,1,192,0,13,26,0,8 +,176,249,0,22,104,0,22,164,0,1,16,8,0,2,4,0,18,156,250,0,22,96,0,22, +16,32,0,1,64,0,22,248,248,0,22,120,0,26,64,0,0,192,0,20,208,252,8,0, +21,104,0,22,128,8,0,1,4,0,0,64,0,20,227,250,0,22,96,0,22,32,32,0,0, +128,128,0,1,3,0,19,145,249,0,22,120,0,22,60,0,1,48,0,1,128,3,1,0,18, +96,250,4,0,21,96,0,23,16,0,4,3,0,19,233,255,0,22,96,0,22,48,0,2,2,1,0 +,0,3,0,19,136,250,0,46,128,16,0,5,4,0,16,4,2,32,255,0,73,16,152,254,0 +,46,12,0,4,192,0,19,16,208,250,8,0,45,4,0,4,64,0,19,1,226,249,0,46,48 +,0,5,35,2,0,17,32,136,255,0,46,56,16,0,3,128,3,0,17,12,0,0,56,251,4,0 +,45,48,0,5,3,0,17,32,0,0,217,248,0,46,48,0,5,3,0,17,128,64,160,251,0, +46,4,0,4,64,67,0,7,8,0,3,8,4,0,0,32,16,0,1,112,254,0,53,2,0,13,32,0,1 +,128,0,1,24,253,0,46,48,16,0,4,3,0,5,128,1,0,5,32,0,1,128,0,2,255,8,0 +,45,48,1,0,4,3,2,0,4,128,0,6,2,0,1,8,0,1,178,252,0,47,65,0,4,11,4,0,5 +,134,0,5,64,0,0,128,0,0,1,0,0,208,248,0,46,60,0,4,192,3,0,6,7,0,4,24, +0,1,96,0,2,16,252,4,0,45,48,0,5,3,0,6,6,0,11,153,250,0,46,48,8,0,4,35 +,4,0,5,6,0,4,64,129,0,1,4,2,0,0,48,248,0,44,32,64,128,16,0,0,16,8,0,0 +,64,2,0,12,4,0,5,8,252,0,50,64,0,1,1,2,0,18,200,252,0,46,12,0,2,64,0, +1,3,0,10,192,0,7,232,252,8,0,44,128,4,0,2,4,0,1,35,4,0,9,64,0,7,234, +254,0,44,128,144,48,1,0,1,128,0,1,18,2,0,10,3,2,0,5,128,255,0,44,96,0 +,0,56,32,0,0,48,0,1,192,0,11,128,3,0,6,80,248,4,0,45,48,0,1,64,0,2,3, +1,0,10,3,0,6,249,252,0,46,50,0,2,2,1,128,0,12,3,0,6,16,252,0,46,52,9, +0,3,64,35,4,128,41,4,0,0,4,2,0,12,32,253,0,53,3,0,1,4,0,2,16,0,12,248 +,249,0,46,48,0,5,2,24,0,0,8,0,2,16,0,12,56,254,4,0,45,48,10,0,4,129,8 +,0,0,132,16,0,1,1,0,12,26,253,12,0,45,144,64,0,4,35,96,1,40,0,2,32,0, +12,112,253,0,46,60,0,4,192,0,0,114,32,3,8,0,0,12,0,13,80,248,8,0,45, +48,0,5,2,96,0,0,8,0,16,201,249,0,46,48,18,0,3,128,32,97,0,0,68,8,0,0, +144,64,0,12,56,249,0,22,104,66,0,2,52,34,0,14,32,0,0,52,2,0,3,64,11,0 +,9,3,0,4,16,0,2,32,249,0,22,96,0,3,48,0,17,48,32,0,4,131,0,19,56,250, +0,22,64,0,3,32,0,17,32,0,6,2,0,6,48,0,0,6,0,3,3,0,3,232,250,8,0,21,32 +,33,0,2,16,34,0,16,16,9,0,4,19,0,7,16,0,0,2,0,3,1,0,3,186,255,0,22,96 +,4,0,2,48,2,0,15,144,176,64,0,4,10,4,0,6,192,4,24,4,0,2,12,4,0,2,248, +255,0,22,24,64,0,2,12,32,0,14,96,0,0,12,0,4,192,1,0,7,224,64,28,0,3, +14,0,4,254,4,0,21,64,0,3,32,0,15,128,1,32,0,5,2,0,7,192,0,0,24,0,3,12 +,0,3,129,248,0,22,16,132,0,2,8,66,0,14,128,1,10,66,0,4,80,0,7,192,0,0 +,26,0,3,12,0,3,8,248,0,22,8,65,0,2,180,16,0,14,160,1,164,128,0,3,64, +35,0,2,32,16,0,4,2,0,8,136,255,0,22,96,0,3,48,0,15,128,1,16,32,0,4,3, +1,0,2,128,0,14,176,248,0,22,96,0,3,32,16,0,16,48,0,5,3,0,3,128,0,4,6, +0,8,96,250,8,0,21,96,10,0,2,16,0,17,48,65,0,4,35,1,0,2,8,0,4,2,0,8, +106,248,0,22,64,64,0,3,17,0,15,128,32,32,38,0,3,32,1,0,3,1,0,3,152,32 +,0,7,216,253,0,22,24,0,3,60,0,15,96,0,0,12,128,7,2,0,1,192,1,0,2,96,1 +,0,4,28,0,8,136,252,4,0,21,64,0,4,32,0,16,48,16,6,0,3,2,0,9,24,0,8, +121,250,0,22,32,16,0,2,16,1,0,15,4,2,0,0,6,0,3,161,0,3,4,2,0,3,24,0,8 +,248,252,0,64,4,0,8,216,255,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1, +32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0 +,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,1,64,0,0,8,0,0,1,32, +0,0,4,0,0,184,255,0,74,152,255,40,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0 +,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4, +128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0, +0,1,32,0,0,4,0,0,178,253,0,46,8,4,0,1,66,0,0,128,8,18,8,0,4,17,36,16, +0,0,128,64,0,1,2,1,0,2,152,248,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0 +,1,32,0,0,4,128,0,0,16,0,0,2,64,0,2,1,32,0,0,4,0,15,32,0,1,128,0,2,2, +0,3,1,32,0,0,4,0,4,4,0,0,8,0,1,32,0,0,4,0,0,232,255,4,0,73,201,250,32 +,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0 +,0,8,10,1,32,0,0,4,0,15,32,0,1,128,0,0,16,132,2,0,3,1,32,0,0,4,0,3, +130,16,0,0,8,0,1,32,0,0,4,0,0,120,252,0,74,152,255,0,74,152,255,0,46, +16,0,6,2,64,0,5,4,128,0,2,2,0,1,8,0,2,112,252,0,54,4,0,1,16,0,15,136, +250,0,74,152,255,0,74,152,255,0,47,128,0,0,4,32,0,0,16,0,8,64,0,8,16, +0,0,108,251,0,74,152,255,0,48,1,2,84,0,0,8,0,8,32,0,5,40,0,1,168,0,1, +250,0,23,72,0,23,66,5,0,0,8,4,128,0,8,2,0,0,64,5,0,1,32,32,1,0,1,248, +255,0,47,128,0,0,4,0,0,2,16,0,0,2,0,10,1,0,6,88,255,0,23,16,0,45,128, +0,2,68,251,0,23,32,0,3,16,0,17,64,0,5,1,0,18,248,255,0,74,152,255,0, +47,40,0,25,176,255,0,46,64,0,6,64,0,4,128,0,12,208,255,0,74,152,255,0 +,74,152,255,0,74,152,255,0,74,152,255,0,62,128,0,2,8,0,1,2,0,3,144, +253,0,47,4,0,25,216,251,0,74,152,255,0,74,152,255,0,74,152,255,0,27,8 +,0,15,64,0,0,8,0,4,128,0,20,88,255,0,47,16,0,1,2,0,6,4,128,0,7,1,0,1, +4,128,0,0,48,248,0,74,152,255,0,48,4,0,3,4,0,19,216,255,0,22,8,0,30,2 +,0,18,24,253,0,74,152,255,0,23,8,0,2,144,0,21,64,0,5,4,0,6,8,0,7,192, +250,0,45,2,8,0,2,1,0,1,72,0,3,2,64,0,0,128,0,4,128,0,2,2,64,0,0,64, +250,0,46,4,0,5,72,9,0,1,2,0,3,16,0,1,64,0,2,1,0,3,72,253,0,74,152,255 +,0,22,64,0,50,152,251,0,44,64,64,0,3,128,0,10,16,128,0,0,128,0,0,16,0 +,1,4,0,0,8,0,0,72,250,0,50,32,0,5,2,0,3,64,0,2,128,0,1,4,0,3,240,249, +0,22,32,0,3,16,0,15,64,168,16,0,2,212,0,1,128,0,2,8,0,3,48,64,0,0,128 +,0,0,18,0,0,1,4,0,0,8,0,0,232,255,0,45,208,2,138,0,3,4,2,0,0,68,68,32 +,0,1,36,6,128,0,0,16,0,0,128,64,0,0,4,128,0,2,8,255,0,46,1,8,0,3,16,0 +,2,1,0,3,1,0,4,2,0,0,2,64,0,2,160,249,0,53,1,0,5,136,0,0,32,0,0,4,0,1 +,8,0,5,232,254,0,28,8,0,44,24,255,0,74,152,255,0,44,64,0,0,34,0,1,96, +0,0,1,0,0,2,0,1,4,64,0,0,10,64,0,5,16,128,0,0,64,0,0,10,64,184,253,8, +0,46,8,0,25,186,253,16,0,22,8,0,2,16,0,45,144,254,0,23,128,0,3,64,0, +17,64,0,3,64,0,11,32,0,7,120,255,0,23,1,0,2,128,0,17,128,0,6,4,0,18,8 +,250,0,74,152,255,0,50,64,0,22,216,255,0,46,1,0,5,4,0,19,200,251,0,74 +,152,255,0,74,152,255,0,57,32,48,4,0,13,248,250,0,74,152,255,0,59,44, +0,13,240,251,0,58,4,149,16,0,12,8,251,0,58,16,24,0,13,128,254,0,57,96 +,128,36,0,13,16,253,0,58,128,40,0,13,56,255,0,58,5,16,0,13,216,255,0, +57,160,1,4,0,13,224,249,0,57,128,1,0,14,128,255,0,57,128,1,44,0,13, +232,251,8,0,56,128,1,148,16,0,12,106,248,0,58,72,24,0,14,251,0,57,96, +0,0,36,0,13,152,253,4,0,58,40,0,13,225,250,0,59,16,0,13,136,255,0,57, +32,4,6,0,13,152,251,0,57,128,0,15,144,255,0,59,44,0,13,240,251,8,0,57 +,40,148,16,0,12,242,250,0,58,136,24,0,13,136,255,0,57,96,0,0,36,0,13, +152,253,4,0,57,128,40,0,13,105,250,0,59,16,0,13,136,255,0,56,5,32,16, +4,0,13,168,253,0,56,8,0,1,1,0,13,128,254,0,56,11,0,1,44,0,13,200,248, +8,0,55,37,4,16,149,16,0,12,18,249,0,56,6,0,0,5,24,0,13,176,249,0,56,9 +,96,64,36,0,13,128,248,4,0,55,10,0,1,41,0,13,217,249,0,56,4,0,0,8,16, +0,13,72,251,0,56,1,32,0,0,4,0,13,232,248,0,58,64,0,14,152,251,0,56,11 +,0,1,44,0,13,200,248,8,0,55,37,4,0,0,149,16,0,12,18,248,0,56,6,0,0,8, +24,0,13,96,249,0,56,9,96,1,37,0,13,128,253,4,0,55,10,0,1,41,0,13,217, +249,0,56,4,64,8,16,0,13,8,255,0,56,1,32,4,38,0,13,168,250,0,59,16,0, +13,136,255,0,56,11,0,1,44,0,13,200,248,8,0,55,37,4,40,148,16,0,12,130 +,251,0,56,6,0,0,136,24,0,13,232,249,0,56,9,96,0,0,36,0,13,128,252,4,0 +,55,10,0,0,128,24,0,13,113,248,0,56,4,0,0,1,32,0,13,232,251,0,1,4,0, +53,1,32,8,0,14,104,252,0,58,65,0,14,136,251,0,56,11,0,16,160,252,8,0, +55,37,4,32,0,14,194,254,0,1,48,6,0,52,6,0,0,132,0,14,80,252,0,1,60,0, +53,9,96,0,15,32,251,4,0,0,48,0,53,10,0,16,225,251,0,1,48,0,53,4,64,4, +1,0,13,200,253,0,1,4,0,53,1,32,48,0,14,232,255,0,57,128,0,15,144,255, +0,56,11,0,16,160,252,8,0,55,37,4,4,1,0,13,146,253,0,1,48,6,0,52,6,0,0 +,16,0,14,152,253,0,1,60,0,53,9,96,128,0,14,168,251,4,0,0,48,0,53,10,0 +,0,128,0,14,105,251,0,1,48,0,53,4,0,0,4,0,14,152,248,0,74,152,255,32, +0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0, +0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0 +,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,0,152,255,0,74,152, +255,40,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0, +2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0 +,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,0,178,253,0,56 +,2,0,1,8,0,13,176,253,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0 +,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16, +0,0,2,64,0,0,8,0,1,32,0,1,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0, +0,200,250,4,0,73,201,250,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32, +0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0, +16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0 +,0,4,0,0,152,255,0,74,152,255,0,74,152,255,0,58,128,0,14,16,255,0,74, +152,255,0,74,152,255,0,74,152,255,0,59,16,8,0,13,255,0,74,152,255,0, +59,8,16,0,12,128,254,0,56,4,0,0,33,16,8,0,12,80,249,0,56,4,0,1,16,8,0 +,12,64,251,0,58,65,0,14,136,251,0,74,152,255,0,74,152,255,0,74,152, +255,16,0,56,64,0,15,140,255,0,74,152,255,0,74,152,255,4,0,0,4,0,71, +137,250,0,74,152,255,0,57,32,0,15,184,253,0,57,128,0,15,144,255,0,74, +152,255,0,56,8,0,1,32,0,13,176,255,0,74,152,255,0,74,152,255,0,74,152 +,255,0,58,64,0,14,152,251,0,74,152,255,0,74,152,255,0,74,152,255,0,74 +,152,255,0,57,128,64,0,14,144,251,0,57,32,0,15,184,253,0,74,152,255,0 +,74,152,255,0,55,16,4,0,2,8,0,12,80,250,0,74,152,255,128,0,54,32,2, +128,0,1,16,0,12,32,254,0,0,4,32,0,52,2,4,2,0,1,8,0,12,112,255,0,56,4, +2,0,1,8,0,12,80,249,0,1,16,0,71,152,254,0,74,152,255,0,74,152,255,0, +58,2,2,0,13,152,253,0,74,152,255,0,74,152,255,0,74,152,255,0,74,152, +255,0,74,152,255,0,58,4,0,14,216,255,0,74,152,255,0,74,152,255,0,74, +152,255,0,48,66,8,0,1,33,0,1,132,0,17,128,251,0,48,4,0,24,152,251,0, +47,128,5,0,1,22,0,1,88,0,18,208,248,0,47,128,66,8,0,0,10,33,0,0,40, +132,0,17,32,251,0,48,3,0,1,12,0,1,48,0,18,32,251,0,48,4,0,1,16,0,1,64 +,0,18,200,254,0,48,5,0,1,20,0,1,80,0,18,216,250,0,48,2,0,1,8,0,1,32,0 +,18,48,255,0,48,64,8,0,1,33,0,1,132,0,17,128,249,0,74,152,255,0,47, +128,5,0,1,22,0,1,88,0,18,208,248,8,0,46,128,66,8,0,0,10,33,0,0,40,132 +,0,17,10,249,0,48,3,0,1,12,0,1,48,0,18,32,251,0,48,4,0,1,16,0,1,64,0, +18,200,254,4,0,47,5,0,1,20,0,1,80,0,18,137,255,0,48,2,0,1,8,0,1,32,0, +18,48,255,0,48,64,8,0,1,97,8,2,132,0,17,136,255,0,74,152,255,0,47,128 +,5,0,1,22,0,1,88,0,18,208,248,8,0,46,128,66,8,0,0,10,33,8,42,132,0,17 +,2,251,0,48,3,0,1,12,0,0,8,52,0,18,40,255,0,48,4,0,1,16,192,0,0,64,0, +18,64,250,4,0,47,5,0,1,20,0,1,80,0,18,137,255,0,48,2,0,1,8,0,0,2,36,0 +,18,16,249,0,48,64,8,0,1,97,8,0,0,132,0,17,136,253,0,53,128,0,19,24, +255,0,47,128,5,0,1,22,0,1,88,0,18,208,248,8,0,46,128,66,8,0,0,10,33, +64,40,132,0,17,74,249,0,48,3,0,1,12,0,0,160,48,0,18,128,251,0,48,4,0, +1,16,192,0,0,64,0,18,64,250,4,0,47,5,0,1,20,0,0,128,80,0,18,9,255,0, +48,2,0,1,8,0,0,34,32,0,18,48,253,0,48,64,8,0,1,97,32,0,0,132,0,6,66,0 +,9,224,251,0,54,1,0,18,152,254,0,47,128,5,0,1,22,0,1,89,0,6,48,0,10, +224,249,8,0,46,128,66,8,0,0,10,33,8,40,132,0,5,16,0,10,18,249,0,48,3, +0,1,12,0,0,16,49,0,6,192,24,0,9,104,251,0,48,4,0,1,16,192,0,0,64,0,6, +224,0,10,160,250,4,0,47,5,0,1,20,0,1,80,0,6,192,0,10,73,255,0,48,2,0, +1,8,128,18,34,0,6,192,0,10,72,255,0,45,132,0,1,64,8,0,1,97,16,0,0,132 +,0,0,160,1,0,14,160,251,0,54,1,0,18,152,254,0,44,96,0,1,128,5,0,1,22, +0,1,90,0,1,128,129,0,14,32,250,8,0,43,32,0,1,128,66,8,0,0,10,33,0,0, +40,132,0,0,128,5,0,14,114,249,0,44,128,145,0,1,3,0,1,12,0,0,32,49,0,2 +,8,1,0,13,8,251,0,44,192,1,0,1,4,0,1,16,192,0,0,64,0,1,224,1,0,14,248 +,253,4,0,43,128,1,0,1,5,0,1,20,0,1,80,0,2,128,0,14,129,254,0,44,128,1 +,0,1,2,0,1,8,0,0,34,36,0,1,128,1,0,14,168,248,0,48,64,8,0,1,97,64,0,0 +,132,0,6,66,2,1,0,7,176,250,0,65,16,0,7,136,255,0,47,128,5,0,1,22,0,1 +,88,0,6,48,0,1,16,0,7,240,248,8,0,46,128,66,8,0,0,10,33,32,42,132,0,5 +,16,0,1,1,0,7,42,250,0,48,3,0,1,12,0,0,32,48,0,6,192,8,0,0,9,0,7,80, +250,0,48,4,0,1,16,192,0,0,66,0,6,224,128,6,0,8,200,248,4,0,47,5,0,1, +20,0,1,80,0,6,192,0,10,73,255,0,48,2,0,1,8,128,18,33,0,6,192,0,0,144, +8,0,7,200,253,0,12,32,0,34,64,216,0,1,97,0,0,66,132,0,6,66,0,3,33,0,4 +,24,251,0,49,192,0,3,32,0,18,48,249,0,47,128,5,192,0,0,22,0,1,88,0,6, +48,0,3,24,0,5,232,253,8,0,46,128,66,200,0,0,10,33,8,41,132,0,5,16,0,3 +,8,0,5,26,252,0,12,128,17,1,0,32,3,0,0,66,12,0,0,16,50,0,6,192,0,3,96 +,4,0,4,216,249,0,12,224,1,0,33,4,48,0,0,16,192,0,0,64,0,6,224,64,0,2, +112,32,0,4,184,252,4,0,11,128,1,0,33,5,0,1,20,0,1,49,0,6,192,0,3,96,0 +,5,49,254,0,12,128,1,0,33,2,0,1,8,0,0,18,64,0,6,192,0,3,96,0,5,184, +253,0,74,152,255,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4, +128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0 +,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0 +,0,152,255,0,74,152,255,40,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0 +,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,15,32,0,0,4,128,0,0, +16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0 +,0,4,0,0,178,253,0,44,64,32,0,1,129,0,1,4,2,0,0,16,8,0,5,32,16,0,2,16 +,8,0,4,120,249,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128, +0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,0,17,4,0,1,16,0,1,64,0,2,1,32,0, +0,4,128,0,2,2,64,0,2,1,32,0,0,4,0,0,32,253,4,0,73,201,250,32,0,0,4, +128,0,0,16,0,0,2,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0,0,8,0, +0,1,32,0,0,4,0,17,4,0,1,16,0,1,64,0,2,1,32,0,0,4,128,0,2,2,64,0,2,1, +32,0,0,4,0,0,32,253,0,74,152,255,0,74,152,255,0,44,128,0,3,64,0,6,128 +,0,3,64,0,3,32,0,5,80,249,0,58,32,0,14,152,253,0,74,152,255,0,74,152, +255,0,48,2,1,0,1,4,0,0,32,16,0,17,232,254,0,74,152,255,0,48,181,2,0,0 +,128,10,0,0,16,32,0,17,56,250,0,1,16,0,44,128,2,5,0,0,10,20,161,34,16 +,0,9,1,0,6,16,254,0,1,32,0,45,2,1,0,0,8,4,129,32,16,0,8,128,0,7,112, +253,0,74,152,255,0,74,152,255,0,74,152,255,0,53,64,0,7,16,0,3,128,0,5 +,64,255,16,0,51,64,74,4,0,18,164,249,2,0,72,128,48,253,0,74,152,255, +16,0,73,204,251,0,74,152,255,0,52,128,136,1,0,7,64,0,9,216,250,0,13,4 +,0,50,2,0,7,248,253,0,74,152,255,0,74,152,255,0,74,152,255,0,74,152, +255,0,74,152,255,0,53,4,0,8,1,0,9,216,250,0,74,152,255,0,74,152,255,0 +,74,152,255,0,74,152,255,0,52,64,0,0,4,0,9,8,0,7,144,255,0,44,96,0,1, +128,0,0,4,0,0,2,16,0,0,8,64,0,5,16,0,0,4,0,1,8,0,5,96,248,0,74,152, +255,0,74,152,255,0,48,2,1,32,8,4,0,1,16,4,2,0,1,8,0,3,64,0,7,232,250, +0,74,152,255,0,48,181,2,84,212,10,0,1,42,42,4,0,1,16,0,0,128,22,0,0, +128,0,7,192,254,0,13,1,0,31,1,128,2,64,4,10,20,0,2,228,10,0,1,129,8,0 +,3,160,8,0,5,152,251,0,48,2,64,0,0,8,4,0,2,1,2,0,7,128,0,6,72,250,0, +12,128,0,60,144,255,0,74,152,255,0,74,152,255,0,74,152,255,0,49,8,0,1 +,32,1,1,128,0,0,64,0,15,192,249,0,74,152,255,0,74,152,255,0,74,152, +255,0,74,152,255,0,53,7,0,19,232,248,0,52,128,128,2,0,8,32,0,8,144, +255,0,74,152,255,0,74,152,255,56,0,0,16,0,3,8,0,14,8,1,0,2,132,0,16, +68,132,0,5,8,2,0,4,136,0,12,214,255,0,1,32,0,3,16,0,5,1,0,1,4,0,5,1,0 +,2,128,0,16,5,128,0,3,82,0,0,8,0,4,128,0,0,16,0,11,144,254,0,74,152, +255,0,22,128,0,3,64,0,16,2,64,0,3,32,0,0,4,0,4,64,0,0,8,0,11,240,251, +0,0,22,192,2,72,0,0,9,96,1,42,128,4,144,0,0,22,64,2,88,0,0,9,32,1,42, +0,0,5,144,0,0,18,128,2,0,15,20,128,2,72,0,0,9,64,1,40,128,4,144,0,0, +18,128,2,80,128,10,80,1,42,64,5,168,0,0,21,160,2,240,255,128,12,144,1 +,48,0,0,6,200,128,19,0,0,3,96,128,12,128,1,50,0,0,6,192,128,19,48,3, +96,0,0,12,148,1,0,14,192,12,152,1,48,0,0,6,204,64,25,0,0,3,96,0,0,12, +148,129,50,208,4,154,128,19,112,2,77,160,9,56,1,24,253,255,255,0}; +typedef struct{const unsigned char*l94;unsigned char l122;unsigned +char l160;}l185;static unsigned short l692(l185*l38,const unsigned +char*l94){unsigned short w;w= *l94++;w|= *l94++<<8;l38->l94=l94;l38-> +l122=0;l38->l160=0;return w;}static unsigned char l293(l185*l38){{if( +!(l38->l160>0))goto l645;{--l38->l160;return l38->l122;}l645:;}l38-> +l122= *l38->l94++;{if(!(l38->l122==0))goto l638;l38->l160= *l38->l94 +++;l638:;}return l38->l122;}static int l559(s*b){const unsigned char* +l72=0;unsigned short w;unsigned short q;unsigned char r;l185 l38;int c +;q=4|32|64|128; * (volatile unsigned short* )((b)->g+1024)=q|2|1; * ( +volatile unsigned short* )((b)->g+1028)=q; * (volatile unsigned short + * )((b)->g+1028)=(q^=(32|4));{c=0;l630:if(!(( * (volatile unsigned +short* )((b)->g+1028)&(8|16))))goto l621;goto l616;l622:c++;goto l630 +;l616:{{if(!(c==3))goto l613;{; * (volatile unsigned short* )((b)->g+ +1024)=255;return 1;}l613:;}}goto l622;l621:;}{c=0;l606:if(!(c<30))goto +l267;goto l266;l603:c++;goto l606;l266:{ * (volatile unsigned short* )( +(b)->g+1028)=q;}goto l603;l267:;} * (volatile unsigned short* )((b)-> +g+1028)=(q|=4);{c=0;l264:if(!(( * (volatile unsigned short* )((b)->g+ +1028)&(8|16))!=8))goto l260;goto l259;l262:c++;goto l264;l259:{{if(!( +c==60))goto l255;{; * (volatile unsigned short* )((b)->g+1024)=255; +return 1;}l255:;}}goto l262;l260:;}{c=0;l241:if(!(c<15))goto l238; +goto l811;l239:c++;goto l241;l811:{ * (volatile unsigned short* )((b)-> +g+1028)=q;}goto l239;l238:;}{if(!(!b->l72[(b->l173= * (volatile +unsigned short* )((b)->g+1028)>>(8+5))]))goto l796;{switch(b->l173){ +case 1:l72=l449;break;case 2:l72=l437;break;case 3:l72=l525;break; +case 6:l72=l655;break;case 7:l72=l565;break;default:; * (volatile +unsigned short* )((b)->g+1024)=255; * (volatile unsigned short* )((b)-> +g+1028)=32|64|128;return 2;break;}}goto l790;l796:;{l72=b->l72[b-> +l173];}l790:;}w=l692(&l38,l72);;{;l774:if(!(w>0))goto l762;goto l750; +l733:--w;goto l774;l750:{r=l293(&l38);{if(!(( * (volatile unsigned +short* )((b)->g+1028)&8)==0))goto l728;{;goto l215;}l728:;}{if(!(( * ( +volatile unsigned short* )((b)->g+1028)&16)))goto l722;{{c=0;l716:if( +!(c<20))goto l644;goto l641;l647:++c;goto l716;l641:( * (volatile +unsigned short* )((b)->g+1028)=(q|2), * (volatile unsigned short* )(( +b)->g+1028)=q);goto l647;l644:;}{if(!(( * (volatile unsigned short* )( +(b)->g+1028)&8)==0))goto l637;{;goto l215;}l637:;}; * (volatile +unsigned short* )((b)->g+1024)=255;return 0;}l722:;}{{if(!(r&1))goto +l624;q|=1;goto l629;l624:;q&=~1;l629:;} * (volatile unsigned short* )( +(b)->g+1028)=q;( * (volatile unsigned short* )((b)->g+1028)=(q|2), * ( +volatile unsigned short* )((b)->g+1028)=q);};{{if(!(r&2))goto l627;q +|=1;goto l618;l627:;q&=~1;l618:;} * (volatile unsigned short* )((b)-> +g+1028)=q;( * (volatile unsigned short* )((b)->g+1028)=(q|2), * ( +volatile unsigned short* )((b)->g+1028)=q);};{{if(!(r&4))goto l623;q +|=1;goto l619;l623:;q&=~1;l619:;} * (volatile unsigned short* )((b)-> +g+1028)=q;( * (volatile unsigned short* )((b)->g+1028)=(q|2), * ( +volatile unsigned short* )((b)->g+1028)=q);};{{if(!(r&8))goto l592;q +|=1;goto l590;l592:;q&=~1;l590:;} * (volatile unsigned short* )((b)-> +g+1028)=q;( * (volatile unsigned short* )((b)->g+1028)=(q|2), * ( +volatile unsigned short* )((b)->g+1028)=q);};{{if(!(r&16))goto l589;q +|=1;goto l587;l589:;q&=~1;l587:;} * (volatile unsigned short* )((b)-> +g+1028)=q;( * (volatile unsigned short* )((b)->g+1028)=(q|2), * ( +volatile unsigned short* )((b)->g+1028)=q);};{{if(!(r&32))goto l586;q +|=1;goto l577;l586:;q&=~1;l577:;} * (volatile unsigned short* )((b)-> +g+1028)=q;( * (volatile unsigned short* )((b)->g+1028)=(q|2), * ( +volatile unsigned short* )((b)->g+1028)=q);};{{if(!(r&64))goto l585;q +|=1;goto l584;l585:;q&=~1;l584:;} * (volatile unsigned short* )((b)-> +g+1028)=q;( * (volatile unsigned short* )((b)->g+1028)=(q|2), * ( +volatile unsigned short* )((b)->g+1028)=q);};{{if(!(r&128))goto l579; +q|=1;goto l578;l579:;q&=~1;l578:;} * (volatile unsigned short* )((b)-> +g+1028)=q;( * (volatile unsigned short* )((b)->g+1028)=(q|2), * ( +volatile unsigned short* )((b)->g+1028)=q);};}goto l733;l762:;};l215: +;return 3;}static unsigned char v(s*b,unsigned char z){unsigned short +l87=z|65280|b->l148;unsigned char r; * (volatile unsigned short* )((b +)->g+1024)=255; * (volatile unsigned short* )((b)->g+1028)=l87; * ( +volatile unsigned short* )((b)->g+1024)=255; * (volatile unsigned +short* )((b)->g+1028)=l87^128; * (volatile unsigned short* )((b)->g+ +1024)=255;r= * (volatile unsigned short* )((b)->g+1028)>>8; * ( +volatile unsigned short* )((b)->g+1028)=l87;return r;}static void l(s + *b,unsigned char z,unsigned char r){unsigned short l87=z|r<<8|b-> +l148; * (volatile unsigned short* )((b)->g+1024)=65535; * (volatile +unsigned short* )((b)->g+1028)=l87; * (volatile unsigned short* )((b)-> +g+1024)=65535; * (volatile unsigned short* )((b)->g+1028)=l87^64; * ( volatile unsigned short* )((b)->g+1024)=65535; * (volatile unsigned -short* )((b)->g+1028)=l89^64; * (volatile unsigned short* )((b)->g+ -1024)=65535; * (volatile unsigned short* )((b)->g+1028)=l89; * ( -volatile unsigned short* )((b)->g+1024)=b->l70;}static unsigned char -l57(e*a,unsigned char y){l(a->d,a->l51,y);return v(a->d,a->d->l85);} -static void i(e*a,unsigned char y,unsigned char n){l(a->d,a->l51,y);l -(a->d,a->d->l85,n);}static unsigned char l92(e*a,unsigned char y, -unsigned char l213){unsigned char n;l(a->d,a->l51,y);l(a->d,a->d->l85 -,l213);l(a->d,a->l51,y);n=v(a->d,a->d->l85)&l213;l(a->d,a->l51,y);l(a -->d,a->d->l85,n);return n;}static void l166(s*b,unsigned char n, -unsigned char l27){int c;l(b,40,l27);{c=0;l590:if(!(c<8))goto l578; -goto l587;l589:++c;goto l590;l587:{{if(!((n>>c)&1))goto l586;{l(b,40, -l27|4);l(b,40,l27|4);l(b,40,l27|4);l(b,40,l27|4);l(b,40,l27|4|8);l(b, -40,l27|4|8);l(b,40,l27|4|8);l(b,40,l27|4|8);}goto l585;l586:;{l(b,40, -l27);l(b,40,l27);l(b,40,l27);l(b,40,l27);l(b,40,l27|8);l(b,40,l27|8); -l(b,40,l27|8);l(b,40,l27|8);}l585:;}}goto l589;l578:;}l(b,40,l27);} -static void l104(e*a,unsigned char y,unsigned char n){unsigned char -l27=16<<a->r;l(a->d,40,0);l166(a->d,(y<<1)|0,l27);l166(a->d,n,l27);l( -a->d,40,0);}static unsigned char l610(e*a,unsigned char y){unsigned -char l27=16<<a->r;unsigned char n=0;int c;l(a->d,40,0);l166(a->d,(y<< -1)|1,l27);{c=0;l584:if(!(c<8))goto l555;goto l554;l556:++c;goto l584; -l554:{l(a->d,40,l27|8);{if(!(v(a->d,a->l42)&128))goto l552;n|=1<<c; -l552:;}l(a->d,40,l27);}goto l556;l555:;}l(a->d,40,0);return n;} -unsigned long cp_regio(e*a,int l203,int y,unsigned long n){switch( -l203){case 0:n=v(a->d,(unsigned char)y);break;case 1:n=l57(a,( -unsigned char)y);break;case 2:n=l92(a,(unsigned char)y,255);break; -case 3:n=l610(a,16);break;case 4:n=v(a->d,(unsigned char)y);l(a->d,( -unsigned char)y,(unsigned char)n);break;case 9:l(a->d,(unsigned char)y -,(unsigned char)n);n=v(a->d,(unsigned char)y);break;case 5:l(a->d,( -unsigned char)y,(unsigned char)n);break;case 6:l104(a,16,(unsigned -char)n);break;case 7: * (unsigned long* )(a->x+y)=n;n= * (unsigned -long* )(a->x+y);break;case 8:i(a,(unsigned char)y,(unsigned char)n);n -=l57(a,(unsigned char)y);break;}return n;}static unsigned short l527( -s*b){int c;unsigned short n;unsigned short l223; * (volatile unsigned -short* )((b)->g+1024)=255;{c=255;l550:if(!(c>=0))goto l547;goto l545; -l537:c--;goto l550;l545:{ * (volatile unsigned short* )((b)->g+1028)= -c|32; * (volatile unsigned short* )((b)->g+1024)=255;n=( * (volatile -unsigned short* )((b)->g+1028))>>8;l223=((c&(~32))|((~(c<<1))&32));{ -if(!(n!=l223))goto l542;{ * (volatile unsigned short* )((b)->g+1028)= -32; * (volatile unsigned short* )((b)->g+1024)=b->l70; * (volatile -unsigned short* )((b)->g+1028)=b->l70;return(c|(n<<8));}l542:;}}goto -l537;l547:;} * (volatile unsigned short* )((b)->g+1024)=b->l70; * ( -volatile unsigned short* )((b)->g+1028)=b->l70;return 0;}unsigned -short cp_init(s*b,int r,unsigned char*g){unsigned char l49;e*a;b->g=g -;b->r=(unsigned char)r;b->l28=0;b->l179=0; * (volatile unsigned long* -)((b)->g+8)=262144; * (volatile unsigned short* )((b)->g+1032)=65535; - * (volatile unsigned short* )((b)->g+1028)=65535; * (volatile -unsigned short* )((b)->g+1024)=65535;b->l132=4;b->l115=0;b->l70=192;b -->l85=38;l49=v(b,0);{if(!((l49^128)!=v(b,0)))goto l539;{unsigned short -l191;const unsigned char*l73=0;{if(!((l49&56)!=40))goto l486;{switch( -l49>>5){case 2:l73=l435;break;case 3:l73=l518;break;case 6:l73=l655; -break;case 7:l73=l557;break;default:return 65535;}{if(!(b->l73))goto -l466;l73=b->l73;l466:;}{if(!(l73==0))goto l463;return 65535;l463:;} -l512(b,l73);b->l577=l49>>5;{if(!((l191=l527(b))))goto l414;return l191 -;l414:;}b->l70=224;b->l85=30;l49=v(b,0);}l486:;}}l539:;}switch(l49&56 -){default:b->f=0;strcpy(b->l43,"\x55\x6e\x6b\x6e\x6f\x77\x6e");break; -case 56:{if(!(l49&64))goto l368;{b->f=6;strcpy(b->l43,"\x54\x61\x75" -"\x2d\x50\x43\x49\x34");}goto l367;l368:;{b->f=1;strcpy(b->l43,"\x54" -"\x61\x75\x2d\x50\x43\x49");}l367:;}break;case 8:{if(!(l49&64))goto -l365;{b->f=10;strcpy(b->l43,"\x54\x61\x75\x2d\x50\x43\x49\x34\x2d\x45" -"\x31\x2f\x58");}goto l363;l365:;{b->f=5;strcpy(b->l43,"\x54\x61\x75" -"\x2d\x50\x43\x49\x2d\x45\x31");}l363:;}break;case 16:{if(!(l49&64))goto -l371;{b->f=7;strcpy(b->l43,"\x54\x61\x75\x2d\x50\x43\x49\x34\x2d\x47" -"\x37\x30\x33\x2f\x58");}goto l372;l371:;{b->f=4;strcpy(b->l43,"\x54" -"\x61\x75\x2d\x50\x43\x49\x2d\x47\x37\x30\x33");}l372:;}break;case 24 -:{if(!(l49&64))goto l393;{b->f=10;strcpy(b->l43,"\x54\x61\x75\x2d\x50" -"\x43\x49\x34\x2d\x32\x45\x31\x2f\x58");}goto l338;l393:;{b->f=9; -strcpy(b->l43,"\x54\x61\x75\x2d\x50\x43\x49\x2d\x32\x45\x31");}l338:; +short* )((b)->g+1028)=l87; * (volatile unsigned short* )((b)->g+1024)= +255;}static unsigned char l52(e*a,unsigned char z){l(a->d,a->l49,z); +return v(a->d,a->d->l95);}static void i(e*a,unsigned char z,unsigned +char r){l(a->d,a->l49,z);l(a->d,a->d->l95,r);}static unsigned char l97 +(e*a,unsigned char z,unsigned char l214){unsigned char r;l(a->d,a-> +l49,z);l(a->d,a->d->l95,l214);l(a->d,a->l49,z);r=v(a->d,a->d->l95)& +l214;l(a->d,a->l49,z);l(a->d,a->d->l95,r);return r;}static void l177( +s*b,unsigned char r,unsigned char l27){int c;l(b,40,l27);{c=0;l553:if +(!(c<8))goto l551;goto l550;l552:++c;goto l553;l550:{{if(!((r>>c)&1))goto +l547;{l(b,40,l27|4);l(b,40,l27|4);l(b,40,l27|4);l(b,40,l27|4);l(b,40, +l27|4|8);l(b,40,l27|4|8);l(b,40,l27|4|8);l(b,40,l27|4|8);}goto l542; +l547:;{l(b,40,l27);l(b,40,l27);l(b,40,l27);l(b,40,l27);l(b,40,l27|8); +l(b,40,l27|8);l(b,40,l27|8);l(b,40,l27|8);}l542:;}}goto l552;l551:;}l +(b,40,l27);}static void l104(e*a,unsigned char z,unsigned char r){ +unsigned char l27=16<<a->p;l(a->d,40,0);l177(a->d,(z<<1)|0,l27);l177( +a->d,r,l27);l(a->d,40,0);}static unsigned char l604(e*a,unsigned char +z){unsigned char l27=16<<a->p;unsigned char r=0;int c;l(a->d,40,0); +l177(a->d,(z<<1)|1,l27);{c=0;l540:if(!(c<8))goto l539;goto l535;l533: +++c;goto l540;l535:{l(a->d,40,l27|8);{if(!(v(a->d,a->l45)&128))goto +l470;r|=1<<c;l470:;}l(a->d,40,l27);}goto l533;l539:;}l(a->d,40,0); +return r;}unsigned long cp_regio(e*a,int l207,int z,unsigned long r){ +switch(l207){case 0:r=v(a->d,(unsigned char)z);break;case 1:r=l52(a,( +unsigned char)z);break;case 2:r=l97(a,(unsigned char)z,255);break; +case 3:r=l604(a,16);break;case 4:r=v(a->d,(unsigned char)z);l(a->d,( +unsigned char)z,(unsigned char)r);break;case 9:l(a->d,(unsigned char)z +,(unsigned char)r);r=v(a->d,(unsigned char)z);break;case 5:l(a->d,( +unsigned char)z,(unsigned char)r);break;case 6:l104(a,16,(unsigned +char)r);break;case 7: * (unsigned long* )(a->x+z)=r;r= * (unsigned +long* )(a->x+z);break;case 8:i(a,(unsigned char)z,(unsigned char)r);r +=l52(a,(unsigned char)z);break;}return r;}static unsigned short l519( +s*b){int c;unsigned short r;unsigned short l226; * (volatile unsigned +short* )((b)->g+1024)=255;{c=255;l416:if(!(c>=0))goto l368;goto l366; +l365:c--;goto l416;l366:{ * (volatile unsigned short* )((b)->g+1028)= +c|32; * (volatile unsigned short* )((b)->g+1024)=255;r=( * (volatile +unsigned short* )((b)->g+1028))>>8;l226=((c&(~32))|((~(c<<1))&32));{ +if(!(r!=l226))goto l370;{ * (volatile unsigned short* )((b)->g+1028)= +255;return(c|(r<<8));}l370:;}}goto l365;l368:;} * (volatile unsigned +short* )((b)->g+1028)=255;return 0;}unsigned short cp_init(s*b,int p, +unsigned char*g){unsigned char l59;unsigned short l225;e*a;b->g=g;b-> +p=(unsigned char)p;b->l29=0;b->l174=0; * (volatile unsigned long* )(( +b)->g+8)=262144; * (volatile unsigned short* )((b)->g+1032)=65535; * ( +volatile unsigned short* )((b)->g+1024)=0;b->l128=4;b->l115=0;b->l148 +=192;b->l95=38;switch(l559(b)){case 0:b->l148|=32;;{if(!((l225=l519(b +))))goto l371;return l225;l371:;}break;case 1:l59=v(b,0);{if(!((l59& +56)!=40&&(l59&128)==(v(b,0)&128)))goto l372;{return 65535;}l372:;} +break;case 2:case 3:default:return 65535;break;}l59=v(b,0);switch(l59 +&56){default:b->f=0;strcpy(b->l43,"\x55\x6e\x6b\x6e\x6f\x77\x6e"); +break;case 56:{if(!(l59&64))goto l373;{b->f=6;strcpy(b->l43,"\x54\x61" +"\x75\x2d\x50\x43\x49\x34");}goto l359;l373:;{b->f=1;strcpy(b->l43,"" +"\x54\x61\x75\x2d\x50\x43\x49");}l359:;}break;case 8:{if(!(l59&64))goto +l395;{b->f=10;strcpy(b->l43,"\x54\x61\x75\x2d\x50\x43\x49\x34\x2d\x45" +"\x31\x2f\x58");}goto l337;l395:;{b->f=5;strcpy(b->l43,"\x54\x61\x75" +"\x2d\x50\x43\x49\x2d\x45\x31");}l337:;}break;case 16:{if(!(l59&64))goto +l397;{b->f=7;strcpy(b->l43,"\x54\x61\x75\x2d\x50\x43\x49\x34\x2d\x47" +"\x37\x30\x33\x2f\x58");}goto l398;l397:;{b->f=4;strcpy(b->l43,"\x54" +"\x61\x75\x2d\x50\x43\x49\x2d\x47\x37\x30\x33");}l398:;}break;case 24 +:{if(!(l59&64))goto l399;{b->f=10;strcpy(b->l43,"\x54\x61\x75\x2d\x50" +"\x43\x49\x34\x2d\x32\x45\x31\x2f\x58");}goto l400;l399:;{b->f=9; +strcpy(b->l43,"\x54\x61\x75\x2d\x50\x43\x49\x2d\x32\x45\x31");}l400:; }break;case 32:b->f=11;strcpy(b->l43,"\x54\x61\x75\x2d\x50\x43\x49" "\x2d\x34\x45\x31");break;case 40:b->f=2;strcpy(b->l43,"\x54\x61\x75" "\x2d\x50\x43\x49\x2d\x45\x33");break;case 48:b->f=3;strcpy(b->l43,"" "\x54\x61\x75\x2d\x50\x43\x49\x2d\x48\x53\x53\x49");break;}{if(!(b->f -==2))goto l395;{switch(l49&6){default:break;case 6:b->k->f=4;b->l80= +==2))goto l401;{switch(l59&6){default:break;case 6:b->k->f=4;b->l77= 34368000;break;case 4:strcpy(b->l43,"\x54\x61\x75\x2d\x50\x43\x49\x2d" -"\x54\x33");b->k->f=7;b->l80=44736000;break;case 2:strcpy(b->l43,"" +"\x54\x33");b->k->f=7;b->l77=44736000;break;case 2:strcpy(b->l43,"" "\x54\x61\x75\x2d\x50\x43\x49\x2d\x53\x54\x53\x2d\x31");b->k->f=8;b-> -l80=51840000;break;}}goto l396;l395:;{switch(l49&6){default:break; -case 6:b->l80=32768000;break;case 4:b->l80=16384000;break;}}l396:;}{a -=b->k;l397:if(!(a<b->k+4))goto l399;goto l400;l333:++a;goto l397;l400 -:{a->d=b;l190(a);}goto l333;l399:;}return 0;}static void l68(e*a){ -unsigned char l76=1;{if(!(a->f!=4&&a->f!=7&&a->f!=8))goto l401;return -;l401:;}{if(!(a->l60))goto l330;l76|=2;l330:;}{if(!(a->l168))goto l424 -;l76|=8;l424:;}{if(!(a->l165))goto l425;l76|=48;goto l426;l425:;{if(! -(a->l87))goto l427;{switch(a->f){case 4:l76|=16;break;case 7:l76|=32; -break;case 8:default:break;}}l427:;}l426:;}{if(!(a->l150))goto l428; -l76|=128;goto l430;l428:;{if(!(a->l54))goto l431;l76|=64;l431:;}l430: -;}{if(!(a->l180))goto l432;l76|=4;l432:;}l(a->d,8,l76);}static void -l190(e*a){a->r=a-a->d->k;a->w=0;a->l157=0;a->l145=0;a->l164=0;a->l178 -=0;a->l54=0;a->l150=0;a->l60=0;a->l128=0;a->j=~1;a->l187=0;a->l46=0;a -->l53=0;a->u=a->r;a->l32=0;a->l40=0;a->l26=0;a->l37=0;a->l87=0;a-> -l165=0;a->l168=0;a->l122=1;switch(a->d->f){default:a->f=0;break;case 6 +l77=51840000;break;}}goto l330;l401:;{switch(l59&6){default:break; +case 6:b->l77=32768000;break;case 4:b->l77=16384000;break;}}l330:;}{a +=b->k;l403:if(!(a<b->k+4))goto l426;goto l427;l404:++a;goto l403;l427 +:{a->d=b;l192(a);}goto l404;l426:;}return 0;}static void l68(e*a){ +unsigned char l80=1;{if(!(a->f!=4&&a->f!=7&&a->f!=8))goto l428;return +;l428:;}{if(!(a->l66))goto l429;l80|=2;l429:;}{if(!(a->l166))goto l430 +;l80|=8;l430:;}{if(!(a->l179))goto l431;l80|=48;goto l432;l431:;{if(! +(a->l82))goto l433;{switch(a->f){case 4:l80|=16;break;case 7:l80|=32; +break;case 8:default:break;}}l433:;}l432:;}{if(!(a->l140))goto l434; +l80|=128;goto l435;l434:;{if(!(a->l54))goto l457;l80|=64;l457:;}l435: +;}{if(!(a->l165))goto l275;l80|=4;l275:;}l(a->d,8,l80);}static void +l192(e*a){a->p=a-a->d->k;a->y=0;a->l151=0;a->l145=0;a->l164=0;a->l176 +=0;a->l54=0;a->l140=0;a->l66=0;a->l133=0;a->j=~1;a->l184=0;a->l44=0;a +->l56=0;a->u=a->p;a->l33=0;a->l40=0;a->l26=0;a->l37=0;a->l82=0;a-> +l179=0;a->l166=0;a->l127=1;switch(a->d->f){default:a->f=0;break;case 6 :a->f=1;break;case 11:a->f=3;break;case 8:a->f=2;break;case 10:a->f=a -->r<2?3:1;break;case 9:a->f=a->r<2?3:6;break;case 7:a->f=a->r<2?2:1; -break;case 1:a->f=a->r<2?1:0;break;case 5:a->f=a->r<2?3:0;break;case 4 -:a->f=a->r<2?2:0;break;case 2:a->f=a->r==0?a->f:0;break;case 3:a->f=a -->r==0?5:0;break;}{if(!(a->f==6))goto l433;a->j=0;l433:;}a->x=a->d->g -+a->r*128+256;switch(a->r){case 0:a->l127=(unsigned long* )(a->d->g+ -20);a->l133=(unsigned long* )(a->d->g+36);a->l83=(unsigned long* )(a -->d->g+80);a->l129=(unsigned long* )(a->d->g+84);a->l94=(unsigned long - * )(a->d->g+152);a->l159=(unsigned long* )(a->d->g+200);a->l79=( -unsigned long* )(a->d->g+88);a->l126=(unsigned long* )(a->d->g+176);a -->l149=(unsigned long* )(a->d->g+224);a->l69=4;a->l82=4;a->l63=32;a-> -l42=36;a->l51=32;a->l59=12;break;case 1:a->l127=(unsigned long* )(a-> -d->g+24);a->l133=(unsigned long* )(a->d->g+40);a->l83=(unsigned long* -)(a->d->g+92);a->l129=(unsigned long* )(a->d->g+96);a->l94=(unsigned -long* )(a->d->g+156);a->l159=(unsigned long* )(a->d->g+204);a->l79=( -unsigned long* )(a->d->g+100);a->l126=(unsigned long* )(a->d->g+180); -a->l149=(unsigned long* )(a->d->g+228);a->l69=5;a->l82=5;a->l63=34;a -->l42=38;a->l51=34;a->l59=14;break;case 2:a->l127=(unsigned long* )(a -->d->g+28);a->l133=(unsigned long* )(a->d->g+44);a->l83=(unsigned long - * )(a->d->g+104);a->l129=(unsigned long* )(a->d->g+108);a->l94=( -unsigned long* )(a->d->g+160);a->l159=(unsigned long* )(a->d->g+208); -a->l79=(unsigned long* )(a->d->g+112);a->l126=(unsigned long* )(a->d -->g+184);a->l149=(unsigned long* )(a->d->g+232);a->l69=6;a->l82=6;a-> -l63=48;a->l42=52;a->l51=48;a->l59=13;break;case 3:a->l127=(unsigned -long* )(a->d->g+32);a->l133=(unsigned long* )(a->d->g+48);a->l83=( -unsigned long* )(a->d->g+116);a->l129=(unsigned long* )(a->d->g+120); -a->l94=(unsigned long* )(a->d->g+164);a->l159=(unsigned long* )(a->d -->g+212);a->l79=(unsigned long* )(a->d->g+124);a->l126=(unsigned long - * )(a->d->g+188);a->l149=(unsigned long* )(a->d->g+236);a->l69=7;a-> -l82=7;a->l63=50;a->l42=54;a->l51=50;a->l59=15;break;}{if(!(a->d->l85 -==30))goto l434;{a->l37=1;switch(a->r){case 0:a->l63=16;a->l35=20;a-> -l51=24;break;case 1:a->l63=18;a->l35=21;a->l51=26;break;case 2:a->l63 -=17;a->l35=22;a->l51=25;break;case 3:a->l63=19;a->l35=23;a->l51=27; -break;}}l434:;}l68(a);}static void l151(e*a){unsigned char l143;{if(! -(!a->l35))goto l455;return;l455:;}{if(!(a->d->k[a->u].l31))goto l277; -l143=a->r;goto l457;l277:;l143=a->u;l457:;}{if(!(!a->l31&&!a->l58))goto -l458;l143|=4;l458:;}l(a->d,a->l35,l143);}void cp_hard_reset(s*b){l(b, -0,128);}static void l735(e*a){int c;i(a,172,1);{c=0;l459:if(!(c<=255))goto -l461;goto l270;l267:c++;goto l459;l270:{{if(!(c!=172))goto l469;i(a, -192,0);l469:;}}goto l267;l461:;}i(a,172,0);{c=0;l269:if(!(c<=255))goto -l820;goto l821;l818:c++;goto l269;l821:{{if(!(c!=172))goto l410;i(a, -192,0);l410:;}}goto l818;l820:;}}void cp_reset(s*b,l170*l67,unsigned -long l74){e*a;{if(!(!b->g))goto l823;return;l823:;}{if(!(l67))goto -l824;memset(l67,0,sizeof(l170));l824:;} * (volatile unsigned long* )( -(b)->g+8)=262144; * (volatile unsigned short* )((b)->g+1032)=65535; * -(volatile unsigned short* )((b)->g+1028)=65535; * (volatile unsigned -short* )((b)->g+1024)=65535; * (volatile unsigned long* )((b)->g+768)= -4194304;l(b,0,b->l132&~4);cp_led(b,0); * (volatile unsigned long* )(( -b)->g+12)=(128/32-1)<<28|(128/32-1)<<24|(128/32-1)<<20|(128/32-1)<<16 -|(128/32-1)<<12|(128/32-1)<<8|(128/32-1)<<4|(128/32-1); * (volatile -unsigned long* )((b)->g+16)=(128/32-1)<<16; * (volatile unsigned long - * )((b)->g+68)=1108361216; * (volatile unsigned long* )((b)->g+72)= -3740719104UL; * (volatile unsigned long* )((b)->g+52)=404232216; * ( -volatile unsigned long* )((b)->g+76)=7;cp_set_mux(b,b->l28);{if(!(l67 -))goto l825;{b->l95=l67->l95; * (volatile unsigned long* )((b)->g+64)= -l74+((char* )b->l95-(char* )l67);}l825:;}b->l111=0;{a=b->k;l412:if(!( -a<b->k+4))goto l827;goto l849;l829:++a;goto l412;l849:{{if(!(a->f==2))goto -l850;l183(a);goto l851;l850:;{if(!(a->f==3))goto l852;l209(a);l852:;} -l851:;}l151(a);a->l34=0; * (volatile unsigned long* )((a)->x+8)=a-> -l34;a->l38=0; * (volatile unsigned long* )((a)->x+16)=a->l38;a->l144= -1; * (volatile unsigned long* )((a)->x+84)=a->l72=~0; * (volatile -unsigned long* )((a)->x+28)=520552703; * (volatile unsigned long* )(( -a)->x+32)=520552703;{if(!(l67))goto l853;{a->l138=l67->l138[a->r];a-> -l101=l67->l101[a->r];( * (a)->l127)=l74+((char* )a->l138-(char* )l67); -( * (a)->l133)=l74+((char* )a->l101-(char* )l67);;}l853:;}a->l593=0;a -->l118=0;( * (a)->l83)=0;( * (a)->l79)=0;}goto l829;l827:;} * ( -volatile unsigned long* )((b)->g+0)=4279239169UL;{a=b->k;l854:if(!(a< -b->k+4))goto l856;goto l857;l220:++a;goto l854;l857:{{if(!(a->f!=3||! -a->l37||l57(a,15)!=163))goto l858;goto l220;l858:;}l735(a);}goto l220 -;l856:;}}void cp_stop_chan(e*a){unsigned long l177=0;unsigned long l93 -=0;int c;{if(!(!a->f))goto l879;return;l879:;}outb(128,0);a->l34&=~ -2147483648UL; * (volatile unsigned long* )((a)->x+8)=a->l34;{c=0;l880 -:if(!(c<200))goto l882;goto l883;l884:c++;goto l880;l883:outb(128,0); -goto l884;l882:;}{if(!(a->l38&134217728))goto l885;{;a->l38&=~ -134217728; * (volatile unsigned long* )((a)->x+16)=a->l38;l177|= -4194304;l93|=65536;}l885:;}outb(128,0);{if(!(( * (a)->l79)!=0))goto -l442;{;{c=0;l887:if(!(c<4))goto l888;goto l452;l444:++c;goto l887; -l452: * (volatile unsigned long* )&a->l39[c].z=2147483648UL| -1073741824;goto l444;l888:;}l177|=2097152;l93|=16777216;}l442:;}outb( -128,0); * (volatile unsigned long* )((a)->x+0)=l93;outb(128,0);( * (a -)->l83)=l177;outb(128,0); * (volatile unsigned long* )((a->d)->g+0)= -513;outb(128,0);a->l72=~0;}void cp_start_chan(e*a,int l188,int l206, -l212*l52,unsigned long l74){int c;unsigned long l93=0;{if(!(!a->f))goto -l907;return;l907:;}{if(!(l52))goto l583;{;a->l33=l52->l33;a->l39=l52 -->l39;{c=0;l650:if(!(c<64))goto l354;goto l353;l454:++c;goto l650; -l353:a->l61[c]=l74+((char* )(a->l33+c)-(char* )l52);goto l454;l354:;} -{c=0;l582:if(!(c<4))goto l529;goto l462;l290:++c;goto l582;l462:a-> -l152[c]=l74+((char* )(a->l39+c)-(char* )l52);goto l290;l529:;};{c=0; -l336:if(!(c<64))goto l328;goto l320;l257:++c;goto l336;l320: * ( -volatile unsigned long* )&a->l33[c].l96=a->l61[(c+1)%64];goto l257; -l328:;}{c=0;l305:if(!(c<4))goto l273;goto l234;l288:++c;goto l305; -l234: * (volatile unsigned long* )&a->l39[c].l96=a->l152[(c+1)%4]; -goto l288;l273:;}}l583:;}{if(!(a->d->f==2))goto l905;{a->l34|=12; * ( -volatile unsigned long* )((a)->x+8)=a->l34;a->l44=2097152;}l905:;}a-> -l44|=574914560; * (volatile unsigned long* )((a)->x+12)=a->l44; -cp_set_phony(a,a->l58); * (volatile unsigned long* )((a)->x+64)=32768 -|(1664/32-1);{if(!(a->f==2))goto l544;l183(a);l544:;}a->l34|= -2147483648UL; * (volatile unsigned long* )((a)->x+8)=a->l34; -cp_set_nrzi(a,a->l145);cp_set_dir(a,a->u);cp_set_baud(a,a->w); -cp_set_dtr(a,0);cp_set_rts(a,0);( * (a)->l79)=0;{c=0;l511:if(!(c<64))goto -l460;goto l335;l327:++c;goto l511;l335:{{if(!(l52))goto l351;{a->l136 -[c]=l52->l745[c];a->l208[c]=l74+((char* )a->l136[c]-(char* )l52); * ( -volatile unsigned long* )&a->l33[c].z=1664<<16; * (volatile unsigned -long* )&a->l33[c].p=a->l208[c];}l351:;} * (volatile unsigned long* )& -a->l33[c].t=0;}goto l327;l460:;}{c=0;l265:if(!(c<4))goto l304;goto -l297;l312:++c;goto l265;l297:{{if(!(l52))goto l792;{a->l147[c]=l52-> -l624[c];a->l189[c]=l74+((char* )a->l147[c]-(char* )l52); * (volatile -unsigned long* )&a->l39[c].z=2147483648UL|1073741824; * (volatile -unsigned long* )&a->l39[c].p=a->l189[c];}l792:;} * (volatile unsigned -long* )&a->l39[c].t=0;a->l81[c]=0;}goto l312;l304:;}{if(!(l52))goto -l746;;l746:;}a->l30=0;a->l47=0;a->l45=a->l47; * (volatile unsigned -long* )&a->l33[64-1].l96=a->l61[64-1];{if(!(l188))goto l714;{{if(!(!a -->l144))goto l694;{a->l72&=~65536;}goto l674;l694:;{a->l72&=~65536; * -(volatile unsigned long* )((a)->x+84)=a->l72;}l674:;}l93|=16777216;} -l714:;}{if(!(l206))goto l660;{a->l38|=134217728; * (volatile unsigned -long* )((a)->x+16)=a->l38;{if(!(!a->l144))goto l588;{a->l72&=~2;}goto -l649;l588:;{a->l72&=~2; * (volatile unsigned long* )((a)->x+84)=a-> -l72;}l649:;}l93|=65536;{if(!(a->f==2))goto l638;l(a->d,a->l42,255); -l638:;};( * (a)->l129)=a->l61[a->l30];( * (a)->l83)=1048576; * ( -volatile unsigned long* )((a->d)->g+0)=513;}l660:;} * (volatile -unsigned long* )((a)->x+0)=l93;}void cp_stop_e1(e*a){{if(!(a->f!=3||a -->l130==0))goto l627;return;l627:;}a->l130=0;i(a,23,0);}void -cp_start_e1(e*a){{if(!(a->f!=3||a->l130==1))goto l526;return;l526:;}a -->l130=1;i(a,23,16);}void cp_set_dtr(e*a,int m){a->l193=(m!=0);{if(!( -a->l193))goto l519;a->l32|=1;goto l495;l519:;a->l32&=~1;l495:;}l(a->d -,a->l69,a->l32);}void cp_set_rts(e*a,int m){a->l216=(m!=0);{if(!(a-> -l216))goto l487;a->l44|=1048576;goto l456;l487:;a->l44&=~1048576;l456 -:;} * (volatile unsigned long* )((a)->x+12)=a->l44;}int cp_get_dsr(e* -a){{if(!(a->f!=1))goto l364;return 0;l364:;}return(v(a->d,a->l82)&1)!= -0;}int cp_get_cd(e*a){{if(!(a->f==0))goto l361;return 0;l361:;}{if(!( -a->d->f==2))goto l357;return(v(a->d,9)&2)==0;l357:;}{if(!(a->f==6))goto -l350;{ * (volatile unsigned long* )((a->d->k+a->u)->x+4);return( * ( -volatile unsigned long* )((a->d->k+a->u)->x+4)&2097152)==0;}goto l346 -;l350:;{ * (volatile unsigned long* )((a)->x+4);return( * (volatile -unsigned long* )((a)->x+4)&2097152)==0;}l346:;}}int cp_get_cts(e*a){{ -if(!(a->f!=1))goto l318;return 0;l318:;}return(v(a->d,a->l82)&8)!=0;} -int cp_get_txcerr(e*a){{if(!(a->f!=1))goto l315;return 0;l315:;} -return(v(a->d,a->l82)&16)!=0;}int cp_get_rxcerr(e*a){{if(!(a->f!=1))goto -l311;return 0;l311:;}return(v(a->d,a->l82)&32)!=0;}void cp_set_baud(e - *a,int w){int l55,l50;{if(!(a->f==2||((a->f==3)&&a->l31)))goto l308; -{int l91=(w+32000)/64000*64;{if(!(a->l58))goto l303;l91=2048;l303:;}a -->l40&=~7;{if(!(!l91||l91>1024))goto l300;{a->l40|=0;a->w=2048000;} -goto l296;l300:;{if(!(l91>512))goto l293;{a->l40|=2;a->w=1024000;} -goto l286;l293:;{if(!(l91>256))goto l276;{a->l40|=3;a->w=512000;}goto -l235;l276:;{if(!(l91>128))goto l232;{a->l40|=4;a->w=256000;}goto l231 -;l232:;{if(!(l91>64))goto l229;{a->l40|=5;a->w=128000;}goto l228;l229 -:;{a->l40|=6;a->w=64000;}l228:;}l231:;}l235:;}l286:;}l296:;}l(a->d,a -->l63,a->l40);}goto l896;l308:;{if(!((a->f==3||a->f==6)&&!a->l58))goto -l876;{unsigned long l543=a->j;int c;a->w=0;{c=0;l842:if(!(c<32))goto -l791;goto l532;l819:++c;goto l842;l532:{if(!((l543>>c)&1))goto l530;a -->w+=64000;l530:;}goto l819;l791:;}}goto l525;l876:;{if(!(a->f==3&&a -->l58))goto l523;{a->w=2048000;}goto l522;l523:;a->w=w;l522:;}l525:;} -l896:;}a->l34&=~55;{if(!(a->f==4||a->f==7||a->f==8))goto l520;{a->w=a -->d->l80;a->l34|=12;l50=l55=0;}goto l517;l520:;{if(!(!a->w||a->f!=1))goto -l510;{a->l157=0;{if(!(a->f==1))goto l515;a->l54=0;l515:;}l50=l55=0;a -->l32|=4;}goto l494;l510:;{if(!(a->l157))goto l379;{a->l34|=54;l140(a -->d->l80/16,a->w,&l50,&l55);a->l32&=~4;}goto l380;l379:;{if(!(a->l54))goto -l381;{a->l34|=55;l140(a->d->l80,a->w,&l50,&l55);a->l32&=~4;}goto l348 -;l381:;{a->l34|=48;l140(a->d->l80,a->w,&l50,&l55);a->l32&=~4;}l348:;} -l380:;}l494:;}l517:;}l(a->d,a->l69,a->l32&~4); * (volatile unsigned -long* )((a)->x+8)=a->l34; * (volatile unsigned long* )((a)->x+44)=l50 -<<8|l55;l(a->d,a->l69,a->l32);{if(!(a->f==1&&a->l54))goto l383;a->l44 -|=256;goto l384;l383:;a->l44&=~256;l384:;} * (volatile unsigned long* -)((a)->x+12)=a->l44;}void cp_set_dpll(e*a,int m){{if(!(a->f!=1))goto -l385;return;l385:;}a->l157=m&&(a->w!=0);cp_set_baud(a,a->w);}static -void l182(e*a){unsigned char l116=0;{if(!(a->l31))goto l386;{l116|=1| -64;}goto l344;l386:;{if(!(a->d->l28&&a->l35))goto l389;{l116|=0;{if(! -(!a->l46))goto l323;l116|=32;l323:;}}goto l411;l389:;{l116|=1|8;{if(! -(!a->l46))goto l322;l116|=32;l322:;}}l411:;}l344:;}i(a,18,l116);} -static void l192(e*a){unsigned char l204=0;{if(!(!a->l31&&a->l53))goto -l413;l204|=2;l413:;}i(a,19,l204);}static void l162(e*a){unsigned char -l44=64|4;{if(!(!a->l31))goto l317;{l44|=16;{if(!(a->l53))goto l415; -l44|=1;l415:;}{if(!(a->l46))goto l416;l44|=8;l416:;}}l317:;}i(a,20, -l44);}static void l226(e*a){unsigned char l38=64;{if(!(!a->l31))goto -l417;{l38|=8;l38|=16;}l417:;}{if(!(a->l54&&!a->l37))goto l314;l38|=1; -l314:;}i(a,26,l38);}static void l219(e*a){unsigned char l215=2;{if(!( -a->d->l179&&a->l46))goto l419;{l215|=4|64;}l419:;}i(a,27,l215);} -static void l196(e*a){unsigned char l154;{if(!(a->l31))goto l441;l154 -=2;goto l292;l441:;{if(!(a->d->l28))goto l443;l154=32;goto l291;l443: -;l154=0;l291:;}l292:;}i(a,16,l154);}static void l602(e*a){unsigned -char l169;{if(!(a->d->l28||a->l37))goto l445;l169=4|2;goto l446;l445: -;l169=4;l446:;}i(a,17,l169);}static void l224(e*a){unsigned char l113 -;l113=0;{if(!(a->l187))goto l447;l113|=16;l447:;}{if(!(a->l54))goto -l448;l113|=8;l448:;}{if(!(v(a->d,8)>>a->r&16))goto l449;l113|=96;goto -l450;l449:;l113|=64;l450:;}i(a,24,l113);}static int l198(e*a,int l84){ -s*b=a->d;e*h;int j;{h=b->k;l472:if(!(h<b->k+4))goto l474;goto l475; -l473:++h;goto l472;l475:{j=1;l476:if(!(j<32))goto l254;goto l479;l477 -:++j;goto l476;l479:{if(!(h->q.j[j]==l84&&h->q.l41[j]==a->r))goto l480 -;return 1;l480:;}goto l477;l254:;}goto l473;l474:;}return 0;}static -int l628(e*a,int l84){return(a->q.j[l84]!=0);}static int l614(e*a,int -l84){s*b=a->d;e*h;int j;{h=b->k;l481:if(!(h<b->k+4))goto l503;goto -l504;l502:++h;goto l481;l504:{j=1;l505:if(!(j<32))goto l507;goto l508 -;l506:++j;goto l505;l508:{if(!(h->q.j[j]==l84&&h->q.l41[j]==a->r))goto -l509;{h->q.j[j]=0;return 1;}l509:;}goto l506;l507:;}goto l502;l503:;} -return 0;}static int l698(e*a,int l84){{if(!(a->q.j[l84]))goto l886;{ -a->q.j[l84]=0;return 1;}goto l881;l886:;return 0;l881:;}}static void -l148(e*a){s*b=a->d;e*h;unsigned long l65;int c;{if(!(a->l31))goto l786 -;{l65=0;}goto l784;l786:;{if(!(a->l35))goto l778;{l65=~1;{h=b->k;l776 -:if(!(h<b->k+4))goto l750;goto l749;l758:++h;goto l776;l749:{if(!((h -->f==3||h->f==6)&&h->u==a->r))goto l729;l65&=~h->j;l729:;}goto l758; -l750:;}{if(!(b->l28))goto l738;{c=1;l734:if(!(c<32))goto l722;goto -l718;l724:++c;goto l734;l718:{if(!((l65>>c&1)&&l198(a,c)))goto l710; -l65&=~(1<<c);l710:;}goto l724;l722:;}l738:;}}goto l709;l778:;{if(!(b -->l28))goto l706;{l65=a->r?(b->k[0].j|b->k[1].j):0;}goto l702;l706:; -l65=~a->j;l702:;}l709:;}l784:;}i(a,38,(unsigned char)(l65&254));i(a, -38+1,(unsigned char)(l65>>8));i(a,38+2,(unsigned char)(l65>>16));i(a, -38+3,(unsigned char)(l65>>24));;}void cp_set_monitor(e*a,int m){{if(! -((a->f!=3||!a->l37)&&(a->f==0||a->d->f!=2)))goto l695;return;l695:;}a -->l180=(m!=0);{if(!(a->d->f==2))goto l696;l68(a);goto l688;l696:;i(a, -172,m?112:0);l688:;}}void cp_set_dir(e*a,int u){s*b=a->d;e*h;int c;{ -if(!(a->f!=3&&a->f!=6))goto l683;{a->u=a->r;l151(a);return;}l683:;}{ -if(!(a->l31))goto l681;u=a->r;l681:;}{if(!(!a->l35))goto l680;u=(a->r -==1)?(b->l28?0:1):a->r;l680:;}{if(!((a->d->k+2)->f==3))goto l669;u&=3 -;goto l668;l669:;u&=1;l668:;}a->u=u;{h=b->k;l666:if(!(h<b->k+4))goto -l663;goto l661;l665:++h;goto l666;l661:{if(!((h->f==3||h->f==6)&&h!=a -&&h->u==a->u))goto l658;a->j&=~h->j;l658:;}goto l665;l663:;}{if(!(a-> -l35))goto l654;{{if(!(b->l28))goto l652;{c=1;l646:if(!(c<32))goto l645 -;goto l644;l640:++c;goto l646;l644:{if(!((a->j>>c&1)&&(l198(a,c)|| -l628(a,c))))goto l642;a->j&=~(1<<c);l642:;}goto l640;l645:;}l652:;} -l151(a);}l654:;}cp_set_ts(a,a->j);}void cp_set_unfram(e*a,int m){e*h; -{if(!(a->f!=3))goto l641;return;l641:;}{if(!(!a->l35))goto l636;a-> -l31=0;goto l639;l636:;a->l31=m!=0;l639:;}{if(!(a->l31))goto l727;a-> -l26|=32;goto l470;l727:;a->l26&=~32;l470:;}l(a->d,a->l59,a->l26);{if( -!(a->l31))goto l464;{cp_set_dir(a,a->r);{h=a->d->k;l731:if(!(h<a->d-> -k+4))goto l732;goto l733;l369:++h;goto l731;l733:{if(!((h->f==3||h->f -==6)&&h->u==a->r&&h!=a))goto l737;cp_set_dir(h,h->r);l737:;}goto l369 -;l732:;}}goto l736;l464:;{{h=a->d->k;l739:if(!(h<a->d->k+4))goto l753 -;goto l754;l752:++h;goto l739;l754:l151(h);goto l752;l753:;}}l736:;} -l182(a);l192(a);l162(a);l226(a);l219(a);l196(a);l148(a);cp_set_baud(a -,a->w);{if(!(a->l31))goto l755;cp_set_gsyn(a,a->l60);l755:;}}void -cp_set_lloop(e*a,int m){{if(!((a->f==1&&a->w==0)||a->f==6))goto l377; -return;l377:;}a->l54=(m!=0);{if(!(a->f==3))goto l757;{{if(!(a->l54))goto -l759;{a->l26|=16;{if(!(a->l37))goto l760;i(a,168,64);l760:;}}goto l761 -;l759:;{a->l26&=~16;{if(!(a->l37))goto l762;i(a,168,0);l762:;}}l761:; -}l(a->d,a->l59,a->l26);l226(a);l224(a);}goto l773;l757:;{if(!(a->f==2 -))goto l774;{unsigned char l200=1|4;{if(!(a->l54))goto l775;l200|=64; -l775:;}l104(a,16,l200);}goto l387;l774:;{if(!(a->d->f==2))goto l777;{ -l68(a);}goto l388;l777:;cp_set_baud(a,a->w);l388:;}l387:;}l773:;}} -void cp_set_nrzi(e*a,int m){{if(!(a->f!=1))goto l779;return;l779:;}a -->l145=m?1:0;{if(!(a->l145))goto l780;a->l34|=2097152;goto l781;l780: -;a->l34&=~2097152;l781:;} * (volatile unsigned long* )((a)->x+8)=a-> -l34;}void cp_set_invtxc(e*a,int m){{if(!(a->f!=1))goto l390;return; -l390:;}a->l164=m?1:0;{if(!(a->l164))goto l795;a->l32|=2;goto l796; -l795:;a->l32&=~2;l796:;}l(a->d,a->l69,a->l32);}void cp_set_invrxc(e*a -,int m){{if(!(a->f!=1))goto l797;return;l797:;}a->l178=m?1:0;{if(!(a -->l178))goto l398;a->l32|=8;goto l799;l398:;a->l32&=~8;l799:;}l(a->d, -a->l69,a->l32);}int cp_get_rloop(e*a){{if(!(a->f==2))goto l800;return -(v(a->d,a->l42)&16)!=0;l800:;}{if(!(a->f!=0&&a->d->f==2))goto l801; -return a->l150;l801:;}return 0;}int cp_get_cable(e*a){{if(!(a->f==1))goto -l802;switch(v(a->d,a->l82)&70){case 0:return 3;case 2:return 2;case 4 -:return 1;case 6:return 0;case 10:return 4;default:return 9;}goto l803 -;l802:;{if(!(a->f==3))goto l804;return(v(a->d,8)>>a->r&16)?11:10;goto -l816;l804:;{if(!(a->f==4))goto l817;return 10;goto l828;l817:;return 0 -;l828:;}l816:;}l803:;}}void cp_set_rloop(e*a,int m){{if(!(a->f==0||a -->d->f!=2))goto l834;return;l834:;}a->l150=m;l68(a);}void cp_set_ber( -e*a,int m){{if(!(a->f==0||a->d->f!=2))goto l835;return;l835:;}a->l165 -=m;l68(a);}void cp_set_losais(e*a,int m){{if(!(a->f==0||a->d->f!=2))goto -l836;return;l836:;}a->l122=m;{if(!(a->l122==0&&a->l87))goto l832;a-> -l87=0;l832:;}l68(a);}void cp_set_cablen(e*a,int m){{if(!(a->f==0||a-> -f==4||a->d->f!=2))goto l833;return;l833:;}a->l168=m;l68(a);}void -cp_led(s*b,int m){{if(!(m))goto l839;b->l132|=16;goto l840;l839:;b-> -l132&=~16;l840:;}l(b,0,b->l132);}int cp_get_lq(e*a){unsigned char l78 -,l66,l64;static int l117[]={0,95,195,285};int c;{if(!(a->f!=2))goto -l847;return 0;l847:;}l78=v(a->d,a->l42)&12;l66=v(a->d,a->l42)&12;{c=1 -;l848:if(!(c<20))goto l429;goto l861;l859:++c;goto l848;l861:l66=v(a -->d,a->l42)&12;goto l859;l429:;}l64=v(a->d,a->l42)&12;{c=1;l862:if(!( -c<20))goto l864;goto l865;l863:++c;goto l862;l865:l64=v(a->d,a->l42)& -12;goto l863;l864:;}{if(!(l78<=l66&&l66<=l64))goto l871;return l117[ -l66>>2];l871:;}{if(!(l66<=l64&&l64<=l78))goto l877;return l117[l64>>2 -];l877:;}{if(!(l64<=l78&&l78<=l66))goto l438;return l117[l78>>2];l438 -:;}{if(!(l78<=l64&&l64<=l66))goto l889;return l117[l64>>2];l889:;}{if -(!(l64<=l66&&l66<=l78))goto l895;return l117[l66>>2];l895:;}return -l117[l78>>2];}static void l140(long l199,long w,int*l50,int*l55){{ * -l50=0;l891:if(!(1))goto l893;goto l894;l892:++ *l50;goto l891;l894:{ * -l55=(((2*l199/w)>> *l50)+1)/2-1;{if(!( *l55<0|| *l50>15))goto l899;{ * -l50=0; *l55=0;return;}l899:;}{if(!( *l55<=63))goto l903;return;l903:; -}}goto l892;l893:;}}static void l183(e*a){{if(!(a->f!=2))goto l904; -return;l904:;}cp_set_gsyn(a,a->l60);cp_set_scrambler(a,a->l128);l104( -a,16,(32|64));l104(a,16,1|4);l104(a,17,0);l104(a,20,96);cp_set_lloop( -a,a->l54);}static void l209(e*a){int c;a->l26&=~128;l(a->d,a->l59,a-> -l26);cp_set_gsyn(a,a->l60);cp_set_unfram(a,a->l31);cp_set_phony(a,a-> -l58);cp_set_lloop(a,a->l54);cp_set_monitor(a,a->l180);a->l130=0;i(a, -22,0);i(a,23,0);i(a,21,0);i(a,25,0);i(a,32,155);i(a,33,223);i(a,42, -255);{if(!(a->l37))goto l581;{i(a,170,0);i(a,29,0);i(a,172,0);i(a,160 -,0);i(a,161,0);i(a,162,0);i(a,163,0);i(a,164,0);i(a,165,0);i(a,166,0); -i(a,167,0);i(a,28,0);i(a,80,0);i(a,81,0);i(a,82,0);i(a,83,0);i(a,84,0 -);i(a,85,0);i(a,86,0);i(a,87,0);i(a,176,0);i(a,177,0);i(a,178,0);i(a, -179,0);i(a,180,0);i(a,181,0);i(a,182,0);i(a,183,0);i(a,184,0);i(a,185 -,0);i(a,186,0);i(a,187,0);i(a,9,0);i(a,10,0);i(a,11,0);i(a,12,0);i(a, -13,0);i(a,14,0);i(a,173,0);i(a,174,0);i(a,175,0);i(a,188,0);i(a,189,0 -);i(a,190,0);i(a,191,0);l(a->d,11,255);}l581:;}i(a,64,11);{c=1;l528: -if(!(c<16))goto l651;goto l289;l352:++c;goto l528;l289:i(a,(unsigned -char)(64+c),255);goto l352;l651:;}{if(!(a->l37))goto l258;{i(a,170, -128);i(a,170,0);}goto l906;l258:;{i(a,27,2|8);i(a,27,2);}l906:;}{if(! -(a->l37))goto l716;{i(a,29,2|1);i(a,29,0);}goto l321;l716:;{i(a,27,2| -16);i(a,27,2);}l321:;}l92(a,6,255);l92(a,7,255);l92(a,8,255);a->l26|= -128;l(a->d,a->l59,a->l26);}void cp_set_mux(s*b,int l173){e*a;int l561 -=(l173&&!b->l28);{if(!(b->f!=5&&b->f!=10&&b->f!=11&&b->f!=9))goto l569 -;return;l569:;};switch(l173){case 0:case 2:b->l28=l173;break;default: -b->l28=1;}{if(!(!b->l28))goto l559;l195(b,0);l559:;}{if(!(b->l28))goto -l630;b->l115|=1;goto l798;l630:;b->l115&=~1;l798:;}l(b,8,b->l115);{if -(!(!b->k->l35))goto l715;{cp_set_dir(b->k+1,b->k[1].u);}l715:;}{a=b-> -k;l678:if(!(a<b->k+4))goto l580;goto l609;l631:++a;goto l678;l609:{if -(!(a->f==3))goto l594;{l182(a);l196(a);l602(a);cp_set_ts(a,a->j);} -goto l568;l594:;{if(!(a->f==6))goto l558;{cp_set_ts(a,a->j);}l558:;} -l568:;}goto l631;l580:;}{if(!(l561))goto l272;{{if(!(b->l28!=2))goto -l230;l167(b);l230:;}cp_set_ts(b->k,b->k->j);}l272:;}{if(!(b->l28))goto -l256;cp_set_gsyn(b->k,b->k->l60);l256:;}}void cp_set_dxc(e*a,l71*l156 -){l181(a,l156);}static void l181(e*a,l71*l156){s*b=a->d;e*h;int c;{if -(!(a->f!=3||!a->l35))goto l287;return;l287:;}{if(!(!b->l28))goto l280 -;memset(&a->q,0,sizeof(a->q));goto l237;l280:;memcpy(&a->q,l156, -sizeof(a->q));l237:;}a->q.j[0]=0;{if(!(!a->l46))goto l233;a->q.j[16]= -0;l233:;}{c=1;l900:if(!(c<32))goto l247;goto l249;l246:++c;goto l900; -l249:{if(!(a->q.j[c]&=31))goto l250;{{if(!((b->k+2)->f!=3))goto l251; -a->q.l41[c]&=1;goto l252;l251:;a->q.l41[c]&=3;l252:;}{h=b->k;l253:if( -!(h<b->k+4))goto l135;goto l890;l222:++h;goto l253;l890:{{if(!(h->f!= -3))goto l691;goto l222;l691:;}{if(!(h->r==a->q.l41[c]&&a->q.j[c]==16 -&&!h->l46))goto l690;{a->q.j[c]=0;goto l135;}l690:;}{if(!((h->u==a->q -.l41[c]&&((h->j>>a->q.j[c])&1))||(h->u==a->r&&((h->j>>c)&1))))goto -l686;{a->q.j[c]=0;goto l135;}l686:;}{if(!(h->r==a->r))goto l682;goto -l135;l682:;}}goto l222;l135:;}}l250:;}goto l246;l247:;}l(b,8,b->l115& -~1);l(b,28,a->r<<5);l(b,31,139);{c=1;l670:if(!(c<32))goto l664;goto -l662;l667:++c;goto l670;l662:l(b,31,(!a->q.j[c])?141:(a->q.l41[c]<<5)| -a->q.j[c]);goto l667;l664:;}l(b,8,b->l115);{c=0;l659:if(!(c<4))goto -l618;goto l615;l207:c++;goto l659;l615:{{if(!((b->k+c)->f!=3))goto -l613;goto l207;l613:;}l148(b->k+c);}goto l207;l618:;}}void cp_set_ts( -e*a,unsigned long j){s*b=a->d;e*h;int c;{if(!(a->f!=3&&a->f!=6))goto -l611;return;l611:;}a->j=j&4294967294UL;{if(!(b->k[a->u].l31||b->k[a-> -u].f!=3))goto l606;a->j=0;l606:;}{if(!(!b->k[a->u].l46))goto l604;a-> -j&=~(1<<16);l604:;}{h=b->k;l603:if(!(h<b->k+4))goto l601;goto l599; -l597:++h;goto l603;l599:{if(!((h->f==3||h->f==6)&&h->r!=a->r&&h->u==a -->u))goto l575;a->j&=~h->j;l575:;}goto l597;l601:;}{if(!(b->l28&&b->k -->l35))goto l574;{c=1;l573:if(!(c<32))goto l571;goto l570;l572:++c; -goto l573;l570:{if(!((a->j>>c&1)))goto l567;{l614(b->k+a->u,c);l698(b -->k+a->u,c);}l567:;}goto l572;l571:;}l574:;}{if(!((a->j&65534)==0&&a -->l31!=0))goto l566;a->l32|=16;goto l564;l566:;a->l32&=~16;l564:;}l(a -->d,a->l69,a->l32);;{if(!(a->l37))goto l562;{int c;int j;{if(!(a->l31 -))goto l536;j=4294967295UL;goto l535;l536:;j=a->j;l535:;}l(a->d,9,a-> -r<<6);{c=1;l376:if(!(c<32))goto l378;goto l493;l496:++c;goto l376; -l493:{{l373:if(!(v(a->d,0)&1))goto l359;{outb(128,0);}goto l373;l359: -;}l(a->d,10,(unsigned char)(j>>c&1));}goto l496;l378:;}{l375:if(!(v(a -->d,0)&1))goto l341;{outb(128,0);}goto l375;l341:;}l(a->d,10,( -unsigned char)j&1);{c=1;l340:if(!(c<32))goto l407;goto l342;l326:++c; -goto l340;l342:{{l409:if(!(v(a->d,0)&1))goto l403;{outb(128,0);}goto -l409;l403:;}l(a->d,10,(unsigned char)(j>>c&1));}goto l326;l407:;}{ -l488:if(!(v(a->d,0)&1))goto l405;{outb(128,0);}goto l488;l405:;}l(a-> -d,10,(unsigned char)j&1);}l562:;}{if(!(a->f==3))goto l421;{i(a,34,( -unsigned char)(a->j&254));i(a,34+1,(unsigned char)(a->j>>8));i(a,34+2 -,(unsigned char)(a->j>>16));i(a,34+3,(unsigned char)(a->j>>24));i(a, -43,(unsigned char)(a->j&254));i(a,43+1,(unsigned char)(a->j>>8));i(a, -43+2,(unsigned char)(a->j>>16));i(a,43+3,(unsigned char)(a->j>>24));} -l421:;}{if(!(!a->l35))goto l422;{l148(b->k+0);l148(b->k+1);}goto l408 -;l422:;{{if(!(b->l28!=2))goto l278;l167(b);l278:;}{h=b->k;l465:if(!(h -<b->k+4))goto l440;goto l423;l439:h++;goto l465;l423:l181(h,&h->q); -goto l439;l440:;}}l408:;}cp_set_baud(a,a->w);}static void l167(s*b){e - *a;unsigned long j[4]={0,0,0,0},l139[2]={0,0};l71 q[4];int c;{if(!(! -b->l28||!b->k->l35))goto l492;return;l492:;}{a=b->k;l436:if(!(a<b->k+ -4))goto l453;goto l467;l225:a++;goto l436;l467:{{if(!(a->f!=3&&a->f!= -6))goto l468;goto l225;l468:;}j[a->u]|=a->j;{if(!(!a->l46))goto l451; -j[a->r]|=(1<<16);l451:;}}goto l225;l453:;}l139[0]=~(j[0]|j[1]);l139[1 -]=~(j[2]|j[3]);{c=1;l263:if(!(c<32))goto l489;goto l490;l471:c++;goto -l263;l490:{{if(!((l139[0]>>c)&1))goto l482;{q[0].j[c]=(unsigned char)c -;q[1].j[c]=(unsigned char)c;q[0].l41[c]=1;q[1].l41[c]=0;}goto l483; -l482:;{q[0].j[c]=0;q[1].j[c]=0;q[0].l41[c]=0;q[1].l41[c]=0;}l483:;}{ -if(!((l139[1]>>c)&1))goto l484;{q[2].j[c]=(unsigned char)c;q[3].j[c]= -(unsigned char)c;q[2].l41[c]=3;q[3].l41[c]=2;}goto l485;l484:;{q[2].j -[c]=0;q[3].j[c]=0;q[2].l41[c]=0;q[3].l41[c]=0;}l485:;}}goto l471;l489 -:;}memcpy(&b->k[0].q,q+0,sizeof(l71));memcpy(&b->k[1].q,q+1,sizeof( -l71));memcpy(&b->k[2].q,q+2,sizeof(l71));memcpy(&b->k[3].q,q+3,sizeof -(l71));}void cp_set_higain(e*a,int m){{if(!(a->f!=3))goto l248;return -;l248:;}a->l187=(m!=0);l224(a);}void cp_set_use16(e*a,int m){e*h;{if( -!(a->f!=3))goto l242;return;l242:;}a->l46=(m!=0);l162(a);l182(a);{h=a -->d->k;l500:if(!(h<a->d->k+4))goto l830;goto l491;l501:++h;goto l500; -l491:{if(!(h->u==a->r))goto l497;cp_set_ts(h,h->j);l497:;}goto l501; -l830:;}}void l195(s*b,int m){e*h;{if(!(!b->k->l35))goto l806;return; -l806:;}b->l179=(m&&b->l28)?1:0;{h=b->k;l499:if(!(h<b->k+4))goto l860; -goto l878;l221:++h;goto l499;l878:{{if(!(h->f!=3))goto l831;goto l221 -;l831:;}cp_set_use16(h,m?m:h->l46);l219(h);}goto l221;l860:;}}void -cp_set_phony(e*a,int m){{if(!(a->f==3))goto l868;a->l58=(m!=0);l868:; -}{if(!(a->l58))goto l826;a->u=a->r;l826:;}cp_set_dir(a,a->u);a->l38|= -1310728;{if(!(a->l58))goto l822;{a->l26|=64;a->l38|=4194305;}goto l855 -;l822:;{a->l26&=~64;a->l38&=~4194305;}l855:;} * (volatile unsigned -long* )((a)->x+16)=a->l38;{if(!(a->f==3))goto l814;{l(a->d,a->l59,a-> -l26);cp_set_baud(a,a->w);cp_set_scrambler(a,a->l128);}l814:;}}void -cp_set_crc4(e*a,int m){{if(!(a->f!=3))goto l807;return;l807:;}a->l53= -(m!=0);l162(a);l192(a);}void cp_set_scrambler(e*a,int m){{if(!(a->f!= -2&&!(a->f==3&&a->l37)))goto l672;return;l672:;}{if(!(a->l37&&(a->l58 -||!a->l31)))goto l673;m=0;l673:;}a->l128=(m!=0);{if(!(a->l128))goto -l553;a->l40|=16;goto l675;l553:;a->l40&=~16;l675:;}l(a->d,a->l63,a-> +->p<2?3:1;break;case 9:a->f=a->p<2?3:6;break;case 7:a->f=a->p<2?2:1; +break;case 1:a->f=a->p<2?1:0;break;case 5:a->f=a->p<2?3:0;break;case 4 +:a->f=a->p<2?2:0;break;case 2:a->f=a->p==0?a->f:0;break;case 3:a->f=a +->p==0?5:0;break;}{if(!(a->f==6))goto l459;a->j=0;l459:;}a->x=a->d->g ++a->p*128+256;switch(a->p){case 0:a->l134=(unsigned long* )(a->d->g+ +20);a->l132=(unsigned long* )(a->d->g+36);a->l83=(unsigned long* )(a +->d->g+80);a->l126=(unsigned long* )(a->d->g+84);a->l92=(unsigned long + * )(a->d->g+152);a->l135=(unsigned long* )(a->d->g+200);a->l76=( +unsigned long* )(a->d->g+88);a->l125=(unsigned long* )(a->d->g+176);a +->l147=(unsigned long* )(a->d->g+224);a->l70=4;a->l81=4;a->l65=32;a-> +l45=36;a->l49=32;a->l67=12;break;case 1:a->l134=(unsigned long* )(a-> +d->g+24);a->l132=(unsigned long* )(a->d->g+40);a->l83=(unsigned long* +)(a->d->g+92);a->l126=(unsigned long* )(a->d->g+96);a->l92=(unsigned +long* )(a->d->g+156);a->l135=(unsigned long* )(a->d->g+204);a->l76=( +unsigned long* )(a->d->g+100);a->l125=(unsigned long* )(a->d->g+180); +a->l147=(unsigned long* )(a->d->g+228);a->l70=5;a->l81=5;a->l65=34;a +->l45=38;a->l49=34;a->l67=14;break;case 2:a->l134=(unsigned long* )(a +->d->g+28);a->l132=(unsigned long* )(a->d->g+44);a->l83=(unsigned long + * )(a->d->g+104);a->l126=(unsigned long* )(a->d->g+108);a->l92=( +unsigned long* )(a->d->g+160);a->l135=(unsigned long* )(a->d->g+208); +a->l76=(unsigned long* )(a->d->g+112);a->l125=(unsigned long* )(a->d +->g+184);a->l147=(unsigned long* )(a->d->g+232);a->l70=6;a->l81=6;a-> +l65=48;a->l45=52;a->l49=48;a->l67=13;break;case 3:a->l134=(unsigned +long* )(a->d->g+32);a->l132=(unsigned long* )(a->d->g+48);a->l83=( +unsigned long* )(a->d->g+116);a->l126=(unsigned long* )(a->d->g+120); +a->l92=(unsigned long* )(a->d->g+164);a->l135=(unsigned long* )(a->d +->g+212);a->l76=(unsigned long* )(a->d->g+124);a->l125=(unsigned long + * )(a->d->g+188);a->l147=(unsigned long* )(a->d->g+236);a->l70=7;a-> +l81=7;a->l65=50;a->l45=54;a->l49=50;a->l67=15;break;}{if(!(a->d->l95 +==30))goto l274;{a->l37=1;switch(a->p){case 0:a->l65=16;a->l34=20;a-> +l49=24;break;case 1:a->l65=18;a->l34=21;a->l49=26;break;case 2:a->l65 +=17;a->l34=22;a->l49=25;break;case 3:a->l65=19;a->l34=23;a->l49=27; +break;}}l274:;}l68(a);{if(!(a->f==4||a->f==7||a->f==8))goto l461;{l(a +->d,14,(2048>>8)&255);l(a->d,15,(2048>>16)&255);}l461:;}}static void +l150(e*a){unsigned char l158;{if(!(!a->l34))goto l270;return;l270:;}{ +if(!(a->d->k[a->u].l31))goto l466;l158=a->p;goto l263;l466:;l158=a->u +;l263:;}{if(!(!a->l31&&!a->l53))goto l465;l158|=4;l465:;}l(a->d,a-> +l34,l158);}void cp_hard_reset(s*b){l(b,0,128);}static void l739(e*a){ +int c;i(a,172,1);{c=0;l467:if(!(c<=255))goto l824;goto l825;l410:c++; +goto l467;l825:{{if(!(c!=172))goto l826;i(a,192,0);l826:;}}goto l410; +l824:;}i(a,172,0);{c=0;l827:if(!(c<=255))goto l828;goto l829;l414:c++ +;goto l827;l829:{{if(!(c!=172))goto l833;i(a,192,0);l833:;}}goto l414 +;l828:;}}void cp_reset(s*b,l170*l58,unsigned long l71){e*a;{if(!(!b-> +g))goto l831;return;l831:;}{if(!(l58))goto l853;memset(l58,0,sizeof( +l170));l853:;} * (volatile unsigned long* )((b)->g+8)=262144; * ( +volatile unsigned short* )((b)->g+1032)=65535; * (volatile unsigned +short* )((b)->g+1024)=255; * (volatile unsigned short* )((b)->g+1028)= +255; * (volatile unsigned long* )((b)->g+768)=4194304;l(b,0,b->l128&~ +4);cp_led(b,0); * (volatile unsigned long* )((b)->g+12)=(128/32-1)<< +28|(128/32-1)<<24|(128/32-1)<<20|(128/32-1)<<16|(128/32-1)<<12|(128/ +32-1)<<8|(128/32-1)<<4|(128/32-1); * (volatile unsigned long* )((b)-> +g+16)=(128/32-1)<<16; * (volatile unsigned long* )((b)->g+68)= +1108361216; * (volatile unsigned long* )((b)->g+72)=3740719104UL; * ( +volatile unsigned long* )((b)->g+52)=404232216; * (volatile unsigned +long* )((b)->g+76)=7;cp_set_mux(b,b->l29);{if(!(l58))goto l854;{b-> +l98=l58->l98; * (volatile unsigned long* )((b)->g+64)=l71+((char* )b +->l98-(char* )l58);}l854:;}b->l112=0;{a=b->k;l855:if(!(a<b->k+4))goto +l857;goto l858;l856:++a;goto l855;l858:{{if(!(a->f==2))goto l859;l162 +(a);goto l860;l859:;{if(!(a->f==3))goto l861;l188(a);l861:;}l860:;} +l150(a);a->l35=0; * (volatile unsigned long* )((a)->x+8)=a->l35;a-> +l36=0; * (volatile unsigned long* )((a)->x+16)=a->l36;a->l146=1; * ( +volatile unsigned long* )((a)->x+84)=a->l73=~0; * (volatile unsigned +long* )((a)->x+28)=520552703; * (volatile unsigned long* )((a)->x+32)= +520552703;{if(!(l58))goto l862;{a->l141=l58->l141[a->p];a->l91=l58-> +l91[a->p];( * (a)->l134)=l71+((char* )a->l141-(char* )l58);( * (a)-> +l132)=l71+((char* )a->l91-(char* )l58);;}l862:;}a->l600=0;a->l111=0;( + * (a)->l83)=0;( * (a)->l76)=0;}goto l856;l857:;} * (volatile unsigned +long* )((b)->g+0)=4279239169UL;{a=b->k;l440:if(!(a<b->k+4))goto l441; +goto l886;l223:++a;goto l440;l886:{{if(!(a->f!=3||!a->l37||l52(a,15)!= +163))goto l887;goto l223;l887:;}l739(a);}goto l223;l441:;}}void +cp_stop_chan(e*a){unsigned long l178=0;unsigned long l102=0;int c;{if +(!(!a->f))goto l888;return;l888:;}outb(128,0);a->l35&=~2147483648UL; * +(volatile unsigned long* )((a)->x+8)=a->l35;{c=0;l889:if(!(c<200))goto +l890;goto l891;l892:c++;goto l889;l891:outb(128,0);goto l892;l890:;}{ +if(!(a->l36&134217728))goto l454;{;a->l36&=~134217728; * (volatile +unsigned long* )((a)->x+16)=a->l36;l178|=4194304;l102|=65536;}l454:;} +outb(128,0);{if(!(( * (a)->l76)!=0))goto l911;{;{c=0;l321:if(!(c<4))goto +l910;goto l354;l583:++c;goto l321;l354: * (volatile unsigned long* )& +a->l39[c].w=2147483648UL|1073741824;goto l583;l910:;}l178|=2097152; +l102|=16777216;}l911:;}outb(128,0); * (volatile unsigned long* )((a)-> +x+0)=l102;outb(128,0);( * (a)->l83)=l178;outb(128,0); * (volatile +unsigned long* )((a->d)->g+0)=513;outb(128,0);a->l73=~0;}void +cp_start_chan(e*a,int l211,int l208,l212*l51,unsigned long l71){int c +;unsigned long l102=0;{if(!(!a->f))goto l353;return;l353:;}{if(!(l51))goto +l582;{;a->l32=l51->l32;a->l39=l51->l39;{c=0;l529:if(!(c<64))goto l527 +;goto l462;l654:++c;goto l529;l462:a->l62[c]=l71+((char* )(a->l32+c)- +(char* )l51);goto l654;l527:;}{c=0;l336:if(!(c<4))goto l335;goto l320 +;l257:++c;goto l336;l320:a->l143[c]=l71+((char* )(a->l39+c)-(char* )l51 +);goto l257;l335:;};{c=0;l305:if(!(c<64))goto l273;goto l234;l288:++c +;goto l305;l234: * (volatile unsigned long* )&a->l32[c].l93=a->l62[(c ++1)%64];goto l288;l273:;}{c=0;l544:if(!(c<4))goto l512;goto l460;l304 +:++c;goto l544;l460: * (volatile unsigned long* )&a->l39[c].l93=a-> +l143[(c+1)%4];goto l304;l512:;}}l582:;}{if(!(a->d->f==2))goto l312;{a +->l35|=12; * (volatile unsigned long* )((a)->x+8)=a->l35;a->l42= +2097152;}l312:;}a->l42|=574914560; * (volatile unsigned long* )((a)-> +x+12)=a->l42;cp_set_phony(a,a->l53); * (volatile unsigned long* )((a)-> +x+64)=32768|(1664/32-1);{if(!(a->f==2))goto l351;l162(a);l351:;}a-> +l35|=2147483648UL; * (volatile unsigned long* )((a)->x+8)=a->l35; +cp_set_nrzi(a,a->l145);cp_set_dir(a,a->u);cp_set_baud(a,a->y); +cp_set_dtr(a,0);cp_set_rts(a,0);( * (a)->l76)=0;{c=0;l334:if(!(c<64))goto +l328;goto l319;l287:++c;goto l334;l319:{{if(!(l51))goto l902;{a->l137 +[c]=l51->l749[c];a->l210[c]=l71+((char* )a->l137[c]-(char* )l51); * ( +volatile unsigned long* )&a->l32[c].w=1664<<16; * (volatile unsigned +long* )&a->l32[c].l88=a->l210[c];}l902:;} * (volatile unsigned long* )& +a->l32[c].t=0;}goto l287;l328:;}{c=0;l794:if(!(c<4))goto l751;goto +l718;l694:++c;goto l794;l718:{{if(!(l51))goto l675;{a->l156[c]=l51-> +l628[c];a->l202[c]=l71+((char* )a->l156[c]-(char* )l51); * (volatile +unsigned long* )&a->l39[c].w=2147483648UL|1073741824; * (volatile +unsigned long* )&a->l39[c].l88=a->l202[c];}l675:;} * (volatile +unsigned long* )&a->l39[c].t=0;a->l78[c]=0;}goto l694;l751:;}{if(!( +l51))goto l593;;l593:;}a->l28=0;a->l48=0;a->l46=a->l48; * (volatile +unsigned long* )&a->l32[64-1].l93=a->l62[64-1];{if(!(l211))goto l663; +{{if(!(!a->l146))goto l651;{a->l73&=~65536;}goto l639;l651:;{a->l73&= +~65536; * (volatile unsigned long* )((a)->x+84)=a->l73;}l639:;}l102|= +16777216;}l663:;}{if(!(l208))goto l543;{a->l36|=134217728; * ( +volatile unsigned long* )((a)->x+16)=a->l36;{if(!(!a->l146))goto l536 +;{a->l73&=~2;}goto l526;l536:;{a->l73&=~2; * (volatile unsigned long* +)((a)->x+84)=a->l73;}l526:;}l102|=65536;{if(!(a->f==2))goto l515;l(a +->d,a->l45,255);l515:;};( * (a)->l126)=a->l62[a->l28];( * (a)->l83)= +1048576; * (volatile unsigned long* )((a->d)->g+0)=513;}l543:;} * ( +volatile unsigned long* )((a)->x+0)=l102;}void cp_stop_e1(e*a){{if(!( +a->f!=3||a->l131==0))goto l511;return;l511:;}a->l131=0;i(a,23,0);} +void cp_start_e1(e*a){{if(!(a->f!=3||a->l131==1))goto l488;return; +l488:;}a->l131=1;i(a,23,16);}void cp_set_dtr(e*a,int m){a->l196=(m!=0 +);{if(!(a->l196))goto l458;a->l33|=1;goto l364;l458:;a->l33&=~1;l364: +;}l(a->d,a->l70,a->l33);}void cp_set_rts(e*a,int m){a->l219=(m!=0);{ +if(!(a->l219))goto l361;a->l42|=1048576;goto l357;l361:;a->l42&=~ +1048576;l357:;} * (volatile unsigned long* )((a)->x+12)=a->l42;}int +cp_get_dsr(e*a){{if(!(a->f!=1))goto l327;return 0;l327:;}return(v(a-> +d,a->l81)&1)!=0;}int cp_get_cd(e*a){{if(!(a->f==0))goto l324;return 0 +;l324:;}{if(!(a->d->f==2))goto l318;return(v(a->d,9)&2)==0;l318:;}{if +(!(a->f==6))goto l315;{ * (volatile unsigned long* )((a->d->k+a->u)-> +x+4);return( * (volatile unsigned long* )((a->d->k+a->u)->x+4)& +2097152)==0;}goto l311;l315:;{ * (volatile unsigned long* )((a)->x+4); +return( * (volatile unsigned long* )((a)->x+4)&2097152)==0;}l311:;}} +int cp_get_cts(e*a){{if(!(a->f!=1))goto l308;return 0;l308:;}return(v +(a->d,a->l81)&8)!=0;}int cp_get_txcerr(e*a){{if(!(a->f!=1))goto l303; +return 0;l303:;}return(v(a->d,a->l81)&16)!=0;}int cp_get_rxcerr(e*a){ +{if(!(a->f!=1))goto l300;return 0;l300:;}return(v(a->d,a->l81)&32)!=0 +;}void cp_set_baud(e*a,int y){int l57,l47;{if(!(a->f==2||((a->f==3)&& +a->l31)))goto l296;{int l99=(y+32000)/64000*64;{if(!(a->l53))goto l283 +;l99=2048;l283:;}a->l40&=~7;{if(!(!l99||l99>1024))goto l240;{a->l40|= +0;a->y=2048000;}goto l236;l240:;{if(!(l99>512))goto l235;{a->l40|=2;a +->y=1024000;}goto l232;l235:;{if(!(l99>256))goto l231;{a->l40|=3;a->y +=512000;}goto l229;l231:;{if(!(l99>128))goto l228;{a->l40|=4;a->y= +256000;}goto l899;l228:;{if(!(l99>64))goto l878;{a->l40|=5;a->y= +128000;}goto l835;l878:;{a->l40|=6;a->y=64000;}l835:;}l899:;}l229:;} +l232:;}l236:;}l(a->d,a->l65,a->l40);}goto l524;l296:;{if(!((a->f==3|| +a->f==6)&&!a->l53))goto l523;{unsigned long l557=a->j;int c;a->y=0;{c +=0;l522:if(!(c<32))goto l518;goto l516;l520:++c;goto l522;l516:{if(!( +(l557>>c)&1))goto l514;a->y+=64000;l514:;}goto l520;l518:;}}goto l496 +;l523:;{if(!(a->f==3&&a->l53))goto l510;{a->y=2048000;}goto l478;l510 +:;a->y=y;l478:;}l496:;}l524:;}a->l35&=~55;{if(!(a->f==4||a->f==7||a-> +f==8))goto l381;{a->y=a->d->l77;a->l35|=12;l47=l57=0;}goto l348;l381: +;{if(!(!a->y||a->f!=1))goto l383;{a->l151=0;{if(!(a->f==1))goto l347; +a->l54=0;l347:;}l47=l57=0;a->l33|=4;}goto l385;l383:;{if(!(a->l151))goto +l345;{a->l35|=54;l142(a->d->l77/16,a->y,&l47,&l57);a->l33&=~4;}goto +l387;l345:;{if(!(a->l54))goto l344;{a->l35|=55;l142(a->d->l77,a->y,& +l47,&l57);a->l33&=~4;}goto l341;l344:;{a->l35|=48;l142(a->d->l77,a->y +,&l47,&l57);a->l33&=~4;}l341:;}l387:;}l385:;}l348:;}l(a->d,a->l70,a-> +l33&~4); * (volatile unsigned long* )((a)->x+8)=a->l35; * (volatile +unsigned long* )((a)->x+44)=l47<<8|l57;l(a->d,a->l70,a->l33);{if(!(a +->f==1&&a->l54))goto l391;a->l42|=256;goto l412;l391:;a->l42&=~256; +l412:;} * (volatile unsigned long* )((a)->x+12)=a->l42;}void +cp_set_dpll(e*a,int m){{if(!(a->f!=1))goto l413;return;l413:;}a->l151 +=m&&(a->y!=0);cp_set_baud(a,a->y);}static void l172(e*a){unsigned char +l110=0;{if(!(a->l31))goto l317;{l110|=1|64;}goto l415;l317:;{if(!(a-> +d->l29&&a->l34))goto l316;{l110|=0;{if(!(!a->l44))goto l417;l110|=32; +l417:;}}goto l418;l316:;{l110|=1|8;{if(!(!a->l44))goto l419;l110|=32; +l419:;}}l418:;}l415:;}i(a,18,l110);}static void l195(e*a){unsigned +char l205=0;{if(!(!a->l31&&a->l56))goto l420;l205|=2;l420:;}i(a,19, +l205);}static void l187(e*a){unsigned char l42=64|4;{if(!(!a->l31))goto +l421;{l42|=16;{if(!(a->l56))goto l443;l42|=1;l443:;}{if(!(a->l44))goto +l444;l42|=8;l444:;}}l421:;}i(a,20,l42);}static void l222(e*a){ +unsigned char l36=64;{if(!(!a->l31))goto l445;{l36|=8;l36|=16;}l445:; +}{if(!(a->l54&&!a->l37))goto l285;l36|=1;l285:;}i(a,26,l36);}static +void l224(e*a){unsigned char l217=2;{if(!(a->d->l174&&a->l44))goto +l447;{l217|=4|64;}l447:;}i(a,27,l217);}static void l206(e*a){unsigned +char l144;{if(!(a->l31))goto l448;l144=2;goto l455;l448:;{if(!(a->d-> +l29))goto l282;l144=32;goto l451;l282:;l144=0;l451:;}l455:;}i(a,16, +l144);}static void l598(e*a){unsigned char l168;{if(!(a->d->l29||a-> +l37))goto l452;l168=4|2;goto l474;l452:;l168=4;l474:;}i(a,17,l168);} +static void l227(e*a){unsigned char l106;l106=0;{if(!(a->l184))goto +l475;l106|=16;l475:;}{if(!(a->l54))goto l476;l106|=8;l476:;}{if(!(v(a +->d,8)>>a->p&16))goto l477;l106|=96;goto l254;l477:;l106|=64;l254:;}i +(a,24,l106);}static int l201(e*a,int l85){s*b=a->d;e*h;int j;{h=b->k; +l479:if(!(h<b->k+4))goto l481;goto l482;l480:++h;goto l479;l482:{j=1; +l483:if(!(j<32))goto l506;goto l507;l505:++j;goto l483;l507:{if(!(h-> +o.j[j]==l85&&h->o.l41[j]==a->p))goto l508;return 1;l508:;}goto l505; +l506:;}goto l480;l481:;}return 0;}static int l632(e*a,int l85){return +(a->o.j[l85]!=0);}static int l611(e*a,int l85){s*b=a->d;e*h;int j;{h= +b->k;l509:if(!(h<b->k+4))goto l884;goto l882;l885:++h;goto l509;l882: +{j=1;l880:if(!(j<32))goto l778;goto l770;l872:++j;goto l880;l770:{if( +!(h->o.j[j]==l85&&h->o.l41[j]==a->p))goto l766;{h->o.j[j]=0;return 1; +}l766:;}goto l872;l778:;}goto l885;l884:;}return 0;}static int l690(e + *a,int l85){{if(!(a->o.j[l85]))goto l760;{a->o.j[l85]=0;return 1;} +goto l753;l760:;return 0;l753:;}}static void l155(e*a){s*b=a->d;e*h; +unsigned long l64;int c;{if(!(a->l31))goto l730;{l64=0;}goto l734; +l730:;{if(!(a->l34))goto l732;{l64=~1;{h=b->k;l726:if(!(h<b->k+4))goto +l713;goto l712;l727:++h;goto l726;l712:{if(!((h->f==3||h->f==6)&&h->u +==a->p))goto l710;l64&=~h->j;l710:;}goto l727;l713:;}{if(!(b->l29))goto +l707;{c=1;l700:if(!(c<32))goto l695;goto l684;l698:++c;goto l700;l684 +:{if(!((l64>>c&1)&&l201(a,c)))goto l687;l64&=~(1<<c);l687:;}goto l698 +;l695:;}l707:;}}goto l680;l732:;{if(!(b->l29))goto l673;{l64=a->p?(b +->k[0].j|b->k[1].j):0;}goto l672;l673:;l64=~a->j;l672:;}l680:;}l734:; +}i(a,38,(unsigned char)(l64&254));i(a,38+1,(unsigned char)(l64>>8));i +(a,38+2,(unsigned char)(l64>>16));i(a,38+3,(unsigned char)(l64>>24)); +;}void cp_set_monitor(e*a,int m){{if(!((a->f!=3||!a->l37)&&(a->f==0|| +a->d->f!=2)))goto l671;return;l671:;}a->l165=(m!=0);{if(!(a->d->f==2))goto +l670;l68(a);goto l668;l670:;i(a,172,m?112:0);l668:;}}void cp_set_dir( +e*a,int u){s*b=a->d;e*h;int c;{if(!(a->f!=3&&a->f!=6))goto l667;{a->u +=a->p;l150(a);return;}l667:;}{if(!(a->l31))goto l665;u=a->p;l665:;}{ +if(!(!a->l34))goto l664;u=(a->p==1)?(b->l29?0:1):a->p;l664:;}{if(!((a +->d->k+2)->f==3))goto l661;u&=3;goto l658;l661:;u&=1;l658:;}a->u=u;{h +=b->k;l649:if(!(h<b->k+4))goto l646;goto l643;l648:++h;goto l649;l643 +:{if(!((h->f==3||h->f==6)&&h!=a&&h->u==a->u))goto l642;a->j&=~h->j; +l642:;}goto l648;l646:;}{if(!(a->l34))goto l636;{{if(!(b->l29))goto +l640;{c=1;l634:if(!(c<32))goto l635;goto l731;l631:++c;goto l634;l731 +:{if(!((a->j>>c&1)&&(l201(a,c)||l632(a,c))))goto l463;a->j&=~(1<<c); +l463:;}goto l631;l635:;}l640:;}l150(a);}l636:;}cp_set_ts(a,a->j);} +void cp_set_unfram(e*a,int m){e*h;{if(!(a->f!=3))goto l369;return; +l369:;}{if(!(!a->l34))goto l735;a->l31=0;goto l736;l735:;a->l31=m!=0; +l736:;}{if(!(a->l31))goto l737;a->l26|=32;goto l738;l737:;a->l26&=~32 +;l738:;}l(a->d,a->l67,a->l26);{if(!(a->l31))goto l741;{cp_set_dir(a,a +->p);{h=a->d->k;l740:if(!(h<a->d->k+4))goto l756;goto l757;l743:++h; +goto l740;l757:{if(!((h->f==3||h->f==6)&&h->u==a->p&&h!=a))goto l758; +cp_set_dir(h,h->p);l758:;}goto l743;l756:;}}goto l759;l741:;{{h=a->d +->k;l379:if(!(h<a->d->k+4))goto l763;goto l764;l761:++h;goto l379; +l764:l150(h);goto l761;l763:;}}l759:;}l172(a);l195(a);l187(a);l222(a); +l224(a);l206(a);l155(a);cp_set_baud(a,a->y);{if(!(a->l31))goto l765; +cp_set_gsyn(a,a->l66);l765:;}}void cp_set_lloop(e*a,int m){{if(!((a-> +f==1&&a->y==0)||a->f==6))goto l382;return;l382:;}a->l54=(m!=0);{if(!( +a->f==3))goto l777;{{if(!(a->l54))goto l388;{a->l26|=16;{if(!(a->l37))goto +l779;i(a,168,64);l779:;}}goto l389;l388:;{a->l26&=~16;{if(!(a->l37))goto +l781;i(a,168,0);l781:;}}l389:;}l(a->d,a->l67,a->l26);l222(a);l227(a); +}goto l390;l777:;{if(!(a->f==2))goto l783;{unsigned char l204=1|4;{if +(!(a->l54))goto l784;l204|=64;l784:;}l104(a,16,l204);}goto l785;l783: +;{if(!(a->d->f==2))goto l392;{l68(a);}goto l799;l392:;cp_set_baud(a,a +->y);l799:;}l785:;}l390:;}}void cp_set_nrzi(e*a,int m){{if(!(a->f!=1))goto +l800;return;l800:;}a->l145=m?1:0;{if(!(a->l145))goto l801;a->l35|= +2097152;goto l802;l801:;a->l35&=~2097152;l802:;} * (volatile unsigned +long* )((a)->x+8)=a->l35;}void cp_set_invtxc(e*a,int m){{if(!(a->f!=1 +))goto l803;return;l803:;}a->l164=m?1:0;{if(!(a->l164))goto l804;a-> +l33|=2;goto l805;l804:;a->l33&=~2;l805:;}l(a->d,a->l70,a->l33);}void +cp_set_invrxc(e*a,int m){{if(!(a->f!=1))goto l402;return;l402:;}a-> +l176=m?1:0;{if(!(a->l176))goto l807;a->l33|=8;goto l808;l807:;a->l33 +&=~8;l808:;}l(a->d,a->l70,a->l33);}int cp_get_rloop(e*a){{if(!(a->f== +2))goto l820;return(v(a->d,a->l45)&16)!=0;l820:;}{if(!(a->f!=0&&a->d +->f==2))goto l821;return a->l140;l821:;}return 0;}int cp_get_cable(e* +a){{if(!(a->f==1))goto l832;switch(v(a->d,a->l81)&70){case 0:return 3 +;case 2:return 2;case 4:return 1;case 6:return 0;case 10:return 4; +default:return 9;}goto l838;l832:;{if(!(a->f==3))goto l839;return(v(a +->d,8)>>a->p&16)?11:10;goto l840;l839:;{if(!(a->f==4))goto l836; +return 10;goto l837;l836:;return 0;l837:;}l840:;}l838:;}}void +cp_set_rloop(e*a,int m){{if(!(a->f==0||a->d->f!=2))goto l843;return; +l843:;}a->l140=m;l68(a);}void cp_set_ber(e*a,int m){{if(!(a->f==0||a +->d->f!=2))goto l844;return;l844:;}a->l179=m;l68(a);}void +cp_set_losais(e*a,int m){{if(!(a->f==0||a->d->f!=2))goto l851;return; +l851:;}a->l127=m;{if(!(a->l127==0&&a->l82))goto l852;a->l82=0;l852:;} +l68(a);}void cp_set_cablen(e*a,int m){{if(!(a->f==0||a->f==4||a->d->f +!=2))goto l863;return;l863:;}a->l166=m;l68(a);}void cp_led(s*b,int m){ +{if(!(m))goto l864;b->l128|=16;goto l865;l864:;b->l128&=~16;l865:;}l( +b,0,b->l128);}int cp_get_lq(e*a){unsigned char l74,l60,l61;static int +l117[]={0,95,195,285};int c;{if(!(a->f!=2))goto l866;return 0;l866:;} +l74=v(a->d,a->l45)&12;l60=v(a->d,a->l45)&12;{c=1;l867:if(!(c<20))goto +l869;goto l875;l868:++c;goto l867;l875:l60=v(a->d,a->l45)&12;goto l868 +;l869:;}l61=v(a->d,a->l45)&12;{c=1;l439:if(!(c<20))goto l897;goto l893 +;l881:++c;goto l439;l893:l61=v(a->d,a->l45)&12;goto l881;l897:;}{if(! +(l74<=l60&&l60<=l61))goto l446;return l117[l60>>2];l446:;}{if(!(l60<= +l61&&l61<=l74))goto l895;return l117[l61>>2];l895:;}{if(!(l61<=l74&& +l74<=l60))goto l896;return l117[l74>>2];l896:;}{if(!(l74<=l61&&l61<= +l60))goto l450;return l117[l61>>2];l450:;}{if(!(l61<=l60&&l60<=l74))goto +l898;return l117[l60>>2];l898:;}return l117[l74>>2];}static void l142 +(long l199,long y,int*l47,int*l57){{ *l47=0;l907:if(!(1))goto l581; +goto l528;l908:++ *l47;goto l907;l528:{ *l57=(((2*l199/y)>> *l47)+1)/ +2-1;{if(!( *l57<0|| *l47>15))goto l290;{ *l47=0; *l57=0;return;}l290: +;}{if(!( *l57<=63))goto l571;return;l571:;}}goto l908;l581:;}}static +void l162(e*a){{if(!(a->f!=2))goto l653;return;l653:;}cp_set_gsyn(a,a +->l66);cp_set_scrambler(a,a->l133);l104(a,16,(32|64));l104(a,16,1|4); +l104(a,17,0);l104(a,20,96);cp_set_lloop(a,a->l54);}static void l188(e + *a){int c;a->l26&=~128;l(a->d,a->l67,a->l26);cp_set_gsyn(a,a->l66); +cp_set_unfram(a,a->l31);cp_set_phony(a,a->l53);cp_set_lloop(a,a->l54); +cp_set_monitor(a,a->l165);a->l131=0;i(a,22,0);i(a,23,0);i(a,21,0);i(a +,25,0);i(a,32,155);i(a,33,223);i(a,42,255);{if(!(a->l37))goto l289;{i +(a,170,0);i(a,29,0);i(a,172,0);i(a,160,0);i(a,161,0);i(a,162,0);i(a, +163,0);i(a,164,0);i(a,165,0);i(a,166,0);i(a,167,0);i(a,28,0);i(a,80,0 +);i(a,81,0);i(a,82,0);i(a,83,0);i(a,84,0);i(a,85,0);i(a,86,0);i(a,87, +0);i(a,176,0);i(a,177,0);i(a,178,0);i(a,179,0);i(a,180,0);i(a,181,0); +i(a,182,0);i(a,183,0);i(a,184,0);i(a,185,0);i(a,186,0);i(a,187,0);i(a +,9,0);i(a,10,0);i(a,11,0);i(a,12,0);i(a,13,0);i(a,14,0);i(a,173,0);i( +a,174,0);i(a,175,0);i(a,188,0);i(a,189,0);i(a,190,0);i(a,191,0);l(a-> +d,11,255);}l289:;}i(a,64,11);{c=1;l258:if(!(c<16))goto l626;goto l608 +;l352:++c;goto l258;l608:i(a,(unsigned char)(64+c),255);goto l352; +l626:;}{if(!(a->l37))goto l678;{i(a,170,128);i(a,170,0);}goto l652; +l678:;{i(a,27,2|8);i(a,27,2);}l652:;}{if(!(a->l37))goto l909;{i(a,29, +2|1);i(a,29,0);}goto l904;l909:;{i(a,27,2|16);i(a,27,2);}l904:;}l97(a +,6,255);l97(a,7,255);l97(a,8,255);a->l26|=128;l(a->d,a->l67,a->l26);} +void cp_set_mux(s*b,int l181){e*a;int l561=(l181&&!b->l29);{if(!(b->f +!=5&&b->f!=10&&b->f!=11&&b->f!=9))goto l719;return;l719:;};switch( +l181){case 0:case 2:b->l29=l181;break;default:b->l29=1;}{if(!(!b->l29 +))goto l594;l190(b,0);l594:;}{if(!(b->l29))goto l580;b->l115|=1;goto +l625;l580:;b->l115&=~1;l625:;}l(b,8,b->l115);{if(!(!b->k->l34))goto +l607;{cp_set_dir(b->k+1,b->k[1].u);}l607:;}{a=b->k;l570:if(!(a<b->k+4 +))goto l272;goto l265;l558:++a;goto l570;l265:{if(!(a->f==3))goto l297 +;{l172(a);l206(a);l598(a);cp_set_ts(a,a->j);}goto l237;l297:;{if(!(a +->f==6))goto l280;{cp_set_ts(a,a->j);}l280:;}l237:;}goto l558;l272:;} +{if(!(l561))goto l233;{{if(!(b->l29!=2))goto l230;l167(b);l230:;} +cp_set_ts(b->k,b->k->j);}l233:;}{if(!(b->l29))goto l256;cp_set_gsyn(b +->k,b->k->l66);l256:;}}void cp_set_dxc(e*a,l69*l149){l180(a,l149);} +static void l180(e*a,l69*l149){s*b=a->d;e*h;int c;{if(!(a->f!=3||!a-> +l34))goto l244;return;l244:;}{if(!(!b->l29))goto l245;memset(&a->o,0, +sizeof(a->o));goto l247;l245:;memcpy(&a->o,l149,sizeof(a->o));l247:;} +a->o.j[0]=0;{if(!(!a->l44))goto l248;a->o.j[16]=0;l248:;}{c=1;l249:if +(!(c<32))goto l250;goto l251;l252:++c;goto l249;l251:{if(!(a->o.j[c] +&=31))goto l253;{{if(!((b->k+2)->f!=3))goto l894;a->o.l41[c]&=1;goto +l686;l894:;a->o.l41[c]&=3;l686:;}{h=b->k;l682:if(!(h<b->k+4))goto l161 +;goto l674;l189:++h;goto l682;l674:{{if(!(h->f!=3))goto l669;goto l189 +;l669:;}{if(!(h->p==a->o.l41[c]&&a->o.j[c]==16&&!h->l44))goto l666;{a +->o.j[c]=0;goto l161;}l666:;}{if(!((h->u==a->o.l41[c]&&((h->j>>a->o.j +[c])&1))||(h->u==a->p&&((h->j>>c)&1))))goto l662;{a->o.j[c]=0;goto +l161;}l662:;}{if(!(h->p==a->p))goto l660;goto l161;l660:;}}goto l189; +l161:;}}l253:;}goto l252;l250:;}l(b,8,b->l115&~1);l(b,28,a->p<<5);l(b +,31,139);{c=1;l659:if(!(c<32))goto l612;goto l609;l615:++c;goto l659; +l609:l(b,31,(!a->o.j[c])?141:(a->o.l41[c]<<5)|a->o.j[c]);goto l615; +l612:;}l(b,8,b->l115);{c=0;l605:if(!(c<4))goto l602;goto l601;l203:c +++;goto l605;l601:{{if(!((b->k+c)->f!=3))goto l599;goto l203;l599:;} +l155(b->k+c);}goto l203;l602:;}}void cp_set_ts(e*a,unsigned long j){s + *b=a->d;e*h;int c;{if(!(a->f!=3&&a->f!=6))goto l597;return;l597:;}a +->j=j&4294967294UL;{if(!(b->k[a->u].l31||b->k[a->u].f!=3))goto l595;a +->j=0;l595:;}{if(!(!b->k[a->u].l44))goto l575;a->j&=~(1<<16);l575:;}{ +h=b->k;l574:if(!(h<b->k+4))goto l572;goto l569;l573:++h;goto l574; +l569:{if(!((h->f==3||h->f==6)&&h->p!=a->p&&h->u==a->u))goto l568;a->j +&=~h->j;l568:;}goto l573;l572:;}{if(!(b->l29&&b->k->l34))goto l566;{c +=1;l564:if(!(c<32))goto l562;goto l532;l556:++c;goto l564;l532:{if(!( +(a->j>>c&1)))goto l530;{l611(b->k+a->u,c);l690(b->k+a->u,c);}l530:;} +goto l556;l562:;}l566:;}{if(!((a->j&65534)==0&&a->l31!=0))goto l378;a +->l33|=16;goto l494;l378:;a->l33&=~16;l494:;}l(a->d,a->l70,a->l33);;{ +if(!(a->l37))goto l380;{int c;int j;{if(!(a->l31))goto l472;j= +4294967295UL;goto l375;l472:;j=a->j;l375:;}l(a->d,9,a->p<<6);{c=1; +l376:if(!(c<32))goto l393;goto l338;l377:++c;goto l376;l338:{{l325:if +(!(v(a->d,0)&1))goto l409;{outb(128,0);}goto l325;l409:;}l(a->d,10,( +unsigned char)(j>>c&1));}goto l377;l393:;}{l340:if(!(v(a->d,0)&1))goto +l411;{outb(128,0);}goto l340;l411:;}l(a->d,10,(unsigned char)j&1);{c= +1;l405:if(!(c<32))goto l407;goto l423;l294:++c;goto l405;l423:{{l424: +if(!(v(a->d,0)&1))goto l323;{outb(128,0);}goto l424;l323:;}l(a->d,10, +(unsigned char)(j>>c&1));}goto l294;l407:;}{l456:if(!(v(a->d,0)&1))goto +l490;{outb(128,0);}goto l456;l490:;}l(a->d,10,(unsigned char)j&1);} +l380:;}{if(!(a->f==3))goto l468;{i(a,34,(unsigned char)(a->j&254));i( +a,34+1,(unsigned char)(a->j>>8));i(a,34+2,(unsigned char)(a->j>>16)); +i(a,34+3,(unsigned char)(a->j>>24));i(a,43,(unsigned char)(a->j&254)); +i(a,43+1,(unsigned char)(a->j>>8));i(a,43+2,(unsigned char)(a->j>>16)); +i(a,43+3,(unsigned char)(a->j>>24));}l468:;}{if(!(!a->l34))goto l442; +{l155(b->k+0);l155(b->k+1);}goto l425;l442:;{{if(!(b->l29!=2))goto +l471;l167(b);l471:;}{h=b->k;l295:if(!(h<b->k+4))goto l485;goto l469; +l278:h++;goto l295;l469:l180(h,&h->o);goto l278;l485:;}}l425:;} +cp_set_baud(a,a->y);}static void l167(s*b){e*a;unsigned long j[4]={0, +0,0,0},l159[2]={0,0};l69 o[4];int c;{if(!(!b->l29||!b->k->l34))goto +l487;return;l487:;}{a=b->k;l453:if(!(a<b->k+4))goto l473;goto l491; +l194:a++;goto l453;l491:{{if(!(a->f!=3&&a->f!=6))goto l492;goto l194; +l492:;}j[a->u]|=a->j;{if(!(!a->l44))goto l484;j[a->p]|=(1<<16);l484:; +}}goto l194;l473:;}l159[0]=~(j[0]|j[1]);l159[1]=~(j[2]|j[3]);{c=1; +l246:if(!(c<32))goto l493;goto l501;l486:c++;goto l246;l501:{{if(!(( +l159[0]>>c)&1))goto l489;{o[0].j[c]=(unsigned char)c;o[1].j[c]=( +unsigned char)c;o[0].l41[c]=1;o[1].l41[c]=0;}goto l503;l489:;{o[0].j[ +c]=0;o[1].j[c]=0;o[0].l41[c]=0;o[1].l41[c]=0;}l503:;}{if(!((l159[1]>> +c)&1))goto l504;{o[2].j[c]=(unsigned char)c;o[3].j[c]=(unsigned char)c +;o[2].l41[c]=3;o[3].l41[c]=2;}goto l806;l504:;{o[2].j[c]=0;o[3].j[c]= +0;o[2].l41[c]=0;o[3].l41[c]=0;}l806:;}}goto l486;l493:;}memcpy(&b->k[ +0].o,o+0,sizeof(l69));memcpy(&b->k[1].o,o+1,sizeof(l69));memcpy(&b->k +[2].o,o+2,sizeof(l69));memcpy(&b->k[3].o,o+3,sizeof(l69));}void +cp_set_higain(e*a,int m){{if(!(a->f!=3))goto l499;return;l499:;}a-> +l184=(m!=0);l227(a);}void cp_set_use16(e*a,int m){e*h;{if(!(a->f!=3))goto +l500;return;l500:;}a->l44=(m!=0);l187(a);l172(a);{h=a->d->k;l780:if(! +(h<a->d->k+4))goto l830;goto l823;l502:++h;goto l780;l823:{if(!(h->u +==a->p))goto l870;cp_set_ts(h,h->j);l870:;}goto l502;l830:;}}void l190 +(s*b,int m){e*h;{if(!(!b->k->l34))goto l818;return;l818:;}b->l174=(m +&&b->l29)?1:0;{h=b->k;l846:if(!(h<b->k+4))goto l795;goto l819;l221:++ +h;goto l846;l819:{{if(!(h->f!=3))goto l786;goto l221;l786:;} +cp_set_use16(h,m?m:h->l44);l224(h);}goto l221;l795:;}}void +cp_set_phony(e*a,int m){{if(!(a->f==3))goto l782;a->l53=(m!=0);l782:; +}{if(!(a->l53))goto l676;a->u=a->p;l676:;}cp_set_dir(a,a->u);a->l36|= +1310728;{if(!(a->l53))goto l677;{a->l26|=64;a->l36|=4194305;}goto l549 +;l677:;{a->l26&=~64;a->l36&=~4194305;}l549:;} * (volatile unsigned +long* )((a)->x+16)=a->l36;{if(!(a->f==3))goto l679;{l(a->d,a->l67,a-> +l26);cp_set_baud(a,a->y);cp_set_scrambler(a,a->l133);}l679:;}}void +cp_set_crc4(e*a,int m){{if(!(a->f!=3))goto l548;return;l548:;}a->l56= +(m!=0);l187(a);l195(a);}void cp_set_scrambler(e*a,int m){{if(!(a->f!= +2&&!(a->f==3&&a->l37)))goto l681;return;l681:;}{if(!(a->l37&&(a->l53 +||!a->l31)))goto l546;m=0;l546:;}a->l133=(m!=0);{if(!(a->l133))goto +l683;a->l40|=16;goto l545;l683:;a->l40&=~16;l545:;}l(a->d,a->l65,a-> l40);}void cp_set_gsyn(e*a,int l75){switch(a->f){case 3:{unsigned char -l26=0;e*h;s*b=a->d;{if(!(a->l31&&l75!=0))goto l676;l75=1;l676:;} -switch(l75){default:l75=0;l26=0;break;case 1:l75=2+a->r;l26=1+a->r; +l26=0;e*h;s*b=a->d;{if(!(a->l31&&l75!=0))goto l685;l75=1;l685:;} +switch(l75){default:l75=0;l26=0;break;case 1:l75=2+a->p;l26=1+a->p; break;case 2:l26=1;break;case 3:l26=2;break;case 4:l26=3;{if(!(b->k[2 -].f!=3))goto l677;return;l677:;}break;case 5:l26=4;{if(!(b->k[3].f!=3 -))goto l549;return;l549:;}break;}{h=b->k;l679:if(!(h<b->k+4))goto l548 -;goto l546;l210:h++;goto l679;l546:{{if(!(h->f!=3||(!b->l28&&h!=a)))goto -l684;goto l210;l684:;}l(b,h->l59,h->l26&~128);h->l26&=~7;h->l26|=l26; -h->l60=(unsigned char)l75;l(b,h->l59,h->l26);}goto l210;l548:;}}break -;case 2:{if(!(l75))goto l685;{a->l60=1;a->l40|=8;}goto l541;l685:;{a -->l60=0;a->l40&=~8;}l541:;}l(a->d,a->l63,a->l40);break;case 4:case 7: -case 8:{if(!(l75))goto l687;a->l60=1;goto l540;l687:;a->l60=0;l540:;} +].f!=3))goto l541;return;l541:;}break;case 5:l26=4;{if(!(b->k[3].f!=3 +))goto l688;return;l688:;}break;}{h=b->k;l689:if(!(h<b->k+4))goto l538 +;goto l537;l213:h++;goto l689;l537:{{if(!(h->f!=3||(!b->l29&&h!=a)))goto +l693;goto l213;l693:;}l(b,h->l67,h->l26&~128);h->l26&=~7;h->l26|=l26; +h->l66=(unsigned char)l75;l(b,h->l67,h->l26);}goto l213;l538:;}}break +;case 2:{if(!(l75))goto l534;{a->l66=1;a->l40|=8;}goto l696;l534:;{a +->l66=0;a->l40&=~8;}l696:;}l(a->d,a->l65,a->l40);break;case 4:case 7: +case 8:{if(!(l75))goto l697;a->l66=1;goto l701;l697:;a->l66=0;l701:;} l68(a);break;}}void cp_register_transmit(e*a,void( *l86)(e* ,void* , -int)){a->l160=l86;}void cp_register_receive(e*a,void( *l86)(e* , -unsigned char* ,int)){a->l171=l86;}void cp_register_error(e*a,void( * -l86)(e* ,int)){a->l62=l86;}static void l202(e*a){unsigned char l77, -l137;unsigned l48,l142,l53,l172,l105,l123;++a->l56;{if(!(!a->l146&&a -->l56<=1))goto l689;return;l689:;}a->t=0;l77=l92(a,6,255);l123=0;{if( -!(l77&2))goto l538;a->t|=64;l538:;}{if(!(l77&8))goto l692;a->t|=8; -l692:;}l48=(((short)(l57(a,0))<<8)|(l57(a,1)));l142=0;l53=0;l172=0;{ -if(!(!a->l31))goto l693;{l137=l57(a,30);{if(!(!a->l46&&(l77&128)))goto -l533;a->t|=256;l533:;}{if(!(!a->l46&&(l77&64)))goto l531;a->t|=512; -l531:;}{if(!(l77&4))goto l699;a->t|=2;l699:;}{if(!(l137&4))goto l700; -{a->t|=32;++l123;}l700:;}{if(!((!a->l46&&(l137&2))||(a->l53&&(l137&1))))goto -l701;{a->t|=1024;++l123;}l701:;}l142=(((short)(l57(a,2))<<4&4032)|( -l57(a,4))>>2);l53=(((short)(l57(a,2))<<8&768)|(l57(a,3)));l172=((( -short)(l57(a,4))<<8&768)|(l57(a,5)));{if(!((a->d->l28||a->l37)&&(l77& -16)))goto l524;++a->o.l120;l524:;}}l693:;}{if(!(a->t&64))goto l704;a -->t=64;goto l705;l704:;{if(!(a->t&8))goto l521;a->t=8;goto l707;l521: -;{if(!(a->t&32))goto l711;a->t=32;goto l516;l711:;{if(!(a->t&1024))goto -l713;a->t&=~(512|256);l713:;}l516:;}l707:;}l705:;}{if(!(!a->t))goto -l514;a->t=1;l514:;}a->o.l48+=l48;a->o.l109+=l142;{if(!(a->l53))goto -l717;{a->o.l121+=l53;a->o.l102+=l172;}l717:;}l105=l142;{if(!(a->l53))goto -l513;l105+=l53;l513:;}{if(!(l77&(8|2)))goto l719;++a->o.l100;goto l498 -;l719:;{{if(!(l48))goto l721;++a->o.l97;l721:;}{if(!(l105||l123||((a -->d->l28||a->l37)&&(l77&16))))goto l720;++a->o.l119;l720:;}{if(!(l123 -))goto l725;++a->o.l112;l725:;}{if(!(l48>=2048||l105>=832))goto l478; -++a->o.l114;goto l370;l478:;{{if(!(l105>1))goto l366;++a->o.l110;l366 -:;}++a->l107;a->l103+=l48+l105;}l370:;}}l498:;}{if(!(a->l56%60==0))goto -l744;{{if(!(a->l103>a->l107*2048/1000))goto l740;++a->o.l98;l740:;}a -->l107=0;a->l103=0;}l744:;}{if(!(a->l56>15*60))goto l741;{int c;{c=47 -;l747:if(!(c>0))goto l748;goto l374;l743:--c;goto l747;l374:a->l108[c -]=a->l108[c-1];goto l743;l748:;}a->l108[0]=a->o;a->l29.l48+=a->o.l48; -a->l29.l109+=a->o.l109;a->l29.l121+=a->o.l121;a->l29.l102+=a->o.l102; -a->l29.l100+=a->o.l100;a->l29.l97+=a->o.l97;a->l29.l119+=a->o.l119;a -->l29.l110+=a->o.l110;a->l29.l114+=a->o.l114;a->l29.l112+=a->o.l112;a -->l29.l120+=a->o.l120;a->l29.l98+=a->o.l98;a->o.l48=0;a->o.l109=0;a-> -o.l121=0;a->o.l102=0;a->o.l100=0;a->o.l97=0;a->o.l119=0;a->o.l110=0;a -->o.l114=0;a->o.l112=0;a->o.l120=0;a->o.l98=0;a->l146+=a->l56;a->l56= -0;}l741:;}}void cp_g703_timer(e*a){unsigned char l88;int l155;++a-> -l56;{if(!(!a->l146&&a->l56<=1))goto l751;return;l751:;}a->t=0;l88=v(a -->d,a->l42);l(a->d,a->l42,l88);l155=cp_get_cd(a);{if(!(l88&1))goto -l767;++a->o.l48;l767:;}{if(!(!l155))goto l763;a->t|=64;l763:;}{if(!( -l88&2))goto l764;a->t|=4096;l764:;}{if(!(l88&16))goto l765;a->t|=2048 -;l765:;}{if(!(!a->t))goto l382;a->t=1;l382:;}{if(!(!l155||(l88&16)))goto -l770;++a->o.l100;goto l768;l770:;{{if(!(l88&1))goto l769;++a->o.l97; -l769:;}++a->l107;{if(!(l155&&(l88&1)))goto l771;++a->l103;l771:;}} -l768:;}{if(!(a->l56/60==0))goto l772;{{if(!(a->l103*2>a->l107))goto -l783;++a->o.l98;l783:;}a->l107=0;a->l103=0;}l772:;}{if(!(a->l56>15*60 -))goto l391;{int c;{c=47;l785:if(!(c>0))goto l787;goto l788;l392:--c; -goto l785;l788:a->l108[c]=a->l108[c-1];goto l392;l787:;}a->l108[0]=a -->o;a->l29.l48+=a->o.l48;a->l29.l109+=a->o.l109;a->l29.l121+=a->o. -l121;a->l29.l102+=a->o.l102;a->l29.l100+=a->o.l100;a->l29.l97+=a->o. -l97;a->l29.l119+=a->o.l119;a->l29.l110+=a->o.l110;a->l29.l114+=a->o. -l114;a->l29.l112+=a->o.l112;a->l29.l120+=a->o.l120;a->l29.l98+=a->o. -l98;memset(&a->o,0,sizeof(a->o));a->l146+=a->l56;a->l56=0;}l391:;}} -void cp_e1_timer(e*a){{if(!(a->f==3&&(l92(a,7,255)&16)))goto l789;{; -l202(a);}l789:;}}void cp_e3_timer(e*a){unsigned char l184;unsigned -long l131;{if(!(a->d->f!=2))goto l394;return;l394:;}l(a->d,11,0);l131 -=v(a->d,11);l131|=v(a->d,12)<<8;l131|=v(a->d,13)<<16;l184=v(a->d,9);{ -if(!(l131>1024))goto l793;a->l174|=2;goto l794;l793:;a->l174&=(~2); -l794:;}l(a->d,9,a->l174|1);{if(!(l184&2))goto l805;{{if(!(a->l122&&(a -->l106&2)!=0&&!a->l87))goto l402;{a->l87=1;l68(a);}l402:;}a->l106=2;} -goto l812;l805:;{{if(!(a->l122&&(a->l106&2)==0&&a->l87))goto l808;{a -->l87=0;l68(a);}l808:;}a->l106=0;}l812:;}{if(!(l184&1))goto l809;a-> -l106|=4;l809:;}{if(!(!(a->l106&2)))goto l404;a->l141+=l131;l404:;}a-> -l158++;{if(!(a->l158>5*60*15))goto l811;{int c;{c=47;l813:if(!(c>0))goto -l406;goto l837;l420:c--;goto l813;l837:a->l185[c]=a->l185[c-1];goto -l420;l406:;}a->l185[0]=a->l141;a->l625+=a->l141;a->l619+=a->l158/5;a -->l141=0;a->l158=0;}l811:;}}static void l576(e*a){int z=(( * ( -volatile unsigned long* )&a->l33[a->l30].t)>>16&8191);unsigned char -l134;{if(!(z>0))goto l418;l134=a->l136[a->l30][--z];goto l846;l418:; -l134=0;l846:;};{if(!(l134&64))goto l874;{++a->l197;{if(!(a->l62))goto -l841;a->l62(a,4);l841:;}}goto l437;l874:;{if(!(!(l134&128)))goto l843 -;{++a->l579;{if(!(a->l62))goto l844;a->l62(a,1);l844:;}}goto l845; -l843:;{if(!(!a->l58&&!(l134&32)))goto l867;{++a->l551;{if(!(a->l62))goto -l875;a->l62(a,2);l875:;}}goto l869;l867:;{a->l563+=z;++a->l621;{if(!( -a->l171))goto l870;a->l171(a,a->l136[a->l30],z);l870:;}}l869:;}l845:; -}l437:;} * (volatile unsigned long* )&a->l33[a->l30].t=0; * (volatile -unsigned long* )&a->l33[a->l30].l96=a->l61[a->l30]; * (volatile -unsigned long* )&a->l33[(a->l30+64-1)%64].l96=a->l61[a->l30];a->l30= -++a->l30%64;}static void l766(e*a){int l201=0;int l194=0;{if(!(!a-> -l33))goto l902;return;l902:;}++a->l629;{if(!( * (volatile unsigned -long* )&a->l33[(a->l30+64-1)%64].t&1073741824))goto l872;l201++;l872: -;}{l873:if(!(( * (volatile unsigned long* )&a->l33[a->l30].t& -1073741824)&&( * (volatile unsigned long* )&a->l61[a->l30]!= * ( -volatile unsigned long* )((a)->l94))))goto l897;{l576(a);l194++;}goto -l873;l897:;}{if(!(l201))goto l898;{{if(!(l194<64-1))goto l362;{{l360: -if(!(( * (volatile unsigned long* )&a->l61[a->l30]!= * (volatile -unsigned long* )((a)->l94))))goto l358;{ * (volatile unsigned long* )& -a->l33[a->l30].t=0; * (volatile unsigned long* )&a->l33[a->l30].l96=a -->l61[a->l30]; * (volatile unsigned long* )&a->l33[(a->l30+64-1)%64]. -l96=a->l61[a->l30];a->l30=++a->l30%64;}goto l360;l358:;}}l362:;}++a-> -l197;{if(!(a->l62))goto l356;a->l62(a,5);l356:;}}l898:;}}static void -l728(e*a){int z=(( * (volatile unsigned long* )&a->l39[a->l47].z)>>16 -&8191);void*l81=a->l81[a->l47];;a->l47=++a->l47%4;{if(!(a->l47!=a-> -l45))goto l355;{int l657=(( * (a)->l126)-a->l152[0])/sizeof(l125);{if -(!(l657==(a->l47+4-1)%4))goto l349;{; * (volatile unsigned long* )((a -->d)->g+0)=1024<<a->r;outb(128,0);}l349:;}}l355:;}{if(!(z>0))goto l347 -;{a->l598+=z;++a->l298;{if(!(a->l160))goto l345;a->l160(a,l81,z);l345 -:;}}l347:;}}static void l261(e*a){unsigned long l99;int l218=0;++a-> -l617;{l163:if(!((l99= * (volatile unsigned long* )&a->l101[a->l118])!= -0))goto l343;{ * (volatile unsigned long* )&a->l101[a->l118]=0;a-> -l118=++a->l118%128;{if(!(!(l99&1073741824)))goto l339;{;goto l163;} -l339:;}{if(!(l99&33554432))goto l337;{;{if(!(l99&65536))goto l334;++ -l218;l334:;}goto l163;}l337:;};{if(!(a->l47!=a->l45&&( * (volatile -unsigned long* )&a->l39[a->l47].t&1073741824)))goto l332;l728(a);l332 -:;}}goto l163;l343:;}{if(!(l218))goto l331;{ * (volatile unsigned long - * )((a)->x+0)=16777216;++a->l240;{if(!(a->l62))goto l329;a->l62(a,3); -l329:;}}l331:;}}static void l901(s*b){unsigned long l99;e*a;{l227:if( -!((l99= * (volatile unsigned long* )&b->l95[b->l111])!=0))goto l325;{ - * (volatile unsigned long* )&b->l95[b->l111]=0;b->l111=++b->l111%128 -;{if(!((l99&3489660928UL)!=3489660928UL))goto l324;{;goto l227;}l324: -;}{a=b->k;l316:if(!(a<b->k+4))goto l310;goto l309;l313:++a;goto l316; -l309:{if(!(a->f==3&&(l92(a,7,255)&16)))goto l307;{;l202(a);}l307:;} -goto l313;l310:;}}goto l227;l325:;}}void cp_handle_interrupt(s*b){e*a -;++b->l565;{if(!( * (volatile unsigned long* )&b->l95[b->l111]))goto -l306;l901(b);l306:;}{a=b->k;l302:if(!(a<b->k+4))goto l299;goto l295; -l301:++a;goto l302;l295:{{if(!(~(a->l72)))goto l294;{{if(!( * ( -volatile unsigned long* )&a->l101[a->l118]))goto l285;l261(a);l285:;} -{if(!( * (volatile unsigned long* )&a->l61[a->l30]!= * (volatile -unsigned long* )((a)->l94)))goto l284;l766(a);l284:;}}l294:;}}goto -l301;l299:;}}int cp_interrupt(s*b){int l211=0;{l282:if(!( -cp_interrupt_poll(b,1)!=0))goto l281;{{if(!(++l211>1000))goto l279; -return-1;l279:;}cp_handle_interrupt(b);}goto l282;l281:;}return l211; -}int cp_interrupt_poll(s*b,int l217){unsigned long l205= * (volatile -unsigned long* )((b)->g+4);;{if(!(!l205))goto l275;return 0;l275:;}{ -if(!(l217))goto l274; * (volatile unsigned long* )((b)->g+4)=l205; -l274:;}return 1;}void cp_enable_interrupt(s*b,int m){e*a;{a=b->k;l268 -:if(!(a<b->k+4))goto l271;goto l244;l266:++a;goto l268;l244:{if(!(a-> -f))goto l245;{ * (volatile unsigned long* )((a)->x+84)=m?a->l72:~0;a -->l144=m?1:0;}l245:;}goto l266;l271:;}}int cp_transmit_space(e*a){ -return(4+a->l47-a->l45-1)%4;}int cp_send_packet(e*a,unsigned char*p, -int z,void*l81){{if(!(!cp_transmit_space(a)))goto l810;return-1;l810: -;}{if(!(z<=0||z>1664-1))goto l866;return-2;l866:;}a->l81[a->l45]=l81; -{if(!(p!=a->l147[a->l45]))goto l838;memcpy(a->l147[a->l45],p,z);l838: -;} * (volatile unsigned long* )&a->l39[a->l45].t=0;outb(128,0); * ( -volatile unsigned long* )&a->l39[a->l45].z=2147483648UL|1073741824|z -<<16;{if(!(a->l58))goto l560; * (volatile unsigned long* )&a->l39[a-> -l45].z|=536870912;l560:;}outb(128,0); * (volatile unsigned long* )&a -->l39[(a->l45+4-1)%4].z&=~1073741824;outb(128,0);;{if(!(( * (a)->l79)== -0))goto l815;{;( * (a)->l79)=a->l152[a->l47];outb(128,0);( * (a)->l83 +int)){a->l186=l86;}void cp_register_receive(e*a,void( *l86)(e* , +unsigned char* ,int)){a->l169=l86;}void cp_register_error(e*a,void( * +l86)(e* ,int)){a->l63=l86;}static void l191(e*a){unsigned char l79, +l157;unsigned l50,l153,l56,l182,l113,l130;++a->l55;{if(!(!a->l136&&a +->l55<=1))goto l702;return;l702:;}a->t=0;l79=l97(a,6,255);l130=0;{if( +!(l79&2))goto l703;a->t|=64;l703:;}{if(!(l79&8))goto l704;a->t|=8; +l704:;}l50=(((short)(l52(a,0))<<8)|(l52(a,1)));l153=0;l56=0;l182=0;{ +if(!(!a->l31))goto l705;{l157=l52(a,30);{if(!(!a->l44&&(l79&128)))goto +l521;a->t|=256;l521:;}{if(!(!a->l44&&(l79&64)))goto l708;a->t|=512; +l708:;}{if(!(l79&4))goto l709;a->t|=2;l709:;}{if(!(l157&4))goto l517; +{a->t|=32;++l130;}l517:;}{if(!((!a->l44&&(l157&2))||(a->l56&&(l157&1))))goto +l711;{a->t|=1024;++l130;}l711:;}l153=(((short)(l52(a,2))<<4&4032)|( +l52(a,4))>>2);l56=(((short)(l52(a,2))<<8&768)|(l52(a,3)));l182=((( +short)(l52(a,4))<<8&768)|(l52(a,5)));{if(!((a->d->l29||a->l37)&&(l79& +16)))goto l715;++a->n.l105;l715:;}}l705:;}{if(!(a->t&64))goto l513;a +->t=64;goto l717;l513:;{if(!(a->t&8))goto l498;a->t=8;goto l721;l498: +;{if(!(a->t&32))goto l497;a->t=32;goto l723;l497:;{if(!(a->t&1024))goto +l495;a->t&=~(512|256);l495:;}l723:;}l721:;}l717:;}{if(!(!a->t))goto +l725;a->t=1;l725:;}a->n.l50+=l50;a->n.l109+=l153;{if(!(a->l56))goto +l724;{a->n.l121+=l56;a->n.l103+=l182;}l724:;}l113=l153;{if(!(a->l56))goto +l729;l113+=l56;l729:;}{if(!(l79&(8|2)))goto l464;++a->n.l96;goto l746 +;l464:;{{if(!(l50))goto l742;++a->n.l89;l742:;}{if(!(l113||l130||((a +->d->l29||a->l37)&&(l79&16))))goto l748;++a->n.l108;l748:;}{if(!(l130 +))goto l744;++a->n.l118;l744:;}{if(!(l50>=2048||l113>=832))goto l745; +++a->n.l114;goto l374;l745:;{{if(!(l113>1))goto l747;++a->n.l120;l747 +:;}++a->l119;a->l107+=l50+l113;}l374:;}}l746:;}{if(!(a->l55%60==0))goto +l752;{{if(!(a->l107>a->l119*2048/1000))goto l754;++a->n.l100;l754:;}a +->l119=0;a->l107=0;}l752:;}{if(!(a->l55>15*60))goto l755;{int c;{c=47 +;l771:if(!(c>0))goto l768;goto l769;l767:--c;goto l771;l769:a->l116[c +]=a->l116[c-1];goto l767;l768:;}a->l116[0]=a->n;a->l30.l50+=a->n.l50; +a->l30.l109+=a->n.l109;a->l30.l121+=a->n.l121;a->l30.l103+=a->n.l103; +a->l30.l96+=a->n.l96;a->l30.l89+=a->n.l89;a->l30.l108+=a->n.l108;a-> +l30.l120+=a->n.l120;a->l30.l114+=a->n.l114;a->l30.l118+=a->n.l118;a-> +l30.l105+=a->n.l105;a->l30.l100+=a->n.l100;a->n.l50=0;a->n.l109=0;a-> +n.l121=0;a->n.l103=0;a->n.l96=0;a->n.l89=0;a->n.l108=0;a->n.l120=0;a +->n.l114=0;a->n.l118=0;a->n.l105=0;a->n.l100=0;a->l136+=a->l55;a->l55 +=0;}l755:;}}void cp_g703_timer(e*a){unsigned char l84;int l139;++a-> +l55;{if(!(!a->l136&&a->l55<=1))goto l384;return;l384:;}a->t=0;l84=v(a +->d,a->l45);l(a->d,a->l45,l84);l139=cp_get_cd(a);{if(!(l84&1))goto +l386;++a->n.l50;l386:;}{if(!(!l139))goto l772;a->t|=64;l772:;}{if(!( +l84&2))goto l773;a->t|=4096;l773:;}{if(!(l84&16))goto l775;a->t|=2048 +;l775:;}{if(!(!a->t))goto l776;a->t=1;l776:;}{if(!(!l139||(l84&16)))goto +l787;++a->n.l96;goto l788;l787:;{{if(!(l84&1))goto l789;++a->n.l89; +l789:;}++a->l119;{if(!(l139&&(l84&1)))goto l394;++a->l107;l394:;}} +l788:;}{if(!(a->l55/60==0))goto l791;{{if(!(a->l107*2>a->l119))goto +l792;++a->n.l100;l792:;}a->l119=0;a->l107=0;}l791:;}{if(!(a->l55>15* +60))goto l793;{int c;{c=47;l396:if(!(c>0))goto l798;goto l809;l797:-- +c;goto l396;l809:a->l116[c]=a->l116[c-1];goto l797;l798:;}a->l116[0]= +a->n;a->l30.l50+=a->n.l50;a->l30.l109+=a->n.l109;a->l30.l121+=a->n. +l121;a->l30.l103+=a->n.l103;a->l30.l96+=a->n.l96;a->l30.l89+=a->n.l89 +;a->l30.l108+=a->n.l108;a->l30.l120+=a->n.l120;a->l30.l114+=a->n.l114 +;a->l30.l118+=a->n.l118;a->l30.l105+=a->n.l105;a->l30.l100+=a->n.l100 +;memset(&a->n,0,sizeof(a->n));a->l136+=a->l55;a->l55=0;}l793:;}}void +cp_e1_timer(e*a){{if(!(a->f==3&&(l97(a,7,255)&16)))goto l810;{;l191(a +);}l810:;}}void cp_e3_timer(e*a){unsigned char l124;unsigned long l154 +;{if(!(a->d->f!=2))goto l816;return;l816:;}l(a->d,11,0);l154=v(a->d, +11);l154|=v(a->d,12)<<8;l154|=v(a->d,13)<<16;l124=v(a->d,9);l(a->d,9, +a->l560|1);{if(!(l124&2))goto l812;{{if(!(a->l127&&(a->l101&2)!=0&&!a +->l82))goto l813;{a->l82=1;l68(a);}l813:;}a->l101=2;}goto l406;l812:; +{{if(!(a->l127&&(a->l101&2)==0&&a->l82))goto l815;{a->l82=0;l68(a);} +l815:;}a->l101=0;}l406:;}{if(!(l124&1))goto l817;a->l101|=4;l817:;}{ +if(!(l124&4&&!(l124&2)))goto l408;a->l101|=8;l408:;}{if(!(!(a->l101&2 +)))goto l847;a->l152+=l154;l847:;}a->l138++;{if(!(a->l138>5*60*15))goto +l841;{int c;{c=47;l842:if(!(c>0))goto l438;goto l845;l850:c--;goto +l842;l845:a->l183[c]=a->l183[c-1];goto l850;l438:;}a->l183[0]=a->l152 +;a->l620+=a->l152;a->l617+=a->l138/5;a->l152=0;a->l138=0;}l841:;}} +static void l576(e*a){int w=(( * (volatile unsigned long* )&a->l32[a +->l28].t)>>16&8191);unsigned char l129;{if(!(w>0))goto l422;l129=a-> +l137[a->l28][--w];goto l871;l422:;l129=0;l871:;};{if(!(l129&64))goto +l848;{++a->l200;{if(!(a->l63))goto l849;a->l63(a,4);l849:;}}goto l903 +;l848:;{if(!(!(l129&128)))goto l879;{++a->l588;{if(!(a->l63))goto l873 +;a->l63(a,1);l873:;}}goto l436;l879:;{if(!(!a->l53&&!(l129&32)))goto +l906;{++a->l554;{if(!(a->l63))goto l876;a->l63(a,2);l876:;}}goto l877 +;l906:;{a->l567+=w;++a->l591;{if(!(a->l169))goto l900;a->l169(a,a-> +l137[a->l28],w);l900:;}}l877:;}l436:;}l903:;} * (volatile unsigned +long* )&a->l32[a->l28].t=0; * (volatile unsigned long* )&a->l32[a-> +l28].l93=a->l62[a->l28]; * (volatile unsigned long* )&a->l32[(a->l28+ +64-1)%64].l93=a->l62[a->l28];a->l28=++a->l28%64;}static void l814(e*a +){int l197=0;int l198=0;{if(!(!a->l32))goto l901;return;l901:;}++a-> +l633;{if(!( * (volatile unsigned long* )&a->l32[(a->l28+64-1)%64].t& +1073741824))goto l367;l197++;l367:;}{l363:if(!(( * (volatile unsigned +long* )&a->l32[a->l28].t&1073741824)&&( * (volatile unsigned long* )& +a->l62[a->l28]!= * (volatile unsigned long* )((a)->l92))))goto l362;{ +l576(a);l198++;}goto l363;l362:;}{if(!(l197))goto l360;{{if(!(l198<64 +-1))goto l358;{{l356:if(!(( * (volatile unsigned long* )&a->l62[a-> +l28]!= * (volatile unsigned long* )((a)->l92))))goto l355;{ * ( +volatile unsigned long* )&a->l32[a->l28].t=0; * (volatile unsigned +long* )&a->l32[a->l28].l93=a->l62[a->l28]; * (volatile unsigned long* +)&a->l32[(a->l28+64-1)%64].l93=a->l62[a->l28];a->l28=++a->l28%64;} +goto l356;l355:;}}l358:;}++a->l200;{if(!(a->l63))goto l350;a->l63(a,5 +);l350:;}}l360:;}}static void l720(e*a){int w=(( * (volatile unsigned +long* )&a->l39[a->l48].w)>>16&8191);void*l78=a->l78[a->l48];;a->l48= +++a->l48%4;{if(!(a->l48!=a->l46))goto l349;{int l657=(( * (a)->l125)- +a->l143[0])/sizeof(l123);{if(!(l657==(a->l48+4-1)%4))goto l346;{; * ( +volatile unsigned long* )((a->d)->g+0)=1024<<a->p;outb(128,0);}l346:; +}}l349:;}{if(!(w>0))goto l343;{a->l596+=w;++a->l301;{if(!(a->l186))goto +l342;a->l186(a,l78,w);l342:;}}l343:;}}static void l268(e*a){unsigned +long l90;int l220=0;++a->l614;{l171:if(!((l90= * (volatile unsigned +long* )&a->l91[a->l111])!=0))goto l339;{ * (volatile unsigned long* )& +a->l91[a->l111]=0;a->l111=++a->l111%128;{if(!(!(l90&1073741824)))goto +l333;{;goto l171;}l333:;}{if(!(l90&33554432))goto l332;{;{if(!(l90& +65536))goto l331;++l220;l331:;}goto l171;}l332:;};{if(!(a->l48!=a-> +l46&&( * (volatile unsigned long* )&a->l39[a->l48].t&1073741824)))goto +l329;l720(a);l329:;}}goto l171;l339:;}{if(!(l220))goto l326;{ * ( +volatile unsigned long* )((a)->x+0)=16777216;++a->l261;{if(!(a->l63))goto +l322;a->l63(a,3);l322:;}}l326:;}}static void l905(s*b){unsigned long +l90;e*a;{l193:if(!((l90= * (volatile unsigned long* )&b->l98[b->l112] +)!=0))goto l314;{ * (volatile unsigned long* )&b->l98[b->l112]=0;b-> +l112=++b->l112%128;{if(!((l90&3489660928UL)!=3489660928UL))goto l313; +{;goto l193;}l313:;}{a=b->k;l310:if(!(a<b->k+4))goto l307;goto l306; +l309:++a;goto l310;l306:{if(!(a->f==3&&(l97(a,7,255)&16)))goto l302;{ +;l191(a);}l302:;}goto l309;l307:;}}goto l193;l314:;}}void +cp_handle_interrupt(s*b){e*a;++b->l563;{if(!( * (volatile unsigned +long* )&b->l98[b->l112]))goto l299;l905(b);l299:;}{a=b->k;l298:if(!(a +<b->k+4))goto l291;goto l286;l292:++a;goto l298;l286:{{if(!(~(a->l73)))goto +l284;{{if(!( * (volatile unsigned long* )&a->l91[a->l111]))goto l281; +l268(a);l281:;}{if(!( * (volatile unsigned long* )&a->l62[a->l28]!= * +(volatile unsigned long* )((a)->l92)))goto l279;l814(a);l279:;}}l284: +;}}goto l292;l291:;}}int cp_interrupt(s*b){int l216=0;{l277:if(!( +cp_interrupt_poll(b,1)!=0))goto l271;{{if(!(++l216>1000))goto l276; +return-1;l276:;}cp_handle_interrupt(b);}goto l277;l271:;}return l216; +}int cp_interrupt_poll(s*b,int l218){unsigned long l209= * (volatile +unsigned long* )((b)->g+4);;{if(!(!l209))goto l269;return 0;l269:;}{ +if(!(l218))goto l242; * (volatile unsigned long* )((b)->g+4)=l209; +l242:;}return 1;}void cp_enable_interrupt(s*b,int m){e*a;{a=b->k;l243 +:if(!(a<b->k+4))goto l883;goto l874;l822:++a;goto l243;l874:{if(!(a-> +f))goto l555;{ * (volatile unsigned long* )((a)->x+84)=m?a->l73:~0;a +->l146=m?1:0;}l555:;}goto l822;l883:;}}int cp_transmit_space(e*a){ +return(4+a->l48-a->l46-1)%4;}int cp_send_packet(e*a,unsigned char*l88 +,int w,void*l78){{if(!(!cp_transmit_space(a)))goto l834;return-1;l834 +:;}{if(!(w<=0||w>1664-1))goto l656;return-2;l656:;}a->l78[a->l46]=l78 +;{if(!(l88!=a->l156[a->l46]))goto l714;memcpy(a->l156[a->l46],l88,w); +l714:;} * (volatile unsigned long* )&a->l39[a->l46].t=0;outb(128,0); * +(volatile unsigned long* )&a->l39[a->l46].w=2147483648UL|1073741824|w +<<16;{if(!(a->l53))goto l706; * (volatile unsigned long* )&a->l39[a-> +l46].w|=536870912;l706:;}outb(128,0); * (volatile unsigned long* )&a +->l39[(a->l46+4-1)%4].w&=~1073741824;outb(128,0);;{if(!(( * (a)->l76)== +0))goto l699;{;( * (a)->l76)=a->l143[a->l48];outb(128,0);( * (a)->l83 )=524288;outb(128,0); * (volatile unsigned long* )((a->d)->g+0)=513;} -goto l656;l815:;{if(!(a->l47==a->l45))goto l697;{; * (volatile -unsigned long* )((a->d)->g+0)=1024<<a->r;}l697:;}l656:;}outb(128,0);a -->l45=(a->l45+1)%4;return 0;} +goto l691;l699:;{if(!(a->l48==a->l46))goto l650;{; * (volatile +unsigned long* )((a->d)->g+0)=1024<<a->p;}l650:;}l691:;}outb(128,0);a +->l46=(a->l46+1)%4;return 0;} diff --git a/sys/dev/cp/cpddk.h b/sys/dev/cp/cpddk.h index 4bf245e..f16feff 100644 --- a/sys/dev/cp/cpddk.h +++ b/sys/dev/cp/cpddk.h @@ -15,10 +15,9 @@ * as long as this message is kept with the software, all derivative * works or modified versions. * - * $Cronyx: cpddk.h,v 1.8.4.14 2004/01/13 13:35:27 rik Exp $ + * $Cronyx: cpddk.h,v 1.8.4.19 2004/08/10 13:37:20 rik Exp $ * $FreeBSD$ */ - #define NBRD 6 /* the maximum number of installed boards */ #define NCHAN 4 /* the number of channels on the board */ #define NRBUF 64 /* the number of receive buffers per channel, @@ -179,6 +178,7 @@ typedef struct _cp_chan_t { unsigned long e3status; /* E3 status */ #define E3STS_LOS 0x00000002 /* Lost of synchronization */ #define E3STS_TXE 0x00000004 /* Transmit error */ +#define E3STS_AIS 0x00000008 /* Transmit error */ unsigned long e3csec_5; /* 1/5 of second counter */ unsigned long e3tsec; /* total seconds coounter */ unsigned long e3ccv; /* E3 current 15-min cv errors */ @@ -246,11 +246,12 @@ typedef struct _cp_board_t { int iln; unsigned char fw_type; /* firmware type */ #define FW_TAUPCI_NONE 0 +#define FW_TAUPCI_E3_B 1 #define FW_TAUPCI_2E1_B 2 #define FW_TAUPCI_2E1_A 3 #define FW_TAUPCI_4E1_B 6 #define FW_TAUPCI_4E1_A 7 - unsigned char *firmware; /* external firmware */ + unsigned char *firmware[8]; /* external firmware */ void *sys; } cp_board_t; |