1
15 15
Programación de Juegos y Gráficos en C con Allegro
Referencia: C How to Program 5 ed Deitel & Deitel, Pearson
15 15 Programacin de Juegos y Grficos en C con Allegro - - PowerPoint PPT Presentation
1 15 15 Programacin de Juegos y Grficos en C con Allegro Referencia: C How to Program 5 ed Deitel & Deitel, Pearson 2
1
Referencia: C How to Program 5 ed Deitel & Deitel, Pearson
2
3
In this chapter you will learn: How to install the Allegro game programming library to work with your C programs. To create games using Allegro. To use Allegro to import and display graphics. To use the "double buffering" technique to create smooth animations. To use Allegro to import and play sounds. To have Allegro recognize and deal with keyboard input. To create the simple game "Pong" with Allegro. To use Allegro timers to regulate the speed of a game. To use Allegro datafiles to shorten the amount of code in a program. The many other features Allegro can add to a game.
4
15.1 Introduction 15.2 Installing Allegro 15.3 A Simple Allegro Program 15.4 Simple Graphics: Importing Bitmaps and Blitting 15.5 Animation with Double Buffering 15.6 Importing and Playing Sounds 15.7 Keyboard Input 15.8 Fonts and Displaying Text 15.9 Implementing the Game of Pong 15.10 Timers in Allegro 15.11 The Grabber and Allegro Datafiles 15.12 Other Allegro Capabilities 15.13 Allegro Internet and Web Resources
5
– – ! – "
– # () *
6
– .//00110 – + / /00110 1 – 2- /00 -110&134.5
7
67
– 81919 – .:;
#
– 6=5>>""1 – %=5>>;>1 .:; – -?0??1
1B
– A/ +.:;$ C-1
8
–
=.:5>.:>:D>
=.:5>.:>:D>
/>2 >C9
– %=5>>;>1 .:; – EF – "E6
9
'
– %=5>>;>1 .:; – -?0??1
A/$ 1
G&
– %=5>>;>&1 .:; – -?0??1
10
– %=5>>;>1 .:; – -?0??1
11
–
12
– .$
– 672 $ <A#H$.%H – A7$ "
13
1 !" # !" # !" # !" #
$%% $%% $%% $%%
5
& & &' ' ' '( ( ( (
) ) ) )
&(* &(* &(* &(*+ + + +
$$& $$& $$& $$&,-., ,-., ,-., ,-.,(* (* (* (*$%/$$ $%/$$ $%/$$ $%/$$
# # #* * * *
0" " " "
&( &( &(
1 1 1$%" $%" $%" $%"
" # " # " # " #
allegro.h allegro_init END_OF_MAIN
14
– 5'$"672 5'$"672 5'$"672 5'$"672 8 8 8 8 – %$"7$68 %$"7$68 %$"7$68 %$"7$68 – 29: 29: 29: 29: – ;34$$,-<= ;34$$,-<= ;34$$,-<= ;34$$,-<= %%, %%, %%, %%, – /%4>$? /%4>$? /%4>$? /%4>$? ,@, ,@, ,@, ,@, – 2$,%/%4, 2$,%/%4, 2$,%/%4, 2$,%/%4, – A,$, A,$, A,$, A,$,
15
16
– 29, 29, 29, 29,B B B B
;$$ ;$$ ;$$B B B B2CC6 2CC6 2CC6 2CC6B B B B> > > > >%$$,@, >%$$,@, >%$$,@, >%$$,@, –
17
– D:9$%$;$%>;:: D:9$%$;$%>;:: D:9$%$;$%>;:: D:9$%$;$%>;:: 9;/$ 9;/$ 9;/$ 9;/$ "; "; "; "; '$ '$ '$ '$ – $$>/: $$>/: $$>/: $$>/: E E E E1 1 1 1934 934 934 934
B B B-9$%,$
B B B6$ 6$ 6$ 6$F F F F, , , ,
18
– H346::>$ H346::>$ H346::>$ H346::>$ 6 6 6 6B B B B-<=;
B B B
H;,22CC H;,22CC H;,22CCB B B B>$2/ >$2/ >$2/ >$2/ ,2I,$,; ,2I,$,; ,2I,$,; ,2I,$,;
1 1 1?? ?? ?? ??J J J J>29 >29 >29 >29B B B B@, @, @, @, – H;,?9 H;,?9 H;,?9 H;,?9B B B B> > > > ;4;$,; ;4;$,; ;4;$,; ;4;$,;B B B B>29 >29 >29 >29 B B B B@, @, @, @,
19
20
#I
– – .& –
GD3 GD3 GD3
GD3 GD3 GD3
– – #$ $ $ $
$ $ $ $: : : :
– 'GD3 GD3 GD3 GD3
21
– GD3 GD3 GD3 GD3 J – ./;% ;% ;% ;% $/;% $/;% $/;% $/;%
– ,GD3 GD3 GD3 GD3
H?? H?? H??
– 6GD3 GD3 GD3 GD3 H?? H?? H?? H?? @ B
22
– 6
GD3 GD3 GD3 – %$
– +&
23
Function prototype Description
EIG%(
24
25
1 <!" #< <!" #< <!" #< <!" #<
$%/;%$ $%/;%$ $%/;%$ $%/;%$
5
& & &
' ' '
( ( (
) ) ) )
GD3;%* GD3;%* GD3;%* GD3;%*%;% %;% %;% %;%
9 &(* &(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*
:'9/;% :'9/;% :'9/;%
$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;
$"K&ILHDD2D> $"K&ILHDD2D> $"K&ILHDD2D>8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;%O;%& ;%O;%& ;%O;%&,%;%, ,%;%, ,%;%, ,%;%,> > > >
H?? H?? H??(* (* (* (*;%" ;%" ;%" ;%"
;&;%>$> ;&;%>$> ;&;%>$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;% >;% >;% >;%1 1 1 1:>;% :>;% :>;% :>;%1 1 1 1(* (* (* (*:;% :;% :;% :;%
9/&(* 9/&(* 9/&(*:"9/%$$ :"9/%$$ :"9/%$$ :"9/%$$
$/;%&;%(* $/;%&;%(* $/;%&;%(*"/ "/ "/ "/;% ;% ;% ;%
# # #* * * *
0" " " "
&( &( &(
1 1 1$%" $%" $%" $%"
" #< " #< " #< " #<
install_keyboard load_bitmap picture.bmp bmp blit bmp
bmp
26
– ?$
$% $% $% $"K $"K $"K $"K
$% $% $% $%
– .$"K $"K $"K $"K – '- –
&
– D"$"$;"$98"$C9" – D""
27
$"K $"K $"K $"K
– – '-$ – E
– '- ()
ILHDD2DH??62E ILHDD2DH??62E ILHDD2DH??62E
ILHDD2D-- ILHDD2D-- ILHDD2D--
ILHDD2D ILHDD2D ILHDD2D
IL6 IL6 IL6 ILHDD2D ILHDD2D ILHDD2D ILHDD2D$
()
28
– @&B$ – , ()KM
$
– 6M$"
29
– (?,- ') – . – '--
GD3 GD3 GD3& – E -
$ $ $
30
– '" " "--
"
– $$--
31
32
33
34
35
36
– : – + () $ &() – – %() K"$" $ "$ "
37
1 !" # !" # !" # !" #
2;; 2;; 2;; 2;;
5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$
" " " "-EIAD
# # #
" " " "H3EIAD H3EIAD H3EIAD H3EIAD
" " " "-?D
= = =
" " " "H3?D H3?D H3?D H3?D< < < <
11 "%/%$ "%/%$ "%/%$ "%/%$
' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*
' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*
' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*
16
;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1
;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1
* * *;P$ ;P$ ;P$ ;P$
GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%
" # " # " # " #
"# $ %
38
21
& & &
' ' '
( ( (
) ) )
"$>$%%$ "$>$%%$ "$>$%%$
&(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$
$%&8(* $%&8(* $%&8(*$ $ $ $%8 %8 %8 %81 1 1 1; ; ; ;
$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,>H??(* >H??(* >H??(* >H??(*;;% ;;% ;;% ;;%
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *
';$K ';$K ';$K1 1 1 1
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *
';$/ ';$/ ';$/1 1 1 1
$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"
O&(Q O&(Q O&(QM M M M* * * *9 9 9 9
34
: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S(
$%9/$%$$ $%9/$%$$ $%9/$%$$
) ) )
'G&(* 'G&(* 'G&(*'; '; '; ';
&$>9& &$>9& &$>9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*
::;%$ ::;%$ ::;%$
;&;>$> ;&;>$> ;&;>$># # # #> > > ># # # #>;K>;/ >;K>;/ >;K>;/ >;K>;/>; >; >; >;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
0: : : :
42 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
# # #* * * *
0" " " "
&( &( &(P"$. P"$. P"$. P"$.
" # " # " # " #
&# SCREEN_W SCREEN_H
39
47 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;
) ) )
$: $: $:&() &() &() &()
$ $ $
! ! !
CC;K* CC;K* CC;K*'; '; '; ';
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !
CC;K* CC;K* CC;K*'; '; '; ';
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
$ $ $-?D
! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3?D H3?D H3?D H3?D! ! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
0$: $: $: $:
68
9$;$P"" 9$;$P"" 9$;$P""$ $ $ $
70
";$""%; ";$""%; ";$""%;
" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (
'$7&(* '$7&(* '$7&(*9:/ 9:/ 9:/ 9:/
" # " # " # " #
'# moveBall direction if %
40
74
";$""" ";$""" ";$"""
" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (
'$A+&(* '$A+&(* '$A+&(*9:/ 9:/ 9:/ 9:/
0"'G "'G "'G "'G
79 ' ' ' ''$7&( '$7&( '$7&( '$7&(
'$;P$% '$;P$% '$;P$%1 1 1 1: : : :
) ) )
" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$
CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%
$ $ $,%,$;$ ,%,$;$ ,%,$;$ ,%,$;$
11 11 11* * * *9;$': 9;$': 9;$': 9;$':
0"'$7 "'$7 "'$7 "'$7
87 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+
) ) )
O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+
0"'$A+ "'$A+ "'$A+ "'$A+
" # " # " # " #
## if
41
– 9/ 9/ 9/ 9/
9/R@562 9/R@562 9/R@562S S S S G- – G
– 6 – '-K$$
42
Color Red value Green value Blue value
( &)) * * + * &)) * , * * &))
&)) &** * . &)) "/) "/) * &)) &)) &)) * &)) 1 &)) &)) * , * * * 2 &)) &)) &)) + "&3 "&3 "&3 "4& "4& "4& 5# 5# 5#
43
– #$- – +- – <()
– '
44
1 U!" #U U!" #U U!" #U U!" #U
H$;;"" H$;;"" H$;;"" H$;;""
5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$
" " " "-EIAD#
" " " "H3EIAD H3EIAD H3EIAD H3EIAD
" " " "-?D=
" " " "H3?D H3?D H3?D H3?D< < < <
11 "%/%$ "%/%$ "%/%$ "%/%$
' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*
' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*
' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*
16
;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1
;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1
* * *;P$ ;P$ ;P$ ;P$
GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%
GD3;""* GD3;""* GD3;""*
%;"" %;"" %;""
" #U " #U " #U " #U
"# buffer
45
22
& & &
' ' '
( ( (
) ) )
"$>$%%$ "$>$%%$ "$>$%%$
&(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$
$%& $%& $%&8 8 8 8(* (* (* (*$ $ $ $%8 %8 %8 %81 1 1 1; ; ; ;
$"K&ILHDD2D> $"K&ILHDD2D> $"K&ILHDD2D>8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *';$K ';$K ';$K ';$K1 1 1 1
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1
$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"
O&(Q O&(Q O&(QM M M M* * * *
9 9 9
36
: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$
) ) )
'G&(* 'G&(* 'G&(*'; '; '; ';
:>%";;"" :>%";;"" :>%";;""
&;"">9& &;"">9& &;"">9&
= = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*
;%&;""(* ;%&;""(* ;%&;""(*
: : :
46 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/;%&;""(* $/;%&;""(* $/;%&;""(*
$/;"";% $/;"";% $/;"";%
# # #* * * *
0" " " "
&( &( &(P"$. P"$. P"$. P"$.
" #U " #U " #U " #U
&# buffer
6
%
46
52 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;
) ) )
$: $: $:&() &() &() &()
$ $ $
! ! !
CC;K* CC;K* CC;K*'; '; '; ';
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !
CC;K* CC;K* CC;K*'; '; '; ';
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
$ $ $-?D
! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3?D H3?D H3?D H3?D! ! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
0$: $: $: $:
73
9$;$P"" 9$;$P"" 9$;$P""$ $ $ $
75
";$""%; ";$""%; ";$""%;
" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (
'$7&(* '$7&(* '$7&(*
" #U " #U " #U " #U
'#
47
79
";$""" ";$""" ";$"""
" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (
'$A+&(* '$A+&(* '$A+&(*
0"'G "'G "'G "'G
84 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :
) ) )
" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$
CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%
$ $ $,%, ,%, ,%, ,%,$;$ $;$ $;$ $;$
11 11 11* * * *9;$': 9;$': 9;$': 9;$':
0"'$7 "'$7 "'$7 "'$7
92 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+
) ) )
O& O& O&C C C C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+
0"'$A+ "'$A+ "'$A+ "'$A+
" #U " #U " #U " #U
##
48
– #
63? 63? 63? 63?
– ;% ;% ;% ;% $$% $% $% $%
– 663? 63? 63? 63? H?? H?? H?? H??
49
%/$% %/$% %/$% %/$%
– 63? 63? 63? 63? – '-K63? 63? 63? 63? – E –
– '*
– E*7
K
– ,
50
– + – 2 – $
63? 63? 63?
– +&
51
Function prototype Description
63?$%&$ "(
:'(H??
'>%>"V> %( . 667$ %8
63?$%>'>%> "V>%( 9%
63?$%( : '$/$%&63?$%(
6
52
– . – '-K – E
IHDD2D IHDD2D IHDD2D HDD2D HDD2D HDD2D HDD2D
– 'L H?? H?? H?? H??
" " "
53
1 W!" #W W!" #W W!" #W W!" #W
H+$"$ H+$"$ H+$"$ H+$"$
5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$
" " " "-EIAD#
" " " "H3EIAD H3EIAD H3EIAD H3EIAD
" " " "-?D=
" " " "H3?D< H3?D< H3?D< H3?D<
11 "%/%$ "%/%$ "%/%$ "%/%$
' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*
' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*
' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*
16
;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1
;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1
* * *;P$ ;P$ ;P$ ;P$
GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%
GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""
63?;* 63?;* 63?;*
%$" %$" %$"
" #W " #W " #W " #W
") boing
54
23
& & &
' ' '
( ( (
) ) )
"$>$%%$ "$>$%%$ "$>$%%$
&(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$
$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*
$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;
$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;""O ;""O ;""O;%& ;%& ;%& ;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""
;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*
$" $" $"
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *';$K ';$K ';$K ';$K1 1 1 1
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *';$ ';$ ';$ ';$/ / / /1 1 1 1
$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"
O&(Q O&(Q O&(QM M M M* * * *9 9 9 9
: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$
) ) )
'G&(* 'G&(* 'G&(*'; '; '; ';
:>%";;"" :>%";;"" :>%";;""
&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*
;%&;""(* ;%&;""(* ;%&;""(*
0:% :% :% :%
" #W " #W " #W " #W
&) install_sound
55
47 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%
$/$%&;(* $/$%&;(* $/$%&;(*
$/;$" $/;$" $/;$"
# # #* * * *
0" " " "
&( &( &(P"$. P"$. P"$. P"$.
54 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;
) ) )
$: $: $:&() &() &() &()
$ $ $
! ! !
CC;K* CC;K* CC;K*'; '; '; ';
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3EIAD H3EIAD H3EIAD H3EIAD! ! ! !
CC;K* CC;K* CC;K*'; '; '; ';
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
$ $ $-?D
! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3?D H3?D H3?D H3?D! ! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
0$: $: $: $:
" #W " #W " #W " #W
') :
56
75
9$;$P""$ 9$;$P""$ 9$;$P""$
77
";$""%; ";$""%; ";$""%;
" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (
'$7&(* '$7&(* '$7&(*
81
";$""" ";$""" ";$"""
" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (
'$A+&(* '$A+&(* '$A+&(*
0"'G "'G "'G "'G
86 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :
) ) )
" " "&&Q &&Q &&Q &&Q
= = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$
CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%
$ $ $,%,$;$ ,%,$;$ ,%,$;$ ,%,$;$
11 11 11* * * *9;$': 9;$': 9;$': 9;$':
%/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*
%/,;,$ %/,;,$ %/,;,$
0"'$7 "'$7 "'$7 "'$7
" #W " #W " #W " #W
#) :
57
94 95 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+
) ) )
O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+
%/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*
%/,;,$ %/,;,$ %/,;,$
"'$A+ "'$A+ "'$A+
" #W " #W " #W " #W
)) :
58
– E$
– - – '- – .-
59
9/ 9/ 9/ 9/
– -
– #-$ ML $ " – - &9/ 9/ 9/ 9/
@5 @5 @5
@5632 @5632 @5632
– E&$9/R@5632 9/R@5632 9/R@5632 9/R@5632S S S S M $" – " " " " --
60
1 #!" # #!" # #!" # #!" #
%$9/;% %$9/;% %$9/;% %$9/;%
5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$
" " " "-EIAD#
" " " "H3EIAD H3EIAD H3EIAD H3EIAD
" " " "-?D=
" " " "H3? H3? H3? H3?D< D< D< D<
11 "%/%$ "%/%$ "%/%$ "%/%$
' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*
' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*
' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*
' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*
17
;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1
;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1
;?/* ;?/* ;?/*
/ / /1 1 1 1""% ""% ""% ""%
;E/* ;E/* ;E/*
/ / /1 1 1 1"% "% "% "%
* * *;P$ ;P$ ;P$ ;P$
GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%
GD3;* GD3;* GD3;*
%%P$;% %%P$;% %%P$;%
GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""
63?;* 63?;* 63?;*%$" %$" %$" %$"
" # " # " # " #
"/ <
61
27
& & &
' ' '
( ( (
) ) )
"$>$%%$ "$>$%%$ "$>$%%$
&(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$
$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*
$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;
$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;O ;O ;O;%& ;%& ;%& ;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*
;;% ;;% ;;%
;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""
;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*$" $" $" $"
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *';$ ';$ ';$ ';$K K K K1 1 1 1
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1
;?/O ;?/O ;?/O62EA 62EA 62EA 62EA
= = =* * * *
'"%$/ '"%$/ '"%$/1 1 1 1
;E/O ;E/O ;E/O62EA 62EA 62EA 62EA
= = =* * * *
'%$/ '%$/ '%$/1 1 1 1
$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"
O&(Q O&(Q O&(QM M M M* * * *9 9 9 9
" # " # " # " #
&/ $% $
62
46
: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$
) ) )
'G&(* 'G&(* 'G&(*'; '; '; ';
$%D@/;&(* $%D@/;&(* $%D@/;&(*
$%9/;% $%9/;% $%9/;%
:>%";;"" :>%";;"" :>%";;""
&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > ># # # #>;?/>; >;?/>; >;?/>; >;?/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/>; >;E/>; >;E/>; >;E/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*
;%&;""(* ;%&;""(* ;%&;""(*
0: : : :
59 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/; $/; $/;%&;(* %&;(* %&;(* %&;(*
$/;;% $/;;% $/;;%
$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%
$/$%&;(* $/$%&;(* $/$%&;(*$/;$" $/;$" $/;$" $/;$"
# # #* * * *
0" " " "
&( &( &(P" P" P" P"$. $. $. $.
67 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;
" # " # " # " #
'/ respondToKeyboard while
63
68 ) ) ) )
$: $: $:&() &() &() &()
$ $ $
! ! !
CC;K* CC;K* CC;K*'; '; '; ';
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3EIAD H3EIAD H3EIAD H3EIAD! ! ! !
CC;K* CC;K* CC;K*'; '; '; ';
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
$ $ $-?D
! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3?D H3?D H3?D H3?D! ! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
0$: $: $: $:
88
9$;$P""$ 9$;$P""$ 9$;$P""$
90
";$ ";$ ";$""%; ""%; ""%; ""%;
" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (
'$7&(* '$7&(* '$7&(*
94
";$""" ";$""" ";$"""
" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (
'$A+ '$A+ '$A+&(* &(* &(* &(*
0"'G "'G "'G "'G
" # " # " # " #
#/
64
98 99 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%
) ) ) )
" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$
;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%
" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$
;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:
106
" " "&9/R &9/R &9/R &9/R@5H3 @5H3 @5H3 @5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$
;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%
" " "&9/R &9/R &9/R &9/R@5- @5- @5- @5-
S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$
;E/CO ;E/CO ;E/CO< < < <* * * *'%: '%: '%: '%:
111
9$%$ 9$%$ 9$%$P""$ P""$ P""$ P""$
" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""%$""% ""%$""% ""%$""% ""%$""%
;?/O ;?/O ;?/O<# <# <# <#* * * *
$ $ $
" " "&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( ("" "" "" ""%$""; %$""; %$""; %$"";
;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *
" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%
;E/O ;E/O ;E/O<# <# <# <#* * * *
$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$""; "%$""; "%$""; "%$"";
;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *
0"$%D@/; "$%D@/; "$%D@/; "$%D@/;
" # " # " # " #
)/ respondToKeyboard
65
122 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :
) ) ) )
" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$
CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%
$ $ $ $,%, ,%, ,%, ,%,$;$ $;$ $;$ $;$
11 11 11* * * *9;$': 9;$': 9;$': 9;$':
%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$
0"'$7 "'$7 "'$7 "'$7
131 ' ' ' ''$A+ '$A+ '$A+ '$A+&( &( &( &('$$+ '$$+ '$$+ '$$+
) ) ) )
O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+
%/$%& %/$%& %/$%& %/$%&; ; ; ;> > > >= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$
0"'$A "'$A "'$A "'$A+ + + +
" # " # " # " #
5/
66
" # " # " # " #
//
67
– #$
– &$ & – $D D D D
– '" " " " * KD D D D
68
– , – '- K
H?? H?? H??
– 6D D D D H?? H?? H?? H??
– + – '-D D D D – 6
69
– %$ K%"K K%"K K%"K K%"K &
– + – '-KGD3 GD3 GD3 GD3$D D D D$ $ – E & – &
70
– '" " & – E&
9 9 9
1 1 1
71
Function prototype Description
'K%"K&GD3;%> $D">K>/> >;2> $">(
$ 68 9 'K%"K& GD3;%>$D"> K>/>> ;2>$
89
GD3;%>$D"> K>/>> ;2>$
89
$$( ( !
$$( ( !
72
1 =!" = =!" = =!" = =!" =
$%/K$ $%/K$ $%/K$ $%/K$
5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$
" " " "-EIAD#
" " " "H3EIAD H3EIAD H3EIAD H3EIAD
" " " "-?D=
" " " "H3?D H3?D H3?D H3?D< < < <
11 "%/%$ "%/%$ "%/%$ "%/%$
' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*
' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*
' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*
' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*
17
;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1
;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1
;?/* ;?/* ;?/*/ / / /1 1 1 1""% ""% ""% ""%
;E/* ;E/* ;E/*/ / / /1 1 1 1"% "% "% "%
$?* $?* $?*
$""%/ $""%/ $""%/
$E* $E* $E*
$"%/ $"%/ $"%/
* * *;P$ ;P$ ;P$ ;P$
GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%
GD3;* GD3;* GD3;*%%P$;% %%P$;% %%P$;% %%P$;%
GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""
63?;* 63?;* 63?;*%$" %$" %$" %$"
D D D%* %* %* %*
%"" %"" %""
" = " = " = " =
"5 2. 6 % FONT*
73
30
& & &
' ' '
( ( (
) ) )
"$>$%%$ "$>$%%$ "$>$%%$
&(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$
$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*
$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;
$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;O ;O ;O;%& ;%& ;%& ;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""
;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*$" $" $" $"
%O"& %O"& %O"&,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H??> > > >H?? H?? H?? H??(* (* (* (*
" " "
;KO62E- ;KO62E- ;KO62E-= = = =* * * *';$K ';$K ';$K ';$K1 1 1 1
;/O62EA ;/O62EA ;/O62EA= = = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1
;?/O62EA ;?/O62EA ;?/O62EA= = = =* * * *'"%$/ '"%$/ '"%$/ '"%$/1 1 1 1
;E/O62EA ;E/O62EA ;E/O62EA= = = =* * * *'%$/ '%$/ '%$/ '%$/1 1 1 1
$?O $?O $?O# # # #* * * *
$"%/P$$# $"%/P$$# $"%/P$$#
$EO $EO $EO# # # #* * * *
$%/P$$# $%/P$$# $%/P$$#
$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"
O&(Q O&(Q O&(QM M M M* * * *9 9 9 9
" = " = " = " =
&5 load_font
74
52
: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$
) ) )
'G&(* 'G&(* 'G&(*'; '; '; ';
$%D@/;&(* $%D@/;&(* $%D@/;&(*$%9/;% $%9/;% $%9/;% $%9/;%
:>%";;"" :>%";;"" :>%";;""
&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > ># # # #>;?/>; >;?/>; >;?/>; >;?/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/>; >;E/>; >;E/>; >;E/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
:K;"" :K;"" :K;""
K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>U U U U > > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>
1 1 1
> > >,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q,>$?(* >$?(* >$?(* >$?(*
K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>M## M## M## M##> > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>
1 1 1
> > >,E3/6!Q, ,E3/6!Q, ,E3/6!Q, ,E3/6!Q,>$E(* >$E(* >$E(* >$E(*
;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*
;%&;""(* ;%&;""(* ;%&;""(*
0: : : :
70
$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%
$/$%&;(* $/$%&;(* $/$%&;(*$/;$" $/;$" $/;$" $/;$"
$/"&%(* $/"&%(* $/"&%(*
$/" $/" $/"
# # #* * * *
0" " " "
&( &( &(P"$. P"$. P"$. P"$.
" = " = " = " =
'5 textprintf_ex
75
79 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;
) ) )
$: $: $:&() &() &() &()
$ $ $
! ! !
CC;K* CC;K* CC;K*'; '; '; ';
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !
CC;K* CC;K* CC;K*'; '; '; ';
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
$ $ $-?D
! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3?D H3?D H3?D H3?D! ! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
0$: $: $: $:
100
9$;$P"" 9$;$P"" 9$;$P""$ $ $ $
102
";$""%; ";$""%; ";$""%;
" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (
'$7&(* '$7&(* '$7&(* '$7&(*
" = " = " = " =
#5
76
105 106
";$""" ";$""" ";$"""
" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (
'$A+&(* '$A+&(* '$A+&(* '$A+&(*
0"'G "'G "'G "'G
111 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%
) ) ) )
" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$
;?/ ;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%
" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$
;?/CO ;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:
118
" " "&9/R &9/R &9/R &9/R@5H3 @5H3 @5H3 @5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$
;E/ ;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%
" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5-
S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$
;E/CO ;E/CO ;E/CO ;E/CO< < < <* * * *'%: '%: '%: '%:
123
9$% 9$% 9$%$P""$ $P""$ $P""$ $P""$
" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""%$""% ""%$""% ""%$""% ""%$""%
;?/O ;?/O ;?/O ;?/O<# <# <# <#* * * *
$" $" $"&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( (" " " ""%$""; "%$""; "%$""; "%$"";
;?/O ;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *
" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%
;E/O ;E/O ;E/O ;E/O<# <# <# <#* * * *
$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$""; "%$""; "%$""; "%$"";
;E/O ;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *
0"$%D@/; "$%D@/; "$%D@/; "$%D@/;
" = " = " = " =
)5
77
134 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :
) ) ) )
" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$
CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%
$ $ $ $,%, ,%, ,%, ,%,$;$ $;$ $;$ $;$
11 11 11* * * *9;$': 9;$': 9;$': 9;$':
%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$
0"'$7 "'$7 "'$7 "'$7
143 ' ' ' ''$A+ '$A+ '$A+ '$A+&( &( &( &('$$+ '$$+ '$$+ '$$+
) ) ) )
O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+
%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$
0"'$A "'$A "'$A "'$A+ + + +
" = " = " = " =
55
78
– '
– #$ – 2-
" " " "
79
– #$ $ – 2*
– '-&KGD3 GD3 GD3 GD3 – E – " " – E" " – &*K9 9 9 9
80
1 <!" < <!" < <!" < <!" <
$%3 $%3 $%3 $%3
5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$
" " " "-EIAD#
" " " "H3EIAD H3EIAD H3EIAD H3EIAD
" " " "-?D=
" " " "H3?D< H3?D< H3?D< H3?D<
11 "%/%$ "%/%$ "%/%$ "%/%$
' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*
' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*
' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*
' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*
17
;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1
; ; ;/* /* /* /*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1
;?/* ;?/* ;?/*/ / / /1 1 1 1""% ""% ""% ""%
;E/* ;E/* ;E/*/ / / /1 1 1 1"% "% "% "%
$?* $?* $?*$""%/ $""%/ $""%/ $""%/
$E* $E* $E*$"%/ $"%/ $"%/ $"%/
* * *;P$ ;P$ ;P$ ;P$
GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%
GD3;* GD3;* GD3;*%%P$;% %%P$;% %%P$;% %%P$;%
GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""
63?;* 63?;* 63?;*%$" %$" %$" %$"
D% D% D%* * * *%"" %"" %"" %""
" < " < " < " <
"4
81
30
& & &
' ' '
( ( (
) ) )
"$>$%%$ "$>$%%$ "$>$%%$
&(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$
$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*
$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;
$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;O ;O ;O;%& ;%& ;%& ;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""
;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*$" $" $" $"
%O"& %O"& %O"&,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H??> > > >H?? H?? H?? H??(* (* (* (*" " " "
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *';$K ';$K ';$K ';$K1 1 1 1
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1
;?/O ;?/O ;?/O62EA 62EA 62EA 62EA
= = =* * * *'"%$/ '"%$/ '"%$/ '"%$/1 1 1 1
;E ;E ;E/O /O /O /O62EA 62EA 62EA 62EA
= = =* * * *'%$/ '%$/ '%$/ '%$/1 1 1 1
$?O $?O $?O# # # #* * * *$"%/P$$# $"%/P$$# $"%/P$$# $"%/P$$#
$EO $EO $EO# # # #* * * *$%/P$$# $%/P$$# $%/P$$# $%/P$$#
$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"
O&(Q O&(Q O&(QM M M M* * * *9 9 9 9
" < " < " < " <
&4
82
52
: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$
) ) )
'G&(* 'G&(* 'G&(*'; '; '; ';
$%D@/;&(* $%D@/;&(* $%D@/;&(*$%9/;% $%9/;% $%9/;% $%9/;%
:>%";;"" :>%";;"" :>%";;""
&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > ># # # #>;?/>; >;?/>; >;?/>; >;?/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/>; >;E/>; >;E/>; >;E/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
&;""> &;""> &;""># # # #> > > ><# <# <# <#> > > >8M# 8M# 8M# 8M#> > > ><# <# <# <#>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #((* ((* ((* ((*
:K;"" :K;"" :K;""
K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>U U U U > > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>
1 1 1
> > >,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q,>$?(* >$?(* >$?(* >$?(*
K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>M## M## M## M##> > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>
1 1 1
> > >,E3/6!Q, ,E3/6!Q, ,E3/6!Q, ,E3/6!Q,>$E(* >$E(* >$E(* >$E(*
;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*
;%&;""(* ;%&;""(* ;%&;""(*
0: : : :
71 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%
$/$%&;(* $/$%&;(* $/$%&;(*$/;$" $/;$" $/;$" $/;$"
$/"&%(* $/"&%(* $/"&%(*$/" $/" $/" $/"
# # #* * * *
0" " " "
&( &( &(P"$. P"$. P"$. P"$.
" < " < " < " <
'4 line
83
80 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;
) ) )
$: $: $:&() &() &() &()
$ $ $
! ! !
CC;K* CC;K* CC;K*'; '; '; ';
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !
CC;K* CC;K* CC;K*'; '; '; ';
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
$ $ $-?D
! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3?D H3?D H3?D H3?D! ! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
0$: $: $: $:
101
";$""% ";$""% ";$""%; ; ; ;
" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (
'$7&(* '$7&(* '$7&(* '$7&(*9:/ 9:/ 9:/ 9:/
" < " < " < " <
#4
84
105
";$""% ";$""% ";$""%
" " "&;K &;K &;K &;K=# =# =# =#YY&OO YY&OO YY&OO YY&OO-?D
TTOO TTOO TTOOH3?D H3?D H3?D H3?D(( (( (( ((
) ) )
$"%:/Z $"%:/Z $"%:/Z
" " "&;/&;?/ &;/&;?/ &;/&;?/ &;/&;?/1 1 1 1
<W <W <W(YY;/&;?/C (YY;/&;?/C (YY;/&;?/C (YY;/&;?/CWW WW WW WW(( (( (( ((
'$A+&(* '$A+&(* '$A+&(*
$" $" $"&; &; &; &;KO KO KO KO1 1 1 1=# =# =# =#() () () ()";$""$ ";$""$ ";$""$ ";$""$
CC$E* CC$E* CC$E*'%/% '%/% '%/% '%/%
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *%; %; %; %;
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *
"$ "$ "$
O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';
$ $ $
" " "
119
";$"%
";$"% ";$"% ";$"%
" " "&;K &;K &;K &;K N# N# N# N#YY&OO YY&OO YY&OO YY&OO-EIAD
TT TT TTOO OO OO OOH3EIAD H3EIAD H3EIAD H3EIAD(( (( (( ((
) ) )
$%:/Z $%:/Z $%:/Z
" " "&;/&;E/ &;/&;E/ &;/&;E/ &;/&;E/1 1 1 1
<W <W <W(YY;/&;E/C (YY;/&;E/C (YY;/&;E/C (YY;/&;E/CWW WW WW WW(( (( (( ((
'$A+&(* '$A+&(* '$A+&(*
$" $" $"&;K &;K &;K &;K
O O O8=# 8=# 8=# 8=#( ( ( (
) ) )";$""$ ";$""$ ";$""$ ";$""$
CC$?* CC$?* CC$?*'"%/% '"%/% '"%/% '"%/%
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *%; %; %; %;
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *"$ "$ "$ "$
O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';
$ $ $
" " "
0"'G "'G "'G "'G
" < " < " < " <
)4 ; 6 ;6=6
85
133 134 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%
) ) )
" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$
;?/ ;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%
" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$
;?/CO ;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:
141
" " "&9/R &9/R &9/R &9/R@5H3 @5H3 @5H3 @5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$
;E/ ;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%
" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5-
S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$
;E/CO ;E/CO ;E/CO ;E/CO< < < <* * * *'%: '%: '%: '%:
146
9$%$ 9$%$ 9$%$P""$ P""$ P""$ P""$
" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""%$""% ""%$""% ""%$""% ""%$""%
;?/O ;?/O ;?/O ;?/O<# <# <# <#* * * *
$" $" $"&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( ("" "" "" ""%$""; %$""; %$""; %$"";
;?/O ;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *
" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%
;E/O ;E/O ;E/O ;E/O<# <# <# <#* * * *
$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$""; "%$""; "%$""; "%$"";
;E/O ;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *
0"$%D@/; "$%D@/; "$%D@/; "$%D@/;
" < " < " < " <
54
86
157 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :
) ) ) )
" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$
CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%
$ $ $ $,%, ,%, ,%, ,%,$;$ $;$ $;$ $;$
11 11 11* * * *9;$': 9;$': 9;$': 9;$':
%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$
0"'$7 "'$7 "'$7 "'$7
166 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+
) ) ) )
O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+
%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$
0"'$A+ "'$A+ "'$A+ "'$A+
" < " < " < " <
/4
87
" < " < " < " <
34
88
" < " < " < " <
44
89
– #$ 7-
7-
– . – '- – ' ' ' ' $
90
– #
– E – @B
– 6M$"
91
– <-$$$
–
– 6$ $ $ $ – '-K
92
– ' ' ' ' 7
*
– %+%.% $
93
1 M!" M M!" M M!" M M!" M
$3 $3 $3 $3
5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$
" " " "-EIAD#
" " " "H3EIAD H3EIAD H3EIAD H3EIAD
" " " "-?D=
" " " "H3?D H3?D H3?D H3?D< < < <
11 "%/%$ "%/%$ "%/%$ "%/%$
' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*
' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*
' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*
' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*
17 ' ' ' '
;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1
' ' '
;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1
' ' '
;?/* ;?/* ;?/*/ / / /1 1 1 1""% ""% ""% ""%
' ' '
;E/* ;E/* ;E/*/ / / /1 1 1 1"% "% "% "%
' ' '
$?* $?* $?*$""%/ $""%/ $""%/ $""%/
' ' '
$E* $E* $E*$"%/ $"%/ $"%/ $"%/
' ' '
* * *;P$ ;P$ ;P$ ;P$
GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%
GD3;* GD3;* GD3;*%%P$;% %%P$;% %%P$;% %%P$;%
GD3;""* GD3;""* GD3;""*%;" %;" %;" %;"" " " "
63?;* 63?;* 63?;*%$" %$" %$" %$"
D%* D%* D%*%"" %"" %"" %""
" M " M " M " M
"/ > volatile 7
94
30
& & &
' ' '
( ( (
) ) )
"$>$%%$ "$>$%%$ "$>$%%$
&(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$
$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*
$&(* $&(* $&(*
$ $ $
$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;
$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;O;%& ;O;%& ;O;%&,; ,; ,; ,;;%, ;%, ;%, ;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%
;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""
;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*$" $" $" $"
%O"& %O"& %O"&,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H??> > > >H?? H?? H?? H??(* (* (* (*" " " "
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *';$K ';$K ';$K ';$K1 1 1 1
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1
;?/O ;?/O ;?/O62EA 62EA 62EA 62EA
= = =* * * *
'"%$/ '"%$/ '"%$/1 1 1 1
;E/O ;E/O ;E/O62EA 62EA 62EA 62EA
= = =* * * *'%$/ '%$/ '%$/ '%$/1 1 1 1
$?O $?O $?O# # # #* * * *$"%/P$$# $"%/P$$# $"%/P$$# $"%/P$$#
$EO $EO $EO# # # #* * * *$%/P$$# $%/P$$# $%/P$$# $%/P$$#
$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"
O&(Q O&(Q O&(QM M M M* * * *9 9 9 9
$'G'/ $$ $'G'/ $$ $'G'/ $$
$&'G> $&'G> $&'G> (* (* (* (*
$$%D@/;'/#$$ $$%D@/;'/#$$ $$%D@/;'/#$$
$&$%D@/;> $&$%D@/;> $&$%D@/;># # # #(* (* (* (*
" M " M " M " M
&/ moveBall ) respondToKeyboard "* install_timer
95
57
: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$
) ) )
:>%";;"" :>%";;"" :>%";;""
&;"">& &;"">& &;"">&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1
(* (* (*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > ># # # #>;?/>; >;?/>; >;?/>; >;?/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/>; >;E/>; >;E/>; >;E/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*
&;""> &;""> &;""># # # #> > > ><# <# <# <#> > > >8M# 8M# 8M# 8M#> > > ><# <# <# <#>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #((* ((* ((* ((*
:K;"" :K;"" :K;""
K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>U U U U > > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>
1 1 1
> > >,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q,>$?(* >$?(* >$?(* >$?(*
K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>M## M## M## M##> > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>
1 1 1
> > >,E3/6 ,E3/6 ,E3/6 ,E3/6!Q, !Q, !Q, !Q,>$E(* >$E(* >$E(* >$E(*
;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*
;%&;""(* ;%&;""(* ;%&;""(*
0: : : :
74
'&'G(* '&'G(* '&'G(*''G ''G ''G ''G
'&$%D@/;(* '&$%D@/;(* '&$%D@/;(*'$%D@/; '$%D@/; '$%D@/; '$%D@/;
$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%
$/;%&; $/;%&; $/;%&;""(* ""(* ""(* ""(*$/;"";% $/;"";% $/;"";% $/;"";%
$/$%&;(* $/$%&;(* $/$%&;(*$/;$" $/;$" $/;$" $/;$"
$/"&%(* $/"&%(* $/"&%(*$/" $/" $/" $/"
#* #* #*
0" " " "
&( &( &(P"$. P"$. P"$. P"$.
" M " M " M " M
'/ <moveBall respondToKeyboard while ? while remove_int
96
85 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;
) ) )
$: $: $:&() &() &() &()
$ $ $
! ! !
CC;K* CC;K* CC;K*'; '; '; ';
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !
CC;K* CC;K* CC;K*'; '; '; ';
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
$ $ $-?D
! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3?D H3?D H3?D H3?D! ! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
0$: $: $: $:
106
";$"" ";$"" ";$""%; %; %; %;
" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (
'$7&(* '$7&(* '$7&(* '$7&(*9:/ 9:/ 9:/ 9:/
110
";$""% ";$""% ";$""%
" " "&;K &;K &;K &;K=# =# =# =#YY& YY& YY& YY&OO OO OO OO-?D
TTOO TTOO TTOOH3?D H3?D H3?D H3?D(( (( (( ((
" M " M " M " M
#/
97
112 ) ) ) )
$"%:/Z $"%:/Z $"%:/Z
" " "&;/&;?/ &;/&;?/ &;/&;?/ &;/&;?/1 1 1 1
<W <W <W(YY;/&;?/C (YY;/&;?/C (YY;/&;?/C (YY;/&;?/CWW WW WW WW(( (( (( ((
'$A+&(* '$A+&(* '$A+&(*
$" $" $"&;KO &;KO &;KO &;KO1 1 1 1=# =# =# =#() () () ()";$""$ ";$""$ ";$""$ ";$""$
CC$E* CC$E* CC$E* CC$E*'%/% '%/% '%/% '%/%
;KO ;KO ;KO ;KO62E 62E 62E 62E-
= = =* * * *%; %; %; %;
;/O ;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *"$ "$ "$ "$
O&(Q O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';
0$ $ $ $
0" " " "
124
";$"% ";$"% ";$"%
" " "&;K &;K &;K &;K N# N# N# N#YY&OO YY&OO YY&OO YY&OO-EIAD
TTOO TTOO TTOOH3EIAD H3EIAD H3EIAD H3EIAD(( (( (( ((
) ) ) )
$%:/Z $%:/Z $%:/Z
" " "&;/&;E/ &;/&;E/ &;/&;E/ &;/&;E/1 1 1 1
<W <W <W(YY;/&;E/C (YY;/&;E/C (YY;/&;E/C (YY;/&;E/CWW WW WW WW(( (( (( ((
'$A+&(* '$A+&(* '$A+&(* '$A+&(*
$" $" $"&;K &;K &;K &;K
O O O8=# 8=# 8=# 8=#( ( ( (
) ) )";$""$ ";$""$ ";$""$ ";$""$
CC$?* CC$?* CC$?* CC$?*'"%/% '"%/% '"%/% '"%/%
;KO ;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *%; %; %; %;
;/O ;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *"$ "$ "$ "$
O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';
0$ $ $ $
0" " " "
0" " " "'G 'G 'G 'G
139 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%
" M " M " M " M
)/
98
140 ) ) ) )
" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$
;?/ ;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%
" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$
;?/CO ;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:
146
" " "&9/R &9/R &9/R &9/R@ @ @ @5H3 5H3 5H3 5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$
;E/ ;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%
" " "&9/R &9/R &9/R &9/R@5- @5- @5- @5-S( S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$
;E/CO ;E/CO ;E/CO ;E/CO< < < <* * * *
'%: '%: '%:
151
9$%$P""$ 9$%$P""$ 9$%$P""$
" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""% ""% ""% ""%$""% $""% $""% $""%
;?/O ;?/O ;?/O ;?/O<# <# <# <#* * * *
$" $" $"&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( (""%$""; ""%$""; ""%$""; ""%$"";
;?/O ;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *
" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%
;E/O ;E/O ;E/O ;E/O<# <# <# <#* * * *
$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$ "%$ "%$ "%$""; ""; ""; "";
;E/O ;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *
0"$%D@/; "$%D@/; "$%D@/; "$%D@/;
162 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$ '$;P$ '$;P$ '$;P$% % % %1 1 1 1: : : :
) ) ) )
" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$
CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%
$ $ $ $,%,$;$ ,%,$;$ ,%,$;$ ,%,$;$
11 11 11* * * *9 9 9 9;$': ;$': ;$': ;$':
%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$
0"'$7 "'$7 "'$7 "'$7
" M " M " M " M
5/
99
170 171 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+
) ) ) )
O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+
%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$
0"'$A+ "'$A+ "'$A+ "'$A+
" M " M " M " M
//
100
– G& *
– -&
&
101
– + *- – '- – G& &
102
103
– '
– 2
– I
– ?
K11B
104
– E$ – !(A ) (%J) J
– --&
105
106
– J$
& – (6?) (E) ;;% ;;% ;;% ;;% – ? L-
– &
107
108
– I- ?,,J – +& – &
109
110
– ?,,J – 6
– '$ J(A ) (%J) – %J$(I) J&
– %J$&
111
112
– ?() $% % % % (!) – ' -
– '
113
– GD3 GD3 GD3 GD3$63? 63? 63? 63?$ D D D D $$ $D? D? D? D? J – + " " " " $
" " " " $ - D? D? D? D? – $/" $/" $/" $/"
114
– D? D? D? D? J – GJ*&
$ – #J$ J*& – ! $--
115
1 ";4K$>%;/;;'M=#>I-<= ";4K$>%;/;;'M=#>I-<= ";4K$>%;/;;'M=#>I-<= ";4K$>%;/;;'M=#>I-<=
"!! "!! "!! "!![ [ [ [' ' ' '1 1 1 12%% 2%% 2%% 2%%[ [ [ [34$ 34$ 34$ 34$[ [ [ [%" %" %" %"
!-\==! U!#=##8 !-\==! U!#=##8 !-\==! U!#=##8 !-\==! U!#=##8
. . . .
6 " " " "
G?? G?? G??
# # #
G3 G3 G3
" " " "
GE GE GE
G3 G3 G3
" " " "
GI GI GI
= = =
63 63 63
" " " "
3ID 3ID 3ID
< < <
D D D
116
– +J J*& – G J
– # /" /" /" /" $J /"RS /"RS /"RS /"RS$
– J ' ' ' '$
117
1 =!" = =!" = =!" = =!" =
H$"$ H$"$ H$"$ H$"$
,%, ,%, ,%,
6 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$
" " " "-EIAD#
" " " "H3EIAD H3EIAD H3EIAD H3EIAD
" " " "-?D=
" " "
H3?D< H3?D< H3?D<
12 "%/%$ "%/%$ "%/%$ "%/%$
' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*
' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*
' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*
' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*
18 ' ' ' ';K* ;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1
' ' ';/* ;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1
' ' ';?/* ;?/* ;?/* ;?/*/ / / /1 1 1 1""% ""% ""% ""%
' ' ';E/* ;E/* ;E/* ;E/*/ / / /1 1 1 1"% "% "% "%
' ' '$?* $?* $?* $?*$""%/ $""%/ $""%/ $""%/
' ' '
$E* $E* $E*$"%/ $"%/ $"%/ $"%/
' ' '* * * *;P$ ;P$ ;P$ ;P$
GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""
D?%* D?%* D?%*
%" %" %"
" = " = " = " =
"/ pong.h 9 DATAFILE* 9
118
28
& & &
' ' '
( ( (
) ) )
"$>$%%$ "$>$%%$ "$>$%%$
&(* &(* &(*+ + + +
$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$
$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*
$&(* $&(* $&(*$ $ $ $
$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;
$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$
;""O;%& ;""O;%& ;""O;%&62 62 62 62E- E- E- E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""
%O"& %O"& %O"&,%", ,%", ,%", ,%",(* (* (* (*
" " "
;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *';$K ';$K ';$K ';$K1 1 1 1
;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1
;?/O ;?/O ;?/O62EA 62EA 62EA 62EA
= = =* * * *'"%$/ '"%$/ '"%$/ '"%$/1 1 1 1
;E/O ;E/O ;E/O62EA 62EA 62EA 62EA
= = =* * * *'%$/ '%$/ '%$/ '%$/1 1 1 1
$?O $?O $?O# # # #* * * *$"%/P$$# $"%/P$$# $"%/P$$# $"%/P$$#
$EO $EO $EO# # # #* * * *$% $% $% $%/P$$# /P$$# /P$$# /P$$#
$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"
O&(Q O&(Q O&(QM M M M* * * *9 9 9 9
$'G'/ $$ $'G'/ $$ $'G'/ $$
$&' $&' $&'G> G> G> G> (* (* (* (*
$$%D@/;'/#$$ $$%D@/;'/#$$ $$%D@/;'/#$$
$&$%D@/;> $&$%D@/;> $&$%D@/;># # # #(* (* (* (*
" = " = " = " =
&/ load_datafile
119
52
: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$
) ) )
:>%";;"" :>%";;"" :>%";;""
&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*
;&%R ;&%R ;&%RG?? G?? G?? G??S>;""> S>;""> S>;""> S>;""># # # #> > > ># # # #>;K>; >;K>; >;K>; >;K>;/> /> /> />M# M# M# M#> > > >M# M# M# M#(* (* (* (*
;&%R ;&%R ;&%RGE GE GE GES>;""> S>;""> S>;""> S>;""># # # #> > > ># # # #> > > ># # # #>;?/> >;?/> >;?/> >;?/>=# =# =# =#> > > >## ## ## ##(* (* (* (*
;&%R ;&%R ;&%RGE GE GE GES>;""> S>;""> S>;""> S>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/> >;E/> >;E/> >;E/>=# =# =# =#> > > >## ## ## ##(* (* (* (*
&;""> &;""> &;""># # # #> > > ><# <# <# <#> > > >8M# 8M# 8M# 8M#> > > ><# <# <# <#>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #((* ((* ((* ((*
:K :K :K;"" ;"" ;"" ;""
K%"K&;"">%R K%"K&;"">%R K%"K&;"">%R3ID 3ID 3ID 3IDS> S> S> S>U U U U > > > ># # # #> > > >
9& 9& 9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>1 1 1 1
> > >,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q,> > > >
$?(* $?(* $?(*
K%"K&;"">%R K%"K&;"">%R K%"K&;"">%R3ID 3ID 3ID 3IDS> S> S> S>M## M## M## M##> > > ># # # #> > > >
9& 9& 9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>1 1 1 1
> > >,E3/6!Q, ,E3/6!Q, ,E3/6!Q, ,E3/6!Q,> > > >
$E(* $E(* $E(*
;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > >
# # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*
;%&;""(* ;%&;""(* ;%&;""(*
0: : : :
71 '&'G(* '&'G(* '&'G(* '&'G(*''G ''G ''G ''G
'&$%D@/;(* '&$%D@/;(* '&$%D@/;(*'$% '$% '$% '$%D@/; D@/; D@/; D@/;
$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%
"&%(* "&%(* "&%(*
" " "
# # #* * * *
0" " " "
" = " = " = " =
'/ unload_datafile
120
77 &( &( &( &(P"$. P"$. P"$. P"$.
79 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;
) ) )
$: $: $:
&() &() &()
$ $ $
! ! !
CC;K* CC;K* CC;K*'; '; '; ';
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3EIAD H3EIAD H3EIAD H3EIAD! ! ! !
CC;K* CC;K* CC;K*'; '; '; ';
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
$ $ $-?D
! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
CC;/* CC;/* CC;/*';: ';: ';: ';:
;9 ;9 ;9* * * *
$ $ $H3?D H3?D H3?D H3?D! ! ! !
11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"
11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%
;9 ;9 ;9* * * *
0$: $: $: $:
100
";$""%; ";$""%; ";$""%;
" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM MM MM MM# # # #( ( ( (
'$7&(* '$7&(* '$7&(* '$7&(*9:/ 9:/ 9:/ 9:/
104
";$""% ";$""% ";$""%
" " "&;K &;K &;K &;K=# =# =# =#YY&OO YY&OO YY&OO YY&OO-?D
TTOO TTOO TTOOH3?D H3?D H3?D H3?D(( (( (( ((
" = " = " = " =
#/
121
106 ) ) ) )
$"%:/Z $"%:/Z $"%:/Z
" " "&;/&;?/ &;/&;?/ &;/&;?/ &;/&;?/1 1 1 1
<W <W <W(YY;/&;?/C (YY;/&;?/C (YY;/&;?/C (YY;/&;?/CWW WW WW WW(( (( (( ((
'$A+&(* '$A+&(* '$A+&(*
$" $" $"&;KO &;KO &;KO &;KO1 1 1 1=# =# =# =#() () () ()";$""$ ";$""$ ";$""$ ";$""$
CC$E* CC$E* CC$E* CC$E*'%/% '%/% '%/% '%/%
;KO ;KO ;KO ;KO62E 62E 62E 62E-
= = =* * * *%; %; %; %;
;/O ;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *"$ "$ "$ "$
O&(Q O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';
0$ $ $ $
0" " " "
118
";$"% ";$"% ";$"%
" " "&;K &;K &;K &;K N# N# N# N#YY&OO YY&OO YY&OO YY&OO-EIAD
TTOO TTOO TTOOH3EIAD H3EIAD H3EIAD H3EIAD(( (( (( ((
) ) ) )
$%:/Z $%:/Z $%:/Z
" " "&;/&;E/ &;/&;E/ &;/&;E/ &;/&;E/1 1 1 1
<W <W <W(YY;/&;E/C (YY;/&;E/C (YY;/&;E/C (YY;/&;E/CWW WW WW WW(( (( (( ((
'$A+&(* '$A+&(* '$A+&(* '$A+&(*
$" $" $"&;K &;K &;K &;K
O O O8=# 8=# 8=# 8=#( ( ( (
) ) )";$""$ ";$""$ ";$""$ ";$""$
CC$?* CC$?* CC$?* CC$?*'"%/% '"%/% '"%/% '"%/%
;KO ;KO ;KO ;KO62E- 62E- 62E- 62E-
= = =* * * *%; %; %; %;
;/O ;/O ;/O ;/O62EA 62EA 62EA 62EA
= = =* * * *"$ "$ "$ "$
O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';
0$ $ $ $
0" " " "
0" " " "'G 'G 'G 'G
133 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%
" = " = " = " =
)/
122
134 ) ) ) )
" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$
;?/ ;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%
" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$
;?/CO ;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:
140
" " "&9/R &9/R &9/R &9/R@ @ @ @5H3 5H3 5H3 5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$
;E/ ;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%
" " "&9/R &9/R &9/R &9/R@5- @5- @5- @5-S( S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$
;E/CO ;E/CO ;E/CO ;E/CO< < < <* * * *
'%: '%: '%:
145
9$%$P""$ 9$%$P""$ 9$%$P""$
" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""% ""% ""% ""%$""% $""% $""% $""%
;?/O ;?/O ;?/O ;?/O<# <# <# <#* * * *
$" $" $"&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( (""%$""; ""%$""; ""%$""; ""%$"";
;?/O ;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *
" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%
;E/O ;E/O ;E/O ;E/O<# <# <# <#* * * *
$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$ "%$ "%$ "%$""; ""; ""; "";
;E/O ;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *
0"$%D@/; "$%D@/; "$%D@/; "$%D@/;
156 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$ '$;P$ '$;P$ '$;P$% % % %1 1 1 1: : : :
) ) ) )
" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$
CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%
$ $ $ $,%,$;$ ,%,$;$ ,%,$;$ ,%,$;$
11 11 11* * * *9 9 9 9;$': ;$': ;$': ;$':
%/$%&%R %/$%&%R %/$%&%RGI GI GI GIS> S> S> S>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*
%/$ %/$ %/$
0"'$7 "'$7 "'$7 "'$7
" = " = " = " =
5/
123
164 165 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+
) ) ) )
O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+
%/$%&%R %/$%&%R %/$%&%RGI GI GI GIS> S> S> S>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*
%/$ %/$ %/$
0"'$A+ "'$A+ "'$A+ "'$A+
" = " = " = " =
//
124
– &