These videos might hang your browser, sorry!
Time Out
#define MAP_HEIGHT 4096
#define SHOT_LENGTH 5
#define SHOT_SPEED 5
#define MAX_SHOTS 128
I8 sx[MAX_SHOTS],sy[MAX_SHOTS];
I8 sdx[MAX_SHOTS],sdy[MAX_SHOTS];
I8 sdx2[MAX_SHOTS],sdy2[MAX_SHOTS];
I8 shots_fired;
BoolI1 s_dead[MAX_SHOTS];
I8 x,y,dx,dy,scroll_y,finish_line;
double theta;
LTDate start_time,end_time;
$PI,"<ship>",1$
#define GROUPS 10
#define MAX_ENEMY (GROUPS*100)
#define MAX_FRIENDLY (GROUPS*20)
#define MAX_MAN (MAX_FRIENDLY+MAX_ENEMY)
I8 man_x[MAX_MAN],man_y[MAX_MAN];
I8 level,level_score,total_score,
friendly_fire,enemy_by_friendly,friendly_left,enemy_left;
BoolI1 level_over,game_over;
BoolI1 man_friendly[MAX_MAN];
BoolI1 *man_dead=MAllocHC(sizeof(BoolI1)*MAX_MAN,mp_heap);
U8 corpse_timeout[MAX_MAN];
$PI,"<enemy>",2$
$PI,"<enemy_dead>",3$
$PI,"<friendly>",4$
$PI,"<friendly_dead>",5$
#define LANDSCAPE_TYPES 4
$PI,"<tree1>",6$
$PI,"<tree2>",7$
$PI,"<rock1>",8$
$PI,"<mount1>",9$
GrElem *l_imgs[LANDSCAPE_TYPES]=
{$IB,"<tree1>",6$,$IB,"<tree2>",7$,$IB,"<rock1>",8$,$IB,"<mount1>",9$};
#define MAX_LANDSCAPE 64
I8 lx[MAX_LANDSCAPE],ly[MAX_LANDSCAPE];
I8 l_types[MAX_LANDSCAPE];
void UpdateWin(TssStruct *tss)
{
I8 i;
I8 *old_r;
GrBitMap *base=GrAlias(grbase,tss);
I1 buf[128];
for (i=0;i<MAX_LANDSCAPE;i++)
GrElemsPlot(base,lx[i],
(ly[i]-scroll_y)&(MAP_HEIGHT-1),0,
l_imgs[l_types[i]]);
base->pen_width=3;
base->color=YELLOW;
GrLine3(base,0, (finish_line-scroll_y)&(MAP_HEIGHT-1),0,
GR_WIDTH,(finish_line-scroll_y)&(MAP_HEIGHT-1),0);
base->color=LTRED;
for (i=0;i<MAX_SHOTS;i++)
if (!s_dead[i])
GrLine(base,sx[i]>>32,sy[i]>>32,
(sx[i]+sdx[i]*SHOT_LENGTH)>>32,
(sy[i]+sdy[i]*SHOT_LENGTH)>>32);
for (i=0;i<MAX_MAN;i++)
if (!man_dead[i]) {
if (man_friendly[i])
GrElemsPlot(base,man_x[i],(man_y[i]-scroll_y)&(MAP_HEIGHT-1),0,$IB,"<friendly>",4$);
else
GrElemsPlot(base,man_x[i],(man_y[i]-scroll_y)&(MAP_HEIGHT-1),0,$IB,"<enemy>",2$);
} else
if (GetTimeStamp<corpse_timeout[i])
if (man_friendly[i])
GrElemsPlot(base,man_x[i],(man_y[i]-scroll_y)&(MAP_HEIGHT-1),0,$IB,"<friendly_dead>",5$);
else
GrElemsPlot(base,man_x[i],(man_y[i]-scroll_y)&(MAP_HEIGHT-1),0,$IB,"<enemy_dead>",3$);
base->bkcolor=BLACK;
GrElemsPlotRotZ(base,x,y,0,$IB,"<ship>",1$,theta);
if (end_time) {
i=end_time;
base->color=WHITE;
if (game_over)
SPrintF(buf,"Game Over");
else
SPrintF(buf,"Level: %d",level+1);
GrPutS(base,tss->win_pixel_width/2-4*FONT_WIDTH,
tss->win_pixel_height/2,buf);
} else {
i=BootTime;
if (!enemy_left || !friendly_left) {
if (!friendly_left && !level_over)
game_over=TRUE;
level_over=TRUE;
}
}
base->color=YELLOW;
GrPrintF(base,0,0,"Level:%d Enemy:%d Friends:%d Friendly Fire:%d Time:%h17T Shots:%d",
level,enemy_left,friendly_left,friendly_fire,i-start_time,shots_fired);
if (!level_over)
SPrintF(buf,"Level Score:%,d Total Score:%,d",
level_score,total_score+level_score);
else
SPrintF(buf,"Level Score:%,d Total Score:%,d",
level_score,total_score);
base->color=YELLOW;
GrPutS(base,0,8,buf);
GrDel(base);
}
#define MONO_MAN_WIDTH 32
#define MONO_MAN_HEIGHT 32
void CheckCollisions()
{
I8 i,x,y;
GrBitMap *base2=GrNew(BMT_MONO,GR_WIDTH,GR_HEIGHT);
GrBitMap *friend=GrNew(BMT_MONO,MONO_MAN_WIDTH,MONO_MAN_HEIGHT);
GrBitMap *enemy =GrNew(BMT_MONO,MONO_MAN_WIDTH,MONO_MAN_HEIGHT);
GrElemsPlot(friend,MONO_MAN_WIDTH/2,MONO_MAN_HEIGHT/2,0,$IB,"<friend>",4$);
GrElemsPlot(enemy,MONO_MAN_WIDTH/2,MONO_MAN_HEIGHT/2,0,$IB,"<enemy>",2$);
base2->color=WHITE;
for (i=0;i<MAX_SHOTS;i++)
if (!s_dead[i])
GrLine(base2,sx[i]>>32,sy[i]>>32,
(sx[i]+sdx[i]*SHOT_LENGTH)>>32,
(sy[i]+sdy[i]*SHOT_LENGTH)>>32);
base2->bkcolor=ROP_COLLISION+BLACK;
base2->color=ROP_COLLISION+WHITE;
for (i=0;i<MAX_MAN;i++) {
if (!man_dead[i]) {
x=man_x[i];
y=(man_y[i]-scroll_y)&(MAP_HEIGHT-1);
if (0<=x<GR_WIDTH && 0<=y<GR_HEIGHT) {
base2->collision_cnt=0;
if (man_friendly[i])
GrBlot(base2,x-MONO_MAN_WIDTH/2,y-MONO_MAN_HEIGHT/2,friend);
else
GrBlot(base2,x-MONO_MAN_WIDTH/2,y-MONO_MAN_HEIGHT/2,enemy);
if (base2->collision_cnt) {
man_dead[i]=TRUE;
corpse_timeout[i]=GetTimeStamp+time_stamp_freq*30;
if (man_friendly[i]) {
friendly_fire++;
friendly_left--;
} else
enemy_left--;
}
}
}
}
GrDel(friend);
GrDel(enemy);
GrDel(base2);
}
void InitLevel()
{
I8 i,xx,yy;
scroll_y=MAP_HEIGHT-100;
x=Fs->win_pixel_width>>1;
y=0.9*Fs->win_pixel_height;
finish_line=scroll_y+y;
dx=0;
dy=0;
theta=0;
for (i=0;i<MAX_LANDSCAPE;i++) {
lx[i]=(Fs->win_pixel_width-100)*RandU4/MAX_U4+50;
ly[i]=(MAP_HEIGHT-100)*RandU4/MAX_U4+50;
l_types[i]=RandU2%(LANDSCAPE_TYPES-1);
}
l_types[0]=3;
l_types[1]=3;
for (i=0;i<MAX_MAN;i++) {
if (i<MAX_FRIENDLY) {
man_friendly[i]=TRUE;
if (!(i&7)) {
xx=(Fs->win_pixel_width-200)*RandU4/MAX_U4;
yy=(MAP_HEIGHT-200)*RandU4/MAX_U4;
}
} else {
man_friendly[i]=FALSE;
if (!(i&31)) {
xx=(Fs->win_pixel_width-200)*RandU4/MAX_U4;
yy=(MAP_HEIGHT-200)*RandU4/MAX_U4;
}
}
man_dead[i]=FALSE;
man_x[i]=xx+64*RandI4/MAX_I4+100;
man_y[i]=yy+64*RandU4/MAX_I4-64+100;
corpse_timeout[i]=0;
}
for (i=0;i<MAX_SHOTS;i++)
s_dead[i]=TRUE;
friendly_left=MAX_FRIENDLY;
enemy_left =MAX_ENEMY;
enemy_by_friendly=0;
shots_fired=0;
friendly_fire=0;
level_score=0;
start_time=BootTime;
end_time=0;
level_over=FALSE;
}
void InitGame()
{
total_score=0;
level=1;
InitLevel;
game_over=FALSE;
}
void FireShot()
{
I8 i,j;
double m,a;
for (i=0;i<MAX_SHOTS-1;i++)
if (s_dead[i])
break;
j=x+24.0*Sin(theta);
sx[i]=j<<32;
j=y-24.0*Cos(theta);
sy[i]=j<<32;
sdx2[i]=(SHOT_SPEED*Sin(theta)+dx)*0x100000000;
sdy2[i]=-SHOT_SPEED*Cos(theta)*0x100000000;
R2P(&m,&a,sdx2[i],sdy2[i]);
sdx[i]=Cos(a)*0x100000000;
sdy[i]=Sin(a)*0x100000000;
shots_fired++;
s_dead[i]=FALSE;
}
void MoveMen(I8 group)
{
I8 i,j,d,closest,closest_d;
for (i=group;i<MAX_FRIENDLY;i+=GROUPS) {
if (!man_dead[i]) {
closest=MAX_FRIENDLY;
closest_d=MAX_I8;
for (j=MAX_FRIENDLY;j<MAX_MAN;j++) {
if (!man_dead[j]) {
d=AbsI8(man_x[i]-man_x[j])+AbsI8(man_y[i]-man_y[j]);
if (d<closest_d) {
closest_d=d;
closest=j;
}
}
}
if (closest_d!=MAX_I8) {
man_x[i]+=4*SignI8(man_x[closest]-man_x[i]);
man_y[i]+=4*SignI8(man_y[closest]-man_y[i]);
}
}
}
for (i=MAX_FRIENDLY+group;i<MAX_MAN;i+=GROUPS) {
if (!man_dead[i]) {
closest=0;
closest_d=MAX_I8;
for (j=0;j<MAX_FRIENDLY;j++) {
if (!man_dead[j]) {
d=AbsI8(man_x[i]-man_x[j])+AbsI8(man_y[i]-man_y[j]);
if (d<closest_d) {
closest_d=d;
closest=j;
}
}
}
if (closest_d!=MAX_I8) {
man_x[i]+=4*SignI8(man_x[closest]-man_x[i]);
man_y[i]+=4*SignI8(man_y[closest]-man_y[i]);
}
}
}
}
void FightMen(I8 group)
{
I8 i,j,d,closest,closest_d;
for (i=group;i<MAX_FRIENDLY;i+=GROUPS) {
if (!man_dead[i]) {
closest=MAX_FRIENDLY;
closest_d=MAX_I8;
for (j=MAX_FRIENDLY;j<MAX_MAN;j++) {
if (!man_dead[j] && man_y[i]-man_y[j]<8) {
d=Sqr(man_x[i]-man_x[j])+Sqr(man_y[i]-man_y[j]);
if (d<closest_d) {
closest_d=d;
closest=j;
}
}
}
if (closest_d<8*8)
if (!(RandU2&1)) {
enemy_left--;
enemy_by_friendly++;
man_dead[closest]=TRUE;
corpse_timeout[closest]=GetTimeStamp+time_stamp_freq*30;
}
}
}
for (i=MAX_FRIENDLY+group;i<MAX_MAN;i+=GROUPS) {
if (!man_dead[i]) {
closest=0;
closest_d=MAX_I8;
for (j=0;j<MAX_FRIENDLY;j++) {
if (!man_dead[j]&& man_y[i]-man_y[j]<8) {
d=Sqr(man_x[i]-man_x[j])+Sqr(man_y[i]-man_y[j]);
if (d<closest_d) {
closest_d=d;
closest=j;
}
}
}
if (closest_d<8*8)
if (!(RandU2&1)) {
friendly_left--;
man_dead[closest]=TRUE;
corpse_timeout[closest]=GetTimeStamp+time_stamp_freq*30;
}
}
}
}
void Timeout()
{
U8 cmd,p1,p2;
U8 i,main_loop_pass;
BoolI1 gun_on,quit;
U8 old_attr=Fs->text_attr;
BoolI1 old_preempt=Preempt(OFF);
BoolI1 old_border=WinBorder(OFF);
BoolI1 old_wordstat=WordStat(OFF);
U8 next_update_time;
void *old_update=Fs->update_win;
WinMax;
LtfClear;
cout
"\r\n\r\nYou're sent back through time "
"to help fight some bad guys.\r\n\r\n"
"Scoring:\r\n"
" Enemy Killed\t\t+5\r\n"
" Enemy by Friendly\t+10\r\n"
" Friendly Fire\t\t-200\r\n"
" Shots Fired\t\t-1\r\n"
" Game Time\t\t-10 per second\r\n"
" Surviving Friendlies\t+500\r\n"
" Level Bonus\t\t+1000\r\n"
"\r\n"
" Score gets multiplied by level.\r\n"
"\r\n";
PressAKey;
InitGame;
Fs->update_win=&UpdateWin;
Fs->text_attr=GREEN<<4;
Preempt(old_preempt);
gun_on=FALSE;
quit=FALSE;
main_loop_pass=0;
try
while (TRUE) {
next_update_time=GetTimeStamp+10*time_stamp_kHz_freq;
if (cmd=ScanMsg(&p1,&p2,
1<<MSG_KEY_DOWN+1<<MSG_KEY_UP)) {
if (cmd==MSG_KEY_DOWN) {
switch (p2.u1[0]) {
case SC_CURSOR_RIGHT:
theta=15.0*pi/180.0;
break;
case SC_CURSOR_LEFT:
theta=-15.0*pi/180.0;
break;
default:
if (p1==CH_CTRLQ || p1==CH_ESC)
quit=TRUE;
if (p1==CH_SPACE)
gun_on=TRUE;
}
} else if (cmd==MSG_KEY_UP) {
switch (p2.u1[0]) {
case SC_CURSOR_RIGHT:
case SC_CURSOR_LEFT:
theta=0.0;
break;
default:
if (p1==CH_SPACE)
gun_on=FALSE;
}
}
}
if (quit)
break;
for (i=0;i<MAX_SHOTS;i++) {
if (!s_dead[i]) {
sx[i]+=sdx2[i];
sy[i]+=sdy2[i];
if (sy[i]<0||sx[i]<0||
sx[i]>>32>=Fs->win_pixel_width||
sy[i]>>32>=Fs->win_pixel_height)
s_dead[i]=TRUE;
}
}
dx=0;
if (theta>0)
dx=2;
else if (theta<0)
dx=-2;
x+=dx;
if (x<0)
x=Fs->win_pixel_width-1;
if (x>=Fs->win_pixel_width)
x=0;
switch (main_loop_pass&7) {
case 0:
if (!(main_loop_pass&15))
FightMen(main_loop_pass>>4%GROUPS);
else
MoveMen(main_loop_pass>>4%GROUPS);
if (!(main_loop_pass&0x3F)) {
y--;
if (y<20) {
level_over=TRUE;
game_over=TRUE;
}
}
break;
case 2:
CheckCollisions;
break;
case 4:
break;
case 6:
if (mp_cnt>1)
MPJob(&CheckCollisions);
break;
default:
if (gun_on)
FireShot;
}
main_loop_pass++;
scroll_y-=(level+1)/2;
if (main_loop_pass&1 && (level+1)&1)
scroll_y--;
Bts(&Fs->task_flags,TSSf_IDLE);
do SwapInNextTask;
while (Fs->time_slice_start<next_update_time);
Btr(&Fs->task_flags,TSSf_IDLE);
level_score=level*(5*(MAX_ENEMY-enemy_left)
+10*enemy_by_friendly
-200*friendly_fire
-10*(BootTime-start_time)/LTDATE_FREQ
-shots_fired);
if (level_over) {
if (!game_over)
level_score+=1000;
total_score+=level_score;
end_time=BootTime;
Sleep(1000);
FlushMsgs;
if (!game_over) {
while (friendly_left) {
if (ScanKey(&p1))
break;
level_score+=500;
total_score+=500;
Sound(1000);
Sleep(150);
Sound(0);
Sleep(50);
friendly_left--;
}
if (!friendly_left)
p1=GetChar;
else {
level_score+=friendly_left*500;
total_score+=friendly_left*500;
}
} else
p1=GetChar;
gun_on=FALSE;
main_loop_pass=0;
if (p1==CH_CTRLQ || p1==CH_ESC)
break;
else {
if (!game_over) {
level++;
InitLevel;
} else
InitGame;
}
}
}
catch
CatchAll;
done:
Preempt(OFF);
WinBorder(old_border);
WordStat(old_wordstat);
Fs->update_win=old_update;
Fs->text_attr=old_attr;
Preempt(old_preempt);
}
...........D........................êÿÿÿ...îÿÿÿ......îÿÿÿ.............êÿÿÿÿÿÿÿðÿÿÿ...
ÿÿÿÿðÿÿÿýÿÿÿ.......ýÿÿÿ....ñÿÿÿ......ñÿÿÿ...ñÿÿÿ ......ñÿÿÿ ...ýÿÿÿ......ýÿÿÿ.....................
......... .....................................ýÿÿÿ......ýÿÿÿ...ÿÿÿÿ......ÿÿÿÿ...
..................................................................
..................ýÿÿÿ......... ..................
............ÿÿÿÿ
...ýÿÿÿ.........óÿÿÿ...ÿÿÿÿ..............................ðÿÿÿ......ðÿÿÿ............
öÿÿÿÿÿÿÿ...............ÿÿÿÿüÿÿÿÿÿÿÿ......ÿÿÿÿ.....................üÿÿÿ......þÿÿÿ...
.....................
...
......................üÿÿÿ...óÿÿÿ......üÿÿÿ...óÿÿÿ
................ïÿÿÿ...þÿÿÿñÿÿÿþÿÿÿ.......þÿÿÿ........................................
ÿÿÿÿ.......ûÿÿÿ.......ûÿÿÿ.........
...ÿÿÿÿüÿÿÿ...õÿÿÿ......õÿÿÿýÿÿÿöÿÿÿ...ýÿÿÿöÿÿÿ....ûÿÿÿ.......öÿÿÿÿÿÿÿúÿÿÿ...ÿÿÿÿúÿÿÿÿÿÿÿöÿÿÿ...
ÿÿÿÿöÿÿÿ...÷ÿÿÿ......ýÿÿÿöÿÿÿýÿÿÿýÿÿÿ......öÿÿÿ...ûÿÿÿ...ÿÿÿÿõÿÿÿ...ðÿÿÿ......ýÿÿÿüÿÿÿ...
øÿÿÿ..............ò..................ùÿÿÿ....ÿÿÿÿþÿÿÿ...úÿÿÿÿÿÿÿÿÿÿÿ..............ùÿÿÿ......þÿÿÿþÿÿÿ
...ÿÿÿÿ......ÿÿÿÿýÿÿÿÿÿÿÿ.........ÿÿÿÿ............... .............þÿÿÿ...ýÿÿÿ......ÿÿÿÿ...
......ûÿÿÿ....ôÿÿÿ......þÿÿÿ...÷ÿÿÿ................. ........ .............ýÿÿÿþÿÿÿöÿÿÿ...
þÿÿÿöÿÿÿ...öÿÿÿ......öÿÿÿ...üÿÿÿ.......üÿÿÿ....öÿÿÿ...ÿÿÿÿ÷ÿÿÿ...úÿÿÿ......÷ÿÿÿ....þÿÿÿ......÷ÿÿÿ...
üÿÿÿ...þÿÿÿöÿÿÿýÿÿÿûÿÿÿ..........þÿÿÿ............þÿÿÿýÿÿÿ.........öÿÿÿ...òÿÿÿ.......óÿÿÿ....õÿÿÿ
......ýÿÿÿûÿÿÿ...÷ÿÿÿ..............Ê..................üÿÿÿ......ÿÿÿÿ...üÿÿÿ......üÿÿÿ......
üÿÿÿ...þÿÿÿ......þÿÿÿýÿÿÿ............þÿÿÿ...þÿÿÿ......ýÿÿÿ...ýÿÿÿ...þÿÿÿ...öÿÿÿ......
þÿÿÿÿÿÿÿõÿÿÿ.................................Ê.........
.............ïÿÿÿþÿÿÿõÿÿÿ...þÿÿÿõÿÿÿ...öÿÿÿ......öÿÿÿ...ñÿÿÿ...ÿÿÿÿôÿÿÿ...ùÿÿÿ.......÷ÿÿÿüÿÿÿûÿÿÿ...
üÿÿÿûÿÿÿ...ûÿÿÿ......ûÿÿÿ...öÿÿÿ.......úÿÿÿ....úÿÿÿ..........üÿÿÿ.....................7........
.........öÿÿÿñÿÿÿøÿÿÿëÿÿÿ...ùÿÿÿêÿÿÿýÿÿÿçÿÿÿ...ýÿÿÿçÿÿÿ...æÿÿÿ......æÿÿÿ
...ëÿÿÿ... ...ëÿÿÿ ...ôÿÿÿ...
...ôÿÿÿ
...ùÿÿÿ...
...ùÿÿÿ...óÿÿÿ......óÿÿÿ...ôÿÿÿ......ôÿÿÿ...ùÿÿÿ......ùÿÿÿÿÿÿÿùÿÿÿ...ÿÿÿÿùÿÿÿúÿÿÿñÿÿÿ...
úÿÿÿñÿÿÿöÿÿÿ÷ÿÿÿ...öÿÿÿ÷ÿÿÿöÿÿÿíÿÿÿ...ÿÿÿÿèÿÿÿÿÿÿÿôÿÿÿ......éÿÿÿ ...ôÿÿÿ......ðÿÿÿÿÿÿÿèÿÿÿ...
ùÿÿÿîÿÿÿÿÿÿÿìÿÿÿ... ...ìÿÿÿ...éÿÿÿ...üÿÿÿñÿÿÿüÿÿÿëÿÿÿ......õÿÿÿ...õÿÿÿ......õÿÿÿ...õÿÿÿ......
úÿÿÿ...õÿÿÿ...... ...ðÿÿÿ...êÿÿÿ......ñÿÿÿ...êÿÿÿ......òÿÿÿ...ñÿÿÿ..........
øÿÿÿ.............øÿÿÿ....................Þ..................öÿÿÿ... ...............
......... .........üÿÿÿ......üÿÿÿ....ùÿÿÿ.......ùÿÿÿûÿÿÿüÿÿÿ...ûÿÿÿüÿÿÿ÷ÿÿÿ......
ÿÿÿÿúÿÿÿúÿÿÿ..........ûÿÿÿÿÿÿÿ.............úÿÿÿ.........þÿÿÿüÿÿÿ............. .......¬.....
...¥...W...
¦ÿÿÿÌÿÿÿ...................................................................................................
...........................................................................................................
...........................................................................................................
...........................................................................................................
...................................... ........................................8....................
p....................à....................À...................À...................À...................
Ç..................€‡..................àÿ9..................ðÿs..................¼ ã..................þÃ..
À.............€÷ƒÀ.À ............À»ïÀ.Àl............ðþçÀÀ|............xÿãσÀ|............ž»
ñÏ8ÃÃÀ|............ïÝñÝ1ÃÃÀü...........ÀóîøÇÇÀü...........à9wü½ÆÇÁø...........xÜ3þ=ŽÁø..........
üï9þyŒÁ¸..........ÿwÿyŸÃ¸.........€ÿ9Ž¿ù ø.........àÿƽó8>ǰ.........ðç>ó906Æ0.........
üŸ‡c6³10~Æ0.........þÏÃq7ósplÎ0........€ÿçÀ83cã`üÌp........Àßqà3cÇàØÜp........ðç8pŽ;ãÆÁøÙp>........ø
{8†ÃŽÃ±áp~........þ<‡Ã ƒñcpì........?ŽœÃÇccðÌ......ÀŸÇÎÁÇcgðœ......àÇã.çÀ†9 ãfð......ðáp.
cà†1Çnð......øx8€s`†sÆmð......<<À9`c8Ž}ð9...... àp ãpŒ{°18.......`0
Ã`{°1p......€.p0 Çác°q`......€.80 †Á9g°aà.........œ. †ƒ1f°cÀ........Ì. ƒsn0ã€........Ì..
gl0Ã.........À.. . |0..............x0. ............. x0. .............. p0..................
`0...................`0...................
`..........................................................................................................
...........................................................................................................
...........................................................................................................
...........................................................................................................
...........................................................................................................
...........................................................................................................
.............................................. ........................................
8....................p....................à....................À...................À...................
À...................Ç..................€‡..................àÿ9..................ðÿs..................¼
ã..................þÃ..À.............€÷ƒÀ.À ............À»ïÀ.Àl............ðþçÀÀ|............
xÿãσÀ|............ž»ñÏ8ÃÃÀ|............ïÝñÝ1ÃÃÀü...........ÀóîøÇÇÀü...........à9wü½ÆÇÁø...........
xÜ3þ=ŽÁø..........üï9þyŒÁ¸..........ÿwÿyŸÃ¸.........€ÿ9Ž¿ù ø.........àÿƽó8>ǰ.........ð
ç>ó906Æ0.........üŸ‡c6³10~Æ0.........þÏÃq7ósplÎ0........€ÿçÀ83cã`üÌp........Àßqà3cÇàØÜp........ðç8pŽ;
ãÆÁøÙp>........ø{8†ÃŽÃ±áp~........þ<‡Ã ƒñcpì........?ŽœÃÇccðÌ......ÀŸÇÎÁÇcgðœ......àÇã.çÀ†9
ãfð......ðáp.cà†1Çnð......øx8€s`†sÆmð......<<À9`c8Ž}ð9...... àp ãpŒ{°18.......`0Ã`{°
1p......€.p0 Çác°q`......€.80 †Á9g°aà.........œ. †ƒ1f°cÀ........Ì. ƒsn0ã€........Ì..
gl0Ã.........À.. . |0..............x0. ............. x0. .............. p0..................
`0.....
..............`0...................
`..........................................................................................................
...........................................................................................................
...........................................................................................................
...........................................................................................................
...........................................................................................................
...........................................................................................................
.............................................. ........................................
8....................p....................à....................À...................À...................
À...................Ç..................€‡..................àÿ9..................ðÿs..................¼
ã..................þÃ..À.............€÷ƒÀ.À ............À»ïÀ.Àl............ðþçÀÀ|............
xÿãσÀ|............ž»ñÏ8ÃÃÀ|............ïÝñÝ1ÃÃÀü...........ÀóîøÇÇÀü...........à9wü½ÆÇÁø...........
xÜ3þ=ŽÁø..........üï9þyŒÁ¸..........ÿwÿyŸÃ¸.........€ÿ9Ž¿ù ø.........àÿƽó8>ǰ.........ð
ç>ó906Æ0.........üŸ‡c6³10~Æ0.........þÏÃq7ósplÎ0........€ÿçÀ83cã`üÌp........Àßqà3cÇàØÜp........ðç8pŽ;
ãÆÁøÙp>........ø{8†ÃŽÃ±áp~........þ<‡Ã ƒñcpì........?ŽœÃÇccðÌ......ÀŸÇÎÁÇcgðœ......àÇã.çÀ†9
ãfð......ðáp.cà†1Çnð......øx8€s`†sÆmð......<<À9`c8Ž}ð9...... àp ãpŒ{°18.......`0Ã`{°
1p......€.p0 Çác°q`......€.80 †Á9g°aà.........œ. †ƒ1f°cÀ........Ì. ƒsn0ã€........Ì..
gl0Ã.........À.. . |0..............x0. ............. x0. .............. p0..................
`0...................`0...................
`..........................................................................................................
...............................................................................