manual source files
178
Docs/source/FGShortRef.tex
Normal file
|
@ -0,0 +1,178 @@
|
|||
%%
|
||||
%% FGShortRef.tex -- Flight Gear documentation: Short reference
|
||||
%%
|
||||
%% Written by Michael Basler, starting May 2001.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: FGShortRef.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
\documentclass[10pt]{article}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{times}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{multicol}
|
||||
\pagestyle{empty}
|
||||
\usepackage{a4}
|
||||
|
||||
\newcommand{\Index}[1]{#1\index{#1}}
|
||||
\newcommand{\FlightGear}{{\itshape\bfseries FlightGear}}
|
||||
\newcommand{\TerraGear}{{\itshape\bfseries TerraGear}}
|
||||
\newcommand{\SimGear}{{\itshape\bfseries SimGear}}
|
||||
\newcommand{\PLIB}{{\itshape\bfseries PLIB}}
|
||||
\newcommand{\JSBSim}{{\itshape\bfseries JSBSim}}
|
||||
\newcommand{\web}[1]{\href{#1}{#1}}
|
||||
\newcommand{\mail}[1]{\href{mailto:#1}{#1}}
|
||||
\newcommand{\Cygwin}{{\itshape\bfseries Cygwin}}
|
||||
|
||||
\newcommand{\longpage}{\enlargethispage{\baselineskip}}
|
||||
\newcommand{\shortpage}{\enlargethispage{-\baselineskip}}
|
||||
|
||||
\makeindex
|
||||
|
||||
\begin{document}
|
||||
\longpage
|
||||
|
||||
\centerline{\large \textbf{\FlightGear{} Short Reference}}
|
||||
\medskip
|
||||
|
||||
\scriptsize \noindent
|
||||
%\footnotesize \noindent
|
||||
\FlightGear{} is a free flight simulator developed collectively over the
|
||||
Internet under the GPL.\\
|
||||
|
||||
\noindent
|
||||
\textbf{Main Web site:} \web{http://www.flightgear.org/}
|
||||
\medskip
|
||||
|
||||
\hspace*{-8mm}
|
||||
\begin{tabular}{ll}
|
||||
\textbf{Program Start:} & Linux/UNIX via the script runfgfs under /FlightGear,\\
|
||||
& Windows via the Batch file runfgfs.bat under /FlightGear
|
||||
\end{tabular}
|
||||
\medskip
|
||||
|
||||
\hspace*{-8mm}
|
||||
\begin{tabular}{ll}
|
||||
\textbf{Engine Start:} & Put ignition switch to ''BOTH''. Set mixture to 100\,\%. Set throttle to about 25\,\%.\\
|
||||
& Operate starter using the SPACE key. Set throttle back to idle after starting the engine. Release parking brake, if applied.
|
||||
\end{tabular}
|
||||
\medskip
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\noindent
|
||||
\textbf{Keyboard controls:}
|
||||
\begin{multicols}{2}
|
||||
\noindent
|
||||
Tab.\,1: \textit{Main keyboard controls on the numeric keypad with
|
||||
activated \texttt{NumLock} key}.\\
|
||||
|
||||
\noindent
|
||||
\input{tab2}
|
||||
\bigskip
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\noindent
|
||||
Tab.\,2: \textit{View directions accessible after de-activating \texttt{NumLock} on the numeric keypad.}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\input{tab3}
|
||||
\bigskip
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\noindent
|
||||
Tab.\,3: \textit{Display options.}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\input{tab4}
|
||||
\bigskip
|
||||
\rule{0mm}{15mm}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\noindent
|
||||
Tab.\,4: \textit{Autopilot and related controls.}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\input{tab5}
|
||||
\medskip
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\noindent
|
||||
Tab.\,5: \textit{Special action of keys, if autopilot is enabled.}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\input{tab6}
|
||||
\medskip
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\noindent
|
||||
Tab.\,6: \textit{Engine control keys}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\input{tab7}
|
||||
\medskip
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\noindent
|
||||
Tab.\,7: \textit{Miscellaneous keyboard controls.}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\input{tab8}
|
||||
\medskip
|
||||
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\noindent
|
||||
\textbf{Mouse controlled functions:}
|
||||
There are three mouse modi. In the usual mode (pointer curser) panel's controls can be operated
|
||||
with the mouse. To change a control, click with the left/middle mouse button on the
|
||||
corresponding knob/lever. While the left mouse button leads to small increments/decrements,
|
||||
the middle one makes greater ones. Clicking on the left hand side of the knob/lever
|
||||
decreases the value, while clicking on the right hand side increases it.
|
||||
|
||||
\noindent
|
||||
Right clicking the mouse activates the simulator control mode (cross hair cursor). This allows
|
||||
control of aileron/elevator via the mouse in absence of a joystick
|
||||
(enable \texttt{-$ $-enable-auto-coordination} in this case).
|
||||
|
||||
\noindent
|
||||
Right clicking the mouse another time activates the view control mode (arrow cursor).
|
||||
This allows changing direction of view via the mouse.
|
||||
|
||||
\noindent
|
||||
Right clicking the mouse once more resets it into the initial state.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Short Reference by M. Basler (pmb@epost.de) for \FlightGear{} version 0.8.0.\\
|
||||
Published under the GPL (\web{http://www.gnu.org/copyleft/gpl.html})
|
||||
|
||||
\end{document}
|
||||
|
||||
%% Revision 0.4 2001/01/05 michael
|
||||
%% Initial revision based on getting Started 0.4
|
||||
%% Revision 0.5 2002/02/15 michael
|
||||
%% based on \inputs of revised table files from Getting Started 0.5
|
37
Docs/source/GSIndex.tex
Normal file
|
@ -0,0 +1,37 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: GSIndex.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\eject
|
||||
\addcontentsline{toc}{chapter}{\protect Index}
|
||||
{\footnotesize
|
||||
\printindex
|
||||
}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
708
Docs/source/KSFOapp.eps
Normal file
|
@ -0,0 +1,708 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: jpeg2ps V1.5 by Thomas Merz
|
||||
%%Title: ksfoapp.jpg
|
||||
%%CreationDate: Wed Feb 13 16:05:02 2002
|
||||
%%BoundingBox: 20 20 404 308
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
/languagelevel where {pop languagelevel 2 lt}{true} ifelse {
|
||||
(JPEG file 'ksfoapp.jpg' needs PostScript Level 2!\n) dup print flush
|
||||
/Helvetica findfont 20 scalefont setfont 100 100 moveto show showpage stop
|
||||
} if
|
||||
save
|
||||
/RawData currentfile /ASCII85Decode filter def
|
||||
/Data RawData << >> /DCTDecode filter def
|
||||
20 20 translate
|
||||
384.00 288.00 scale
|
||||
/DeviceRGB setcolorspace
|
||||
{ << /ImageType 1
|
||||
/Width 640
|
||||
/Height 480
|
||||
/ImageMatrix [ 640 0 0 -480 0 480 ]
|
||||
/DataSource Data
|
||||
/BitsPerComponent 8
|
||||
/Decode [0 1 0 1 0 1]
|
||||
>> image
|
||||
Data closefile
|
||||
RawData flushfile
|
||||
showpage
|
||||
restore
|
||||
} exec
|
||||
s4IA0!"_al8O`[\!<E1F!-eJDs4[N@!!WQ0"pG,6"pG29#6kG@&./aN#mq@V%h'!
|
||||
c'GqZ''G_H&*@2dG)^?=<(*G.N,:4ce.Oc5W/MJb)0I8+r.0&$%6NIDs#7:_D'+,
|
||||
'[-lNj>-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n
|
||||
$Jl-n,,4!"fJ;hu\E2!?qLF&HMtG!WU(<)ZTj?!<E3%!<<*"z!!!!"!WrQ0"UG(G
|
||||
!#P_;!<E3%zzz!<N?+s4RG]!s&B'&-EID!!2ZDI9Ens*f+/aH6DgWU(bhDLgN2h+
|
||||
[##QReakKOlm6G*c1J)o7s(O3-m:MLSGA>H6U#dkfE@NUNP_F8<_=?M&q$/p?HRE
|
||||
gulZ6[mT*OO'TtTUXKV5:J*"'4Wo$VdA,!YKq<DY+m4nOX5G(I4otE2kKcIbSim`
|
||||
LiTStWcUs6VH8^&TdKc7))Ed9J=i]4f;>MU,Fe!jobSO!DCT&tZYiT.kE^$I_.dE
|
||||
e"FT^UkK:Y#62-QMOclD49YFi!ea#A2q7ZJp7%Y/=cQ8-bEBGsc*O]*u12*-sgX+
|
||||
XHSOUf66CDlB5B#PrB<(UsRYaKddX"$bQ]dc3UaQka/dF"jUR(GKG1jRS*0PDl!>
|
||||
(fb@=#,\1Wh*Y"aiUj7)!P9EajT=ZU#h:jfi`69/`S2HK37A@R^F-jdm$>bG25cq
|
||||
/i.0(FOeQ,EoshU)UXaZ77!Uc;#l_jCnrjIe>Oo5bD%c9;5<M7HW4R&<bt]R15IM
|
||||
MX.#I!Up\IQ<:WJ$:G)4M.4Ubk;WC;)b:S]/XWbP1jQ]@=2!9rUg45aI<8b</.rc
|
||||
A,)(ThF$HYZ'WZBS`',79pY$!e=!]hDTRmn5BAO`-;H(sD'cL'jKLeWJ8%AkhX5`
|
||||
FnucF8\l?#%YgdPjQ.%\[0BPW`e5mmi[^;0$u;-E,6CLeJ7*9T<`.ZjcSE&p.`!L
|
||||
ik19744o=dY\\a3N=>?Hb@Sf_\](%T!oS;X]]H?+pof"UG@^q&3345"\Br*1m3aI
|
||||
@Vd3PL/FgO7^T?5\^DK5O8o80Ua-[$aYMkXc&'t=4%+aT$Aqjne4<,);3bl/1a0/
|
||||
@70uBq".)9o'1Dm'7"J8t#"FE2TL@0UU+U0o/;-KYNFFeG/t-ETB_,*+cE!XMEHM
|
||||
;VKJ\3/Lj$n5J5T>m8mGBQ<+thI89@9s$m61[V%`p^_$Crh!WW7u-RDY)!h.MJ-F
|
||||
&g"VK/cI/R5Y0Q'Db$h3h<Q/pD%c.lu%r(8S9,NCLC3ZKgH.ZpPKUb)0?HBX4)T6
|
||||
Bb)b>UpLG+\E>7Pgc@AL]U22M:7;t"<iR<#"p1XAcdd^'GBYu]j,)_N0`hnI449l
|
||||
(n2WfM^llF(83ZV%p)obPo8gUC8&Nk(8N97Fd;/%XV!WN.qCKhP6k5W4[LPndK)7
|
||||
#!5njl%1.Oe'1'L(lPMT]3l+]_[;%Wt%`k(>9`u/.Bb`DB)[AND(p1[oYa3WaP0h
|
||||
(:65T]Q&A_24"osek/?2GG!1OP9$kU6/"ON#4D%/0!5&_NR<\p/Oo6"Ve.dH=FD"
|
||||
4i(R`U5IVJ;?hU!ou\9bBpYV%lTPSESu_e;.WONO^gu.0WK"-sZ&9Q7?pC2,m:FE
|
||||
M8pp9rg[tBE/1N!!!!#.B$`U1`Q\N7W*jN8ZZGZa&_M]k[H\I\c;l[Tp7*h<24)Y
|
||||
1meIs,dnJY;4NsTW&/$b<(j%oJB:,;]!IkXmnmW57RiGrZ_#7>D;5M&z!#U4d#c=
|
||||
;N20AG/iJ[?JG);Gld@Rkm"Plo^[TQ25^c#?#Tor]L4[UFKRFMWNK[V*s-3F;M,*
|
||||
N/.,bP,;K1-P&!t7nrcJLYHb?XG]$U=]*BnC!u!6:ZmF5`MQa,ON)8g^ZK`u_A3o
|
||||
Og)AUJ?5L>&eBsF@7([EP$3BJf5Jg8jIBl.Rd7">f.JU'e2M6WM5,,(l"32P1"UP
|
||||
Ls&WF!!(6ij1OQP/oIV&J-LN)Ls))Fq0Aks=QJT*T;=b.QJ]$ln9Hm`]>O42hKn_
|
||||
04.k.=2;2%7)U@#uQU7hrX&(9lZKNU=6]dB0A3.7W1bFJj\3>T*A$m4G`Buo+@"o
|
||||
d@!!#Pj)eYS;buC3q=l*bS=]V2!#%jogQS5,Uadt.RE,eD#j7E3Fa4g@e<HD;X):
|
||||
feUG3?rJdNrXWaue4#[c7jHSM>d.HU+R+"$oIgQ4V[ld>GE$6?]&Q!7r">cH;,]>
|
||||
lXk7ZBH<X"Nt>`!#,JPbL7]^6Jd'fbhIg1bNnbIbiZNVioA5Ij7768mePM[ad_JE
|
||||
G<UIZcd:e:=#NCrFNdmHP?":u[Q.O`>*``>Y&\*J\!s)$Tfl8N%0-J1!<G,9$%a!
|
||||
@!Z37U8H?a1!!!!*JcW]H4aql5?X&/</DW)E_k)=D0++03bF9AqZf(#tIZGibFN7
|
||||
]*/b>eb0e4**!/a@('!sLoYYSSUU+k=`b[>1ZJ,kii><i/g%0C6ocnGG.N>."VTE
|
||||
#7*!2QrnSi`_/o&fn"Dj/M6e&1<C+%&8b)84hXB,]d5S;r!l4(E_a4WLIu0e4/7=
|
||||
sQRf!!#G:$C9mBO5!e*TEJo124Wk]/a,B*FIS-Q88&$[@$goq(a4D0!!%anD4.Xh
|
||||
>L>Q<dIa[=SGBoqTB>6jFr["ao^V`<A_kO_jn&@05(?(qI(Sr_@^>2Xk%CH]D7\V
|
||||
mLXbMDIU_U)lcf^d5l_;nTPp?_XjkDmZ:@FPNN;7K,`T([7`/CC"N2tp0E;(Qzbg
|
||||
>Ig5)2?43HsNTq/Z=VI-Jo@a!luqQ^U+!0+,k9?9^ePL8U<ERZ[MTZ\M3E^:2DTh
|
||||
!:`!PjH`W5+K5F-$@C&mK*MJ$t9:,!-:I<$r@#&'Rn]NkQK-&b=NU`TE"rl!/:bi
|
||||
_5W0/f"QSGr@WSlNa927iKqp/MDFG>SoWY,AKBFp>b]PHWTVQ$r_H>3gu%Bkk+ca
|
||||
uH@5]4kO#I/FO,Fh7na1mbpd.:d#eDUVjjP5(muNN-D_HALJgZ;1?ADM1$Ct2-mY
|
||||
HZ6Nf3;Si\XhSDK+bcRul?q;]4CT?eTP&"]Ps/>=s]@QQUA]\K*.5;VYIHlUi9=P
|
||||
)*"RAA\"G4Jf,rf/u2cdCh522[Ob!Y%QO!@!cVKd:]h%5M%YDJ=V18OA6`-6Z2C-
|
||||
)TuhB`5^[d(fXEN,jrkpi+LFkN1#KY<G'hm`Xd'+%Heb9s[sAl\h4GQ6/0tA*N1I
|
||||
<i==,i`ON%)(nNU`;O6`Iod/?T&3J5Phn#idk!t]!!!#a>,#,mT`?B]-'XQE&iq:
|
||||
(;%AtY9iK>o\>#^jGFapc+1Y1lcQ8^RQPNHOQQB8B\T-^OR;l`'DEO+%kDE$$_p>
|
||||
7/_rc#U+%r)_D]7dhH"o.XZO\ph)'r:kHcad+I3Sood"[;^V?2p;(=82".1VP,1^
|
||||
I7tciGF:AZEsI!eqnXk`\C^/1N3>Qp4KpP:nkqY<EpN^CEhqN8gKcjgjZ;Rtj]9/
|
||||
3)gi1mqOl.4fM7(JL[pW#eR1oohsi:mHt?Uqf5LTKjt5?jSe["\beh(oWVE9u%oE
|
||||
`ZeH;5slKQK1-2`jG)GhD3YFiHRtp&+/`244a&KJcdNt'P6KDO1:<QB%$5"V8jWt
|
||||
'3iH49>(?YY+A5U(<i/JaOpY_$eRZ0tW1lS:*5SD<)dsM`c*S4T'dbpf=r#[bfqW
|
||||
.h]]"$2A-8&tSWo6ig;fGt[#,a"6!$!<?F!tm$_dU42.d&K?ETeNGX5RGUO$8
|
||||
a+"-#/SM>-aE!-E.37<#PnT;!?-W!\>\i$^n;nd3YTrSUmB<%]'kT$<DHcBpl4O1
|
||||
kfTS!"],RVLV?6#(Vn/!L56g!):P`TTBa^;^<t5+Jiq2gc5_!XY\,e<I"bdbGK@f
|
||||
\-c7`h3lQK!L>)7k`!rOel(^u385^fPuQPE_*H@%3>"ja"&shN'eP*qF[@rPBGs0
|
||||
.P#REGJtslXTTP4rVJ*NKAF0G?OO@;gTcqQJW0!.!Mh.2S4#O,'ApTXW6EF$NWGP
|
||||
#.FI8CuN3)<h>!_J5Fn0V>dWlSndeOR.LQPoU:Ek,7^-VVhGl%*ucQp2;GpVd@^-
|
||||
VVXGq/JuSk8e*ngi<hj<N;;I#7/pSk=EX4Ht0]ne^UhjJUT7OhY(\,p'ueFaDe)D
|
||||
0k^AbLrZ1^KkmTa6\H!ca/hV04P6OY>eZd%p7.&*kXUXqVkj+rG8'#4c2@bp+FZ2
|
||||
rIc4n03g/le(.3a;S?dOs24mh&-)b5!<NH,!s&B'!s&E&!!!$$&H`RW";;Lm+YYW
|
||||
9"X65f(*aML6;U&Lg&MBZ!<<-(!eQ/#\UWqiccgJ%*;miA1!e'bo,R\K5;CL.F7U
|
||||
CLa$2<)b]E@qr5V#VccgJ%*;miA1!e'bo,R\K5;CL.F7UCLa$2<)b]E@qr5V#Vcc
|
||||
gJ%*;mh\*1TDPr\oZUj#Db26Om1Sr]cEG\Ek2:"M+>gIUf";kN4f#NdbK1R-3Tlq
|
||||
2To6T:"g(3Ve\aA"T.OjuN6tIUf";kN4f#NdbK1R-3Tlq2To6T:"g(3Ve\aA"T.O
|
||||
juN6tIUf";;f^($E;BM6+-Kuhj46tla#S5_0^(W-d!3I%EJHm@%Y_nC$]I+_(j%A
|
||||
akZhQCGf-3ELI'r1K>no6NB.RgF<3:&4CQT]_k?OT6/rH-`Z5;C3Y*'L*\ce_@F0
|
||||
8:T^de'ispX[SHFj4%iBC@0^)bMd($qWL#_27)he-d.HLDVjen5i/+RCrcc]XE_u
|
||||
<;bTDX1u5NDZUrr=/$:\aqi)KZHGkT"<`37FPjLI1#2KuP,@N&halF=o-.Hs+iVZ
|
||||
_DGP7,lLK`LRNt3Zf,Z/hlKO@F08:T^de&j%b0FSHFj4%iBBu2!>oncoBLInV9Hk
|
||||
%Y_nC$]H>*^-<Z6RJA:!1n'rqisFf.jN!I0QR=C`PbX/,\)P^RO,0!S*UXL$R3pK
|
||||
KBDmt9DuTeboishdGO$f`@.M)1Nc4;)YA;Cj7jd1hm>ba&'W!T:S4I;_4H,#3dd4
|
||||
/aoMJef;-gTc?+XS#8Z)j'(rdhp)5e2qb(f#8$-ETPje:[l;M('.8ZYcbP7$Bdj[
|
||||
B\">Z>E"EB-injhR0!\Af,;bDe&m9k0&u.@cbF\<ubT+&;\d=t<bh/(FH0XXpd$0
|
||||
Bq/>>0H?-7'1-r/MB^H]p5E/k[*T+bLXj$VF`TqZ?+&LdF0=[*`ejmDV$/(7@IHN
|
||||
cZF!0/DO!A+STZ:\ANB/`8$[8asaFB].`&1'N`#l/@+sJP)>C0+u)Y8UnFN"M%l\
|
||||
kaJ(8nP)@Z+2mOW,ZuJuJ@[`0A.'D>!2qrXU>#AUmn]^qj>e/"_8O>Q.%k.hR?/O
|
||||
%jiVYoqnGXNJ^)t;--i6MCX+(Z=Z2?hAn:)PUQhg8j/&.MP!+,[*fjqU6I-$s=bl
|
||||
.@e7GN5<YB%Yt1#e0b.@d?,\Cuh$I2bnXdqQ1`MC>66Yp*&NMDgquVUK6H6X@0q6
|
||||
M+0i9Qoc,V]G)i)jGOuMWK^N8UZIH\KNW"?H8lWh0t53d9bSYbLQ<iTjL:$<(cP]
|
||||
X+%'!Ym@(Xm(UWj].[>9Y1ic[=)A\Tj)M\!+a7:AksZ:fZHL\.YQ"U<CpM(Q8D7q
|
||||
3b:MFUf=`]jInImC)i_i$Aa)X,+a;UOil12t72=X)?Y*r$6H^ppB9R&:g2/@Gb:K
|
||||
sl?AgA?qj+^np/,0db:LCs's/ELVU6U">LJBZfjf?[C.3?o7=@i&;+5f'I2#Oa\#
|
||||
gD"?iD9l^82N@72=X)f=Lt;lU9@h?ZsWZn9?Lj_.EJAYG_<j:])YKD>d*\8*+PVe
|
||||
87\);DKMT;Oo&K8D8qkpU\)BmHCuN;G7#ik#o4L=^pj7?0JYtCqW`Cg\pSPZHI_h
|
||||
I!R'$O(B'oZHFn)eWsRF;Gf*Yq]F5@]4[E[[X[IU-ujXbMFb[c*kUj7].Zc,ds=M
|
||||
'h2WF_gQFXkTe!qq*?U?<[$F[JjHR9SrbKo-fm;%54I#^rZFsRmo(i#^k(f2`\s1
|
||||
t;U5AmMQ*$?TAbOM?'N"[?U:ukfU*mKpA\MLN!8A0tO4rbaPBpA8=h'^[T+Mc=AH
|
||||
)YSp/+6t9r/T$G/!i,Z-1b0#j$>bG-=:+b%VKZQ<@^Zj@_%$4s^m%,fsR:]4LN/r
|
||||
lZi`^!"r;O%V%0q`Gol&kg^7g:]Kff^lc8bJ!bBdNt("/=`^2):(lMMC4uhEu^1[
|
||||
Q9O"%!0W*Jh-`d2g:`L>;-HQ6nD;Kenu_brCR5Yg;:5,c'$?=fQ<@^c4sDDI'Zjp
|
||||
&F#P%Kc<VBo`-Ia2hfSkucY\!lY52GUg[j66P)##WCFL[7@]7InNk6SoM.R`s/9@
|
||||
NJ7SM5uZF2cb=g=6P,L73icSd`:I?X[25#M7/bOei$9?N1%V>"<(f`(s/rr@B@/(
|
||||
'LeEK32X@8\c%RRFIpb1Pc8%V51,98GsWP%M_QN-caA1*r)Z7GhC7rr>6_mB%c*]
|
||||
Q_LnnD<$qX@g0%08/aSDM[jOQ?%7T*0%nBUe?M2ac]&UA*&T1/?!j9A<adY=[2M(
|
||||
3WB*4c"%mZq]FSk[rTmT-]oW;:!gFM/Ik2?`=FMepT^YbGu>rO7']4+=QJAgTD?r
|
||||
NDe*Q[?H;B>l[%5pZ6W('/?Oq"ORjXA,<"39(_Y%QaHf@@=d\:-et;d70@>qe+cW
|
||||
p3ZH".l;C.j!<lZB.)oj.P%jB21mikL=-'ahjBDuTuUAZf=/(%tfb^!&:`3PD6o'
|
||||
I37a"r"d7l&*k0gQu*0j/Rp2h+PJ-iSS^lY-i=a?69(P/oYDA!#haG8DVE6S@aV:
|
||||
"44nf%_IiL*OLSMJ.H%8?Zk0!71&.SRtgB=KcAfIL/U&)qa55nrFpa%j:EQA!#B5
|
||||
51PLMA]UW/74NP&g9JB1UfW<s4N+Obhk`@ea^s[nn"9FQ2Mk$anp-J?OEh(mF$/[
|
||||
=k>*^=J(ZZj-2T.1OEDu4N3q<];''u#QP288hpV%pm&!].^["\]3M\d4aN#Ib-'X
|
||||
]_F*`'NW-OKqac>'DZHmWsa)"C%>kbZD,g:KJF!CjP4f^-KHIC+XGohh9jSo53oW
|
||||
Et3'$A7Xa"be`#EWuSa!NpR7l!t#[OA2EBcKl`0LFWq=g2td!dUMsB5Di=rgW@Dm
|
||||
`GJ/YM3aINa^-Q6-OBia,k@$%(=2&&m8)GE]Is75j'K__j0JW\DtV*-\NnVCnb'P
|
||||
5aN2,cQpKim8\=2F7P2=]u_GY2\p9Na,k?^a,kQUelsQY'MC0%OKk&f'B3DVnP`s
|
||||
C/?UH^ds%VL[;t@hE;3`p>Xg\5nM=^P.=,peHMH+fi4WrDMqN27K9LU`jDQ$Y1#s
|
||||
BCF$,\IA5Mj'p1)a(M,/t[-cJZ?P@^,#3?BBWYsFWlPB`1pW2GeSlTHf45G-bI7I
|
||||
G4fGo55EEu]rij;c2aar]2ub)TtX4IFMK+c^o0AJ1JuT,M.S7<k'%5bAg5nhJ9_h
|
||||
Yet4H.DUO?_Ysi6p.9N2E;7WOQJZXR-%Ua1VtH(LQY>P7l_br,qWA[m#52>'JQM+
|
||||
,c<X;n%Vj5:RsUk=^tX85"5'W*_1N:,Wpm.7lFK33K?Ignd]/t\G7QdaH5R39-d@
|
||||
)N_Pk:N^`Z8G[B"X7tGkjW=3)@o;D)b2Y9eg8&E]36^qYQ3K@_1aU]NVDDr>6]Tf
|
||||
3b/4Z+kPC9T5DsX659AP&]?BsPC..D_.I?*uqpg9WpBo2YL&EZ!4N^LlML?!8tV2
|
||||
dpd"A:S=hgLcl($tJSDmk]/5FT8%@oO_2.'h%FjSk,\bq*lTa"q^HT-[Ck'MCJ5Q
|
||||
;#$i/?:mI?V[f8C:%/hm]S"%i*(@HN(N8?I#H*V@Mu[l]f[6u8T>/a)_]`3OY:V"
|
||||
p+^6fY0,AV\XmPn*g`m2T>tLXVXH)OYFQYkdH!iDR,._qFl9!mq*$XL`3a]8N:;=
|
||||
HYMh&a]fbOqPBs#b)lUBrQfi)PP=Na!q:8H=RQ3>#Su]?]\lMmeKQo/U`MK;tISZ
|
||||
LsT*!L:KJq"?H7^$JTkQi'BD;?7#1IM=^N[\i*R0T=9^ktI4:&7[r!;%ed:f92M2
|
||||
YaFm@FgnlGlGBBi^;9Q]EMIDC!15-9*chr<rI?jY#-VrgSt3T"]@HpFhm)<3F/;.
|
||||
&tbnjM*=n3^(NIFUmJ6RX]1>fYsug/rR'Wo^^/P%C>,i/&a7,r90N)I&RFEhh6HY
|
||||
5K.1hO6=WlW[X%b8P%Q3W>-aE72/Th_-0c"qA4(Ahh1"b.3BJA4s0MknPh6H$Vun
|
||||
AlE<YIkkS18H8m`\O7.[q>!(-Q>=qGrSf#sehO^$9GGY*g7.g:*9%A*r/<db2%gR
|
||||
aM8j?8L]F>WZr71^Zj_<i?W:71aYQ"T0`ULT"UN3O_Tg2/G2r_gIH+O]cmmkE:cA
|
||||
eRk7@tst4Xd^27#;YT3i/[<j7PO?XEm)9NIF[R(3sDY6BrukeWY0NeV_AbhMRAF,
|
||||
,@m)<nScL6Bj-N0;d_iDBl#fY*jt-\;lu1l*sKVK^"k!R=sglNgGF`Qqj'&l*ubC
|
||||
M!::%R=sgl:7$XuGYXZ[l'P56K^$",RtuQQ`6Oj.l'P58K^"k!Ru$==Ngkjh\;m&
|
||||
7l*sKXK^"k!R=sh7Ngk^d\5&NLl'P58K^$!ASVZO_:7Hq$GYX`al*ubEN*hUbNgk
|
||||
^d\;lo/l'RL!K^$!ARu$<r7JP(Tl'P56K^"k!Q\=UjNgG:\\8/!O3d*<V@QIg/V;
|
||||
XII';f3PRtP.._LMU(!$r3W!Wi?+!rrB)zz!>,qG&/-0?5TqjJ"&WHFEW=_m#QY#
|
||||
.!C$Va5-ZK#P0II+Sg:Y6[$$=kB8)808L5-WO@%\)&4$F2b6/AHp2#YY12'=4H.\
|
||||
YZdsE?fhg77''Q0M3;mOSu@'VCI:NB$H2*=WTn[8`k`d)*Da[NX+^)ss7@i!afTa
|
||||
aR28EB=5ZM6OVjL6j><X9HT4KOYE!$OI3HONHcO7Z4)M\P_X)GFiU%M?_<4ndgG)
|
||||
fM574ClFk4/?U%'7K+9eGT\4mlR91T"JsP2$n1XP4h,]?1m6"QUAde:MOrf,3-W9
|
||||
:Nt1UNtZl<L3h/bks>:TmId"=XJ`6>7o.7fnp*?UXVlH-1P--+)+IJfAJqAf15s[
|
||||
oRjcN>BsN\m1tb?4ZAd7D)+IJfAJms7P[t`0br0:AN72>U9LThrbr0:Bs24m`&HD
|
||||
k6!<WK+!!<6%z!!!$3&crUe0`rRQ5XA6\,#E:Zg&MBZ!W`<d!J1S"Jd<KN#U"^)+
|
||||
dHVA<`P7&A25#2X")8tXJ>\Cb-J+L+cscV=]SOa6R-sia<O4go$3CoJolS>+(8]P
|
||||
)EcFp7`CO:4HebmE%KB^P#%*0-Z+sN9YM^+hc;]r)]kCal.\]*1BinPa^hsPUb#@
|
||||
K>.r9Led0qj@1\5_01#GUlpnSh&[k9^1l]jPUBGCr8L0j-Z;0Z4G0dE=m?2m!PRG
|
||||
3fk(2MC80`6PQY&/Xc+fb.aICjqpcf_@=mrF(Z@$Z"M^]_C,dA^XY&puE8NnT[nX
|
||||
Z"BFH7U<+B+ChX((.<`JRoFRZVi"r7AC#%jSVPqVk\'40kns;Z&b&/>_]J7(/taO
|
||||
HGXr-+su1rne'lb8(CtP\p7O:TGoT.I9G5,YKSM(J+oZiqqj+4/B,iZ;0IHO%m>Z
|
||||
O"\nj(/s9s9@?HK,]&[,p*<EX9>?35^37,9h'_)*NKtqe`1/#n_>G:$()+Kp9bHO
|
||||
b^.BkXZ!p9W94Q0(JqGF%JRKbeZ!`op)TcG[,b870[Qt-B;9@Y`/t_@39@]3EM'S
|
||||
WViC;/R*a#QOSInp%+3"(-;Y=j.Yp>O-72t;i-)Oh@4Ia`?gD<G0&kglJ-Uir&l2
|
||||
HSD[<\QZe<+.k\j)q./j722JTTPK96]nL@$]r3@XbWIY=\I,r%XAXr0iLk2U:CE.
|
||||
JbJXYc$sb(.F?r=VaGgA6B[:O^qT17?M+`(.F?r=VaGgA6B[:O^qT17E^uJ=V`QH
|
||||
,/o[TJ,dFe3Y28l!WrQ4!<`E*!XA`+!!!!"+T`61!t[4R&g/AP1I+fWP+b\T@?Jr
|
||||
('7mD5_%]dT@W7FWiW%U3#QXr+#!W1c\GiDl/Z`?3dmZ)l9!eI-rr>RSD(ViaK1Q
|
||||
h*r_iar@uG'^EG[gu/Z4`M[.62bSjsRFaPtp!**Z2`MeV6lD*3h1Vies*ni4(L7i
|
||||
'RpinAYt>>HK%C#j8N4H;"kOi=]u34>DK(=U@ag3FZB:Etd3jDf$!N\./k`O,1q[
|
||||
[ou)e&^P&GoU$a,E$9sEG[gu/Z4_L'OO^O&+lPdYuTnR&+mT8FB20W8sRd'!:6ts
|
||||
?`[BuYU"!AAVtu3"oeRY[>HJ*@ZD.VE_5q2Ya.rT)cXci;t`NUDlMKLp`sW2MeV6
|
||||
lD*3h1Vies*ni4(L7i'RpinAYt>>HK%C#j8N4H;"kOi=]u34>DK(=U@ag3FZB:Et
|
||||
d3jDf$!N\./k`O,1q[[ou)e&^P&GoU$a,E$9sEG[gu/Z4`M[.62bSjsRFaPtp!**
|
||||
Z2`MeV6lD*3h1VigW@7rN*S"A&&-k,"'.^XP`]nO5ST<L/\dgHl0f/L/].8IG.hL
|
||||
p=aSROKg&PK^l1$m*d3m0k&__<hXPd)#)X*mhgl$m*d3m0k&__<hXPd)#)X*mhaj
|
||||
$m*d3m0k&__<hXPd)#)X*mhaj$m*d3m0k&__<hXPd)#)X*mhgl$pN%Sm0M[),n+W
|
||||
'9cQ]u:[1Q.Z1e(p!8<%EYq5$pd3_i=mR\.)h$N=7jG'56gf0`\L(A"q0RHUKKA(
|
||||
du*n0gjp7JYrZnQho#IH2^6P$OXqa1n$0`+3JZnVAE&%"%f6P$OXqa1n$0`+3BZn
|
||||
Qho#IH136O1!sQp%A6_<hXPd)#*6Ae/VQ0RH.tZnVAE#IH%a/7Hqd"I/V+YO$iK9
|
||||
rK1m9dZfAU+L#>TB(o%G'%=H:dnV7.i!+O/EBAP72.U+\k;N:dRd2C74ATO5cZHW
|
||||
=e_XScrs,"<Y\1>d9=U[8:Qqd]93rWVtUcL<E(3#1h]jGE4dH#4&G!@76F1/bnUD
|
||||
N8`W/gifUWK<@jl!O[U])ROXMqr/r[G3;nRiS<B)[RNX)XHR,tt-(q<gRM(f\<k;
|
||||
F7n*`&):+tJ"8^q2`aXAjCPu/ok:Um$06`ThZ!5n&r0#VF[8e\lp?gL1DUrAm%AU
|
||||
8%2MB*LY'>4`Q(g5q*^1^.gaEmd5TfH(fdV2!NUL-!DL6S]006@r/2=>0M`qZo?L
|
||||
3$KsM'YG+Usqi!;^2)P:/C6_]cu71]Sa\':Upt\+skX7;\)Z8->:ROM56<%Mq=1h
|
||||
[F-$\7@&;Ch,:(APqsKHRGCc;9ZjKf?2Y>!f!D?P24nn]9uTPkPb7X]'cB706VZ'
|
||||
9^Zc$9%(ts7+[d`4&4iUU;'^i,U(fqM;*!F@(f\@@gYjEBhr.K@Qrfc;?PPG)F$I
|
||||
[F5-/%K96;[23hnW2rY8t40/O8%CFTlHUp?/DP%=LH=LgnLGe8>^:&]O"2c98t08
|
||||
ada9i[@tZeJGZas&ZB<Kc1(qR>Y`e8qdoID."tE[4,.PrkT32<:bl?$NtfOQN:$:
|
||||
0rRUl_2pO1eEp'14Di,1uH/OrrBmd@hmLj[!f-4.F?#/\OArEP+f;*kl'VCNBrbK
|
||||
g:]s+I1<-N12./QK<DS0^,C:pX$RPLTk--o/QUBSR[G='Qud)rKWMe'U[3K-Zi:"
|
||||
-ng]Psh,@NmR2\BJHR0e^-q+qV^XQC>9:Juoan[_BK<O4Vr/=\>)g*6?9ss#4CK-
|
||||
U54R1DN38:B4"J"799^bJA.Q4'#dnu5=gPfR7r/SOEANqEC+Wk2Y`R)NP?(C"SIh
|
||||
>YAZW<Un&keK%LcV:AF\S6Q,K2:Qq_h:7LJaF]jQ#WR/ndjaE_4L(Io3Tkq\__;7
|
||||
&jcQ%_=!,.*.3//K\kE<*@`e>_<dB7i"I_<+bO==*5U&D3A,gh"T<>A9Ar;8J@VT
|
||||
[m&Q8hRC(g]iRLS-pKF.@k45:R-;(Vlp!&^:o_)V.qXOel)IHql)=IH1<c]=bX^E
|
||||
WS>NbZiT*d<7+")Q23N).%[*_i^M-/'R+b^73/g72N;74J]';!7I>6@>S6?p<L+O
|
||||
Ide4Php,bE"__#3h1\R(bl=Wu:**ae'ph'=!u)$a'Cq<-L50&2_9/uS&Ee:2#1dn
|
||||
*97k0i[7U8i<&AfVu$cD>,h6hrX7jr\q#lcM9Df/h^41EZ$Boob`4C5ADe,H7u*$
|
||||
+.&6(*'4A`nib8rIuEHnIoUW7Ub_T9SAT'./dU$!FLCgeY_`'FS@KGNMr'<WW)rQ
|
||||
ZB@-*2H!n)*H`_MDKRi\r/NmH$'ALcDB!W6htA*E^sKhrES#0M=H/P'U?<o9IDp)
|
||||
5]AA?QT4;FX3rD+'>Gp7eAT`4/.5P[KAu<`]];@+$[inD5kIS.9e3]YIN0?/o6n#
|
||||
<a3c:GH(idP;<eH@#appIkP:O1Pe8KrA^/q_uDQ]j*/uQ=[Kf,e`?>HN78oA9iGE
|
||||
%#Eb2:^j2&L=pTgUqV1Cqg>c)k:;NI;H.\XJA\1l%C)7\/3MN<nacN&pk_$.PO4=
|
||||
&PKP];>>[_Z$a6h3HZX-rA(OrX)s)mVKseppu^>l#SDq.(@dlj`NGl+\@nJX*%$o
|
||||
"SH!Z.s=?l4.QkVl;9dVQDJM16FUQn@N55P9C$b94=WB9T>\['?\+lfld2d,.!4f
|
||||
f;X(.@n&jp%nir&)`p/^:<D;h#Y,LVKe2e?>)+s&AcMAjR<Gne$e2+]m17-@\`CH
|
||||
TB9bkdMO#!%VRb_2<@IEI&Y54>C>inORO\0sU\WZ3FC=&^jOXZZqF.G1Z<pWmKrX
|
||||
?e>RdA1&-G"m;Et>5GR9`\XAQuC<74M-OI4hJIQ-q_KjXtnY3@Q+E[Y>e3OlT?3j
|
||||
]:`t_E'&[SZ[71aN#0Y1E:!g6QMk\d)R#a1E:!db]\_&6QMk\1E:!g6QMk\d)Tg0
|
||||
Zn^8Oj"]861"mK3%!IC=d)Tg0N5lfrd,J4K91'\236ihDN\_]LN\_]LNmPfaMDH5
|
||||
a36Y6eUG9btLrC6ld)R#a5=Z@5CJ.Gm36ZB0m0n/m4$t!"36ZQ#4$t!"36ZB491+
|
||||
PL@Z88DN\cN*E@hT=R-b<*LD%tQ)3-NQ_uM4t!!30'!s8Z-!s&B%z!!*ZC+Yc8[@
|
||||
3BQPJYDT'0X8IAiB[Fs!!iT+!!,;-]M0h%h!>bEj#);(mQTi_d/0O26gf`c&%Wj)
|
||||
53RFAqk<aOmYBU/\fZ#Xk^ChTU%^qBLYWKP+*9^1IF.kbpI"A(h%.(=F?\o:d/0K
|
||||
0e-3<69TmJLB(Wll'rP#;KJ'e_[)1@"@sY].RL_"7IL+UgD/r4EiGlRl+XNjoeR%
|
||||
]=2a6GRd/0O26gf`c&%Wj)53RFAqk<aOmYBU/\fZ#Xk^ChTU%^qBLYWKP+*9^1IF
|
||||
.kbpI"A(h%.(=F?\o:d/0KVbIN7F\=;=]acQ=0$1`EO$dmmK\%&%kN/F)2o$/&pP
|
||||
D/Sgi-`'pT.WkdbEIeRjPkQt31hfu0?]Q9o&S_V\N!qK:,g@[NUl/gI/,ao5#*KO
|
||||
PE#.oj*\Bsh_%Y_bEIqVjPtWu3+":5(X&#!o&SbW\N!qK:,g@[Jb%m[I(;5o/l"(
|
||||
CPCrAcidA9\?kO63cMOCpJjp%m%rVQs92!upCtq!CaSMU"HZPRfUhjY2W,F9:h_L
|
||||
Jl6M.3\#KahA*8G%CNPmahkK1O8no;BKS6qU1#N<eDq/UG'>b"$F-Qh<h`V=InIN
|
||||
4t5p)IFp-Qh<ha7s[oIN4k2QR<a6ai=-sE'AZ>6Z<LSq/UI=I%3QD%EA3aEIM/_+
|
||||
,;3WjiEjNd@3LI'YT4\7Z=_2D_lD3P._K<qX3T2=]u9!26e(D(5X@YQ;aCN2E8fm
|
||||
EBZ:>r.t\pB;"`;,!:hd>1F9X0e>CddU%oH,cm"fX-:3u:IW7Z069CADM;]u]FVq
|
||||
+pUh*&L6<LtPP68>(^a\DL*8HK2:Nqa:Q6T10W`5bOqW]-@Obp0CrY%NJYnaW@<"
|
||||
k%i3mkfO(N#p"!t(;!l@qh+X.!t+O%HUM@S5^('_eBJj^2=7mr?aN+':gf\"q&Ud
|
||||
[Z_Jgf9'X(-0j,-`A%n.FfJOjTn?WEV]4p#V'g#b7=BN@#r4Mb,7m+`95FD$a*8>
|
||||
VqVu\JLHpS=(Q4%-/`Y-F(C*"dX*UdLanm1*r\e:@5ZeZ-nj,aFki*L9d)WJrM)J
|
||||
-0L!ZKXJe)o#.Y6S_kV`&M3DfRO$HDP1+[cGa,AkC5i]!R:12d__6AGF4?#G>n4.
|
||||
u0\m\AYpnq$3[e,?Os)"u'Oe7D.MkmRJq'(XUYqStP"?p_d0'fWTs:mm(qB_h'06
|
||||
I&+C,PsM3tjf7Nop@$3KKl-72;0oZ8AB;fs@SOsIBXgWM-?>@2G=UdWF/9LXh4gh
|
||||
pV=M3XZbO\oeWBbO-qe8^9gJi4]2WL0uKP15[iUrOIm-^7k^C,)B=2(Def:119s`
|
||||
/N9CE73+T#t6)3,[bGFTbNq@<ItK'"\>F#+G'kE,XDQ^"u\6SW0&fB-8S_u!dWFD
|
||||
&L<&r+d5Uh)J%CVq&p+QYS>-6N6;Hlj8jp.'V(-oiS5n.KM<[!.%5dMV8akE8q[h
|
||||
XF@_LY*>noF>qChN8Ju>D&eIA['T+UgSk2'b*Q!Us1$L4Zm9tV[*O=<TnKMOB`Tr
|
||||
m&bS(0$+A03M0Y=O@Ye=-)?ZQ+2=h6N#8+BXH&"m=]5/Pj.Mn+qWMbXJd98nL(@o
|
||||
jH>%qeCs8Mk;ha"0n4O>9Ci;*.c1Bs%TeB*l9'T_1#"JP@ah,j-'Op9$C!5hfK:#
|
||||
bsk$PF9sKoIWHt8L;b2.L?Cm,XE-9L`2N/is/L=CAX?pL/RDW3Ll9^,s+I6BTn+D
|
||||
-R5"6H1rnL8m*/`$>%qsm'^9%0?[q[@f9ElW4slDl5dDF9'efW4JYTe2lQ)d*46T
|
||||
aKtXbEOJSnf;;NTqi+/gdE6&=!>8#_1L,2+>P"<Y:Fqqk]h?B^h5aJi)*/39ZB$L
|
||||
c'bso7&8@K$sa0&*&q!;40_BDK%+p]Bs5m15&":C>^aVu6/1%bT765:W#5m*lL+@
|
||||
/m2WZ<*OF:p+O\g3<*MM)SmJj1GL;F]$N-AmLF`$$b"d1f^mLmgU4&4"7\ihSUh2
|
||||
G"A)K'7s.<0LIdF?p%,\kNi/+Cg:%)J"[:`DB/<6$5AW)k&%j&u#Rh6Y&,B$AQYH
|
||||
7#!2p;IGogejP=pk_c`5"E]T_BORWA`L7AUPfO+QQUK4F'c>a=;,W:mf^<-6WtKY
|
||||
#]S[G]3[^XN1rnR'&QtpWONBHfNCaXH!^a^H5)@.ER$f4_9bOI3&iW;"aV,q9.:V
|
||||
.(9ThT:1.<GYaMTR<W?h<E+G;%.&L1LW0ogrc`/CHi7mgd/JganRU1fr;8rFjOO\
|
||||
#C+8Z9gPZ&m$A/P0.Z9@8j<@0BRgL,Vg&"H%lN:IL.&D4,^kKOR?g'-rN2,&'A)+
|
||||
@qNLl?s*mQ=$@8M$+?hPS$CL2I&$fUd1%D6:=^A!N"G4&;<Ts\dASV2/J.I696BC
|
||||
.Si`\Uln<Ok`CoI!?qdoV9m4e;nX;B"[W?K-B+'b.fqV.\HELD]&TqX&#Ef()o<9
|
||||
IMmF)To]Ul4+FS'9'4U1h,-?epOG"06@#Da^'OpE\;*UBePJ\c&?Y3(d[*]C,W<c
|
||||
I/0L6G:7#2t;#U6Q42;JgiQJbWO'Q/rl:?4ca6Zc)a7s%+?8D,kh8TlFiLZ>l%=E
|
||||
PfU`q'>@LY,!l;)DPk8L&=LZ:QlhF<k+Cfm#]bqLe#CU`^]&ZkU+<H"YP;r^5t3T
|
||||
K]SP)D!-[<p5-48YgjPh;Bh:[Ij[a2g\Z7WOk0:M3&l]7D]j/Wb+h%>nT]\kX$-Q
|
||||
+I"Y*Ot%dl63sY!>tHB),t;TO2LU0)oc)!Brr<fEW$$ZnBK&nXJdHP+5o!@d+u:\
|
||||
pYos6"(h-$P84Z:'#U5)+Zk>3aEh9:m,tXitME`P0p`o:ba.-7;)l^XVF;M_Z&\Y
|
||||
!hB'gncS$/d@,`B9NVS]E3Z<;KD1i=YrA5sa?N*MRD#SJ8C8Ye2R1R'*mMg2KKfl
|
||||
BJ\\n=f*_!oF!S/a;To;RcH^l>[H0C/Tg&FG[2%"l"0Cq4jd#uM^!7$<<l88h[>=
|
||||
b8Ob-N`ib`@O9;88a6Z&6PAdgfYuLjk)oghN?2MK*Aq@hjpLb85EAH"4TVuCi?$r
|
||||
5mm"k\?Odl;)27Q'I'PW>JERJ#c-$CXHQ3>8M(a0Bl(5k/rZC0'[i'VE*[s'Hk6L
|
||||
;/,oT!n@7KW"(MgJk\52s6O?DK0FuQ!&P"'%:I7IkLaqWP9f.'g'!0Tr,XT\aS?*
|
||||
=LQVSj1PJR].aP,;RKek=['CbDaq$&N,_l-Jh7'W?GaQtXlDN#,]MVYN?0rf8%PV
|
||||
SXbiMDKj:&uij7$:8;UV.gJMi^4RXM,(I%d!L.Z%,6m/r&072FHT/bF>)1KrpG?$
|
||||
>U'6)L@;DK_d-T4DX_;iS't6ZMU[r1cX6<p>,ZRVDE5Ef_I9[.i+s<DDXJU7m]WX
|
||||
=t`_lP;+>\4JssYb&6#/E_.mH>_35!OuHpI@dci2d"Dk36aOb>YOFH]AZ:!X.i",
|
||||
fKSeA"o't(_*X%f5<^>?lT>>@jg`)?(Z+.rB>"5FR(trV*N?!Y*rhIQ1*`1XP-rn
|
||||
,(gjR</6H;Jk'U!4e,e/Iq*W"2'Bdn=U9bp.Zokbu/_@qN8as3bo([PG5(FI84B%
|
||||
!S3NeS>VOff@r6VDE:WH';b1HRPooP4!MIhCepb*)0)UioIZe[_&[5r[HR@TRSTA
|
||||
Vl>;B)_j_am6;20JU2'd3;\XF\.(?;rfB]M==#%>n^>7b(Xe-=3;Q)L9X=Er@hF4
|
||||
A4t>kaDWV#Z!o5(YM_;h6Q[D][i..lC6rBjh=LCYViCrA2%j0^?I%&nEt0rc8"?W
|
||||
+)UOoTEJ[Zd?A*55\\_LgKX?EC)@^K=j@4f@]pF:$=LM6UK\SK6ft&,ueHC]2cG\
|
||||
:[-'pV(8M7q),3V[$cpWtWW?""WZ%2K`m(6HGaO7?AV.h4]=A+)YiA\$%'mhVb&k
|
||||
Q)<]4lYL9o]BR/9t_n.Bnak]HU"u9;CO`HRHnWPkSlKa1M6orO3XRP"fI^*JWl:9
|
||||
;IC2j<hd/$sT.PL?4Z#(,j6)6c3+>5oju?'-5.@YujTA?`CE<`92Wh2iH'6O+S5_
|
||||
8ES=$"OaN>Of](6]2@^,VX,OFdQ?5Nb7K.*.Rs+RUQ+$b/H5^c0Vu2:&:&/,LcLb
|
||||
V8LLF@4AhG,Z;MVpYmc2!>Es#0G7,e>=@=?_"hHO7r,#K(lmCT7jDMo!_Yai[;J7
|
||||
?Y6.4#/W!q45=_8B*JVj@lK^;LfUO/-(XUfN@)"s1SQ>Q1a1n)!7d-5^!7b!m+@Z
|
||||
X#&PL4D3FSG\Q9=U6%.EFNX`1^AlM6o&CVPPWTaA==eNLh[Ul<_^aI#:K@R`\%D)
|
||||
=BXt8@H^q6T29TG?pA',hF&QKH<Vtda^`_b*]F[qB1[;4^*43#*Vb=.?K62<jAc1
|
||||
+eYCFL?LASKaAt*r<@ElYTG*pfmD0&"c6ccK^FN)E))cnYr%nF=+6)Ai4.>+5*Rd
|
||||
a]+QKhCemIu2Pc,=IK'9\7GMsjeF%8YWdN;7od/,&%28/MS;6ef+gu,Bg]%7_)g[
|
||||
J2rJ@ACU:AorKTJ0*+Wec8GreA8#)VQ+hk;")g/WqDef!]!4pSt=A!TPoRV-hpYW
|
||||
3#1:PT&G`nN8r2a]>pjl^?e<.D^*-'DN(R5"D@D.T2ko%&Ps,=F][06o]:R+W@X&
|
||||
sU.Nn28,B^@%J7_DsO3"F!rig*)`B7^Y4LO'+(rBk8ni0!=uIMI4_rhEjZkV2EqF
|
||||
10c+,c)Qh5\;T:O=6N;?Ajf,TP4h8_Bcm'7<a$Z>7N$0n8\IUY'WL\_G`fGVgl5H
|
||||
-]=*&1'_Mt,Le9;A9,?l?GpHN\p=#!-fNlkjQlK6:*#pN!n@OZ*d1:F*^MO(3HUk
|
||||
B]mNQEl]o0-?dYST-mA_PaMYK9<\QR0(`$BQTNu9r!%Te4==#UG1?DQ3NhpDn;m^
|
||||
<e0&rp-HNa>jrS=BrFq@"aj`r>aI9%.Lg#/u>9rPZCk?-XZ.7VS%=>Y-]tE<3PVR
|
||||
om-.@X@BmDg-3j+gEi"4&O$GC3V]]N1H(MN9nXIBOPq)8E4L8Pce-/:Uj;PiG"Je
|
||||
_JJ-:R;L=63Je4"'(pDdV/)MbP$15s]a]\N.42]o4/,q(9KD:FEUqc.6ZO$90J3P
|
||||
G<Z<Tn;h'5?@QP2K9+tNdE]sWEC.u:$LEsPH*1K[Y'0;:fatU;7Hk2>eT#)lrn;d
|
||||
H2iVAqM+!C=fL[$cfmNlpGXE)g$QG05K"i1l6M.&:`!QPrh/klXph2CXh+i[?LOS
|
||||
7=i#t`;mb9QR/fT@FeEg#Mq[h>L&jDf2;$_)kej'p!+fom,)7BS1L_q<&`KR0o0=
|
||||
s_hNloA,o=a8bbI=tqZ)A39fCSCGmC@I?2[9eQmk'BlZYj=k2mUpK3X'CdU=I[fO
|
||||
KIooNEJ^kXBN\l59To]s2\h%]-SP*Jq?U!XEm7kE(76`Xr`j3V/T:M'dce<"TI4_
|
||||
,V52!rFiHhVCkhYCoeIHm/J3Q>CVak$jB3Q#'"3q/:/#&Tc"Nq`)Mu-4j@+uE-p;
|
||||
4*E3`07R-ht\?fB+!>-g0'm':34[?R%^n&Ws'$Wouk@q/M-KkeQ+I)C+ROSf[mh*
|
||||
J[dpEJq5j<?*Oh@QcNgfW$D_5:;W)Tt&7*s*gulH+]*_CjM"24G+",h$N&'$+28_
|
||||
6Q.&FEVeJTl\XU`7U";4).?X$.s=4LhoUP3%'A^YIQ$&a^dP%^e)gB]u8c`=rNPB
|
||||
jOB=J4q&3tL@8nB(:PrJi0DK+1oR0j@",3=,k-Z'L:l75&lps7Z6/bcjD`sOE7\<
|
||||
5BYSN`ReT9jgUP9:k4pY!3=8uDV6\WMV&YS*2Z/A',jtX9Za7(PqKWE/-XuaXfP<
|
||||
lEjJY3M.<ZunCc8e6ha'Zf4;5mW=ra2R991EDJg45Aa<<)Yb3n=7`UdN:H8['153
|
||||
0GsPE08jD'O_<?;u84SjQ%=P@S2E\e.Eod/E5red_A,[?.9:n.iM^f)1R2H]anH.
|
||||
hXaVd+]7YAF`*Akgn\I?JV#gjsX=NXO>9>V*2l5%d(2CN^DftLmi*f*L)[:Sd2P_
|
||||
/gMtS`-V^^6)K#:`HMBCXEsc-)'P6XbOGn#?>%V`U6=nYA-m1]&DG8gZWMdZA@=;
|
||||
8l'G(q$0#(C#n:I#:pi2NYq&adG4_pMBsA1%P7MlQVIPaV#(;-r3G"4g53!88AD'
|
||||
=^m_kEnPHg7JS.^.hc3\H$mn'B,,,NlmmRZ-(biV=l$1*B'fXcgFN<KkP2R3tFDD
|
||||
EMQ(iIB`>ZnZMbU4oM&9<*<SSlC5GEO_LoGm'dFqQM<b(e#PhE+;[&6cI;Z6@8N9
|
||||
)eloGF1#D*[J3^RdPM?#,.8)\db65QD1`)oc3LAmW>g=YdYUX+JfCf'@m'oUE\8o
|
||||
qiWj/+p7HN3H-KXP%qj4EO_p[/9[q##0X:uOJ:oHjs4di7W;cV`&>.>92q)2A9\t
|
||||
O)oaFCZQ(P2l<W]&`)'NtgcHd.%;sR36VIhR:o3tS^#\u7F#P#FP!aFc&Rpt;M-<
|
||||
I$Hm*/3^U@j,TAW8NEL+HQh$1Ns.oCU&HB#qXaTekdPrkV;*X?7t"Qt>S:-0W$bA
|
||||
tVE-EiQX%XTFa3(e?#&Np_+i1'.:p,E^9AP8?EKs<'?_4YU!2e_n)lR)m'7@<fJa
|
||||
_iOT#&`+2@2F5L1_$Kmp_k`&,>UcVGfb=^R/u*1eohBV$[4cH"UQaL2HkAF:C)eH
|
||||
K99B$c+l%kIn1`b_Jt7lZ'bOk#YUE[M-?AnhP6Im[rJSA,k(I;iWs9kf*'DSR@#R
|
||||
k&kO@38C:sc`3o`$Ur[He/`]rJkuT];aLdW<ZbXVEg6X/JVE\R7Y`ud\*M(U7g_*
|
||||
3oL[!aci_/mAiI,6)rrB="gd)7WRV4ci?3\kTPVZUW$+4=!Z['a^1ph;o@1OPd]u
|
||||
FsIYmn4ME^E"T#6]rrbKs6-p`h1]HBYr7+Jg+l4eKN&PAAZmB^RJ730I-N/jr>a,
|
||||
;%\uUg17=C<r@kfOfaK8Neg`h.rAHNQ+\'\Vf-=fTOMZ!(GOR,\@2""Kt+'aK\t!
|
||||
0o(B4%XuK0bChrO]T9T_8NqmDiF]GK#6`8`GqSYEi(pU,_OCh'qEnAI"LBE]@?#U
|
||||
lhVs:#)oG^=0'uF_CA,3Z(<,VWrhu;t5B:[d$\V*bH\Td;Idq!MDm==cNo&!q-Q+
|
||||
1B;/Rdo99pkW(F>V:@k2nn;U&s')cpFuQBk)fP"d=oFr>BPN=,oE`[/50mU0=u-2
|
||||
CEj^FAk-?H35)oFsBn$Q%ShL)[(cF)e%m0$Eu8\<Jg3Q[rh]>d>sq5,'oO1*\A86
|
||||
<QjKHO6$KoG1'b\@.7UMa8P5Z>H!>lViA^r.C.9Rc.^b%;`_uLPq3$RG`]i,J.I-
|
||||
Ns)GH;qtQGrQADdiJnU_mPO(I>?rmm2HZfsp/o>Vrr@VWFr*!hNf_I+_rQu%:1.@
|
||||
`fP=DBc&c]0Hru8!`/,e%a\;]Q\S%*kK_'7=RU;aIK5)"3?.(9g?uQH?p_mdU/]j
|
||||
-"^iGEm-0N(,g[mHO^AZ"h-'O.JoJ!Kpp@*a:jI6DqT!BVIMmmEi64hd5>8k^GDS
|
||||
f%ZCQ-6F%@DU/07uJ['!XZ56(gSYPHlHsIg"1kl!dFU_(o7e`S[?!A<D;&A?nq3#
|
||||
a$RkG?GSBfnJodRm(6"OsPLkPhMAQ0K(sdn5u"dG(M'Fi->bO'$G+.q(6[c$.FC>
|
||||
ha#W3lpJJ*a`%W9).`0qZ5`/NR$dM!K\C2-Ml,to+/&@^A!buT.2L3><^TUXM+[c
|
||||
"'%BFuOf-]"+g2"^$$qcg[t5>sh3rt[6mc!GWnQfGm,4:#`2Ajo2I>D\rJNamg"!
|
||||
BX%+<$0@e*,YAa+Ha1RsSE7(a(s7[IQtgs]%s(oL@<[U^r(WOSS1QHg'Lk$G98\#
|
||||
CuJW@)XWp@JW"?@ppb='br3']Tc.>iR*.M`9:.'#BK0Y/J<NYq<"ZpDts:G931Wm
|
||||
%N0]%Hu5Nlm/Z]-DT40nR6H1+]#)@OQEQ&KW")f:nrPXSk3%B(.KYZZm=1bB42Pu
|
||||
GHdc[)b)H-&>c&*`eM*E\GUNI#2LJn@#L.g;*0r=6?j6,n0BHFDK7fJ^"B#9AD_C
|
||||
V9+<Ae[b(!]el3:!qcL]p:'Muh+gO`l2f,.OBS^ECQGL")km0@@@%<^Jd4aY+b<?
|
||||
e$Mg-C(>A5aa5o\`R-''TH&sm&H%B0tEgmLCc%"H_>C<r".:Qe3&\:X':Ab[SpQa
|
||||
.aF*1&?HACN;kXT##4O&7MIGoTZc.>1qbk]tCCaZ"8g3H/4L+ZVLpdSufo[#pt+U
|
||||
3$r_3"[Qa,rh]P9_LEM/s-KO;"1<MgqNIp'ul_md2S(Z8@7/F6@P\(5OQBl2;jBq
|
||||
6KHQ-'"^T7N%FZG23\Jop`^>`/pJ#;+i1HHYtBA&5Musm+/*QMaEs\%--_BEFC"H
|
||||
!fUg$;msL4"C3U\ebJA!/4,nKj7ea-)1M6ihEU.(Np+Y$dB&Jfq"QkAX8L,5Z1!3
|
||||
USJ\`$O_)@OJ9XuE@\[u8'PTe<A6=DG9=G\eUO3)^e4iu!4/s,k+8Z\)VAt;dK,E
|
||||
`]o?8ZN!94NgA.T#hk68Ip*M:q5Q[baU.F-)-]2C.dQ"EG_fGTL\Rdb"2)mF\ki3
|
||||
"fT_?tuI@Q+<pR/I_jN:&]`]+q_`*C9fGq$b!^;<t'7_Z)#EPT1kB;q[)PMj8C:k
|
||||
E\B<o)nX0oCJGG2f^H?$UX2c?kCtE)B]*X[#Md7cB:[!sgP@D%Ig/o?RSWP^=?e(
|
||||
<pH\+3CV(rN#d1#ZM3k/"/cA=]ON05E0dpha5k]6:D"SdLZ\15nn4V8:1C&Pr!HS
|
||||
-;`A9nA7%(>S9'+b9C)gr27s<3*0d>]5mO1p=IE+5sdX.0-h@^mh1]A=E\Ui^]:'
|
||||
`?ZW@a'sCX=m`^Bf?Ib7O[R8jZ](?-o:T:_T`4jc(?mbed1>#m`lXMiV<m"C#!hB
|
||||
o#F<MGq9oQ.k^[:F%?B!m=(sKV`75O_$\r2e-hn4dIK>J']+>'C7'&6GYR<",>h@
|
||||
85qo8.NF<0!?&N*LhPb_k(t8#gdp.S@'Gl7B[9Ob\=e"A5'fD=1:?.0i?RM1i?RE
|
||||
YiM5A,i1o<Wi?Of\5O_PA;=fnKM"sTLr<8hY4q\Jm`4:[_3I]BKa@lO5,:2[_3o1
|
||||
/`r$^S&(T6p4?fl2Y_7T*,4WV"I(;HYB8*W9Q5#OR"03u:"o6[c,Pohk!5Cj,5(P
|
||||
rpd^Ut>sKb!gc#h`:1/cPeh0$<^BrrCVA6BL%&,AN:fHt7&o^m+$T+!hKYgDdHe"
|
||||
r#WQ8j6uR8fPO`ZQGu8fC&nF;XB)OHYD++$i^4T?+YI"n;u?&8#9ia,PmLST4&iA
|
||||
g&MN`!<<0$!rr<$&CeQ#+Ar[T@u:Q-J/n=8k0OD[EmHQU7m,-m1pcr5ZINNKaV;;
|
||||
//_Jm0-EpFsFt.gch&OkB%&a9)+MF#@,E)U8L7IhCrrB8A)hY'C>b:SF$]6sk\,Z
|
||||
m]2&_A4mlXAP1RD8TQY&g63j!!,I%`n?#l1.>X,?L^/A[3@:_[2/[86?'#9iSP,b
|
||||
:gUCcq9?A\Qnp3H$=m9aKBWalR?Jk7m:+@h/41Jg%:Ko@R-)NS?W93ZI.[6M<pRB
|
||||
p:-cDWtATiFN4?B_gCj=L!+oepSG[I@f#1_NIGMDr<$3336!c2;ht(O[23+F16]-
|
||||
[e"=LgB/.W](#uC^'cAL@:1)P)p@I'iuT]=<A4YENU(M@*"-A]"6mBVD6Uep0!;Y
|
||||
3:H??LL!Sm[QC<j.<ammk33;(/+rBbZA-sljGL)knrSR!Z+GPR/XAEEhUoUYcYQk
|
||||
RHFVdMq/S0+O^]&ZEBi'Tq?;XCN4.laKVNaD%Qcm2D.I8MXrrD^]rqfan!3:uU4+
|
||||
_to&fS$-&.bcf>q=WZYnalWhre#bNUUj3,F=hV0pJc/O]/Ntl&h9Qb_mMlhqh)*#
|
||||
N+_2b,R9jFFfOkN-OZbeO*$PKMfG6'-L.-:s8-2#C>">>%u?TdsX%A?[C2K:DlrT
|
||||
CnZePi\,gGW'd,8O!Ab!r&!RgqpaJABgOQ+k#O$>$kB8$JQTY0m+t\>FRs[`j3B>
|
||||
D5W$Ma+]uID_d38noQZFX\2"%Xo8#Tj7W?fb0Z+=V<>YU6LQr<7QL[U,mlt.kpW$
|
||||
O"qpPZZ`uJ&pE^@m-bdK1RbZcIP"oJ7a$XODtA8aF]S?Z,.EEsq.ol@"EGKM:m2N
|
||||
q1*o`SXMId$kQ1!^/d//L&LA"-qcUW<@Q_<1O0Vq5<mrr>/m8gP<[aj7,+S2@==f
|
||||
S\llF6r^XXTLCL&SAf!&2d'+PSOo#WA4W&QD_RjGl)',h!;=6:iYaW[$;%iZltH2
|
||||
4F(\V5"(-so8\a!jW=t[YX/>`ST6#6`NnhsAgQouqr^\fe%]3_;%m])2Nn;p@$Zi
|
||||
_lj+"AO\i.Jb<5Ip]Y35lb';<:(n!U.A&FHZXB.8GI-LH,T!nPQl^1QY9]KJ:KYd
|
||||
cL)Z46OTsX&pYu,,m+A[5@W_DW=VsC<=dY/s.=ger3jeoOXRl.h;M$M)fs24ma&H
|
||||
Dn5!WiE)!WiH)z!!!$3+YaNN0L8QE5k&d`:iMPjs4RGY!<W?'57luII!$/='bn;Y
|
||||
Pnb#K'bqGu'bqGu'bqI5QYn9,Mh]/ZFD`QOU>oW/<C:b,-#S/e7OMb'mLggO*-c'
|
||||
-7[A"/"6'di!/2=\L\<!sJYF:+7ZE>EP$0#T5+s7+\V(M[";!j2&J5TeY3fSj,U6
|
||||
-#p:o,6kFS$!'W^`WV+,=Z1XQ=l)MAlL6prYe_E98i=Em2$4eksFW5Hcu/[V`0D(
|
||||
%71X7(nfrI<_BS6</S)iBIk_5Du7_8X,hrr@Mk2C*Tt9CQSj1;rN*0Xu!M-9.Ci6
|
||||
*!I'dJQhmZ+%m1rV7@-As%<3dNoUs;rHW\@X`rNR<UQ!pe#C(`-%3WX;:C)1-E,u
|
||||
EH*s1KUbKR9G#Ws@RdlK@;PcaUReA9%A<9FSQ=E<?po9h7cA^%7#OF?(kYP/.XV_
|
||||
QA(DLh2g]sc<O_GCQ90L.Zlt$WRY5_6KH!)L-WKXr<)Z6BF\:Fo65-]-6mK-"Z@o
|
||||
rF9fpn;_A.[(_0E0A>L/U5:7L?c[+Oi"C!jZ`Q/Ft?KI7IA7ar%.A8Z3kIfsR0C!
|
||||
,G%+tkX@+Zgu?]]e+saLOJ>JY6o-g$b;'Q^B'iL\=Mr6[,=R/'DXCB[GM^*oecu]
|
||||
H\W;4Um$\n&79>7`7TKHbcp^&Ag(P(<3Hb'[%c]U6^Q1c=]Y"!YI%fNZ(>RU](\g
|
||||
`shLF)Yug-q+6DX,Nr_5]M;o/<$EDq.tnQLV;Z:u=#b&5-#:(h>O$uMR9J8SM9Yf
|
||||
.+\'kB0o9BEOKZJ+fb'GsnrM\`N+d(@^=/M+U)q=C@?X,b1e5A5(3!ApC9f*n$!`
|
||||
@]5@p_G*]1i/&#JSc(Q6/iEL3AUHk5RXZq'J:OYk0SBN];!7U?[=+^W0kfU&ocL=
|
||||
-`'91/](GL:Y6p(R-QZ757!dYa6Ga-,@URPISZ@XeS1grBbaPWCJ66\q?=8BYqgr
|
||||
rC`eZ>5Dj\.Z_2nBQIY`d^2lJ+b1HgfnF&&BN$@(H&#uW,DU\s24mb&HDn5!W`E*
|
||||
!WiH)z!!!$3&2>=N5uD&En3E+UJ[*&MdJqo##QXu-!C%.!"aDQ6?4-1'K"MiVY6B
|
||||
/$_-RK<=+\(#m!916krf9MocBmXHB1AV4_LmgdHbGHoH&Y7HB1qe4XZo8'LkP]7R
|
||||
fjJ$7Lk,f9$bcTcsdL65"*dNX&^s8>X0HTS+Y##UD_G*#4NH%O2Z;+KH?t6&ZB*6
|
||||
5$PY(,*i82K4E=-7MHK/2gCj:=34BTej5)4p[0&gmT0^('ImPBPo(7F`N?sbCZN6
|
||||
EcFM;%M;EsCU$6W4eZbLE/Ith-"oZMQe4]j=JJ`h1l-sDR21^"dMbJ>#_](.0t]%
|
||||
rFuYq[-,^b4BXsrgZ4NCT6Am0F^8-K]i?=H=YE__#9I_M;L=.$P*@;>N`@`9pOO4
|
||||
OMF$:F,";2n%&CAd=;0.C-Bd'Ro"d<Q>66h*B7I)*icn'!<-8%d165;%(%H`r'IN
|
||||
-KY]Mb'f6Hkc9'd;M6]aO!i=8iD@IeP'8CG;-#Jj^R9Mnq'NQD#VMaRD]N4q6M2c
|
||||
&qLl*be*j^@G!+i]%mf=I0/q8')5J2k>sm<(4]E2MB)3GeOo>NMLf=7EP;L-:i)\
|
||||
0./r';0lLm((1Qb@Tk!_[YSM(EKo=9U?"aMI#Xu-1MeJLKJ`3)2Nc'^U7@%.,nsI
|
||||
!.`Bh1HKf+I.A4b]$F[mU`EHD^?[RZm1S7#,?:n)K0d97+)sO7)%SfFZ6+F/S)Bu
|
||||
(,"J+44Zk;*'0)%TPXVD;:S*Lk22_jo0#_F9F`.S]CZI1'VRZ(*=htT6\n90G5?i
|
||||
(E*-JU.S`i0DI3[DSM53td!&RR2O^ATY.Qbh!:(ua*[0eAf7$@<GY#k(2?BbsB?V
|
||||
-<cZiU>/S0*5DnC5/L-TrVfYj%d)['tgdTiZup!$`,i?I#(D6]M#DLV?jM<;3kq+
|
||||
8]5UjED'ubdt'*^-_,--I(u?k$.@D`$I3fFhkIaipO1r>@+PdK]?ocq%:4eb]8j<
|
||||
u^(lkR^i5bjZM7A3.rMj8N&DM]ZQ(.(NF`2iO-202#AC*o3W'l(YH%6?W3DY(L)r
|
||||
6ik]aPj>9U'X>7r5gL>N]T'\.lE^Lri.2,!%qLt>R)57u8c'_Hl+9'JdP_(1hs"a
|
||||
M%EAL"^Wj7X-Lc$K2_.(ULVggRf3B$lZ1>KD/"7A14e2lt]tKY39gl+[H`\ZD4Z6
|
||||
ZScR-D_1>3u3$VHH!_$6G(JMnDQ*/6Y-l"61)54gDaET9<"CSL<u:+pfBlqnPVA+
|
||||
Q$:<48h\"L_4g+h)KgP9YkZI$>Y^`,58[kmAG,`Gm"MSJ36Q<CBO'P=V+C*]jeOf
|
||||
J]RS>V6p'TkH4u9_rrAh.^FV>5>]B4%?7BKGr]*tY<E3%E\ft9,3tOtCV^0kOs24
|
||||
mc&-2b4!W`B*"T\W)!<<*"!!*'3+Yc8[@;uj0OeK%rdI?,b+>EiL!!iT+!!,:q.8
|
||||
%]ZWW`LjK`T6%)U28.1]'D\rm11#Zi&/9rr=kP5Ks,Qo09SZcg:Z31]'D\rm11#Z
|
||||
i&/9rr=kP5Ks,Qo09SZcg:Z31]'D\rm11#Zi&/9rr=kP5Ks,Qo09SZcg:Z31]'D\
|
||||
rm11#Zi&/9rr=kP5Ks,Qo09SZcg:Z31]'D\rm11#Zi%tIPT<fr7kSPeLNlqS=94_
|
||||
7U2^L=#TOfl$uBg_%)b-l>@k*?TNFmW!MCiJ>dB(2>LQ\HOHI2LTEVZ>en0DEq4H
|
||||
@>BD-hCrL`5%BDJ1Qrb(qSRJic?IqSSLg&>XXJ!p8-k'q%>T@s3Vp4&M/TB:W9q4
|
||||
H@>BD-hCrL`5%BDJ1Qrb(qSRJic?IqSSLg&>XXJ!p8-k'q%>T@s3Vp4&M/TB:W9q
|
||||
4H@>BD-hB'Osd>_Ad$eeY'EAKJI+290o4-D&c2<Q;!:LL^#oUm`tec#hnT_rr=`\
|
||||
dGr9.*^4hprlF&n7L"ekB[NSENZ7uuOEfa%7OGeq%>`KjXR"nEPT\'mg5dK[=C2a
|
||||
Z)oX/n.Ze(K_bJQ%3dOt,mQ$Y$m(`W/'+Q6A[?k#(cHb+M]Fprb<(efiebB(D`Pm
|
||||
lUEBX/<M@_2PVs-8;I4%`,1cI%ZTu6R;O0;KkmP^o[fDZ#9*?9,+DBO?nM^&!WE1
|
||||
Z(:hk]S!W&k9SPVah2;cYn6$u`.ErH36%-.:qZ1J_h'5a3r-O];J#LGo@VGaE/sO
|
||||
)2VW+?,FgnFISc]O7I44i&8[C:+ElWmeP>RgQJ#*A83L?)q4@^D0OdRlE1,@+W&s
|
||||
$^ONpXAgYT-r\N"Bs/0JG?Zg0.J!]`*@3*mop&r68#`hS1S?\(ZsGN)88k93\9a>
|
||||
OV"Z,90)$g)./^C:I-)]mL.f,PR,(E?UFrrVMo(/(S(mC.q\+6h$EqZm8gH;E.J\
|
||||
b@J[&dGQ>0<lZ[l]Gh@3):QrNKV`h:PNRlDqsN3WEa6Blj0ls\]`c$9SIHLFCqQ[
|
||||
"Mq847=$Y7[%j#h#!+0@6f<:hEOSeNaSK@X@l4RVj;U/`maYN2J5);&Y$g@gbP11
|
||||
:WA@A5p\Obd&HEb5c5JD"QIK%F,T@[fPJg*FPS#)fJJ)%'OFR;m@#$'&C_GRpCEX
|
||||
K*JL9\ALu_'9ZTdd7SR?I7]N:g5$QF>s_EIBGJ9b=I&7`Bt1ZC#_:mW11#,6b-/t
|
||||
.Fg<ib%A-d/UPl#u;=p2/%TRAnUAITI>-,7DI"VMTWg:hVb/t.(?%HLPXAHp34#q
|
||||
]N;k,6k`/>Ha2HoNJ@dX&9n!H<pJJtueW7>Z$d[Xl[A[de'<FI^5']hp^A[qo+E`
|
||||
&S.5_)1ql!:]tMPMgCMC&4'/H?A69oY.p0$nW3G%^*_'%!9j/SuJLQUM@=5);f`0
|
||||
1]<%*eA.+JT3/S?D>qRASVso440Zm,7;JCKP<80h%@b(ja;B1Sn4HfWrX[W+AS0?
|
||||
NPT3OI[SSDP#*!e:gIM]#D^_QJH?Ih)OQ7%on>mWM\okpMO:po@g`&A/cm@SD\0H
|
||||
U]I<u]QlViQ]OEGU9Ms(LG>V==`/TSa,Ft\O^l(7>Ga:8'H'FBl<NX6AbV7.:V?m
|
||||
#R\;Q/CJ1.-B=Ad^@]RG8\K##S[5GC+c=qQBbj%a)7\DnNC>ZelYM1N02CRuWgV4
|
||||
7[!13)6]1@^(cR9omnLg=;DM+NT&R-tS;>BXTE2:@CeK']G0FobYRf]!sH>GGGq0
|
||||
J4Y<PYF6EAYjK#AV^>B]IMMBh\*`$+fLnUbfcB:4(NFmZo=^]iJ(t\:Xh/7#7qg7
|
||||
q1X#0DR'jL4gjE30o[eTD]AO@EE4>d7cf[YiIeSs_6Cq&'5XmD[#!PTkW$Ke\=oj
|
||||
]A!C1LE"n.bWLjfXj$k@uL&44cTKm-'3fAqbO8f3=8aMb!b*Rpn)t\2*Pe2GV=F;
|
||||
iAI[`IZ&=9o--P,7aE!L_P?i5GYMFR19l2j,X7peL_(+mGCebt>5_6kj**[NStFE
|
||||
Qmda+W+9.U_hsW=buEWUhNjAK>796MZ0o+MKWC2[bZAqne(/#tgpRJrOp%W,"Gn1
|
||||
Z.R1"=n\BX;F^IL09C!.eadq-2<luEf``rC2&u@":E/<Q?iO+O[;os%F%NbJZM6Y
|
||||
guq.<aEipj8-B2`9g&Zu#S8C9?6D/[U5o[:SM(hJ:'W,"3.Y$TPos(N?\kRe^iJp
|
||||
2YUpn"?MPG5%GGKtW9FK8*1ObC@R\jd!/)MjZhT2RO3j+K\itp,^Yhd[+37(p+0^
|
||||
_ZF+80J@\[PJOLF_.aK7ldIH>1Ng%U@b`j7A%"jYtc@m8sQT1!``bkj*B)iW]1NC
|
||||
d[uB%*Oo)JW<n7VaqXTiPS@B8B?)p6CLYV=41e@UYeDjT_ski\PNr'duJ4:^AE`E
|
||||
m9:V))g;oJs]X\R^W)S`WpC7=.UhaYDB4[H7PN4`?1iBJP0cS:TV,N=K`](lL-MH
|
||||
<g>KXFCQi\31MGGa[.GTMmb(N/)27`K./L#.4cbfpREoi;?`dmXD'd^;'H_;Aa7*
|
||||
r9+oGoEYU@<_Q^\2&#.(kNbbe*!/3`>2IB_O,1r$j*35p\?n[rJ!0AMa=GP<I<9>
|
||||
'WnLY3F>Y9NiNqu5VgE#q1^g!*dkqQ1"*Kd9Kmr9P</EE%XVYZJX;=[>De)jk(T/
|
||||
,@#0VMsAG-0Q'kWiI:Z'V0[k&Af33)4APYY;e%au$fn"DRHW&Z+n`dUIQb>l^cW&
|
||||
?JAI(]"coE&D[g"!)'2_HfbFAKujE"*oD@4Ju0@K)=[CbBd"Orb`(BS#@?&@7DAN
|
||||
.jK53[D(\#/mhjc&W3UY(=jkK-kBpHP7S>+&u"V[*[bdL"p^iH<a$40>+.mi=qp*
|
||||
,Kb<O,kV6U,(]_`/(n!'1,Ra8R^485.$pk!qPZFVA7aPm+[0%2TJNP+r_@L03)g)
|
||||
Bd;B@P(C)4&,\XF.-J-KN2/_MVI&.q[H#4;X\<X2ku#[)uO".;MSSA)N*:k^3lUO
|
||||
k#\\/<=._=Y72(s%T0'U>ZK5]ncF`#E\(IA&ZL"$.%3F-FuCkM@T:DDl)=2GBL&4
|
||||
3nd["MubNd"ha+W)L+HP57Hj%E'Kd(DOgB$il(g8CnL2#XM3d:hj@2_CW4Y#GE*)
|
||||
68=:cCXGE[e6]kO9/0Z#I?:/4HEcLu[2C2f5%1X9'/5^*)oBU0&l]<.PeqM-A]kQ
|
||||
pgPEF1,cIP)+U8XdLrc+_,SDT#OU^GUWSe?RoRNH(U)"aUb*3;H@r1s-!4\RGi.r
|
||||
\_M-XW,M!bE;!ht?@W"g_F6tS/./W(a>6#Ipp1.=5lG`B*?$"QD#%]J3K/E8Ds?H
|
||||
U-q\.%W=jqS*_-8FtT==#2j!XUZ&/FHCK*?YYUe+XDKS.<rFao\CP_?m1##\GJ]'
|
||||
"n_d"@Tl#Wo\f[=%R%G#FN:X.PBmuQ<.>6U]1<#i]`ij,u,\%7<r@:]jOnSNKV<p
|
||||
Sl+]E<<+`W^/:@?a(H9?d$6p?!b\I`R%6c(GkFBbkA4*jR5GBa-WAQO-1P;a#,cJ
|
||||
uNJVW=&E4",aop2oLM;c[``Q<da%-jJTkQ2tJ];946`O8sJ$T`*desO=kf%04/i:
|
||||
`U)(O#F_*+ZCKNY<bd$_^PPfQ0NP['<ROo_F,p9?W6&4\,Sn'XS;Ob9SQ<D!Np%@
|
||||
5;lQkG$M*5T2&C*V)3X>?BcFWWDY24.qT_B!4n675mK,8*]*6`l4'R4!\Y>sNHZ-
|
||||
U<Qj[fKX"i.kM:2)<)O?Uu2>TrE5elTCj#EUJW-=LEt07!?a7MEu?:Zid!?E>4FM
|
||||
V)Yb2p(A)mU7B3$&;V!U-Y\O9NAWKeQ:C.&KZf<IFG4!cJ?V)SETjnqT[^gZ[KdB
|
||||
X=Y2mS1Ic"fZB8FcP++t;Qgft]:!AJ;Fj.T-+k8&bl;W[ii1;-s249(pji/n]c7O
|
||||
_8!8!smDa'B3MpT\\9$X7J)earrZAkrZU*4Y1Jp<UGL]`]'4Wtpp#[obKSO$elMl
|
||||
;8\&KNPLVP*6=R3G;('So.s!(:QO75LtoL`;ld;JD$WdNSn*PhQh[&dat-U*b^`:
|
||||
i7pXjuj8mg_iVJ4VH;296_aAR?lbP[F`iiYZsYZ2[&FO]X7e&]aQso[[o/aDc3,N
|
||||
$jT@%]brH,Fd+4J/<k&$)'W!\3tg5%:n*oA+pm!@[PHVk!^aSt3^dQ3#3Bes]h2L
|
||||
:I*50*L`9_3Ls,i^(+d";4hqRsL4(Lt5S5<cqTQ7+1?HYr/&YZ?$:<)a^o_d2rr>
|
||||
:=7K05+Io"i=jEZC/'j@18BQh7+7FF5U0@s&@6Z]N#F"g?9\V=:=.W5fK"Mk53$'
|
||||
UcckYQkUK:::YlfdVGU>4$m1<cCI.):-C2VS5]/]XU)kpncF$R5c-;^aQI3$ga5f
|
||||
_@o8!3uEeJ'7R>r\*%=rZAX\^*!:J_)t[*GP!?`N'`\kQl`K7iAlEf":EX<oLkd)
|
||||
QC$g2A\3bYi*[$BKGR5;29_doU`dnb5OOjpq1AG<7=WE$q]Pn=W`Aqn4FE8eh'tW
|
||||
GG^`6a!.#D37.a+h+`,Y8&UMBaQC+-I!buUP._TTmQ&0o6DdlQ"Aar[Y.c.MO-$g
|
||||
Yb<6(mk_\GMeaV`/"!!u\%FG<rR4URnm6+V^*2KeZ%OH$"C1?s"U$K_>QSWR6_"#
|
||||
?5k`%Ak]!(AT4aJRjK!nYAGq8aHKOZ\%;h3j6Xp[Q"38KDn.T7Qk4M>j<#c:)mF+
|
||||
j][&)YfDE5smqD@`fuOU?=ihop96B['5DH>4F\B>pTX<7,/'t^4`?G&r8pT!#HX/
|
||||
Vp"fuR.RRc42mmZ;hLM;KD(hO5usme]YGpHJd[>"`$6rf`t`2@GDIIVVB+ZSg`lK
|
||||
N>f=1/id=XVWs8GBJ9c_5$Kj-,,<aZk7>]G(_")p3%E\rGU+e4Q?3k@NJdol<'?&
|
||||
*H4rF4A)icm%gUV5,@$`QC98^Cc^T;^]rcs80bPOWM(FnD:PS3pEGUJnb-8&H`>N
|
||||
0XZ?!649V/+QD,O'3$Zc!DBWWH!K6`i(&RH=SdQ6a#+OJ6*,Z+$.VN8R1X&.er3?
|
||||
:91iVD*Vj"Ap1JQ#Kfu$!4'8*Hs("i<%/DAg^/fODltHN.>7dQLW].+Ef&f@S=$1
|
||||
(!`lfLa18m#:<eL=\[pn^KHn"3kgo*QI\2JcOuh!pW'!6E-2%7l(ZI9)1pJn^0kL
|
||||
Xe>n@_T@ok+In5)-:ts3/Ui_@V\]n(E/:e7\"DsV9?Tuor]1ZFd*l8Hko/A*HP\M
|
||||
Yq?Y"&[c(QQ@#-)JT;9SWi)Q?0D(Y0BGU`Y1boHt,XWFIo<36Vn+SXB%7&qiplU0
|
||||
G%"GFh%/Y^g(M.9I)L(b5>'Phf_DeNc_NKX+V#X@l)^e3r.QQI$=j5,F79Yr=D7U
|
||||
IFBlZf544XDHPkNNVg>O:nJCe*.D@TD3!\e**M0TK9C>p6tfDURiXm,1T*BbRj0!
|
||||
nalW6XXH%`bbKt*TU'V]SRNdQ!$_3)H1V,!=9V,kJurU_5/4R`f)Au!L.1g[%g5b
|
||||
R6,[]c[h.>'8.Lt9G^;'3l70W^Q5-;aO-fAUR0R<<0=MMT[FJNYJE@,PAL9s`.@:
|
||||
,H'@3g)<Z%SSH],Y:V_RZ4ShW5)!67l>QT8^0nX=R3&.Y%,PuIo*,'dKsO#`$0]Y
|
||||
k5^`'rfog`rj&nik8c't[??0h.hV4A6sH7nML%Ekq7]QZQ!d(S&WmO$om"7N<^\U
|
||||
)moP@ThjG?ZN@^#86l.jp]JN.FA5XJe7.+;_0ttWGJYIKbB!V0["?k3R"NI`)^G)
|
||||
K5A8`*)^[//A.]fZWtdsUk$.;S/'I1P(OrJcmThA,B:^<ET]N>n(Lo,qK)Z:LV1B
|
||||
&Md8Z2hrud"*AE&pSN'22qfeB[4-u=CM.RR9;VX_1q1+\V:neigrL(Mlgp+#!RGo
|
||||
gC7Kq395ir<=%[/jR@$_VHbILgG73K;l<`!Ng&4FaL79m_@=bKP&Z^9Al_Cqlb>d
|
||||
FG^cSI[Y8ZpM3M3^+QBU1Ik[a1L<j:;FKmjoQ&B8CZGdqi'eEf)Ge"K02@o*"0n\
|
||||
QsVuBcArcrI=K\r@/Gu)E9&)\=GjO3R.>i7\C1!R=Imd2Tl+_Ya6M/9HrON<K?YW
|
||||
7%kR9%YUhafn-k9n`C2p$!9Q?pE6[p$RJ&$```P1UngJBpDM(,9:Z<iObCd'Br["
|
||||
+k^X;&P\=q]L,Rl*[M#mY%%2Dbec#iNm=l]V^aP7\b"H'ZV0rHaj"YDh0GJhKk&:
|
||||
F":RBsp=>r]dhKmb/)Qe<e/A,Fj/$/7CXMagReX#5T/bY,rSp]`qCJb?b&DkXB5I
|
||||
eaL:N&nE]uSJ_*"pU;*B!F>_m(BZAiR^jclfc^`^;Zi;73,T-Vj,eSC!@$LCZsFe
|
||||
ot1K02@j%GF4FGPAi&XC6+b32KiscH/-E"/ie%`-$/r>Y_6u:%$u\HLa@\^2aPr*
|
||||
r5c$??WJYi!I9:TPkTu,h'dK77cK0BE!V:qM+b9\YY-+p_'KO'W#?#?J1H1OG_m`
|
||||
b!D"f7C4TOi;XRA;'!nN[65RI$i"9tI[9t_a]]9"l$)mV5$QX;LQqfd^?YhQsg-.
|
||||
V&1fgm(Fc1gMY*ite>3iAd_nC3bWEu-,i.k<e<e#]I8p_J:]4r't@!60_WF\di#Q
|
||||
r[pH$mLIb^N6`TmdW:d;E<`BQ\H=6]^V%41bsZ=a]cjW6^in!X<68GM/3.&N[nq#
|
||||
.]F;'I=aA"KrHicms*2P2$X2-&uCT.7#Zqkl\;kr?)hp)19DYLsBBK,N+,pEkrS9
|
||||
go*@BSn#20C?UBtR1l!DU$/2<F+4'O@Du$c-uD8mr\Y#2cqm?_F%kcHQj2"i,aH\
|
||||
er62SgTI?R23fO<A#2YIA!4sKBSNRr.ZpC1kiY?tbY$$!\lEIg:1e9O7LhTVYO-u
|
||||
#T@b`09a&TY<16he=6#`c(<;Qf;WB6%-rP4PUZk'Dq"\YQh!)^Uuj^Zc,Z!rm`&6
|
||||
SkGUJiC1/SDC&$8.QjS9mHJq@ms#,M(!sQe"<^n4Qh6%]$Zi77C?Q)FBtj#iZ@$V
|
||||
/.**#h-n&g$Jbc#d+JJLWg(Vd8`*q+72_F"1pc/G'C3DpC0B48k\Cui%UZ7oc;<g
|
||||
IhZ3UNXp'kIO3mHckuDFYEF?Ae1Vb`S^(Jiir(io5Y-d.9es%u0\W;cZFdoT/MmV
|
||||
]T!!:k<E*abBN[cKWhA,-3VW<<HbH,S!>F2_LpunL6D0d5'qX_DgNAGN9M8Y.^Te
|
||||
BGUPAbR8'7['q/Ir^>3>Sg'#<b81PED&&s8Ea"13<'rje=G\=h>gkYIKd/-A_!/h
|
||||
ln2bb.e-Te`*q3sa!S@+L2$5^f<95SCpaJl^"DKG\=B05\U=%0WM_U?1B>;V7Gh(
|
||||
^mskh_572=:(=0ccj3f6`OOPHBmC9b(du:JCM>/TD6/fE)9gD^;MQ,ATXc;hK@O9
|
||||
2FcsmN)17&2U#mBXaV:%(ilDk8%]CqCg10SH9t[$bZKMRWG8#V6rS>9YR=2lKHcY
|
||||
]9`/3\nLt"6%pTb$,<?kDHO_6-(t)OVdQZ'#0ROJ!VHq/s@b?h/(>?^a1?,r>^2<
|
||||
rSLcLl<=j>:Zb5$OIOLRW4X@2%a"rOB/em_:7SVCnpNk:>6;e#)AQfM^(3dN9R*g
|
||||
H`8=&2/mR:XEj;jL7"'kK.jb32*mb5a-&ZGtN%1BA5'0hMi<bc+u4Q0?BJr\)eJ!
|
||||
cN__)nmdKUi]nIbC4\kH\"0rYY=3:Q4\Y_1^)[-"D6t2aj]*F")JmP=^KjLngdpk
|
||||
)uBM9AGhQD's(U!?K>&FEeXVAYH5g>md.H,:J=^H0C)]OQh;&"=6&D%\u2"+jc1%
|
||||
!J%EYu@k3Jg0/6cX7ch94(;`8?X)eh8Am-Z/:sc>\i+9SME`!!!%kk7&]WCdd8q]
|
||||
M\p\#is1oX*Th=\91PG295>;J(p=&sQrZ@Z@.MhuKRo',(sEnh=[AaS`=I4(B0]c
|
||||
"55!oJS\JfRqNQZp.t5q!6HoBY#ZU27!_.;7]-!r60gE#c\%_)?l2:#@0Ml['4h!
|
||||
:MHoF]O?AljLP=RS\3G(F6Rt&.Ddi/dBiia4##UChA^?A`L.#8#e!5gf^E>hotKi
|
||||
Q-Ed4a"L*(;TLf-G%2-K"ZR\@`aatXZcV3<bOq.ZEl247H:q^*omN7c.]'dM)jP`
|
||||
",1_RQ-<L\fR7hTL(jn_3Sd6%:_I/_#'([]+3:p%b'<o_cf\BOni&D<2Lr;5Nd:i
|
||||
B%JNsH*osemZl?WKS",TXs'4lB$f0C?YL.AKhg)a@MA`tgA!Tn8;iW2=;CTd=<i3
|
||||
I9,]"lbIBsU<^pB(+VdI;VHWms'rbPqQRRN3$UhIA!'@kY9<]aN[EGc1=kG8KCGF
|
||||
f<no"_nN^@Eh%e_</gs<X[\^_tApfJ+a49d4NS:i.k:)T/-:!i%#PNG*,hq.U>\Q
|
||||
9<^P&''0=%Ju(TPMI,ItE<\N<V+bkeb3Ki\oJSt19+kg'h$9eV!8pS,A`aY)OG)[
|
||||
WYbQF42)2]G6*]f1jdGpMoCSFC*]/qi!T3eNV7R60@TgM82P,5BbB&I7]R=C.e#!
|
||||
'E_GPa2p`cL=!M>4A(UO^XT<(GTkU7Yl>m^(k@i&r]etk!/L0MLc!Tihi3;JS1hB
|
||||
;<mTodSi0(=32ol@==Y@:E7CV1P0Hs@ZqnYq.Lj.ts,RYA&@q;5d]/4Rp]ojQL>;
|
||||
2hflZ@Z44[*5U_R,VJL?Bj6?r(?thKFDKXq7lhd9AgT`9RNI#">V%k&`TB:29a`\
|
||||
<Z"&;=&7&m6X#h`+<YXbnM\pYN[Eb@A);'R=VWXph82LLps6Q*<j*V2+%R,(%MJa
|
||||
ocO`!3m>&mI2.h"r.Dl-u3G#-:6>@<CaGsH62]4/aa'4oa+B3eFq.8T[#.]dC[`g
|
||||
Apq\#mRicMqKMbYnn2%c*g'jZ/TJS"S05Y&1L]*C'u]=3UMEdf,MBtbFTWP,iM9G
|
||||
3qM[WVP:?gW=#G0A,rNZSGZ*mS<sl8>lS<Z:4IM9'HE8e@V0Q.J3d4f(r-`U_:IP
|
||||
YNPQM11M^qG]Tl!HP,p^jo]B=D$p%3d6lK<0((#D`[2C"meQck*rBfD+!fScI3A1
|
||||
QaG)3a'$r1XhSP&L'eA$*boRhcmn^(l+*Y,rcdP$!ri7?e[@>iP@_&d.;Y)!)?F(
|
||||
r0ih7:>eaFG8lFFGk*BCo9Or9@O,/Ndn9od_*"JjBkt_B?@OnYH*mnlE72D-]N[d
|
||||
'XoS3%;e/Z]$&rTqmC++OT)$*k+m9c6G-.qf]qa(A6/),Q@i-Z`J8_qY1/l5Z_ba
|
||||
^`r@\gXlmN'tg1V-CTLZNrP7&uOn\WmN]>e+pJrH+D+!1M+?bF2Gf/VGPT'7g"50
|
||||
>,tFG%_hUe0W^dDcJ]Qm4@ApMm.<M7#_^gf='XC%[=R(p6K=5g@.Hq',4jNHb_ZP
|
||||
C#UUa6;1SX_$pAt?=u?q1V27=0<8E,FdGo/$<lL)5%[iLkQn_/bKn"l':UgC1=+9
|
||||
U5$c,n2j&%%'diU-7:,c!iIX$@1YNTP/\T=aY#a=j3Qu<5op>Z5&4ElfYT2%Veh;
|
||||
9M>:q$UmhQ\*g?!5EG)HM+hIX:a^*Y*Saf#KAhhb`ISDt:(l#('08U/7g1I4O1`;
|
||||
]gfrD32!e?O2X5iLrFTI,/%9ZimOXQ!*;J+.sIl<_.a4_o&1[fec9H=[*RX9R0t@
|
||||
#!e;Kcuhr;m@5'SmiPId!d8en'!4G6FREn4la&)W8$_4js>8!g%[9;(bK_%)!`%S
|
||||
)utQt1>]k,4msp7g]PJdQK$e9[:@B^jY!l,R?e1uZ]T#e-4jN3cNB2u,mj&N<:=%
|
||||
P&aTe#mE[1/=T_ff8+OS,=2i>J%IGjW?Lib$4eN^kh'NpRoXkdF%1Qc]eZZnDU`B
|
||||
&m$E)T_`LX.5Y7(,V/!_Im(PZDb/p<"QNnkM]'r"XQ&^'S_<`nXF]5l_h`$.;h93
|
||||
+gTe>O"VbeKVUe9FEOI4AV'Dq;\m<KTLM&sar&6dW:VBqrnHrrC":fo2"mkXX]W0
|
||||
B-9+4q&tGNL73P&rl^lF#s'*q.;b0o5.*#ds#Bd3;Q5nCItu2p4spaO1</0DqaO>
|
||||
A3c.AjaaUi/`XlrQ+!F-]C@aEf8l<YLF"V>WDr+j\'kpeK;.p"NCQsmeR(XJlKNt
|
||||
#Q1pSV^9RF!D8eQIiId$"p6hUp]q]'SnI]hO$>WC?Mfr*CN,i^r.,7b=$k,5%"c,
|
||||
5P!,Qk<(d[[I>MO*Yi4`g2p0K$KG>Yr945pQhVpUkNC;"cW0hgnc5f?VYXJ[h4[(
|
||||
V49MR"ClR)"<gT+%]*SGrTNR?\&OZok[2I@rDF#)BfMk^-&li+@?Om_mc+B"%.aW
|
||||
.WeHd_6nfPNse0SX^?XW8_(L.R&OVY"/?O[7c&=O,bAs:<.Q2@WW+uIU?e[h^e.Q
|
||||
eLiRXG#:4:i4mKPg,K:"G>UF48:,0^OrQftEU:&JiItr1:oO21atT$F54]AA>otW
|
||||
*TR7]+\<`ie9E'_bm7.]hIZSW;4s_''R7P:r;[c=3"t*Jg`n<Kt]T`,H=OMFM/BX
|
||||
7HW7\[.(=N%E[bR;laq3BOQ!eIB6A6o7bg^'K-DKU63\\ZUpL;3Wmt(!gQ#1FS-n
|
||||
<<pmTRDBAJq*?m@k_@q(;uM[^#Sm.&[6+JYp;rrC;$4QM9MB.;%#]o-l0]&@dma:
|
||||
O/MY=,()\jfe:%il\GTk$5YnoYY5'7(<:CbP@\ufLI^f102ihqQSbt3L8[_M\Mg>
|
||||
Z.iR>+';@id$I:ragN4bh8@$@m1ScH(J]DXYtENX1&C<Ef5e)pnObuI.qglNcg"Y
|
||||
l>!g`oK6Oh8OnoZ<f_nog.X.k`0-kDk>/BXu*#tqObLWO%.,rR=fX&@0nm\V_G23
|
||||
"lQl;R_ZblmGDg@VgdOo3[_OXqc`+Z>f4I2@P`f3]p>bqlB&re7C.Q)TWSH694C`
|
||||
`(ZLfZoOC96#r>'CcJRj%9Li%@Nc?bE/!K?*`C'L:?l/-<;T$b:7C.-rFY:^CO1Z
|
||||
ejWU"g^_r$loY?lp*Sk$22jujM(`kL5\<^99rZ!gA8cJWn"WL(0!-FEsJO6oWLp[
|
||||
rV@5$43M*r=&:A]l(W;B5SKRQ5i%KXY579`W/.^XGR;]kh99pmI*iV$fGF47rcEF
|
||||
hIUQY]C4PVY>rohC-kl(b+1YJZl65QjM'kulmRn&F]4/8aUFj"T1dl<f[2raf60M
|
||||
RQ_m=9t.@]-H56pU9NN]Psnkq.!IktG-6XO-<"\lUTa!Tn1`H\>Q=0r=81$2mu*[
|
||||
+:9Hc;ui5C$sspmZ(`n,]uSnPRBl2H"WOd'&,$J6hcHJ^F*:KYTXShM%=NVN1Si*
|
||||
*-<A)25+YqL_cJ%X@;@0WBh4-=s24k2LulC$5't!lj=MEq>)T'JDntAFC>:ap8dJ
|
||||
rrD+3-MP0n8%q__;$")2ZGOLVfeIN_'oTF0n%9\')n5DAa9bpt>^tbpq?No2i-Pm
|
||||
-8O:sEYYoaK%3uE#]kE/V]L+=XccF<*HX](Boo<$91B@/<E<QPr@/_9^'AO+@*&5
|
||||
);fIHf,2:It6G/96hbQI.lc@2u)eb?gUWEe'9Z1OPfX&(eh`a<SfSQ\Hc_IIDjlc
|
||||
^;_pJoi)>+t`'o>-7#Za:e\BG0N:p*T"+N=ZL%ZR8N]qp\I)qn^hq(GnBkccjA^@
|
||||
J>f,53ukE@pHpW_oi6A:?^L(.>T+:3K43VdaF;kZ#Xcf&1gb:?kS)h,77cm19<Cd
|
||||
LoW)s?Sc[T@$E[2p%q'K1uf9Bcn"!iF2e\GrkVe>g29(!,s\+sF74p8KoFiNJ;eY
|
||||
$AQ0WdVDV_'rr=/QWABi()/W8Eb#Z34R@/,6mM;WU%PEP&2o?NLQk"dq[cc@C=rj
|
||||
Z!g0^[KoXsq<B[q8R&>!*YVhAH.).uGoF..fp]NX87G7<kMap[8('\K$Y-^MeXrr
|
||||
?q8(Wt:J[!LGN=8[o`:']9BiC@U*UL/'s7fn<0NF9\Oi.Pm>?.e^^@i$<`J2cmVM
|
||||
@4*>\4kW<d!:pYgSNM2'mhQ/Vu2V07uPF+UQiJp264Yj0`s3o9KAS^K>0-%NtH%S
|
||||
*MV5$E,r*W!>AR[1@X?>`(LtP^rjS]W"d=d%8$egl..G$a)9;:&%&@1b&iL`2#X(
|
||||
beG[0_\socjWpT;DV75oLA;u?p'"3iEcbpBO7j*Hn;5KKmdk:b0=PYZY_0Xe`(\E
|
||||
rK==sg.pm$,1B;+huYukb]g0074N8-^.SDc?ne?:nM:mS[T=*XT@+M9A3a,J6rJ\
|
||||
tso5RC8Idf/c&(V%9DhGCT6)<t1UpKpW/I*Eg]'cVU!be([S1em8[oP]a^DDLhkg
|
||||
f(XApK_o#MY81);N%r-Jl:u&5WXl<1[PG/T.]A@].K$:>jb$7KrDI\:1/1R@dJ?=
|
||||
>DkHke^PVd*EdS-8nYUgnaR13^.pj8N>,*eahr8`C$2k2iI[K6pQ!Fh1<Z?TEnX-
|
||||
o=Ci/GPg-+laH3(j`5#c($&co3gP/Al3ea(m3![1X!Rgg38X/t$/?>khD2/U1)&W
|
||||
:eKbUu.ZMeUAen$@cD9E@u,D,CK)>>87l3ok1ju[HU>)3Nf\A.hhM_s+@:/kP8&?
|
||||
r`5SKD"V+iYp`h]UhT.TVfu3D?icAs(kq#7r44Vu=Qn<R&9L1d0sG5*,ctI"bXR.
|
||||
YEkB516#sF>N7q#7ZWEm`Ve[9HNtnXb23%QWH?1+;V=ZHJ%U8bh\H%a+u7p]+!E-
|
||||
P3"?-X%D%4NUU<3.;\Ls")8g_pX(T,lh(elkWrSC_uW5J$Y>D_<QCtaZ%b23]aV4
|
||||
_^?/?N\'$2hYIqIsbF:fcl5<<ER<L$i%Oe*j:?H^4]!DdR['8hg"qd1k)MZ,EYnu
|
||||
5Mn1#fJ6n!\8XMZMd$G]_eM*U5"!ET??8"lm,AmcB[`,P-6K`LkG5W;2%5FGJbm8
|
||||
Qa:Y=(,[3"+5H=PiN:F&e_E%bX9H?kUGI(MsrhJSpEG(K=D5&JPTLM-F@Ge\A'B>
|
||||
58EO)Zs/BbO4odG0FERP=.`S%T`O:bX%./g]pF$e@JeO'gq1XLmPCDRu-E/rkr*-
|
||||
\h@q4Y';S%1pMJME!YPXibf,\XSjI=<U]q+gTIes1sN_.Y=Z/?ZQ@eMe(oRf%bcm
|
||||
.F]s=EDUW("e]b&3*=qFp*q<8$Aa8Hh>^lM5(D'R->WDP3;N#RD7CUZQKo=<8Z@M
|
||||
Bqdm0J%Jdu1gEa.6(eLt^Q8&AV8pA2hS&]7TOWZR&TYl2Rn^F5$mn<d6,Tei1BFc
|
||||
I8bk`E?-\J7V`cnN=[M-W4TY9*C8>5cTLLgnqAj9bmHqoh`7Ei*<2=+ZUO[>\`)#
|
||||
=nlAXMkL@m_lUAdF':b6L"`90*.F(1;O&OW7O<eE)^V:8"<2(DQ8-5R/U.d!+eD<
|
||||
q"N",eS`i+QVfJ(hHHkN>gBdM15K?'_A]N>).?pA1Oa.r/\l@;:M`Z0hiW^uO=Mu
|
||||
kb.GWBfIDg8qLDs[V!I=\p4HF]qb5?u.4m<.cr'B:Dp#52ARohAJ:8[VF/G.4B=+
|
||||
bXh-lf)D+<X_S:p<,mTQ"<Y.pb8@h<K0dGrq]#TJ6%%n*;!*ln2GG464\`Y`-SUD
|
||||
qQ98>E7bOG5bjXAqPn3h00:<>3T\hYY9n41-UJ(C#ek$:W,Bdsho1eN:eONO'fI9
|
||||
eOTUWg"I7j)GqOpV`gro6>"J\^*Vt!GT9,VZ:f`Ki-UsJC,4b.cO=f=8=FRMi%h*
|
||||
]8)#GL_4P5?hjk,0&Mo89EQq_Xu(/"jS;NcQ^'5?6p,8he$$\^@qQ6>0G%9ffTmm
|
||||
[/]#:V<rKO[fR3$ukl[a&]foheI0&e5-Rl)[JoV1+T@CDG(J[X"Q8UUY_S4D!KJ]
|
||||
ZG/f'A?ret8n!Tj7mLo!72*[+Bqc"-m.)&*`"Xa?u9/?]Qc7!C6mf!-qDks>OWA#
|
||||
ksATpRG<_s&Xp*8Qo<?s#">ZnJ[(j;qFHKY#4:4[Uc7[Ck'te:)rD?h+9^N9'f#7
|
||||
Tj3^b]UG0hLm7PH!RE'`uY_CLk\J^<[O2!m5Y'^#%a,(D:jY_0=T0%]@=^'HP70n
|
||||
kf8Gi6#0`S,T%TMH2*8d.Dq!91DXBEFChcM63h2q9:)d`X1uk_*7q5+.j<UHg&U`
|
||||
"dKGDQY+Pf-pbrh+HTr+h@=83R-tGV\XTO<RGZT"=q_04b0)knae@4S.nMh2R!QV
|
||||
PoDR3RE5t\_+rr<pj`1s1n`)$Z\mYr@Z]&TU+2K;#<,L!U"dLl[E#!T7sD&hOX"a
|
||||
(_I3J,n<meT6Ma42ZQLboCqefnNpjgee#NSjp).,`Qt5=Ej'9.V]0(Ff]cZ%g<;<
|
||||
jX*/>Sn#s(EZ1:<,AhXd6b@;&6eJP@nP-0+gL7-5=7/sL2nk0A^h:T(]=&bC`N#G
|
||||
i4$LE5Ahh+^5i2q54LO2ea;rF,H/'g@ItV"b?iT[b[.@lR$J4hLo[7K[V)^1Y,n^
|
||||
/7'cJ_9>fkZ&Yk27eZR<oU"3T[PM.TECYi8eL_dl!!5NcFE$XHHDT<c8*eJRs#E\
|
||||
UcM9nWA0<@Nr/fnJZJsa,I=l?3/A8,@4/]EBVE#FJIGA`$a5#?/lB>d2Q\"`EbP]
|
||||
A^JFT?9JBEK=GG81si2>!5PV^`H;d!g5)/I10^`8EQF<.8C4"j94-M^mp!51!]!0
|
||||
\.GjN+kY.$^ls;RLc5b!.,L-Mh>@<Q![';..0=6OFs:u+nWuB42?;I+atsF%b<VG
|
||||
'(,bE)Eqd<>GV4o:G6TLO:V`^(cr!T%HH)sNQ];hifJQ_Ne@dZg&j@B`7UaHX+j=
|
||||
@<LS@`G:V<0AXPtua^K'PiW\RcF'%'T+QuphT]G6>>4iZSZ?s1T15j^6ehZd6;jK
|
||||
(-Dc+&8rL!0p3^r!!cJOPLmkbHYg;*:]2hBCUQ\$WY]'@GA06g^Em0]rd_%m&7#d
|
||||
7HR6k:`^1"%I"e\&[INB4?!^U1lD9V?;c@L,TOMAu8C(O1F?9gWY*7%bum@.]cgL
|
||||
6i93dFRb&Z67Uc/Qe^_W!R-q?ZZTnZ*hCeM-!AC9d])]]80[qY<'Fo#Q\idW<GFG
|
||||
^o;Drm3uEFmd]t$*R0gioS/KV^oI['?%>7P4Uc^BW#`99PtOu^f28WU]Heb[ec,W
|
||||
Za;3kFB@6pWqj`):NYICne4PF\gVG_-0t8Do**E?n;d4&3"B%2X)+k<UFQOW:nt7
|
||||
_?NS>.3%soIp:+1Ob]gFfTlRZ0.!]=VT]"F;/"XmOUaMSB"QMX=51>`_^RGf^_nI
|
||||
l&G)bF\0g0fW(B*Ek5+qnm`Q&ViW*8?-g=1udH*(tr%<8]i3h>!^e4HAFNalreQK
|
||||
#@sipB[(#_fD.km05'F$tY=E4;Mo?"$h?8&U3_L].LX;EE8g[3f8O_bu>6^`o12$
|
||||
ra8EH:)md,*T8g]a_1@T>9uDLnLd4K<JSL1+k&:fF"UI)IchY>%@n>&Q/F.P'NJc
|
||||
Vh.AO$[8;>"6jCN;!?_V?([i8$%Y9[tGd^hL8*qmq:rQth1(/&VaV5lH#gKAU=8%
|
||||
I+7pH2.X4?VG!U?&**0mSK<[[SD<]W78iHe[6+';?@V(<]"]geG3n;Rh'XntNOSF
|
||||
f,j+Uj(C?GiF!f[9m`;@5Wo5gY:2.#LB>>n@JAJm!,OpL">1B"FSlbEi=4m$pPui
|
||||
[-G)7K-om[Esh:&@'eaar>c%QmX,]n/C'"kVL4fX*B?25fbdc$pg.@7i\qb=$raa
|
||||
!KoY5>KHM,.o-:[>WuSX?q\iqfII\%6$U#0OU#T$Y0YGB,tOVE\;L2t"jo/ZR9iT
|
||||
h>hi;/9:Mn\P0i%t/0a\N`2tp-JS=h01?mY*#pacQ][K6j0>&r(?B&US^C[@/G,p
|
||||
GG"+![7D/$u?=fA47[RS+jYc92f]NR$SC(WeK>r<!.VY.][78r<u)WPt<Ud,e8D3
|
||||
Q=\3Q#he')#LZ5@AJM\<ZkD[6grlRLLo"]7SSYLm[rDB()g,TZLur>c>+/`9qjPm
|
||||
_StAK;;9.XQUu'9;Z0c<TJ$Ook_8L.H:EYf8F(1/g?SK_!lb)^=/[D<#L(cR'CS1
|
||||
2(tbCY$FJ]c''1#-^J*h\>+S,b+^MF=*=*h0#QCCjaDu$<((UQ\sra\l\U6GS@X7
|
||||
1Ha$"2Xjkf"^/uB-^0F(":cNdD0_<(p0ohu;*"N_qfNRoQ7].REWse3T&\,Q:A_Q
|
||||
@HQa@--E[afp9r:<rLIYIs=ug<'l']k"'Ho!2*)rp\[E\^O&HLlS!HQ,`lmi'*^B
|
||||
Hu9^$YW^Xit9flOLEEA>iJ6lp#IkV!FG-,VcBc$A#I)?m3c[a8oX=i"k'+/lJb(O
|
||||
(i#YlN&=SPfad/]\En-d(]i1..EFlDiKnQ(@*'0a4@;cmtf=``Kg;>Lb%Orjc)l.
|
||||
io1[T@C/1laK4n_7ee;90>aOp"lA!%MD`S1'gh,"lOdU2TeLgfI-/WYP5bN^\,Z[
|
||||
gAB>=`CAqWaf,.On$/?t_D5TqP\;>-[("tkBi8F3N"LL!i`"r]"AV^MmZSF)3hI<
|
||||
^&>\0pl9+G7$Lh0V"A?iodeUrqkX.lfO0Vn!FJ/2>Q[m(G1!V6oc_<i\%HW8WnRQ
|
||||
.RuFuX!;7(a`,<AmNuTudO_XpZ"tgYrOFQc3/?>#4:WJ/iJn)R(lQ2uVkb!IIJ+J
|
||||
9^)5e9K[G,3$G`(EP/f+`Y(pnLcbQRQm1P-!V:q.^Hd*Li)W@5T_OY6!%>5`!8RY
|
||||
==`\p*-4kNbVLD"6pC.XMdI"Y7E#YV?WaI`$j7HS\[Tcb>\UMra/QGU[ooD?.U0L
|
||||
RMCp\#eG;c;-t-tE[?0WD(A<b!Yi/T8>:K!1-[;_>Z"7%oL(I;W\<T*s"7:*<=mq
|
||||
fGd<l=d'#<F>C1XAa_$(G@\)okqiq3DM]IRgHImLW41YcD(agqJ:#I.N-(6B0;gP
|
||||
K$FOasIE`__Ho`+\2s2\FugH-7+@VVJF,2t`'1;(cg$b$Bt"I"?[fRcHC[Bib;a\
|
||||
-f5aHX4R*=VUGBRp*GIQims'-`ERYp3"^H#48PrV]"K>iE>l('+HG6Y.Ku<&I*RG
|
||||
&I.IeO^,uVE56S\h+OWLmobNlK;Bn7?*70b4LOg3X#N+BpmG5Jk2h46)&BF!1c-H
|
||||
aM;ZX,i+Ls\V,^Qu"gn^e/F't^7Bt%'FW0a<O>fFuq19a9kWg2#XZVp,=]Ic!g[Q
|
||||
#OS;X#p59oV#X'9>t!m<MsI$PP:A!Z$5.l84o''9Y:^d/F$<]Q(U!SAP"J^,)!1#
|
||||
'ef@9#+Q(a53lbnVEr])]>h%thW?3D8hshn5_N%90[1n57m@G*e$;!pj<=\>#i@;
|
||||
WUbWV[*dS>u=R'h%^YTgm&Nu?@ZKhTK0H0o"^:H.WnDOi@4nH6K0&8C*X?E@@<A#
|
||||
VT*!NSC0Q6FCL7cb1^$2aIUG:@hAH)-m0pljso-rd0db/b?O8SZ^[2Kghf@FR<'m
|
||||
DPqdD^oTjZkNX8&hm1l^dCC[B(?%I.TilJOmgLFZOoeQTJ=V)>j5ocQ"k)9nhLq[
|
||||
A4E!EZ,R'92?Z?>/H'L'U=(fs-0EEcR_r5>m/n,#D&-m3XT2:LduZjd^R.&M%)#d
|
||||
j-C.lEO@CAbs^%"K."G7+ric=1'IH+'k#L9;3YE>#imB:>2G-up(hCDnL&YPjhVG
|
||||
d&!u>DA$&j,CrKVJKTN^s$gV?Lm@g\]Vl`cDYUtL^loChc#Xb3So1X<+2WD`5!A#
|
||||
Kg*r!7CZc([(798b8htDd]@I,S.o*se2U*X/PCHm"ne<\JOnpl"L';e>-T5>]=/%
|
||||
H%-_nh`We7l0Ln][:_f;SL?%+n/Oqh0:l^QOET.X98t.SZOFn35TSiu_2f-/7q5D
|
||||
0'q-o.TU>L,l;B5su;./d9N;N#tMZ+DChAhuVnUFZTfA#te6d#Rf4ZgVI8*^73jK
|
||||
I-Hr#`!?r-tgJ!/(-`$4#>YTCDj\=cG.\rF1iJrEsKV62JR3%\McGj8QAEK_@W4V
|
||||
VAb4ZTn3\7gLa?qS4OuJ,,L#XQ$utD-?_!\9NP=Up^M=rF9FFkRZZ)B=r]"j,[!a
|
||||
!M8h9nQo;e)Q4H^op?V0Dq4p>IFW8E$+D),r5FOhPP(IYHA2@I<el9>!+'Q96r6L
|
||||
1<U,d?.HgWJ&TMu`mGnQZ$6!"D:%jpgpqR75'&#&d6Ag3[IaBPPZh97)@_l*)I[C
|
||||
+C3ZkH7(3f^2$3T&T9r/s#8XC46>NV]4hK)iu,MH5??gTQPQk/E$lS?9M5?PAn5L
|
||||
p*:Y=%uMEk4"@)!NV$?2"5)"app4@6hlBlR4L_rr=b2Y90k',H-.*/H%7K.!>JB0
|
||||
a'WMegkRohNH&Hg%rKka83s5$KurC`)A4u;!HgC;fX\IVLSX!~>
|
||||
%%EOF
|
BIN
Docs/source/KSFOapp.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
691
Docs/source/building.tex
Normal file
|
@ -0,0 +1,691 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: building.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Building the plane: Compiling\index{compiling} the program\label{building}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markboth{\thechapter.\hspace*{1mm} BUILDING THE
|
||||
PLANE}{\thesection\hspace*{1mm} COMPILING UNDER LINUX}
|
||||
|
||||
This central chapter describes how to build \FlightGear{} on several systems. In case you
|
||||
are on a Win32 (i.\,e. Windows95/98/ME/NT/2000/XP) platform or any of the other platforms
|
||||
which binary executables are available for, you may not want to go though that
|
||||
potentially troublesome process but skip that chapter instead and straightly go to the
|
||||
next one. (Not everyone wants to build his or her plane himself or herself, right?)
|
||||
However, there may be good reason for at least trying to build the simulator:
|
||||
|
||||
\begin{itemize}
|
||||
\item In case you are on a \Index{UNIX}/\Index{Linux} platform there may be no
|
||||
pre-compiled binaries\index{binaries, pre-compiled} available for your system. In
|
||||
practice it is common to install programs like this one on \Index{UNIX} systems by
|
||||
recompiling them.
|
||||
|
||||
\item There are several options you can set during compile time only.
|
||||
|
||||
\item You may be proud you did.
|
||||
\end{itemize}
|
||||
|
||||
On the other hand, compiling \FlightGear{} is not a task for novice users. Thus, if
|
||||
you're a beginner (we all were once) on a platform which \Index{binaries} are available
|
||||
for, we recommend postponing this task and just starting with the binary
|
||||
distribution\index{distribution!binary} to get you flying.
|
||||
|
||||
As you will notice, this Chapter is far from being complete. Basically, we describe
|
||||
compiling for two operating systems only, \Index{Windows} and \Index{Linux}, and for only
|
||||
one compiler, the GNU C compiler. \FlightGear{} has been shown to be built under
|
||||
different compilers (including Microsoft Visual C) as well as different systems
|
||||
(Macintosh) as well. The reason for these limitations are:
|
||||
|
||||
\begin{itemize}
|
||||
\item Personally, we have access to a Windows machine running the Cygnus compiler only.
|
||||
\item According to the mailing lists, these seem to be the systems with the largest user base.
|
||||
\item These are the simplest systems to compile \FlightGear{} on. Other compilers may need special
|
||||
add-ons (workplace etc.) or even modification of the code.
|
||||
\item The GNU compiler is free in the same sense of the GPL as \FlightGear{} is.
|
||||
\end{itemize}
|
||||
|
||||
You might want to check Section \ref{missed}, \textit{Missed approach}, if
|
||||
anything fails during compilation. In case this does not help we recommend sending a note to one of the mailing lists (for hints on subscription see Chapter \ref{landing}).
|
||||
|
||||
There are several \Index{Linux distributions} on the market, and most of them should work. Some come even bundled with (often outdated) versions of \FlightGear{}$\!$.
|
||||
However, if you are going to download or buy a distribution, \Index{Debian} (Woody) is
|
||||
suggested by most people. \Index{SuSE} works well, too.
|
||||
|
||||
Contrary to Linux/Unix systems, Windows usually comes without any development tools. This
|
||||
way, you first have to install a development environment. On Windows, in a sense, before
|
||||
building the plane you will have to build the plant for building planes. This will be the
|
||||
topic of the following section, which can be omitted by Linux users.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Preparing the \Index{development environment} under Windows\label{preparewin}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
There is a powerful development environment available for Windows and this even for free:
|
||||
The Cygnus development tools,\index{Cygnus!development tools} resp. \Cygwin. Their home
|
||||
is at
|
||||
\medskip
|
||||
|
||||
\web{http://sources.redhat.com/cygwin/},
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and it is always a good idea to check back what is going on there now and then.
|
||||
|
||||
Nowadays, installing \Cygwin{}\index{Cygwin!setup} is nearly automatic. First, make sure
|
||||
the drive you want \Cygwin{}, \PLIB{}, \SimGear{} and \FlightGear{} to live on, has
|
||||
nearly 1 GB of free \Index{disk space}. Create a temporary directory and download the
|
||||
installer from the site named above to that directory. (While the installer does an
|
||||
automatic installation of the Cygnus environment, it is a good idea to download a new
|
||||
installer from time to time.)
|
||||
|
||||
Invoke the installer now. It gives you three options. To avoid having to download stuff
|
||||
twice in case of a re-installation or installation on a second machine, we highly
|
||||
recommended to take a two-step procedure. First, select the option \texttt{Download from
|
||||
Internet}. Insert the path of your temporary directory, your Internet connection settings
|
||||
and then choose a mirror form the list. Near servers might be preferred, but may be
|
||||
sometimes a bit behind with mirroring. We found
|
||||
\medskip
|
||||
|
||||
\web{ftp://mirrors.rcn.net}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
a very recent and fast choice. In the next windows the default settings are usually a
|
||||
good start. Now choose \texttt{Next}, sit back and wait.
|
||||
|
||||
If you are done, invoke the installer another time, now with the option
|
||||
\texttt{Install from local directory}. After confirming the temporary directory you can
|
||||
select a root directory (acting as the root directory of your pseudo UNIX file system).
|
||||
Cygnus does not recommend taking the actual root directory of a drive, thus choose
|
||||
\texttt{c:/Cygwin} (while other drives than \texttt{c:} work as well). Now, all \Cygwin{} stuff and all \FlightGear{} stuff lives under this directory. In addition, select
|
||||
|
||||
\texttt{Default text file type: Unix}
|
||||
|
||||
\noindent
|
||||
In addition, you have the choice to install the compiler for all users or just for you.
|
||||
|
||||
The final window before installation gives you a selection of packages to install. It is hard, to provide a minimum selection of packages required for \FlightGear{} and the accompanying libraries to install. We have observed the following (non minimum) combination to work:\index{Cygwin!packages to install}
|
||||
|
||||
\begin{itemize}
|
||||
\item{\texttt{Admin}} skip
|
||||
\item{\texttt{Archive}} install
|
||||
\item{\texttt{Base}} install
|
||||
\item{\texttt{Database}} skip
|
||||
\item{\texttt{Devel}} install
|
||||
\item{\texttt{Doc}} install
|
||||
\item{\texttt{Editors}} skip
|
||||
\item{\texttt{Graphics}} install
|
||||
\item{\texttt{Interpreters}} install
|
||||
\item{\texttt{Libs}} install
|
||||
\item{\texttt{Mail}} skip
|
||||
\item{\texttt{Net}} skip
|
||||
\item{\texttt{Shells}} install
|
||||
\item{\texttt{Text}} install
|
||||
\item{\texttt{Utils}} install
|
||||
\item{\texttt{Web}} skip
|
||||
\item{\texttt{XFree86}} do not install!
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Note} XFree86\index{Cygwin!XFree86} must be not installed for building \FlightGear{} and the accompanying libraries. If it is installed you have to deinstall it first. Otherwise \FlightGear{}'s configuration scripts will detect the XFree86 OpenGL libraries and link to them, while the code is not prepared to do so.
|
||||
|
||||
As a final step you should include the \Index{binary directory} (for instance:\\
|
||||
\texttt{c:/Cygwin/bin}) into your path by adding \verb/path=c:\Cygwin\bin/ in
|
||||
your \texttt{autoexec.bat} under Windows 95/98/ME. Under WindowsNT/2000/XP, use the \texttt{Extended} tab under the \texttt{System properties} page in Windows \texttt{control panel}. There you'll find a button \texttt{Environment variables}, where you can add the named directory.
|
||||
|
||||
Now you are done. Fortunately, all this is required only once. At this point you have
|
||||
a nearly UNIX-like (command line) development environment. Because of this, the following
|
||||
steps are nearly identical under Windows and Linux/Unix.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Preparing the \Index{development environment} under Windows\label{preparelin}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Linux, like any UNIX, usually comes with a compiler pre-installed. On the other hand, you still have to make sure several required libraries being present.
|
||||
|
||||
First, make sure you have all necessary OpenGL libraries. Fortunately, most of the recent Linux distributions (i.e. SuSE-7.3) put these already into the right place. (There have been reports, though, that on Slackware you may have to copy the libraries to \texttt{/usr/local/lib} and the headers to \texttt{/usr/local/include} by hand after building \texttt{glut-3.7}). Be sure to install the proper packages: Besides the basic X11 stuff you want to have - SuSE as an
|
||||
example - the following packages: mesa, mesa-devel, mesasoft, xf86\_glx,
|
||||
xf86glu, xf86glu-devel, mesaglut, mesaglut-devel and plib.
|
||||
|
||||
Also you are expected to have a bunch of tools installed that are usually
|
||||
required to compile the Linux kernel. So you may use the Linux kernel source
|
||||
package top determine the required dependencies. The following packages
|
||||
might prove to be useful when fiddling with the \FlightGear{} sources:
|
||||
automake, autoconf, libtool, bison, flex and some more, that are not
|
||||
required to build a Linux kernel.
|
||||
|
||||
{\bfseries Please compare the release of the Plib library with the one that ships with
|
||||
your Linux distribution.} It might be the case that \FlightGear{} requires a
|
||||
newer one that is not yet provided by your vendor.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{One-time preparations for Linux and Windows users\label{preparelinwin}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
There are a couple of 3rd party libraries which your Linux or Windows system may or may have not installed, i.e. the \textbf{\textit{ZLIB}} library and the \textbf{\textit{Metakit}} library. You can either check your list of installed packages or just try building \SimGear{}: It should exit and spit an error message (observe this!) if one of these libraries is missing.
|
||||
|
||||
If you make this observation, install the missing libraries, which only is required once (unless you don't re-install you development environment).
|
||||
|
||||
Both libraries come bundled with \SimGear{}, which links to them, bus does not automatically install them. For installing either of them, get the most recent file \texttt{SimGear-X.X.X.tar.gz}\index{SimGear} from
|
||||
\medskip
|
||||
|
||||
\web{http://www.simgear.org/downloads.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Download it to \texttt{/usr/local/source}. Change to that directory and unpack \SimGear{}
|
||||
using
|
||||
|
||||
\texttt{tar xvfz SimGear-X.X.X.tar.gz}.
|
||||
|
||||
You will observe a directory \texttt{src-libs} which contains the two names libraries.
|
||||
|
||||
\subsection{Installation of \textbf{\textit{ZLIB}\index{ZLIB!installation}\label{zlibinstall}}}
|
||||
|
||||
\noindent
|
||||
\texttt{cd} into \texttt{SimGear-X.X.X/scr-libs} and unpack \textbf{\textit{ZLIB}} using
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{tar xvfz zlib-X.X.X.tar.gz}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Next, change to the newly created directory \texttt{zlib-X.X.X} and type
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{./configure}\\
|
||||
\texttt{make}\\
|
||||
\texttt{make install}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Under Linux, you have to become root for being able to \texttt{make install}, for instance via the \texttt{su} command.
|
||||
|
||||
\subsection{Installation of \textbf{\textit{Metakit}\index{Metakit!installation}\label{metakeitinstall}}}
|
||||
|
||||
\noindent
|
||||
\texttt{cd} into \texttt{SimGear-X.X.X/scr-libs} and unpack \textbf{\textit{Metakit}} using
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{tar xvfz metakit-X.X.X.tar.gz}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Next, change to directory \texttt{zlib-X.X.X/builds} (!) and type (where the configure option \texttt{-$ $-with-tcl=no} is at least required on a Cygwin system):
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{./configure -$ $-with-tcl=no}\\
|
||||
\texttt{make}\\
|
||||
\texttt{make install}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Under Linux, you have to become root for being able to \texttt{make install}, for instance via the \texttt{su} command.
|
||||
|
||||
You may want to consult the Readme files under \texttt{SimGear-X.X.X/scr-libs} in case you run into trouble.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Compiling \FlightGear{} under Linux/Windows\label{compilinglinwin} \index{compiling!Linux}\index{compiling!Windows}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
The following steps are identical under Linux/Unix and under Windows with minor
|
||||
modifications. Under Windows, just open the \Cygwin{} icon from the Start menu or from
|
||||
the desktop to get a command line.
|
||||
|
||||
To begin with, the \FlightGear{} build process is based on four packages which you need to built and installed in this order:
|
||||
|
||||
\begin{itemize}
|
||||
\item PLIB
|
||||
\item SimGear
|
||||
\item FlightGear, program
|
||||
\item FlightGear, base (data - no compilation required)
|
||||
\end{itemize}
|
||||
|
||||
\begin{enumerate}
|
||||
\item First, choose an \Index{install directory} for FlightGear. This will not be the one your binaries will live in but the one for your source code and compilation files. We suggest
|
||||
|
||||
\texttt{cd:/usr/local/}
|
||||
|
||||
\texttt{mkdir source}
|
||||
|
||||
\item Now, you have to install a support library \PLIB\index{PLIB} which is absolutely essential for the building process. \PLIB{} contains most of the basic graphics
|
||||
rendering, audio, and joystick routines. Download the latest stable version of \PLIB\index{PLIB} from
|
||||
\medskip
|
||||
|
||||
\web{http://plib.sourceforge.net/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
to \texttt{/usr/local/source}. Change to that directory and unpack \PLIB{} using
|
||||
|
||||
\texttt{tar xvfz plib-X.X.X.tar.gz}.
|
||||
|
||||
\texttt{cd} into \texttt{plib-X.X.X} and run
|
||||
|
||||
\texttt{./configure}\\
|
||||
\texttt{make}\\
|
||||
\texttt{make install}.
|
||||
|
||||
Under Linux, you have to become root for being able to \texttt{make install}, for
|
||||
instance via the \texttt{su} command.
|
||||
|
||||
Confirm you now have \PLIB's header files\index{PLIB!header files} (as \texttt{ssg.h} etc.) under\\ \texttt{/usr/include/plib} (and nowhere else).
|
||||
|
||||
\item Next, you have to install another library \SimGear{}\index{SimGear} containing the basic simulation routines. Get the most recent file \texttt{SimGear-X.X.X.tar.gz}\index{SimGear} from
|
||||
\medskip
|
||||
|
||||
\web{http://www.simgear.org/downloads.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Download it to \texttt{/usr/local/source}. Change to that directory and unpack \SimGear{}
|
||||
using
|
||||
|
||||
\texttt{tar xvfz SimGear-X.X.X.tar.gz}.
|
||||
|
||||
\noindent
|
||||
\texttt{cd} into \texttt{SimGear-X.X.X} and run
|
||||
|
||||
\texttt{./configure}\\
|
||||
\texttt{make}\\
|
||||
\texttt{make install}
|
||||
|
||||
\noindent
|
||||
Again, under Linux, you have to become root for being able to \texttt{make
|
||||
install}, for instance via the \texttt{su} command.
|
||||
|
||||
\item Now, you're prepared to build \FlightGear{} itself, finally.
|
||||
Get\\ \texttt{FlightGear-X.X.X.tar.gz} from
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Downloads/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and download it to \texttt{/usr/local/source}. Unpack \FlightGear{} using
|
||||
\medskip
|
||||
|
||||
\texttt{tar xvfz FlightGear-X.X.X.tar.gz}.
|
||||
\medskip
|
||||
|
||||
\texttt{cd} into \texttt{FlightGear-X.X.X} and run
|
||||
|
||||
\texttt{./configure}
|
||||
\medskip
|
||||
|
||||
\Index{configure} knows about numerous options, \index{options, configure} with the more
|
||||
relevant ones to be specified via switches as
|
||||
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-with-network-olk}}: Include Oliver Delise's multi-pilot \Index{networking support},
|
||||
|
||||
\item{\texttt{-$ $-with-new-environment}}: Include new experimental environment subsystem,
|
||||
|
||||
\item{\texttt{-$ $-with-weathercm}}: Use WeatherCM instead of FGEnvironment,\index{weather}
|
||||
|
||||
\item{\texttt{-$ $-with-plib=}PREFIX}: Specify the prefix path to \PLIB{},
|
||||
|
||||
\item{\texttt{-$ $-with-metakit=}PREFIX}: Specify the prefix path to \textbf{\textit{Metakit}},
|
||||
|
||||
\item{\texttt{-$ $-with-simgear=}PREFIX}: Specify the prefix path to \SimGear{},
|
||||
|
||||
\item{\texttt{-$ $-prefix=/XXX}}: Install \FlightGear{} in the directory \texttt{XXX}.
|
||||
|
||||
\item{\texttt{-$ $-disable-jsbsim}}: Disable \JSBSim{}m FDM (in case of trouble compiling it).
|
||||
|
||||
\item{\texttt{-$ $-disable-yasim}}: Disable \YASim{} FDM (in case of trouble compiling it).
|
||||
|
||||
\item{\texttt{-$ $-disable-larcsim}}: Disable \textbf{\textit{LaRCsim}} FDM (in case of trouble compiling it).
|
||||
|
||||
\item{\texttt{-$ $-disable-uiuc}}: Disable UIUC FDM (in case of trouble compiling it).
|
||||
\end{itemize}
|
||||
|
||||
A good choice would be \texttt{-$ $-prefix=/usr/local/FlightGear}. In this case
|
||||
\FlightGear{}'s binaries\index{binaries!directory} will live under
|
||||
\texttt{/usr/local/FlightGear/bin}. (If you don't specify a \texttt{-$ $-prefix} the binaries will go into \texttt{/usr/local/bin} while the base package files are expected under \texttt{/usr/local/lib/FlightGear}.)
|
||||
|
||||
Assuming \texttt{configure} finished successfully, run
|
||||
\medskip
|
||||
|
||||
\texttt{make}\\
|
||||
\texttt{make install}.
|
||||
|
||||
\noindent
|
||||
Again, under Linux, you have to become root for being able to \texttt{make
|
||||
install}, for instance via the \texttt{su} command.
|
||||
|
||||
\noindent
|
||||
Note: You can save a significant amount of space by stripping all the
|
||||
debugging symbols off the executable. To do this, make a
|
||||
\medskip
|
||||
|
||||
\texttt{cd /usr/local/FlightGear/bin}
|
||||
|
||||
\noindent
|
||||
to the directory in the \texttt{install tree} where your binaries live and run
|
||||
\medskip
|
||||
|
||||
\texttt{strip *}.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
This completes building the executable and should result in a file \texttt{fgfs} (Unix) or
|
||||
\texttt{fgfs.exe} (Windows) under \texttt{/usr/local/FlightGear/bin}
|
||||
|
||||
\textbf{Note:} If for whatever reason you want to re-build the simulator, use the command
|
||||
\texttt{make distclean} either in the \texttt{SimGear-X.X.X} or in the
|
||||
\texttt{FlightGear-X.X.X} directory to remove all the build. If you want to re-run
|
||||
\texttt{configure} (for instance because of having installed another version of \PLIB{}
|
||||
etc.), remove the files \texttt{config.cache} from these same directories before.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Compiling \FlightGear{} under Mac OS X \index{compiling!Macintosh}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
For compiling under Mac OS X you will need
|
||||
|
||||
\begin{itemize}
|
||||
\item Mac X OS 10.1+ with developer tools installed.
|
||||
\item 500MB disk (minimum) free disk space.
|
||||
\item Fearlessness of command line compiling.
|
||||
\end{itemize}
|
||||
|
||||
This will need a bit more bravery than building under Windows or Linux. First, there are less people who tested it under sometimes strange configurations. Second, the process as described here itself needs a touch more experience by using CVS repositories.
|
||||
|
||||
First, download the development files. They contain files that help simplify
|
||||
the build process, and software for automake, autoconf, and plib:
|
||||
\medskip
|
||||
|
||||
\href{http://expert.cc.purdue.edu/~walisser/fg/fgdev.tar.gz}{http://expert.cc.purdue.edu/$\tilde{~~}$walisser/fg/fgdev.tar.gz}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
or
|
||||
\medskip
|
||||
|
||||
\web{http://homepage.mac.com/walisser}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Once you have this extracted, make sure you are using TCSH as your shell,
|
||||
since the setup script requires it.
|
||||
|
||||
\noindent
|
||||
\textbf{Important for Jaguar users:}
|
||||
|
||||
If you run Mac OS X 10.2 or later, gcc 3.1 is the default compiler. However, only version 2.95 works with \FlightGear{} as of this writing. To change the default compiler, run this command (as root). You'll only have to do this once and it will have a global effect on the system.
|
||||
\medskip
|
||||
|
||||
\texttt{sudo gcc\underline{~}select 2}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Setup the build environment:\\
|
||||
\texttt{cd fgdev}\\
|
||||
\texttt{source bin/prepare.csh}
|
||||
|
||||
\item Install the latest versions of the automake and autoconf build tools:\\
|
||||
\texttt{cd {\$}BUILDDIR/src/automake-X.X.X}\\
|
||||
\texttt{./configure -$ $-prefix={\$}BUILDDIR}\\
|
||||
\texttt{make install}\\
|
||||
\texttt{rehash}
|
||||
|
||||
\texttt{cd {\$}BUILDDIR/src/autoconf-X.XX}\\
|
||||
\texttt{./configure -$ $-prefix={\$}BUILDDIR}\\
|
||||
\texttt{make install}\\
|
||||
\texttt{rehash}
|
||||
|
||||
\item Download PLIB\\
|
||||
\texttt{cd {\$}BUILDDIR/src} \\
|
||||
\texttt{setenv CVSROOT :pserver:anonymous@cvs.plib.sf.net:}\\
|
||||
\texttt{/cvsroot/plib} (one line!)\\
|
||||
\texttt{cvs login}\\
|
||||
Press $<$enter$>$ for password\\
|
||||
\texttt{cvs -z3 checkout plib}
|
||||
|
||||
\item Build PLIB\\
|
||||
\texttt{cd {\$}BUILDDIR/src/plib}\\
|
||||
\texttt{./autogen.sh}\\
|
||||
\texttt{./configure -$ $-prefix={\$}BUILDDIR}\\
|
||||
\texttt{make install}
|
||||
|
||||
\item Get the \SimGear{} sources\\
|
||||
\texttt{cd {\$}BUILDDIR/src}\\
|
||||
\texttt{setenv CVSROOT :pserver:cvs@cvs.simgear.org:}\\
|
||||
\texttt{/var/cvs/SimGear-0.0} (one line)\\
|
||||
\texttt{cvs login}\\
|
||||
Enter $<$guest$>$ for password\\
|
||||
\texttt{cvs -z3 checkout SimGear}\\
|
||||
|
||||
\item Build Metakit\\
|
||||
\texttt{cd {\$}BUILDDIR/src/SimGear/src-libs}\\
|
||||
\texttt{tar -zxvf metakit-X.X.X-32.tar.gz}\\
|
||||
\texttt{cd metakit-X.X.X/builds}\\
|
||||
\texttt{../unix/configure -$ $-prefix=\&BUILDDIR}\\
|
||||
\texttt{-$ $-enable-static -$ $-disable-dynamic} (one line)\\
|
||||
\texttt{make install}\\
|
||||
|
||||
\item Build \SimGear{}\\
|
||||
\texttt{cd {\$}BUILDDIR/src/SimGear}\\
|
||||
\texttt{./autogen.sh}\\
|
||||
\texttt{./configure --prefix={\$}BUILDDIR}\\
|
||||
\texttt{make install}\\
|
||||
|
||||
\item Get the \FlightGear{} sources\\
|
||||
\texttt{cd {\$}BUILDDIR/src}\\
|
||||
\texttt{setenv CVSROOT :pserver:cvs@cvs.flightgear.org:}\\
|
||||
\texttt{/var/cvs/FlightGear-0.X} (one line!)\\
|
||||
\texttt{cvs login}\\
|
||||
Enter $<$guest$>$ for password\\
|
||||
\texttt{cvs -z3 checkout FlightGear}
|
||||
|
||||
\item Build \FlightGear{}\\
|
||||
\texttt{cd {\$}BUILDDIR/src/FlightGear}\\
|
||||
\texttt{patch -p0 < ../jsb.diff}\\
|
||||
\texttt{./autogen.sh}\\
|
||||
\texttt{./configure --prefix={\$}BUILDDIR }\\
|
||||
\texttt{--with-threads --without-x} (one line)\\
|
||||
\texttt{make install}
|
||||
|
||||
\item Get the base data files (if you don't have them already)\\
|
||||
\texttt{cd {\$}BUILDDIR}\\
|
||||
\texttt{setenv CVSROOT :pserver:cvsguest@rockfish.net:}\\
|
||||
\texttt{/home/cvsroot} (one line)\\
|
||||
\texttt{cvs login}\\
|
||||
Password is "cvsguest"\\
|
||||
\texttt{cvs -z3 checkout fgfsbase}
|
||||
|
||||
\item Move data files (if you have them already)\\
|
||||
just make a symlink or copy data files to "fgfsbase" in {\$}BUILDDIR\\
|
||||
alternatively adjust \texttt{-$ $-fg-root=xxx} parameter appropriately
|
||||
|
||||
\item Run FlightGear\\
|
||||
\texttt{cd {\$}BUILDDIR}\\
|
||||
\texttt{src/FlightGear/src/Main/fgfs}
|
||||
\end{enumerate}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Compiling on other systems\index{compiling!other systems}\index{compiling!IRIX}\index{compiling!Solaris}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Compiling on other \Index{UNIX} systems - at least on \Index{IRIX} and on
|
||||
\Index{Solaris}, is pretty similar to the procedure on Linux - given the presence of a working GNU C compiler. Especially IRIX and also recent releases of Solaris come with the
|
||||
basic OpenGL libraries.\index{OpenGL!libraries} Unfortunately the ''glut'' libraries are
|
||||
mostly missing and have to be installed separately (see the introductory remark to this chapter). As compilation
|
||||
of the ''glut'' sources is not a trivial task to everyone, you might want to use a
|
||||
pre-built binary. Everything you need is a static library ''libglut.a'' and an include
|
||||
file ''glut.h''. An easy way to make them usable is to place them into \texttt{/usr/lib/}
|
||||
and \texttt{/usr/include/GL/}. In case you insist on building the library yourself, you
|
||||
might want to have a look at \Index{FreeGLUT}
|
||||
\medskip
|
||||
|
||||
\web{http://freeglut.sourceforge.net/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
which should compile with minor tweaks. Necessary patches might be found in
|
||||
\medskip
|
||||
|
||||
\href{ftp://ftp.uni-duisburg.de/X11/OpenGL/freeglut_portable.patch}{ftp://ftp.uni-duisburg.de/X11/OpenGL/freeglut\_portable.patch}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Please note that you do \textbf{not} want to create 64 bit binaries in IRIX with
|
||||
GCC (even if your CPU is a R10/12/14k) because GCC produces a broken ''fgfs'' binary (in
|
||||
case the compiler doesn't stop with ''internal compiler error''). Things might look
|
||||
better if Eric Hofman\index{Hofman, Eric} manages to tweak the \FlightGear{} sources for
|
||||
proper compiling with MIPSPro compiler (it's already mostly done).
|
||||
|
||||
There should be a workplace for Microsoft \Index{Visual C++} (MSVC6) included in the official
|
||||
\FlightGear{} distribution. \Index{Macintosh} users find the required \Index{CodeWarrior}
|
||||
files as a \texttt{.bin} archive at
|
||||
\medskip
|
||||
|
||||
\href{http://icdweb.cc.purdue.edu/~walisser/fg/}{http://icdweb.cc.purdue.edu/$\tilde{~~}$walisser/fg/}.
|
||||
|
||||
Numerous (although outdated, at times) hints on compiling on different systems are included in the source code under \texttt{docs-mini}.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Installing the base package\index{base package!installation}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
If you succeeded in performing the steps named above, you will have a directory holding the
|
||||
executables for \FlightGear{}$\!$. This is not yet sufficient for performing
|
||||
\FlightGear{}$\!$, though. Besides those, you will need a collection of support data
|
||||
files (scenery, aircraft, sound) collected in the so-called base package. In case you
|
||||
compiled the latest official release, the accompanying base package is available from
|
||||
\medskip
|
||||
|
||||
\web{ftp://www.flightgear.org/pub/flightgear/Shared/fgfs-base-X.X.X.tar.gz}.
|
||||
|
||||
This package\index{base package!installation} is usually quite large (around 25 MB), but
|
||||
must be installed for \FlightGear{} to run. There is no compilation required for it. Just download it to \texttt{/usr/local} and install it with
|
||||
\medskip
|
||||
|
||||
\texttt{tar xvfz fgfs-base-X.X.X.tar.gz}.
|
||||
|
||||
\noindent
|
||||
Now you should find all the \FlightGear{} files under \texttt{/usr/local/Flightgear} in the
|
||||
following directory structure:\index{directory structure}\index{FlightGear!directory
|
||||
structure}:
|
||||
\medskip
|
||||
|
||||
\texttt{/usr/local/Flightgear}
|
||||
|
||||
\texttt{/usr/local/Flightgear/Aircraft}
|
||||
|
||||
\texttt{/usr/local/Flightgear/Aircraft-uiuc}
|
||||
|
||||
\ldots
|
||||
|
||||
\texttt{/usr/local/Flightgear/bin}
|
||||
|
||||
\ldots
|
||||
|
||||
\texttt{/usr/local/Flightgear/Weather}.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{For test pilots only: Building the CVS snapshots}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
It you are into adventures or feel you're an advanced user, you can try one of the recent \Index{bleeding edge snapshots}\index{snapshots} at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Downloads/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
In this case you have to get the most recent Snapshot from \SimGear{} at
|
||||
\medskip
|
||||
|
||||
\web{http://www.simgear.org/downloads.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
as well. But be prepared: These are for development and may (and often do)
|
||||
contain bugs.
|
||||
|
||||
If you are using these CVS snapshots, the base package named above will usually not be
|
||||
in sync with the recent code and you have to download the most recent developer's version
|
||||
from
|
||||
\medskip
|
||||
|
||||
\web{http://rockfish.net/fg/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
We suggest downloading this package \texttt{fgfs$\_$base-snap.X.X.X.tar.gz} to a temporary
|
||||
directory. Now, decompress it using
|
||||
\medskip
|
||||
|
||||
\texttt{tar xvfz fgfs$\_$base-snap.X.X.X.tar.gz}.
|
||||
\medskip
|
||||
|
||||
Finally, double-check you got the directory structure named above.
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
||||
%% employing redame.win32/readame.linux
|
||||
%% by c. olson , b. buckel
|
||||
%% Revision 0.01 1998/09/20 michael
|
||||
%% several extensions and corrections
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% deleted some obsolete stuff from the Linux Section
|
||||
%% revision 0.12 1999/03/07 michael
|
||||
%% changed Windows to Cygnus b20
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% complete rewrite of the windows build Section exploiting Curt's README.win32
|
||||
%% revision 0.21 1999/06/30 bernhard
|
||||
%% complete rewrite of Linux build Section
|
||||
%% revision 0.22 2000/01/18 michael
|
||||
%% added hint to "missed approach" and some more hints from J. Berndt on Cygnus stuff
|
||||
%% Corrected path to mesa libs
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% Complete rewrite Linux and Windows reflecting split /SimGear/FlightGear, numerous changes and updates,
|
||||
%% made Linux/Windows more similar (for later merging???)
|
||||
%% Removed building TerraGear and its libraries (should go into Scenery Guide)
|
||||
%% revision 0.4 2001/05/12 michael
|
||||
%% Chapter Completely rewritten, Merged former Linux/Windows sections, added separate Cygwin section
|
||||
%% Separate description and reference to base package
|
||||
%% Removed reference to other compilers
|
||||
%% new section on nightly snapshots (more people are using them)
|
||||
%% revision 0.41 2001/07/01 martin
|
||||
%% enlarged section on Irix, Solaris
|
||||
%% revision 0.5 2002/01/01 michael/martin
|
||||
%% General update on contents and links without re-structuring
|
||||
%% Paragraphs by Martin on rewuired Linux Libs
|
||||
%% Added section on compiling for Mac OS X added based on Darrel's Readme
|
||||
%% List of required packages
|
||||
%% Modified section on CVS (former nightly) snapshots
|
||||
%% revision 0.6 2002/09/09 michael
|
||||
%% update of D. Wallissers Mac recipe
|
||||
%% added selection of Cygwin packeges to install/not install
|
||||
%% Installation of ZLIB/Metakit
|
||||
%% added/removed configure options
|
546
Docs/source/flight.tex
Normal file
|
@ -0,0 +1,546 @@
|
|||
\emph{}%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: flight.tex,v 0.5 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{In-flight: All about instruments, keystrokes and menus\label{flight}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markboth{\thechapter.\hspace*{1mm} FLIGHT}{\thesection\hspace*{1mm} KEYBOARD CONTROLS}
|
||||
|
||||
The following is a description of the main systems for controlling the
|
||||
program and piloting the plane: Historically, \Index{keyboard controls} were developed
|
||||
first, and you can still control most of the simulator via the keyboard alone. Later on,
|
||||
they were supplemented by several menu entries, making the interface more accessible,
|
||||
particularly for beginners, and providing additional functionality.
|
||||
|
||||
For getting a real feeling of flight, you should definitely consider getting a \Index{joystick} or -- preferred -- a \Index{yoke} plus \Index{rudder pedals}. In any case, you
|
||||
can specify your device of choice for control via the \texttt{-$ $-control-mode} option,
|
||||
i.e. select joystick, \Index{keyboard}, \Index{mouse}. The default setting is joystick.
|
||||
Concerning instruments, there are again two alternatives: You can use the panel or the
|
||||
HUD.
|
||||
|
||||
A short leaflet based on this chapter can be found at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Docs/InstallGuide/FGShortRef.html}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
A version of this leaflet can also be opened via \FlightGear{}'s help menu.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Starting the engine}\index{engine!starting}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Depending on your situation, when you start the simulator the \Index{engine}s may be on or off. When they are on you just can go on with the start. When they are off, you have to start them first. The \Index{ignition switch} for starting the engine is situated in the lower left corner of the panel. It is shown in Fig.\,4.
|
||||
\medskip
|
||||
|
||||
\centerline{\fbox{
|
||||
\includegraphics[clip,width=12.5cm]{magnet2}
|
||||
}}
|
||||
|
||||
\smallskip
|
||||
\noindent
|
||||
Fig.\,4: \textit{The ignition switch.}
|
||||
\medskip
|
||||
|
||||
It has five positions: ''OFF'', ''L'', ''R'', ''BOTH'', and ''START''. The extreme right position is for starting the engine. For starting the engine, put it onto the position ''BOTH'' using the mouse first.
|
||||
|
||||
Keep in mind that the \Index{mixture lever} has to be at 100\,\% (all the way in) for starting the engine -- otherwise you will fail. In addition, advance the \Index{throttle} to about 25\,\%.
|
||||
|
||||
Operate the \Index{starter} using the SPACE key now. When pressing the SPACE key you will observe the ignition switch to change to the position ''START'' and the engine to start after a few seconds. Afterwards you can bring the throttle back to idle (all the way out).
|
||||
|
||||
In addition, have a look if the \Index{parking brake}s are on (red field lit). If so, press the ''B'' button to release them.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Keyboard controls}\index{keyboard controls}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
While \Index{joystick}s or \Index{yoke}s are supported as are \Index{rudder} pedals, you
|
||||
can fly \FlightGear{} using the keyboard alone. For proper control of the plane during
|
||||
flight via the keyboard (i) the \texttt{\Index{NumLock}} key must be switched on (ii) the
|
||||
\FlightGear{} window must have focus (if not, click with the mouse onto the graphics
|
||||
window). Several of the keyboard controls might be helpful even in case you use a
|
||||
joystick or yoke.
|
||||
|
||||
After activating \texttt{NumLock} the following main \Index{keyboard controls} for driving the plane should work:
|
||||
\eject
|
||||
|
||||
\noindent
|
||||
Tab.\,2: \textit{Main \Index{keyboard controls} for \FlightGear{} on the numeric keypad with
|
||||
activated \texttt{NumLock} key:}.
|
||||
\medskip
|
||||
|
||||
\centerline{\input{tab2}}
|
||||
\vskip5mm
|
||||
|
||||
For changing views you have to de-activate \texttt{NumLock}. Now \texttt{Shift} +
|
||||
$<$\texttt{Numeric Keypad Key}$>$ changes the view as follows:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Tab.\,3: \textit{View directions\index{view directions}
|
||||
accessible after de-activating \texttt{NumLock} on the numeric keypad.}
|
||||
\medskip
|
||||
|
||||
\centerline{\input{tab3}}
|
||||
\vskip5mm
|
||||
|
||||
Besides, there are several more options for adapting display on screen:
|
||||
\vfill
|
||||
\eject
|
||||
|
||||
\noindent
|
||||
Tab.\,4: \textit{Display options\index{display options}}
|
||||
\medskip
|
||||
|
||||
\centerline{\input{tab4}}
|
||||
\vskip5mm
|
||||
|
||||
The \Index{autopilot} is controlled via the following keys:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Tab.\,5: \textit{Autopilot and related controls.\index{autopilot controls}}
|
||||
\medskip
|
||||
|
||||
\centerline{\input{tab5}}
|
||||
\medskip
|
||||
|
||||
\noindent Ctrl + T is especially interesting as it makes your little Cessna behave
|
||||
like a cruise missile. Ctrl + U might be handy in case you feel you're just about to
|
||||
crash. (Shouldn't real planes sport such a key, too?)
|
||||
|
||||
In case the \Index{autopilot} is enabled, some of the numeric keypad keys get a special
|
||||
meaning:
|
||||
|
||||
\noindent
|
||||
Tab.\,6: \textit{Special action of keys, if autopilot is enabled.\index{autopilot controls}}
|
||||
\medskip
|
||||
|
||||
\centerline{\input{tab6}}
|
||||
\medskip
|
||||
|
||||
There are several keys for starting and controlling the engine \index{engine controls}:
|
||||
|
||||
\noindent
|
||||
Tab.\,7: \textit{Engine control keys}
|
||||
\medskip
|
||||
|
||||
\centerline{\input{tab7}}
|
||||
\medskip
|
||||
|
||||
Beside these basic keys there are miscellaneous keys for special actions; some of these you'll probably not want to try during your first flight:
|
||||
\vfill
|
||||
\eject
|
||||
|
||||
\noindent Tab.\,8: \textit{Miscellaneous keyboard controls.\index{keyboard controls! miscellaneous}}
|
||||
\medskip
|
||||
|
||||
\centerline{\input{tab8}}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Note: If you have difficulty processing the \Index{screenshot} \texttt{fgfs-screen.ppm}
|
||||
on a windows machine, just recall that simply pressing the ''Print'' key copies the
|
||||
screen to the clipboard, from which you can paste it into any graphics program.
|
||||
|
||||
Finally: Starting from \FlightGear{} 0.7.7 these key bindings\index{key
|
||||
bindings!configuration} are no longer hard coded, but user-adjustable. You can check and change these setting via the file \texttt{keyboard.xml}\index{keyboard.xml} to
|
||||
be found in the main \FlightGear{} directory. This is a human readable plain ASCII file.
|
||||
Although it's perhaps not the best idea for beginners to start just with modifying this
|
||||
file, more advanced users will find it useful to change key bindings according to what
|
||||
they like (or, perhaps, know from other simulators).
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Menu entries}\index{menu entries}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
By default, the menu is disabled after starting the simulator (you don't see a menu in a real plane, do you?). You can turn it on either using the toggle F10 or just by moving the mouse pointer to the top left corner of the display. In case you want the menu to disappear just hit F10 again or move the mouse to the bottom of the screen.
|
||||
|
||||
At present, the menu provides the following functions.
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{File}
|
||||
\begin{itemize}
|
||||
\item \textbf{Load flight} Loads\index{load flight} the current flight, by default from \texttt{fgfs.sav}.
|
||||
\item \textbf{Save flight} Saves\index{save flight} the current flight, by default to \texttt{fgfs.sav}.
|
||||
\item \textbf{Reset} Resets\index{reset flight} you to the selected starting position. Comes handy in case you got lost or something went wrong.
|
||||
\item \textbf{Hires Snap Shot} Saves a high resolution Screen Shot\index{screenshot} under\\ \texttt{fgfs-screen-XXX.ppm}.
|
||||
\item \textbf{Snap Shot} Saves a normal resolution Screen Shot\index{screenshot} under\\ \texttt{fgfs-screen-XXX.ppm}.
|
||||
\item \textbf{Print} Prints screen shot (Linux only).
|
||||
\item \textbf{Exit} Exits\index{exit} the program.
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{View}\index{view}
|
||||
\begin{itemize}
|
||||
\item \textbf{Properties} Provides access to numerous properties managed via \FlightGear{}'s \Index{property manager}. This is actually a quite powerful tool allowing to set all the values in the property tree. Obviously, this is a good place to crash the program by entering a ''bad'' value.
|
||||
\item \textbf{HUD Alpha} Toggles \Index{antialiasing} of HUD lines on/off.
|
||||
\item \textbf{Pilot Offset} Allows setting a different viewpoint (useful for R/C flying).\index{viewpoint}
|
||||
\item \textbf{Toggle Panel} Toggles instrument \Index{panel} on/off.
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{Environment}
|
||||
\begin{itemize}
|
||||
\item \textbf{Goto Airport} Enter the \Index{airport ID}. For details on how to get the IDs
|
||||
see Section \ref{aiportid}.
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{Autopilot}\index{autopilot}
|
||||
\begin{itemize}
|
||||
\item \textbf{Set Heading} Sets \Index{heading} manually.
|
||||
\item \textbf{Set Altitude} Sets \Index{altitude} manually.
|
||||
\item \textbf{Add Waypoint} Adds \Index{waypoint} to waypoint list.
|
||||
\item \textbf{Skip Current Waypoint} Self explaining.
|
||||
\item \textbf{Clear Route} Clears current route.
|
||||
\item \textbf{Adjust AP Settings} Allows input of several \Index{autopilot} parameters.
|
||||
\item \textbf{Toggle HUD format} Toggles figures of latitude/longitude in \Index{HUD}.
|
||||
\end{itemize}
|
||||
|
||||
\item\textbf{Network}\index{network} (supposes compile option \texttt{-$ $-with-network-olk})
|
||||
\begin{itemize}
|
||||
\item \textbf{Unregister for FGD} Unregister from \FlightGear{} Daemon.
|
||||
\item \textbf{Register for FGD} Register for \FlightGear{} Daemon.
|
||||
\item \textbf{Scan for Daemons} Scan for daemons on the net.
|
||||
\item \textbf{Enter Callsign} Enter your \Index{call sign}.
|
||||
\item \textbf{Toggle Display} Toggle \Index{call sign} etc. on/off.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{Help}\index{help}
|
||||
\begin{itemize}
|
||||
\item \textbf{Help} Opens your browser and displays an overview on several help options (including links to this Guide as well as to the FAQ).
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{The Instrument Panel\index{panel}\index{instrument panel}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
The Cessna instrument panel is activated by default when you start \FlightGear{}$\!$, but can be
|
||||
de-activated by pressing the ''P'' key. While a complete description of all the
|
||||
functions of the instrument panel of a Cessna is beyond the scope of this guide, we will
|
||||
at least try to outline the main \Index{flight instrument}s or \Index{gauge}s.
|
||||
|
||||
All panel levers and knobs can be operated with the mouse To change a control, just click with the left/middle mouse button on the corresponding knob/lever.
|
||||
|
||||
Let us start with the most important instruments any simulator pilot must know. In the
|
||||
center of the instrument panel (Fig.\,5), in the upper row, you will find the
|
||||
\Index{artificial horizon} (\Index{attitude indicator}) displaying \Index{pitch} and
|
||||
\Index{bank} of your plane. It has pitch marks as well as bank marks at 10, 20, 30, 60,
|
||||
and 90 degrees.
|
||||
|
||||
Left to the artificial horizon, you'll see the \Index{airspeed indicator}. Not only does
|
||||
it provide a speed indication in knots but also several arcs showing characteristic
|
||||
\Index{velocity rages} you have to consider. At first, there is a green arc indicating
|
||||
the normal operating range of speed with the \Index{flaps} fully retracted. The white arc
|
||||
indicates the range of speed with flaps in action. The yellow arc shows a range, which
|
||||
should only be used in smooth air. The upper end of it has a red radial indicating the
|
||||
speed you must never exceeded - at least as long as you won't brake your plane.
|
||||
|
||||
Below the airspeed indicator you can find the \Index{turn indicator}. The airplane in the
|
||||
middle indicates the roll of your plane. If the left or right wing of the plane is
|
||||
aligned with one of the marks, this would indicate a standard turn, i.e. a turn of 360
|
||||
degrees in exactly two minutes.
|
||||
|
||||
Below the plane, still in the turn indicator, is the \Index{inclinometer}. It indicates
|
||||
if \Index{rudder} and \Index{aileron}s are coordinated. During turns, you always have to
|
||||
operate \Index{aileron} and \Index{rudder} in such a way that the ball in the tube
|
||||
remains centered; otherwise the plane is skidding. A simple rule says: ''Step onto the ball'', i.e. step onto the left rudder pedal in case the ball is on the l.h.s.
|
||||
\medskip
|
||||
|
||||
\centerline{\fbox{
|
||||
\includegraphics[clip,width=12.5cm]{panel5}
|
||||
}}
|
||||
|
||||
\smallskip
|
||||
\noindent
|
||||
Fig.\,5: \textit{The panel.}
|
||||
\medskip
|
||||
|
||||
If you don't have pedals or lack the experience to handle the proper ratio between aileron/rudder automatically, you can start
|
||||
\FlightGear{} with the option \texttt{-$ $-enable-auto-coordination}.\index{auto
|
||||
coordination}
|
||||
|
||||
To the r.h.s of the artificial horizon you will find the \Index{altimeter} showing the height
|
||||
above sea level (not ground!) in hundreds of feet. Below the altimeter is the
|
||||
\Index{vertical speed indicator} indicating the rate of climbing or sinking of your plane
|
||||
in hundreds of feet per minute. While you may find it more convenient to use then the
|
||||
altimeter in cases, keep in mind that its display usually has a certain lag in time.
|
||||
|
||||
Further below the vertical speed indicator is the RPM (rotations per minute)
|
||||
indicator\index{RPM indicator}, which displays the rotations per minute in 100 RPMs. The
|
||||
green arc marks the optimum region for long-time flight.
|
||||
|
||||
The group of the main instruments further includes the \Index{gyro compass} being
|
||||
situated below the artificial horizon. Besides this one, there is a \Index{magnetic
|
||||
compass} sitting on top of the panel.
|
||||
|
||||
Four of these gauges being arranged in the from of a ''T'' are of special importance: The
|
||||
air speed indicator, the artificial horizon, the altimeter, and the compass should be
|
||||
scanned regularly during flight.
|
||||
|
||||
Besides these, there are several supplementary instruments. To the very left you will find the
|
||||
\Index{clock}, obviously being an important tool for instance for determining turn rates.Below the clock there are several smaller gauges displaying the technical state of your engine. Certainly the most important of them is the \Index{fuel indicator} - as any pilot should know.
|
||||
|
||||
The \Index{ignition switch} is situated in the lower left corner of the panel (cf. Fig.\,4). It has five positions: ''OFF'', ''L'', ''R'', ''BOTH'', and ''START''. The first one is obvious. ''L'' and ''R'' do not refer to two engines (actually the Cessna does only have one) but to two magnetos being present for safety purposes. The two switch positions can be used for test puposes during preflight. During normal flight the switch should point on ''BOTH''. The extreme right position is for \index{starting the engine} using a battery-powered \Index{starter} (to be operated with the SPACE key in flight gear).
|
||||
|
||||
Like in most flight simulators, you actually get a bit more than in a real plane. The red field directly below the gyro compass displays the state of the \Index{brakes}, i.e., it is lit in case of the brakes being engaged. The instruments below indicate the position of your\Index{yoke}. This serves as kind of a compensation for the missing forces you feel while pushing a real \Index{yoke}. Three of the arrows correspond to the three axes of your yoke/pedal controlling nose up/down, bank left/right, rudder left/right, and throttle. (Keep in mind: They do \textbf{not} reflect the actual position of the plane!) The left vertical arrow indicates elevator trim.
|
||||
|
||||
The right hand side of the panel is occupied by the \Index{radio stack}. Here you find
|
||||
two \Index{VOR} receivers (NAV),\index{NAV} an \Index{NDB} receiver
|
||||
(\Index{ADF}) and two \Index{communication radio}s (COMM1/2)\index{COMM1}\index{COMM2} as
|
||||
well as the autopilot.
|
||||
|
||||
The \Index{communication radio} is used for communication with \Index{air traffic
|
||||
facilities}; it is just a usual radio transceiver working in a special frequency range.
|
||||
The frequency is displayed in the ''COMM'' field. Usually there are two \Index{COM
|
||||
transceiver}s; this way you can dial in the frequency of the next controller to contact
|
||||
while still being in contact with the previous one.
|
||||
|
||||
The COM radio can be used to display \Index{ATIS} messages as well. For this purpose, just to dial in the ATIS frequency of the relevant airport.
|
||||
|
||||
The \Index{VOR} (Very High Frequency Omni-Directional Range) receiver is used for course
|
||||
guidance during flight. The frequency of the sender is displayed in the ''\Index{NAV}'' field. In a sense, a VOR acts similarly to a light house permitting to display the position of the
|
||||
aircraft on a radial around the sender. It transmits one omni-directional ray of radio
|
||||
waves plus a second ray, the phase of which differs from the first one depending on its
|
||||
direction (which may be envisaged as kind of a ''rotating'' signal). The phase difference between the two signals allows evaluating the angle of the aircraft on a 360 degrees circle
|
||||
around the VOR sender, the so-called radial. This radial is then displayed on the gauges
|
||||
NAV1 and NAV2, resp., left to frequency field. This way it should be clear that the VOR display, while indicating the position of the aircraft relative to the VOR sender, does not say anything about the orientation of the plane.
|
||||
|
||||
Below the two COM/NAV devices is an \Index{NDB} receiver called ADF (automatic direction
|
||||
finder). Again there is a field displaying the frequency of the facility. The ADF can be
|
||||
used for navigation, too, but contrary to the VOR does not show the position of the plane
|
||||
in a radial relative to the sender but the direct heading from the aircraft to the
|
||||
sender. This is displayed on the gauge below the two NAV gauges.
|
||||
|
||||
Above the COMM1 display you will see three LEDs in the colors blue, amber, and white
|
||||
indicating the outer, middle, and, inner, resp. marker beacon.\index{marker,
|
||||
outer}\index{marker, inner}\index{marker, middle} These show the distance to the runway
|
||||
threshold during landing. They to not require the input of a frequency.
|
||||
|
||||
Below the radios you will find the \Index{autopilot}. It has five keys for WL = ''Wing-Leveler'', ''HDG'' = ''Heading'', NAV, APR = ''Glide-Slope'', and ALT = ''Altitude''. These keys when engaged hold the corresponding property.
|
||||
|
||||
You can change the numbers for the radios using the mouse. For this purpose, click left/right to the circular knob below the corresponding number. The corresponding switch left to this knob can be used for toggling between the active/standby frequency.
|
||||
|
||||
A detailed description of the workings of these instruments and their use for navigation
|
||||
lies beyond this Guide; if you are interested in this exciting topic, we suggest
|
||||
consulting a book on instrument flight (simulation). Besides, this would be material for
|
||||
a yet to be written \FlightGear{} Flight School.
|
||||
|
||||
It should be noted, that you can neglect these radio instruments as long as you are strictly flying according to \Index{VFR} (\Index{visual flight rules}). For those wanting to do \Index{IFR} (\Index{instrument flight rules}) flights, it should be mentioned that \FlightGear{} includes a huge database of \Index{navaids} worldwide.
|
||||
|
||||
Finally, you find the \Index{throttle}, \Index{mixture}, and flap control\index{flaps} in
|
||||
the lower right of the panel (recall, flaps can be set via $[$ and $]$ or just using the mouse).
|
||||
|
||||
As with the keyboard, the panel\index{panel!reconfiguration} can be re-configured using
|
||||
configuration files. As these have to be plane specific, they can be found under the
|
||||
directory of the corresponding plane. As an example, the configuration file for the
|
||||
default Cessna C172 can be found at \texttt{FlightGear/Aircraft/c172/Panels} as
|
||||
\texttt{c172-panel.xml}. The accompanying documentation for customizing it (i.e. shifting,
|
||||
replacing etc. gauges and more) is contained in the file \texttt{README.xmlpanel}\index{README.xmlpanel} written by John Check\index{Check, John},
|
||||
to be found in the source code in the directory \texttt{docs-mini}.
|
||||
|
||||
Since version 0.8.0, \FlightGear{} has a 3D cockpit including a 3D cockpit as an alternative to the 2D panel mentioned above (see Fig. 6). This one can be activated using the option \texttt{-$ $-aircraft=c172-3d}. Its functionality is the same as that of the 2D panel mentioned above, but it gives a much more realistic view, while instruments may be better readable in the 2D cockpit.
|
||||
\medskip
|
||||
|
||||
\centerline{\fbox{
|
||||
\includegraphics[clip,width=12.5cm]{panel3d}
|
||||
}}
|
||||
|
||||
\smallskip
|
||||
\noindent
|
||||
Fig.\,6: \textit{The 3D cockpit of the Cessna 172.}
|
||||
\medskip
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{The Head Up Display\index{head up display}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
At current, there are two options for reading off the main flight parameters of the
|
||||
plane: One is the instrument panel already mentioned, while the other one is the
|
||||
\Index{HUD} (\textbf{H}ead \textbf{U}p \textbf{D}isplay) \index{head up display}. Neither
|
||||
are \Index{HUD}s used in usual general aviation planes nor in civilian ones. Rather they
|
||||
belong to the equipment of modern military jets. However, some might find it easier to
|
||||
fly using the HUD even with general aviation aircraft. Several \Index{Cessna} pilots
|
||||
might actually love to have one, but technology is simply too expensive for implementing
|
||||
HUDs in general aviation aircraft. Besides, the HUD displays several useful figures
|
||||
characterizing simulator performance, not to be read off from the panel.
|
||||
|
||||
The \Index{HUD} shown in Fig.\,7 displays all main flight parameters of the plane. In
|
||||
the center you find the \Index{pitch indicator} (in degrees) with the \Index{aileron
|
||||
indicator} above and the \Index{rudder indicator} below. A corresponding scale for the
|
||||
elevation\index{elevation indicator} can be found to the left of the pitch scale. On the
|
||||
bottom there is a simple \Index{turn indicator}.
|
||||
|
||||
There are two scales at the extreme left: The inner one displays the \Index{speed} (in
|
||||
kts) while the outer one indicates position of the \Index{throttle}. The Cessna 172 takes
|
||||
off at around 55 kts. The two scales on the extreme r.h.s display your \Index{height},
|
||||
i.\,e. the left one shows the height above ground while the right of it gives that above
|
||||
zero, both being displayed in feet.
|
||||
|
||||
Besides this, the \Index{HUD} delivers some additions information. On the upper left you
|
||||
will find date and time. Besides, \Index{latitude} and \Index{longitude}, resp., of your current position are shown on top.
|
||||
|
||||
You can change color of the \textbf{HUD} using the ''H'' or ''h'' key. Pressing the toggle ''i/I'' minimizes/maximizes the HUD.
|
||||
|
||||
\medskip
|
||||
|
||||
\centerline{\fbox{
|
||||
\includegraphics[clip,width=12.5cm]{hud2}
|
||||
}}
|
||||
|
||||
\smallskip
|
||||
\noindent
|
||||
Fig.\,7: \textit{The HUD, or Head Up Display.}
|
||||
\medskip
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Mouse controlled actions\index{mouse, actions}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Besides just clicking the menues, your mouse has got certain valuable functions in \FlightGear{}$\!$.
|
||||
|
||||
|
||||
There are three \Index{mouse modes}.\index{mouse} In the normal mode (pointer cursor) panel's controls can be operated with the mouse. To change a control, click with the left/middle mouse button on the corresponding knob/lever. While the left mouse button leads to small increments/decrements, the middle one makes greater ones. Clicking on the left hand side of the knob/lever decreases the value, while clicking on the right hand side increases
|
||||
it.
|
||||
|
||||
Right clicking the mouse activates the simulator control mode (cross hair cursor). This allows control of aileron/elevator via the mouse in absence of a joystick/yoke (enable \texttt{-$ $-enable-auto-coordination} in this case). If you have a joystick you certainly will not make use of this mode
|
||||
|
||||
Right clicking the mouse another time activates the view control mode (arrow cursor).
|
||||
This allows changing direction of view, i.e. pan and tilt the view, via the mouse.
|
||||
|
||||
Right clicking the mouse once more resets it into the initial state.
|
||||
|
||||
If you are looking for some interesting \Index{places to discover} with \FlightGear{}
|
||||
(which may or may not require downloading additional scenery) you may want to check
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Places/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
There is now a menu entry for entering directly the \Index{airport code} of the
|
||||
airport you want to start from.
|
||||
|
||||
Finally, if you're done and are about to leave the plane, just hit the ESC key or use the
|
||||
corresponding menu entry to \Index{exit} the program. It is not suggested to simply
|
||||
''kill'' the simulator by clicking the text window.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Some further reading for student pilots\label{flightschoool}\index{flight schools}\index{text books}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
In view of that fact that there is not yet a \FlightGear{} specific flight course, here
|
||||
are some useful hints to texts for those who want to learn piloting a plane.
|
||||
|
||||
First, there is an excellent \Index{tutorial} written by David Megginson\index{Megginson, David} -- being one of the main developers of \FlightGear{} -- on flying a basic airport circuit specifically using \FlightGear{}. This document includes a lot of screen shots, numerical material etc., and is available from
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Docs/Tutorials/circuit}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Anyone new (and not so new) to \FlightGear{} is highly recommended to try this as a start!
|
||||
|
||||
Moreover, there are several more \Index{tutorial}s being not \FlightGear{} specific, but nonetheless helpful as well. First, a quite comprehensive manual of this type is the \Index{Aeronautical Information Manual}, published by the \Index{FAA}, and being online available at
|
||||
\medskip
|
||||
|
||||
\web{http://www.faa.gov/ATPubs/AIM/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
This is the Official Guide to Basic Flight Information and ATC Procedures by the FAA. It
|
||||
contains a lot of information on flight rules, flight safety, navigation, and more. If
|
||||
you find this a bit too hard reading, you may prefer the \Index{FAA Training Book},
|
||||
\medskip
|
||||
|
||||
\web{http://avstop.com/AC/FlightTraingHandbook/},
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
which covers all aspects of flight, beginning with the theory of flight and the working
|
||||
of airplanes, via procedures like takeoff and landing up to emergency situations. This is
|
||||
an ideal reading for those who want to learn some basics on flight but don't (yet) want
|
||||
to spend bucks on getting a costly paper pilot's handbook.
|
||||
|
||||
While the handbook mentioned above is an excellent introduction on \Index{VFR} (visual
|
||||
flight rules), it does not include flying according to \Index{IFR} (instrument flight
|
||||
rules). However, an excellent introduction into navigation and flight according to
|
||||
Instrument Flight Rules written by Charles Wood\index{Wood, Charles} can be found at
|
||||
|
||||
\web{http://www.navfltsm.addr.com/}.
|
||||
|
||||
Another comprehensive but yet readable text is John Denker's\index{Denker, John}
|
||||
''\Index{See how it flies}'', available at
|
||||
\medskip
|
||||
|
||||
\web{http://www.monmouth.com/~jsd/how/htm/title.html}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
This is a real online text book, beginning with Bernoulli's principle, drag and power,
|
||||
and the like, with the later chapters covering even advanced aspects of VFR as well as
|
||||
IFR flying
|
||||
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
||||
%% Revision 0.01 1998/09/20 michael
|
||||
%% several extensions and corrections, added Fig.1.
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% Complete revision of keyborad controls, interesting places
|
||||
%% revision 0.12 1999/03/07 michael
|
||||
%% Corrected rudder key
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% HUD completely rewritten, added panel section with picture, and menu section
|
||||
%% updated keystrokes
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% again updated and added keystrokes
|
||||
%% revised menu entries
|
||||
%% picture of new panel and re-written panel section
|
||||
%% added mouse control section
|
||||
%% Updated many keys, notably autopilot related, added two new tables
|
||||
%% revision 0.4 2001/05/12 michael
|
||||
%% updated/added many keystrikes, updated/added panel description
|
||||
%% (radio stack etc.), new panel pic, panel before HUD now
|
||||
%% short description of VOR/NDB
|
||||
%% revision 0.41 2001/01/01 michael
|
||||
%% added section on flight school material
|
||||
%% added hints to user configurable *.xml files
|
||||
%% revision 0.5 2002/01/01 michael
|
||||
%% revised all changed keybindings now mostly read off of keyboard.xml
|
||||
%% restructured tables more logically and put into separate files
|
||||
%% for inclusion in Short Reference
|
||||
%% New panel picture and revised descirption of panel according to new features
|
||||
%% New HUD picture
|
||||
%% revision 0.6 2002/09/05 michael
|
||||
%% Several corrections/tweaks in plus renumbering of tables
|
||||
%% Tweaks in menu entries
|
||||
%% Added 3D cockpit picture
|
||||
%% Changing numbers in radios
|
456
Docs/source/free.tex
Normal file
|
@ -0,0 +1,456 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: free.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Want to have a free flight? Take {\FlightGear{}}!\label{free}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Yet Another Flight Simulator?}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markboth{\thechapter.\hspace*{1mm} WANT TO HAVE A FREE FLIGHT?}{\thesection\hspace*{1mm}
|
||||
YET ANOTHER FLIGHT SIMULATOR?}
|
||||
|
||||
Did you ever want to fly a plane yourself, but lacked the money or ability to do so? Are
|
||||
you a real pilot looking to improve your skills without having to take off? Do you want
|
||||
to try some dangerous maneuvers without risking your life? Or do you just want to have
|
||||
fun with a more serious game without any violence? If any of these questions apply
|
||||
to you, PC flight simulators are just for you.
|
||||
|
||||
You may already have some experience using \Index{Microsoft}'s {\copyright} Flight Simulator
|
||||
or any other of the commercially available PC flight simulators. As the
|
||||
price tag of those is usually within the {\$}50 range, buying one of them should not be a
|
||||
serious problem given that running any serious PC flight simulator requires PC hardware
|
||||
within the {\$}1500 range, despite dropping prices.
|
||||
|
||||
With so many commercially available flight simulators, why would we spend
|
||||
thousands of hours of programming and design work to build a free flight
|
||||
simulator? Well, there are many reasons, but here are the major ones:
|
||||
|
||||
\begin{itemize}
|
||||
\item All of the commercial simulators have a serious drawback: they are made
|
||||
by a small group of developers defining their properties according to what
|
||||
is important to them and providing limited interfaces to end users. Anyone
|
||||
who has ever tried to contact a commercial developer would agree that getting
|
||||
your voice heard in that environment is a major challenge. In contrast,
|
||||
\FlightGear{} is designed by the people and for the people with everything
|
||||
out in the open.
|
||||
\item Commercial simulators are usually a compromise of features and
|
||||
usability. Most commercial developers want to be able to serve a broad
|
||||
segment of the population, including serious pilots, beginners, and even
|
||||
casual gamers. In reality the result is always a compromise due to deadlines
|
||||
and funding. As \FlightGear{} is free and open, there is no need for such a
|
||||
compromise. We have no publisher breathing down our necks, and we're all
|
||||
volunteers that make our own deadlines. We are also at liberty to support
|
||||
markets that no commercial developer would consider viable, like the
|
||||
scientific research community.
|
||||
\item Due to their closed-source nature, commercial simulators keep developers
|
||||
with excellent ideas and skills from contributing to the products. With
|
||||
\FlightGear{}, developers of all skill levels and ideas have the potential
|
||||
to make a huge impact on the project. Contributing to a project as large
|
||||
and complex as \FlightGear{} is very rewarding and provides the developers
|
||||
with a great deal of pride in knowing that we are shaping the future of a
|
||||
great simulator.
|
||||
\item Beyond everything else, it's just plain fun! I suppose you could
|
||||
compare us to real pilots that build kit-planes or scratch-builts. Sure,
|
||||
we can go out a buy a pre-built aircraft, but there's just something special
|
||||
about building one yourself.
|
||||
\end{itemize}
|
||||
|
||||
The points mentioned above form the basis of why we created \FlightGear{}.
|
||||
With those motivations in mind, we have set out to create a high-quality
|
||||
flight simulator that aims to be a civilian,\index{Flight simulator!civilian}
|
||||
multi-platform,\index{Flight simulator!multi-platform} open,\index{Flight simulator!open}
|
||||
user-supported,\index{Flight simulator!user-sported} and user-extensible\index{Flight
|
||||
simulator!user-extensible} platform. Let us take a closer look at each of these
|
||||
characteristics:
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Civilian:}\index{Flight simulator!civilian} The project is primarily aimed
|
||||
at civilian flight simulation. It should be appropriate for simulating general aviation
|
||||
as well as civilian aircraft. Our long-term goal is to have \FlightGear{} FAA-approved as
|
||||
a flight training device. To the disappointment of some users, it is currently not a
|
||||
combat simulator; however, these features are not explicitly excluded. We just have
|
||||
not had a developer that was seriously interested in systems necessary for combat
|
||||
simulation.
|
||||
|
||||
\item\textbf{Multi-platform:}\index{Flight simulator!multi-platform} The
|
||||
developers are attempting to keep the code as platform-independent as possible. This
|
||||
is based on their observation that people interested in flight simulations run quite a
|
||||
variety of computer hardware and operating systems. The present code supports the
|
||||
following \Index{Operating Systems}:
|
||||
\begin{itemize}
|
||||
\item\Index{Linux} (any distribution and platform),
|
||||
\item\Index{Windows NT/2000/XP} (Intel/AMD platform),
|
||||
\item\Index{Windows 95/98/ME},
|
||||
\item\Index{BSD UNIX},
|
||||
\item\Index{SGI IRIX},
|
||||
\item\Index{Sun-OS},
|
||||
\item{Macintosh.}
|
||||
\end{itemize}
|
||||
|
||||
At present, there is no known flight simulator -- commercial or free -- supporting such a
|
||||
broad range of platforms.
|
||||
|
||||
\item\textbf{Open:}\index{Flight simulator!open} The project is not restricted to a
|
||||
static or elite cadre of developers. Anyone who feels they are able to contribute
|
||||
is most welcome. The code (including documentation) is copyrighted under the
|
||||
terms of the \Index{GNU General Public License} (\Index{GPL}).
|
||||
|
||||
The \Index{GPL} is often misunderstood. In simple terms it
|
||||
states that you can copy and freely distribute the program(s) so licensed.
|
||||
You can modify them if you like and even charge as much money as want to for the
|
||||
distribution of the modified or original program. However, you must freely provide
|
||||
the entire source code to anyone who wants it, and it must retain the original copyrights.
|
||||
In short:
|
||||
\medskip
|
||||
|
||||
\centerline{\textit{''You can do anything with the software except make it non-free''}.}
|
||||
|
||||
The full text of the \Index{GPL} can be obtained from the \FlightGear{} source code or from
|
||||
\medskip
|
||||
|
||||
\web{http://www.gnu.org/copyleft/gpl.html}.
|
||||
\medskip
|
||||
|
||||
\item\textbf{User-supported and user-extensible:}\index{Flight simulator!user-supported}
|
||||
\index{Flight simulator!user-extensible} Unlike most commercial simulators,
|
||||
\FlightGear{}''s scenery and aircraft formats, internal variables, APIs, and everything
|
||||
else are user accessible and documented from the beginning. Even without any explicit
|
||||
development \Index{documentation} (which naturally has to be written at some point),
|
||||
one can always go to the \Index{source code} to see how something works. It is the
|
||||
goal of the developers to build a basic engine to which scenery designers, panel
|
||||
engineers, maybe adventure or ATC routine writers, sound artists, and others can build
|
||||
upon. It is our hope that the project, including the developers and end users, will
|
||||
benefit from the creativity and ideas of the hundreds of talented ''simmers'' around
|
||||
the world.
|
||||
\end{itemize}
|
||||
|
||||
Without doubt, the success of the \Index{Linux} project, initiated by Linus
|
||||
Torvalds,\index{Torvalds, Linus} inspired several of the developers.
|
||||
Not only has \Index{Linux} shown that distributed development of highly
|
||||
sophisticated software projects over the Internet is possible, it has also
|
||||
proven that such an effort can surpass the level of quality of competing
|
||||
commercial products.
|
||||
\medskip
|
||||
|
||||
\centerline{\fbox{
|
||||
\includegraphics[clip,width=12.5cm]{KSFOapp}
|
||||
}}
|
||||
|
||||
\smallskip
|
||||
\noindent
|
||||
Fig.\,1: \textit{\FlightGear{} under UNIX: Bad approach to San Francisco International - by one of the authors of this manual\ldots}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{System Requirements}\index{system requirements}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
In comparison to other recent flight simulators, the \Index{system requirements} for
|
||||
\FlightGear{} are not extravagant. A decent PIII/800, or something in that range, should be
|
||||
sufficient given you have a proper 3-D \Index{graphics card}. Additionally, any
|
||||
modern \Index{UNIX}-type \Index{workstation} with a 3-D graphics card will handle
|
||||
\FlightGear{} as well.
|
||||
|
||||
One important prerequisite for running \FlightGear{} is a graphics card whose driver supports
|
||||
\Index{OpenGL}. If you don't know what \Index{OpenGL} is, the overview given at the OpenGL website
|
||||
\medskip
|
||||
|
||||
\web{http://www.opengl.org}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
says it best: ``Since its introduction in 1992, OpenGL has become the
|
||||
industry's most widely used and supported 2-D and 3-D graphics application programming
|
||||
interface (API)...''.
|
||||
|
||||
\FlightGear{} does not run (and will never run) on a graphics board which only supports
|
||||
\Index{Direct3D}. Contrary to OpenGL, Direct3D is a proprietary interface, being restricted to
|
||||
the Windows operating system.
|
||||
|
||||
You may be able to run \FlightGear{} on a computer that features a 3-D video card not
|
||||
supporting hardware accelerated \Index{OpenGL} -- and even on systems without 3-D
|
||||
graphics hardware at all. However, the absence of hardware accelerated OpenGL support can bring even the fastest machine to its knees. The typical signal for missing hardware acceleration
|
||||
are \Index{frame rate}s below 1 frame per second.
|
||||
|
||||
Any modern 3-D graphics featuring \Index{OpenGL} support will do. For
|
||||
\Index{Windows} video card drivers that support OpenGL, visit the home page of your video
|
||||
card manufacturer. You should note that sometimes OpenGL drivers\index{OpenGL!drivers}
|
||||
are provided by the manufacturers of the graphics chip instead of by the makers of the
|
||||
board. If you are going to buy a graphics card for running \FlightGear{}, one based on a
|
||||
NVIDIA chip (TNT X/Geforce X) might be a good choice.
|
||||
|
||||
To install the executable and basic scenery, you will need around 50 MB of free \Index{disk
|
||||
space}. In case you want/have to to compile the program yourself you will need about an additional
|
||||
500 MB for the source code and for temporary files created during compilation. This does not
|
||||
include the development environment, which will vary in size depending on the operating system
|
||||
and environment being used. Windows users can expect to need approximately 300 MB of additional
|
||||
disk space for the development environment. Linux and other UNIX machines should have most of
|
||||
the development tools already installed, so there is likely to be little additional space
|
||||
needed on those platforms.
|
||||
|
||||
For the \Index{sound effects}, any capable \Index{sound card} should suffice.
|
||||
Due to its flexible design, \FlightGear{} supports a wide range of \Index{joysticks} and
|
||||
\Index{yokes} as well as \Index{rudder pedals} under \Index{Linux} and \Index{Windows}.
|
||||
\FlightGear{} can also provide interfaces to full-motion flight chairs.
|
||||
|
||||
\FlightGear{} is being developed primarily under \Index{Linux}, a free UNIX clone
|
||||
(together with lots of GNU utilities) developed cooperatively over the Internet in much
|
||||
the same spirit as \FlightGear{} itself. \FlightGear{} also runs and is partly developed
|
||||
under several flavors of \Index{Windows}. Building \FlightGear{} is also possible on a Macintosh OSX
|
||||
and several different UNIX/X11 workstations. Given you have a proper \Index{compiler} installed,
|
||||
\FlightGear{} can be built under all of these platforms. The primary compiler for all platforms is
|
||||
the free \Index{GNU C++} compiler (the \Index{Cygnus} \Index{Cygwin} compiler under Win32).
|
||||
|
||||
If you want to run \FlightGear{} under Mac OSX we suggest a Power PC G3 300 MHz or better. As a
|
||||
graphics card we would suggest an ATI Rage 128 based card as a minimum. Joysticks are supported
|
||||
under Mac OS 9.x only; there is no joystick support under Max OSX at this time.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Choosing A Version}\index{FlightGear!versions}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Concerning the \FlightGear{} source code there exist two branches, a stable branch and a
|
||||
developmental branch.\index{branch, stable}\index{branch, developmental} Even version numbers
|
||||
like 0.6, 0.8, and (someday hopefully) 1.0 refer to stable releases, while odd
|
||||
numbers like 0.7, 0.9, and so on refer to developmental releases. The policy is to only do
|
||||
bug fixes in the even versions, while new features are generally added to odd-numbered
|
||||
versions which, after all things have stabilized, will become the next stable release
|
||||
with a version number calculated by adding 0.1.\label{branches}
|
||||
|
||||
To add to the confusion, there usually are several versions of the ''unstable''
|
||||
branch. First, there is a ''latest official release'' which the pre-compiled binaries are based
|
||||
on. It is available from
|
||||
\medskip
|
||||
|
||||
\web{ftp://ftp.flightgear.org/pub/fgfs/Source/FlightGear-X.Y.Z.tar.gz}
|
||||
\medskip
|
||||
|
||||
For developers there exist CVS snapshots\index{CVS snapshots}\index{nightly snapshots} of the
|
||||
source code, available from
|
||||
\medskip
|
||||
|
||||
\web{ftp://www.flightgear.org/pub/flightgear/Devel/Snapshots/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
While theses are quite recent, they may still be sometimes a few days back behind
|
||||
development. Thus, if you really want to get the very latest and greatest (and, at times,
|
||||
buggiest) code, you can use a tool called \Index{anonymous cvs}\index{cvs, anonymous}
|
||||
available from
|
||||
\medskip
|
||||
|
||||
\web{http://www.cvshome.org/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
to get the recent code. A detailed description of how to set this up for \FlightGear{}
|
||||
can be found at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/cvsResources/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Unfortunately, the system implemented above does not really work as it should. As a matter of
|
||||
fact, the stable version is usually so much outdated, that it does not at all reflect the state
|
||||
of development \FlightGear{} has reached. Given that the recent developmental versions on the
|
||||
other hands may contain bugs (\ldots undocumented features), we recommend using the
|
||||
''latest official (unstable) release'' for the average user. This is the latest version named at
|
||||
|
||||
\web{http://www.flightgear.org/News/};
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
usually this is also the version which the binary distributions\index{distribution!binary}
|
||||
available at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Downloads/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
are based on. If not otherwise stated, all procedures in this ``Installation and Getting Started''
|
||||
will be based on these packages.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Flight Dynamics Models\label{flight models}}\index{flight dynamics model}\index{flight model}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Historically, \FlightGear{} has been based on a flight model it inherited (together
|
||||
with the Navion airplane) from LaRCsim. As this had several limitations (most important,
|
||||
many characteristics were hard wired in contrast to using configuration files), there were
|
||||
several attempts to develop or include alternative \Index{flight models}. As a result,
|
||||
\FlightGear{} supports several different flight models, to be chosen from at runtime.
|
||||
|
||||
The most important one is the JSB flight model developed by Jon Berndt. Actually, the JSB
|
||||
flight model is part of a stand-alone project called \JSBSim, having its home at
|
||||
\medskip
|
||||
|
||||
\web{http://jsbsim.sourceforge.net/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Concerning airplanes, the JSB flight model at present provides support for a
|
||||
\Index{Cessna 172}, a \Index{Cessna 182}, a \Index{Cessna 310}, and for an experimental plane
|
||||
called \Index{X15}. Jon and his group are gearing towards a very accurate flight model, and the
|
||||
JSB model has become \FlightGear{}'s default flight model.
|
||||
|
||||
As an interesting alternative, Christian Mayer developed a flight model of a hot air
|
||||
balloon. Moreover, Curt Olson integrated a special ''UFO'' slew mode, which
|
||||
helps you to quickly fly from point A to point B.
|
||||
|
||||
Recently, Andrew Ross contributed another flight model called \YASim{}\index{YASim} for
|
||||
\textit{Yet Another Simulator}. At present, it sports another \Index{Cessna 172}, a
|
||||
\Index{Turbo 310}, a fairly good \Index{DC-3} model, along with a \Index{Boeing 747},
|
||||
\Index{Harrier}, and \Index{A4}. \YASim{} takes a fundamentally different approach since it's
|
||||
based on geometry information rather than aerodynamic coefficients. Where \JSBSim{} will be exact for every situation that is known and flight tested, but may have odd and/or unrealistic behavior outside normal flight, \YASim{} will be sensible and consistent in almost every flight situation, but is likely to differ in performance numbers.
|
||||
|
||||
As a further alternative, there is the \Index{UIUC flight model}, developed by a
|
||||
team at the University of Illinois at Urbana-Champaign. This work was
|
||||
initially geared toward modeling aircraft in icing conditions\index{icing!modelling} together with a smart icing system to better enable pilots to fly safely in an icing
|
||||
encounter. While this research continues, the project has expanded to
|
||||
include modeling ''nonlinear'' aerodynamics, which result in more realism
|
||||
in extreme attitudes, such as stall and high angle of attack flight. Two
|
||||
good examples that illustrate this capability are the \Index{Airwave Xtreme 150}
|
||||
\Index{hang glider} and the 1903 \Index{Wright Flyer}. For the hang glider, throttle can
|
||||
be use to fly to gliding altitude or Ctrl-U can be used to jump up in
|
||||
1000-ft increments. Try your hand at the unstable Wright Flyer and don't
|
||||
stall the canard! Considerable up elevator trim will be required for level
|
||||
flight. In general, the aerodynamics are probably very close to the
|
||||
original Wright Flyer as they are partly based on experimental data taken
|
||||
on a replica tested recently at the NASA Ames Research Center. Also
|
||||
included are two more models, a \Index{Beech 99} and \Index{Marchetti S-211} jet trainer,
|
||||
which are older generation UIUC/FGFS models and based on simpler ''linear''
|
||||
aerodynamics. More details of the UIUC flight model and a list of aircraft
|
||||
soon to be upgraded can be found on their website at
|
||||
\medskip
|
||||
|
||||
\href{http://amber.aae.uiuc.edu/~m-selig/apasim.html}{http://amber.aae.uiuc.edu/$\tilde{~~}$m-selig/apasim.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Note that the 3D models of the UIUC airplanes\index{UIUC airplanes!3D models} can be downloaded from a site maintained by Wolfram Kuss
|
||||
\medskip
|
||||
|
||||
\web{http://home.t-online.de/home/Wolfram.Kuss/}
|
||||
\medskip
|
||||
|
||||
It is even possible to drive FlightGear's scene display using an external FDM\index{FDM!external}
|
||||
running on a different computer -- although this might not be a setup recommended to people just
|
||||
getting in touch with \FlightGear.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{About This Guide}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markright{\thesection.\hspace*{1mm} ABOUT THIS GUIDE}
|
||||
|
||||
There is little, if any, material in this Guide that is presented here exclusively. You
|
||||
could even say with Montaigne that we ''merely gathered here a big bunch of other men's
|
||||
flowers, having furnished nothing of my own but the strip to hold them together''. Most
|
||||
(but fortunately not all) of the information herein can also be obtained from the
|
||||
\FlightGear{} web site\index{FlightGear Website} located at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/}
|
||||
\medskip
|
||||
|
||||
Please, keep in mind that there are several mirrors of the \FlightGear{} web sites, all
|
||||
of which are linked to from the \FlightGear{} homepage listed above.
|
||||
You may prefer to download \FlightGear{} from a mirror closer to you than from the
|
||||
main site.
|
||||
|
||||
This \textit{\FlightGear{} Installation and Getting Started} manual is intended to be a
|
||||
first step towards a complete \FlightGear{} documentation\index{FlightGear
|
||||
documentation}. The target
|
||||
audience is the end-user who is not interested in the internal workings of \Index{OpenGL}
|
||||
or in building his or her own scenery. It is our hope, that someday there
|
||||
will be an accompanying \textit{\FlightGear{} Programmer's Guide}\index{FlightGear
|
||||
Programmer's Guide} (which could be based on some of the documentation found at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Docs};
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
a \textit{\FlightGear{} Scenery Design Guide},\index{FlightGear Scenery Design Guide}
|
||||
describing the Scenery tools now packaged as \TerraGear{}; and a \textit{\FlightGear{}
|
||||
Flight School}\index{FlightGear Flight School} package.
|
||||
\medskip
|
||||
|
||||
As a supplement, we recommend reading the \FlightGear{} FAQ to be found at
|
||||
|
||||
\web{http://www.flightgear.org/Docs/FlightGear-FAQ.html}
|
||||
|
||||
which has a lot of supplementary information that may not be included in this manual.
|
||||
|
||||
\textbf{We kindly ask you to help us refine this document by submitting corrections,
|
||||
improvements, and suggestions. All users is invited to contribute descriptions of alternative
|
||||
setups (graphics cards, operating systems etc.). We will be more than happy to include
|
||||
those into future versions of this \textit{Installation and Getting Started} (of course
|
||||
not without giving credit to the authors).}
|
||||
|
||||
While we intend to continuously update this document, we may not be able to produce a
|
||||
new version for every single release of {\FlightGear{}}. To do so would require more
|
||||
manpower that we have now, so please feel free to jump in and help out. We hope to
|
||||
produce documentation that measures up to the quality of \FlightGear{} itself.
|
||||
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
||||
%% Revision 0.01 1998/09/20 michael
|
||||
%% several extensions and corrections
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% minor corrections on platforms, satellite data, OpenGL
|
||||
%% added Navion pic
|
||||
%% revision 0.12 1999/03/07 michael
|
||||
%% update on recent development
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% updates on recent development, corrections of links
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% Rewritten for version 0.7.2, many changes, added development since summer 1999,
|
||||
%% development vs. stable version, split into SimGear/FlightGear/TerraGear
|
||||
%% Proofread by Jon Berndt
|
||||
%% revision 0.4 2001/05/12 michael
|
||||
%% update on development during the last year, corrections on requirements,
|
||||
%% new sections on different versions and on flight models
|
||||
%% revision 0.41 2001/07/01 martin & michael
|
||||
%% comment on external FDM
|
||||
%% hint to FAQ
|
||||
%% extended remarks on property manager
|
||||
%% revision 0.5 2002/01/01 michael
|
||||
%% several minor updates, corrected links
|
||||
%% Hint on YASim by Martin
|
||||
%% Picture KSFOapp added by Martin
|
||||
%% System requirements contributed from Darrell
|
||||
%% revision 0.6 2002/02/23 cameron
|
||||
%% Many, many corrections
|
||||
%% Rewrote several parts
|
||||
%% Changed section titles
|
||||
%% revision 0.6 2002/09/07 michael
|
||||
%% Added contribution by M Selig on UIUC models
|
122
Docs/source/getstart.tex
Normal file
|
@ -0,0 +1,122 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Master file
|
||||
%%
|
||||
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: getstart.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
\documentclass[11pt,openany]{book}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{times}
|
||||
\usepackage{hyperref}
|
||||
%\usepackage[html,2]{tex4ht}
|
||||
|
||||
\newcommand{\Index}[1]{#1\index{#1}}
|
||||
\newcommand{\FlightGear}{{\itshape\bfseries FlightGear}}
|
||||
\newcommand{\TerraGear}{{\itshape\bfseries TerraGear}}
|
||||
\newcommand{\SimGear}{{\itshape\bfseries SimGear}}
|
||||
\newcommand{\PLIB}{{\itshape\bfseries PLIB}}
|
||||
\newcommand{\JSBSim}{{\itshape\bfseries JSBSim}}
|
||||
\newcommand{\YASim}{{\itshape\bfseries YASim}}
|
||||
\newcommand{\web}[1]{\href{#1}{#1}}
|
||||
\newcommand{\mail}[1]{\href{mailto:#1}{#1}}
|
||||
\newcommand{\Cygwin}{{\itshape\bfseries Cygwin}}
|
||||
|
||||
\newcommand{\longpage}{\enlargethispage{\baselineskip}}
|
||||
\newcommand{\shortpage}{\enlargethispage{-\baselineskip}}
|
||||
|
||||
\makeindex
|
||||
|
||||
\begin{document}
|
||||
\include{title}
|
||||
\include{preface}
|
||||
\part{Installation}
|
||||
\include{free}
|
||||
\include{building}
|
||||
\include{prefligh}
|
||||
\part{Flying with \FlightGear{}}
|
||||
\include{takeoff}
|
||||
\include{flight}
|
||||
\part{Appendices}
|
||||
\begin{appendix}
|
||||
\include{missed}
|
||||
\include{opengl}
|
||||
\include{landing}
|
||||
\end{appendix}
|
||||
|
||||
\include{GSindex}
|
||||
|
||||
\end{document}
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
||||
%% incl. Linux stuff from b buckel
|
||||
%% Revision 0.01 1998/09/20 michael
|
||||
%% several extensions and corrections, added Fig.1.
|
||||
%% Revision 0.02 1998/09/29 michael
|
||||
%% added Chapter takeoff from b buckel
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% added Chapter missed approach from b buckel
|
||||
%% inclusion file splitting
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% corrected ~, _ in URLs
|
||||
%% revision 0.12 1999/03/07 michael
|
||||
%% changed Font to Times in print version
|
||||
%% dropped .ps file
|
||||
%% working URLs in .html version
|
||||
%% corrected misspellings
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% updated for fgfs 0.6
|
||||
%% added sections on menu and panel
|
||||
%% smaller and updated pix for faster download
|
||||
%% revision 0.21 1999/06/30 michael
|
||||
%% Linux update by Bernhard
|
||||
%% revision 0.22 2000/01/18 michael
|
||||
%% Minor corrections
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% Rewrite for version 0.7.2
|
||||
%% Discarded TerraGear which should go into a Scenery Maker's Guide
|
||||
%% Complete Proofreading
|
||||
%% Chapter Freeflight proofread by Jon Berndt
|
||||
%% revision 0.31 2000/04/22 michael
|
||||
%% Added remarks on OpenGL/Matrox by Alex Perry
|
||||
%% revision 0.4 2001/05/12 michael
|
||||
%% several chapters completely re-writte, others updated, outdated stuff deleted
|
||||
%% changed (hopefully) all addresses to point to the Sourceforge server
|
||||
%% complete proof-reading and correction
|
||||
%% revision 0.41 2001/07/01 michael & martin
|
||||
%% added Martin Spott as contributor
|
||||
%% Numerous corrections to all sections by Martin after proof-reading
|
||||
%% reset all links to the FlightGear site back to flightgear.org :-(
|
||||
%% revision 0.5 2002/02/15 michael/martin
|
||||
%% Updates for version 0.7.9, plit into three parts including appendices,
|
||||
%% re-arrangement of several stuff for better clarity, updated links
|
||||
%% OpenGL stuff as last chapter reflecting most systems being OpenGl ready today
|
||||
%% clickable links and bookmarks in the .pdf version using pdflatex
|
||||
%% revision 0.51 2002/02/16 michael/martin
|
||||
%% Proofreading corrections by us and others
|
||||
%% revision 0.6 2002/09/09 michael/martin
|
||||
%% Update for version 0.8 if FlightGear
|
||||
%% Spell checking
|
||||
%% Several 3rd party contributions (see landing.tex)
|
634
Docs/source/hud2.eps
Normal file
|
@ -0,0 +1,634 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: jpeg2ps V1.5 by Thomas Merz
|
||||
%%Title: hud2.jpg
|
||||
%%CreationDate: Tue Feb 12 21:04:42 2002
|
||||
%%BoundingBox: 20 20 404 308
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
/languagelevel where {pop languagelevel 2 lt}{true} ifelse {
|
||||
(JPEG file 'hud2.jpg' needs PostScript Level 2!\n) dup print flush
|
||||
/Helvetica findfont 20 scalefont setfont 100 100 moveto show showpage stop
|
||||
} if
|
||||
save
|
||||
/RawData currentfile /ASCII85Decode filter def
|
||||
/Data RawData << >> /DCTDecode filter def
|
||||
20 20 translate
|
||||
384.00 288.00 scale
|
||||
/DeviceRGB setcolorspace
|
||||
{ << /ImageType 1
|
||||
/Width 640
|
||||
/Height 480
|
||||
/ImageMatrix [ 640 0 0 -480 0 480 ]
|
||||
/DataSource Data
|
||||
/BitsPerComponent 8
|
||||
/Decode [0 1 0 1 0 1]
|
||||
>> image
|
||||
Data closefile
|
||||
RawData flushfile
|
||||
showpage
|
||||
restore
|
||||
} exec
|
||||
s4IA0!"_al8O`[\!<E1F!-eJDs4[N@!!WQ0"pG,6"pG29#6kG@&./aN#mq@V%h'!
|
||||
c'GqZ''G_H&*@2dG)^?=<(*G.N,:4ce.Oc5W/MJb)0I8+r.0&$%6NIDs#7:_D'+,
|
||||
'[-lNj>-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n
|
||||
$Jl-n,,4!"fJ;hu\E2!?qLF&HMtG!WU(<)?9a=!s&E&zz!!!$$!!<?-#62UA)$'a
|
||||
=!<E3%zz!!!!"!WrQ/s4RG]!s&B'&-EID!!2`$[f'jaNHmBtD^X9th92JYbBcZ&F
|
||||
lCE4G]G0<*/W:&,'DkcSTo0&?6"gRLE^m"aIRQr-XIdLf7tPmiQ.R7E[P05M:[M,
|
||||
FlCE4G]G0<*/W:&,'DkcSTo0&?6"gRLE^m"aIRQr-XIdLf7tPmiQ.R7E[P05NI*Z
|
||||
U9:ni-)04ng/H$&[T@nY*WUBT\;opcF4JHsG/fdO-1!pug>qsM-;K@J6B.?t`EhV
|
||||
$RW-)`&*E1'7eNB^hU#n_>3N@2a/0.=*("AbPFf-Q,C!)33EhV$RW-,!da&6sbd[
|
||||
[gi-S?E<b%%AqN?'Io/'p7^29^qn>_u[^#b1!@*<C^dL-!RL"B%kR3f\E=&_ih;;
|
||||
aiB4aC:qh8-"NtMNH(S+TsQd&J0S``FN(2q6K@iD&">Zf0FD'6j-IObDif#,gA`j
|
||||
)-qfGPF#\JH@Z;]HnqHGK#mH,XVMhtfP2Qr!#c4^M(E26XG^5).lN!h`9.4]((ik
|
||||
N5fjRn(aKZ#,a8g'lIS&-.ob\/*J#Mu(]l%%=-G.@JQakI9;ad&'hXbERPriLerV
|
||||
1b.0]O7AMe$SI1R;h_4WJg[N1L(i%iCt-8KA,k;j'5%!NYId5DWs9)t+(75Yq?D8
|
||||
cqf%Okh>KYiX5>]E=P<db$L;X%04WWEfj9Vm^U/(Z!kf*mjB>c1.eZWsSiZl%rI)
|
||||
.oPPB"2B?iK.i;QHK[n"p?&"Z7M9X_c/6FR"=11[GWX\[:trE]!t_4[C&?Nb@XW^
|
||||
`Y/D6MT(KG8Ke]j3f"eu=@SCoA0?uO:kM.L8m2Q=63[u0KJHL]Kb":r"XX3a+G2*
|
||||
gM'S>%#XkEjJjFot,:nR"$Z)]][b@gKk,I=X@\pV-/(%XDc%f.;(aMWZig#'=\LC
|
||||
aEXtnLaFHFa4d>1Fn)]5SY[9+gh+B@'mf`WoU6O3qt+Hd!;_A!Rp)4Dh:8K_Q.,V
|
||||
m7a;Fj@r%W'3iej;6R.bIu1!!WUBAS3mdD+b=S(ec-b;O@](M-sEs`2RWPP@Ec%2
|
||||
'#`$3Sr!^W@Ls5.#,TLVJ=hX?i^rk,Y8"\a>-%TP0"t7?m.?-M%"4QCi$(00gjad
|
||||
9oeNkQGTm/"B!QGYq&,?>3`Dj`e94W%"n]&.2i=cC]]>h723i(XLP&:.^cKYg46U
|
||||
XR38dM\6?GL[9S:jXFQHH8-*7Yj,-bX+bYroP!L+_]4433QHE=:/1_/2L'8Gl#Hk
|
||||
Y]QCnp"@8eVM8;*7*@hgVL3BHe'j`^30$9TgT0pHGhAsu]E\kpX(>!bM#+>C`m!=
|
||||
/a,.H3\6XiE;dE)_dH\7pk`2:Z;YD02QlB<F[c$p7T0b+r@sR<5l>CDk>?g'T7[J
|
||||
C`5YUS9>&;kq$$=;#%X:h&ZaF.lV[Q_e:W6bRXG&luue=G[q%Y?7($:_3UlKk..*
|
||||
$R.E?eXKIVCC7.eN:lNkMe&i/m`o!Q,us5/%9oj6Ek51GX;=#=ap*r>(Y1-q9NDp
|
||||
$TY^\,q!1dIW?Y5b"tF)]ElCnp#p@p)ad1\lG"4srha&j&B9fp\=2ocl,$q-]Zt:
|
||||
%R]h9XqX?e=,BG(BsaKb&YY-sgrd<-6oOt`cQ.5sSEC'lL=CA+@D)Q8Q6dogu:cE
|
||||
&MJPuV!!TXmri<2quYPd,'ae13m_WMg)s(`.s&@2;^@)C@W"Mlt7#)=(sW/;:VPD
|
||||
6foT%WXaV6ToXiS@?6/b@QO'P%cnhV2D..1="U6<:6dN?KAV3(;NeE7T#frq7X(Q
|
||||
qaCTl>3=A`8/DnHki(_?+el*AUo-KYNY593S6^P$QTcIf@\X.gP%c(S<fL\-b4t0
|
||||
N"BD[+=SLc+]/@!,af&jSMeo)mdaVJP7T-hb>:X262Oq?f/VMD+$D>-fl.MHDV90
|
||||
6AMb16N1;g3kb9c""cubbGdF=]aa&tD#6';Sq?U.$ol)M;m%Xuc(a^U$W["/i!FU
|
||||
kl^>/A%dMGgRT$%8)-=<pg33TI-7W[Wm#47UJ&e%"F[ZqE3G&>>Tpd&iEIA8)>jN
|
||||
c!$`R:_/Qg&\4Z5S7`_NMSE*:gZ50B@JFGMs\;iUG:FSRkhWmCsHJ.gITOq,ppoL
|
||||
ncVT:>3-A6,fgB<^]H\=Z5TOFART.N/J1jb%Z9_(GElND:-n*CK-t:4PG%Xf)a]g
|
||||
J#a7WChaf5`P9Olk$+_+9$dgY&Q'g"r._]gk*L9>LgH!c!2OJ;;g^Nm9'/m7b,h-
|
||||
k-lPO-tkKt_(SD$&a(peALXq+/`TbYP(Y*8pN7$M)@A-6;mOOj'W6qA.'&fNiKQ*
|
||||
YSTS99Dg5Gc[Vd:J*!ok<DoeK^6SZ-%d9cFT75[3mnF&nn=,fjZ)$!tB+4/SR4VC
|
||||
4'27oi#7!&>811db/K\?+HRd:rh*A9k\S<G%lKG.k^7.5V#s@ejUj(9,NR)"#sM*
|
||||
kgaiK]#/5TBR$6=H"].9C`n!tAa>j)E*J:SZ_$=@`!t&<LJbT5SVoJ1]r'jsF=YR
|
||||
.1Y<1!=UGs=ZS]4-]Xn2KYq'I8.@OGGSLIO?[Dc^Y^fiA8LA_<nG._H^("Wn@[Dl
|
||||
e0=j5QW9b]@5Z6aP4,<JP#ZkZ46Pj$&!d@S6KjC:a%L;_=fg8nke1)8DU=Lg>!1g
|
||||
P`:CuBUG:g#?P1o2bMelQ[helZ!`YQFs'HH!&;1/i<A"%9IWgtGW$$@%/sR?4HEP
|
||||
$9N'XB(1,4,_\#<+\#-Wf'qCV9[^qW@W4pQGHak)BLIfP/*))IFq#pb=pAa19RY"
|
||||
"iA1\M]<*ni6P`J'("=cOO2SAL<%,@];Ba'<@*r0@;MkQ>,Z0MQ7Yojg9t!$<c'k
|
||||
i;O@Mc$YD!D+_E$Edk8Y+"j%17Y6Rt3M-j_US#E3ZJAS@E8Rk1f7BqjG,d^%BC+Z
|
||||
**._'8/-0CIGWjOE_O:8@$8QArYc[IT\[EEtY8/5VA/1"lWO9!s2/sM's<)KC4AV
|
||||
(>LAX\19CTt\1m$@mFA77Q%`-5Bq4'o0MfO\jFWKs:>VP;;r#g"X%<sr2fChufug
|
||||
@HJ9=`#_3Z9l:+.h(0(SS\F1@A4PgCKRET<`)TA'sfo(gk?ro<Q>B-_$jnX4@K`p
|
||||
WI-+[W.fb<Y3aSSK`]0p,*rXfEn!F;%sE29dE6O1GspppObM,`%&2epUZt2><>*4
|
||||
M.1ojZ0,I9!MAWm;,?@*!)JUZ9K!N>C(:)tl)U:$Q9[8t^'"&^">nnV/gBtrU0o`
|
||||
RYbGC.o<InQ\6",9uZV)e]3ssAmWRG!9FeK+1Q3gU2?nJ1IBL8B-#2;!k%1#rO?q
|
||||
4p/>/_jVR9J<6Q'%I?b2BCp/<rQ`WYVJ)A/eLhFK%rQ,d7P[MP[P[14g>J%RNGs.
|
||||
27mJZHB#g)31)p>='(J$!WcH?KPCbZC(,[@4@KTPC,0U'FYG6(95s%#k5u?Y[6">
|
||||
WauC`Lmfbp8KabU<@h>c4%bgY&f:]:<&?s!d\TXQGG#l"0P[9]"2_TZ&Vqtq&gK[
|
||||
gc;=4c<Jath'WpY#/L>7A'JgI5&C3!q@kh0DV'>%XS&&5MMSMd0=R\lN6L6%ViM'
|
||||
lelViI=`^-^697[2\bL!=p$I+7"?4(8:XB>n`TNP]6X\359+om/q$PeSaW4WaF8u
|
||||
;=+VJp7;M5k3ag:;;.XG:O%fJ73<%g81a=?ssCN_0M/.[EE0E`TXNWFRNF6Fgb[N
|
||||
s%$96jsWGcreXklr>V=7fioAB#lMW=R\l"Y#n;UO@[`#5mW)u6IeU1@TLeYagN$F
|
||||
&f=2D>bt<UL#A*OU=`Hs!_7hM#un>Jb99`g'uqV4aAskrEPR:$,=,"U9)s[&>d>*
|
||||
2JkQe9c?)*'LTou9fZpJWm57X'As>D./Hq)$Ns$d;(mUG>7tMBS*XNko*XNko*XN
|
||||
kn=pl5V)@7Gj=ooNlBIn*JGTg`OBImgJE$8mGBJdP4T,fY<=h\9uo?So\jA"Cqa#
|
||||
A*Cbd-)_j-"2a$81]c^#bE8;4sdjc^0rDF62BG-_9+9k;"\cF!9#&aE5H\*@]6g9
|
||||
_./k*8#A22B=g%LJDn6e""L$k;"&4c%f&8+k)t#3jYCfN5sA(@(pBDU8sN4o4s=C
|
||||
(0JO36o3(!cSS#*@`lGEc.D0)lhKYOGa#J^F*W&9Nh9P#H`oq33;WJXhVL<mVd!F
|
||||
hm6-FJo$pNFH2V!=p[^"VBM4c[k/a]q%`^4!M`Ej%[JCqGVd=3(8U7Y=%W(AsRlX
|
||||
C.cBL>qV%.>+6^p,5k0B2OZ_\.JksLq$;!-&f3O>OlD1-.LSG_g#U1N*)jm(p7SR
|
||||
-c/ik<+!h`42R8'[N@VSB%gk&tcYm544gF?/"=o_\HM+907Z/eA!`"9AW,!<`E+!
|
||||
s&E&!!!!"!Ws#I":u4\+<`E_,;M&?"Viag,XYs+E<"Vl#QXr+!<iO8InQGU=Y,Mg
|
||||
)_>kJjCZf\aU0GjMC>3V.&)SIU5C@nMC>3V.&)SIU5C@nMC>3V.&)SIU5C@nMC>3
|
||||
V.&)SIU5C@N38De-6qEduMj2;c7Qq5`XG_WQdl#PB[B.pBh))G$VX3MTP>L`8Zaa
|
||||
9^Z!0DM?EiYcNa]eDS0nW[E1A9^_Jl"m$,UYO-OIY/S0nW[E1A9^_Jl"m$,UYO-O
|
||||
IY/S0nW[E1A9^_Jl"m$,UYO-OIY/S0nW[E1A9^_Jl"m$,UYO-OD>^$:Cgr(4XjZT
|
||||
i@;E721^[T,7/;d2"lMXClih]eS?-mRh[L4-H/V:?8<n;nFd?PjZ\<VE<6Il&P\^
|
||||
IUg,Ahj!S%GGRCLSb\<<a*L[t1#A;cb]b?pP+C9$oV["F]eSB2mn@r&44>57NqB5
|
||||
q;nXpBR.!XkV*!+rl&PDVG%83?hO*b*GG[I.*SHJ6a)4hb.GL*S9Qm9p;]VitgrF
|
||||
GF\M;m,mS%gO4-L]<NpO[@RuG(FrrAW+*)-,Y^]+98:R\pHr<At`A!^>VToi]pZa
|
||||
r)=*KJ9`98%@:V:oRmK$,;VZ=_PM?Q3.I=$L9prrC!3MCZQYRk#F'c=Cc][B**4R
|
||||
?fSab*J!CN'<!(Mj$ZNa/b>^@O3AV&Q;mTH[jrNCAp!6U.DhlTutL=iY,;AR<=mp
|
||||
P5bDMkad1HUn<kN!,)8pqjI=*rr<W00mu]moNLmar$VC`^KUX0rQ4r3r8Jmt=82W
|
||||
V:5k%X.SSYcPrYD)AcDakrP>!ZCUi,pSM`+i?46ZP->_>edIFL))`$?3]Um&^X=1
|
||||
$OU8#M^/1@D'?OC-I?OBt'La4C$?u&LAf)oto;+60Q=A`.R082'5/KmLp'L<p2)]
|
||||
Bs8$S8u^)][CbMQCPI]Fft>f*#4KiZaAeZcQ;K!!RgB-]3i^!/WuEnuqsP#Uc(+r
|
||||
/04CePM&GDMdl1?PRrg]kj\2?g(<S.&)Uj?f=jg(*`-Wm(_atXf.tI5nHF4Y8]#m
|
||||
'n;EYmsjOLU5Vc<-q"Y0/@*GMYug"ii8=A65mf$D"Rr[>ZGf`@6n"eD$LjdIntNS
|
||||
6^P7UriNE@ti3LR\EFnrC?;C.D8ugE5;5pO>TAZH$0ek3R1foAJR$:H:'t&Ft=_3
|
||||
n%pJ8AKdJU+]/Z.*%@XJk\T1!%clpn>-1!fBaMC>3V.'JPk<HEGTba`58-]7XBXH
|
||||
#e]o/E("jA[P%Kh[om^C)]AhL8-9pj"6XM]t0DI]nL=(ZE'd.&)UQ7cqchb.Hq'%
|
||||
B*<bd87cUMV<s_m':!Jcbmb[/@*GMj(RWpk/V/HG,&R(pS,<%b00@2`el1=MDYk?
|
||||
FAYI7[\@q1ZTISD'4d*m`mrQ8FsRhPHrNfa,8p9%?bi`:@UHONLo#nTMO%CVQfVf
|
||||
HJd<Kg;+2=d<qKj/9rDNrC"eW.2TEcbe#)d9e5D1WI&6d8:SZ3m/&d!K8LGRW4p5
|
||||
$?HP&YDpS#Yik!9+^6shhA;H[-@Y,3_/m?+_G`hne:\"^=:pKpM5_6.RE7),^nLW
|
||||
`$`aM2)>$+92rOAmWE9lmgS)TK,&]#Qt\5E[SQB&_ncQp_KO2I!8\1Rua3.BcmQO
|
||||
tBFe;#+F"WbXGne=AG+=iAoD2bLVFHPK!>Sj$8&DQ%[TE]Js:Q3b"Tpj@:t^LR\P
|
||||
*pL7SAk#+s?(i[M'l#.Q,&W8^LaS`.j!34pb8ArR47Ua*C8.\:WFbk!'tiG'^PBi
|
||||
uCqm8/fAU:s^+6mYpfE/d>G@*S'LaRYrZ+sUOVS[2M^HD!>,e9;A?%,:^/Rp_MmV
|
||||
ds%/`6>b(kGuSDH38(uBFCMJkq.6iKa8[WLq/@"0G,N]C?b\E.^B69%K'S=[9%3@
|
||||
$U2&kO`X45tFA;#-#&`U!0\QJO)*=,iMKAaMGADrL:Lp;I\)gtQUdB[VbdYC_WU:
|
||||
CAgeNJ\o);pNQ;aNR-l(5aKAOJ?(pT%P9NQV?!i:ErifIVN"sQf27Lb1'pN&".o`
|
||||
DcT8'7=:2];+25_7OB@^<ORhE@OYlE,*lQXUsdYe[_7,m*g*m2OjV1@7<m3M)1d[
|
||||
1[;;i:FRUY"Kc$2ELsm"N'*Al':rK)^g;iIuO+pD3q+a;=jk]=tf)$9]E]E-"Rte
|
||||
W.1S334Am&EIR`0VP-b8_p;!MN71bHbb\$F1.ZM0KK`l7d-cAF>9`JhUNEdd.Mm*
|
||||
UZ@M*`@T,nsDP@RKe&&qr^g"Vfm+[1TD/TWDpoX@E$-q!%eY5FQ8\<\s77U5I[J/
|
||||
A9m:U#t@a3Fddq>gA@e.)a&uMC>4.NOJb=GcrkR^De`=JHS7MXfSj-1SRY:L72\>
|
||||
.:/m;ZMC?q9`-fNlYA%I(OkRt:W5b=U6-k)jKm:QoTDC=S?4eTEjSUWoULq%*$a5
|
||||
rm^ZZ/]1o5,AAmLfa$eN!0o23lrr<KU[s6MY&iScc-8^^E,]['])n=Sr;1XR\72V
|
||||
EZAX6JfNg&pGVaj1DOdVW"OcYSY06ItK+8Jkda0*C&(lWBe'N^/7La!@\P**Q"3f
|
||||
4X'lJ&.*b9h0],Z:\3BsUn0?8PMJD^p16e*'-A/BHle`^T9,7R`74@SaD>Q=OO'C
|
||||
1\`C4@bg-(U@Yn/"ANQ.nV5.XluL?73P"b722IQ6kE)BOc4TodAYVS7J_-*T"\4f
|
||||
AC"Kupj(k"e1,@N[P-0C8`<*SJo+^7SeN\K8R.C`2l)T-2!/Mre![*p#jY3OCS^-
|
||||
-cI""QPI0Zil?JGTB-(YSUJT#Mm8Hm04XFXb@oGmX>L>lbf$^JM@XSqf72VDV,E"
|
||||
4oIr%t0)u[2s/<*Pd8gpEk&42=Jh+KL<jJ\5!NC_an=_3ml)eDE09&!@CO&1nd[I
|
||||
9*S'-=n`S]\.Ab:KsB07,?tk(t=CYd?Q<d9]%ZWD":b?`RoQ9p$"+$q_qA4D7Xd?
|
||||
O2%_H4ct?qfF"fKl'/`Og5=X'epY4e_5oPU:.@=qbd=o#^SWLK"H=WXl&nfdJS>t
|
||||
el[u1*bK"p,EU.Ybfkt[7Iu;Rm_P#EM8a:cU\0FhhTHU4YuiJoHVm6V0Ld4C$A^>
|
||||
+I]38H$7fqN/A;!'O$snHr#oFTkbR)5XKp"]`^WEdQ<AYV9YMjD9fQ6o0^CGgZta
|
||||
`PFkUu,FddGT=+qJ.(mVFh<&$*V2mG;F(:Tk^X!@Ri;+2=h*+fC%-#T\qOM)UR+b
|
||||
YGsNU(=0b.\cBU4c;M1.*90$8F7i.qNt2SAue@O_T6s\$I;2\E"8O"GT4rBcP^A8
|
||||
V!`leqQY*psKM$m:H:t&rK#5/)X]q6u\:po.qT2.,p-RY6sbgW0*'q7Nq!#>V!cn
|
||||
(<S.S4W'P'$GfhR@UO2CWF$)K@U`eU=+a=;fm[1bPg)nGOL-SChLnV)aM.jT*+WC
|
||||
*@T!Q3=aO"7Tk6e<b&SAnOqrbFO^a3;;2Ua??5?\+OaBr0jL]af9M>VK<j.Js;+2
|
||||
1.<qK6n?_&&$AnG[!R[1Qp?r@[g-Iq3H+^9:EZHEhRM\KNY\&cY7btQVg)0u,5b8
|
||||
59kU5VcBUtKR\0ekBpVBp(oHgo!HpunmhgCfAl`5Jj2MVlhIk-$g/(58IJF?Ks`e
|
||||
m?j,oHOi5,X.JJ6NXo6`5PDLYF:Qh%Pn2*g<2Wr87I8q^B^q\.6!uYpaDkogY)&4
|
||||
bh'baNL"0gL.HV+Ke(@24U^482,@l".Oe%j_+YQ^9N8u)8gpkm.)`<C"@A;`4VfN
|
||||
=pTj]JZoo8"JVf4fhoA0%PYmIl=_Lt[O'?.,Au814VIi:dQ=O-0QA)6S>LDZ@,58
|
||||
4Q(58IGp#/=SnPP-p'Sk+@953Ub'IaAUMX[?t.t:'af(J.jb0)HTMC>54MC>Z[N)
|
||||
6CCO%(E:c[QrVrYd;%.&)S^R8.#Kb[iMM),;a/jQ,?nQ:$qX/'_4dY;mWd72VDW]
|
||||
bFNAiC5.?DaeU2p[d:]AX6Kc[4gITk=DkG5EfHlUaVsppo(<nU5CJ\U:dSBK@0#D
|
||||
p/71TU5J_]q:&Kf7=8C"?-_M\As,aC)Y]J.TjK>3<pFd1cGNqfHUX'A>H)t5rr<D
|
||||
;BZET_5HPd,`j0`\UkOeS`moB'`"j3F,],q[0sgiO:1Z$,kMIb0V^c_b,]o/)Yg]
|
||||
o,ZI?PgR`O9tQCX>4L5sg(e$@LYINgO9:,tnPL-P*^Irn'TU*&2&Mu&?<rl\'S:;
|
||||
]iM:<QDM:;]iE:<QDU:<QDU:<QDU:;]iE:;]iE:;]iE:<QDM:;]iM:<QDU:<QDU:
|
||||
<QDM7qtqteAW,_RgC4*,amG)D`43=N=''SKk-?;+rKO>CZL&!,_>'q-Q85dRSuge
|
||||
9IY`Ybu:4r9/G53GuaCsWMYf`2AW>r4*;#tW+m($AS9\E5\V(<2,)H_[+ZA)DLSH
|
||||
X2:=M2Ru!D)fb'<'N1/gFUJI-.=32MO-8f^CBlr]Y`<6NDVhqb<C"`Ld,Db>=N['
|
||||
A>30#5>i])rCLuLCS,Db>=N['A>30#5>i])rCLuK\?R/J8*?8lmZ\4`lblKqO3P$
|
||||
)::R[l!mFQM%Jh+jXkSTL=g(tFd6qO]7?WNg2>qK*4e%5PU="HIgA=V^@j=2c0)=
|
||||
Y3'``]?T4,go=12,^iae]cUIY!j;/Q*/Bk7er0k<K,AEKP:R*l:&g\E_WB^7FT3Y
|
||||
-;bXKAIu2T8'r$0@sOG*<k^IBQubq]>ikZn'E1a()+8$JPX\Lf6tHsp7St$kAJ(.
|
||||
r;&Mc5&X5a^)+8$JPX\Lf6tHsp7St$kAJ(.r;&MbskkMP#/?hbdh`R%/qN]Op,)/
|
||||
"oO-<?/-]&(B+FBO.8D,>TN-`G*_Up)[U=1VkKd":C_'DlIP%i;a1bMO:1@3#1s2
|
||||
4mb&HDh6!X/].!rr<$z!!*'$!tc.K&/-3A+@&4h"X6fpT`<^G#QY#.!C$T"o[.RG
|
||||
JGerPn'gd6?@;bQ!]O22Y?.dO2<q,'W"hasF-WZ(%uSgmXX]:2&(p6V@nrH+'L->
|
||||
sf$btalgHhGZ=r+%b*`a[#pU[Z(\#.*GiZ5#^fVK6Lq?c*;eKsS3<0:Ss24me&HD
|
||||
k6!<`E)"p+l,z!!!T3&cr.H+>?%o'EfR'0gSVk?r:?ps4RGY!<N9&5657F=CW2f0
|
||||
oTTZ`\EE^(re:h@i33?N;N"/n_0(&$:.35"^n,?Js`.$-`;gc_+6!Y@&+KgOAZEO
|
||||
81=]bU_SKc;@:6B.g9=^'nWYj$Gfit'ZY@Kpq@F&Z'LCXVL'D<KHUUf&;227M@dN
|
||||
n]S8YuZ130)$tJH^57NQuZ0]N;(rsJgXCE*fZgC'qQGu,/]_%n6L&+=]e)JE$a4h
|
||||
UHeG6gL65Kg4F@OK'$5XTA*`CgTGonHob7%nG>aY?2o8^6:XeVmWhZ_gT1$q+TI>
|
||||
iR[?0FWF&A0nbZn>%#:\51oU]/U-0g3N(\A\+YR-,?8[Tg&a=p?^?@i4oL(re:h@
|
||||
kA6u$UHh`j7b21TX5JdcpVSoH!27rK0pNo(lXNObP`Liiatd,_)XeBR*r2o&"hof
|
||||
(re:h@i33?N+B7n)9X+aUSj><)VAVaU%-hTRbpeHrrD!oo^Tis)S4Y6asJ;T64s7
|
||||
9!(7@u!<N?+"UG>;"p+i.!!!!"!!3670bPWbOWlSJEKUtX0L.p$@<)J^JYBp-i?M
|
||||
/sPG5<=?t+2/Z>dYpn3^]Is4RGY!<E0)56>Eck:+PGf@c;EV\I$VnQ-KLG'BWpaI
|
||||
/;/c:IM<)l6[e2^LrSW8*XWP,!%sDG#o1;7S/8,t?sogm&hAUN0=O8r^qi\LKNa7
|
||||
c^N'PoGm]E`?pKNQG&..Q8YCjJ^k!)j6t:<,P<fa\fSu2^LrSW8*XWP,!%sDG#o1
|
||||
;7S/8,t?sogm&hAUN0=O8r^qi\LKNa7c^N'PoGm]E`?pKNQG&..Q8YCjJ^k!)j6t
|
||||
:<,P<fa\fSu2^LrSVY5UR[::tdEe&1ImmKHu!m*JIdWMNm&$gW*Nb^XU]C='(%AQ
|
||||
tu-9N(G=sf&=1Hm>:jY58qP!SS4F%+[4l]5S[7N8m>Bf*D3b2[uZ2Upp3`.pER^?
|
||||
$%rD^$`_)f"hNoPiKM2Q"u[^Nte$PI0MaY+=%Rq#ng*[%rM"1;srfdIKWA,jS1=`
|
||||
4J?bQ(h!I:#2KCpKN"5O>K9S+)W&j?[?KVR/nchS<hGnB-jmIfu\'k[W5S4/Y&-P
|
||||
94oQWP1drnjL/+3fiot<Coru.[T:Q(a_^%HEa(OUS<hGnB-jmIfu\'k[T:Q(>:X9
|
||||
$jL/+3fiot>-*rcfa_^%HEa(OUS<hGnB-jmIfu\'k[W5S4/Y&)1P,iV'DG%%QCui
|
||||
$F><+:*QHi-9-*rcfa_^$rL_Dr#<;2U[L"k5/V`)_/lIB;\T:3<chu<ZtK%XQip*
|
||||
U)'<_'l&:(@>B1:u-9&6^#7P7>qe:@RBI""%:siep@=q0NO`D6O&/U5LA*fqN8_1
|
||||
$a+j%#fkO;`$n$^M3PbPl:0gnM+SP&UA'".5X]K?"?XZ#$If%\J-U%#uNl2>CHM#
|
||||
#k\8]b_dW"EBh$rVlYdX71pPdDY:K]IdN&gK>siHY`#B0$kp$\;aO3H1L-D;c'q^
|
||||
,[*2J9V`gVMn52<E5B:\0."6)c:tPK?Gt5hA8'Fj%+5KSpXsE.[1j/))^QYk+HUm
|
||||
LZRD6=g^YkUC56O*F43B`:0:Ul5r5e\pmY@&!V<sK.gf97g\oX<Yfc//<]gNV?Ln
|
||||
*ib<T;9P+[UR0hW[Y_&U,UGrr<o[&.&Hi:"@#.,Un&f'3;2m<18q_kC\"(\I`$A*
|
||||
u-!_bBgkJbmc&VidnK6]N"8^HdqFHHdOaDIu:e_c!9GoNKX1_l@n]=`EA\sb#MNR
|
||||
q5`<Kd*d@!.X%FIl?8d_l?8d_kik;2!#9RIR^pbh:1Tt1db-5"7*>'GDc1EcY/OV
|
||||
l*Sop;_dkDj5[LOr8\O$\E"[``7K3AdAJ8pYr-kWO17Yde1VI.&^3,FnqQ47PI]H
|
||||
T-'MZ$lr?r_XgQOQ?dmJ-c4e6!6L>sL2`N")iC7U_qVe-^DfnHDK@/s]Hrr<U_Go
|
||||
'0LKrK6(C0d31QY$f:%DY_ESS@Z".44KIh^V6tS%@*F2`b6XLqVeC4e:BEkAU5-[
|
||||
/J+Y\luk-U+JTgW2qecUUGU8[X3d5M<=$BS\OMOljg([JRcrjg<jpNS+#d$<W'>1
|
||||
]Vp?aOSi&Po^<E857('?e&CkgMIu=h"gL'83*MfPH4=8l,@=o<F+rWdT2,@,]=N7
|
||||
$61I[uD*JAO-&jhGNp\Qeh+\B[W"XjRpaNTd^!)lYEKnsW!Z2Rf%)k7fRN\I[U*(
|
||||
"<ofmJ7m[c(nHrDtH#_gM+g/o9#5TJA[J2G/3_J>-%>,PsJWS)uVS:<tZ+!8t&U&
|
||||
dG.<t"U1a_Kd`@JMK[5Kl><HQgSYoNmQt1td5Oj!<RC0k;<F]9q>B7B,!Q=3JHoM
|
||||
9M,S7*\CZZlOD($$LE.AE>[$;nRH(X]h++?ILbZ$&&6]d5Q8F(W\chZY=:4]g=*9
|
||||
T6M1F;/O.UUrmo82b(:(!n/i#Pl6IsX*#8Uh;QhtEc1<:09CQ[2g#CtDRdtekCYe
|
||||
h.-8l0I5`JXRCEXI/pC^lP)EqrVC:^$muV@^hOD-TMrYrogVjbGW"9Uu4rlIU2a,
|
||||
BHm$G+;e=+n%h=Fg:qn?iFrr@8fC1$E)o<)9#e?qZ#C53G9+6l\(b"a]B:0:]c]-
|
||||
l:X.P:8)G"\`^jPAWS?Qf-@BJuF&K\[kp^"kM@2a#?E^VNHG3ebFU`YLJ[CT*t1C
|
||||
tN"@DlR3%N`W47H[MJ7\%(9L$$>VKI6S$4h:'@6%uP9R,UJ7FW'p6!p02`d<aG&T
|
||||
3Fo8%N%-C4f&&shet-CcUb%@>-LU-Xrr?k_;[_Ai)%9fA678Csk1CCK)>BfcX+!]
|
||||
Br0FJ\/R.f=g28S">';RRf;a>4k-\"ZI+G:rn!_ckh=FI\,\C_ci%WlsR)79k?3N
|
||||
snM\0i?\p]8e`cmHsX4l/a`i:HWr%dNmah#aHlqQ<b`r=Wj!4$4qe08'72XA\/Q#
|
||||
AU\$\qIbRL'[3+:`\#Ysk(#]ODmCabJKl\Mn_.)uF.Eae*2UK5]tDk-VXU!21'1+
|
||||
Nht].<NrFNRmN9>\Of[Srk41gtV)PV'I$r74Sim]F^gsW5N>t^N+5[Sj2qhrKB@=
|
||||
W($=LiX7]Q_7Si^Jtr)JU\G1kp^3ek%mNtl!-c\&?gd`l9M]lWC7[3VW'XQKel@m
|
||||
d#u"taArm4&l/-+-lZH0q,S?r^7?M#k@&HKQ8WLa6(CEe7!#tmYf'Q(2cb=/R>Ic
|
||||
uc?V_2qDXO)Tp;d,qANPF@,H+$%oA4Sdlfs+,:7\i3m+sBab\W->0p@jWA>4f5Y-
|
||||
Q`X^?bZ^M]>N=Mf,jAP3Ll72g8%:qd\WR];Rs\T'<h-')AXt:Xeo:Z-D/Y[3kr@F
|
||||
i-hM253>\?Xeq7L#Wc;:@ZFiQ+8ht:D_)9.@[oVUO'?`,&e8en.eKa"]?]K</JD9
|
||||
oR?m@M83+8ITr)^Lk!4B>YZ!d2J(bpVS#dCI^!0@bcXeHQY6pFVP;\QP9Q#:/Y5^
|
||||
9fV_LCah,-/^-V9_dX==l6mbZ1=nZ4Q/<se[6jNE7$@9`Bfuf,\QV?5I[97>Y;.h
|
||||
\0W0^9k(lXua1u6t?-=jAKiDCTc%,3:eoZc3,-_$kPG5hQHkVNZqTjhXA`6K(Vnd
|
||||
.J8481)il.rm.e>OhIU3X;FX![^Fqg3U`cJS=9C&=*<FRIqP]<)aCIri\2M8iP)I
|
||||
UQ65``6JfPUCC.XhHQk'D!3Yq*-UVYs0tcYs0ta@m.<6or"4lT8]Z8l,Z*qVXF\j
|
||||
3A"se?[produr;]Q*(!5N`=p7-kErTX8`/^=8B_*GYqE8.\0n'T758b*f?S2e"&p
|
||||
&\#O?gd;#/koNJ-^r>)BFImpAU+44hka7NW+gL,37)6QR>D$`s9VuFqJ!1tcnrZ3
|
||||
HOq6/c:B&B'V*[g4JX[Gt6o3-sBVs!u@nj\IL+1blod1('n^Z>b!UHi?QTN@nrb`
|
||||
RffkbFN)&r/g&3N."R1ka)4iCf@Mp\t4ee0#X%p=c&*)q6if\_uAU5<shR>Wc)`c
|
||||
)pjdBF3N^[+:E"b<RI2Cc>QR13GgDXqI5+*u*<d:!KC"6:+#hW@MPk<19.#fdgL:
|
||||
FVA(NPA!mjgf7.>6+/'-'Ek?[&@0Y/:VX;ra\.n0pFTl1>/k*\N6,iQP1DE8NL;:
|
||||
mHY(rP`ctN?_Qf[Ir'PL+7A'@VB8'hX.iI;L;.[G@k_Fjq0*$7!F>YcA6GsI_cA:
|
||||
lqO2re8+K53iU[ec;OT,:qN:<o]Kk!4q)<"]D$H@<k1W$Dg'o_X`B8'hX.iI;JcO
|
||||
.[:<\qUtSe[4RXCm5s4=_<.=O.>oGZHW;Z(;\hn>p8V@lu7ZiE4D5`ctM01\.Cu,
|
||||
Z#KY+\95On>eIE,s"UlcB.KE>dGg?=1V#&YXB8G><C3n@^VEt7S;,N*':u?E>mZp
|
||||
BLHXF'oZb-EiQ.C19$9#EDY9qWI36^^)nqAOZPmVT4gVI/-%a=[L>aO#s:gom;q(
|
||||
^9r6-uWg)$1CnTET2kL6dEjKH$61hKI=L;0GbfQ#aDbZ&Jau#Egm*Q$CUrnm%8@X
|
||||
NQKs&VGCMj/-P+CQ[Risi[Vd?%6D:kb!HE)ib&[]FPW3n7,jUbj6Pc).CcG!hZ?N
|
||||
mSb&i5\5TU!>&a5Dk['#fq<TDnU6/X_G)[tjr.o+YUjT463^,`RmaiYJqaVg81q?
|
||||
Aa.WOPPc3G;eOc2"GVJ?KTG:e<FT2f#*6o2Ur7:[tCQthC1H<8[/mA@1r<+e$b'O
|
||||
GV'RP7CjbjAXlNo]9M,U7!mFo?aDS;ar(E*1*csM4B*ma(IPTYHTbg#8mU`:RKm:
|
||||
2jPd\lRnJGK7@(H=>I80'WeHLuVeV$([G7W.WZVgdP-]#2PcD+h.IZ-c)TON@l3k
|
||||
g<"Mtdfg\"9_=O<%h5dD^+n3li`Vn=TpF2&BG`n]-'k-;BQFa#"+0)gPRP'c9%;q
|
||||
`]fRr&8cZ,Fm"lUGZt6RL_=?-=1.=PK:agt"CGZ*uTM\ZBYm@r?'$F'.1c`n]-'k
|
||||
-;BQNOc--c!tX,)fo-9R`=.62Wh9R23#/JD9ZR.CE%=sgR?.;ei)Zq[l'/UVb-:#
|
||||
#7j@P"Wl%UK]67j%c-BHdqF19[DfSh(NQh=9%!'1Fpc/%=$Ae81EHl:?L('"Ckl2
|
||||
W/SeL"ep"%%7WV5'Ab&T?.U=hn-Vd97j]fPrB.RZRHfo^_rrAT.f7&Ls#'./b>u`
|
||||
&iXWkW7Zn2d<LbJeH!%AHZ!rr?'"9nr/!<E0#z!>,kd;)(@Fn/u_%OjW-]Z,&-a5
|
||||
l]O<#QXr+!C%aTPm[q7:3mEh7_q*HibF_sC\:F3@]ALL!ee2?*)8>n?4I2ZmR9+X
|
||||
qPAU<^8YI=YGt[S/*`Dm9)>B4;SK,;<3N<'eLTpMoh,(WI8[eY?W=5/=4JhdQ1[c
|
||||
GV0u7UWF&W.W`R_$lBV$7qPAU<^8YI=YGt[S/*`Dm9)>B4;SK,;<3N<'eLTpMoh,
|
||||
(WI8[eY?W=5/=4JhdQ1[cGV0u7UWF&W.W`R_$lBV$7qPAU;K!OY;`Y/BOW_OPZ)I
|
||||
Wd^954iQZQl7a^5'00#rb&#CbQKXSrZ0Y6B1LGNA)fX7>A2iF@?MXac]3*McR!N3
|
||||
"Ta\gUDLAFjP/W*nrOEdDE(>,)K.QTPu9oo^aGgm6oOP\1JS&'sUsXZ!.sJ>8=DI
|
||||
'sUsXZ!.sJ>8=DI'sUsXZ!.sJ>8=DI'sUsXZ!.sJ>8=DI'sUsXZ!.sJ>8=DI'sUs
|
||||
XZ!.sJ>8=DI'sUsXZ!.sJ>8=DI'sUsXZ!.sJ>8=DmVa5WlYq*"4Rn2;l-$V,!N9$
|
||||
$>DHdiW,Sm7/'bb;J^Mse:[@tspBTp43`SZ'6Ia9gRg#dF(4O1-CRFgfs4!.t?p@
|
||||
)H[E?0^U&_]`h*TVF,hFCup`SeNAa4T_OH(BE11UZrG+9um,`-2gK7r`$#aR1:_N
|
||||
q32M4?s/P!03siRFLTp3rPX_?aIuAp3E4HjQo)Y@JMtiajf\K3h;jT>I2Q>G'TWR
|
||||
cSM]Vk&n9ucH"T(I>7>b;L_3?'^b0HO&m[1HIDHQo+P<L;QKXn[$H9_PAR50nC!X
|
||||
LrrC!M&,uVr_SQkM=rJOi64FJs8;&,h]JQJ00Dhh%dJj4*^Z)Iac@[3n'*po1:]7
|
||||
a@L6dl&e6&87>OW>l$QP3qrrBUd,HXntPa,Bm:K?AF#Q6*t.6+rCaJQ"q:Ee8I)a
|
||||
/TQD+g]AI=74dC'RfFR%LL^r8,9mJ[Bg^ilssWr>1:r9Vj12iIiOG&;*@ermCl$O
|
||||
3DBNI(;RPVbHaU[c118b>V.r6P36oTb:1.JNcp9]-fgPCnokoFi9mq@AE*mgB^[i
|
||||
9bLT$6D\Is0\7C-Hp"moF']P3YOFjoAe9X5AH)YFQNkbQe`]37C-G:`eE22bpck3
|
||||
;)5:)'Yk=H!4[lTOZ,U%?Sj)bUm@+MX9r=CWRSr'";f>r,bpqr3^;iHU,IuVi5,"
|
||||
HGd5=(BDXQ`f7W-NLZgV_?^V7Un@n&*KfD"(`DDnV1G-*Zpn/[F#jL"PrID`SH3'
|
||||
O%+m[Oee4.UGFl9>tVgS\NigRGr/mG"fR.'ZF"dT*f5G;;m1\0e5NI?0hLM<as-k
|
||||
=1F=-NWjcBJ(3/F-)L#\1OGu8s?Zb:,K/tW8mTi`.Wu2)]QU!:BW&&NLdLP?/`[1
|
||||
)c`=jYDN3GBja@9YhMRWqu6XYD.?DjD)hOq_9E7F(H)`A(_fJ5#'=U<@hdia#YJ)
|
||||
XJrTNi,p?#.<XS(Y&66JJVNi*-(*t+qWn3s.0YRUU_W"P7'i373*Ao(8dhGTm6_T
|
||||
?3VcZg1rC.3oeX@%N=^)M=^KJEQS50bHE*+T"g=<5s6'Z=qC5(uLh7*8#P.-EKok
|
||||
'"ZP>sWkThZ*GRb?$UIpt1ui1App=CW;cfUn%4&;2G,_@VAD$2uWM#Yu3*gsJ54R
|
||||
$a8._[20aCht"3MA%KkJ*dM8^DnC'rrAdX9MB7>\S,YbX=QX]&86_EKs)CA-]Rn6
|
||||
MA$O#!&F$H+V98m$qqfq_4hSR2`&?*QqnD7+UCDaKDtqmOKo"BYTtNL6'.!Kn2=-
|
||||
+6&(1QMGdkQJg,G,A:=YT+Zq\Brr=N86=<oW6?lVL@X4Ae9ViU2L54_'"Vq=3CVZ
|
||||
=/)0!cV;O@>Z$'GQ:]DrO26&h39iM$u!_aO!!VhTucd>_rh68YkNK^f=<Q8VX27_
|
||||
CPTOG/jL$c)ls(hJF=GRaF^98H7b4;SHOB\jC7WTFN'0kIJA`r?&/5qE9aYX'EU$
|
||||
&6KOZ%ml!D[8`S$%sMlBne_s9I;-;E"Igki2m@r)#Pe-PJmZX-5.5)1>rNI6B!Vf
|
||||
?7*^\OWk?i1^=_ncR#<6N)h'%#:Bl(m0HtNI*F&si&-f3B\+%SKZ1kP`?S5W0,0]
|
||||
V)Ao%K`<okD0k"4$_i5^Q\c/&D6Z`7P[O[*P++u"t6"01IIBVk=o;F*.@mos/eV#
|
||||
XhGX7X%7"-OX9qg-FOkCi*Z9P77Imr$4Z$%M]ePX;rmVtXUZ(9#8+(B]Ei;T"iP,
|
||||
iSDE>Dk*?f48fPYWK7_6L>)[9QYC#PJ70H'i&L16bI!%<1)@59^!/lNfls+G<E3"
|
||||
sD;J$(<#VRea_BLnKlM*9(h--?)>k<Yok16kGLpr'7PS_$5aR;)4,qAX<'TTtQ1g
|
||||
OI,_\DJf+HA;\o!=R-)a7dI6&IRnB&[at!tR%@,?GRS#cNu'+\_IeScrr<2?+Y;r
|
||||
qCiE\`bTP:g[:O>,rr>m0%>/u@_C)"f[JM)GfP"$bb&KCeL#?H.=A'GEC5n>-<k(
|
||||
/:_snU?'Y$@2_E/-np5eF6a[*4GBO_I`L`#Z^/dP@[Z7(Ao&`B`W$o5ijc?#$Z=u
|
||||
R9l-OCd+[,B@.$`iC43-hhs$pcYb#.$oT\c!Sbn2);QBZ=/G%e[Brg"TAjdCo31,
|
||||
7,Y*`qZ&!AS(067t?45BlKK5elGhq-\R:B$(VMZ?k1Qk[O1V"]![te\TbSfF[hh\
|
||||
.[P\L/]e%iJeGsA$p=e3UDZ(S2/S=eg:oA]N_)>t1\r'CAsWhl22d8VV2'BPrYP6
|
||||
\/3u!a5r#]H;2\of>4Oo@(,ar'G\$AQm1W`3Yf,d)7^$7g0%g,\Om=]>[(ns_KBs
|
||||
<"A;D!-:Ka`!R>L-%:QHYuPf-L'rr<3D"'<tY3HT<<kd;@SMUlc.DpMC&d4.cCVN
|
||||
W0CC8=#U2C/3g"u_8LPJS!MbbEUeX]4(dH@$.$&="WA--!h:hRpEAL`_3[6UOtcB
|
||||
L9>6-VYJ(2>2;hA11+`76!&WC*CRYrr<7^Ap>h+buYMb,o-Wr!8&PB9KrO(`^(rS
|
||||
9bh9Rq*3XiW0L(rB^<d;S*<E#LWnB6&WQPjHm1<U+.<'8m5tcleep/dGHK&8?e9u
|
||||
cYS/G*K.Fe2o7)E3)An,?&5*=aA^XA)6Go18BJNVKrE=7T%[.At9n+?PqR7<QPC1
|
||||
D:f(hZ%hnZ:'&eQf`E+,9^c7aEf%IFCV,XN&Nk2D?>\`gZOTYhtSd+.?7NOePj@0
|
||||
q`l+flWER/E$7\7is<)AV'TXRtM+oho`Tnrrt!rrBK7p.6!^,5!pf,]ql?L#.<2m
|
||||
Q\P;8P8:D%77Is0'`#1._^aoXL'_n:.<00_+NUTH[?3H%VFY']G1:)kkmm]OeGWA
|
||||
`]V'g,45/k2NK3*"uT=Z7r\,kH.-R'i!:W^b#44,cF9;@)Ds#V6UA%4po8'O,pS"
|
||||
/A#+P\//0HI$8$qb9s+nr!k&abJgrM0M>?FD24@()lW5,I#B*Oskk.pgi5bAo;to
|
||||
D/2Mbf#A`/F'6=Wj2/KD9=&&r#rNAFg;RM3S%^Co^u]\X-F#puZpGSD@?GZ7u`f?
|
||||
aF*#$uDh2&"*)f]&geq/md;IkTH:&Fc)r=;rQP`X"tZd^ne%>sB90%jWjUnq9o*U
|
||||
MgQsn$4UuY7oAoSjO6cYm-RLgh7XC6AWq3k#0UTdl`Ks@1^uJA.8b'D#3"4o>$Gt
|
||||
JrClXMUPHuV;tVkMU8FriNGS79mA#/l3H:V)5_+,d;pDaQi1t)!4GQFBMY+D6;Vd
|
||||
YELbbR+&l36Q*h^<O^UR`e0o_PL4[qW.ScGW3.$n#BlD/V4gBohZ5#uGp3)7%-,G
|
||||
oT.'/YNW:`Wl')1m4bL#s;/X3(\7=k(?*_2I]?=U7N@b$E>SR=m>id;=O,a"j"G"
|
||||
VSLa'kXm!C@&;frq@!?/VTeNX6#JKI;K5$":gS#-8h'dIE)k-7!7O65h2uc:\$>D
|
||||
g[6d_kJ%r)#jTXV)3=s57uh-@"Nh=D%6iDDlDU`hX"(LZk^#2B^IWTVr3.pUg[`N
|
||||
__e^%b.H_:[<mpSbWH]=;ojY0`r$)u!Y1KJVpKMepCfX3O8BM_VUL9[$)_%98Nkc
|
||||
V1n@(QHH)'YiYs!7_*--.?XQ2+,U=N9&7Uo6$f1Cpo3mo@ZAIRtiacg0+T0R6`n8
|
||||
qb6X=\8nSirrV%_speGET_\c2YbF8l4MkPbogC?rTcA]-G:>rFq2P5A/S@5<\@q7
|
||||
!.HaQREW7fNI@ROi*La`.bW7PlE+WhRKirX\`18dO@<KCN+oa+r0!fC:m(6Y.]#K
|
||||
I.W2kZ<TIEB[#ac?f'j,i$%LWq:ohds1k_7JUd.m0-t9Jl8hKE"_0f(_,hVKISXL
|
||||
:813Q-mH6URtq[`99KurWr?CB64hL^*D14G_4`\R+UH3=_Ad_m.,fg.gd6s+Sh,P
|
||||
$#^r%-gsW5&!$mk@NRltiEHC8<ae1XG&LNk+'PfoEo4&_D'&a*_$c#StpQ+P3+UC
|
||||
Ub`_aQTMcM_rn6(1bV-]M\26j,_Z.'=4an5gu=X^7[@Q&]\m,58"GO"m?/XF@#;a
|
||||
M=YN^lqA!sgUa<[rBp*+C-l2.K$r.uU>m/dW`5D5RStq(]OC0B'TS4OOgLP""S=S
|
||||
T%oo<eie"a7bm%%C2<Ij<%D,Z-'iYS+Jq?9%7#_X`t<7A=,W8_GF[&RN*55_/$:;
|
||||
LClu"[h+(UQE!+tV]Y,NL\a(SpibQa>`R.(hLEBE<^"qbk(O`F*=lF6<*c^((Oc:
|
||||
CpjS:^A+h2F6ac?%=i$U".thAXN)M]F2+_,P*!f-:D'_()-e^VVigOkEUYn1,UhL
|
||||
<#^bgj)Jhg#5BLG.@KmMY(m6\rK(<%)@Q5^ba420j8PP0[qarJ7oY9Q!p8=hY@7:
|
||||
MYq##%S+Ua&5mL3-gCW_PUbVO\LXibe#+[oh<O`64%XNDWD(Jd<QT)lfZIY$?f3L
|
||||
n[<OTS:m2-c:_U.7ke4N?n0`Kqc8+\#@gKg2iFlJb%%Y*lDIV=BVq_d8j681*Kd-
|
||||
lB^o]dBFs4)]NUPCjD"4b/uSZ8'gaUe9mNEOGY#?h+tugZ@ZJIGuTitSV2n,0sU"
|
||||
%)@X'YG<C=mn<g__TuKB!"UZOhJKU+#("u+%ch\mW^.7lMOlo/P:-sUZIO_''E5A
|
||||
-ToJa.p+u^k/8F]lTKQor[LEUtI[NMfN(*GPVYahFW2%2IA7P$Qbf?O:+R8b*V"h
|
||||
WiM/^_T+j2]qGTd#@.9T?t?.$T;PSimW[@7h4"-J3+nF'-f*OSk1':M;9cUd4JgT
|
||||
UnMO4bC*)"`*N('ugh$&36:SrWWn/OdOdP_b<"'/ZXTlRGWMC]RQi!rr>L?J$W+U
|
||||
F`RK^-Bd/,J)'E%l.>9E42^nIo_k5;oU81jX'Nt4KXqI%MYQrK/T_T0d3)%Pd%XC
|
||||
!Tr&9M]JS-9U/qf&T"p#)-qqPu'NnWJUl?(sF&7Th7APE)5NYCK'3=prBL)_kR@$
|
||||
bQbUg&RMNm0FA0hkJGm_(g80Dk1#S@nk`ltLuC/Lt/QqTDJXC"72k4Ta\Y[h:,kW
|
||||
0QRUlR'3+=5\2PZP-R6pr^upfr3ACLQC2XMQRZ=aUcR\@7.$[il<G1r>"DNJJ*Ma
|
||||
('ZN)MoO)UMM(VOH>-+HXP4Z0-R%e`,cJ.6)N^'i,b1k_@T6``/$5!*/;>CBPQU3
|
||||
jD'FmPYpbfZcXnZB6!TQ#)#n_nf+GDl>*p:$9UW]c=1Y]MfEQ,)_7[.9nk*V0d/Q
|
||||
uDDc"n<r&2F3=]ZjCU!8iX"+F\:EnBlf&FL=L@K0iGY,Emo+Ktp]oJC/)L/t"j;i
|
||||
8#PYhS;i#kb!K],,6^-b;EcU+ao4L-4FN*/S#7T!8N$J_h4-&P?VW*1*YZAT11Ce
|
||||
hp=fci@6"%Zl>R[T'@$?mcX;-9o:'+^mL5n?9q(DNs864(I<OYPr+RSt0NKf'J]i
|
||||
+8,70dG%2N?P#%,.`KP(EjH&-tPhbH%b,:D6-`sEm;'KGU]U0)6'T($"C3"=K#>t
|
||||
Bt>A*;EZ`?6X1rhOA?(66md%62)Q^i&eT@*OHX`N[LSCgEZul.(H*t'o-3iHNK$Q
|
||||
LX=>gDi3sDC&Dt_D2&aHQCf/VA")Wk85pRo/X/Vc39MVD@!bX=5H,`jYal\X-&@W
|
||||
.BpOle-+aRWboG$F*3QYkF\^VNc?3)c`?KHO!mROg!Qa,Tak]m[]mM"efj<YD>BR
|
||||
,Rr4`O$F81<ONJMa'RZ&.C;R"X<cpk15gU+\=J=,dKA:q"<tD#.6S,.WkD,)>5G@
|
||||
LFX*NZOQ&Yim7,d.8;f#'(`%5sc)*H=8NU1bFh;jBlp6,B>_".7IfmKI9*.,;gf]
|
||||
-GiP4oYu&8#=NCU<l0kclnI`2.gB5E?H86Cndon<LuuaO=g$dQ+Y\_.JKYC*`Fc2
|
||||
;,do?k_2EY9+]cQ*j=b#a:GVTSI8+oK84!kY,\#OAN>t]R#=S$3iZenP1>.!fTr,
|
||||
klne5L\;$Cc&'<%6p9ub)(+U%W_6caN\ct9+bTf5=7'NW89SI\C\&;%0.)%L;EPa
|
||||
H<O?*\btK-:LeLc$=^d%(KiKFgU9L>*J@6=YX92L&%m"Ap;>k/fb$Cg8g'M/#nJm
|
||||
g<\er<0ki5B-W&]7<QO&H;a-$1EN4JeK2Y_Sg)-&D>"n*dhI%'r$T.c!KMu;+2%a
|
||||
@AsFcC2;bWe@:lt7=18"C2-(Xn7dTB;+F#KZ7G-'0r;D3;A0b)HN*u8GPaj\%iY%
|
||||
Xi5Ah<CefUg#!rlSa/L-@Hh]HA4:mlRHCh%LL6\3rmtp+!6`<cT<l^;VRi31dK]m
|
||||
/c8$Q8>6?kGQ#YaMuCPe2qLS9##XbbV<^FV]_+p])T,9nA/,:3R-WB-6B(??VE64
|
||||
een0aL)Z_4dR"@j<5;02pAR+[m'\#XVr^&=A+o0aX:p*eYa]#\[q?P%#*@#XW'n)
|
||||
:4o[6K*V]<TC!L%rsn-qNRqHC4,XYcf@g4<:Emp/f]ilTf?ZNfMuR^\K4'F[Q:fk
|
||||
5"jM,<.CeX,HTcp%X^5qC\7sPZH>5`3=Oj+bE3+Xo^GVO+sJ0:i1:C%2)Xp@&;2A
|
||||
R%8D4+TfNa<-\`1crr>PAL)T"Dlg(LW\rq#QY+-H_qWTjWqAUKa583Z]\>iaVI,:
|
||||
1)]b%4:1#kCG\Mb!I?;QA/qUBPuEsPIcn@=3"qa(t4$3(!hYl()D]@4"^PHk+XLZ
|
||||
Ied-Xlg40?HLPf9>V[3;\/;D>=iiGC7Y\WO.&9QZ7j(o^'=?D>?8caTIC`ImgSY-
|
||||
c*!s'k?i'^SQEhq(@ooP!A"J6X<LPgL&F=^Sc"":>5]'D6M3Zrgei*mXHU.q)^g_
|
||||
g&=b0nom<^\br"jjQumH-YN6:5KVUX:<2pL5EiYUS^6BbIj]=54.jXIIST(sG<_:
|
||||
tr10J@m/I&5BDFVRak?Ygn+%UpEaQ?8XVeR7+%dH:\=lOKmk9g_gZ1h^:uJ!lb.(
|
||||
Jp!s2P#Z06:\,@9P*5+3>cAr8W^)6lD\`rO2"F(Qb<*Dt?-7Wk-MA)E-+>-/jD&^
|
||||
]6f;LJi!*#Dd9F,qb#?,d#hcBF^H?.i47;jUF)S>k)e=+2Xs%/-'be^j&cHAVN):
|
||||
)LTNO`8sNK'rqd1Rb@STRt]NeC>*X/Z+?dU0C4-M=Mj6Wpi"V;e`?\W?KsCdT!tG
|
||||
0s2q=@hIRkVBo:r&bR))?dX0q7l0=40rV&>InYG"+G'kAJd<KN#U"^)+G'kAJd<K
|
||||
N$B?8pi9#?OX-lu7V5eq"`ffN^Jjd@**H&@IJpu4?e`t]Bi3R,up]FQ[Tp>2`JV.
|
||||
_+E2)tb)Q(q@q!m>e'"*LA&)XXemg'?%r?M&(eX&Vu&'3t!c;D8>"Qb\"f!7$H_7
|
||||
06#XYk!b%4kANkf``L,K7)D--9l=cWqW[Mt)n:1S1O2h7X*%F$F`I0Ue(uRW0rGd
|
||||
@rs3*(Ku\^J02iS.d4A3KUT\dSI&I]JUcoH54\1jR*51$3jV`\IJa5Mi]S8jTB\+
|
||||
oC2(k1l?&1)Vp)Yc+9qQku#mgNUk/Di$TkI\uSZc*(&W8qM?b[\)o_nrIr,9/#"&
|
||||
d(G:7`JiuPA31K%gl89qe;<[0B!8\k)64een#XT)U+UCCGKHUUf&oXWTbYle[eTl
|
||||
I]&8`/c:f!o8+&K0hd;cOiB\-L_b&jd#iI:Ru/`nIkn#jR&#UhV7T*Na),_jk46r
|
||||
[;jkfR>E3QDsqn]<U@?g8rK+q*_EoGd)P4a$0jbnf&SVVU@r1*I=]Um@cb5kq5t3
|
||||
._FC<.ELas4RG]!s&B'!!<3$!"bSp$j[u-#U"^)+G'kAJd<KN#U"^)+G'kAJf.5D
|
||||
Up,!D'CX+^Z/<6CSj(2RFjFmubq)2Y@$AWb:bfLM-HA@%e?XQp<S)q(THBl"olP&
|
||||
S2^m(UX/!uHC@"'lnAqkoRn)i-BWN85Kd9]eo;:"sTgZ+7ke8qH9jKqjQq]Z/o?S
|
||||
U@9e:+RBnLi(en5+?)TY7/<>agcp\g7Y_\'rk:4##m$]Q.=XIq%OT6P<Wl\#MknW
|
||||
fC.-s=ISR?V<#*]qKMeL,jEM;<?b;WGlnDHb#o4^mbG*lUMdI[/Z")rm[u\4pAKX
|
||||
9Q$d"pf[?ERheDFjPS`C24-X2Q9?6UB4nBGqs-p'PJoT9Z.2Rc\D0so1\&^]bpG:
|
||||
><l6CFcG&+F75\8kn7(kibP]siiSFh[s_#e3_5&h_LPdS&^=:B8Q?5&\$3&bm05@
|
||||
5XgIJqOu=$F90@h3TLqMOc84uZ'G`n*+<EW*nq+2iB.-@KYb8.Za@7Z69JV!!!qa
|
||||
Khn3(9B\mOc8iDt9Ncb@fEc\?[3\8g?VCsJjATuS:)esKS2_T&Up(/nLFJq;Bi$-
|
||||
7oH3d%n@bB/ZH,HeOb-_So.$t(7qHRHkh8p)=OZluYV7=<j=Q[LU-VE1\)ZbmokR
|
||||
-Wf@!KHM6nB7o+Rs3qZc*t$fn.%90DM(iA0VGah^)nm6pOLE(T$]fOqkK>>0;DFc
|
||||
A+sHWD/VPS7Nh+9`0?bn.0Kq*)Am4E&0jl>>T7HXQWg)9/Fe;%c$@RZ\M-rO#_as
|
||||
X7U``Oa9H)^,4)r!FA_A1\5t:DBKNB0_8ugNPX.iT!^ha?Ee=XmO$EVqc.tTn!D=
|
||||
t/i05D#2Wg7u++cTg`eG*,)l=ni;J/F)HUd#@(bu[Wo7`%iFhAq,Uf%C&O[tejTH
|
||||
#FR$l`RAL^4P:@QqBgn]`>ROpX1igk[a4Pe]QfJ0BZJU)3o!!.b57_2\Y+m>a!D+
|
||||
Ht-W&OJURNAT)p-pS.snViDnUU5QT"G/u`6,<[Y8gJD.$o-':J<)8Ab:mF^&-Dn8
|
||||
JO]tG"Up"#&<f?fd\njh.#'4%/E.$cL^OnQa:^6/30;$7&toSm8N[I:9Khkeap^J
|
||||
JnA5GVZAU8sLa8,h+U]e5OPrtt9hu]le1J7=StW>OqsV8rn%S\f^A<jq37bVC1Ht
|
||||
iW!%AK[!rr?'"9nl1zz!>-Id0gJQ4E?IPT@=dpQ0Q;Q)nc.;C#QY#.!C%.\/Km+m
|
||||
,i7(#7(1Nc*9d:TV(##7PcUsfV(##7Pbfg$;O"",9;Q2PWOAa>7e=7SF-]_i8mat
|
||||
]=ZG+2;o(>EjH,$B!I2[PBg6"gL3d`V1Y#E[SA,"'"&iUI7n-!<7n9;RcND0hYS/
|
||||
0W:p[sBU,MmSaNPE-KHUUUW@T)QL."MMQ9(.OTmM$QARG&,ej@T:b!,RJXh#Y]64
|
||||
een#XT)U0RU^5T(C8CI$F2EfepB:[*m.ka5D/='-$AR,iAG3Mr@gNn'o<mfETJss
|
||||
24m`&HDn5!WrE(!WrE)z!!!$3&0N,N@6maE5]Mp[J^Nueg&MBZ!W`<d&9@[J!&=H
|
||||
Xn0F/g,a(_EP"?p^8L0Hj,a(_EP"?p^8M<IWd.+$\WbJBW+$CYmM;WV"8"&?iXR\
|
||||
Ia"2s^OdWpc84@Sn6B:7n-SnEoBH(HCOjEM^NJ`:pG-^^%E+rW<V%T3lmK31GQ-5
|
||||
md@)D2l;)kDi5&BHbq)KmP*ea5t6d5'im#m@Pn+#mqII@25paH2I]-c"mi&Mc_]L
|
||||
c)"t6YR+eg52&j.%$\?&IF,R8<B!++Hf3h:Q2Sm+UOka.<:(m/LJht)">p,CG:B.
|
||||
d[+,a+V[V[,Um]@@q@'mhHLp<fons#-4rpG4Ac7"V*ug'..EWs0lWuBCJ1$s+G('
|
||||
"2[!+p[=oZ/,*]Sq4eW"3ZV,tV8lCnMd7,c[U']eQ@M"29"G@DH7RAhfnFCTcTbg
|
||||
5M;o[*O/nQ"u84=J,.AfB;`=o&p$"/E/@A3Z-O+DG-RT)0mKI)9u2bCgY9OoCsc1
|
||||
K$Nh4ZAgL"7S!aK`fW84te6C)fElM3WaOd";efZ(biegd3"a>X=I'#nUqf\7/og$
|
||||
`[_W@3KT0Q%g2(3>7%<OTnmC5p9iT;N6Sk\>9ieM0]e.&gG5\0meb;QpO2.84-Wn
|
||||
NbH?W2b6J+-.na,)DRo&@Wr8:E-*4[>SDMpY[Zi$KL-AI'7pKL`8I#eh?H+6U6MK
|
||||
&hB8,;5"NZW8iO>g9I.b"*?#i/-TL2L$,IM$))Bl;-;dBlE;1Fu-I@>Vd%`ErVPm
|
||||
=F=YA/q/6$G^6pjM5,V1Db`$%!kAJ@uZ0\t3Ke2YAn83/nG-F?H?\@3F.QSTm6.9
|
||||
SuHgbJ)]fX`4LP]';,1Dqo><`59"KgeGaPbfg$64fT)<*W=fnA5mOdf'SZl$l1]8
|
||||
lD#F;O8*4Y=naM'bqGt>lOV-C&\0'MuJbrr>mWg099O7j8:AV,nS#u&4$G0W.G9t
|
||||
Ji!d9qgs<"PujU"9kp2.e,KCUmimkVkNA2qgFc=eUl]a1#9e-Fhq85S^4-$;$U`$
|
||||
'2C/s>j@P?<;+20r72/Tf'N%235rT'uiYG)?(*du%!(*a:2!m^+T.\ZC]/jE'h"^
|
||||
a7rr@*;*[;-'4*;g_^:WH)&h'OT_uM7u!<<0%!s8Z.!<E3%!<E0#!<<]T0gSYJ@<
|
||||
$j\nF7WpdBVZH0L0%Gg&MBZ!<<-b&A=0H9T9+W=T#`7Q-3E)^;sL9\NmV*:oIESQ
|
||||
;e/*Be?=o2iB?.;JE2l,l[iYjE"LSr"oD6zzzzzzzzzzz!!!!UPSP\KTEGqg+8[H
|
||||
Jm%]!GQWbut)FWq'D$F3KC*,?dR2e5h.m$!3Of`tiQ[rp5L?3,`"LtP3Q+e1lNAC
|
||||
I_5YKU##A@&c>pUH$dQO>LG`'47*m@K0EE@s&C5/_)<c4KB,S@(b>)\/%TI/&(WO
|
||||
Bg9bGFE&DG5p;i^hV"]ge[/>VuUMTE&3T]lKZE3hb>6"p"+fp_iQWi+KjOJY*$.#
|
||||
(-jS)=TH?B>DiET*%7]Hjocfn2'-<aNp!@,<eSEN;4@^1ZW2ic]OhE5"9pYq&/`Z
|
||||
jCcQ[Oe3j^7XU0j)=fTEB?8DMT*%7]Hjocfn2'!8^s@S("$Qp:%/:_01Z2o]c[h\
|
||||
j4pHBCDe[\K?*?bZgn:>Efk&0Y&X][7S;\B+erE!5=q030Xi"!:^t,@LX@q_p2fi
|
||||
gprr<2,_!;X)Q;Ha]*Nbf'$G$T,I&m-.(&`dRmseoL&Uj3CW;Csjr]^>^#lam(4J
|
||||
)1hrTHb$Hi"njrl=B?Z/YNX!4/s!rr?\Ahu:pI^\s^qJ,;ERrLZ1Nc^k(9B4Kiuc
|
||||
I]i0T,R^TQ%*26pAVn;pRqNd\rXNkHi)1\qqp)tYO)'dp-33gSZdP?4'qpep3+.L
|
||||
!:9*"rrCaBYO"dYrrCa+p\t6"iIBPN^[1aIp3c3'4r+$g$NAA:IqQX5Zf,9En?;1
|
||||
BbPMcFHi!sFW'BXAJ+&H-a5>fnl\#2Z50XC`>UB@<QhADOU[1kP./O^,M@e\%Nq^
|
||||
3f<gLR.BI$#`H"fq--ANn*\f/T*,pfn;!oaZR[k\FQNk)DtJ7Do9kuJ-r\T6WX,j
|
||||
5e/6s-^'`]XW+V+UXk5m_O5U@iiqTc$]g&:jm`,PVd7`<H^&TTLn*PG.7YZg]Rp8
|
||||
bgQHqusoi2N&FO'e31^;PV`1#86&)n:15_We;Ne@i4hT6%]j#:gfIGYY(01<-ff&
|
||||
7@o5q8sPd,V00M**gIe*Y(o9-/#>b/_?N(rU![kIeS^F&m1qsd>XgDsN1m)R>7-_
|
||||
NSrmU(9.;<cX;.8i_uRt^KE@U"fkrjH@Y>HBHH^o-C^TR[Z`u!n&dtYQ.t%Is/D(
|
||||
B:g2L6Q&>ZB[<g6>.[^X0u(mAtVA`fi3NTQ1RY*H$92?*Z>]oMA,SMis!QPN_9X2
|
||||
W#B%Ymk(d2u!s9-XKL89g^<>Xa2lD(LU09BaFe)1<@oB)N4C7O6HU_j*O/<l]B%-
|
||||
(<n-[Ni2'ct^bfWY@!&C9nA&)e!l7Z<orfZ8>'L#dJn;,rOqC84ue\$9^oI%7"g=
|
||||
*05/36li>0]j5t+d*g>U5qVb&LM]:)"(EP(&^W%:(S<^9iYZoT.hiKC*qJFbUUWO
|
||||
@#V^j3>)]sS6#[)@ZoSBN#S<#LM%WnK>r+9UO%'[T3\I0FYi?Qioncoo93&F%k8a
|
||||
2^!u#B=;X^H\K`hqf-u0O'9X6us#6\sK>5nTTkQ"hM]j).M[)Ou<_PWLUQ`lai,%
|
||||
?)N@U>=NVQ@HRQimES>u.C_O8t.LiQG=EfDWWN,n"*b?d\6P$)&s[1lUdO>BC8Zg
|
||||
rc*j^`i(KqRB],;eM=r$6=3dTDD?(=h20,pR#,)NAQ8%`J=Nqe?^hr#0jBK0CAM%
|
||||
?$'q;ebuaKU4og'YNY\?;ehO#\eJU0-!dY2&G@WT4MbFB#Z+q4@PRp!X+6'e3&*m
|
||||
qH+K:+Z_`Wj!4Wtq7!`]!6(h&lap&qa]`C"$Eb\HoRB/IZVp7NtE)$BLWb/MgT3*
|
||||
40gju25Ca#;8&?u@BL7d+iSTd'A,tBHNUeZ]=;P8+]<2u!K;"M(-X46M'UsqpX`.
|
||||
G**X`C<*]r<U;NN6]H]?1??"X:$TTej:3,um@5h:U%f;Pd!N.O`XKKbXJ0j+AC@U
|
||||
kcZu*_:_g)gG'o[e;fAUq^L8NJDPXM^aDX[2gmb$oNs5Jt`'g_S`?SbnNKpaQ_ej
|
||||
?[25u+SA@@lN%(6o-LT@!,@_!ch3p2Y/76nAA/aaUM&p9;8A+?#lB9GoMYHu5K/M
|
||||
[eT6:15>Psk<KXaZ'`ARs(bB\7L[FO7T#Z5c([N3j2ks<pb^,),HDOtkR[`lU"W"
|
||||
e4`/&r&P^t>5U'T]phPs]n)`4\6.B\QN.['&9qSK:*.=G+D:7X:Z];rh]eHgog(D
|
||||
g;`]f3G_gM6S9l^2iXeOKe$`IZ%1@2biUC;4N[onif1k;V?h&i-1Lkbo%dUF`X3-
|
||||
BN^,rrD%pOZFKa,d)kO<3E&cM%U7a0'.1$bNQKQ3D+UF^B-(d7NRJ>?7!DnF<t9]
|
||||
#uEYil/=CV@S2F6&Em)gn.cLd@T3hj&&9l\+@M/t`Z6Z?=`WWIr(&sQO4G+8Mn"l
|
||||
qZDj1h+j_q8"<B"kU-p2I&NUPu#WaFH&1'r-@$T*(cuc6a,6UsXN-aVk^W>Y;V88
|
||||
K(i*_G;kn(liquU%5F98>e^I457#a)Dr/\m<Dcla:CYZjJW"gl0M;2Z2*o`APL5_
|
||||
,+4,d*1p7#\*N/$2F&+o$gZm]"n;',!,o0nU;U;A>L?\Sr]_'+Ag/=]gLc]E92d`
|
||||
hY:J0W(Wg.AUm]&Bkj>180N#)9eYim$6+2$SS2_`]XW8JI&Sa&39rm+,9N,dNc0J
|
||||
-E)bN1DhB(F28_k;7O:J)X3HUUE@:GL^=AZ&;%\Y6m6"A.)NVhR=cpOh8NPml$_\
|
||||
+ZrS]NkZh6P*A?n.oG581$#+'KA"hVE\m:`I!/2W\.cLb>BY;1o<2L$;?q(d(1N;
|
||||
L]oTk]()1_o]f0QB%R80`]6Zms%@TqnkQ",U[YQcIg3!:9nK+13nD.SauaJ2;3qR
|
||||
o:r;Me73#[)72@/-:LfU\FTjJlY8ZB)ppqCKJp,/OZ0UMc\0Qp='!RR<=kTT;Gp\
|
||||
>!+A39rT9#II.X1lA!=`<:uON5Cb&8=-.#@I5Kf?DM/UQS?@//#*@ddeuZ!E/\7J
|
||||
"ot)W+u)AEMT[r:d\ia-jEajX$s'VfL9ZuGTVF*i;2C3RSmiQ/Qj#ur'.D19.+0$
|
||||
d&.\:pk'[so<tMY<1BGoTg09BI,tuKnbfau@g//+_k]4Ik#[;l`TSYU]bT5>%4-A
|
||||
/B*-]&qR`<d;RX1Pg/N?rNfS^pr?r@k)e5lNO&]6Mgi/[64]PRZ]7Y"h]e-7VDh4
|
||||
qq@`"At'dOI(E["g&/6&2HE%$m*k@H_+T0ZQH^7&%8S%*N>X`UV<:__\XH#g,bm/
|
||||
`MMR9VB8R),))Z2P'UQAU0/m1s`[%rPflVnsF3W/rQ]OYa%>7&4-m`L(AO2ecj*e
|
||||
Aers+#kWL+ApdrraJdgiP+9Z>Z60Rt]e,F&0LBYCU*VdTi]XTl,FZdO)5B`H-#j?
|
||||
/#3?8pCS]')1^K2933_iekip^0l0[WNT8J\hU=Z2h]L8K]"q[hB=F/#bEciVV(E/
|
||||
B#?r![P3h8?)i(1]u4$e(EZMVQPV"9@k7fj-cb+$1f%H!hE^h*Z(kJB-Ab@:V4+H
|
||||
p[+WC-l"H'IbK;BVpFh7'P/c5/?Na20B5V-TkNdBMUhLb;_+-6a(qg`@X`&I`BLn
|
||||
jMIGel`<s0DYBp$,NE9BZ@@bh/W/e"?bos<5sq:b[nNl2Mg?'&tD;;J3h=$g0LLp
|
||||
EfnNJn<TE2ZJ?[_>Zl;/XKP`-U8^OM4(lN.KP_HM$(RP/4X$&&PWPYt':1;X#I03
|
||||
g>HN,8C^2%uMH($aK51'db02qnT((hLR7m]&_6^Jq8sKu4J96tg(,Uk,Q"=NcVT]
|
||||
b*"LXpT$h4B<)!rtfSI&e<,KsLbKWmnO">PFoFH3'`1HK?F;Uq]EP1bO&S#SqUm<
|
||||
><05cO*_<&Es.B)ACrKaAek2A`VIN3c4:kbi*SdZ\roA\>hI$Ud<9a?.e0b'Mk<N
|
||||
[8f.KgM@YC`lca\7S<N5isDta"<*b:SeHf/I!mf+?Dhs),em+/k7('d;'C0N-&Wj
|
||||
F"6g.(P4#X!J"mI>8#-7d=X(**##^\`2=0De$1WmQH""oC(M;6;o4c5aO+X6o8?T
|
||||
&"q.1,Unu(O0!2[)[^+o,]HtRTb'VelBkSM.jptQ]_?LeI-7,7LZNNRLG`\^/W=A
|
||||
V_7Qs9f<%E5_;\1[Z9X+b?$,[I7i[&Hg;E:TY#+bN9qDJACKe.GKMD/"CWFn'8W%
|
||||
"!86mBQY0RB<0JhnG-DCZK)NOgC3[5*_&&M[Uf<@`0YA^\Xd?smJ$7Ec6M#tPDZL
|
||||
kTto_6J=&lO0t$$ESpa2eA`i8:m'd&L-In(`P8TLJ8Y1dIXf9R6<S[:eMG2\q)Ck
|
||||
Ua\`/TK-D4[i3a<l?gdoj,'4SG_K`O#:Q2h8B%Mp)u#Y-11Nl70[rH%\T>ZGgG7j
|
||||
;r1/r5:fo00=H=PE?;"\$"#?^C:nVXCcs\$lfs_Qf^:,^qAI.!M;`B5-U`\Y261*
|
||||
B;!XAL`<]R].YQraGqTX[T;.b$No!feS[Qqp?h$1Q\>REV<n4KK^_7CAj[@Um1>l
|
||||
dRuG&_G==]]8lfrhgh\bDO=;)sIU'pNBuVMet_FGO-Rq[+M#dTha0fXFD%/Q(.=T
|
||||
Sdou1-1DN@[-i2VNB:3Ypc^[L>m=*ZOLCNC&Om1$CHW;[u;oPA+Bd?eZ3"l8AVjD
|
||||
Cl#nOLj;VjN?TZjbd8K[g,\"J4-2sX:#fpVAu?228h+El=o5.##H<;$2X0e":.0H
|
||||
%)pR@e6stDuUL9ThA>rJ"jSC-,1qm>tJ=m5Ug40`$;[o'\FXi_p0TSXQ"iRf6,=n
|
||||
s\LaV!`BO7d9#),)MVcGUt2OJs@U-"GrNqsoFn6_\P<RAsl3Ag]N6d3)uBZ6I\d'
|
||||
RMD>!k$sr(?75Bb:3tVLe4\BCQ*3LdgBTM27EbH&XVue;pF/nLF=!$QLjk1LP80A
|
||||
7j%]0sK_jgjo>#72^hBlq>ND8flGNZ(i6\)51k/AiEa0#oQ)]=cW'5nZ%<TKI)a?
|
||||
bgMinQ7Sr$M+P6%@m\3&-LUBW)!(s5ojVDD-A($J6/JFF40Gd''6XZo@P^1/0G08
|
||||
;g^puI=W@u#*<e%(ofaP+=3sfQ,VT`rjt*;s,=7c,:fDUd,BQMqTQW*8Lj1td$Q>
|
||||
/.RH@_!6P.3lFb^mTNM/7iG3D2I4rth#'$=LUlu[)@\pBhmiQ:(%D3>h@;?$V?U_
|
||||
GaDoER;Ho&6>Mfp"PihR/(uAIJYVb.!;_$iEi9jH''e31^+%2eoZJi"N_0%GS<)R
|
||||
Zs.ag8LjkRQ/nieg`>^9*dmfF=g<I@p3[-41dr3V\[U[[W'2Z-54r:bY5:;CWe:N
|
||||
/nM*dnoBBDD(5p`YQR<bSrksdi+4[?(rhNK8BRa12Cj3RBsoA94\b%4R6]XPfGtq
|
||||
::#XApd4m-$R1Kt@Qjfas9qpnNE271LM(I4h.1*I^<m/KsL/qu0#67/CBc[SD>dt
|
||||
t21=#AP/e_6EbY$G8][\Mt.H2;HQ*^p,3j;*W/41NnKh0RtX3SqjR0$_cB:?GTM0
|
||||
Lg!4>,hpE18eq)U6^NZ0`Xu\Nbf4-tQ(G#$htSAe!r2?kjXL.W6_lPS^`;ALkI4H
|
||||
jqFl4$\<dPdY7VFWr%Bit>;rAdc7%*0g`3+V`#L\YM69J;&iB,o@+<@S"<pkQAca
|
||||
+MD>U\Unl*K`&JLT[(bL\A8bs/Ek:tOHp(;!:32KL=*M:LtL1s0Cc*IOCm[6_sq>
|
||||
a"-$->.Dn)8m^%5tp0qeRQlss(CEI4!ji$fo7YXYM`P(Qp\WW^VBic[X[n+`R($]
|
||||
<?&IbI[4Vb1l6kuf*#Bb3I3_>PfTh=uJ[.pCeZUc[2+Yh@V&Qaq,]Ktd>6&'F_ic
|
||||
ZKT9r866pM<+"!"O.P_'tg-F"!E+>/KDHc4tuB%LB0CZ@RTRaR@6h.@25G0F01Rb
|
||||
%:Al[/l"&ke'8Oc7-=n+5"_5ASr%FZX7SJL4e0/@K-<:rJH5-fnOVmL'-?@b>-B^
|
||||
\?cVHjJV;!hS:"eJH[I9_WZm.=d95'P>23WgsUV,+OtsWQ457CI?!4U'AEr#^\%l
|
||||
h'ko5GL#%BTE#&j6\mX)A+qts)@mHl_h&Hr]"V-&9^dBBId>i1KS7W(mM?;JdhR+
|
||||
ad4X?,DO9B9k'^-+;5p1\$8<tO>a.hI)Zf$EQ=2=%.@ALL?])fPS`"+OQ#>mCR$)
|
||||
&,O)F8pQ%n#VM]6$Y%L;_UKJccg&5(_jhL8>>*gIjG^;R<T@1">-'>[^9]r(>\[B
|
||||
fMh[1CP$'^mZ3##^4LEK:tb5Ss!i`)I`iFEtJc;dQ`Gie&Fi*6eXGh[!nieX4%RC
|
||||
$Hk+ie%LH3a%6b!+to].<pU(D$M9"_`.miZTo\1F#uDl1mU7s7l5u.q`2QRNd,9Q
|
||||
9.C:SY"QC)D-@1dmO`XWb.,cbc9qsiY+q5AERCBECBi/cU%BD%$4&D7LL;=k7!/\
|
||||
5f)F/J+kq56'@b1,M!"JuWmKdpe`[i!uQk3OLn7$XPL)SeXLeC%WULGXO,dpq^>0
|
||||
V_E=]pA4XeK#cXB/@Y%>+Y$Tm<da'e:/^Ttd.?<gDML?@3QofrLE!hqOt<E](nc*
|
||||
A5.2=aO;,;@R4O1N=%,WD]Qg8P]uH^(.*1?UV@7k`,kcGAKa[KMj,A=9uda7TG%R
|
||||
9W@P9O"`.0N0@N/Jo&\/05(He.iWCT66QY9N7CcCFc.f&A^G=o!,*[^D&4'iO]nG
|
||||
HpDB!00o#TYh7Fms!`<:!PK-/:7?"JP!GG[33\Ec?[?bs.%9IUBY6-F*Ps]L<3hc
|
||||
U\.]$%Ifm^0`Jm/Pgd_&Q+d4[t)#PSVZSEDR]r<re47D-7FKWT8LbhIrh>.cJ9@i
|
||||
DV,4P8@jdT_18N$l0(lNFN&PY+R3_ec?hL@qJ^//Al=,Gt`&i]V878aK7&)_G/sq
|
||||
*ie\#k?.?`%t:!Bm,/1YO4L9F#k\,)(ohfQSTZ*iT<9o9k2h-o\+%W',;'m/TV6U
|
||||
W/]OlnJdQ"N)Q-5J[5hc9k=*/<HNiL>CN)"+T8&@QUcp["JRgucs=;ao5Ui`Uc9N
|
||||
7<6o6$bT\BtM&g0S),?@56<7gU(eaO_j85pYj!rHg(*Ni!,?5+(:qNqdhG`g6Hq@
|
||||
Ml\D"KSI&0nH."qm@=Z(gj6Bua1I"((lW3*)errB\TX4!08FKElAhkUagKUrcL_3
|
||||
`fF\;l'H%kI9@d_jFgFGq1BeJK738kI%CfcKqGH'D>@=eG"M2+p"&/3/R1!n'lFF
|
||||
*Vac@e26*4-Jr<N_sY;1'hh\4%AR/("SX[dJh:ID%K>sHAGKtk$$a_#'$QBhcn#(
|
||||
JR4OZS5dHcS5KF4=H(\'DSW,X%Ae7q#iS9)Xf*Y2`(/T";%TssH4,#6&?0d^Jl.H
|
||||
mg$L=>mq8$*p>gMPG.<<!jFZn%l;XZ;e:j<l9M@eH7<k'e'Q"T&%tPcfQ?$1$RSU
|
||||
^C]Q>c^I2KZNBl$hs;]SnE%sj?C865FO,$E7aV3t^0XApoob?kpl)J'rPC./\%"m
|
||||
;OX`Pcg2;S_+=PT`tb!@e2F!NZjc%<_^fN2[Ts=>D#<kbAf$%e%`5nDf:Z%YUbe@
|
||||
eC_4Yi:Q4@G'I&&\oo+oF/G>D-s4(?G;@Nd5QRE#X'>;&JqN"%6H4GGI]A1(4WT4
|
||||
S&QT8]"p[]$d0/2U=%mSb&W'9AO]f(O9=9-/i6CiZQlp40X7GFZFb[ZM'iqm$%?M
|
||||
C!&GNQAK/HHZIY+CTOCl_h56Tim[@hh!5]]gp_L-Cbi;I:8oV6kfS8oINPs"2O%h
|
||||
5RX$p2R`2.=ZJ*<Kb6!$BYJu1F92hlmCoOA"^SX(4I#40TsR$T91Re%Jp:+Wq]N3
|
||||
A&.\fIa;1^cPMGX7B6EH\"9Q!)mojpS]MZC.>0Y/D`eM57jV#?"IIQo9Z:0JWiqX
|
||||
l<SJ+sWg3PW9G)0FNI:J7q\f'#oecQ&1MmpS>/=^aZ-#%W=m]fL8tt06LANK1=ME
|
||||
_d='RQka>krq$USf&4HSE5abjj#>?T8t3_WhEanG8)tM(MS$AL8,S5'3[IH3blTU
|
||||
Nk&R=;7@i*"6:LR-X'5Ym90'*WdNN21Y5\LG5<!,[h>ln9R#FFN9t6)1K5D1H+GP
|
||||
VT_JKhocuk(FeV5'ekde?7l@A=8UFih#WDJZ%`*oDJkG$p;%9\<m5'#`!GXqhYb;
|
||||
b(l6Z"8@1aAk^a]F74<UE+5R'c8#p*@o`VX"lO-/pB-;54c#5a;_.7!4"neM"6HQ
|
||||
g[AnJ)EUO\]C(&?=SQe^eOqB#4SNF4"O5YV).2%1Gc]K+"M_.O]4g`q[BZq*qOW@
|
||||
@,>9sB'mjl!&Z'IZ3-muA:9lh@b-O#-Lj^PZZq5KVDIi6(T>ec:a;kT$Wf4N.!io
|
||||
9DYt!KE+g9*$cI<:?/dmO(1RBS8UdpNpC2sc81hof"kk#LCng`_M&kYoV9:c+2au
|
||||
r.!.o_1-C@I`JTZMdIX\9c9qX8=r?$Vu'Q"e+!,GKMUtlSe"Z1/g3MKj?rr<63#M
|
||||
+pRMUN.H(i_u%-(@<^B4a>(B'_UQh\F<;DT[*eGaC7dB!Cejj.oUeQI<3H.,J=Dq
|
||||
h%mj"&>99K<n[&8$>9b3Rj@>XE/f'`q(K43Tiee;^1!W0Q7121kV1_.(l>EPCb]G
|
||||
!_""]@B?A/Hf6_0!FmI8:8IDhSIu(QLt4Q$b;G8MSuf,*$#i-H2\*6IgF6F.$h:G
|
||||
p1a(O-43!^X3_(ILYoR>j!JKN+)D(QuA:lO5:k:7J$K;FhLY@-:rr=87&scPo8qC
|
||||
ro/!^D9LFdXeCm]ih7'=nFda<*39'AiCCPXmr4f<"Ml;#G\#fgV2;C'b")c"V:ED
|
||||
^gIjuB]R!SRa.O4(pV]1L:BqC=2H4kWV8kg84[H__GDg_dlNI)bFAqbMo1W3;]eJ
|
||||
;D@MUol!DW'Pbr3J'(R:2$0!g1CW+Nr^l!CM4s0$+3NB\?]s\VMkhn$>_CFP9$<\
|
||||
F<E\<Gj%U"[h1\iJDP95B(nBMh'uATjWeo.r5BM*m01EWX\>.P8:u5G)@:`;'=r/
|
||||
_!4(A-/rko;>B!Lc4"ik$X@;78#<KT(7e6$f[5Y2:$Q"&=D(L;jOH(M)7;.BsW8r
|
||||
K\rZQ?%#Qk[S7*mQ"au8J&FW#WSa;sFhR`[p<81r>Ml8omc_n&R]6+VN>-3]n$DN
|
||||
oA_]:Z$+@V9-sE^2s\>Rl9OE0fT:eOk$H68T>cRNZT.!?%+>84-$=2bP.?-IU_40
|
||||
6B+4`5c"N8P_.f#`Q/(Xq[X##Hc&D6P1PL8BhHVMN=,?kY#BeP#*#%?%6QXR#1>L
|
||||
W<Ce>3Wp+H,+@7*6BS9aj\,#OarO.bh%-6<U)ke9CBmc"5lp2e<-tB$ZFckHXRh4
|
||||
F7bK5g>U(<R4jo?:gC,#lj)GMt+h-_=BJlaj6Fnju72cbbO(m5m7G8=_7U)7G6ll
|
||||
t[o<AkJ`Yq!O%C9(k<O`gR!&_MYN>.e!%ea)Nb#,ShBYK*2eiLX.R:c$BD[aKe6O
|
||||
q6o2X8).RPOA;+J>Ah=^=T;B`NnD7P0(.k.&nNUt[COfFT%_\+bJm)K,^g^(F=GG
|
||||
WWrcS8u:V?OX,9(32)Zr_6LIdOS/fLKZj8[AXk+'Q%p8;;Rt*&XJlP..&FK*&6Sa
|
||||
Als1(Du6"2@2agh5ViTMAq:`[UVMcQ2;SAJ@9o8&Tm[6[C'iSZ#J)[C;@+Q&,XK:
|
||||
6VI8aRiAV(s^tLGN-K,!m4"7^F*"4++,M_0EiD/T+m&?i"iU8U&QY=E9T(BKUj*[
|
||||
$U>f,j3H5P+F;S9mY7hXDcmmOTq5]S'<N!j;'YmS;qe#%#hOTaB9/8@nt#@]bfR,
|
||||
3r1C"UCJQKYB*dcEU7C)@/N'P9-iNLEK+6roF#Bq;*>pWm)>q/,P1Q$^DoS=*]K!
|
||||
8=/kLi1@P/Tn$[0KTEt+i9ZK+jL^eMSX1V`P_EgCjNl,+bnVY(qnUp1@:op7^A>(
|
||||
SJ^6d2MAjD!b`-8F5A!`2i%dH'uMJDKC4?Xc35]R#HF<4V\5LdCN13[6Lp$-J`:$
|
||||
k#BZ9j.Bm3Kd52O*4(LGPOG9Op*@VH^A8Q!C@/GV#Uk]\?JEhr@2C0As5Vepo`n(
|
||||
=!M?O6h-*j^VGJeAn)CI(Ig-JL_ds5h\F!gAs(3a*V^4PeIK)Yi#mS;%!Fr[Hm3E
|
||||
mJM`4&lPa`3:NZo!AJ<),<oG9B%g.r6Q_miL?LY@nSI*2m]Y(<bqWWBDSZ6sF\NL
|
||||
XKAB3,UU=!Ug-:85Yel#^1qdPJS?%d1nMB,"Z*3mcW/'l4G)UFsg\61`3>/fpUTC
|
||||
i&)f#UUqPg!/%rrd*>L?[=gV@6jP_r)mYKh0A6o/M8TXeS`VnrE@KUGGQ@qQd0>#
|
||||
4%`Aj5P]k1fM!X<QC`fWd1#+OTDBZ=u#[pk*dq6O640i]P*OUqb92QAU-toku4V%
|
||||
*_GtZ=4_s\>X/]%sS1`5e;TW8JuX8q==h$)2%=<3I80(JV#2$OAcoUMtZ7YH"4>!
|
||||
cnQF:igV1VblF$,j:P!9=V-CBN91:M;?A`\#^66[1bf^&#o/rFMEbAr:k*SuO/`I
|
||||
OC'omR^H]oSpe>fS4r?#d'CGG'Dk3T"S:.<WTDk"2nfI7Z&h;*Jj22G\,\FmX:pk
|
||||
=0sEn>A1[3I$6+*,cl:teL'?O6u#D$!;*GA;eF5H7ra(A&9^B&,md5g]._&R`9]7
|
||||
=d&*geWTA]Q%>OM>g(![Ok"?XKgKY]",oW/-RsIS@ZHWX2/a4^kY@OE64bsS%0$e
|
||||
d&%nMUEO)eH]DBR[IJaSA3mZ/(M-2C5H]-VWbmlaUcSeH'r'R'k8F@bt)Rp7#$$?
|
||||
"(s\8o50fb<G+EBPF(#u5!f4VHN]>m=<QDlUeNK&`Nt^#J!UFP3u3ct4k9d2SulS
|
||||
Z$P44#$fXlneKE*RB'<C[U3>l[s!1a7f]hddCTFd`J"6\kD:XD+9N(*ZFJVrFq,[
|
||||
HMV!E\j)+I]@d$(O`bCa%O*&")b-4@Bl5&_7!35LW:u%7(l":pi@aJ_iU6rlmg0K
|
||||
NSZ1b41H^I?mZea0-2;dSb=.qJ:CkqgDNS9*!4hBZnAj%Hjdo/N]*5mfSYA$-d"[
|
||||
AWd!J9II3nmn;V)PIjBh()N18";5*/LU%h`<E4FK<dL=ekEm2N,Xe.@Z#`8tD$F<
|
||||
%.fIHD_t;%`qTpRtf#12k@KX*+<TDM1pP1i@rP.4Zjc%h/9PWnd<?(m[T&Sn<53p
|
||||
5'.?%b"./Q?P#GrMP8dm)&QiSoO23V0@Ua/'OpsH%q">*n&X#3tpB&;;+/gOoa+3
|
||||
1qRsm)IrIbUCBa*%P]r+NYA]KN31"b0)kp-:*WU<`1tc0Bm3*F[.*:Y:=h"[/!o[
|
||||
)k#="HY;=]YCs3K(#T^kFkB-lAoccWj)g4B;2jEEj=tIjt"kA$phje'?fi32t[-U
|
||||
OS*/RoJJ<oFuZqeFtPMTQt46/JZE2>Ikr7kW^Z*[RSJPS&-``HVq-_bhtm-"r.dU
|
||||
S#5FKYH)M^`:ISYf9./Cr_gf\?BL>^;M%D!b"TZ-:EE:rMkApZV1>M2pX(hIi7Zn
|
||||
a>VDMfTWZ5^&#tKW<a5@X(NiLI!St7T\KB\d%,b/B69Rk$?m=44E%/gutnmBIBUR
|
||||
Nge:!^C31Ai66@U4;6),fUdc'>!-9uBX38=;$nIS]bueq@M7[HB8rVM63,J/L:S$
|
||||
Y)21X\ePrE&6Io^&42'-jl$=heJP0F9TeK:n7Wjt;G5X[+B[_7=\`-NO&CQ][@p#
|
||||
%.-6e7\!i0/l^u/+`6O"8jk;*&;f3;a(:4^$WEBFQcQ.[[m.@&b8,roV$GpOi=VR
|
||||
oHbb=Z>2H'J`t8r@8oHIllhcQC&/R85W^U:ps(M+k*.NYt=t6Cas,nRmbBAQN(($
|
||||
Z=9MpJ35D1W62JkqU,N;(>Xm9LL;2ZrRFD79W(]$80b*?:^06bd?_=mBE[FA>s^@
|
||||
Em$;-Flmo4Kl>0$nVHkcNg:@oV?gI!<i+B[d/faiC/mmkeIq+U"hA[@QQ>!O:kd"
|
||||
l*lKaG_3"-@jcmpc"[1s&d_!Zj.V<:)>L@kq?f29YNC9A%dT!2DV+R$J$C#SR3I6
|
||||
q6outYQPphl:.,nTJR7sSJ`5JU+c:+uINaIq;SpB@:6'?pe;aEp(hkbOQ/;B[)lL
|
||||
6+$lsg8VVG,MtGp9eo\;9J;io[QAoQ2QkC803.Y/"C8<=6N0jFdl&.2SiQAd>'L#
|
||||
LmD9rrB8+BXT<A[&3LUIghG`B,[>6=>+CbIn*jKO/2dUpdoV[8L0Hj2:l,Vf3_>R
|
||||
!93=?P"?p^qTL?s+J;qo"6.2t!:u+m6WOYRGS6rn-Nq[*b5quQDcc3N.mXFnKt)u
|
||||
NoJ147\;j+[A\G6p`!r)!(6N_D:O%0igKCX\]!L65;,CFjEafe#G5hPBSsFADdjZ
|
||||
$cMUjXL9LoCd/O6F8gh5J>]Us=1b'fMZrrBET-0I8G?hPM7PQtUJ_^Z,+/K3'>X*
|
||||
upj9a&fo#$"cJlq/aE)fmL8ZR@T!5`'8.SC[JGDTqj@Y8?&l]u&6sN3di"^#]e<r
|
||||
(s%Q_)W3;32f8"W7uu/Z*'2qC>I)VE,/=jJM$6X1oA)mZ,9gNQ9.!:)RdPU311;A
|
||||
."RG/eF>i]Jh@'/**o'Wm12c_YTLDr&WC4>_o&i.W+CVf2MA\*UHiAmZ"[1=ZbE`
|
||||
4C:L,#&$j0('P+le<0nKBBY0/_)M1&1Qe7Z?_,QR5bIcI/BZ8#5#PV".nP9kh:DE
|
||||
=p'_+s5nP9kh:DE=p'_+s5nP9kh:DE=p'_+s5nP9kh:DE=kSR`9P>DcGaNhL\Xp>
|
||||
D4R=CrT&/l%rO0\m=G>MS<-j#&REDl#&<%Q%5UgRB)fD&8JglX7\*ZoW_<Q*B]F.
|
||||
(CF8!Njcn)mS*.6HX#i$X#A?Upp[G*>bTWX&D2+?6EIRFhF%XVY#IsWC#'?bK(]B
|
||||
S##p`_`AeAdW^Oe8:^rGe!b1JcOoDFa'bJ>)@$SBe3+(d4:+Ya7-YqLmhAU8M$".
|
||||
lW1]k+$_`9Kn>$trMar:,I65M`G2+iFa`JSkd_&2.eZAoKo,Y_<7,7q8%0WsZ)3i
|
||||
$-1^<6N/M0pQd4Yla8SYA_3PlVn>bPm`!X"F(SZ1P&:jOj$^&pP'>$"Gl(&ggMr;
|
||||
n^YAnhN'^jrjl,(Kk";1)Qo>t[P8]'?gE.ns/r7n'b#JfA/<7Hk8+<<:aE?_:\d<
|
||||
IJk?-E*2,fQ6L63s1(L*YBJ\<)j_/fC]2]-TO3Q"1pInQ8r$RGn#p<I$)rfeq3o%
|
||||
ET).GXU6_M-'VD<0nPHp@"mH5!$H(5-eIP5kL\nKkL\nKkL\nKkL\nKkL\nKkL\n
|
||||
KkL\nKkL\nKkL\nKkL\nKkL\nKkL\nKkL\nKkL\nKj3S`q/h1o'PX'-BiG!!f_f,
|
||||
cK@#ro*Bk[MH(e67u;A9W61?B9Jo3'&"C+>[/ND%:Wg$KY0)e%=*Y+%.l1kN-S:L
|
||||
R\6(G^Vs0Ij(Q.;I<BjCgH^TQ/2P>V)hH[AUULiftd'1dN.`_qR`Q&L0$);>h!TM
|
||||
31&+P%a.97M[_ZCI$E`&Ob7U,=OPj8B8OqV2hfMBSSs+e2$pIX3^h!~>
|
||||
%%EOF
|
BIN
Docs/source/hud2.jpg
Normal file
After Width: | Height: | Size: 30 KiB |
898
Docs/source/ksfo.eps
Normal file
|
@ -0,0 +1,898 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: jpeg2ps V1.5 by Thomas Merz
|
||||
%%Title: ksfo.jpg
|
||||
%%CreationDate: Tue Feb 12 20:09:21 2002
|
||||
%%BoundingBox: 20 20 505 402
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
/languagelevel where {pop languagelevel 2 lt}{true} ifelse {
|
||||
(JPEG file 'ksfo.jpg' needs PostScript Level 2!\n) dup print flush
|
||||
/Helvetica findfont 20 scalefont setfont 100 100 moveto show showpage stop
|
||||
} if
|
||||
save
|
||||
/RawData currentfile /ASCII85Decode filter def
|
||||
/Data RawData << >> /DCTDecode filter def
|
||||
20 20 translate
|
||||
484.20 381.60 scale
|
||||
/DeviceRGB setcolorspace
|
||||
{ << /ImageType 1
|
||||
/Width 807
|
||||
/Height 636
|
||||
/ImageMatrix [ 807 0 0 -636 0 636 ]
|
||||
/DataSource Data
|
||||
/BitsPerComponent 8
|
||||
/Decode [0 1 0 1 0 1]
|
||||
>> image
|
||||
Data closefile
|
||||
RawData flushfile
|
||||
showpage
|
||||
restore
|
||||
} exec
|
||||
s4IA0!"_al8O`[\!<E1F!-eJDs4[N@!!WQ0"pG,6"pG29#6kG@&./aN#mq@V%h'!
|
||||
c'GqZ''G_H&*@2dG)^?=<(*G.N,:4ce.Oc5W/MJb)0I8+r.0&$%6NIDs#7:_D'+,
|
||||
'[-lNj>-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n
|
||||
$Jl-n,,4!"fJ<Hik_u!?qLF&HMtG!WU(<)ZTj?!<<3&zz!!!!"!WrQ/"pb1H!#Ye
|
||||
<!<E3%!<<*"zz!<N?+"om9V$j-M1!Y>GF!!!&g3P"V-0Q[*TB^'Wf[PHj4o8g[KE
|
||||
sac[%8;CQ+OnIi1(?p0;]sT22)5V7K2WoBa>G^^9S67deAsL&%8;CQ+OnIi1(?p0
|
||||
;]sT22)5V7K2WoBa>G^^9S67deAsL&%8;CQ+OnIi1(?p0<LZ"(0[$Yk:JG-"d)"N
|
||||
#f(T%=WAtspFi$9_DIVunPFl.4H7>3#q9Q)!^Er6[(SQn^hpEdb@EJ@6T-j<'a#N
|
||||
;nm&lH<_k]Aukmm&@6b<him_bh^YiuYa3^^LhORC#^4196DGT@[Y#=`ogd@K3;B6
|
||||
YF7h?QMoJ^L%HFD#h=);YTfGCe/4i,iUV*?!]=7X'F2S`(S,h?QMoJ^L%HFD#h=)
|
||||
;YTfGCe/4i,iUV*?!]=7X'F2jlh$%i@^l7cU65H9Qj:r).t77pNpflds$'*a?('E
|
||||
cg!@I=)M9,NpCE'/`[jO2_DO/g2S"RS-)@.%2MlSdudh%]$\Ja'ZJWShY?rj[77B
|
||||
lP[nMH)TeCF,ij#_am0'9cntqD<R,YtNtcUCdA`!`%uj'E,$bs_B(Lj`4;kKNie\
|
||||
k<eSSDn]0,;_>VJN:'_?Ha<(eWpCg'gOM(Hm5l</P2JYFQg^hsG.io<H-jAZ++3^
|
||||
\$ATt,;6R9RqtVO5lGRc@@fT,AWDM.Z9/R(4NKWq30s/<'7R;i4_A@#(Dq'J^kKX
|
||||
N&35Ln]_UB`];?BL@P9B2-H]=HTr/`l<,'>_rs5W?Y$N2H^6f!8V:'\B[hbc^VBI
|
||||
F69tEc-"<\[WN^+!""5rM)7W*<B2Qs0[WOe1b#.BZ2kPU1,MhNH*^#1MQ+!lEKRV
|
||||
rNbKX^cAo1g7V/k^QPDED#pi6=(!R%.b:#5Y2`bXZOYl&K;,1@o'F]+6UnLa\!g@
|
||||
CG;*$dn;9b/3_!EtHV-)$aj5nO<K"5l+;irMlhTdV56%Q'l3>sO[F(%%dOdV',XA
|
||||
)Q]V,C,]:*e8HN_(4*eIbku3\h\pA^5&2#ut#7[:=3_Mj7%r`7V07EJ3m=XBeFYF
|
||||
%f"='jQXAMU&)q1<EQ7],*?)-&,,C&3Q3f"PT10,cng2Y"9uf*:C.>PHfObX2pYt
|
||||
otuu_*,Pp;#rrSP>-.(j>!b&Y)EE)5Ff\OXOrL,)"j#D]*GT/n!6!&`U=:Zk@R/H
|
||||
F-l[hF`cZ-!b?,3@(1;&CE8*?>MCT?/A30et.SA+LX*'8'(pd-`\Q&p3)7C6EA??
|
||||
57Fc!eR34$bZ$9>]bEndZp>t\]WC6G6Y!KrEV<&)PG6T<JN;94HbN:Ne)]b$StDc
|
||||
/)X0jL#eq"E@2C?E@N3Ds8XP:>:i3QMkm\Hp1<ajd:lZSZo$EaoY)P"=/S^`+W'o
|
||||
$6sc?89`<!kFJ61ZkHb4RA(ZD&-a<WM`U_hc#>PS8`84f8!V<EV6:\-SWg-DBkX-
|
||||
X6&uD2m-=j]R$_KjQ_O.H-)f).45*mRA@aL/TY.-(:Zr\SguZXnoH=7c>@NQT)/B
|
||||
q@cOe+SUjgO*4e*?T-k7sW8O2U3;N0.^g,PPLEeS\g'l^eBL6Qmbgr&Ea"Ml`,$j
|
||||
Lq.>T9AC*\)i(f&Lh3bDu'Pk%jq*uHq=ZI%kPOsY\eM^[\3gtoYlN^Ca;G%M,Fc7
|
||||
-kL`E^4;Y&%/SD^Io+Q;lY<fYO&q$V;TY'b.ER)6fX[&=%4Zp>Xl?h7EOpHf<Anc
|
||||
TFq+`tORTG?ZV]BeiOD%pZ-A$5I1W.7IlE1Y/`deh"DT9i_:jA;qoJ87F+mEDB_/
|
||||
1j,;7W+oe'i=$*\/qQ*nI#-tXS26WB`3%^Xg+Mu,cImmAK8-pmimuI'R'PF>*NKg
|
||||
YZRdDQ<"Zk"7kZ`>Zm^*-HSTG07W<Aa&KIXd7jAk5k=(1I-L.CAKSUDT7iCoANk\
|
||||
nIQ\9CPi]XUgi?m5C&kr\>6Nk24a^?fF.nPR:1H2`$^.fsdjp)Li.QF<G43-_L?>
|
||||
eQ2pp44m_4,/X%X%I<F-dAro0Jmac89U[Y;qu<[#1+78qAZr9gL<QZH-mH6<t#<e
|
||||
Rf6lK*bR]%Y@;m/qR(Z1OUS/lc>hA1nuF'F(:)f7,X'2Q:YMQUGI3#7EHiQ0%g`1
|
||||
"NNkZZOQ5\c9]H?,<Vo]gb;ud?taV(r2b1W(`K/)h*\Q40Ef=q,(a%#_aP7nAEUN
|
||||
X>0/!?.OqEj&/-sY)i:\7>cQkM;?C7Q>Kn*N4#n%B,`1V[_L0"PE@-_q2<.XQ]aH
|
||||
VQUD:sl_gJQ:)Ffc;.B4^PP9jm:JC6!!U]?l0dYqqf?:`aYaq;n9kA^7O%2A)1@a
|
||||
Kh/16&*K>`qtu-ra"E)(;;K'<<lG<b>MYdo^c]YV^=BX:`0CJQ!]#AnI'.c%@B?B
|
||||
mb)@RRj=37Bf$R-PC@!]N<;e.ERbWH&2M1P%`'GJJ6+;&ET[GD^IoZ1KJ&YO@ZT)
|
||||
R@>E6N`V"^i:\*^dd%Xi%Pulo3<@0*UiDD]0Ju=3KgTSnG%,?JSV.n:*<^s@FCoG
|
||||
fc00j=,cV/"OB=ir1,MD-;CFdqQ*WEG99\!`>GD@p6_mQ[8HC^eRKR<r1S.:1C#k
|
||||
$imYjkCJ]SBXh&4ZJRm`2\Ue+7uURR1pFe,,G;,U4XTTY_2W+9W\RYGF*MVKn4#"
|
||||
GQ9BS\&^VFdU$)l!LGB1rMsL5&5R:o?S&Ya%bE@0M<&#&cssTP$>B"'HbE;*c!q5
|
||||
r?fOW6DV@Zq4[Ufpf3FO[Pk2#q;%i-".0Xisb)0G+E8]['6DS,sa#t(4hl^%Y@mc
|
||||
aBD89@@:OMKGlX-Y^ski"I-u2#&_9b$$6g6"PEs3N"W!ScndLH3Wq>`"?&hbK#.j
|
||||
$<YA4PJf?"49;Y=cbg7K>6")7j,m67=0[=P`D:Nga-56G+9S1,%"HARB&A]h!2G$
|
||||
1<KK;G!&l;.c/V4oQcmB$+M?t[VUe*h+a]=6I#[j%<0E<!k9p2S#ZqFeo!aq8rPf
|
||||
PC!dLa5(OBNp&P(HnN$thL0\EZ/)J,fR:">E7f$j=BT&AS8Z">E1G0E;8B,6T\f"
|
||||
>E1G^]oHG6Nf)1"Mb!;!!*K>_$gtX%?eL,!!FtU!+_$"_$gtW!!!/T_AUV9mQBr"
|
||||
:=.p5>dKKfBHUag+CYNt@Kmra"s@@Z+CYNt@Kmra#(U(]z#[dW4z!!!';zzzzzE5
|
||||
:W"q&Ct@H&o.+ffl[mB;\a"Dl6.l^:uesoQB<PH8D4_oI$2BTfi:El-gC&SPXL-=
|
||||
(bubm^_KfN`j>rOCD81CpHoKKb>(B@Kmr_`%XO]0LGss6Nf)1">E1G0LGss6\:8k
|
||||
3<p$(H.HUK^3r>.cQ3*,Qc(,<I<f+hob)J8kN)+%kl\94Jn<.^%[W$=!uJ=*8!eD
|
||||
q>E7M(;;<doNp:qK4'0rW\U?/U0;pD/Y+d/Q^HGbH2<UjM&a%ShA'EWihjeiQ?_*
|
||||
t=^GJHX4OQAIjq6l#PXhm*5d+_r@!cYXdpDUZH&[4ur68<lT?F>4HhipK9KmI$oH
|
||||
WPr*pr`'H]u=VpIC$Zm>hr&eF?u7%i-5-nY,<1(o,^Gj?qJ$.NYR7C-=ZLn9VF`(
|
||||
4)auLT3JAS*Ecu(4,#_3q[-M%p!s@ogb:Wo]MSXfH",*f6'98M2Tk(_1td0+k%I=
|
||||
*GNiPL2q;j*#)lf+Q>h2Nk/!2\qmNOH?=?9:91jaXW=51Km$DH#<d#@F4X_=J_(X
|
||||
_Se=&aLIWrT7D_B^3G2[s^LhlF?ZY?>!n*%7k&r,BO)MSeo_#mX_paO#b0M'Q;8J
|
||||
I$3p.N?f/'^\BQeUM3:/5qB5Lp9Np,_[\iOIEe*/:JcDmYG3nl[X$BA9/d+"NsV8
|
||||
``ic4SC/YrP<Wf6&,.'2F^;f.TXBdlNuc/EsJ4RN=g<CF=qQ@E1M!,G3!c18*ZN*
|
||||
5g!?IJ5_sL;-[*q<'9XFf/SlE"9pDLL>5Z?ZFel1?O!hP^L62oKJf9X-r.qqRghT
|
||||
jE_K`p7FY>:RaSF#L.;cDj!4I>Kc"4;C,S2Y"Gdoe`)U5Ds'&B;rN&_cY)lUj5_4
|
||||
ngp!u==4B8eb'"/l4YE==YWG$-0=F!('C!1$jB?t1Jp9IdU#6o'NX%':Q?@FuN`k
|
||||
AMp=+?T:T;:rNmBM^bI7tB01$_+r<8^DYUn71.Fas`Mro<5o/M-cC$%CHqj;cOJ#
|
||||
?7nn!i](-Vr"IF`m!F5<.tiXDg@%RIlNOb4_Ur]g$7ZgOH9p:RcP,`LS)Zc-@P?M
|
||||
k`Ge)s*W%I2C4TOQ:E$,II,6N:hYKQ?@VF@M9&/6]L[Uj+mb@"K;t#8QL?m8rtA>
|
||||
Y>sT0p0QM3rL*A#_#!ihA[,MO8a\t-I5fn'piH;H9R+;'DOC)[T?RK(rK"kg51dX
|
||||
HVegZc]^64e_"pPTq!.`'8':Y!n#nb^C[7#TRGkX\e$JjUT2e#LB;4a?cVf,-jrJ
|
||||
ia=R3\&&bLOe`2`I#DB6R@:UTRcRe$H[\as^nfX%=>\O7XgkDdnkUL"b15*==ljp
|
||||
t>9E@@U_NK!2RH=Otl0)'UM,Q]B7"PdtA(X0>PC5.DW<!9e,'`qp/Xp^L^#Qh(=M
|
||||
;'A'03.To51@gP5C@lqo6uECNe(/KqEIn+c[>`mfU[C9IC#l5Q*5P_=.\MD*:Nc3
|
||||
(`u35r_+DNhr26>m"`cr8G:kh?eNjfV4U!D5=<fna!9m)q0lc+qkeYAhjP2B)&b:
|
||||
iHt/?;hai+n(X.33ht.t-%TY"f+Jbr(p1IOLpO8DjVlo)A<nNiaWgZpJ`iC^PaSG
|
||||
,kk"_e>P=7p7;5"GN-ktIPes2J<JS%q@,2OlJ!7Df[3IEhMVlTUh55D+pr@.A[c$
|
||||
%,jB4Zp^3hn=>[V(T`^768[i-jX=Hpmg\SNNt7nA#q/J@!jN*IhNBN7h6cHk(u*P
|
||||
Oi[^qS,Vn33Q]9E*23EF$S(cE!?"!S)jMu]0:6#]@REgaJO\;#rJX+>GHrcj*Ue+
|
||||
SQA[S>)m&$bV]W6']<mP[+S&J&fMsQ97iDM][%kC[*3R-8d(>(g7^8D2hPbEp"q(
|
||||
Fqej.uol9:-0.7`HW<pf!Us/U^M`f$Un&Y&IW&6P?O$V6dgPte'U0jencQd'UKht
|
||||
[/T`Y:_Ub[!KSc*Qi4[6CA:8>2#RKCu<:k0f01Tb6p:p-k"kBR`6o6fE/2NmA6dK
|
||||
;'uQC5k9Gm8q(`L3HdC@YrK^l;2GV&Xna7j2B9V9KT1&?S@U3i%km#,WQNjrD--j
|
||||
B;/in)8\JIB<7jW]S*M"tC8nBQ;'@eG6kFo_qh;99tOpfjl$=ZUY%lB;q'dI]YeZ
|
||||
l$`:LH>_]OF0-<AJlUN!P,T-(b+(a6((nBT-s)Lj'j4F(\`jg/3XW2S+E=O8)bSC
|
||||
/0I!'@ll:>I;)8u"lDC;6b=K)jh=9j5lnbIbMB#b+ZmOfhH)N&^C5$_!C$L'sa4U
|
||||
8BL3@_58+Y%pH6\9gN53s=YESXN<HE>h;Ul5^LnZDjh4--'G@pc*6TQL?j$ogVC/
|
||||
JLck;ar:<bAnZXE-%mf?EK7Rb+WoPo:<9",NneN:[iB<bHOdPgq^pS2I/JO"JF&,
|
||||
%]S!kerX@b?X:<2KCXp@EZm$-<(7(2d2C&*5dogdpm*K:aW%hY]\]ESiY3"Soh;m
|
||||
jZQt;1O<Ua-.po&ni]dANt^7E?:t$2hmT:47U`*c)+&G>=s9S;Rma_QUkcttN;7i
|
||||
gWq(SqNAs$mR*`CFY+6_0>K+U]BL:Ef)FIS<1uP>i0m]dLPp;I6@5NfiR82-;?9M
|
||||
@@a(1I:Y&R;F190r?`5/?>>f=.)FcN[h$I#/u@I:k:NT>Mk&G"Yl\F1a7Sr^0hFQ
|
||||
h#K-?VdR<b8+hPt<^*195OMOXfK.,ZY>Q]#HMh3PIK=qHcZt=3AEh_iQ,n7oE1kV
|
||||
3Xc+BW5I:M(8,,YY_181.'bOgt=!I2)+RS9O5VQ>\]8X5X6$`Y-V]\kmg$`Ln0YH
|
||||
k)N*pBbr>(Cbj=2g%"n-"j7WqP>Y>6;jfIFOe\3s.&A4m,uR!#J];O`dP>%mO"hO
|
||||
JX6T!f2'%o0d2=F$VQ-%M$V?.`.^Qf,V\r7XADG2#:nq^*LEib'WDLO,b#HDL:==
|
||||
.F>_9;%TWY0?1p!cuAL@gA;T)`O&-+bApS=+%0$CEaTnuD'\sD!&0]f"4.7D.R.b
|
||||
_!B.OlbXZRB%g=Q*u@`uE1idM'M1VR#Kf4/u@:R^`S[<[&F_.Oo/+\KT'=QA89T3
|
||||
,hRrDNRp6<[LGE1T!tmQ<L6IcM>ECPHI@5YUt[HdOCTqAMP8S8Wa1tROd3FB=.$:
|
||||
hT,j5gugDn`J$2naQ3IB-C%EI-)?sKP7s[XHrI/K]XKQ?f,LpSE/E+I`kt5E9h@'
|
||||
Z"&*)&"/St^aXPF8@',j1#_f@AXpG\?=m6^A+dAFi@qdYt!([d(0rdZVLi5;`F%%
|
||||
QE:2#n`Pu@[JT(GHu5/XMc^o>MJ>n]o-3>AuXV,aV78!TNB34M436uhOJ=aC!:Su
|
||||
b!/GXaK5&FMsJe[\Z/OOZ=W5q8ab,3q9A-7I:d(lGE[ZkF?G.&j1FK[=FXd@h%!a
|
||||
]A"CcGLs&-*S`GA?#^)<mN9hF%S-:BN%HdeU+MOp0E_dfL']@TbU0t3DpH&M:!qe
|
||||
\5o!5KqLEYn.#5!\dH0L/hs47j%>UcED0&?Z<JKZ'Hg<9OHEO";be<;OYj(?)E=F
|
||||
aP;\4rKUN*sRV9L$!gj'$2_H)u,<]SRB`b,2G8<(=E"sp\RoSjq=mWa1^TaE,-@c
|
||||
a41/t4cRY6D0<@S#g?WBn#>o7[aM-=I>05U;28<jLs`]=t[W+gis;c65&b.+sYW_
|
||||
la6bq15!9qj)[L':2G;Q=.7']tO:&.lWR$55e.l5XJr@pI74RbLRqdB8o21L)O*G
|
||||
jEn#Ep`OkR;&8gH\%K0%`cfT?EE^nHDAUfW][5oW:Ha1V<*?Z*aCj$ntG?p.T`Y/
|
||||
q>:`OWQ1!'5*N\?*cF89.HWJZFF!`Ogj//V6M]6s=m)EM%Y40Wo?5L9T<A.E5^2S
|
||||
doB;>!f;)"$X3`ii++326B@%mL:SLkP:IJ9T4V8`[oHECY66:OH"aT4nM"?Cs'@#
|
||||
.'%m=4qY<I764Sn[q^3&unH0+7Io;A<-cbB@uT$Pi[bYP1+o+0:TT%goQV1%!<CV
|
||||
:6<]c+5d3tadX_uMG%!!*0(!sAW,"9SZ*!<<*"!!*06!X',>&/,a#+YY_f1-c$f,
|
||||
>]X??p[7;s4RGY!<E0$"Tl$,[M\-eNanI=3K@U:juJH3R-$DhA!lC=NanI=3K@U:
|
||||
juJH3R-$DhA!lC=NanI=3K@U:juJH3R-$DhA!lC=NanI=3K@U:juJH3R-$DhA!lC
|
||||
=NanI=3K@U:juJH3R-$DhA!lC=NanI=3K@U:k<G@5@_/(IRN/HKraYb]hH&/Z.T;
|
||||
JG?EFHHC@S?.;Q<S4X_D4TMkm2'@fG'T>.\OX#2Z5deuDWKMq`T)O]&"T!03uW!8
|
||||
A_Bk-+=C.`5$XIDK3C`AB/>?Cdu=%]*4X./iIJ0ZB[;CtBmgftB[?RB+g92NlOgB
|
||||
lB7tFj4i+F`>LRG2d.Xc4.GJe\ui\^?%CM&&$?E>B%u@JUrB'JUrB'JUrB'JUrB'
|
||||
JUrB'JUrB'JUrB'JUrB'JUrB'JUrB'JUrB'JUrB'JUrB'JUrB'JUrB'JUrB'JUrB
|
||||
'JUrB'JUp^/?$AuO<>S?\;tYVMU#ShfY-6i#cC&G%O1LV*9ip^AbLSNM!!Sj5BuG
|
||||
!+0U5R0'[]]Ea`jH0rQ>rc1=Fl5ZoqsCin?5kFA22QVd!(q&]AZ/7hN[Z*(LUZE?
|
||||
%I\`,Qbe&]AZ/7hN[Z*(LUZE?%I\`,Qbe&]AZ/7hN[Z*(LUZE?%I\`,Qbe&]AZ/7
|
||||
hN[Z*(LUZE?%I\`,Qbe&]AZ/7hN[Z*(LUZE?%HA:(=tRo9?].%TN"#:&7^@+_]_5
|
||||
p3Mu>f%"$dj1;?Fg$.lR=E7GsDAcJciKK"6*0(oHB&Sr.:)Q#cBC8!(qoPq^ZSr<
|
||||
J3?1%a3?:+#3?:+#3?1%!3?0iVb-GeIGnlHE'q!K\;2o0FR+>bM'q`/;kO1Wsr^6
|
||||
FP]`(:o&)JeeADs#4DAfrriL>R>)7X<^Q"F$a3+h-=L2Iuk*0)#!*0(oJB&T56DA
|
||||
bEEiKJrGIe3<+]`%$^5C*.PhL?^HL[RHhr^6Jlj<Co;bUP<FB.@gaosBqIP9V8C-
|
||||
ds)l+J#fKA7T4H@dPG(.Z1$cgEc/3PMVk:[$"!BaX!$[,*HJ3a@VM^R*AQXrrB7J
|
||||
:#qI\T5q-paZ]2d,kb#EP"?ugPI7U>rrCZRI5"0=P"?ui7%"o*8@qB&OsqZ60<.1
|
||||
_pukq0l;DB8`5KTT_h(#a8NY7/P"@ju,MO5spom&&o9`+M'+mYJ#UAi:n=Y@=,I.
|
||||
RtJdC_8@Lu&84j8<>DnBQsBGCdqNMC1SJdD(d";/9X7d<OE:OF"@5mASHks5l4"]
|
||||
"j[?MGY&Uls?m>5d9=5m#NJH6EP/"[WJ;JiteR*Ql*lg3/',K+ekZO@:o[(MFqC#
|
||||
lHb[SC5AJ=cjtmA5;[L4mUidKML1V7J7jW(mpH<U_$%r8L0kigB8@ZaVW(n8Kq,/
|
||||
nml9B]Sa>HahNC'NSqa,$qs>gG+I]WI?6aNLaMD]e7N5_,lV6YJfu((a3RPn[X2P
|
||||
VfHXq`"l;>6JS>mP*pE6hS)e0n/Rkoc&B)B&Jd=(c,JFRW+G1=0&LlC%g=PL8h7b
|
||||
3_,S36E&`#OiPnUSQ42?^/!n(Ic?t)Up5p(pf-3@'k,S4Em@U_TspEoB=6>\&=6I
|
||||
plZm;)<mqkJ72I8S^O&[EgM&jd2FJl'Y)$qs>'$qs2H0JG6TptZ9R8k@f1hnZ*9-
|
||||
71!]8Wf-tOc^p`>5[N3kS60)P"@%48aK0ENMT=-N/Yu;4IIXdR?8rS"saf6"stZ@
|
||||
VkQ6b7''#&gW+\Z^<#`Oq95p?42Dk%";")(,9nCUT)%571(piB'!WnuHSQAA>WE9
|
||||
]2)A/g1>N'Ua(Q1n68q1ET%PC1aH\$ATT<UqZQD5h]4j#_&;DHIi:(t+#U"^)+HL
|
||||
%E7r0$)Z7./lPZ/A\;m_FZ7.16qOh.M=7RWHp,jtjJl&n\hSDW/XJftCO-t$M^T(
|
||||
j$YJdCe,'LNQh6PM7B!@].D'HoAtG#T1[m"5ra#hjKT&LfFWnjt*aU9C^YP"G=UU
|
||||
Bqa\;jD`B"sab7-71m[6&?\9-:VT:84jMJR2HB0OcbcgOZPiLP"s@M,#BQe:gero
|
||||
]?)>qUTt::%Pn5B68t\&=oHcZ8fe8o+Riip-q;?OSkhGiOZnTiP"^gkp.7EG+XTZ
|
||||
j7Rfj:8kSeC";0=DM2@&l(ml-[AdDk$K>Arf6E6VQ-]sI]a5,E1adL4j*/(395mS
|
||||
q_W(6#:M$+ATLd?lSM#s?GR1`(ScpqtCAk#1OA7T;L8kP7<4g8BROaPd:l1*MjOZ
|
||||
UC1JVbDWR#jT:G/4A0,S37u*M*cE+c2&,M$,9jALdCu4:m/W7sBU%,a7GU0r:B*F
|
||||
T'jS]Fj@Z#jo^ST6_,A4d&A^PI_$tNRjkdjZ-('/\E,`Ji6s8!!N1q#sq5MBBM#D
|
||||
D$D<l)9-Z`(`8Ck";0AkHTW>["B'IZ#k!:&P9V8?h?_sDhoQ47V?SMZ5m/$d8%Js
|
||||
m&FnE!cF6U*"EmA!R@01$O!gOo0elQ?Jd=(RO2HPThF[*&&e>,.8rBWEF:^_D5mT
|
||||
dg5m/$lR.g;;&i]EarpAX'TRo=)VHo9LM&Tu$D!qXSm",KcNn>Sb#U%((NTA1%aH
|
||||
\lL7r4CUJi<+Cg'HBHSSe+>i05MrON>NM6brmBR$$4_n[+LhJe3M>+N246^qdm?#
|
||||
jn6hP'HEbgHEnL#XT+p'TdtZ@U_gt:SNo@C%jmr&4%Ch";"(>&4%>"8L4#GM&s_m
|
||||
0ejf&4!92"#YrM>-m4Pm5'='bm-o6^*XFJT0ejp#i.N6^9LpD]"F%lB2Ni:Uk^sN
|
||||
]59%H!AGOfKFDh9n8%O+&5p!NYJdCaq#U#0-!%3uPjFn_;A:>GElT`#O+HPaHqS3
|
||||
$q5J-bOr"p[Tn,DW+]Ddlk!4pAArrAg$SR_DDdBCj#qnM@Hk:p/f=$9HB.$#On8W
|
||||
nSLYKip26:iGb'Lrj-<9=eB1Sg7Bpm&"H($$+k(:r#WX@K9&nK1,ePEph^7<X>"i
|
||||
dl!$\ZJM>QE0h=Ufu:Y76++AOQ8D36]g@h:/j7'k>RpHAN>uFC,tT?lT0o`U8+Zc
|
||||
97s3)KK=ucH4G6(H@qN9P(PehWA6gd,mcn7PU-V`q@usq>bM=IJR:]M(&EW-V&#g
|
||||
M9Sk$X8MW%HT$'?hEj[2r\7\s8Ap'NmB3Cd<-"ef"/S@,7k;ghc17ZL..F+hPSB<
|
||||
),*CWIpVbj9fVbhL@:ii0ne/^j)*C80q6.DGse=BL.;Oq!^@\$rY*F[NmetLY<et
|
||||
$O+ST37%ERu4Nf,\lPC)q%0C"Ahhet$OrC)q%0@FcmXWR]L@Fe)0\2.gU#7Rfj8P
|
||||
"?p^8Wf,^84jaC-qY,*TdWMK?TV4YWha8IBecFQ,/KD)R8d`pPsSPLR[G%mR[f-V
|
||||
aAlE3eoE`j\8kV\iKJrF1.dWH+I0aM/E]m$7Wf>=dUre>b_J&'4XX,ZaL=#I<G,B
|
||||
9eCGr#LiokWI-M#d=kB3`Q`,&*Ff/>aLK(0O;:SWg2'#D(;d%XOF]Fu4B2r*aeo`
|
||||
T8;Xr8LFY=b.a&;HW\ofWqmi:d9mi:d9m[Z_dFY=,Cq:+1?7D[:FcM>c]cM>c]cM
|
||||
>u&FUoK[`erkq?g9k!hG5Mi]UhnHPKDnWh[3jj$acTaRF6-(F&I'WF.pg!WQqD)7
|
||||
m0@*7o<.5<-8oqoc2L"\>CmX`9G5)`8S[<`EC.;PZ36BIh@Al$#'9-6$=i\k]"%O
|
||||
\0Fb*DfTf&TY0oeXs)+oe5UQ**;(<E*9qUEcDN\JLGBk!S@"fNR8RRKm0[?#jR_i
|
||||
eIW`d[;+VIhTo'\\r+KW_b/)DAFY"P3-W\m/FIcRb.Fcj!`Fh>H/S9,C.4"@-P"?
|
||||
p^8NkKHPouD'U")8J:E<*+4/5F6Mf3*no[X8Sqg)-9/Z<%HK^"@/OgUlT)eu.EBh
|
||||
'ah6.XkfWQ46aVpO_d(&&EfUEq1KHR+bG,a(_EP#TOsl8`W?X#]K,MU&**Wi54.X
|
||||
U_LdWbgsg3ee,kF-VA99d+4Tld\t7Vc6_I;u(/hCPmeomSln5kk\;p\mpOJOs$i&
|
||||
K!sAMdN^WJQ>b8"RrY6;2^d#1(JCooX#arEBquOSOf'ZXZ+6f-.d9a(>TZF[>p7-
|
||||
:Yt>AXDNS=!<D"hbXJ8@tW(e&cqBP"`Y7>9Hfiq$Ckt7nnKC9,?>TZ;B5(`T:N:d
|
||||
;(oe\6n1;2+.RFGkH6=_sOX2iU?&#*;N6b"VnDNK'<\nG'CSWK_;<2.\oSL)F>UK
|
||||
e2%gm)StFHtQb:b=OOaHWYs1oX306>94EoUCDRX.aY$ZmrJnUfo7DrM!3DLrB^"A
|
||||
@3LPI8?]pMl,:&[PnJ6cCh;UJdBmVI\(Hcl^*uRYGg2RI8oP#l8c7%c94q/TY7<#
|
||||
98Y'W61io(:+\K4W7+re<4&I%>,;S6Vj(I^p9QnRe"XTrVal#)1dib>mEhV([\1H
|
||||
kb-(-$*7aGU/(W(N=L_8@l_aktl/B<!qM+W1)q(kP.(<rC&IPP8Oo7o.U$ZZC;0g
|
||||
TilDnOOWjT:`?#[4#>A0muV)D=242)t[eZF7?;!h46^97?EY,p*K%T?Ll36Q1MBb
|
||||
mi]kUJZjh)88%D65HO8D^1`f\X./%I9"PhPk?oNa'.rASYFTO_[g#LI#7&l4n$bN
|
||||
K\\1:8<#!::0j3l\.CE\t*trKPA^R:9pt%7U\a5@/=`r#6q(laf80[p[k(YE=]+U
|
||||
Vpm841oDpq^888CY:Cs=e1Bi6eh)ua>bJ-%XK,F5;/bm&5Ke/G_X=_#*VCl/$?Tl
|
||||
VVbFOpVU:8hU6I.1RR]$5kUY49W>sL021(4<n#gFA]':6BIDN$,ij#Tp#5#NB$<V
|
||||
1s&P+$ep/soYVPkTehf*T0*:.:na-PIK;2ZdS'=UoNTrK-4CTl,+Z+G2i[T[Gs8T
|
||||
0'q_F!rseJ4jj9rip#$4c:o9o^pn>@a[0FR90V^!-Y*kh`^c:u1fNKf)e+;cH^t@
|
||||
r5(LO)7a#Kh5U*neLD5<#&Wm2C$Pp;lJMM;lj5t::FA$[m<ckCJdgnSRsd?$`D]Z
|
||||
=^!\"J#gt&FjjiA;+?[f;+?CF7Yo_mPAGq22Umtuh',>3>ni<+>>R>]>LGO7.:03
|
||||
!;-iS6@b"BCh4sBIkk?qDk\)oO>0o1F/b[e%1aC_^ZU=TMO'g[%.]W3I@rV6ZUTG
|
||||
al;VH'LI7aDbhfW4GeHG^]:hKR_U=39`\nU6mWA5ODQumO<Tgs2TRR_1s)XO<CW>
|
||||
`O#J\>ps7eQ$Nom9<NmauKC;?^rqMX52\/(-#L/(!K1d2bQe0'\V3=6LAKUo!6'5
|
||||
>AfN\(:QZG1'F_FH1*:Zk_n-kZ=mbk-&i'?00%7ePbhkX3M1=2cU=NK6ftg,BiH5
|
||||
g#HXC6/1^KLNU$S+4af#EVCJZkA!k/>C@jWim183JIrR,2S?btMJmC_qU<#O*KV`
|
||||
W=(LZUfgU$]>O(r6QMTVVNS`F",tV0b[]I&%U>&^3TiQfs&%!oCgI9$)NU#,;%I9
|
||||
%J7_77/X(tj*c.B^^VJ)p3:U[@0Zte1jle61*c#0p>eLkSe\pC&b<U=VVpBL8JWe
|
||||
U.#]cu$Y[Ma"*-aC_HCj0!jCj00a8+d7VKpC?t4Db1;39&ZUcIO_H[a<c2-_f^:8
|
||||
i7O93`g#,;%uk@[WYuu&N<m;9p&JA[++DP[FO[#.B8ic\'E>\Cs.IB4f)Z"$4ghE
|
||||
D2pC;7.2CX;P;k5_de#;eK]D8hR.,qh>O`k2,dfS\bBr0]<2V-2cYk$K6fto,Bg2
|
||||
t@Re^i+\:A'p"M&CqVu[YCDST54R9$N&:!PA(hL`gb=P!s>%KH$8a`.>XXU/I]9.
|
||||
Sc?g*U`n[.[/pTE1dk@l;gm-lfQq^ZNe<Cq,.>J*m40<%i>Cb;1ud$R\t'&o&.4,
|
||||
/IYGpJX@r@#GD>Zg[,\"_X*2.^[XLl'jkOq`nVHA9JJG+0N(*)Z)il-WLGh?bQC4
|
||||
<ZIafXgq5kd2J_X%a2j<$;g$qHKjo]i?OeQa%Z=]F[Qh2iX+,ffLIMr-'N>MsH*e
|
||||
2;6Di<FNb"g8IWAeH<8)3'X/m=T43N,F4BK6uVp#k?EAkI1h1!/PnU30gP`G>sl(
|
||||
s41sr"8H]\0a[NmcQI[Z(f'X\R7a]mPc@;rc]LSueV$5U!1@1%_1+.2XZ9'1gVe@
|
||||
34ODX_?/Th-OjW#_74SmVCY0i"0FDGX3F;6V_-Z&G`DniPVEoR3!;ZY]__9;T=.^
|
||||
$@=g38^'NKg9NlRd4Igb#nA>:FHI%jWSEf^,V0-i,Hf_OK0K=d>+n8G(3TZk;#L,
|
||||
)ZSB4%VU7$64&khcG*/gKA9r\(bkbHfqi0SSe*CkcORB*nBZ4/iC&8G4"H`<Si'b
|
||||
OE`%7+grA5D)@]G\$9eGKL,f;9_Nt1jk?\,l\at2Wg,t<:lV,G8N[WVPM$mG];f\
|
||||
)S"cJX68jh!n\"Q\g[;GW]#0buqO:6E3DEhk5'Kpo]%h'lKA)g_PuQjW#^A[a;M[
|
||||
rDc+Qk(Ssk9IZo4KeP'3I$W.fAg-2#\&(!)6eU8Mhr439S(lC4O8"F%]FH0n%")S
|
||||
UKkgKRO77AianVQWEQ4'h`r)&'[W8L0m,C=U?4D(/,)$>:lcRL.\,`'j#n1,:-T!
|
||||
(5'uH[%U:e?^FeKTk\!"@Ee-hFZQqg'NBf^o?S:a*?<3;+/]lNBu]bD.mPWVaRL#
|
||||
[\'+orS'o+4%VSu:t8R3g20iUg/SiHgJL8q%jVbPO]Q3N4:f)\?/,rM[4hCh"kbt
|
||||
=GU)]V^,D.$eM`tkP"\\@Y(<-4k/K9@SOpE8+)[fLVrqjq!-ZcC)bD>-X[TXfQF<
|
||||
pD2O'm\8K1I"8a`UaiV5#I*ca[_d$mOA)#IBK&5M[7oA:KY-pX%t8CcO<N9XC]<R
|
||||
4NhYPm:^\koCcDQ5F/1<A3Z;mcE62dM\=W\,buqM":,j3XM+Um5bJCqbTtOAEfdg
|
||||
#)Frc1\pHD$1Js;MLH+m1i+WP]"]_ed<?a5LD]GW[dC4pOp/[X`d!WA=l8,4$aq[
|
||||
?/sa&a(0$7kr"stHgeoBL-d)_c)k!)Bu<tBKf8RrPTg_7C+>$pqC>N3namoD<jaA
|
||||
PH@?P8S"c+Pqc@JDG(MW9_>6sjlcU"p8u4,i:rSE:QJ-'reZCZb74IGP4j"rjkc1
|
||||
BEo&\Ym\qDLuJ"fmW2FS3LpVtW*PI,3'9BU("Ek',\[1$/98D>RaLl&c_";"(>&a
|
||||
5?F9r]gNKXu,B79Necrf2>9T1&OOP'6dOo;QRHEgGX>r.u[nWi13u;X*`'#:biI:
|
||||
[KO[4+<@gf&(T:*f9V@MP=rf6`ra\^,k>?eZsX%p*Zh9?Y"";YL5WrhsUDV-Y,LS
|
||||
WCJFijl,q[CT*X7qP>"92NI"oIZaHWhfjJI$6Y.(V0*S-(CnPm77n\lVtEou#eNA
|
||||
*D*G__5<@Eam#js<(thlgU>aPZ_8Rp1PPY&!GphMG9BTLWgIXK$IM/VXO#[B]K9]
|
||||
#3rr?6$0B@SEq:=GFp-BdRV+NgS&%F]+Q)RU`J&6Ysq:>QGG0ib<WD\aV"7?\#<2
|
||||
E7dh"s<,r9J:5nPrtsU:27niTEh5.]`H3p\p<Nf&(]2.`#D%D@\ilkuDaU7/m8*I
|
||||
ZjNXrr@9%Wkd_+NXn05l!8<ZMP:FUl>KBI;UnGU>H1LE<@Vk^9BTOXhWX<5"-nmG
|
||||
4';/c[816<rTX[#=fNccV*$/j]$;f6k2FjW&(4fGg[=te.NGC1Z0KAF'O?erp]OG
|
||||
.WhlXtW`57BW^PV6Qd0d6VCMG#Vpo!9U?V=e:T1jQ7FUN3T29Y+Ml5'15,.<7(Jh
|
||||
!@I7;WM/tZ!_qMV*5%]HjS.'HUH?b!)"W*;:skZ^(PNe*t!D!7?L-I.ISU29%_3[
|
||||
W./Z_M@#gH$\,M6ipmkaOUkcAf0+D!<?/2U7/cU29%_3]>9CZ_M@$-os93M6ipmk
|
||||
aOU[cAAm%D!7?L-I.ISU29%_3[W./Z_D:"RlVnAKsRLikaOU[cAAm&D!9V7-I.IS
|
||||
U29%_3[W./Z_D:"RlVnANO,?qkZ^(PNe*suB]pBr-I.UWUMT/K3]>9?Z_D:74N/l
|
||||
/J,dFe+V=\U!WiB*!rr<$z!!!$$!"f;G+V6A)O9@77s4RGY!<W?'568MBNu09I_2
|
||||
Sa$F)f4$6mrAO"aL%IN6S,3hBj#T^oou/0.q\G=4M^O>e+n:qd;kGWb<r?NAg59O
|
||||
h#mis24m_&HDk6!<`K)!s&E&z!!!T3&cr_$5Yr"70HjkU5m./@!!iT,!<GCcR3Gf
|
||||
/56p5McRFPZ><hb:r![*)`\EE^(re:hZ!t\1(+`Rm@`=6@/2<)n(re:hA4V@urfR
|
||||
#29\XS8n3e!&TL'3C<3-gdYUC1k64een#XT)[M?HmI8sOrmKHUUf&A8[<)gOad_$
|
||||
fKL#O$goQ@"bQN.)k'0ot"8T>>sHhr+FI$tCBGm^Oe+T&`C0a5Mte)#bCj7`#^i+
|
||||
`LQYCjt(*5f_uIPeLft(T)PAkf,@PIMW$35EZhk>EM&!1&Vs0iJ_AQnJAMKq"\et
|
||||
UE;4OJX65a`m8Ze/@Qk0bAoZq[j/3%E]Yh])/(+#QK6BQ@i8b;bEjhf$UJGX"+cM
|
||||
nb<]UVL01^$jep+4NWq8XMjGtsZ"Pap]GE2*\T77F,2!JMaQ0cuZ7h>fND,=72.Y
|
||||
8qNDig+/mPmPJ$K!r&,(KKl2<i\5JoTgPUKA(RW<,aVJ2K2RAU32U_JEb-l3$o$G
|
||||
f7^"X)9H9[biC1JH7SaqQ$6'A:]E4e24ec<ON=kCU8oi%C%70AZ3^Z^pk%URhAlU
|
||||
ONU-k5'qlZcd?3;qGS1)/2dj-0AT%&Q5>7KHUUf&;22464efL64een#XT)U+VbQA
|
||||
,,I\!s24n,&-)_4!X8i6"U>)3"p4i*!!!$$"!J7#0etP)&qQ1.Ts4_3+<s0[K+fq
|
||||
9@<47j6:4SD_,>:W'S>g"2,f^diF:6ps4RGY!<E0)56>;i1jhe>.]Qo5FM_YSK[%
|
||||
sPS#-iX9I=YE9\hCj\m[C:_Ii%cc-lugV@tm^->o2Eh(Y8.@5E#BB'Fundg;M@'/
|
||||
rT3DO=,R0U]L\1N^KGl%I=1$(Ie*2bYQ9QqZ<iRCZf_FM_YSK[%sPS#-iX9I=YE9
|
||||
\hCj\m[C:_Ii%cc-lugV@tm^->o2Eh(Y8.@5E#BB'Fundg;M@'/rT3DO=,R0U]L\
|
||||
1N^KGl%I=1$(Ie*2bYQ9QqZ<iRCZf_FM_YSK[%sPS#-iX9I=YE9\hCj\m[C:_Ii%
|
||||
cc-lugV@tm^->o2Eh(Y8.@5E#BB'Fundg;M@'/rT3DO=,R0U]L"FN%8Ld6>_1g3o
|
||||
7$[*jFnC,b0?77_A9l7J/@AT-s"b2:oM&doX.Ar%`R*OE':+(fHY(]GG<rkf0^rr
|
||||
@p"%32`%NOk/9g-=_RogSX(qGsXpPu/^AM+cI<77^9ff#;fjBhoeKY`T_o'bosPe
|
||||
T)n*@XLleYu)P2Zpe`XMrWmn=oSI0f,+<`l&MU^UH5GBp`F:$rTJm)rb^sf;iL=C
|
||||
3QeA`kjqfr#I5OP&`4[caS'IS>.-h+LX5/_nnTW?D+4!G->Uh8<lZtU!]N`;VtA'
|
||||
,cWqcl/\Tm/+fn5kdB6u$;au`a+5r8rhVS,q;&2etPj&Wq862`Yd78P*@pAqrr(Z
|
||||
R:()k&">uB*M=2b+=$&]E@O^?_dM:)6l3?K9'3a0Ich`@>ESIs$+moA([7jBRjFs
|
||||
0P-.U<]S)jqEiUZUsA:[_ald*Z37Uo?ud!)a_!dNhE59LYe*R14Up_O<-8`k10/B
|
||||
X00J45c,CIqkV8$3("GrrB6%?gMt\#Krll#U<a!;JP[b)\$.Ikjc&Q@]I*^A,[]S
|
||||
k.Jc"fUZd/+t>./'LoJYC063(059,7^,_<"HZnU@=e`c%?)E@./Q?2ZV<%H3C;Xq
|
||||
I/u9<im@c9,=eq:Ra^MScrr>b+4dWHeZMo_,3N3&u2:eXa^.i,$Oudq(do`bE,d`
|
||||
#'N-f%aX&dIUrJK1N<`C(d"D)Wn'eMhsrr<<%`]*jn+7fc\T+>J[d%Snf!+u=89b
|
||||
uAB+1&00rrBB"?Fk=./2ssW&S4am@l0@&Rdh6EH]\p[/BGeUMXqSF/'M(^Y;'?m]
|
||||
Z#/Ro+gC<p__C<(st;[YrET(0j\>%`Hd@4'uhb_<uA(p>[k@bH&D2.jt"YWR'5FW
|
||||
`8G,ni+#15@mo6b7,VQCi+#15@mo6b7,VOmi*sX_@mo6a^O_:6($7$j=.$0G?=LR
|
||||
dH&D2.jt"YWR'/5N@_B[*MXqSF/'M(^Y;'?m]Z#/Ro+gC<bZC180j\>%`Hd@4($7
|
||||
$j=.$0G?bjX1!u:_B=7@qN@_B[*MXqSF/'M(^Y;'?n7,VQCi+#15@mo6ADmXSJ;/
|
||||
I9ERENg9EcBp3c<b%8PD9#_Eq:OrS0u`t0/>i8a/'<5R3:SNdYH#iOKrlj6fmH$=
|
||||
ZB3R&!r\-ADt9pS@lrK-OooGjlT*:3,d5X0/>l9_L3h[]ZCO/*gAipA:p),8fo]A
|
||||
6-6ul."&\L#:BiMU%7e#*1V=Oq0A,-:-C"Q]ZCC+*gAipA:p)!qG@!5Oq(5M."&\
|
||||
L#:CRW5$hcPPE/<X0/>f7a/'<5R36&#dYH$$=BYC!9729m-Q\L9?=\VNO%LKI1-i
|
||||
t%V%8o\+CsN\LWdo'13`56;#,C#UZCn%?_n:"R6!N,rWW-pq0A1!jR;#6V%8o\3^
|
||||
-=<"o;'kH'>#an)0Q2."%'WBMAk-;p5+]-[u2G."&XMSctZcP$]Kg8n=$k92>V&9
|
||||
b.lbne[DX,h'R8>"_PZ2sE,b^9trC(RJi]9C&stV5:)@@MU,/]>V9_VhsD:?8!+V
|
||||
]S32sUeO[uLW#>g:9./4\3e<U4WjMojmHq94:=un4#Rii-WSYKQ5190V1kN/db_r
|
||||
sL#+-4-/Kr<9/r5W0(CRa0(CRa0(CQ6/o`L`/o`L`/o`L`/o`L`/o`L`,gtro:qD
|
||||
@?/MAa)Is?[2L_</ERr1Yc$B+M4:[heinsF.(V9e"pceMc"io4f-[qTus9<HoDT4
|
||||
c2Yj0\@1<@prlXk8(CKrM;h?7S$Y/Hr?759B@i\!6epb'<@kS=7XHi*LU/oCru#0
|
||||
!\+Jj2YkZG*h$l]O!7YL$"`D6no)I$gL>.R%+Q^$+jVaqq,6T!.,*mj=Mr8/ba`M
|
||||
o6(q>Ye8eGk3O`[@<je)agts\dhh_F^U1uYVD%<iU?9nTlm8@0[AE"%fs&38L%]=
|
||||
9ZXJ9O$dd5BidOrBo!jOSUEj%L5=rN%lXKNjKrA?mGmdC]`3DrC&?u`J_!jHE*ZG
|
||||
V!LPE^a@:F%*QV41'c6nA;+,>+Ke8H"uC&#-%.G@d5-4>[:M;c+&L=@M=e0N=/''
|
||||
psj"c9JQfQ_3p2BE*Si-6"Q()A@ZeS0F>:pi@Nqhep[3`GU;aKZ*a\qSYd=G6;Sd
|
||||
*'Wb9o&`KP2bg^M*`nb>\:jmCcjTlMoo@(hmuBN4N(/19Bok^qN^&"`.$/+[[4Oj
|
||||
o.T\]dLeC0CM*F,kpX)10>q+cKiO2<Wj-aU?a.IgLnrl$92!E6?)=HR_sm)[1LYE
|
||||
q$oSqs0T7dHln%'uS#*4=>7>D(NJh3PLlH%hbAoeph+]Vq\J"W$@Du.KG*`duPL*
|
||||
$8BTU\G3:OADm4g%98L?TC&qo9RZ+EY3[&k)^CF@ORD)'bT+aT;NQ!!$BPd(m)H%
|
||||
ksUMSchnL1;FgKU#+QP(og_9ZtX5Yf'sR1c#^[YuM1u0<iB'33=PC$d)Yd]1^:Q;
|
||||
K4*77ttAZH%kAncs:3r9;nqLSTosDUI-NLL:YQ3ILW.p3@S,Fp(M36?87g>1d0hn
|
||||
C?n(od`1Z.\<DO8ZQ>QlWhG6)8j#85=Kn.j7'mb5FZ,V78]#I,DqIc(RZ#099??B
|
||||
s^k_nu*hRPs-1WO-IKt)Eb)ei%.!02Nl3br&elV)>BT=UTCPfTk8SIC'<Z_C=&u7
|
||||
FNGVliP=j*p>nIVf6SLRl2`Z[=$,c[\3AQ3G=7FZcqQ)^,+=\0q`,&1G\IReS0DC
|
||||
3%s:o.hn.j?I+8im_2V'O[LeP^HT[0WU!;qG<7>st0WOkiI[@Hi8U=fuM)?DO/o6
|
||||
rLW3$hS%[#8;dH7'r.\;C^u^4fV'gE`;Q@]sS3l@[5m<;RAA+3]4;BU9,?(8^B`!
|
||||
AO<:d?)44DXI<(e$IC7%!(l$hA1R:]Zis/kJ'+T#>q$6VkgcC@.&S9A87,(^<RP/
|
||||
A=A-$%$)Fq,;2FU0jsb:nP?+A\0*5nM/eWic9gZ1K$,pU.=&Dj:d]Es+'hPr8Wt!
|
||||
7NX[@.kaL_hk=d:-f2'3=>mqNm!Eifa#^!!Ua6P-+>M/qu7lO)bNNE<`+6s<QRP*
|
||||
0+.aGO5t,J&fG8J0VriuFJb?!*+6W9hh#(;dMD8O[OF8r??&>t!VXOuYCb,-J:&\
|
||||
Z/o4,&DQ<HdK`;AFrr#=rU)\QYAT.e7(4:q+>'S;%M<U)G%6++$gm[dqm+BI^3XH
|
||||
bt?A%R3>`YQQg9HbtKJM,fZ^a\[`$cBi^Q8+mgPRRYoKt:!1'DW^;$s.ql7H436.
|
||||
fRrktd0r_4RhR^j9V1(pW%r.;cjA1@@?+l].=pe_P&k;.]g=@$fG5]EQ<J[I`e>W
|
||||
"GeBjZu;,Sp6SB?k%p_D`!YpgDs.9RSL]S*8IQdrX?;C`PdDcGGKW152t7jbO;7F
|
||||
m/oYtL>BV.`WV9bdstafOqPY+[.5ksORbXRo5!,rl]DjXNUNUm2m]=t@%FFZjjj4
|
||||
`qE-ZSahsgCTiSfr7jg)lpA%Zp[!a\]%0pGIcH)<&L\P.YuZ@OW<@eiFGj#r`u]K
|
||||
\m"A5XL`(hLup-e1C5NaDS.m1U99\841L+5b0\aAC8=?HZMceW?5lri]Jh!_N672
|
||||
MlqN;3iLpe8,oT=]N7(.#-qr]$@Ng2ZM8XScCY5TmbG^jeRAo%4h*PeXbt<q0G&6
|
||||
KGj<^VgNp7&kQ(LBjM=rLdTo;m:MkXN]939oOOLci9mr_l:8l23eU;&IL\t=%M)c
|
||||
omV>EYQ,A_'Ebl1-pWDf2`-Q@c2Nm3\rYBQoP].9fBSTiNrT)CgXm=EJJWhFZ<s)
|
||||
jHdK\Z+FSfS%t]bt=)Mh*n0<O'TGVmmF^!O]I2[?6bfleO#Y'<CH,YgtHGLhk515
|
||||
'V[[',jH),e*a)hV0FRRV`BH"CWc-OJ*49,LigC%65)?oQ-Lkr6<#=MpKZ43<DMs
|
||||
#+ZP]s<cYCSQW5ae<Gtm/mY"JfTh:P!6rJiCUn!=G/baDH[7Z]`W4GE2C/:tb*gA
|
||||
iplEej<=ROp0=lfP#V50$L>UHfnqph>&nl!oAP'Ldq]UBS/[&ZhpmOlu%U9[>^U%
|
||||
7UG'hc\DhXX38kn?Z]X\ZG[kuA^(R9i<`Hfu>,oV(jAXRmdFS_=`TC[WNN;Y_(@:
|
||||
Uo0UCnt'N?=`+gIG>7$,/;,35".jc,.!.'fl^=@T5p?<l8;PK9')k8gd'!%7\Ad$
|
||||
P't2<<[LK-G5eOB92r'#6;-!_PE(XpS&mhS]'C+EnmmS+Bj@&R(6C:kdCtfi-b>X
|
||||
Db6nW%7U9&\OT%eK7f#j?Sn*"77f#j?S\%"qm#I(tS&m_QeR:5Z0"W@'I4"MO>uh
|
||||
UaSmQY28#*p7GnVNXPKYZ#D*AN!bKQ!foV(jI,I0H\I([PeO%LKI1-6`/LWdo%aR
|
||||
l1so-:P(."&\Km#Oa\0/>U6dYH#iO3$seo(+*34Xb]j]0]4b;c0?oLLi;@5,>K--
|
||||
c`@B*gAip?$.Sj<M3jL\gpJh%ol4A`(Jo"_kJV`U=%In:K+P^."&\@=]KMk<E]Po
|
||||
<M<"s<fXY"1I2XmR;PIE(KasOFbSB_=C#?XL"7&B?"%l0ee_Fo@<I:T(,3"kLK1?
|
||||
Xin'Ng??p>0>[$.=QFsWEXt=X/Md0HFf9X(W`NCe4CPuG$in"sY[Df:#EGLJ;>2n
|
||||
-L]X?k)/U;-T?<ZpOQFsWeXt=X/b?eBCf9X(WjfU1TCPuG$in"sY[H4SDH#(T0>2
|
||||
n-L\@(G%/U;-TcRjEXMd0HFf+tm(`EHlF-i_*b.hD[_!!**+!WiH)!<E3$!!!!"&
|
||||
J-*.0gSZFERF9,nWBM!Z,,Ba?r6mW!!iT+!!,;-NsK$H[1@!ne30aW;"gUM6e[='
|
||||
%r*084fE^(p7^k@g5!'HC*(kfW-_A7U$Y5$LU@Y-*n3?OHVjF0m6fT_[1@!ne30a
|
||||
W;"gUM6e[='%r*084fE^(p7^k@g5!'HC*(kfW-_A7U$Y5$LU@Y-*n3?OHVjF0m6f
|
||||
T_[1@!ne30aW;"gUM6e[='%r*084fE^(p7^k@g5!'HC*(kfW-_A7U$Y5$K5-7[,Y
|
||||
H`Q^\",TqE?#\d6@jYN%H^)4hpW\htfCBXob0@V4hU,gikZ'raS?>9%NQ?PHPQmh
|
||||
(q\oDicq,<s;CQVfN\S0jVC$'!kV5OD\-W._-'mdo/o\L@J7"k7p>MK$RQV%Y\#S
|
||||
0(X%VM,]M4LdDZ++UCCGKHUUf&;22464een#XT)U+UCCGKHUUf&;22464een#XT)
|
||||
U+UCCGKJ^<BYGlq>2-9eX,C;PTqA_(sW$+1L^5@p4QGm_0`m@%fmd8P2H7-NtVmW
|
||||
"Wk^Q>j2&atFVd&08PFK-4,+@EX6JYg6RO_:W`7oL7^#.&Arl8cG(0f1dB^f=j56
|
||||
e]2Of*He]Cs7\$kQ-Hg,D$qh\<bsUhbD5L>(h$BKt1jcZ-T\.5GSa<0N)TKC*)Xl
|
||||
>_=GL%Qq4hG$%M7f%M$.oP_>nE(JY0@=[VQ<@db=_3n%AX6J1Q<@f!!;IZ9!<3'!
|
||||
!:7#7/@*GMZHFf)b:KsB/@*Ru8]<j+1rSNGj;VYFkmqUg,dP+bq:,-B/cg7m>^n>
|
||||
&HYZ*+*<u45?hA`<X,9sO1g"huN/3)4.Vk-OC.'Wd)_Vk[olE(+_E+Dg:7<at@d;
|
||||
O?<@GGc)D]7aU"8JLliS(])Q@"/h4To*6cXCp+F[q.2cM(q:]<$JzzC?'nb;#^M`
|
||||
TWJY<mR=mpA6Cr^FDHAGTJpPS>9?QH<bXLB/.j20'2>l5dA',[/LlRkTqXrX[$CF
|
||||
d!5Zs*c`9c=i+;-Oq@8gt61<?X;7)R-$gPAGo'h!!_<ilXqTfDF]H6)%HAfW(0*e
|
||||
;c*h)ROD>jn@+4364n:%PArBGk2rdGAlGWhn]obW82?4UUl4VcoI=+en,%oIR77H
|
||||
!hTJUM`nI=Hf,rdG%:n3&E,d-s2Z!IBgrpH/sR_"Kl$6br=V%r8tPVta%Tr$T2W*
|
||||
kC5%cNh1/4nHMUSe#)qHforEq=m+Li."JZpD8C/=+eq-%r$8O-/eE^K@X?>I<[pJ
|
||||
i:[t>fNo(sGWhn]pD8J;?4TnX4[n<&(PC4D%oIR77H!nVKA'WB8U)'#pb17gHfp"
|
||||
Whr3o$!/&o'!!W,3_YnrfqYh"1n9X8Mh`Msji:YD$Y':TUIK]+0oIiN0+*6@gO+>
|
||||
LbCJho#SOR@\--B[G8mX.i$sf-S0d)1&$n[YR"2^TU:5`Wb_*tY,A2fFTV'r&G+V
|
||||
^KMB-eE%&L._]H[u+rL/bbqpsU[2OYBK9loHiV)]QX\()Z9')o1-H"=uAe[0T&AM
|
||||
2MNY;\Rk3>UZ".RI:O,f6"s)2Bat2(N*cQ2[!.bPFtB9)%eV5fX[C\")O1Shh8qb
|
||||
fQfkD#)SdG)XK:+:Z+t+m^d4/2ooG-!8sqH7MBP'$\Ts%K#jc@=NEf?K#*7WLPSW
|
||||
;3Ji>WJnU[k'.o("Md^3/5m<k2iXSA.?t"ns$&"+$B2Z%%$=Djs9*>fWT]#hMJ-g
|
||||
p^GsWA>#UTsH%"uSJSf//m_IY>5aq0VVcsLED*XU2G`F\%r9I=AgK`2f_OFgRWJj
|
||||
tA9i%[X<`MellW+"k^b7,+oATe8'+uIGE5n$+lAdBN;M`Y9mEUIrX@mnD]#fa)>8
|
||||
TG_:6kVgW5lq1"N*(`V15(=U63n`#6+dZcm&%_j:C2)[,oL."0OeTAfJI!cRm_oP
|
||||
efI`36:fI>@p&D0#0[;A&j.3l-&mmB2Tm$^V%BV/n0$+5E4\[I+RkJSBar:I'[VL
|
||||
V#UJt,4qWH888/>`n3RctPY=c_/TAZ?f#&')Y^!jP_[0/E'b"rR`55C[E:=^3Jp8
|
||||
PsL_)9IKb]RR`,q$@/M+o!.8!mQY%/_)L+%f*mFl6,A7iB^V8?>[KI4cO%Lj!6_q
|
||||
JZNK[G,)Fqtu_',j34F#4e;,K*\8+UJIZXu@2N+I3HJKHUUe1:Tq(!uZ8*0lX?J#
|
||||
mhN2'+@U+9.7*!icZHL-:W=LRE6U'/>C9;$RhB<'pMUQn0>Sh2B`4u&jh2%B[MeC
|
||||
0qd$@FQ-d8@1`cuKqV3F1dVb,f[PrriZ01IKSO724A7/U7*7h'',]^S'bW>N!L?q
|
||||
QpH`W3=KGna9PB+!K4rW$#EhDBVElH`0PDV',U=jM`hnDlR:aEpoTI96EZB$CjEq
|
||||
Mk)BbUh#U*4^.Z>iZ^67H.9O\;RBSM0fK'L=cI)as]j^B^Xf5r?Q)SBorm'@L;i<
|
||||
,$j64"Zb3iie#N7h=2-qN>Fjt<BJ-A9<N,>cUHaD7IT1`A*I_@YYZa2(BiK3=4C=
|
||||
G4X\Au&rM@h&s=_hCI*MmE[_)Ti[.HWu1NJk@j^;[P1?>`'n)i1fEXm_QOT)CAJ#
|
||||
ZK.^;.'Y'e6XrM,;Aj>.P6T6KO@,t*&joMU)NA1F$&)_!Fi/G_)i`LeY`5!m#+!1
|
||||
N0l[OK8Y57F(t>9/%9Ohmcqfb9U^?*>*\,eU1o8/D&f3gV&;2AYW>.c'`=A4*',,
|
||||
,f+JoI]]/;GX>p:;@:Q_Tm`Z&Qo2IbL-Z>9e$]p_t4m;g>k"<`DM0f2(fTP/,*;@
|
||||
`g:$POTc.M<(#14psZ72ZpdP6N?Z#duSu@'j$62CB0/&Tj%X)?doD0[P/'V.F88$
|
||||
UX1e?+B\Ei'-Qnj@nb?HNpF/=JHcZ7\tG>6-fS5>WOuSi2)7&O?g(q7Y=HF3M#q"
|
||||
I*4A[iC";0)7$\#fEEH*6dTX8VL4>!fP`QXlqAPL"RJjA@d"KH8?dI.mM\<mU.1n
|
||||
sk\7kk\<t,fe/1%]S47a-/8A3:>52puaO&:c,&EpW5l-4%Ae:B@/lLmW_$pP`2]E
|
||||
GbCc*@C04onQRWBqj5njTl1iPG_$KLP;QU0V^^8(*OZAO$eG_f2-87f<"4sUF>aM
|
||||
:?jRkRC&)B*Ec65)&B&XH:*kNE;H>llG]&5!uo.gfs(Z95#f3tBZr7;O6[f[48KL
|
||||
li9*HTQu=&J9(.1rDX('qkecOOqFK`,7KMAg(\N4N:u@\cpMP/YP^t&Q(khMFZ)r
|
||||
+Y]B0ZF97SU:<p+0UhSO@0f4eY#uu,`hoK)][)d4a.p-MHGJ!t,XfKTLknA2W?0.
|
||||
V1bKP&)qd]WAu$bN"EMA6`plJ6P)CB#R&Fj-6US*E*H3$YVisCl`2)rkdt/MMKG#
|
||||
af+Sl<=@M<>bJq@d(61P^kcT\t6g2J8!N!UR>\@equ(tW44/s6L"%69Pl_;P^,3f
|
||||
t!\+^mq7#._]l(kc0c68Ge#-fud<LX\T1+kT*m5h8rtGD\FK%gA2Ai<YDJr"+HRK
|
||||
Gkb=f5rI/U%3SgG_j/a(LtB,#V&+CB"=;ZOjYbG(U0Qq-8d%$pa8?Y6o9ZR7:?^X
|
||||
F;@nmb^rKLN^@amVZX;EaEWnY;c9kY7X*jYR#5rY]QR0/7kpir,d=q7EZ4h%[Lii
|
||||
pQrui@65-%N/&bbJgYbOkKpGmUBWbIH7rb\'/n\!rQu`pLfgL)\,Nk@,VQ?nZgd.
|
||||
W[*MQt$,.SF3Tnl!06>M_92B-n;I*Hr/-dG^)GVKsSKNTJdqI'q%CQWQs7mN"Zpg
|
||||
EUc@:Wk9&=P"VXHagH:l]1.gint+OTW+0;1+6LN.a,(C-iK&F"p&q@AbnV@n=tq$
|
||||
Aqkb;-m`F@Lt_Sf1/aa*/%^O9af>74%n%@h=M:BIZ.&Y^LeW"N9Y.m8!ZITAYBBc
|
||||
\XhIVAI9rM>`6t0O\qh/G@Lo<#;J,K'N%;aaQt9J5pnC.ZOS.aZAQfp#Y_6Bj'HD
|
||||
CSfnU(\;k*)a?_2_\6J=V+UQYhFtOs_1tWJ/Nb!4aps!da64%2MYb@s=oIinT&J5
|
||||
UcKHUUp+s<qKg/4p/7Pl>:+TuT)Y%Mb0GEHt!KHWC=)Li/=&MRmFrdrbpe56OX&;
|
||||
7tF0qf0kTl=ttKI1:EchJ')-59U-66[(V&;8#6A\eMbU57&gFs.1=p`W$PIPs#>f
|
||||
RtT"rr>E5l_oI[%8BQ<#XT2:'-n`pTqN&1%0nUD5Olr@#Y\uJC2.Ka>f%&>f/fAf
|
||||
?A=,$6m2h&'.ESS!7t7o2)R672PCCCD8L/,'*ru%6=LV%3YS2J&;8.26>^M/%1P3
|
||||
=#Z'H5-=I4hbBoh!j+JQ^ZOKWPi<Va]Rh16"cDJ@s#XT1YKJYO=K`;%k#XT15\%1
|
||||
Z#$2b?f-JTb/o2#:*rrBi=eFS1^]6^&erg.30)Xd`:%KLp;+C0Z^_=/hoXk3RQU"
|
||||
PD9A0U;YM"1D"n#k[!Wa=_,7OKn!62#g+:@LPT`ZNthg&;/K%6pg+eG>l&7D=`?(
|
||||
#)SKn-P/oq\+AT)MpGSW^A+bI9F.R@1UA!?O%2Yn7Zqg3X$PF:"'Ti[-]r)@SS?>
|
||||
+*9[Oji+t$M1S=Lq5NULoqX&)IuI"[$YHg;6$8f^E=dI/kX.J'dErsWTB&2skchY
|
||||
==R-u;X@G*;1f_d8F%'?]^]+:LBS5TpiUCS*\\>t>?ZVC5qM]<MZ8\!FBJo6qh>[
|
||||
I!q.s;8H`i')%eo%er4fp+7nAC9F5Mo\SbN?f!:Ud.YJGYSIMe?nn5G\3l3,K/T9
|
||||
.Ghqo!6j,(6E)TjL.#V=T->H^,O%lgu^_^I<2A(!H5N,>S#]%tWMs6TpB$ie>?b:
|
||||
WYE$G5hP(!"b8,m+;?l*K^Bdrr@])rr=FQr^dD%$.p@$gA_/"ZC(m[88WHCMUhB2
|
||||
'N%AGhKPORH/<b9bjK#4"/L#KOjZ;r@-i>;a5gdmm0Cnd/l"e#\/!!XJP/qTlhhA
|
||||
a'VL@Pq02fSrr?\_n:*"d+ne2Nl1kPg9=#]4Q#'O_pT4+jm/3bojZ>[Tgt_>P5*O
|
||||
(bLQe_5I#YjAOkY#+5:<j','>TNTBLL[$!0(0ko6F3ZsP_$<4XCU!!5Z__"R[1cS
|
||||
pBhfRL_/BKee2h/g=TNSg$\eb^R]]o-f]U&CMelu1mar$f/mB)EEjIn-1=0*QiO'
|
||||
cR7.?Z=liFAMFlp'J8o,!Fi@KA:n^jaQn>^X;H63cE-irVlj*ci`73h\t+ARSMam
|
||||
eG27'PLTCk:Qs<((Dko_oY+*fT#EjMHPH-$]nH<ThoWjLLXV*M08&_"&&!3Op#,`
|
||||
!KC<+MIJ:W?^OYYL"0_J08F'XZ<gTg)nhoKO*J\(+a?]q@OcbcgObo)M:S8UbU$9
|
||||
>_,OWt)#+dgr08+Y6dUDWp0_oc8k^Ec1*lNDeIp@)F&UkgXkl)`C5DX:Y!3.,"qB
|
||||
%`o+5TBG^D!O3l?'^F:[ePY7sFKZ49>Ecp&7V*e>l*^2iPAB%N^Y)p>>*%j83m<i
|
||||
q@1Fl^qn5?.@ju!/D*(S53TWM[Q7?!HW_LikOXol:3K+"O7,srrCQHR#h*7Rf&E*
|
||||
NhCt0aN2HDaN[FR9he?*'Z>dN+'*emoU*Z`nIL_*K3&!PaG-;edJbGiK448;n/hh
|
||||
K7gAn+pc^uk1l'84*5</N*L%N@j*q".au40I\Xg\g"CVH"jk-E"!;JL'^)"SHVuH
|
||||
b4<+"!IR\)+Hbks[/rrD6^!0T/3A%1p3Xgl(:'E61ngkoBunFZt[-I]Ikcfl<FNr
|
||||
K+KE1=R$Cu4%3&j?l_^&F%cARS3Rasa!mJR$L*e-UK:+GY"k^7nCF_L%A4=#VS<Z
|
||||
f#)<c2RbIa'[!Y/j'%DS%TmU4-6=YHa1[:J,G1,\(6S%3ObYOHbDEYK=!CPT*lFn
|
||||
h&DF:6'(F^\BN>K-N=)@:!fGe[e'E*EW,W%/,*OXckdEapP_>6e:1p.=*&`pT'Lb
|
||||
Cq0X-opG_Pg'/u]IkDnIb-LX/Hp5BT-O+VfIfZX5T*)a"4mmhHtUjlI#\N3*$+6m
|
||||
>D<1_j]-`I#6;3&nY`BHrjNqm6"$!WniI=T)rPg>Uhr8/j>mj\!5A=A(`MW^pX(j
|
||||
/ZM/hNiJpBXjobl&(`]+a!fr2=5c_1n03;iO9ET'#3+EM)6OeF7iD8a^QXVqDUF1
|
||||
8jIM-iQC1_BsbQ@/c:_hE?J@`B6ci&*d9k"rmG)>^5[s!-]!bF4`:IH\p$$nDU"(
|
||||
6>*k(fDIXAjDbuN+7LO/l":e+5KUpOr_PT7q2]JV%K?DmMEfZ0\I[ej$Gb^4g'`"
|
||||
t\^A@aZG=/io+HN;(MJ.7c?^^qrc+UK<;&W'lLUmf*Q#G_f[cP$<c71J1aF?I8>q
|
||||
tt[1:_[X#L[%)q0%h@j*50+gFk$:5I@37H[InFF&monFdb6>7*?VNC9#ej<mO;Y+
|
||||
[mb:l9H/@FNeC=s$0mq)Pi/3l+1-T9FaVFZ3NsUr/f*7Z[)G`0%SNOT+:mGVpHI2
|
||||
RS%)CTWBb@WI2FiSt^<5iDYB_"SDT["J77L]5@b)ub?Ro8%@0b(&7Z^VVhHr?RI&
|
||||
(C]^1N<-&/d;[oY*S0UD`no\Q_n0aA0#6Fii,q7EWd[84h@B&dm^VH3eXtniF.UJ
|
||||
ORCI`BSN"Tt'?Bng)0Aj5+1?g8J#bd__A"Z(^lJ6_;iBD/r>m-/Fs/4k6#kdb8Ln
|
||||
\I,4\`UeW0*B'tsD;5;4X7:!sC`=3[D#Aoo$V.&lhn\?k??(u^2mMMZO^61Z6p7i
|
||||
_i6TI*(h`!a"NO[b!I4L;%Fm9X]8om5hd\C^D6-c26TK4FibaYG5/`Ph&]icg[eN
|
||||
\1+CMQH$[?^X:XE1sq"TQb>c($?A,C&J4Aq_r.+rr=9l46MTORmXfK@K#:0i!=`F
|
||||
ecbDZ(NQ*8#5o1k"*aYLrLU87L;.sf+4V]#c.hb;qL/^>P"(&J06Vh<%G:H8Cs`-
|
||||
+NY6]2^#5/qC<t+YJkh67r>aqI7iNIj625R:>G6?Hgmq'Y+d?ide1k-Il:p(>((G
|
||||
&Kk1'4DB(lq>E2;W+o[\D\@X;8:+^!]KMMe"a3b!Jk,GMlqEH*QP34ssDrXY/=5(
|
||||
XRd->5,U`pQ=eRcW1J[!\>me/_r,qbn0?RBA(&<[B'=osGb!TphIR6)^d\NR(Z_W
|
||||
Z#TkUHT#>f)%9Kr_B?VDTrSbm:1GDr=T:E,P`J\k99gP2tHSNDLDW+C$"j>`.#dl
|
||||
5='m8'D4:)0RORp@XI!enm99t$(C*2U&$e[5i9&nPIW3%?H;,sDB'0(>NAHLYV\]
|
||||
B1u^I@06@b-9<#GejL$TeIA/?n?CJ1K]`m&CMgJfp\DbB;#pZB8KZYm(P3Ij'G!f
|
||||
&g(8:0G:b)8]dJG+ULK=L?6[]V4.%Q+9Lq<jC%3H2h$/EdM#C)*`gDD3.!<*>G2>
|
||||
!:_,HadITqJ)^h8+<p)#G$!WB-L;-T!%Fpos2Od'id;6Je?+U!4TRW3:TOluDfD3
|
||||
(8-erM,f%rB$oAIKFlK)1%_`\0&>YIp%]+^!Dr6?a<h`re_d\WOmTn2r>SLG_Z1;
|
||||
kK@i#Y[$Gb$'"a,r-B>-i/J]/fN6-pG8F6g3f\h^mi8017ZlA0\(-I\2=Vu2D[,a
|
||||
WnSP2>Kgt,kBq5;JRGEsq82o0sYh?'%]?V-QO2+;jf7:_[1igDCL(/D;;'q$a1f7
|
||||
<t3=3++d@UMa-]+QD4+bh!M#32iW[o-E-m`O.@4+Ng.ct'X`ZHH@ibB*T>]'a;rD
|
||||
`!fT_bBBr.&$/e?Fm<=*>O?FOY24m/I&Tl$T(DI_Kn"5>I]#6"_3`@g%1AoCs>RZ
|
||||
mJ3HnTu%_eA##"2b.;lBs=4l3RSKOLsc5&7jpDqRndC%?',pF3\I]1Oj)0q2+8,5
|
||||
M<Tj0-QbYu,'YL1)Xo*,$crahknPBMG7IdgCX<RY>=33ViZj:I3sNY-4iY-1PIh`
|
||||
"2'MEIDAP:ggrL0DmN$71#e?K0k)C4bi,_HbU8e\k-lgA!G6T:l6LD.j*LN+J3hk
|
||||
K)nOa_C:0\7S+,4Z+eLDg#e$:!dJTHVs3u[ZAmG]b+G6P_\!5U+plHUo*ZmX8R1c
|
||||
7/Q7ekon$V9G>_*(p;6$4^"RA+iDbF2MM5jGlE`tn%K72q?C#hdg]hCTF$+W=q_&
|
||||
O_Hf<rfC%_sU:0<q%e4WBa6hC;lpoO,1/,%Y4J2^JY91K!$@;/d'^UJmE=K,4rc>
|
||||
FWQ.+"MA&Se]&5A=J$h.MS&U+XW7U-LF,V`W>"qaQUgTkEEW&P`5OPRFVF]6/$s^
|
||||
Kl][G1!;01AU,;`+T!*.2kUUa&2JL=!n3q`Dfnu#0hU:g:X-WE;6Foc!aen`Cqi/
|
||||
l\CA8f<8>\:S@/,>)pAY-NTf`':'qcV:ZQg8J+Uu=d2"8lq,$eXoLc)<!e_s>e^h
|
||||
_#u]aalnH>sV\3QP!%_K9LNYsG5-:.#a1hh![Dn^"3s#1FKq5<L)^G_S=oK1Z3A+
|
||||
s8$H2DdU;W9Os,Dn80Zd+lW_AuG/*$7=3cp+uks&Z-["*f*fArr=drLC4[6=c8ft
|
||||
*@5NHlQsGGQTE0l`!WD>C34N+WVArbaBV#B8j,m:KQd^V)hCbf;gsJQ2^$'NK0l<
|
||||
+[PmW;)CXGtOGtEE/j`n7)[KK#i\efQ,^[VB)PWCV9PO>eK*p%Adcs,%U<9?TC.?
|
||||
)a=usnG(,S236%,9UD/Vku?W?hRC\eao7XBo8*q;!2<J;U+CiqHX3X5LbD8iT@:%
|
||||
1Tu$P@;8/LXQS5gZQHi8#:p@Z;pK6V;/lA0cnkU`tmr+r4S)/Ok?@.Nm"<F++kbb
|
||||
t_]G:BNle;M#gDaOLPqBPGLb31C]mpg[:1"c5Bb&_.7M)A%]t%3D^GfbCdpZE\[:
|
||||
:4p.X!6NJaOG:ZK-7^sk_ZS^=G)_JOpko_N>Eh5aJtZVYiJs"G%<"OAXF=tG;A?W
|
||||
Ud5W^IOOV,pKdT9E-O#-IVMgo%KoT9a'5IqhReIN%b0!,lgb>h5$HgM)c/t'd/L"
|
||||
EK>dUEY5t\lQ6q##7YNU)H"^Vr:3_FXl)otp5@>:_mUcHsFBqo,p\1EM$;cY%GRh
|
||||
1T!_F)[934gY4`1ti/Ba0=ElnN8p(PEP@a<cPm-]'&.ULPu(E1j7W=QGL:LmY&m:
|
||||
Bo!^Wno+BeHn4+ZPE2/eR?s+M1/:#9GVAJqYljiOU+;`b4)*&%o)*C8hq6`R16!%
|
||||
4V8"aWE;p6@MmarYhg'4@![X%j*78n`2)E7q$jbh`=`_r6V8aPN?o@9_1l$E+Yf#
|
||||
dCn`''<2(!Rob_D:2HkroiM2K8KQLilR1f7RS'ZFdn2jh-l9@_19W8tq'=SKZctH
|
||||
hA2<TWpJdETp)nj)5[?Rf36/H'V+R'WR,smE>k<bE.61UJ,OO0s>+DERul94"!L`
|
||||
rIVCt)Eml;3ZmfdMah6Bp(9@n]IM:iJ_2K4'HA;PBc7'/Ul4aeCKt$u1H0]T+/tN
|
||||
MDDc,s/s+iIo0!W0ksIZZ)UmUgYZG$V#q]Z8!oc[Pi'>ORR,r*g9.GC-K%H85BFU
|
||||
#YZQlMMHh@+e_DY$plZU%UlX#NF:`a)J!HiA\uVYHPE7j)DS!bK]nmmB]8)10XsF
|
||||
bnYZC1h!At?EeD@")h_$Mf$tfaOHq"oNLE_CCu1IpZ+@lkLmH.R8"*+/&DfMW@:e
|
||||
R1@6=oq%gN:qDA*]:E-PVbY/3"D4eJ+K5m@adN3jP$Up7d3$m]&C/i4u<OTs"6#X
|
||||
L!u*:^Oj`n@:>(OBJO%1-I%f*GK*#6tGV&8Np,&84HQ$trET7VEpkp(l+D%\Z'#d
|
||||
lMI'7hMU6HME?$%F,f.Cim,u'r[lp)W)f09oVOPK,_s$+OMm)g`HXGM@$)uZ!po#
|
||||
KWoe4&=>o(bo=M8?7sGKF;'s#9oi^;@Ue;U$qMo`N/<KMHMtn$^YfWe'>ZSY_DfQ
|
||||
#65*oWAk5Xn)[>@X;'N..[=J8WL6iI=H!+X&V%XN\)/s(Q7c@aO/g`1bCGu\3@0M
|
||||
kPmQ=C#UsVINUaF>88mR<PPdk3?GW./]Au>/tc'2['+cU&F&=K92)C?#e)B.9q.7
|
||||
Wh56&ug9ga4D'NPZJ@&>e#F1Y;&ASO3]\AD),CU)%H9ZJIkNU;9CXC0L-R=G"^;&
|
||||
;?ITZI$tfKnLK_#Zu>G&MP?sR%>H(-^HVV(C_$nfBt46/DNQ*%HV&`V:]TmL@@P3
|
||||
;R:eN>?l&tLn]-(7)Bc12E!ZqM2Yq4&;?KF/>.Vt9MYsaAgp<)fP>-OmX(L/'4Hg
|
||||
)flEB_)]8'3$5065;9[S,7Ne0I1#ZundGb**"2_q!+Z:1a`"O'kBoN<6eHdOY9o5
|
||||
KL\a"<R?'.#abSJ,8(kP0G5r>"Ee?-NJR7KkY)"uSN64ees)/t;;#)9QgGTd3'`^
|
||||
'tcCZ"Q,SQK]:MJDW,Qi&OI-H+"8m\S5;eVOY?$OgPE"<i_6_SdT(L53!eZEbVBR
|
||||
#"(@PeY#ba1pF(3eeTl&6imIPbJ`AhB;Cm#6+[$a+^Q*6=F>f\:c3O(0L/sZGo#(
|
||||
-=*';N=^]bbnCo_]__TuM1QCLN,3<HV'q"%+X*]gNUEY"Bd##id[0`jZH'2'YkF7
|
||||
o.8!L)%"ocXd*V;N',K?KYMTVT1o"PjA&KMnKp3biC.!9G^Ft2i/2=i7YfF&'L-:
|
||||
2AL]7@BLcds2@dGp.HbIaHX(ITkH%[>!i5$XdWP?rh';co]De9YsiSb&/(rq@S(\
|
||||
lVQZ&E@*&;>su?&sKMnR<'!.glo"2nGL79D4H`Gs_K8LP-fY0+[iL_Yusmd)IesN
|
||||
$/IBVZWPQWPEWAh(\Y$ossCTYM].pnH9IJ#)o0ZhWe+RCi!5n*l?QV0PG-O()@be
|
||||
!0QV$j]H20BOi%`Au3NlkOh=2G&#noL^tVpU,%\V1q11c]l':PSt[1\4("M(rVlk
|
||||
c&;2AOM^o-QEA5E1P]->_@0VIjKs8Vt!/Z1]6UP!P#.72\Q#"XCONBF.`.S?b-bQ
|
||||
1Q\"rX7a04:%SSW<g9)P;br1@0jT1]$R9)P;Rr1@0jT3D/b9)P;Rr1?UZT1]$R9)
|
||||
P;Rr1?UZT3D/b>5Xl5nNSB!r"$oactC"0+_@k??3gK1=a3-hGWt)255BFec$2FsG
|
||||
WtqJ55BFerHLNNGWsAs54*SYm<Ch>GWtA:55BFec$2G>GWsAs54*SYolr[fGWsAs
|
||||
55BFec$2G>GWsAs50\=9rHLNNGWsAs55BFeq05+!GWtqJ55BFeq05+!GWtqJ55BF
|
||||
eq05*jGWu(N55BFeq05+!GWsf*55BFea`p"oGWsAs54*SYm<Ch>GWu(N55BFeq05
|
||||
+!GWtqJ55BFel$,D:GWtM>55f^iq05*fGWtA:53[;)I#Ge*k$AS)?4XAK&$oRQZX
|
||||
+0K?4XeW%:ab4s4RG]!s&B'!!<3$!"dcM3n*Q3qsV8rn%S\f^AIB5qsV8rn%S\f^
|
||||
AIB5qsV8b41Ai"Cig6M8"Vp8cTLgF4<OV(zz!6Zq!b:KsB/>@QsoAIm0kBirm$*t
|
||||
X]_hYChl#!.uB-L/L_:0*]k0lt)XW%#6,,fC>rrBD!,Eg/LqML]$POW(M';R*,XW
|
||||
(hn8M7O?^>&<&IGD(E`Fa0R=mfqr]Nl7_ZH*9NFRmsHNhYN^;'trD>ntu9"r`b*_
|
||||
3MUY@Or:fKI$KFd370.r],I-1&)Tc=8]>718uoS?bKrq9]PAIh.)2daS><n4Apks
|
||||
Zf`M2cYeQ:S?+mR!.GB=OlLu$&jof^$j%JSK'FoV])+A]p&%3A5YhZY8.`CCKEX<
|
||||
W(f)(cG@O3<)#:aQLHW;3aace9?*5Y=[PPSDJ>A?\!5ZGNECVSTnF+t-,h%_Uda*
|
||||
V*piUI:,eINT>SR2<f!\ff(hQT`A2;+80To@9q=A]C/>FGYR7Q(krl;(a6Kq8_K8
|
||||
fj5IaOtIJ<N;"F2aP(rb]Xg%-#P8Cd$Zogr%"!GOqO?JV"$p%[n\(-@;67<o"m"T
|
||||
>POh#a,IJ>O&BTY<:4W0U%+h;PXJ7\CU8l&8=47N>^T:N%dNB0QBeuPh#UiY7Pqs
|
||||
[`Di)UT?@-L(IbRWj0Jb.aqd^@LQ'c??=Gj-MgLU^^N:k1rCHIald<,^mK/aQK[W
|
||||
QU>W[.`t6WbS:Rc#9`@d!L,<kg-Eor>l9IJKaXR=pNln:7Et'NrK=VHW]Wd,=6&6
|
||||
0MC`Hq7/gHE.=_=b@:E$cT%*QL!EA"PRj;@]2W3HC8M!1XDL,s["\h_)]3TltWbR
|
||||
?j4'VZ]S\B]\VTo*!/17@H[M5;$q$jQL'VE1Q<F+h!5`uaOq^8#2PlcBVun$`&\^
|
||||
,bYrpuK0dn$]`E^AI5V3:DlRm]JP<N[sS4\Ds$niX?)8N]?'Z39-#Yj,S@,Jd<oZ
|
||||
#U"^)/:n-MJd<KN#U"^)+M;XaHE"RMgT3=1caM:s2"OMWlR]?b/@*GMZHFi2__.A
|
||||
c$'$2oA7W,Ia.$M__)-HH"rN</>(NLH-+'EIL-bkFHc@N>&[t!oIfT!DJ$XkhX=h
|
||||
k2(1O@+UIc;b83?tb(m+t?GY#=m7&\:c#V[BY$skdM!!KRJ(]]Ennd@:*8.>"l'_
|
||||
$Z5U8o,>65Uhu4OQb[nH]/,:(4Zc'GAY%,3uT:_CT364A[Li_hArE6aXX`0Hrb=J
|
||||
d3jd$t6F$4HTq"g5I.!X,'sENnY#UOT6d@6S9$F(omn-+J^33cS!Sn=Q>8i:_"I$
|
||||
:,ZjH-5.W<![A[N&"'UHN&sIu;h[=I#Rmtj..gG!.V/l.M',>XWl^pTRinBp!NL]
|
||||
e)K<ZGA#BIP"L]djXHS9rFA"G&a?F)7Y[OE3;!\=`bGM%GZqt.l.h&-pW\0qh0Pf
|
||||
sR!3C6W,qs:OoNEW3WW`eS['YX!//$tC@,pC"c3j,r*kERETd2J9)Bs/J(AS"o=l
|
||||
R/XWjZVN+F+<ko.RYX7_V6e!Fr*n^uCN0,!IpT\T\BS+@rQd-(4gM&gIIdq'A![B
|
||||
CPCWVJF*5GU9HMqOW<aYtk`UZ"k[hMZatF3go'%."E_aX+gm7/d!MT>q_N0N0J:s
|
||||
!2RqBlUe7@?nusR#d)(=Mfu[.Dn_u](-><f0S_Of9=Qb?)Nb1S^sgThX-_K!O?;q
|
||||
s-p`HKBb8H6,k;G@R*)q%lF>hh\@dA$o'NONdLlh^LuX>F!3_t,c%a,&'`)Yp&Zq
|
||||
9)#(k"$.Q`95HN>P"-,[A'"HdR-j's"&!W&2A/Al=jHfr-=U6H&S5(FtBE%e"nM5
|
||||
FuPGGtT29b)jQWf6^^,^9Q[kUN622\KnZ4]lXRnRJ:pY.WsC*[B$M9ll7Al7183e
|
||||
!A/LNekDq)q^+%2#8j.dJX"E$RDa&/./b%!QOcV_Bbj9%%d7j>C(u[]+-N[2R*n@
|
||||
N:=`[NmgV*NLG)YVUj4Gs24mf&HDn5!!NE,"U+l+z!!!$3&0N,M:d@l4?t$<+EKQ
|
||||
sbJ:Z,,nGh2B#QY#.!C%-/Zt7?O;O"",8lCnM.8!L&V(##7Pbfg$;O""171@senp
|
||||
\R>e*]nY%BlHjnIsj(#XT)U+UCCGKHUUf&;22464een#XT)T.Oe2gP-\MZa3COSo
|
||||
HCWuqimp02[WHI\6[fdPbfg%NSI[>`To.'jGD.+M38MY]5bLulB_TsDX?=8%5t@[
|
||||
:',ReXI_geTG[JMYbm/.6m4Mq6=U9pM\nc))A*lt#Y]?mKHUp>&J5.66psM!L7O4
|
||||
6(Xr?U5#6+X9m.GYK.!uQZR<(,YoS`kaf\?YCQi"ljOY`f-P![ENU!BTNS0^9-Fl
|
||||
"UXtK&n9lFAfW=Ios;]<2IYI3cd"B4r@g_)N2$Y&'e>\Qf8oVL?Q;WCAU](h-6K?
|
||||
+#1!%/?Y!rr?)!WiE*!<E3$z!>,kc+YchJ@6nlu:m%I@d=L9Vg&MBZ!W`<d&41bA
|
||||
/L2r:6psF26psF26psF26psF26psF26psF26psF26psF26psF26psF3@c3kcfYRe
|
||||
`-K.;4q\u-F(D!aFo\]ED&,uX)R(1fF$[k;JdS>WC'%MYW:Ih@TM!1FekamHu$`N
|
||||
_/T_0A"Y=&uM"E[.%F@S`@7mqGEkamUoob5^$U3\&X-V'j%&^``Td2`hH*>-[>&^
|
||||
_C_>nM0K6H24*1+"^E7O18DAZHanVEts3JjVm=K4q+(&4,6,66QV$A8R2HYZ6<b#
|
||||
m_fTUEJ,!K[%c/;<`Z<8<"+>NA3#/'&tgF/ekfCU+o;p/msdY=h(t.67AF60S:E!
|
||||
K4(("bU.3W2CV:n@:?I.6m9,QTeRmS__n]oD&4!#=Xu%=&=C&.8lF`\KL-8Ig)EI
|
||||
5.7D<`Pdl<I)BiK_'kF-[6dZ5#\g&H9Y:+uH%H's:;X"RDcNm3"iZi;:Le&h\;24
|
||||
^0AdBOaDJjBM#c6!l-<+eL6>M5e&elf6%i*NY@1d*1L!h9e+UCciOV&6q/lOhHBG
|
||||
A"1->n%tc*9lGPn%N)/r!XcRUHSepa2A%991YR8mPE,Qm.e)QbuIR;Wp)Lk*2]LL
|
||||
J#ae'4(+_1fF*_9;ZI#d<ml/1qC,@+Z**r<:Sa.B5mg?.7#XYrr?P$1+,D.3V=YL
|
||||
1_K(;`-+FD;,L1_?bh]A&jE(&;-fN@@CtT<UbupNK_uq[jaW[e@J;tF?^>gjlpk]
|
||||
mNmFsNT5r51`RHN6@f>Jr0e`;$!"\`X<S:ZEflrYJ:LnVoIfaqGJ+0&%hu"CrOX'
|
||||
W?F?f<nO`^Rmo_qMNIj3f6XM2k2]O&M.=(QQ'KUn^N@XTVsob$s21-.QgXRt^c4$
|
||||
LW,=(QPVAJSDl*<-!?re^-)J#Jqd_E!^H/hSBsN]$?a57/=X9;3(=O+_R,G/Y*42
|
||||
A"^o[T5T2=Wu'()U0X38)>*fnAMM^iUDk<bf%ko)0!Q^/I@RN7q"3)mVj>-Ct"p(
|
||||
D5H`^H/IPNj*^2uDhMA3\M$GO)H%.!\SPL5m+XU9LVc'5fc6*,-8%4hEn`%#/AX5
|
||||
1CfJN4;j%J,B4c*G`1ABB*CV<IKK>qF.CfnF9b=97E=O[Z0gs$>$^lZ)=BnOt%@G
|
||||
T[@1"1hKJ)7:/1i1sh@W=NM_[U:"c"@W.<@n3TldDA'b_+2534C?_/hHW,tTkMMh
|
||||
JCi.$eQ!d#"LZjeIA]n?c#[V%GEh2hX16as%9&%?uObd"kq#_J#gjLVhGE.gr<a&
|
||||
=Bt[(l=0/Te]KH[?Vl^98CCR9/d2'6*1Ql_SaaiM1kC,$;=\uduk#uit]rI9b9W?
|
||||
7@09tV@u=!\Y\g[&<n=o8mNkWKFpk6jg]Q3*i_P<n;_dhHD$BSo5M(ALfen*>07a
|
||||
%_TQ8<PMp$N@*Ut9!2M3s*sc@fQ<?Wl=_3mr72B$;Q<@db;.FT"S4kjmYq]gU=PU
|
||||
4*/8SI#Q]d#`s24me&-2e3!<`E*"9JZ+!<E0#!!*'3+Yc8[@1[GJJW[4bTtql1nM
|
||||
!4)s4RGY!<E0$57f;#"u=[/gP[_Cpp0\0M_C"`ZM;1m08oV2pqM_?MtjUQ^Pab'p
|
||||
p0\0M_C"`ZM;1m08oV2pqM_?MtjUQ^Pab'pp0\0M_C"`ZM;1m08oV2pqM_?MtjUQ
|
||||
^Pab'pp0\0M_C"`ZM;1m08oV2pqM_?MtjUQ^Pab'pp0\0M_C"`ZM;1m08oV2pqM_
|
||||
?MtjUQ^Pab'pp0\0M_C"`ZM;1m08oV2pqM_?MtjUQ^Pab'pp0\0M_C"`ZM;1m08o
|
||||
V2pqM_?MtjUQ^Pab'pp0\0M_C"`ZM;1m08oV2pqM_?MtjUQ^Pab'pp0\0M_C"`ZM
|
||||
;1m08oV2pqM_?MtjUQ^Pab'pp0\0M_C"`ZM;1m08oV2pqM_?MtjUQ^Pab'pp0\0M
|
||||
_C"`ZM;1m08oV2pqM_?MtjUQ^PF2Wn'Eo\rNH$Zrr=f4X)(Ye--)NN,f_/8:sK.&
|
||||
>Sm=ZrrAGoOdauCVF++$db)0#*ZP0j^pqC'4aKVO!Yn7&:sTJ.p1*:r"D<Ji%F'<
|
||||
j.J'YCkP0nQnGYg-G]sJd,3EqZK/3`,1UOF_M.Be@Ye/)pN5;>[""Vt_^8UaI!&J
|
||||
t\\f0W]#aBBL3&bekj(S&0qEl8,EY1*dnIYmB5feelSDR?>?WHc+<V9^!oj:_l?W
|
||||
Hc+<V9^!oj:_l?WHc+<V9^!oj:_l?WHc+<V9^!oj:_l?WHc+<V9^!oj:_l?WHc+<
|
||||
V9^!oj:_l?WHc+<V9^!oj:_l?WHc+<V9^!oj:_l?WHc+<V9^!oj:_l?WHc+<V8p6
|
||||
,#RFuY:&.D+Q`3e*3mu\j9VVWbjFY8:FX<iZ'7%qk#cn',Z<p.WjWK*4=%`[=:I3
|
||||
"BO'F7!ul?eUEP@#`578&dEZnDFq=b11^6tBR]PsQkR?F><V&=nahoa4e2>6$4Z:
|
||||
KJVI4%+(Cp-tJngh?7UO<WIOc9A:LrK+PGNsIN!9q?TV@kj,_RpL1`6O\]A/6LJ5
|
||||
M=D^k@]7(kTd4/rjHbQoR)0":m&ZX<b2>G0YrVP5%^$+NR]S<6jFF!+8rp!uq;[B
|
||||
P;.!S?^c@P%4t@*&EW+n2Gp2%H).,GT4HT#4OR&]FEe;"*bd#h?NI.J\2HMDZaS"
|
||||
A^b5>A^b5>A^b5>A^b5>A^b5>A^b5>A^b5>A^b5>A^b5>A^b5>A^b5>A^b5>A^b5
|
||||
>A^b5>A^b5>GT4HT#4OR&]FEe;"*bd#h?NI.J\2HMDZb5'^to:b2hAUNi+?aJM@)
|
||||
4s]Kn;*FV-_^OP&dLA\^<J((m+`D`D9O163gQ&J"^pUn!6<[6cp6*YH[f![uh0'l
|
||||
7j)kYM@6XoL:t?uXO`ONPR_Qio;I6Qj<O>Jh;lC7jNreW3XD3!>0gF@=Ri%[J@lJ
|
||||
D`J?%Qog%IqP6AK[6c-Q2i&L]9ap3B_rUQj,75#gIMOXf6&-)$+8$%QFY"TP>'p3
|
||||
(>'bC'+Bh-_2baB,rtkaI0Ue+omrY83SDbf_l92o!72Q6HElbUWue?gZ0KB1*is[
|
||||
mlGoqHXEq/:a/^8_HElbUWue?gZ0KB1*is[mlGoqHXEq/:a/^8_HElbUWue?gZ0K
|
||||
B1*is[mlGoqHXEq/:a/^8_HElbUWue?gZ0KB1*is[mlGoqHXEq/:a/^8_HElbUWu
|
||||
e?gZ0KB1*is[mlGok49U%>s+n:[Z0C_K$@*Wn2D[$[qF2bt*T$H!O11KP95_nJ6"
|
||||
BjiK$4b)PBk8tAMG26h(iY@GNk-LXr)B8.iH'"**O;=d0g:N;E"+`.7PbKml6%#m
|
||||
2T?/8C`%blJCYX+E)8gH5Vk^p('(+*A7`=6i&TS=Oh]_Grr?ncdA6dBD$$h3KW'b
|
||||
Md?ZdVjYMD$(n]J7#MbP.FGk(N>Beku5A`M[,uQN.2dOK!r,YjPSc8"$p/gW2&,4
|
||||
/;\jlX]J%1dCfgke_rL&/hbPpLNkXlr.;r@%:`V1\:qsfa@WuSkHI*Dcle=Z,*rr
|
||||
?%IrRJ/3esKi^&oC;!r!OdYrrB)iqq<.c;uY4;p[jO8YPWF.mAGQ2d&MflU4oT=B
|
||||
qjhQLelbsrRLoJ?F.iDf5KQ/J%f"_q>UGi+8'FKXU<hO<^5<>J%o+c!+rM8h0An@
|
||||
DZ9]_\*pj[2>a`77C]eDf6.A9[..M?)%Y/MdPTZQBBEZsOBf[^ZC4O8_SFJjGT_b
|
||||
W$j;r%-mY"%K,^ZJZ,C,2c7K]U$kD@"H^GQZ7L$[lAbRQmGN^d(8AgU2=VI,[rSb
|
||||
"oUl;F>kZD8QilfijSq1m-B:Z)k=I[V>N[N,t(2haP_`C,&U?"M.QVdDWc0TAh7W
|
||||
5,]()p@aLUb21UWeDU@*P!>Z!tXRN12b=TGEVDK-9$iLtW/F`N,D/hp=eKQEN&2&
|
||||
o>8+8Vp-HQ<nJlbi\9u-'%"r4Z.e,2DpH\1[$S>PFk=T(mM=M@"Yu,dN[4LOA0/Q
|
||||
H)"EA9,[%9epK0@b&",+-VuT>XO\H[//uR4SCq=Z(/pa3^7f&cPcH"Gl)a$gN'0Q
|
||||
lfW5tT%7KXk(9O"c=?2-g(sd0Glmu:9&pU_8EB/G7QpHCKSYo3(0\TQ:Jo,)DNu$
|
||||
E2ZAc+!StN=ZkU>c\9.=EZar"b0aWYChBU^W&24V[&Ul-eA*tLu2>^h&Y?W2h2`5
|
||||
ILFdhY)'OKi94&VqRKKOHEtKSd]?,d@\tA_\IlYB?mhF1B?8&%afK1@o+^/OkE%b
|
||||
_Gj=9k4`M+AP[tJ)Lkg(bBKFY]U&)*j"*jM1#FCN6$ZnBRN'=VK3V9_1<Gi`M6sQ
|
||||
'6EDp*5]NUhN5tXIf\qbV>9kka>U7A=ZDu3?DTWO/6QW49O:L]B,`:3cOWZ4iV*q
|
||||
o=Y1mE,dCk.;TigsN5f]'NMYbm;httncK*66B,,I`KMESH&Ym]UI,=/oRhAYh%@8
|
||||
d9*MZTQS2(UQZPmAm.ka88I13e.H3J>E&9DB*O#A"K0ZL+`EUihl:MniZ94m%3aP
|
||||
+nGh+5.KEF_A,Q@2BjaPo#+N8&N7pn%pLHP=su[C*EKB>hM8HC6it=`n<+V6\.>5
|
||||
!;#KJ[/B<oR,,X*PoX=+mphte1<%Y=R7)hNa]s`R%,i]"R?-i=@m"''A4X0Jjm'>
|
||||
R,[QV5)]Qid`Sk)eHCT,d.:P0"L9Sj]tO3<3Tnl'XHVASGFP4<)]=goLT)7qpl]C
|
||||
tYXH)pcIXb\ZV;gC\3>JaRgsilE@Eh.44th`Ld]<-:/)!?J\boSg&TUKB:8LXM(D
|
||||
bf^n'=gCbV>,G+V,]^!F`qaPEC*`tFU#@<](q$WVnn2Tj:MZ\D5C&`FrZgcK"mF4
|
||||
/^KA*&Q[*Y8M]X"9XPH`<6scfWG/>bmti+kZN6V.\IE+M:fN_?YZ!`2<9K,E'd0`
|
||||
.q46:;!b5QAJLFQSF\NgeFo`DZ5h"Y`Wb6fWhlOAXZ7M;k(q[@5+*n$]dP%20Y2;
|
||||
1(-9K#R%LeDF4nUZ?gDfU5'(ZE;PdRJEFna*pbFpFpt$03V*[5:hpIpP_`g36";o
|
||||
&/fS6Z5Dh;:E$dSUja_,V_i&2V"$3nPaR:KeWPkWr?6piW+a1[Fh[cHtdj_g`BXj
|
||||
:/Z<a4POB]VGZgi'/0'(s;LM`ID%tsSDc+[end#OsHg=jI"5+'g4REU^H_'$o*n2
|
||||
VlLA^'8Z5',gogk!,0RTLhtZc7^XDg&qaeF(SG4hcl=H.B9<@Tg'j2I49U-5tR4`
|
||||
j*+oO%fCObT8o/j"Q:/^#W=NOir$m`/U#D;k)SHhSIkkg%B+6+O'=PXK@dh1fb:7
|
||||
WOsSo*C)M"f5`%RW`Nu3=hBt(Uo's2;KU>c[?S;-PDoWA@p7+9PmsGB!S!48*F]B
|
||||
i],ld-oYtCgb!cpf`%M\78EpElK4<jET8@J'Phs6plL`-0$nR<m:)N3"E?.re[pm
|
||||
1aC[E:pT\aD,RJFR4Y<r#JL<I,Cfot*OR4eeGD\k\_`K:L1H*aD()b2[p\7WnhSB
|
||||
9d8^+=CRe.A1Q)j&m:8V_Ya6_oJR,5P6_mLZtKY^r;i%At15B=VL27qq7Pe9!tYd
|
||||
9JPF?*;9ia%"3VY,&<)!f)NAbh/CGSqn?'Ce8i=35iTkP!U)+`0lt=%oJbI:!u01
|
||||
.A7X9(!oOA&j0D-&j*Q(2e(#^B<C_Koq.]s`Mim^-I^Q9+_M,NYT&m@@WLa,[Nns
|
||||
LV0O4%/03di2e3AVL<a<g$Y)rk"/>sa)".am+ILekd>,A*2eD)"`IkPZ,K-bu:4m
|
||||
`YBf:`$ia)uo50/CIQkhr$*6Tan2'DSV$+`ZGFO%Kn[T`t*SO"KW"0Y"ne!=*SD3
|
||||
/CUj@NXF)m"ZG`I]f,(($,KDAtb[b"Sq*?<L?Qah30X;#k,%'/h1eIOd``@R8LP`
|
||||
+.#"A_d!Bai(Vmmq*?ZN$1,'YqLqiW>?V>RB4?kV:=W<Aff8g;g<l!2O[]ib^u;0
|
||||
4>XT&BKNJC@h#i#Gd6$iSnqWnGc!Wuf4`$%pla#Wkmn67'0KM(hi,X?/i9kJ%I_c
|
||||
,CC(C+V(mf`DWHRr!BbjibY#<VZ<(S>8-;hRG9D/;KNti=I3gdU?VE3.%othq>+/
|
||||
R3__'i]9A9*Oo4@Veb@k2&Sf@"#Q,VdhcM7'*2c`%CZ!tX0=Canjilj>p\!_'FOt
|
||||
o.+7?4H*)_<OT_k$.+%"R'fUN)Y@D0.)qLi,fNN7cCfBm20rIO)P^8K0T52W2&Rb
|
||||
;,Ouae5s/:EUm#Um$$U\[!/BfY3RUaU35HkXuC`j*Mj#QeN,oft/[LCLqT''7#GE
|
||||
5jE@0TL+=L+nQu$l%FYJ^#/hiSL]WZm"f:qS*!30lm8-K:C\TW"*cE[8>a>9eq8]
|
||||
_if:o(bk,NU&a7)1CC8V&+k<^&RVD/!Q"AH/UHQ]Dc,2`]SsD!gh-mEKiXTPeQH4
|
||||
3$1GG,$Cd<&OW2=Fo%-GSLSs(C8qBf8qY>&i&_[E=rftuJSXb-gPP8dYjF-dYTBO
|
||||
7GaZjjt6Z#^T2Z?V)QGeeo%2R?N:*-#Pqo"m;@4$_g$Q/h%CQ0R3NVXT8&Rg%CV3
|
||||
O0RX,DgZ(kcfE*q6J"dP&V@Y=M..`#s)muI2FVJ*Z2`9_l2e114-P[h.#Dt/hG`o
|
||||
[qU]E#`ZoRgT^im_j$@S-R@g;G,+KH)b)K-%?`ikma%:JnjWish2A*_M;28UK]>k
|
||||
e3AsNmF#+gGLsV<3R6ji(qH<?"$`KaYO`4&i@>:Rf_.V.JbL"N#=S0l)6gUS<Z-O
|
||||
=Q[7jBmnf*`Z=knG.fHm/%dB`kugpD,7N:'e'H,Qik@i%,1S<+ei`SuVrdP?+?.f
|
||||
*aaC!0q;&C)Dq/L"6i23A-OiE_'"@9:]hk#5l=P2*A=9''[OfW;af']N;(S!Y-B5
|
||||
K2cqd>?U[bkt$+GGe27*4MBu8G\H"=S*>nSCgqkYWJ$R=+K$*bhkr4A!-q7`D1sj
|
||||
#A!YPVrFD7e<.:_:JUA)"!`J2kp(RG0X>Z%UMS2\#F8#"AbRLaU'aflOs*>PYo&i
|
||||
cD$/dFPNJAd=LC%qH%=`bWsnB-nH1IgDfpU[_'X)20!-1_LE315-+%p%d;*Ku.g'
|
||||
7s%q<KQjD:pS-a%(52*#QgWPOteZ8X-@/7XOWLbB=/&_@DRnde+-16])KE:QEP,D
|
||||
\`'D4+&7/^Pe[EbD_1AQSQPb3/BSH%"bt]7ARkf=dcM66-"*0G9kmFCOO.i\A9-"
|
||||
&Nl/IbD6S.C?emoX!QR=?=)?nRBV#D-IN/3AM&G3eZd;nM;5h"c,</:IKH6E=!GB
|
||||
MoB6<Wrt=kJ]M*u3hmWi_#_c_1Gla.?p!@0hBes&Ch9op3O0r@1A%g'9tM]r51XW
|
||||
A*Pd0J7bP?l5:iqeQ8`I;cOM1=,BlZfXPL!jZ=:`7n_]5mII&jC6/6Wi-%g<E:C/
|
||||
*VH8\lX*R=6cj"d4(/kBu=TS(01;H[[b1!DR9J_;1e>'H=j'?;eCfb9bj:CWa"C[
|
||||
$X7/.N$mElH`;-%flY=?%io6?A'(L9g/@mH?go]!_kHWG1`HC;YI1f#<9R"cjJ*b
|
||||
Gtj\kmO%iDT]MFZQ#!N>Xj+S#FkiX,"'G9aQtZA-819-hkLd-A',.!oTQ9Gq##4T
|
||||
>CM"J89.F7!^)Z@5(8^@c[ds<:n61XbW4MjBI>>5A\&XXj(I@Y(694A0JIa)m'Fl
|
||||
Mk0(&3Frp!<cD?SB#@T!8&t:Xs2Q#&3(`mS'(OS$u8p7N.6b=m37?&+C&9Ec%NOP
|
||||
R:1"&^:>9*!PK8<c@.tS6:1lY4]Els.I,CEU;5FJHi;4(Z5?;6#=dgKgQ&"!hLn@
|
||||
Sns6,Isp-Ec\Oc1Q((]l9#$gajL;9;G'VGmbjbI?;%)i_t[=(1(G?fn@4^@,4*9I
|
||||
hUH3=SCCDFu!?d`P`\IG<ILRQ/o@@"m3jm:K>WXLO3*HDpVp,(V3N9c/=uY1AZmM
|
||||
`L47EZ,AZH@(WAoEa5[U-6pN<'-7MtEq*I&'4d&k6FP*7-KI[O_%>E1%lRZ([ps\
|
||||
X*8(!*MgK8",hBqqBIrqb@lM&]4-8;cHO9:GlJ;V&G_SCgQP\]Rmrb$8Dj\RS*,T
|
||||
&6K\k)J%XUl/Re&`7kRJ3C3"0bbndP=#4%SrD@DcO?@.:LGba-3@-_4E5*Y5n9cb
|
||||
/4MJ^)i/Crl>rnlU6k]*'0+4A;,t"F2;;bZG=I?&2_!6+^NMN"ZUu@TSYS4I5)?F
|
||||
%ebUaCLcH'GeMLM7^saK_'KB4N$c%beo^OFe+H6kr_f3O;uq87hdlG".=pe+(^Pn
|
||||
4K_$WZ$)^"GXantcQ%>gQGV>3#4ONV6@B7^=nK&cc`)t:K<#5OK\J1c_0'>JDNR[
|
||||
51d6_4K(aTt%sA=>M.#^ZN&G*c#k'Eli^/9M@b2ZA40mnp9=ru<S]5!%Bq)^ODZJ
|
||||
d:fTu%T"e$)8\6Y5OnK$<'@=i>O2Ot@H?YJd/QJH2EDT.`Hjuek6UMiFfo!#`9Ym
|
||||
RH$>kYSn_o?-JF7X%cfJh$0Fu^"l$I,j?E8A7lj5ju?SG_.EP!RXE&_9MB8F`p6X
|
||||
;oEun@B.<Q*=CL`2AcG'"CIRVo:;K^"*EBpP7Yr/jG1%UY,m8+*PP_"F*'?Ym&q9
|
||||
38P?k-`dO*PMqYcGZa=(lRlBOgFgKW<L9U)lj8HZ%sAqSLBMkY`/X9ojFQg*k4GY
|
||||
"Z,eKgSe?>]5'tBkbAUhS3\GCg+_^Cqd%3eI4k\dF]*M^Kk/<l;O#@3[p9\k1Gt;
|
||||
P](/KXJbcRqh@b85VrrC3Bb8@eMO$P;8Q'I\o58H`lO%DH9lSlAfc%jR)JaQ;tN%
|
||||
@*-mK[=^A^n&CB+R(`cUk0Omk8rsF(Jd63KWD!B'Y?C%e/VP)'=bAB_WknQC./Dl
|
||||
pJ.8?As07k/E-qhP'_W9SA0;R:L3:$)^Xe+Y.VTKO^+ti(Ljm4C27;b4BB9hWk[<
|
||||
40Wn^n?VE&m=j)W`3<L@6p0C$H<piP_hQL79XB5f;/sS/40\+VR!,arPL#nXF1re
|
||||
V4Zjh^%o;32>7\?GBA-nK>.H3]Z8o3N,e6,0G*1nYB@ZBWF.8@"alto=Np"KR3c#
|
||||
8H#:LqAF,mn8I/rClpQj(KO)b_@pL.K=k/5H)FrfD_#8r-I*CZHLcN<U-J`P(2,@
|
||||
Kbue1N;4D,<ff]mMRF1/SPJ=Rcd"l+Q23nhrV3*OCeb[ObPNA&X2tdeDS@*R"UsS
|
||||
sd<.Wqb@LMjlpCmCejpIW6L8Yk2GTp/j=+Eu=JgCD_*ES?b9!E66N#0X,`S_Kh+7
|
||||
A#WjPQ8-V*@BeC#S(VB'QW@B^<-fl\m>!7g,^!PX"5T#TildV:^9;1B(_4:-`V?`
|
||||
YC?"_h/&?K/;]W&aYAK',*c/ECe4)Q:SdX2Wn'DZ,V)hDWA&/3*a+rADho15mM[t
|
||||
$Dd`bgKcJk,0<`W7%?+)gR\[1#5iqaE$(-ZB_@_lNoTV1n')]psZCeSrUdNn1`3@
|
||||
4GG\R[[(h.+]j2n6,&`K,?e>97TDg=^l,CppcYm%,c!:UR=+%qKr%\=YP%b0%SI1
|
||||
YKIdmU>`*Gd:[L<s>.eMaagmHWp/PoO_[BN:]WFp4pVB9.PoHeRRV806Q]em_dG1
|
||||
&]`5GFm9JQ+%Nd5&p1GEAj%uU@C#1l=S61ed>JbnXS^YaMs.G(Z/YUUVEG!eoP!5
|
||||
@RIP\N^#"]MHAB%XQa+5`m=3@(=GpN%*fD$H?AhQuA&<U@_UGRM@C#.(lHcEHE3q
|
||||
SUSP"$=eUsn<[^I89>qt;b/0,Kg=`l6q.ip6d^6d<qq5*V0H50iZA)>8>K#a?%Cd
|
||||
$GBA'&68d@Ho)h.+]b]+9'+m(9OV`7Fffp@ZC[q#fFTh2aHV\%2/pO<%MIl%b01h
|
||||
.tiMG.lW(Ab8V2/2gO+l7qa;`U'ho_SjJf:9=(jCd)[K(pRPhM[cejQd;OIVl/,B
|
||||
hch.\XR*$i2L>B'1XW6>datN@/6K1@_dTsYfkkPOQrmHB4Z'ONrW<ou?Vg1>daGs
|
||||
>m`1e4/6MFP`JYK_HhoJ]Nu-7@H=PgNM\[jGZ!t\5HQJ,jZ/bb%@`>2<^@j_V==l
|
||||
["Q989S@`=6@/3T<4g@o+$1%Y&;!&CWXZ!tcKil-gK91oGH(,)T\ilClS_.(BA(+
|
||||
ae1CjE6e//Qda(+`Rl=?j\=$O).$M\[jGrrC@\/:W[2=L%+K(+`f7fD3*h`JYKrc
|
||||
X6WjrrC)t(-hQ4M]_p'a7V1;lgT.JI+fD>3<Ocn(46<grQ-oM+oOnG/sVo/#@W@9
|
||||
els_lb@S!4CpmP"QHNjGim3NH/GQR2c\jt<fs>;8Rl3ncP0%7?=Y22XZY%ISrr?9
|
||||
`qOQRCfjId1g^`7d"1_!3aPi?(hX(5MYa;Wk[$f^5!nDpooFR&abLiGTN$Z1=rrD
|
||||
\4B$Hf'CtZ.,c'pV-fs>;8Rl5*+K._kJf,P_./?"];Yl=]Q`Ln!6b2b_`-ZcDM?d
|
||||
]-)OQaH,6c]@P1]0Vq%Iei0B>nD1OT>XI1d9+`#$2_<qN9PsRg#@ShpQBHE%q7=b
|
||||
a^!%IBZh5-[pQZBCcIATp&p'/21^skB/\`*mr=-lX8LDUbD@C>-.6%KDC;OmgH&M
|
||||
bGX7HEWb!TL`u_hh1:]:J%/6<X7mFb2q16<7.1B6O.Q?SL\3n6^ti.CS,R4#\P(S
|
||||
)G0-o25GmfBI4p]\:GqR!5MU@/YMZ,`X*l;o!!0js0mPs]5;95CIBn@Rjr7^b5H"
|
||||
=8jrkbSrG2D?rr@BF!53m=KGbBqZ!t\1(+`Rm@`=6@/6K/d`JYK_=Ku>SMbQ(!!F
|
||||
RZ=g\P%.6`/ag7`Ut=5B=:))1SK@cQC[6k.ke^)G0%Nnk++:r,2m;G$S6RH'dZ@R
|
||||
9VE%<tZl:(d@>XFds?[I'_.CoL9g'c42Y-4+>->O1IVrrQDRoe;g`kqh+nKA+sTj
|
||||
^Jjk,>^h[!VPe1u5DpbrDIh"Y5Ag?ag[DmX#iPD@eF/19WP"kKrr>sAI`?k65H73
|
||||
U4nPta@-%Xf#[2Ui:X#N9cg)'kVi<n9S`eX;oD\'bq(1FjZL[mfrUTLQ6Gd@Ag8#
|
||||
V-Ft!@jV&^Yhn35(W`WsdsG<t%=7*G$@oY5DG!*f1$J\B:\)M>gnc@+^pp;,%a+n
|
||||
7cu`Vu"k5>]uEoA]=)IA$Lf<]rXmeW3M4o`MD<Zk&N"Yk^M^jW?\Di$q[crr?9`r
|
||||
r?9Lq=_Neot6ohCWuVJ][*3aZk:UL++jLmN8O4Kgu?fL5J-msqn>;D-s7?I@""os
|
||||
:#(`j551HAcY7Y1I-SFJ^3I@o^0&*ONI%W9p;m76A7sLI]0Gpp,6[3oZHc<l?[Ki
|
||||
f?9c$ja+cE$c%eDU)XQ.IF_"4Cj";89ONs9TJheC_rk/^Q&8VJu,f$a9fm3c]d[j
|
||||
D6^(:0L#QCBPPEY[^c\TdC?K]MU[V"os^Gi^oo6[)_5N'O;;EXWEZ?fXZ"%U*uk9
|
||||
#i,6hmZP%Z#?ddZ7cnYIj<7):1+3=mWlbT@pp^rSI\UiP;4<fhR)\*$9:Bi.#kHh
|
||||
tti>+/C!9\Q8Ju:UE@r37%PhSd1Q]SXDJGg&(+cd<klnN65]bDJXhC$tg+C8T4<P
|
||||
8KIfVlXOE0]/SHP)@s@Td-Q^-RJr@4]t`,LRa/hH094;[UJ,'DP/CjukT>CfaEf6
|
||||
1SC.5"IG_jO`2jNfmc_Hmg-D-(No%r8<S$>nT_M?#^;onkT4dF&B0OH6^&J)CqRf
|
||||
VZrE^l>I]ikJ5?EF5T<#g'rEe[WqO`^:GmF216boQd#:%@9m-09q3e,i/q`e'/J(
|
||||
_j\8&g"AI,CQcanbbFO.Vo_q>%\lT:7!_cBB=%TCjr70_i^RQM>s[SBncrdJdGd-
|
||||
r;#e838m4!6=jB/>5'];E$JZcq?jQfrWf1HP`r6:UTOQeiFmg*=oQ<L$X5kA*nOP
|
||||
[H0U(Pl"ccm<ML8jZ_:\K*G*PS%nE&[1@<k2EuLTHE_uKX^$:4nIU1K\4=@7!-0#
|
||||
3l2B7Yqd]AM@3=%#q&/,fN:7A7H5Z8]+8Z!;;t-F0d.f_!aM/DX2t:I$K5r$jWWf
|
||||
?u'`J$lkC)gQjWiQq]9XMurRjE>-D$>X'IBO[`?oF"KVo,urlH`Pg6e!ad/;eAM>
|
||||
lkC,5Hc_,_$/GG^`<H\$;gtP0DJP>YD:;c#\O!e:5O;6ZMh7<e'b[*Tu)qchEH<^
|
||||
<=Fdrr>^g9`Ce>TR@YOnbPIn:#B8!h7n<\g`u:eOg=jD?,"l0meqbWjn=cN0]s70
|
||||
nQn-D[tVIHiGT*6ULU'G)qa#n7U%FMo!GbFn_p!P^ZTP2S,R:EDmY]`1WV1Yg_al
|
||||
5e[H'_Qf,>BpL!4>]r:qir]C,IIJ:eY^S'5,:OR_lhjcpdS\9QaIr"`0F-A3FIKd
|
||||
Ia2HupMG3"))mTF_Hm%3Ykeih?%mRWs!o:IIM/XOe\B-"_u)^j:H1[+h35/I)nrB
|
||||
^:O?f:lTnpM%um_<Q0KXb?.qFi+qi20E]U5&MWGOZR:@H;kDl1a4g^=JQ5Z?$"gL
|
||||
\'HD]@?gl^%4ThD2A+9&ss9a)g8q;lH$bI^jfGUGTZ5KMZ$SkrK^1X!/9Muejs*"
|
||||
pN`r!G$\W?(U7W#&#f#UFCVj$&+9V*I;P,D3*Uh(X-HuLq-.?UYOr"/^&J(+%GT[
|
||||
Thr]3@r,rl3HXRJ!T*Z=<p.OuWrr@60otO^Yp]hA_b5.1@CnFW4Vj>5Q)8uEcaXn
|
||||
Qohq;]U*?3^VlHI7HVn!f4T:9OYhtr,M09]'">5nR\K$NZl%.+qI;uL(G,A(@+(M
|
||||
&QFDZ`02T)3U+[D-dm=o.IW$Fme=Q>[9U"u"5RrCan#a8:PMg#KU9='uS$(l/a9&
|
||||
Kf(Y<gH8KIo398&B2W=YTq5X:Eue7R1,]]fNdCs,K21kO:R8lrr?),p-[p/dR:Ue
|
||||
^o(%,eRBLWQ8)qt#?F[:%lstWbJLC3:>b0IQ#dSG33ltLaR2Cn;jVP%ZS7%oh1jU
|
||||
DZ@Vtb%]/hh)M^>/UE\cX-:U'3rr@I0+*F,)F<UQb"A\a<nT`/YT?KNQL[#_K%sN
|
||||
hN<:G\9%QR7kB7XLVr$FYYWbD;>Cu,lfG``<%jV#lMkXf/FVSn9Q,lXl?9(@Ica^
|
||||
'N,FTM@W[uYl#]4&5EYrRb=C&'=8H^3GO:W81+ccM9_c9q\pSjACYm=k<82sl4WZ
|
||||
cZ&bk^KB-=FX6$(%2#mL[Oub48n6JMp2OuH-b/.D82gh%QlUu8X$#6^[n7<U$-"S
|
||||
`mue]i$<?2Dj>*@4htEj0!G%D7_N&K7CZaoqXZ_F]-#,sN.47na'nqbrW:B:l6k^
|
||||
c"*b(A6a-mjIu2u1jk2p-SQ6(Foa$KM**>(:FO)-k$.4OeT@K#(GN.23l$0P3@q6
|
||||
=Ym"YTt:Fu#6=HFnXp&6aU*oo;N!P*bK)9t"iJ3=)_+Btlp.-)36bfTLpp_i-li8
|
||||
R=Kh6W."b?g/Zfq)/m:nUR)TB[,9_uf5?hsk5s^U/;F(c>+b9YWA;FW'n34Mr1fV
|
||||
"$VV*e0"_EJ3AE2HP99g<&OFBE%&]1ZBCujCLhEbb*\LhYQ:-KX4%QY5"95GJsL]
|
||||
2F*n)#MLd;i@"1l.UN;QmpTUJWC',FY^d3@=9I4nChSSSao&r+)hErrCrl@V7<2J
|
||||
%d)%g;SGrSOJl[16nReD><VWlDG<%n"C_qCK1J,BsR=bgk;>=YCJE=]E),SRqLZu
|
||||
24n&nDBnZ)INk8'nWmJ`Et4\cC\,["oDoO@"ohs]>Q2ZEbT=/pZI"rT$#2h+I@:V
|
||||
Zcrg[@AZ"TB$XF8d&;4<h6>oRdb!j+BD_T40HY0.5a4(bQ^*TlKFsjM2@'&bmKtW
|
||||
II3HJ6n37!'-ZG=!+.mCu6YGW(3"8],LG'Qgm-CGsAURY4J;N(*V(G^UjT"S>C$f
|
||||
M<Q7lA$0@MLEFmL"9*+bm6LZ6`KrC:+-i>24?P0#B+!d6-bZ5JE(qY8FS]PO.!(%
|
||||
=X8&sB-TV2,N<mnICk=R45(igh`V6uL82-&75AfP<)J"=A=[9Q25NHIW?4fBU>_D
|
||||
^Sd@9%g6M)o7kN.G*Rg_gVnL4NIi%-cB]SV]l1n\R!3XE;)[?0YGB2_N87s0jCcY
|
||||
V;/Z-Kq12@64Bb)a1SKEre_5F<&7-*Llf2[Ep*l<43:S<:&d"_h=Wi.%447E@u\8
|
||||
!/GNa-dUm!8/(DQi=Ej*uM2lM\IgW?2?NlWD1kaHOmL?:QCeuLuE(AZ+ulYPd%rH
|
||||
_>Y,FZ$BYp&*1q8(;W5ALcT/kN4Tet5H?T!]]O\ZD/J>EU0.Y[%%i9qU[Vi%a^u+
|
||||
I+W4@Al.nVp=F:P8Iq$4R%YO;-=?G./Q723#IjL%0+!LPPJ.'@enj'JuI(Li;j9O
|
||||
\m:pQXZDsj+"XrTXblXOq@nE@)[f9cA:D`RcV/.^0)cSc"SjZaTeRCN$5*KOkEl5
|
||||
'YL0kfALngV9i7klu+A^Sg@++$KBQ_2,t@$dqcA9CWU8bHNL,7^rJ)qZ]Wg-4p2U
|
||||
`&;:9VVZ[YhsU&U^%.Irr<-(+N/)Yqr.da2-KqZ80"hGLkVk8Jo*4@f2-r1p^#?;
|
||||
#lN!#\LMX2AaE/do+S^T1,RoEc4555aS>ro*&e^CZELoOf,47J)PeUOqFPS/g]@#
|
||||
9%Q%mSXhR`J(8eq)cs32sR*Zo$q7bqYXrjVc1ag^SCQH+^BIL^2(.O[?ZAuF9,>;
|
||||
Y=I\M$.IK':*)n<R./3<cOB\<8/?1dk:7Z*-V_s&p1mGc;+EaR$n5IOq#i-1/R"!
|
||||
N^aO>^FC^lUIuQS@2h4ZEj9]IX'^RkP`"?a0Om*(teD`K^pg7RZ//7N6em_/@`s9
|
||||
'eZ&J!hj5Z@;V!&HV;bIa0;AQ\Reh,Y7"k*;uNuLT$m\R?#7SaBhPIilaG-dls(+
|
||||
l+ip3aeWl"^R<+F*Ec"G5F;$rQVPlLE,f0]pML,<FUiEb51US60-?];(GgFO7\D%
|
||||
mc@XknVN*$1i"CUi+c&EH3W%&9kDY!u<dRY=$gEK/%^eO?NlF.l&%c:kNj\`r\5U
|
||||
J0jfg04>s?8jJ-"4cHV55!0.R%L*q>aBcS?Mnko6V2<Kb?aLopt2rb7M(82+08f_
|
||||
\f]9RVajWr5bUo+h_,%iW?E[=8cFc*73JWAYO'n>GCT_j&H]Ld6.d(3"CD49#9sP
|
||||
PDHD62-g_+'FQ.1#`78-oWj'@Se\0[$f@7H1!o2D/G'V:19[(IE]UKFhR0U9#k)Z
|
||||
Rqs1Rf6esYGTf%(ab;X%nN<5G2a-bI1\N,]++5[f0@r#/+'ID@fRi']K#eJ9M5IJ
|
||||
"_822F"C#HZ&<@?/]INAo=7DgnGg?;)d!lucFS]>(keOWV.n9O=G*e;>[L%e$AN:
|
||||
1tm;Tg)fYI`[R;]V`UASWs'$<*AbWI2&1_\`_J(Z'>0ddRA!VWc"2]p1U_$>@gr8
|
||||
qNO`!kR>3'Z+R)=g%9$"[urBdUo6=Qs:#Hd5%RUGbJ/)#L-\%otc5p/o@%k;#%"f
|
||||
+hQ2D\FV$g9qfQm20j@fiABm23]h5_4PdYQC^V56_iCDrr=X.&^GmaN>N-q1<0Kh
|
||||
!6_sIj9Q-W_tpUWM>)dI%sngWYq*P5o&>*4o9NM[n,XG[/[KqZpL?e*U:.bjdlKI
|
||||
ZAiPk*2lkZY"T,LdJB,#8QG%1^"*S():NKqKF,0$3(l]J,H'<fZ^KUf6oh:kR"<R
|
||||
;<6K>%4:c3?,8cn7[Erf)j7=sS'Y)9?F>o#drGaB>3j@Qn`j/,ao$-ca=+bN96A_
|
||||
sHe!-tY.&\s;b`XG#,\V7SUY[N.A$&[AkBp'^8$h^#uRDrY/*,9u(2lB>&mKeZT%
|
||||
A;uMVC)S87S`:+4ps$N3LA1Y+%AN4AFlnDb\r8$Elb7@F80j_M>0=+/.(``^Lh4'
|
||||
EqoOQ\f'bhEnpXF2e9LlikrOn%#F"TnRJgnb7E:1i=@a5'17-GOKa?9;>85NjY#5
|
||||
9ZNs:,,Asbk76m9Wj_V)g]P@@5N3?oCfVIu+cg`Xr43%898H/ZSej5]kO^G^?`eQ
|
||||
eeP4LDZ:k*Z1TJ(YRrfV<*]40Y>91LB8H6bo()PTcG=%bA#aSu5q"cjTR]&fO>io
|
||||
PSn_/d8f]3ok*9<$Csak_p6?D:?6gb\lNjU+4lgiJR:]H2p6@!S*TE'R"VP]GFq0
|
||||
<Be2(1+).(7%5$193LX3bHG<Rm8YunW\H27KnNi((mE!40[q9ZqkLS(t=#$!\:Q[
|
||||
2mBR^6_:b&SdYj<].hkraMk]^H^%YAmNFf(aOL`fTRGlpL)G+hjbKAbN=%[(4#R^
|
||||
[rC;lgnbJ$=D2SM8OlV+6c=7hKR2_[1Q32+#RON+VR*?'$Iu?C=1erMC1A1R^NZ@
|
||||
;5M8Uo$_FG&/O!1ak?`>PoeW]-3G^\ZmkPWsZ\igenC8fgJa8CBaTMGR(Qm8if;>
|
||||
gL$_&,/roU7_g6,%d8$%##=!"`VU\t3%V>R?G.U-om[$S0YG^D76iXT[U`GXI44/
|
||||
0:hDOBumNK^Pr.Lfr7VC59H4'CUiQ($B%CH^JJ57n>d^#6f\6pR:"cEP7T[>:02M
|
||||
E0ac9384PXg=Pn4SDNt"G:uY*;c_'Q`3ZHFd*-c;OF'U4D,H\Jel1?C-"-.\YIrf
|
||||
@85h%0U,NK``aBd[O#;R6*Mm`W[5/HO*J(N.,@UGEfZaehB_.'dJk'oHnsUC97IC
|
||||
l^N+F&XOb%oZQuSOL/^,_?pWON405Cq@Uu?mag;;AOe-D0nj!28XrTr[lg(H@mA\
|
||||
@ppDT@_N&j-]PZ9.oHcCQom-H_\PpDCchrjWH[H*J7jY3Y:Xj5+&r+Pi%']-h#^1
|
||||
DUT$LY]JK6L,aj*X-)[?Iaaji<,p:$]b!e=kaE=83PmM4eNCRJ@ULZ?RQ"@0r*jM
|
||||
,9rda2W&`h7L'&iOI!sk@n]5WfUCg9E?oYKa@!b6V,p"%KGnI<l`Zsc[H]=`UJs)
|
||||
=#@nfC=EGqqUcO>ZOW9kMH)/=>%j^(o3"`T1FHFDC+mWsm3Gt">RiY,<F`%>:NZr
|
||||
<DNDYdTIAY[q+IJ_W;P<*<ZCa.>&0<cc-M!.g+_&@,CWUi=[,PlVS/H<Y`IZA];D
|
||||
!/M=[dMg:pSEo6D#LYn8n@i)<^VO*NU$$(48GK(22@fON7nh9qXYNN`bPbOu3!?3
|
||||
D.-.Rnf=a\5pE#qnP69Cs9$7N&E4qd1+*$"AFC1b:Aa$h$.lS@*0iV:D+]Tls^A9
|
||||
im"c]b"Bgb-UN4na&p^1S_e,q+17@c#$8^#,?#.d7TU4.mUH8SZ"Z2)hVjXlJS1O
|
||||
9,IgiN[]_BF)_mMkoS88E8J0C#9que4GfE;CC"^%_?BB'2A84bI6Y>.%R'lDH%,n
|
||||
H1b%8n>`+?#q_]laAJ%-M'hP:Z/l-(Eq#E,oX*:1nX%oTp`hE0(D=g!Rs@6cRFMj
|
||||
'.Q4'u[FT^n^_I=`RjrBGW7K84V`^@1nhA^@^o9G?6O%LXYr?Ls/2A8#XZ3l_Pm6
|
||||
*^^17S$@p7tG&c9l\?i^i2eP06ail"A]^ZUPVQP%I@S[DSZAJ0MN%TSrRrEE]^T-
|
||||
en8GmFh.!`De*RhUP4oDkS>mdm0qttCmJbYh)re31Z`B*>2ck$[@,`#UEPC582s3
|
||||
[gkD';<oac(mEL9(?/l?b<d(!rE^K1rild&V,[C,_3sn="(O@dO?7C#PV^.dGjRH
|
||||
kFrT*;^n?L\9i[c$\`#LagB63pPNjE&2oD'S0iK_5)R-X^q[8-:EEf\B\0OJUG@S
|
||||
Y$fK5Il9!?"FkZ'^MR9RTss,P3T%oIV\JFOi5Omq$WOV3``g2GR\OLsc?FN4+`,S
|
||||
Hr-6/V?b`K*W->3!aOB=G4.lh'8/d]`@d-#37q1@oC+oRk%&C>a?]A/?We`R)Hk_
|
||||
H%<[la15m?dh"RV4*j75gVnh.$TR!?k"g"pQK@HM)m"nY4YJ5A]*Rb*hC%kI$U4V
|
||||
PE^R_c6`bR#iF3?<5&ss@G!g.UK\Gt(0.TKrQcQ3p/SI/<Gs'0G5R2qg%rt;qd?k
|
||||
#Z6+/@>J^c$q]\pH?ADr)mk[%/0a%W9;39CJ[*:n-nDm,q2CRiAI]*@S1lEQ[[1k
|
||||
?Tm"/0/Qe3dWJV?%h"*qG%ebdeZ!B,HHAb;ja"#lrVLQKZl`@`^'ejg2sLT?Wbp0
|
||||
c3Y,N*/\3+WY%F#hggs!qC.s%Eff#4#6/u>cl=?LMoEf_@D_L[%DA.T49q0HO)A-
|
||||
jphs]A@+Sg/RFJGL'UFZ0TM@8(OH6npo^cG<A-$8g#YN<LI+#.ZT48%G(n.kWljE
|
||||
V&G$/i"L''2+b]RIi5Yj%L3j\1]LH#"M)ZWeL*Zn5eg"1FBbq@gM^K&?=;mh<0S(
|
||||
(p1:jis*[&tg((3%i[nIi:lOAuH7BA[M)bi5J<SeLY0oX2,38R%ENDckU5Rt(/S)
|
||||
5mUeEnUpMnrr`?V"D@>L'i`**sKZZ6W/u`LkqGjc/gC]&2F*,;#41+b=-gL_)Y%(
|
||||
BIdL\gP^(Oa(AX'Ae#QkOhfiWI$NEnEjWT/&@,kFq/$P+)1`T=un;;+oqbR^q^s&
|
||||
UDRgKXY&S\F:`8SQAZhO,"T4qiVB!fM3!rFiP8*:8SJCY6L>@:0a8d<b/lM"O>X=
|
||||
s$4q";OKo("/P?r(Daq#mQ?Hh,hC6+A_\c^1?-;ba=CZ&l,S4d]bh</4ag5X:"Xf
|
||||
3^A\@?QY0DRBSUoY]oG$.PUKQCK&LZ<N@*B[.BodFM+a2]Il5?VnYS%9+=Bf"+_.
|
||||
Up9b],M=`KoPYfo1>,)AYT[Jg53IKCa4XEs]Hdjt,1\?>Zj5Ha'X1O/i8r=nd-;F
|
||||
"&]R3C$4b/m&k4KHu=g=erI;]e22_`,BaS`Ne[M'70t".UiWBK/@P_Qu"=c5X(e!
|
||||
(hc[9JBX"8ilJIp@>uC>3]E3&3KcfNc5u.Q0%MVAbVi4h(-\Pj$4W:+G;)aJb[$g
|
||||
C52LihT%:!Fa?n6bOkU$'OlmJh?aZQWp4J<\oSF@$Qlbr[D3I:dZ.oj`=C<\D'$9
|
||||
@Zkn"@`AdG*O'-N^>Z_L`#/M"[Ah)D2uL]e"mja5PlQ5@'Y3D(D(nf5h.bKaLeR$
|
||||
'iqI1:mt*Eu%u@Bsse(>G!W5dKbp?C,5Sg;62olL7F^*5V%Dk'.h7n@dJu[qXbn2
|
||||
MNsbA)^J5p("%-3XkmQZ^l=`)+!@2Edq3X&%Y7K.rE;\K%a:M]*Oq8-$SuT+?#X[
|
||||
7.`0-M@0f;$k8D$pW7-rL_8+m2eP^$Eg;V3Tn;:Hb2!rFk/%34,kOO!kUrd8MF`=
|
||||
m1$D#A]eX/O@%MsBHqnu7=\u_(6'^TV6&T&t$,^mY%AkARVEUf2=J?Q;ZIpfkch3
|
||||
46.uKS.@MWLe(.:aR(bG[e0VDP0+a+V$`<j1e]ZdQU.2s6.=IrOsQ7b@o4TZSU>S
|
||||
a2>*_R'FTkWEsd;dC!lYGf7Ca$!_AG$8I@5+LiH5Xu=G%Y_[bhaNMc=fTRH,c-ZU
|
||||
e)?1;cY"p,a-Zhjuh9DXGQ/b#M$-50tl_Y$/.`q[?e;I+DS$NT@Y2<3XEYAlOX$t
|
||||
#=)Et-@;CK);-s5:`Mq?-Sq*f(mr7):+V*LdT+`;]n=RI_SU=4UGK".3+E`J''<5
|
||||
2g!,Ej4U*(neM03IL3F:a6U%9p$(6D]8#$==`UkOKY$cO60``F0Npp6uM)i69)lE
|
||||
,W9r9k^nWra*nU+&u:\F_f=R[LB6Sk=\R)aOpR3DS1!7<L/CsVm-ALeLpJh%.q[r
|
||||
mLd;QV/Z6jJ3/!U'tU"LG;)K0H%bX>l$6=nM)T:=,P]^p=rq$UdM33.47%bD%d.e
|
||||
nLE6jK^[HcH/U.iNgTLS(KJfC2G+%Hs[HiBlZ:.\cMkr/t#CF(="l2(@;B:-,fY=
|
||||
_YP[,3-gd.9Y"Z7c)b_eAuAPkB?mrif\liV2"[3^TL-I<$1o*'"sAL/iKU)DkT!?
|
||||
/L/<Ph;RSqD^hb16Q5J>IW&CVcP0",b2\o:^\Jm)ochM6HF8Y$,IX9rsbf*\>TV:
|
||||
RZ43++*ELP90R'U5oVe98=N4(a8H8C*!DJM1dd*W\5+Nuu"$Sn$6AXP)8&B!c??"
|
||||
+k/Af:4_5tX"t@fm@MB$'>[LY(*bMnqBu8B5s+L3c6D%.!+(5JuOVoR2WRQdL^a+
|
||||
U$n=_SKk+R[I7odbE4RdVP5pjbRJu0PrjGKn'A`_&HZm`-QY90WPI5H3^,#co,_:
|
||||
&:]M5b!n/h)27_eN';i"R.N+mR:2^k=gZ/&36cjPH:XWh2@Bi/eHTVK3Ia#Xrgf*
|
||||
<',m`'`![4S)q]s0EB/=Lf%)%`_-e""LHl0s&LH#cZajlaA,L"hJh6p%La8CSc&Y
|
||||
B'4Ccti-0WS3Qm:,R3$jm8N7g>o8Rc2X6S-#cXcY#["NtE$?Q[5B]1>^l=`FaVYr
|
||||
YK^fW\O^Lr9E(*)7Vc_I0i1KgTF+;VTcJr@s3OJ;jk.d_Q&Vp]Mc+&"j1?kV54&3
|
||||
dM8RfJYt3#fGk7K/rQ>A>Ifb&E5i.B#]6,GpN"q'%oihkLr%EH:CT^r>]'.M\Do1
|
||||
ZQDko;Y<<!5oB5g_:R'V<Md7-fT5TRR)V=A&NpoRV(BJ"0Z6f@ZRiclf+j<$ZY%E
|
||||
9FV49"d>3r@b@n3(4U<Tb1[%V1TAhCDT">@EoDgFER7mG]I5<3jR&i+-&CTBge^r
|
||||
4aJ[=ND->]l[R.P#n@fg-G+G*1QoMUDe)4&RRQ`DR)+6!Dd5ma(X+7K\A4X#Z!*k
|
||||
%de`0*H'h]KcS5<X!@*eS-unMj*HJNfLBTa4*JJBkG(:INLdfh/]#cF_G2-g;4!@
|
||||
M'0o;Tu_mW-YEgc@2i?P#"t"+o_NNrr@Se,f`*"`J@[FCu]2;M4D[8W-hqnLU1S0
|
||||
AhiocR3jZ\![8b=0-j#0J1B=b69;/Xk%l*&5>+"b#U@^7H47*I=kEQOL7WrMPbMg
|
||||
<,a(_^:KB]uoPDDR+Wj6b;I4q<%*[EK*Ft?ga3V,;5<Wu^B$@]31$Z"hQHrlfKFq
|
||||
a=Y\./MFg-Dg6a""'H*[8MS0!iS:kE:'bd*O8FoMF]G*ki,Lgc..,_Z0tJH#Vm3:
|
||||
mI(0n_7Fl/]6=CO6(mK"$/]>TAq;O<N_?g+<ClJ8u`+45tHP_F].T!"e5hotfkEZ
|
||||
!tbRc_2XKU-]&RhUYtTYmD6FP,M/8UiOK%H4)Vd_#tre'$;D/T26H$(a15tUHXI,
|
||||
%@].-P"QjJ/6K1CRl5[o2K)b40YWYqRUJt.kg3_`'o<2QB3oQZ[$udM$#u1g0t!]
|
||||
ti"X@NoahG*RNL(tR4l]+d]mEZ^*gtmoYl_(4`fnO>,%+0,;X9(DsLkI]+_1Qb-(
|
||||
_qjTo]_H4>ZQO%#A[^4OD!og!9u5m><-^5RC#c'pLE=KrgcUD>CP-`1_5ob`*m'T
|
||||
uRhI3epqaH!&)KYW;&Xe9mg6eJX5>i9,#:1J5a;1"n4c1*g(no;!p-ZB"b($EoP:
|
||||
(8*qiPUE\]m9A4E'J,SLY<V>+(>-$bjh:+eg>]=eXpEh>LZPi;h<YqH[k)%KaJgP
|
||||
ZUBLq=O<]s!<3$%!.hsW$i2V$IZ2X"^]B"#$NC+r0VLge$5=mbTgskF<2`]fJ,@W
|
||||
&c'gO!.8m!/N>?2*@_;X?Kao*uYtWfM"mUU<(4`K?VK[/jirc^l]DpO~>
|
||||
%%EOF
|
BIN
Docs/source/ksfo.jpg
Normal file
After Width: | Height: | Size: 43 KiB |
878
Docs/source/landing.tex
Normal file
|
@ -0,0 +1,878 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: landing.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Landing: Some further thoughts before leaving the plane\label{landing}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markboth{\thechapter.\hspace*{1mm}
|
||||
LANDING}{\thesection\hspace*{1mm} THOSE, WHO DID THE WORK}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{A Sketch on the \Index{History} of \FlightGear{}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
History may be a boring subject. However, from time to time there are people asking for the history of \FlightGear{}. As a result, we'll give a short outline.
|
||||
|
||||
The \FlightGear{} project goes back to a discussion among a group of net citizens in 1996 resulting in a proposal written by David Murr\index{Murr, David} who, unfortunately, dropped out of the project (as well as the net) later. The original \Index{proposal} is still available
|
||||
from the \FlightGear{} web site and can be found under
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/proposal-3.0.1}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Although the names of the people and several of the details have changed over time,
|
||||
the spirit of that proposal has clearly been retained up to the present time.
|
||||
|
||||
Actual coding started in the summer of 1996 and by the end of that year essential
|
||||
graphics routines were completed. At that time, programming was mainly performed and
|
||||
coordinated by Eric Korpela\index{Korpela, Eric} from Berkeley University. Early code ran
|
||||
under \Index{Linux} as well as under \Index{DOS}, \Index{OS/2}, \Index{Windows 95/NT},
|
||||
and \Index{Sun-OS}. This was found to be quite an ambitious project as it involved, among
|
||||
other things, writing all the \Index{graphics routines} in a system-independent way
|
||||
entirely from scratch.
|
||||
|
||||
Development slowed and finally stopped in the beginning of 1997 when Eric was completing
|
||||
his thesis. At this point, the project seemed to be dead and traffic on the mailing list
|
||||
went down to nearly nothing.
|
||||
|
||||
It was Curt Olson\index{Olson, Curt} from the University of Minnesota who re-launched the
|
||||
project in the middle of 1997. His idea was as simple as it was powerful: Why invent the
|
||||
wheel a second time? There have been several free flight simulators\index{Flight
|
||||
simulator!free} available running on \Index{workstation}s under different flavors of
|
||||
\Index{UNIX}. One of these, \Index{LaRCsim} (developed by Bruce Jackson\index{Jackson,
|
||||
Bruce} from NASA), seemed to be well suited to the approach. Curt took this one apart and
|
||||
re-wrote several of the routines such as to make them build as well as run on the
|
||||
intended target platforms. The key idea in doing so was to exploit a system-independent
|
||||
graphics platform: \Index{OpenGL}.
|
||||
|
||||
In addition, a clever decision on the selection of the basic \Index{scenery}
|
||||
data was made in the very first version. \FlightGear{} scenery is created
|
||||
based on satellite data published by the \Index{U.\,S. Geological Survey}.
|
||||
These terrain data are available from
|
||||
\medskip
|
||||
|
||||
\href{http://edc.usgs.gov/geodata/}{http://edc.usgs.gov/geodata/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
for the U.S., and
|
||||
\medskip
|
||||
|
||||
\href{http://edcdaac.usgs.gov/gtopo30/gtopo30.html}{http://edcdaac.usgs.gov/gtopo30/gtopo30.html},
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
resp., for other countries. Those freely accessible scenery data, in
|
||||
conjunction with scenery building tools included with
|
||||
\FlightGear{}$\!$, are an important feature enabling anyone to
|
||||
create his or her own scenery.
|
||||
|
||||
This new \FlightGear{} code - still largely being based on the original \Index{LaRCsim}
|
||||
code - was released in July 1997. From that moment the project gained momentum again.
|
||||
Here are some milestones in the more recent development history.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% List of Development %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%Scenery%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Scenery}\index{history!scenery}
|
||||
\begin{itemize}
|
||||
\item Texture support\index{textures} was added by Curt
|
||||
Olson\index{Olson, Curt} in spring 1998. This marked a significant improvement in terms of reality. Some high-quality \Index{textures} were submitted by Eric Mitchell\index{Mitchell, Eric} for the \FlightGear{} project. Another set of high-quality textures was added by Erik Hofman\index{Hofman, Erik} in summer 2002.
|
||||
\item After improving the \Index{scenery} and \Index{texture} support frame rate\index{frame rate} dropped down to a point where \FlightGear{} became unflyable in spring 1998. This issue was resolved by exploiting hardware \Index{OpenGL} support, which became available at that time, and implementing \Index{view frustrum culling} (a rendering technique that ignores the
|
||||
part of the scenery not visible in a scene), done by Curt Olson\index{Olson, Curt}.
|
||||
With respect to \Index{frame rate} one should keep in mind that the code, at present, is in no way optimized, which leaves room for further improvements.
|
||||
\item In September 1998 Curt Olson\index{Olson, Curt} succeeded in creating a complete terrain model for the U.S. The scenery is available worldwide now, via a clickable map \index{map, clickable} at:
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Downloads/world-scenery.html}.
|
||||
\medskip
|
||||
|
||||
\item Scenery\index{scenery} was further improved by adding \Index{geographic features} including lakes, rivers,and coastlines later, an effort still going on. Textured runways were added by Dave Cornish\index{Cornish, Dave} in spring 2001. Light textures\index{light textures} add to the visual impression at night. To cope with the constant growth of scenery data, a binary scenery format was introduced in spring 2001. Runway lighting\index{runway lighting} was introduced by Curt Olson\index{Olson, Curt} in spring 2001. Finally, a completely new set of \Index{scenery} files for the whole world was created by William Riley\index{Riley, William} based on preparatory documentation by David Megginson\index{Megginson, David} in summer 2002. This is based on a data set called VMap0\index{VMap0 data} as an alternative to the \Index{GSHHS data} used so far. This scenery is a big improvement as it has world wide coverage of main streets, rivers, etc., while it's downside are much less accurate coast lines. \FlightGear{}'s base scenery is based on these new scenery files since summer 2002. The complete set is available via a clickable map,\index{map, clickable} too, from
|
||||
\medskip
|
||||
|
||||
\web{http://www.randdtechnologies.com/fgfs/newScenery/world-scenery.html}.
|
||||
\medskip
|
||||
\item There was support added for \Index{static objects} to the scenery in 2001, which permits placing buildings, static planes, trees and so on in the scenery. However, despite a few proofs of concept systematic inclusion of these landmarks is still missing.
|
||||
\item The world is populated with \Index{random ground objects} with appropriate type and density for the local ground cover type since summer 2002. This marks a mayor improvement of reality and is mainly thanks to work by D. Megginson\index{Megginson, David}.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%Aircraft%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Aircraft}\index{history!aircraft}
|
||||
\begin{itemize}
|
||||
\item A \Index{HUD} (\Index{head up display}) was added based on code
|
||||
provided by Michele America\index{America, Michele} and Charlie Hotch\-kiss\index{Hotchkiss, Charlie} in the fall of 1997 and was improved later by Norman Vine. While not generally available for real \Index{Cessna 172}, the HUD conveniently reports the actual flight performance of the simulation and may be of further use in military jets later.
|
||||
\item A rudimentary \Index{autopilot} implementing heading hold was
|
||||
contributed by Jeff Goeke-Smith\index{Goeke-Smith, Jeff} in April 1998. It was improved
|
||||
by the addition of an altitude hold and a terrain following switch in October 1998 and
|
||||
further developed by Norman Vine\index{Vine, Norman} later.
|
||||
\item Friedemann Reinhard \index{Reinhard, Friedemann} developed early \Index{instrument panel} code, which was added in June 1998. Unfortunately, development of that panel slowed down later. Finally, David Megginson \index{Megginson, David} decided to rebuild the panel code from scratch in January 2000. This led to a rapid addition of new instruments and features to the panel, resulting in nearly all main instruments being included until spring 2001. A handy minipanel was added in summer 2001.
|
||||
\item Finally, \Index{LaRCsim}s \Index{Navion} was replaced as the default aircraft
|
||||
when the \Index{Cessna 172} was stable enough in February 2000 - as move most users will welcome. There are now several \Index{flight model} and airplane options to choose from at runtime. Jon Berndt\index{Berndt, Jon, S.} has invested a lot of time in a more
|
||||
realistic and versatile flight model with a more powerful aircraft configuration method.
|
||||
\JSBSim, as it has come to be called, did replace LaRCsim as the default
|
||||
\Index{flight dynamics model} (\Index{FDM}), and it is planned to include such features as fuel slosh effects, turbulence, complete flight control systems, and other features not often found
|
||||
all together in a flight simulator. As an alternative, Andy Ross\index{Ross, Andy} added another flight dynamics model called \YASim{} (Yet Another Flight Dynamics Simulator) which aims at simplicity of use and is based on fluid dynamics, by the end of 2001. This one bought us flight models for a 747, an A4, and a DC-3. Alternatively, a group around Michael Selig\index{Selig, Michael} from the \Index{UIUC} group provided another flight model along with several planes since around 2000.
|
||||
\item A fully operational \Index{radio stack} and working radios were added to the panel by Curt Olson\index{Olson, Curt} in spring 2000. A huge database of Navaids contributed by Robin
|
||||
Peel\index{Peel, Robin} allows IFR navigation since then. There was basic \Index{ATC} support added in fall 2001 by David Luff\index{Luff, David}. This is not yet fully implemented, but displaying \Index{ATIS messages} is already possible. A \Index{magneto switch} with proper functions was added at the end of 2001 by John Check\index{Check, John} and David Megginson.\index{Megginson, David}. Moreover, several panels were continually improved during 2001 and 2002 by John and others. \FlightGear{} now allows flying ILS approaches and features a \Index{Bendix transponder}.
|
||||
\item In 2002 functional \Index{multi-engine support} found it's way into
|
||||
\FlightGear{}. \JSBSim{} is now the default FDM in \FlightGear{}.
|
||||
\item Support of ''true'' \Index{3D panels} became stable via contributions from John Check\index{Check, John} and others in spring 2002. In addition, we got movable control surfaces\index{control surface, movable} like propellers etc., thanks to David Megginson.\index{Megginson, David}
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%Environment%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Environment}\index{history!environment}
|
||||
\begin{itemize}
|
||||
\item The display of sun, moon and stars have been a weak point for PC flight simulators
|
||||
for a long time. It is one of the great achievements of \FlightGear{} to include accurate modeling and display of sun, moon, and planets very early. The corresponding \Index{astronomy code} was implemented in fall 1997 by Durk Talsma\index{Talsma, Durk}.
|
||||
\item Christian Mayer, \index{Mayer, Christian} together with Durk Talsma,\index{Talsma, Durk}
|
||||
contributed weather code in the winter of 1999. This included \Index{clouds}, \Index{winds}, and even \Index{thunderstorms}.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%User Interface%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{User Interface}\index{history!user interface}
|
||||
\begin{itemize}
|
||||
\item The foundation for a menu system\index{menu} was laid based on another library,
|
||||
the Portable Library \PLIB\index{PLIB}, in June 1998. After having been idle for a time, the first working menu entries came to life in spring 1999.
|
||||
|
||||
\PLIB{} underwent rapid development later. It has been distributed as a separate package by
|
||||
Steve Baker\index{Baker, Steve} with a much broader range of applications in mind, since spring 1999. It has provided the basic graphics rendering engine for \FlightGear{} since fall 1999.
|
||||
\item In 1998 there was basic \Index{audio support}, i.\,e. an audio library
|
||||
and some basic background engine sound. This was later integrated into the
|
||||
above-mentioned portable library, \PLIB\index{PLIB}. This same library was extended to
|
||||
support joystick/yoke/rudder\index{joystick} in October 1999, again marking a huge step
|
||||
in terms of realism. To adapt on different joystick, configuration options were
|
||||
introduced in fall 2000. Joystick support was further improved by adding a self detection\index{joystick/self detection} feature based on xml joystick files, by David Megginson\index{Megginson, David} in summer 2002.
|
||||
\item Networking/multiplayer\index{networking code}\index{multiplayer code}
|
||||
code has been integrated by Oliver Delise \index{Delise, Oliver} and Curt
|
||||
Olson\index{Olson, Curt} starting fall 1999. This effort is aimed at enabling
|
||||
\FlightGear{} to run concurrently on several machines over a \Index{network}, either an Intranet or the \Index{Internet}, coupling it to a \Index{flight planner} running on a second
|
||||
machine, and more. There emerged several approaches for remotely controlling \FlightGear{} over a Network during 2001. Notably there was added support for the ''Atlas''\index{Atlas} moving map program. Besides, an embedded \Index{HTTP server} developed by Curt Olson\index{Olson, Curt} late in 2001 can now act a \Index{property manager} for external programs.
|
||||
\item Manually changing \Index{views} in a flight simulator is in a sense always ''unreal'' but
|
||||
nonetheless required in certain situations. A possible solution was supplied by Norman
|
||||
Vine\index{Vine, Norman} in the winter of 1999 by implementing code for changing views
|
||||
using the mouse. Alternatively, you can use a hat switch for this purpose, today.
|
||||
\item A \Index{property manager} was implemented by David Megginson\index{Megginson, David} in
|
||||
fall 2000. It allows parsing a file called \texttt{.fgfsrc}\index{.fgfsrc} under
|
||||
UNIX/Linux and \texttt{system.fgfsrc}\index{system.fgfsrc} under Windows for input
|
||||
options. This plain ASCII file has proven useful in submitting the growing number of
|
||||
input options, and notably the \Index{joystick settings}. This has shown to be a useful
|
||||
concept, and joystick, keyboard, and panel settings are no longer hard coded but set
|
||||
using *.xml files since spring 2001 thanks to work mainly by David Megginson and John
|
||||
Check.\index{Check, John}
|
||||
\end{itemize}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End List of Development %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
During development there were several code reorganization efforts. Various code
|
||||
subsystems were moved into packages. As a result, code is organized as follows at present:
|
||||
\medskip
|
||||
|
||||
The base of the graphics engine is \textbf{\Index{OpenGL}}, a platform independent
|
||||
graphics library. Based on \Index{OpenGL}, the Portable Library \PLIB{}\index{PLIB}
|
||||
provides basic rendering, audio, joystick etc. routines. Based on \PLIB\index{PLIB} is
|
||||
\SimGear{}\index{SimGear}, which includes all of the basic routines required for the
|
||||
flight simulator as well as for building scenery. On top of \SimGear{}\index{SimGear}
|
||||
there are (i) \FlightGear{}\index{FlightGear} (the simulator itself), and (ii)
|
||||
\TerraGear{}\index{TerraGear}, which comprises the scenery building tools.
|
||||
|
||||
This is by no means an exhaustive history and most likely some people who have made
|
||||
important contributions have been left out. Besides the above-named contributions there
|
||||
was a lot of work done concerning the internal structure by: Jon S. Berndt\index{Berndt,
|
||||
Jon, S.}, Oliver Delise, \index{Delise, Oliver} Christian Mayer, \index{Mayer, Christian}
|
||||
Curt Olson,\index{Olson, Curt} Tony Peden, \index{Peden, Tony} Gary R. Van
|
||||
Sickle\index{van Sickle, Gary, R.}, Norman Vine\index{Vine, Norman}, and others. A more
|
||||
comprehensive list of contributors can be found in Chapter \ref{landing} as well as in
|
||||
the \texttt{Thanks} file provided with the code. Also, the \FlightGear{}
|
||||
Website\index{FlightGear Website} contains a detailed history worth reading of all of the
|
||||
notable development milestones at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/News/}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Those, who did the work}\index{contributors}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Did you enjoy the flight? In case you did, don't forget those who devoted hundreds of
|
||||
hours to that project. All of this work is done on a voluntary basis within spare time,
|
||||
thus bare with the \Index{programmers} in case something does not work the way you want
|
||||
it to. Instead, sit down and write them a kind (!) mail proposing what to change.
|
||||
Alternatively, you can subscribe to the \FlightGear{} \Index{mailing lists} and
|
||||
contribute your thoughts there. Instructions to do so can be found at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/mail.html}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Essentially there are two lists, one of which being mainly for the developers
|
||||
and the other one for end users. Besides, there is a very low-traffic list for
|
||||
announcements.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
The following names the people who did the job (this information was essentially taken
|
||||
from the file \texttt{Thanks} accompanying the code).
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{A1 Free Sounds}\index{A1 Free Sounds} (\mail{techie@mail.ev1.net})\\
|
||||
Granted permission for the \FlightGear{} project to use some of the sound effects from their
|
||||
site. Homepage under
|
||||
\medskip
|
||||
|
||||
\href{http://www.a1freesoundeffects.com/}{http://www.a1freesoundeffects.com/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Raul Alonzo}\index{Alonzo, Raul} (\mail{amil@las.es})\\
|
||||
Mr. Alonzo is the
|
||||
author of Ssystem and provided his kind permission for using the moon texture.
|
||||
Parts of his code were used as a template when adding the texture.
|
||||
Ssystem Homepage can be found at:
|
||||
\medskip
|
||||
|
||||
\href{http://www1.las.es/~amil/ssystem/}{http://www1.las.es/$\tilde{~~}$amil/ssystem/}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Michele America}\index{America, Michele}
|
||||
(\mail{nomimarketing@mail.telepac.pt})\\
|
||||
Contributed to the \Index{HUD} code.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Michael Basler}\index{Basler, Michael} (\mail{pmb@epost.de})\\
|
||||
Author of Installation and Getting Started. Flight Simulation Page at
|
||||
\medskip
|
||||
|
||||
\web{http://www.geocities.com/pmb.geo/flusi.htm}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Jon S. Berndt}\index{Berndt, Jon, S.} (\mail{jsb@hal-pc.org})\\
|
||||
Working on a complete C++ rewrite/reimplimentation of the core \Index{FDM}.
|
||||
Initially he is using X15 data to test his code, but once things are
|
||||
all in place we should be able to simulate arbitrary aircraft. Jon
|
||||
maintains a page dealing with Flight Dynamics at:
|
||||
\medskip
|
||||
|
||||
\href{http://jsbsim.sourceforge.net/}{http://jsbsim.sourceforge.net/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Special attention to X15 is paid in separate pages on this site. Besides, Jon
|
||||
contributed via a lot of suggestions/corrections to this Guide.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Paul Bleisch}\index{Bleisch, Paul} (\mail{pbleisch@acm.org})\\
|
||||
Redid the debug system so that it would be much more
|
||||
flexible, so it could be easily disabled for production system, and
|
||||
so that messages for certain subsystems could be selectively
|
||||
enabled. Also contributed a first stab at a config file/command line parsing
|
||||
system.
|
||||
\medskip
|
||||
|
||||
|
||||
\noindent \textbf{Jim Brennan}\index{Brennan, Jim} (\mail{jjb@kingmont.com})\\
|
||||
Provided a big chunk of online space to store USA scenery for \FlightGear{}$\!$.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Bernie Bright}\index{Bright, Bernie}
|
||||
(\mail{bbright@bigpond.net.au})\\
|
||||
Many C++ style, usage, and implementation improvements, STL
|
||||
portability and much, much more.
|
||||
Added threading support and a threaded tile pager.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Bernhard H. Buckel}\index{Buckel, Bernhard}
|
||||
(\mail{buckel@mail.uni-wuerzburg.de})\\
|
||||
Contributed the README.Linux. Contributed several sections to earlier versions of
|
||||
Installation and Getting Started.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Gene Buckle}\index{Buckle, Gene} (\mail{geneb@deltasoft.com})\\
|
||||
A lot of work getting \FlightGear{} to compile with the \Index{MSVC}++
|
||||
compiler. Numerous hints on detailed improvements.
|
||||
\medskip
|
||||
|
||||
|
||||
\noindent \textbf{Ralph Carmichael}\index{Carmichael, Ralph} (\mail{ralph@pdas.com})\\
|
||||
Support of the project. The Public Domain Aeronautical Software web site at
|
||||
\medskip
|
||||
|
||||
\href{http://www.pdas.com/}{http://www.pdas.com/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
has the PDAS CD-ROM for sale containing great programs for astronautical engineers.
|
||||
|
||||
\noindent \textbf{Didier Chauveau}\index{Chauveau, Didier}
|
||||
(\mail{chauveau@math.univ-mlv.fr})\\
|
||||
Provided some initial code to parse the 30 arcsec DEM files found at:
|
||||
\medskip
|
||||
|
||||
\href{http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html}{http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{John Check}\index{Check, John} (\mail{j4strngs@rockfish.net})\\
|
||||
John maintains the base package CVS repository. He contributed cloud textures, wrote an excellent Joystick Howto as well as a panel Howto. Moreover, he contributed new instrument panel configurations. \FlightGear{}
|
||||
page at
|
||||
\medskip
|
||||
|
||||
\href{http://www.rockfish.net/fg/}{http://www.rockfish.net/fg/}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Dave Cornish}\index{Cornish, Dave} (\mail{dmc@halcyon.com})\\
|
||||
Dave created new cool runway textures plus some of our cloud textures.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Oliver Delise} \index{Delise, Oliver} (\mail{delise@mail.isis.de})\\
|
||||
Started a FAQ, Documentation, Public relations. Working on adding some
|
||||
networking/multi-user code.\index{networking code} Founder of the FlightGear MultiPilot
|
||||
Project at
|
||||
\medskip
|
||||
|
||||
\href{http://www.isis.de/members/~odelise/progs/flightgear/}{http://www.isis.de/members/$\tilde{~~}$odelise/progs/flightgear/}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Jean-Francois Doue}\index{Doue, Jean-Francois}\\
|
||||
Vector 2D, 3D, 4D and Matrix 3D and 4D inlined C++ classes. (Based on
|
||||
Graphics Gems IV, Ed. Paul S. Heckbert)
|
||||
\medskip
|
||||
|
||||
\href{http://www.animats.com/simpleppp/ftp/public_html/topics/developers.html}{http://www.animats.com/simpleppp/ftp/public\_html/topics/developers.html}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Dave Eberly} \index{Eberly, Dave} (\mail{eberly@magic-software.com})\\
|
||||
Contributed some sphere interpolation code used by Christian Mayer's
|
||||
weather data base system. On Dave's web site there are tons of
|
||||
really useful looking code at
|
||||
\medskip
|
||||
|
||||
\href{http://www.magic-software.com/}{http://www.magic-software.com/}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Francine Evans}\index{Evans, Francine} (\mail{evans@cs.sunysb.edu})
|
||||
Wrote the GPL'd tri-striper we use.
|
||||
\medskip
|
||||
|
||||
\href{http://www.cs.sunysb.edu/~stripe/}{http://www.cs.sunysb.edu/$\tilde{~~}$stripe/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Oscar Everitt}\index{Everitt, Oscar} (\mail{bigoc@premier.net})\\
|
||||
Created single engine piston engine sounds as part of an F4U package
|
||||
for \Index{FS98}. They are pretty cool and Oscar was happy to contribute
|
||||
them to our little project.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Bruce Finney}\index{Finney, Bruce} (\mail{bfinney@gte.net})\\
|
||||
Contributed patches for MSVC5 compatibility.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Melchior Franz}\index{Franz, Melchior} (\mail{a8603365@unet.univie.ac.at})\\
|
||||
Contributed joystick hat support, a LED font, improvements of the telnet and the http interface. Notable effort in hunting memory leaks in \FlightGear{}, \SimGear{}, and \JSBSim{}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Jean-loup Gailly}\index{Gailly, Jean-loup} and \textbf{Mark
|
||||
Adler}\index{Adler, Mark} (\mail{zlib@gzip.org})\\
|
||||
Authors of the \Index{zlib library}. Used for on-the-fly compression and
|
||||
decompression routines,
|
||||
|
||||
\href{http://www.gzip.org/zlib/}{http://www.gzip.org/zlib/}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Mohit Garg}\index{Garg, Mohit}
|
||||
(\href{mailto:theprotean_1@hotmail.com}{theprotean\_1@hotmail.com})\\
|
||||
Contributed to the manual.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Thomas Gellekum}\index{Gellekum, Thomas}
|
||||
(\mail{tg@ihf.rwth-aachen.de})\\
|
||||
Changes and updates for compiling on \Index{FreeBSD}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Neetha Girish}\index{Girish, Neetha}
|
||||
(\mail{neethagirish@usa.net})\\
|
||||
Contributed the changes for the xml configurable HUD.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Jeff Goeke-Smith}\index{Goeke-Smith, Jeff}
|
||||
(\mail{jgoeke@voyager.net})\\
|
||||
Contributed our first \Index{autopilot} (Heading Hold).
|
||||
Better autoconf check for external timezone/daylight variables.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Michael I. Gold}\index{Gold, Michael, I.}
|
||||
(\mail{gold@puck.asd.sgi.com})\\
|
||||
Patiently answered questions on \Index{OpenGL}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Habibe}\index{Habibe} (\mail{habibie@MailandNews.com})\\
|
||||
Made RedHat package building changes for SimGear.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Mike Hill}\index{Hill, Mike} (\mail{mikehill@flightsim.com})\\
|
||||
For allowing us to concert and use his wonderful planes, available form
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightsimnetwork.com/mikehill/home.htm},
|
||||
|
||||
\noindent
|
||||
for \FlightGear{}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Erik Hofman}\index{Hofman, Erik} (\mail{erik.hofman@a1.nl})\\
|
||||
Major overhaul and parameterization of the sound module to allow
|
||||
aircraft-specific sound configuration at runtime.
|
||||
Contributed SGI IRIX support and binaries.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Charlie Hotchkiss}\index{Hotchkiss, Charlie}
|
||||
(\mail{clhotch@pacbell.net})\\ Worked on improving and enhancing the \Index{HUD} code.
|
||||
Lots of code style tips and code tweaks.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Bruce Jackson}\index{Jackson, Bruce} (NASA)
|
||||
(\mail{e.b.jackson@larc.nasa.gov})
|
||||
\medskip
|
||||
|
||||
Developed the \Index{LaRCsim} code under funding by NASA which we use to provide the
|
||||
flight model. Bruce has patiently answered many, many questions.
|
||||
\medskip
|
||||
|
||||
\href{http://dcb.larc.nasa.gov/www/DCBStaff/ebj/ebj.html}{http://dcb.larc.nasa.gov/www/DCBStaff/ebj/ebj.html}
|
||||
\medskip
|
||||
|
||||
|
||||
\noindent \textbf{Ove Kaaven} \index{Kaaven, Ove} (\mail{ovek@arcticnet.no})\\
|
||||
Contributed the Debian binary.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Richard Kaszeta} \index{Kaszeta, Richard} (\mail{bofh@me.umn.edu})\\
|
||||
Contributed screen buffer to ppm screen shot routine.
|
||||
Also helped in the early development of the "altitude
|
||||
hold autopilot module"\index{autopilot} by teaching Curt Olson the basics of Control Theory
|
||||
and helping him code and debug early versions. Curt's ''Boss'' Bob Hain
|
||||
(\mail{bob@me.umn.edu}) also contributed to that. Further details available at:
|
||||
\medskip
|
||||
|
||||
\href{http://www.menet.umn.edu/~curt/fgfs/Docs/Autopilot/AltitudeHold/AltitudeHold.html}{http://www.menet.umn.edu/$\tilde{~~}$curt/fgfs/Docs/Autopilot/AltitudeHold/AltitudeHold.html}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Rich's Homepage is at
|
||||
\medskip
|
||||
|
||||
\href{http://www.kaszeta.org/rich/}{http://www.kaszeta.org/rich/}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Tom Knienieder}\index{Knienieder, Tom} (\mail{tom@knienieder.com})\\
|
||||
Ported the audio library\index{audio library} first to OpenBSD and IRIX and after that to Win32.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Reto Koradi}\index{Koradi, Reto} (\mail{kor@mol.biol.ethz.ch})
|
||||
\medskip
|
||||
|
||||
Helped with setting up \Index{fog effects}.
|
||||
\medskip
|
||||
|
||||
\href{http://www.mol.biol.ethz.ch/wuthrich/people/kor/}{http://www.mol.biol.ethz.ch/wuthrich/people/kor/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Bob Kuehne}\index{Kuehne, Bob} (\mail{rpk@who.net})\\
|
||||
Redid the Makefile system so it is simpler and more robust.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Kyler B Laird}\index{Laird, Kyler B.} (\mail{laird@ecn.purdue.edu})\\
|
||||
Contributed corrections to the manual.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{David Luff}\index{Luff, David} (\mail{david.luff@nottingham.ac.uk})\\
|
||||
Contributed heavily to the IO360 piston engine model.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Christian Mayer}\index{Mayer, Christian}
|
||||
(\mail{flightgear@christianmayer.de})\\
|
||||
Working on \Index{multi-lingual conversion tools} for fgfs as a demonstration of technology.
|
||||
Contributed code to read Microsoft Flight Simulator scenery textures. Christian is working on a completely new \Index{weather} subsystem.
|
||||
Donated a \Index{hot air balloon} to the project.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{David Megginson}\index{Megginson, David} (\mail{david@megginson.com})\\
|
||||
Contributed patches to allow mouse input to control view direction yoke.
|
||||
Contributed financially towards hard drive space for use by the
|
||||
flight gear project. Updates to README.running.
|
||||
Working on getting fgfs and ssg to work without textures.
|
||||
Also added the new 2-D panel and the save/load support.
|
||||
Further, he developed new \Index{panel} code, playing better with OpenGL, with new features.
|
||||
Developed the property manager and contributed to joystick support.
|
||||
Random ground cover objects
|
||||
\medskip
|
||||
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Cameron Moore}\index{Moore, Cameron}
|
||||
(\mail{cameron@unbeatenpath.net})\\
|
||||
FAQ maintainer. Reigning list administrator. Provided man pages.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Eric Mitchell}\index{Mitchell, Eric} (\mail{mitchell@mars.ark.com})\\
|
||||
Contributed some topnotch scenery \Index{textures} being all original creations by him.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Anders Morken}\index{Morken, Anders} (\mail{amrken@online.no})\\
|
||||
Former maintainer of European web pages.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Alan Murta}\index{Murta, Alan} (\mail{amurta@cs.man.ac.uk})
|
||||
\medskip
|
||||
|
||||
Created the Generic Polygon Clipping library.
|
||||
\medskip
|
||||
|
||||
\web{http://www.cs.man.ac.uk/aig/staff/alan/software/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Phil Nelson}\index{Nelson, Phil} (\mail{phil@cs.wwu.edu})\\
|
||||
Author of GNU dbm, a set of database routines that use extendible hashing and work
|
||||
similar to the standard UNIX dbm routines.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Alexei Novikov}\index{Novikov, Alexei}
|
||||
(\mail{anovikov@heron.itep.ru})\\
|
||||
Created European Scenery. Contributed a script to turn fgfs scenery into beautifully rendered
|
||||
2-D maps. Wrote a first draft of a Scenery Creation Howto.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Curt Olson}\index{Olson, Curt} (\mail{curt@flightgear.org})\\
|
||||
Primary organization of the project.\\
|
||||
First implementation and modifications based on \Index{LaRCsim}.\\
|
||||
Besides putting together all the pieces provided by others mainly concentrating on the \Index{scenery subsystem} as well as the graphics stuff. Homepage at
|
||||
|
||||
\href{http://www.menet.umn.edu/~curt/}{http://www.menet.umn.edu/$\tilde{~~}$curt/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Brian Paul}\index{Paul, Brian}\\
|
||||
We made use of his TR library and of course of Mesa:
|
||||
|
||||
\web{http://www.mesa3d.org/brianp/TR.html}, \web{http://www.mesa3d.org}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Tony Peden}\index{Peden, Tony} (\mail{apeden@earthlink.net})\\
|
||||
Contributions on flight model development, including a LaRCsim based
|
||||
Cessna 172. Contributed to {\JSBSim} the initial conditions code, a more complete
|
||||
standard atmosphere model, and other bugfixes/additions.
|
||||
His Flight Dynamics page can be found at:
|
||||
\medskip
|
||||
|
||||
\href{http://www.nwlink.com/~apeden}{http://www.nwlink.com/$\tilde{~~}$apeden/}.
|
||||
\medskip
|
||||
|
||||
|
||||
\noindent \textbf{Robin Peel}\index{Peel, Robin} (\mail{robin@cpwd.com})\\
|
||||
Maintains worldwide airport and runway database for \FlightGear{} as well as X-Plane.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Alex Perry}\index{Perry, Alex} (\mail{alex.perry@ieee.org})\\
|
||||
Contributed code to more accurately model VSI, DG, Altitude.
|
||||
Suggestions for improvements of the layout of the simulator on the mailing list
|
||||
and help on documentation.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Friedemann Reinhard}\index{Reinhard, Friedemann}
|
||||
(\mail{mpt218@faupt212.physik.uni-erlangen.de})\\
|
||||
Development of an early textured instrument \Index{panel}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Petter Reinholdtsen}\index{Reinholdtsen, Petter}
|
||||
(\mail{pere@games.no})\\
|
||||
Incorporated the GNU automake/autoconf system (with libtool).
|
||||
This should streamline and standardize the build process for all
|
||||
UNIX-like platforms. It should have little effect on IDE type
|
||||
environments since they don't use the UNIX make system.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{William Riley}\index{Riley, William} (\mail{riley@technologist.com})\\
|
||||
Contributed code to add ''\Index{brakes}''. Also wrote a patch to support a first joystick with more than 2 axis. Did the job to create scenery based on VMap0 data.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Andy Ross}\index{Ross, Andy} (\mail{andy@plausible.org})\\
|
||||
Contributed a new configurable FDM called \YASim{} (Yet Another Flight Dynamics Simulator, based on geometry information rather than aerodynamic coefficients.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Paul Schlyter}\index{Schlyter, Paul} (\mail{pausch@saaf.se})\\
|
||||
Provided Durk Talsma with all the information he needed to write the
|
||||
astro code. Mr. Schlyter is also willing to answer astro-related questions
|
||||
whenever one needs to.
|
||||
\medskip
|
||||
|
||||
\href{http://www.welcome.to/pausch/}{http://www.welcome.to/pausch/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Chris Schoeneman}\index{Schoenemann, Chris}
|
||||
(\mail{crs@millpond.engr.sgi.com})\\
|
||||
Contributed ideas on audio support.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Phil Schubert}\index{Schubert, Phil} (\mail{philip@zedley.com})\\
|
||||
Contributed various textures and engine modeling.
|
||||
\medskip
|
||||
|
||||
\href{http://www.zedley.com/Philip/}{http://www.zedley.com/Philip/}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Jonathan R. Shewchuk}\index{Shewchuk, Jonathan}
|
||||
(\mail{Jonathan\_R\_Shewchuk@ux4.sp.cs.cmu.edu})\\
|
||||
Author of the Triangle\index{triangle program} program. Triangle
|
||||
is used to calculate the Delauney triangulation of our irregular terrain.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Gordan Sikic}\index{Sikic, Gordan} (\mail{gsikic@public.srce.hr})\\
|
||||
Contributed a \Index{Cherokee flight model} for \Index{LaRCsim}. Currently is not
|
||||
working and needs to be debugged. Use configure
|
||||
\texttt{-$ $-with-flight-model=cherokee}
|
||||
to build the cherokee instead of the \Index{Cessna}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Michael Smith}\index{Smith, Michael} (\mail{msmith99@flash.net})\\
|
||||
Contributed cockpit graphics, 3-D models, logos, and other images.
|
||||
Project Bonanza
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Martin Spott}\index{Spott, Martin} (\mail{Martin.Spott@uni-duisburg.de})\\
|
||||
Co-Author of the ''Getting Started''.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Durk Talsma}\index{Talsma, Durk} (\mail{d.talsma@chello.nl})\\
|
||||
Accurate Sun, Moon, and Planets. Sun changes color based on
|
||||
position in sky. Moon has correct phase and blends well into the
|
||||
sky. Planets are correctly positioned and have proper magnitude. Help with time
|
||||
functions, GUI, and other things. Contributed 2-D cloud layer.\index{clouds} Website
|
||||
at
|
||||
\medskip
|
||||
|
||||
\href{http://people.a2000.nl/dtals/}{http://people.a2000.nl/dtals/}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{UIUC}\index{UIUC} - Department of Aeronautical and Astronautical
|
||||
Engineering\\
|
||||
Contributed modifications to LaRCsim to allow loading of aircraft
|
||||
parameters from a file. These modifications were made as part of an
|
||||
icing research project.
|
||||
\medskip
|
||||
|
||||
Those did the coding and made it all work:\\
|
||||
Jeff Scott \mail{jscott@students.uiuc.edu}\index{Scott, Jeff}\\
|
||||
Bipin Sehgal \mail{bsehgal@uiuc.edu}\index{Sehgal, Bipin}\\
|
||||
Michael Selig \mail{m-selig@uiuc.edu}\index{Selig, Michael}
|
||||
\medskip
|
||||
|
||||
Moreover, those helped to support the effort:\\
|
||||
Jay Thomas \mail{jthomas2@uiuc.edu}\index{Thomas, Jay}\\
|
||||
Eunice Lee \mail{ey-lee@students.uiuc.edu}\index{Lee, Eunice}\\
|
||||
Elizabeth Rendon \mail{mdfhoyos@md.impsat.net.co}\index{Rendon, Elizabeth}\\
|
||||
Sudhi Uppuluri \mail{suppulur@students.uiuc.edu}
|
||||
\medskip
|
||||
|
||||
|
||||
\noindent
|
||||
\textbf{\Index{U.\,S. Geological Survey}}
|
||||
\medskip
|
||||
|
||||
Provided geographic data used by this project.
|
||||
\medskip
|
||||
|
||||
\href{http://edc.usgs.gov/geodata/}{http://edc.usgs.gov/geodata/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Mark Vallevand}\index{Vallevand, Mark}
|
||||
(\mail{Mark.Vallevand@UNISYS.com})\\
|
||||
Contributed some METAR parsing code and some win32 screen printing routines.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Gary R. Van Sickle}\index{van Sickle, Gary, R.}
|
||||
(\mail{tiberius@braemarinc.com})\\
|
||||
Contributed some initial \Index{GameGLUT} support and other fixes. Has done
|
||||
preliminary work on a binary file format. Check
|
||||
\medskip
|
||||
|
||||
\href{http://www.woodsoup.org/projs/ORKiD/fgfs.htm}{http://www.woodsoup.org/projs/ORKiD/fgfs.htm}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
His 'Cygwin Tips' page might be helpful for you at
|
||||
\medskip
|
||||
|
||||
|
||||
|
||||
\href{http://www.woodsoup.org/projs/ORKiD/cygwin.htm}{http://www.woodsoup.org/projs/ORKiD/cygwin.htm}.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Norman Vine}\index{Vine, Norman} (\mail{nhv@yahoo.com})\\
|
||||
Provided more numerous URL's to the ''FlightGear Community''.
|
||||
Many performance optimizations throughout the code. Many contributions
|
||||
and much advice for the scenery generation section. Lots of Windows
|
||||
related contributions. Contributed wgs84 distance and course routines.
|
||||
Contributed a great circle route autopilot mode based on wgs84 routines.
|
||||
Many other GUI, HUD and autopilot contributions. Patch to allow mouse input to control view direction. Ultra hires tiled screen dumps. Contributed the initial 'goto airport' and 'reset' functions and the initial http image server code
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Roland Voegtli}\index{Voegtli, Roland}
|
||||
(\mail{webmaster@sanw.unibe.ch})\\
|
||||
Contributed great photorealistic textures. Founder of European Scenery Project for
|
||||
X-Plane:
|
||||
\medskip
|
||||
|
||||
\href{http://www.g-point.com/xpcity/esp/}{http://www.g-point.com/xpcity/esp/}
|
||||
\medskip
|
||||
|
||||
|
||||
\noindent \textbf{Carmelo Volpe}\index{Volpe, Carmelo}
|
||||
(\mail{carmelo.volpe@mednut.ki.se})\\
|
||||
Porting \FlightGear{} to the \Index{Metro Works} development environment
|
||||
(PC/Mac).
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Darrell Walisser}\index{Walisser, Darrell}
|
||||
(\mail{walisser@mac.com})\\
|
||||
Contributed a large number of changes to porting \FlightGear{} to the Metro Works development environment (PC/Mac). Finally produced the first Macintosh port. Contributed to the Mac part of Getting Started, too.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Ed Williams}\index{Williams, Ed}
|
||||
(\href{Ed_Williams@compuserve.com}{Ed\_Williams@compuserve.com}).\\
|
||||
Contributed magnetic variation code (impliments Nima WMM 2000).
|
||||
We've also borrowed from Ed's wonderful aviation formulary at various
|
||||
times as well. Website at
|
||||
\medskip
|
||||
\href{http://williams.best.vwh.net/}{http://williams.best.vwh.net/}.
|
||||
\medskip
|
||||
|
||||
|
||||
\noindent \textbf{Jim Wilson}\index{Wilson, Jim}
|
||||
(\href{jimw@kelcomaine.com}{jimw@kelcomaine.com}).\\
|
||||
Wrote a major overhaul of the viewer code to make it more flexible and modular. Contributed many small fixes and bug reports. Contributed to the PUI property browser and to the autopilot.
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Jean-Claude Wippler}\index{Wippler, Jean-Claude}
|
||||
(\mail{jcw@equi4.com})\\
|
||||
Author of \Index{MetaKit} - a portable, embeddible database with a portable
|
||||
data file format used in \FlightGear{}. Please see the following URL for more info:
|
||||
\medskip
|
||||
|
||||
\href{http://www.equi4.com/metakit/}{http://www.equi4.com/metakit/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Woodsoup Project}\index{Woodsoup}\\
|
||||
|
||||
While \FlightGear{} no longer uses Woodsoup servies we appreciate the
|
||||
support provided to our project during the time they hosted us. Once they
|
||||
provided computing resources and services so that the \FlightGear{} project
|
||||
could have a real home.
|
||||
|
||||
\href{http://www.woodsoup.org/}{http://www.woodsoup.org/}
|
||||
\medskip
|
||||
|
||||
\noindent \textbf{Robert Allan Zeh}\index{Zeh, Allan} (\mail{raz@cmg.FCNBD.COM})\\
|
||||
Helped tremendously in figuring out the \Index{Cygnus} Win32 compiler and
|
||||
how to link with .dll's. Without him the first run-able Win32
|
||||
version of \FlightGear{} would have been impossible.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{What remains to be done}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
If you read (and, maybe, followed) this guide up to this point you may probably agree: \FlightGear{}$\!$, even in its present state, is not at all for the birds. It is
|
||||
already a flight simulator which sports even several selectable flight models, several planes with panels and even a HUD, terrain scenery, texturing, all the basic controls and weather.
|
||||
|
||||
Despite, \FlightGear{} needs -- and gets -- further development. Except internal tweaks,
|
||||
there are several fields where \FlightGear{} needs basics improvement and development. A
|
||||
first direction is adding \Index{airport}s, buildings, and more of those things bringing
|
||||
scenery to real life and belonging to realistic airports and cities. Another task is further
|
||||
implementation of the \Index{menu system}, which should not be too hard with the basics
|
||||
being working now. A lot of options at present set via command line or even during
|
||||
compile time should finally make it into menu entries. Finally, \FlightGear{} lacks any
|
||||
\Index{ATC} until now.
|
||||
|
||||
There are already people working in all of these directions. If you're a programmer and
|
||||
think you can contribute, you are invited to do so.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection*{Achnowledgements}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Obviously this document could not have been written without all those contributors
|
||||
mentioned above making \FlightGear{} a reality.
|
||||
|
||||
First, I was very glad to see Martin Spott \index{Spott, Martin} entering the documentation effort. Martin provided not only several updates and contributions (notably in the OpenGL section) on the Linux side of the project but also several general ideas on the documentation in general
|
||||
|
||||
Besides, I would like to say special thanks to Curt Olson,\index{Olson, Curt} whose
|
||||
numerous scattered Readmes, Thanks, Webpages, and personal eMails were of special help to
|
||||
me and were freely exploited in the making of this booklet.
|
||||
|
||||
Next, Bernhard Buckel \index{Buckel, Bernhard} wrote several sections of early versions
|
||||
of that Guide and contributed at lot of ideas to it.
|
||||
|
||||
Jon S. Berndt \index{Berndt, Jon, S.} supported me by critical proofreading of several
|
||||
versions of the document, pointing out inconsistences and suggesting improvements.
|
||||
|
||||
Moreover, I gained a lot of help and support from Norman Vine\index{Vine, Norman}. Maybe,
|
||||
without Norman's answers I would have never been able to tame different versions of the
|
||||
\Cygwin{} -- \FlightGear{} couple.
|
||||
|
||||
We were glad, our Mac expert Darrell Walisser \index{Walisser, Darrell} contributed the section on compiling under Mac OS X. In addition he submitted several Mac related hints and fixes.
|
||||
|
||||
Further contributions and donations on special points came from John Check,\index{Check,
|
||||
John} (general layout), Oliver Delise \index{Delise, Oliver} (several suggestions
|
||||
including notes on that chapter), Mohit Garg \index{Garg, Mohit} (OpenGL), Kyler B. Laird
|
||||
\index{Laird, Kyler B.} (corrections), Alex Perry\index{Perry, Alex} (OpenGL), Kai
|
||||
Troester\index{Troester, Kai} (compile problems), Dave Perry \index{Perry, Dave} (joystick support), and Michael Selig\index{Selig, Michael} (UIUC models).
|
||||
|
||||
Besides those whose names got lost withing the last-minute-trouble we'd like to express our
|
||||
gratitude to the following people for contributing valuable 'bug fixes' to this version of Getting Started (in random order): Cameron Moore,\index{Moore, Cameron} Melchior Franz,\index{Franz, Melchior} David Megginson,\index{Megginson, David} Jon Berndt,\index{Berndt, Jon} Alex Perry,\index{Perry, Alex}, Dave Perry,\index{Perry, Dave}, Andy Ross,\index{Ross, Andy} Erik Hofman\index{Hofman, Erik}, and Julian Foad\index{Foad, Julian}.
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
||||
%% Revision 0.01 1998/09/20 michael
|
||||
%% several extensions and corrections
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% corrections on audio library, getting started
|
||||
%% revision 0.12 1999/03/07 michael
|
||||
%% Updated Credits
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% added O. Delise, Ch. Mayer, R. Peel, R. Voegtli, several updates
|
||||
%% revision 0.3 2000/03/01 michael
|
||||
%% Supplemented to Jon Berndt, Oliver Delise, Christian Mayer, Durk Talsma
|
||||
%% Norman Vine
|
||||
%% Added David Meggison
|
||||
%% Revised Acknowledgements
|
||||
%% Several additions suggested and collected by Oliver Delise
|
||||
%% revision 0.4 2001/05/12 michael
|
||||
%% added several people entering the game during the last year
|
||||
%% changed countless mail addresses
|
||||
%% revision 0.5 2002/01/01 michael
|
||||
%% update on history during the last year
|
||||
%% added new people entering the game
|
||||
%% revision 0.6 2002/09/09 michael
|
||||
%% reorganized history section for better readability
|
||||
%% added progress for versions 0.7.10 & 0.8
|
||||
%% removed outdated Navion picture
|
185
Docs/source/magnet2.eps
Normal file
|
@ -0,0 +1,185 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: jpeg2ps V1.5 by Thomas Merz
|
||||
%%Title: magnet2.jpg
|
||||
%%CreationDate: Wed Feb 13 13:55:42 2002
|
||||
%%BoundingBox: 20 20 305 148
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
/languagelevel where {pop languagelevel 2 lt}{true} ifelse {
|
||||
(JPEG file 'magnet2.jpg' needs PostScript Level 2!\n) dup print flush
|
||||
/Helvetica findfont 20 scalefont setfont 100 100 moveto show showpage stop
|
||||
} if
|
||||
save
|
||||
/RawData currentfile /ASCII85Decode filter def
|
||||
/Data RawData << >> /DCTDecode filter def
|
||||
20 20 translate
|
||||
285.00 127.20 scale
|
||||
/DeviceRGB setcolorspace
|
||||
{ << /ImageType 1
|
||||
/Width 475
|
||||
/Height 212
|
||||
/ImageMatrix [ 475 0 0 -212 0 212 ]
|
||||
/DataSource Data
|
||||
/BitsPerComponent 8
|
||||
/Decode [0 1 0 1 0 1]
|
||||
>> image
|
||||
Data closefile
|
||||
RawData flushfile
|
||||
showpage
|
||||
restore
|
||||
} exec
|
||||
s4IA0!"_al8O`[\!<E1F!-eJDs4[N@!!WQ0"pG,6"pG29#6kG@&./aN#mq@V%h'!
|
||||
c'GqZ''G_H&*@2dG)^?=<(*G.N,:4ce.Oc5W/MJb)0I8+r.0&$%6NIDs#7:_D'+,
|
||||
'[-lNj>-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n$Jl-n
|
||||
$Jl-n,,4!"fJ:e,e;+!?qLF&HMtG!WU(<)ZTm=!WrH(zz!!!!&"p+l0#6FkC!#,G
|
||||
7zzzzs4RG]!s&B'&-EID!!/&!j8h,lB+iLk$TbLClG0a,!m[kT3j:1#^pC'CcE%C
|
||||
7YUo(TZ`=/QX:%(n/F($WWrgSJ$TbLClG0a,!m[kT3j:1#^pC'CcE%CCF^=*kc-c
|
||||
X9?*IDGzzzz!!!!$Fdf4E!9:98/)UC.eV1V,<R,A81S.D$+,.-OkLI!lmq%V'hnS
|
||||
+To6u2izz!!!%9WS7D4lh1\\!!#Ub=+n=Q!11tF8G9iU4q2#&^)0N)$o_l#zz!!!
|
||||
!&ZDVL=j0.)chuEf0aZ0P*n)1F?OYcJ/^Oj=CC%'Vmp1`_8q>3709msZ>zz!!!#-
|
||||
<:,2UFo)>i!!"8uiW)&bLA_+7NY7/Q-*)i?BH+=2mXCUM^)lZui2]:O!OcXl%hd:
|
||||
Y0F*`O3Phr;UXAIaK^&67/h4XMUd!+@git_@]B)OB(<W2P"-1-(YCHTT4QhP!]4-
|
||||
f-B>S9k))<FBRL&$U$2=g*.#H##J(=IHfT(Dd\=*,aYPA/'YO@C;3jn8>4O0j5Y6
|
||||
i916eM$QE>lDFo:A,NY'D+eP5Y=9%GlBp5#t_b[T)XE*-M,^HiZ)45&#b=LF2g\_
|
||||
Okqa#Jl_N5=rCHXP(jPPNc2ha3I"oIHDg7V]`s9\im&'RhBAX!,_?=3lq$@46<Yr
|
||||
!FYQ''q6hIF,kbTc"#-QINq%!eGocYVec@nYLkA`#q4O?aV!(G8osh[J`T#n]3RP
|
||||
N%aHlg54$cEp;DgE]"Z&C>fS(l5&Lo3zz!!!eWSZi3V^L46q48:0o,_UGglCi8?M
|
||||
[`P7A^C)^I6N)V][cbWl-#[gnnK8VR]FTLJ,fQLz!!!!#fi,<ZES'Oln-&Xodrp8
|
||||
bRs<o4X&5k#CWekrcE)JUJ-*Vpm3J>`kPtS_zz"gY%B!9:98/)UC-#Mace=V$pJ!
|
||||
!!,-O6L/Vc,'G\zz!!:hQ[=E%ogc12>@fe)/,*IO0-mI)k/LVgkJh8ApdXj&!,1;
|
||||
'->bI!I#dg7_8dMesMb48^TSlDJ[%N=L#dg7_8dMesMb48^TSlG13Ms%WAAiB$0Z
|
||||
6-WhuE`Wzzzz"96:>/J%m_"9AT-!<NH-!<<*"!!!'#!<WH.&JGii&g/u,0JitW+s
|
||||
Sj#'eqs]s4RGY!<E0$"TmoM/@PXt!o*sh$ZHm>/\kS@[fL@Jg]b1qE#.@`^fu>u!
|
||||
H%to"h4qZ(>pd[>Ca0`D?ASs\-m6ki%;`KJ@>Ps!o*sh$ZHm>/\kS@[fL@Jg]b1q
|
||||
E#.@`^fu>u!H%to"h4qI'.+K`_iq^Er2<4STp:VKhgH[DGg!Mkj?5^dOS&A88[/[
|
||||
o1l_aM4=:8nd[F"$#pGJVGq4ulA4;NG<-4t!:I\G).PjX9YaeTL5'If[+5q5]T/p
|
||||
-k1E-_QOr0#Cg8oW==+3QS>BaTq<%Xp?)S[U`D;X_9VXJkRROpkFRDa\qKueRfg=
|
||||
DPMaS/7`[OC+=5`Wd("SRB)Z"%gmpI7eS'mV';d-OE;AkN_2a)gu]C@=""\M(h\4
|
||||
[1leo_H<(9Kj2,'nl4ODl$XV@JEXO?E).)<[`\RHce!KpP^(;O<-DG%jC3/a810<
|
||||
ID(nh*'.Q@HReAAh07j[r9Ik+=T8B5Yk>QY^@U:R*hPL%)AH`fDceC@(lrLE<3X`
|
||||
CRMa`t>!k0%-u7/90M/YtP'>/"mRtrs=4icP;@@`.Ao4e&-?4M>r81s_;+N:u0q#
|
||||
JgW0tX&nfFG"@fhb^(oDj'`%"<QROkTmX$9j,3:2uWn^iG#-[`?VCp`]%&p++&%h
|
||||
X\4;7o5U39H8PM^n2I)im'l>.f":&rGKrN!i!8-Np#D%o:P\eHIlWoQ3l/P>u/C[
|
||||
7<g-&@hPcE>mEh16#^+rmA5E;Ae1"p+0c=a0#[6:\Us:"C#uDEY$*<Hd`B$KqinO
|
||||
W<bITq\CqoA_6GGp$t<>R@oIQP`A')POCW>*hPF4\`*XLV6J1$bGUcW9^$:RMU&0
|
||||
=A/U$-r*t==CWu2`oo,8H\,']sZm?]Wi-t%CLuPDcnGS`s[AY(1LlB>.(dg5A:NN
|
||||
Bk;245,4E]U2jama+bh.q*SUV.&NU'c#\PF*-EIbnDahiCR=V";];+24?(ak/*/0
|
||||
SJN;&6ki=t9.-N*9($/UJLPed)auQQKZ`l&<_)6H7f@j4hdJ!hNnn:9g3VFYdEFh
|
||||
Qdl(b%6IVN\_r&b8YUdKl8[dF^fEs-WnTf3gm6$Y?2.^nsNsnoJ.J["!-`M&<q./
|
||||
P=UQ'o4M(cd=.6aK'DSWU8F`A[5[[!rr>6mm"s/)Uj6PA([WaK3A&/1NlW4U1ljK
|
||||
-/G_NrUmBs8)%TMs-tedG_`J4cR>24&%+3ZM:>0rLBSL.o@F3\L2GfbZPOb%#bqo
|
||||
8=6dt"O(*Jnt%[8+LVoAl4JR=(5:>`8=1T9AX?cl$Ha/?c74['VDg('BcZuuBKaY
|
||||
Nkr,0J`]2(Rru3\;._@8*rM/5b/Z6$CZT$R+d(`X'*!1Q\L^drEt)V`0)K(#$%aX
|
||||
'SF,L0^DVOS&<X,hn>N8ku2=@a"^q@_6u%1`a=9OS&Jf(#$#u0%@b-cFj$!%%Cht
|
||||
Gn3^"d:fo`24b#!Z-n3;%jC3;!1CUY;u->3T^R`l8,iRVb`C[47B_ZSM5R;qLq&A
|
||||
!\;Q0QMhnm$Lq&A!\;Q0QMhnm$Lq&A!\;Q0QMhnm$Lq&A!\;Q0QMhnm$Lq&A!\;Q
|
||||
0QMhnm$Lq&A!\;Q0QMhnm$Lq&A!\;4pVVYn3u+907Z'G1?Gzzz!!%QLg&MBZ!s&E
|
||||
e!E+FI_uLJ`!<<*"zzzJH+='#QXu-!C$T_J,dFe3=l/k!X&T/"pG&3"TSN&!!!$"
|
||||
!Ws#I1*MdR+<iO+EY&m<:f2381I+iHJ[#n66=Rc=@rm9ds4RGY!<E0)56C2j__ld
|
||||
^=1:&6F'#h.HZN8t21'CG[l&MR=1:&6F'#h.HZN8t21'CG[l&MR=1:&6F'#h.HZN
|
||||
8t21'CG[l&MR=1:&6F'#h.HZN8t21'CG[l&MR=1:&6F'#h.HZN8t21'CG[l&MR=1
|
||||
:&6F'#h.HZN8t21'CG[l&MR=1:&6F&t:`WKi(Uc$6G;a6Vo@X3V#PJ_s,rF-P2d`
|
||||
8%;Wo]2s,2jI+5&+4BDLQ#%A7&PoP5fNX5WR*pQm^6r"?hsnPcL26/ibG_`Dtc?t
|
||||
6cS\gkI"c67uriDY5ki_$?P$B1kkH0D^r$iW%ha!\/GY4K7B\9:u,Do%[)YL_Jcu
|
||||
]HmJ^;ntPTkSR6,M\r6Rg0DSILr@N,A:h#PcLT3!>>n/BGkapCo\/]m`Fa+@M3.j
|
||||
'::)qa;$r^*).*iHohmCtkA"%3nE9I`e?0cH+imB5DLe`?W$(:9JNW?#?7MRsuVD
|
||||
D"m3K@g6L;;@s8sS9-Aq+_EkP`DL9KKiUFa+EKQJe>r/u?g/YpIN;A8"c:O?KbCc
|
||||
"sX2aj+F1:T':&\ntqI2^%scjrSA.b`;rqN[R8)f^a<@=EoHDjrPYgaTkmunJs\G
|
||||
l^]m';+iDO.6&!q*kB`q,o!Yi&sIksi4ud^nl/G&?P1X`'B[B&rQ6t2j5bin^j'p
|
||||
8%MId1+iFWVm>$O',`2F2g@47S*$rQc]8#U,PfoD9't(sXOG+..ZW-HFKTL\X0g/
|
||||
4ZTB^(D+MM(N;f`o`[asaaI=h95a[s?>B*Ik`P+.is4gqh%j6RT*IS*?J4ojmET[
|
||||
jFZTb8t45@qLs5?()^"W,&iL\km]i=FPj#*$tDK>ILd9u6h-Z65:s%:GZ_&L-67!
|
||||
829Q&(M8EJOT']iVIk::P:r3)E0oZ%g;d0L(ErGOT^]slL:s>q3it)UA:62RA.9A
|
||||
".]]&Hpm`AaYZG>)Xk0BFtmn)<BCgim^O;]7/#8JV=kBlJs3I&*o4'OmhJd+,nB7
|
||||
5&>FMf2,a;V-,C/ZA;@VGlL9"`$]<ut`F?<"pE(g$O[:#D$`]a]SW%Yc$=M,T3Mk
|
||||
2@YXS(&5=FWnmlQ'Pm],.aQ#PPPJqV^d;rYOm:)TE>XF'>5Bq%_9C7Add08Slh-T
|
||||
/qig]kQJ4n6Wp_b5T7)X1%Tquo&l?u:q+OW$3^X'1@3g)f$?T3ukq28a)&Em@9s)
|
||||
@&?ZD(a\!kaqQj_[KK&YS.VI^*/os%UkJ*1,qGU_I52MmJJFW9sF>%GG0=1\fC4W
|
||||
'bV0G0cGO0?P(HJ#;F5P)&sRi9I<2VUX;pCD27$ZXdF3>@IXZOT7]\1Fu4Y3Jepn
|
||||
o_Z2PA4ks>'cp!;jg].FnoDiW$M!cnL"Z@$E%3>f?fg!BB&]]2iW3KInqZ6%t*hF
|
||||
`#bYu4(#isZa+R7X?*+UL&YH+r@rmBFsnGUKV"(WRD:Zq?1K<&T/AT3uP2Yo7TmY
|
||||
q,RjJ#!QK52HV.UGS*[UV>E`'OY.W>H3"q$l[34+eLQ(n$WOZ7IA%p:JEO<m5X1Q
|
||||
+cfEl^]l($7TD.I0TlAjFaMthBd-(-h'Wh%^2f0HQMUA8H?hOMk&IP?80jM#J\`A
|
||||
$_tfh5+kkf0-H\:]1%1+r>#/ZoN17[d9iW_7=L-m(&BHQ=6Qj8?_Y;(IZ"(=qCD2
|
||||
>kc`B@U;'-GMZ":d/+cp,YL-^O^I<U/r>#/ZoN17[d9iW_7=L-m(&BHQ=6Qj8?_Y
|
||||
;(IZ"(=qCD2CBE!J^_uM7u!!30&"9no/!s&B%z!!*ZTnM*=,n.6^NEM9Wk:k=`o_
|
||||
;WfAg&MBZ!<<-b+_*2Ngfm4S>=Go'7C68fZs,u+>=Go'7C68fZs,u+>=Go'7C68f
|
||||
Zs,u+>=Go'7C68fZs,u+>=Go'7C68fZs,u+>=Go'7C68fZs,u+>=)pDW$HUEq/R<
|
||||
9.T)'Nm1X79L*jH!Ja3hrE;>hJK(T'6_0US5;RL=1@ap#R-c46q3$a\X,RS`#48T
|
||||
X':P:`8Z<cOE3>LfcY7^V?6?7Do[66L(RIWBV>=3'"-R*S7_P@!>.!dBfA85'A7*
|
||||
+Pc&s):i(T6aICFs`D.]>B`4q`HB+f5C(<Zp\m<E>FmOt*j@b8A-Rk[@jaQ*9g/g
|
||||
4i:NA81!EATI&EeJcg[,G(K`-d#2a&a;&A@8fkCqJQQ%r!]0mjt`B/VQ=eSS4%YW
|
||||
PnVYBi(Z.-EmW4$g8g'X0S2Y>63=%p5nGL^V+%]LHfc#qaO/Upf,3a>A3QL!H@L4
|
||||
u]g%(S.V$YeX9iD\$mJ7pWV+4iM.@b=O\%.8oP/t_,'u'YV%;NYeYdtX-8B1#F^U
|
||||
"DUjXVBo_o@Sl]p$_9.Lb]&u_WRUPgZ]Q<#ODBi3#I5`I5K\BU5KYp%^H;fL-PS0
|
||||
[NsK\*I<(\`>*K(T$G:$%3sA[Dh<rja#_7#Vi+m\o.mEl=V<ICdp(i'[+qX?OWLZ
|
||||
CL49fYqlu5g"0_)DG^?U1eOU&DMISrAoahgsa5'aBt]0#g'5KBLpm',5jR$L>:7s
|
||||
3lk[(THbet%gD4t!%EJ5&k*XQA_8_m4[fL?FN-ep=oSJn7<LK!rr><[d&#sR(4$H
|
||||
4p+X(*nSguA,Y"'XlkmX3U7"Zc@kqY.rr>0>m$caQFqU5[6a2K&(D$BemeQ&8?D#
|
||||
*tU(tm:"#.?2'?>U`B+=k@P9dba&PRZTUJII6<1u;LKk!+LI^m&"C/0F5<DB_sbn
|
||||
pXp-JlLBOe4[o>gO.gM6%QZm0D"\@(?0?UC0p^%=VpAWQ'XBb]M[ml]N8dVeBfm+
|
||||
VRs4d:b^u'k,DW?D#%.;(5D#n2_Kojt8?J;TauYo1ZKE.2WnrB\,EXl4qj4\lFT^
|
||||
(@LE+RTjJ_;GkG#1#u;)B*=8,qkHuXr"u7U<O)B3M;mu4*Cpkp'19Tq/q`q^dV,G
|
||||
33[#@25oS$\203Y,e+(0W0n`Q4T10d_n6V_;8E:6d9Bq^8E-ZGSZm"d-,a(\8k+E
|
||||
#?k`(m5=ctREYHZ0PQ7NR(($QTrJfI?-K^[Ai^j\344['aW#@.VWV.iY(4.c+mWj
|
||||
B#P"<!s[*4)@JVVXdq_)+k.knu,!&*PA+/RQ?P]foLX)@<I4"7B#DD65d@1,Xj3&
|
||||
PSR\Z5Sim%;'.0el&'YR<8=RSSfR%Br)fo6]4N;.<DTY5om:)NbGa5jFX=+_r/3l
|
||||
=r0bBT&b*28,iQ\n9>@VFO$;7U1A;LK_%&F6@;mc65Bn+M.NdWdWdE@Q:-@,n1%7
|
||||
R4\\TB$W.J?6J++\&G`,ak[954KCJYs21C\G]foCRQPfF,4<9QSj:^pH$^1l#G80
|
||||
qN%ii.Z!K:hrdJ,@jQ*=lJP,Xb(n6.3$p!0Os0tH@9R%oBq8DuHu&hq+tWh2l@]f
|
||||
oOEW&.:YE_NI]L+A#1.U3Z,Y:]fiXOo7\,7@I.oT'1?ntstKMAf3.T+nd\8:8ZN.
|
||||
>85!rRDu]i4V@4847SFW<-f'1o9XHU#D61^aAI@NLr`=IlQtIhp<Z3Nm&h?`;]gt
|
||||
or/M:JZTAA)2hFuP)/"@[c;5EgPrZ]DDp9e\D)#3j))fjNOKjE2V`/ZgMs[^D8t=
|
||||
i[i93CghjRUEOOnE`nQK^)f@RhD7J>?[c;5EgPrZ]DDp9e\D)#3j))fjNOKjE2V`
|
||||
/ZgMs[^D8Ju_jKO5&:l-H[N.6!Mg&MN`!<<0$!rr<$&>0:/zzzz!"dW%zzzzz%6U
|
||||
9`!27IJZ[sS*zz!!!!taoDDA+FjG7zzz!!PKX!!&Yl!!(4sTE"rlzz;p#(?#QOi)
|
||||
!($Yo5QDWD!!&)\-kHPETE"s:8ItlP"9D7?"%3+hb5amr!)q#?;??jgKIe7%!.Y%
|
||||
\^]5Xq">#',4J2g"E.L,k%hJ^@zz!!#s?!"b.nPDqPa70!;fzz"[&FX+S3f&!!!.
|
||||
pzz!!!!taoDDA0S'K0!C?bdzz!!PJ=5R]?a$o#R=Yepl'_[J6:$o#R%6Os/!cTLg
|
||||
F4S-l]o?TPjcTLgF4S-l]s24mO&HMk3zzz!.b+'!!iT-!<GCr;Le_b!#-"Gzzz!!
|
||||
!"Ls4RGY!<N9&57g_Bs24mf&-2b4!<NE-!WiH)!<<*"!!*'3+Ych:6".V!&938`:
|
||||
nb/A0L4T)nc.;C#QXr+!C%-M"fN$u>G+L3^R4iKo/u?Oo<.]1]?`P,4R9ZOY4KrN
|
||||
cT:MWlb)hlo?Oto3q#2s]^r;tcF_C`ml]pKo<.]1]?`P,4R9ZOY4KrNcT:MWlb)h
|
||||
lo?Oto3q#2s]^r;tcF_C`ml]pKo<.]1]?`P,4R9ZOY4KrNcT:MWlb)hlo?Oto3q#
|
||||
2s]^r;tcF_C`ml]pK8sJuIkZsV(^)&Fh-<4Np.;SALU)'aNH31p,7kqfD3BsG(%b
|
||||
e"fr'h)3qLSgob?e(toh,Jjgp(q!97!XAX78J?$&0I==26>Q.RposD.$f_*.!j\e
|
||||
Fq<S'mUoR1@iNP/Z8ZBm9.TWXkoV(08X#A2*5(A-74>5p&q^rTHJRp$j%A:%=FU7
|
||||
glrjUj03*"d-*Oq#uGGMKNWab1k=*ML.8G@X(;'fY?rV\Ot!KZ)SG'9]":kbIH)q
|
||||
,6;g;'ada5eaaGM1>W_XE$s8BUoTT+jMZ.&cS@i%&"S<UqjNUr:S?PuNjh?5)^gF
|
||||
V[W*UU^edf-(#Y!CHTe#jPDjE#VL[Gcd'ZC;M0]nXC'(tRX1l-rn3lbnU3,NL/R]
|
||||
6XdXm:"tJ1jk@QgIR0g<d1Y'Qr91=IFh*[M?I@Qk5E^6ep8NT4AiUh1+^o@)?3FY
|
||||
V(sK--UHR"mj/ILMDOF,Lqns#Q]9+N@=$f[A6Q-I-:3;\Q^CRCV>JH8U.J&(RVF1
|
||||
Kr:Z=R@^aa`JmQA[>QSOnX)F6mM$)/'T6Y?_IdAFg]j@K),_n!d=J[GRk<hB6/eY
|
||||
43Mu1CZIT&=74YR8.f=mlmJ1-_eW*;g/>/BJX]t=_)94=49%K@BJA;9S?4'H`[oH
|
||||
m]O/8egbC9CT6^FhuCJOH)q#l7D!A#<LJQ^J@1SbtnC5FRA$eA5<X*%Ghro2clGu
|
||||
_k!k/jI/;=;>k/\b?+e-2m81UM1>W58(19FP*$0B.4hBrb/H-cZSTC')qW);6f'e
|
||||
6r*T-3e<8(\'UDZsTrS$1Rp%!q$tCX=so5$g;_UJi3Tu=unDi(3kb<rLI1.$DeX(
|
||||
rm5?0K0e%5Z_j?&#G@I.qedWLI2rOPbk7o>Ram_VbIYEJkH"]g"u=cWRnn;_Gun4
|
||||
Lf7?S0;kBWK%uk*<%]djF"L(u2eAb[6gj]pO2rJR9ch&n*'/%Z."2Ff[<m*j=Ts-
|
||||
+h90`s$mMQKpf,CDP!eY/onqt<VJ^,ZFrr>24P3GiGWJSjd6)SrQ%:s>Co9T_%+a
|
||||
\V&#c:K@FKQ(o&2,6[\+(DZCRT=1TZbtsCJR$-Z$Fj$@]0LaI8sOG@BXCL)%A[Ci
|
||||
anCY]?X_BCkoKE@kuF&b)X3H(El(i(;poDQV)<oHMga^#ebs<HZQX-0:b^9:ge.4
|
||||
oADP75[&i<"Drh*#u1Pr7UZJH7gSV7,'0](Oa\Dr9i?KSSQ!qM<WR=TW[t5BL+&@
|
||||
D<tEfX3YmC_gd/5)-(us"i#'R;!g`)`W$"`8UE_@a2"oU6Y-G4n`Ddi.>Vhpi\'*
|
||||
;l,Ts\.!V'T.+6ME+>Vb-rT.(Z6`"ctHQ4m!&!j'qg9BEfX9I?-!aSegRM=&9Kk7
|
||||
N8MJuT;r'%r:BDjU8R0CooNB.A$K3H5''W4nM+,6"FU@Nnph:kSt(7?e6=\8!K1N
|
||||
`S)O9%VL]oHpuRMhkrSFW-s;n`oJ7Q-WS5_*ip$Dd>.$2(B$cmdI5eX*JZ+3#;U!
|
||||
.T"Q.$9/i=Ac$1..[?()6hCVq_P!Zpq[b_A"<Hr:1CBQS%$pS#Z%K1?_9h+VD.ok
|
||||
/(!mmSDUR!U<E6@qb8JrT3;<FQbCKiDU4oWW=N_kmC(8_X>H.Q5Ks%`*XoYKi$m<
|
||||
/C_Tc5J7]E)LlPpLTR<O?:W=XP6Xd=%cJQna6<V6AHRM`MiN=_T-`o94f-E;'MRR
|
||||
Pl"T`>^/08ZW,L$g_S0Li'ZrbN!pO?bk*-09TJ)FN_&>:)BC8,>aU!/=cgY*%7LE
|
||||
",)=_*aLpSQ[XsUn`K=F==hV#KfZ-[_;\@'8!tSG3'Rr>_Q\9gI$FrrZW#[RP5"8
|
||||
dDWe"$r(]l$CZ)peXDpeS#rZ5YHPn&AduUtZFsA7rdYR8LDl6nN5OGG^b(jF_7RW
|
||||
-9h)[WR4J&gDD:2f/nVF95D[+R0#4\s#`E[5h0t.3JpsEGI1Zski3FqCV.@V\;A`
|
||||
nW_R"pR[esC3OI)+6\?2L*X)#uX7Ka2X3L`E)'pVQ\`:>2iKON>`)1.MX'LYkQJX
|
||||
=;!WcFeM6/n0>3IW=ULk+ed^8der=Q1J<6*V<$E(I0j1"s*:@X!b8S6km'Iu_@58
|
||||
4C).\NZZkT26#..mP<5`e9.!]<:T#6kM0W-s4Y>kMZmBO8A&',JV$)mXp'.=9Ige
|
||||
j$Q67!*EqK;C!!?jDFnk>=:uD0llC!MBcU-M/,>eh;S\j'k3t<MNLdd77aBm,,A1
|
||||
qO]!Yt8?!=JUf<56;CY++W>-VQ</Qf9.Rcn-'dBGQMNLdd77aBm,,A1qO]!Yt8?!
|
||||
=J"-N3+'gh1X5mJWihQ]LYbEg=_ZIs'&>:l/aA[:!*[Tb>Lb@S!4CpmP"QHNjFfk
|
||||
e*$/XFRkZIs'&>:l/aA[:!*[Tb>Lb@S!4Cpninf`~>
|
||||
%%EOF
|
BIN
Docs/source/magnet2.jpg
Normal file
After Width: | Height: | Size: 7.7 KiB |
59
Docs/source/makedoku.bat
Normal file
|
@ -0,0 +1,59 @@
|
|||
rem Batch file for building FlightGear documentation
|
||||
rem Supposes a working TeX system including LaTeX and pdflatex
|
||||
rem plus TeX4HT (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)
|
||||
del getstart.pdf
|
||||
del getstart.html
|
||||
del *.4ct
|
||||
del *.4tc
|
||||
del *.aux
|
||||
del *.bak
|
||||
del *.idv
|
||||
del *.idx
|
||||
del *.ilg
|
||||
del *.in
|
||||
del *.ind
|
||||
del *.lg
|
||||
del *.log
|
||||
del *.out
|
||||
del *.tid
|
||||
del *.tmp
|
||||
del *.toc
|
||||
del *.xref
|
||||
del *.gif
|
||||
pdflatex getstart
|
||||
pdflatex getstart
|
||||
pdflatex getstart
|
||||
makeindex getstart
|
||||
pdflatex getstart
|
||||
del *.aux
|
||||
del *.css
|
||||
del *.idx
|
||||
del *.ind
|
||||
del *.ilg
|
||||
del *.log
|
||||
del *.toc
|
||||
call htlatex getstart "html,2,info,next,sections+" %1 %2 %3 %4
|
||||
call htlatex getstart "html,2,info,next,sections+" %1 %2 %3 %4
|
||||
call htlatex getstart "html,2,info,next,sections+" %1 %2 %3 %4
|
||||
tex \def\filename{{getstart}{ind}{idx}{in}{out}} \input idxmake.4ht
|
||||
makeindex -o getstart.out getstart.in
|
||||
call htlatex getstart "html,2,info,next,sections+" %1 %2 %3 %4
|
||||
del getstart.dvi
|
||||
del *.4ct
|
||||
del *.4tc
|
||||
del *.aux
|
||||
del *.bak
|
||||
del *.idv
|
||||
del *.idx
|
||||
del *.ilg
|
||||
del *.in
|
||||
del *.ind
|
||||
del *.lg
|
||||
del *.log
|
||||
del *.out
|
||||
del *.tid
|
||||
del *.tmp
|
||||
del *.toc
|
||||
del *.xref
|
||||
|
||||
|
40
Docs/source/makeshortref.bat
Normal file
|
@ -0,0 +1,40 @@
|
|||
del *.4ct
|
||||
del *.4tc
|
||||
del *.aux
|
||||
del *.bak
|
||||
del *.css
|
||||
del *.idv
|
||||
del *.idx
|
||||
del *.ilg
|
||||
del *.in
|
||||
del *.ind
|
||||
del *.lg
|
||||
del *.log
|
||||
del *.out
|
||||
del *.tid
|
||||
del *.tmp
|
||||
del *.toc
|
||||
del *.xref
|
||||
pdflatex FGShortRef
|
||||
pdflatex FGShortRef
|
||||
pdflatex FGShortRef
|
||||
del FGShortRef.dvi
|
||||
call htlatex FGShortRef %1 %2 %3 %4
|
||||
del FGShortRef.dvi
|
||||
del *.4ct
|
||||
del *.4tc
|
||||
del *.aux
|
||||
del *.bak
|
||||
del *.idv
|
||||
del *.idx
|
||||
del *.ilg
|
||||
del *.in
|
||||
del *.ind
|
||||
del *.lg
|
||||
del *.log
|
||||
del *.out
|
||||
del *.tid
|
||||
del *.tmp
|
||||
del *.toc
|
||||
del *.xref
|
||||
|
258
Docs/source/missed.tex
Normal file
|
@ -0,0 +1,258 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: missed.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Missed approach: If anything refuses to work\label{missed}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markboth{\thechapter.\hspace*{1mm} MISSED APPROACH
|
||||
}{\thesection\hspace*{1mm} ???}
|
||||
|
||||
In the following section, we tried to sort some \Index{problems} according to operating system,
|
||||
but if you encounter a problem, it may be a wise idea to look beyond ''your'' operating system -- just in case. If you are experiencing problems, we would strongly advise you to first check the \Index{FAQ} maintained by Cameron Moore\index{Moore Cameron} at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Docs/FlightGear-FAQ.html}.
|
||||
\medskip
|
||||
|
||||
|
||||
Moreover, the source code contains a directory \texttt{docs-mini} containing numerous
|
||||
ideas on and solutions to special problems. This is also a good place to go for further reading.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{FlightGear Problem Reports}\index{problem report}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
The best place to look for help is generally the \Index{mailing lists}, specifically the \textbf{[Flightgear-User]} mailing list. If you happen to be running a CVS version of \FlightGear{}, you may want to subscribe to the \textbf{[Flightgear-Devel]} list. Instructions for subscription can be
|
||||
found at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/mail.html}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
It's often the case that someone has already dealt with the issue you're dealing with, so it may be worth your time to search the mailing list archives at
|
||||
\medskip
|
||||
|
||||
http://www.mail-archive.com/flightgear-users\%40flightgear.org/
|
||||
|
||||
http://www.mail-archive.com/flightgear-devel\%40flightgear.org/.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
There are numerous developers and users reading the lists, so questions are generally answered. However, messages of the type
|
||||
|
||||
\textit{FlightGear does not compile on my system. What shall I do?}
|
||||
|
||||
\noindent
|
||||
are hard to answer without any further detail given, aren't they? Here are some things to consider including in your message when you report a problem:
|
||||
\medskip
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Operating system:} (Linux Redhat 7.0\ldots/Windows 98SE\ldots)
|
||||
|
||||
\item \textbf{Computer:} (Pentium III, 1GHz\ldots)
|
||||
|
||||
\item \textbf{Graphics board/chip:} (Diamond Viper 770/NVIDIA RIVA TNT2\ldots)
|
||||
|
||||
\item \textbf{Compiler/version:} (Cygnus version 1.0\ldots)
|
||||
|
||||
\item \textbf{Versions of relevant libraries:} (PLIB 1.2.0, Mesa 3.0\ldots)
|
||||
|
||||
\item \textbf{Type of problem:} (Linker dies with message\ldots)
|
||||
|
||||
\item \textbf{Steps to recreate the problem:} Start at KSFO, turn off brakes \ldots
|
||||
|
||||
\end{itemize}
|
||||
|
||||
For getting a trace of the output which \FlightGear{} produces, then following command may come in handy (may need to be modified on some OSs or may not work on others at all, though):
|
||||
\medskip
|
||||
|
||||
\texttt{\%FG$\underline{~~}$ROOT/BIN/fgfs >log.txt 2>\&1}
|
||||
\medskip
|
||||
|
||||
\textbf{One final remark:} Please avoid posting binaries to these lists! List subscribers are widely distributed, and some users have low bandwidth and/or metered connections. Large messages may be rejected by the mailing list administrator. Thanks.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{General problems}\index{problems!general}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
|
||||
\item{\FlightGear{} runs SOOO slow.}\\
|
||||
If \FlightGear{} says it's running with something like 1\,fps
|
||||
(frame per second) or below you typically don't have working hardware
|
||||
\Index{OpenGL} support. There may be several reasons for this. First,
|
||||
there may be no OpenGL hardware drivers available for older
|
||||
cards. In this case it is highly recommended to get a new board.
|
||||
|
||||
Second, check if your drivers are properly installed. Several
|
||||
cards need additional OpenGL support drivers besides the
|
||||
''native'' windows ones. For more detail check Appendix
|
||||
\ref{opengl}.
|
||||
|
||||
\item{Either \texttt{configure} or \texttt{make} dies with not found \PLIB{} headers or
|
||||
libraries.}\\
|
||||
Make sure you have the latest version of \PLIB{} ($>$ version 1.2) compiled and installed.
|
||||
Its headers like \texttt{pu.h} have to be under \texttt{/usr/include/plib} and its libraries, like \texttt{libplibpu.a} should be under \texttt{/lib}. Double check there are no stray \PLIB{} headers/libraries sitting elsewhere!
|
||||
|
||||
Besides check careful the error messages of \texttt{configure}. In several cases it
|
||||
says what is missing.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Potential problems under Linux}\index{problems!Linux}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Since we don't have access to all possible flavors of Linux distributions, here are some
|
||||
thoughts on possible causes of problems. (This Section includes contributions by Kai
|
||||
Troester.)\index{Troester, Kai}
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item{Wrong library versions}\\
|
||||
This is a rather common cause of grief especially when you prefer to
|
||||
install the libraries needed by \FlightGear{} by hand. Be sure that
|
||||
especially the Mesa library contains support for the
|
||||
\Index{3DFX} board and that \Index{GLIDE} libraries are installed and can be
|
||||
found. If a \texttt{ldd `which fgfs`} complains about missing
|
||||
libraries you are in trouble.
|
||||
|
||||
You should also be sure to \em{always} keep the \em{latest} version
|
||||
of \PLIB{} on your system. Lots of people have
|
||||
failed miserably to compile \FlightGear{} just because of an outdated
|
||||
plib.
|
||||
|
||||
|
||||
\item{Missing \Index{permissions}}\\
|
||||
In case you are using \Index{XFree86} before release 4.0 the \FlightGear{} binary may need to be setuid root in order to be capable of accessing some accelerator boards (or a special kernel module as described earlier in this document) based on 3DFX chips.
|
||||
So you can either issue a
|
||||
|
||||
\texttt{chown root.root /usr/local/bin/fgfs ;}\\
|
||||
\texttt{chmod 4755 /usr/local/bin/fgfs}
|
||||
|
||||
to give the \FlightGear{} binary the proper rights or install
|
||||
the 3DFX module. The latter is the ''clean''
|
||||
solution and strongly recommended!
|
||||
|
||||
|
||||
\item{Non-default install options}\\
|
||||
\FlightGear{} will display a lot of diagnostics while starting up.
|
||||
If it complains about bad looking or missing files, check that you
|
||||
installed them in the way they are supposed to be installed (i.e. with the latest
|
||||
version and in the proper location). The canonical location \FlightGear{}
|
||||
wants its data files under \texttt{/usr/local/lib}.
|
||||
Be sure to grab the latest versions of everything that might be needed!
|
||||
|
||||
\item{Compile problems in general}\\
|
||||
Make sure you have the latest (official) version of gcc. Old versions of
|
||||
gcc are a frequent source of trouble! On the other hand, some versions
|
||||
of the RedHat 7.0 reportedly have certain problems compiling \FlightGear{} as they include
|
||||
a preliminary version of GCC.
|
||||
|
||||
\item{Problems with linking}\\
|
||||
There may be several reasons; however in case you get a message like
|
||||
|
||||
\texttt{libmk4.so.0}: cannot open shared object file
|
||||
|
||||
the reason is a missing library package called Metakit. This is provided with \SimGear{} in packed form. On its installation, see Sec. \ref{metakeitinstall}.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Potential problems under Windows}\index{problems!Windows}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{The executable refuses to run.}\\
|
||||
You may have tried to start the executable directly either by
|
||||
double-clicking \texttt{fgfs.exe} in Windows Explorer or by invoking it
|
||||
within a MS-DOS shell. Double-clicking via Explorer does never work
|
||||
(unless you set the environment variable \texttt{FG\_ROOT}
|
||||
in \texttt{autoexec.bat} or otherwise). Rather double-click \texttt{runfgfs.bat}.
|
||||
For more details, check Chapter \ref{takeoff}.
|
||||
|
||||
Another cause of grief might be that you did not download the
|
||||
most recent versions of the base package files required by \FlightGear{}$\!$, or
|
||||
you did not download any of them at all. Have a close look
|
||||
at this, as the scenery/texture format is still under development and may
|
||||
change frequently. For more details, check Chapter \ref{prefligh}.
|
||||
|
||||
Next, if you run into trouble at runtime, do not use windows utilities for unpacking the
|
||||
\texttt{.tar.gz}. If you did, try it in the Cygnus shell with \texttt{tar xvfz}
|
||||
instead.
|
||||
|
||||
\item{\FlightGear{} ignores the command line parameters.}\\
|
||||
There is a problem with passing command line options containing a
|
||||
''='' to windows batch files. Instead, include the options into
|
||||
\texttt{runfgfs.bat}.
|
||||
|
||||
\item{I am unable to build \FlightGear{} under \Index{MSVC}/\Index{MS DevStudio}.}\\
|
||||
By default, \FlightGear{} is build with GNU GCC. The Win32 port of GNU GCC is known as
|
||||
\Index{Cygwin}. For hints on Makefiles
|
||||
required for MSVC for MSC DevStudio have a look into
|
||||
\medskip
|
||||
|
||||
\web{ftp://www.flightgear.org/pub/flightgear/Source/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
In principle, it should be possible to compile \FlightGear{} with the project files provided with the source code.
|
||||
|
||||
\item{Compilation of \FlightGear{} dies.}\\
|
||||
There may be several reasons for this, including true bugs. However, before trying to do
|
||||
anything else or report a problem, make sure you have the latest version of the
|
||||
\Cygwin{} compiler, as described in Section \ref{building}. In case of doubt, start
|
||||
\texttt{setup.exe} anew and download and install the most recent versions of bundles
|
||||
as they possibly may have changed.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
%% revision 0.10 1998/10/01 bernhard
|
||||
%% added win stuff michael
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% Remark on mini-OpenGL drivers, new general Section
|
||||
%% Access violation error under win32 added
|
||||
%% Command line problem in win32 added
|
||||
%% revision 0.12 1999/03/07 bernhard
|
||||
%% Remark on EGCS compiler
|
||||
%% revision 0.12 1999/03/07 michael
|
||||
%% Added Contribution by Kai Troester
|
||||
%% Reworked Win32 Stuff
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% added hint to FAQ, gfc problem
|
||||
%% revision 0.22 XXX
|
||||
%% added hint on install.exe with Cygnus
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% hint on revised PLIB paths, removed outdated stuff
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% Deleted some outdated stuff
|
||||
%% Added Old PLIB problem
|
||||
%% revision 0.31 2000/05/01 michael
|
||||
%% Reworked/Added Achnowledgements
|
||||
%% Added hint on gunzip/tar from Marc Anderson
|
||||
%% revision 0.4 2001/05/12 michael
|
||||
%% added some points (RedHat...), deleted some outdated ones
|
||||
%% complete rewrite and check still to be done ... sometime
|
||||
%% revision 0.5 2002/01/01 michael
|
||||
%% removed several outdated issues
|
||||
%% Added problem linking Metakit
|
506
Docs/source/opengl.tex
Normal file
|
@ -0,0 +1,506 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: opengl.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Some words on OpenGL graphics drivers\label{opengl}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markboth{\thechapter.\hspace*{1mm} GETTING THE ENGINE}{\thesection\hspace*{1mm}
|
||||
INSTALLING DRIVERS}
|
||||
|
||||
\FlightGear{}'s graphics engine is based on a \Index{graphics library} called
|
||||
\Index{OpenGL}. Its primary advantage is its platform independence, i.\,e., programs
|
||||
written with \Index{OpenGL} support can be compiled and executed on several platforms,
|
||||
given the proper drivers having been installed in advance. Thus, independent of if you
|
||||
want to run the binaries only or if you want to compile the program yourself you must
|
||||
have some sort of \Index{OpenGL} support installed for your \Index{video card}.
|
||||
|
||||
A good review on OpenGL drivers\index{OpenGL drivers} can be found at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Hardware}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Specific information is collected for windows at
|
||||
\medskip
|
||||
|
||||
\web{http://www.x-plane.com/SYSREQ/v5ibm.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and for Macintosh at
|
||||
\medskip
|
||||
|
||||
\web{http://www.x-plane.com/SYSREQ/v5mac.html}.
|
||||
\medskip
|
||||
|
||||
%%Bernhard, 21.02.1999,25.06.1999
|
||||
\noindent
|
||||
An excellent place to look for documentation about Linux and 3-D accelerators is the {\it
|
||||
Linux \Index{Quake} HOWTO} at
|
||||
\medskip
|
||||
|
||||
\web{http://www.linuxquake.com}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
This should be your first aid in case something goes wrong with your Linux 3-D setup.
|
||||
|
||||
Unfortunately, there are so many graphics boards, chips and drivers out there that we are
|
||||
unable to provide a complete description for all systems. Given the present market
|
||||
dominance of NVIDIA combined with the fact that their chips have indeed been proven
|
||||
powerful for running \FlightGear{}$\!$, we will concentrate on NVIDIA
|
||||
drivers\index{NVIDIA!drivers} in what follows.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{NVIDIA chip based cards under \Index{Linux}\label{nvidialinux}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Recent \Index{Linux} distributions include and install anything needed to run OpenGL
|
||||
programs under \Index{Linux}. Usually there is no need to install anything else.
|
||||
|
||||
If for whatever reason this does not work, you may try to download the most recent
|
||||
drivers from the NVIDIA site at
|
||||
\medskip
|
||||
|
||||
\web{http://www.nvidia.com/Products/Drivers.nsf/Linux.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
At present, this page has drivers for all NVIDIA chips for the following Linux
|
||||
distributions:\index{NVIDIA!Linux drivers} RedHat 7.1, Redhat 7.0, Redhat 6.2, Redhat
|
||||
6.1, Mandrake 7.1, Mandrake 7.2, SuSE 7.1, SuSE 7.0 in several formats (.rpm, .tar.gz).
|
||||
These drivers support OpenGL natively and do not need any additional stuff.
|
||||
|
||||
The page named above contains a detailed \texttt{README and Installation Guide} giving a
|
||||
step-by-step description, making it unnecessary to copy the material here.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{NVIDIA chip based cards under \Index{Windows}\label{nvidiawindows}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Again, you may first try the drivers coming with your graphics card. Usually they should
|
||||
include \Index{OpenGL} support. If for whatever reason the maker of your board did not
|
||||
include this feature into the driver, you should install the \Index{Detonator reference
|
||||
drivers}\index{NVIDIA!Windows drivers} made by \Index{NVIDIA} (which might be a good idea
|
||||
anyway). These are available in three different versions (Windows 95/98/ME, Windows 2000,
|
||||
Windows NT) from
|
||||
\medskip
|
||||
|
||||
\web{http://www.nvidia.com/products.nsf/htmlmedia/detonator3.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Just read carefully the Release notes to be found on that page. Notably do not
|
||||
forget to uninstall your present driver and install a standard VGA graphics adapter
|
||||
before switching to the new NVIDIA drivers first.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{3DFX chip based cards under \Index{Windows}\label{3dfxwindows}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
With the Glide drivers no longer provided by 3DFX there seems to be little chance to get
|
||||
it running (except to find older OpenGL drivers somewhere on the net or privately). All
|
||||
pages which formerly provided official support or instructions for 3DFX are gone now. For
|
||||
an alternative, you may want to check the next section, though.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{An alternative approach for Windows users}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
There is now an attempt to build a program which detects the graphics chip on your board
|
||||
and automatically installs the appropriate OpenGL drivers. This is called \Index{OpenGL
|
||||
Setup} and is presently in beta stage. It's home page can be found at
|
||||
\medskip
|
||||
|
||||
\web{http://www.glsetup.com/}.
|
||||
\medskip
|
||||
|
||||
We did not try this ourselves, but would suggest it for those completely lost.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{3DFX chip based cards under \Index{Linux}\label{3dfxlinux}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%% MAS, 19.06.2001
|
||||
Notably, with \Index{3DFX} now having been taken over by \Index{NVIDIA}, manufacturer's
|
||||
support already has disappeared. However with XFree86-4.x (with x at least being greater
|
||||
than 1) Voodoo3 cards are known to be pretty usable in 16 bit color mode. Newer cards
|
||||
should work fine as well. If you are still running a version of Xfree86 3.X and run into
|
||||
problems, consider an upgrade. The recent distributions by Debian or SuSE have been
|
||||
reported to work well.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{ATI chip based cards under \Index{Linux}\index{ATI}\label{atilinux}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
There is support for \Index{ATI} chips in XFree86-4.1 and greater. Lots of
|
||||
AGP boards based on the Rage128 chip - from simple Rage128 board to ATI
|
||||
Xpert2000 - are mostly usable for FlightGear. Since XFree86-4.1 you can use
|
||||
early Radeon chips - up to Radeon7500 with XFree86-4.2.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Building your own OpenGL support under \Index{Linux}\index{OpenGL}\label{ownopengl}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Setting up proper OpenGL support\index{OpenGL!Linux} with a recent Linux distribution should be
|
||||
pretty simple. As an example \Index{SuSE} ships everything you need plus some small
|
||||
shell scripts to adjust the missing bits automagically. If you just want to
|
||||
execute pre-built binaries of FlightGear, then you're done by using the
|
||||
supplied \FlightGear{} package plus the mandantory runtime libraries (and
|
||||
kernel modules). The package manager will tell you which ones to choose.
|
||||
|
||||
In case you want to run a self-made kernel, you want to compile \FlightGear{}
|
||||
yourself, you're tweaking your X server configuration file yourself or you
|
||||
even run a homebrewed Linux ''distribution'' (this means, you want to compile
|
||||
everything yourself), this chapter might be useful for you.
|
||||
|
||||
Now let's have a look at the parts that build OpenGL support on Linux. First
|
||||
there's a Linux kernel with support for your graphics adapter.
|
||||
|
||||
Examples on which graphics hardware is supported natively by Open Source
|
||||
drivers are provided on
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\web{http://dri.sourceforge.net/status.phtml}.
|
||||
\medskip
|
||||
|
||||
There are a few graphics chip families that are not directly or no more than
|
||||
partly supported by \Index{XFree86}, the X window implementation on Linux, because
|
||||
vendors don't like to provide programming information on their chips. In
|
||||
these cases - notably IBM/DIAMOND/now: \Index{ATI} FireGL graphics boards and \Index{NVIDIA}
|
||||
GeForce based cards - you depend on the manufacturers will to follow the
|
||||
ongoing development of the XFree86 graphics display infrastructure. These
|
||||
boards might prove to deliver impressing performance but in many cases -
|
||||
considering the CPU's speed you find in today's PC's - you have many choices
|
||||
which all lead to respectable performance of \FlightGear{}.
|
||||
|
||||
As long as you use a distribution provided kernel, you can expect to find
|
||||
all necessary kernel modules at the appropriate location. If you compile the
|
||||
kernel yourself, then you have to take care of two sub-menus in the kernel
|
||||
configuration menu. You'll find them in the ''Character devices'' menu.
|
||||
Please notice that AGP support is not compulsory for hardware accelerated
|
||||
OpenGL support on Linux. This also works quite fine with some PCI cards
|
||||
(\Index{3dfx} Voodoo3 PCI for example, in case you still own one). Although every
|
||||
modern PC graphics card utilizes the AGP 'bus' for fast data transfer.
|
||||
|
||||
Besides ''\Index{AGP Support}'' for your chipset - you might want to ask your
|
||||
mainboard manual which one is on - you definitely want to activate ''Direct
|
||||
Rendering Manager'' for your graphics board. Please note that recent releases
|
||||
of XFree86 - namely 4.1.0 and higher might not be supported by the DRI
|
||||
included in older Linux kernels. Also newer 2.4.x kernels from 2.4.8 up to
|
||||
2.4.17 do not support DRI in XFree86-4.0.x.
|
||||
|
||||
After building and installing your kernel modules and the kernel itself this
|
||||
task might be completed by loading the 'agpgart' module manually or, in case
|
||||
you linked it into the kernel, by a reboot in purpose to get the new kernel
|
||||
up and running. While booting your kernel on an AGP capable mainboard you
|
||||
may expect boot messages like this one:
|
||||
\medskip
|
||||
|
||||
\begin{ttfamily}
|
||||
\noindent
|
||||
> Linux agpgart interface v0.99 (c) Jeff Hartmann\\
|
||||
> gpgart: Maximum main memory to use for agp memory: 439M\\
|
||||
> agpgart: Detected Via Apollo Pro chipset\\
|
||||
> agpgart: AGP aperture is 64M @ 0xe4000000
|
||||
\end{ttfamily}
|
||||
\medskip
|
||||
|
||||
If you don't encounter such messages on Linux kernel boot, then you might
|
||||
have missed the right chip set. Part one of activation hardware accelerated OpenGL support on your Linux system is now completed.
|
||||
|
||||
The second part consists of configuring your \Index{X server} for OpenGL. This is
|
||||
not a big deal as it simply consists of to instructions to load the
|
||||
appropriate modules on startup of the X server.
|
||||
This is done by editing the configuration file \texttt{/etc/X11/XF86Config}. Today's
|
||||
Linux distributions are supposed to provide a tool that does this job for
|
||||
you on your demand. Please make sure there are these two instructions:
|
||||
\medskip
|
||||
|
||||
|
||||
\texttt{Load ''glx''}
|
||||
|
||||
\texttt{Load ''dri''}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
in the ''Module'' section your \Index{X server} configuration file. If everything is
|
||||
right the X server will take care of loading the appropriate Linux kernel
|
||||
module for DRI support of your graphics card. The right Linux kernel module
|
||||
name is determined by the 'Driver' statement in the ''Device'' section of the
|
||||
XF86Config. Please see three samples on how such a ''Device'' section should
|
||||
look like:
|
||||
\medskip
|
||||
|
||||
\begin{ttfamily}
|
||||
\noindent
|
||||
Section ''Device''
|
||||
|
||||
|
||||
BoardName ''3dfx Voodoo3 PCI''
|
||||
|
||||
BusID ''0:8:0''
|
||||
|
||||
Driver ''tdfx''
|
||||
|
||||
Identifier ''Device[0]''
|
||||
|
||||
Screen 0
|
||||
|
||||
VendorName ''3Dfx''
|
||||
|
||||
|
||||
\noindent
|
||||
EndSection
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Section ''Device''
|
||||
|
||||
|
||||
BoardName ''ATI Xpert2000 AGP''
|
||||
|
||||
BusID ''1:0:0''
|
||||
|
||||
Driver ''ati''
|
||||
|
||||
Option ''AGPMode'' ''1''
|
||||
|
||||
Identifier ''Device[0]''
|
||||
|
||||
Screen 0
|
||||
|
||||
VendorName ''ATI''
|
||||
|
||||
\noindent
|
||||
EndSection
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Section ''Device''
|
||||
|
||||
BoardName ''ATI Radeon 32 MB DDR AGP''
|
||||
|
||||
BusID ''1:0:0''
|
||||
|
||||
Driver ''radeon''
|
||||
|
||||
Option ''AGPMode'' ''4''
|
||||
|
||||
Identifier ''Device[0]''
|
||||
|
||||
Screen 0
|
||||
|
||||
VendorName ''ATI''
|
||||
|
||||
\noindent
|
||||
EndSection
|
||||
\medskip
|
||||
\end{ttfamily}
|
||||
|
||||
By using the Option ''AGPMode'' you can tune AGP performance as long as the
|
||||
mainboard and the graphics card permit. The BusID on \Index{AGP} systems should
|
||||
always be set to ''1:0:0'' - because you only have one AGP slot on your board
|
||||
- whereas the \Index{PCI} BusID differs with the slot your graphics card has been
|
||||
applied to. 'lspci' might be your friend in desperate situations. Also a
|
||||
look at the end of /var/log/XFree86.0.log, which should be written on X
|
||||
server startup, should point to the PCI slot where your card resides.
|
||||
|
||||
This has been the second part of installing hardware accelerated OpenGL
|
||||
support on your Linux box.
|
||||
|
||||
The third part carries two subparts: First there are the OpenGL runtime
|
||||
libraries,\index{OpenGL!runtime libraries} sufficient to run existing appliactions. For compiling FlightGear you also need the suiting developmental headers.
|
||||
As compiling the whole X window system is not subject to this abstract we
|
||||
expect that your distribution ships the necessary libraries and headers. In
|
||||
case you told your package manager to install some sort of OpenGL support
|
||||
you are supposed to find some OpenGL test utilities, at least there should
|
||||
be 'glxinfo' or 'gl-info'.
|
||||
|
||||
These command-line utilities are useful to say if the previous steps where
|
||||
successfull. If they refuse to start, then your package manager missed
|
||||
something because he should have known that these utilities usually depend
|
||||
on the existence of OpenGL runtime libraries. If they start, then you're one
|
||||
step ahead. Now watch the output of this tool and and have a look at the
|
||||
line that starts with
|
||||
|
||||
\Index{OpenGL renderer string}:
|
||||
|
||||
If you find something like
|
||||
\medskip
|
||||
|
||||
\texttt{OpenGL renderer string: FireGL2 / FireGL3 (Pentium3)}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
or
|
||||
\medskip
|
||||
|
||||
\texttt{OpenGL renderer string: Mesa DRI Voodoo3 20000224}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
or
|
||||
\medskip
|
||||
|
||||
\texttt{OpenGL renderer string: Mesa DRI Radeon 20010402}
|
||||
|
||||
\texttt{AGP 4x x86}
|
||||
\medskip
|
||||
|
||||
\texttt{OpenGL renderer string: Mesa GLX Indirect}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
mind the word 'Indirect', then it's you who missed something, because OpenGL
|
||||
gets dealt with in a software library running solely on your CPU. In this
|
||||
case you might want to have a closer look at the preceding paragraphs of
|
||||
this chapter. Now please make sure all necessary libraries are at their
|
||||
proper location.
|
||||
You will need three OpenGL libraries for running \FlightGear{}. In most cases
|
||||
you will find them in /usr/lib/:
|
||||
|
||||
\texttt{/usr/lib/libGL.so.1}
|
||||
|
||||
\texttt{/usr/lib/libGLU.so.1}
|
||||
|
||||
\texttt{/usr/lib/libglut.so.3}
|
||||
|
||||
These may be the libraries itself or symlinks to appropriate libraries
|
||||
located in some other directories. Depending on the distribution you use
|
||||
these libraries might be shipped in different packages. \Index{SuSE} for example
|
||||
ships libGL in package 'xf86\_glx', libGLU in 'xf86glu' and libglut in
|
||||
'mesaglut'. Additionally for \FlightGear{} you need libplib which is part of
|
||||
the 'plib' package.
|
||||
|
||||
For compiling \FlightGear{} yourself - as already mentioned - you need the
|
||||
appropriate header files which often reside in /usr/include/GL/. Two are
|
||||
necessary for libGL and they come in - no, not 'xf86glx-devel' (o.k., they
|
||||
do but they do not work correctly) but in 'mesa-devel':
|
||||
\medskip
|
||||
|
||||
\texttt{/usr/include/GL/gl.h}
|
||||
|
||||
\texttt{/usr/include/GL/glx.h}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
One comes with libGLU in 'xf86glu-devel':
|
||||
\medskip
|
||||
|
||||
\texttt{/usr/include/GL/glu.h}
|
||||
\medskip
|
||||
|
||||
and one with libglut in 'mesaglut-devel'
|
||||
\medskip
|
||||
|
||||
\texttt{/usr/include/GL/glut.h}
|
||||
\medskip
|
||||
|
||||
The 'plib' package comes with some more libraries and headers that are too
|
||||
many to be mentioned here. If all this is present and you have a comfortable
|
||||
compiler environment, then you are ready to compile \FlightGear{} and enjoy the
|
||||
result.
|
||||
|
||||
|
||||
Further information on \Index{OpenGL} issues of specific \Index{XFree86} releases is
|
||||
available here:
|
||||
\medskip
|
||||
|
||||
\underline{http://www.xfree86.org/{$<$}RELEASE NUMBER{$>$}/DRI.html}
|
||||
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Additional reading on \Index{DRI}:
|
||||
\medskip
|
||||
|
||||
\web{http://www.precisioninsight.com/piinsights.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
In case you are missing some 'spare parts':
|
||||
\medskip
|
||||
|
||||
\web{http://dri.sourceforge.net/res.phtml}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{OpenGL on Macintosh}\index{OpenGL!Macintosh}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
OpenGL is pre-installed on Mac OS 9.x and later. You may find a newer version than the one installed for \Index{Mac OS 9.x} at
|
||||
\medskip
|
||||
|
||||
\web{http://www.apple.com/opengl}
|
||||
\medskip
|
||||
|
||||
You should receive the updates automatically for \Index{Mac OSX}.
|
||||
|
||||
|
||||
\noindent
|
||||
\textbf{One final word:} We would recommend that you test your \Index{OpenGL} support
|
||||
with one of the programs that accompany the drivers, to be absolutely confident
|
||||
that it is functioning well. There are also many little programs, often available as
|
||||
screen savers, that can be used for testing. It is important that you are confident in
|
||||
your graphics acceleration because \FlightGear{} will try to run the card as fast as
|
||||
possible. If your drivers aren't working well, or are unstable, you will have difficulty
|
||||
tracking down the source of any problems and have a frustrating time.
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
||||
%% incl. Linux stuff from b buckel
|
||||
%% Revision 0.01 1998/09/20 michael
|
||||
%% several extensions and corrections
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% added 3dfx stuff from b. buckel
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% Remark on mini-OpenGL drivers
|
||||
%% revision 0.12 1999/03/07 bernhard
|
||||
%% Complete rewrite of 3DFX/Linux part
|
||||
%% revision 0.12 1999/03/07 michael
|
||||
%% Added Riva TNT Win95
|
||||
%% Added 3DFX Win95
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% corrections of links
|
||||
%% revision 0.21 1999/06/30 bernhard
|
||||
%% updated and expanded 3DFX/Linux
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% Minor corrections, mainly on software rendering
|
||||
%% revision 0.31 2000/05/01 michael
|
||||
%% Added remarks on OpenGL/Matrox by Alex Perry
|
||||
%% revision 0.5 2002/01/01 michael/martin
|
||||
%% completely shortened and rewritten
|
||||
%% removed all stuff old cards, notably 3DFX related
|
||||
%% added new description for NVIDIA cards
|
||||
%% removed section on software rendering - no longer useful,
|
||||
%% added OpenGL setup
|
||||
%% Section ATI chip based cards under Linux by Martin
|
||||
%% revision 0.6 2002/01/01 michael
|
||||
%% removed numerous spelling errors :-(
|
49
Docs/source/packing.bat
Normal file
|
@ -0,0 +1,49 @@
|
|||
mkdir installguide
|
||||
cd installguide
|
||||
mkdir html
|
||||
mkdir pdf
|
||||
mkdir source
|
||||
|
||||
cd..
|
||||
copy *.html installguide\html
|
||||
copy FGShortRef.html installguide\html
|
||||
copy *.gif installguide\html
|
||||
copy *.css installguide\html
|
||||
copy getstart.pdf installguide\pdf
|
||||
copy FGShortRef.pdf installguide\pdf
|
||||
copy *.tex installguide\source
|
||||
copy *.eps installguide\source
|
||||
copy *.jpg installguide\source
|
||||
copy makedoku.bat installguide\source
|
||||
copy makeshortref.bat installguide\source
|
||||
copy packing.bat installguide\source
|
||||
|
||||
cd installguide
|
||||
zip fgfs-manual-0.7.11.zip -r *.*
|
||||
copy fgfs-manual-0.7.11.zip ..
|
||||
del fgfs-manual-0.7.11.zip
|
||||
|
||||
cd html
|
||||
del *.gif
|
||||
del *.html
|
||||
del *.css
|
||||
cd ..
|
||||
cd pdf
|
||||
del *.pdf
|
||||
cd ..
|
||||
cd source
|
||||
del *.tex
|
||||
del *.eps
|
||||
del *.jpg
|
||||
del makedoku.bat
|
||||
del makeshortref.bat
|
||||
del packing.bat
|
||||
cd ..
|
||||
|
||||
rmdir html
|
||||
rmdir pdf
|
||||
rmdir source
|
||||
cd..
|
||||
rmdir installguide
|
||||
|
||||
|
1297
Docs/source/panel3d.eps
Normal file
BIN
Docs/source/panel3d.jpg
Normal file
After Width: | Height: | Size: 63 KiB |
1473
Docs/source/panel5.eps
Normal file
BIN
Docs/source/panel5.jpg
Normal file
After Width: | Height: | Size: 72 KiB |
175
Docs/source/preface.tex
Normal file
|
@ -0,0 +1,175 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: preface.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter*{Preface\label{preface}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\FlightGear{} is a free Flight Simulator developed cooperatively over the Internet
|
||||
by a group of Flight Simulation and Programming Enthusiasts. This ''Installation and Getting
|
||||
Started'' is meant to give beginners a guide in getting \FlightGear{} up and running. It is not intended to provide complete documentation of all the features and add-ons of \FlightGear{} but, instead, focuses on those aspects necessary to get into the air.
|
||||
|
||||
This guide is split into two parts. The first part describes how to install the program while the second part details on how to actually fly with \FlightGear{}.
|
||||
|
||||
The chapters concentrate on the following aspects:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\textbf{Part I: Installation}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Chapter \ref{free}, \textit{Want to have a free flight? Take \FlightGear{}}, introduces
|
||||
the concept, describes the system requirements, and classifies the different versions
|
||||
available.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Chapter \ref{building}, \textit{Building the plane: Compiling the program},
|
||||
explains how to build (compile and link) the simulator. Depending on your platform this
|
||||
may or may not be required. Generally, there will be executable programs (binaries)
|
||||
available for several platforms. Those on such systems who want to take off immediately,
|
||||
without going through the potentially troublesome process of compiling, may skip this
|
||||
Chapter.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
In Chapter \ref{prefligh}, \textit{Preflight: Installing \FlightGear{}}, you will find
|
||||
instructions for installing the binaries\index{binary distribution} in case you did not
|
||||
build them yourself as specified in the previous Chapter. You will need to install
|
||||
scenery, textures, and other support files collected in the \Index{base package}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\textbf{Part II: Flying with \FlightGear{}}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
The following Chapter \ref{takeoff}, \textit{Takeoff: How to start the
|
||||
program}, describes how to actually start the installed program. It includes an overview on the numerous command line options as well as configuration files.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Chapter \ref{flight}, \textit{In-flight: All about instruments, keystrokes and menus},
|
||||
describes how to operate the program, i.\,e. how to actually fly with
|
||||
\FlightGear{}\hspace{-1mm}. This includes a (hopefully) complete list of pre-defined keyboard
|
||||
commands, an overview on the menu entries, detailed descriptions on the instrument panel and
|
||||
HUD (head up display), as well as hints on using the mouse functions.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
In Appendix \ref{missed}, \textit{Missed approach: If anything refuses to work},
|
||||
we try to help you work through some common problems faced when using \FlightGear{}.
|
||||
\bigskip
|
||||
|
||||
\noindent
|
||||
The Appendix \ref{opengl}, \textit{OpenGL graphics drivers}, describes some special problems you may encounter in case your system lacks support for the OpenGL graphics API \Index{OpenGL} which \FlightGear{} is based on.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
In the final Appendix \ref{landing}, \textit{Landing: Some further thoughts before leaving the plane}, we would like to give credit to those who deserve it, sketch an overview
|
||||
on the development of \FlightGear and point out what remains to be done.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Accordingly, we suggest reading the Chapters as follows:
|
||||
\medskip
|
||||
|
||||
|
||||
\noindent
|
||||
\begin{tabular}{ll}
|
||||
\textbf{Installation} &\\
|
||||
Users of binary distributions (notably under Windows): & \ref{prefligh}\\
|
||||
Installation under Linux/UNIX: & \ref{building}, \ref{prefligh}\\
|
||||
Installation under Macintosh: & \ref{prefligh}\\
|
||||
\textbf{Operation} & \\
|
||||
Program start (all users): & \ref{takeoff}\\
|
||||
Keycodes, Panel, Mouse\ldots (all users): & \ref{flight}\\
|
||||
\textbf{Troubleshooting} & \\
|
||||
General issues: & \ref{missed}\\
|
||||
Graphics problems: & \ref{opengl}\\
|
||||
\textbf{Optionally} & \ref{free}, \ref{landing}
|
||||
\end{tabular}
|
||||
\bigskip
|
||||
|
||||
\noindent
|
||||
While this introductory guide is meant to be self contained, we strongly suggest having a look into further documentation, especially in case of trouble:
|
||||
|
||||
\begin{itemize}
|
||||
\item For additional hints on troubleshooting and more, \textbf{please read the FAQ}\index{FAQ}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\web{http://www.flightgear.org/Docs/FlightGear-FAQ.html},
|
||||
|
||||
The FAQ contains a host of valuable information, especially on rapidly changing flaws and additional reading, thus we strongly suggest consulting it in conjunction with our guide.
|
||||
|
||||
|
||||
\item A handy \textbf{leaflet}\index{leaflet} on operation for printout is available at
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\web{http://www.flightgear.org/Docs/InstallGuide/FGShortRef.html},
|
||||
\item Additional user documentation on special aspects is available within the base package under the directory \texttt{/FlightGear/Docs}.
|
||||
\end{itemize}
|
||||
|
||||
\noindent
|
||||
Finally:
|
||||
\medskip
|
||||
|
||||
|
||||
We know, most people hate reading manuals. If you are sure the graphics driver for your card supports \Index{OpenGL} (check documentation; for instance all \Index{NVIDIA} Windows and Linux drivers for \Index{TNT}/TNT2/\Index{Geforce}/Geforce2/Geforce3 do) and if you are using one of the following operating systems:
|
||||
|
||||
\begin{itemize}
|
||||
\item \Index{Windows} 95/98/ME/NT/2000/XP,
|
||||
\item \Index{Macintosh} Mac OSX
|
||||
\item \Index{Linux}
|
||||
\item \Index{SGI Irix}
|
||||
\end{itemize}
|
||||
|
||||
\noindent
|
||||
you can possibly skip at least Part I of this manual and exploit the pre-compiled binaries\index{binaries!pre-compiled}. These as well as instructions on how to set them up, can be found at
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Downloads/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
In case you are running \FlightGear{} on Linux, you may also be able to get binaries bundled with your distribution. Several vendors already include \FlightGear{} binaries into their distributions.
|
||||
|
||||
Just download them, install them according to the description and run them via the installed \texttt{runfgfs} script or the batch file \texttt{runfgfs.bat}, respectively.
|
||||
|
||||
There is no guarantee for this approach to work, though. If it doesn't, don't give up! Have a closer look through this guide notably Section \ref{prefligh} and be sure to check out the \Index{FAQ}.
|
||||
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.41.
|
||||
%% Revision 0.01 2002/01/01 michael
|
||||
%% Included outline of the Guide, integrated former separate chapter ''Quickstart''
|
||||
%% revision 0.5 2002/01/01 michael/martin
|
||||
%% Hint on Linux distros
|
||||
%% revision 0.6 2002/09/09 michael
|
||||
%% minor corrections
|
251
Docs/source/prefligh.tex
Normal file
|
@ -0,0 +1,251 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: prefligh.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Preflight: Installing \FlightGear{} \label{prefligh}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markboth{\thechapter.\hspace*{1mm} PREFLIGHT}{\thesection\hspace*{1mm} INSTALLING THE
|
||||
BINARIES}
|
||||
|
||||
You can skip this Section if you built \FlightGear{} along the lines described in the
|
||||
previous Chapter. If you did not and you're jumping in here, your first step will consist in
|
||||
installing the binaries. At present, there are pre-compiled \Index{binaries} available
|
||||
for
|
||||
|
||||
\begin{itemize}
|
||||
\item Windows (any flavor),
|
||||
\item Macintosh OSX,
|
||||
\item Linux,
|
||||
\item SGI Irix.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Installing the binary distribution on a Windows system}\index{binaries!Windows}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
The following supposes you are on a Windows (95/98/Me/NT/2000/XP) \index{Windows} system.
|
||||
Installing the binaries is quite simple. Go to
|
||||
\medskip
|
||||
|
||||
\web{ftp://www.flightgear.org/pub/flightgear/Win32/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and download the three files \texttt{fgfs-base-X.X.X.zip}, \texttt{fgfs-manual-X.X.X.zip}, and \texttt{fgfs-win32-bin-X.X.X.zip} from
|
||||
\medskip
|
||||
|
||||
\web{ftp://www.flightgear.org/pub/flightgear/Win32/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
to a drive of your choice. Windows XP includes a program for unpacking *.zip files. If you are working under an older version of Windows, we suggest getting Winzip from
|
||||
\medskip
|
||||
|
||||
\web{http://www.winzip.com/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
For a free alternative, you may consider \texttt{unzip} from Info-ZIP,
|
||||
\medskip
|
||||
|
||||
http://www.info-zip.org/pub/infozip/
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Extract the files named above. If you choose drive \texttt{c:} you should find a file
|
||||
\texttt{runfgfs.bat} under \texttt{c:/Flightgear} now. Double-clicking it should invoke
|
||||
the simulator.
|
||||
|
||||
In case of doubt about the correct directory structure, see the summary at the
|
||||
end of chapter \ref{building}.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Installing the binary distribution on a Macintosh system}\index{binaries!Macintosh}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
If your \Index{Macintosh} is running the conventional \Index{Mac OS 9} or earlier, there are versions up to \FlightGear{} 0.7.6 available being provided courtesy Darrell
|
||||
Walisser)\index{Walisser, Darrell}. Download the file \verb/FlightGear_Installer_0.X.X.sit/ from the corresponding subdirectory under
|
||||
\medskip
|
||||
|
||||
\web{http://icdweb.cc.purdue.edu/~walisser/fg/}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
This file contains the program as well as the required base package files (scenery etc.).
|
||||
For unpacking, use \texttt{Stuffit Expander 5.0}\index{Stuffit Expander} or later.
|
||||
|
||||
The latest build available for Mac OS 9.x is 0.7.6, located in the same place. The base package is part of the download for Mac OS 9.x, but not for Mac OSX.
|
||||
|
||||
Alternatively, if you are running \Index{Mac OS X}, download \texttt{fgfs-0.X.X.gz} from
|
||||
the same site named above. The Mac OS X builds are in a gzip file in the same directory. There is a Readme file in the directory to help people identify what to download.
|
||||
|
||||
Mac OS X requires that you first download the base package. Then extract it with
|
||||
|
||||
\noindent
|
||||
\texttt{tar -zxvf fgfs-base-X.X.X.tar.gz}\\
|
||||
\texttt{gunzip fgfs-X.X.X.-date.gz}
|
||||
|
||||
\noindent
|
||||
Note that there is no \texttt{runfgfs} script for Mac OS X yet.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Installing the binary distribution on a Debian Linux system}\index{binaries!Debian}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Download the file \verb/flightgear_0.7.6-6_i386.deb/ (being provided courtesy Ove
|
||||
Kaaven)\index{Kaaven, Ove} from any of the \Index{Debian} mirror sites listed at
|
||||
\medskip
|
||||
|
||||
\web{http://packages.debian.org/unstable/games/flightgear.html}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Like any Debian package, this can be installed via
|
||||
\medskip
|
||||
|
||||
\verb/dpkg --install flightgear_0.7.6-6_i386.deb/.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
After installation, you will find the directory \texttt{/usr/local/Flightgear}
|
||||
containing the script \texttt{runfgfs} to start the program.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Installing the binary distribution on a SGI IRIX system}\index{binaries!SGI Irix}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
If there are binaries available for SGI IRIX systems, download all the required files (being provided courtesy Erik Hofman)\index{Hofman, Erik}
|
||||
from
|
||||
\medskip
|
||||
|
||||
\web{http://www.a1.nl/~ehofman/fgfs/}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and install them. Now you can start \FlightGear{} via running the script\\
|
||||
\texttt{/opt/bin/fgfs}.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Installing add-on scenery}\index{scenery!add-on}\index{add-on scenery}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
There are two complete sets of scenery files with worldwide coverage available, now, being based on different source data. One data set was created by Curt Olson\index{Olson, Curt} and can be downloaded via a clickable map\index{map, clickable} from
|
||||
\medskip
|
||||
|
||||
\web{http://www.flightgear.org/Downloads/world-scenery.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Moreover, Curt provides the complete set of US Scenery on \Index{CD-ROM} for those who
|
||||
really would like to fly over all of the USA. For more detail, check the remarks on the
|
||||
downloads page above.
|
||||
|
||||
An alternative data set was produced by William Riley\index{Riley, William} and is available from
|
||||
\medskip
|
||||
|
||||
\web{http://www.randdtechnologies.com/fgfs/newScenery/world-scenery.html}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
again using a \index{map, clickable}.
|
||||
|
||||
While the first data set is based on the \Index{USGS} data, the second one is based on the so-called \Index{VMap0} data set. While there may be more differences to discover, the first one has much better coast lines, while the latter sports world-wide coverage of streets, rivers, lakes, and more. Scenery provided in the base package is based on the second data set (though covering a small area around San Francisco, only).
|
||||
|
||||
Installation of both data sets is identical. You have to unpack them under \texttt{/Flightgear/Scenery}. Do not de-compress the numbered scenery files like 958402.gz! This will be done by \FlightGear{} on the fly.
|
||||
|
||||
As an example, consider installation of the scenery package w120n30 containing the Grand
|
||||
Canyon Scenery.
|
||||
|
||||
After having installed the \Index{base package}, you should have ended up with the
|
||||
following directory structure:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{/usr/local/FlightGear/Scenery}
|
||||
|
||||
\noindent
|
||||
\texttt{/usr/local/FlightGear/w130n30}
|
||||
|
||||
\noindent
|
||||
\texttt{/usr/local/FlightGear/w130n30/w122n37}\\
|
||||
\texttt{/usr/local/FlightGear/Scenery/w130n30/w123n37}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
with the directories w122n37 and w123n37m, resp. containing numerous *.gz
|
||||
files. Installation of the Grand Canyon scenery adds to this the directories
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{/usr/local/FlightGear/w120n30/w112n30}\\
|
||||
\texttt{/usr/local/FlightGear/w120n30/w112n31}\\
|
||||
\texttt{...}\\
|
||||
\texttt{/usr/local/FlightGear/w120n30/w120n39}.
|
||||
\medskip
|
||||
|
||||
You can exploit the \texttt{-$ $-fg-scenery={\it path}} command line option, if you want to install different scenery sets in parallel or want to have scenery sitting in another place.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Installing documentation}\index{documentation!installation}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Most of the packages named above include the complete \FlightGear{} documentation
|
||||
including a .pdf version of this \textit{Installation and Getting Started} Guide intended
|
||||
for pretty printing using Adobe's Acrobat Reader being available from
|
||||
\medskip
|
||||
|
||||
\web{http://www.adobe.com/acrobat}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Moreover, if properly installed, the .html version can be accessed via
|
||||
\FlightGear{}'s \texttt{help} menu entry.
|
||||
|
||||
Besides, the source code contains a directory \texttt{docs-mini} containing numerous
|
||||
ideas on and solutions to special problems. This is also a good place for further
|
||||
reading.
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
||||
%% Revision 0.01 1998/09/20 michael
|
||||
%% several extensions and corrections
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% support files Section completely re-written
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% some updates and corrections, corrected links
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% minor updates, reference to click map
|
||||
%% revision 0.4 2001/05/12 michael
|
||||
%% completely re-written, added MacOS, Debian, SGI secions
|
||||
%% separate sections on global scenery and help
|
||||
%% revision 0.5 2002/01/01 michael
|
||||
%% minor tweaks
|
||||
%% Installing on Mac newly written based on material by Darrell
|
||||
%% revision 0.6 2002/01/01 michael
|
||||
%% Added installation of W. Riley's VMap0 scenery
|
1377
Docs/source/start.eps
Normal file
1315
Docs/source/start2.eps
Normal file
BIN
Docs/source/start2.jpg
Normal file
After Width: | Height: | Size: 64 KiB |
94
Docs/source/tab1.tex
Normal file
|
@ -0,0 +1,94 @@
|
|||
%%
|
||||
%% tab1.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Table of supported planes
|
||||
%%
|
||||
%% Written by Michael Basler, started September 2002.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: tab1.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{tabular}{l|l|l|l}
|
||||
Aircraft type & Start option & FDM & Remarks\\\hline
|
||||
Boeing 747 & \texttt{-$ $-aircraft=747-yasim}
|
||||
& YASim & \\
|
||||
BA A4 Hawk& \texttt{-$ $-aircraft=a4-yasim}
|
||||
& YASim & \\
|
||||
North American X-15 & \texttt{-$ $-aircraft=X15}
|
||||
& JSBSim & experimental supersonic plane \\
|
||||
Airwave Xtreme 150 & \texttt{-$ $-aircraft=airwaveXtreme150-}
|
||||
& \\
|
||||
& \texttt{v1-nl-uiuc}
|
||||
& UIUC & hang glider! \\
|
||||
Beech 99 & \texttt{-$ $-aircraft=beech99-v1-uiuc}
|
||||
& UIUC & no exterior model \\
|
||||
Cessna 172 & \texttt{-$ $-aircraft=c172-3d}
|
||||
& JSBSim & sports a 3D cockpit \\
|
||||
Cessna 172 & \texttt{-$ $-aircraft=c172-3d-yasim}
|
||||
& YASim & sports a 3D cockpit \\
|
||||
Cessna 172 & \texttt{-$ $-aircraft=c172-ifr}
|
||||
& JSBSim & with IFR panel \\
|
||||
Cessna 172 & \texttt{-$ $-aircraft=c172-larcsim}
|
||||
& LaRCsim & \\
|
||||
Cessna 172 & \texttt{-$ $-aircraft=c172}
|
||||
& JSBSim & default \\
|
||||
Cessna 172 & \texttt{-$ $-aircraft=c172-yasim}
|
||||
& YASim & \\
|
||||
Cessna 172p & \texttt{-$ $-aircraft=c172p-3d}
|
||||
& JSBSim & sports a 3D cockpit \\
|
||||
Cessna 172p & \texttt{-$ $-aircraft=c172p}
|
||||
& JSBSim & \\
|
||||
Cessna 172 & \texttt{-$ $-aircraft=c172x}
|
||||
& JSBSim & flight dynamics testbed \\
|
||||
Cessna 182 & \texttt{-$ $-aircraft=c182}
|
||||
& JSBSim & \\
|
||||
Cessna 310 & \texttt{-$ $-aircraft=c310}
|
||||
& JSBSim & \\
|
||||
Cessna 310 & \texttt{-$ $-aircraft=c310-yasim}
|
||||
& YASim & twin-prop machine \\
|
||||
Cessna 310U3A & \texttt{-$ $-aircraft=c310u3a-3d}
|
||||
& JSBSim & twin-prop machine, 3D cockpit \\
|
||||
Cessna 310U3A & \texttt{-$ $-aircraft=c310u3a}
|
||||
& JSBSim & twin-prop machine \\
|
||||
Douglas DC-3 & \texttt{-$ $-aircraft=dc3-yasim}
|
||||
& YASim & \\
|
||||
BA Harrier & \texttt{-$ $-aircraft=harrier-yasim}
|
||||
& YASim & no exterior model \\
|
||||
Piper Cub J3 Trainer & \texttt{-$ $-aircraft=j3cub-yasim}
|
||||
& YASim & \\
|
||||
Siai Marchetti S.211 & \texttt{-$ $-aircraft=marchetti-v1-uiuc}
|
||||
& UIUC & no exterior model \\
|
||||
Space Shuttle & \texttt{-$ $-aircraft=shuttle}
|
||||
& JSBSim & no exterior model \\
|
||||
UFO & \texttt{-$ $-aircraft=ufo}
|
||||
& JSBSim & 'White Project' (UNESCO) \\
|
||||
1903 Wright Flyer & \texttt{-$ $-aircraft=wrightFlyer1903-}
|
||||
& & \\
|
||||
& \texttt{v1-nl-uiuc}
|
||||
& UIUC & historical model \\
|
||||
X-24B & \texttt{-$ $-aircraft=x24b}
|
||||
& JSBSim & USAF/NACA reentry testbed \\
|
||||
Cessna 172 & \texttt{-$ $-aircraft=c172-610x}
|
||||
& JSBSim & full screen, hi-res panel (IFR) \\
|
||||
UFO & \texttt{-$ $-aircraft=ufo}
|
||||
& Magic Carpet & UFO \\
|
||||
\end{tabular}
|
||||
|
||||
%% revision 0.6 2002/09/09 michael
|
||||
%% Initial revision
|
38
Docs/source/tab2.tex
Normal file
|
@ -0,0 +1,38 @@
|
|||
%%
|
||||
%% tab2.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Keyboard controls table 1/Main controls
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: tab1.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{tabular}{|l|l|}\hline
|
||||
Key & Action\\\hline
|
||||
9/3 & Throttle\index{throttle}\\
|
||||
4/6 & Aileron\index{aileron}\\
|
||||
8/2 & Elevator\index{elevator trim}\\
|
||||
0/, & Rudder\index{rudder}\\
|
||||
5 & Center aileron/elevator/rudder\\
|
||||
7/1 & Elevator \Index{trim}\\\hline
|
||||
\end{tabular}
|
||||
|
||||
%% revision 0.5 2002/02/15 michael
|
||||
%% Initial revision
|
40
Docs/source/tab3.tex
Normal file
|
@ -0,0 +1,40 @@
|
|||
%%
|
||||
%% tab3.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Keyboard controls table 2/View directions
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: tab2.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{tabular}{|c|l|}\hline
|
||||
Numeric Key & View direction\index{view directions}\\\hline
|
||||
Shift-8 & Forward\\
|
||||
Shift-7 & Left/forward\\
|
||||
Shift-4 & Left\\
|
||||
Shift-1 & Left/back\\
|
||||
Shift-2 & Back\\
|
||||
Shift-3 & Right/back\\
|
||||
Shift-6 & Right\\
|
||||
Shift-9 & Right/forward\\\hline
|
||||
\end{tabular}
|
||||
|
||||
%% revision 0.5 2002/02/15 michael
|
||||
%% Initial revision
|
52
Docs/source/tab4.tex
Normal file
|
@ -0,0 +1,52 @@
|
|||
%%
|
||||
%% tab4.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Keyboard controls table 3/Additional view options
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: tab3.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{tabular}{|l|l|}\hline
|
||||
Key & Action\\\hline
|
||||
P & Toggle \Index{instrument panel} on/off \\
|
||||
c & Toggle3D/2D cockpit
|
||||
\index{2D cockpit} (if both are available)
|
||||
\index{3D cockpit}\index{cockpit}\\
|
||||
s & Cycle panel style full/mini\\
|
||||
Shift-F5/F6 & Shift the panel in y direction\\
|
||||
Shift-F7/F8 & Shift the panel in x direction\\
|
||||
Shift-F3 & Read a panel from a property list\\
|
||||
i/I & Minimize/maximize HUD \\
|
||||
h/H & Change color of HUD/toggle HUD off\\
|
||||
& forward/backward \\ \hline
|
||||
x/X & Zoom in/out\\
|
||||
v & Cycle \Index{view modes} (pilot, chase, tower)\\ \hline
|
||||
W & Toggle \Index{full screen mode} on/off (3dfx only)\\
|
||||
z/Z & Change \Index{visibility} (fog) forward/backward \\
|
||||
F8 & Toggle fog on/off\\
|
||||
F2 & Refresh Scenery tile cache\\
|
||||
F4 & Force Lighting update\\
|
||||
F9 & Toggle texturing on/off\\
|
||||
F10 & Toggle menu on/off\\ \hline
|
||||
\end{tabular}
|
||||
|
||||
%% revision 0.5 2002/02/15 michael
|
||||
%% Initial revision
|
44
Docs/source/tab5.tex
Normal file
|
@ -0,0 +1,44 @@
|
|||
%%
|
||||
%% tab5.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Keyboard controls table 4/autopilot controls
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: tab4.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{tabular}{|l|l|}\hline
|
||||
Key & Action\\\hline
|
||||
Ctrl + A & Altitude hold\index{altitude hold} toggle on/off\\
|
||||
Ctrl + G & Follow glide slope 1 toggle on/off\\
|
||||
Ctrl + H & Heading hold\index{heading hold} toggle on/off\\
|
||||
Ctrl + N & Follow NAV 1 radial toggle on/off\\
|
||||
Ctrl + S & Autothrottle\index{autothrottle} toggle on/off\\
|
||||
Ctrl + T & Terrain follow toggle on/off\\
|
||||
Ctrl + U & Add 1000 ft. to your altitude (emergency)\\
|
||||
Enter & Increase autopilot heading\\
|
||||
F6 & Toggle autopilot target:\\
|
||||
& current heading/waypoint\\
|
||||
F11 & Autopilot altitude dialog\\
|
||||
F12 & Autopilot heading dialog\\\hline
|
||||
\end{tabular}
|
||||
|
||||
%% revision 0.5 2002/02/15 michael
|
||||
%% Initial revision
|
35
Docs/source/tab6.tex
Normal file
|
@ -0,0 +1,35 @@
|
|||
%%
|
||||
%% tab6.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Keyboard controls table 5/key actions for autopilot enabled
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: tab5.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{tabular}{|l|l|}\hline
|
||||
Key & Action\\\hline
|
||||
8 / 2 & Altitude adjust\\
|
||||
0 / , & Heading adjust\\
|
||||
9 / 3 & Autothrottle adjust \\\hline
|
||||
\end{tabular}
|
||||
|
||||
%% revision 0.5 2002/02/15 michael
|
||||
%% Initial revision
|
40
Docs/source/tab7.tex
Normal file
|
@ -0,0 +1,40 @@
|
|||
%%
|
||||
%% tab7.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Keyboard controls table 6/Engine related controls
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: tab6.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{tabular}{|l|l|}\hline
|
||||
Key & Action\\ \hline
|
||||
SPACE & Fire starter on selected engine(s)\\
|
||||
! & Select 1st engine\\
|
||||
@ & Select 2nd engine\\
|
||||
\# & Select 3rd engine\\
|
||||
\$ & Select 4th engine\\
|
||||
\{ & Decrease Magneto on Selected Engine\\
|
||||
\} & Increase Magneto on Selected Engine\\
|
||||
$\sim$ & Select all Engines\\\hline
|
||||
\end{tabular}
|
||||
|
||||
%% revision 0.5 2002/02/15 michael
|
||||
%% Initial revision
|
49
Docs/source/tab8.tex
Normal file
|
@ -0,0 +1,49 @@
|
|||
%%
|
||||
%% tab8.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Keyboard controls table 7/Miscellaneous
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: tab7.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{tabular}{|l|l|}\hline
|
||||
Key & Action\\\hline
|
||||
B & Toggle parking brake \index{brakes}\index{parking brake} on/off\\
|
||||
b & Apply/release all \Index{brakes}\\
|
||||
g & Toggle landing gear down \index{gear}\index{landing gear}\\
|
||||
, & Left gear brake (useful for \Index{differential braking})\\
|
||||
. & Right gear brake (useful for \Index{differential braking})\\
|
||||
l & Toggle \Index{tail-wheel lock})\\
|
||||
$]$/$[$ & Extend/Retract \Index{flaps}\\ \hline
|
||||
p & Toggle \Index{pause} on/off\\
|
||||
a/A & Speed up/slow down (time acceleration)\\
|
||||
t/T & Time speed up/slow down \\
|
||||
m/M & Change \Index{time offset} (warp) used by t/T forward/backward\\\hline
|
||||
Shift-F2 & Save current flight to \texttt{fgfs.sav}\\
|
||||
Shift-F1 & Restore flight from \texttt{fgfs.sav}\\
|
||||
F3 & Save screen shot under \texttt{fgfs-screen.ppm}\\
|
||||
Shift-F4 & Re-read global preferences from \texttt{preferences.xml}\\
|
||||
Shift-F10 & Toggle data logging of FDM on/off\\\hline
|
||||
ESC & Exit program\\\hline
|
||||
\end{tabular}
|
||||
|
||||
%% revision 0.5 2002/02/15 michael
|
||||
%% Initial revision
|
840
Docs/source/takeoff.tex
Normal file
|
@ -0,0 +1,840 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Chapter file
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: takeof.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Takeoff: How to start the program\label{takeoff}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\markboth{\thechapter.\hspace*{1mm}
|
||||
TAKEOFF}{\thesection\hspace*{1mm} Command line parameters}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Launching the simulator under Unix/Linux}\index{Launching Flightgear!Linux}\index{Starting Flightgear!Linux}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Under Linux (or any other flavor of Unix), \FlightGear{} will be invoked by
|
||||
\medskip
|
||||
|
||||
\texttt{runfgfs -$ $-option1 -$ $-option2\dots},
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
where the options will be described in Section \ref{options} below.
|
||||
|
||||
If something strange happens while using this shell script, if you want to do some
|
||||
debugging (i.e. using ''strace'') or if you just feel nice to be ''keen'', then you can
|
||||
start \FlightGear{} directly by executing the ''fgfs'' binary. In this case you should at
|
||||
least add one variable to your environment,\index{environment variables} which is needed
|
||||
to locate the (mostly) shared library built from the sources of the \SimGear{}
|
||||
package. Please add the respective directory to your \verb/LD_LIBRARY_PATH/. You can do
|
||||
so with the following on Bourne shell (compatibles):
|
||||
|
||||
\begin{verbatim}
|
||||
LD_LIBRARY_PATH=/usr/local/FlightGear/lib:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH/
|
||||
\end{verbatim}
|
||||
|
||||
\noindent
|
||||
or on C shell (compatibles):
|
||||
|
||||
\begin{verbatim}
|
||||
setenv LD_LIBRARY_PATH
|
||||
/usr/local/FlightGear/lib:$LD_LIBRARY_PATH
|
||||
\end{verbatim}
|
||||
|
||||
\noindent
|
||||
Besides this (used by the dynamic linker) ''fgfs'' knows about the following environment variable:
|
||||
\noindent
|
||||
|
||||
\verb/FG_ROOT/: root directory for the \FlightGear{} base package,
|
||||
|
||||
\noindent
|
||||
which corresponds to the \texttt{-$ $-fg-root={\it path}} option as described in Sec. \ref{generaloptions}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Launching the simulator under Windows}\index{Launching Flightgear!Windows}\index{Starting Flightgear!Windows}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
For launching \FlightGear{} from Windows explorer, change to the directory \texttt{/FlightGear} and double-click the file \texttt{runfgfs.bat}. You can also pass command line options from Sec. \ref{takeoff} to the batch file (if running it form a Command shell). However, you have to enclose them in double quotes in this case as follows:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{runfgfs.bat ''-$ $-aircraft=4a-yasim'' ''-$ $-airport-id=KLAX''}.
|
||||
\medskip
|
||||
|
||||
\centerline{\fbox{
|
||||
\includegraphics[clip,width=12.5cm]{ksfo}
|
||||
}}
|
||||
\smallskip
|
||||
|
||||
\noindent
|
||||
Fig.\,3: \textit{Ready for takeoff. Waiting at the default startup position at San
|
||||
Francisco Itl., KSFO.}
|
||||
\medskip
|
||||
|
||||
Alternatively, if for one or the other reason the batch file above does not work or is missing,
|
||||
you can open a command shell, change to the directory where your binary resides
|
||||
(typically something like \texttt{c:/FlightGear/bin} where you might have to substitute
|
||||
\texttt{c:} in favor of your \FlightGear{} directory), set the \Index{environment
|
||||
variable} via (note the backslashes!)
|
||||
\medskip
|
||||
|
||||
\texttt{SET FG\_ROOT=c:$\backslash$FlightGear$\backslash$}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and invoke \FlightGear{} (within the same Command shell, as environment
|
||||
settings are only valid locally within the same shell) via
|
||||
\medskip
|
||||
|
||||
\texttt{fgfs -$ $-option1 -$ $-option2\dots}.
|
||||
\medskip
|
||||
|
||||
Of course, you can create your own \texttt{runfgfs.bat} with Windows \texttt{Editor} using the
|
||||
two lines above.
|
||||
|
||||
For getting maximum performance it is recommended to minimize (iconize) the text output
|
||||
window while running \FlightGear{}$\!$.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Launching the simulator under Mac OS X}\index{Launching Flightgear!Mac OS X}\index{Starting Flightgear!Mac OS X}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Say, you downloaded the base package and binary to your home directory. Then you can open \texttt{Terminal.app} and execute the following sequence:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{setenv FG\_ROOT ~/fgfs-base-X.X.X ./fgfs-X.X.X.-date}\\
|
||||
\texttt{-$ $-option1 -$ $- option 2} (one line)
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
or
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{./fgfs-X.X.X-version-date}
|
||||
\texttt{-$ $-fg-root=\~/fgfs-base-X.X.X}\\
|
||||
\texttt{-$ $-option1 -$ $-option2}. (one line)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Command line parameters\label{options}}\index{command line options}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Following is a complete list and short description of the numerous \Index{command line options}
|
||||
available for \FlightGear{}$\!$. If you are running \FlightGear{} under \Index{Windows} you can include these into
|
||||
\texttt{runfgfs.bat}.
|
||||
|
||||
However, in case of options you want to re-use continually it is recommended to include them into a file called
|
||||
\texttt{.fgfsrc}\index{.fgfsrc} under Unix systems and
|
||||
\texttt{system.fgfsrc},\index{system.fgfsrc} resp. under Windows. This file has to be in
|
||||
the top \FlightGear{} directory (for instance /usr/local/Flightgear). As it depends on your
|
||||
\Index{preferences}, it is not delivered with \FlightGear{}$\!$, but can be created with
|
||||
any text editor (notepad, emacs, vi, if you like).
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{General Options}\index{options!general}\label{generaloptions}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-help}}: Shows the most relevant command line options only.
|
||||
\item{\texttt{-$ $-help} \texttt{-verbose}}: Shows all command line options.
|
||||
\item{\texttt{-$ $-fg-root={\it path}}}: Tells \FlightGear{} where to look for its root data
|
||||
files if you didn't compile it with the \Index{default settings}.
|
||||
\item{\texttt{-$ $-fg-scenery={\it path}}}: Allows specification of a path to the base scenery path \index{scenery directory!path}, in case scenery is not at the default position under\\
|
||||
\texttt{\$FG\underline{~}ROOT/Scenery}; this might be especially useful in case you
|
||||
have scenery on a CD-ROM.
|
||||
\item{\texttt{-$ $-disable-game-mode}}: Disables \Index{full screen display}.
|
||||
\item{\texttt{-$ $-enable-game-mode}}: Enables full screen display.
|
||||
\item{\texttt{-$ $-disable-splash-screen}}: Turns off the rotating 3DFX logo
|
||||
when the accelerator board gets initialized (3DFX only).
|
||||
\item{\texttt{-$ $-enable-splash-screen}}: If you like advertising, set this!
|
||||
\item{\texttt{-$ $-disable-intro-music}}: No audio sample is being played when
|
||||
\FlightGear{} starts up. Suggested in case of trouble with playing the intro.
|
||||
\item{\texttt{-$ $-enable-intro-music}}: If your machine is powerful enough, enjoy
|
||||
this setting.
|
||||
\item{\texttt{-$ $-disable-mouse-pointer}}: Disables extra \Index{mouse pointer}.
|
||||
\item{\texttt{-$ $-enable-mouse-pointer}}: Enables extra \Index{mouse pointer}. Useful in
|
||||
full screen mode for old Voodoo based cards.
|
||||
\item{\texttt{-$ $-enable-random-objects}}: Include random scenery objects (buildings/trees). This is the default.
|
||||
\item{\texttt{-$ $-disable-random-objects}}: Exclude random scenery objects (buildings/trees).
|
||||
\item{\texttt{-$ $-disable-freeze}}: This will put you into \FlightGear{} with the
|
||||
engine running, ready for Take-Off.
|
||||
\item{\texttt{-$ $-enable-freeze}}: Starts \FlightGear{} in \Index{frozen state}.
|
||||
\item{\texttt{-$ $-disable-fuel-freeze}}: Fuel is consumed normally.
|
||||
\item{\texttt{-$ $-enable-fuel-freeze}}: Fuel tank quantity is forced to remain constant.
|
||||
\item{\texttt{-$ $-disable-clock-freeze}}: Time of day advances normally.
|
||||
\item{\texttt{-$ $-enable-clock-freeze}}: Do not advance time of day.
|
||||
\item{\texttt{-$ $-control-mode}}: Specify your \Index{control device} (\Index{joystick},
|
||||
keyboard, mouse) Defaults to \Index{joystick} (\Index{yoke}).
|
||||
\item{\texttt{-$ $-disable-auto-coordination}}: Switches \Index{auto coordination} between
|
||||
aileron/rudder off (default).
|
||||
\item{\texttt{-$ $-enable-auto-coordination}}: Switches auto coordination between
|
||||
aileron/rudder on (recommended without pedals).
|
||||
\item{\texttt{-$ $-browser-app=/path/to/app}}: specify location of your web browser. Example:
|
||||
\texttt{-$ $-browser-app=}\\ \texttt{''C:$\backslash$Programme$\backslash$Internet~Explorer$\backslash$iexplore.exe''} (Note the '' '' because of the broken word Internet Explorer!).
|
||||
\item{\texttt{-$ $-prop:name=value:}} set property \texttt{name} to \texttt{value}\\Example:
|
||||
\texttt{-$ $-prop:/engines/engine0/running=true} for starting with running engines. Another example:\\
|
||||
\texttt{-$ $-aircraft=c172}\\
|
||||
\texttt{-$ $-prop:/consumables/fuels/tank[0]/level-gal=10}\\
|
||||
\texttt{-$ $-prop:/consumables/fuels/tank[1]/level-gal=10}\\
|
||||
filles the Cessna for a short flight.
|
||||
\item{\texttt{-$ $-config=path:}} Load additional properties from the given path. Example: \texttt{runfgfs -$ $-config=./Aircraft/X15-set.xml}
|
||||
\item{\texttt{-$ $-units-feed}}: Use feet for distances.
|
||||
\item{\texttt{-$ $-units-meters}}: Use meters for distances.
|
||||
\end{itemize}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Features}\index{options!features}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-disable-hud}}: Switches off the \Index{HUD} (\textbf{H}ead \textbf{U}p
|
||||
\textbf{D}isplay).
|
||||
\item{\texttt{-$ $-enable-hud}}: Turns the \Index{HUD} on.
|
||||
\item{\texttt{-$ $-enable-anti-aliased-hud}}: Turns on \Index{anti-aliaseded HUD lines} for better quality,
|
||||
if hardware supports this.
|
||||
\item{\texttt{-$ $-disable-anti-aliased-hud}}: Turns off anti-aliaseded HUD lines.
|
||||
\item{\texttt{-$ $-enable-panel}}: Turns the \Index{instrument panel} on (default).
|
||||
\item{\texttt{-$ $-disable-panel}}: Turns the \Index{instrument panel} off.
|
||||
\item{\texttt{-$ $-disable-sound}}: Self explaining.
|
||||
\item{\texttt{-$ $-enable-sound}}: See above.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Aircraft\index{aircraft!selection}}\index{options!aircraft}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-aircraft={\it name of aircraft definition file}}} Example: \texttt{-$ $-aircraft=c310}. For possible choices check the directory \texttt{/FlightGear/Aircraft}. Do not include the extension \texttt{''-set.xml''} into the aircraft name but use the remaining beginning of the respective file names for choosing an aircraft. This way flight model, panel etc. are all loaded in a consistent way. For a full list, see Sec. \ref{hangar} below.
|
||||
\item{\texttt{-$ $-show-aircraft}}: Print a list of the currently available aircraft types.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Flight model\index{flight dynamics model}}\index{options!flight model}\label{flight dynamics model}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-fdm={\it abcd}}} Select the core \Index{flight model}.
|
||||
Options are \texttt{jsb, larcsim, yasim, magic, balloon, external, ada, null}. Default value is
|
||||
\texttt{jsb} (\JSBSim)\index{JSBSim}. larcsim is the flight model which \FlightGear{} inherited from the LaRCSim simulator. yasim is Any Ross' Yet Another Flight Dynamics Simulator. Magic is a slew mode (which drives the UFO aircraft). Balloon is a hot air balloon. External refers to remote control of the simulator. Null selects no flight dynamics model at all. The \Index{UIUC flight model} is not chosen this way but via the next option! For further information on flight models cf. Section \ref{flight models} and below.
|
||||
\item{\texttt{-$ $-aero={\it abcd}}} Specifies the \Index{aircraft model} to load. Default is a Cessna c172. Alternatives available depend on the flight model chosen.
|
||||
\item{\texttt{-$ $-model-hz={\it n}}} Run the Flight Dynamics Model with this rate
|
||||
(iterations per second).
|
||||
\item{\texttt{-$ $-speed={\it n}}} Run the Flight Dynamics Model this much faster than real
|
||||
time.
|
||||
\item{\texttt{-$ $-notrim}} Do NOT attempt to trim the model when initializing JSBSim.
|
||||
\item{\texttt{-$ $-on-ground}}: Start up at ground level (default).
|
||||
\item{\texttt{-$ $-in-air}}: Start up in the air. Naturally, you have to specify an
|
||||
initial altitude as below for this to make sense. This is a must for the X15.
|
||||
\item{\texttt{-$ $-wind={\it DIR@SPEED}}}: Specify wind coming from the direction DIR (in
|
||||
degrees) at speed SPEED (knots). Values may be specified as a range by using a clon separator; e.g. 180:220@10:15
|
||||
\item{\texttt{-$ $-random-wind}}: Adds random wind to make flying more incentive
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Initial Position and Orientation\label{aiportid}}\index{options!initial position}\index{options!orientation}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-airport-id={\it ABCD}}}: If you want to start directly at an \Index{airport},
|
||||
enter its international code,\index{airport code} i.e. KJFK for JFK airport in New York etc.
|
||||
A long/short list of the IDs of the airports being implemented can
|
||||
be found in \texttt{/Flight Gear/Airports}. You only have to unpack
|
||||
one of the files with \texttt{gunzip}. Keep in mind, you need the
|
||||
terrain data for the relevant region, though!\index{airport code}
|
||||
\item{\texttt{-$ $-offset-distance={\it nm}}}: Here you can specify the distance to
|
||||
threshold in nm.
|
||||
\item{\texttt{-$ $-offset-azimuth={\it deg}}}: Here you can specify the heading to
|
||||
threshold in degrees.
|
||||
\item{\texttt{-$ $-lon={\it degrees}}}: This is the \Index{startup longitude} in degrees (west =
|
||||
-).
|
||||
\item{\texttt{-$ $-lat={\it degrees}}}: This is the \Index{startup latitude} in degrees (south =
|
||||
-).
|
||||
\item{\texttt{-$ $-altitude={\it feet}}}: This is useful if you want to start in free
|
||||
flight in connection with \texttt{-$ $-in-air}. Altitude specified in feet unless you
|
||||
choose \texttt{-$ $-units-meters}.
|
||||
\item{\texttt{-$ $-heading={\it degrees}}}: Sets the \Index{initial heading} (yaw angle) in degrees.
|
||||
\item{\texttt{-$ $-roll={\it degrees}}}: Sets the \Index{startup roll angle} (roll angle) in degrees.
|
||||
\item{\texttt{-$ $-pitch={\it degrees}}}: Sets the \Index{startup pitch angle} (pitch angle) in degrees.
|
||||
\item{\texttt{-$ $-uBody={\it feet per second}}}: Speed along the body X axis in feet per second, unless you
|
||||
choose \texttt{-$ $-units-meters}.
|
||||
\item{\texttt{-$ $-vBody={\it feet per second}}}: Speed along the body Y axis in feet per second, unless you
|
||||
choose \texttt{-$ $-units-meters}.
|
||||
\item{\texttt{-$ $-wBody={\it feet per second}}}: Speed along the body Z axis in feet per second, unless you
|
||||
choose \texttt{-$ $-units-meters}.
|
||||
\item{\texttt{-$ $-vc={\it knots}}}: Allows specifying the initial airspeed in knots
|
||||
(only in connection with \texttt{-$ $-fdm=jsb}).
|
||||
\item{\texttt{-$ $-mach={\it num}}}: Allows specifying the initial airspeed as Mach
|
||||
number (only in connection with \texttt{-$ $-fdm=jsb}).
|
||||
\item{\texttt{-$ $-glideslope={\it degrees}}}: Allows specifying the flight path angle (can be positive).
|
||||
\item{\texttt{-$ $-roc={\it fpm}}}: Allows specifying the initial climb rate (can be negative).
|
||||
\end{itemize}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Rendering Options\index{options!rendering}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-bpp={\it depth}}}: Specify the bits per pixel.
|
||||
\item{\texttt{-$ $-fog-disable}}: To cut down the rendering efforts, distant
|
||||
regions are vanishing in \Index{fog} by default. If you disable \Index{fog}ging,
|
||||
you'll see farther but your frame rates will drop.
|
||||
\item{\texttt{-$ $-fog-fastest}}: The scenery will not look very nice but
|
||||
\Index{frame rate} will increase.
|
||||
\item{\texttt{-$ $-fog-nicest}}: This option will give you a fairly realistic
|
||||
view of flying on a hazy day.\index{haze}
|
||||
\item{\texttt{-$ $-enable-clouds}}: Enable \Index{cloud layer} (default).
|
||||
\item{\texttt{-$ $-disable-clouds}}: Disable cloud layer.
|
||||
\item{\texttt{-$ $-fov={\it degrees}}}: Sets the \Index{field of view} in degrees.
|
||||
Default is 55.0.
|
||||
\item{\texttt{-$ $-disable-fullscreen}}: Disable \Index{full screen mode} (default).
|
||||
\item{\texttt{-$ $-enable-fullscreen}}: Enable full screen mode.
|
||||
\item{\texttt{-$ $-shading-flat}}: This is the fastest mode but the terrain will look ugly!
|
||||
This option might help if your video processor is really slow.
|
||||
\item{\texttt{-$ $-shading-smooth}}: This is the recommended (and default) setting - things will look really nice.
|
||||
\item{\texttt{-$ $-disable-skyblend}}: No fogging or \Index{haze}, sky will be displayed
|
||||
using just one color. Fast but ugly!
|
||||
\item{\texttt{-$ $-enable-skyblend}}: Fogging/haze is enabled, sky and \Index{terrain} look realistic. This is the default and recommended setting.
|
||||
\item{\texttt{-$ $-disable-textures}}: Terrain details will be disabled. Looks ugly, but might help if your video board is slow.
|
||||
\item{\texttt{-$ $-enable-textures}}: Default and recommended.
|
||||
\item{\texttt{-$ $-enable-wireframe}}: If you want to know how the world of \FlightGear{} looks like internally, try
|
||||
this!\index{wireframe}
|
||||
\item{\texttt{-$ $-disable-wireframe}}: No wireframe. Default.
|
||||
\item{\texttt{-$ $-geometry={\it WWWxHHH}}}: Defines the size of the window used, i.e.
|
||||
\texttt{WWWxHHH} can be \texttt{640x480}, \texttt{800x600}, or
|
||||
\texttt{1024x768}.\index{window size}
|
||||
\item{\texttt{-$ $-view-offset={\it xxx}}}: Allows setting the default forward view direction as an offset from straight
|
||||
ahead. Possible values are \texttt{LEFT, RIGHT, CENTER}, or a specific number of degrees.
|
||||
Useful for multi-window display.\index{offset}
|
||||
\item{\texttt{-$ $-visibility={\it meters}}}: You can specify the initial visibility in meters here.
|
||||
\item{\texttt{-$ $-visibility-miles={\it miles}}}: You can specify the initial visibility in miles here.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{HUD Options\index{HUD}\index{options!HUD}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-hud-tris}}: HUD displays the number of \Index{triangles} rendered.
|
||||
\item{\texttt{-$ $-hud-culled}}: HUD displays percentage of triangles culled.
|
||||
\end{itemize}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Time Options}\index{time options}\index{options!time}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-time-offset={\it [+-]hh:mm:ss}}}: Offset local \Index{time} by this amount.
|
||||
\item{\texttt{-$ $-time-match-real}}: Synchronize real-world and \FlightGear{} time.
|
||||
\item{\texttt{-$ $-time-match-local}}: Synchronize local real-world and \FlightGear{} time.
|
||||
\item{\texttt{-$ $-start-date-sys={\it yyyy:mm:dd:hh:mm:ss}}}: Specify a \Index{starting time} and date. Uses your system time.
|
||||
\item{\texttt{-$ $-start-date-gmt={\it yyyy:mm:dd:hh:mm:ss}}}: Specify a starting time and
|
||||
date. Time is Greenwich Mean Time.
|
||||
\item{\texttt{-$ $-start-date-lat={\it yyyy:mm:dd:hh:mm:ss}}}: Specify a starting time and
|
||||
date. Uses local aircraft time.
|
||||
\end{itemize}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Network Options}\index{network options}\index{options!network}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-httpd={\it port}}}: Enable \Index{http server} on the specified port.
|
||||
\item{\texttt{-$ $-telnet={\it port}}}: Enable \Index{telnet server} on the specified port.
|
||||
\item{\texttt{-$ $-jpg-httpd={\it port}}}: Enable screen shot http server on the specified port.
|
||||
\item{\texttt{-$ $-enable-network-olk}}: Enables Oliver Delises's multi-pilot mode.
|
||||
\item{\texttt{-$ $-disable-network-olk}}: Disables Oliver Delises's multi-pilot mode (default).
|
||||
\item{\texttt{-$ $-net-hud}}: HUD displays network info.
|
||||
\item{\texttt{-$ $-net-id={\it name}}}: Specify your own \Index{callsign}
|
||||
\end{itemize}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Route/Waypoint Options}\index{options!route}\index{options!waypoint}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-wp={\it ID[@alt]}}}: Allows specifying a waypoint for the GC autopilot; it
|
||||
is possible to specify multiple waypoints (i.e. a route) via multiple instances of this
|
||||
command.
|
||||
\item{\texttt{-$ $-flight-plan={\it [file]}}}: This is more comfortable if
|
||||
you have several waypoints. You can specify a file to read them from.
|
||||
\end{itemize}
|
||||
|
||||
Note: These options are rather geared to the advanced user who knows what he is doing.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{IO Options}\index{options!IO}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-garmin={\it params}}}: Open connection using the Garmin GPS protocol.
|
||||
\item{\texttt{-$ $-joyclient={\it params}}}: Open connection to an Agwagon joystick.
|
||||
\item{\texttt{-$ $-native-ctrls={\it params}}}: Open connection using the FG native Controls protocol.
|
||||
\item{\texttt{-$ $-native-fdm={\it params}}}: Open connection using the FG Native FDM protocol.
|
||||
\item{\texttt{-$ $-native={\it params}}}: Open connection using the FG Native protocol.
|
||||
\item{\texttt{-$ $-nmea={\it params}}}: Open connection using the NMEA protocol.
|
||||
\item{\texttt{-$ $-opengc={\it params}}}: Open connection using the OpenGC protocol.
|
||||
\item{\texttt{-$ $-props={\it params}}}: Open connection using the interactive property manager.
|
||||
\item{\texttt{-$ $-pve={\it params}}}: Open connection using the PVE protocol.
|
||||
\item{\texttt{-$ $-ray={\it params}}}: Open connection using the RayWoodworth motion chair protocol.
|
||||
\item{\texttt{-$ $-rul={\it params}}}: Open connection using the RUL protocol.
|
||||
\item{\texttt{-$ $-atc610x}}: Enable atc610x interface.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Debugging options}\index{options!debugging}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{itemize}
|
||||
\item{\texttt{-$ $-trace-read={\it params}}}: Trace the reads for a property; multiple instances are allowed.
|
||||
\item{\texttt{-$ $-trace-write={\it params}}}: Trace the writes for a property; multiple instances are allowed.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Joystick support\label{joysticksupp}}\index{joystick}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Could you imagine a pilot in his or her Cessna controlling the machine with
|
||||
a keyboard alone? For getting the proper feeling of flight you will need a
|
||||
joystick/yoke plus rudder pedals, right? However, the combination of
|
||||
numerous types of \Index{joystick}s, flightsticks, \Index{yoke}s,
|
||||
\Index{pedal}s etc. on the market with the several target operating systems,
|
||||
makes joystick support a nontrivial task in \FlightGear{}$\!$.
|
||||
|
||||
Beginning with version 0.8.0, \FlightGear{} has a reworked integrated
|
||||
joystick support, which automatically detects any joystick, yoke, or pedals
|
||||
attached. Just try it! If this does work for you, lean back and be happy!
|
||||
|
||||
Unfortunately, given the several combinations of operating systems supported
|
||||
by \FlightGear{} (possibly in foreign languages) and joysticks available,
|
||||
chances are your joystick does not work out of the box. Basically, there are
|
||||
two alternative approaches to get it going, with the first one being
|
||||
preferred.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Built-in joystick support\label{joystickbuiltin}}\index{options!joystick}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsubsection{General remarks\label{generalremarks}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
In order for joystick auto-detection to work, a joystick bindings xml file
|
||||
must exist for each joystick. This file describes what axes and buttons are
|
||||
to be used to control which functions in \FlightGear{}. The associations
|
||||
between functions and axes or buttons are called ''bindings''. This
|
||||
bindings file can have any name as long as a corresponding entry exists in
|
||||
the joysticks description file
|
||||
\medskip
|
||||
|
||||
\texttt{/FlightGear/joysticks.xml}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
which tells \FlightGear{} where to look for all the bindings files. We will
|
||||
look at examples later.
|
||||
|
||||
\FlightGear{} includes several such bindings files for several joystick
|
||||
manufacturers in folders named for each manufacturer. For example, if you
|
||||
have a CH Products joystick, look in the folder
|
||||
\medskip
|
||||
|
||||
\texttt{/FlightGear/Input/Joysticks/CH}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
for a file that might work for your joystick. If such a file exists and
|
||||
your joystick is working with other applications, then it should work with
|
||||
\FlightGear{} the first time you run it. If such a file does not exist,
|
||||
then we will discuss in a later section how to create such a file by cutting
|
||||
and pasting bindings from the examples that are included with \FlightGear{}.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsubsection{Verifying your joystick is working\label{verifying}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Does your computer see your joystick? One way to answer this question under Linux is to reboot your system and immediately enter on the command line
|
||||
\medskip
|
||||
|
||||
\texttt{dmesg | grep Joystick}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
which pipes the boot message to grep which then prints every line in the
|
||||
boot message that contains the string ''Joystick''. When you do this with a
|
||||
Saitek joystick attached, you will see a line similar to this one:
|
||||
\medskip
|
||||
|
||||
\begin{ttfamily}
|
||||
\noindent
|
||||
input0: USB HID v1.00 Joystick [SAITEK CYBORG 3D USB] on usb2:3.0
|
||||
\end{ttfamily}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
This line tells us that a joystick has identified itself as SAITEK CYBORG 3D USB to the operating system. It does not tell us that the joystick driver sees your joystick. If you are working under Windows, the method above does not work, but you can still go on with the next paragraph.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsubsection{Confirming that the driver recognizes your joystick\label{confirming}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\FlightGear{} ships with a utility called js\underline{~}demo. It will report the number of joysticks attached to a system, their respective ''names'', and their capabilities. Under Linux, you can run js\underline{~}demo from the folder \texttt{/FlightGear/bin} as follows:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{\$ cd /usr/local/FlightGear/bin}\\
|
||||
\texttt{\$ ./js\underline{~}demo}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Under Windows, open a command shell (Start$\left|\right.$All Programs$\left|\right.$Accessories), go to the \FlightGear{} binary folder and start the program as follows (given \FlightGear{} is installed under \texttt{c:$\backslash$Flightgear})
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{cd {$\backslash$}FlightGear{$\backslash$}bin}\\
|
||||
\texttt{js\underline{~}demo.exe}
|
||||
\medskip
|
||||
|
||||
On our system, the first few lines of output are (stop the program with \^{~}C if it is quickly scrolling past your window!) as follows:
|
||||
\medskip
|
||||
|
||||
\begin{ttfamily}
|
||||
\tiny
|
||||
\noindent
|
||||
\underline{Joystick test program}.\\
|
||||
Joystick 0: ''CH PRODUCTS CH FLIGHT SIM YOKE USB\, ''\\
|
||||
Joystick 1: ''CH PRODUCTS CH PRO PEDALS USB\,''\\
|
||||
Joystick 2 not detected\\
|
||||
Joystick 3 not detected\\
|
||||
Joystick 4 not detected\\
|
||||
Joystick 5 not detected\\
|
||||
Joystick 6 not detected\\
|
||||
Joystick 7 not detected\\
|
||||
+--------------------JS.0----------------------+--------------------JS.1----------------------+\\
|
||||
| Btns Ax:0 Ax:1 Ax:2 Ax:3 Ax:4 Ax:5 Ax:6 | Btns Ax:0 Ax:1 Ax:2 |\\
|
||||
+----------------------------------------------+----------------------------------------------+\\
|
||||
| 0000 +0.0 +0.0 +1.0 -1.0 -1.0 +0.0 +0.0 . | 0000 -1.0 -1.0 -1.0 . . . . . |\\
|
||||
\end{ttfamily}
|
||||
|
||||
\noindent
|
||||
First note that js\underline{~}demo reports which number is assigned to each joystick recognized by the driver. Also, note that the ''name'' each joystick reports is also included between quotes. We will need the names for each bindings file when we begin writing the binding xml files for each joystick.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsubsection{Identifying the numbering of axes and buttons\label{identifying}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Axis and button numbers can be identified using js\underline{~}demo as follows. By observing the output of js\underline{~}demo while working your joystick axes and buttons you can determine what axis and button numbers are assigned to each joystick axis and button. It should be noted that numbering generally starts with zero.
|
||||
|
||||
The buttons are handled internally as a binary number in which bit 0 (the least significant bit) represents button 0, bit 1 represents button 1, etc., but this number is displayed on the screen in hexadecimal notation, so:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
0001 $\Rightarrow$ button 0 pressed\\
|
||||
0002 $\Rightarrow$ button 1 pressed\\
|
||||
0004 $\Rightarrow$ button 2 pressed\\
|
||||
0008 $\Rightarrow$ button 3 pressed\\
|
||||
0010 $\Rightarrow$ button 4 pressed\\
|
||||
0020 $\Rightarrow$ button 5 pressed\\
|
||||
0040 $\Rightarrow$ button 6 pressed\\
|
||||
... etc. up to ...\\
|
||||
8000 $\Rightarrow$ button 15 pressed\\
|
||||
... and ...\\
|
||||
0014 $\Rightarrow$ buttons 2 and 4 pressed simultaneously\\
|
||||
... etc.
|
||||
\medskip
|
||||
|
||||
For Linux users, there is another option for identifying the ''name'' and the numbers assigned to each axis and button. Most Linux distributions include a very handy program, ''jstest''. With a CH Product Yoke plugged into the system, the following output lines are displayed by jstest:
|
||||
\medskip
|
||||
|
||||
\begin{ttfamily}
|
||||
\tiny
|
||||
\noindent
|
||||
jstest /dev/js3\\
|
||||
Joystick (CH PRODUCTS CH FLIGHT SIM YOKE USB) has 7 axes and 12 buttons. Driver version is 2.1.0\\
|
||||
Testing\ldots (interrupt to exit)\\
|
||||
Axes: 0:\quad 0 1:\quad 0 2:\quad 0 3:\quad 0 4:\quad 0 5:\quad 0 6:\quad 0 Buttons: 0:off 1:off 2:off 3:on 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off\\
|
||||
\end{ttfamily}
|
||||
|
||||
\noindent
|
||||
Note the ''name'' between parentheses. This is the name the system associates with your joystick.
|
||||
|
||||
When you move any control, the numbers change after the axis number corresponding to that moving control and when you depress any button, the ''off'' after the button number corresponding to the button pressed changes to ''on''. In this way, you can quickly write down the axes numbers and button numbers for each function without messing with binary.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsubsection{Writing or editing joystick binding xml files\label{writing}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
At this point, you have confirmed that the operating system and the joystick driver both recognize your joystick(s). You also know of several ways to identify the joystick ''name'' your joystick reports to the driver and operating system. You will need a written list of what control functions you wish to have assigned to which axis and button and the corresponding numbers.
|
||||
|
||||
Make the following table from what you learned from js\underline{~}demo or jstest above (pencil and paper is fine). Here we assume there are 5 axes including 2 axes associated with the hat.
|
||||
\medskip
|
||||
|
||||
\begin{tabular}{c|c}
|
||||
Axis & Button\\\hline
|
||||
elevator = 0 & view cycle = 0\\
|
||||
rudder = 1 & all brakes = 1\\
|
||||
aileron = 2 & up trim = 2\\
|
||||
throttle = 3 & down trim = 3\\
|
||||
leftright hat = 4& extend flaps = 4\\
|
||||
foreaft hat = 5 & retract flaps = 5\\
|
||||
& decrease RPM = 6\\
|
||||
& increase RPM = 7
|
||||
\end{tabular}
|
||||
\medskip
|
||||
|
||||
|
||||
We will assume that our hypothetical joystick supplies the ''name'' QUICK STICK 3D USB to the system and driver. With all the examples included with \FlightGear{}, the easiest way to get a so far unsupported joystick to be auto detected, is to edit an existing binding xml file. Look at the xml files in the sub-folders of \texttt{/FlightGear/Input/Joysticks/}. After evaluating at several of the xml binding files supplied with \FlightGear{}, we decide to edit the file
|
||||
|
||||
\noindent
|
||||
\texttt{/FlightGear/Input/Joysticks/Saitek/Cyborg-Gold-3d-USB.xml}.
|
||||
|
||||
\noindent
|
||||
This file has all the axes functions above assigned to axes and all the button functions above assigned to buttons. This makes our editing almost trivial.
|
||||
|
||||
Before we begin to edit, we need to choose a name for our bindings xml file, create the folder for the QS joysticks, and copy the original xml file into this directory with this name.
|
||||
\medskip
|
||||
|
||||
|
||||
\begin{ttfamily}
|
||||
\noindent
|
||||
\$ cd /usr/local/FlightGear/Input/Joysticks\\
|
||||
\$ mkdir QS\\
|
||||
\$ cd QS\\
|
||||
\$ cp /usr/local/FlightGear/Input/Joysticks/Saitek/\\
|
||||
Cyborg-Gold-3d-USB.xml QuickStick.xml
|
||||
\end{ttfamily}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Here, we obviously have supposed a Linux/UNIX system with \FlightGear{} being installed under \texttt{/usr/local/FlightGear}. For a similar procedure under Windows with \FlightGear{} being installed under \texttt{c:\FlightGear}, open a command shell and type
|
||||
\medskip
|
||||
|
||||
\begin{ttfamily}
|
||||
\noindent
|
||||
c:\\
|
||||
cd /FlightGear/Input/Joysticks\\
|
||||
mkdir QS\\
|
||||
cd QS\\
|
||||
copy /FlightGear/Input/Joysticks/Saitek/\\
|
||||
Cyborg-Gold-3d-USB.xml QuickStick.xml
|
||||
\end{ttfamily}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Next, open \texttt{QuickStick.xml} with your favorite editor. Before we forget to change the joystick name, search for the line containing $<$name$>$. You should find the line
|
||||
\medskip
|
||||
|
||||
\texttt{<name>SAITEK CYBORG 3D USB$<$/name$>$}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and change it to
|
||||
\medskip
|
||||
|
||||
\texttt{$<$name$>$QUICK STICK 3D USB$<$/name$>$}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
This line illustrates a key feature of xml statements. They begin with a $<$tag$>$ and end with a $<$/tag$>$.
|
||||
|
||||
You can now compare your table to the comment table at the top of your file copy. Note that the comments tell us that the Saitek elevator was assigned to axis 1. Search for the string
|
||||
\medskip
|
||||
|
||||
\texttt{$<$axis n="2"$>$}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and change this to
|
||||
\medskip
|
||||
|
||||
\texttt{$<$axis n="1"$>$.}
|
||||
\medskip
|
||||
|
||||
Next, note that the Saitek rudder was assigned to axis 2. Search for the string
|
||||
\medskip
|
||||
|
||||
\texttt{$<$axis n="2"$>$}
|
||||
|
||||
\texttt{$<$axis n="1"$>$.}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
Continue comparing your table with the comment table for the Saitek and changing the axis numbers and button numbers accordingly. Since QUICKSTICK USB and the Saitek have the same number of axes but different number of buttons, you must delete the buttons left over. Just remember to double check that you have a closing tag for each opening tag or you will get an error using the file.
|
||||
|
||||
Finally, be good to yourself (and others when you submit your new binding file to a \FlightGear{} developers or users archive!), take the time to change the comment table in the edited file to match your changed axis and button assignments. The new comments should match the table you made from the js\underline{~}demo output. Save your edits.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsubsection{Telling \FlightGear{} about your new bindings xml file\label{telling}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Before \FlightGear{} can use your new xml file, you need to edit the file
|
||||
|
||||
\noindent
|
||||
\texttt{/FlightGear/joysticks.xml},
|
||||
|
||||
|
||||
\noindent
|
||||
adding a line that will include your new file if the ''name'' you entered between the name tags matches the name supplied to the driver by your joystick. Add the following line to \texttt{joysticks.xml}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{<js-named include="Input/Joysticks/QS/QuickStick.xml"/>}
|
||||
\medskip
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsubsection{Some hints for Windows users\label{joyxp}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Basically, the procedures described above should work for Windows as well. If your joystick/yoke/pedals work out of the box or if you get it to work using the methods above, fine. Unfortunately there may be a few problems.
|
||||
|
||||
The first one concerns users of non-US Windows versions. As stated above, you can get the name of the joystick from the program js\underline{~}demo. If you have a non-US version of Windows and the joystick .xml files named above do not contain that special name, just add it on top of the appropriate file in the style of
|
||||
\medskip
|
||||
|
||||
\texttt{<name>Microsoft-PC-Joysticktreiber </name>}
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
No new entry in the base \texttt{joysticks.xml} file is required.
|
||||
|
||||
Unfortunately, there is one more loophole with Windows joystick support. In
|
||||
case you have two USB devices attached (for instance a yoke plus pedals),
|
||||
there may be cases, where the same driver name is reported twice. In this
|
||||
case, you can get at least the yoke to work by assigning it number 0 (out of
|
||||
0 and 1). For this purpose, rotate the yoke (aileron control) and observe
|
||||
the output of js\underline{~}demo. If figures in the first group of colons
|
||||
(for device 0) change, assignment is correct. If figures in the second group
|
||||
of colons (for device 1) change, you have to make the yoke the preferred
|
||||
device first. For doing so, enter the
|
||||
Windows ''Control panel'', open ''Game controllers'' and select the
|
||||
''Advanced'' button. Here you can select the yoke as the ''Preferred''
|
||||
device. Afterward you can check that assignment by running
|
||||
js\underline{~}demo again. The yoke should now control the first group of
|
||||
figures.
|
||||
|
||||
Unfortunately, we did not find a way to get the pedals to work, too, that way. Thus, in cases like this one (and others) you may want to try an alternative method of assigning joystick controls.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Joystick support via .fgfsrc entries\label{fgfsrcjoy}}\index{joystick!.fgfsrc}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Fortunately, there is a tool available now, which takes most of the burden from the average user who, maybe, is not that experienced with XML, the language which these files are written in.
|
||||
|
||||
For configuring your joystick using this approach, open a command shell (command prompt under windows, to be found under Start|All programs|Accessories). Change to the directory \texttt{/FlightGear/bin} via e.g. (modify to your path)
|
||||
|
||||
\noindent
|
||||
\texttt{cd c:$\backslash$FlightGear$\backslash$bin}
|
||||
|
||||
and invoke the tool fgjs via
|
||||
|
||||
\noindent
|
||||
\texttt{./fgjs}
|
||||
|
||||
on a UNIX/Linux machine, or via
|
||||
|
||||
\noindent
|
||||
\texttt{fgjs}
|
||||
|
||||
on a Windows machine. The program will tell you which joysticks, if any, were detected. Now follow the commands given on screen, i.e. move the axis and press the buttons as required. Be careful, a minor touch already ''counts'' as a movement. Check the reports on screen. If you feel something went wrong, just re-start the program.
|
||||
|
||||
After you are done with all the axis and switches, the directory above will hold a file called \texttt{fgfsrc.js}. If the \FlightGear{} base directory \texttt{FlightGear} does not already contain an options file \texttt{.fgfsrc} (under UNIX)/\texttt{system.fgfsrc} (under Windows) mentioned above, just copy
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{fgfsrc.js} into \texttt{.fgfsrc} (UNIX)/\texttt{system.fgfsrc} (Windows)
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
and place it into the directory \FlightGear{} base directory \texttt{FlightGear}. In case you already wrote an options file, just open it as well as \texttt{fgfsrc.js} with an editor and copy the entries from \texttt{fgfsrc.js} into \texttt{.fgfsrc}/\texttt{system.fgfsrc}. One hint: The output of \texttt{fgjs} is UNIX formatted. As a result, Windows Editor may not display it the proper way. I suggest getting an editor being able to handle UNIX files as well (and oldie but goldie in this respect is PFE, just make a web search for it). My favorite freeware file editor for that purpose, although somewhat dated, is still \Index{PFE}, to be obtained from
|
||||
|
||||
\web{http://www.lancs.ac.uk/people/cpaap/pfe/}.
|
||||
|
||||
The the axis/button assignment of \texttt{fgjs} should, at least, get the axis assignments right, its output may need some tweaking. There may be axes moving the opposite way they should, the dead zones may be too small etc. For instance, I had to change
|
||||
|
||||
\texttt{--prop:/input/joysticks/js[1]/axis[1]/binding/factor=-1.0}
|
||||
|
||||
into
|
||||
|
||||
\texttt{--prop:/input/joysticks/js[1]/axis[1]/binding/factor=1.0}
|
||||
|
||||
(USB CH Flightsim Yoke under Windows XP). Thus, here is a short introduction into the assignments of joystick properties.
|
||||
|
||||
Basically, all axes settings are specified via lines having the following structure:
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
\texttt{-$ $-prop:/input/joysticks/js[}\textit{n}\texttt{]/axis[}\textit{m}\texttt{]/binding}\\
|
||||
\texttt{/command=property-scale} (one line)\\
|
||||
\texttt{-$ $-prop:/input/joysticks/js[}\textit{n}\texttt{]/axis[}\textit{m}\texttt{]/binding}\\
|
||||
\texttt{/property=/controls/}\textit{steering option} (one line)\\
|
||||
\texttt{-$ $-prop:/input/joysticks/js[}\textit{n}\texttt{]/axis[}\textit{m}\texttt{]/binding}\\
|
||||
\texttt{/dead-band=}\textit{db} (one line)\\
|
||||
\texttt{-$ $-prop:/input/joysticks/js[}\textit{n}\texttt{]/axis[}\textit{m}\texttt{]/binding}\\
|
||||
\texttt{/offset=}\textit{os} (one line)\\
|
||||
\texttt{-$ $-prop:/input/joysticks/js[}\textit{n}\texttt{]/axis[}\textit{m}\texttt{]/binding}\\
|
||||
\texttt{/factor=}\textit{fa} (one line)\\
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
where
|
||||
\medskip
|
||||
|
||||
\begin{tabular}{rcl}
|
||||
\textit{n} &=& number of device (usually starting with 0)\\
|
||||
\textit{m} &=& number of axis (usually starting with 0)\\
|
||||
\textit{steering option} &=& elevator, aileron, rudder, throttle, mixture, pitch\\
|
||||
\textit{dead-band} &=& range, within which signals are discarded;\\
|
||||
&& useful to avoid jittering for minor yoke movements\\
|
||||
\textit{offset} &=& specifies, if device not centered in its neutral position\\
|
||||
\textit{factor} &=& controls sensitivity of that axis; defaults to +1,\\
|
||||
&&with a value of -1 reversing the behavior
|
||||
\end{tabular}
|
||||
\medskip
|
||||
|
||||
You should be able to at least get your joystick working along
|
||||
these lines. Concerning all the finer points, for instance, getting the joystick buttons
|
||||
working, John Check\index{Check, John} has written a very useful README being included in the base package to be found under \texttt{FlightGear/Docs/Readme/Joystick.html}. In case of any trouble with your input device, it is highly recommended to have a look into this document.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{A glance over our hangar}\index{hangar}\label{hangar}\index{aircraft!survey}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
The following is a Table 1 of all the aircraft presently available for use with \FlightGear{}. In the first column, you will find the name of the aircraft, the second one tells the start option, the third one names the FDM (flight dynamics management model, see Sec. \ref{flight models}), and the last column includes some remarks. Here, ''no exterior model'' means, that there is no aircraft specific external model provided with the base package. As a result, you will see the default blue-yellow glider, when you change to the external view. However, you can download external views for these models from Wolfram Kuss' site at
|
||||
|
||||
\web{http://home.t-online.de/home/Wolfram.Kuss/}.
|
||||
|
||||
Moreover, this list is complete insofar as it covers all aircraft available via the \texttt{-$ $-aircraft=} option.
|
||||
\eject
|
||||
|
||||
\noindent
|
||||
Tab.\,1: \textit{Presently available aircraft in \FlightGear{}}.
|
||||
\medskip
|
||||
|
||||
\noindent
|
||||
{\scriptsize
|
||||
\input{tab1.tex}
|
||||
}
|
||||
|
||||
%% Revision 0.02 1998/09/29 bernhard
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% Added pic from Arizona takeoff
|
||||
%% revision 0.20 1999/06/04 michael
|
||||
%% added new options
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% added numerous new options (number rapidly growing...)
|
||||
%% revision 0.4 2001/05/12 michael
|
||||
%% description of .fgfsrc/system.fgfsrc
|
||||
%% again many new options
|
||||
%% joystick section added based on John Check's joystick howto
|
||||
%% updated arizona pic
|
||||
%% revision 0.4 2001/07/01 martin
|
||||
%% comments on debug options under Unix
|
||||
%% revision 0.5 2002/01/01 michael/martin
|
||||
%% added more options, notably the --aircraft option
|
||||
%% tweaks in the introductory section
|
||||
%% revised joystick section based on fgjs
|
||||
%% New KFSO picture
|
||||
%% Paragraphs on UIUC + tweaks by Martin
|
||||
%% Added Section on IIO options
|
||||
%% revision 0.6 2002/09/05 michael
|
||||
%% Corrected win shell call in 4.2
|
||||
%% added/corrected/deleted several comman line options
|
||||
%% Added large section on built-in joystick support by Dave Perry
|
||||
%% Added section/table with complete list of aircraft
|
||||
%% Command line options in quotes for Win batch start
|
68
Docs/source/title.tex
Normal file
|
@ -0,0 +1,68 @@
|
|||
%%
|
||||
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
|
||||
%% Title file
|
||||
%%
|
||||
%% Written by Michael Basler, started September 1998.
|
||||
%%
|
||||
%% Copyright (C) 2002 Michael Basler (pmb@epost.de)
|
||||
%%
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License as
|
||||
%% published by the Free Software Foundation; either version 2 of the
|
||||
%% License, or (at your option) any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful, but
|
||||
%% WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%% General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%%
|
||||
%% $Id: title.tex,v 0.6 2002/09/09 michael
|
||||
%% (Log is kept at end of this file)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\title{FlightGear Flight Simulator -- Installation and Getting Started}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\author{
|
||||
Michael Basler (\mail{pmb@epost.de}) and Martin Spott (\mail{Martin.Spott@uni-duisburg.de})\\\\
|
||||
including contributions by\\
|
||||
Jon Berndt (\mail{jsb@hal-pc.org}),
|
||||
Bernhard Buckel (\mail{buckel@mail.uni-wuerzburg.de}),\\
|
||||
Cameron Moore (\mail{cameron@unbeatenpath.net}),
|
||||
Curt Olson (\mail{curt@flightgear.org}),\\
|
||||
Dave Perry (\mail{skidavem@mindspring.com}),
|
||||
Michael Selig (\mail{m-selig@uiuc.edu}),\\
|
||||
Darrell Walisser (\mail{walisser@mac.com}),
|
||||
and others\\
|
||||
{ \setlength{\fboxsep}{12mm}\setlength{\fboxrule}{0pt}
|
||||
\centerline{\fbox{
|
||||
\includegraphics[clip,width=10.0cm]{start2}
|
||||
}}}}
|
||||
|
||||
\date{Getting Started Version 0.6\\
|
||||
September, 9th, 2002\\
|
||||
Manual was written for \FlightGear{} version 0.8.0.}
|
||||
|
||||
|
||||
\maketitle
|
||||
|
||||
|
||||
\tableofcontents
|
||||
|
||||
%% Revision 0.00 1998/09/08 michael
|
||||
%% Initial revision for version 0.53.
|
||||
%% revision 0.10 1998/10/01 michael
|
||||
%% final proofreading for release
|
||||
%% revision 0.11 1998/11/01 michael
|
||||
%% added title pic
|
||||
%% revision 0.3 2000/04/20 michael
|
||||
%% Remark for tracing version
|
||||
%% revision 0.5.2 2002/XX/XX michael
|
||||
%% glad to add several new contributors
|
||||
%% revision 0.6 2002/09/05 michael
|
||||
%% changed title picture
|