are represented in four bytes each. For a file that's mostly Latin text, this effectively halves the file size from what it would be in UCS-2. However, for a file that's primarily Japanese, Chinese, or Korean, the file size can grow by 50%. For most other living languages, the file size is close to the same.

UTF-8 is probably the most broadly supported encoding of Unicode. For instance, it's how Java .class files store strings; it's the native encoding of the BeOS, and it's the default encoding an XML processor assumes unless told otherwise by a byte-order mark or an encoding declaration. Chances are pretty good that if a program tells you it's saving Unicode, it's really saving UTF-8.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

{΍rUI+҈TܩޅY sXKj/ wrm ⼟k"ӻgaoKv(Nz tELxx|ؿB ,x%(y9zgkp?]&Sj$gg^G2I}(./%GYH7V`p܃F&:B,߸\\ a6xKoUp/0R'6:R8cD?B޴ٶ_2>w >ioɤ xU^/bOzhN|,U0poٽ=L7pJ6v zl*f9 u.Igs˟`UqTv}(^\V+^gI nS ոƧT{ ib΄ܾ/$3_i'߯N-r(earҘԆ:mBHphLwYq;) /à!j Fb Wt4ڭ|/c ҆mI&@"&Vn&rJaZʬ\*]&$FCT[nY!ElrQ ^ Zz`%?c(Зe~2Z K](sz3D%sn Ǜz j`0xYNw@MBceWj]|{OM+?}{p,d+ DnMK^R-.֕J y!-m.՝[)P{knZy}Oa%,ƊSbSk†"2xi7W) :iޖGZ^kObZQEJIJ f{Q*fύJ Q=UP9R9Ik yM@_7|J7Sf0t zָx l}&ZNשSiS!D+cۙv͈eQ Gl±V;PO=LHHQnLq!.?x85W]!nw884Z I^ᙳ^x MP> Xs\Y ww ~7(icemP^_f3/![8ƓJ9WK-Nzaqb`xzES, IY=F O g>—$;<8o ?A3tmd"M?p7!x<dS]cendstream endobj 168 0 obj << /Filter /FlateDecode /Length 6918 >> stream x=ۖ6rٷc5w7v^[ٜET7g}-T KO; H *Խ?77y+n^H3J23 no,_s*KXƸYrE]ߓ=yf!׮C<#9m7djo}~\st͍S}wXs :d7!NR9| I&v9n:|;`c+ VM3b*)qn~{L^p mi!TDL @I&i@(e<>/޿ at`Voޒ5rBM Nc#2Xj!k8$3ѡ&ID7olEPp+5 DC!<ϡ &K_di61wS|PN3!tl$Ec$I=$)T%<׋c"$jZhf:1Cܿ0uyx]Xc.|5bBO@$I'4|Ɓfoj-T/wCL;ଦ=Z׉RG8*~j*dϴtbQ]y_48<uudt n# 7Emq+ NuWypu9kGYP0 hysCjDű~d4#IYr.Vq{f㞆[n;ݹ-JPǏ:%Dΐn} ^/,AƺZ.7ű\ X",= >jHpo([rH+b*m@ c~S_Ę>KIO\2$Ay >Ѥܟ?_7t˦m,@AmAYcr=(@6C3 NX') :fwPyL ,2 h`P POǦ%̔N/(9[9 P<})S[n ۧk#+5KV!BbJII9%ħ")K|2ewĘ -Fu),d1=Ș)~LTU2&V@v2f.AgэS6>s r`$su$1-dJ LL15CȌE,)0qcgѸ!fzؿ.ZTq[$!;.%K(piш8-r+v |zB ^ȓZk:歺<<7kwYg϶l۴Y;G7wA57kB`Y v߽JidtFrP~`ir *Sg(扲?mE'f7Q@yHGEInternationalization (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

Chapter 5. Internationalization

We've told you that XML documents contain text, but we haven't yet told you what kind of text they contain. In this chapter we rectify that omission. XML documents contain Unicode text. Unicode is a character set large enough to include all the world's living languages and a few dead ones. It can be written in a variety of encodings, including UCS-2 and the ASCII superset UTF-8. However, since Unicode text editors are relatively uncommon, XML documents may also be written in other character sets and encodings, which are converted to Unicode when the document is parsed. The encoding declaration specifies which character set a document uses. You can use character references, such as &#x03B8;, to insert Unicode characters like Figure that aren't available in the legacy character set in which a document is written.

Computers don't really understand text. They don't recognize the Latin letter Z, the Greek letter Figure , or the Han ideograph Figure . All a computer understands are numbers such as 90, 947, or 40,821. A character set maps particular characters, like Z, to particular numbers, like 90. These numbers are called code points. A character encoding determines how those code points are represented in bytes. For instance, the code point 90 can be encoded as a signed byte, a little-endian unsigned short, a 4-byte, two's complement, big-endian integer, or in some still more complicated fashion.

A human script like Cyrillic may be written in multiple character sets, such as KOI8-R, Unicode, or ISO-8859-5. A character set like Unicode may then be encoded in multiple encodings, such as UTF-8, UCS-2, or UTF-16. In general, however, simpler character sets like ASCII and KOI8-R have only one encoding.

5.1. Character-Set Metadata

Some environments keep track of which encodings in which particular documents are written. For instance, web servers that transmit XML documents precede them with an HTTP header that looks something like this:

HTTP/1.1 200 OK
Date: Sun, 28 Oct 2001 11:05:42 GMT
Server: Apache/1.3.19 (Unix) mod_jk mod_perl/1.25 mod_fastcgi/2.2.10 Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml; charset=iso-8859-1

The Content-Type field of the HTTP header provides the MIME media type of the document. This may, as shown here, specify in which character set the document is written. An XML parser reading this document from a web server should use this information to determine the document's character encoding.

Many web servers omit the charset parameter from the MIME media type. In this case, if the MIME media type is text/xml , then the document is assumed to be in the us-ascii encoding. If the MIME media type is application/xml, then the parser attempts to guess the character set by reading the first few bytes of the document.

TIP: Since ASCII is almost never an appropriate character set for an XML document, application/xml is much preferred over text/xml. Unfortunately, most web servers including Apache 2.0.36 and earlier are configured to use text/xml by default. It's worth editing your mime.types file to fix this. Alternately, at least with Apache, if you don't have root access to your web server, you can use the AddType and AddCharset directives in your .htaccess files to override the server-wide defaults.

We've focused on MIME types in HTTP headers because that's the most common place where character-set metadata is applied to XML documents. However, MIME types are also used in some filesystems (e.g., the BeOS), in email, and in other environments. Other systems may provide other forms of character-set metadata. If such metadata is available for a document, whatever form it takes, the parser should use it, though in practice this is an area where not all parsers and programs are as conformant as they should be.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

]jWڳe YuEqDXءqtWջj[ 7t\5v'$VSǨ~ͺLX1;]$|`*rzP!7(*b.UnY+ю{oB ,>T‡-%.DЪoycg'5eZ`媮n :p~2|(@|HFWaʶڽ V{ )S~ۗ Cnk^3;ymUuq0Y2oܖ}n Z8O࢐|Ko~%ܱզ\nq$g$z1h>[PM|S7F)fM]}\f8>m%NeU+ugC{La(1KwG=}Jm?׾{vέX)ƴuuwW֤2;΁Jr/޸o`tЭURۂnm%޺/U*$ 6很k]qs'=`NiIjw| ADkR֙MTn۔Bg$[۾#n= * n}>@$w]c?=B52ԟc8'ڃeT2b/22?;59/Ewcd 1i$3t3:3 M%T[?T݄Pg%틲sn[N@+mS쏦6!z `/ b]J~,7֑{GrKBuRJ# Z ua8,gw<=<-~!¬"W=̊ovBs~)e"ɂ:ÿ&,endstream endobj 165 0 obj << /Type /XObject /Subtype /Form /BBox [ 69.88601 485.5026 536.3316 739.9275 ] /Filter /FlateDecode /FormType 1 /Length 1999 /PTEX.FileName (./fig1.pdf) /PTEX.InfoDict 215 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /Cs1 216 0 R >> /ExtGState << /Gs1 217 0 R >> /Font << /Tc1.0 220 0 R /Tc1.1 222 0 R /Tc2.1 228 0 R /Tc3.0 225 0 R /Tc4.1 231 0 R >> /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /Im1 232 0 R /Im2 235 0 R /Im3 233 0 R /Im4 234 0 R /Im5 236 0 R >> >> >> stream xˮ8y0^f BB8nF D)j-;NURrjϺbiIN߿=wH7APeή?۟sv_AMۻ"8`Rbʬ뜑JQĄrf)Efr&yʿnj 'u't EY{6:k&9uIs\̢[K:goray$\@OQ9y۔.mĴ<)=^yzɤ7\jh\$QQ9IZuޔ5=CH->46lQz$AՓ@f0.W7NQ8㕴-%hDRDA}&$Д k(QCjP O8Jr0TTJji(6'a$JUI3YZ.JURQs V4.XuzcqzuχZcI<%; қ>n\b6!DZPmg}}-?*YlM(D⚲pM^qyRqa>|,W'E]}Ȳbm jڸs;GZT dT8٨pe澣.^ A>X־@'̠Q`m 氾2FZci) \H3>Q&_QmaMmDo^~RXjBak^OcM%W`uVgq^4ԍUvǨ)s1pBE;,CL-[ kfEUsvHńX7o`ӪCSr`lKЗMUsa$5A#]k z}">9p@Lm2JELI0Im3#'dZ3͸; FShLM>@9nAH>"z p4kZ0c2P.RИSO8;pf ХbAюeb17,P^~o9UY Wf/n~ݭw ڱuZ_aLJdgCAYP늰?|}Wa:Ⱥru5EtS{0b+f\53\Ń:wm\$Xؠ꽯ƹJ١7^Fmk\ctMྲྀdÝwr#VH/XщGf=ydԣ戽'%QՕ)C3VsacƆӇl(k0n'7f)!Eq+^} q+n/Q2zX"!,K܏ܶ| UV-bA/+[d,z w=/^CY ȅ[Ҕ{U'1pKag/ [kPq4Oz~qR&Ʌ=SN<2ŸyDVygjokⱉ+[endstream endobj 232 0 obj << /Type /XObject /Subtype /Image /BitsPerComponent 1 /Filter /FlateDecode /Height 1 /ImageMask true /Length 249 0 R /Width 1 >> stream xcendstream endobj 233 0 obj << /Type /XObject /Subtype /Image /BitsPerComponent 1 /Filter /FlateDecode /Height 1 /ImageMask true /Length 250 0 R /Width 1 >> stream xcendstream endobj 234 0 obj << /Type /XObject /Subtype /Image /BitsPerComponent 1 /Filter /FlateDecode /Height 1 /ImageMask true /Length 251 0 R /Width 1 >> stream xcendstream endobj 235 0 obj << /Type /XObject /Subtype /Image /BitsPerComponent 1 /Filter /FlateDecode /Height 1 /ImageMask true /Length 252 0 R /Width 1 >> stream xcendstream endobj 236 0 obj << /Type /XObject /Subtype /Image /BitsPerComponent 1 /Filter /FlateDecode /Height 1 /ImageMask true /Length 253 0 R /Width 1 >> stream xcendstream endobj 241 0 obj << /Alternate /DeviceGray /Filter /FlateDecode /Length 254 0 R /N 1 >> stream xWwXS[PЫБf@zҋ`#&!Đ 6dQˊ.V֊ kǮTuq77{o9s9wfrX,D"$,:!5C?7_̊"<h`s͑5$gsq y\_Թbeb]R1k$A\ usE|p a\Ʌ+Ĥ+~?ب9 % .'$:yrYN bdHB(+1bh HىGC1 _΍R (A?Gx*&BDUyˁ6g``؞.S - 6C0& F^ vf57 MvV8MpAԧm=gσ;[Ď`MX3׌; }C+ {#wN Vdj<%Sh!Bl9SD?h"l-t ݎFg|\YQt=8NG c_!U88z9X}D|Y@ƈ]Cu`$!P$?wU M#a=(gax} I&3ΆgR `, 9 RxQ<$N07نBr09 dgBNC؋Q\8CM1|_ow )މ_H4ɞMb&2I3HeJR 4<_Hod.rJ&"/!o"!'_!?"Q(=ŏCP2zJ*^IUTE)T)MITTKUJV1c0cz/LtMMMV51276=f`1uS^3#p3Vf6I%{[XxZdXh4oYl򎕲UZVw6) Yw۰mlvܳN>x{K{˧Ɨo_??'N@u@@^`MShV6rsdqfƂÂ˃/h$lyj;7-lVpRxdlc6]q*!a]$y<:>bEчb@ ;fUX鱿őb;Ƿ&h%LMؕ6q\ĻIIdIɵRSVtL3a 4JZrZMZĐk&vMrT6d3'b8E8TI)?qb8՜iirkyռ%i_ʌLU=YYY/A W[*LUMmirDLf]ۋӽ+#6YgAU3Ԙ)VhWiQhϳYY-f;gfo̙6eҹ]휯2?g%̒%o,h.5.W臰v$e7,ܲ_$Xtq)畟`VTV|Z]rGuiҋܗm^N^.Z~cE+5V|jՌ߬\k喵*kek;Ek\o~O6Wڳh66]~-tkkֆjmm۞lOϵ555wvty֣vѮeݲ=u.Kcc={*ﻱ?rZP֡+MM->smaUGt,;rcE8yQԖ''~*ӑϞ =sz5<6~ņK/{]n{Հ'_;s}B{tI7nݜtVmWw ߝ?߯|`_ýHgpgÄwq=SWړʧOk]\~6Yseh_ wBo+ɫ-ymz7-}}WZ?||?Ӻϣ?7rkׯTendstream endobj 243 0 obj << /Filter /FlateDecode /Length 255 0 R >> stream x]j0D= gc():EAk࿯zAz3gHJ` X gux%mU&*a[@mWF$\h '} kwD:rċAO>S/[F8<*Dc!'it4&U$j~O=?cendstream endobj 245 0 obj << /Filter /FlateDecode /Length 256 0 R >> stream x]j0D= gc():EAk࿯zAz3gHJ` X gux%mU&*a[@mWF$\h '} kwD:rċAO>S/[F8<*Dc!'it4&U$j~O=?cendstream endobj 247 0 obj << /Filter /FlateDecode /Length 257 0 R >> stream x]j0D= gc():EAk࿯zAz3gHJ` X gux%mU&*a[@mWF$\h '} kwD:rċAO>S/[F8<*Dc!'it4&U$j~O=?cendstream endobj 275 0 obj << /Filter /FlateDecode /Length 2854 >> stream xڝYm~e b7Q ]A.Mk"I %Gn e[CV_ybU2WZ'+g(r67/^y!W䪔fre +4/D. ϐZ}տT6Lg;~I)rt7kQfkefEʨ\d ,d3'4΋͸k:vL] jBENFN?%sC R)s"UFW_ulwbOSf C&A CJpņ,oVI`9 4jcMK98@`!mt9*|v ܵBtFgm\\JM dKW쇾ݐEAiמq@?Hr Mء ЮgZ`ݒx;yl6poB'%}YNZ[ Dv_ 1̾16lvfXWb1ྼf$51M5Us|0S;2p%z^M5<]8S&*$Cʟv3b뙎^0QA;B{J{Z}sIv Dq`J;:˒Uyb'7hfLA24u92")E(G˲ %S UֆTqtmEBHcP:/'j縧ɠڏ3;yY-J䂺DW|..gxlMY}ClB9xcp5A>޷Qc7gJeBEc}ԑ$*Gϔ$< " B($W+࿢0P4pAbylOZMհϴc듢A' ҔlD &)ec:P /x?83b;B.h"92~5 ;3XerM9+e˾c ̖0>e(>Ef.D3g: VrS墦yT= amxhd<"X/ W ~VtLj 8owkȮBin,%MO^ rZK ^: ڭ`Hr)KN8 *|.& ߯w!}~LlQN6@.$yS+rysg XRb߈s97zICIMU']wޖLXM)gZL\:yxh~?\~}-$T7RH neRB֥mQ"OgsX؋7<ĺƠ?°|conf!(C/? Va 5z2ڊ. Ȩ 67sM0knzc J wTz&I\Z2/hOl/Z%1W <%W>xg",'%-׌ź~" .@ eoȭGnF]psv]׈BܒVHCFp6}"T fR`JW{ Tuopˣp`_v<3*ul ;U2],:%݅Nq^C? $,:=ҜN[x f5'{&ɇz`h>\!qlgYǫb ;)C/?s |B(tAz:G>%=,ڌ WH)̩n vDf84$wxy! CO]9SO̅x 86J~&S=_@`endstream endobj 184 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 275 250 ] /Filter /FlateDecode /FormType 1 /Length 611 /PTEX.FileName (./fig2a.pdf) /PTEX.InfoDict 282 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /Cs1 283 0 R >> /ExtGState << /Gs1 284 0 R /Gs2 285 0 R >> /Font << /TT1.0 286 0 R >> /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /Im1 287 0 R >> >> >> stream x}TnS1+Xzz^{% yR? j#3$g==Ril}Pkav|VXOqn=eJ2=}O;oPcUS$dt[IPWT/(ows+64Jh/$eZъ꽥2"IhkyG\V;h:HXtv]B\Fn7;BWeʘK | >irT{7yj6RrD7]\ݽRg<<53+r'ҹxDФd^pCw/zʃGT{GIF87ag{}{,gH*\ȰÇ#JHŋ3j<8@,h „ 2l!Ĉ'Rh"ƌ @,h „ 2l!Ĉ'Rh"ƌ $XA .dC%NXE5 P`6nܸqƍ7nܸq@ `ƍ7nܸqƍ$ p P`8`A&TaC!F8bE1fTH  ,0 @ @0 `0 (@@$X p "Lp!ÆB(q"Ŋ  p @$(@A  @ $8P$H A 0 <0… :|1ĉ+.$`   @0(@@& 0PhѢE-Zh"0P`@ ` (0(P  @ `@ @ @ @`@`` ,h „ 2l!Ĉ'RH  0` P`P@ @@  @  p` @` @` @` p "Lp!ÆB(q"Ň8p @ (@@@(@@  P 0p(@@  @`  @$XA .dC%N@0`@@ @ @ @(@8P  @@ @80H*\Ȱ#JH"0P`@ `(@@`P @ @@A  P @(@@  P XbŊ+VX! P`@ ` @`0@ @ 0@  `@  @@  @  ( @8`A&TaC!F8"DHp`(0H*\xP 2dȐ!C 2dȐ!C 2d@X`@ @,h „  !C 2dȐ!C 2dȐ!C "$ @@@ DPB >QD-^ĘQ!,8 @ ` 4xaB 6tbD)VxcF7nܸqƍ7n(@ p "Lp!ÆB(q"Ŋ/b̨`lܸqƍ7nܸqF qƍ7nܸqƍ ƍ7nܸqƍ7n$X`7nܸqƍ7nܸ`lܸqƍ7nܸqF qƍ7nܸqƍ ƍ7nܸqƍ7n$X`7nܸ @,h „8`A&TaC!FlX`%J(QĆ$Jl8@D%J(QX < $L0@H0aH,0@B *TPB *T`($PB$PBPP!B *T *TPB *TPB B ,0B @@B (TP*TPB *TPB @B *TH *LX` &$p*T8` *TPB *TPB @ ! *$X` &,0B @8 0X`B *TPB *TP!HH  p  X`p `p4H qP`@@ DPB >QD-^Ęa @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5p$ <0… :|1ĉ+Z1cA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`H  4xaB 6tbD)VxcƆ,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,00 P @,hP 08`A&TaC!F8bE 8X` \0(8\xŋ/^xQ` @ `q@0`/^xŋ/ ,0`$p0`0`@0` 08` 0`pŋ/^xA P @0``0` 8` 0p88`A&TaC!F8bŁ,0, pp 8  0` 0 @@ DPB >QDp(p0p`@ @p80E-ZhѢE,0, `p ``0p 8`8,ZhѢE-ZtX`8H 0@0`@0` 00` pXhѢE-ZȰ pʼn,ZhѢE-ZhѢ,0@ A $H  @@ DPB >QD-^X`8H#F1bĈ#F1bX`8H#F1bĈ#F1bX`8H#F1bĈ#F1bX`8H#F1bĈ#F1bX`8H#F1bĈ#F1bX`8H",h „ 2l!Ĉ'6$ <0… :4X`8H!H*\ȰÇ#J$XA .dСAP <0… :|1ĉ @@ DPB ,0`$a p "Lp!ÆB(q"B8`A&TaC 8X` |Ç$Ç>4X`8H!B$XA .dC%Nt <0… :4X`8HÇ>|Ç>|Ç>DX`8HÇ>|Ç>|Ç>DX`8HÇ>|Ç>|Ç>DX`8HÇ>|Ç>|Ç>DX`8HÇ>|Ç>|Ç>DX`8HÇ>|Ç>|Ç>DX`8HÇ>|Ç>|Ç>DX`8HÇ>|C=C=C=C!P$ <0… :|1ĉ+Z1cA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` \X@@  p "Lp!ÆB(q"Ŋ/bX`8Hb$@,h „ 2l!Ĉ'Rh"F,0.P@@ @@P`(  4Hp p "Lp!ÆB(q"AP@8p 8p`8p`@,h 2l!Ĉ'",0`$@q`80p(p8p 8p0`@@ DPB >QD,0(,0 ` 8`0` 8`@ p 0@` 8` 0p @@ DPB >QA P@ 8`0` 8`@ 8`  @ ` 8@0p0`8`A&TaC!F pD p@8p8` ` @ 8`0`p@0 P 8$XA .dC%>,0`$0`80p 8 0`@8`8 8P 0 @0pH*\ȰÇ#J|X`8H`" 8p 8`0p` 80p 8(p0p0pH*\Ç#J|X`8H`" 8p p@ 0p  p `0` 0`  p  p p "Lp!ÆB(a @  ,$0qD&N8qĉ'N8 pD Hp @,h „ 0`8  4xaB 6tbD) ,0`$PbŊ+VXbŊ+V( p@Ŋ+VXbŊ+VXA+VXbŊ+VXbŊ 8X` TXbŊ+VXbŊ+ ,0`$PbŊ+VXbŊ+V( p@Ŋ+VXbŊ+VXA+VXbŊ+VXbŊ 8X` TXbŊ+VXbŊ+ ,0`$PbŊ+VXbŊ+V(8@H  4xaB 6tbD)VxcƆ,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8@,h „ 2l!Ĉ'Rh"ƌ 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ p $XA .dC%NXEpШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ @H*\ȰÇ#JHŋ36,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA8`A&TaC!F8bE1flX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,0  p "Lp!ÆB(q"Ŋ/bذ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X`@@ DPB >QD-^Ęa @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5p$ <0… :|1ĉ+Z1cA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`H  4xaB 6tbD)VxcƆ,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8@,h „ 2l!Ĉ'Rh"ƌ 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ p $XA .dC%NXEpШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ @H*\ȰÇ#JHŋ36,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA8`A&TaC!F8bE1flX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,0  p "Lp!ÆB(q"Ŋ/bذ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X`@@ DPB >QD-^Ęa @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5p$ <0… :|1ĉ+Z1cA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`H  4xaB 6tbD)VxcƆ,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8@,h „ 2l!Ĉ'Rh"ƌ 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ p $XA .dC%NXEpШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ @H*\ȰÇ#JHŋ36,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA8`A&TaC!F8bE1flX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,0  p "Lp!ÆB(q"Ŋ/bذ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X`@@ DPB >QD-^Ęa @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5p$ <0… :|1ĉ+Z1cA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`H  4xaB 6tbD)VxcƆ,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8@,h „ 2l!Ĉ'Rh"ƌ 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ p $XA .dC%NXEpШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ 5jԨQF5jX`8H@F5jԨQF5pШQF5jԨQF,04jԨQF5jԨQc @ @H*\ȰÇ#JHŋ36,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` hԨQF5jԨQA5jԨQF5jԨ pF5jԨQF5j,0`$QF5jԨQF 8X` , p "Lp!ÆB(q"Ŋ/bp@(08`A&TaC!F8bE1f @  4xaB 6tbD)VxcF @`ƍ7nܸqƍ7,07nܸqƍ7nH6nܸqƍ7nܸq#ظqƍ7nܸqƍ @`ƍ7nܸqƍ7,07nܸq@$XA .L H*\p@(0$XA .dC%N8  4xaB 8`A&T` @!C 2dȐ!C 2dp 2d 0dȐ!C,0 2dȐ!C 2dȐ!2dȐ$!C p2dȐ!C 2dȐ!C `Ȑ!C `C 2dX``Ȑ!C 2dȐ!C 2@!C *,0`A 2dȐa @!C 2dȐ!C 2dp 0`0dH 0T8`  ` @!C 2dȐ!C b!@  4x8!B `B!B"X`@@ DPB >QDPL8  P0 8X`)RH"E @1@qa `` 8`&p(RH"E)2@b0$@  p0p 8X`)RH"E @10$@ `8@@8`AP`H*\ȰÇ#J(p  p0 0pPp@ 8X`)RH"E @18"$@ 8 8 X`H"E)Rp  0`(,0`A0` 0` 8`&p(RH"E)2@"E `Ep(RH"E)2@"E `Ep(RH"EQ@ p "Lp!$!C p2dȐ!C 2dȐ!C `Ȑ!C `C 2dX``Ȑ!C 2dȐ!C 2@!C *,0`A 2dȐa @!C 2dȐ!C 2dp$XA .,8`@@@ DPB,0 2dȐ!C 2dȐ!C$XA .L8`A&TP`H*\ȰÇ#J( 4xaB  p ,h „ &@@  <0… :|1ĉ+Z1F qƍ7nܸqƍ ƍ7nܸqƍ7n$X`7nܸqƍ7nܸ`lܸqƍ7nܸqF qƍ7nܸqƍ ƍ7nܸqƍ7n$X`7nܸqƍ7nܸ`8`A&TaC!F8bE1fh 4xaB 6tbD)VxcF ;l ^C0>L8Ɠ9( u *DHڇ88-u2"u?> }^8}2?:nL+ g=4&PSmYt" ]5A44z6lHn#t{mDI_ދ75#E²8k H( 5f|%VG _.qnm=ڝ9 xLM}R>e~\{,-F@d`d"Γ'HBMWLRkÿ́!("z7u)<1qn9 [Z"&*8 SMpAٻNغdpWtf0$t1dqdΈk7x9-vض@VE;DԴP.ilIoB "<\!P YtzHsCC rI YFoMb 0ZYkxB>e.V0KDaPEHuY+Műg"mZŔ%6WPQBu|, y:mc2hZ/]ND{,8 ȮA֐N;4{lfZЉ&}ÕuB?EB@iDj\DZOkAm9Ȏj-m TcGlrt 7"dcf' :(-S-ujv;[s0Ar~k [0;f+H3wdGPnL/]G(ToG?5UQܺ]z>Mwۗr}]N/y~S ~SJc9n\ WqPGS }"R9 #($i)OG~)i$RݦջLq BTׂg jF .lZ g}8x{N};2.NvT&M@6(=/Z^A\n$m~F$Ѕf[j҅{%d8P\QH"5m6oaXbo]nLF 5G)T69hYیcj!gm,|?*z\d t|ݺlA>PvUk A y*6¿g:y/dxi=:w{'> O(d 7oO)nBnI?|ee=jBsP@eZu~S^ukhqGDKC2)R  crO#RGnoħA5`#k\2B.|P.AP ԓeuc?Byr:9η;4q-HZ `B!- 6؍Bsx#&.79S j&N2Z]%X̗[pp}%sO֩!^wׅڦPnoXaJh.MU iۣs7yZFApYbw*&#":HoJQIC!B"ŔgB!>dTğ4Xs!UWbnOqC+6ox;znD;6UT&w>/tc/֭P֗,5.2Babn+H i:o~;7iD3t%& "y#牝9Hf.""iR܅V**꿓cU88ڮ^R?u[Ǥj= " \ xMu  A ϚSȣi zt8kjҸ˸?OFZ(dlAG#ҐT4K91BSSD4v0dDj&畦#'v&ji;G(,bSsBC%&wnLV)X6[ȶL{\9dl-E[&lKl&rɲ5i\e,[ ٗXh쑆1(O8HA^FziHQ N!g;)j"~Ͽ. 9Gn_d@)NoIӝ^A,YZ&vN"ߢE[KtwWd̨Ϭd}5;&(=."ϔԥD??+Z=zGtE"5JFs;/ٗP}>4ů/3@?׾_Ď+8wfٙsRZ=tf,]\ &W_+pP(TpQ~ ).?"YUz&#"(H9{I&& daf3T3tJuqИCL”M 6W"M4M75#={ׅ([!͸~CyWwtA6Gw79w{SW#񡤽t7jm>JYȍL}p?Nx59$uq\t~=*4-Ah.F! (_f%%8آP{Z;[ ,.жn'8S N.da&I$=d*ϑD 7~WFƷ9 u}fjmb*0K ?4" ݅~ZF ׌J6 IS]bo-raٮAZ?08N'Wo9CW}'2堲|hdUbľh-8{;ޮ'Gq3b](۱_ACٱs0^ #O#yTe?ղ^%_t-PI7r8q+]dR4BTnm4[] xGJu}J 7=u>څrWj|"n{MI4Zk0 >PH)j;8inѹۛ<۱Q6?r72ѦHrI^fOAѰ~ub|чLRFaۦȹۛڱQ6?r*G-Z˱9BF(i2(Qha^PEPDEIfG1BqMfBP4 z*BPA0FY,Ucd`A.y yuבMS'v?MmP4⋃[׼ 8dώ-%H*8%>}vHtM#icz ]-.# 1 v 8t:.⇖8M\ޕf1=\=~.V72ыMߵg+4-A>1\cat/ޗ d"|-Ep$KlF79wIF]3r=Q$vm);O0u[]h-pf+zDTXļ(d~_ Qx{9ucWk83_;5Z`٢ s2%ZKtwTd^v^('??кsh9qC [XTWGnvZOuao8 f'd"z7AՉIAca RWV<7߮\A3YbsցFU۵Duu^V_mQ(g`1A9881!c<EL}|i3޵jí^`TSoZ i[ %w?@i]O?omF.P–v t[_"IPX@Ntn,tY"j{F0dLͮC#HtFAEbDFgc& [:e".{nmo¡Y].~E8`B! `\砆p.M@iI4oA!;h7p%:M^׳8ZgkhJ-{3iA y&i#"8HSjؗ6.(g'v&00Z!RIM]0b)EC։^ S \T0 ~]|>}oY9DhAK9x 58{ f!)f̥ 풧! (:+0IYvc[=lpPdݼm8s"Q   \@\'Jog5^V-8Ȧ;-_Qkɇ/s98ISKJLa/B!#K%XIT k=o:[&A(mz(>_tEڥ_ 8Csz>ꞋW+Btn聗DޔOLJ'1Yb9x֘Ղ3DZ.K/iFs؅GIA.(Ku 5dB@uUPȼvГ#Rs2űY6푃{4ʁqe4ȌwqQJu $Ԃ96P?!S_ ^QGqPC7ySduZ%OF@0rPaAwɈ3%69(֓McKb1] +FԌTԶo&v(f ż_caVÙ:BpO(yX(kfA<9T-v}{9 7vHͨq^/-ỖX, |b3 8آP jYbB~Irεbt(t8XZIcD،lFحuN]㴞v  AAnb&(E"L}} n:|A4q˓`QRn-f;0ahۅqAL1#"VzcEC->v7L, hvQwlDaAndA:% ]XTo( n2ziųA߿ szam_}q{9H\sQ!|,]čǼiS"`6or4͸w(.$dT.skGnWqPw1ae]vEK1+ Ii`#9B_ Y*`ˎL؅ן5W8Oɋ6ٯ~@4&~D×{9-)N ( pępPm\&x-NMdM9Q}rsxLԗ_D@tWidgEC-ZYms)xpS>(4U'Ms4Qs (٘K/mv/IPh"0pubͣZfpy/8DL8艮B:v o(e$(4 ཌV+{7ZcDfL1f 8䠯~as^~kr#W Mp _y: !@3ksS 4A}-5Zn4.[M1VR,Uu^UB||T#D+4p;O5NrP@P] tmUQS2'kCo1و!rP߃+!\gT/9(#MM!v3RmϽK#N˵dNa"L8sOg"pE9Y8Ȯ#V)xo}_wg8+!4;Ģ15_.~4ʨbWʍ? ⠯t8_w~z F<Ϳ:hFNEDAb &p/^a-"!:c63sNK}9m-‹^kޛ<[gi=Յ* (33&q ~ 5~S/h?A>}0^|RG&3i38x .9Uw$Fe99b {mM<Xɳ8ߎ01R{2l6/j>0 nb=7\! \f4vEF (+]-HC{d -X8 FRJ\kjr|Z˦}AQV^x Zpp ~w9vWO5rG2uS/r39szo>SFIT,g8kw䥲H|]?}cB^9Ȫ zgB!mIҌZ6#P3}YA(z%TNo碯A6eYx:Z b@f"Mw}T(D䠞zrŐ)V_R7}rF$r qܮM%u5]9M Fn-S+3rOg$XךSfW5]nҥ$ ]X v~HF[y[ZEK+ဢ| d?ߎS Ꮶ9vW3'콄-)'⠱2Vηuз2#LKKGըq?_Կ8/&^RDZW~cJF) *2f:7g RhT$ vX* RBӌ8 2?B,ȶLg8KNnu%|!> * Om@̕+(jzcUѼ5%֊صkפ>hGQڗ4f;iv`J+N쑃inZkAs:YIKVb_㴏 Ɓ=%jgl nU᷿ᅥc`Gو~ {qLA~@Tw@g! Cv,[C]0F9HGe!!0N 9H \ a!| ހv=2"##O1z{mEι֦9#!5?n%qP7 *UwANӸ_vZ6I"^(x,el+mǻC#)~"iRYbr)r-GB TWݦ[ =r; OzsY يqdNcȭejcd-U>὏&٫wl9of]y[h}ZMJTK__(-Kh5=h[Of]n4!ao{1/(ۯ88&PnTV`Ά< :AR>m|&s;PILCF-V8i-fD݅ZP /l14D8H+o ( AdoS!^A}pY uõ7_[qE0 Q7sP~q|:y $&ʭRYjZ(B[|&ZO CD!No}OwQ9`)  (aɪn(D&#z;fW9HB- -Oً'yDГ$YV=^L7堊.:(P! S&B!eKk_[Xy;: L8oG ߜ +nݖZC!l3V /d fPDÁ>r0N/ZuIoVՋ.uݢDM*A76V nF*p[9$?AȨi?L9ŷ5XM&NmݸSQ2 !(֘?ZqB#s5Izҕ^1w< ?y rd~ M ~)plk(*psoQןo4-8j^ m4_. +ٷ) ۸ML(GM!&lIcYi#ˌQ?E9@ !$ԕ^4/ƏgD=/ZQ &S/ryGٙ f- z ܉< C-9Ȳg}H@D߾I1+<^k?pS+yhvOLI2!I㮲Ek`**\hR5dX|(!]c_(uw.[h]tu}?nUr0&,jmܤg#|m׼nzgW"vI.s MlN/HNr2#X cEI^p]9Qoi|}yy/l꧁=>f-*h}$Tr:ԋ˛^Ҷ1+<^k¿?q!|9p-Рhu*T+sF&s [}Q rr򆏰yWed%vք^vKw.QrPY \aA/{7 uqyxٷ{tMr!'N|vg[ 4x3!] Ź`HBRmQ(kFC! (YCN%dA0Ӓn1?2F#'P"p5TT`n~2?h|`5.;ISk P5߃@O6Zc+\)L#")], }.j&SXGYOv ro~Ю%ihRZB8ȬI7?r,~$)rݼw (DGIF87a,}}}{{{yyywwwggg[[[QQQ~~~|||zzzlll^^^ZZZd"4 ΤXrarUU4aplTll_.1\\dd H`I5,T4k@H e\`0dtt4 dX4itHHht&P4|Dd4dpXà8 |L T,,H*\ȰÇ#JHŋt@Ǐ CIɓ(S\ɲKI|(͛8sɳϟ@o !0H*]ʴӧPJJիX2=C`ÊKٳhӪ] V 0Aݻx˷߿ L,aǐ#?~2 7o$kŊ̜CKV!!4kD^ͺװc˞ 0ͻ߽qB @7t_E yK_b4l`hν/ӫ_Ͼa%7or/[91HЀy ;p@D /_ 08݆Uw6'G .ѱ!0(֧ 11G0 wuCCpC 6 qЁWvB5Pb1njy\`sAQb E"B 8lDw'6裊g_T$_ t6Qlp\pAv @tF a~源}_ %t+]@ Az0C Er a̐3 , C(<`@zB8 U"J-J _2@ F P`+[!N8(2Ѓ;X@8@P XPc N'!LDf>x@dȡ ;:Op cTp ]$\S( PX `*4ڢ0p”$Du`L O \8 -2q*NC Da - H}{ !_ds 1ALbh!#!>|Kߓ'z4'9!Hy/Q'FHtn l`N1 TaPA )da AXA`7  |P XH4 of4*(Rp` u ؠ!0@ E@*[Xβ.{`:=C!HFUDzsg4k`Hpg4!k@p5'3jNPх&ՐF΅j@R04ԨNWVհgj4 Aʃ f ts Pa:Į]aZ&Mm4 ь0hxwa׾n`v m{G=MjhCpͬ@wC/63`QH̎| ̝!́=v@r(?|l4t3 G9،7HyOoOFҗ¹\?`!b{02i4PZsF*Nt t\I@T8g~wt3u P.tv9 ` `SS7@J01SPAN0P~`Kv@mpz2@x UHp2Hf3q`[`H`bHPNCP @_P}p J`24eև\Pr  0d]`$YPQ=zlB>y`OH9w$tp\$c؊T8t@ 0Dۗ{EDT(BVE, :4`zFx(NUZeCL08.0[`@"1Xp(ȧ`DD/`U Qpx;E4_T 7pp0B=2Dk`o6pKUo0G@anB{pM`g-B ] DpN G@ npoJZBpB$OLnpopopr9tYvi-Xp']`Ar1ZB 6bxTrqRc<=p<  I;pyYyșʹpi @S0IkPl @U@O)G P2p*Qp)0f9Yyie*O 9Pzj ڠ ]`uhxi0hg'kP6hl$hk`h,ڢ.0V$P6z8:<ڣ>@"mwlǦlGZlK m͖lR:&Vz0:8PTڥ^`bng1pjlڦnje!yxz|*r/PJu4qz:w1ђj*4ڊڨfJҲ:JשtJeuqʪ:⪂Jbʫ:⫰}ʺڬ 'Zzؚں۪smX:Zz蚮jyqc:zp; v ۰xzJ[ k+۱"{2(K'.+{-41Z:+7k9@{=ׁ{HJC+PR;TẮZ\۵^d[f{1hl۶گr;t[g|۷~.3;q ?[kspzظ {H۹ŧ빢o{UH{F;VۻmPs[{jۼۥ;[pk؛ڻ&;߫0Ҹ[k!AZk| \{[| +⚼(*°VsQ02\:6|{ܻ<>rD\ĵ ,+*JKl ,RLk Qū Ɯ+[BfhpbFrH H%xzi4'‚<Ȅ\%8ȊLȎ?<ɔLp)P7 s Kn6 kl|0ɐ,ʣ x 3ʩt|Uˏʴoȸ˾ˋ˾ X<Ủ|ɬ,N\PjX:lL\_<||lϷ=},Ƭ Э=k}fk =b*$}ЋZ,.ͦ;$W6}8:<>@B=D]F}HA$& ӦAQ-S=WY[]]_ͿKracݺeiMmkq-a-j0z|~׀؂=؄]؆}؈؊،؎}k &͔]ٖ=ٜjڢ=ڤ]ڦ}ڨڪڬڮڰ۲=۴]۰ nۼ۾=]}ȝʽ΍߂3]}؝ڽB]-MuML.;ނ- g/ށ ]#{ݱ}1N^ϸ׏>^ ȝ>"nXK}(*,.]U4^6~8:<. B>D^F~}@p M~KN4+bAUS/"d>fiޱfr>t^v^Olǚ=|, >`{ ㈞芾-nO>^~:~H=mN~Nα>꠬Ϋn^~Înp~y.N~ fp>^~>.6 |?_ ^_o;`U8m O%k/~IM;׿uR>PL`st=SO?zC,6c#]bK= sAF4aV|ShqFHT**)CO&=%MdeL" AoEʞǎ^Xڶg{ 2z/jwPTMˁzA05`) hkD!IҏOKe02$qWnv6 ڏESn88ZC56R,.Lfp g9HlZ s20WJhQ 4$1l( ymЉ&'YEr9LnH7&ɰ …O88VdK~ztwa2[83Aer`,gnp8>xr ypMtb V lMIO1hYB7!(eb2k848"Mޱh,Ǩp~ 46=~9O7hkV5>=ۭO%mil}kw1[J}Tj;](]RFL w j j(R7R2h][af2sb[-[ ćUYcBzXFEo8tf˦^Y8'Sq!_A {h3rE&2DAz'D }EJ  ̲Y!d4V)[JcYP~pAE%m{^`Gͨަ~dpf˦^YN \=3&JBR&߻$56R,lᮖs2㨱WAԙ02n^t ~@|8csJ)<Zia}V4A#?3I !9(=L K' 46Gjp88VV߯(􃐞iae^ԙUrnٴxbDɗO}9ҀLh[jԲuK=.r¦lDA B!LCd^4qP;Gdf!lKSƄ "K3A$g!O) Yk"mYZr-HzDZ j9S]6-љrNH.1n-Fi[eAD8Jb,;aHx-%RQ+k(9r0Z >Խ8ׄe% =SOOQSo#%ςj9*3[{D5 Q:"nB0NDQy-,J8heoQ2A # D IOK$R8 #-~"P~ԫ Cd? W}$Iw>ps]KRۑ'iae^ |.{}VֻVLttiyz^cWHx$O-JzI? Y y*XԔۍ e4ĵ;1Z%0BK@We#2&8Ksd, G|A356R,v7ȹVqz1b²bkT $.=_<}Q|QVN3K&{DepBi4M-f4-!Qe#X)1Q&CЂȤBnr`wਔmԢG*iw7Mc{\qغPj=Ɵs7F2J{L]7| APC6#Z9/v#,#ҚJ:zA!XlcB2P/bBBURFbqU-`rW䠪g ^+߯$L=ަͨ=<(m= p`ZTMˁRhn`y.qP'Am8xo@rpHC-65} $D{0PHl<dܜ /n_[E)645Xd9`Fi>{M.pZ`w˨/(˽z! 6Rnd䧰9b5ns\jYIA/sz8݄`KM M9h`aAY 74H䈼$hT ~ tف}@  ~, Z~%g*$nF-E7At.3]ϓI9LfCOm Vnl 㾝dƕ: 0 i,ٗ؝_^bI(M4LM˾g] AyxZL==GM< 1w gVqڻAn޵ #!H]izΦ>xAn's3^9p}0A<=j4NWhk儶.C$d Ӑb:ԁфrB\ -%;z+%kAֳW/WϴG9v͐ޜXU/s0eә@b 6:>[L > σAǾf◚??kɁ8j1}JK4膠m<:CZ^ApzzlLsI<_߇fv3N5XHCD=yZ?s;CԕI'/Lz$,p"WLW& ]O Yk]smS&1ufTWy |Tt7BZxڶgjyٌzof )c/L2T)o>qNj2α{TX> h)9GF7zZs ?*3 QLoIFc父$YzFb6!he\$ӡ(M}bqЋٯXXIBfngқrRTMg㖒dN\(w!pM`A?kCP[sn' 3bCO.*NRxZD'0P-3P3`"NL@,.C3 GMүƬݝ']6-EȾ6AoF p <}v-YBiQ#- FH;Cyz3!PIg %v>f!hYqcy]qWL k}2-z-ʬصpt- _z3ZN*ܛiE&qLZ]޷PsXx "΃;. SOwKj'-iwgԣdfHoη615]-]v=رh!kKeinUpF&h _(Ȗ5H1B:ӝ o3JMiHi>&bBoFa$dmm Z4\:=\XԲiy}&g ?jڤ2zvo&W9겉5AxAݔ5-ԉO8/|Hz" GMv "oA+Bp[((&F o"\ '9HA[Q)Y,^Q@[5{!8L=CzчY0)lƾGεGa*j&h DrD=yZ|;3`ԴE1 L@LrܑnP6x^o,WVe4dZzNI݌2Ζ[o&W9겉@o;0b2 Mgv?f}= e9瀑}7!hRu3L>D})Au u?]F 먧'sP7Ÿ.[G=ohX3OMGnd䧰9bş5XǗgap$ikJKe d,.n,ԏ99nKw'Jv1.b;dBp%=]FI4> "gb;X+sж=SOf3jX8[dn\-`c`굂k?N˯h"BP}bGA=*74 T&{(H+KQzZ˂4¢|A9:Z5" ( 5tiqp'嚄}ȳ`zpfk!5ck7u$$Wk!hĨLCbLՋ Kf D6n{ '2+ .*Ȩ-Z  |X{bqP8w{^kI،Zεe®]L rBrW#ރ'Oul_ q/Mq0q'AxBDI'pP&qA-f4qGwbqP/2qL==GM=gt5fn<*CT?kvH?K[y d.>L{4-L߳9` A4mM2rP@ThfޑvODz`#5G}uڧ ?x^fIzzz ς _z]-Ze2ZkD RWjѷf(!߇1Q-h;Dz$:񐛚!`Qew*4c~}GV0nDQAMN1 3nUjV,I좀:j,Bpz&У7`S،}ڻZYC9ҍ&vl[%=|R"# >LswhG! ]A 7v$seA7K`7uY lXҪkFX_a Ƅ=F"{V7ړ `-*]ɞ Z j9SdEt-x6 9*Ґi&GAP[0t 27yIM_Cbt5͸Ե65ΑPl'?n& nl*[zM6m~RQ@_TbKYb7nj9waEme`0e|t3 %&>y.l!P#.`nB"%k,6p qxokvX+2lB0EQ9pیA4ae@/#Lb7nj9w2 !z+qB֭.9uO& ,[a&8[(l_Oω?jDq<$g} ע!RjJ(Ԝw([-V{8 :D, ut2ڢ H:4_q%hz! @T)7X4y09(-xBDND]d:~?բy+~2Ǵ3V{8D}qP%-e(L k."$o*톕K_xg7[!OC ad'697I"σ&GCx7U%}Tט] .k_M'{L=3PpKk[]A(%v<060,l*m:7O\硶!r03{>PLtWvGsA3"/vѧ ^F^q0.(Sؕ# 1w ,N- vȣz)6ň ! ,!n";p? Hnܑ 8.5"D| *Z`\ZQD+G L|ybEHBd_#? Kѫxi8Kn$I^Oh#4Y`ZΖAMDHIqVGLKց)t! (JS_G]y yJKz gқ^uqwqp,$JdG4LOa!:' ޑ6mW2 苃-\C14gy0οgO֘._AD“(vs"-AIk4tKhz̵Dz?PܥۂnWãI Gz2}`]g`K*]ɞ Z ~98S9B$`qK5{Dyt?f-Lfp <uK$ hZĜv\~h|Kin-D7n(u Na(am˻] Q4~NiBP*ul)CYZ+3_ DIuc1vY3!(i&ab]k8[LnB$q00n5Ң_r4`\YG4LgLNH76_6D?򓳿uS68N  ,[ dmnHTzQBq0-͵GV˂ zÝ-iR5⛢F״FCn >YBF!jz?O|8Ӓ_rQ|N%-A,V ziSMSo&У7`:ìpgr&]nSDdhhPH;Oy'AC|ՍKB4GbcmB0*uz9?ЫmLW3|}L,ZAU=AnNb{W !Go~q'=`ndwp[--==$.?yITo/m+4CD`>>v%iYșvmA`y+2otgB40.)]vo˯gӓM:`Oa'7JQ[%`D a AhM~zn͇(ncd^V@vvp[ lwܗ/igԣdfHoν: L;2h)/Z10?΃ 3Ȗ8Uj 'P\N{Rga7wx~t.{W}-˼ ?A4]$^fބdޠyIwJЂy~cpFue~ MkRt5M3. J~e(L t1`NJNIh<1^QЯr9[Yg=d/l͟p{q =}z^XoYq%0tI7w-rmMI#Ϥl~lR {I<=j2yb7nX@4q B# B6|nō E+duۂ/i( i'юFΗWC\Z0BoPq y9xcyQG0[Kʶ '+)7w-('v<0O6I+N=ٞzp a G?<ʲ5UtyzKbϥMc'iHx({x+Z};gnMy>v|en&vgߘ->Yò~TAv-]Fڞ:j^主)lqךoM uekAK܈O+ ?@/r9'ke|*qqP;wtBZnWBvt!y$2ybTxz+ x<(!LюF1K& @H@7Ċ0%כYWB!Foh^v  [t'䥞87̶02s#K5l_}3uƒiY{p])0>Ms7 iMz}r}2p`Pqw:աlln 䬧&< yhGC4WŻ3qA846梑P-[+Ebk"A.k,` An8OzN fLJ<ᬧ(UgM8[ה|W}E: A.2 ޣzU.9M_ r"&}z&Iv=5n1d 0h2!rg !|:#-a% Z+V >DZզ DFiH!N<`<C䠃 2yV6!hɍn!DxAԔ@:AWdٙ9 zcBP@9QB91)xi`Q;cvWָn==)SoSXB&Vx"lE=AIԙb[=t =T}(FA7xCkШٔ'6cR O-F.T>@P﬏AVsL:W{ O8Gd^!?AM$e YI%6A=i2u,MVೠc VVa Cguݼ`4y简'V"$F b1fdҎXdw-?Ūp[Ѡo]Ɵ +iGѧӯWoD=-꣬< $yΰiPl| Hk! 8[$/4U rD@/PG:>Y7יz}LP&sO&cA)ܷiJ5YyD=dPee>kpxRhz : yA-Ƿ=28uXo?g]D tNInr9nqq$,l!D3Ԗ^Y10Pޯu8uĽ'V_eK]L8 s $!](LdlX w5 8[ [n\" -TB[q σo߮7o@ DM,q e'=][-];=⣬"5V"9BYI)r90lSgk@%Gk-hm^ 8;I^sY@<ş S&9m]RQ[%Mtw1*hv'=5Pق&@ɝ¯\/Mw }`}'[\/i/I#Ϥ]Knrzˠd}A41匚 ѠE+&s%lSPxotInKԍDQ0Aad? t=\-O5@77Z CXN@]DY2&%h~ӊ[)G'M_.hn5[U qPk([?|$n>O UmcB*ۮf}[e!I6Q]Gq9jkyi,=Pm[ я1=%G>BE+`%k,t 8_ $ GJ]KZl<=-k/K״]9f8_o?%]Ϯڪd *P:yrCjPG.e[ M{凌u+Ђ/i.hAV<にgĸ @YvsVt=7Gv_7sac. q8xM*jV{=sjdJ= Cv+箎~`qpIwPa Hpĵa=ĵygr0tK]΃gxDAա{T>qK9ϵyOe~YcGK.!EŚGI򀊀Z޻0DvxE@-j^DCRŸ͘{f f7ZZϴpP8cOjU= 6}4"7ۇv[qtIPkH[z V.XD%&vP|./ut.CHŌl:YI[WU"AE^rPԻu_W(4AWp  _+0U@ϢڪkU 0anmp/T`Da`q0lDx|^%W^zѤ*1zskP\"Z e- Zվz"6eu6ɚW } M4WX K2D[|}_p6g[7x 5;A9/lBu n$莊LԋB$΃񽛇`p ͩy0._}>g˭;Z",үm2wU@ x5.||M@A~n4Zdٚ  G"uG^Hc``&] WkRf%|[tu$?I[7[x AK}-\栖h8ޟCB^t_mU+pݯSi~+^M XV`Qj \>VQp[[~pX-qH,h׌_V6Cu1pUA1 dgO%T*,ڜfSI˾5@U@$;)P jk&(pK)­* &+T6KyfV |@r˨@)xPA֖+p@;P lFZ,}QF*D'k+5 Wh`ЁɦFYPpAf-| }27$k1toΜo=tm )0R%.֢NAϚ`i`uF}5L;-]j%m+t:Y{w gzppl{8mv&4kK:Z}wpAfW2CpzNz0TJi{J;<+x +^Xt w)syo?ؚkԷFA{L{o[8>YVޑnqk m&!^ Q f&?m/{.!ݚ'C@J@SG{k\^~)5%<@n\eZQ~ˤID*izYꃸZJv,*eR򒭊[P 9e Wv"ʩ&0JOFOsrիKM 2Zpⶈ״Z5VxV)`JyŕZkl;@H`#XWSEpM0 d ^@@ۗZ>3)/k .YJ DF!)iEb16iQ.J&YE(6E`\@f"TPn2 0ֱk%<&CmWFpnpj+lD\*`%HUӴa8aRH@U8=jĕn/'ӊ1vڢ.jBY/0V5(^CPp2V\b Jp Jԍdv((sR ހp-yrFЌ+,2Yh؝pڔO9_d/tlhI^;#p8851R#v P7nnsKaXmt{9ӮX l $X;v[ُ,=8Rx-/p.MzG y]7*^wA,06mfcg[vz A@M'hZ0V NB[t۵!ELLӊ2M{%%lkxrM"fC_A&䒝'ݔQdZV@;WMfL2f]s;\>y97'pNx Uy.B/NP>x6BL$9"eygx^}K@!kDe'#YGvFID#"<!L`srg\7I[RWQgHuCP8_dbЍ̿L;V"+kƜ:ۗzg>jt8.i0o\* vgs pQNg(m7;AgC tbQ}uU!6RQ7QkBFԗ8`[mŪNGm# O.h"d?fV{4Ke .{b#1{4屿ӥ8"Q28 ^@ `7\ Kpm-bq2+-,g`Yn#:7¦؏!``0v0v s8'uI=<67X *s7)ߋJѺ'G^Oȃx5]Pa=9N>ǞO,Hx!{ ߇4nAtd3ٔU "0g3|Ji A+/(aRI3tbx6I"#yd !NʤPkj.z-[fnew˔ѫs7!p' 83pWƶR CK }d!E#|JQ, TASg_m.qUfK2hc;Xi T@5 8v(`Y; )|DRa@舙Y $[>p"(9RTjS]ԛTm3y-}a$T1`+كa?sg^gKIl5;b٭b -6YSp[ɭ\@}}!h}> I4B/>=]MW;xc tp ޺C7}싽CSa]3qvD}A|w&B==buN!|#!06?yt`]LE)Y!7< ٿHB[BVxKX: 2TD“F!\GF#'~ o )pX: J9("\Cx(}3GF#g%g~KϺo G,p |sF!\+!<[Bx \wKF,9$"|~Knއlow9):`VY$?d%PqԕR?]XƝ Dv샠!N#M6,pRxm$%Y!Rw=N cJZt24k.c("~xUgseD."2`y}85eVXL|ZAA`E})f5@TbgoKy'RW1 b^UrMY7JkIdB֩==I_K.Gm쓐E8R뽶uM!7ݟs i$IU.ՄR=11-IQ:쫅4W"MIh/NKrvnʠ%(/*+Jru)%S]I#X˛֟ʘT.[S{A$h^0:aaM(*vq2Ή39Y"a`o~szTGk+Xd3}Ōڥwldҧ/L _-<\/ h#x;(g86*&T(,DP }ԈH gVW[C8Rv/]F/apbd,#++KKS&r7"fd!C$$ǁq6REK$*o ۞>+)՝!C+|Haěe)F"pDS&"%$F8gh5: rj?'c#gWߍ^ﯺvƼ/v Re/G;mhCɗF%8{T9(i^IyBɫ(YU*7iu( \$4DD\ue":CcrI eg_:8UaK r(E+VȖRY7+w죯]P9& 57ٿ/$zqB/(dSxD2RJ6ی>j{gL4`Npź|Ѓ.y42RT|DadRXA`$ͷHIj8jxbu 5 κ^'ޓv6+z̑*z)?A^ wt;dU*~%z]5q T6D6IO⅚ ,$_z}zZgS `K3n]r))ww vW2Kl3xˣ0y3vJ٬aܐʇ9m|K8Y<[/&b5KܒIWm}fm-Q9/o7hnQqM%뢥Oآ joЦΕ]ͨ Ie> sDfbxyJQeLEƬj͕YW+ǢftoV(d.Dղ/}FG}sUe9Lr~ݳ0fa1z[8߀ X U[q]ty$<7qNh!waGbT^٥!(b)ⅮVU8Y:QjkTLq}aB׌댶, -!3E@SJ-t<LOp^x+BvspJ\M"8ϳv\zնsp xg>oFrƳ/,MjU#꫋qTc4;eN6tf$'OTGMԣͲ(E0kqD11R%C(ejzY%WF<\|9֩ ^%ҡ-O]0YĤfVǵL 5724BhK%VE̠1[HֹtKgh5>Dmq,2%fƒ- Uh!JY1@=d>QVH %'58N+VJWٮp@̥mT`.&܌rň1]] &e}j'^ےCDS[{f ,7—/J+ `rM {!& FT32SJ ۮB3 `RF ]^@ ݼ0;"{5 e'GmFbbeMljWe1!2D\jTPT3E5Y!FSr ǠcM#U]zG[-ralWSiFz.MW%1 CeJǪvTlK:kGbL\[Cje}K8o/"3kFC [ s%nXkQg{o$VX`cnvmČj8 RShi%3-nVKZ nE٪6we7r5j3ڗfA#L| btÝHR-v'?٢UWmcC:Pz!x\ŏZno9|x7(<3|dq,V/gZ-:V8<9u|X{u]»Ҿy{n/}"@߮B6ANQ]Uߞr'Wc XNH)Nu>HAə Y 0j}K|z;_uqf;e]J~SSpBZl)GTa++$"`c)/ +8ӀaR(!0_`h6S)7e"*h @)Y;SnHތ㑯?,|b?m| _{i w? ²Z+y]iDҞ$Q 7I̡v/.# !_1п>ܯ;zSp#{U$Q%_W8WRA@OpO'\EAa;?\׺28Da{)n`FˍW=vtd4ԓO3{S#ƟjR b{T&wcG/k3NPubn3;6.{A5..:=0 8 !^1;E eߠ^KD7 N% ;ށ;|i+m~;, j ;@_f|{i$Π"?ɕcaAYC}I:g`Ojh.VE`XgOaf:U #dԠ'{+h+;#~ccwb #N.hXk'dSXԱ$Vaa eWJ 0-0nkd.7-Ju?=_>ǟ \,S/?ou8Ezs[ 6$,m͡3$G̕7䕗ԿZQ _2@fපL_b2$w,~PWE 8X ܎B;Y7xO1VǭM.esoktj()iFxW~ir(d~rJrՄ~N|)|M 'WW5)εJEhj_D=łfr <-/3{t̔Nߝ3oAlaaY{{$Y :n|/uF\w A?JDndlK;oeRDvC?uBkz輶W5= @zrGiZ»ᵷX1~SW`NzR{eÂv?N>_. /1 卺y yYH+N4R=xW1 `s.tm.48 |' "SH Ωh MJk&Pi e9+[݀d")ʛVYܨY] &aW3 ?gÞ7द‚`dE4<6B;CW1Ewvin`<"h֍ˤsZ?6xk[Ɏ ɑm]ްG p$c!dZ">#_zo3 }z@7?-"BJ6xt-wT4p!9`m.m]!=rbtaysyea$wR6MOH)iߍ\XZpiq{$c"]_ofXdF˜B H6Я?-3Ha!>Zy Tl &-w,,Xz<yONɫ*o0o/Ѷe#ecQ[ҎC ~HE}#Y h,L^XӾLe:gp0D;]f#Ky;Cprf)uzfbJaٓH'es<&<fSqI'm_rK.E1X_ΌM6B!(KW>fqkSn ]!bhbiP~>,8pq+E=d 맧fH"/'VPzUZU/lhk"!O3uڻ¿Ȓ?]:wLkqJ{*Dވw T/?fmK`&oJ?T7' ;`z?=Zq(:f$~6(ܸKK. faa$a9#s3io@۴) I?⁅2gym%Y5HK?zb qhY`lhDq>, (n  0 샕h? -QŷKyu::Oԫ Hav⫁$gyRJ׶͛ᤔa]PU<%JzZ艐j_f -tf쑅$O)M_kw5pa'A;;z G R *V/`؇A?ިK`F{F')0U~-O}B?JDmd"a#}O꿸mPF@#㳓/|}}D љqPZ䴻c[eMGO.jJ[o#ʛm16KSჰ@)ޙOq3>sRF⯉';5,wޠ -BbR8hE泧]Y/%PZҴt?Utt3~`!:<0X3eBj B 4[Z&y)=3 -z0a{UpC ҟSղ:Z 9rZ_QQhc?kJ~Y{fGy3v5k%,z$[Py Ko3pAA86^x0X@MSU6[ɞ^)3Ӵ$[Zg+\"95 `x v&Șӑ~$.n\׉X5 'W֙*I! ~"+(׫{0*'0YA\ooSź^:RY$cYݔ0kp'j['GNLpopR舙Zx* ղOgYEItmL\aMEo]Hy_7@׮ԿƫM<ˈߨBm<lll0ʖv 3&z v=J"T@M _ĮqIЄ1!^ozQQ2? "ϟ|g iU6N $-\.wZm3?F n7Vd=(DVgk;bmrJS`2&سbL{[gX_P<"Ğ34f(iNs_kS+:-G͑A,,JJ["l˛,1 ܕ5M] bOח Hk$EoI KcHN?P=q /\\$>aOD?^E\vheG9re{gu 艛3_cs^n%JS0TI'd c>r!={8?leǿi_4 xT'iӇGro1)9"bvEAzj:Pӂ:'Xu3&_GX:-wo'j bw,q''gF:MtPߑ`/͚M߸;+aiǹHwuFU7c _: H01{//G7ix-Z.H2y=M?h9^X%`GƿI`ҠoQx癡$#Zt-#k%/-i䮔#kZ?*8ܯd9!:\2!h~0Uk<2}N\ 97wB= A=~."67f 5JKjDA_om O+液$Q 铿 8v$nD+zGdh8ʢ#Lhρ :N88H:'li:b:̢Kjn7dH$1A>/~ûћ%U G^w|o~}_@GF+M58YW_gMHѸzSH:~F8s;R.-ٮ$_6ǚ?q!I#gl&os4P1Q[Nbhj9|KK: zm |sSy MHV^Rbk~x*?srjlJa>qwlX]BBKK&'zK:4u[ +_51^n[/3 NYFk D#Opt NH+wo@:V ~q:x ;0Dik@[Jp Oe i8fS1$,;xɜG(x Jc~ BQ>mk>.83 [ ȼԨ ۺ7fy +#>R:j\5/Fݖ)%v~=OLD4:%E^S m6z,s+}9e´s;kbm[; 8TEdwsࠞLt;kXծ_g п[;Uٯ﮺+}(Ѿ0n8vʶVym=u! WYx-zSx@_BQr%s̉ j0u-T)'<:̭)- h+B*kxG8NtSPo=,%]4{x ,a9:;Z%8.({:rA/"h6;)n6uXW^G:8GeM>$"'Rq6 9[ZcwQ;a 0~pBEtDžsSTo:! N|?/䖽 CBCW~%#_XFA&tc؇dLנaA:X^ms^jZjqlMvʹg육F=AﻲOf2TtϿqGMaV7v0a7@n1<%/ܵ#4$ۑ?G0Yr2B_! eRM:~NtDf8DG[mMMl = .0A8"f׋־qx:_ED峍3_NeAa^J ӭ Łaz0Awi~Z}ݫTȟN;a  A1L> DK9FӇ IMϋѷtFk,86[WML9ںnD06~_c(( ݤǃ.0t dp&6,Gb'36է=_AE.$";w;gG7AR_0B58>4V)D o5(A*0+ ?(yqGuZg?yEzPLt}+}/uIj,h /])کlN~јF}u:AZ7c"s2j O"la.Q] s}\[\:q?c,oG@?`L>g4YUWj^_]:=~։Nށ'rXeg!*f8@$q,i𦯞_<=sǗ @?&t ,.,|(EBO\ćL!R~;O8ƄM* ˭S4QfҮu4ϺR&|ZS~ y‰'%9@ ɿCsRҭFnn,կe)=ݟ=3, :CO֬>sxΩqaA \UYƘ,kU}ՑU-)_Ha̯cRj ޻~rLd#s[yo҅pg#&q#k[)\~_Љ,d*݆&iyX>q 9uBOhoIy#  㞺N + PfK(\GIF87ac}}}{{{yyywwwuuusssqqqooommmkkkiiigggeeecccaaa___]]][[[WWWUUUSSSQQQOOOMMMKKKIIIGGGEEECCCAAA???===;;;999777555333111///---+++)))'''%%%###!!! ~~~|||zzzxxxvvvtttrrrpppnnnllljjjhhhfffdddbbb```^^^\\\ZZZXXXVVVTTTRRRPPPNNNLLLJJJHHHFFFDDDBBB@@@>>><<<:::888666444222000...,,,***(((&&&$$$"""  `<`D,c5HTaC!J8Š:yXE CIpcF!Q\reNj/Wz4Yҥ͛6P2ϟ@ JѣH*]ʴӧPJJիXBVŠKٳhӪ]˶۷pʝKݻxU*c^^#å†/)Vaqnjw$2˘1{كϟ3yDҙ>Vuj֭[ka6m۸5н 67@GΩuEp¾{":u1BDӫD}{OGx"A?/?( &G h rƒB(ʃ`! 0J! )2$@ ) )PJ ‹+Ԩ"1֨c:x 5JAp) c*H2)UWDQ@U `) I,6 @ -l sbKx'.9g;*K=$h?< LJ)At)0z A aj*1cLGjkފL2kK4l6 2O4ĴO8S-4DEb-4SLnHSŹRc 5WdnYd̻6žr|aC08S9,0蘓9gӆ:kPl:mӆiNFԱ2c,cQGs;zX_Im? P| \I Ѐ& d  @6i<`D(b^2 xB+=C"¢tӃT^"Xi?'j|6 $p0j $ LG`B+j)& +, 2LP,2$=:;mV[3;z;4S[n^q5ojME F0aa!9a9Nfa, ;>r4 @=ؑ:#pGq4hn44 *8xe ~ 8(\Pq)h k#A0e3d5}b% V79w#5੏x+B`8A;\ ՃHr/x\tSʔ/lpW wH]Q/*W1|00T *+ *,e>rP\`UxG" :+\d^=1 8[拂?s}E,X~FuyS]7o`+°28agp ϰa ]8tx,b a0fm>Ꭱɣ&LQCzܐ=Sԧ0QB'Ef(np#wG.\FY8Hֺ DA 96Ց$!w@N ,eP/* 9(F$*U T#p WxBŀO1. 0c*Va0BU@!X<($\ a1bp$BVpEL|@5I^! X7qϜۖ3> .| ڸ_A &p  qX@a {t  L&2 L+s<^ym8;3=04#= DTDBĞ zl(?Oq PFơL2ʷB>Qi#HhW 4 0 :Hkl6Whqp@F0W@B v +Ep-r!iNNQ+$AʓA,<:* ` ّզ2D, Tɺeq"Zbx1m$; #kMl.W0V~ZV97tߒ4?tUa]lOz{W@ aP[ *Y0khF_A,5CJ!Þl;j<3}X+?(<ʏ %0 l(Ũ@"$`G"G;< ` /MZ6}@pZ]6;QuA`;n^4\b;!mJOl$]a)OVS+T ^-;Z׮(0ni~:D2@ b[ ]f~ o7i];|QV Ɩ!*S]g>Omdaڟ{c_Ʒ V:akx %b f8E:Ѭq 3_iC3=zx4 wsPRc J~ 0(pW?e@PPf]&O.@6@6uZ6uo#W{R FPvw4R }7~}h~5w^X;Pi! xi{)i2)Vj kVk v\kkyy& ` {K{`Ϧ ,MsmC-D>--NN.SO?O'/o%`a`Pu0' EF0sQQA#2~+q~/#bqu,q@qb4@3r4:FL`3Gge7T\ F5@ @`h w5c6`"hu*X JT *7rg p W0F GWЃF A8;9"`(zWY( M)c[ xWx`j$YxZhk^kE yyz2  0 3PR"^҇Ӈ~^ݲ>T.U_{"|` p_Yy/Ƿ/'`40c@joiAQpAa ,33o2'&c9#)33gMь>r(gd^ dL@ ` \E(Fa3F06dE t pE (Hsu^ vwW9W~S~h P 9(%IdI @)PZjTH p *w@@@ "kT +7 kTB 1)+6&+& شM6,Ʋz2^,d>L--ز>.Ryn."|Oʧ|}uf0f0@ @1GT@&2&Q22$C+S(PZ~44G#rLcheW ϸ17s-dXP@;]Ú&d6e ivGu{g`WG9`D v |5w{g(&9?P }jRZ 5M$*UIc2Mp;fyk t+Gz+Ԗ,,zzmb-߲>jn.e_O&o*Pfo3 P0p}$11i}+c1pH~%2[B3TWyiHT?=FqPK]"&_"6aFg6i'!ktB'vG}'vn7(#(8(4e))*TȪ0:2"y*G*PK ++Pb +ׄvNJz=ֲ^2{{$>@OG l+Ob?ǭ_}fsUfo 31k@61v!pmC~NJR0R3u4 `Hoz 5'5a&^ӱ p&o"'k7b,'|,oG(H3(yY)wjijrJ??KGCPNyQ Mд+ȐHplĂڳ,ڵᄔ֢^u{.Z*?,zY?/70F`5Z0@ uY1ax@Ah튤NB2o`34Cpb }iq7֘Kk B!^PvPJINPwp0U|pP|5?Ր=]} ]%`V{   Z0] 01] 6}8:<>T=!pH=r`B N I`PDP rS} Mb=Y hjlnpr=t]v}xz|~׀T0RDlɇ`؎]TM{@`T؍}؈٢=ژgبڪڬڮڰ=J%|ء\~Pٗٚ}ٻMئ-=]}ݴ%t`@ @ @؅@@ `m٢}~M}>஝OE@ 0ۣ][w@nm~P=M(*,N-EX{]2 $^}-R>T^mm=AlPPp-MN'nv~xэנ呼 `J^j0| N}ي|~z鞎|>0N p0ꎰN  뉐꫞.p>^~؞ھ>^@=jk\o\pmLt>._~ >#o_,O ( /9!p R?T_VXZ\^`b?d_fhbONjpr?t_vxdJz?_?|OO/E~?ZOu?_t=!S QD F=~RH%MDRJ \شk@ 9vN=}TA[ETRMC9͜C^ŚUցE~VؓPeҴNmݾ\FuūҬԴB@`3 83+wqq\ʕ-;ĸ)fΝEK-M&&CRoJZ/ƍ{nϽ}fiVIhU !ZMf̤Xk%e,Ml3gm&lsGsQݿwzj %xӼy‚KR) 9ӴE$@\cm:K/C !>?L:8?\OA@>@ m۰Gb=$+E3!Jk+;NF%hPG q"$3#K>p6ZlB5KFƨrJL?3,$P˸8g%B!"EnFMſ::$5@54UU9D+5VYZoU[SEDEgסļ5X2sD_EvPd!xs6[uEj+%8n 7i-=<&祷^{7_}_8`&xu7aZ/Q.8b'b/8c7c?9dGXqF,G,!RYU]f ٘wV ޗyH] h9FtiVgnhk,g[$:l/bǡ`gkh+dn{j G0#p(qrKZdlF prs-(1C Yx!NlW8Qgu݇O{~䋜ugu] #POe7{uALY!}SLM] ?~g9ᷟt{0y0`NSfk ެf+T{ciAaNW98yk8[}EXh0^<2fFVC-ybar}0vj-\p+J0&F.j~eަHE!a\Ƴ1l88vkF;ь=L6FXaeUNH7A3R(+oK8)A RЬL =zыRҕJ8 ?B ʥO7s[ܢA ZљȌ XE7^=f;M[҆$72iD d:e"Qyz":$LN3H3&)HRӠ hۈχshEdNno>ɖPAԒ -S0?̜JP3٨FN^*i~z\qy*PcEvqI=;Tui+ڳ%[5TpZ ,T#)Xvb ꭸmV:gbV`u(c!1^lo[ٻNa\z Ýqyϻ &W{Ghݣ"$_:'}es=ՕsguhG/$u5or=NLRhU߈؏}n3u@{;_.Qn[.9}]o㍏#wNmts܅Tzַ}e?{מr4{*>^ȇsl?|GhҭZr2}W~}w?~X~u{+?l:Bu1^Y8<,g@.p?vS]ZA/4>a`H4dtU!Sȑ&d ‚! `1 &q;A aQ!hQQ Qh 0CK`yCphMَ8C,|A33  TA۠`7x(ِBJBDN%y؄ؔ1D^DT?롷H9CUDp`bEY-Tk i&Q'TLؠ_N@ FYADjLӋ iIEFoa,MĐEsG TܒXv@΃#!iю(B5:*C><8=y D4GtGe#%Tɘ T8745@_ѺŎ & ɟTJȌ;[5HʟxG3HhGʰ\Ď\JdKF< CcG˼˽˾˿$4DTL.&E(p $L˼ LMMԜ-2mצU]=S2U7m݋[f-Ӷ w \aVvJhf'JORa2`8UhTgxdt%SvٞN`[ VW>plr ` cA[][3WsS-^ /c}Wi[Mv |`2E_ob\]pgrW hZqZk TnZFsaV7?\XXFsޮm)Pɭ3d]ZXmi~QCuksqMuΆdwuvVcZu5v&u[m`wUV܈Y+./ur/u؞wYGSpGvqukrtVO_wco܅_ pB݈RJ.\թ0eK;\o.[h0VOxa@fU/_F>.] qw fqG!9!BwARf%6)/ن+x}!hT ߎANV#EӄB J:GJ9K=Y^+QRI^%ev"iNY d\i^9 p>)'}>(1$~Zmv桑hc2A*) 碛6錛vzyׅzh*V:&*+dk&f媲*lO.z6 )6XZ+ڊkp*j2i=.,Ikֻk]Rﵻ puN0oTJL!g{qn 0Ҿ+Ku|r*m 32 l݌s ?q t)nF+܆o 5BKt.uJ,/]3w5؇jf{v~Rn7umyϹO >@tx/}ymOގ_ko>;1诉>}pŭzxKNOzλ&u+NIs|:?tS=eoߡ;B>g*#~g`3/pd䷿Y|"ևVt{_?}[7@ gnˠ'/OFR68xphCQTBs߃aQd8CXuC C#u]8D"ȈCbSD&.auHE~؋E09рPs8:9lk/̢ȡ2zhaDp[1Z iJ$ M;0P WH:6 Nz21t(QHRڧ }$RV앰$ g.ǣH1 &O"ILD&(I&u=?0Kij[76Go:RvҤG`h@Uc'SMhKjƆ6]6hPU"eAiMvzt:$&3ђnWAImE/KnA,R."I $)@RT"$P?(#ZHP#QeYjԧ U!HR3bV#vŪ\a]B4B0\:u_EkTU"u=[Խ*6aF֊6dmQO ϶_jVRֻRթilhEBY.\,/r^􂖼esa\rf Yk.wi]./]skxҷ)}ڌs/R F,0*#_K·3 F k0䰇C@#S;Őccl6˸=s,1ⱏ* z"N%3ycHn2I(ST2-\rz 1DӬ5n~3,9ӹv3=~3-A9*/E3ю~4#-ISLB3MsӞ4C]i,0AԦ>PPcXF3b-YSATDs]׾5-aC!\0e3~6=q,#Ҿ6.@vǑ`?C R0t݌gvw9k)atG;ݎ{؁ d 9cdӱ_aialS8Ɲ=&X;Ǹ'oZv \dC=[ T(ssIh р> x"1 E D"!@lh@AxP".49D^k!8.{;ޗtxyH9ơ`ך ~q̈́i q^w`ϸ t]ǀHkI<`" $C kE!paDbPD:qs;ֿ>Mg  `G@p $6#PH"`]h|!A C3pA! C1LC *(B0t,B5x TC\ X=C@\űCB# <ᳱye!BA} ! #(a,!!q5( #:`=#>#Wv"%`'4<#?Z>[r_^]cZ6]#`>@]BAW*ZeZ[J1e@RmfDChf4 B;8 DkkɉT@$Lt@&4FZu5d X(P0"=KZA !$ CN!(,LC#8|! <L,<ȀU Vc?%4 ('t% !_'<ıc6ZacWҁ<č+ X(dh<6"a:$BN!-\ ,< 1@dzgj[ ) )h6C   )24"(`@H@"$Ё)ZmݜA@ 8A B1C:X=e B%,B>X0X*CC=U:`>0(:"*F[g.+mJ C)L=)48 Lt]lA@*i'GHB7A tC8'eBB6\:`\@4@6 @-D$-=A \d (@2Iܮ0N€f#6"h.o#f1]v.[نǽf%\@'' 'q:L#pA]$,e%#,C"4#<$d%|!&B<@Aw"@@Ĺ {:[CB7B# ke-7 qvCơm ]&U\՝+ 5l1w11111DZ1ױwq5A81 6 2 :r!# +" 4!#O2%O2"7!W"[#C#;r&K&r%{()sr)o)&c+2)*[)'2$_r$*-2!r(2.:443?s35W5_36g6o37w73883993::3;;36cԳ=߳=3??3@@4AA4$B/4C7C?4DGDO4EWE_4FgFo4GwG4HOtI4AJ@@;4 ra\@}JX(?C6_7}vzI)<>=,;},yqƂt26_qH?;!n d~0.> stream x[0 _:xEpDYВcqZ4cbKϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ??:ϟ?{ϟ?ϟ?ϟ?ϟ7ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?_DF/ȲU72ߕ?ϟ?Ͽp#˟?ϟ?w`ϟϟ?ϟ?_7翳?__ϟ?-O˟?_ϟ?ϟ?x?_ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?eߙ?_ϟ?ϟ?ϟnϟ??ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?_?oϟ?ϟ?ϟ?ϟ?ϟ?ϟ?ϟ?gendstream endobj 266 0 obj << /Type /XObject /Subtype /Form /BBox [ 20 255 404 822 ] /Filter [ /FlateDecode ] /FormType 1 /Length 190417 /Matrix [ 0 -1 1 0 -235 659 ] /PTEX.FileName (./fig3a.pdf) /PTEX.InfoDict 297 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /Cs8 313 0 R >> /Font << /F1 298 0 R /F10 307 0 R /F11 308 0 R /F12 309 0 R /F13 310 0 R /F14 311 0 R /F15 312 0 R /F2 299 0 R /F3 300 0 R /F4 301 0 R /F5 302 0 R /F6 303 0 R /F7 304 0 R /F8 305 0 R /F9 306 0 R >> /Pattern << /P01 314 0 R /P02 315 0 R /P03 316 0 R /P04 317 0 R /P05 318 0 R /P06 319 0 R /P07 320 0 R /P08 321 0 R /P09 322 0 R /P10 323 0 R /P11 324 0 R /P12 325 0 R /P13 326 0 R /P14 327 0 R /P15 328 0 R /P16 329 0 R /P17 330 0 R /P18 331 0 R /P19 332 0 R /P20 333 0 R /P21 334 0 R /P22 335 0 R /P23 336 0 R /P24 337 0 R /P25 338 0 R >> /ProcSet [ /PDF /Text ] >> >> stream x}I$9Uj) Si70>3L֋@>s@L:m>BN?߷}]kݯ?ϟs{MZlk?:u^uYնPZCP}ߝr5PlkϧS~n,^\ |-gϯ ¬\ se:ZZϨu8ϋGh3P~CWzm}nPxs%5{)R08J?;|:fjMG/nල.D'W-;j^{2e^R);Ny^=lc/#io^FbzfnL;{fx;z d/׹@Y^s7Lu+IYξڗ5m}m-oϭWW|;({:wW[z}^zZZ2:2|swnƺם݀gε3gn%P׵n<S{TJ=)k[y@Oђ5KscаR6Pb9'^6=qijor3gp6F9O}mg-9 J 4oc.vK=fs*?z=_E`~mϷJ\R'aO mU&/kk?|X)hA ͻuˉ $ `~ҔK(L.]Y 5k]k +e̔KgL19)6sq>{і +Ne61FmdPĩ!Ԇ5y.!IRP̂HIԞ設rI6Z<򤨝(cjoň^f]cZFZfse-_ƥ5x c& Ae35JmQirRj&YD<>$'F 1 PyPOE1ajPo@h8P1vB"&}22rm]` V/;X)a]v_<, KZs`btz1z=MJb~m.=R^f%a" 3ƶeb>*`B0N :$d]`?v+8Br|2g;ehkN )2"v`r+U|K"԰L0(G/tiإ/c$g#9Ċ4e(DbnY00&KYG6w>K+|a0!4y@Qd/̣֑:A݂"`E]-dG410Čձ)Q1A<(Vux0vJ< ˉY-rCdll|/RKG ) yRp%aS6x~Ʃ(s޿>sח|7&>,PG}mJt LJXP~]@aycB[TbNJ?pF|;[?crRв-`|=[ʥhp?JaI6+x[ԾU(Z~Dɺv]p`iەb"ăRJ%}>1<7Q+ Nodq!N<.=;eKy;&=ǎb ͬ5nwi}OS0oˮgq.(YsZWexH}3L\&vnf ~3|~nF}C+YC0QʸM'z추RzɔCI9b១rbgXbnViD;D0%"RZ:ezjN\jgڏ;ȇDXT6eS>L}"):^.|w J?D dIizfULʋ+U% 'W3˛Ch@/~b NJSҷkC$""8qYU'ʮ7Qճ\zg{+( ϶4w[(ӿ5W~u6l*ĝ\`o ybN-KğtDlIq>q|>2JPlA'eU#ŏ(~:f0] a.L}t'UbTvWdkAxчZߴy2+p'r6s+nS5\3+7u JMqzX GL FGg{A㨠 IETФ+j5/ݯÖ>Jz#R9Y05sj?JAy>1p cO>BI '(oZ($:;HgWls(O8R$ـhO (}3Iy)h*['\2:"bsJ1Jќrv}kM~}~G/}7 CGb} D}m{0e- PV6)<(+[I2/(>(ґyP?ȧTrn#}F>)\᳨-G%>V;hLqAs>-䊈7H'Ïu\8BeƔaf^uRaJX,&"iEV>"elW`]5o{ZS]_a8T`qcjJh8V81}IVFJ`NBM```Q>:p]S@<{=/$GaS#oAy"Niޜ3J>mq8,;=(y*oasfu2 !D٘"l 2vƪ'ⳔBt _& 82ڟbʷRc<>&n"vI))fS(}zջE'ۦѵ9,|Ĝ 0>dhA8drIC3 M^ٖVcwCN0>+Zj6>jgbxB|n hfC`ZׂXVS*x^̌X0 ~G8x72J|jsAj)>yy FS W0ʄ!>vٴkBscHjD8*5$T H0nrTy&D{~\~kuzmsBыnj/Tab`⊗jzˑKVN\˜;@6ť%1n0HmJ cK&>%u1'W|*Q*rD~ϗ/i]:K턱nt \2# I&1{sOL\=O?6dwDE?sڍ Cه' eϝ+,|jg!_ 5\lYQ#D[l%FʢXTOvBn+9\J¸KۗaOJ8/gۃG/*|>> Û w Z5nQYLlѭeWqTo#Ԁ﵋%E4Dx"asDߊǧ5z"UZ]O B+HY9.y"))̒CZ}RekBldl6, Ur#9CAA8j`\@Y@2ي|" L-gM #Jm;s,a޹A`~Ұߩc&*Jp AlzbORnFXt 1ޢ*#oX,D9$l@^ Nh' TS L(IJU 1JjA m&<7;DYţ؄K]D4myQS׍GO[, |?pOo3'tBix9G}RPuhc(`G}&>fG8< $Y\͌o-4(=Ni2 2Cƴ'tL|E; C&Lͮc`TZ|3mP)='&yc݊K(fn1f yR%Cy%"}(? D!?b~IA]E؅1AJDUY^Q:4l] akc ϭ|(n!§'~aq iq4d?tJV&l^ӳzh d^ Ɇ+":Nڱjjjg "r}"jC5bX7%6*n5dݤ0* Q yPQ-D]a5āT.Mg?(Ӵu eO>Ss:1њ`-VmuY?@ ˅#skk{qh@qJn|עߛԙfrsb|C[Bo*i xκ還dߏ2ۭҡ:+H\&1[˨81L.fn4xbO(>U=ׄ%դ忮pAQIS6DlmsWD4M cZ[G g4oΈo&+/JDd ;,Q,ȹYf&@$1%[aRkMIT~uNv00fO־,-+ Ԭ{{hCpN4 ܚbifHB-Cx+lډ;e'.c}}e!'nߥ[=ooYxϚLӓ!?%sXRSneV3) n1)4"%5D|vxƇzG<!b5D81̏x"&bGSI4w8)O#5vB{Д' C+Ʌ&H{3i߼?10atL8ݧ0k`b.$~&-AգnZB LUɔקg |#>Sg$]6*V'k*T11& Ϛۣ{iSŝ_0>٢|i6I ųu^ս&%Ү5_lkq1Wꢻ'Jm՞KZ6װ^0m>cb:g.t(0v|g0ٯ'ƮK.e4V!F.4 /f|wN93U3; 7LXܖ4%EDM1 kO~j$'15# +jq~rԕ Djؑ@}nܾ OFg)`K r>JXKއQr\h6)K,/-x ,?@Q+|L|񾠘%1:И/Z-tk< JjT;cH4i 1L uYV.qBkIBcRt>x@4z]3xԣ'o?/|K~ecgM~jo{^: ?ʦ[?#50`2hD\ VrT=:l Index of /rthibaudeau/cours/optique

Index of /rthibaudeau/cours/optique

Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory - [DIR] _overlay/ 30-Aug-2004 16:04 - [DIR] _vti_cnf/ 30-Aug-2004 16:04 - [DIR] img/ 30-Aug-2004 16:05 - [TXT] replentilles.htm 18-Sep-2004 06:51 23K [TXT] repmiroirplan.htm 18-Sep-2004 06:51 8.8K [TXT] repmirsph.htm 18-Sep-2004 06:51 27K [TXT] repombre.htm 18-Sep-2004 06:51 6.2K [TXT] reprefraction.htm 18-Sep-2004 06:51 15K
Apache/2.0.46 (Red Hat) Server at public.sogetel.net Port 80
1F}O˶aݫSTp jam;Ug<|9c|ԨE{j6U,7Pnrz纸S?SO^b%t}y<c#lAg 5 c7!hfbf\+/>ݴ_(_Rh7jԏ`)ԪK `5 XXU`|8q1C)>lμ4ia澌g,oEƶRf;-*&Z7{HQ1A]TsQ ՚؊ɠF; ecF(ηK~r$V7>"kK9"^kjyQ1+c 0]|8`SSj塂u`La^U7;ر/)\yIc%(_RXKxy8j.'Frj}2|/5ݩHTtg?g)3/2_y+F3/!>fHPzbM\F%r-EFlnHuӤle>BwvLB]YBK?GxWdgw`hQ>ef:OZVC {(.+8@ixw7(x> rscRc޿!iՠ)u^Cmq9E lpk7C8VZ[)G|Qwmݯý/)ۇ{DZ~b-APLF|Q]t9dJZN'DE |o>/?rYFgv"Mf D91>NaK ]d uaAmH f2|ήAl2)R*sM#qatDzM` 1Nybe]s4,E4UHBZ0M(yb^F`K^Fyr3%UwIx7{@۶OA`m ! i&^M=8/.6tIɺj{w~ϝ |26'R*#J3 ׂ :ͧo.\T00&yk9- 1>dQf׍~P+{;=ߤH?)%6t=y"4UIuXVDs,uin!ٗ;dX9KպSdQۜU Ŀ(n!LCķuBy8g@[f#9W嘵TiR$ō%EiMPxe{+;跔4|JAy"~Du[:xqG6Ҁ&y0.Zag`ً\eAh )_Rt;'(_Rf 2ͱcҘmA-h1?8<1ٜ%}:!>9)%Sp'YI) ܊C^Xɤ"[KʓϠ;np^,6:xq^@L5_b5G;=Cmod/IlBo%@}ØZ@ JatKhLD/)"w$K 1Fy7_Lb%4?]D;Y $څv+=--;IeF(ĚEϓR fϺ-?}K țؓru9$F2"M`v}#l]=) e/Y}}ྕK.ae,$e4Fx] c^j^$Gտ"(DSohIX.*`I$A772B1ߌ5]E1oPЖsqQjjnj6znDݕ A4 /)'NVo/)"+&')_Rf,riσ%ldNyBz ћĥ)_R#e+8)_R:<].D];Ǖw]y'QU"]U]׻4q$Biq1I4:ɚmZh[:1qAuj胸 -*z[UC_] SR` נoRY"z^0F/^>`DL>?kEmكLK5en1$>^\\9ʯ.B-6 )2EjNߠq65+7_ynczǻ (!ݠ# Ԯ6O`xrz)mfpK,H6qpv"S F׵ BZZ0t7ۣ) ˮi*#)>] 7|(fFRzOx c+X4Le!)>fy˲ Ӱy/Ja[+5Cxx<+'d'B<F)V༶+ki$O ƮNٯrp])N$yQ0'|pvet&6_^e:OKO?EjT)Lkk|4UK8vU;ox!r{gץ pGmS'…ڔ21F5&{~@+_1 gY"q;&MlӘG }tSYfGg&;Ϻe[޴wJ`Q"geW8ڀTK\arX*7AN\HQTJ?JskIQ)M]2ff;[_\ez4Q(H6z&lfD2@TFڠFͥB}j*`.ʷR²j$"Ovq8˰!*b= F=ms#}`yeȏ =P#uY%>[znTaበJ3PDJk痍1k./-x,:@|WwԖ%O5 ^^h }թS՞s퓿Oq.=*ui Sd ;W:p<$fƤeY?8Mΐݕ"yKJS)ȸ`6v#^ \tY3kyAfJAHqH_8{[JoHDXeDٔ4b•&+俻}Ėc]w\>D1+Vx"ҹˉ!6nBhl?z,'SM%dΘςEf>xbwf_s$&Vڞbk%x['VӆH?~ BHIeRIjYAu%J #  E:W<ب]UD=k-{֯1ӎL8%gJW[ϟX˫ܻ؇vt]%y;m&#`-Ʉ\ZogsDM!!C5\& 9ND޲J.,V 8-d<ǹ{A~M5m,lE*>y̴+Td jJe"Dn=ׯ/n l kT&$5};}(X$ __)v2,ҷ_Ut.]cTᑖAd,fwR,:ا)y eN n8hڧ4 &5UTBIA^HVȫb,*'/xXP&);;Cc#pGb q>)e)Q/CguS|[= `-WW.U2C=חQ8jk, V0\M0<tqquZbG P՝RMYURBY;aUdRMwbꁋ6-r:[in m %;*'|Oo¨hS 5 ,OGl|p5vȄ~{8OVp%go|?$$.,Ks>%֬>%b f$ D_WLJᇓap161\(Y)cl~V8\B`7Un1hٝX-)T"FQ}KZj8J=K} ppNޫqA|NGBz.UfR;!i%[8"~/֐U{ .aʝds!`-QJFϢBlk/Y;ʦ9J.g >1~f/cN?{mOP72}3Gn.特G[86Cޢ_&ܒblYhcene0B5`|dơ<)dD]6ﷺ4p{XhPȞ@Z1QBl,Hǎ]z^Dͱq`]/ƻψӘB̛ԏPCؑbBY@5u5XJ$qtN$"0<{یM`)v%~uc;JwNkGI2psiUFI$S:'#ӗ>H-,f঻&U(;!%MaL-FbMf-b`.^Msc>rt=#x>Vryʥ(\󼘿:q{7T]OJ䄱TaB8LqY^P~)s X{zIp= fw7xl*d;`~RSX fQSW6xi13"/xnY5%a"@хȼ_ϳ*օ/Kb&lŷYΠ-[ںU^ekkµ FpPMAV/@5~}ENi\jZ،rL_$]4.,GMY*cV5Klxl EHnfhc[d 7aꘆSq Ƞ\ڜ ʩjd87xWdT)/&wA7r7Wʊ5L̤k:9~_YQ.bȞz7($e^juދ<~(/k W30yYcnՎwl0^;J%x2O 1exB{ac./VdfCrC%HlW(0 :sy%#{qXO#Ix픘<ۀ.|&{X=e?Y<ޙ,<q$յ?'G)H&+rN/ PV^; j/oCC] O)[yWWyϊg-Ygh-(Sp9zUnOjS&rW}vo_cO-Ox<,9L=bz^Fi&.e9=g}`Ϟf>Z`^!ɞ2|uOkJ`ɽ?'E9;{9|0mF(OM9Xd-L1ꛖ =ρKjAVs}i;KlAw2@ks%JC1M,>hl'TP>|Z {)۹|'^Ďl GhO`Ôk -RF Y"w"#. h%,Ͷx\Joʯ]6}JQF~5NH,#hxxʋ~l{Y8=b?K*!O ʞjaztEpBpn!bq4Vuntvm-/B Mݺ~cth"cMxYpQ1$j&e|E@Pv"9%Kre&gwLxejl< q"5m^Sn2;ʶ;Nu->;@0=Sh(t>8=sHo 4PkaN(5trlQ0'a`<|0Zф71DDC}m&+^P˱)G(™"DTyxY,!>0b؈4㔱HP=UI~?9(1.qafalVW^[4Q~[^/*`]$!>~FUt^6Kǘ%fױcG)L;R1xQnȹ4ey9P2-:tmWŠ&=tr]@a|pbb<[ajt 5zrKbxFDQk\Zl즱okuh#h.V"voLnX(<ֽ4ΫM%&w:PL`<˥V.9Y>':X7#N1Pm# MID@ÕIm10ƣMe\kAz^"WOGIF87a,}}}{{{kkkccc___]]][[[CCC???'''###~~~|||zzzxxxvvvfffdddZZZ4 ΤXrarUU4aplTll_.1\\dd H`I5,T4k@H e\`0dtt4 dX4itHHht&P4|Dd4dpXà8 |L T,,H*\ȰÇ#JHŋǏ CIɓ(S\INȜI͛8sɳϟ@s p͑#*]ʴӧPJJիOh#ׯ`ÊKٳhӪ][ hCݻxsׅy +^̸&NHL˘3k̹Ϡ3!$0M =1R^ͺ5k@| !P[CtN@УKOփ;ka<rQ̡<ū>5m( > & 6F(Vh0\~|  {H2gC#P@3 Q[ | " ?AC~F)eqXf& , <(QF1D>U-A FVpDmDLX!NY啡jy pd2 "G@1T!E!P@Oa@MDrAz!FLhP Aڨ+bv1MB9G XEDH!<0UA#uA1pq@v A 2P _`QT|qaG ¼8Ëbx C@:Y:aPOPS5 N$!C fP!K: lPH1x!= MXh PK A aB ͒z<:ӞAEv40 iC X``0@`` 7$TAA@Ù+j^5B $"Q 4Z 9] ,  :B \Tݞٵx=M0*XA "PE` Vf=n w014@nUhp@{h~]cum]-?\ !`/b n` -(Za < vw_<`S"?a[ǃ.3<, L#Ѕa@# p4bpAL 0C "gH gx“ ҙ^/AtEY0 `O |0h :x 'BPwlp;Ψ2* QAК~8XjQQD >)u}xD(<ЎMmJdv1J_zg{j;T&8vF6Mz2w*y N[qC;<r(4\j"npg<x7.\ 8SM{S9K5O3sΥ\2'v.,.CtzIoΈ.uٮzp{OtˑkGz/nrxϻ˔ҦMo` Ɨ7f;N[^0s=7ysc:Dz ~rU=z~:WS{|~Z=c{{X>#>qyK?qozk9=O4כ?NO{2'O&Tx g!x |NG瀩y7$!T~'E ~ׂ0H%/8!68 5g%槂ׇ<;DX!җJL|Nu%xGǃhg^`IOtwjTJ ؀3rxG0x؇~nsW GŦg[Qsz؂s8sNnXs耟rhrȀȅGzhzw8QWaXƨI&gȆ}@}vXoxnH81pcW&v7xwuu(GgT+t8}H(oChǏ I6 MȐx}HwW(KHǘ*IpwȈ29d{h؍:M|9@)&.H8)")3Ixuh=#vRLY EX[z]V3a9Vx;jiln3pKIfOtx9Y|D~\m9TII&l Ʌ(b٘=|GdsIX |[7{@כ {9Xwiʉzٜwyyܹ x 8tWxiv깞yxiYy)XFz4 C ڠ:Z "'@Iu9 ZءMX(**آT z1:6ڔ8:4jأ0+jBڂD 8B)@NPR:TZVzXZ\:s01)dZcjlwԞZwL0rPvzxz|ڧ~ZUG : ܱڨ:Zz1 S:*yJiꈧ:d2JEʋGxx*Zz'*9>riAګ ʉҪ2Ф]:ZO81mڮf;Zk*yXs:گwzjz ˨kk{ VBkM $sF $@ gR D6pQ93;'ˬ/#Y0y[w`p?7'C# c7B70۬ȚJ  AH M#zE@P>`S pdRp E00G@JpCC@zp01 >Zq;2cb%XL0K2^@ 0xgpTP|` EpY^@@6Wꪲ82]@$6\7'f~P 023#M: 0PUI0,?FP?c ,Εy[]6BL`/I@PGd R Y)`pk\`S@{0 P|p@WU꺮<8/fv0BC C.@_60@`y5F_0/2y1P0-@c0ay(t;/dc`SHN4 0M0JYCP.d z@C6/f6+ˢDz` `'[V3P`>FX0  ZW `6`V#3l^x`pwpUPU \aʅLj t0+ 3PM:*4s0t`u,*ux0.wuMtItu v@quPYsy0mn&p@$q`L-կԤiOWհ4\]o0^@@JǮGJźz|MpprԴ9Ίڰ؏{ؕ؊}z6i׶٢ $}F 3P:~h:őlukq !aj]t-/rP?PM7\봴J?%MزYŁFpE?E?~P@pz xPf E%=;O$4 0`x 6PS6D $O}%mJہM0AA\@Q`L/&d TPPbCntiTh$Md L0 :0ak `fIyB>J#H@>9pQB p.pB0@c7%7N<=CE5Ņ0WPD(0 fZ$P`Z|3+a@7 NQ`/Zp1`Wݷ Z tФvt)C%s`4 Ǿʮ,`+ Bth\>^~~vhּDJMMK]w-P_ ;p,o "?$_p& /: ( 02?4_68:<6`9D_FHJLNPK_5pXZ\^`b?d__5jl;v#u%ȐEa7Ytּ/0SM$Z C72A†x 3K=M Ce6 Ҵg罗0gc|B0U* { qqD2<؆ ^.fĘ% h+`W Qo#IɿtN8̏S^=a%Fv'Lwc6YKą^v<0~Uwl4? PyN rd,R'kq,qb@4q`INp \FN;&q[.BIJ[_ͻnvvH1h 8Oitqq1·||_~ma3gAW1`1ጶ_e:%#Bʧc)W;#(rqXɫDQ"<d:sc@`SJA(.X!1Fr`%53ju8IP0w= C0iFCx*:^iy $Rڶ`9*D(bpA%CB>bY{y1Wl/Z19J@ZƓ S⌳pa(!˜qnBA+ǭEcbx<[qw0x/ݢS J T !dW跻<:qG9%S~a=~_~t޸<\$v6>cArwTrj cFZ7 *E N0ǣ}~" K0Ƒ9C*1Q^C"n"M|0u绤-#iv+f43Z-R)0!>L9F .oeFH oj:OL<٩$WNn3 q/K>ϝGsg(O{R9mb75r'(1E;UC;aļ:gZO¯``k/IRDS#;Xǣ#Oc_qFz8^Q=ZrWjTPʚ=OˮܱPҶ ՄH*7r9qL#:(}xW"Հ*h%cl]Q  JYƖ;~E~TᆙtWK\>a6LG9=C5JS/~ _T ZRm4bOcTCS[U%VoĤ˰%%^ڪ͇84yW!l\4PXB.#G蘓lH$>MnO[8^yTsDKrpʩ9Q#{zŤaqv_$,*7^x%Kg=Ѩo(߆%[ N9$J'!ø(g4[іclbRlc?:Q|@-4F#C SFxTL.e$sbt1߅Yε <$ h}5=dC<>…8]/&2VQLn$CT(.Hv?QR%qw 1ϛYL!8,=BJe@+QwԩO%isJR@"aۨSʥ0aNM,mO^A;p)6U6%~m#c PH:>Kh|P}SNQWf4Ƭwe3=ah0u6fDgBGq7C96L C$kk嘋HZGR:5:1I1I%^+_>+H-Hf*J/0:*!hV)ԢhweC .mTC|.YBL7`k[1T4[=w/ѸOƑ'>,’1(9^b-|x[~FVxx>Wen_S8ÂȧruǭiSwʘ9ijMePzݏ>{ H7|ݵ9Ql,q{̂* br jp0H]"q<]wf]]r+S%J7}Ǒ&0 .;X" /tct8 A^(%d%Go¡C3 ɯt!6*(Y$JGnsAOcX8jSko(0Lqi?a%1LUWc[QYr{1)<- 4z h$ޏ }Z! 'r# ? m1AL c/v?{T˔w~2ZlZgxgSCZ;{ pqRt j I uA "6q: Qr 'E~}?\+u]J_䶸Қ)3ml?j_SJ\A)tN:d:QȣSV#ݎzc6ђqWH3 %#d$e ƨK)pQnas*%K>)2$H1S@5jAޜ[$|IZ-:A7o0Ί>Qc݆U-S =@h;@EP2TFK`m䬬 &Ai>}ZN0"xʩpUn5q (Zn|Ume2Q˜D\ g[wq)Be ʄ=WLm*B/_kJlnAQ/zzl߸:"ҁP-wLucinn(er*aBѸc@ʩܿ<*:]̿ߐENO T Q ~Awor\(AAt; 3/*J 4U-2tC S$Ky~O1*nl i5Mjc-y%+V`72m &ڹ_0y9H/˘cK :`RGp5%9iφwHzvq: 7 k4c?+fCk̳uTR(Կ cl&C[/&=|Jp[OḺbTNzkѓQ+:ƽjcՁ4+uC|YasBDJy maԫ m/4wp\yH|j{d o,tANS6Dں'Lʆq |Dgh* dy$R8j/Wz5J&ll;Qb1o I+&8>#ΨJzt71=&}j(ZW qHX*apbna *JZZkʎ'2(wF_ "P<ԓDb e{6GR߷[}Є7}t 6)'#t Bl jzQҎ, >:2 ;;=eo3a{˙E~E!mXC|A\Cݐh*襥7 RWمXj(&>x T#Jc%T  r=(ÅUP5w*GIF89a! ,@ڋ޼H扦z LM/TvAL*L1lJԪ5ܮ:\ԉdl ٚN~]u&(藨xdȡײȈ)pDhةYjyx*:K{&+u[K,;Z| Ԝ|+0k ͝ht3(? =g)Hw25)̧֢JjRZ5.b!k6mjmۚ氝w ܑ{5rO࿄\8r;nַAǔ ;A\93 <5|CTMmѤYZ츚ZĔDwmsҨ `B AaNʁ#!$[oz_>_l?ή][v>1`~>+fݾ`.ʃ40>GaPeȅV3~8aH (bR.V4f28 8 u@)`De䑭)ɤeM> R6ȐVjJy%2YecX jriqywIL{I ZwjQ "{2XB:UJRNmbzrz!sZjꨤqvvwi˥6Aܮk%-:8),="A_t*zmO"\v*5tܒJՍKJd8ʮꅮxT;p[tS3q2^qoq r"Lr&2. (n]ɺ.WsHZ1B8Bϳ #LeO"Sr۸WX[Gdu_dzc5raWT6.n_w|e9ݩŤ7&fwtU!Mm8́86A?] #yyKJ>:z㑓RC:اskbXeh~Q; .T3uI|r,sV99"Sw e|[^%O3CJzUTK}Js=?cԩAe L@%2CuICr<CԻ;OӚ.iZorvKhO#̈́ь6R3W *Uf`[;02XKna? F\bYH{08 [ 5sR<Uj(<>жoMƽ.DŽdxuR}0oCB Q7~ѢTƑ1 r/:!~ i҈ =wPx: V,IEz)X`4ŀ+C]EöTE<Ղl0A& ;zw*RIrS Cܳ3GE!jk&.z]>(8po/_gljr7˂2rʴwDN|FwuKbe"A:C`& j׾&GUj)Pv4, tm<;. a(Дm`(Sۤ/eF0NQH'0Y\R :@Z<r/ I0NљX )2Fc%r_&"ldɅ}\a pCGP_#(T$XtgՑb/2gi|pP7Oq K6k=ָK/Q r en00ϗ9]-ޅLT> Vn53L N\}|َ`x״  ăK2&1GT NwF)a~TʯqT8384 1Gh fĥ2c%\Nڐ]w!dM l ~-K̫@QME2_=F;f Y P'%SόrՒ M͂$%` {FC2@g򊦇7JK}Yɻk\?.4륭snX c')L}qDS6$Fɰ 7M{JAfw[k`mej6`=. vH T2r3=atzx|'"RISΧq@36)e= ]hAZC(uK\5Dӡ6ݦsJl㤿!?Ҝaa[[c%i<<##0Bݔ2 eQ8w ]JNNqcȵNG1kj(=}2PqjEUĖ]]ϭ !/? ȹ `4cn|H" 9R -:R #_~vU gNMO$ADvy 7u)dwފDmԍ M| F=ϱ=3ػ3.xD3ܷ9X-]#>h>᷶`г z$c a.thԡO nrtC ⤰'_h]cN-1>`Xȫ3]K8XZlnP4^tuLo*Pum+iga|$g{x&`<;:%! !pYr3E%mAO ՙ7cT3\Q2[QӴ@le+M*_1F6cFHmŒ1#Ѓ:MI]&ZꭝBҠ>Q,YS V3$>ES=Me8R\oOO,k e|{ӌM:ꏟ8\sӫ?Dr2j(/M1 ы'%2GXS yCJoIr)_`,$vɳA$*0Y>vM9䠖hhJ 2#-%"e^1,I=x(%0vClWoщ(=OяiBQ4laDC#w#AMOzM?9$j!@C9%fu@TFσKf~ېy@q©e/D! :@ײ %r>.dZtR=+jRErb̐]!AiX ~fcP(Qqjm +0Fm_1FbӆDŽZԺtsEɵ]B~xdt2>O bA2BR?TIohI>ɱ-$#&1Jw֏vp7<*U`6RQaA چR U+r'Q@Q喻=7;LMb~ A(/p;| '_v8csJEű4-#2/Ւ x/snJF(LNy9S&dBr(ThcKmq]BuMntƥz}r񒽄TBtrA3+abPY"+rTC'?jڻ}/m<_pN {) 8MB)w&\vRuMi.mc̀ܽʑn#.og2Gas\%Wvs;9:=5el?3,waKl.%mtSt K[pr%KO%6>(y(AM\в{iKs.,]]a_ϊqpbI@ b{# *!ޞ:``*Q rRi'Mj.! "g#8%1|$lQxnvB$Y#`.x}:tX*% ;{`܉h"%Qo r7M})OkE,Ho Xz%={1,i"ֆsN.3ɳYv S Q/L'pĵHR(bnąX ^ctL9+fE$&4ڻs70LCXn䊯ÑXʉ+}/dF&08w# `{J@%K :&y)cMLS0UksO,bԕ1CT=H4ppE.OSiRv*>՛'&$2 R%G".qT2E-Bh s/01Vx5S&q1ZukBI߆j%V{@VKV C>2^^Lx欲[b%L | Q k꒵dL0Lq,Gg_`:@]ayL;J@qV be+fB(->#GXъwt1L=Y[jH-UG16Kd\_ tE93vka|Ek&FԖ={|iHx?D-IJE醜^7pbxܵӠ,Q%!k:!v_0 - ceeBpeI%QW{k3Ri.D &%Rؒ`X[ձ `PQ(n}/) &b8HVVScM/aX,9,hgh7c{bJ-%Y X(c rȒTk$OW0|X|~!B|2zy_f/9AL bk7ZbdKg;O:p]\.M:/^+q!U6oB:7co'0f<_1*+.]6D h!ixs+֒wɀ~O>(APY76 F唓'L N&gpseiӠOG n8l k>%=*9 t~Tg7L:yC? sbyAd A$U\yxKGnXz{aЦD _NS za,Tgom87. 5 CϨV,:GWѸc$C-ܟha# E%#(Afd rm=2GIF89a! ,@ڋ޼H扦 LM ft¢L*1ĥ JYͩj ^IYN̎ϺDÍxSՓg87Ș(Wqh׈鈘 r9*RIzDczڶjRG& 5ۻh[: 뛬  T,]mL}͙ N^m. O_o_;/ <8p…2| A?!ZE6:ic!PƐP yfig3Ld彝 >y(PJ3(U D 6tQ.UyUOT=Hh 6(r뺢k7o7z70$ s81 '8rPȒ+l93G̚;`94 ΢K3ZXH~5h*Uٸa;xG9xN׫rK"-,}pS}zO#^aO]|>~}@~퇍VwvV g`pM1M Ȝ\LXJ%:2UCob #x YᢂLH#jxb[AHN2_JdC(e|TVZXJx喥il`ژdf晹uffi)ڛpz&眴egzɑ|*柂)aXBw袌:c֥qUji[fzj~*֦e,**+Dֺѭڪ A+QL+".,8elIV4S Jmcd:^Eۗs枋nn o[f fnns].Ynj١=c^?:Z SyjIRŤGcvԩU[ni_/,!?rZ1_3;B3BG92b:].Ԩ }tA,ғӕXG=s\cKRR_v׎ uH+~ xBoxֳvܔJ W1v/Ex8o#KS2ߡΛԷGo~|O||:;B(}JiBOS(cT-Ǻt{?)[Ͽ0 1# ThBZL*b06:]0! 8'*[(&!dhŰ0!]C"g#.6[*;5R@=R.!eD/˽K$)ZUL,?SVb3^,C,aI߅RS@(󁑒Xѫ綐Ut38(M'9M/Nq)yxKЍi~i R %D:pJ I'P"dSgN>7ML&wr@ MX$z G*LXY%vQacU18fpHfIwR QV!OF]Mc:RcTM M [D'pLL$9R%]o|O/*&̦a L?YSƙgĸsq,NvFlت lځkm s!IS~Z8"i"dE_H>+ - 32`fuŶI;椷Znp6>fJx# @?}‡ItQ;fA~͜3esn0KLlYkԼuPY*=z}N-MtqWJ#ߓcW0\p|;%핯EPb[4W wJtԆT_ôh^GѼ$G(@{xpM : 'bjٕreqFýjwh'Ӭ-=SmÃRZn\*F*Wxj1!]⣥j燥#B##"grLcJ):-ݕPݹ=ku݄QQSt0޽ױ?-CغHQP[W~78A}8ŸܥcZ%U-Ÿyhr%Y;Us g/N(g̙%9n.*Mx˘Ֆ:5 l|E"0w[yhzpۏ"Nu"\)ƖدW-& QoŒYS]8ࠜ_nyc=GY,bO9ӿecF_qE,+DTW^T\9(d=TH_0,Vm)>`fÍrfhKr\R'Dy#^1C%r7r'qr(F"]ImN$"2!~y6DBc.hL}w _bکg9<1l nS}elhb\!b~#eNmXaxUjlJ*ș3Dw,3 De T:B{R*9@.U\伊hDQc-E}T(N˂:J Sqm6b1izÔt )K6ј:g夬5O%WmrT{S4oz"Iv{GpUqI*D4T}D4YpC+YhmJW0Z䦨h4Q&V nwp/w+Hd~1‡sJZ8REz}oʡ)G٨hRsa(qk`q1GD}b|I~dxsY~ R|1qlYZkK ao,Ihe_r"سp˪d!,**DŽcCc&T2-Wt ʩ82U|Ţ%]ܫ^v.ȵj[<PeBwv4qi,hE7+?O[hbL< N.jc -~mQsr\7elˀE4>X> ʾ$f(@tT{nIBs* >ie?ᵦܻ.z=m\z|*wi@9~YRVUc>2oB 1K\64UצPjv%V`ij*C 1etq9̧aF&׮HU'B`ɵzit՘W8lʲMLoHxYLn&g/".VcuzŨdVwuի{ذ \oS+\8&j'0,!}Rgພ+&S &A=E_ @tQ.^ ó)P>sp2FScU+8ZɌЗ3aO,300,y]߸c?T<=iqJxRp;rO.O-$1vBxaWn9-ueю(g;|=&: %#WK_' Aqؚi 1s+Nx+γu`lQ,}Ch:w<=^ bg%lOb{iWI2 EaH}"~1RTHQi8$a݇rMvqc\]I^0IxGpd[`6Z5(Q¹C>p/%?clXP"IC^0*L|DMSM{ʱZraȩm= 7cSm [xs^K>?mi/s4UV}؞@qMueZǠʯcO`;N3΂!NzgfX%WJ9S#}JJu%_0iyH(=hwn1ePߩ9VO#b/c;˴y8"G"{CA^QĘiR?sa"mhYB,H-4㸆}ܻw>D qޠna9do| ;Uj(|6*i ~TB"rxd=|YޒCHt 3? Zm# dh2ڳ-z:JəM@K~cL}a໣a⋼xx.yzB,hجҐ _B`W"Bcy<,μt\)ꗺx$V%##~#G}1zJt fKCɪ.s5Tʳ__³Z)$viS~Yj%VḑbyԮ Zk[y96+=Y4܍fzuAwHtwHgHYI1qW5i9Jj˜I) tZY +4z{Ż VdRG,*{Y\ZQF-.n2h!(xKLD,[B LA!rvoº8G:\pK!ł g 7۰Ɗ &"Sc!TH!ǜʾzmv7W{?MCLG#mOCM~JXۛhb|'-Alzx2(Ũ2:6+{IqILu1Jix/x?yONyVP""v4h.ܧ>qj^n;ƍr,)k/joϿJ#ǹN6f>pݘah@ /Ԡ2,!@H@ Q!@X5mY!F"6 ڰf,t8B($JDVs'NT\@;Ph}A(K^r*U1ƌQU][*tTfpRbOZ rJCɯ.{SIrH K\QJ 6 -yWLt(lzéa s wMh!0*'/kVm-K%Qܪ`{Ja5`}* clRKe|P^ơ&fdI˓K쮚+`])q쥿wIҔ}|KKITGC}KK&|۔i6Ĉu!!z2^-wi]*r{U[M|2B9be6{q? AG `fP+ >)#DIiI;XXG0nъẑH< \Z%r6j4 Dl[8+B2DclSBN Gj Bh6jFAB>Uo>yQX퇪ϽQalR"0כz0?b bSёvU*Ր&ѻXmR Gl̒ :Ά]4{3Q쒨" ЯDU P"n.u]6ǒ#ar\B*eDJe{Eh2Eĝ5%0)si/rM Ͱb\ ?}%+S B4TP4$ ̻E4Q:Xs*ʋ%pd]j;E/zs4qXp+IDn'OԵ'R{!Z cf=Θ~JtVez sn3_m a+,`Ar2_j~ pcV>sDwaeN [Q`:T2mGkyx3Ї3)%NNRTj&0vyrgGm)Lvd_j`*VM`/ 9?))/$ zgR*jX j,yQ եJ(zSOP4J]܅S\RiB5#"no,.~; $w+eC1Y T_=C -20SB3S紶?kos@!`L_T¢.a\y ?P!iaffJjMiZ& A>Ì85v5`9X7R &PW<#YhR^~u}qH}:K|b-:jm+ rA2.҈^\Ӌ_ɤyv5-i.ڒl1bi#Jz!TzRCw~-VD|jӢP{8h aS|ET<)[2(jie|gmTJ 1/7 ҇X9tBDyM⚇'=)I ٚpQÿGi[!K(ZڗU~Dѻ->sJZ;c|AG/mjkrwG+R![;$(^1(Uґbd5$b<}Q~ ]QPܥaGqQ"EFWOJ ՟A\+B%q);6F";Qy vkºJS943*7]Eޱ>*ۂ(AG)umaV5ٮh+&#acTpʘftY0~?{ys{|M]Geo> 4*7gw,nZqJ *A]/SyL&q0O kzĂu&g4B{,meėsV.xw;0e0w.aeuOt~hxOy+LZUMC9Mx> cԠ#C_zJ^FsY赽R`9ҏžBpTIa1rK饯d4!8K0k֐HML_!ޟ-cҖKmIʘ-Ayp|iL+wX=<ޝe17Hlc~j*|7ՠlӘ܏n=Ln:`qF{Z-| AθɂzCeL'q&=CNamespaces (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

Chapter 4. Namespaces

Namespaces have two purposes in XML:

  1. To distinguish between elements and attributes from different vocabularies with different meanings and that happen to share the same name.

  2. To group all the related elements and attributes from a single XML application together so that software can easily recognize them.

The first purpose is easier to explain and to grasp, but the second purpose is more important in practice.

Namespaces are implemented by attaching a prefix to each element and attribute. Each prefix is mapped to a URI by an xmlns:prefix attribute. Default URIs can also be provided for elements that don't have a prefix by xmlns attributes. Elements and attributes that are attached to the same URI are in the same namespace. Elements from many XML applications are identified by standard URIs.

4.1. The Need for Namespaces

Some documents combine markup from multiple XML applications. For example, an XHTML document may contain both SVG pictures and MathML equations. An XSLT stylesheet will contain both XSLT instructions and elements from the result-tree vocabulary. And XLinks are always symbiotic with the elements of the document in which they appear since XLink itself doesn't define any elements, only attributes.

In some cases, these applications may use the same name to refer to different things. For example, in SVG a set element sets the value of an attribute for a specified duration of time, while in MathML a set element represents a mathematical set such as the set of all positive even numbers. It's essential to know when you're working with a MathML set and when you're working with an SVG set. Otherwise, validation, rendering, indexing, and many other tasks will get confused and fail.

Consider Example 4-1. This is a simple list of paintings including the title of each painting, the date each was painted, the artist who painted it, and a description of the painting.

Example 4-1. A list of paintings

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<catalog>

  <painting>
    <title>Memory of the Garden at Etten</title>
    <artist>Vincent Van Gogh</artist>
    <date>November, 1888</date>
    <description>
      Two women look to the left. A third works in her garden.
    </description>
  </painting>

  <painting>
    <title>The Swing</title>
    <artist>Pierre-Auguste Renoir</artist>
    <date>1876</date>
    <description>
      A young girl on a swing. Two men and a toddler watch.
    </description>
  </painting>

  <!-- Many more paintings... -->

</catalog>

Now suppose that Example 4-1 is to be served as a web page and you want to make it accessible to search engines. One possibility is to use the Resource Description Framework (RDF) to embed metadata in the page. This describes the page for any search engines or other robots that might come along. Using the Dublin Core metadata vocabulary (http://purl.oclc.org/dc/), a standard vocabulary for library-catalog-style information that can be encoded in XML or other syntaxes, an RDF description of this page might look something like this:

<RDF>
  <Description
     about="http://www.cafeconleche.org/examples/impressionists.xml">
    <title> Impressionist Paintings </title>
    <creator> Elliotte Rusty Harold </creator>
    <description>
      A list of famous impressionist paiintings organized
      by painter and date
    </description>
    <date>2000-08-22</date>
  </Description>
</RDF>

Here we've used the Description and RDF elements from RDF and the title, creator, description, and date elements from the Dublin Core. We have no choice about these names; they are established by their respective specifications. If we want standard software, which understands RDF and the Dublin Core, to understand our documents, then we have to use these names. Example 4-2 combines this description with the actual list of paintings.

Example 4-2. A list of paintings including catalog information about the list

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<catalog>

  <RDF>
    <Description
        about="http://www.cafeconleche.org/examples/impressionists.xml">
      <title> Impressionist Paintings </title>
      <creator> Elliotte Rusty Harold </creator>
      <description>
        A list of famous impressionist paintings organized
        by painter and date
      </description>
      <date>2000-08-22</date>
    </Description>
  </RDF>

  <painting>
    <title>Memory of the Garden at Etten</title>
    <artist>Vincent Van Gogh</artist>
    <date>November, 1888</date>
    <description>
      Two women look to the left. A third works in her garden.
    </description>
  </painting>

  <painting>
    <title>The Swing</title>
    <artist>Pierre-Auguste Renoir</artist>
    <date>1876</date>
    <description>
      A young girl on a swing. Two men and a toddler watch.
    </description>
  </painting>

  <!-- Many more paintings... -->

</catalog>

Now we have a problem. Several elements have been overloaded with different meanings in different parts of the document. The title element is used for both the title of the page and the title of a painting. The date element is used for both the date the page was written and the date the painting was painted. One description element describes pages, while another describes paintings.

This presents all sorts of problems. Validation is difficult because catalog and Dublin Core elements with the same name have different content specifications. Web browsers may want to hide the page description while showing the painting description, but not all stylesheet languages can tell the difference between the two. Processing software may understand the date format used in the Dublin Core date element, but not the more free-form format used in the painting date element.

We could change the names of the elements from our vocabulary, painting_title instead of title, date_painted instead of date, and so on. However, this is inconvenient if you already have a lot of documents marked up in the old version of the vocabulary. And it may not be possible to do this in all cases, especially if the name collisions occur not because of conflicts between your vocabulary and a standard vocabulary, but because of conflicts between two or more standard vocabularies. For instance, RDF just barely avoids a collision with the Dublin Core over the Description and description elements.

In other cases, there may not be any name conflicts, but it may still be important for software to determine quickly and decisively to which XML application a given element or attribute belongs. For instance, an XSLT processor needs to distinguish between XSLT instructions and literal result-tree elements.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

SybZ%Z!P͠UӛZf3@ms|_eݮGEmUk`R+`~`TZ#4tLQJM{~M͟=`vdy{H]^牷Kj5'Ű);]R7q*ugn dwQZ҈S(*VQ(6 hoAz\~> =_o=@G,EJpIeZ0"!RqXp_2_aTG٥wWMCalțm'zf2^\j`'ML\`V ؉ڍ!iڻ 9Vy0M2>)e1~US&e!pLSrOHpPP;i5!:i}b1W+/X5†d'7Um (!6S8'&rF8^){%dLSKEcsuԇ jR_Zd_CsyJD *0WAVC[׆n#Ë,#5P Ji̵-ocHW{#B^+?.4wOw٢Z^!2 2on0tgp@rf&==[ө\H@t;䭧,#Vmu=hث9ʱxQG(l&\agFOF}`:ea2ԗpG <4-}`&LbO&LnYӃ1Dl5Ϙva1{uU/5Xw+ ?e3 ̳"mRLWk*/fhmfxiPԷsq[OMͦ(v+߇=bVs~5s\^FϪB(h{'{CtMo"ۏHJ}z0q͙m&a RjSx<'wk#q#M" ,EMnMwR1q1Bc 0cb3F #+~ NSƔ#)1 ,{*s'%pΚCSo ni␃m^ltHhILhKh; d(9>tZϟ`~>4QLI?Vw:~_\EC9ѿC_} tp2y jH4g(VbwWUeOѳzG.7K).sX]"죱ʸKR_1BvΫx )h$z +00=2񅥦nJO4CN2.%SӃ$ 'z<^V!n:Hrˤ|7ؽ412~AqKdHsѓz3j(m(Z6ݛ5Q~M~s]Q<}_hR"q/0ƅNh D&K NDKq_c;f|jWXc bIƤb dr4}-i(ݧ=< iIkj?A ̓-^VNo޾莳E!9yZQ WTZ|M4J[ޯH&Y21VB8!Hl&;0Lf1"0M(f(cS#T# ϸ^ͮb-L=0.>&̓/Z*Xb,"Z!UA۰֎@ 4$g~SIUJVk 69X,aP޾3x3bo)bo 4)W2$]&. ?w~bwPkv2_ {Kϙ %G A# Ln"aok-w<0nQnhVcdQh' $Cc \cG͕dH$`Ջf壷jziZxTS/s uhEشئQsp`֣6q$HcdŲ9kb­5}Ԭ>z}qu>e1<0۪MXRu+K2rèyFWc݉CEDaK rkl\\93!Oՙ- İ15`j9č lTm1Jѥ{``l޲;'>Vc'H'ZFsJ%>sZ {W#iP) -!]4'1K<_Qj:VZA,=fK:Hb "IyFSZRK31k}^4J b6jj+,3G7F?[҅[h0X3+{͞.w>>te3C`-PŃfecĺf̮b1k~iSOe 3[ 0R{ʊ♬bF!E1LS*01|0jiٹ%?>{6WI;/n b!ѭdg K&KDHYt3ƈ[Kl{mz)͒c~D,=Dɑg!bT%T|Lrng+l?BʡYIf-[sբ%vd_ +ojd-U%(ϪkR/KsH7#K U\6ga.5\cT2UT]?;u"RԈzn: kmH ks5N U{lom?O8g{Ʈe{yv U-J}oY#{+!wAhWexIkiVGlW0Ȇz7xK4^;\C$mLɧ:EqqnV%ԫR3c/{(=Injd 単Oԛ&"H\R'"qa#I R.^\W!,BhcqՈ)KKԢ罆[clv{LwS)z! i8ae:13(z}Y8c^2GIF89a! ,@ڋ޼H: L ĢLʆʦ ,*Ѯ T?wS=]%ټqQ(8HXhx)9IYiygYTU!**; sdKkK\[<|lܧ<m-}]ݽT4-^n~nCo._oMϛT ƍ4K8"9 5<}- eBڹCƞ4)GղE(1_ Rt;otSLA9tVΓI\ NQEVSM~_ְǺ=ٴƲ}p 8t麭ݼ| .Čۂm "ElF`(:.W+G mVӧGrvsv[)w ]U W۶T$'*S'sJyYSMP;ߟ&Ʃtvi`guH9atOǧWFr([,[27vXz&FN8_9:*OPT bVq̀bk2bݮdf+),~,]hPꬷ߾љ ]hqݲ pҖ~u/F`~Δ]FU|ۧ Cʰݣ<"=/9k !{X\K6W JudmObg;quS3wܭµwɃs*gm@Zۥo5=ncT;qjҺapJie2Yhܥc Y&qyq8ϓZHXpcrRK"s r\l\K9$j@x!~XI5kH90,GcO mڧaz5V E;rXPJ/izlSC3Ƕ,}&lfDo$oe1BA/r-ᑈU?vϦ5M#/i㞖FC`TO0$:z$ְʏ1ޣ]@5^nMGp*F~j2)MJeESM$'#;` ɜ/H52&U͐i$п3s´K$wOV5z`wM~Jz!" `{LBKj@bFchg)Kxh4ZԲ9AyЭuїXB6YIqeipLn%LUjʞ GY~tiW~)|Y0D")S4AJ$L!?z_oZvssDSŽO?t9f?mm3@T,{/zy՚y8 ~b!iZ_ :FϪǮVkHJͯ:SqS+j4U~|%BdqOQE}0d54!t/Z ]/ 騒2V ]42b+ipA~X]~R 2eT#ڟu|1o}pU %Aw 0٥ B\I^0~wƈ"G]=&J`xh93F/wwtS=w"Į57j "93ŷ=$~s1XSm~ۖ{-h l0BK=ݰ7ǭ_~wh/a4&Y\:KS*g#M "<1:EM~Ms8hy9,=nGx& >͆+V]<rB3^$pbNd1 $Z-XĚaz-f%aŒ>^ws|w=7PDZ.GP`-{U woPϠX (,EK*2R)c|Zv^{IpufE3nܞࣱ%ӽf]Vp^Zє9SUU!^J,:}cu~jEb̀F#݂Yp,9ÀR. ?Ly2/q7&,1O A>-V߲X ٙ>D_K..#BLך?NNZvfJ3z"(eSY׶ 8!)<&Y$~aV1|r[zj"iqj9 KzrERQ + F,fX3ԓ!):mŌ;r(1:aȼ\KNՓsv5JQ60 i4 y^+2T7s h⦾Ӻ!wf2(d~(QQyv.uhK{ˡX ~"1\zl̀_, տSf%Gu^ JW̪0K*lDG&pA2JAM;ܑ j@Of5Xp!D̡%"` }<^/Te .(=eL3Iф03xB T A \CۤqT/FaJX{;410 ,P8Fp {q{A$؇b94Jox:zm+6# sD0vڛ~ ^HTw8Ҍ?2Uo8t7 @D2o"2~$>cxk=UJ˘ᢥBӼ278WrvbK &+|4 A*ޚ{:cxjnS^XB}))Hq1_;Wy/ƸdqOp>]O7cx"Ŧ>& `.m$ gԮBIKs͎gN}LIO1_J/muܽ2HMPFoE҄!:Ґr}bD7e úTjVl2 5{q҃g 㩆ǝkkBO4!mEL~KS$,!J?𞦧#vH5 %A[:)ҋ:/ޱ,%g~m4&hf YSd [QꋒĤi!囑'NM`R>$U mR!'3oƽC^瑱}i)7tA-')6zg2yx@[&x)&yIGI$HqdɪhZ#S¡wA],{ 11hсfN"O;xaRK C)K%cɩnD'WA^[Pe)lNȎL-*Ko'zFhFU,uw #"9v+mZnq$j }y*~ ㍛oGYo?d,fһ+7y~?VCF!9%!=t7 Z${ZN[LVzvWWaM ]ʋ >ΤJ1O:b2P~0Xѓ&1x ɇ}jddzpV9IpqЀYP0S b&Up,=oXIp #s"ԕlfub%ENvS8`Qd*2d@~q"NmЉVRfS"A .VA!=Ui[0[|]MӒz0){1$=6!Sza1_сZ˜ʧ\le;2mx`.(r4FqJ-6bDH{zKSE/(zJݶ o:%օIJMի Ҕw30uHTBl5[7(9YC =+vWs $곇ghou}aGx{oVMtbaxK&XC,!\{IR=Or%$g+OK5W0 b3_,jR||]{M0,YI1!MbPdvTe D{[VL4E)KMYO+XK]BsoPDP"G%$W)pEhUOvH.߾rd[VI NWCCAD[ }d:`~M,0I hk1vDf/ ?ʕi`)VS3Rɮ_\!d?80MzFd6Yz a:Oyxxn88_Z!aΐ^1(Q2̳C%>ej0C#թ:`e]2sY;@ra%tM73F#lC$&:}/3Sږ=e|3?ĝHl0 D?g]dZ$m q-s{TK[ZTZ61=AX"ԅB#Ri6iӊ(mVhb @|QE}zΰV=[*_$'oZJW͵>q2ӈ%?{J"c8=3*SbHO-&@WNW7ds#H&oU_J[Y+/ 7 2lO8O%ƿ܃DޗKDg%VQ!~?)HJKA/=;h5cuq^>0I.e7aur$kd=M*?*+st(xO'X!l BPTZb'b+14+ [^4e5ZT\$|cvs%=MLܐ*Vz3fJ *2äH.2HZM~b)kZ 94r=%7*0l#ϜI7yiu57iB=I"ɨ atUރ 3u^txk̋\L:E!:Dªg^eYû Ŕ<|AVVAm ;bʰc'L&ׅR\xγ@HE$]..Ϊ4/pxfr}Ш ` *< _wg-@$Θ)S=Soi&)٬2 \pWxdCxSR F%;*^im@U'ܔZ.x}&&u0cxeD">HFlM:zW,DK:Sm#uT fld\0w*N%ܕޣ攖2wc쎸#:[kCdK~gM6?n VC7M7AcG`r2RvPB䮚yzvD͕{W;T 'OQ>Ns5|^AOQNw9Y]r=+!D!/\o@lh\JrrZ_v󏢷AZjvKfy{f;%fҫV_ELB3z%dNĈ䱊eHD=]R0CF g$Zr7a*A-۲!l\1*Uܫ}aT\ɯ*7Z=4LE](f1<8; z?V YpRDSg}kYjxEk0~Q-`O3W;z>0^Ej2R\MA)1 |$8Q=efMɛ:j )'RBJ }(j&Mn!Eڶ%`3]*zh#;e0}\1pуnz ynJۗMtK"4^Q#gz1@c'Mvt!涏TCb3 ]2~`T8<Yg14 rک7գy)1-VA7<%azGpŌpT Db<-5?rYFj)JmyUQҥpF趭lKq3'É$HfPnɚ^5W SjNmS/]ߎf;3;O"W܋'}?)T-B<Ex=ƍ%*6+;'e>OfT+e3&UfGa}pmGM9%yG(r+yg־m$FI6OdXj_e (5yƨ1"Xn*H b֋$ůfvܙx` oA b.2G~ 9}  kIlKԦNߌ_cK%`5`G,N2HYPe;Y0LXrG5ctéCk2Vc O1Ǽ##oOi.:f6N1kii,rt 7U}Lttz8 #9|We#8|!GG MD-\LMW+C &>pqHOB|0$$  |+DdmFA;Y2Y>1o,(d@muVDqs;0W.c#FpoCV4X#9E o&0 A$Fß鲑V$[>Ͽ" !'RS='Rim4!$u#]p9%9 NpwdugP1$A`=c ;6Myp7T2Q غ cDd]|c|&1d֣1FYʒoFL>n.^O،p~[`vMz!P)Mz<$d!,WI%}HYS9:&, .vK ;!1_~nEoqųr!cnruE8Mks,|a?ֹiDMe4}!jvke 4ӀScFf}Üɳ cg b0BYC szCf,[1 =9Kv`z?d"Vo:h[uTwXyAL=1 FTynVC9 uSrGXc`C9$omLBy\ tS t蜃ʀ ڷ2sO9/RcV2{!>$ <+ -`}y H$T)R(t[f'hvSUP wg|(Ay[ SfG/cWL땤tvF$n.Ǹ0#8B?fZ׫o"i>3eS}"t3k^#"q!D&0fG4Z;2E]E΢mǐY˕3 %9lxTUS{C5  fpxI"+C"[|NuFVTX(9 F:RHgRDB ɛ،0S 𷶡3<* $C99zx/,' Vnc`X(oFK(.- g%""'AEt%#JL}nh)!( ?BSOg}_enД&y /VQ{C>V -/SlqI+?7\g)Az)>㕤|*0{~ٝr~s,g[賭MH<2r{UfRy,g!iAfcKcڦy!Y:sx 2Z϶r4liESRe'LIrE^#ˎLzRӬk_97ݯɡpSZt1U:GgyÁAPSoyQQ:GIsf#iݦ_iYmH,#m޽ɩ6ZCa_ 3K@mh9£{ ńRG @z\UH (O9= ΦG$\E^o᫔J%@nkêb^R CC AgE׺ }1QJ`6}Jk8g&c#e=VՕi|m3ϰw֫Cl9yR/$YV08CXyjAn^@>իyQԃ\*-KN}v~V5 xl3ĺU<9/hiAQlya8j,%y3B5 FJ^2?1^9fLԐ[$L?ZV6i>F>Yyٴq]+f<[m-,>]垙{iӷBX1{'1sYXţ;FcUƲ}(qVlǜX^~CRXj q3g&N9 Lטuh©Z+ф`vv&ar"ƿ<Ζ]QX- '|aBh,\֔wn _b \[x 'W V,f X*O8 "A7VVoo0߽^SA:Zd;4\=Hd$;QN譡>WHzxw3[["1,9}Ϫj>z_rɿN ]s11kXB&u{es߳hf?Cwr]Z%6 &S 8Xm6,|RDlx,~'ε1e ҆(ĵWEKlih3hkewҜ C1@Ar;&*j BRm˅~fe&{J*ghfoh܅R6J`ۭ2 Dbt`n4z0הy.::ƶ1ۄH\b$G; ϭâRz[\⛷,'Z\RMqr]%R/̇cDr塌V$X:d*0p7h+%Obtzˉ"dVK,Yj5v+et̘ *x^0aO-f8\|3Lkgc>W  3m|AEes-؀.}"AdAi)$ǡ`o4 .k@˘ ieٯ͸jf> r~^rz sUjfIPu%+PFr$4܏lJŁwin7dOͦ!-?CL nLjͪ :U90S4Ky/.nsMjo/ :ic,-[Vb4W #1Ue‹Eؤs &IJsbS{>岓.OխL$U l$"K:?Dt[/Dls.™s?J;^eݴY#'l45NW`m2t~h%&vX#>>rzɿ @̞7Ip-BL#x[z`|[fZ=ItLy~&yWQ9l5 lBKgMg;k:INiL$ol,FQ "-$44Nߏ ;H(n+!wf\ݼ贿b>ZPxE0^q04ݻit!{ųa.ܱ,4:JY~:A),Qn]uAb5to B){m_f^ۥEeos뚠̦vY|Fz~\le/e?A7Pe̾Zμr$: I̝r/ DVNoQEWqQG-d@KW9:ÇJI`öX]=10&S kҹJXCe]a+䘩`mf_[9.-~ߩIu̎,n*jv T+{ތ ](84Vp/DbV$mӱu&D\IiQЄ1fMr4i!gkswc)P)/iE 02Btn+bq>H(;0]=B`+sFwn cFξc@K1(/ɩA,#A(::`)1@QTĻAT#}7FrtQat&pR/ڝ݌H 0g:ݘiNk8,_8{g\5GڬlGC94pZ5;|X2 qkH7h[ G|szn\*K-\ӝ]Z yu~|!.]"ɋ[wY[|_ 2;VΝhq^?P%Wd%R0Lxс1;{%ZF3CFb%ܩje-g9CNuh_ yÅ$oGL2ӿS3*RH3^t:`$9t*p`̦C9:]s]39⼴QxlFk|z۳~ Ѭw >pJ-0qE5^Lφw]152Fƙq(z^?ruCi˖3ڽK4x[ ǂE'I#WS#/Y~wXhp_T6rՈw7yxf8s񁑜x 7#H:<+xDq?!3/sj:iNp*Q~c=G}c* >\d Zv^UG2+Aq+<uq\Öc+[,Cx]FUCmC-zequ+Q8$2j(`"oPCrj4= *asCx s8 h^۳[y5vo%}G|F̸ 9r"0,ۣc8~df!,ي񙳿ew֙_T19,r#LPsnr6evŒ7XC7 4@2 IiZ]?`5L^zi ӈM'ܻ>vT57QevB=G Ga]f`NKՓR 'ݑ/w; ,hS,>1zK}QUD<@TrSĻt%i8-A&3掬}ce,rnp0s{BJ28h5}֤PZݏieGIF87a}}}{{{yyywwwuuusssqqqooommmkkkiiigggeeecccaaa___]]][[[YYYWWWUUUSSSQQQOOOMMMKKKIIIGGGEEECCCAAA???===;;;999777555333111///---+++)))'''%%%###!!! ~~~|||zzzxxxvvvtttrrrpppnnnllljjjhhhfffdddbbb```^^^\\\ZZZXXXVVVTTTRRRPPPNNNLLLJJJHHHFFFDDDBBB@@@>>><<<:::888666444222000...,,,***(((&&&$$$"""  <`D,AHP\Ȱ`†>q"ň-VǏ Ch1! jip%C,$rL*qxsāZRMѣH*]ʴӧPJJիXjʵׯ`Ê}JnJ,&EZ˖퀱pʝKݻxZvhC. |)T+^̸yvҩS>0*fM|FPj΋X2@MۋQƛ46Q/a@玂+(|NjGQ֓8zvsa 7H6ӫ_5՘ѣTFs,QʗrH,^,D bF4/CNvH ਦ > 9#x@!@ڔ8v(Qj#g֏ Rô@-u5PO cpǝrmr[6|M}kN'8pC8( 8Wngw砇.褗n騧ka[n%D8c;(sNС;l΀CG/Wogw/o觯>V ǎ ! @"GŸ8@6 ~V>o}'H Z̠оhaq P$D0ğ! <h @ H"^~a ƄԇP K(.a@yD@u(hLF"(l!@@=a:![CH1+pF:l??~ ~#)HAlCEF򕰌,gI>$mQD HmY _Fb2iL_2 8  ̦6nz 8IrL:v7l` ̧>~ @JЂMBІ:D'JbRFF7юz HGJҒ(MJWҖ0LgJӚ4FMwӞ@ PJԢ4̨QԦ:PTT(uXͪVծzU%U 1hMZֶp\ ׭xͫ^W^|uaX=H1B2,b.VTbNc5YfֱleAkYJj"Z̒mlM ֵ}mC;Y^m1޴hVŐ:Ёj꠸Օi`U1, ΍tk*s[ 絩xƷ/K f@CS @(4zߙ70T`g5F)7 hE/ R`뽄F?q`h}q,˘3wi}yU 5z`6;MFUbx$X)l ~ Ƒ[%0Bj54ɱq, 8%s^ΧG|XYŧ 8eDcBx F| 0ޱQZ ^`&zѽcmgx<s` yMm39\vÂs, ݋^% (C@BrьCG1MsD]y18>u33cr7]oևjt`Pod2U |ϸXO>쐛Yah;.rk| @3tG*>Foz䗘|a>v)W{x`ù2$.0W:L^uNGʏ&̪ N|ʢp\gxxn%TRǮD8Xx xҥU 8XxX|Y @P "8$X&x(*,؂)U284X6X40|]<؃>]i5}U?JSŁ"per}DŽTXVS;Qfm%w`bRYxlwyFswjvwaha[{cxxeQn Y.dc oAnyXr:Q5j)Giylhpxfw t؉qz\g fJ^eawo ?  NjX]t6_;_ȇ~tV`V&AGxTؘ؎xdI\p pȏ؏9Xi*B  ɐُyɐ ɑ9i$ !@^{(`8 7J=@=yAYD9@EKM:yBLISXRi[9DٕUiIɓZ MIfɕbU쨁rUpYHxIUQbs@P9i)٘9)阏Y٘ yiiɘٚ 9YiY 99əYIwuL Ґɝӝ )Yy) 㩝iߙٝɞyI9)d ҙT7WDE7 ڠQ$PVuڠFС P&z(.000P63e;e>*B E HJLNOLtLtLTDK]\  dʥdZdhZCB5$ r*P`xj`w: zz:zZ P z  ʩz ` R*V:wm//IP6p6` 7Ы7p z 9p z9 ;Ϻ =0J?l AA0: C0A`蚮: EEP zpǐIp  KPk˰ M  OPϐ ;0 Si5U 5'{Wp * p [ [0 ] _ = a0F;epgePP{kp`m\^__}0sPwpl[0{}p1pj\wɪ ' zP`^P`  z૽j+ zʬΊ[͖ʭ? +Jj[ZŰЯPқ [+ K˱#6U*Y[[ 38@۳CC;pG[PTYmYbo@0o@pPy0}@ 1FA |p* YK @h ^$`k 7  J *Z{JkJh JkZ;˰Mڋ Q˱ ;S0 PiS 軲W2;p`9 _=ᐿ˿cpд i0i Tkk ka _swsPswp pGAjbTnW3ת jh ÒKp`ap H `ZU|ۺ=Ű;_<ꭵ zg: C0Zn|ʯIKp %m{ ;Ȃ,{ȋȉlU5հY 3]PDɜla DGOki@ \o^{[bK^bLf< %P &_Uz@ÔZ |p=|$ ^@1 vЫMǺWŨ{Хڶ Ʒc̻i<-t ЋK;Oǁ\2ݱ Ps9}W0 Up Y\˳B;Lm;pPgNkmV[Zo̶ܵn;puuPq um3L]`lAk 0MX|\ڮ]jlZGpɫ+ M-= K"{&ӽ۲: KMPOR l mw}w[ Püj- .HA&K 'ap^ Eް7 ڦњҺ\б  ㊮Ύ-H=O(}y-{ƍ[ \M{ װ]9[B c@;g0;Q[mq@,p}s. V@ GGשjl~~ 2@$ ^` v   5.УM:ݺڹ;J{͛ I]+UްU.½K5)k, YِEݙpu޴^|W-`ʁ q0l=0{pyy#\ ټ j|cYת _5 1 lzϹ-C]d޻iƵJtv)ݰOа+mZ~iOL;{fW >@M5D>1fLp ,s9ҭY&]6۽i7oڬئȎԛ3ͼ7sݻc}b3g>8XA+ D,M>UTRK6#NVXe:m@mۮ O\awD(}CKB`Q$ UB(ōK لd&HY&Y3=\ 4 ҥMBaJZ8eSTRa[EnT{@xpW`"U*UUp-VM_墅.rE+[p*}ػzJ2`ɐ5F X[lps10A[r٥nh0]r  b]v p8" АDU<^Q̢Ʃʊ F)b$R,A2I%dI'2J)J+2K-%*$S,cѱ*M7F lN;3O=O?4PA%PCE4Q=MG:3MM"SM7SO?5TQG%TSOE5UUWeUW_F+m3V]kV_6Xa%XcKu]˴UM\6ڱz=Zk6[meI%W*jE7]ue7dQ\\WHl0m7_}_N߭׬3r6h.\fa}\%VaQѐa?Y߈1&yYAE? 9fg.v䔭J fZW1i F:Sm)m{IՂek4gIR;5@`P߆[~={S1o 8nwnJ40l9/\]ÛFg:Tn B J}ϼu׍gyMƩ 2G"_'xXcsk'q1 $@IuYWgd5FPP`alQb槿~?`8@Ѐ;RY*t>1utσI XA!7 7^yA:: p ~Oܞ1W(@ĵiCNX"q(uRgE> 0Ct0!vяHF b! }X0-ђpC#HHL| B[HOWKh 9F,J`2 %(A xb pe2_rdY 0i 5PEn0-81TU8NSS<8s~ ":E_3S,g_2> }і4C eGF`L G)P|(E- ^Ԣi1aьNZv PBg)}4>g8yDQ NuEScG(H/G}4Y}hHgP~ 5WA&Pz9aaܯpP4QvlЇ$zOWiտ`UIJTSxld&jN)kOHEPj^Z۲Rk#JUfv;z>:)ïmEP{XC`N^ֺE\Y6ޕ*y^*ES}(}L׫,4Ǚ"Xg8U-S0 ƻ)8 \WRq; /x{uq[‡ُ^uj9o)S<8U{zY8J﬊J_TN4ziE/zSizRԥPhC:԰Ԗ(?5ܡIhY M%(H7ES\L)YS05K(Aڃo&udt;E^W5T܂XsGW L9ҥ4OԵDKO :vS] 0 w{w~{[W[ ) Tg9eR6tyw}E?zҗG~l Rw}.z)Y (Oc;ʮ<ܿ g1,*yo0/((X̱;MEt'ZOUM@+LEȱ-ײTLsӕl%5@bK`Gvu 8`X8K ptuXV²z2|JaAxxSK@Ȫ^PP,xG{Yɘaz^xH 1xvXKG8v<~vX^ ɦ9onX<^xh p hSOIp 4O8pHSJfJ|OPCTJK,t$ȑ\ hIhɆl t0^L8xȭ<^GdId |\HTX0LT!KhXNL|ȇH셢LSPXKKh8KˡT8xl7MtLHDΎ 6IxPJLMOQ4%|(JvLɞSu2@ 2}ScMNOPQ%R5SETUU4TiaPMۦ[\]^_`a%b5`uqkXYGTTfA%QԻVϲpVh%NV2aTH0VT˻ pŴq-|eW$Jmɣ2sE#z,&U>((?khla§'^|1`a/۾ޭŐ\_9g2-`$5037 @ bS/m/@/^o*<0C c@'6'2_@347%@@Ab0=bJ<5NY 0*CbbVB4bZēSs05?c(܀ B*F++AӇRbL@C^_&D&FN25L4 Dfdo+@2&P.Gs456, FĤRnB:?~%] {wvgxg wgzfgwg}yR{g~ny.}h.vQα@@kE]Fab2Tľj2a'>ھc2,hL>XLAZct(olZXgb"6FVfn(t2ga^M/%Rgp&밆j~A0Rj wjJtjig&{pYj4 Ђ6k-&蜻kO(O."pjOlOk^NlVg k&R@jk-`lmmm]lvjOxf (v.ֆlvnnl&`(&)6nfR8n&ʮnnֺݞuF)(fn .V(w`V˞&jlO@pmlO(Oo4No:6f ~)ooo-P6lVm"o~o40pO8omTN8 7# wj4&q^qVp7q& pboFr&xqb".?+tLC,p@"#/vj X&Ђ) nV4.g&&{xo4o&K pFW&]_Q48Jr,s¡s@r%WjO`ZmO]'g" "n&/lo_uIr&ubѯ`Kk%ïVߚW;pVw.@/kq>k,^(os7rsܙt_GjVsn)vwdlf3F~1tOrylw Kwgx3Oys\yu4wlyGz y?zwz4`zOG#!]ֆF_FD('{O{'{gOԬ2ys ^{d{W%{7|7/|_|{Ə|w&F|˿!o |ܖ}+'/]tC/ՏwfVXO 02J6g9Wڷ?ps[۫O,DCJiXc1fE „ 2lP n` AE,i$ʔ*Wl%̘ !1&Μ:w)a3(ҤJ*ubP&ԨRRj*VdNBk,ZNfm-ܸr:5-ޣbc1)/O.l0v3oƒMl2̚.x/YϢVl4S; o` Um6Y6:rGK.na™^\`ҧS9ط $^;&s穽s׳O}k@D+82) }D/>RE%x C璂 %O&;(a`JAhRE>"l0L5SPCvcp%BG!tcGaT~QtBRQHI$)%EqѓDBt\9Q)R nÑaDfa*A3ǤUFVҗHVOZj]6VcttA~b' J AR| g}Bb+f1MM9e'@0h :k,Rײ3n40,;)j& RkfRk@+K0 Jk b B*`EE-ėkV KKpEH2!hQ |#U^V#B ij4LVrydBRDm5ņ],9 %D_fM5G3| ]L*lQ8ziߗq]>؎[-EJ!%+n˪ըv CN{*qRXvʺBM;%$;9-[nK+2!{*@de̊+(ͯh@>ъi%$BLQ mIȺ]+z5(mY>A,m^T$ȟOpvRUHw4(~$Y:H22> v`I\[e48 bfbja?, JI"T+Ģad@m7\_r8N)Z{NR 0;Q;RA}4IxH?d^IR29#!IVlo?M2<%*df1e*c)˔>t%ij5]r%DO+qXeyn)MҘ|e.,Ą&6))If6Ùǭtr 7Nq3TmM0𚃼uN¿&lΗ mpSbv081A~bp "Bgu5d0`P!@)Ja# C\d! *bvcquahV=@Ӭ懮if3T`9ѴFzY̕^q 5v0:юnt'hDoBa 2x/`3U]*X9hSUծFRls5GE]/-=)WzRۤ0}iJQ YΜ끌ꀇm9 nn{v)lZ?{{vyEyvwgyӻߠij?=j5u$mx;Tx8#.S83s8C.򑓜VF5nGxdž6b.Ӽ69s>9Ѓ.F?s[ X!SV:ֳs^:.f?;Y!3>/Sֿ>s>;C??ӯ?ٯӿ?i6 44630%\q98J4-7L`B8 T B4" #("C(;4;,0pxC!C0# Dp,bi {3,DjyBP, &6J&H/dHBp.1PC8?A'4%08(&x<XC4@!8#0#$l!Z*4+$(B" >:&Dd00 02@(@)84@@$D@4%=D20IB47(@ A"+" hCLBLHB1b1 "Dp@BP(H284 "C768(CP4@xxd'j=#";p>XhDB} › @lD ;dK#0FD fB$<FƜE"D#( |;e؁A~$Ux+G0Ak$=dKfk:9TT%+*d+ cC1%'XC,-DBPA ,Bx%AU27~b "$ $R4NB(((@B""C898`& LCR~HBF!0D~beU_,T,lJ & , mbC,.5<`CØ6ĵf1[LeU-Ƅ޶jLDJpѵ.Ʈ.֮.ZB$//&./6>/FN/V^/fn/v//8!//Ư/֯///0#p B@;C-9/[Рhܲ1ᡵ|&m/qF;JD + C E", : dUI~`\NیQ6f E8ȣ'F,<^ӎ3UM=sUhY^|ɏ*i+\trHoEc0,t_ .&6?+F{Na?L)gx/sEAg.Y};;NYhݣz>q4#ayZ2ʊA^͍B$O-^֢cy)ǽ~,*NTi~ȎxD '8~Ypa . Fr{:vzY8casl[k0cr͇ g/*(jt81r%Γ Pc::ybn9ca$G_ΰ=)|UD-GvTԣݎ9ZZ\tO}\ '1Q42 ay4BaY҂#H @2aZ)HqnS qL J;n3UN~(ER-㖄;f<>h9+JQ zx:љs@oibSԣPԉzpWl *gN+Tq9:o&w)YL7/̚)%fU:,)%cFe{%>%9셖Si??1H[^2ef*`ACt^<TrZ<^eD./@p3 [*l%G#ޭ_m*xikBXӵm<${^U%kJ!@q16^+6R!}DJwQO<X9Mw` b"@Ĩ<Mj얃^*|PZXS0%ЂD00t﯐Jx <Ѷ}Ŗ>1#b¯GncN~w㰛ʡp1ؙލMLʂ p~/ r9B_ qň^0~;-8$GtXN J7̭:0w swg=[ysAmf  S_T$uB;++~9$ kfp"p9EFF'iN곔C*26brT1E}ivrU- 33m1qw8g ´r>0'*HMy掎9(^oɑp8|pu1,N^ޓc ` ܅xIe>BgSmxK^H[»YN)H)~}X:X Uaѳ4%7 ]LuΪ7BL]҂xQAU5jJQ--^-eȰT1v7a)p|i {y8 |%f&jXڅC QOԄ͸,Lh93?RQ6.h'YIV62yh?c ,D!c{6 IWl+C )I:Yؑ)z˒ ##ؑZ#u l'ՎD4ȬYw 9X ɢ4ׁh=l5zyJJA?JӦ]lV/DīL)@ 8$C9.]^o-+pϬ f\R8 dbTbXt 6S,)A*4珵@%I3Vv"(S}En☴=[l$+-tW>~KHTf24W $)q ŝod"Q6ך#mӊk&Blˣ{ƭR/ױ, mPrg?׺m#َ3$zɪ\D W3K%[2J {NY< (Slw#J>dU|VcՖ99ed; SߙkR=Q8I=I')/UnmVr]ݵI$lXAO*T!mk?o.zℿφ5y/sY2|6ֈ'}&P*kgTw#E+Z]ޅ|>RV>Syruy1\FC>km e-8()?xŶwbޜ7|AHN8iXvCcDm`0= %}Fԍ9[aL6PRRHb`|+zm qH,3[M&^0珏SVK><tq1#432ć݌sA(E)63NRܢ`]6N@AȎ^#I݋h9r,Pxe;' b,2HTRЌX6G}7٬RBNH6swR/f=j+W ʄe.Lٶo ,IX>e&JI<{;T˴ 3~nրrrg()zȜsZ'W xg^.2i: V5T=kwyL=+4흑ErrUvJkuK i-SN\ im c-Ew#qK0Ͳ_s42JvօZ7ҠrE%5sGd(.`"[Ѥ_ >06bJqLQ)yEJǬ 1 3gǢBYٵ^[ uf篪CB,6> V'tni8Eh#:v.HHu`?(*Yfv$bH!Jg4 1З"I`kPCXt (  4қ90"y@'$hhH&d`f.0EuQX /!Q\\4(2G! ĉ1IL"- D0ЀNpaC6_FJ/1CXȠذH@; vXEE` @d V( xa ^CGhEx@E!-4:䣒fda8lDr"xPaL b ]|!s}$ r"=|@E0]Aǽ_a 'EiMT0 PpD!A#_ 2E4!1Ft u`pGX1@{o 0aFHqE,.-ܰaBI|a X4MDш0б4,}qAh Tpf_1٨ђ.0PGX1 TT7E;q!s0M(24L H ,v1EJ,".\ت>BK`@H!Qg{vA vC(P!d< D ayABG}V%! fC:!܀6@! >1uZd@Cp_k!QGb(E8NJ` #O2jkdM\D1Qd4D)ŀypGaqrԨ 5MHHnF<"" C |tXCG!MbzA$&gI:ABvg< 0?0v@B^`d!e,HredgrphA.+x!P|q)R:ܡZ@ ?("cD@aȈ X 8<8PF8y@Ԡ$ǥ5&D02`@ $8 ~`׾l Oۂ0@ -8xP-^5 'D`RnЂ&t6QB  A2.@``,@WX5ୈ`00Ƀ0X P   @fu+`B ZЈ, ݥwK 5!) =HD"XA9=Az q\MQt!6>N@^-X3Se\;EY d>>29N "+{c?޲2Qh6J3cd,k|g Y_sg@_YЃm ZD'گfDhFZ޵sc{iLXӛk=FJ&5A}jKYՇfu+jX[ԳdmB\u|k9[`u1ٓ.RPj[ζn{Mr~ .hG1, C@zη~N8n3AZx&N[ϸ7{ GN\pB." rXL@8Ϲw@ЇN$r=>)xCFXXϺַ{`Nh/1PWO#pH~x LwAG ؗ?xCy:H|S0p,yʛCA")<{]nz539Dذ2@@<3{FQ@u֞7(g1$^{P>@B>D>HHnpNPR?9wp^`b>JNph~e`,Yv jJ>^wvx1:# zuJ@鐽Ֆƍ 7eywָ뺾^/Q>Į[nŷ~%>w؞p~vԮu hfhqNvs`7-Qfnɾ*z/v_ _V ^>^+d]*!T#O^z,.os:<^-@_F&o^Ls}A_CP_VI_~\^?d`?b_j&zlr?vnp?x6/Nz_q_k/A^U @O a ? !n !Nxi m7?i`}ȟʿП,pTGo,loPR*ٯ_ޏ/oدaF@ BE80^<QD-^ĘQF=~RH-]LaI5męSNO\R˘ DTRMqTrT ӨxQGV]~VXe͞EVZmݾ-PTe^}X`… FXbƍ?lX vABfΝ=ZhҥMFZj֭]N& SƝ[n޽}\pōG\e=( խ_Ǟ]vݽ^x͟G~< 5׍Njrǟ_~0@$@D0AdX{/>) /0C %:"P>ڰDOD1ݛ-Ė($1Eg!lEF?QǪF 2I%iH@4HJ+9|' 3 (3M5m̒E5)2Q΢O?4PA%,,M=+2G4RI'R&CO3 6O?5TQG%TSA˳K̘cUW_5VYgR=*W_6Xa%v5nTǢ[Yg6ZiXPYEU1:C>n 7]u\8s]y絩]p[zW${;WY}%`,`5Lvb~!Lb )u1f/مɽW䉭P_9fg}KFg:h%U Tfi6UVj:keM+6l&l=64i[>k߆;nYlVycM{N#{&<̿3 gC6Wt׶7^sS<|'=uK7W)UDsop̊f>x߲o^ѡgy矇h[?=3>{'8 '|G?}g}߇?~秿~_~4؀ze 8@ЀD`o@6Ё`%8A VЂ[aE8BЄ'Da UBЅ/a e8CP\ p` ?b8D"шGDbD&6щOb8E*BQ ;]@;nC倃#xYJgt"Y̕p,aj !W*mizWnkw#3)JJENo@/C F+vxш[@֩=:K6 aB`N*B=1KggQ38` LHRs(A[vuwT&y rUg|v/aV\8m3Z1ZӎȚԨt ej;0dv4'ڵne%e䁩70K$@YZ$tW1'kצYu82:)l]|L1Iv^9ήr9̢KN,MW S˳NH`Skj^S@} R;ʯK9$w<2'yg*nwA w_"2hMc+Nl_X |}咇'kl!9Lm%Ow}.qa[mIbl&QY7RgԇN L㢸^qW1ܒ] jHIy#=kJy[P(ee,9~TЕyC@(r2C{@8\sީh鷐~>J[Km0,e؉gIzKҫX6ᚖJm`i=}>|bY#m qjO&+0I PZNp%w/9K}t3-Z#7Ԗ.z| P'&fBȹǴPX0[TRG\=("ru!{4" O91WKy*„%FÙ0TZfWVub[MK-r5Rڲv|l YvgpS(}U^N'cHyOjVxGGiz \ex=cER}k4ęԍ_W4[թzAǃ%/>ZӴJ[]oJ* 9[OĮ ېX9-F-cʢ$~3jFUrEM]ǀLeNntMfZݘSSAe*#E{9J%eDTȝr%''eJ~Ez seQ 5ܹ/p)Z Wr`^ULY0PFk=?.׹:=ɾ"w+_ ,:clk8^J89~Mu3;C=>~贳tSzhzcsi2/:Q9,bԺ峹sK ֕YhRF%%A'B᫤H8p\oZʑZvDpٺ~وH#ʜÆjL]BLPG{oک/eA~OG6Dpk"1s.vHpeDL0+<!45= ٖOXVv^c"/8FVꟐYfcRS p۶nײ Q^L[x\ƙ$'_u1ABc_rL^=!JANO0 ~$s}S(dJDD6°ZZKte}ߎZf"PYo=* %W_[p#aKd~f&ry2u03 ngiK!aHA)y3!f\Xp&Kϵ\ `sZ=|_`z@n|Df'^OYB ]0l\w( E wS\lXឿJ`,fKʘn ,j5EL"aߟu$Cm\B"Rf!$NJ("e^,$1pj'-olpݖFUacgSW2-2|4[4NLl2|Ye&:łZ\bHUԦX p|;-VD&΃|Q u!Õor%Wp]eQ C>)#Xj.\KKi!t|`Mm͑ϮD6;^-bDTN8#_JA,2nyJ+74\nѺMI}ZA 1vou%L+gQR볩ԝB,^=ϲW:pgJǵ{7G/JԸ RjVHcA2ҫ'Zz>vao95)>>J'/=d~GШvd\YLk))ŒY6fѿ#o9w~̷=Wh ,w ň^ Fj%3o̠#xڌ0Ivwr6e;}L${KrCiGIF89a! ,@ڋ޼H: L ĢLʆʦ s DŽU K/ _mu1Ǡ[uwfx)9IYiyٙI6(w%ba*Ej* *;+z{G \bL 8Ǔ|v M]lMML1 k,^mL/_>o_/n)…:lR@DVU$0ㆊ^pۂMH9de]cT'qəqcǓ6I|I3^?vРBU.ǧL"e5֭\ZkK1%jťm,`oڽ۠.޽{{]J 58q28r@Ȓ+l9?;Y&Qߨ}J:uEYBZ6n9n%|+7ᷕȯ&/żH2)+=]ٳ f%k^;Dޮ9?9c +ݷ7'  |`: x`p<`jNwZO#(a%¢?'D 12ix#H+܏=>7$QB d9bII%0OV%WfɥLv faYdERf} '[tidg|埀f)Uj&䢌=F*iVJ⥘z^7b(G$4w{LISv83C9Da`d YLEɲTL) l̲()sOe #7sTH 焹Җi<+BA@iՇqZvhQ1ScB'q&tVq|<) 1 ԛ}w4%ҝ='\/TWh"q6[qA:M(f57`.aN$#aI{jdJ]'"2=2ILdl[zFO9e%G&K bziE*2`b$[ql) ]mi #fJҧQ4ix#~ y/}v̹Dԍ?~JBn"1'T y`cд4#JB0bvOsZq~joM%i3Aܚ0Aǖ~WIF>ez['UL=y:{< Ң9\([ r`2 EKB$jPúSu%AmS.fdwܡ@Db;ĄHi eTC3hyʢf'ˋ%iqd.(\ô/E{ϵ,;HBⱕf@!xrC U荺<kĄ9lH# ܻ3Lj̞W^ ;G>Jm!:0+Brt @\ k{?`.#M!tf!$*W Ĵ#rKw׻C.jN9dv#E#Zi{hyvEZń#Kw)ܤKdW1ad7Kn[]v]2|EСѮH% 3N>ȥtLm>mP~ݴm8ܧN k<Ғr$x[U#𗕘F Kז gp|mY6"!15F(߇E]ƍQ^Q/C'-JyQƇSNxɜ * SNc< w0?rܼyfa-Şc <ӕ5CL8+Yr$.(n,11 %tizoq Օ~p̹Rs9b 7 .jEfMD9F0GAr:͌&$0adz*ѲɊ[t3gV#̥lQx#=W`Og!D v1G"?덄O6u',.\O.kDh|n7h^&%~kyIe~-3w[Gq)B{n|zEڒ2~SL+,CoF y`/,'glL8)&:MHS`t`䄳,z0@.# W$on -ܳOf c_0LttԳښF?1+;#ېYJ8 /-5[|L4i7gO5xx[sr<[5)\/C>x}tSEv9CQӿƿ/# htZXW:,[#f~?%B3oG#'%,@ yc8|I(fdtmR-ze[qJpfZ4v&G7 YF#ג9C+n ,N*bb zKؔMG69&<~ Z-\#piS;.YUz(D)S#\fp70[?aQ ,E-,G8 O-;{Ԃ'-2}i,/)Ǔ;72 I%ך>]*CD R29¦҇ђs cHh )LU(:< (fjˉPr9ZB d>:ĉ1m44HDxX[%0+!kW PBL.s4Au^_6TW"RIopdBB:YuICÀ!- Sz#FIUPt24&mY(kD >6kZ2[Iw~-tJH YS#`.RױDY ] hpqL4gV22 T|J0Q [ndw | `h;3ZxϧJkOioL#ZHqS&ch{zV14u?YjfUҁWEwiCEsȭQCՖ}5;,{dxG !E.ngE ,mE'4:z,/1fXagOL}QɆUYQrDkZ({?WmagH2fz ]N2*q62'A`?-;cnӀ17_&oƘ %&41Osvh1 /r JpZ̳`ÀQ9)=b.2r֧ 9 Rm~*;Sa+qޅk^z@7S5Un%vK%͘)!?Ìl+Vl wL}fǔWCnpKJU[Ϣ{YWMĔ!\h#QN\^XP)' &NYC]ExA7Q*1%3/Lw8s]wD=MwA8pڂ.G(4 3)J gK5$WکMYk㙥֭7J3Kh5cQ86J@^+_-<1@_5H88NhK XAze[ 2lMl%F:9c \ߵ(9 j6o%#W A"ؘvUe\@ LMyYޓfNH,\ͬռ< | K4~gD*n[f+MvoUea%{!fsC|夯SEX@O<)_fXS+9b<(SO~<5I9z\Fݘ5)0^| i!p7'c %E(U3HN@KC؃_,t&0D'>}U//ʘi,YDu#֦=3}Eo̥[nbi;T3 ezި TĈ! ʐ*p )K?yoNE>nyˆ nKdbQʹ[U=O"t!bӞܹ|$I !!>[PʐݐWt梡)@$FcTqtl)^bV1<vf$*VXGiˠQ%=a`hmZyz F1[PrDPvVg֜9Wn?rṗޞW#>,4{{r %*)m &m (?9 [k=_/s.mo9e@2JjqYkɿ~r_]`Nqi1X,Icٶy<8+ӗ %SE`/탖'vdUm7[0b rǨ;zE}TąZ*5"`FOXwo~㭨r#O޷j#%: o:`9}bg@~/*ځ#U|+Pr218gUٖltե@Fٗg̉}.>"@L:T۾׆=Jd)F(D#+;֣j)SW$ƄZa.a܅΍KW AX`>. sEOǔq[mM(LRi,GJrʄ6c0(@=v[sUxQ_LW2Ȳ<_4:vuܞq,E =JnMI׭iy FFJjgtAȸ P &H<˒021 =]Bz~ssSJ2#Uk՗__cUBo2naZKLk,E- caa~%k`\K 齙`Cn΁nOEnfccqL(u:UR}Y.$4Dfs1KN.[;1N21r^8FOMf 9 F<Ur<D6])Oj)=I;'6M)|TvB΢L k-umҵO>"xP eJ̐n^bQ>B^+Qq0׀~޴ Oۙ!OO}վ}L_~vcyX6 nTnL0װ%2mDiߵY~_k)~w4 :ʗB-\ƼGhQbF@s7?cݘ9ĈgS?0SPu %r2wE%0idD/ mUm9SX%&\A6fyxA=%0HDΝL9.\5hÞ;1>PuLU܄(! KJ`' 4V!{>a#4-C?IL7ҭg)~zLz,I-:zY!w0'mvBEPrfwoPwhգ77ݱUsDt3{lEV m]5նcZ$ Fp#m5 ltz ma^Ät3eήyʜ08~`nHsz% PARI#2n$2n$p {#Hld*&GZ v jodȺ}Gk&! 8ep|w䐜 d#u%K ƚ@Ii)E(!a@2aZm==#I F{M] pl*PRsJW҆61AӤxp9kaeP݇ڨݯ0Q-E)9_['.)ߘ%ǚ#![H=+7$3DJ6{pUߘsi} zYˈMzFU0TSoX1-L*W2wCO;4߮lv L4_VݜB׶,K&[ V"DLv7\rQ)^ [BnWV=֪oe;ݭ9欇,(/% H<^@-\̿JQ6Dz+]БMf "`o'ZÝ`ԲtcbIk嗰Ov35_LMuMZ8Ս08F5B1:|fHL?@Θq=L?tO/Z ӆBSȾg.%mLIlyAd^hKd~œAϜ#ς,3" ȤJ)cϭOwG n]$qœ實^Ja=#nWt̹lHE>vgÆtT`=ФCiޛvS@γI?'(G?'ɿQc=5C 0<3CNԾey=9oRGCȥ޾b (ٳ[r̟g炋$ihlG" ;C'r 4}Ƶ#\'PdrM;^m2<(=%ً́fg%-KtW~?gLܹ)ơg=ޮ#N`N l q`VdDs" }9u30%r|q#̨%7J0tO$fO"O|ʢK[OIeϴxj AP[T` +{[<b̊WCK> As &w$L yǨX2βGDӲe6\upH Ԫ09 :<_2T:@4)̑HyS`US0(vHw45߰n`s֯uOAb:Q!"Œze!ǼX+b<ةGBt')HK Ȏx17 Z~@ hj*|e==C)xTE'ȒEj]~ge/+ k;oa @kȝ)T;cЍ)B"5uu@)qo݃-:#arWy#p}|6f/ɷl!&L%EWwRi & xWYKf(}lSZ7Us~`dV'M@ݮ औs;ߺe; qZ8ǔ#(c.s> cٟXE9h]hx\ٞkDX 쳶ot %QYy Qs,%BͬI#alϖ)졀wófµ%Ɠ7{* AW$Y2٩HO$œ_|٥ymY&rlQ+v>Zf2r %qB|7K NIJnFn+"~FP{H@=KFZ~]65JYpX@"K4cS[#sCF3b'ҤpF% -I0nfZxc޺*".gN.ef5v0 7.󟹾qz)ny{Z!>nZQb'ch [Ё o)>E`҈F7gcg 3&/8CޏO)F0(&Wy4Hؘ*v0ZSCPM iavnhJ5G0P|Bj)ẃ{21s7#;dݻDh6l`.Q򖘺wfl/puΘT-YC:7~aGv#Om涄H&9 RՖ90D/nJP^88S[ s + b[yZHAΡe 1{ȃshg2f0 Tr0B#5 T+Ce(4D-(Ep&ڂt:22[e?Mx5`}-.-&9(cx\.F2`xt/} .b}D1LR^FT\\a Q> ]n@ri=OumZkDqL=k~YoۏK/Ёwt0AVpa{\ƥ/j;UR w~QRAfީ'Q zVe&==F-m=js--'6 A5edxs&̍+̮%ϝW,i+F(_č$G@- m']LPp3&^LJ-I)bSۿStF#h$Y<dFgڬ*.pѝΣCQI M%NgR挡B~^1WlRF2\v@DO)rE)ע19;b1;?c,:/;X;(MiFЖ&^.(S[uK}~ &ٸ˗v0DIuQi1O~s9 s!Ca֕V?jG]vy_GP<נ#słEY3LG#͓1 %2 StBLe" ݑ! >uޕyakNpxiZOݺa0`Oa ( w9/EM6Γ1@20 e OZ?- ;7"PF zqc1\e=-]ۥa~Lg)-Edh3Ȇ8N7r@ȶ1G,p<%ӫY^^ #𔀋SƐ&Q-Lq^4((0PO_ze3A]TpuF̺\'kE*M$spA_Ϙ#SKQk 閯]!hŘ d D+x;">1k;=qGta;B;Hi=ƻ-g1g]x!$>{,py|re)LUs[{O.H`{OG|#K2WzoIΧ+A˩C;a|ޒv%عTc'at)I(`+͵)᭍GVҡ5[mL500=Ә;66\#AK]/1<˾aunԏ(?]vyx%%oΖ>bO@NCGqv 3tOg\óئTE%r?n] \~7@uN t$$٠3n?v$I%z ,y.\w%ݻ}N:M&l^!`8K3~ L1Qaؒ#E%5Y0C"D柣`}6QƁ x'qW,b;?vlQO#/m[ *'""22zDaQԢꆯ4.zhY(@pf٤P1qiM?Aˆru4iQ:J䄯Y954'~l w:Ipy#,A^x~r$x?dGkli1IV(u6țFF$ 1׾7rr.ЃصS3\dyn_ 3J_0S.X_C4w1M/DbȂfm^f V!dLH3FO*;V홅m2v&قX~,eJqݞO׷dn宠("'e  vB'%~xuH]{fne&}[UrdyiR;i.reYČhvbQy9ƛt]@5Z#cidormLWt3XӈgC PpCHD1i1/u}nԏ~"w̜/:1 ~Mt wa*S{A?( ~G[6" _!캽(Ơs0P{*&jOw/ Y<כc-ߠi\׊]꒝]3 ]1 *)-k )QhBHg>w FAO$HJ:b헙O1-s`4=qoǠpAtiD]`;#dX!}+Zп<vO.?L%`y[Ž{1cmefP߁h_b;5r<6>9D c$D ZStv kB]"9lVϝ+p`W1hEjΑz dBNƨ-zi]!>ÎS`^8ǕuޝfjDgtT1Z* 3cNphF8 ~}.RW/=U 2}~\pS(eb:{S3zj\}tLGJ%Ds#EXV^l)(5Q;QYY뮧Z34~9&cLdmf9+H9{dS'p(bf8=J+m/ O*st@CqP.1:;L\, ux>9{|32άq_<@2/o{hK x{l#y*8=!ZA)t7Q* a'i|Ycl!d܏:&GΝԶTP"wX}t#TdV^Q Oq,aQcJ C D3ipY.ݚ J\Pd MLڏR!?vʝx (Lwn4oVkh wߣB n%;kdYu.@sKb>Qآ7%xoWCݰ)9{;u&7YV>)L}ɱI㨖 #Ð0h= 0?rC jzAi3ݿ3R3~4 y_VyK?s:A..@YBlΐףMd$ؼ?Aȿd%yLr5+ $Pi*} UY#0\9\\Hѡ͚6,A'A~T[|BDn}Stĕ1ޏ:uP/ _(| L| ?Ѫ@>DA/)Icn_722}tSEӠ2^%ρj gx?GC~7Z#,d]T^/xO#Hu6Ϊ.A1 {;"Ζ-YdAr*~BZC;ϸ뎘r'Pv,S}qpMUx_{CsySW2q*a}ٚeFLL.~9ŠQ'o.!xږZxnNợ˪><Ww=ĨmNhBZjM6~ A C X\𸍞hw:z@ػ2/!M$`LdJ`I5%eR(*hM JK]c_y'2!ސ{0G+ɼ^AR0.b&LN"cH\at~liwC7(RE;,bӝ-FsZ Yj͊e?>|)HE,tS\iTF(AV/<_sǻɗm!5/kzX\zԾDۺg,űg~ I|9 dp@MiKK*c_~BYAf^ȥg?\*6m~@ŀM w~?/ h4Xڀq ==w/!Q9q%H;f0َsϘe[Ax nٚeP\w7xfʞ{QX¬l5SVPGƕ)ұɊ4^\ )O׵-YYG[^19vfv1TfDܰҹ4JT!K r)4!ΈD?;D/faRt~hƝS̾w#~T:O-lcUGV)w+Qs :Si9 E?wຩ旘-N/[P^j`BȖ SrqaʯYЙzh3e<%nU*U+Q~4>:7M'Veөj27ƻ''}W rlSOq{m6zEsբTJOމn‚'F-;žɋK.f:ף\aTZ8$XrhOGy]~iSr<~\/ckdfluIg.~Y\lsH/XH|Kb JT|fikhL<*Kt'{3Lz=_C=D-0/.&lw{GM/RiŃj?\§r{[:JDTRUFλmL_*JLk:`gD#H}.3CS>JkS{2k !H\_Zq-f ctD{<{"*C O b<>aDlW^*c;N*ohڟғOk3aZ#f-Bq&k*fΖ/3ӻe嚓~C5?`!C/CuK̫"Qc}jR1GW eo}g+h!]R$fUܳ7oޏ]z9b$eݥ9@~a?i/U^9\R3ưv^e1C6~,GkW$ۥĺ&=!y7]:BKpCKa j00ώoC&>z|9~KypzOpپRM5:e޹8ݎa?[+!$K?nΜeF?][aATڙKn?)Ps"k.@VBe>jzG1VL+&SK1LUZZdWA7gݫvQz@'r*rX %;BZ ՌfZeӍ`>3a/`:ramM<1?b8~깄V;g/k8GCuN(Tͮ W(! M(v[{֊y pgu»(!Q-%&N4U+Dު[9bQn6f2 jlV_,݋[w>$Υ}ʼ%?h=AxY5箝n6t^/)e=ַ݆uI84 >LƊzذkϷut=p1^Z5b%'3x67g~"قLE-",g2H @ 2yukr,"|⢷u G>D]}De14V&|04B9:!^L=GW<VL~s?>=f^wuXIۗ$2bOaezLȭX,1׎h3lSO"xsp)iH ʿ1G$"iQ\aW! OrңyȔg/Ai[@T;*׭ G:i ;0ekyzb7c'̻ }C4ۭr7J/VG`C*#S]'?: >#þ/+k]nbq]ۢV vm2Ыu_3u{sVd*>r[82Jk8AMK80(l3sߞ|zow#ԇQ7 |de%d>Ա{7+Tهw>꺯Ce@m,k[ʝi']WPN;[:Hb57UK;wj +=FeZ}=$A:4bbd?K,bZ1^róϞэSk_נnN>C;;iq9TEbB?BlOyZ˜pnh9(pĘR߳V>H_:B\m\sg)9Т$E{ǒhFXu OH`nI\jE1gٳPAm'l[qMF$ P橔II~Ĩ4v ӈNJ ՗fC i~[Fdt~gAVa >θ.b-Q8榇;vhJM"LĐ.¥]9\`8i$ɝΟגEHGIF89a! ,@ڋ%عH扦ɭ L ĢLʦJa}jLDw k\)KҙmtCVyk=7GXhx)9IYiy(8ƇQGS0z ˒7{ {+[,;\$g *[ -\CJM^n^|1._oLP{Rnf*|p EDa>bںԈrOSq` Y-\LGKb/uaY ggΡnz9!&ѥ+jD*'nN6fϬ.rW+by-6m,j۪6 ĝw.ۼ|  .Č.n Yevat !H,7sƸ.ЎcujУd5iI{mnHsQ BSVP|Da;u0@J ;pkO:BqW_=P{~~~-Gv+vU sq6HE҄n`;nʇ$:fapX*"q1rbc.hC8X^<@ID|H.L>9PNhVRyey Jadjfn:rzs ix9|;*茄nxhd`r( Y&WvJ|Zj#INz9j9JX1V;RN;9BMkfd~uկ(IGlfiͪ,Ue};WSZQϙlB|rnaLЙػvRDPabX-oNcUjn~003v L)fd= gS p C^Zދ] ;UFLrӌ/'UWtR9]uZS9t׷D]ba0[1NJ2MrZq6,e/]"b ^٪݊q2C#n5DjR5n^Iޝ]:ܬ^"geή{]WfĿ;eop#۽~.!W}5 xRkE=ʠe Nax g1@l<ޜc`QnԍJ16e8߬B,)u߲ݽgWC|&H9U&b31vS>mϣTAs*tn+S3_IHISy -(*6\XO3k0%gz[~ Yf滖8r=b58;l r(-Tr|r.U`e}S,e̎m }9TwiǏ$^^.ei^2ǨOXʨ= a{œgV-o9}#/*.'XίPzL_Z:E6oxrEA2y穀WՅc@}G-_K9(JQU`K37;c=A?Wgcg l̼ a=O}Z; Ύ( : =25 (Pc`Cv=oUasa Τ6]8<;/LR4YB2^+VI}|HT+0Ez&./G5.Q.t]?%F #Ye~?sDf"p4sTYr1q7 P@-k*AȖhB>Pz{NB&!3 ^` |s\NMjOHjҹr-hvV1c|΋ ?cM$"э`F4_yAkػn'n圇҂XkkrhUg6;-WһhlGyq `U I xWY˵4~V;Fkrgej+t)[RH.Q "O;iaKrZR/ӲAձ2>spKŀ* !M+'kt&վ훭kbnn#Cm\5F?941^3mI3@9ʃƖd?O-.ō~?ay@0*Lm`V) 5jjM7.䰤N+4ˍjoT@~F.˪okϿ,Yg?v r&@STeQQIg)00Z6ZGIkfo WhyN'?O)$gNG:Rð~*̮V^*̗͊<أ )ZSaWQ_壘c#3gf$?^a(|# fR('嘩b(MmKV(&qCJÆb:Ɏ!Oxl՗Irflea|&xrC܁ .&Zeh%#tH0?s( ܄םAHtqhO3$a'Dۇ,Jðq(­ b풽+!f5DzĦ BF0v\ʽ uFLل{:1\7v 8T+Rs%V^ÅU-nQOiu.^e@Un YV qd%QG {o,RKڅ9予ԏjCuRU4$7vZS+w'՘^QS~̨9͏RLU71b`h1Cnu~fs:\g&F c\+v\:4Lj9]~ڦRtO7#]qrMm<{ Tq)ׇmkl?fXO)Gk&"]nɽ=(3W%P~P^9tbQ9S=FùƈHwU]e0Y[[@TY ^~]ؼ,+u&M/y=rN9{K~eP - DJK]"̩L{ +[|/&ޒW:}9x'yQ1[~.K_߲˶,_Iˌr'nYB+h|tN(xԶhLPf%뉺WQ';fRi_oVׅoT{:=]?}[7I `C$MfjʝA|_ǠSpG“d?sZiB&kC`8ֺ cL+&eAOM2BD!8S=؁vFrr_?˖ßsEϝ|{4{o }ƽ׾gafBĜ;ms?[[H[Np]b9r[(9fZ+aqҲayC Z%s,ᄹ 9ʯ13\M?Bnp7S{djA& zw#+f5 rڟ2^{/qCacŧ&'nn}9&ތgY7U5S漫W f8  Z R >P^K\%Yb4p2b<\j~pL2AYFx=A>C%(*jֆ7*?~N K8sO`ŸGOevba7NMӎ9lrQ]N8o0gsq?Tgeb d*`n= dž5wrV&)h~;4SyeD -C'td.%ljb!ǐznrө =V~.요mwiE3zU`*8XܫzHD:3&;Ւ/'߯zAk^1+XT#=, ;Ie*GIF89a! ,@ڋ޼!@ʶ |Σfl؂ĢL~ɰ JGjܮw\~ !8„wO=HSBXä'7b9GXsd zHj%zjP{ZKۂYl| -=M]m}<.^n~/?OJ ,0! :|ĉ[Q;zfǑ$+RcD2+S2ȗ4 vΑf N)4͛,e؅eV҇LGвf\u_ˆ5I_V>ZžXZD)UMUxR kݑGF'Lvl63J̚;{9EТK;$m:Ͷ[KN:DԲkˣm;Ǻ{;*gGZY3ly:Nݴ3سߞC'^rӻgܞB_r~#6H1RyͅxGv:)lNJi!{`Ԇ_qoQ2&JX{ 3/*A$,އ \;7"Ð]AЈ`t0 9vTD9&|[2P qe#&rVbu^iKO%ac\KHhh.hsBB!#KgIcnJR7*jڢ+ꭺ뮾k$*lhkl<*>k촾jfKBKφ+.䖋fy[.6;ƶ'bks\/{RL0p7 sOuy_7k ŋ 7TQ x?lF8=wX^h<6/;|kdwz4ʭt]<G곑/G^ Hafr7,ro= [W/Nqk:y(1Oj1mfAkUU| s1=`)X^%X&kC~ kȜE>⦀?3~-"I! -n:Zjg8$eR5+mO/V=`]ƳLO)eCnG чS [%D =\z3Igc2%כ$R^w+X-Jb]G~3Ŧڧ7R9:Hy* 5ÇP`:K.V6Fbe}h#LE}@rAC,FX# FM:rec QSi==LBLi((L޷Վ1O!`I t}$V>k@%q_Z^'LBH6}.}ywmvrҶG5^`S2GCr7Y)l(gzLAy!Smhl8mRhgS屒_B؋QSRW:b6H =҅{3 <{x=Ѯ רYCټ岥9k|YAVEl4}u ȻFleFטr2)84C+h{MϳgpJBbCn$ȿlg}*a$Կ?Am_RV׏%M+S*YECXLpqh#t]^ʎrc,E^uFO?{7Tf:'6e/5W& .ߚ+T~ RQ4kǿ̣*aQ.uYq~ R~mC Q+ ktxFU -sAf}r?|]5o1Bdv -~v ҼZ叓ɥOV@I\JgfBK-kj˚9&ӥ!b¶StI3O[40ܲ!ϖ5 i,dMM*K Bu/4mot`V&|dOF5B׶TJ/R?!jm iqiTgBzI\5!Z@4D}oISkVlY+5/#xwg oZ)2D~Yn_R臼g[x& FrֻߤR~-Z*fR4bƬ%K\= Uٝ3[>_r%rcW,5C7D}^˒Y [uh--}:*: t9ePBfY$-ʰ]plevf,O:fI4Y)b%;mΫ x?ys{KbTgn99mr+H8ޙfULd[UJ'κ&*y|4bZR7&TLK8JŴ\TZZWUL8E=gq4ǘw )3ݧU8pOG Qd(-eYO 0|Ư0}Kq)˽qoN58]IihZ[F\#}97)r4/ٳg -B sEr VMZC?@Ki[tЀΨL!B^[_E!pJY#bYEeq%b]:vz.@^̟ghK|PKq=\<(UD^ߤ"X aqc'#.WWd?L` i VekZ(]cy?E&ƸD8u .+IJ{MЃ_V:=!V#!6cJ;#Х5 ˓B_UT+e|tr $X6Jׇ˽eB$?&`Vrc\B 兵jgݎDESeFIS -<CK ݞ в 2ې%km0gQޅh%5C6[[tvЫжq(^(SBlMK}~k`\[W=n<܁s%@]BJSc|rx\;Y j 0vV>8(yÓ=Ó G }ǔ<x89rBn148t<_4wFKQ9o+{CN4MŪ6(H%M8!b1Vnqm:c:u<Ґ4J #0xb6}^MS=C-3+U"iu]%&T/b)Ů8m0ćő$;f)IW1 :tB$Y:.ק2œC8Mb [1#ۢ(nqq޾ Y vU1eZ\OH K V vzTfypy4X07;-4_ ҿbF@%|O<ӎ?:אclf;4¿gBˬ,.)z9Q4&0B1PaP2$1~dlWV K*x/%%72^ҙgL!fR ÛI1D51|Zlntd:G9 "N01RRèCRcJ,+u>nE (K|c\?g8VwAnGO){F]"6kٲB?舄y״c<3f~ollq7 mN~xGv݊hkàgx͎w|),%pfT HO Y qiсy'gG89rOHhqed)&k`=L r3Ƨ9e)cWahC:|h}2žެK-dM3u| r'U hg$2In>70Ҝ}46>nfdҫd{Vw8]&|mr4',]0Ĉp&COΦ+ #غN\=,7 הp1ąAS.NJucoRTE!*./ASN%Y ,.6aD*$\ NBP#3{3ne69`Y nKJ1;sBjls `ݢv4KK9pke`, ͍-ܒ:IYo%_t?>c\*w1ې򿽄T wyf~B ;0[@cxB  #8xu_e=Hr9~13>&dS)ƉWς6A x$l1h)Q4fГSZ{軔J1/i']^G(7~C7~oL\dG *v].f2k`QH*9?ďC$@گCSSۀ>jL'<T/1/3Mr@ 3ďT5tٻxEJ|] 9A=Ql=n{\<[Jdk#lyZq_fkQB0-t}8/2ڂ rk6O kTrg_βe_^0xX&t Wݗ 'VfL t0˂6{ *=Q g3N80DV  Hu. ? -Ň|}E6 VK[Cd`Q`_-Y/LorrBM)0zrhXZ|pm7G G{.Ǚ^X0j|%Id?O(~>j4znW 1}~| D>P~;bR |\nZLl +|mnuw Aȹz˺@uCӧW2)j[jxXuic&Ҵ!4$IL\N7㳠PX!b+`umk`]b:I@,zM?qOz7}9;Kɴ<_b|l9!<}_@W/Ylx;wa.;/*ѭHB\u7`*//;`%'*G~.|xb+,$\óPؐqXC Dv0=+OT +O/.W8'[ yʰ%8=~z p(zxMπhi%X .F8N`xb;|}[- GO1V6 Ƶ)B2l0LV@Hg &ZDX8ᙲ ,QoUa n@ aK _u~XCe0 Bѫ@*H| :ez@pGbCҼ ~ eV:ϝr_PűH88i{Nc!$ϝ\ى:=^L jv4* &PR}kmP^ў?5;ݵU)7Z; b K9VlA=U <>H9ZQx9 @/tyml 7CKX{sPp]⎍%6=x dǛa)bZG)0s7;~wyS!GIF89a! ,@ڋ޼H扦z L˫ 7GH3 J9Z,K ǣ% ddz Z};fĖ'cXswWhh9gQIc)әJ9ɚV ,o?S<0ᄀ : 'ĉRŌ;1Hw#D*2GD ۬ @ɔ4EВB7;/Ĭ fr~ JPXbtSh*ؙ%ԨW2 RNZ$cRj \^ iZ!n]hO߬Ń@40w㎓Bk9L̐"s.7>4QU~5!eӾ}6tߘ\򤾗;zYifȅbvܹh /y> pz[@??%Ny ؟AtgUp})D7/^sRs&!!p4 o80t M/ ʞzyMcDC$w8,Dxw?v%fDpȘ*3VRب qBrѱ;XDc#G=+`B(/CMkcH0jO"izeT&;P듢Lb)ESEJ%+JRĖ+kY\^떺|J/_J$b1Hc%b ; vwnuA[:;Pv7JEr\3=Rg.c⮔vi} ; 3v~F}HWHdpWY>wo^6 wىr w܁"Ar;nX-WJt^c n!qĐt ( U$ J`sYȺG2V9Fhr%YM.iB&m1 ( Sa6SUL,i^_:iġY]Y8>?ɋ==Wphز)J$<QAFtuTG(jotDi!7AY!7Y8voZt3 M:G>|`v/";]sMYB;}ɓTYѡs晞׻bCҙ!"<V+2VI/i( ƆDK0 rU}ZƠ'|ql(/'\3Ca\O@͵F!p[oe"C}%W=n)+DB%\ƺ:t<c W[݊}XKVc%MPK#䴈9Ӵ [ @jQ <BqA HĠzNI'*h1a`PU̎AuU;<֕.{SJ %b3BaR*4Q~P,U{A(t Tp:y!)Tm;0]Fm oSG/S1 QS݀q*2D'DkVňM91߄VanMm :Z0j+ 蛩yEaWaaJ#?q+Y|FþO]PU,Q.5|#QyVr(p)fpl_׻9m*԰Pß*˿?; gDFX܌fJTG4erH̝` %2m42vZc-ADn?"ĶUpQ}{xfwR^M˱-#bO(fi?*LT[lՈ\ mcF4Nmh0Ҩ,BtYNmѧJL'dLJRg 6hSwl6ɔ qV\D';4PN5x:5>jj8ӣa4vPGÄ)HZ4ae0q~Ahl&)=Zbp%Q2˃,-8c.snG\R jv6,­A,%zۖ5ApT ٻ1As+$aP&zO]LW:0Vҕ{c0 ~Ta Fw buOMnhxc*Rt5TUP:%_qib@-T*bǦC `4֫ں`/t\wPN8u[v< 0%*Y-U9 Q8GIw!2q˃E7%R{>hEMTkt C!Nj NR!i©2[ 2tdF C{Rkz2RAa 첿 B +ej#ad#HZ:9#ң : œJQ5XHWV`O ].︎;΂ZNSsbY/Tx@ԇ0XI:j;TE$#ٱV(Gt)f0ɭk( ( l`6uit1jFxf1u|% YS׬$EM3U'0%gkhX)8C6hMfJum܅{NqqtvNH:216SB6DHI>Cǥ&zOȦ1wX0ZL0y#!㩥8"A;y~~8lTeu]8);M_I[\> ^q88ۄ0a:\ ? Ubz.`NA+@60E6Ea~x-j*#Qy5m ĩ288znYmBu4)UW\U&2|fQܜ[Mb:>6\3{;efE~7;:3 9L»p[)gz&`+ f&8Qn[UpOEX^9R *p{5Z6!ŒzmvVh[yȝ#Zybn$$  }`\yn)`H_%t/E/(m:Hxfu})T-:w3 .8X $Mߓp'䓼~ $ej,>~cǡl(w5II_u{,wfEȁv)^0j=)k0lXr])9e2{lKH\Ir.$O\;Ɣj矅3=p>icK|]f\0XԲd3RT{0߶.3o^$4_#)Dۼ'@0S#K>d9\{YbSMߓIfX}l&FżrkdI2) FwPRlz|sKgсg@NJnQt{ qE''6H^ON$f66|"ɹ]c&]8y%ɝȁd1K8N=πjbЂ<{f' GCѹ7mK1Ҝi5zԨuCT:ԫF_MkFZϭ}C#hMljҷdf;ЎU ۆbζnM.sNWvMzns~31ûsU7 p"|t'NЇ+<@-YkxGM&W,Z,\_8Ϲq*{@ЇNtiס)җ+NԧsXϺַk`v`ZhOڱ)DRkNweɽx{ 3Owwf9 <? 3i;N[5y7{'!ԩNқS>Wzr및g_KL›Ͻwd~;8z/>+oq]~a}k~ \Oy/Ï|٠ϿҘ}z8kXTgu׀~^{X{x~gׁlvm|~k̇|*c.$0Hl}/:<؃>@B8DXFxH@NBP; B9D ?(y}+̸[_b>0TYVy<C@A0RdY@HL{i99ɗ~9}9ZnٙYpHhP>=_  iB@Vr*)},yTaDa@YG` U@D0=a&\0;`@C0yP`pW `'`ǩs}uI=B2 RF@@ pA_PO`a N0p>] QSpS ;bʖ:Uh0a _PD0Lp< pE _:5# :TP>:GE@FG*;0[9qIM)W9?* b@;;P3GSOz/:/>[`TaOXpXӺ`Y`Y⪓j#6OySb`K09YBpb _@0B-?9pi@/])]U9F`PDEpS@:egyḲ14ZFP` @ H0@b@K cDpP;`G2ZG;)NPzjn`[RPJ`XpÜlnjݦđ7] ` LN0jDp-` G5@<3J[\l̔![?PYcH a T:0%M'm)uL@`TȄ*U2 D`=@;@ S=U]٦3 PE8PWPVP`A T`ŹU`p1I۲=l ,WM0 Q3 :B0U  @Qy)EOV8PG`U`=kl= .ۛثOQ"M{$}s+1v ">$^&~(*,"Hxw`!{8:<>@B>D»a#LN~0ʔ:.7Z\N0(#Tj:jh^҆`m<kzi^Jm'fn~l.SNq^rnN~>bN爎tNΡUޙ6^>^ĝn.#u>^~Ȟʾ.~j}؞ھMym\e>a2.R-f~^,luCt@|S/GJo饾W$_&?iWiQ{g˜02"?:4~AߪCOnNIx8/NPRoTQy/>WL.n>np_"\a >f_m/xB O?N~k\_^'oG9ɏxf_v劲?tׯ',.Mo1!?H~_Џ!h 0N  >QD-^ĘQƈw<~ @RJ-]SL4 (A#\TPEETRM>-GH$MĚUV6qRY`Bu̞EVZmݾW\k:2b?X`… FXbDr 8-_ƜYfΝ=Zm(j֭][lڵm cG\pōG\r͝'A<խ_Ǟ]vݽ^|uޑ>G^zGQ|3a;0@$@D0A$/B '|(6C?1 I OD1.i!_1Ɖ> stream H*2TT2P0P04Tp<P0KD(k65P)2r \C dN.L…5j6X`7 endstream endobj 324 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 164 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H\10 Ewip^u`@l0(,\;vڡV;HF'TU>UƵ5=ƓIm&fZF߅OٌŸ`i;](!jKݐT{,;8O=||#FF endstream endobj 325 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 226 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H郞 d}e endstream endobj 326 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS!" ~0W @ٗ endstream endobj 327 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 114 /Matrix [ 0.15 0 0 0.15 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 80 /YStep 80 >> stream H4= 0 !- 88J+M3}Ir8A ރ܊bX7Ʈ32٠~y[}%o=XK@3M 0o" endstream endobj 328 0 obj << /Type /Pattern /BBox [ 0 0 60 60 ] /Filter /FlateDecode /Length 218 /Matrix [ 0.102 0 0 0.102 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 60 /YStep 60 >> stream H<10 Ew'@cw@b@ 0(,\ǮZՑ…';퍽\ǵ/7oJ~gމzur!A]{}SpdKI ւ3)X)fEM *uI#``GIcgi$XM3<<> stream H*2TT2P0P04Tp<P0KD(kejD XBH*d.CC=# * V r@PH5DH4 lB0W @hU endstream endobj 330 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkVS` B endstream endobj 331 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkQ" r B endstream endobj 332 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 149 /Matrix [ 0.117 0 0 0.117 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HL;@ D{bN+6aD((P@R(ֶf&`邗J|UיqƨTօ4b$"n.=̨!9i=ϩ8T}.Wj͑䶋=!wo8Ӊ~ 6 endstream endobj 333 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 122 /Matrix [ 0.05 0 0 0.1 20 28 ] /PaintType 2 /PatternType 1 /Resources 339 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H> stream HD1 0 E!)ApGIF89a! ,@ڋ޼H扦ʶLs L*̈ Jӳj+ `73/;F$b9藄7w7!XҸ8IYiy *:JZjzJ APZC6Kӊ` tL,7\ܣ̼ܱ =L+M[5 n>Nm]~xN.?N?Ͽe0 g0 :|!ĉTć u#]L 0c}V!HĨdq"(p#'/2ЊG{CԈ(eBtiB'@Mz$ժ՝ץYÚٵ!Ʋ}-ܹҽ.޽E஁~bp;82ƒ+#l9s̚;9IѤр.:ԬIn$ٴCxgMeVٛlj#U\%ܯ<&=&<̰ c<أj {yzo`8 Q$5š^: Ay N̙ՠbr<]f9!DU"}#r+.!i|TylKBnCd[=9QL䓭E)ejTVYڕX喖IeI&]fVc` 'Pqtf睂'_oI&%ojZ&!j.(| Uj)Efan)n j*AЪ_ßZ䁶#HOf ZTW c)YԵf$V(ҕmlH]T·tMmƉU ᮇ /M&Kp!SLҸ1:%V\bY\|ىuζ6W7}$ތs:s:+P$hѥ41%UD#-k4ռWGQ5V&or8blFibqؽ44G7߂{ f`/ux}ZK9[jQ{@}za^rMn=zr{[d~9.'Nl>b#G=3г=[y=jgm=b-G*q׃A;)"Y9ITelm8o1^-Uhb⌢cF`,N-(u)!Eu <=Si^w#qMj^ "4հpAK|Z:H 5>T `+%D' ii̵&bዃ@GBg@v-.a ڈ]<\PZ9$Nc#554сmߡ [ҴȆV@26>|LK@(>$g.\3JRNk!.kM$~@?"E⭬xML(b,g*#{ؗR(&gJX"[WPFF@AD|Ѻ/V[A#RFAd ҟJ`'^vC ˲b6x8 (e=|(&ٹ%8)4OIbR6\JEtI&r61ӭ&_|4McB_d1 0I3LBO0"Սˆx(H @d#te]aIt0Ĝ<ۇxLؤmRWY3QFC=, AΓbl2O21h>O4qI$b'JӒF6%YDk&Z I8%yHS#el4?VJ6khҘcM|$!*Bm-I4D3KyAU'hl;^SPh1Z[.Iًq3ב({Q 3h4/'Q ti,u4*2ȳ&iYD˵NɤZD |Pu*m}" DS5xE `eZVmba P|IMCd],,e4'jBUFCCn)goI)D_ pyصrYz 6ͭkI`MM\_k-hX8, 糔8Cc|OM;鴵GzʅREqД>CSƽXc]JC)E459 Lߎ-ќ|R)%U i1Vh6is1^l75o[td<: 묳tOivhOK}΀bUu7([0 7Soi(h#~l=e  F@JۏT,ElYk74whWI@"py/'{Ί [+˔kO oM& *9q=pCx"輵4l.g,4ET|`+@D.m+g` UJ+ VmBՠ U鈫R,=-IN㪻a0T43UCOZW&ÒNEGխsH>)ޏRh1м-udGΫlsFK4\?DM[vŰ~^D@ȍuV7gWz=6J,<.T5,CqU}lh/]h4h1';rs8vE22VY%ʇvݓ;M9{57C{$j7?N=& [`ĨR1*a6hd/e">fjK|;`_ .!HY 90'oY0)V89B?pN&U2l=a݆. }aSWNBedZl [`Iα| ib戰d,4^ *0 8 H|j2P LDzAq$&'HsF\wo9mߕ ?EserOBC(A{AI{Tҍ:ڤ` #Y+R>&չdD&|:3hKW4֊ħQh=DD3"wʥ~6~D>p*[DE÷HViV7ѐ\JKM}KTk5U$>PZ2XHiEb(`&R[ 48PH#?҈瀈Xh|9@ںJ$0q>6 i0(e=-hx蟑qnBHK&ucUFBx3&B4Ŷ(ס)*k7|$AIZr~(h(hARXW]{KsgQFAȑUD1I(dDCK >#ƢÌChw}رRex탄7>Dž4hC>m]-`|iJuC@v/]R ݐ%dqWiS8@2oPÿ!ltki|?=yD$K>>C3$*C\  < N^iCSF(#Y1C(ѧ%).fqY-4RQY(IdY(uhɞq XE>84&4%&Eݖԩh[aB\Xј=DD4:%G[D>">m]֓mW"6.l|d{dmHH"$VgU9I~H"FsVAu^7m_?wC~&#Uξm(0ƇUGRPHj|p$dJSJKFN7>6bTmNc뷈 b֜:i4[QzJ|1$h$j-Ͳ:4=!ߴ zú<:hߋ_Λ%'.?ӁA>Fh#! ȬgU>#r…̝έ`/,U䐦i`3 6z\ vPѐ T$tH"MpfOcZ'H\:kkI=zP#2Ñ_!zRV\FuRxPJNWGC5ShC=$c0ќ,N˹My[{|XAN&ȥY>k-F/;@d'fuhXZ[H9L@˄J #w`&OPeNcxd<+&.JvO,sH4-Rud>B81~4#^i)s3rc-rOubʩȧE(6#8 Q;8Ю2_k.N6$+YbIC uǼT1%)h:$ʙ/'ks1ٹ`ܡJ@݇t2VEMZH gLqKQZ /i#UmsO؀d]+jH0$S$ZP<01>᝭1$tIyKbt{ (/Υ3('h V+Feo HN[aRl#Ma5 ~ʗ gU, |)ԓ$+a|q @2Ċ.]NVh16t dXėB1CyޜMYŖsF,Ijf@6B{HYYvmw$GD7[@cH!k?d$<9{iN >t# l)3'|}䁜!:gR$EL̏VL 5fg*fW~5d% ]=uvE eZ;j}'*\kLhM;| 6Mlu_HBڣtvyMxH5L@ @=Y eI ƈj~d* bC3FXИ!t fz) 'A|Z| a i Y?Z(1h,$s1e2C/Ac{41fY1fcJCڭfD -@[hN6.ּlAGIF89a! ,@ڋ޼H扦ʶKL;s Ģ;*̦JBԪړbܮ[т ;UZ,nˍ^ηHW1w88s3((b *:JZjz +;x r۹ˋh,\lui<݌MRݨ=m] ~c~CkI OX?ή4R~ t/L C;1{ к1ƍ;z2$^%<@,[)2̂0gڼ&Ν< 4薟BmBҥA2} Ө`.8I*J\1y2v *hd=Q۳H$$mC,.K-S_3~v_{[qa@.WSe2d˜)wf4ݦUF (WZ,b>ێP|h(r<ɛ}tܽ =2/'썮oίvzN6`Ah`c `\0`U@(u"]aVWr^W)_tՑh;1". puL*V/c;R($-(Vg|x@m"XdN"y#L EALhlfn gSv63d2RF>vؐ\R03^iSW@(PꩂlZ}ITZ#&b6kqVJE*n8쳷!(O:欵z(IZtɖ[{`MGXnTo}Uf,۸&p96 qGLq VqqWz r%!&rrʹ̲0?+Uls8ԚxV0>  h!sѣO_z#x}?/9{CSۇ΃rޏϿH~Y8OIԼVY`h4}GQG,D> "Sm g lUZZ|b!ԧ+F&0: Ju-pV0 Qu%$99"g(hNqE^a!EZ ճD Z1=|T e;mD]V-8f#?n7GɅzsHgQt8c)谇XآIUdFʘ@F{9#\2녱\ִxUB]"$ʷNaҪè%K *\\] mͅ0֍r#l5JM{']*dL`9oC&: 5 "z0ܤ>L/$IP{#@CzˇVh*(bѽ-g5O*Q>Tc;$SDCkwdrD GWNhh@BΈjE y]H?5^!.UC󌋆U\7f.a*dȉR8iAn"ɹ2Peq{]" ?ė rLrH.{F=u4䊬~SevI\k2zIpZݨGˀ,ETu66JMaZǯRC 4ǐ]? HZc8`#͝$6T4.DDrQ7H8HA^= 4z\92H|8$OiDcYou yJ8PrXjElXK#^Y+Khz!A_j9>vzIj-<01诹>p[-MV1R2Fܹ]0N۱lb(eg9nնv=N]Qrb4CZ#bamx4;Z(:cfkXyl:(a]AyWذb*pYޙ,&%;$8r< 9*^u6 > }+욏w\))bǧFl(P!Mr_\9!wXu|ڳwg +8ȗDŽl|(h8}Rh$q$ҧJDOgͫ=CGD-҈lr[H/rwT#p: vzw[#x;N3<ywhcstЙËs#`⬬zHsH^#%פNX ɰIqgN5¦a 4 ZPӉ<6jwnTO^XpeX#x8Y>!M ~aj&nz*R Dj[P] FVUKlZi qmt۾=\P)o>y;Bﲱ+j争aH<~L\2rDPGH8h#r^Sa-.HiHRBL{v|Cc/w7yTkZ?D4  J8d鈟4>60-lXgv5jbCUi+"&`*MM#-- Poa2-w8&{ΰ5 m? w ͭ~ߔO{j.x6!28F{bj\.^;X !@e{?sJ0-|w/S問## SƺHM^eAA Dt:4ؓvS n"|M争!g_=K?L*Y`j~ۅvR/y%7Yr˟V8L.dvZX4߯t4W/ 83hE1_O m]5Bf'u~Gx%/V-:<,N̳pqJŅ:뮐&3}o]HV$!p jn,69 U>3݌w)xlyMlnwoqEu.32 cXHy4μ3|rkԱG+ң˪.qbs<=X9M8(UեiL3%H4m)[]uImob)?,Ҹ UͫAz>3嶳aHZh4^GZ\i;|^[0ƍcPuF#;aXNčXth|;EnKҀ ЭG$l|5qrIq+MU9Ear.H/4hI õ#BY}qEip;4‹E6İʓ-`ZHIeOWgiqV=' 4O)EWC]SBJf]tA4?b,tҳgEm~KduFcN_Aۡ >&[/.r | ʓ7' )y*@"ĕ ~{?r}*b_#W\7NxXiMgJq\74⍸jX"D%TuX;o5Kg^_eQHiҲ*争ҹcpR}RΰHl;O)S80ByU8s4l ʣ@f-j3X1R+:4-k_/MN?hB9܄D$nMH\Rb朙1:qH+NV|rb"4&dq:MyY`vWrQA]́)'uu/=qkHK!B,yh1p*争F^qqEy[ OH.Q=&V} p7B7VZ M_뉮aY. 27G"eaj[0/89lJ! e]UIk0. LR\ m{Vzw;Mh˖=РfYq4EFTK=P[犝;NΊqMlC\՟| 4X-DԣI*tt8*> !Ǻuitc"kn">:45ImZFH|A?"{!u=]fbW4]K_BEMFD ÀdAB٥(`\GHӘ{4Gf\r \`и.B$j争$͘柯|pرrDP!ꪑ!L{~мGalhp#9zBH˧FМT7RCIhپA4y|vI(lU7MڵT"*UܭZ It-Tue13PO)ݵ$dRV0hL7LݦKcI=l&EB#EA9[Kcpt`^!MSs❁R\_Gέw:2u|@,U;oHm]!G !Y !1%-G$h4}`RhbA(W|Ԁ[B-i%cIͧ$C bUPChA%F1&R:斨SlB 8h/EA?ʧ k5ueNn1+$Κ1 `p5rD98l&,`zg ,$`MQy܈ޮ N[HT!Қ-f&O[W`r6}N_6'qNk Y됴l&i~J;012:Edt;C#Ϯi|HX[q]J,9If9w6HK>!#wXdkEc.>˒?]$sa4κSFu5M ,!Ciisvn V'ud/rOI=̠1Kd3"-*X1@Wsl+1\KL{γ=r[үs3p/#ϸj8FBeՓw+Ed4|v Yr]r_Y\`C} OF9NcByyeMǎXTcNLb9 2dSes~'zK9ҥ}ӣ)i|QŌXܸ,% >[d,D۝] zĠz7[4 FKRI 6HqWbp/bZ(mcc[;ƿ9(+X6JYӃsqyڹ OWg(#AX-H74-!L{ bXUmhb7^>ױqbk]Px /"aTa t\JWIIU\7^EHy\]DwߔJڎxf-)Y1ʳi>DePkY[5|F-=S*vc\h/Nr| Ѳd! z|˩C9z Q/>Qmb|pzY}gÔj1;uhyzF.wߔ}xB޿픨4|%*;WNk:ӸV:4GU"9$:xHŬ{&5 Ԑ(dH-ƯjO hk_uE?~X|)w^ר&+y\h [^`ׇ" fqrMP)yϿ&yyf`LWJ?hLv%1MR۪#}drC#|y729*h#7iW~[Er>V·C\Zt&XP)yO`sFdAzp; tt,_[V.Hi^08kIKN[W \wju#m|c'n8oՄwr6Pɱd%{}48'\PPDO5p2/Y-r*շ'+sQ(y"4Cɂj774'IJ 67 : ]Թxk争m./Ĺ - ]65Mΰ ̋qrRr`~pvk6I7"o:EBQ|&3ה`ni!QBBiol s]2lFbh9$aRlHLԲ ޡA>RSDSjiDa露 ǫ +ZsV>b!b،e94gޣ hp&4K9hں4gχlD-mZhl+.PoЯs%~=l]mc 3s*>I(t ?z=$`ľEtG@ ӭBd7~yNXIˇ :i}%c UR:;4} #L<`_g\C530"3r66!v"+궍7:4'Dіn"%8hPuرϿAs5Uzzl Mh[\n0@RiL"gGIF89a! ,@ڋ޼H扦ʶLs L*̈ Jӳj+ %ޯl"+h!-Nt\Ů7(3h(hgX7IYiy *:JZjzj Ҩ h R%{;WW˂Y|VjWL<GK}}|+; N^mN?O,_x/@B $x0BA :t0D<+Z ` .B ay\EPZ#r' Pױz1ݩl!"eRL 69[D4'$KVX󦈦5\uU۫aJZmҮ}K"*ܹҽk^v5` ti81ZŌ6~r'[u93ʚ;{ Ф.P֦z ;ٴk*ԁ[728 Okݼ,ļcNOoI QE|ITPyHჯn' PR%`H`xU4 /́}GP[Xϴ j(v$V.َ>~7<5U+_DpJ|N>mu~bH9;٧/c_wLc\7^]qW^M韐ɭ!Sՙ6B/|RF`.[u=Ϫ ~Y9zN<㧥p^+争`&Q}12p8\}1ձ|%W^_zZARnGav:M4je;3=9_~G04t\7wmH} mܴ]@**_]n"xm]5Bfp`.`>}+8 nvkutg\{Kp,m|ZB{؜˜!tYc}0Όm<ۗgj争 +2C|jՍt5ruO q3Bx2jz!/,1iA0UK$, >I]<pz~!޷#;3u%#).fF>;,/`QJtL~Eƀ45 QvV86$O] \=@W1g{Lщ爇$[.a g] *DQiz4U@Z9E |Jx$盁I@e_oL7 7*争3rD1t~G(# Vs]]HEC*争"+$33V:xŗPq @sw?1i߯]E{_\ 4pxL_pB盁'=|3p0|3pXorYu=P/hmhD| 2 mVb&/KU !iC5~!RY$#h-gn6TyZUOx L ^b_g<` mAg_6r樺;hJs随'L VrDpƇN'P CB.E/<ݙ@[l qGuB~Җzg/ɹ#=KW;F@ n"LU'#MO n"\\7i3M M \wpM y/ @]m2s<58 v:23.8 =AZyj/zLJ,ov:?( `GyK!JrF9dKmVV!MBMj争$k\A <%y194+>xݙ$bdH;] ܒc=tڧil\KI*R@`s/H'JuA1pt_FI@< TPE9\Bf[Tbr$@7zF3 n"f> sŽibʝؙFc֋,5! _1hyG m/u*ԟ L_[I)a[ Ru#=I#>{K0+:KlB3an"pZWu8z%?QGjpool n"iƐ{?VW\7g<k争<5#lIXUu]|`^!M=5)W\7T"7ZrDPI{TTKY!\C)Rc0H"IrUwT MGpy\7$ \w)3|X#M;}Wk<|yS[923rD`G WuA 9WuA?W争<^0&YB͔qj&pRw+ o;.Ʒ;(nAY(p ֐߲4.*^ S"h66z+8^(ѷlf8ʬ[+'ۑ l%-B/I#X)`mIG(tGG0@҆sG2Beed/wG18D=l"i\?t (UIlRjF4 9+1&nSm(}ANh7'K >ڢcñ0]_,s&tS46ӂN#- EkYҳtSEq3PTHU>."4[ۍfjZWQF(",i/=h;1`EX$ܥ#R>H~U BF:Ci$}UbtH(uޔ `BYÚ:f5!z؋\|Q. J. V1RjrP(< &Qڒ4.;n-%Ev Using Registration Wizard

Using Registration Wizard

This chapter provides an overview of the registration wizard and describes how to:

  • Register a component or iScript

  • Register the component in multiple portals

  • Register a mobile page

Click to jump to top of pageClick to jump to parent topicUnderstanding the Registration Wizard

Once you have created your pages and assigned them to a component, you will need to register that component to display the transaction page in the browser. You can do this using the Registration Wizard. The wizard gathers information, then attaches the component to a menu, assigns a permission list to allow security access rights, and places a content reference entry in the portal registry, which displays the component to the user on the navigation menu.

Note. Before running the registration wizard, the menu definition, permission list, and folder must exist. The wizard does not create these definitions. Instead it matches existing definitions to one another and creates the content reference.

Click to jump to top of pageClick to jump to parent topicCommon Elements Used in This Chapter

content reference

A reference to a URL (Uniform Resource Locator) for a transaction page. Appears as a link in the navigation menu at runtime.

iScript

A specialized PeopleCode function that generates dynamic web content.

See Internet Script Classes (iScript).

permission list

A set of access rights to application objects, including processes and reports, weblib functions, and other elements.

See Working With Permission Lists.

portal registry

A tree structure in which content for a portal is organized, classified, and registered. A portal registry consists of folders, content references, and nodes.

Click to jump to top of pageClick to jump to parent topicRegistering A Component or iScript

In Application Designer, open the component definition you want to register. If you are creating a new component, make sure you save it before opening registration wizard. For iScripts, open the record definition that holds the iScript function. By convention, such records begin with the WEBLIB_ prefix.

You can access the registration wizard using any of the following methods:

Click the Register Component or Register iScript icon in the toolbar

Pop-up menu

Select Register Component from the pop-up menu after right clicking on the component.

Tools menu

Select Register Component...or Register iScript from the Tools menu.

Note. All settings in the Registration Wizard default to those referenced in the previous Wizard session.

The Create Content Reference screen of the Registration Wizard enables you to assign the component to a portal and assign a content reference name.

Target Content

Select this checkbox to register all forms of target content (excluding homepage).

Homepage Pagelet

Select to register a new homepage pagelet. The homepage template will be applied automatically.

Portal & Folder Name

Click the Select button to change the portal or folder name. Click the Open Selected button to launch a browser that will take you to the administration page to create a new folder if necessary. The default values are the last ones referenced by the Wizard.

Content Reference Name

The name is automatically generated, including the market code as the suffix.

Content Reference Label

This is the CREF hyperlink that the user sees as the registry entry.

Long Description

Enter the hover text for the CREF hyperlink.

Sequence Number

Enter a numeral to control the order the component appears in within the chosen folder.

Product

Enter the 2 character product code.

Template Name

Specify the template to be used from the drop-down menu.

If you specified that the target content should be accessed as a homepage pagelet, then this field will not be displayed, and the homepage template will be applied automatically.

Object Owner ID

This field is used to keep track of which application development groups own the object.

Node Name

Click Select to change the Node name, or click The “Open Selected” buttons throughout the Wizard will launch a browser and take you to that administration page, and you can view the properties of the node.

Always use default local node

Check to always override the selected node name with the specified default local node.

"Open" URI Base

Enter the URI that specifies for PeopleSoft Application Designer the location of your PIA site. This is for informational purposes only. It is used only for the “Open Selected” button and not stored to the database.

To register a component or iScript:

  1. Open the component or iScript you wish to register.

    You can also launch the Registration Wizard from the menu designer by right clicking on a menu item that points to a component.

  2. Open the registration wizard.

    Select Tools, Register in Portal or used the icon on the Toolbar.

    The Start screen of the registration wizard gives the option of adding the component to a menu, a portal registry, and/or a permission list. If this is a new component and the first time you are running the wizard, you should select all three options. If you have already run the Wizard on this particular component and just need to add it to an additional permission list or portal, deselect the other options.

    Add this component to a menu

    Select to add the component to a menu. You must create the menu definition first if it does not already exist. You specify the menu on the following screen of the Registration Wizard. If you do not select this option, you will need to add the component to the menu manually using the Menu designer.

    See Creating Custom Component Menus.

    Add this component to a portal registry

    Select if you want to create a content reference for the component and adds it to the portal registry you specify on the Create Content Reference screen of the Registration Wizard.

    Add this component to a permission list

    Select if you want to specify the permission list on the final screen of the Registration Wizard.

    If this is a new component or iScript and the first time you’ve run the Registration Wizard, you will most likely want all 3 options checked. If you are re-running the Wizard to simply add the component to an additional permission list or another portal, you would clear the other options.

    The wizard remembers the selection you made the last time you ran the wizard, and defaults those selections for you.

  3. Click Next.

    If you selected to add the component to a menu, the next screen, Add to Menu and Bar, opens.

  4. Use the Select button to find the Menu Name and the drop down list box to assign the Bar Name, then click Next.

    These names are not exposed to users, but are required for internal location purposes. Click the Open Selected... button to open the menu you selected in Application Designer. To view the menu definition without closing the Wizard, drag the Registration Wizard to the side.

  5. On the Create Content Reference screen, select Target Content or Homepage Pagelet.

    If the component is a standard transaction, register it as Target Content.

  6. Complete all fields in the Create Content Reference screen and click Next.

  7. Click the Select button to find your Menu Name, then use the drop-down to select the name that will display on the Bar.

    Menus are used as logical groupings to which you can apply security, PeopleSoft components are addressed by Menu Name (the URL includes the menu name). To add this component to a menu, specify the menu name and bar name.

    If you did not select the checkbox next to Add this component to a menu on the Prompt page, this page will display with the Menu name and the Select button only. You will then need to select the correct menu that already contains the component.

    If you are working with an iScript, you must select the iScript function to register.

  8. Click Next

  9. Check Target Content, if your component is a standard transaction and complete the appropriate fields.

    See the term table above for definitions of each field.

    If you did not select Add this Component to a Portal Registry in the Prompt page, this page will not display.

  10. Click Next.

  11. Select the appropriate Permission List, check all the actions you want to grant this component or iScript and enter the base URI.

    Use the Select button to look-up and select a permission list.

    If you did not select Add this Component to a Permission List, this page will not display.

  12. Click Next.

  13. Review the selections made so far. If you need to change anything, use the Back button to edit your entries.

    Check the options in the Add to project area to place your item into an active PeopleTools project. This is cumulative behavior – the more times you run the Wizard while the project is active, the more menus, registry structures and permission lists are added to that project.

  14. Click Finish to complete the registry process into the specified Portal.

    If you click Cancel all the entries you have made in the Wizard will be lost and no changes will be made.

See Also

Creating Menu Definitions

Working With Permission Lists

Click to jump to top of pageClick to jump to parent topicRegistering a Component in Multiple Portals

After you have used the Registration Wizard to register your new component into the Portal you may need to register the component in other portals also.

There are two ways to do this.

  • You can use the Portal Registration Wizard again. Select only the second option: Add this component to a portal registry. Then re-enter the Content Reference Label, Long Description, and Sequence Number (if not 1) to match the other portal’s entry.

  • You can just copy the component to other portals from portal Administration pages in the web client.

    See PeopleTools Internet Technology .

Click to jump to top of pageClick to jump to parent topicRegistering a Mobile Page

As with a component or iScript, you can also register a mobile page in the portal using the registration wizard, though the wizard is slightly different This wizard always assigns the mobile page to the MOBILE portal and does not require a node name.

To register a mobile page in the portal:

  1. Open the mobile page you want to register.

  2. Open the registration wizard.

    Use any one of three methods to do this: the Registration Wizard icon in the toolbar, from the Tools menu, or from the pop-up menu.

    The Register Mobile Page of the wizard opens.

  3. Set the Folder Name and Content Reference information.

  4. Assign the Sequence Number, Product, and Template Name.

  5. Select the Object Owner Id from the drop-down box.

  6. Select Next.

    The final screen of the wizard opens enabling you to verify the settings you have selected. The registration wizard will also add your registry entry to the current project. The Registry entry check box is selected by default.

  7. Review your settings in the output window and select Finish.

See Also

Using Mobile Pages


TPzz>ZrS]oRu:8q ܹ*|^r%";dmȽPJ/ HvVt[=p҂p=t,LA GAF64cbb/ƙOv8b:4q?/V-Q~7~>ZpU+ىɩ o6@DǎCOy2aMWe$$Y&I9+;S姜耈$.U B_28>H`t9T9͇V3U ^i>"'. Dl-!)%7gt]qv"4;dC^Rx6s+u0tI >%: v6rmj ]&Q[zcRrb{9sX祂Nh͒mٵʉ+quDZÜOޖ9 ^<(֪ӯ좯-$Q%\Bb2ja{(/Q-ZqTWn*:[ -Uʫ,^TQ}Z:j)8ju-DuWV "ՃN fb:ˠIL~w6SEvXj`ǡd'&[[´1Gj-HgEB[0ΫZTCMYJJv+8Ds+Be&n1Ыo2yK M&+P@Cgȷ V0;5ca-nʇ{PbT+A/1ܓ,JvC:=p? Uv<UPrkdŻ]Gd?Gsh#=.' )yì4(-ek30MMѲ1jk> ^cYGNBbbzhLIQaSŅ`"h4ǟ?eauTViOv$I~>H"YArx|マÂ`F͘Z^rky^ 2T91%&ju.)!GhnYr49nhY<\Pg-/jz>Xl:YRzܯɖ#Fnֻ〼sdIdmaam7jx} }j@oBRqY~b ;m+g`s3Z&jCEv.V1Xc%\UxaY*^rL9@F>gt?0'x;W?!ă(br2$Z$PACxiBK>!nxo![RgyJɓp9p@fN yfGb=ʚOM*E.<YJo9}׀7,?nCh Ոa( }% _@f S1ݎV}CCnSm.) G8&3)db') P͆p1/@$BO%:N|FIN%pS UG:Bn1A@ tG 4)Ɯ,To~ɡyMGifS#4?|?r/6_<f1 o6lPn;f30*sk7N#7pLQ1]N c鱔fc?rҍj-PH^>G`N # mo"IA4H~vnI/9m+᱁*caB[N:D _FAm3Of!['e}N9%DŽ/iy++F7|jC s12bu9\{. pƐ#|#̄kU>W۶|ܔ(Z<߻>Fr/*ú AA>Zn9Q]+}9ׇfk{CفD۠4 ulzzfq%(NRI\ڲgfzP:CшY\<,r͔|,)V?6iO$eA`5X20e"]LWr9 =~Aา]7d:e|Q4b2W_ 64Srsj'bN7kbJf GL]P:qΓ6 YᨃbF+U )1!=dDaDcS.©꺆(C&Ƃ"jޘBu 15t]./31xswB.̟oPz~'i "~Oa13@pS4/MQֆ p-mqFo`oqֲx?#X&SVsׁc[xf6bH97mE PЉ[^kdpIs F ׁ |ٮ +U=ݞl9ʯ>EfU؏8W`? #/sf&EN‹]&0H ~Fӕo0ABz5r>z0Z# ߟ \v֟~G\ ̍dr.f>&%&;%P)j.wEh) :qfOKe:uv N( jm ŤEfes{k!ں ϡ[>|En w[l{M ` ak)P.1Y{༼u1-jⵆb7,Q;1Ө/)sE a˜Œ1'DMߩO4/(oUjjok5{]sj~a=cWch#"|ޫ3 ߓؒxC,Icn D1ƧavJ3V8F)̵҇.VnQ$:f%D䰆5Cy N1=f-[0庻H ϞgO1X4ۆs($FjJl;j.-+x)aCEfG1aHn~ᓎk>D\2r=§sl΁ 1̞Lezl8iY ߯cT>ZQ״(Xul p71G=_+޼6tG,|fBV`Aؖ%VKBB4D$ڲ#)Usn1D+NHX |)3sNEQJ.X8[1g27곲 m5n"' 'm-Z5;]|CDG3>nvx ,5R` &|VlH,73Rvu RpSp׵)v[|Q +5RR@bM1Y_R\1TL&423#ɕwp@%×l )E"Tfb>j`MЎK+&C+11䚛a5fC٨3;5>tN)^4TktZ\xK>%':uaGSGu3E,* w'3:O^q#V%ӞѾN`/G[]okۀK6C x⸸?{6VL`f!4Qlȕz3߄a<\%X}>jһnL5u N ,:(㖜VF1W,.r 5~3s-vrwTJv {mmA b~aԶ:jkMH=A3 gt #v׆LjCreqhE fb]ݣoXt<~oUZZń}1czR'6SR 4ۑ NހȻ;SM*)|=JYr%&OP?9!y>;*(vPU2wJVG7X=1ڝ|1~aʲg@yۿviLH-!։(<#ٵfHٗ+ u:=]O=]쮜LN& H.r~)~7;/޴FGjoє5i =HvA{@1 C;LB ev6ǧ53R,HUg1jcd *'R(TW0L1k=< 3-ԃ;:000gdg.͔O.}$\Z1]+_0#|XL]0_. xs&t S s9+Ru8:ۍR-` 7hϤ"0rqŰ>%byow/\]feKc`ͺ6s.\@ t:gtWvӳ$C7pO Yʱ)+0Uʑ:䣀~t4."eu#綔.F!n{[c2}~ &@u:T8ܚwgZ]%22cm)*0=<X(}MSlYPuGXr{2àx#-bO)&;9'\f=ug4:_+I@XE[@qb-O:zणY0 )VO'!GBζ$֟:H/v5yd*u4ʵ!L=ܫ* -e $ϯW c 3=C|kDcr~"x+N#)h3͡X°%8t.RCr<ZT1P?ctk}ū# S9rcYF[FZђT.Ma.w/!olҧ>"TqGt'כ7LS-.bgzC~63,0,?f g嵭 YP5r+ "IuyL&)c\ˑRl8VL˴ !i| \ڸ[/] %'?U #dhC\#&bU ÁVMrCB^TKcz3-OixIh4ԋ+@;}C͸cKlƿZM7<.ǎDH^:lm= }¥ ǰSrz|ό))$=`*#vN;sSN$%\Σv?%^y)GIF89a! ,@ڋ޼H扦ʶLs L*̈ Jӳjګ;2N / K䨸wUc'B1طe38")9I *:JZjz +yv֔IdW;kp(x,W,[Wm݁(M[Y|Ξ6Mo?5_]G06:|Xĉ21#;zbȑQB<ɔ,[rX2L0gڼYN9w<ٳ14n A z^R?KB."TGPjC,] $i%KQo{T,ź6ġWZ2.|fUa_(X)ő7Vv,oe۲Ӽ$ϗ!36mthn dpgGM'~#տ ~g`H`BVW %^A'y`Q>NaZJ%vd0RaU%jZ~K l!&`c92?r2xIא5"eyF$I@ns`bIff-IG%q2%DKiviIxsŕ8{!*~6R6$~wꁩEZLYwM^Jg8%Nt+~kEJ3 vˆ,{>'Sc.^C[l5.Rޖr϶bj ~ lk' _p'JLz1g<+oq! Ȱo(2*<0$lsF8+."鹉FH'`YF-u$SP]uQ2'6O^bǥ>-֙s:b(/}{W#)Q2qTu.SZ/nj4^#/ucaDjR/>臹Î_c݂~;ҩžYok;^UUt1%W ̿╋d/mO~柏~*o8 ;7/$,'mϔ-ݓjښFMsrNEP(`0gA3㙌>lSӆמBr0\2XE3ry ZHH:֤oD,G*)ؖ%ڷ"&&B]Zs>u6oXa:꣸!0Q\yKu_e5ET CuwPTq {|eʝj~5"<1g>w9i<gRNv8Vd7p?ceEt^luÇ60QuJopQ8 L`.@ƶO҇x@ ֟V+b 7;V|Ɠo'}--.+\ ,\Ӳ8 (枑r87KIp?5_B,>q8CΛeͲN6Io9llnG+w8Lp t};켎Tvl!yAt'UI?R$Y0eYHzNV&nG_J##'ܦ,>} qWy3D2JvRtly׬KVj|F} |ưv3) K{jxp1;WGn$Abt\H-?񹿻w̵C}ѫ '<ӫ=_'g ck[NE1w惋&ٻWe_Ɉ, áa쯶[HQ8Y>FN$ ?c0qGʛx\S$6foHHމMσ\I8I40b\E.sU?bn1ߝaыO;.<+N5?cdaGojdX>FAN5T+4zpNa2ej ج@z-XΊp`\ -KR}CbSkjO{ݤE5Ծ/8UB)p/%7՚Qlujh礽^s5Yc@_N+0ip|OPw10>BO;E9LݍdkSH[e˦4kVz]IÕj #sJvt;ƟwWeA)SЅ2`.yl{ Lrc3o%n3!=ɛ3}$ rIR)R(FjEn10.fx'LIog`-}~1CF9F:L&?F@uK:c91h9Ω:SUƭ|N=^T &¤KN!6S6PD.x%#MQ`/r{ڱ 7}Щy?^:s4f~|)GOuìG 泟;0քk>Dw stK?khb|=8N(Onkuhm-r:suf'A 6{iAּM;OǮ>]4Dpw$d1xCo`b)Y/=\ULɼ+IGxR/X ],J.V>6+cB7)Uz{aG. tٸk[Fbi۳cA@KLہixPX@Zϛ[lx&s+ é 'ʅ4Aր|I3G+(#m瑂~3KpC{:o]Ҍy+c v`JO ?P?釄X/Ah\$!MJIʟn(\oy)[z<1Ly_h+rWP&~g)2کtR$A vt201#v ٌ?fs T4OhԮL5b]vb3@u1 ?󱌫X<\{Ϧ:&sZ 0Sn*@(Lヂ/.>^ HLeq Xڮ~ot!yW [,f^(eU|J_ O`0S4<|-1L鹎7Lۈ\<Ӌ(- %UbJѽXN[x3.tx,a˖㥈G'#ؒZ:\U)qKaomFU= L P[C*=" _Wp)s`T :B.voB H+= ,%cXTiҮ̏;HߞE9;x6nG5ׂ%$SGG/dI3J5 G4`2>|CNy`+`L<;hP{D!NoLtfDƁw`hGI@zr2΅xކ8ŚF4O6?P2LY;ZVQO]~U^F`~[=Ŧ)A ˬ;K3>0nrhiatUWMJA47!q3-;UV53Lj 3^f})3lnb#Iczwo+ࣟe ̥Χ?蔟-oI䜅two 5sى\jd7WG:I+tH2mW3:{؜W^Z\8_1SK`,r~" غ񯞭Ϝr|-AW~ҷЊ?|!|n07p??F"v~_e_58)ƘG5ECʆ%"S~3[#+&F><3ԏY4 TƗk$'awBhBVƈ,lb FqƭZΖoOg7/ P")_W2Ʊ644*5kW_d D]"_t{S.:g s(u |-*f9]em(W#Fj!Oaˠe&Kݔ턡dS5O bցbb*0qچۻ .O=Nݢ[Xh^-͕7iG00)K7 +B67'|o_ >ii'ƶ㴒OHrgo5\H8It;](ɏ sw0ye L!0#㾯ߊ7'S҅oJ0%V-1?`9/ _,!}SJ^)blftȂm3}N3?J1gL9  %_ Xvzq2m94ɝ/jW.ƊD˜ Inz.^҃W ]zG ʘUtramε)*://>XDκ*isWހ12BjR>٬2M@uh8ʲi ΛvCEN[]:hOъ:|Ѳ7(oKSgbN[??vs.jeٳP :vd?YZѧqՎ֯ ײ'fޚ+viU  ;D6 @I?q"i^͖9$!ey ټ. 1&w{kdWX!(-%Bi)K  ԄҮ1^>fNӁVcQNG탖;ak-<ӠaϏͱotϖiK\Yal . Hb, Ya7 /:Y v"Ob}=sȩ&0$ 4k,/Z@n˖TfY\ 3b4C?PΗxOaңp,{vG+xW"o܈ C^/X?!8o}|v';Ij~UzjÖsH^yu_k1ya`b}b|1aI:fHi]sy7({Sc"}0 =anr1CfStV |黯n1/4W5<{i:2U_䯦  1wZ~[7%DRs8,h_ aCHEҷNH'Rn,R9O_Է/P3ձ`woٯ + *ZB5-9$$N *q.Zz'b[5_s3.hBhub]ew~{YX/5j-8l\t%z q(rْ7w|bpјS(12{u7Cm]mŸ0%2wӏŸ]k !--hߓ$BMz `UzDXqsH!j?1-77jjqղ1i' zSU:O\LZQ7^LU(<ݩsrd;^Q :)d1?/)^%c6NBU`cЭ+fWWPGbG1i=o)YDS"ꍣ^DBJ7LV0~sFkidyN\@ӂ_1`XliT[bkmt|-ML. -^Yq,83p 9խL:d)شʭtw*Ԓ .rՎݯWnXZ~jC3}j(Zug̑ b~dGֈALf\6p;0 PuLC^NZē'vYq=!2{3kK;~6x|hF a%Ar%S4 >{`j n!-?0 鸲W;)X|؂MLwN^_1> d"v2=V. L[G"(CyDJٶd("K ɖ]}NH\B yfP[8z 7Dj{J| ֧ȫВu8{1%Ia?ͫϼW 7yef\uoEq̀ړXqokj{댥ޱDc:/ -;Ua4 #I]-Xn߹ԧ>-{nNɐDP1hK@*@f+ӉF$pH%Cd=#(s1GLJ9zd_#;\+w178y <),ן1nƦߌlr$T@ڰZJ "+4`K5b<1#ϿojuoG9}.xl)]Z%Of?gR ﭱ\__00w/ RMHVm>4l˙,dUVwA|QSCb?x{Јֲ,Qbʯ焪u; 2UP9.Nxuib 9r*؜Ratx,]?ta޴vbhGo "l~rSR3L(2ÅhiVcblzdLBQ~dw\0^Vgj_'=~D-}Cl>]8wGU~T\8-Uf ')$/z D.4Ȫ{E^~lӼ1goTB"紗00 { om½nN5N2kbK2Hels\HI&gڡl^ٯ,j8l|S"hX2?9lm)9=5ZA!FThfZɱyvD05.~(44?! ?\&~mY(M/8hf&D[|Y ᆵocm:Lk-{N@BbC= :_*fkY}rT< aVZi֊GIF89ao! ,oڋ޼Hʶ Lv  MNWL*̦ uԪjYǭ .Nlƴ ˻(8vGx)(IHYa) p)wTwH* [Jk l)L Z심,v+]MԜ]wC N=n>Y~>.".O _oq_p¶qn<0… :|1ĉ+Z1FGi4ghI5&Wft%2{U ͜¨&NT$Z2PT8ȔQ5Dp*Z{9mT*!HԮ5Bطl4A޻?P+o޿k"\%b78P\ #r2k>-*沀%A^ :5B֞m n4ImWM7Aޜ2Vz`N}N}𬽗0OA:WѫO?WSHu><%$'׃}`{&-ETޅ!!҈$rX܇ " &:"?(иM8Fb_;~ӏ|xE\F!$4Ւ@PT"E$RԕtVqxh': Vh%S)Zt(&)un6)Pnu̞l:q*7&[*_ʂj"Eج*m#gbZulud*n,ȳAQbJf--+25:ғٺϤ;Sdc{g*5¾u <,f073 cĜ[nņl $wޖ򣸶SlpOzױ 4ٳ.}͢ DtSK5 D ջJ]5Bk {M+מ xhS&vQk%o:7&խdxKr7{[wnA=fwsC]mחp|?. 6~` uc^m-"?XKcO s37?b e^j@p;z#RpIMRL!P/L!֧4 &O@Pxh +JY8F(-٤x!"5D3Q4,jq\0qd GB D&}?G)>t< ZŹ_G?Ne˱Hq Jb_4Hjny pwLjrz2YcHArhTr^)sԥ~&5"L6d{I(j`6N9߆+IJ|zB=YOrLJKYC}^@xJt3EDS%Ír[eH3TR0,&F[ i"449k2S1we31|a&a3 ;>x%^ACVK%k Zv$6U\Q|?A;0(LFk,W7aftҴ\0$LmmGf2&#U`⎊odZ\Lf:Sf)3V1H$mՏkntY$' ?iT`s*nrLRyY\w12rVeJZ™VW|%*8@B`s^MN1ǜ.Ww0X+LTPF s{ cia˕& %õ:gg &PT{1x)~47cʍiC}zy" tif# o.u|)d-Wf䘼+Q ݵБf 'b|Iouo޼p]V?Iit kN`#ZpFτWƈDr**i(ag\0?a41{ChYG삞Azfm #;{; {orz-M{۹nD'cFԚN*WaRB0rNo\K<=Aʃ My8U4!<eRpӎ5 g@2KrF9'Ϻ qa`/.6/d;#}$rmAdjb?qs+~f8d9?|b#erTs,jѝlbfg3=GQdB[{g8i˴kCvM_)辒W0# R>r)%s&;+ 3ҖPT$ ;-O( 3y|R!oi)zeZl/~&Z9'> -ZF!ZI\|uLO[$_a,H ?o4)8)U Ǻfۆ̰2 贙$"07ijg_fVb#pU6db&H"Q0>ZI,IK)`y~/浏 5rB-/^Ip 9u7 י\9=0øV #iϹ$U>iBAÂkj [Oa*c:Vj{Ji[+HvDiF"ܓ0mgh׿7&~fQu3\SpQ9Q-˅K*0w:+2F*@+2sWkM"Zڈ!|T"g*ZΒE`_s"r\J Ce):Ap[yb :\e iȋZTI*D{4 =;r]E&H22 [OYu,gCȈX"@"prhiQ0,z!vέtS`G.uC}1 % s o` ;;#%ݰɸ|ɸSs;1* 2qb(V63JP Z ʏ3 1'$z/#+OKhƭnl!B G-Z/S3939d{x]u:| ]peQh E(7 Jx4 Mkep$3Dˁi@N/cp[ ?״ڝctҋhSIĈ&zc+dUE5`9WﭫzX&+lhDv w@\}2C9nS#LCLxx/R&f=gvi FyP$5I҅Y5CI~adgj{^ؙc8PE fyZ ˖eS P5ND48c bdxK+w-w?;L~m#`3$Pvo g1m\ *ڎ^k(0q8s- =Y,fk3C@~8$[ Jc.knKp2_0Ӂi('*twv-DW cYwxͰc:&Q.E* /24xGײ#v Vy(}ZYG cN|b=l>^o +#6I=l}ieO'a:fv꘣L)oĽCpt ~tDqܴ<ϝJ9]diVrM?/)nEQSN ޙԛE?,ZV^po^=՝2s´:4',XPNz Yܟၛl|HV&IͪIXl`^1u&6xxu(t-azlav=l1lx?1gq%Uuuw &D;KqUL33g>@~>f;N,OdsY1Br‚6b:A~u~?󥬧K/D`m0i41Q:"F:T=bY a {~0 j}JOߔCֳ?\c/Wqx:H&~Fp%Xo[7og |ۓXK]ҩp?O57##7geGIF89a`v!!!)))111999BBBJJJRRR!,`v+H*\ȰÇ %P0)HȱǏ CIɓ(S\ɲ˗0Vс@1ɳϟ@ Jѐ3f<ʴӧPJJ5& TVIKٳhԸVʝKݻxNka L"'NuKLgϠC^y~+:3VݺM Uqo ?Ó~T̩:՜S}2 Hj7]͉,͋^?hŋ@EH=0i1G$[\E]`fXc6UPAi(II%Uk"Tw+(l[2ހq]@JE qE_AAL 礖`TfT-6ߗg iٍ;i'Jl ISWТGXIUNLDIV|)Jh5}(TWui"fu[Z*kSJ ^֫",K;BHm(Q`_Ueb_DeE6H][nT볂pk]v@xTf *o"ltath 'N9_Peh,g&l<**|̙\&/3=M !m0K3: A=5խl^bm4s׵ _6 e.mLm^lPRYnI:un%MxIXcUN>Mj`9%%轃=S Թ@IxNG=`o(`xiU@qStu 9yiRe$OB9oz0QCÙpߧ0) E*~t e?ڊ c‡0H ᓖ(t h u7ȯ$a]W@6>JՈ;*N[A$Ko0ea|3 cP%A:W!HG Axғd(pǠKL*WTJE%XIZ'C^!R(_ _L2w#rЌ-u JiZ$,kz$,: >w.44K*؏S( H'2Pn" J&@ܐb2 2Z 8Q-Q+(Ch0e(KD h2:T "&uG$0f+cSY*/L߂g<|^A×a!s&B)p l5zG֦(2[@W+0N~*{5Qw!if+`EWu2JiS֊*3n|̶N.8hd'2@fBY.9_V˝9BX*LkCbZf#Uء`: @ ۋꊽ{@4Vysnq0h5i!T$Q@键@hP|V-- /,]$-~/_Sz woIK,9pGWt Q㏴{-@N!QVP8BJ9JQvkɐA&hNVr16:V9BP2?.#&^_ 1Esl`6Asg:_i)3='~X<,>MD3:f>as58T.ipzПDcRgF5U͔P!s_=2Zeֶ6b Z zeVıH  i}29q=|bǑ%'析NwgUgۉ3="])_)RT,FH^\Uȿ\(ߡ'ުL|vp-%jID}[,c_zx2!lNF-W]-\uI'3XR CT|Z@4epc@9I4#ӯj9"fe@R?}42n$?=YC dwN_vϪ=;UTxJju2"H؄ yJHY%AYň't$VK p+lhxs*RV &=fNzI;w^wL-g7_RAАc' :;|Q ab|!pE2@g2|)¾.8~ w}*q=F(sD+NdX=8S^vI: 'kَаEVtā~=0 &V` Q8ܯ odҰŝwيTϗ'Q~W~;/_lG!bS gD$8%ndϚHj(p f8q_ڰ@9^ 5칋>/0>sR.&lw:ߥx1 (^4}!;4vlwYK*jf.aFύ$%Igi i h<@@}9au[6/@V [Fg;zh=-V9c@yՙKrA;[!JauVk͞"ky\n]TwPSuV `/PmjRɂ1E(Wu1<寧v7 989|x:똿N[]#|W̟nO2ڧϭ~iT}g{FAV9ԝy9񰣙>#؉bsWn/͔QU!ŧ>.D~~Hb2wIeP/ hL_SUCڽ}~sm@ ĈL>7!95Ai0'*E2ɎAS|hyj{{Aʞ}3oߧ4&/k5W'&߆.72YE^(QrIkU/һ+?M{z'3/1_7I@NVl4e6O>ËśQͶ\Bft;uU1yi5Rʁtœkl^Ɂ\ʡdxUa Ce *EVU ޶^׀|d`(C c(+=s5K1be8|E3׬t`fZ5iBʪ#Cu4 0"1+2P5+CDC׬࿻8Ϛ#竔4N2nƤ@;'׊L`ykRDd˂$"jG8s7,RTHr$Z0^1W$WqHŴy%_g ǑsE6~, ,*38F[\{d=MUd4+swaWehF?&)mB. V U<e? y=(_VHrJ&8v@'S\Ea4B;9-UM̺Z˭Tݑs28R'Hb0$Z6BG䟋!XIlxv{k;7^rZ݀ߏ}1Ta"kP}8#^D`Uĵ$xA/>/ؚ2^'y\E\[vUxWAYJxDZ}<ÕA|O4s$%0IRj:h9KZ5A*W9T7.TLGJV"!.U-19dG@3֕<_L0ar̦^<ܥhI_N0l_|1)p+?>r{JW\IJN̲E t6V34X!rR֦_`_ڋX=tn (G/ l@TB#Kzj zWsW~R̡4#wef†F!N Gz'Iꢸ*;Fj z{(?30pXCi4ƵLf^'R]^-&ߌq3gرM7qD;?/:rqpb ̢a&+!U ʽobE҂Pk\d5$Қ}K0۵X%;<9t^)D`'aִDI41 ʌ.R(c eT@o˵shM)OSDX0u$ I% =d"am%pS^,v>@.a4ɋ} :9Q-U<\60ʈNh jjaeS10CDfAhzCv#%o݋Xd;F6iR``Ib$ kς>aubx;G^|kO{U< pSS՗%=ڷ9KyV{:?;I>k]LϜي'qIBYXf qV(At_iЁw0$8WYF9yuSH G%FsdVr " a>fTEA^UYܫ[rJ R><4!Ag@mQqYýr R:&TՈ^X e i#}%cMbcnYʢފ؍|ƄJ39ӣ:ASh7/Z\czl8A[0xr/)q5ԲXD1brz/ab[ ; [!c RƙfЍVk5!W衬rrTe]-k}%l|j1=,V08RgF2a\_2)HN5dK[QHv$܆7Qge4'8p3y֙ulzF%'1ft+@:oN&[/v(y.bXIHu㬛Dpq9,$3V.<ƻYԸz8l !\Z3Ҥ?jٖOQ>Z$Yi %tBHZ'RS?r(9?\JCc5zQ,o1%_d5 ag`:'2kJRm8*"!jD"eXVLGB~cn2Ǖ;V !qEļSSE#F0/^/Q> ~ݍH:,+Iwpᠱ(ą,qAZ9$3di7!+b3~T*f!#1U=S:"zR[vΆ P~jyNxUƗ3~!P@jFXcSiNzuw: o{0ӓ5(1oos M_q`Hg߲ql"c2}a5T;2SY0+K+iGOO۴|-s նHG=v7v@|4SMuS}ӛqRGTo!j[y<\ҭL'}̹nJ3/arhfN"$rUUZF2x?Fژ_;0_Uob Ka(ņ.ICa<ԋ ' :v ^J.;!3Zw%幓s%V]OO;E沿)'PkjԡB$\e-i^1BSeA>-?!oy Ac};hWRDssY~NP=T)sOӣ {%REbɔTeNQ7yH%901[0 p"zS$h:qGyB&)=XZ+^˹/,}QGǹ]Ұ[ap\߳移y ?MQQFEr ;3l`ZL=n*kILB̂$e>O0,4ݑ0oLctMݱynўOd}X6WMK^ŏv*2aC,jJx"ƹ%YѲt$>ZQn'b ǿd7tW{W96Zŋ@//f`J#~[z, u߼p Ohk3E;{^6 ([WSjHUp*GobxHmBsowܛXrqy<,b2gCcP=WŬF.ol("ɭ _~<Fn[M;-0u< jqZ ڛn7燺1+:dUGIF87aDyyyqqqooommmiiiaaa___YYYWWWSSSQQQMMMIIIAAA===%%%~~~zzzxxxvvvrrrjjjdddVVVLLLFFF888222ſ4[d(hHutl\DP D\0--[,D??6!**BF==:?¸ŻϘޭ6݃߫6D*\ʞ YBLxGh)Tr "QRiG'SLĐEo9seˍ/8q%C~Jlw AHȎ8Ȕ" #mv1 9ڮDmӆOFZaX c Ƃd!š""OIF6 1ADhDX@u|' Q ?bϮ6FQV1Ed! O+"$lU!7$r6;dБOD,\J]a5$G_cᇑm[oǙa V8"Da<~"$4DT@)ĢQB+24?#7'r! Mp#p?A?T=OH  Q,D, Ch3Xo9'HDygt'y" Vϗ?`Ih{,I: ]2%NBZ2XqiA\-:! | | bu<"IC~HDVN@E?O C(_"`$n&>EW A}sx$`4a gp<@#"kN~PC0AbPI_G"'8!FuZ|4.d8)a#;wҸFn"cVb OyG4>e+Y^VRt %>+Bj4 qiuRNGxTR$Ĕ̢* Xҕ[E,| +oi]2 &19Ic/!0(df,)MPӚ g E%iJs쌧An⤓'V`hH0+ e¨Q?XJ= tH=N4f«@%O3"e})N/$g]#45Ld#}+^yVK5?< RB(;z}^':5`aHh,$:Bb2LkK!eaKY-WJ^hRڶ.56bH"ajBڠn\-a)T !"6rsK·I89:#㭮Id[&@=a{9 p8?;4$H wq6_z:KYqtA {uuvu2aٿΈoDP@`a aJVO7C;g@= C(C̰da>$G;G"L~}}O! ` A? * s0Ғ$E0Yǎd!^.r"[t6d61d }KK|D[y*:2%7JERF^HXQ8#-7@E8$x ]%*,؂.028WR3LUQ6 sRVDDMFQD@YUdQ =hhuqX 5ϐV%YVX YuKcH!apgP%&ZhX G[t(}&]@IR}E^Z\H^Qa_~k\\[3QGG0Hdѵ]^*;]18D.jP\ `/P `&6c0qٱc! 0iUVbH``RQ>2q8i0p'?ɑ!8 ٸ7FD "p Q aRaa@9`}6fPfrR:b*"?2 sg6h %Tb%%Z%~&&$Z&^c16 "S0 ;py”i2PIQ}ߧ$"Fbem"K?(ph%zQg"""=w n$_yfwF&sITsϲlٲ- YvnjPPVs[0^SlQ 4V`p)Tk,)s%sk)B209.Y 6v2 23 B031im:pF6ӕk@F qm2:C/ع0X`S6=’rw4Qqp55 73f#*iSsr9 0*!R6!J!/. pfP:B\bw6!j.yBqmp#6c0;3Ic4VS5i1HqF,C vJ :֓:X0`;CtQ;sCsgvvv&c$.CLi&4(@T7**@Z(T,r:s9g6_g*Zvm9sn9 ;=?'0K7tpszdyB/{y:{ŗ?Ǘ|4` `B:,y;!"p/i< 0 Aպw+ah$@DdC7BsI{0tfCyb: ~ԧIF$G~H}d|6,2)8[{ } B({Ke0 ߻ ˽93ϰpBD>UKRIe  |𻺘 ^hKT .,4\9 + | 8x†ц#%\+ )lW2SRXQJ]%x1 g(%T U\/ -P-aWZQ)l[+fMb\s [u|X [ *b q*$c) 'dC6!h(HJ_8_*` e8"dgWr# `ɾɸd<#ƒ-p$bΨ ː Ur%pJ&qyfY&" uR&̧PepeY6\Vpg5h' &Ώ:,Ώf"o% %- 6fR(,\nЙY +j\j!fVFiӃjk#%7k-#l%mj @q-@( qA0KОz3mHnTM1j?0q(ܩש/3Zk2d%q}_, Lm Y],HJ$'G Wsqf7 :_rZX'px-,7Р;R* lV(jg:&}/ ]w,r>ING4cl7HO-J|:G~=K^nAkGD[7o˖ia.c`޳g++ p$:А ;{ 9< uKK`P{P58K$dp?d};M*nJn >QK[.N 괎n뵞0댮y^ !eMʮ)@g k쌒0 pP>8.>Xz~Kޏ ^Ў ˾P+i;(w qpe`8[Q/O QV(щ9"{l.…^AGD?x_wQnē +,\W 5ߋiIH<_;CQ̈l(E?Y|8` Ȉ_˗,ea/Ќ˰Q@ ri`fϑr/ %̙k=bJ& _Гˣ ( !2lh:flq9g Mdhg~b f:B=Yg]vi?o m -,f':lz4!TfeXi ,`mzFҗ1]r/*c):m\BM,pGn*gFc#x0$"# c4` 8!1 )X ár1j:J9|L ,|PPa z}*8YLn^]K p^{.z.\BA޹B'$RjVtܵD#3EG&^q?4r2Iv qD?,z;JM[YFk$v+ΨS xQXlC2@YB2ThGД)N#kF˻B! =>I!i:.M%IvsqkX^<@D;x@c߂T :>CG*R nF 4D&NG6`~牅?xhJ= R  ~"b8aN8D:#.> N=|b tBMtFtJ/tN? uROMuB \WgI;;C]:H`DgI'D]\ w#M@}wAgu ']M8//xϗgn p 23rBk}p9B+(w:)Ί0B#T[CЬ,W I~|`z|Q1ҏn K購 +2&+0&ǧx]x;pׅ@a"$ž 8萃bowK`<_΁` D: JI  $l" (`@*?id Ha_8a! >@:`x*D_|\}8@|. a^ B 1,h ̈ƀ1gL#P$%uBI#ט}I0Q- BRr rg(d) HLYdQLfIJsTrb(0tX-`y=eOA&T&IPB 00'ki[| KKg>c<8TT3&Čv6ÊF4)c)BkXV͜ӔSQAu7*%+݅=: 9Qǥ ݩRh$(IBwY )"fT[fum& հm"TBEVts,5kqtS>c2f V t/ULehjWva%+ZJ{AKլū]@Z.es5ֹ0;BEDOliƝ&% CP0`op+B<a0?20dq`,2Lh8]`f3#Ln (Kh;>#p~PSekaNiY 1$<Ιv^qϒ"PDu(_W5n-g Xf3LZw8G2g~ʣ;`g[ Xp ^35HUD q zAi1e͙g{̣K:;|N5ų𽓿ӕ Cv[->t\.8jm~>HR#Վ -YzIg<~?z0Av;,nP*18C~[S~k5zKk&yZOz Emܝ#*}㋷d EfmO߿42MQj׏sjkJ>smE}ʏsŦ~ufQWܩj-bf.!`.?ZtZWĦ)͈@D{ UʏlbȥH^3v`#Ս`Y!LyjfýFۦff}*:%Ti .zaP D!f&n}3n>%@ o9KKȖ@p? aU`#kkIr$ ofZM08'oҥjd'5 mQ*wCߺiCF/l?gsР wF4FF4 Xx5 $kJ!c Ko2sf ##9t*sôtYM:Xq:?E&!5>%!ۨS I%oT8XX fr!Mg=?oK>g>BhZ;نpb\m? j3N#0+WGv1$FjeJ(EP8߰Yq [s73~eHOFz0Bz!D/AՉ d7_rGdSTi%d' Kv^ @'"i]F? N,]`!]`~ؓX8 {A7 vb螞L#~/ >QAq)8'_)>r֏2rS9uQKDŅ27iu0Yμk_Ͼ8ֆF"GKdԅR|=,S9}dMsk%zCD$yGd+/a1ZxP}ˠŶG^7>i٣(yQ虉Czg}%i>SÈΛd"?UX ~^<2OzlH; A~l<~9d35uv·d#amSItPqXs zv~0CT'Erd rt$AwZwauuHsz-%K-YsqN'q@4$MmKd -StoFdS$W ٤WP|-)-C3搶֤L$5{/Km0vݏ.KMVZE4?NxUhCp[]!!em>ZWғ2@y2iK 2\+JR:mxt7϶*ށ};^"gx 90gBu*‰tCu\:$ma@SeQG$?Զ+G@b5i%~z؛hGw`u ms0/-50 k07&d#Ig蕢$Jϊ@Y,gڅXGjIcd@f$ 򑼮G[uG#>2@Ց4N5Tlbfb.;lD c!\S2gOJE*!F2(dQ ADtk`tn-fNJW!^8G;d:-99ߠ Kk;B )aYR>vbA\ :ce9ѿsN5ԥX- E)ӎ|-"b]1>t%0wΤ9sN!ܛc0oikjaq3F~\iXӈc2JXQ#Ҁ flmVy'$} Q$xjcV6ڵZ"ycS0TY;b{V5 ;)>5u4u'N4<h'g늎i#$Cu1C3jwa#p(i! a8干WsHl~]M{wVbSjmwe'Z.M-|96'u9x ݉ ̆lg;Di`JT8 \gNJ0?S)G.ae h}DLucx(>Twk ?ns ̦p d\FuXVO0$lW+xSu9jgYS]-_"blQB6'aMa.Z1. F5S{fd*""=U,_I MI<6ԭ Mz@ vl,kBP .SPKoOiaòV(nLi4#YR\ϻxXr"%p>;\2FY!k\[\9Efm`T⊈<ֱ:=]j^p_x鷋i;TzCt@i?Vgs{5f`hz˼L4Al;DxwY-N+6jӲ+iV-ITcW{Xŋg*+Uo3Q Qb"#->NʟVohvTcf-ZI嚒lZn/~/S|S Q<)rR*Hz Ǧ2NXߪ*$E$Ǧf͆}..c"YAߡ֋('o[xK^ ^\Y{ bӑ'Fyq4Mum7 3/:衠렇 렀-EnI9n1s2(iM; y<m0\6(f9So!նmo^RtV&ne,$ȝ+)(b^;oRM7J6M FQ[rXev}`Tu\U㯋8Կe`jShc 1!ѽ)YRg[G^4˂-J_b9wl](Ě`njB E|[Js4ɰrBJ"ٚ,*19j9ͰԲTj\LjiVgnÅџ>4[a)R;};xpWaRQjЖTq"w;b=x~#ʞc^lez Ȭ 3~칆*Y,WĞl<{tF$gdLnɅuI3H_<K87yLVqY9%D_ZEc4< #&&696 lZ@㻲k֑\ˑhX^$EF)Q،SHdwLLA2]ͤ#m4 *Z>!Vu̶3rzY6%?K;Y7yC!I#0t91~ȑi63OgUw"%>{@i>s?_i k<}snXNTu sp'V=B[^'le?Q?}vGb&0G+:J๾VK/0da缚ӳaheT]L`#M\ʎ@uKɘPAh]yJ9f9C봾PAgbGr1O<^,8Ύ1W$ HHDa1bB,$LaFx2}D3\d >i.eS|+DXEg:qXew QC@6 ܈:/MN J'2* ,{k-1QǏ?pM?P>b9#+Zyq"&1XpH0x\>'Ψu!Ы!PLtKx+=;I]=9/[_(@x٢1%$#z'_*e ŦyNeiwv!f#?(An!PzVBv#0@ʯwbw xH#u;W/_IqidpR֑`_+Hp%4&O[@K}&ԣHS}ľ-Ug9 ]}'ds`uVfKHn#WGQ++)r3è)zo5. z)Z/ݔVyRBZ8A/!ܶ;k\taJ';[+E\΂f*pY+@dAYU׿/籱s5Sc5sg4w>cV{Þ)-MHPy"aDKeD-]?5}"Q5oq%2(=-鶤]twq&pq.Kg),EpJʧv{S6}$~G^ ҧ{#[Y7޿u%ap;(I0 E#CH1x:mbXeϚ$0G[ΫϏ)iz*'(i 2jQysZz=?s,٨׳㾞Mm9۾GqⲒwQ\P4'evFa.;[ݙF_dwrdwXv;Y쎗5vwɌCEƇmظi x~FF4bqeD9"b4W5rxuy;@Cz\ԛ9P:$y_t¢&b`gtus_!;+89;z Sd nLfȎLls+aW*AdoCջ6H{uD=sV.#IIn@+!+bIS؀Dw6!.tJ4- @D+:pr eݒmfh].4A[ Kmjd5ZqmpKG"~/8^Vu(l׹\iघ"gG B3I$)5S0Jb賦)0X~N~E,I/bvEtn˜s!h]ZSObv?w3ͺ JTW*9W|wW*M T/R*ޙ4}.\M0`J3Ac)4$Ҙ%;$d[|,ARR%PJcC)MlJiVP/hH4vv$;H [:ҿF f9 áz+41#)v(bp(z̑d۵"gW{$Gn a*}k6n|w RH6IvA)$SinH݊I5i@#(a[H E8 @[%ZBM1.$I2^%# 8VrV !C?|]bXywe$!$MuJJd<ObyY4]#W1HRlClO%"eF"^dCʔo\Ͻ84%=\n{@ǭ=*!+igw>79ig(:N|'b8.ٿ~y΍nXnt=e >27 n.'§ x9R*Ϋ2pB;;R:RYpV>A/ IBaG4#u]CZ}ED;!~ })qvLncd%Nދ耘B xB iPNd0vYJ@xcKtKj~7wIacSB299Fڃ;1sSmDU(/@Q p|RDe&J|w|Hv+OTӎOT/ Rx PJXRl(-߮ F5[~HzF(HCM;h"O_5ະ W\uA,k 9"ь4+fs)l8 Eg3Ra&cUg EТ >@ ֌D;!Gl}/bp HP Gr8H!v. @[j;#W&1k#d+P,w$BuMz1qi SD(C(C4")Q#/+!Nxj* ~0B qϑ̜싕pb e-sb`9(45 k t]< ]eI h=UydcDO]xQ Q*mI&ݨ#D ܩ<:i~a*I}N1|=Lj޿)b@c9M']=|h)r(St昏5zSLg{YD/SL4Ejgz <|LX=k\gs5YR5DöY7}\1{-SG#/ޥH}%"zr=ұs3Cu舙!fȦʿb"3U5Ni56W|V2fvHb0MF@29V "!R2]tk[O+rXb7+VOI"X%w ''r!09VaeWkOQPC2DwO2ޚ|BmBɡsoKG[{&fے0J*$kׄ ƌܓNO&yMLuzJF&}|7@y7hwIݤo&}cpH)#ИMj<ś{7ux]XnJdx'U:=󞪞a)7Fo|mR=% ,0sdwr3<5xfxl6o'|ld)j+U)) S2\:{#n,twRJ?8sku":UbBE3JD3BV %DuL}<4 %DO(w(ĪFW= RƠK;,ħRgt4i)6j$&>pTQc( 3PIe(;;<ŒUZoUK_es+fBx)&bt7ױWWp\|\G&el% UWHp#qOg7.7MpQ ٬8@3No~[Aʞ z ,&a`о\|BsGz<ܕy)b\Kg]=/eW]Z^ϮxRW&xOK7Y(JiDuZqI:IB-Jr$uQ#@9,eRYj7f o 6 } #YAOin<ւޯ.b1qփ{kӀz7u4="ٛ~2XԦ V~d"l7v-%*=''qOU)"WK~Fm6ȳ_*r+#%XxN9'x˙8=l \XH怏 9`!s@9`asB\“bS= lLĘԑW#!x673K$5QA^ߨyB1$ %nB1TWv7K34+P ֗G F|[֧Q nt>ytFZ|@SYF+2:]9/wP|T`(>PPF764ᓾ/ÞfCr/q|c7I$ZEk= Cs5afras'<=>z}(0af0z}vM?vcd{{Kt ?{؍(v#XG ZO2n;E=!~w73AѾUI~Oަgr2ܯߜwᯆC1X?>(8ueRG}dv1+Q_TbESFu)hE!J#AF ha@0'9s]1& f=#Go)8K+yXy7tHoYGzâ œ <҃ed8d  Ǩ'yay8oq^!y2N[FuVfTgx׌}j =";ё]^M͓)D}E% iıq ЦQr1M ZcBFA#4W0BN$[j^u<PMA! m'=$Z8㎯-kqCE }=D[=D[xE OXdtѶG1Fۯoh馟iۊ7J3QѦ#7H;ݐC2~dǺܐ6dG7|tHeԷH%w0Dt' 'P עFNUVh!fU="k!-|V|=DkdzF1Ѻ7D91 cg8VУ)FA1jsѷhKlVcyNcM8 sftZN!qs==k/{-q]#GJ'u*2!+B7QöL6Ys'wIN6;nCUJ7bc4>-`;`y Sah bfj@!h@:L {{vڡL4 )zXPyg']-@p = 8B63XȆ8̀m)M2bpgH1 ɓݴDVMrx/'lMuBu&QvCAMFlê[7btp=`ꄳ#fx1we̶cXtyǸf7vLʥO~?),R)z_PxLu{x?HD>Y}qC<GdŷU}xq}8 zMxq.q 6ʷEbfX;?C:8 |'24A? S-? yܓ~'cP$|OǸ~=>RQPʒNjk'v=eӓg!uZ$Xe>8\aL*sPS7A2,/fCyF^iv[d;U>[6$عDž1GS'6B;Xܓt57n~vtVs+1ʂ#w ],'4?o]sX4m.n1'F!.vx7e&"AL!%,j؆a"w?,!h-aVWJ7đ}@[LOKo|Ež[now2n emY|<:Vp QȠ| =M^o?."ƴ r8Y9 `޿="T 2 r;}S; I9;V|w_q<z[  r_LSˉ)}__߾(z@Qǯ/_o~}/ǥ ~#.-HUD,YEaYt$ͪK,Us$jSB䰖Y]0F,-_m$BF,F-tXF,;]YgHfH%XaG,8~^{IH>5e#y֑?ґ4mkI:Fd#iN^Y% ײ4KҵH%8I#IY#iFf2MF,9fUq9s|d#iz#yunXFҬHZ'Pe9DV<HX|R"]B@|'W,eR82B+:E.^d3vY/޿=3vB_+ֶdÂ:G E¿?rWPs?-\.PvUq~>灆X! e:U;RPN/W7**]mw\_!U,{N>9ß?~ſWU@<og|[a> XxWxVɰ?ۇXg6O[4[vR'^I|zG*[cX|(MWohGb3>aYlT>ݾ+GsuO) RS\(GlQtȊs5r'q$ςOR#iZצH}eMì Yꌳl$BኳOTIo#ɬDQ╾o0?qY0;k#yd#i|gHuĝ7:fmPfHFq$n=;ő߿jAvP+s@o?y5E?(!oG@v YI)̲4k<:̲'UsnFz˘U!6塏R(i1X +bL+׈4?6im<JTT5"W0OMڔ4hRcJ9+_Lru ` RF\&t*lN)IWj~65\(I֜7Eq⍭TJQU#mw州e5H@ ,O[C(f]XK{tdCHPtal;fXܤ^)|VsF 2`yc@FٹBQFQ?VoWj7]WXЇMD#k]Y>yu0rhs$uXvUf9b!8ǭcLopQi1-(6Y𡎧$!bV))CCrɁcCrL9!933` ӂg?$XƸCrl@I8JIHW:$c\t?$cE_?$?PGP 듎 q}:"'H0V׊gg3r 8uK;xF(<#'qxFJr3ovHi!9X2ˌ$Rb$"zFπ~'K:%}+OIG\쩊Sr.%)-;) 4=yJW6+Y;%!8%iYpJdo)9\LɹcrnecMq9&~ɫ3q19{eȎ$ F<%nW(ʗS#9%!22qBG񧜒SrJJOIPK<$1C#* !kISr=S#}S#\<#1 ?$1"a\f:$Z<&1 ?Ȏ$SrтOIOIH<$Fk򔔑OIpH.b&~HHdcxH.!)<$a endstream endobj 214 0 obj << /Type /ObjStm /Filter /FlateDecode /First 940 /Length 3373 /N 100 >> stream xZms8>B %*,a ,,,E9ċg<؞i8dV]MYRtf// /ZxBk fJ4blIͼH>˳<TPp#zajY禱]̸ȶS;""NTԘ|qr[yUﬣ}&~SuOiןv?ag=:Gmil$xZpH=;ڪ弣Yklq;:=3F~`ͽa)#:xL݇Gtv:-8ؖfҵ\'#-eCy5et|86sVVTcjʬ9/j?WQ&ʼn8Ɯ`JU!i4ij3 NZڢmڡ]ڣ}zL?~~zN :~tTgG=vEur>U6,v^FGӘ1}f4jj%g:3bW0ݪ{%.#I4/ٸ<'{,lGLL?&eUl)ו/k>3xi3N߬7hR@=hLf>f㌳w&;eʍ92=i-`%$G̅^ͽ' WK$6A De 㚔攬-i5,sTcz֜T]s3||Y-[G3cfl A[{ƨyءcAcwYZ@Rf#-a^tU0ϰ㣲y1J^wY;u137οqߡ|GM?wYw*i˲p!9>X|Ћ[V?g~v.g+4n4NihDhՋVNtDNt9]0x t]p96BH Wwf8q0߲mko|wn,`<) ْaEV,~o] Bg9 4CdXEa悲g}XlO]SٚX.Nd[HE.f<1⤀bSCg[}Fy,tmoor9YX2M=s5Y腰W ׊i/^wZu#pYWqq4]N֊VjH9.﯒K"/ b7bD0Z_/ {!^ ݄¶Bؖ|`\)/8Gz #8F i(^tpRNVsu/~Slj+ slg~ WP.ץ`^+{k /&.C~2Xc*?4 ^V|u21/U&*raL*TLŴ+Pl鶥-H+ d]!a~UH ݲ^H8=|&|Aut?Ĵ(zBcYI[A\zv1R>w}b/JؖRk!;Zk[9g{~SUyyL< k63k^fIm[\B H?nHd~feo|y( ͫ-~_҉51]wI$!4LYaI.{|W 8\Eii_"UlF ls02?s'En^> stream H*2TT2P0P04Tp<P0KP(mke`ei rA 1e !2@N0W @|c endstream endobj 358 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 92 /Matrix [ 0.75 0 0 0.75 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 96 /YStep 4 >> stream H$1 0C"G+PtP7! ΍0JONpf䌜 +hU/~VePL# `: endstream endobj 359 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.5 0 0 0.5 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 96 /YStep 16 >> stream H$1 0C"G( 88Jt!NgQ:fY \+**Dls'Ƽ.>ϣ endstream endobj 360 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 63 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS` endstream endobj 361 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kQ" r endstream endobj 362 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(ke R @js X endstream endobj 363 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 68 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r = endstream endobj 364 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 139 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HD0 DwL6Q|CPuk+$ص"x+%VZ.jdx({]]|J:՘JgJD#=k鉏Z75Șx=osٓG` X1} endstream endobj 365 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 108 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65PRFFz&,deng5,b$@`9H6 &, ` @ endstream endobj 366 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r \C dN.L…5j6X`7 endstream endobj 367 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 164 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H\10 Ewip^u`@l0(,\;vڡV;HF'TU>UƵ5=ƓIm&fZF߅OٌŸ`i;](!jKݐT{,;8O=||#FF endstream endobj 368 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 226 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H郞 d}e endstream endobj 369 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS!" ~0W @ٗ endstream endobj 370 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 114 /Matrix [ 0.15 0 0 0.15 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 80 /YStep 80 >> stream H4= 0 !- 88J+M3}Ir8A ރ܊bX7Ʈ32٠~y[}%o=XK@3M 0o" endstream endobj 371 0 obj << /Type /Pattern /BBox [ 0 0 60 60 ] /Filter /FlateDecode /Length 218 /Matrix [ 0.102 0 0 0.102 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 60 /YStep 60 >> stream H<10 Ew'@cw@b@ 0(,\ǮZՑ…';퍽\ǵ/7oJ~gމzur!A]{}SpdKI ւ3)X)fEM *uI#``GIcgi$XM3<<> stream H*2TT2P0P04Tp<P0KD(kejD XBH*d.CC=# * V r@PH5DH4 lB0W @hU endstream endobj 373 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 382 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkVS` B endstream endobj 374 0 obj << /Type /Pattern GIF89a\! ,\ڋ޼&扦ʶ ~4) 2n8ML*̦c ħj' 䲰 QiEȲ7'x8d8)iGhXt9VI 6YJzJjj{K;j)W똋, K;SkpcܓiPlTkc-dg(ZfMM,.TZ3gpJmpwr$+tgD=҃.0ە63jn-Ƿk{`WI'SWqa/x}va}U-x W /Zv5޽%и=rŖ/TC~:As3eWob  y`7(.P:85JUp38Ҩg>A4f+Q@,Os aء kh XC p\,dw:h0Q!5Վ]{!S^(+&hdaX79hlVc80kq5=olhW./?9QO+3FEq{}t!mm{MbLlĉ9"r`"7H5r*˘\J[5=r0(ql(;Z8jܻ`&}[դ>u5zn0 Xa'!af\Xf+َL܈c03 83tL3N^1oާ2W< ~Z'n=,o(9|J">jGBJ+س~Ρ 3Lҵ]ЕJa?V L2Ⱖ*zT4c`1K4*v6?mIu8*1[x=Hii5{Md}fKr4B7b։C7tqb'-rmfvM9l=;O$ o!jEûbޡwhEMp>6}W<doi߼OXg%O&`Q@,=Sr냩E_*Y:M.O(Y`L'L;FΈ(VV^ɀXU!IR،M+6Pv gk%5iiYaٕMrǿh Jjc@-Ogf@8>)ʆGܕ!~^!g *SF#z v*s[K:J a1FG&Θϰ q^g{P6 xjbNwfbfK~[WSPB[ V͡S: [C}*<\e9ID"б#4O7 22mMuM u+CyGR-w F[ Rޫ WἯ^r<cimו{fޥ;i>zujbU=LxfDʎt%Ol^S7?dߜ9SU8eUAUS,})'u;?8t(9Wh>9I@ r_ 0| >O<ɥC nnz$s-D\O7S֞'ZI:* Ŧ/gDb'Z3C 7߽jPYKT{GCQ׎=};m@7%P/W՗,YIoҖ_\\[`gߛLxjj'sO@1Sw ΔMve.#ݤR"ur'K2F&%֍%>Ud-Sq?F'yW7T a.\hIļ,OS!5o~ >vcAJH, tz' q,llOܹzog4U L|1#JIw8=: d=u裗:׎^v-Q8>5M/.<0D!N+`,(]sm~O1fn&I|H*L`mO/?q Tmfwn*|?ͨ)TW"(~UwON,ZS/C7}B5z_ؾ> /Font << /F1 412 0 R /F10 421 0 R /F11 422 0 R /F12 423 0 R /F13 424 0 R /F14 425 0 R /F2 413 0 R /F3 414 0 R /F4 415 0 R /F5 416 0 R /F6 417 0 R /F7 418 0 R /F8 419 0 R /F9 420 0 R >> /Pattern << /P01 427 0 R /P02 428 0 R /P03 429 0 R /P04 430 0 R /P05 431 0 R /P06 432 0 R /P07 433 0 R /P08 434 0 R /P09 435 0 R /P10 436 0 R /P11 437 0 R /P12 438 0 R /P13 439 0 R /P14 440 0 R /P15 441 0 R /P16 442 0 R /P17 GIF87aEh̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,E H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sΌ=OTz"S*6(U*IS!VZ(X12G=Zڡkre֫Gn͂Ī"ޥoD<v*80YԻॗ2lyn9wn+rlnIGֈjc%luֶsNlo +)LP~2Kc$x.h.zzajGaHSR1f$F(&(IaWm6IaIQ.O V%=FhfbR>|fd&IUW)yKc%߷󁧟m>Ta$d?'F`2}{ 0Q*!̔J ƽo~xRI{Rظy˸2r9>1('v(kS^nÞy}+d}ǥy@{_xbmBoj2tt%taФ>Mh$4UL& 5\Mp?'"CD`h Cs{LL*Paoz.;w.P КLԥz'fM&Cǘ\ Aa L3¤0.ìR'r K;161ao5 31Tyh31qDIXaİ sJc]:1x;΄Xb&BOY*݉CK+P+bM%MHNTbkB`_ M$5vwT$/T}İq Ha5^cuqɣ5q:)loYw`;d,q\OLkF ˘45 WRkyEm$h!O'eՑfH`EL41l߂SBՈA;:ĨЬĨYJ8M0'0#'L!giT8(xdGXG #%Ypi+.'`B%T:*tQ QrYK!&H%2̲R9$ BIaPY!/TRkTR#, ބP(0?Qҏ_OJYcH+VJjE8JBIM2=/Wc(l47Ҝ&A)G~D/jWRPXRkT -@g.pd1 ZRU`b 0D J78 +1e4גh79Á}` ' =ˡىIi 6 h"9 chU9C;r*Kӓ:xk">"ԩ\A,BzтZDzKF@!PLPi'L+ʸWvaUl"1VE++*$PB:@T* iXCG卵NS8,(ՌTjF%:?ٔsJas#&)M)G_@Rv5>ѧh^3?QzoKs>P9; (ڜ%DkI1l̔yP"p>[ _%g@OAg}zBkyl'ЃLxB 09?I'&1q%\OL/!2i6pJg.VHM>БoA7p@W Plz i0^E! 7o0C;HM.I5kd~Rk`Zo809;#RBU!'K<)LO sDOҞ#"xa"'gpE$OH$HO8IX>(<=/~C;6ӜX9ʿ1 ;G~ƀ>j‰EKC+(.4M 6&xZzIŧT99tM٦g2]p5tFex%UhXc2l2&22*AZ4&KyC5 I =1(ކH%a~q)h6HMjдq/@Q=x.6*P1LL31'ʷAP 3āG|ir}7ni+ڤhg}L^pV@v> a=-oNECa8J\QloB[21Y1IОk-q>8N AI&*Ĥ}f LڇvX4<"X?P1i\MQ=zI)‡뙄#֧7DA.LƧ${x;$L L&4;"ܻ+TV1aC7 ćߛMhЏb&t Ű 5С0(t(Z&*R ϷL((7L(eO"&* 6A)MT(62f' ${AAyG= UL\7  !z%V3!tbMH^ ѵ !FPo(4T&:ėeˆpZLgnz&z#O[ _`(GhiEAZs+"gUͮLUQ DT#T?Z4)ZQ :A,>Q=Y,QjVxZtԂj❑p 2;Y-XwXj&ի**4 &Ggb܈(͍b؄1-zF 额!+e,+]DOp1`]nۋ1~ -~r͔w dvzKtXDКۑI^SdNv'zN^'$ _X;YŰGU K\ȣ^)?m_L5}EEs/. ƄacF7Ηq~qȷwqOz˷oX rv,/dˠG^{q_7 m&.=b0u,o 5J0z=pT*7QG+?ٺ:}lCօεz\Dҙ"thƢhtTX|5'bZ,Y0LʥDť0QopxzM޸F5z7xƙykU$]p4p0Z!u߄#? +NOr)L\ &v$uc-4fHkkN[o0],O&MI|\jE$\jgN2[O9e= 81YFSyKE<ɣ\ģʚGYH 33.[XYkH]@4ڗBhmJ"dj. uR)d֓*ڍJ[]37C="zw4wiR)6&gܮU?}MTL͒ErGr+(+L/ Kapj^a'3Q?*G_$p.@0kL,^O踔7t,ZrUH*լ]O jLe*1"|1OlUP"yCpZeJ32ZGcfTz%&rP{r3?kcS~ٮWm**XE}5)}p a6 Jah}p85 =R-RԺ84-רRMJ šIuƋq%X{G1-}px55&V8R03ӆZ? ?DbcڠV#UWKĊoL:R ɊFbT4P'R02ei1^.b"ȣp#EXҁ_ڇFZlCGXDbB[9ch݄Ѣ%r耒-  Q©(%B( RP8H:e$|(MPSufB gHd4Al '6M,f\mdQ~#B14/s,b~D!(@z0b+.cBP(":$ #00U!x2~5 ,wG`x΀2ar2q%VKL-` D1i QNS8\4(O!Q-OhLSl1S0!SP kUMX3V!J[X'cZl Âs9,6 dҋǂZk:P ( VCu0B0[Dd!JX+abQ`0Z W+]]4_y{84ѱV(T lo=-Di׳%me~-D5| P;(Ao0˜[9)W-D]ˁni@ƪgmݖ!u^a#9#9ҎgyLX:jܭb5dqսE).t8N_=E^,ύ~~h/g疇1E=GrhI[Q{{LR/d8A=,s2{- 2'eN b𰖉,_MZJxE!{+bVb{>,y K` DZ'ϹcC$_9A=v2 9;;qf >:Ez!hz!hy1 ߱Eށ)-d/#a yg녟 =auX4QN"'BQ,bz? u:H| -Mv]AJ&8B&@A%,ԭG9x9p99)`96N.tNj9O֮U`5:Vr뒋$*Ztbp$>|'?Ǻ\,D&\Fd`cqH9eoqd 1qVsWO ¡:8DhwKܺ\"Bp.k2 sbi!hRg8 &_JxBecӾu~"BBЇbgNs>`5 bTi9bp j95 .jD̅2B[&WDz̘1 КDKm<-D? Q`B[$;jKfD + GI\p.ql&Q]D1*o-%-D 0c#ʄ߆zSxuB4 -4c(f-dle,5i1p1(X[o i c 1ŦǠcP1v4JՈ%[a1v`sGh f+`bdP8o ֞h):Q%/D==;߷shP㣲cLkN<>WE[9k7scX6l{|&-RkrobOoox?z2ӧlj;gGh<ᴄ0UkxRbYa3|h&SDф65ix؛T=$(0IS4wa4w0?(v0Bd`5)Ll` HSZx`wD#&~t Ly8ǿa{BC0A9C0a~}c<)cxlN8FZ3ِ`jC6`5qeP06IAPԘX&.4LB xQh$%&H`kmj*Y@鈘t_R-|U`{z 3{^/gxIx<*Uև)Z#=:cu/L=VzQ xK2&56 I@8 r=[]m/ &#}\>Z4qO"ӋPÐC.[!M[=nj{$/R -Cy;6V^8m̧|n3GIF87a>h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,> H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s eϕ?OrhPD\(ӔGQFjSO^պURTjYSw]˶-ƴnhh\sެkWFmw` 3≮^#KL˘_.rgÎ&XoгE뒮CZukֶpCĽ:kMyb {эSY1uIJ?'zb1gM>Ͽ(h&V@;Jbΐۤz槨['Ehڐ,4&ԴWP7 RM"v Jܠ+M|I6La"YCQ&j5MUDov 0Rmْ**_,|C]{\4Rqf1g86 ڹ&L;j"_SԸ8ՌiFq_̷τTmLӦqʫF07z}q91z!wx3Ai\]>O޳Q3Dieo` Mގs .[/I"-gTef :oR~k鰊yi21&{~'eaHA1㬙U3TaV,'ŝ>6Q|,ĝ< 0cQq#ѕ ^pGaV)d,xb6n nZ#ӰbaAchhͤ/( xؐoe=d4x\t,xѸs e⮏rG7j>7vvZknaz; Lr/r.O"s u[~Q~Qf~5lw=&tZuS{fG50Y\::|:x:t/^EW:q-xV9lWT0 (0)^:ʐo /{.wݖ]V"HpK禨IeuhYt.\v6.u[t/aq e/K%R|\Z5S֌䮣Lܲ۲-Θ2mQ-9߿ U+֖._Жe.Ζu![ZST-+@0`^^%d$Eڢx'R6^ eZe5r28L.e,YS(ق|a]:h,Mdlc4.Vj*5.lHF>[l(Y5>5Fm((D)!(:$:J(::t:JƨW|]ZCIus㳔ڏ5D 8m ɢLѐGygk҆"US3>$Җs;ŋx}C~5njn~}a;lkg\c5x+}lbc .nv/ٵ'}x~U~uӁ;㲢{CeXfCgmwgxSpCiF-4 ՘tc8˗Ų Q\.VmB#TOLOXuLvNm)-c1z-m̶ӓE׮H΅"iCkFii?WkP VŹ }iҖBq٩R$ZtfqYwbtCqaqapY^^zJR/;Tߠ(:_Xs^\Eº=pw/Ta`` +8M7 a&~Cf@VHYƢ~cc0~5" ՘!f6Z00#š1!t0,á5tBNbײ ͋ w. & HĭL5]1l!d 3fDր)C5amL*[ʰ8(-gee9w3ͨOHs4a*[vK;QšӰvjL;|F3M偾33BaMC5q_?fCХ&Y P]%x <U1b[3,1/~Yj/-bʂa2lV2.eQ,TKKW{v^S~EYεc0ٻC=z==ɡf:yn;v.yj͔vho@wKoZˉx/R6}ۡ-qڝ͎:٬o no ^7CȐv&Rlf}h;eun6wÌv^ƓxM5ؽN\7hcݡ-Qݝ䆥R t"ivi·YMow od~O_ Dq^n6.ptۦn8&a|{]z66͆!mX=1ڰ.BCL; fm ;e2LJLDLw*c: @ ?߂CbC%r:DM,@R+H[T􁣬fT:qC!JtsPpdϡ-ϡ) <;(0eΡ-άM:2LIКfvbl9Rql6ܙM5C[ & dfksL1uכb/bfG30o!̝A jCr(aa GFQF%7E " HnUC2 ûڶ 3ƌ3z((S͆f1A6hf= ;'iqѸۄE4FOn ^wM Z<(lg7Pfd&tJJU /SLif!JLs2N_rgSBE! Rn\MNCl>0 hKuF^;ɡq!Jk+LؾmzcApZS\mhK{6szҦ1HέfTuuE(!JH:9\Z<5&?@ڵLӳ!J]g0V5 ̟.ÎQ5 AMע~!'͘6 ċ8ZFNl3!(Ni4 afAYE  SA3 31Ɇ| z COG[:RiKR6J 2b1r9zvXS&`p9F]ODž26e 33g2hL0JHaӵԢMCqR[‚TaSBTC̢0èLL21l[T_M'z@ u \ a&Wiv4[ajDB1Fea~qMB Fhp0C+H6MJ6eUlh,; =E†V 0Sd3׺VZj3*t5v/ ENjv:Tb-fbՈ+Tc .X/ EhEO H+Tc1ڸERPV\+zH[ak]W%[[;xVv Sk;3!*Lj+#AuXL+> X]+ zLvV֖Pl+wmR*`u}~J^ N.foDW*6&U /t aڜ5%-Ha-iӽXVm#.L0(R#І`И9VBڔ7awv˃QF{+yQ ]طѮÞ15y|h㊗o1`a:o r.ӸӸ7i*qѣlK'^{W^Noy_an~mGu \Eog^6LzWGb˶T݉wݚTŤsR uK/7TfYt5kky]3q c)j2(#˨b}Q! 'IC.}ó_t~Y fU5L+c01Ƃ䢂ќUpcXIN 1.}cYD4p))ct&d 3) cE.eL)Fi.\NBqa"E٤\T.SchQbv#XD.t 좳xQ˴eZ4oHpϤ~ƅ`u^E wj!bx-8pK^Q6 mc3 fEk؀5 Dﮛ22V`^S˶ ]#u\.Y`Z]KU\Zu5]tۚN2 f{SfR.2ۺE }bkByAfvYZFvYZ&v"uqI_wu/K¸_m$zmQ&j٭]6yY֟eYOE=Q0-^Ѵ,2o(,G,,+iW4\ ]ͬ+SlSzK*W0K5JL N 2cE3ۑiuBں2N۵MLzh^)J<zC|P%tQ-CMQP|nԼ||syݷ=>KҴv:ǛnnyWiX=SfryױbXGwUЁFEp`@ZAB-MY3wySKkrV8%0}m E=ifBkyie2yA0^4| t 2%wh8snID-&kiZVSϢB{_eoerp-ZmޢE-u $*vy|S ʮ& 㲍E#xl}" }"*j>Lx -$J1N\TXt:El(&$qjoeYnEVDd+S"5^x7˔E51˔eJD2%bj_yE˲L&KnHl#s㛢]EٚI)N6m p ѯYlk QBŽ[󺖓0\îDꈅe9eJ&% ie¢sD%^[iƜlֵ$\;͊jEN\Y`;|]V+uݒV*uݒh~wQ*+UubSnG*H|*w,>i1l*MHlLMs¬*MU,+;qT8uŨvJ&B]QrE݈\FY22i_h:?p ae!Vֆ]+U îT`XP,Fbi>Bb;퐗YuHe9XTytG0,QuBfAs`VAz" 40"(ipƈiq҆Y/X<ƅ(/5z'u(N""Y&"E52zfFMcْ̾^2)z-R[./La:hӸNd?2xUt7[{(Jz4d)F[Sk۸#x;]‘U:҆ilct*,q1M 񆚍xC͆aj gI¾Y~CFÃhcc[*Ǎ_P% aƾو,o7+o6xwgTS~nw~Qa8|il ޑzQM΁k1kJgDݷWCٯo:W׻q!zLr/yΧ<ߣ_EEQ"qopi1|]_>HT?ʧe?Jl}ZU@>li6ƍ|&X~:1*X>RSrHWL>ag9g`i1⳾1Ϫa&A|Fq(pr2jI|}}}~Sn(z qNj_:[a?27O՘,PByP`9𧚍7V\?S~V{ALV,!փɸ2~Tm_GOQG,}g54ϴ_W~n'"ē5֏-lA(3nDn'ݠGVl:L d?_Ux3GJ iiQ`]-QdEkDŽ}ѝךXG$ B\5먋(`;`ݚLhG`ݔ-6lXG@A߯_o(_:NX^v 0-6 0-/(˨QfQ _eձ@|vC_$>"çgj37eOn=̼(|ES5,vU=Zc_wLAy4oQp=ʣz8 gj֣XH.`biL|V]HKuE::ʌ;m7 FYU:s˨_eV>̬}[qO_4¨g w_w۸/ r==ͮfQ/_~e^~lv'o B G+}X 硿ln}Bq$o&:>2{ w"ŕrF  5^K48)o)442t:ŋ#W Ӟ)L:8`vqX@f'{ %NmNaaLWìQeTif(V;MkҰH&yB1Ҵ:aOnMƤiEI*ƧhX4sp8N{ƥ6Le}}!85TğjdvL`,jѐtHST>iښnH1֩pT1DN4KKԌKS"5:MՈN%p4G 3j8X1cPܴ:Biurư6]9O_g0n;u1*i$UXw#ܽpS CtwVxnfj &; Na"hO(NNaN{ j09jdS`&;MwyԜ!c4;&6wy)L5$;M N\ R?tu*:aSkvS5[ m`9 ¦9Ҧ9 NBv fMK$;f:Nv3wEdÞ3 kmbBL6=m8INh І kѦS`k;ý{9-PmZ^ڽLhÙƌvOlA[^ Ќw+e\bb6CKg<,< #OaSc;:۩)<"ǽf<'Lv9VS "S‚{JŊSy'o%#r?k\=JI$qz|R-xU`o1R ا0#촱|P X9pyܷ1ϘKEuIu0r?S{0YRԘ]ېpw]9s7^wqn^ޏ`60Ξ´={ `;?aaP6udA&ZM &m`Z6 ZMssZV{p/?%;fwr0Q>PBZ>u{Ru|h`^`8+`VanW:th+ r ^},_c!Xy:㪜!DYZ΃V*@ O!P~К05 $R~V/E5C*R<t~*;Cgy`!X0c;T;`7!5+ĔW`zyB!^N&n@*~ZhL#БXf3,@33;|Yc dj?@ pͷn1l:BEJ1Zc 1cǞ=z ;5|] ˟9Ims^tZN/B^(^r05R):;`mpXr0;ѯjv#쀀j쀀w_PC``#PgH__`D(|틀`j7N|l̔o"fDgL[vN~*czGuQqc:vTGV9&XQZwfW ( 孀jE737JWp u@D2t[TR{>Bvwಎ{~ksVasHG}s˹``ƺgX=OqHK!X.hija8xa^g{"D;0&ms;%:5~⺝4Pl?{E\{}oɆB./K۸3a<37=۞0>fzdeyx걡e}_L5,5МecY{ lsa+ TcL8L@ fݡeme mse l SSNuT%v.aI{]]Bfe rvai ӹ<0* Tc/ rìgy]`e QvRکKi/Kg,&djias՞CzձVǞƎƎ\d{^g=-,r+J;֠*0;;USNNv-Ӆr@5eO )O ]VraQ-vxY0{WB+!Lޔ5'[{º)kM a)˥r #vȽaʁ +- 0 mh(ozؕJǥ}iejKD{[B+0{[B-$/+P9^r9bqڳ'& KleК/!~f? ,т`=v,uİ\AgZ1~,P,- ҚyΖV+\Εrt$O%H >К|&h@@5@5 gf>&\&LMLXO >CP`Z_G )pȱرxaLʧR) zR@5s5r.o ͹>†M2Xm4.6XǶxثصسЅI(DA'LJGSylKKy{./5;Bظ=,Rl 2'9 f2~ΗeZws{]-*eb)T]6ҼMPOE:!̆uy\?]6,v}g-2sBc{Sc"~+aכq^/Wb9lu%>wqX]_ouq {}f4VIS3ryըmںvDkl'ZhN3v*qmopy"2ñf-To9)Me]v-6Pv/lnc&rƏ_E`;ZKMjP-jg Z׸: 7Bc/f_'cm2v.[^}g!-ݷ=?B?^[`󘝚S_h|s- vA caMu ݱSXFq ]N㬉?l[^oqzio+^Qþ-R92[nۛo2VF;w;oŸw޸uXv%/PKu$Ȅڐ.vdד*k k]>kc`R6ìT2߅`s] y.k)s4R& j .fv7x Fr-(ڨh5FߠߠpF-r|b[[kTF5F;rhekDf7loaֆGop=l7FƷVGFS-um4cRka#ZӬSY bZ+BmB&4Lhe=LZ,fpnŬ,f4aYBƶmAWh[ВhYIm\bFK(-,fQѲQѯ,i,"Ԛ,bdBZ%+M~-!`5[`mJԕdJaozæԆL[)L1gyvڴq'`WK]pi'SeZR+n0YRش`ϑQG,Zeݢ*dJ)˸dZq+ɸu$C_]KڕÞRYR[)L֭&pdJab0[RX)LVUfԊT BYzMPm[F*vy)#U/٧RŖejdjdjdjdbY%ˑ vq=da6,@dk S;`}4LXx?e%SKOTLZ6)`]Zf?۹ٗLjJ(I}s*zl9<./bsG*YspeJa95s~_^5?دoBK~}Ch7cB׶bAB}%ʽt5ԙr)VN!Dv{6m Z Z~2E'ٴC甲l霟eacl=0zBE`01ef{Og8 2z@l*FRFp[b [ ;ebS @lnPme(ȖŇIJ]!,B3C0/!:l-rl= dl2 a6ӇzYRZ\#($&MJnu)a֥TR[X5IkeM aYHckR+DB I!ƣ6EͲpZ@+@Ւ~.CRKרUئ<צÞצlS:ڋe#ShF&Xid mld%(Ӻ:*fSw fnSSmNAmL54lhZaqUڔXFeS RmC a2:"XB2A6믹)s:2Űg~C07hгyjy(h992mbIy%U!Dk$j< ڇ ۇZ*lZʲqP ؁ ^S|BXB([P NŲќJFf ,*;PK-@la >5xZxmonF ډZ.P2 mN)LeCPQ3}'qa^eǁwڊ&#] vS0'}&ecTcd)Sg0Q } fTnڸȓ_ZySfm(G}*%l#XߗZG˶k a6b5F805=/iv9mK a%usym;M;>v徿-*eES׷e@;='M.Yw\MQӸgH3<>]%/M0;a*'V]Z&ĂjĂ/G\P\t-qr\0Vr\0Xd;pcckpjlpjlp%n=l`a/k` ٠ e]5 jPik>Cϧ64kTQ vjڜ~|Ԝ`C2u4a ja2a a%†P56o6ڰÞڬ$ں/_|]o^([ks5`]23wPwTO߱>-\g5 avŰW~s2DžMہB=t*92}ۺ:%) NƎAX=P<|s>1˚ž'}b7㺽r3v벝VȖ[!w*ߏݵ>ׁ!Q| <.5J>\g0_gn#@Ґye/W`iu;0S]V,g,n`&|p$%SZenvs|C:!w_;mvVvNׇ Yo\Tz{{ xcq8vTzs|)jqvzz_ 6)#m8 elO,.{iaNbym{20;t9xpǗǷ?v O>;{iEvR1r ׋G0-Two DTD Examples (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

3.9. Two DTD Examples

Some of the best techniques for DTD design only become apparent when you look at larger documents. In this section, we'll develop DTDs that cover the two different document formats for describing people that were presented in Example 2-4 and Example 2-5 of the last chapter.

3.9.1. Data-Oriented DTDs

Data- oriented DTDs are very straightforward. They make heavy use of sequences, occasional use of choices, and almost no use of mixed content. Example 3-6 shows such a DTD. Since this is a small example, and since it's easier to understand when both the document and the DTD are on the same page, we've made this an internal DTD included in the document. However, it would be easy to take it out and put it in a separate file.

Example 3-6. A flexible yet data-oriented DTD describing people

<?xml version="1.0"?>
<!DOCTYPE person  [
  <!ELEMENT person (name+, profession*)>
  <!ELEMENT name EMPTY>
  <!ATTLIST name first CDATA #REQUIRED
                 last  CDATA #REQUIRED>
  <!-- The first and last attributes are required to be present
       but they may be empty. For example,
       <name first="Cher" last=""> -->
  <!ELEMENT profession EMPTY>
  <!ATTLIST profession value CDATA #REQUIRED>
]>
<person>
  <name first="Alan" last="Turing"/>
  <profession value="computer scientist"/>
  <profession value="mathematician"/>
  <profession value="cryptographer"/>
</person>

The DTD here is contained completely inside the internal DTD subset. First a person ELEMENT declaration states that each person must have one or more name children, and zero or more profession children, in that order. This allows for the possibility that a person changes his name or uses aliases. It assumes that each person has at least one name but may not have a profession.

This declaration also requires that all name elements precede all profession elements. Here the DTD is less flexible than it ideally would be. There's no particular reason that the names have to come first. However, if we were to allow more random ordering, it would be hard to say that there must be at least one name. One of the weaknesses of DTDs is that it occasionally forces extra sequence order on you when all you really need is a constraint on the number of some element. Schemas are more flexible in this regard.

Both name and profession elements are empty so their declarations are very simple. The attribute declarations are a little more complex. In all three cases the form of the attribute is open, so all three attributes are declared to have type CDATA. All three are also required. However, note the use of comments to suggest a solution for edge cases such as celebrities with no last names. Comments are an essential tool for making sense of otherwise obfuscated DTDs.

3.9.2. Narrative-Oriented DTDs

Narrative-oriented DTDs tend be a lot looser and make much heavier use of mixed content than do DTDs that describe more database-like documents. Consequently, they tend to be written from the bottom up, starting with the smallest elements and building up to the largest. They also tend to use parameter entities to group together similar content specifications and attribute lists.

Example 3-7 is a standalone DTD for biographies like the one shown in Example 2-5 of the last chapter. Notice that not everything it declares is actually present in Example 2-5. That's often the case with narrative documents. For instance, not all web pages contain unordered lists, but the XHTML DTD still needs to declare the ul element for those XHTML documents that do include them. Also, notice that a few attributes present in Example 2-5 have been made into fixed defaults here. Thus, they could be omitted from the document itself, once it is attached to this DTD.

Example 3-7. A narrative-oriented DTD for biographies

<!ATTLIST biography xmlns:xlink CDATA #FIXED
                                       "http://www.w3.org/1999/xlink">

<!ELEMENT person (first_name, last_name)>
<!-- Birth and death dates are given in the form yyyy/mm/dd -->
<!ATTLIST person born CDATA #IMPLIED
                 died CDATA #IMPLIED>

<!ELEMENT date   (month, day, year)>
<!ELEMENT month  (#PCDATA)>
<!ELEMENT day    (#PCDATA)>
<!ELEMENT year   (#PCDATA)>

<!-- xlink:href must contain a URI.-->
<!ATTLIST emphasize xlink:type (simple) #IMPLIED
                    xlink:href CDATA   #IMPLIED>

<!ELEMENT profession (#PCDATA)>
<!ELEMENT footnote   (#PCDATA)>

<!-- The source is given according to the Chicago Manual of Style
     citation conventions -->
<!ATTLIST footnote source CDATA #REQUIRED>

<!ELEMENT first_name (#PCDATA)>
<!ELEMENT last_name  (#PCDATA)>

<!ELEMENT image EMPTY>
<!ATTLIST image source CDATA   #REQUIRED
                width  NMTOKEN #REQUIRED
                height NMTOKEN #REQUIRED
                ALT    CDATA   #IMPLIED
>
<!ENTITY % top_level "( #PCDATA | image | paragraph | definition 
                      | person | profession | emphasize | last_name
                      | first_name | footnote | date )*">

<!ELEMENT paragraph  %top_level; >
<!ELEMENT definition %top_level; >
<!ELEMENT emphasize  %top_level; >
<!ELEMENT biography  %top_level; >

The root biography element has a classic mixed-content declaration. Since there are several elements that can contain other elements in a fairly unpredictable fashion, we group all the possible top-level elements (elements that appear as immediate children of the root element) in a single top_level entity reference. Then we can make all of them potential children of each other in a straightforward way. This also makes it much easier to add new elements in the future. That's important since this one small example is almost certainly not broad enough to cover all possible biographies.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

TNf~2DS[*"T*PUUO=L 4~dg @ql@-j%;ZfV2E Eb,[2qY 㵄^rˬ]&pmlځ3l5f#a$#1Ѷ f_b;/srZ4le-U @v @v/erݶUlڃ V#V3?vd4v`$#14c\-^Lv>-H1CBİ`B 5FFX0=6})|H FbäR 2L3LLTiЄJNFbh3oNUFb2C wu&HѸ3×zki&̙ԙTiUӄUH4q6RۄSe$(#1!dݲLzmHeH [Fb2++ 6f=hef_vk2ah2L]2׮L\g3>f$ #1lڒٯf0c4v{r0a1*PeW## ;Gq;}ΌFoOk4KɎax5}B^Ͱ |9l|F*l&ۧvmFjߥk֌Jĭ˥ͅJv< rD3ٗg?u>ͨTTliF%nτ?3*FJE Kŧi#ħ/Wo0 —2+b2a3/W޶+WFNA&AFf nA&ۢd[ )AF&2y n ~'>_- %ܢ_Q @9ÜK\6KX6KtٟKX^Z^ZP_@1]$"4hZZjIV[&`E??4@]F-=_H 2P^LX LCWW3Cpi&.M%d[.lw&{9l&>2h=DA]4q4s I3-de5`׌z9RMv1G#͌:B Oe&>ę%ՠd:ڤ_-d̨TD)ętڤՊIfM ̨c7dNu15d z̾a[Ɋ܏Y~?lΤ18^)Nq?ocHc;yWi1?Ano`wvt?~e@ <ͨޞo_;Mݏ b9eGǘpmܦ9$1|&!1I%Ia+]؀߿uK>ƒ0$$1%a,]ذt[+Lη$e0e1zxLawLiMyLY7m4ݠ45 wi)$$)\axLaKLb[`T8%%!%I IbH;>^7D$aI Hbe.6V$1T"-u(p$3$rWԖ=@*1W &QVlE*2 :V6b154$HbFã((l h_kFIp‘d$1"!iS-;e$aI (;:ڗݖİ$e^O(K,x/{#aIp+=h-i_uH[Q]HqwIR6nRXvJjP=Mp=@M>̩"I HbG<Ÿ0$y$1L#-HC}EXDЂ䢽?jEϐ k ֑$$_%!! I IHbHBC~?t$Vp$#WyQ|ж#1"mGV+GR<,wGc{;KH<.>pw$~:elZx$#x4ڑNCξu$vWNT#1H &*Y &R$r-d͵x#aH &; vp"prdpp$s3k '&7_&pU|6n$q:>H ft550h$A3;idH MFbh1Mƈo1R)F̨Rd "Ln'fv0Qa#BٟP/CujP[$"1T/k^*QNsEb*Qks\ \ч1~kV2Wc?͕̕PYzP[:g}Y#iIQ㢱*.'nbKXM-({%喬[n%%dے>[n mZ%y4?1m6=Ƙa5^! r%胜(Ď j==( ocHweS >f~盨A3ӳz;Fj})ceռ~M>_=oǬFev틾< fmwO}Ƚ;N=v[ͧW|la=w\ĿƎ;S+M>AAUQWgJ?ߺn̫ٳfՔva~Zٕ~B? AVQڕ [D +b%YD4-R%y[Xf+b%Y2} d[J KO$",VW/&`je{f]ڙ]Y^vyhiYe/Q-YMFVXjqsk^j+[beYlj*9b%XrZe`6efwWnZZviy=YY4-S,VVT,x3+3v|4[||GGXhMjJOK)]M]bVv]vZZtji^VrJNطf䣴nZZZŖ6k2f5fmfrv,V.EXhv,V.<&Gۊy[Q&vsmZbYlVbYkRXYi+ beY,4=^x[g+beY3ufqf+be5mJCKCXihC;XYf+bey$2Df,VJ"XIc=Uѕ.^bVibR5JK;*QV[rJX`-@ 1,V&Ŗe,VWzutGKKXa+',ބ=@,VJXbV9f-],l,V ;L{veZf- ,oĬĮVXZl9d*'K/̶lcZ%eV6m?ocw [lJ[blR¦k6[̰Xar0X`[ר|i#zYzJ,(kI)^%)-=qYm̲U$+KحrQZʷm[VJRcZWTZs!SX!R+"*="l ,VؓeSOawCIհO+)֎KoeFYǔW -n⢧b?o(wKƶ7Jي/19yUu?Ʀ-ԅ.\aj~Sl2(lV1 H%*@+-Pm0ZuŮ{R1W}~6HxpYٷc NϬ%9o̥ܞ Wn5ij}{=&o}-/x_^(ѷ /VCفM,vL ?ގqA F>ޞ]-lnaŴcT16}my}^9+Z_: &$g~e=|19bZ!/-vLC0^ߞbn+v;.1o~cjmwa?i> ?% #kV16TW>ߞ/M|.xg FuKsװ_x :ũ\ZK}>l:8fo_P~@j=Fvݏ ?^! 8ǧѻ_?[S֫qzh4^YmS0ft1xx{a+kJ UB1mTue5T]J UWbJ UWcKՕ>֪1׃+jl)DPn a٨q=qw[Mn7WF F?2p}eY!J CVbXzMQeqmjeJ KVbXÒİd5;%+1,YaJ KVbXÒﮞʒİdb%߷ֶk>k lX[);JPb%}ĐO1\SIjNTb-JΰN3,3,za-؟a-hCoNp:%VN9%)1M&il\}jܧ̮v7=hSFİ6%VfUXVnJըa٨q[Bgg\R5P;%y*zj{+[ϰ7}~E *afݵ*a^.6 *~J Sccy鎶?%)1 ˶) rJ Sb+qSRٵ9ǖ4/g;mSb+B;ArmmC˔F0N2Gbhf5!SSw{ Rk3>TLScw[Ge] a]JXe_ʬ6+â1+jʴ A A6P(5vI5} MrkC2;6&3kar UHa+VP%S)uR.TIJ)iJF;t0R,r ?n!eX233)HJ /Rڱ!EfZ&Y|tȗ8Il2c%76|`3lSj0<3:j^] + fX|;p.=/|_vT>gks=sfj4υ_ON,Nsf |f@'.~Mqla;FxˆJHR?|g<.|*J:)O\1@7~h]>99%ϩoJMݯ;u>gv:aR3Ɩ)1|O{nc)1|O{J Scwz3sg?){jw7OskSbm~K/SRC=%話SAv1C-(_Tj kF kFCâC*1P mTˠ*5#J 94 94 YTFrC% *1O~J s5̎3.4,49T94,YTVCMkYtrC%*1P=)^رڰhRv.6FZݗݮpE%+*rE%=%k)TVC4+U oPJ 4TV~g.3sX"?b[[ҧ,9l SVAg9'O)3+£.+ms-~*؞5)k`s.S&~g45%9>he xе)9*+3,Q a BДŮ YmiJHaHftVl 3l SFZ%K}v\x1bJ뀗l2;F.ÆA0a&fxa5`a5if;jlSb`vYp YZ~9a8x\u<ýj3=Z_^W~g0hX60 _4w"^B &RQ=xq}6>f.gy:5;ʏc+9(b8&.|o/[XPG  .z:g}[AOkl[ES긚E[,:-h츘EgyEgkl[tAgkԢ5l-:bEgklb5r-:\ ֢lhEgktآ5 آ5k-Zc}E__}m˾k]m[uz-:ނE_jآ5k}R}i@l[k-Zc֊c,B$7}E_klqmSaEXkl[Q}ah"uETkl&5jAEP_޾ j-bZc7!}įҺ"/BZc"%!EHkl[BHkl[D} ڃ!k-BZcX[!EHklb `'GXgW>"5 "5i-BZc"/~BZc߄!EH[i-BB 5i}ҚZ!}!{g uӺ"-VĴ!EH_!~!oBBqΖ|އ!m"5i-BZc]!EHkl[!}!v;[EHkj[!ED_=ƾ hM}}[l"/~ Yc`7E0klb Df-Ych"5 P`"5f-Yc|!v;I{V)bYcXآ/.|*JYcRآ5(e-JYcR3H^M)K 2Yc G‘5pd-B#klz~U< E*[H崣"uorYS\"5HeP"Z+klƕ-U\$^r,,fY{f5 ؀Ab5csk9 `A5Qбc-Xc * (c]Zq^taVtaiم%e/,9.K U/,9.gaɗyrQ͢u_Xdo YSBآ5( CBNO(d]mAi/ 9zQVuQbwtklA}/ 9/=xcqPֽ[_ؼE(e<ݼE([E(M7f-{!Yr\™؅3ka帥0O(Z-|Yc Y{\}Che]bʗ}bYW[/Opõ^1jXmqq[rz.j]02ke7z mϐ"5@g}K.iyv+ҕs(_yRmTN_ZJWNoa疯<ܹ**ӗp+(YW[s%0/%0^v^-(ǹe[|KSNP۷s WʂZ]`>)}_a{Slb%.%خ;_ ܳ{wVRKJQ%/1xK %^b({\ۉM(jxqz||XZszK y~_~mMh~_viz=@÷AmDX T {=S{ {?{Y ^b%K ^cu C>ւA}k>;<{{{ax*pW|=jKlڶ߯Ҷ}x_ja{Nqr%R/1pP臝KÞaNT?a?{K ~pFd[Z߯rĐ/dGIF87aO@h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,O@ H*\ȰÇ#JHŋ3jȱǏ CIɓ(SȖ.3dM4s G>҄9SgςA;&eR@lJ͖Pj꿧+ըIц-{ЕGժ$6a]x҅K߻KÈϕ;WLmVLy c%Feó'W,诟On'W[W۽ ymkҷĝ1GZȓ+_μУKN:;--h7;h7f,V[|`n^-ͪ.mz¥7.4nZEar`riM-LΊ-LbEy웂XQp+ .E BNj kՊTR K[_ܴZ[\X 27,|.~ۃQu[\jM{*.-0;+vav$V_`u^au+bY0:iiwVggUgg,V]pw&Iـx+/<[<UziwEYEYlz*2Oby+ci]x>xVB,U 7ZgB,V(>( XtvH&ZgZ]jYxt վ:=zCuXAu?gY@:O Y91g,Vh~q8gbLVLKK-\J-%ץ \7*.|.|ӥN'g+^s/v.~#ʥ͔'u32pĿI ?spEΥ5*7aIr[ϏW~i"O1ȗ7|?&iv?&5S`ZaäX0= {=4 !&1a#aUXI!Y Z 6Z,,>0Q cr@ zlTbc UؤfƤD1 ;U`F .6\L*F@h,{oj:lRjaMo.L:,X!`Þ¤XX0~I/M-+۠ffXXXؾ ˆ$'&18}lG K91)NLbpa \4|qaa9pbi9 w1-pLboI NLbpaٖ‰bpbzc ,$ˢzNl0'i&12II Lbd"4{箠AWk,"@eE7^&EI LQ+L4 $i&1H3=II Lbf,.&d5xYX4YXMg[GgfXe'ĠŢ ŠiZLփ Հ$nBb6] $(X]dR5$Z1OlBejLbeٰs3Lbpg3A 7MJ8 $`&13͎al>b͆g&-M.&6Q?^`dN((DT"DLSe_PfR4p!bFq;YIchmoLbfakf5 K-LeE 4M -,-+} e V $v+,F9 ,l ,l ,l>9hkNl0'l&13d XxxPcCdccY=eYvi=/?`ea`f6wvw&Ýe}]aҴÜYr gYv`nR fR3B [\ͅeOF5^ e٠ب12Xv6j?,aa òm?,Zۿ< &1ִ &k&)/{ǁ%COs[Y-se/ -wI-w5ٗvs'gB;Ta8U kuLŕ(5*VR:Ejo߿[pĎѫ WU_j8TX­T*iW;*Srz?Ƥ=}=I Icv{=t6% !*I6ї۟cSǜ.ik\Hbo/~⤁{7~|wҴ^ٓPW,pg?}[>h>4yo~;c~}nh{_ {>%q0/zܦ8PNiC &\?> k쵥&jHVULگR4$}$1 F$)2),:IV+IRG[p4x$1#I HbG[Ā&/1pF3kHV.&6[4k`EX*`D #ޗ+6 bod#8vQ GoHbE' )5NS$ͮfFS5ڌѾ$L=. {6loFa G+h쑜Q(,4YlC@u $"I h!G `FRҰ} I Hb`F3~khCMIEI HbEaFf*Ae4RXR\HRXhDIb JQB⽂Q %$)Fe7V̒v]T $1%-fIb0KQN$Ib HAd&OFIʆQ`MXR@LR4RVtCLZĀ$$-T,$1H%A*I RIbJ{TRv5bLa5L;$~/s%YP%IA&I 2)z?IjM*iwORisI-$B-I Hiv$,c'ZoVIVMﯟ$$1p#^4tFt '^4F5iߨ&%u$@I h/d$1ȢuɢB틅2jmhVkHR+@|4ZivqH JsI"`FЌ:iFiRj#JapJRjqJ9IpKRRX4RX VB] `ڟ4ۈ ,jJF5$A)e I)C)}bKY=-eGSvV1eg洿s ks s s¢d˜kĘO)):k s _N)A{ T7Ra[Rq=RY= JeGޠaN0*&?[H@Rq@RٕސTxA|44STv}69aW~{ӞUY@ wjG O*9+9ZoJ.s_#DQSa @Tمըc:¦TU*)jky*}<59iJzFN*9l5 ^!^=)PLZҼ֨,i0jSǠM3 j1|WcD!4u_xĎAA݈Ӑ>rsʎ=Q 9IxM;.|ʰ0?1cbj\SwLۇ9&#B=cDHCjz\BS6ϟE69Hr9>?.Ъy?$S?8u|7]'?dxGa~}<\)eta6>hC$} DUJط4ki'eYeYlAFJ6RUXrШDJ)(Rc^RZLHrY"y=XG[)$) b%y4XF2Q?%j(,bK<~B<5n&NҰY *M.MI5c~DMRX*j&v"$#IGbK=J-Ȋ-bY#}G+h2J#b%y[*r,VR,UJrH{ۨqrfWfDYQZO Hy=e ,VR]I޷䡇֡#!Y#]yI%j%Y#-Y%pdpg HZ Hio%$E?ЂJHI^H+c=B Gc HX H+iݣ)RxI*QK,UCJ7\dŖ4JI4Z;ivJߖ${4-6M MNmNDžOM+)$054&ٮ,UcXK'"R"la5[vRӨBCavP:ӬҙdQ,VR!]5RF*?6AԥY .ۅTRbJmD6ɕʔ]*S2$֌֌cONi=>SBى.)m'[\'۔ndMaoMa5M;*Sx25d5ARlRc-u)ݢRR,ԥl#[]?Ίa-eRRvN-[$Mnr1IiS$$=bMTQ GgCG2 .Jd hPEVjDL\,ѬŽG>ފ#G7SQx0Dy=EX| ](=r@@.l\G9pۑf5|PѬo(j : B5~R <`,پm?ҝ)Z>\/DDaeIDJ$J+=F[/CF1ښDHx[sj)l$%[^߰hPIb_!߷1zѧ gr^asq@Rc`S…;ftoϟ?'ɶv,v|]v|m]/t}ExP/CmXy#Ozbv|);_ne#ǚp><߈?My|Wҷ6_~_7t?]3{Jߗ}Lۇ9j{_*~vk?މILPdQ$tޟ%Ygi+/KNdQ'KKe-$/I }){0WkIb8KYΒmd5pC¢jw,uĔU&Ӿ6t{EMaMR4JSX4Z쵫Ree'}-ўSl)k Z~ B~ V%O$1\ЮS:eٮSSSXMN:=>BFM^Zjh-*ۑ֤F`L5`P;QVV5Q Va e\_۲TږUVi[V}Y5 fYuauJ߫i5+ijXWUڴzjjVl[WaW3ՅնZPWa٨Xq=YSӊ@ 䭸eİJ7.EZ9u}/il^C Ok0%1.apE|\1Y;\WOGXcOpK]'! ddFWV;b;N>[\|I\a49l09l09lŰgp&[BBקo,a;gƖop{9gs|5[~Y!ˊQ~e-O~Y/+!?&+fŎYzG+$*&,Xi2V*?>LYhWtbu֤.Ϛ2;h5JA[p6w f"5,bʭ;=Xb`7.Fn\ m bVLnZqdR*$ZnZ!LnY!LnXrbf,FnY2Wݲ`Zr ؿO,AY$-FZpȃݾbh؃gXNM[ #. j(.Z.\FK̽\PNW{ӯ+ɏ+m+ y^˳Xql#F N 1].2$;1vLL '/;0Xv m6Y6(d ƖMFm[U~zy>\&ԋN X*6bsl/F`Җ-,`.2뗤 b=],]/vqaVfìIr?Wϯ@_Ϛ$Hcv aEŒVm=7׭sʛҧWWd^T6F_zțXr|{ʸayﵰ/qIq&;CW}_. rzߋ-럟q1j?kc湴'WIj6þwS{'ela&T4/dRȢ*\<ͪ"Vj*FUeN& l.o&IUжUbŷդ\ * f$QFes "l`hI*6ςleO͵ba5HZ0#Yĵs(ˬ0,Xn29KY̳ gA42ׂhdfB&ZthdSݯd+$-f-VAhlτM hdAв˂3!,`R 3!,vO. ^vZ,um&\0ph-L,d+.%&,Xo` m&;&*VWظ*1U^TCR!LRyYGlh[J 2(۱r̦K!LJ!LJ!̇dFRRʌ) &ۥ&ۥ&{C`d@ˈSl؀)"&& kS0LsJKiSYL}MiXO&GM!{3aɨiA}4Ȩ)$-!X8Qdԇ٪)ɒULm΄Ni &&;VvL1}vLcGSdNlƐS (- ǖ SHP6L#2_ cf-20 "{V/Mj%A6L# 2_d^6Kq,A̲ahZs114cbhlJl;x`aC& `eir "'l6O!L6Ol 6Nq ɤ)Ʉ)n--nm'WvJh%B.]RvIҲSe0,)>f$8KH?Z6QR(LtIR{ v$!̧R-%>N%>NbyBdd}gSG07YiQX29 k#  .A2?xd+Qq-[KۖFr65eo4M(,FHeT."vhވG 0]V }MrW,*(P  .<{X4*ߤUH!LE0#9ig#zkkk[?\y(Q=nvՙwy,arY%R_]שlb+owV߾w`}8yg&M!J&M!L&M}MB.ʉv'K;ze]0t,@} Hb!}'2?;-<8Ό̓>vFgO`z?mPh_{G5^c OOBeNϠ&O* FυK T90)a(Ǡ ]߼4[Añ'_~W(n|h S,Y^B h{ A4rsk{U, A4'鿊N"!"f;A4r0h`*(":(b7=(2ڹ("\[Env.fg"Da49lg"X"9r<+-ZC!LB,R+ y A4b{Dz]`Zr!ח\`r)b0˥1v1Aň-Z.Fc#Z.Hd 4yS;̴\F4]*%(۱=R%)&& zc#(G)D%)%)%)%/EV>J|0,AK!L>K!L.J1pI arI%-%XQ,FK;Qb@g)G)' |`0g)>K!L>K!L>Jm飄y,>K|BYAˇ)RR;|b;NGP_M`ԏa&&?&?_MRRRORROSz>ʟuRI!L>I!L>I!L>I!L>I[>I9s{G #%:w:1h%>Kl9-~OY>KCW`4D![+ ݚzvcASC^K!LJht] uixy1AjA '{:<14v^O!L^O1ˢ=&eO'Xy;v arqe$oɞNĊi'iT9>A ~׍FP ";9>A4r|>O }+]eN]`rq9 S5Ak!?'"K~O4'~O hEA4 /*|j#(T.Rnrh"e/]B\"dc$)|&Q8KIjVQ{sWKjRRt@8`=O)ܨ˜nS0^SB#B755KKKѻS0M*K-?[@M֍Բxz6v`e4+kVM쾕SL&N22qUFMlF(dĞnؼ-Y7MJbC~ "ARMI}͉&?v-N6As=qg{ ];}^ct&bMvci* QdCdC4IC,!0Y޲Pf+VV@O@* T0]3Z?2WĿg$?@;u=shϝLcm%s]h Y?ca?/}_҅zG0 vä2Iaer/42a(0 ŒK +;V-9Ǡ%K +/Ъ-L_K + 7!)Ѣ ,lWBƲ] \]hZmlW(]3Q+MP4e'LY O_kٮvΨlYRtXZ_~%a.{dA~ٯP4e'T,Mٳ =K +Z_%*{[(þΗ[ ٷ=K_Iae5d'V*tJ WĖ ES,iF~VP+B,g ~VZ,i_IaeF%J +ÔvѧO2>Iaelro.,exF)ÓYer8LN ǩLP`e2KQ(ԲNN,SB2D`eF+Vv&T6( l٠V6(y2?Iaen~K.ӓ)2C(3T2;Iaev~N ͼLR$hN[6) mRfų= EQ)xe$ 2HE1Ph^ ES,2ɗ@f,8-ٵI] ]v.isay-)l[RXٶmIaeے޹bV+)WRXٯ_ V-ibIae+^*! U)C[L>u~(wLRfcuJ*aeHYQ%VV')NF _e˓2BU%J(,QRXYd6eQ"fH[LR=[vSV"t~Df-HDʀdJَuX#!L"0#W# u2ɕ=HARsNChF"2px@rAeH( A(ԲI5H ;?H49 sne1Z13%/{wm||=|gv!v@v!Bv!2|Cv"M`4&$v#pHEBE$xefcF%MB elBoO[$^) YMJ4lŠhR`2JaKF)2B a2: ,N@p104I.2xe҃}Mw&ӎ;pS)X{gPTr괗9-sp2|X2Ł)NM51}{5l1d2 ML&4d=Ɛ H2a4nj2*>cX2|9fBfBs=KJfcɜnUۆ)NB+>d+dys{\]Qdv\\f.QrvQ%|o==Xo!|XǶbf`bz+f{l~Hi>~mXC!^%A!^,B] !LT…fp8$r@PЏV!H!L!Ll"@ 5`] r5`@0r5hjӀD#σFAc[v,ɑ=X+)G KJDрnGx$|L^0-9"ʱg/Oɯ9!` $elV еdPd  '# #u"8Gh)-Z;)f;%`zkNK a6/\ArH`w!qcA l~0JE lVlw+";me;aegSKvlOv,wdwsA B B׮ "edF66 l2…շ(2Ѧ 2u&SV !J !L Y`SV(;@4y`oÇ6taeS, !wi K-ˈPCYB0Y>Zږ=h[:J,,`Rthd6ls%Iau򁁶mFl>m є%,,!CLM07YB%D#K|`lFl"l *(,`e@|lC(l< Q~U4OUlFPT~pm{ #0YK0<6t' ]az>046m gSIln_DH1#Y9Ѿ#1ЗãA,#/PmЇ=L~u46c_B {A!LlNl>!}B}Bm]-c{'iЇ}2\?з] zrAwMz]IqyZߑvg's_{C=㹷/).koZĹzOm+ǾY5}~rXy`aE+p5r"_7(gTrHeiq{[g q9g#֛68g@rW7(rHc#F + Z#V<2<0<0FH9_T#_91ڒ3FL)o 1 rǀ+HU, 3f'b( <2x+ 0RmUfOe@<2O4cɐ1ce(c Z2ƀ{Ydn_bEIYdUtN^&L0 ф\p d}AkRa1x)k ZƀS%w \[Pd- {`ET6 % UeЩ*# 4茗Fmmr%ES)`eͽ,;heAєG*Ꮵ-`{Ha4{dC6 t|6iHaeؑʐ#ޠR޲r?;(EG +3X_qʌ.uФ3T2󠩗0aY|F[|P4e/*L@2a M8#eF+ V.<7l/Yx镅ͽ,<(k_&;hMZw;xeG Ppdg,=()SYg,AhRe в3Qa# V),;˲?sd1zXʃueAKRFtcV@l<"(gwp 6d*\#-K_NkbF"!2 IQe +#3.dAє-ǨeA3)3rLa^]te0QydP向`qE{_ oqWb†a( ,˔g hL^;gc6^6u9I)"7a4]m_Parameter Entities (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

3.7. Parameter Entities

It is not uncommon for multiple elements to share all or part of the same attribute lists and content specifications. For instance, any element that's a simple XLink will have xlink:type and xlink:href attributes, and perhaps xlink:show and xlink:actuate attributes. In XHTML, a th element and a td element contain more or less the same content. Repeating the same content specifications or attribute lists in multiple element declarations is tedious and error-prone. It's entirely possible to add a newly defined child element to the declaration of some of the elements but forget to include it in others.

For example, consider an XML application for residential real-estate listings that provides separate elements for apartments, sublets, coops for sale, condos for sale, and houses for sale. The element declarations might look like this:

<!ELEMENT apartment (address, footage, rooms, baths, rent)>
<!ELEMENT sublet    (address, footage, rooms, baths, rent)>
<!ELEMENT coop      (address, footage, rooms, baths, price)>
<!ELEMENT condo     (address, footage, rooms, baths, price)>
<!ELEMENT house     (address, footage, rooms, baths, price)>

There's a lot of overlap between the declarations, i.e., a lot of repeated text. And if you later decide you need to add an additional element, available_date for instance, then you need to add it to all five declarations. It would be preferable to define a constant that can hold the common parts of the content specification for all five kinds of listings and refer to that constant from inside the content specification of each element. Then to add or delete something from all the listings, you'd only need to change the definition of the constant.

An entity reference is the obvious candidate here. However, general entity references are not allowed to provide replacement text for a content specification or attribute list, only for parts of the DTD that will be included in the XML document itself. Instead, XML provides a new construct exclusively for use inside DTDs, the parameter entity, which is referred to by a parameter entity reference. Parameter entities behave like and are declared almost exactly like a general entity. However, they use a % instead of an &, and they can only be used in a DTD while general entities can only be used in the document content.

3.7.1. Parameter Entity Syntax

A parameter entity reference is declared much like a general entity reference. However, an extra percent sign is placed between the <!ENTITY and the name of the entity. For example:

<!ENTITY % residential_content "address, footage, rooms, baths">
<!ENTITY % rental_content      "rent">
<!ENTITY % purchase_content    "price">

Parameter entities are dereferenced in the same way as a general entity reference, only with a percent sign instead of an ampersand:

<!ELEMENT apartment (%residential_content;, %rental_content;)>
<!ELEMENT sublet    (%residential_content;, %rental_content;)>
<!ELEMENT coop      (%residential_content;, %purchase_content;)>
<!ELEMENT condo     (%residential_content;, %purchase_content;)>
<!ELEMENT house     (%residential_content;, %purchase_content;)>

When the parser reads these declarations, it substitutes the entity's replacement text for the entity reference. Now all you have to do to add an available_date element to the content specification of all five listing types is add it to the residential_content entity like this:

<!ENTITY % residential_content "address, footage, rooms,
                                baths, available_date">

The same technique works equally well for attribute types and element names. You'll see several examples of this in the next chapter on namespaces and in Chapter 9.

This trick is limited to external DTDs. Internal DTD subsets do not allow parameter entity references to be only part of a markup declaration. However, parameter entity references can be used in internal DTD subsets to insert one or more entire markup declarations, typically through external parameter entities.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

abaZ@je%G,1=M1 s ιap6Fb1O,v/IM"PhA䰐_!L,dt?>S1um?)D9jTB g,VL\f2014P~L0HE5So(e1`2b3s۝""F"FPBB?hF05&+ !z0&r͞F#z`OT#Gd01ئQئA<MքEE %*T΃iB^aW~;Kh[hk oiu!j %1 f$(DJdD%LTQd0D>D'M2a8l3 o+ |l^ [?mv^H\>cĨ~C{u_鞒xIt\pȒ*VRFsܹ|Kb("&U 2'8LLpgB\'T1hRth )T_>M?D'),r1F`Ř)@ .]=QEPCbUjLQ`25 .X4"j-'y!Qg%=+EsV +V [_6_Nt}e"m[Gьە,ǂ żJau\ +hE.ӯV!L[9+5[ZxC5CQ7J3)+hxIьBQB=y]ȕ*=)^Q +Q +Q^(3*8%#͐K ?dR_FP)I4f,MJcPqwef. '>S(JDiNCf(պHJ)xDl'<# Ex"Q(D9읷M%b%* BYꋊ4B!R(E)E""/`q(案=w- Oay3{]FDi -Mk}ѿR9IZQE?JhPb3*?0s="b0Q噔p3;/6%#?EJam*EmjT̹U~t&_g{}F]VŠmŽm}Ǜj[[S[_iCk[_P>X~7ؼm#eϵm)>qBm>sT}{|n?vTWvc%W˜X/s(FW ;[TOc VZ.Vs1,sUhFW?fl NnO+@ FL,ɂ3.FNKj"h%d_g\~]nan5*VF݊b$ӭnϟYR!LQF"6c,?H2h ?WyZTi;Lv 5 bOXGX<'Zؔaͼj6NB# _(F| 8; Mބ3*]3*r+i7=Ty3/ 4KfRscXidIr6w&oϼ cMZw0ӹdb2Ag: ?\ו[p,= 1lj=m}痵ܷ; uϏ5/?1Li$c,3*LĐ?"ɄEMM$h2ƉpdXLAԙf`1Ea{Vg…l(em`E)vv3i7 pMށxx&4#Qp2 7;P6Bb7gLfvSLah~8>f/$&w&w'6fMJ5E'ؼɚLxW&X,9S& W(]BT"8KH/(`(`})`M cc0Z8HT1T H1ԩ~\ a2 a2% 2V}=%ӬT TFDO y\IB6bH a b8^/d]ĺBoM|9][y m~W#곴&PM 3k Y8Ύfru>VM\BDecPVm#,GŰw:]2@:40/nlfñg.rC—2nU9t [A "2-h6b2WOR!Xa`VLNQ B8hm)llgjip,gjUSa 1Br0qL)4厡Ustہ BUZdTŠnە130ϼq?ng~F_럧?~_JŌʉI aaWW>Ϳݴ>Wж팰3 {y[~Yz&Y|# wN_52'o4E =dn__&~ED;Xg#.hĠcL|`0_>`0DKVIitMҒT_CBxh49&]~uL abkє%VhyGaf'0bq](.o[%›nӣ6&X&'j +)'h0L|N[c=+!t)=ޘx Q_;X(^@IUVRSQѼ2P&$e#he~H4)h-2%PTVTXDQYFB1eOQ`BExa[*&ĤъŠC107fhQc hQg ;8, O(33eNL^2eT\4FuA-ZQCF(( WV^t!O4ytɣBձPGIF87a2yyyqqqooommmiiiaaa___YYYWWWSSSMMMIII===%%%~~~zzzxxxvvvrrrjjjdddLLLFFF222ſ4tHtHH4[d(hHutl\DP D\0--[,26.%%9<55öǧ2ƅȕԊ.ڳ.$B@РCxPҁy:h#HB:p:rѐȒG,T%F9F\GG:eYbg͖/;kbŖ-|xJت@dԘ#ZmuaӆO@ a+7q,A ƂVxq"Olh.q8ph'ё ?c'i  {wX~xfA6kF 0L^k=I|8.T@ #3x|!域܀h5FO! 6 ho  q6U0*0T@ ~TS߃f@3=ȋ hܔA; ,ybz2dJG n>!$M$D6 ]" 4*Z$H xH8A#F2z$6'F TADAƑFe"cF,BdknU$(8A7Y@\glA^ R/FcjR"֨j#*~TQ\} ՛ivjM^+`br9FDֱ^Xfac"0Ws6ُv,mkkLu_[݅XeI]PPeZcnώ[ڶlbmK筍ά4` o2x@^1hDw\g L6΃u:/v=ŵY"h7qXWQ\qܡ c:!nHl ) yp0C( }ĞL3IЎ  ~C ~px$2 | gؾ wi>{. 9 yp@x,mHnq!H#D& DvFTϤ ٢=F9eT1=։1[.R||`u=  ( 81@30XTXw]"8$X&x(X sK* D^P#!UUHN@P"@:cPE6J%uVĄ pVIDYYMYWqtZ_hU^[v*\DTW]\!^!H^ȇP_}yHk\UZ5qGfi(21||!]% h\C6Kъ hɵ\ `(` a`-6b @ց%vb _g5VEb_6`ST=6A_q66:xA_hq!c4vdp&P !&ah]_6'!.",#P(/fuQ2%UW%[g_&S&k5h!Y#i U~pdL'ABe7y/`7{$#KiV""}'E%a(R&(<dJ"W9f`(gdffFm%-WsvbmiIi:D \r+ ,<N"5I,H3kuk309ʦp0#021&֘{9rcck) <tq{)n 1y1.Yo901^cqru4-SqW5rqoes6O(;:@n")*jKP&f rT, oS'9`/* 3060vk2uG)c*ptJwxC?:'{W@J@ **$B'x~Ҳ|XFg i,wTSGwGJa\,|EEWdcAjP5}*lq^'QSk~M~o$% }K~} Jpe( 0JMdK LQ.b 2{Y&MմLeQ !MtMTJN H%mQG0NDdhjl۶npr;t[v{xz|۷~˷P{K6+I;;{kй { ;}{; ۺwj+uߡOKs' q+Uko˼閼˶PЛ{;iսKu2㛾((XKۼcP+Qۿ {+k!;6  U D^F~Hz+ƪ^!*HX@9jBĪHĒA0 T`QRc ϩ@玀|q`Q#]O_(聮Յt苞"[EL腈7i3x\l0`qE\moxl[N\h.,ʳS̋ Bb)\LQݘLv B)! RИ>`랐~ΐB>S3h&?ّ6@fb()"I g•m2!g&""f3> ( )= 9& h>uiݐn^Bbv"1O )TmXշpfp"ZvȂԚ1PQImV0*Mokٚ)ioR_eqs| {iqӛ(q)6Y,}/_gMw-8}/y_˙/m^"֏Q'* Gc/y7z׆o څ0v y%o4mO?rL=v#'sqCӃ;%SZ=s0.0v]MJmr(=c:C)΍sozuЧwz`aS`ԁ0d3!9Yy) b3RSrthCa3Kk c1C#;sxJ+IiQQCP Z: p4Q0l̉=>m:8dNjc ԠB2dO(̜A{UNYT*Z T(6⃅#.lt%fF dxĪ#-}ljf1{tQB,SQx"H$_2dʕEU:sȒTo,͚g>;ѣ\6F]:%0:~z1YJP ZrФK[fӓAYt:6iزC҂58 W{wo7W~TuSm_Q":X?iOV-G`` .`>!x;j QOaEOaeŠ>m!Na4^هmk7 r|Opþ>vKֻQ˜[!L{!L{c$K{ew1Gh&SmSmmOQm#y1isqREqa޹a(pʳ\9B74YF i/i\+&q 0Mλ} PaׇyC.iC. })rMa0m룼-Š3,V\!J\!\RX1rCB7ͤ[Ivz☦0mhŰcjx0qu~)L[Wmع´4(mN a:-13ihRcȂ:a:mws !!]˲ /QܦX<,bg8/Wp5>=-$%6 d\:4MhqhqXa$ҡCE&iMMU|4 qФ:!l:BLԖ\մ]WiJx/D?y* ᚯ#F^>5Q{V]LT;Ǥwed|qx/Js(CHyk]\)DJ<%M4Ʒ6ьvMv+ͭIk;i[Ar+ j䃜C?wMw4y CKk0;Xj.9W`zFb\t:r]aޡmyx!M==*Wq0q$ݻ:V\a=WGr=m>ո^ݎ#LVwFt^[F6-\(ئWgF>\swߛMK~]<[# 4 4m|?sUCMK%omHc+.W6]!MyF[W #[wˢY-_O{:4ItXۣYK8r!(۬vnVhwVM3z4fCI}k2:Hb\{ZF&o-#f>tܭ0i6˱{{#1ޠ綤~z4 4z4uh= $ӫ_Jv5sU'=OzXf] nVEna]+DX J& U#Xf?Tnz*{|]dcS[~44Td,]|3ew}RZ&ynjnhۣSEZXWDsV7D/ N15驆zIףIGtS[{ n֕G"KƇw # ]$==p$DT ;ЄZ&ɬգ[I~G`=mz4ٯ8d!sHɑd ^\Wn=$d$8Tٺ zYv\ȲGȲGȲGGGyKjwE㼛ͣ54&.=p5,S긪Mrq=lvh%^{ϛy4ݬm .{wOT,F"k򒧕Fuyq NmѠ,GGQMI?I?f H/_0o~h#%}":AD4{ۡU*\8CӕF 0>uA9o%tCW{9}v;4Y=pHR#C7kG󷽻"RtaUYt.84]=X)~͹4o{W\Ճ[w}prs;bk^HfMh#¾o%4kKh4~OKMެ*=*s[ץ]{HGd1{WJ;{JncbձB 5 Ra؎]tBKKn +~bd!T2<K{0)Z։ێ>rv HW2Q#L/tS@F6ۏ*7Ҹ^NGi$ Wz|_?>4nNvܰrɖ -Dɖ iKrO~)2̆%^GY_פĸoFO~8s%˺4<"Ц,auTk"<СΛ2z HK8zuS3rع[xP+4|ma&5)+5៧ZncBjD.[1?;+5]K^6+_@j5.WB҈=,ok媼tg(o(`̞+l-'NNye%يm$)ŗVΧk3e}дy4^n0V*xU ,Z `*jWS:2~+&^[ leVB%^oKX^ob)yH *bǾ]Q'ŰyTBJvBSRԦ`{&xIr-eH̬sN-#+"}Z Z#hY,L –海-r[-!TxDO/ ɹ?%ĢXS%bYtTLՠabudbE ̬ B1:bRl%Ȼ泏3qmzW3u'2(jql79m%E@wܦdbSVEtN&ea&AWKE48̬UgY- g&VGvZ<Ń^] |≄<O|NБQjc%>ǿ)픛1 `6bҘlv4fWđ3:vYׇ#Adq)PTN^Uw؏ z>м^2{sr I;Y,O*[ŞܟAaaG_HQa18* LP˅23eB2j91Bà,u $2R)$ij90"Þ'BA,{JB蕺[Nz]ྗzENFm:ZUw׊Y9?\W;R;8!}"J5!$>>յ+aWGTؐyϏ,Sk4~dFxž#CoN8T-35d-yax5lJF%ChEh Hņ1P zIZFwՉ1¥AcLF #]DЀ\])E8 #]D91Ҍh}V'*hp1H#27j#Qc˜#}'oaht: Ċ#]DJUQc$M@5HIF:b5UhZGNi\hZG$>Mi4 H8S:P1uJZG.iԴp(L endstream endobj 427 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 91 /Matrix [ 1 0 0 1 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 98 /YStep 4 >> stream H*2TT2P0P04Tp<P0KP(mke`ei rA 1e !2@N0W @|c endstream endobj 428 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 92 /Matrix [ 0.75 0 0 0.75 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 96 /YStep 4 >> stream H$1 0C"G+PtP7! ΍0JONpf䌜 +hU/~VePL# `: endstream endobj 429 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.5 0 0 0.5 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 96 /YStep 16 >> stream H$1 0C"G( 88Jt!NgQ:fY \+**Dls'Ƽ.>ϣ endstream endobj 430 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 63 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS` endstream endobj 431 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kQ" r endstream endobj 432 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(ke R @js X endstream endobj 433 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 68 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r = endstream endobj 434 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 139 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HD0 DwL6Q|CPuk+$ص"x+%VZ.jdx({]]|J:՘JgJD#=k鉏Z75Șx=osٓG` X1} endstream endobj 435 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 108 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65PRFFz&,deng5,b$@`9H6 &, ` @ endstream endobj 436 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r \C dN.L…5j6X`7 endstream endobj 437 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 164 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H\10 Ewip^u`@l0(,\;vڡV;HF'TU>UƵ5=ƓIm&fZF߅OٌŸ`i;](!jKݐT{,;8O=||#FF endstream endobj 438 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 226 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H郞 d}e endstream endobj 439 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS!" ~0W @ٗ endstream endobj 440 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 114 /Matrix [ 0.15 0 0 0.15 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 80 /YStep 80 >> stream H4= 0 !- 88J+M3}Ir8A ރ܊bX7Ʈ32٠~y[}%o=XK@3M 0o" endstream endobj 441 0 obj << /Type /Pattern /BBox [ 0 0 60 60 ] /Filter /FlateDecode /Length 218 /Matrix [ 0.102 0 0 0.102 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 60 /YStep 60 >> stream H<10 Ew'@cw@b@ 0(,\ǮZՑ…';퍽\ǵ/7oJ~gމzur!A]{}SpdKI ւ3)X)fEM *uI#``GIcgi$XM3<<> stream H*2TT2P0P04Tp<P0KD(kejD XBH*d.CC=# * V r@PH5DH4 lB0W @hU endstream endobj 443 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkVS` B endstream endobj 444 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkQ" r B endstream endobj 445 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 149 /Matrix [ 0.117 0 0 0.117 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HL;@ D{bN+6aD((P@R(ֶf&`邗J|UיqƨTօ4b$"n.=̨!9i=ϩ8T}.Wj͑䶋=!wo8Ӊ~ 6 endstream endobj 446 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 122 /Matrix [ 0.05 0 0 0.1 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H> stream HD1 0 E!)ApqA.^$-^^n CX&\uǼ0V]"2Enʔbc\WM(U?Po>I'f endstream endobj 448 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 118 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H<= P b<ba!vZ( x}"|aHp aw7k01,+c#0~4EVroOcr]H ܪr( ĨTq^(& endstream endobj 449 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 169 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H< 1E[[M ;Dwp$MQ8F' >Q5= .kt;)FaevrXFi2JhI\Ro43U@a [Za AE`~O`~Sh.m)KtqC 0m: endstream endobj 450 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 280 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HDQ9NA v_@"@ @$|jv*ʻ\d?dM2ߌYnmy\<,i8F)lo|[;kynߠNT<_^8 cExO>ԛ{SFl>xoh&_Ud٫Dڡ֞*DŽz8!s\C\\ǪQ:le1#H:cӱ7 a{%a(Zx@p}=eE8s}M} 0 endstream endobj 451 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 54 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 452 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H2TT2P0P26P.sm @iZP`MȊR endstream endobj 386 0 obj << /Type /XObject /Subtype /Form /BBox [ 20 255 404 822 ] /Filter [ /FlateDecode ] /FormType 1 /Length 63069 /Matrix [ 0 -1 1 0 -235 659 ] /PTEX.FileName (./fig4b.pdf) /PTEX.InfoDict 453 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /Cs8 468 0 R >> /Font << /F1 454 0 R /F10 463 0 R /F11 464 0 R /F12 465 0 R /F13 466 0 R /F14 467 0 R /F2 455 0 R /F3 456 0 R /F4 457 0 R /F5 458 0 R /F6 459 0 R /F7 460 0 R /F8 461 0 R /F9 462 0 R >> /Pattern << /P01 469 0 R /P02 470 0 R /P03 471 0 R /P04 472 0 R /P05 473 0 R /P06 474 0 R /P07 475 0 R /P08 476 0 R /P09 477 0 R /P10 478 0 R /P11 479 0 R /P12 480 0 R /P13 481 0 R /P14 482 0 R /P15 483 0 R /P16 484 0 R /P17 485 0 R /P18 486 0 R /P19 487 0 R /P20 488 0 R /P21 489 0 R /P22 490 0 R /P23 491 0 R /P24 492 0 R /P25 493 0 R >> /ProcSet [ /PDF /Text ] >> >> stream xͲȮ*{,32!@sdir 8Xk-|,x[D;n#l |o6cpR߸&2/qY_[}Gб a8MWDU`U1ty*T8Hz_^y_ c%s D8iWe}Hl7k#lIKen#9=yz<ƅ/)q$Tjz/۽Bm\)n-}9x"ɭO0!s!,n[pZr˵Ʌo~v=6h,p6 [e/ێe{7kc}3Cc^(qt^ 0k Z3&Jl"oq;o>t"X,Y5,o;CY#6o0"o;14!^޽s@Ըyu %ض<_qz~e#<ƚ>r2+_gz,x>G9SG}eod7m}Pw$~}>x%76hi' YL =Q|A`MPƽ/m>',^vloZo*s5qnųY `z4!ؾ;|!X<l"-`|=n2Jw>=Fر /]R@rILƣcUd<=o(#l/>8~3owD{eq b:;e.W+wwM|.'wATv,6рF؜mUَ9 -nsUF6ku+jV埨ƽf|> 9գ=.՘"QAط h{܀|CL)a}V|X_jXm }( YfXp XPfPI̧GIF87a>h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,> H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s@K0@t%Q,Diҥ?c: 9dզPjT*WWQ8Vdْg5֬բ`˳ݻx{K-ۣt.+%`I^YƐ#+\0e. '̹ϠCpPQXlj=k;u_>US5XT[Lg'+aUVo+h+λ uG~yw֥L;.">#}ce?=ܭq7}aUETU& F(Vhfv; Q&~6 FUjLAlZLE6E`Qf#Xȶ¢GP!Xx,YcG]1>ݥׂU#XzZY둈&3*8V Υ58:ZzEͥ:-P"GuBHZ1?FK75Q$Q$XL2A7q5XSEXdt(Rץ%\5Yuƨ 12-˧k][lɂhgrJХTuP} xIGR&T4#-#-jQA :5},˲U5gBEw] F^;U{,P El|̫"܋y] 1 orSؤJ=:2B JLe=+]S Ui~/G _^:ޒr΅𰖵(Bk*ҥjR2f[ BYǘL*K`ь1D9K(ZKc1,qZ1gi䩁C@!T$ԬR ,bZ9g8;kF3ZSh CT u1ᐥT+ Y"0Ë&_=EKZ5M+,665:Z<[9> Jx,WTU3r%N-K%w ?gpt4IQ0MŤb'Qt&C%Ij#|< 5JӜRPWbFeɲ`f,gjY/Uڼ`bxMMJ4e^$5*jx+^MtoO| G:g@ 7ī֠}0U ^-4d~(`* ߦ=g(P0l uؤC5լLEBMVUw71.Ǜa*l\f&4oeQ^p,LU1E٫Fee['+\& zW%UL2l%D},u8duٿzf ׎S3i2UkeX98Fy@]},J_je .f[g=s \)UYkrƬPXc1>0aL6>ձY/Lè 0ZP ^N:6Qa%E@EٲFI [*d%/b)bgL9lj F`|9uk"&,8Ym5ih¼FI`(vBЧ{fj5Jvzk$Ӌ^dri첳dšrry4" oӈVP TTYQMMQvh9&ijTPt:G'_ĩ .{15b36(1尦chmg4cVPQTk{ ~{\noޚmo oB5*aa`@ mX%ycxWj+#^Do?5wN1dc`&޲aLwin-sK"sx'U'LEv& \2~3JT5L0UƗT׷ңYee3Ϛ[2މ9 p պd,dJ&m>QpoZf`1)M0Z:&.ɫOɽ2-*CT7 -Z,?sVírMҪxi\_*UսdѹC4k&ݬgVJT6)T]oEL`6T71 ^5㠲AhHWLh{1g qV4]GUUkF͘cbxyW̊Gz|&]S`1MƲ ;TqlIMkinr| B7Tîa X|:,vZBMZsIƛ_ŧ6D{QG/Q!o>+(+o5RKEfִ>rc^0Y0P)be)[oigw8Mj^U"8g䜵l\r5F9{gU/ol,{P͇J)xT7)gڼYH/9`7Kk{9Q)ދVxwU#WMBN~z?_dz,whˁ,{\fY^yUսxN[sdE~er"GY3 +t߉DS^$j"ȾIv(- ހRqDeYxh{ 3wda ,}(Ue5 .py<˂YXM: 4o1Bl"(nG>VQLk74 0[^|ch_ 7RV;!, 9u9<ޢ*8>vE$ߗh&zE4nσϠ~oQW}QiVŝn5p45p6o6801ԑ׶t@N|?T׽s?TWO5S0QS3cA}ʞM]άl xk;,L>aىR3sZef&[ ͐FN!b!- SS쬴BQCNz*&;6u^RYqigkţ]-.<_NM38:>:ԙ;p33:u!vJ ;8ieAv@|L6ݨaپp$;^tٜ L~ -p*sQ{zxP'.{ oaL = 8o%; ^IN`or1N ^x~ CԨkT>?lc;؍o:wh @ѥ)AT PVl4ýEK4~?)IRBшD^$(IQAoO E E  H.b%ǐԘ*j F  ڎo֠heԠ)l1f(Aj"Ԡנ4 G9E޼h_+JtZ{+35/A@|s T˷2J~u魅Tޣ;+^>o]Uw0^RB-O&Yu~ʼFT;Ǐ|Yswqֺ\uι:(tU*R2%$m F߭ŋ꼛'x:}r; @^S/#Jx$s0G- sy̾D^ѕAqh$U]+ J0ԠYt"Oֿ/'(G#\4,d$TB{щ$%^$Si9|H$G̑>H ER_(I9=;;{p_eN)PIZ͈3. &Sko OGdO 1[(wfc*/{RS!TO iqof&@;S`԰L{@`qn:cȀ`aϰcd`*w'+(?Љ(^D4ʰ`,,RWՂ/[5 Lu0]YwKYx^VL:tUU\ h['Y۷N_Y*8fT15nbvP]2x ]z!Ş}2fFP{xsT~%+uY=^bVGS5˟heװ,ILEg>~s=;5[*ޢd! 5;f01yy*4̮o~*w8jWJ%*Gkj5J5*,:+zksa71_PQ(kdkq ɜFeYFir[!g]橲~RUF_HBeF:p? vM(yf۠FIrP4(yK5߹a]K=2f#_0 a.M)<6jRԿO_˿GqQlOx=m&s5[cu&+U6.Ͼζ??^w'gˇZuB_9n8vsY8ujfX|Q+[ s}Ra6".X>`K;etkb}1VjTfuL>jAiG3ꀹ1h\L}jqPS^3z,1VaBA?hj4,zJO+ےHmdo\>!IlEt[*>0Bhl{Z[Dm sI }\w>nƅum41>6Կ=AWA18ϜM}Gx;-x@0I}b?TS1,i PC|(5`مx~y##Ra Qò V5wN|̥˖M- 7s'TfXae XXL]Ά w~%-SI]2sS~{WÌJj#b&Gs#C+aRx;̠(gX v3LglـչK4g7Fxi^D'@0gKmv(Z9u>;- q9Q 0FIZMA<6,c6GBz uV̄R&D`EcZ8͚S"VLjHt\j@j,<͚NjS`WhSèod)!:-5L'2̷Nߋc\:i{ZT*(d+XF~SǩzIp sLVFmbM6]$)a[u|V46`jnLm,I#Xa`-xI"ly;*E6uȩĜ}7j6܀:iS\`j!u#88F6y>clrNcsvN'?Nz%d2Lk0H8;1^tMqd?RYRB6HҺu:xKd3fjoA?sQS{Z}a-پl_@jO}a &5:<6h\uFy=[FGъ9fՋ5aDfhy=: 6muLEGg)UarP!&u en'VS]]UBsYԯW65,3Sw8D+}pZ8KEbna2A#X|2^ܯة|~o˃~;I@P5԰c)r{.7뱍gol ODGRIQMou kxvSb:3eYtk4JPeը~llyq J0ujX]'?!O<DհT:!l& ZXjTv:k%ЕtԢ֢V+jȊ-Y'kc)37Mlԛ2sޔzW悫wUzSEM ToK`]]*zTrf^Q!l+e5lk+G-0Z`{W2[\ ./l++3,u:++:Wѣ2Sw=⠾A}&թξT]Su.FF驏7 c[#ӶV yRS.=$a$c9l @IRq1RN6ru,O~AKƣBB^H`5!XhI6%o;F[!)Mπ6Ch"g+%x4igR}I[]V Sp ;#zD[&`I×-ʤ&'tD3>㲉^wd/ *{A3zA.\?tzhqc^K!q7Grοlcz9fqs3{A-qCNy!T`ym}w!B'd&Y=΃dv`[C0Pڱbt}f:\@mjmhAc^%&nPCӢ*yIUTH]h{u\J0k]CH: 3{S=dn }h˫`qBUDq5?mym)tFP1ljw땯x[}6ni9äI1jVL,N]YgȾEDZ)`R,BVcrwUx7^lt Nj^fQ'.z<6uy5JǥnM;T:D;T:5Ϟ3==jHqJRU ji2FpUKL|UW ˋgs]l-GjGˑ18s/_KSE~>NJx~ӓSɞZ'l,kPz=_3_&5g_Ğ.afb3vFgcQkN23r˼ȳ]2e:d; `jw!.vwd;LY沩evP(f[̻bzaչdW V@]1e&^ST*uvb$GIF87a2}}}{{{yyywwwsssqqqmmmkkkiiiccc]]][[[KKKIII===;;;999777///---###¼~~~zzztttrrrppphhhddd```ZZZPPP@@@444222***&&&ÿ[,2Wp[44"^YY^HSSŶɧB§ȅʕ֊bbYܙY 6V i+ Jplʆ 6tcǐ# xFC[lĕ-7v1 &TAbΞ,9 5ĩ(F&eH "_ʈ/r Eسa櫘km}RO/!Jh'EW#0X A@XPPW2oZʉ,,L.Dz'5hb+XЁԓU,ѐ2p[ݻ6+Yȫ b//`q+ xY!ќhp"E#E,aBv3|8n_f[pw\ric80ld;*bX\cph#AAx0KdsXEȣO0b Fp<B8="!1XX >PKr~08FpYȋ~(xW4 R^a(9Ocu) : C"B6D ;hXtsz ,L`ꕵWle 3^/b, Js.- \<@]N\2A*  3 /B mn ( GB0^م^ˋX 3gq]̯4k䶀[ Pr+lfYo3ZscF ̑@ ?`KȤ >`7K SC]@ ~5̢m6j-{tE#7j%΋M@n:5i1hq~ @sE} 6b;dV`F.wi_ }$E{.E FD.?낼  c90^a1pI"f^<!0f1`pa/p  ~aXr … KxB֐+`߄H^ao؄ } ʏ +pXd|HF2P/>ʼn@W%G_PY AG<fP,-_cuAv#iR"9IB+@uIC! 9e6 LF.2 Ec,A/3D׳N>Ғ@&,S4Iv -A$7n:š6IΞՍ (F|a,< u^|
j%R%* խ-f>ʹ rئ߯f0nf./H^18BfViߍ9͙{+'9$lp;\!9 s';Ki Ds1g85avye\ّqLCu?}]P0/}T`Ռ~Ϥ1 |[7;΃\h]aE0,Q0C!yc'.믰{q {.x#7L^HE+p6D"Q\" ؆1Has O 8, l~{4F$~W`Z+V@p@+fFa~bOAGI]t aDx{1n]A'Hw~5 b$4K`GJzdL4LdGLIGJME`KtJW\J8G8RxQ=GW>p}d\AbPO-aFdX<Iq.%@z؇~6rXxTp0opx4"8Xx 7OV#eMՉ0yCw!W(OX"eiM![QSh7$w]Ƙe ɨPxTt.^xŌѸOG~Ad@qAb,e][Pf_?@]!d@`:_U1c#vv4@>2Nqi1L`b@cvcHK4aya!a{v(f" iBƁ!1g 6fQQ7}&]Ujq_Kq@ RWpd1`d0!ʡaNIe1tg1 աis I2gQgm()'"$b))k`2b`&h&l&'`j'}"sƙDnS ;\r'ybGi0*Bp|[#U6%=#(ܖ-v22(n#)* Φ(l%qx.^N" GA,-R-x.`oW."o#i%pr7ww# Gp:NR7+ٲ5%prT/ z##prphvu11^tI&(2,=:s(7!u2w"G5J*c7%:Zt=Vjv9q34Hsؕ0ä **fzO0p w6i6Twpw7uĢumj`@,` r" fJ]zwZ.j8-$CwvG5iG7s#.v}~Syc ȧ|@|OzC:z4$wx泬q X ds;S.ϳJ2:\6 !I7|J bL^wf|F|kc|]r\i ix-LQ~|{q|8 8MQ,,n}ȕ@ɍ` a ɅW}ɇuY@ A 􋑌t}ʒ@uW8Ș,ZSLpA<|o\ t%͋ d9{ 6cHERxb)b7AQ d y;v_G/9Q| 4͋0x9el1@[ A]=Ihy!VhB>,}g) JdNe&ffI|uTA+mԈg&g lE&W&m_R()йmGvl"w'VF'mlf}vjjVM֚a̚2l"nHcJ2'l%ow\wrBb5qݢbZ ro͢ܒ6o…M1Zqm1jL`*v\&S'3~c4Ntr?K&wK77GV #3j23W0Tjsmsqj w]էzvvBwumwwJuVw0CҸōL߃WPx>Պ{x z:yT=-3p0Z|Pr{xx2ggï$;@ny8δ ~5۱Sq[ *,LU ~.GQK}և}G6k6Vlp&B!sBUa s89bGsضJqJv{L[w@ι9⹊~1{颺ӫ)5Lɠ` L(N,vX< ~Ap&8[An|i&̼֘@Y~n ~ 9N  xld`mt_?_I "9/(iNq-,a=]TI+v3fX¡bVӢFC-0bYdeyt&6=u5O r/_N3?%kؒ񩚱fl)S"MV9WG"e=#m ٞFS.#G-Bv ]#Zv`-ڐ_-],3:2ܐ/Lr7=:4@z0ͤbrW3s:thϦ.oZS5XS60+B7vZ9d5O\ө^.O߃ЪֲAJGNy0?`vexhrx8yphH0tuP$rp x 'Ubx1by) @rkyECS\n~Ξ6u`$fSv6&e70R(` 80u! XbD1{1ܿ Ȝ)L\Ტ+442aA1_,fOf醈c}ś <6($^2رdˊ}d&1fH~ 2c+v;(p+cyHʀbn;`wE$"Rd`D}ěCY۵Qs]K mGFteW<0`nX7ɑp$# I=S"b/"&mI$s֥ E07gjRZHbr"̈)PBnԬH7.l)~Hɋ)~εx#>ᒑL42r$xMK'¸(!ŌY8T+Hǘߚ`qRGӧ&qtҜ*݈@JZT6ҕT;NDcW&$45Ӕft4=$0cP$YKʝ$^̒Ht(,¤ D`e7pE&TEt8?Qm\ |J $$y?2vۖ%:@TISQ~_^"Bqrζwmgxv':R9,+C Vc(KG~<]MeI} h,L># M fƄ.JT*fb^!XoRb%/fXaIc ̎d03(G/gNZ:'y Y܅LK06 a}b|^Z!Kmx oRS/@ \:+;f [=%.ގH.?s}r3lB0/ok0^єLIb@oHbBsyJ $,5ՔxI MNbRbR0Jv-CR38e+&VL6@ Cb)甧ԜSGR)ZX3!Z6hVL2(ъFz!RNQG:E)&LQ .Ʌ3}CR3bIMD%s5%*i%&$JTEoRtR?E'[C^(%flIF2d&%81IKpR)(# `~ lJ?Sa)V|@ĒvlJ7$heW/-)M$Db 3"1ZBaR%u8%&i 0Zy;qzN\3:TrvTST%.)0IKsl$h-c9 kL%ۨݖ:MAvx.^R 3WH<$h$&}'H KG'yx{?U^bRKIZb -وU%KYd'f` Ox,E.x%.DjieSa-5uC-f䘫( ̐9枑tnj]/(}R#13&ɕM%3( L6>ؽO&l:Oڗ6LJ:#<&IZBU_S~Y~%B Wp^nj$6C l:~o&-.b#guJH{9k~ӜݖDžyYVoԦLڴVD`)!+攐LbFDܸG=O $AZ+}v!5dlRwEci#/T}yp9ܸdm-}v_\WO& w;` ~|E)DS qp4ZI9% ofR™kJ8ZO'\+RʙH)WoTyOR)?T襃iK ?#"lTy'o9V(ҼyRrW7s^fS[Tٙll̠OҙkIW睙r:/T)L}3cz;7R=?O 9sA3H;6ҩ82[Tա2Ό]9oSYg.e9s&g)L6ؙlؤ;%RWgjLRy)L5Fj=MzfPRlփ}j=DM5Z꣥@hݙIwg.H,ݝY;,]݅MԔj:j:RcwVȿk[:ǩ3$m]u4IiJi0)9@Iw!mh]?GK¦ `kh.pM^UǓ `ZTi aSu0ՖL;]۬ߟ.#ZCr aS0i& +i\IJ ANY K='z38er a\{85` `xL.w\jک[2 `RfL+IY$2 `4PƩbrXꝀL^ `Ws E)K6 `I:>^\NɥJ%J%^J%I0)&XKK0ijXj&-TyJ]'AA`RLIcx;x|ݩOm5vaO B()W&]Jt*S%NeJEjSXC)\iR 0t9=Sb.T/-R4) D*K.VAT(HRIbF$ M~8~v,KbEXҖ"LL){dISdEuouٮJM[;3ݙl˃I*2_SW/Ā]Eʶޗ.uU^Фb/D6i[Rp]B~[Hp^}y]cy\ӗ@LVElP&)/'cy^sy\leP+G_}>lǸYc^xskq~q%ΏL%G芻;.4C~Pws\ 5a^fk{4J2РgY;ϤWӻC/J4 C%?tE%ߋ%zT,TvfInn*}ڡs7T:xOV#|, .PkwMhHn$&.Pu]лπ"=LjwL)v73(v7cej+l&F %4n( yK#|/2\%)[L?HwC,gB`[f-,t U2J&X b\CM0B3L ,4`FR,ͻ]SJ.,B ) ok &X `*`<ҷPC)|  V 1B˰ˏ%*t ݯV59H`C{6إaXxvp1U /BK, .Î+pVZ]hj]vyT*Ժ ۹GIF87ag"10νZYZRUR,g"H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵ]v  4xaB@@ DPB >QD-^ĘQF=~ɑ,h „  <0… :|1ĉ+Z1ƍ;z#$XA   4xaB 6tbD)VxcF9v$G H*,0@@,h „ 2l!Ĉ'Rh"ƌ7r#H8`A&TX`$XA .dC%NXE5nG , p  8` 4xH*\ȰÇ#JHŋ3jȱǏ 9X@@ ((A   4xaB 6tbD)VxcF9v$G H@0P@0h`8`A&TaC!F8bE1fԸcdž           8`A (``Р8`A&TaC!F8bE1fԸcG񡁁4 P `0@@ 0@ h` 0 @(HAh` 4 P @4 40Ѐ@ 4 Ѐ@ 40p@` 4xaB@@  @ @@ P (@@@P @ $( (` (@$@A (@$XA .dC h`h`(hh`h`h8h`(h@ `h@h@ @@ H*,0@@  @ @P  @ @ (@ (@ @$X (@@  P (`0P@ <0… :|1"C 40Ѐ@h`(h@h@ 4 Ѐ0 @ H,hࠁh@h`(h@h@h@H,h „  <0… : @ @ (  @B @@  @@,h „ 2l!Ĉ 40Ѐ 0`hA 40Ѐh` 4` h@"A h 4`A 4`A 40Ѐ 4 Ѐ@0``$ $ <0 p "Lp!Æ."D!B"D!bB!B"D 8`A&T8P@,h „ 2lB 8P@,h „ 2l!Ĉ4 p "Lp!CH`A H*\0!$X @,h „  p "Lp!ÆB(q"Ŋ/b̨q#ǎ @@@@@@@@@@@H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻH*\ȰÆH*\ȰÇ#JHŋ3jȱǏ p "Lp!Æ@@ DPB >QD-^ĘQF=~0@H ' $H A $H AF $H  $H A $H #$ȉ@ $H A $H D A $H A $Ȉ  @ (@ ? $H A $H AF ` (` = $H A $H AF @ (` = $H(@D8  $A  2h(@(8P ` (  4xaB 6HC:tСC @@ aC:L(@C:t@ P:<(@@A  P    P@ СC*$СC:tСC  @(@  @@(@  @ P  P  @@((@  @@A P  @@(@ ` P  @ @ @ @ @ P @@  80P@ 0P   0p (`$XA .dp :tСC:tHP@ @ @  @@A  P @ P @@ @  @@ P  @ @ P @(@@  P  @ @  P@@@(@ (  4xaB 6HC:tСC  @(@@ P (@ 0P @(@@  P  @@ @    @@  P (@  P @(@@ P (@@ 0P(` (`$XA .dp :tСC:tHP@ @ @@ p (@@0P(@  `@  P(@ @ @ p `    @  @(@@ P   P  @@0P 0P `  p "Lp!Æ 8tСC:tСC @ @  @@A  P `(@((@ @(@  P  @((@B @  P (@@0P @(@@ P (@@ 0P  :tСC 8tСC:tСC @ @ @ @@@ @(@@    P(@@ @ P@  @(@ @ @(@ `   @@ @ `  @ @ @@ @ (@@ 0(@@0H*\ȰC>|Ç>|Р(@ P  @ @ (@(@@0(@@((@  @@A P0P  @@(@ ` (@  @@  @@  @A(@(@@ P @(@ ( @@ DPB *$Ç>|Ç>|Ç xÇ>|C<|ÇxÇ>|Ç>|Å<|Ç>|! H*\ȰCH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘38@@ DPB >QD-^ĘQF=~#$XH*\ȰÇ#JHŋ3jȱǏ Cr$ 8` 4xaB 6tbD)VxcF9vdH8`A p "Lp!ÆB(q"Ŋ/b̨q#ǎ-< p AH< p AH  p @@ DPB >QD-^ĘQF=Z@ă"Fl(@A P p@ @@ DPB >QD-^ĘQF=n$qǏ?~Ǐ?~Ǐ `Ǐ?~Ǐ?~G|Ǐ?~Ǐ?~?~Ǐ?~Ǐ?QA|dp <0… :|1ĉ+Zq"@p <0… :T <0@$X0hР@,hpQD-^@2f̘!P0p&X p@  (@@ 8@@@ p  4xaB 6tbD)Vx#D Ș1cF" L (@A 8@@@ p  4xaB 6tbD)Vx#D Ș1cF" @ cA (P  $8p  80@@,h „ 2l!Ĉ'Rh"F1cƌ D8@AƂ8P  $Hp@  48p<`$XA .dC%NXE 4 cƌ@ ( @ X@@  ,0@@@ p  4xaB 6tbD)Vx#D Ș1cF"x@0AƂ8`AA 8`AQD-^@2f̘!  @` , p    p 8x  <0… :|1ĉ+Z"d̘1#C( @  p A$XQD-^@2f̘!&Ș1Ad8@@ƌ3f̘1cƌ3B$p3fdH@  $X  4xaB $pဆ  aÆ 6lذaÆ 6lذaÆ 6lؐ 4lذaÆ "$аaÆ 6DH 6$8  4xaB 6tbD)VxD$8p@,h „ 2l0!@,h „ 2lC8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H"E)RH"E)RH ` RH"E)RH"E)r!D)RH"EI$DI$DZ H8`A&TaC!F8bE1fԸcGAH"E)RH"E)RH ` RH"E)RH"E)r!D)RH"E)RH"E.$qH"E)RH"E)Rȅ0)RH"E)RH"E"E)RH"E)RH"8@H"E)RH"E)RB)RH"E)RH"E\H#@,h „ 2l!Ĉ'Rh"ƌ7r#Ȑ8`A&TaC!F8bE1fԸcGA9dI'QTeK/aƔ9fM7qԹgO?:hQG&2UiSOF:jUWfպkW_;lYgѦUm[oƕ;m@;t 9[Xݏ]"ŗT_a*t0Y:d!XRY4d(l@ݡ/!Gz aj 25)!!Yɼb/Mi~L1A1b:B#bDo̯d+2^x2G&V: Lbx|s |w't6y;G%g(`~5~U+ BKC02``hUs9#T5#s=LOs$/ v\-[\EVC& bTj`Pm;wl̫4xk{Y=ei/]%XMa,pwk\еʠ@Ôq0|f3w 5~,(Zc* TLE:oכR5, Fq@:Rȏ8( (̎Sp09j!"5+V1PoPa$L\Q<``Lae@ "#dL\F&|F2Nu1mN< G)-xې $xܐOm Z|N7&bYŤL)&LĄS4$H!A&i&r̜d#027GEe&Y3 6jA$钒 n6D|T`CȯdzԞW;+ )0;p`Ӟ\w0F広 v00[S}j j~mpo~^<~m/`>mq,rm/;Vw:x_0{L{-lqO;;``;466sz;eH#Oa8hǿTK_Ct8hs5|9ѥq @xLxRDx,8d%+H&Z7Ѻ%SA&@'&;[` 6W#\.SSIA"1䋭sڙ|qfb+-84lqd:Cz7[gH@_,Y8+V BqRJo,[TӸ@`_2pf CЎ&Qs5F2Ե~S^*h]HcL%J{n)%K)N-u_R1ao`+} #iv0ssCwk[tOﻁֶ9~*/?W?mܟ5-02mamAKfF{uTE!7??y4n`d z_ E"1n`$bj>WςOVݸLVȚ"k:Dּdt;q+b+Im{>K7 w{y?R1+q?x t|X!_4}l0!ݎ"Ke:L$+Ɗ+?EL%oL;Km%_HCO? sKJ` LP&(60rFN†,|#ɟ 𯌽h~2eF?wHa"+"u(9v6f0%Km`8dF{:3XF} L92 yYvo?{㫭2zX{mcwq{746)`P fĥO=(WkkmNR='e$mtA.50ҥ4 ,.b7+98cd?K =!y"ڲq) 65q!h.F >R@$a3)l8EVb"/,`Z(p-p!"՗6qt̥7 Yl~"AW-aHl '8e3V\^5{!9ZC2LC 6!j˹&ScI fE9Q5$M Iaj{a`lja`P_feohc4rH^:ӳ"\Cckg/֥mzk;+^Vgҡږbk[6>slmQv;(&u0rS+ 4fþ= ]OPscG 8CWHul4)N3|>] LiTw=LS@oXlRKp ) ~HΝI84  om m.l [f8dkp8'ԣ OZ:w th-ҥyCZ:lrpfVRfY2Jà.9fHS t5@W >v>1g%yiw9a;f2Ny\wPƹ/ 2]&y\rLpjW0S| PF 1HC'9LM G#Uh` v=ؾs/s 06I"g`˵ u=lS:j 9'Jݏ]y:Oc*4s4F^wkAT#ij`$M l1KhF3}ZƱ024b-X!0B|a69!6Ȇ./fb*a+#-FPT6iDKe!ZxO)SfhW͕dBnC`EJ,XeMtQfqL@!A=aıa*F04ج=ϵ0G!{E&-tLGIF87aRxmmmiiiaaaYYYWWWSSSIII===ºvvvrrr```^^^\\\XXXPPPFFF222,,,Ž,RxWjH$Vrl:9ZUR$2hYNcfxU^ 0LwpMT^VgIK~sIujXZzBG~tdE\SsdsLekYJZvY|Nv]`ӟ٨Q˩KH؇D4էW33Ƙj֫raWIlR";hq>?/Q:RWd tdG5)im)Kf2SҪ@N-h/u'P[zUl'Hul\MxrU[S>?RJU+ǿ6g6kWTlj,| a 0޹_U-מә2μ6ԳʭL;+7f֛jnqqle⏥%~p7V|FJԨr[I k/L}8SGG-3E|7) y"9MH陗"\ߥa=ʈ"JD%XO.A$L- Ũ83` Xc=:fab̃CD#^zPXɖ\SO`)dn 6ɗGj)t kyL|矀*蠄j衈&袌6裐F*Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k*:F+&v~x_(H\ 7Xh Q^XԈ77HT%UE1EXVҞpь4KL  [rCwZxa AV b3֐2.Gk]WO] ViY]m$nk>~Uv[Eq;Sٌ .*:"|\ 6b@1vOuQe5X獫\jQm0[prA#?TOBd=B-t d}]> ڗo3'!zpfɭɏI,?!iP#S0?8! dQ=])(@O|>Am{6gլV !?ZT#a"I!') Jh3$ t 8@6[dr 0Џ/}g@C D !BK?B(qy8GlF)1viNtq 6gX\(\j`${2jYq3 ĢrB@؀|E)gAĈh2"0mX940*PH_C`5 LlV^d))Ukߪ2ŌkvC7x[)<4}GHQPPl 1$` :hf?p$D!.qQ'mH(~3XT'opY to[:t2 hi\~Jg/W~W;E?{#gq_t,GxníAJqasr9,M@0x+l@V@a0.`uc W2&b+fc0*VcxG_s/2.w2Dcco&nSl7'fekƕՓ5-"" e'>V%In\Hi0nqqUj;a-w{s##FDt" k1n9#42)2r1Qlm֘F\fFihC3#9lќQS93ul+D55C5 df,$bup)pöؘgqyWzG#`rl7nc v~c91{Q_c A7tUY7pVuQtWW zC8ןˑ5!c7"gPA^39auxhxYy0zvex|UytxSyLQ;c 9r = C]W a;cm@_g|HOۗb2}y H*~g~~Md {B{1$1D|!lVEB 7Y!Q )4jgbz@ &ZH 0`6D3*V\*@s.8Ed,1D8E%:..@3-҃0CEq# aK8M(V0.x&\&h%jNzWꚖ%&4O/wT([PgHiZD;uVs(Sv Kit KKI',۲.02;4[6{8:>Ka[jWV~ѼFs8](|_?t~z${.Xq섁q'`-iT`(*x݆wk,!5[ 04! `H8]v9ghcc뙘 ͡8ϽMiI-Ff hac`܁t{xwݞLy9?O-M}Z]ɟfn?ݟ?y[Q;sŗkOB.n|P!hӹplob0ハ|pj ;#zԿ׹gxkOppdNwnmۃٵ~=;x:V?۽-H}\ϧ#XOxdMe]zo?__o~8yyOO^K![{k 3 #g-G>PK~AKK_3Ǚ[ĺc@5{Z‘sٳ'|:} GBx|'~|#[{;G>Pg|~Bȇ}| G> ‘3Z?T.@ #gfyǑQgMm?{˵3 KovY^8~gW F5s=hW;{=f.XNֹ}inyz;KhGo}vCgF%,)g}Agiu[&gy?Y,L[ea?Y5;8e:j}u[!糼{dv_N^81c{|}[>r|׳<<[{jƣm}=zA dܷ(_=g糼z[68>em~y}>+E?[{M/Gv׍ #?/}1K?Kϫ-S2-v3$@?VK(D{>P։‘T#P}Fb>?.#P8z]G>PSG>QϾa@#!a7ӟG>P/yq]^Ǚp.q,^ a#3u9#8G+ܯ5$#,/-?#]>qOZߏ˅1?o\Uvqyi; Vw˵߻1uY1n[.k?3wUuwb?Ze~OǾW fpK'd?;{?Ʋ.۶GXb۽GBܯscZm'~Gn~6Y.-! #kG{?:W\lj{!?zFz#=mG=ƙ^ƙl}?٣q{oOy#moy7MO[8܏u d8ڏ'=3I~m{?tF{t36?GzqڏlXf=iwUox>לHǑފ_t38c?#HqvHbyHתӑu?hr}I$8r߳#m8[Xq3vvi7kr1i}]ujɁjןםj ծ_yCj3y/4˚}u^=puNjŮ{ϋ]o6?ud\{{D];xmŮƻv6u}u}/_k];2(,uX\'yGnR׿6V.uu9-uKq^ꖾ X}R׏Mkݲb9׺~^ڑ}^#W\떑>ֺ~`Dk2⧵嵮#iGZ?ֺ~dX=CyOk]?0V-uȸ׺~dZ׏Zk]?ϋ]?VvgO#yW~#V~dXj׏#ծ_#]n?r;v~^}n?r;vn?r^b׏/\Z#yGw?-v#3G~d=/vn?yyۏk]?kۏ׺r^:~׺v^#yGZ@ KڱfNhEuZԖyvZR]mִw;gvpmR/x.jlz^jr<,j͂ :-j}z1jkXՖ"\뼅m1#n_NKތ~^uKZ?r#`MGӚ7kڞ X~qM}pMG.xo~7rM ĚGkڮ`[ǚxo{,X#Ӓ֓?ױcIۏ5-ieYOK~d;/i,im K~d-ǒX#cƒ֏K~d,X#}k=-i{k\F촢m??>voq%h+Z?2,hzZ#G7.hGm?2v}X#iEۏhcG劶-myV~sEۏl8>h +~d6NK~c9hGާmΧl{(XƑr٣lyֳvZƑmyֳXƁi=ۏllXO8<-gmU?H? endstream endobj 469 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 91 /Matrix [ 1 0 0 1 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 98 /YStep 4 >> stream H*2TT2P0P04Tp<P0KP(mke`ei rA 1e !2@N0W @|c endstream endobj 470 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 92 /Matrix [ 0.75 0 0 0.75 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 96 /YStep 4 >> stream H$1 0C"G+PtP7! ΍0JONpf䌜 +hU/~VePL# `: endstream endobj 471 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.5 0 0 0.5 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 96 /YStep 16 >> stream H$1 0C"G( 88Jt!NgQ:fY \+**Dls'Ƽ.>ϣ endstream endobj 472 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 63 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS` endstream endobj 473 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kQ" r endstream endobj 474 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(ke R @js X endstream endobj 475 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 68 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r = endstream endobj 476 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 139 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HD0 DwL6Q|CPuk+$ص"x+%VZ.jdx({]]|J:՘JgJD#=k鉏Z75Șx=osٓG` X1} endstream endobj 477 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 108 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65PRFFz&,deng5,b$@`9H6 &, ` @ endstream endobj 478 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r \C dN.L…5j6X`7 endstream endobj 479 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 164 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H\10 Ewip^u`@l0(,\;vڡV;HF'TU>UƵ5=ƓIm&fZF߅OٌŸ`i;](!jKݐT{,;8O=||#FF endstream endobj 480 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 226 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H郞 d}e endstream endobj 481 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 GIF87aX9h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,X9 H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI!p숳N:sTЌAoE*P)PEYiN1VԪeW\Jr*SJN5;4ګOߢ ۴Z[j0TrIv)ýu +^̸ǐ##L[Xr_–ͼheΛ9' -z2ңQV/װc˞M۸s ;DŽz8!s\C\\ǪQ:le1#H:cӱ7 a{%a(Zx@p}=eE8s}M} 0 endstream endobj 493 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 54 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 494 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H2TT2P0P26P.sm @iZP`MȊR endstream endobj 514 0 obj << /Filter /FlateDecode /Length 4231 >> stream xڭ[Y~ׯ`GR~!J%UNJR"]<i[c .]R$ Ù>}_ESnZ_K:8,or!\XW VX^6DG&}TZ| /ie6H$:C$J3u[h+ O^mx#k:j~_]{Bm],EcAF億8 }iӱ}w>4QpĆr׷@ʤQ@vuձ@2FF-RzchS>G9џ-U@R.Sa6ئA2}^~QDw# dc"qFC`dž?~vc M7ݳ!\ 58SjޮP/Lv/Q5}׶7&-#k $`ׁ)j2q~9ž/1qc]ڟP,CKp4~)K:1իc ģ3ڐcA϶wvr6b`!2)*#pFnN:^{$zmu{_s6T-*,68G[ܞ |,q'yؽ1rS=|"U{PLr,[}>Va3T - "`0` 2nDBb)\nI݅M!i}EFO7}ZZEQ## (q@ڥVoh74Mf9Vm]ѱ%XAEH~^5l}_%HC@Lm <VHial]9Nw`ǣv<}w뒅گq>=?֣k65Cqg5}I zS;[pޕU¶3x0SORŐPL\"&>m)nr.- aN !k VAooI3hxIt` pI'/#bF=يtjIN Fؔ ,;fziLT(ѹr:?ڀ!4٦o=1n:;!hbؤX+=7c#9hG91``ŏc9 |RQ,{bGP5T5jdt)gY#B?J'5;=0p6GKMheB`i"00ӘΒq ̀q(UB!썕С9ISd y*Ofd\@Q U8!4׫+Jgtc>M(Zȼ ]O,s]Jc'-|`l/˯E7c HXam?c)Og+"k8 f~$XP]݃NV\;yN^xJ(nv?v>u+6oYW@z1[Нԉ`?6u ~Je #i Mt&&iBsJդNP@]}):Xw?wX?#>8%N6b;O{=vZtAC'̈́HHi٨7ab@7kbb { Zjߜ-<2;"& P{جT%si5X4BoGt蜀V7ǟڮR8-]QChVK6ЮO;]j0҃ư^2)ؗt+ Gص]GUqbi{|MsJ:ԮM dTeUD`TuSOI]C؏y%Bnj/ꔕ*aP(, O{ 1N"iP NiRzPC@ƛy<@g34IlʬX^jk *Њy5U<7ID;RCEa%yࣖ٨'Ss<$fDz'UR^!љOB1 +k5mmgyVV2z<>;vm`٠abT{Oj\c0x(ƞe)\Z89_6q&m5xn N_ih_v,Ͷo|C#ߌ>J!PR{ltX,1vPJ֐t ]힟r?tfuOs=ȏ񩖎:͞;SeB!{&7ĬzYUT>( q&{f9In8ڮӄ;H"P"%ciϷ4<@U;x#SʇO->A ex?R_T{d & l𕶜n4 _f)Sܐ,E0H@Ȑ̤"X i: P:p 76|yaCCd/@&g6TCbk;R{_07 =cf7xfj'_茇Z+~)"I9!qgCW "V̼1q@zn@5+R(5xp%SAr rfS9L-; O gWqt. vA>m2yמx}Hg.vj֓O;#O77|f}t^ESȡD>_|ƌ/@#gƎi_;$Q ԦAU9HLJ"Q:ZwbeUDAS"*xQ1DsBk\S&>碣5ϸhsSBozm|C(H.dO)NID8pw=YT4IoHSt^ Cnt8jRT"K[uZ\-J!>Z &External Unparsed Entities and Notations (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

3.6. External Unparsed Entities and Notations

Not all data is XML. There are a lot of ASCII text files in the world that don't give two cents about escaping < as &lt; or adhering to the other constraints by which an XML document is limited. There are probably even more JPEG photographs, GIF line art, QuickTime movies, MIDI sound files, and so on. None of these are well-formed XML, yet all of them are necessary components of many documents.

The mechanism that XML suggests for embedding these things in your documents is the external unparsed entity. The DTD specifies a name and a URI for the entity containing the non-XML data. For example, this ENTITY declaration associates the name turing_getting_off_bus with the JPEG image at http://www.turing.org.uk/turing/pi1/bus.jpg:

<!ENTITY turing_getting_off_bus
         SYSTEM "http://www.turing.org.uk/turing/pi1/bus.jpg"
         NDATA jpeg>

3.6.2. Embedding Unparsed Entities in Documents

The DTD only declares the existence, location, and type of the unparsed entity. To actually include the entity in the document at one or more locations, you insert an element with an ENTITY type attribute whose value is the name of an unparsed entity declared in the DTD. You do not use an entity reference like &turing_getting_off_bus;. Entity references can only refer to parsed entities.

Suppose the image element and its source attribute are declared like this:

<!ELEMENT image EMPTY>
<!ATTLIST image source ENTITY #REQUIRED>

Then, this image element would refer to the photograph at http://www.turing.org.uk/turing/pi1/bus.jpg:

<image source="turing_getting_off_bus"/>

We should warn you that XML doesn't guarantee any particular behavior from an application that encounters this type of unparsed entity. It very well may not display the image to the user. Indeed, the parser may be running in an environment where there's no user to display the image to. It may not even understand that this is an image. The parser may not load or make any sort of connection with the server where the actual image resides. At most, it will tell the application on whose behalf it's parsing that there is an unparsed entity at a particular URI with a particular notation and let the application decide what, if anything, it wants to do with that information.

TIP: Unparsed general entities are not the only plausible way to embed non-XML content in XML documents. In particular, a simple URL, possibly associated with an XLink, does a fine job for many purposes, just as it does in HTML (which gets along just fine without any unparsed entities). Including all the necessary information in a single empty element like <image source = "http://www.turing.org.uk/turing/pi1/bus.jpg" /> is arguably preferable to splitting the same information between the element where it's used and the DTD of the document in which it's used. The only thing an unparsed entity really adds is the notation, but that's too nonstandard to be of much use.

In fact, many experienced XML developers, including the authors of this book, feel strongly that unparsed entities are a complicated, confusing mistake that should never have been included in XML in the first place. Nonetheless, they are a part of the specification, so we describe them here.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

/PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H郞 d}e endstream endobj 554 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS!" ~0W @ٗ endstream endobj 555 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 114 /Matrix [ 0.15 0 0 0.15 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 80 /YStep 80 >> stream H4= 0 !- 88J+M3}Ir8A ރ܊bX7Ʈ32٠~y[}%o=XK@3M 0o" endstream endobj 556 0 obj << /Type /Pattern /BBox [ 0 0 60 60 ] /Filter /FlateDecode /Length 218 /Matrix [ 0.102 0 0 0.102 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 60 /YStep 60 >> stream H<10 Ew'@cw@b@ 0(,\ǮZՑ…';퍽\ǵ/7oJ~gމzur!A]{}SpdKI ւ3)X)fEM *uI#``GIcgi$XM3<<> stream H*2TT2P0P04Tp<P0KD(kejD XBH*d.CC=# * V r@PH5DH4 lB0W @hU endstream endobj 558 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkVS` B endstream endobj 559 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkQ" r B endstream endobj 560 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 149 /Matrix [ 0.117 0 0 0.117 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HL;@ D{bN+6aD((P@R(ֶf&`邗J|UיqƨTօ4b$"n.=̨!9i=ϩ8T}.Wj͑䶋=!wo8Ӊ~ 6 endstream endobj 561 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 122 /Matrix [ 0.05 0 0 0.1 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H> stream HD1 0 E!)ApqA.^$-^^n CX&\uǼ0V]"2Enʔbc\WM(U?Po>I'f endstream endobj 563 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 118 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H<= P b<ba!vZ( x}"|aHp aw7k01,+c#0~4EVroOcr]H ܪr( ĨTq^(& endstream endobj 564 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 169 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 567 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H< 1E[[M ;Dwp$MQ8F' >Q5= .kt;)FaevrXFi2JhI\Ro43U@a [Za AE`~O`~ShGIF87a-}}}{{{yyywwwuuusssqqqkkkiii[[[YYYWWWUUUOOOEEECCC===;;;777333111))) ~~~|||zzzxxxvvvtttbbbXXXVVVRRRBBB@@@<<<:::666444222000,,,&&&"""  H`I5,T4k@H e\`0dtt4 dX4itHHht&P4|Dd4dpXà8 |L T,-H*\Ȱ8#BⰢC(#(Qƈ ] "Ǔ(S2,ʗ0cʜIMrf8;u:Y*N1ӧSLzJիXBgցR::c$&a:JW DS˷/A] ԁT=(NŊw˘/镮 @ sb.99j!Jr#ʶsmsu,Kt&XμgNuyeѠ)ǚ5ϯC ]N{NDť@ Bz4]4Ȃ 6F(VhaɅvNuȠ#FES6 H #"(#8<2LĐDqƑG@L6PIGePySRie)W\qdHqhKjyF*M2tT9 AAux@GzN@T螊2Zh&hgyZ*{6JJtJG%^JLb)h iV&+.+ZxguF+B9F@JivġN {-NR:JnA ,[V&zh*h kn..$*[ɴ(, M$|n Jhy.1f*>Z.yB(( H Ξ|͒h)",,9OpY-i,4 tWqz*qJm`/m8.s]tцha*bmi//ADJz*"}l`rQar/ ;Ǥt@бA@1:؜q` MT"C@GlۀaT|JBGt'ρ>aW(2:h BV+&AA}2ʠ7^؀qOaLB)5r@ `"Sa ; I@ :07XV > |pTϝ'u Yj8BQ +p@T*І3PT@ H  B Vg$ A B)p20Pʗ (,@PʢvIQ! ^` gC +pO (@0SA aPPB 42 BJQ/xar84: @ Љ*A -q@4ARMH`]',:t0 s\&4ф@b6:pd| 0|! Յ.LQX@h@5H * L`c@І2tM\/=Mm&: vCE HN!Tmt*'@2\m!-20'XN{ӠAѐ,RWQ ,!Rm+Dc&z߬U+ ),h04Tu 6P*" k(!8dCU" JYΚOD͔e hA oX NP]& @EPHá?/!t`p6>A؆0Aߴ1eX @m}DF ȕ&54a>\ 6  0W=@}Aa#[JEc; ^:S=دա^ Q4GȘ3ϖ4Mfv]br.5N OXNg뿝HP ڊH[`%4 U\P3haHBeEijc6{W`zzua #}*4ѝb^xKڎK X@%+k:7!J5$\ogkUf+؎1k? t@23>:$>r7 W.0Ovp5 }xTxb]K1gI1 C)U>L33 Yp@_0/]@\b C:Py)3o ( -'D/4[zIb @K@ U0aK9cp@*^y p KQ@zB]r)h@@\H((ʔgג"'68.HG4%71Koa/_tK9y ]'#(xb.COH/6Wsf'c[r3X $C1FDXb(ŷ*Rc*(0]PFe.0,2R:yrgTQBJ@匥\ //g/ e|-)}I'5 )jgX H.Ȁ5CW-H,sX HCÉF3f6x'K6(8D@I0 K~uEٍhyEIlc+2ǘ-j#3=I,f3-$蒪h G'0z] D@ ]\288:?(.-d/.SB>~OSOP OV`5+&:\@/'0IPX\ /)=~".V@X qV ʕ:Z 5R TXɘ(KP4(1h*ɘw'_SGSp9f6y:"_~w(:4S.P( w1yr nPb:V(&g*G8;(C*ޢ54H/P3'6h+7.B( 0"B/DjxJc. Kd)-ywICS7x QIPGklA `knq\*k@ Dn0(@`W k*>x*g?>jPy PO jg&o*D†.]gtx FR 4.2sp@o)D*'BJp"A 9PS# @Q` bp UP@-^?ڒmt`wAFpߪF@C .F9aj66.wy Pa YeKFt*S *)aWqkp^9:(yv_[pzPINL@kЫ@@ -in1iHʲq)jR3.(*P6({gn92PwR宅/j6,h+~Iu.Eō|0՝PӣcuРRQvAyBgzu@g4J0`Y*w6[#gW6dhd{vwW'@B.D(y]*iw4AE)&4ireU3^CY`DT –A`_T-(O((ƭTijPOy'(Kb , + N vI!F&)Zi!i+_` x3P p,0Se}T4MAy0 pj3͇"a ˒@J 5`Kj(,Dc5D V`O 'SBs4\ K i0 2*t'/(ے' 7\>0}70[V@ H aEy֣Nk 2>1g62cw0P-P"lUuZ@]5 %Dh" R&rF \p Dp@AJo12dC J0sD, Bt.{pȪGNa@gcP@7cD' d̞?R`f8*k@F_grql`&>F`) @Up ZY^A>K *l(P?-xiCTyw#5zZ=>?4I2x()ŧ.L.V.ZH鐘"'}2Eg9hK-j(pd(O A)b@dKeI`cQ3y:(wf}ybhP 7Sc➝mcdhN8 cf ~ fVY 4+0hxv/ƣtLw q5C}-bU2޹:3T3͵/k.B/]{i4FɇR7+.̊' as-0Th3Bxf.J9\s˓pҎRBD" pf@0P@gh 0$M Op_O`Q _T6 QP ?P[p W@_@R`gdppRMdo P @/ g f_P(a 4g"(C@U'X8M"ENI5'A$p@J MN SgJiƄeJ(1d ) 499B3H̨.+єF(KlGZkmB:cVDjF89szP(R6C$&iv@y-еp N 82mO?+U7$;Z`$Jo5PN:"dR88p-$qJ"JJJL̴,(M2$&AȾ* 2,&*}LM1x5t눾NkNo[ЃY$/oJb/g#zXc/'&܎0.8k=3OeӾ<eMtFtJ/uN=U TQI5UUYu3Z+\w_ !XXb3YeuZiy*c,KRp8[V/]lj Lˣ0Xc brn9V_;H!rHĆDRgumP_ko]W}aفw]ҏG>ygy矇>z駧z_~E>w]u=vu__xﻷ]}7sqJOK^NA).V\ґpJ2N2UЂ`5AvЃa[a0\; DOI|"rPj  rRYV" p. Rr!66D񏆔b cM!c8F2ьj {7 0$[[X1! ɤDD_DIIC*j|$sx,Z# 73vғe(-8-,jQ71SI.21)TiBEL[ELA8(&nQ'$*hpI$*-1e6Mnn52EJ,B5>K2qyGEJҘ|""+4,N sb%$E$T |$BY*&%:ىnvԣf . 'IЩ ^%ZK׿fE")FשSjeE:CbԦlK@%0ATMpAWSzzd0?|jzaꊒ2v^~ejh2B.h s]\{uWlaGPu3v`^4χ %3͔$] snhǩ+f?y-L{ ŢcI BAH=^H49%%|e_=Geýh\`U|i%Z !%޳Ʋ\ 1X1;kS*r`u? ]s*#)9.#G+5o9d`i_p-+ػݓ†9;& ꜋ܨ-J=n`@)W%ȯEa򶆍H'ZZJEۿ %6i*aR2 8IcgKA ]Z;/] R]ҵt܈yZ$)9<1`/_R;GبD d0<' %-~R=8HgУz5z *YbNz4s/럱]mUm7>i;K*i9[`w>rJ} i9 S6;)exw0/>T!@ !ٜ ڲCN\Kz޼>)^퓽!P5yMorXMW!_ٞL%(9'E0Yaf@ YO>zi1jJ@v%flOΙ/Rq<#j\ e!}O!g̖UCY1{r*Ꭺ-̮w)-AcPkfM=M(n ,Z<>?SE jn 12RԎ}x(Rb>W{ !CqQC}mJ/wc5ǓMYg|RuH3[]cJJXGHdĕ3x͢Fq!RWXRM!d oqՇ_bnaZj=k?g+~J/y/\q%bs(p"g7@COl[=D" g QuY w!?Cf 34=Nz5=J ō^j{ߓ2gn~kC[zYq.O knm- 6!'ϐXQGLE[ 9P)9Vs% .zxSn6 #xS=Kl%XGh\\A6"iFV%"rlwp9+`~9]U REv<%XS_}am5Fl^o#l>p✄Ūrp^0#Jc|׆kstJC3k>$֘X@*zlw=uJP.װr)A~Jf!,;[vD_*^cJ'eWYCM b4$SD1%Xv+puzg]}neCP*lm *L-Jek-:rP/CCV%(yE\ X7=BXey>U ) ͆.ci=4oϛ!HkdVi\*dk'7˷xb <:!XcU~Cy^3V~#Ox~N/)9Cqra98C6ҟΐ ̀f:WH)pb3|Ȕ@KD7kr#N]p!w y,!I!!Υ}z+Ɗ^9'<4lJgvCF)m!H=zb"-%%Hc8iH6߃"JRC}zSR }^bnѦP[z)98Z}qCoŲ9xԫVJ{se%vǘ+%^M)axW=~Ϭ4k5N~a3!vOt4b5Q( s5(aё!8ȭ"fV-ƾ3=d!ㆌX}QC` ~-pA514 }0=eqFw$:JYJUSº ϕ/+LmzRF `GlŸ->FRrx }] دqVO!;{4kEW?e#A۴xrVs 7(;E-n!ں Qr%D;޹.c-%̹`9}4csV R3ԎGzi7*{S~6KΙJ\S*r=jw(eyD??.~3'3'BF[׳U ezX3uhGak!+Ifs!Ni)J`{ ؞oMr3{q MWEM;GIF87a}}}{{{yyywwwuuusssqqqooommmkkkiiigggeeecccaaa___]]][[[YYYWWWUUUSSSQQQOOOMMMKKKIIIGGGEEECCCAAA???===;;;999777555333111///---+++)))'''%%%###!!! ~~~|||zzzxxxvvvtttrrrpppnnnllljjjhhhfffdddbbb```^^^\\\ZZZXXXVVVTTTRRRPPPNNNLLLJJJHHHFFFDDDBBB@@@>>><<<:::888666444222000...,,,***(((&&&$$$"""  `D,}G{TA BJؐcC-r\0F+Zʑ$'¬D+=zsdB&Eu2ND] qǓ$KrC?[y$WS^Z5lMM<6#CLLɝK.])wWyw0_Æ^,71ƊKLqbĕ3kosAoۙѨ9gn`lc˞M۸sͻ Nȓ+_<׶INiνOӫ_Ͼ˟ |Ym  X~& r B&VN 'lvaI(A'%v¢0c'HɎ<# xA 'D"i d!< M>I%! [v` &(bi"#Jp (prΙ眢$ h ($Rh %(&Dj)FJJ)Fz bZʦ` (j (B*zJ *+**B * +*b&* + +¦*pm6K*mKn=.v3+/,tR 7"09lp$ '=T\1/_?l A|/rC 20-0E QD\<s31GDa $atGtPG2S+dMd3`O<8vlv@4S-MUwH75UP#W\aM`7]`pބ97褏1F389zgԎF:젳mqFƻ|˳1GaO89 L h9r` L BX674p_`!ZЂC,),a(Pda+c1$ KPe2!`#,hB˩К4Pbv)CZŰ9uliKF5ns8VoWH8jdX\Z,,2 kdG A:u$(ːءĝ:wk`pYT^,ɣ>|~ >͏>i?2`V0g7QPL `t E?#'uPec@q#} 8*nЅA*! H"'@ OW!]  $:$Xd!U(M)HҖЇ1Yf&>CĢhNkZPF$[F1c#36䳕k[۶:qnv[º+pCZJHRr՜%#׾XPRvsӐJ ww^;YԳd5{KC}cڣqlLyGlM/Cuv\Hn.ם1Y p~"HP0юx=/PT! do"+,(_%$@ ,%Lbb~1 cxCd-}هS&3ʌf&T$2i0NӠ*NG5v} c;jdUmJFyVUٍoJ8kPche[J9ȁYz\HG0kkBYyU֠=O]e/5<;=S׫VSǥ[̖~n_c>ur(@ 0\yF4!!'6O9 dmP~)(BoP0A$W|9j`Edq< p @  qLd1=Uq7TD5c`5`TNd&rxrWrr#7-'GxG 8VfsXs8 (Hy fe0:d:$Xe;4JT@vd|Yr،)drPf27VX8xem8]@9 9y9a0IDWF4t@L;MX3u-8@{ {Y0w $e01 *$ &}zCC.Պ2Jp#FSD4b3@Sl~J3q&:EX9vxb4F5JFUUVdͨo7x7SUU٘8\f9äLZt:I:iIVz#萂TJӚ`w@MX>?5sɜ 8: 0^Ǖ\?E@@ `sڐ8 //PCQQn `Ro1'2/2'38D9U ږHsLcq75V4+E[EwY3!is*G7,vG}8~5G8[Wu9󯥓:؁JCXD XJ0du0=`gK;YdvR@B8] ZJ%O]KP}XOmS\0Z 0d]f}hjM\ D^`qmp àxJPsm@z]؆}xM}- `-@]ٖ}ٜ٘ٚٞ٠ڢ=ڤ]ڦ}ڨڪڬڦw^87ݰۼ=\9;۶MX}ȽۅP۶M }؝ڽ PP}}-ĝ܅ m -M>^~]x0` ȝP ]PP] ,.0}xΒ r@- p ^Βp! 1^V~X.>с{@ Ɲ`@0{ FN0 ܟ ^Z>^~製^}jpip ]8~ꨞ⊾ x{`9+齭]8[䜞MEۤn܂^~0숀t`ʣ, 슠\nʥLϮPl>^~?_ ?4} 0O? o"$o%O&+O2_/<.,#DOF7L3"LI?,_!?&V`@*OK!CgQN#e^3On_ƻ?_?_lo __N_?_ƿ/؟//?Eݏ // oqm.Y *B_>|&- &@=~RH%MDRJ-])ɶ= $9ZϒDTRM>̚NpBLp$[-\hp,قk '+Oa =V‚sin, U׬b?YdTm^}g捨K"0ELQ*"&zC9Yk5&rvԌ3*D~O$)a4㠷JYtխ_h@o*DYl8w}O,DsJ}VP%M& gpîA0B,;ξ;"(2@C9p&p:DΠxfOBw( Dܡ #T jˣ:Ͼ z ^2F@Y`AD3M5[.ȃ~D%I>,496pr3x209jnMG4҂@1&MBP=Y@Q4ㅂ)Y$ fPB`x9e ʼn>P0!۠B9x0dA1heƜj[«G)h ?hk z$=G?BT كŐeyLJ1:s+!x8 'vПޤzY5Y| σ#=ԐE 0n1G)~gL]C dگBQt.]^)deѓr] ḭm"A? Pa@es0B>ѯs[`uhFDȍ"U*0n3 hv8‚pmx\V7YkZaC|j)M\d%s89:qk7٘(ԂO0w8/P]5WƦ iPC-ӜvtSF`*cNT +Sdȥ4z5{'04$㱮ki( f̓" !n;Vu)p@1d q`sk^}Ld9@s^ w7+TV HA@f5[CfAڵU8Kgs@MQ 0A7iR.ko-0tu ojY[4kv3Pk--W Aʼn%)a6.!bXY8,v6r%WH+˺LvI'>rY499k[C9Q{zTAPjs6E%ĩAGl)ȦVJmtiUǺuk]+vkUx od`Up)"/{U!WW .F c.%# 'N%z  RcV$yj-bjhf,[Z*I3\|0ۘwJ i= ސ;k7Td#wy YCBY!ϩ6v|>ۖ4o|{넊{B!jȁnk$4r`$",ڜPXXIˇ˻ۼ2ts@[[Q6;'j ¡sC2* @Y< A 4-9C"`z3Tj@GS2"$B < TQ%!LB[@3rN= {ꢝ T+ƣ"t[FM%5m%YXuXL1%ZcZeф]X'YeX}m8MOH{]Nd]W}4=pP) WE͎Q%ii5Ԥ15T2%M\u[gS=5O?]uQ=JUMJ]Zpܺu\4[уP[TRؿ5E2ܼS%QUS܊MQ{H5]\Аug=E= ]&\]ÝEщNzͼV0UQ`=5X\]Z]^@0%۽U^4UԵ1(Yŕ޷}"^T~-}FRD[U_=\^WQy%eM[I `ۭр Թ=].^4EMn`V`^`#݀. 1 N `^ u] 5Uma]&Nᘕe]E8z_$a-]]\g].\B]UQ)ce=fU$VbMc}ؕ=MV:?c==F]J6_vK5K}]K`c4)=^ ]>MMMM P/vUVc#`gNS -PfǸ9P^heuY 5afi> fԔfb#0`NS`vm.^oVg{Y`Zap*+>UЄrV.[R\NOv=Rl݁e0hXM`>i;eNfhviԛhi6N菎ax@jꪶj@kjNkFkV~긎kknk>l.lFfkAĭ}lރ}llm&>mfv)^mNنmFmlܦm.m&̶nff̶mvnn[.Ÿnx&FfoY8oIoo7pFgppp^ A'sWq6ϻqqgop q7H'8!'"7#G$W%g&w'()*+,-./Gh0H$0273G4W5g6w78Gs1x9;<=>s5aA't>0=o`s1*HjȆxH8IMNOPQsxRGTWUgVwWuN7fZuWnVd@sO1 vLg@Pe_@NUs HD(HpBȇqu2HOׂ~pHP9MBOwwx؇N7[|}U?(~x|0Uo_t-FptsxtOwh0Ho}_(؀vC`>5o3h=(MȀPoSPNE8C=؇@0AtÐwH8SRu/0xMB`g=^t,@Ip5 HOǂmL}FHFЄH|`(yNx\ȅ]4%H`P?*A0No (C) Jp}CBNlpS8 `o؅`8-@ u(0GYW'{P `X 5xtvp "(tx,0Q@Ix^PhI`\P^xM?,k"D!Id".0l4 󰡞 kfP}SE7Q0H<>P )AyG((S-J`(Q<`FAQy@*3B\z 5eβm[ҭkn` ; !VQ}N}GB)Ų e׶sl߫JQҍ b.N; 0ɘ4{SQ& jRЯl{\! 2" ,+9wtCG 82}f7pSa=Qa(}ۙS E=Y B|T~ !l!C( Hzax8[rx#xy/BcБ )]aH>6W;PL0A%ҁeY7mS NVZC0,|D.Ȑ7U08 `H$*P}0MOX(`AJPE8nTG AE?bJtIl8'tOB=B"Cu%x$`dh}RG#ACv I JKQp`Ue1|!A;ֵ b#8X/^׀ >& p59i>p@"8 ^^bhH h3N/$f0 @(Q4E&8EZHH;8RBX )ӏ`d8!҇{J|O$XM%LC6 /!T#60@5!6T!b)kDi+\؎m"J;QnjJc-eh@, YEBg 9Ѱ(!뢗5(P: !;A> h8ӻxci LuSJ2@C;Ap( q0avq>h (=;N P#6>$UAa}pЇD^DʕB0LV(LH)M6"2P#QXC62/>g >e,GcJGL`(W}/X BQ[9`%m0r4ȇm#, S03 s0C,&>1Sb c,c,T @Fr>1,!F>2%3N~2,)SY.pC-s9z;bȖzT%uER̋Xd>eԉlBXWƈ6 1f񫅸Q늵wG>%} +s>*A#Ŝ5ڕX*b̓R6I:/~įELGXC#Z(6j/Kr5BS9EXj wJ DpʃEXa_R"\k"8wgr@-*Ep.څ.>R9c E̺ẼsRW=LICjդ F j:'"xװWmbAjzoRΠMZg^"hI0PUP=@=I]U{zWQ20XeY&-h`ՀA\J%(V(:3VCh/c\!(&zJZ()MPL A,cԅP΃u7#k\߆>ӫĂT~E)AcVQºoU@k'Q5.j,pr~m椥JEw.Y }KH bP0tcf3$6E#SwYM~@d 7dyű2e^&GSh@"]hUv"/mo*E/=7C0(AF`F8"5W'n a{d~no êwi^`_9 L6IJ,u+A4AG3ox^= 32'=BhWXzG?@.v.!h +Fz&2ϕ;,-c!}EP&,!?I8)y!W.YʬoQQº6iƉW >~_!DgM˯v_W?B :w< S*4(Aɷz›ƣv1F}G ]i# 3߹w=¼U@K Eӑ7eh2ߘJ [~DӸծw%S^H {0!p涄Byܤ|~Tj{fMbZi #|wep%Fɬ}d%3.3PeF1~˿o?߅@NXAJ3#%qLK*Pƃ=2eڅ`tZO&K0Z5OW` ص9c 4탔PWW,fřh'^q =i!c7:r'zFP9O=7{S9bO2 ɝꃯUga6B"Oіk^uUqf]JPfqWNQbv9#hOaO|v.>afz:yI!i=;-{J+[qY_3vQ`ܳdv'"Ƿ Y BdkM|*O(ak&߈JUhv=J ߶؋^'!(3c=̡ٷh#oLwHJe/S#/ZFyWbLkuo^u! fԥeɍEО&#L`@rwY_&%r8gc5m&w.iHJPfY@ 뢭ņSD4J N~2̀5(֑Ri,pQ@Nj gɸJX)}OFzW~07x1j7ǚEО[Ias|E5u8#wZm܌Qb'px(B ~#;D"SqoUt͋, [bQ0CBEOG2#4ěwI]SZCz%_9qCBЯ]+(rAh>щ1b9:B0:>13˽8 B1$'":7(|ˆKE FkgB CNm,.ºbwyC.!\Je̅0ֆo+J /% _hGPפQ-.,x\A:Co{$v"uO[3ǸC Z|cpe^*KFQ|\mi-(Aay ń7jD?296J'K#S Yd]wa8̕.b 1!mQ[z m ̆2Yw5bQ^(Ak g)P9bԹoAa5",m;u=Jg͠VX2`>*6 q*_VE,ϓ$#+A47Z/A?F!At0^/pfIVedj%hGxڡ|dj%(Z^3w;r`(aƱY)4Ɍ^/it@07aryee}qe(x74iՒڍu<<'g ~, cLP}'#5VJ gswJ֥Z<,`LR%'[,Bp^=s*!M\Il%+gLY9Q8Ee!}nJ8}Y=[rǶԄP;2&%ҹ|"UO4 qEp?TG0.A .`g"q4~ ʩA]w( rGgFe@7pJ4KJF[2h2^s(1[@2NrA}r9TΘQ.Y;ߣ}Y L}27nL-?TAQ -_jt wl%(}AO/JeOn%++/2rD-mOU{^L~upjeD$W̆ͽK g f:ah}bkgrR\'IQr7Ug|K2W[Fl,^# Ĉ\@pcX7XX !w#Ef=Q!h/@ Ηhe^!(3epdb$>4B11j(@»/-h?s/ H`$r 1$EXTfꊛ#T  :0,Bb̋1' ``{Gޟ+?90Dvdd""-Fh wr8IKwՋL% ϩJ,.sC5@g3w`bv%L~+%2EP/,V(v>?51=iI 6]5mwy}8."Ng"X>Z33ƺ2؂{)[dwm"h;J7n•ZS/b^XD=Jl:QyT)0.X2F =yz='"Z/S8!k'(VJ4f\e+=!Gn kYSx HFn1Dc?Zeucz>EqY7(}kJ==oua.bGq0mx^tL7Sn{ IKj6IߙG'%< iz5/F`lB>eBJОCԔѣ}dIG\H80LHG."wG6SB =d]1&9UJ ݺL9J,zQ8dnh%}a"(3oie%hs'}%\'v.=J j\6t{Ͼ ~5JО]rgP`d v>CZ!;y{z){9A=.PF  t[ޞ`JeC|*af@N͊:(]oD| ɝ9}C}4_3ҼO<2J,b/6G62Qȿc${8x|-+AO EعԌ$`{!#obF)[Ob-)xt %X(> >23X{ySq\ 1Cw\e"˺?7P<'J ^CޞJPf,.6/Y!*zۆ(RP}=քc!{Zp~OUքK~}0=0x͝J,^Ϯ&ĂLތJКyxz5JPf5osԵ93ڜm^VM)Jz_߫B>xO(JPS}iCBS]prq_Fz(?(-!E ~S^oH%(35#JEF!֕&nJoѪ#HaQ ~[[ѾXB eL %[`Lۇeɝ`iZ|E>TbQ3y˜E 3=K'=4XHC b׋5w;}OI\u-3~lzIW%,=]IމcN<<+ֈCou=wÙZ!F-oΓJ,fRDj֕>"ag9A]5Ƴ=:R‘ɳm7~iqeFjB*| wqooo^T+AaªlJЧȣ_Tƙ] F/̋"Y{g-އ}qXZQb DLB ^g]r"zNRQ̕e]J z2MΜJО$ۣr湕&~*2ﺈy:p})esRfW%9.%,USSĠx\>"[Xd7!F'xW+1d'_rpba9J gt E%_ &cȞ_qڍ uҝsGQցo}˺W|zb?>A]脖"F}3G ȎqZ<%%oc]ܣkOE/a) Zi\)5͎5JPfUɬXH> 5$=yX/금QA/;zWH__6E0KysT+Ay {H-Ġ{c'X%u WJZ?t/XGPtC%*.gob]AFop,}\Zq"sxsBy^eJPE(I%yK1Tb( >jz+1Yt\Ц"ߚoۓJ r9AωiT*0z8sZ@F{eǠQMEP|xOEb}pyĢBS3_}NK1GIF87a@X{{{sssooommmiiicccaaaYYYWWWSSSIII===|||xxxvvvrrrjjjfff```\\\XXXPPPFFF222,,,ſH4[d(hHutl\DP D\0--[,@X <<< CCŴCҴI6.P?ӥ.$=,S 5`ўN$ @<d#ݽΈox^n]0s@>}s%!Tb<a[9{1A(.( |p !DyEhx|ot1qq{2_}HUcD|PT؍96F`Al#qLKTAIظDlAY`I&<x1DL%5Q5/K -P~+A CmA@!U gLHHI :acE%q="$F 註HeuH5K0Vb%,px40S҃TF$ǖD5}IKn/FAZb@.,o`F0/(=A@fLC jF^!hZ4>{/k4,%@HB5VK KWQI"Ȑ /Ev;@ Ĥzݵ^ tD!KXS<2/d`6ڐ=W;HXLU.ػwвؚ"a:7YE8.#x%xDζ@ "XC Em 8򖭭C6WCD!;/C4C饋f 1%4.A83gP& fMv11c@H-q1I pPA@ 5B2l,Fxr W)ea oCpL/E?rKHNrO$8s2~09# Cl"D p5Z8/0q1`c'olj|5U-uiOS(RYLS.ppT:l$4@@,:)kZLf`bO tR<-1nیb@ǒFur'C#g^d.$*GbV2$TLmRW-q\Yۆ KW9r虵0&c#P˪5>XT';End9{oIcVsleMʖ8ΐeŮ3nffsA,|GkZ>۪-x5qmroH6He}B75|gx&7hUjkbbγ_<2ݦr[yÛ{A\Tk>y0`4~/z_v<XBĮ 3`}z^q˃_wAwS\C[6vK6f>BЋ0T/(΁cLFllEs1Y:tusrtD`Z0( ؈( A$ OU I@"X02Q0XXm;@ d H }Ԋ劉@VHŨR/苄58،H Ә^؍ō8XZ  xZx 8 1{* `>6y;JE?[  \ǐ P<*I/)2Aaו YEV-/?ђu 5I %M0߅ dQR-mq1uqyaEp\ u3e J_AL4AFqt_͐Ga)rcW"'reHUBQ` oUOFlin6`Q wU\Y!{It . 7a r_4sa6aaVA6dP"(&k&6` eZ%^riq+O6vtJ]%I)p)sRC@jVOЛY)%mrH&&ʼn+j̙y,o}QR(B()B))gsvgzg}g&fhjtk. 73;pr,,]aSA2F.RE!#pqF6*., l{833pt 01As1ՠ1 36jmئm\:A7J ynwYsd;CHrpt`kӦr5s86SuNwljqh5q{K9[c&7'I7v7|#a8C`sr) EsWywRTAg6<;'V#vJv>gvqw#?̚l3{7B%G G+A2zzyDC6Cg7~B:f"CzGA@g [JIg ;GdID^M P"CEW)X z,tz7@3|1T|goYW>IhW~JdOOJ)X)DJI]dK$CP CIF[)HLO4HL9gJ7 &aLLM MІSהM~} PxJ~ضN&|-5i,FUPXSbyP L֖Cu vX 9EzdEUI%U$%(dtk 3M>S=fOeXEah빫:q渽۽pH[{;V໾++W׿]H0!`pƐP hS ^])9_Sii (,95q=T ( |Փ˔ZѢ' >3i ?yABn{jW^ZɿV-m`Y \AwLa[< `X@;vdY1"5c8ǶYzbs|q- ̘E"i par, 1㙹R PdKȏ' Jàieii:inF-iʜfk8kj)gj+`|krV b(܅ʟ-iKˬj4ڤKInn֡0onn|l4 m5: eop!Jk3m]z 0c1CJt*Zpsp~;("7 s,mqg!s]6xJ= #]5z@7@ao<7Dél\5j*:Lwttu^vJmwJ cxƐU3?r SKiqZC4^SxZ t<$5Kkȧ{ׯWDq|çw}|ّ|7;BٷuCE wz?;e!+~s=e%{LDOE2ES̲1k ׇؿwy ~HȂXH ./K}PT NɴLtT85MCaMdM  ͿkTNHkmԇfH]nh ~ޱph }x{ފK9Weu<% }x[[ٰp Չ@;h0{X,޽.n(X?;@F>H8PQ>R^XNZ~[n^\_`>b^hNj~knK0t^v~xz|~wH  !`'>锾V9*2>N,)]m]XY^o^P pŎ>Pw'VJV 9u%|1v@"!ɹ J6"M~y d~> h-H@8"˕VY 幠e^%8LA)5$^^_P; PL0څgCϻ+k1*O ?///fC_F鵮pw, ;jҺ9A\U5[?ͨS6g󧉓GjIokJׅuԿɚDSl>0>j>xPnv}gBL`%zk+AA{yʳ%h\ 9+DBK<+(H`T۷mXä4]Ɵ~t_Ղ ĵ$WN5_|u-{h ZP7@ {?+!cdS4Xh1#)hb"0DZjz +; B 򘫻"itBK\l|lSN} 3_/ > "⤖E .6Su@=ۙMSD,=y_Qlk=%Ԝ,TvY Dt'OJ\rXPUSaK/%el{qEp31|Mhi}uE=/ؔ֐o%bZe[@VZ|uΎe ţ -]\ >2Mb\x oL ZM;_{,StBdZ+W2AMwٸeE=\EPfӚ!EXJx.nX|N X;O~G'm`am2e]3/锠+tgL »dtBD¢K myx.2[2ܑuE؞r1Zܺ.{eʌEo9ڼm Ea]{Ng`l"wcG'ݔPNEy^9] XgJxcrJn`zw~\P]7PǴdT/%(;[)A8&ڭSƁbW[﷌YXJ<5JL&.GTb$|cLcO~PJ_>y4r|kCs/¶ }Qo(.Viه@ ku 2fJ ^(r\ ~8!h|| ۣ6fOfԥuAԥO"y^xkZEP&NƄ2J~eV ={U/bA"&~fx!+g"Ⱥd%p?*AÝ\lDY"|^"Ez.¾.6C%hsd9f%he`Ftg %Ƽ la.12KMKVba;&d4z+Fs@~irxz!)b[& A"~tՕRB9+߶LW)|#O J-:o{c8㷌L1ӆ|5sPC4b ^-h~smv d#R&Ss7J@NXG|J k-=MY<o#^+7DS7}LiP\#;sjx#v(1ec jY6g~-RoY%ib<m̫2_Z񆞵Ӗ\eƃO7bSY{Z*1Fe^\rL2/'h'<<}򮿼i:>`]XK3`h,=NrNvbvEռOk׏27yie`l|>ͥ]|۬WZVJ0>ؙó͡OKa%(o1+iq718l!dMh^`7ZЋ̣.14<ZGk潵2ʞJ\{ƞQo7B '1#`sJЫE -n!cg\%fqogekf %[r&jXZT7B 7{4N4|}&ԋ=Y|.bLrLH8J wT'}zů:OIse%(x'5ȑI#{d|> %2݌nq}o P@xLjBn1Ⱥj<2TA]&P2:dU0~n'_Fg .bq#@U&X;Y2AYDZ3X6ߐأ}oh|@ z{gD)B@NiiUyꪙC p" -ߛ_DŽ.[o!F Tŧ>oN8g mqgULޜ*I7|uƹBXW3ު@.`2gBpXF 꼯~3 xnƌ@lQHFx'U.+FDI)| g/2=ߨeE /bA>;5.2yƸk\ĢBynz!hOϓ8@Nr=AyWD Ffܱ 8.byGIw:d~,.yb̑Qb;tl'#{6/bQ㚦ZWB[H}yDSGw!( jw(ɾ,8"7b Lp=3+B=]vXQ{ǙVbKW5[E.s[[DݥY;3+a9Zq8nQF Ѣ]2R~'S.%{$Ȯ @MecaⅠL(E^ {۩5C\R/b@t%8#Ԓ]%JP&I>8"_->}ȉh:'qPΕD%߇nj/!mų935J 'BxA+nh x޿!niE$6#\_"R.k@N؊~]ot".?KzQju\T^0Ab^G5"N%D=) de jH$/\f }9,uc]-ĂAv?JZ\e 󺔠؋ʪg0mi1@NϯQ Ls!c+#Gp_t_ QF/kxqD䙘D|#N.p=%3g]׫g 3fxz [%/9/mI)=:lHPK$0팋f{čwo h%c)*큟 N&NO)f--ğv :Kj>"-Č|Bjžv"hqXPyԋ@Ncgg@P={q)FK,A'- `*z(CNO!PA/nsC~bt#eZ[PF a`V@ND#/F%3sg5Qbo< Y К#r\%auaߞ̢Oa.gmay1Ǡba hZE Uۦ1X0и4| l. |(G ʬ\P~ESϣ AUf3 k![+9JTy,E{ ZVy 8cnW>~Xfn #a z!sYڡ;ɚٗZbUlfl kW>lC46o g3H oo)"hod~\#,i"jg\/mɳ}7;a!Hͣ[e1xm\]Qf]rTM>@);Q甠W:LFFJBPSɵ5 v> L!hUL4|W'^?Wyф,KzIrJGb%Ln#+|,J(hJH,jCF{󇾄"Ը[Ȫ@Nxh.2|MA]aglq|k 6kBǟ~bEnBL9"F5$)g1 cX|ə229ߐN,8Xu+i"`l˾;q+h]˚uE4_Gzt*jiQ 6+Ж~4xZۨ`=Ty )AkVQ]*2iwNF@S^6PB9qr@N9)G {yhozba7o+Qe ʴ:2J:FҢf\e_zG0:oNZ(UJ ^)2xA{6JɈvJ 'wOM9J gl|Kn ݧ6tCi's(kXX{X:lsx)Ӟ QbdjvWfBR"nr*%(1w +YBWƲS2!8.<ɾ@4Y% 5~Ġ;3q  Q2 5}?93v#rz@hk̐w *h!P֥=XINWOjC7$jCP1"h<| &8_ b-heOSkX8 y:%*Lf`*x5u`HZHqDfPxxBЖ$qgƶ@glTtzFYB ]rXU}zW< M&}kYs'xI!;(2@ lG@ R{a+vgtΑLz%%6TAThmĎ9UbA T)UsScf/<[Dڎ|WBPMfR#3.=rODY ʄA`Qke 5J ٘׸_)vS*.1Nڏ@{u7JPK{]";7(uν5.BW/rGr.ZT^:X"žG`/\u HvKůں{=!8Lm8cu)Aߜr_e4j׼J  G ʜ=\9[8JXv9^F!(@2TEt҈#(xQX <*_/DhB(ʉ!F}^0gGJ"Р?'#*1ƀŚ7ND ؏@xo" Zڔq kQ2b 5Q;3 {.(!VBjEP@~YA]=e_Đif"|V|yPE p2Lr6}fb,%o5D-}5]7;=ʾp3҅3MB}7Ե(."8]ھ̡5Pr^ A=>H4lIʫYT2oۖ"3D*_x*!7 C\;SgU-Avbe@iS}],{fmn"f텉TOT9"]o %M6B[@O Qbejތ͈?b{jƒ5=fBPS#&i`_#O:+[RR<ܠ"D﫻aJ IdJyH\RJ9=1k!2JО=e>"^Zx9,)+C]Oӄ~GH41%LFcC#IN&D}892G,H kXks3ޕZLn#x"P}ڲ%.E}+Ag=P d*קuZ(#|Tո,%\yQ 9ƷxrC`c1f!9xf˖$]=C`9ڍ I,Gur]z-t_7%(grokDChYn'!(m[J4+cSQ{X SkÔE݌sf>B`jA=`s:rj*b[P!U+_Ņs[ڐfӸu)mǽ@[aT~SX֔ťJN]]ڲM+8c`w8˹V'13b$fQ`eYLU!VS819?x܎CЧAQcrwL;'2P3^ A9 ^؎o${-!SnV6=!u{RAh\u$`#v Eo4t5xԿ'y\E(e(e=!l S>h.Mb!TksTʩԠoZChe(Y6 Xz#x9{69!mƍ6_Y cv9!N %1p`6{{~J۾ޑ_La2˜4eA9RH=و/Cg { 'jb x}3M{΃@V.d2Jpr9r)nDZn^ۓ0uCwm?%#*#Fpr`1އJ }ސZ>89N¹(టX_;-srXݣWJPnȥۢ A) )B"}#s}6GF {к(m!S+K ;}`Gq[;@f(9|C}}fD^U=zN9^28#hsSy A].PV0zH+ש 3='nD&4or}Ocϸ Hqw܏Oȁ\k3n}E^}-7;<-[ԞJ/C%t[.XQ/9EJ 㐠pB〉P4=h 9dͽe"Y 4IZkD2`%A,;'$x;ۅSȄ zA߅3iD\(~-hqw-h[h ~ap3Wd{fAy 6cjr+?pM7o2!1C#6s`nƐFi%^n1zozAVA]++?Oll69P@frM5AM틙`g]C0 θ\C p xqږ70g>ompަSrp;̊FkM{Y A)%v-,*94z?Z`Fҧl(#*9\CJ'Ġ5< JF3 1U 8n5ˉ_K%ǭoGu뛒[)' 5VP~UO2 _odi!xr(A9lЯ}#{M%)VnF!Aqf={Q"Џw>r`,\8¶&̌wG3"ţrʈ/`pG3]ّ>~$uM~w>Ur<14*랴J[:f?ڥ3e/өF2+G TX[3"WD jBX<ۑ 9aS;8^B0Rjx+{5F kRh-A9o . qQXqnԵ;An} `]µ-$n>BXkW Ǹՠ2bcQC1h%=GT=!W^rq[CY-Sv~~/Vpۯ7C 2ZBch&Azʱf!k.EZr~Q!hMcFFk}EkA 겻">x,Z9s->>jzY1Vݳ*6RnJpߖ70pB ֤ɰ#86w1{ _\} ћ37371 ,LVg[ nx|=7CM5ɕqh >›3 3hˬ\iٸ<p7oT+2H4XsnCM6I 2{aI\27#i+xav( 0rܞPqADQ)!Ksgj|x8쥦 ˕noGѢ5ɢ 9M[>CО\%z0ueԼU"5/q$#!> 5)9? D N{i=T^:M!('sVkP #|2%('i=uq鷪@bM;K+9 dCU9@U<ϭm\cԇF;h!$YDg!)S7\rp?߯|.E2oyׅߦI fE= 9GH΋g`Ϸ}jP-%hP}MTJCM;C9/i~&Ƃzcq03X%խZ%l1o0?Xꪜ)!w|#; 8ZO@l4(8᠄u wb<#\_DI`P٪:Y~3p=G c1O!2}{/X M%K^zʱ;#>5zTxA]O 멐|Ef&W ^ AM^ΉqRy 4R32.DvXWLk(2 c݅L!N؉vc A9#0+,~FTrn*,vI*cwk|o^%\gص9n-rH\,){UM[fXC cM2(e(As8/LQ;YxYr`Mqسc>»UɁwk;lJoyqo( M.c6SIo @RGx*A[*w㚠?pcKq7]W<8 5hp}~G\rh1Oq@qn"/lxB,2 9Q5)"ʑ$XɁݶ3h9޾:SXCКG1#f:CW|cLv|;Rɡ_2hq!hF̡Oȁ%o={g`8QЦYrܦYi9zVe~ cZL}G9J׾l6c!T~K%kF5k`7<%TEfCК{ȼCPb6}oL9X2s{NbyolEb)m> [͌Л̇ֆN'v ~UhB SV;JlV2Z/ AMDT9(A]w.%U %2[(ִh›U dl v>2_`>Wn[EFWrZEN-auKX|lȘ;e^Iع} ƌ8z mY>E42+LrˈݸKo6"bX* 30fr#-N~fla9UB?hrPyڳ<<`d>~59&ChcYcxP;f~SoP O&x*d1-J箁aB1JGݾٍ#DLxEƼl`;:JNrϏXU9qOc A9y`nD<ҰBuBfl_f%LO軒_ɒ25޵<޶2}ƛ])2k#ur`v 7m~#w.2a pKsBВ>2{~#30O!w2&5̈́FN 8h+{9<ģ S;PrΝaRt,+8<|iT Z7_׏@&VFԅ[n,6/l/gHXC |W@N7\eC,] uZ7T6VF7N`< @)= ;hUK OQkӧlvQ*MאC9{&V("S6Q J7nV(xlgksJ> Wb|C`?9^r)haڴB 3T+=2[(m[q% 97lUzv5#lK|GF>tQ 9kx '{:-RGZj?p7mr-ZC ׈W,ЖBM%&S3Mg=rBA9zz'Ýr|͡ԏn3=B]2oU[BXSi:Ii OQ>'=!/E+]_|=5M*~rTH%g(AMf]&%&SN L%?3dClv\ 9#uZ29u˂0Y(mG:+wa, ?K%bfN2!֩M/RI`c؞UHX'Ja9/&~+[{FKw{Qrr%wm%mqօuq(J9[}!@M5co@6F'$Ck!lK A]\v³|0| [%탭 oKFVr~4mG,~%Y+xΚ*.C^׵0zVpw#Iͭ PJF,̵|3 L~9A9Zx{-8g2 9= J 5}g>QY=xb?2Frirÿ;y:?Гk/bÓ#}{3n{zd2 o]׶}@fd|s]GgbFGȉ8^|ug@EɁwjȇ%_湶@B%٨-vsW y42=C \K'Rw/GN{h͂(xɣmNA{*GCKNA3r4X O.ccC86 PO ȬHqT0 xT aJF%9۲1a6u Y9~[vT%v3G| a?$&ar2:,]I]Z+Oƽ_{3sd^xꙓ#;CXIJV_~h93Ss }d~)W\pp'uLi<դˣ&{ L!fFyd2q=BO]hG!TܢQ[ɑ==b==bT˙sT v%ﶤ,g> Wwd@4.TR$%(eĶ+9%Ȥ/*m@p7WMLcRz<-%>ڃ%Hìu۸x~J5POo!'W䇠M05Qr>OnBPW]'Cp 9_8 fXL*I6GXy#<O)T{/8}*3QC'dUk:cS!h,J{C Got76'Cr@ffG]JЫJFR4h@f&xfMM-T\ dF[}#+9rG>3G dr.%̔ns.@r+!),Pܒ{ُl=X 9^;Q !5;<>~Mb~) HQF do"(a9 #ӈ#Čx}=2f,z=Xaɛ<뚙[ -4Iv v%φ{ Pt_X7{t[ Z+{WDP,L# ПpC+Cd]6{Dp!hMZ̈15#@,w\FP pi96@/ WAD$pbM"(^w%fh,wʰ22 S$!Џ7eqZC鞡!}g~֌JPVFszڌcJО0'J F:&*0,F5"dMEX, #CәCP"Z\r=Wr\_{p&̛uY|Y[QCp<X~nc$MpQ2n)9TI<r Ci>DlB{n;X.]>WْwI ʙ } [ff!^z>!R#?u> O Y~אQ~e+m|6Y&-F!rFBOUC==?)u!,Oy,!Ej JPN^XY֒;0n>d% 7~'35G;9#_a{6#2OoP@)myHUC=䷗Ak:4BP.َC`Aq"ݹ3J=! J, fw/<;C,-sv]M l -Na >:heeVE旌NiM,{;5p]G=h %m>uu!y<֑1eka{*~ݧGaoHxįsJaQEy3VrFᯢJa J`Gۗ uq]>@ A>p3_Գ}2;~J 3'lJ0~sr'=[fV>mj"Wq}dp_(O~yʾ!h1)7ܹE02=#RXJCf>5jF b9"(#Mb4AiE&E)xL!筕#Q&^Z5vkƏ!3#߂sy k^!hb6ߘ3,dVC痆yZWBЎ_>amb#`A{viF^%rϽRUBJ` )9a7XJ[ܥ(Eyr}{W_}J\!;*c*8$;%>+A[]I3{@l=GPWo`e]J*5C 84:kx&C06 ;z[Ll!(u(Givd?ٶVyZoqZ19ٝS!(̰,2w揨K _|,8ك32Af?mfOsnmb2*ܻ#YsޔQpB ~ .>`CMJ轴0sgKBz% ywy;LtՖ!lAQBe3d{{<& ³ :!?JםM%&:IN/=oQ/nr9Դiu1$^q{pbo$A&CPSMRդwϖ6LrX :2?0_M%UesE{;jc1$+q eևlOk?f{6_ssHg%z[u&3ahqBY2Gj<^x= NŻocڸSO dvƌQ ej2Bt 7<wT*9x񽧭s}`Ε$0qY~$C"2zQ̇2 ;[f>!(W*t2 6uGbᇣ77t"#23c GEIicx ю(5=yWW74p{Ua>TVa3- 9̓Ix')90eZ:uF]JXZt?Oqm=+A{~CL⮅Jȁk $hq v챢)]@f{r(9pVV$TrkSQuGy電V(%c0#S dqHf$2xVC"QJ-Xx )A9Rrb7µKaɛ+t'獓`NwndfᎸ7hrN3mu_a("DQšcxfCo7֯)᳇O_%쾀Q+GP [7;eTx!i9[Xc3"*9n*<%+84|qÖ2Eyȡ=M;--E~m^8h'֟y~~5zַ16J0±cv=3 AkėmxJؚ7ꖇ`tPa>0qmaۀuW JAd-r]GaD @Fɡ u9+X[j~aʵ{)A2̹hwɅ=&HQr`5ךz{iDRVrh7nCbr46Vb5&9ɽGgdz'vgy=ķ\돐Co-sG44e9E~+At }WՙfuQW>ݿ{[r_%>H8u},อee?x6kKɁG3ۚ;3Q;(%QWsxB x$}/ߓǍȁ#Ol !l3 #omg";ùlspWr~eNir|O"1wrx_pEa/Bi523ĸ~QYFRpxfOd&獵Vi-0!˭N@,z5c|D4GKy5Ri ~c;[ϗ( A1A9cNr x6)QrvHDUՈ2xQ{}GHڳ^& .SO@4`5(ALm&/t!yFuzѴįa *? Wu3C scl> LJc}v)9 Y٨aYSBK7-M*emg5%ǣz\#Of `<G I%ǣBEfiH0 aC%h E[z{W&hI7\AM%qP[.!Wz<YTp7q$< ~FʺNtœűhPΤ .0+jy =v[F'[CQ= .ڬv~v(A]uaN)*&؊~Mi+!)<7oBI.GqG@߹!lIҷX+5!,!(ǣta}S6~"VCP.=Jr{=q2l$1+'u=JО xaRr {ڿ\a]؎&3#@ũ\iH,6}!;-,6J(ݠT}ȁmoM* hF x`M~JPWlSPw. @~?v-|Ŕ׋k 3YM!'Tݾ.]p>6+)fsIJ 3w;,JP[W}[X[RlC5yf{Gx)9xԕΙf&O ^M >?²?zƟ$>l7B.UبC }G2JhI{hQr˅yǜz>R2t5)ynU)9r ?/U}KY ?}kUS1V;Uy5# -k#FhL\ՃIr sHsB bCTsp5p8'3*mgT5J`%\J򄱨3h* u5XuZVo?!h\K)9nDuc寫BN ,ŠOOpkC씛FRɁ}" nO$zVI[5/g^y.]2!p9Nf|KGVœ~0͇@7 V.}=2ȗrUݚl+g9Sž.$E}K^kJPۜ&B$=r*A9ƞqK[2O i#!3S[zGNU<v*% H٩oah UϷ(9)0oWNڲ;uQz蟏p|u%<ŔE)~TFf^ GFm5ޔ!%|n5!8T٢FF1J` 3'n|e7/?vD3>Dn.-<-P80 ?`WnB;O$}ģ6AD\[՘Dпug>]?2k({4Lڸ+u7ma|f}3>=3=>)i>备cgSsM%=vdtj[FLd<>* و Lq;lo(o ΔQͰٲO UYU ƻŧS[ 5ӣi?^-HkRB/׳C.< {@#\S%Gd)W=/x;Շp ʎdVJ↹ Z|~T ce::K|ZL!q\+2BѸ;8B:ɵ^b'6A#lN :#[7cٔ@2[A+A)9^pyt@wU'St~Zq\70ڼ'{vBA #b{ܗ@: i(oym.h^?ȽC؞_1) }8Ly_}{# kω(A9,rEr<[+X7{zJG(F7? !WAJױd!r6^rxq?Qb|͛o$vEO۵y<$Ɛ߃~2{zN1`lv!^Zrӂ 7muh73jJ}7g`:U=J S6j!2+߼2B 5d_|:C/ܫT`W|hoj9U+mr`+0(9nJ^) &6%GOoZ%#:0CPnh[Li fE0SJK",[J(U$CدǗ~ A9-vR&#^vkqRr܂3bEZ:3,v̌9)7' b2f*3k @eqP("(+ ڿnn0.gNryɳg= 1O`8Yȁw_]IAvN;(&WDȁXRTrnW!s"ϔCo4eOA9`|!C#A]o%kSEUerhnbCY_k`TfJ |[$Z5SP psǟ~uyٸ>r~+osCx)RV)A+sE>/%lO F \hW`QD ZJ,6\1G+#6w~WJPYp<5w[ZLrQ 9u,6=33e(BОg7饶Ocތ` RP @ܳEZa!7w(a)&М9ꬅ'ZdlRr౹;o;C_Ltzׅ_V_o -ҡrF@~eX0 @MecO±>w>jd54!Z6-i>2R@!Q:v=@ܸB=0Kd,_Cd> <58a3k^B,do2!UƬn9zmf6MρgY?G,o[,9(rHE'ejMaȵlB=0 Z8` @M}-@J bԙ ~׋6'%YKaSrF|mHCnĘ!e!FuZ-M]yȟ̞ئ"6#fInA)E!ǽ7zqRJ^LºIժoEƋk>^c=%)fDKLA9+ "UGg@^gr+9v@Checking Documents for Well-Formedness (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

2.10. Checking Documents for Well-Formedness

Every XML document, without exception, must be well-formed. This means it must adhere to a number of rules, including the following:

  1. Every start-tag must have a matching end-tag.

  2. Elements may nest, but may not overlap.

  3. There must be exactly one root element.

  4. Attribute values must be quoted.

  5. An element may not have two attributes with the same name.

  6. Comments and processing instructions may not appear inside tags.

  7. No unescaped < or & signs may occur in the character data of an element or attribute.

This is not an exhaustive list. There are many, many ways a document can be malformed. You'll find a complete list in Chapter 20. Some of these involve constructs that we have not yet discussed such as DTDs. Others are extremely unlikely to occur if you follow the examples in this chapter (for example, including whitespace between the opening < and the element name in a tag).

Whether the error is small or large, likely or unlikely, an XML parser reading a document is required to report it. It may or may not report multiple well-formedness errors it detects in the document. However, the parser is not allowed to try to fix the document and make a best-faith effort of providing what it thinks the author really meant. It can't fill in missing quotes around attribute values, insert an omitted end-tag, or ignore the comment that's inside a start-tag. The parser is required to return an error. The objective here is to avoid the bug-for-bug compatibility wars that plagued early web browsers and continue to this day. Consequently, before you publish an XML document, whether that document is a web page, input to a database, or something else, you'll want to check it for well-formedness.

The simplest way to do this is by loading the document into a web browser that understands XML documents such as Mozilla. If the document is well-formed, the browser will display it. If it isn't, then it will show an error message.

Instead of loading the document into a web browser, you can use an XML parser directly. Most XML parsers are not intended for end users. They are class libraries designed to be embedded into an easier-to-use program such as Mozilla. They provide a minimal command-line interface, if that; that interface is often not particularly well documented. Nonetheless, it can sometimes be quicker to run a batch of files through a command-line interface than loading each of them into a web browser. Furthermore, once you learn about DTDs and schemas, you can use the same tools to validate documents, which most web browsers won't do.

There are many XML parsers available in a variety of languages. Here, we'll demonstrate checking for well-formedness with the Apache XML Project's Xerces-J 1.4, which you can download from http://xml.apache.org/xerces-j. This open source package is written in pure Java so it should run across all major platforms. The procedure should be similar for other parsers, though details will vary.

To use this parser, you'll first need a Java 1.1 or later compatible virtual machine. Virtual machines for Windows, Solaris, and Linux are available from http://java.sun.com/. To install Xerces-J 1.4.4, just add xerces.jar and xercesSamples.jar files to your Java class path. In Java 2 you can simply put those .jar files into your jre/lib/ext directory.

The class that actually checks files for well-formedness is called sax.SAXCount. It's run from a Unix shell or DOS prompt like any other standalone Java program. The command-line arguments are the URLs to or filenames of the documents you want to check. Here's the result of running SAXCount against an early version of Example 2-5. The very first line of output tells you where the first problem in the file is. The rest of the output is a more or less irrelevant stack trace.

D:\xian\examples\02>java sax.SAXCount 2-5.xml
[Fatal Error] 2-5.xml:3:30: The value of attribute "height" must not contain the '<' character.
Stopping after fatal error: The value of attribute "height" must not contain the '<' character.
at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:
1282)
at org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(
XMLDocumentScanner.java:644)
at org.apache.xerces.framework.XMLDocumentScanner.scanAttValue(
XMLDocumentScanner.java:519)
at org.apache.xerces.framework.XMLParser.scanAttValue(
XMLParser.java:1932)
at org.apache.xerces.framework.XMLDocumentScanner.scanElement(
XMLDocumentScanner.java:1800)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.
dispatch(XMLDocumentScanner.java:1223)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(
XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1138)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1177)
at sax.SAXCount.print(SAXCount.java:135)
at sax.SAXCount.main(SAXCount.java:331)

As you can see, it found an error. In this case the error message wasn't particularly helpful. The actual problem wasn't that an attribute value contained a < character. It was that the closing quote was missing from the height attribute value. Still, that was enough for us to locate and fix the problem. Despite the long list of output, SAXCount only reports the first error in the document, so you may have to run it multiple times until all the mistakes are found and fixed. Once we fixed Example 2-5 to make it well-formed, SAXCount simply reported how long it took to parse the document and what it saw when it did:

D:\xian\examples\02>java sax.SAXCount 2-5.xml
2-5.xml: 140 ms (17 elems, 12 attrs, 0 spaces, 564 chars)

Now that the document has been corrected to be well-formed, it can be passed to a web browser, a database, or whatever other program is waiting to receive it. Almost any nontrivial document crafted by hand will contain well-formedness mistakes. That makes it important to check your work before publishing it.

TIP: This example works with Xerces-J 1.0 through 1.4.4. The recently released Xerces-J 2.0 provides a similar program named sax.Counter.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

#Y!,xc<Cgqg'[³) z<||/P+ɦuzù@b5⽼^Q ZQ@h d14}ya1$>AovÛe>m%ޅ}C[е؅Rh蔜Ok~%e`5oo!l+\Fxc cO.q2to31*ArHeZǷ 5!UatxJ[g@ >k07޽.T6(I3o! o|Lc1u~2ZE,=48{oظ'P׸LJvS 5sQ_-7춤tkxܹn#f\>)95e\qzI|CXOy]vd)P1y&{aBcY셠拎/6XFzs!0k!xoz%yc+b^ PC[7-|w(c n%}q-y5%&x?cTEbX!Ifc÷YtoΝkn#4J lx@ pZMGI/(r@S^ xZb!8R?f!Ʒ.cYwx7|WAp;+9z7_{*9fLxIȡ.0>{h?#cJQ"[Q/=rI=v ͥYpVqmނ34B0?ypJ1?J0# iK1?J8]身+9]P^CO{/z-O@QDIh(ɤ ~|mV<֒9ܧZj!q%(sHp|`SV-GGz p%(.~bD%AUFn+a>hLE`=m͎mؓ/XO`CħG0ygLePJYy Aŧ>C0/WS'%<+*f  iXp.wr̢51! 5bF#V# GQzR|cn7CP0a[vxf( T,d'Bʼń8*M#g +b?HxN+6=Wl+f,S(9?6术?11; =uG6ee߇pA.` PEfrX4QQF z;z+bנ+ڵ̯o MgOGYbO?ZlL`~p""e ( |ƌ.뱹oQrO J{wt3{WQW\M! 8L"߼V͚(.yT?un@070zʤ_ce7o q|ȁ7s PKrBS1V}܏7ȨePVf3i+gtTzj󃕀,zWl iԲxihѐQ/B0&Ƥ~6OjxJq0H?r3ՙ z:?Vxw-4Zsv"n|Vy|]p7.!ǵOace/ ztA/R1ް-^}N~e-&5bs[ggtO%^pLZLj+ rG Qz<שFv{&G=e]9g۳] ʤ:8rχܫ7,obZ=כu[DWEЩ.ė6J<ok?}μXv>Ϧ)zZ2[\ܠBPp??nK e6o!~XKh`caY!񡕫Y69]{h_A3?(o{S6by㗍鳅L! ^%i'wW.@k_nJPos%'cc]) ٤ = i酠M=VrQrKMJПrfJOݽ,K9|A%(9NK=2!VPZ1CPO2g(2 |kw*A=5u|X=JYbpY J!,P32y!CL?1J060 ?|?7%r] 9; aJi$"+Aڅ,ݳ|ލjp޷{BXf[{o%ZJYU+%^_g.Sx7Wۍ yGIF87aBh̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,B H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳJ7*њFLjRLK}*&ԖW?f}UeW_Y=96cٔgIj̶᪥(M0˷ߢ/4]+hX␍#K6p˘'+0aCMӨSܑrA\† gyY=pDތ&aqćU>x̃/ONv=rF;\Oo5Yգ\vJʵFR0W¶NBcy9Æ^ ZMk3ĸCП*z,`_-sؕ'7P)9++SovB5ka%h7ڱGgH n"롐5㽧nx7ρ[}qSLݐsByd)xM[)-zJVCML3G~AUr65}+GE6%p _#TrhO)kkA=m{ mԓo2%zJkzɺ#(S~-%L0݈sJdڵWr^%xfRczg!ujc`f'71C%ǵuw|$⭏,W]Ko3iL#*Z<ۯWɁn{o2G+=zw* Ve͡YUYvu{v̲!n>*!XoJF>Sr|. 99~Z*P 8&ޱRDaSxA +q%1Mr)A[tZԓjQQeJJeί)wƄ*ezL_Ѧrh덝M=GT|RPRd 9IRh2?=Ef<mU6C}"fc{ʤvaSr4cJT ʸm* @ e; %რPG ݡ:H16o7!b1q!90_3%gφרAGV9c!}^߬GM _`~唈/np1͆ PG&<9Nsr^J Z!JG{ڂehK FwH~!1!n>9?-er'lj<8=0bK!Py2{)s^ȁ%hzzZO]:zZח +c<ܘ(+Ay Z*e߂S ,n:z8 šZk- A-'Ϯj`LWS JqR&B.m5 [mo9ChxV=¹iR!\PaCv,!m0Q }-CuTqM9C# r2wԢeOtQqū,eD%֢q A!g2S+8&O ?sGqy{*<Chm '~v5F0KB%emĩjpv5L1¯wH=N>&  ec)qFb٬c{qIWI ZkaOR\a;m2e=52oũ9?yWAS }#r7%E&;xVЂA\M[*8[- aok~ڢBRƮaHM[^2Q2hU ffn`GC3Bt/dPxf#5*WDUH # Uh]Λ`0tpپ=>Gs숐O[-ڱև-NЦv`LڱևpyGe!hkj]3׊Mh❉'^-'$ 2T GY^5c 燠͝Ўz?Vt[t#`܍rIom+aIʝ~B tAK#T!WkώvCf|r*9ߪ{:pڰz?0R3Գ5xգ8.\]!3UoY!g&+#wد(M!V{0!@>|}6#YU=Gc@ >gƐ"&~Ga[XE)3\@ lW%LW.LԂCB5J‹j_'%a΢6D/VL [Cv%2>+~-y/#h;쏐JXekFdQ%cZtY -Nx+ICP& |>e<ʹ"fQrh߅)M/v4X`.[BR9Bg*O߰ Ƌ]AJ#*~zx*AW|fRz{ǀQn{y;܆C^(#!IB1%g&Ifx>щam]4%6Hz1YJ!%z~˵(C91+ 䉋 >p8B+j*m_AI 0sc~-s攠/ce-Uk&QؕSŬrZs#vmpCV o(MРܰ`KqLjJ`_3ޝJGa(~S_ %%aY̌JP-zQd#}pT5N~eƌ/2J`^Jf>CPEגG -p;R/*e kǤBV⭪ȇ}7,k:#n,Ī΍Գ9Is;- +%s椷0r`-̆`lBPcۙ⟾VFiÓuCJy Q=,:O{µ#xEyZhy 9}qF7)s0#^A*A=u-Q)-Q'n'8JJvC#qH* ,(A=(a B=Y Cژe X菒1a€˚ljO+;֡U@Os\BCPKuIŤ^ FSGF)_-Bcr/GPT©_%~o)gj75eThe XML Declaration (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

2.9. The XML Declaration

XML documents should (but do not have to) begin with an XML declaration. The XML declaration looks like a processing instruction with the name xml and version, standalone, and encoding attributes. Technically, it's not a processing instruction though, just the XML declaration; nothing more, nothing less. Example 2-7 demonstrates.

Example 2-7. A very simple XML document with an XML declaration

<?xml version="1.0" encoding="ASCII" standalone="yes"?>
<person>
  Alan Turing
</person>

XML documents do not have to have an XML declaration. However, if an XML document does have an XML declaration, then that declaration must be the first thing in the document. It must not be preceded by any comments, whitespace, processing instructions, and so forth. The reason is that an XML parser uses the first five characters (<?xml) to make some reasonable guesses about the encoding, such as whether the document uses a single byte or multibyte character set. The only thing that may precede the XML declaration is an invisible Unicode byte-order mark. We'll discuss this further in Chapter 5.

2.9.1. encoding

So far we've been a little cavalier about encodings. We've said that XML documents are composed of pure text, but we haven't said what encoding that text uses. Is it ASCII? Latin-1? Unicode? Something else?

The short answer to this question is "Yes." The long answer is that by default XML documents are assumed to be encoded in the UTF-8 variable-length encoding of the Unicode character set. This is a strict superset of ASCII, so pure ASCII text files are also UTF-8 documents. However, most XML processors, especially those written in Java, can handle a much broader range of character sets. All you have to do is tell the parser which character encoding the document uses. Preferably this is done through metainformation, stored in the filesystem or provided by the server. However, not all systems provide character-set metadata so XML also allows documents to specify their own character set with an encoding declaration inside the XML declaration. Example 2-8 shows how you'd indicate that a document was written in the ISO-8859-1 (Latin-1) character set that includes letters like ö and ç needed for many non-English Western European languages.

Example 2-8. An XML document encoded in Latin-1

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<person>
  Erwin Schrödinger
</person>

The encoding attribute is optional in an XML declaration. If it is omitted and no metadata is available, then the Unicode character set is assumed. The parser may use the first several bytes of the file to try to guess which encoding of Unicode is in use. If metadata is available and it conflicts with the encoding declaration, then the encoding specified by the metadata wins. For example, if an HTTP header says a document is encoded in ASCII but the encoding declaration says it's encoded in UTF-8, then the parser will pick ASCII.

The different encodings and the proper handling of non-English XML documents will be discussed in greater detail in Chapter 5.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

ujL#J(gf5C 9r߼2ewW~M (on b/Ji^Vc%A=;N,#pnsqiqF0IhGls+w{Z홛ZCP#[ %H_#e`"K}AVaoX(ߣ~eJm x!( CdP2sź,l [Ojz䇰QyBR_x(WK)~@t<+`n38CP#.g(e7omtGĵ5Z@{ wsU0RQ/x5BPc{2J0_vW9+!9oє[bV<r`ζ-6B~QZ&,R<CϾim\ ֭WtK,(į9ȲǬ!=D͌RCA8+9K*Œ20V_"Ȭ3E]>񻄠_SJCu Gz3vĔ`=l8*=Vr?yDAU;o2ǬQ9څ o?R#cL8D\h`7n^ JsMk dz(e=e<ޔ7zBe<3ӣ}3b !2J>-%}qFX2%fxc A!:@H-f3qm]mo#TCd)@jih)eK{('ePzq`  %yY!, b˔@/Cc$O+c~ ,BP?==&E@u#83虠;%STnh%8;fhʖ"ωUgZp;v:VǕyu D %u&I@ȁ ? eU@qO Ps9uoAo<&y &sO)< J#F3p DŽ-GLVZOLq?M"muv֖hvŹ1=ͪIrE yz-G5xz7r._ [˽'6fVP3ڸ%]h0ƒo!;,yC/XsDz%x_7ǞJ"J *5z;fP¶h+ZokFE PC[Q2xS[䢌x_uL=k%B1zRc%f-JgN<2X9+G-|ʴ_1;2'%ΰ9^t\ J :n> {lc2aV#͇7zXY!b9u" >DkrCW3[KͲ 24F6WJLET_)Aد3߲WX<}YD {a__Dh:szXOjRʠ`,6mZ^R!m-6v܅%% ?:O1Itҡ ] !y;] 9^t?Wax]/@-%9jQL6]3`_\ܦ}Z4[!" z;B̯[=(3JY {Gy|}I:&[NzB^m`9N@T8 [WȁwlHR1^Tٹ]6u5BiqzbBͦg\3}Oß`qNˬ~ړw)3Qfy- =S)9Ԏi¶۾Q5WdrGP76 Ox2իlv fso3YQbHr*ʽJX9,K 3ʞuI_H;=0Oj!(S:V5YK,+;cmk)@ ťcju;=}r~W<GX:ZKx nsWAn.,"Ly3Ut$ Ō<eڊ7E`܉捋BjAoR^6+!Uݬ+@-1üLY|.̚Cr%4Z1!(3&[dD!xfKA1yVb<} !Dg> E)RZAo:f 8u4!J!#\ L۔pܛ13pvrrs%Ra.7Q,Jԃ'6gPRھ#R k }-%91@m5 9 [HB82F?AR{$CלZ@A`̮BIbrћ>eGuoB%ܠJE,i!b5 9(Ϲ*A flhdƽf3u{I7 J1"҂AoK)Z&ƈ6&!ϚUו 9y<eRT"y)Л8]O[C+[(3~{ `%l+ 9C!OW6;BPfE9GCCy[Bg33J^K| +%Iz{P3Bc!2X4C׌+~3H)%hRύ녩?pg Y!,AoFk[ LZq2JΎ=YlJ FemjjȁmbJP9Ch=#mTpqgׇ7Nri(8pBsjv1BPB>n7Rϛ*y<$>xZBP-Iԣ-X٩Ęxk9k=zat3բ,lm Qqq;X5p;{wP2kb\!_ofQB)9^OZa[g~F:<{?D-ƫG$ZO$lX-BP&/[6;DqC0yx(J4?m-AX<eU@RuP*a-xVr~meܭ*9 wZP%ãAB]eh3٥WzSFdLx ]zˠOǩC1}*.BxJ ܾ#/9>j{ B0rs&*9[=ٖ3Bxf{93߿a㳰C~e{nC{{VxqgTzN՝>ޛ,~zlvO+aިA[炄qgk IF;ۑziM1MҴ(6?`%*w <_ |װ@? :Nrb mw~ ~ëy{΍2;O(`n{95P"G`Q%hiS6Xo}}cy (9yp5OF!gU,9Rxc/N%eýf]r}_e~Sifp!ո/C|kMW+7&ryʌe_vQ!q)A1|Wd~ŸY,P qH]!XDF({0;JFNzA=c޴ny?1ǫP2e6׮|'ZrBON`ۮ*5EW`:OZl"!ǵ'QwU l Re+#mi>r໺qb} YT=vMV }PGIF87aX9h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,X9 H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI!p숳N:sTЌAoE*P)PEYiN1VԪeW\Jr*SJN5;4ګOߢ ۴Z[j0TrIv)ýu +^̸ǐ##L[Xr_–ͼheΛ9' -z2ңQV/װc˞M۸s ;?ܿy٢ 9R!F%q巂u Ij WJ0K`Ƃ_*GZ ^^7'#.s XHJb+"atlu>r`ϖx 7eė_:!1zcE#0 L~ž8:̀vtBЗJ5G |%I!ɓAya #*OvOB۴Lx0Oq3(9+-Bȡm )PL̛-l M!(x3OF8#Գf3̇ψ7#bzsg71Ϣh}m ( bEۯXO~]l !f ˈJxba!-AsbQJ#Glj9=M\JPZ$lF:ԣ >K ,}p-?C0{}W ,~0plsHnT~!t<ۂKarz*TCгu)լ!0ʏU#кԂf$Lޯ4 r#qOߡČ!-X<{b" &-%[yAڸ8BПx1,Ϩ!=Fxc%*2`2)N25Mq渕`6?QCɀB)0pAaew*XGܿi5~"Ms݉JP){Az4 vw1f!J/Z{퇰| BPP{6rĶP ʏkDPr}[<rcG~v%1yY|ݿ J۟LMnef|ݧ "{S #_mR(AFL!!(S7EPr`\!ID-aΤ *J ӾܿwQY`R(QCgYXL4i] >oK!s"g(Ao:F M8rTYJLG!pA$ZdOBo%8u6g,hA϶3w'x;*T;ӻz{^bX :Vў|T~#=x۞[rE ƕ khiQ5 Ǽ|{,e2op8{Vbd P14̤ah)C.py9Y7/eLj5)@1E tkI T '<6!cXby(CP,|Z=!(nmYF vr#ݯ G wr߅Po[vBPWtpBKxjcJ9iRPӡN2DYe}mO(nTԒUD cS!2zjP%ERkH Zjx3FUv<σeg;L:E6|emꛚ;SiG&H+U)phGA:Z2+sC`VBE)^}GPlRzσpkGD,(A#qۃCφ qyfcg?/[S}q2uIt?iF]xZo4sYB2fXeN<}R̯ChA?A,E%GH< %(F?B ]eվr34J!ղRJ!Fp84akD\PZ2j#~ŬB GV8P'{K:!!oF> ΍ȕC8EO>EOsð,  2;X3r$mV2Xm#Y|&g?xx,g6#LHx>E=B05[!Y.0 z( 8௘!0DAvpy;:(9{_&3:<T~[n ! ==?rWo$J{4hBc=e gZ7z}\&Vv5_ ̯3o!rh.Z9XJd3(A=Ղ}_J<rM@Ɂ#X !:^CPOƏeqWDL $0*>Y*=*GP&Q҄PAz\}K%;"E(@-? <Ц`v ۴X_)z|N2ӧ?-S@Д8pWo> %ǵ|Q"hΦz: b 9jM -Uf|~JbIW;b*(Az<?Ќ]̡lS̡ %k5y+9skx{Ozcq߄ho:2#@xh{>- 5zN%_-(A2FW2Ўx|e/m-<"qJkL y?Ͽz~cD=Jt@W C/$4`{5`-=[J0|%q6azz H`^ؓoi=ΐZχLjh7퐧*LzeHL$=BCVBXKj(Cr܏Jq1[e#ش{BLGioxȁP𬧰OB'hG!" zF>6W'GP}Wpo5ye Z DU-ED`^tyUrd>pFPrx{Gr+….x@WYV ʔsI񬝾'KWqE%(Mh#JMFJdU䌮`LK`5^CPDx@0SBp;qK[\-p)y=1IЛ?f3); ~X?&ؒRj霫|JPK1[EjqDFd8ԨwՄ{2ދN+I'ewZF(!zV${KN+=ˎ0ߝ!)A(AšLjQ[xjJcչ'G xWD^D%rNi ewP!yԛzLm#Y'x!ga=-5le!oth\V-U<0z!h˽ZV:wAw.`;/!%p2v> F9vG=%xXmrfI;Cw'7x*!OC( /Z(Q2{z5g\`~#T<<εVrkZ|CS~AO7{^v##0`E xM3I}p:kq?Jh4 a&{!쳯-}2ɿm }YY=J,|bBp,',A;%HʴQ0߅γ`FJ G  9Q3ϐ A=m)3z*VM|?|%!,c2B>a0CFOk_d\zDMb@H7u s9-0>"4bxNVEݽׇ:%(p[x<km:a)⒭7kVAQ2oEiu!ލԈ$fg#j1К B ~QZ0wZG3yyvݑ˩w1&Rc8vBU9?R7#~-FxڱxO`;J_~P4H U2?Oȡ=dDz [#ej|vdRrhQ/6`uGP|Mesu*7j7sZsHꔜ? $&L33^w?¶dj !(r~2J0fT#P^.n)#c/ې`Fy4@rMxwmxxl){/ \sk! UG {>3RZ50J{x(C,Yr&!-OVcJPfMn! q͸@qJ0@:x+2uJ0'N /B J[J(+y!"{]χՔEB+B T9)L}BX&np=_47=_䪝sd\%BPϢ"׈ӾG_7*%A2_~[HL2Z~\uIC8ݹZ"PqGoq 7$'H{J ! C>sKIF\J׻-FGz*yDF|U7WPX#HH7qT0S<u54 W\@_;"#3` aY-%(#Fk|~)HoUK!z,? Dr^%VƢE#¯r^XKJœW/a%,kш-{7#zWlOe*Ai׊,{* :A^Iyʪ|]dUBP&-7o`IH?BiK)XB(wkD(WE|8{W o }~ 47J#ۢΰ9ً+V9|C㴼Ordv'+W}2gx5] ͣ|w޺Hg%sT[|!2S >V I?7Z%;-Xdˣ ~Ō#h 6?PB~r4/4>y^o4ҹAO~7c䞱P˞6J83Vxc&ھ=IRE- !.jᦘJDZVJ Jx{FzyۃRX)a[n^%hW OBX0n ;GH᾿1fW<"  &6B֧Pl3Ƭ o^8":`mHB-b+= 9,jw2b/$_q B%$Sݹ-u~M&c˦ҰG٣ a= n=Bɕݠu`g<=ҢGwoD 1|{P;&w2JЗt!1Q lG?@yt9}R<# @o!ʹ=#ĶJ[\w[=J(\D9fF ڜyrs1yp 9:N PsW Aex:H}7VxleX.~@kZ߭%/{D=o0CXO#$FśAwX9qDHxDn7Hy I y!(SEk&%Pߦw"VH2O9M xfu"E\%s*`:NIxewB8w\Bb\J?_-uPȁ{Ȍ q+%v*O-Ra ` 3,z_^-"*9fyF%IJOV!JXzsw+A=k/|_sx\W!*&o}>`U.\șg5ȞRŕ1=W $_U#Spth9㜰Q)aK@U%XPn˳oǦC8{ XNr[ l _znʑ@bAem7Hc^7ӵi9p]z0)gqM2ˤ5P9w?< lXI%E\X%q}WJU0cLJ %moݛwFyUr`;1bX i vi3ke!*û8{!MӯsX I!6X,l^6_BЖ3;\B8;nr{Ύ_f0 e૽i-<{!IXDўNh3#%ZZͪђ[xڨ)a=1 @=z2Ϲ*p!+X=⊸%^fR8qۣbe67f;PU $![aGkXۣ]eO.گJ|iXٹ`n3⭇zT 3 r>_ePbs=gX z\VxZJs .HS# ۿ[ fȾO4WEyȡ-9D]TTeu\Z7(A=kˮq*!:b&^Y>其P_h1Cf=JX]6AΚ"~2 2Jp_vGː]RɁ/mu0V8Z @ edQk,7?J%u?䇠˶w>!5G$$%6Qk%Mrs`A %;I @=.Y+e{[rЮW_OQF F^-FF>]C=JI oDfU @yB%Sbx(A;&(A;E~j 'L mQ2qK=r܆bA&L %."!hn 4s0M)A[gqW/LxC@pT/Rr`2ӱ ;%ۘ:6Bӫ`6*c{F؅?nAo#Qr<#ŕAttributes (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

2.3. Attributes

XML elements can have attributes. An attribute is a name-value pair attached to the element's start-tag. Names are separated from values by an equals sign and optional whitespace. Values are enclosed in single or double quotation marks. For example, this person element has a born attribute with the value 1912-06-23 and a died attribute with the value 1954-06-07:

<person born="1912-06-23" died="1954-06-07">
  Alan Turing
</person>

This next element is exactly the same as far an XML parser is concerned. It simply uses single quotes instead of double quotes, puts some extra whitespace around the equals signs, and reorders the attributes.

<person died = '1954-06-07'  born = '1912-06-23' >
  Alan Turing
</person>

The whitespace around the equals signs is purely a matter of personal aesthetics. The single quotes may be useful in cases where the attribute value itself contains a double quote. Attribute order is not significant.

Example 2-4 shows how attributes might be used to encode much of the same information given in the data-oriented document of Example 2-2.

Example 2-4. An XML document that describes a person using attributes

<person>
  <name first="Alan" last="Turing"/>
  <profession value="computer scientist"/>
  <profession value="mathematician"/>
  <profession value="cryptographer"/>
</person>

This raises the question of when and whether one should use child elements or attributes to hold information. This is a subject of heated debate. Some informaticians maintain that attributes are for metadata about the element while elements are for the information itself. Others point out that it's not always so obvious what's data and what's metadata. Indeed, the answer may depend on where the information is put to use.

What's undisputed is that each element may have no more than one attribute with a given name. That's unlikely to be a problem for a birth date or a death date; it would be an issue for a profession, name, address, or anything else of which an element might plausibly have more than one. Furthermore, attributes are quite limited in structure. The value of the attribute is simply a text string. The division of a date into a year, month, and day with hyphens in the previous example is at the limits of the substructure that can reasonably be encoded in an attribute. Consequently, an element-based structure is a lot more flexible and extensible. Nonetheless, attributes are certainly more convenient in some applications. Ultimately, if you're designing your own XML vocabulary, it's up to you to decide when to use which.

Attributes are also useful in narrative documents, as Example 2-5 demonstrates. Here it's perhaps a little more obvious what belongs to elements and what to attributes. The raw text of the narrative is presented as character data inside elements. Additional information annotating that data is presented as attributes. This includes source references, image URLs, hyperlinks, and birth and death dates. Even here, however, there's more than one way to do it. For instance, the footnote numbers could be attributes of the footnote element rather than character data.

Example 2-5. A narrative XML document that uses attributes

<biography xmlns:xlink="http://www.w3.org/1999/xlink/namespace/">

  <image source="http://www.turing.org.uk/turing/pi1/bus.jpg"
  width="152" height="345"/>
  <person born='1912-06-23'
  died='1954-06-07'><first_name>Alan</first_name>
  <last_name>Turing</last_name> </person> was one of the first people
  to truly deserve the name <emphasize>computer scientist</emphasize>.
  Although his contributions to the field were too numerous to list,
  his best-known are the eponymous <emphasize xlink:type="simple"
  xlink:href="http://cogsci.ucsd.edu/~asaygin/tt/ttest.html">Turing
  Test</emphasize> and <emphasize  xlink:type="simple"
  xlink:href="http://mathworld.wolfram.com/TuringMachine.html">Turing
  Machine</emphasize>.

  <last_name>Turing</last_name> was also an accomplished
  <profession>mathematician</profession> and
  <profession>cryptographer</profession>. His assistance
  was crucial in helping the Allies decode the German Enigma
  machine.<footnote source="The Ultra Secret, F.W. Winterbotham,
  1974">1</footnote>

  He committed suicide on <date><month>June</month> <day>7</day>,
  <year>1954</year></date> after being convicted of homosexuality
  and forced to take female hormone injections.<footnote
  source="Alan Turing: the Enigma, Andrew Hodges, 1983">2</footnote>
</biography>


Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

';_wۃ3d=IU LżJ 1(qv@갃 \2+9ϭ7ea͑eQ.5o|Q@^Xo:5YLnݳ9wj콂tU{ qSTҵTT]Ք(\vkQ %= ˰E ޥI+ ;شL +g"FYwcv7uߺu7gu0ԡ7;YKLA}֔چ0bY}SF"T_,UndRi2k mi.:e>sD/V=*}VNI$K!iB ].PT\ŅQ]\{\cB\Mȕq+1(yՁbi {Z2?U׀|=?\| ۛBe^}Kae ]MK{\v?e1z+ j/>O^(|i]gaT0J% ^ %I糺t>JﳺvFxPz0IE=zǽs]K?楠I\}I \iq 5W1%ɲM+?i+#*׵rAy3txINp;l(0ʤL,jeB[Fc2zz4e|և5~ 3pu0ʧw2F|QһjOBpMMh{20u=.cfݣ?)u$TPIbLy׃FGup5T !WgD?k*wZռ+9zSg565~{ƸƦϔC\O}9|==C/I/-}jRXQF!^Т+ kicˏ9׿GHL^^GlӶ5iï=|($wtzeP1Q6 AMdBO=.cqK>dgt6 !W'uru~o?? \zA[4U |ەf׬G5qBjA5dJ3 yu b;0Kzb,kBu;5qdutQC\KAze pY"Vͣ\A ܎oK-n; Y[vW%\ .R(ӏnMm}y 3!Qz&;ؿQfAiBVqwt\3z\philkN!.5LOatbg!%GLJ\"P n+k2t a]Lz\b%luYFI)DQ>bMҌPݫa˻eLa{]1ʤW1)o]:|/EG:ms:Jiwpv)c0Vࣚ>o% jx`r:,}V0pلYD6o .,Q6 <r/Smߧ'rl#.f$vP"и|XOҀ^IQ{|&忣9^KIU .5A^0ofJQ\ MqFhh0Sׇٜ@AfAu5lu SNSQ/ZoLX]]W{7;(Vt(0J-+! ryuwi.イF5ssxvj)+K&3³ڔQ\QÛ.!U\\'e )ųt -B6%P^5xYzw||Pj[}]:0ʜwXu?]񟈤ǂ,w*rm(!B:(|.(M2DaQːWuW֘nv+}L7uqb-=m9w)DnuP=1v?ÊZG5u-eB԰L?;Wg555rΪ].CjlM qۑFY{# e)v6eK F!To \ZU\.ea/.U)c2}VWGuqVSGuqTW'KWR:QʍPTke nZ!JklʍAܽ )w˘r?+r?(WG-r~"z*͌^{1R2Dqq:Rrړf<ΣPzhFZ2@&n}RM|qE܏>6!ȴ!g%,tWЬc2yXasGcw 7o}5=p7JFFsHlQ]+`P[Ïjz4,ÕdZQM]{ur2..{Q.erP=7ZoG0q[`]x{e$|Xcguq!26sO#T!2n]b.fFߓ\ߓ~G q qڐu \Guq }ԻOėJ㟚A"c:(Ug>2n۶rn׮wݚ].Cgiȴ^3}ZԴYoEycN-寃2M(rIGaa:..=.C>i%e.񸌱hU8Vc m|=[r1룊^⌾{\0&Ə᷻5X͋^5yQA'n_Vru(S^G Mːqtu_^r ɒz%6-=KWL!J[x\ w‹Q&z҄٨Kz`9FlQ Q>BT_Ġ2Jv*.҈KwNqeYJ<W0g'X2m Q~낺&a%ʨʇPx׃hw2jvMUԧ u?dFPZːE>m5w7ؒ1c$cZ1:9`1BDcKĨF"̹壱ܾ{Q>Af@Twfty@\F1&=T|2H3nI$Fy`&'C>3J{T ֬iZiiH8Ŵ5jS A;6`$QWGxŖLv̌tT0-vT=m\}ڦ}F)\e,?~v>omL7+!9[f,w6;p]HT>Eȅ^\P\wBN 2%\QT9*r\ ۷[HǕ?q;~݌#B_isߑ<L.Fl1LDrES>f\|\udS;}?]c~u6q. \¸̓sAwΥ-%}oK-4DVZClCߕV]͗tJٚŶׯom^/{m{ e:iY2JDm>#+%0̀ڎH)7BZDROĄy!1DZ@BaTY8|8/u۾Oir6ѿ}?| lC3J_~ׯ~3_u_[o%}oo.~ֽ5B)9)+mQ:+s0P$7nWR7{J)7Tz{QG1J(qV162F;DįBrk@3(J&[rj;1m $;hBx+O)7TcrGm> stream xY[o7~_/ hwFm`ĝDQQ6ȍrRw$l4B 0Fnph& pQ[ƓLH`Dʘ̄X3 F)t4:_`C@k)t(iPaL.fN[a֣Wiil!3fXiM&s@j9,*0 -@LG/dY/ &~ d)[苂Q6bCGf,$ 8owj{v =o:2MAȜJ`Fq!>`,"P2 A6r "b9ȫHPt6 JW5K"L& CP$g){}b/!Ѫ Fs,xu ҋ 6  ATy  ZLFֈ AY4D4;$P`CE'$F䔈TF5Fԍ>Ma;B`$`$qsP#(Q!8j qEՉ7ӗWٳgOJϛb~}jFq^'~ٳ,FcN]eyUsmncBJ֏Vsq|, ^"?Of|ZI>\&8I8HFPvK^Fc"3;DdA.$ǩI:NiDٵʺhT4xo*ClHNd+N o6hߢ2GcZ 6KJ*88YٟΔ!r- @Rok\w !-FWr[HqlzGAb8el`phR%>lz vltm;9ѫ/ۦ2X'F_ z9X⒌aWjco<`k-,;v:Fv6ƥ%-rˋߧ=A cT]u"8 ^c. aǟiYs.NڏFHb_SvA k1&IpXrl - 0qh|Ey1'^]_nAҸ\<>]%~g/R ApYw#*̛3J|2m9;G6>LgUiܾOEZ-0<]U2gY?,w19NYջ#YW2˿onDkzxzgYE%24)>*&qF-# x[^lY`_yZx4x^{eg?0쭂 ,Lu\›Fec+}dЂ"I<׆m{dPxd+źNK=\%UJ j m7(oC6 n!,a^Ǖjɕ]7h\wGuSCuTM>Q>)&4oK~^աx{xgᙿX&^~"c9-țNÉp8w"c.endstream endobj 584 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 91 /Matrix [ 1 0 0 1 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 98 /YStep 4 >> stream H*2TT2P0P04Tp<P0KP(mke`ei rA 1e !2@N0W @|c endstream endobj 585 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 92 /Matrix [ 0.75 0 0 0.75 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 96 /YStep 4 >> stream H$1 0C"G+PtP7! ΍0JONpf䌜 +hU/~VePL# `: endstream endobj 586 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /MatrGIF87a>h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,> H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳJ,QFLS)JK ԡRbYdW/I ў͊*ףeᆕ볮ݻxݛPŤL+X'^B?0˔oN̹ϠCM3]&#?w%aڝoxuH74Aw([Gznë+αqiMRѻA}>yoM^xt٥u%lE`1ӁF(Vhfv+;w@b@ 0(,\ǮZՑ…';퍽\ǵ/7oJ~gމzur!A]{}SpdKI ւ3)X)fEM *uI#``GIcgi$XM3<<> stream H*2TT2P0P04Tp<P0KD(kejD XBH*d.CC=# * V r@PH5DH4 lB0W @hU endstream endobj 600 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkVS` B endstream endobj 601 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkQ" r B endstream endobj 602 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 149 /Matrix [ 0.117 0 0 0.117 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HL;@ D{bN+6aD((P@R(ֶf&`邗J|UיqƨTօ4b$"n.=̨!9i=ϩ8T}.Wj͑䶋=!wo8Ӊ~ 6 endstream endobj 603 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 122 /Matrix [ 0.05 0 0 0.1 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H> stream HD1 0 E!)ApqA.^$-^^n CX&\uǼ0V]"2Enʔbc\WM(U?Po>I'f endstream endobj 605 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 118 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H<= P b<ba!vZ( x}"|aHp aw7k01,+c#0~4EVroOcr]H ܪr( ĨTq^(& endstream endobj 606 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 169 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H< 1E[[M ;Dwp$MQ8F' >Q5= .kt;)FaevrXFi2JhI\Ro43U@a [Za AE`~O`~Sh.m)KtqC 0m: endstream endobj 607 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 280 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HDQ9NA v_@"@ @$|jv*ʻ\d?dM2ߌYnmy\<,i8F)lo|[;kynߠNT<_^8 cExO>ԛ{SFl>xoh&_Ud٫Dڡ֞*DŽz8!s\C\\ǪQ:le1#H:cӱ7 a{%a(Zx@p}=eE8s}M} 0 endstream endobj 608 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 54 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 610 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H2TT2P0P26P.sm @iZP`MȊR endstream endobj 501 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 255 172 ] /Filter /FlateDecode /FormType 1 /Length 1135 /PTEX.FileName (./fig7a.pdf) /PTEX.InfoDict 611 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /Cs1 612 0 R >> /ExtGState << /Gs1 613 0 R /Gs2 614 0 R >> /Font << /F1.0 620 0 R /F1.1 622 0 R /F2.0 616 0 R /F3.1 618 0 R >> /ProcSet [ /PDF /TGIF87a>h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,> H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ(IHe"5zs)J06}:TW[fzrJJ,G] [tmY&MS.лx-v}.a?E5+ofHT)nڛ/^\-.˛䉦!5uQ~endstream endobj 629 0 obj << /Filter /FlateDecode /Length 635 0 R >> stream x]j0D= gc():EAk࿯zAz3gHJ` X gux%mU&*a[@mWF$\h '} kwD:rċAO>S/[F8<*Dc!'it4&U$j~O=?cendstream endobj 632 0 obj << /Filter /FlateDecode /Length 636 0 R >> stream x]j0D= gc():EAk࿯zAz3gHJ` X gux%mU&*a[@mWF$\h '} kwD:rċAO>S/[F8<*Dc!'it4&U$j~O=?cendstream endobj 502 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 255 159 ] /Filter /FlateDecode /FormType 1 /Length 1097 /PTEX.FileName (./fig7b.pdf) /PTEX.InfoDict 637 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /Cs1 638 0 R >> /ExtGState << /Gs1 639 0 R /Gs2 640 0 R >> /Font << /Tc1.0 646 0 R /Tc1.1 648 0 R /Tc2.0 644 0 R /Tc3.1 642 0 R >> /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /Im1 649 0 R >> >> >> stream xWKo7 ϯ`sZ"(^x^|[8-obG=v'(|ؑD~|}'LOd'!Bӟ􍘞Ot3_+)1IGxOlg&cNgw +)BgrzۋWbeecLgJx+&eFIaLI7) 6zƬjxRj ~(LgqǶdrm;5;IFX.-YM hU rNs2⴯4̨A [a)%8`!3dz~>E;7K뾨ևjzֵsW vY!ZF ^^4Dz :O.+p19@0@5zfZ_-\ο^~@u tZ\aZA~#-^ ,޸x|iYk |i'Σ7 Mi#!0Ǖ̀nw/ŧ}!`WQ@JkCT1Tp(0jѕ:kcWbN&8.;gBGNb$q+rr(47#_rBՃ-c &7]&:#{ W@||,b7cc1 wv['%;g31zivC{fav{: ]10!JT*F endstream endobj 649 0 obj << /Type /XObject /Subtype /Image /BitsPerComponent 1 /Filter /FlateDecode /Height 1 /ImageMask true /Length 655 0 R /Width 1 >> stream xcendstream endobj 652 0 obj << /Alternate /DeviceGray /Filter /FlateDecode /Length 656 0 R /N 1 >> stream xWwXS[PЫБf@zҋ`#&!Đ 6dQˊ.V֊ kǮTuq77{o9s9wfrX,D"$,:!5C?7_̊"<h`s͑5$gsq y\_Թbeb]R1k$A\ usE|p a\Ʌ+Ĥ+~?ب9 % .'$:yrYN bdHB(+1bh HىGC1 _΍R (A?Gx*&BDUyˁ6g``؞.S - 6C0& F^ vf57 MvV8MpAԧm=gσ;[Ď`MX3׌; }C+ {#wN Vdj<%Sh!Bl9SD?h"l-t ݎFg|\YQt=8NG c_!U88z9X}D|Y@ƈ]Cu`$!P$?wU M#a=(gax} I&3ΆgR `, 9 RxQ<$N07نBr09 dgBNC؋Q\8CM1|_ow )މ_H4ɞMb&2I3HeJR 4<_Hod.rJ&"/!o"!'_!?"Q(=ŏCP2zJ*^IUTE)T)MITTKUJV1c0cz/LtMMMV51276=f`1uS^3#p3Vf6I%{[XxZdXh4oYl򎕲UZVw6) Yw۰mlvܳN>x{K{˧Ɨo_??'N@u@@^`MShV6rsdqfƂÂ˃/h$lyj;7-lVpRxdlc6]q*!a]$y<:>bEчb@ ;fUX鱿őb;Ƿ&h%LMؕ6q\ĻIIdIɵRSVtL3a 4JZrZMZĐk&vMrT6d3'b8E8TI)?qb8՜iirkyռ%i_ʌLU=YYY/A W[*LUMmirDLf]ۋӽ+#6YgAU3Ԙ)VhWiQhϳYY-f;gfo̙6eҹ]휯2?g%̒%o,h.5.W臰v$e7,ܲ_$Xtq)畟`VTV|Z]rGuiҋܗm^N^.Z~cE+5V|jՌ߬\k喵*kek;Ek\o~O6Wڳh66]~-tkkֆjmm۞lOϵ555wvty֣vѮeݲ=u.Kcc={*ﻱ?rZP֡+MM->smaUGt,;rcE8yQԖ''~*ӑϞ =sz5<6~ņK/{]n{Հ'_;s}B{tI7nݜtVmWw ߝ?߯|`_ýHgpgÄwq=SWړʧOk]\~6Yseh_ wBo+ɫ-ymz7-}}WZ?||?Ӻϣ?7rkׯTendstream endobj 653 0 obj << /Filter /FlateDecode /Length 657 0 R >> stream x]j0D= gc():EAk࿯zAz3gHJ` X gux%mU&*a[@mWF$\h '} kwD:rċAO>S/[F8<*Dc!'it4&U$j~O=?cendstream endobj 654 0 obj << /Filter /FlateDecode /Length 658 0 R >> stream x]j0D= gc():EAk࿯zAz3gHJ` X gux%mU&*a[@mWF$\h '} kwD:rċAO>S/[F8<*Dc!'it4&U$j~O=?cendstream endobj 682 0 obj << /Filter /FlateDecode /Length 3896 >> stream xn}b^P;> X5CI91Y[K%IJ@؝uWz/&Os+fcKPgL-t7'⇫d'6V˜}~z< M4? AͫoNVQzeqN.^13xUTQU:Yy ,~GT#})[!,}{&ŗ_[ï$YS7-w7Ǻ:&gԀ-d !Y߆)vckGLɍJ}PaLfdWZ{D6r#`I8f&b>k{:@wwZ9 (Jm<}*$ܡI7@`O#^߭T$&NimzDf&?^YJx ScḪ&( 2xQ1k-ެ 8S \ݕ Dȩ<:]ї7eb+KNUs ?6 l䌓*˛!Iw}9L(| e0/o1vN[v#@s: p^ʺjǍ(W0XuW; Ff jUs=.'pT-36G"?,ROcmו'oee]m>@sjuZT^5T6)~ ,F@Glk6'1jXa$̄uC?>~PWxer3p@}lUQtlm}WWѢаO]:jmKUt*Y> 3f8UVxfRxzUr7XJߥTy"vˈT>\X|r]~f՞ݹ #w̺7}bC ؾ9ws=7*٤;_m J_=gQa9 4 >~"|Q峃@spkA'7ms`LIpJX "3%p%O(ak0Ď>|D-Ȋt ׫v$Ғ2GM|F}}!*ri&fBjm,噟s?s99ٺTk=wϦK)eq.:&Yc[!Pp d€%֌DY!gQD`Z&`,O1-2h+ǃ|̋*7Tr7袵*/|}eO ./p8\;H`x=?X_=\rqv]s{).53BS7pѻ@eDU'~ I*Ih*D0^,)15)=V'2(3Tg>J::MOvPL nޜQBgsý]Zր{,'7'C"As{n-zWε$߭ Ra{:K:ӊ.ܦJpB6B?tmD.'pS̀f͘,hK=!dEm*+tR'WS0ݵ3O2 hCI_]yK3zKo!SKGQqN@fX;Px҇J$\JNVJ,CmkWf csѓ O+7B7;d82̻Q屼IX}tpP'ټIh UV/2T l,v>|J$HrcߜlUqS 7=teA} @ WYrPrua׮jwuمDžH~CdSfa(bj;r:h !f2 !+Oš:H'I{)p prꮷ sHLAkzA!g}ATzIXfs~( Uu2[.ib]i;#(LJ kZ#c䑒rӊ&ZnR?ZIQ43&JBߜk151BSSZ$5A,5sz u׺^83|j? Z1z;,Z% g]d5m4nMa&?fjXƇ Oci}'XP e) DFipU 6,+T.] 19(ۘk_> , b@"\.+w)ON$f˾H>$జ~}cQ*ۑcՑ{=~,d{|8j+Oa9.b Umよ(@!IgZN RIV [Nv!Z%>jzeS 1*3lVE&IPgzdS@Ų+ݢ+]^A*t|Gg#5a"nc@l >?O_z!2Skkp:_*eWXlRF&q9zXuߺ i53=i~de`9v͂M`!\Clv`ңVE*-o%z&(h;{lHC72ˮ^Xe`QXq}bB(߯.;C;GJBK񼻶/pL%oٯO8Vqq B0Ќ؈ ,rL=>9tC4`r8U3I.PT"z`#z qWĄ{000"g̟a))/Sѱ;  ~ TҒiպ ַ){Y|R|іXaُojդtJ\ON]cSkr2 |K56woǛ .wI@_%{|pp.{L&p]t] Cnwm5ϊ+vq>yOZ:-:W-:0[ϡP t]۩sn㪫ZB0L ѿÁmʾ֐U|(@2mKW6>wާc$o\~.q }c=|r`6ߗ5~svLh/cYxendstream endobj 661 0 obj << /Type /XObject /Subtype /Form /BBox [ 20 255 374 822 ] /Filter [ /FlateDecode ] /FormType 1 /Length 97226 /Matrix [ 0 -1 1 0 -235 629 ] /PTEX.FileName (./fig8a.pdf) /PTEX.InfoDict 689 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /Cs8 705 0 R >> /Font << /F1 690 0 R /F10 699 0 R /F11 700 0 R /F12 701 0 R /F13 702 0 R /F14 703 0 R /F15 704 0 R /F2 691 0 R /F3 692 0 R /F4 693 0 R /F5 694 0 R /F6 695 0 R /F7 696 0 R /F8 697 0 R /F9 698 0 R >> /Pattern << /P01 706 0 R /P02 707 0 R /P03 708 0 R /P04 709 0 R /P05 710 0 R /P06 711 0 R /P07 712 0 R /P08 713 0 R /P09 714 0 R /P10 715 0 R /P11 716 0 R /P12 717 0 R /P13 718 0 R /P14 719 0 R /P15 720 0 R /P16 721 0 R /P17 722 0 R /P18 723 0 R /P19 724 0 R /P20 725 0 R /P21 726 0 R /P22 727 0 R /P23 728 0 R /P24 729 0 R /P25 730 0 R >> /ProcSet [ /PDF /Text ] >> >> stream xM4 6;+^Ě|oBPDO6< 7oOy)Ͽui?ߏDu;O̔'DY&2CDmǴ1vg>q/"67GxdoBT7 Qje6QdlMgb pN4{~dj\ڊhXGIF87aBh̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,B H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣHJ`ԫ/ԊJzKRXE[PZ:{,]kڽ;1ު|n xpڹ߆pBĎ#W+O1+Xf͊=Mz3ҨC=װۮM۸i?v0,q+_<УKNв/3ziY_ľxϛMQ–U"_?z~fW}%8I { > a`Gi!X"$(7!!.ԢU+H$|)#,($bA&e?"x$'&W"9eU2O[$GW(&efjjZ6ۆkB)avglީ}BJvQVH_XTY 悎:EW^UE!iꑪj]MrWu *무j뭸뮼+klP;0a2 bL(B '}$1"l~h 0"Qz݁M{ 1th$ pFBwp$" B#OF蘇ND:-BbEpL!A41QÜBr"s1!T).5&Qn$" -CN;L&?@q4qLe0.w|@;Xl_ ,.a-<;LGC- w&\!&0 LR-AG nт \DD CX@ :ڎD&Ђ$&XG4!b~B"K"'a &b+DXAHD , cX@tD! dYCCD!챈xv-AZ-B4"6=\D,KE(9L:`վe1~ ohޛώaXDoR 3d@Ns`xOewL';&)TP2阏b:i^,G^J_d8H,[LfRQR阷P*PT&!90=D=L"1PFQ2Kqϣ#<;⪔gG<;bMʳ[눏S1'eK`vȼRv$Lzn恵r"ճsKiʽ#R{ž{[:Snx(Q(9&0* ff2[-XLxM",\[Ds$ŜtĮ֜TsҐŜsRfI f!q1;5mMrK!27!3$ 1IZ2,!u0HBLk16(036-8%!a;!C5-i "&czj34/~T3d\L?C?x!K`R&oIgh61%0Ռ(AhD JE#.hHLD-&CD-Gm,%FN"M[h`T R%c5T b#b >" 00Ï,dĜGmODv=B \'L\BRn1M"Z^MCvg0 ED+EDEԢm^z_M[ܑm0lw`w`cacqo\͙A>ܿdym&of<\&M3L"~/~[mW=x]f"}̄e,&n1 o-yY,L]ifngD)W\C_q YIJXDJݤٵL׃:&Pd1r eM&>Dxݳ*m#e6IڻldM30͵;4XiHB^{v %k Lּ??m0閵t4f\(7gY>?ߖń-1c&L89Ҍ57 D N0:kL>bc=ϿAk+\&,.X<hh́hܛ4aۋ3l SHow XML Works (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

1.3. How XML Works

Example 1-1 shows a simple XML document. This particular XML document might be seen in an inventory-control system or a stock database. It marks up the data with tags and attributes describing the color, size, bar-code number, manufacturer, name of the product, and so on.

Example 1-1. An XML document

<?xml version="1.0"?>
<product barcode="2394287410">
  <manufacturer>Verbatim</manufacturer>
  <name>DataLife MF 2HD</name>
  <quantity>10</quantity>
  <size>3.5"</size>
  <color>black</color>
  <description>floppy disks</description>
</product>

This document is text and might well be stored in a text file. You can edit this file with any standard text editor such as BBEdit, jEdit, UltraEdit, Emacs, or vi. You do not need a special XML editor. Indeed, we find most general-purpose XML editors to be far more trouble than they're worth and much harder to use than simply editing documents in a text editor.

Programs that actually try to understand the contents of the XML document--that is, do more than merely treat it as any other text file--will use an XML parser to read the document. The parser is responsible for dividing the document into individual elements, attributes, and other pieces. It passes the contents of the XML document to an application piece by piece. If at any point the parser detects a violation of the well-formedness rules of XML, then it reports the error to the application and stops parsing. In some cases the parser may read further in the document, past the original error, so that it can detect and report other errors that occur later in the document. However, once it has detected the first well-formedness error, it will no longer pass along the contents of the elements and attributes it encounters.

Individual XML applications normally dictate more precise rules about exactly which elements and attributes are allowed where. For instance, you wouldn't expect to find a G_Clef element when reading a biology document. Some of these rules can be precisely specified with a schema written in any of several languages including the W3C XML Schema Language, RELAX NG, and DTDs. A document may contain a URI indicating where the schema can be found. Some XML parsers will notice this and compare the document to its schema as they read it to see if the document satisfies the constraints specified there. Such a parser is called a validating parser . A violation of those constraints is called a validity error , and the whole process of checking a document against a schema is called validation. If a validating parser finds a validity error, it will report it to the application on whose behalf it's parsing the document. This application can then decide whether it wishes to continue parsing the document. However, validity errors are not necessarily fatal (unlike well-formedness errors), and an application may choose to ignore them. Not all parsers are validating parsers. Some merely check for well-formedness.

The application that receives data from the parser may be:

  • A web browser such as Netscape Navigator or Internet Explorer that displays the document to a reader

  • A word processor such as StarOffice Writer that loads the XML document for editing

  • A database such as Microsoft SQL Server that stores the XML data in a new record

  • A drawing program such as Adobe Illustrator that interprets the XML as two-dimensional coordinates for the contents of a picture

  • A spreadsheet such as Gnumeric that parses the XML to find numbers and functions used in a calculation

  • A personal finance program such as Microsoft Money that sees the XML as a bank statement

  • A syndication program that reads the XML document and extracts the headlines for today's news

  • A program that you yourself wrote in Java, C, Python or some other language that does exactly what you want it to do

  • Almost anything else

XML is an extremely flexible format for data. It is used for all of this and a lot more. These are real examples. In theory, any data that can be stored in a computer can be stored in XML format. In practice, XML is suitable for storing and exchanging any data that can plausibly be encoded as text. It's only really unsuitable for multimedia data such as photographs, recorded sound, video, and other very large bit sequences.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

+TkB D+8+]m+U-ȲTJGd8ny,m!R^cE9+|GdEѲc>"; YK)w ^Mi(Ⱥ4i;OČH{MøBjp(, uJ%kJ+j_'tEmi`C+: O*4߈V]),E;̟żt_VrH+DX:=o=WT< */ᄽ[\xzj{jWg2,WY x93j\)_rpz9fŃ5ӯ&ȁ$ r}쾋NsHsQp_PPĞcYco(8k O6<^csev?HMQSj\a@LvL%YZ jzBneh mLz5P^㞇3=}Vgy1[Fu Po!*|p->ETMϱ | HE]SM'=PN)4LWCz\z!޷~Jvuvܴ;0RՓ[XQԳ4j 4*Hы3u̾h8Kc$'lt;k5yJpe|ڵ skn&yA7&y|n>Mw[9mozg qR6],w%?w/5Pv4;vpvg+%EiV]AzX,Miaj"Nŧ)GYq8FlUja>RjnU+bnR.Z۲hI@AA csfjjqh"gZ`UO,Y{Bޫfɫ9|,':K.pmU ig4ToDx37"H>+w'[.b}ZՈeՈ ԣ4T]RMo/OC-p;GDyf\e#ZfEP0.^"ϤM7Ԥ #@\Z4)NemmLp-Vvt6k^1Ke]^ʪqZLʲ֑XYYjȝ5Ȳ ̪=S.U_I=KC5P.O2^~Q=KCPn?+xA,~=|?u^d2lUCICͻPz03^xQɞceHvU3Trd*&~q(o^TA_tP4.TDˑz2fjh*uB*̨K=uMj}rL>}rPW(9ΣJ4T1-EibbRDU(y͒,07O&}ybVVb`-Su40TKyze%yZgRD['nP@?&$2uUR~(5'vxч6c66|6 CcA3Md: utsjJig5/vֳJ;:\V%Xru??xU5R4*N>4JtRMs;/dz=-4o#f˯\|h)n=`v}ʝfs `T|5usbwR*U] qޡ d%?9aM-lMS3é搤8?#$ ͋~Dv9S?LtDJp6?YSTurQ\.rnpi*Ҡz_/|tcFQ]ÂqRsTW/ģ+dYͻ,fJɝ&R4t@4r\afRJ|)vKlHðJT!٭$r{ ,Bv40KE \,, Ju]> &W~/Rzۥ O{JUyj3^T̛تz,G@V9UU{~wiR{!uOCg {Fɂ*WS'f "0/Y0/rޏÚx}AJpT :2x̨zC0+x^? |"zoNů!T뿷y*DFUb_ 9~~lRtʯ! ~ OCZձ}JZXωm\Kz }қ[IoYdQd C[E2^mmU3_чcO>gY}.<HCokB,^ zyࡋi}wf>ѓiD[*'~7r96+{ȫ ,Mih3j"NHk#CifCorVmѹ%r7|ːYrI/YgZXv ě*-lj5a-֛AtrF,0&^{^ XeON/蛰~B%;X ݃V J5w$BJ=KCHmET]۾,/r]E=PQxb>+x+9WոB%{;X=j NPQI=OعqJ}zkn78鎄_{6yYT5}͓r^j9v'/; éկD.}"fR6[k6rYD әgi(TcpWձ]u]irï ; ].[/z~ػ}N(TjI/8<943SDA5Kzռ֓46o%`;}W"Q;K)v:KHYRDv7N>̪q' ^KƟJ ̋?(I6xb(0Px_`~Z*STwCV jP QPb0GA&}S|޳SIR钸1wv䀯VJQ+pz޲Uz(Wͯ~?ȼb&Ԅ@ }}Xu1^7|@j\)^4+Ap?oP.T˖ ,gi(%~I{Gsxn58/U&NøJʈKMPJ6l\ml) 29EIVփg>_xpm x>;پ 4*er.W*Q/om`-U[q|hLVoI-dLiL:> h_睏>ɘ<\=V>LsRK /%ל NΒoNڷfr޾02\hIV/֤֜.&ﴬ|D-)iPR}M/O  OJ΁_Ȅ?zإ?Z3dCJ4sV:TCJTs:[)JcLQB̊1YKʍ뾽2IZ8(q$ ymj,{?xĺˠ@7a\Y+]w+aCoCv /D7G|`l:x`c,]Z5Tր1Һ0WPÓ4z{9ݰtqRcŽZvus">O\p-&[nbzo7Lx' r ih1Uigbb p}~ra!mabNh'љosݿpl# 2y%I2]`kiTcR~ʹ^k}*qhot5e2x!S,5iN!N;7bНQ6iNqD8ޥ·S']+Tx ܽQҾTеE`Qkx% =~g:9XXJ,E#chUͯHf.=d3煁Y Bsd7y\sKCinsZ '발Ol]Gj"ԈGU>ɥ/0EjE5KaX!kpnTn>Q-RjbNUɹ&K]*S՛8'lTUR-U}ˮP.uy^-ջ|>TWgdT:(L4@hpw +/ū [qUφ' }vmp`X$Z3"ഏ}„W+8/kR*S缞Ϣv)qFUuJV!H,Vwl9op`F4dݩTz!ON_2m43m~&U*E߼ƭ{Q ]¨JծZ鿨U*2ڃNgPacK}Eؾ{¤W*lca-W?:D*Hziu[ug\NgXn!NC{KIUnMƧp5R6!x6Kz*Z6WG`p;=ImUp`pO]tM)m鸛NRw}?!`_D`,7H"ǿCqؖiO]Fz:7RRۏoflB@n֛M9>?e:@=KøB:إ d_%U7T#N\* u]zbrg#$J>=LKx\Qɮ:cXgG bf`޾U?Zr\ r$^Xh[utOWy٘<5t?ݗ{m:6md鞗S]|Wp:-I{wdT|'lJWØk{~aV8  dTZubӾ}ͅ7H W@&셒u}_쒎즯5i 'Gcb@- mkQ֏ȏ{>E6֔eE4&.bΝifU.i٬>stgO|Hd%EN >nC5V?q+H kMM{kKw9<2P'RyeVG6繬xh+&c4t*@ *?ڲp(M̯mvW}YV0~_&ҠKn^Md_\tjby>5IskH8МSrO6p7sJRRe P-e]NMl1uxWxG߄Y-hXz Mn*ܠNŶ=Uϣc+Wc^11Zs8|׽Բ ?vD*Ն{) jCc,@ Us %v_)v:UpЩQ.y-}؍}J>-J=KCj >K=KCj7xÓU6X&,*٭ʾRZ3ŽV.b,>%ŷeè >ݰ8y_V,':j"4(])iPͩ s߇¨ܹ6oD;{4 { ,=mE sV fB4t<va:dt0bQ²ֻhQl!NCG_.v:]naM, ŅJu N7CGrHlHUy*BgKv%+UkR[F>6D6]k6YJw!n΋H;T>yr}i^'PR+\w}:M}4w}͉>LndM/}7a57[:|c|ѝҼw NonJ%;uW3͈#޸̈`#}x_nUHh_o)=x=+5By 1E-K5W*0>Pulߞ*bd;.5'>KC^z}ْoNj&9 95Qim".Tj,~Y9?|Xk̚BE^[H|&; Mtg5ſ}j٢ ihbگ;k7Q_z ࢟Ru,O9X8@WV¿, Z/lTu!jQhW^r$u/*J6iQj믶m٤]ۭ FNH7iڶy6KSWo >ӻܴ^ocki#7]ҘOr;ϪEek:훖¤UoZ$5-}:2Zfa.^ia\GP'5-.VIOkZpt~{Ե7._\:j;~w_h,P^v$Bz0Iif߬bUi*2Kf7%-yjYݿǯm};ӾZ-x*$-^ȉq >eW?\\Ius.эiF7~3Gw~3Gw_=sι\%q@fKg n'',lPk {-kHݫr}91]n1kXCztX3iSF&ykr|~=i|vELfjHS 6\D^C5{{e}>R>׋GW1q{GLr/ʦq{G\ h\xӸc\/;zK_=W9Zv6|ꊾJm6 ]ƒNc<,/[v;t"Ȯqg!>,}ZqoKu6k5.yj %|Μ>|($ZO1= S`&xϿ9&8gJe {Ҧ2jcUgרk.$yX.:NtajXʑӺjd~Sm @Y(ޅm6J0]Τj49 !ޫZ/E`|dGOٝ,Md{v.`9ٵ{zjwޣ"Ofz ^?MNfQ|x3˦ʂi&ڔ0 >}7Uؚ<@AzN7@ks><ٯZ`ppjŴ?v$Ni[?.`{ !Xԧ c:BWaiKC2)lۢF:Y^Uj%,/Eܥhͥ1E@mwf,ρNNQ32h˟5O |mӂz gꅮ6өpNO^j9=|ZϽL0z.)ڶ'1೟K~9z:k?+ˎ+V(LMgcqN8 Qz馇W(͖v;toK?.L7J#CjQx{6BW=rV7xO|5<۸}aX.CʇUcLRsii{/hٷf纵x8-P:F*z|C۸ -=g_ډ}RZW%PoG:xCVT巬^/ieW5#5\V#jhà'Xtkpnm.?[[GQ.wF)mM}a.F)õv#Zn s)5jIhs)oRеdvQ- mx-38P,ۮ|A)v5#9}1܅V-Y_|=i HԘzBWuJJ ])HSN .I5m.zǷCm?`7SOu^k. T3IY\Nf2!޹%޷Еr.T'o&_T^mm<=Xi꯱Vӄǡڐ;pfa`Yo-6t"$ЉLJ շD$[*(2%i5r*#1L\KXL]ևǣ͉:cE͊C&}^5kVv %#U+9fU*œ+zB˧RK-sSZ,F}ʡ_^F}s"7ю]PgWU<]U5w說)ObZ 'wB8|[ emSnV; ncW՜9o.c҂K)x =Ů*(Qgw5LB;)E,S w^5#UXՙW#P͂E牚YCwGP]\J(Uj[z^^zۺJŏǶU$Xm9,g΋S?|xV {9?J{UKm`ɻoo`ɻC`ͻ7nˠ@P͊\Xi=]7@YݡVqG+ˏQԴ񁬥i)iٖ}Oci5S*Z6)z یhAa t-M HҴa(fNNfaԡ+_3c`!ՈviENuQ N_o>CAoa8 ?CA7BKjԶI5=Ƣy.>f)1 Q?q5?b.k'/ץ/5;e-Um7~uy~1(57ޓ[DQ eg?3ʆ&sҚww<~fwVYsmg7:o [z"w$]k[=d=v72=㯚Rcݶm@z;:,H| a(G8N#/k|;W+3XTCf( *)O%8fES-Bw갦X*?V=7j'; إ>(Ȉ3!B+Ε[Wd)gմ 8ѐHm֧#})[k?)Q=K#t2zFdD,̉xeD'YeΟ8I;]@ /#=@];k M("~% MHid8g卓P siMWYm5>usvie]T'Aj[9[RV&} bk-ZZK V+QӄV޸{&PZ TNV+WL@hb$o0DjɭE˷qYRɦ D\@"tqC F wQ<C;D16•0Co~ڶVxεfn&7wTrt {I,k%{49XH2U;]Fb#q5B+.20V\d vO0V#߬\i;[9pXx]K;p&7_q5𢶽Km4g}KYZ6-*#&fJAO7GB+C:7S-sQԤ(Alj@ʎtaLo>h~HLXjVW#}Jj%'eңX' WyY| R(CηD.0F*.0na>XPс'+9TJSiFYm\z3c_':~x܋Eq`<ڹM ܋"31@MNɔt0֓bJ\8O8 \gXtg9 8;Q~eɡ}4 9f>SYfqӞ5!ף5IhDC6CVrGr8N| +u l4?3#vL[a=Q؎1;@y0Y;-72@ՍbRȁOț#q>g44%t\tq; Esm B BۨLS?lԌcƛ !sO*m4xSs!u(t}8P]A8DRtL Fl:S>VL/B~'R-W|t_b(vdcvv>/IȜ\^!N[eB@S@Sb@S+[ۏvZ|=f%ֈG4ZcvM=?,>v oC4EGP_UЕ^Cn i{7kf.Ϟv_w5~Lk:/8yqBeuTeYcN]g gO*FzR예x8Od紃; Fl i qdSL<2,t<0@Ôv_x25˷Qaʙn 8_HDIDNtfNdQV؅{k%Τ1`3 X0Vl=G $uYPW:E!#Q!LF=Rdm}@IUZPsX 7B\>|y>-k#G<=2nw?xRi2+݌CwyC}IYr_DȓVnP #q.֎}b%YnUp8~eM&h   D D D@` 23xK]hVڴA GqrwzXtZe+qGIF87a>h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,> H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s eϕ?OrhPD\(ӔGQFjSO^պURTjYSw]˶-ƴnhh\sެkWFmw` 3≮^#KL˘guy*g-7菞 kihw6mѪ &,zn?[ 8e| ܰt~zuسgT>]{ttBC_;sKW;rwM/#:t`H}& 6F(Vhaf;㬈f[kو][.L<8Q!Dhsub6+24ΊƘ׽;]}ϊ,8!h㐔{B.H\HsV4HlHfsOھX9WB  $KYIq{%ŬvbQy)18oOS(/K֧ lKΧ ?},Έ:I=Ȟj!Ȫ,0}F:^q=p}6@86\1DzɷbmЬb䟢&\'S\y/`c6gy~qzC,{tblG7V;+G awk`yT!)#Q"%2>R)^Ir#1p㵭hd0jky HEDֶ ]ъƈV5ˣ1nRY4B.6aލm5޲L/-5F?X 8EfY9y"t8O Nq8}?3>l.^jN.jdK)rF% >\4# "<1~<}r㛝@g9r-VⓠP&b.q;aƇ 襟x!ñ-OF֧g~Ѕ (@/Cb* ]Gߞ8A;w+p^{5$y ooOYRLGg=";/?Z bs%R$cS@JVvsxLb|c=yshqVB SqEy.jFBЗގ1rZܳYPZ18uZQIߵT$?Zsd74O߱iXϥ7?s#C;/q}qARىRNp/_~Rh RdT;} JN}@B%'w>tʑ3r;UhOk ]>xZczEhJ8dN]8~jLʒ+i{s7x^?:9LԬ4;(1#v؋|^͸PNVp .XWx0aw~N bTlY(Y<}@[+rׂ,#rjx̬|w 㗇W~ ;"T+LZr-z9vNR"ɖmwh=v=6%Wg-9ŅؐϠֈΆNぢ@ Ƥ@ 1(@gjLI Љ̒9k{V!ʑ\ęnrl_/P˩9tZN]e٪jٌ-٦R^%pԎڐĭgt%Zȩ|zB3#,r=Qo`Z+q1rs0߽m)*XkBhxGV攦 *ntcSj/Z;G>:;t4W4WZ2UB1MR:ͨD: m\,mWQMWY,8ׇ7ިη'.:XO<]4t1E~ y.V32F|_>=d?Y8#\4Ogtȹ@5S%@gڵ_xpzgO @D'#C@7ÙƬMp.7fn*3m9+OSm;/jenq:9;2 X(ؕnxi]*cR6zi];JKO*LS}zR6kۓhw(29͡&G z/czeawjf>z%frIS,V3rrf#Q-3I\-:gy? \;QY.ي`REQ ^y0ˌ xY =wP[;N (}ye 3j$03AHIY(W)#)K[*XzRC崌0* xwwV]*Զ_ڔBY"regU{|c>c >pgVַMތu;]]7ƿ*mԨFqӇF-^iC1iSȴmRNߺ⑍ח1|$2it[ -J eGϯ_/ny\;X~tWܣ(RѬV3<@nH)۽6g+CuJXR5^ɡj:JY6+q|[3zc5F+^ucg/Z~w=3=KL2vVlҳ)~MFH^F*yNW.odvRt]їiy{IHvmi{_rui\}o%6^)f`rπ F$ʗ(V))8=.ŠCIQ4)8Ŋ«l7ߕ7BG!tV)3R.t8]t']<0tJQ0tJQ}9&eI6*{0'%^k:\u79j_//WU+_}WA=y5ZBd4(E BZ‰L0.ՊiS`P+^7F_K{G"$u1ЉSeIN*߲>2>'4(ſ[W B LEBӬ[`J旃j%-hL1Zb?;,E*C+22 ](?VXQXebe͖<#hſzYtg Q5С(ͽ_zԬ\=GJMg~~yE膥.׷,4L;KW B=Q"hM'!j\u'+5.Fǃ5NBԬRbkǩ牙)+P L7rD//V䭛26K+;TU1?Ӆ9)>Ú"CQގ)znp  &Ր#xa=q0?O8 mc]< Y!ͷ^!cκ sjjT,Ot/2#&Ef4\==*D=NTesY pjYqeJBI^Z^"On$>t<9V}xr@9NL+3rx BBn PԤ\_g HQSn&hTVҿ~ 2q&r<.oSɌ\ɇax2[@[ܧF!3tAn<8wsHG54JT(4w$qmo3O ]4n{}ąFj0|kywpo_skk+K@YfŒAT33߄[6WG`ߔn6whk]F;P_!,t_m L,LjiOyZ˷5 g oCgy=z߾mk&.o嘸1p rhb\싽D.v.$M>5ƶLDjDPnrvƩA揷2N !Q%O5r <\&NYLv1Ynu]-_F 0tiMJ/ZZ)Hul$Nn~#)rv= mgAvjLImknZyGnݬmlhԃlS*/_9\lj]V+ !y.x첂.7L@1' L=cd%s\&ޥpX̎޽7+fogH?sgg RثV(?+lK9hl"/VHnLu3!i3ݷwIڊ} 9+tzۥ(I緬v89\0-OɏP'5-GaH~:ҶE7Ww&A”@Zrc"t#۵sP$W!0r[;} B} 6 oӑiBԃ&uwV<@z8it8 mSyIɹy35dQ*Gqq-T!c~ &&)bfF 1SvisgHB|H= fS^ L2n?1dbR3hups4H4N@@4+q]JjDv+GE!d "ЖOjŔSJQǶk6+łBbf.dsAZl %^R*xHP**:8U<$N*S:( 5AK뀻A9T}-p7(--B`=p##gjG*s v*2QgTPӽUQsMf3*82Y9 圾Crmy+]Ė`DŽt/tfʖ6bT8M5!=,=򠈖SVV/b(CY-m SAiFAΉ>PDCCUACcWQABg}PI KKy SFcp{3 u"o޺eFtWk%pJ'MNڡ* yJx2x+K ehQa r]}[ӶH RMj 갮zO 9 k<&M[Q eμYW. 6XJS1]|,%jB1cGz6lTf5lЩٰ̉aH_*.:PoB>]3&fNOoTm吵qMD! F&7,Ro.m#;ȸD-`NY?n?L7K5]ɈlS$! 'ߺ}7B멦Y,OՎWމ:P-lGµ;ǪvkeO=BS A#9|jegM*ǂ[iojո.wc,KЗ2t^&S.ˆ.w ]6t鲡]&6S"'/ח+S@O\zRl_ZmK)rՈyHyH%ZYjUF<:܆DC5A]wqGVDH=]03mcEog E򔂕ql|$BG8cc":RT*QU۴n*keIl^QUw;-9aonN[b\{st6ȏ),әj-!(JVLC}K &n,fX ۶~ըɝqB߭5950wv[OfVr!Ay3`!~@጑u3MPKGZ0Ik$b֞JzHz2  '78(NxkDj^F[/o9K(<ɶ: ^l0"Xbe@ +EԷ 2o[lhZ$094W}ousZ\P̎&,ڑyFO$kdNUK!yw9`?0FՙZo'ʺ:b|%R>kRTaBa@'0tL!jÀ㰺Lzӏ٢=6S8.qQ1 zdnOٻ7pM6 6~A!8W='󜫞y'W콛P^{3hdIrq]q?ܟ[\8t"+#eA{KOg| U|&#ve {r{wa.I "s4֊ r;zC!|n+HQo$W.Fo:n-+2&4ȝ ʣje-t86,2 |ļb:\-u;=8򎧀psycۗN?[oW&@wBR:o^ |eEpΒpU+[S,I=%t":K44Kr2''Nf/6+dm||9ي[at?dL&ł|\KZ{%%0Mݎ l^s~=d G0ҋaڈ\Eu+#QJU /(rUևL3^#%Yn݀:NnDkD֫,YvЇ~Y\?m%5c|mC_*7- KR6w̵FY[/7mo/dW;r%ر*-ľPf: Hhr.R}}=Z1[*o2LB>0aBr2 S2L"N0 9` xhʺ4ѹ7W r]ay" l_ZM{ߊq$Nb$v@U Nb$&QQeWRӷ*)Vv!7T,9<*'t1<,4Ρ+F4h\Wt ?+qXH.{jdMs#67dW JN7=XW~տBŋ: '!t/ꢜmv).b%6>]ԊI$'mJeh 9fp^5 PV+rjXh n#M-%Ƭ:9E/اDG^\m@a1oZ`GN!11?wFvfX 뻴M]&qIp;- 8GȽogs \CMQ^K^%|x)J>?ZRO.MfWKqFOA-o pe.V))Gvzrӑp5#Jل̄U5/"i'¤I*aQ8U/vF8U6E>X;W%}97hfg+xD jeM"Smli:t"czkzj6Tԃ`B2N2NgN>)7ԙcMXh,5};~œmfOIe]=+3 b^ȸJDHM{Q|r,.` 1_.4mߏi'#|bffzm>Mt3rCky[g;nFn'ǙuyƙyƙbH%6.½ch?96bef1xFP[mI*cԷfճ7'F>Qc~5R~uOćoxQ=E!!*FA8P{KdFW+eKHٸC^JƝtć녔rNUm'tpr\ *é!RG+oUH >DN JD)}{#cJu–n3JPk&տ= bs]3yυ74a XY+]Ȗ0t$i%7;_PC/TY;s{oF_`Xٶ&vɯgXY#vKbh5ViFz_@qH@Ё(@Ё8<*t:sI9ێnpxӣةI9ۿ݊iVRε̵'ג%c \S䓝k(aV>,3_FK[b*>ZfN,%giK% i0;e}Z鿉St2JVJ^a>̺d+v?jd+kg#`+of+;oLgm{.;罙iykeOfzl-ɺWR5(z c+B;=,"Y D?j{XГ u%5K-Keb l:r%P(͌V|vrGeݮ=1v֙>Z9UUtFZS ya mߌ@O|X@ Ċ#eN>j> H`yt-cUaoiVlW[әeTWeȞ3-זP]dQACGr$sȣ0C4<.ɡ{КB׎rhMs<[n FrFGC1!HH5k9mfXH'R^ѺI#H !Q@ҝXwO%e^9QʇqbJL;k8KO< rڈNx N5r@pz!Պ.D 0JuЕjszJԦ&]i9[&9w|rMF?h\[hي]5pp "K !2qYY5h,E fI2b" O,"[-.H.v- !_ڭJB^=W|0I-v`Z, F_Dr#5 w.Tl`<#tEa(˖o*gAns(ǹwRVI'[?a !j=cTM= Ls+#S:#>B:#ABYR Q!hg.HdH0HTH0HTH\қCӼB,^epkm ;O:] <%ײC Cjk7Q!1B[mJ#8^{C4 4Bɗ\W_ k/i܉u +HٹE/ZsR#3I K.vs 7ޟ~rg3lf\nebdr;Ո)| 0y\W$tE2(1Gl]$C@ac": d(&CKkNt X;{98qe <~_z:~ IMb|uHL3=6-8s>V (7$P(XWw| nNoiىCP?H#邕::'s> "]ҠkyMڶneBN޴nXݭUmVǶv9bەso' xaE_!3BB̿,UNi~:%tk-t_!@NJt`%m[RTblTƔ9l}g Qn~ߙ`xӗT(Su|\U+uNr:mܬ9LGrcBE!τC :52! @ZyD'^!f;q~CqhkcoTxCE>T-ۉ`%=fr!VGgd{pʺɂБ'i"}iŌim{&i^1 @iV߻$!+ևl@yV. 4sHfj瞜?HF4A,i, q&2x6w'K(24s #hDȪX 7O ]5/fXY}wXIB0-*%, WѴVbp G'~r8CNNR- W~IҘcy\KΟbO+)Vd;sWUR$ŗ(*<}|Pm!Nm+~bA$>^쭈C++}K69_y{ˈ'`p? srjzн+뉝TNF~yDJYKꊼ0)/]Į^8EPnb9-v-|ɵ\"EguҰ-5hsJ撃/k0 3~m+28IHysv)Z-OK!`˖q})IE %M]]'dzv lQ˗lqofR'u[\(|7q-( LPzY<ݤmt!EY70 e[wŌ/u3g48,Gqgv8lU*3Bé]v8+*OO >ux˹"3\ӂ?mT9-m #[F#_'a7>A{RfQj)I0Wz(>ǿrQR T-oo)GRm>['9t &@Y]L8Oז}qMnT})į|{P: u P : YJ~|=ɅU)> SUߺB&UEt-3r@Ȟ<2-s@G\(ʚWZyHeͽP#C:f:҅cԬ< yTΝOO>dvY#~ U_.s!`N|∆8!jȧu\W[mqg>3mTGO&DsiPfƇɁ q~^O\Ԉm(Se Cb1p_VO.rd?>TAg;|9l񊲧 \2e(qa@̰׶0׌!7=@xnI7cH.B㪷ǐru% "w2Ad[Zά!fDo)ÂWU]/¥Қꂶ`Ke (E4ZA"Ŕ5z>\u"rdE Օm%]}({ZwM׊w}9~9KrD }3mLUldtIdѩ+QC2ֽEaޝ ¹}& Vcy>>L佻Ptmɔ4&3:5{ԩ٧UȌN.xRɌNɰ\sQO*ߌ] 0'{y [[/<''GsR&ߧ‚µz6>춚HdS#MէNFD6U:}E{h jִ,縆,V.-{?(qvm8^AvO'o%_ZS.JZ.K[~4q_g{/,a]SQE.50 %$sf+ Of*(w{Y%\ T{&ha=k~O5LnS7|s 者|-hRTj9Q;u9>؜vR㎹! t׃ RJ1I:%{UI)٥Қdgi 6lm5u\7׌rK&[l+7Rl}gI"w`1uy-[6"9ۧ\;omI(kK-ӦTZQ .V=mzOq RG)Cym+JӲO[#A}:-(5e__0G95&GZPsdsuoTs2lw==2]dm؝} |q\Oxphul$NSӎ/ e5Ԯ _ro*&%t=9l2]RsH+σ4JR u1IԘlεd7VjyuS_PvUl)%)FlSc; ~A?[I>F?ː6S2>><:e'&rS'O`d#98&J暛5l6j.vCs6r2v}`³@_ v3욙&+廏a<_[m{$myq;mU}f˶}L [CYS@O!n4k|׶6PvcKWN #;>wnkuZE-yO7٤큾jӸ>.IfGPz oKi dscR5kKѰWZr朵VpN^ιgsu q"QL&8WN,^/3A]^khJmrm Gc wh0ۜ M.J;X}97=])rShvl\}c`b[ۙtNV?G;&U->WOx^ےoReWqKv!5]R@ɒCߞW4OV04OV.0rx4'8ɚǬ2¹.5;eq%BSy?#eaǁ9~8 ΍P KFY Ci)?}#SQ&>PzGNuԥa]w@І]f:S?zMR˾^Kfk:)GwW X89dS)N]e60ߟZMmokok{kB- 0R O]I:PxJSW̑NAul>EM?{sGk݂Ufhg*\9)~;T˫"K^o*0F#Wr`TsN4C$Ǘ}ǻ&Ƿ+vHK]4fR!5Y:5~+LQĘ<%Q^Mǫ2+4JH|Rs{=\9QC]IzXoi]QOKf/dcn7iҗ>'2ÙcQHD7FAY oo_EҘ*TkbyԳ5N-3Z&IܗZf+SrD\WRG`'ږ:wm q `+ܕgԊ]rÑsMJ8snܕ zj 쨭WW (йSsTn|}Sq*}:&_(;g`ckTJFF+&_?-Yfj/DŽyëzLn0|DŽyçzLn0|DŽyF#>ֱߎ}Ssc7:JG`jVH21X–$7_o^lj,a\m;Xڍ `,udO)TW6 I;]I\ҪRLTI 8֨C|m+XsQS4\YnU*Gm#}|Uo%߁>@ryVՖwf-4VϪPPhA(2Ur/u$upm%SKl/I"\$ ,3Ys.* /,v:k'_* 6Ѩ'PWZPDD@JR;.+ _`'ukL^mXI$o_c LN=>eH2׬2xQHԐ~i*qa,-7;'*r`s 0Og[Vꪤ{o=if/+_"E}@ѩK+CN]ҞO(t߼?aq%RF m% .ȵZіOO'+mB.wrׇՒqgi8_A{N[a0ySO $+(gƥfuT;mKMMo>1 ׏:\R\?Kq,0Q._8BKyZxjTܭrBɿ2 O8dhn5+gK5K<@_Y[Gr d~}{QzCc&5ae2|@f`yUԉӫ$jNR0J'*b IkrP^FlFiR|.G)X#mԥ`Uǧ Le}L$QڟyPg^Q;w\)*5&ci3x͸-Y|6LzZU7n/0Z.ķW"uYcci i 2¨SG6#Lgw5>̩?g甬vJ2:\Q//&QqI]eJwQ6^@ xf$™dTc~w\oUƎo\ ' Q7Pa !3P#1 5)V/ ".vKNncU(uVΜ*eB PE3<ș/) ;fBlKZr}?t %-lm!ȩ}%= nKY0qY+XSsGꟆ5>Y%DZ:fJ5-s@.G/I>+ON.?xR7;Cݦ.;g$t ԥ1I3:#]9 uMh3>.yߪ8]vDOop{+o%c8u >BPKؔ WaߜxWq?,6_G~*~S k-|KbM)=387uiL|?c eDO+)0\r vJ]K\Wc}ZERժ!ucji)]SeN1Zٙj%+YG]+fJ*j]i?L6.kk KQ_tB(lILX'Eezb%V\bZ3/[uG];Xf"[7\vq|ckmר@iM>:;=>zpk0}r}7W4Jn.MSL`aC1J/Q cU2P|D]|sz )Avy QŔ.Sɩ` vhAî!ᣞP37_$zGq,nj&hQ5]\=sj' B]grۆ))Bi0qIkEnnhRTaQ#9^92UzN[&PSnNb7?gTS=MZA9ATm15%ȱn682kVEɞw),.đ}jҨHD^15nGrXcj~G>U?.PH vK-&R#/58Ж79CVحjpSy]q<NW iB˱6儶uՆ]##1Qx3+C*)]M{6w(.A$1HX 1eo wĹr 1F] | w]0K;L|z_f8k(q>eO?y Ck1&DN=)%WS.wīD& u?K.8ר?n4$O6nXy iNW.MP[Tl(hID ,! V5pgss6i: bCڨSt:L[6N5>L5p<KJrus sn8Q3EʫDݫ^CҲ:J/mﻟ_@6xXЬ[6J+ۣяYfUEgMj/o"W8Pmq XYOaQLY- (jϤ*s7jQ ]CcBELqth"#c>И.54f )THREd֢;]R0m8wgf:xO0&goULdGJ~M #`6޻+?Qjh, h۱JѐԍoLr@` *yq8-d3NEDzq.$'wN&QM@q t۳<.([Zʅ^ O~󍁓^y Wצ.l%=gFW@ojQGIF87a}>h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,}> H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8a`seO $QEQ&5ӐKMF-9UcՑWB}:TkW^SfJYBŦU6۷p+W&]DMxwϼmZLˆ +T0q^#KL˘3}|E7ELQ5GIf=Ӳ ]{ GL[jϺ_{wGʃK5?q܋*7qۜ>Z3d-÷~Ͽ(~;&}nHh*_.V(<,30ĭ) 3|p|g`EGm*e(Ow~pFv9DX@$5 ^Čgd4QZ}:E *uta4Q6^M}w5X/Ơ@؁@r9̘q@op 708IIq`M;p ì1LQf$l9K1mX<\>݃58ro6dQ ձ_R5mg绑^77rf%Zs=8PN.dQa:TsK\70uᡮt5<.gk(%,xQTʥx!uX`)V{j= jZ j?մT(TjQT5H`z*4 RvehZ yj4Q&ѠBq] ʜdqA}^q,B'PzL3t+;m1xFx=;:vjv=;Ea.hv#=uQN} I*n7nQmhTM4*xvfj4vJseǁZj; gڌu1q.=2j 5BUѠƙ &dW82nS+3NJF$(YKlP0cX(>҈F]SX#u>a/x퓵ϨMoa@%6SG/8YbM]H7u^IExNM@>RtoQ(oa?<Vm1~S+6ؐR-*0n\Ȁc șR7% qOn`!1uupWC8\jd{|kݖGntosRjE_Sd ɏ{{Rfujv}>yRgМDMT}Pkhm}Evݯ(2Z>k ߢ3oxT\3.Eֶq X܁&PlfK+:6s~S1DA$9-vV83 [*SL!]5ׄtqr>.tY'g->(28UÃ>'[[|[[j/ÄD}yq+.D|@upkiogdj% ސ0M~ 8qxx&zCl?vZե8t_쵆-H>9u,?N.5ged.ë  :V8-zϢMq[ ,m-4J\6ĨP,|+Umg*83JE"ʌV5ʌVQ4YXFZER5jPSBd\J?i~"V 8TH]O(g\ՍxՁS[| ~mhd-zyzoA)^AKB1^l Ggdܶ]z˜,Ʀ. )FXS&كy<;\[EQ࿙%gdZT3LM0wJب$"^~^bbng)]LvXۀ2.X i<g ExeA/v'TlfD;)W*Qo}dmm<[kٵjIJXT ].)vl: Cgm#|mS4;Ugu@>SV?:=arN\P-T>xL3~ݟ<pLseZy-|]Kw:68~xtjZ\dDuq~Ft|#!N?USBԹ}iWAvMEh" г#Gb bwuL'I1[`+$LSWyFEۨk RXuߪY5"CF[T}b]5Wռ%_ ÕgYaHX9mPY* hcH7_!U;pQ傀jEszgփ墈3*Tieh=  '288Czw(@oo{I,@"@݅ri/wN118oHwpv1˳/k{Qc[\chA!{u ȚG=WEl }#ñFci"ci)dkzv^jq[]z6,)z3Pi'$ )?mϨM߰3(BdsȄrO&i5Υ噂 ln0a+^6s 0_3xϚZFZ6)@,>` OTd UNY> X)t.>ݑ׵w(.BK8Bf0zj9uzi9uzi8uj)9ujL5pOg T=Gepd) 姻/iܼ7ݧL*i@3Kvҟ9Q4c; hnَڽ+۩e6% Q%T/Ы3˶D\x993Ƀnw#DLJ\].\Qq~eR(yaM_yR'2 #nurWѵK]*.|)JV_`DzkFy$s*S'EƬ„D)τ),u}v9,u(*ZHK ɒPص1,2?)\4gfx@aƬ kk1BRHKu!q(|GۺuGw{5ȷM=q]փ꜊/滓28=P9r~>O]Z 9mtZ+9=H/V^4`w[:o_N|0rm ĬH 'Hš$KGcCI.%u~Η,I%hR8|cI]3/$rR\)J87p͹5ϨXK8:;r>Fށ7琥P}F ՌN~~^u%`+F7N,6UJyS%O ꍷ:Fn:55s kFz:XK2\nGi0Cx$su.3DZz7F(=%#oz/ǧO2~$8I| <+"q qX{y}ɥܷs+횯#߸+w@{ "^}lZc "^wDi >Du;fX(U?e V؎5KķY8`Uk}/!n%|ݶİ@+,yxULk'Vl#3G:(T<7,~553Y mު;}uv0}4x PF KK$79X&d7wNPf q咜(ӵ<x +(W `@1?Qx^ 'AQÆh"n}Ê| +"%=QdsgsL \ic#" f׶ҧ9vRQ _Г ,?i8XFєe4,sEh(H4GQ;W( kIoqԻ൦Jw ;쨦]mhf|:F"|9W:An!Ϩ5h@òϨ#h>3e솜<0σ{At+zodi[|ɛsC7۷Fƙ }9^Qv(qc#(wskq>.'[ k5X>sF%􈺍Ϸў%oV{3#)lA}f>a;a ;r3צiy.bK8C/U -tGIo 2sΆM=y+8-`q[[ړ3~*fJ92>HdshmT]:C҆:F)[[+Ӽ$ѦN"~9br)uD2yȥE6򰧫M> z fKכjwy./m=|k.ppm\83l|V]b5[{>Bع]!u(.}=]Jes!+LJt:BxE<Щ3A/[QD]F@>D]G+1$ L'OiđJۨ/)hnXIocM^ĵ_ʜ&#o:(+aNy Fc<뵭sYC ۜD m>D1׺ 6\{*WkV2턏IaOUeuTѽ^cvm(30;d{),:F+OoTF6!6٨OqpDL5Qt CgdMQY] . %̥ 8HZl*WQْJ/j$Uby@JV.Ua< 5uɪiOrОW+n˂@^&RD" h/և$Shy8o8׃ƉWmݴFaK[Jp9Hȶ]~݆?dfatjIo#EDDG+] ih 3r>V1ɗ9@͜cQyǷ,SpP;mO lf %ƻ}F!P;f [ضR;6vNԯ@~=l MUGw&~; %O[ZCV(p.49fF4y؂4#!$)JZB1IJIĽo(b"_z< H7]%1_,i^G)7*bб;+ga˽%|㲹\Zj٠)B h[lvˮ?H $0ܻQG~zI+!B/ L0Nzee>n u!ram,qTI>ꯪg8 ~F`!VX]I )3IX#ł}F< YqpLϺ4v"7?%[c e:"ߒ m\y -Y>> W> W>K16٘gѪ-9Qv&g73k\B8ˑ pC8G!Er$m|eP'igCggEpӟhe+(Òr0dH,dȖ,t2AϴYq\fqtCi׃}kuO>jX׶G=uz=åwꂜ_x+N „57Q=ǐcS6 {p:UW(Ȏ}&fdyRzCR wh~EjM-hgQoH5VXu;R-51~N/aM}Ydo"fȵ:ŽͲ\n\/gXk!qi=*Ll=bM(޳i%5Pj& P %I"%d$V$m$TIl>INDc:ټ1dsIbV?m_ʼnC8tt[l5ڝ%;6*aKV=@H1G(+?96~0~vg &p8&5so5\&5JHk֕_#b}n+ԕ . _D18y;ж%Bla-x~gOrZRg]$镼BQc>EejE~'EvYk_;w>J@XN)6^-g|#6 ,mP5S>[ke*b\o3eYJl6Tk,iH)sG"|hZ^kԯ7rGL)q/R8s2u)/j7$uV:.N0:&}=`PP'!ҡ̋>cO(y 6KlߓCg`bSsYj̙1-9e1-n  g {Nț]Wn"0 qvqC_qܥL,G8}Ͳ}Y @}d]\={)hN (07,J(XZ >•`;#4i'omM쵐<,+,O:yF%18ٯ/K^)o=QU *UGLX~FeE̲A"m e0-ˆ4<3\ŪHPXEV|'2\*]nx'n}=~Դ;5"Y '0FK=Tށ`R7T٬@zHs9zl>-W̐p#[|Kiu4|42cmBPyWd%E%nPOߣ⶿gVILiFXZL;~k͵ 4_W Fܶn|Ys;}ȳu:*BWX#t8$ԄMFL qEHe= s,iWhS}X#))(?FX^)6q[w0Y,hK+!*Y553̚b,TV 1-5v'?vM>& +f5V$w:P0KhCwx|T4}6ڬ̆õ3k|d9p @wnR@m%bcgev"e'%P!)Wyo ⳴eNRgMڡ۬ uv4K~nzg)p[,E yt\Lq6ym'ccCi:MM|y~VN c#M=۽ɢQb߼o}Vچ[)ONA :«wgW{8fiM*`(3 gsʛQL6}^E6bV͊w:sߪYG5adE'GuFP6Z24e~0$hh覜jCaJN7i^kބ0rɚ#&Ԛ95>pt15 E ZY\t$XD ga+m8d\dZQlYxa5L$뎐-#潮2v5V>& tfm ]DX>H.12F6uy?m}fOa~PXpz-'3ޟ#菉#qdOOxPZ2H܀i6Qkס?[>jA.uou'Zu/(9޴dC[S ܽwQmӱTri?e 2wccY^H"њ17$,\T[Wit϶ּIwI[ [Vx4 JZjkzv*VXQnDp #ʴ#w3 t0%^]+B搃R'jJh>Gb܄©Gp|k$kњNy3uyh Ԋd<'s+H=`ڊl~INvxl>IQ Z J*I*_{dpN_Pk@{$H+ DdIY%]qo(_Pr<_c zVժLs(/TcRjz˾ ήN!Cr]Tce~+UErvsv:eW83zLpxUg>Ⲽh48p7GhkR}-|W≖~|, 52Gad3[U?XmX]z+pC( 4Ko1;Fm=|[ ;;WL&\/6A:[BlM~Yqr0ZhHVtƟvJI7 ,AȮ(Hdk.x l 0&HKC]| 1#"jZ\ru0=F;n$Q|(:C`ηU4{g%;}ӐH ݱ<mo)Ӻ׈2YBGIvǾlR6k_6)-0ҽ_˔5ĔJa3-Ż6c"|9:7Ϩކ|q&->v4NM;\cN3S'_SỮΥсO!*\7Y;<׭)IϵѴ|r G8q#f摦%|FJ4YSbeQG qRbeQG#M֔XagQishGhs`^JHQs['OlXEK֙[I2uF$ ȭfV]'rl62?wǻ啯}Pm5p'vZV{uA}4UFkwoHQ5̪2ULԦ{ $O0 H{I_|_pEڧ1ဳų6GsgǵD B> X#!ܫT85ŶA,4;#yI]8 ɿCyQpegl8tK.E/ 0(É(}wP\',)6)Pԉ ($TʂN^ϷrmgXц.gqF~c,|Zf\l_NQ 6,GqO+' _?^s;7ѦacK7-NyqݯmeEN2h{ãiQֽ a(0e/C['b[6*ШVگWΪjqq}ܪQ-3BIH!HGm;b &nq(USavɂFZ[VQ zgچVog!7ռ%$R2p鷉Z`8&G݃zֺ}u644nqT>6v =;?=tC2}FPbr4qr=ئF|*e}*s ^DFřzG76^W-ج+֜,KPvW\OMSGùSOƉ_dgn(ARX}BF@ u ')ȧt'Q 93Tss|{'ve;Ly>}?RG^eچ~s\EzWsȳ ՜ۮPa)?^)4Λ[ |<-mNS ^Թm9xF~" g exómgBR /+$.}:R+wϨpuQ\y5;j֝8d<jɍCf@;qL28d|\-#BJECAsc/\k5CWue47UAl tUP7[| 5q㔸S[N xQ{c ~ιVus̻ZޙT}iw4gwo^2,5^mx/zOD]L*ΗjEU ,ҐxS 2W`06u!%y"`K"elNTw'3% :j 4ԉa}EY/|U< '! jsuepЧ4 sSz2N}2v)fH%ߨr+(ƥOiҔ1ψ[<9jE.GuSfdӊ)iEvxX 5Ntf3Yu\|9I3grrU=O4B<;]Ckx~W[a9&* Ѭ}aѤasQaS~#5w&?Xq=*|?| qAu[{й 24fi-ƵD?\/('_'Yա|U GXlp@;>DDݥ5g hZ,Zb%'>kYjJrקO[^D-70qj~Sg9\ l9sETST_, ('tZeYym\sɅZq긖 ЇARӂ\Q >aC25io$\+Y1 dѨ4שSO:9cZĮ:p:$A݉\UAۗrOuK1R$nolVy|Ghk$gGh붑>h7 rUn~j ď:+홹Wu(^ߌ "uV7#HS~ 5} ܩDVPvZRP'iP%͗ɻ 2?QM' yԑ# 1yԙ8&Y"SvGACdh hΨ8a`' l MӚ-\ M?cH$L})2"T Jgsl=?{.5E2SyP=󟜛`-"MoE,Mт+u,?ltk\n^1u΀gwLl3d$^S@P²IY2-=o1iC,r<`_ ؟gk P VnVB'V"SxbO7hOKrL% 7փP:6{ xꌰcmnGIkG(1|njY#lh?OlruSw/S"v cs+8olCTO:;1ȜͰC";<3,6S;|Q3*xnC[Ã/VpאB*GɴKgm)7>No\V'TfO9E*Ģ 櫗RsaeZ9 Tko 3iww(Q73l؜T^0u@ZtyFDZY9*[7u 2 '6X Qq9>FO,6]V9(Ol:A{d*S>5ԙ-LKq̌r*d}*>\G1Ӫlkn8a,ղ{82G8:9yB>Ɯ$n/u+x-s}3(<]\ɐ]頮k>K{}HF6د{UQS(R9Prjj .e (T.c{ r̹ 7.9]ƥsDO(Ufto%7Wp :T7x~T\]T]D9Kg<"NwN,OC\tw}$(}kn h5ʣvH8| qA[nz'| wܲoh[{oC =WDyt q)yzqD ?" 7w 8F:xȎ-vjj+εTeY5{Go9 YWhR cժsWQnRkYUPy.Q!u94Q:?7*P<_iN-FKrh4(`ʨZڬWmΉPЭs x\v8y[sE\<^8Oo==i&o.ҋ3.5\DSrхW<7awYfzk eʷ-8qKjIa\/8"ڜ"RU]K eVP qP=rZ^45>jy3xGsbumrsQt<<)R8wcʼn QrZFxWeKB鵯aY5Y5Y'9ޤ(C\*^ :ׅuHSes6<J+M%F>1 J9P۝V2FvĞS~$WH6ֺ{k }FKH\2.eQAM5B|^FU_ׂ: s:Ң#c:-^f. t֍3^ x}3z^RV䒹=gA9^I|*zЛn(Qz$&dX-G4cFL}ƭ0/`C`Ke$EiM|*^99 /Q`-̮H{JRLXO;3: S3>8wޅF>tPv$soȏk۸Q|V3_ȑ|r]{GuN0]diD^Y?MQ2 {IẗC W3vh7ֿ%~D;k? `JYB 'w^QdFLY͜IT{9qWf>{ HY |Y6aNk6bk#yEV1_5D`ilM 0vo?dkħmz޵ {d4VѐbClcC3+5ki[sVUmo+`uEN'dmrf-8iq{:݉9H5̦*zm+5Y1פ UBH]"ܼwy=R'7,]ZǍ!Mh3bЦj2 %m݇/ ҰJ}"{◟51m4wT<ۙyvNVH琘ng#ӿ[dEC>EupHY>hlkimOa~Dj!wP{y_ɯEmh|>FC}5C\\r7B=?g@PG)iK{!EޣBJ`Lw>v*.3yy 8fpS^ٹyF{ָF"G8~&OL*>|I)0:aqQfJjgS'U.G6 37ReF]9BiuIsOwq)L>3CHfڥ QԤP}ud#~q_Ow:)ێ:>?HavHiz]|n$u鼔7=l}6uwmHV>Bjy'c=WjTSCJx y0ru0,#26TS;Lq$jt{r_)~H..@׮aTS|)ӡˏw nJ6g¨ ;IQvT0Q)P=bHjTg8J wHź*# pl%r lzVCoQV?` W;жJ[4Ӑ{UH{= 4hB73(B!z[}òϨ*gg/}.5xR{Z# 8ځQG;=MoXtw.Ƶo=k>4䳈B\|17l|®:eǦ'DvWYd>6ɕ>s2 䵜@CYهI^S ΔK(TN6/&+<(0/z>ɹUheߔ)qֲZ8T>e\i;i(V=#m?qg-d}WяKdb}}lc)W 1dizgg$5eGO0<3m_ a5ΦJ8dd(G{MSNrrJ4ayD6ʼnR 3/5f->mX/ yn3cQNX&O3x!5*N9By&} a: :#!;g".Ywj}lwO<r[淾\2=/d sAo00:r>œssgΆ^P(o> :2Kץj4(_nGпU QSzꨛ$Ʒ,70+,aG_!jZ}F#bi[ E*N&]ZKaM=|vì6㐚/m,|o8_V)TÙ9{)_j2 U$X}~uYH0cMyFyF\Dl义XqжSTPK4}FbhuWj_ܠq{,ېi;R` uF-7^NϖѺ>Y{|F$+H `dSOE4J>z*Ag0Gq񝝽eѨ:2]jԑeyը#)73TQ%SP:qGMOIVC az(z3#Pc+ g>G.ɵ縦 is,1L\C#O5Ex5q'&ƫ<0D7>k6x(љNEk]{)Ys[q2Y#b *@}r$ GPW޹"yiz`qSN3k{fMrnkn[QAYZ//vڻb۬Nr۬4۪|NjK.!VLZZPu|Z⃋v 7%A"ozɷyu%md1md֘‘cbZ[~ͬòRke5-8fuUWNJƑWՕ:n|<ɲ>?'FdO[3şc^#2|SQt/ܑui=ݙ%V,#g22"}&Q>AQ' UpǮ}u#2?J1/ =R|0|rplFxߣyBDGjmQ}C/6OLO~h |*8Jn I<_?ocB@?kJY??oϿ۟D-%?q} u8"'\[6;o Uo\x5gA1[jssnT'ֹFDuǥ5'E\:^ﰕO[[~Vj\[~/3z0%^_qF 剔~)(M|s2bPB{ahquH}z+B[a}Xr@d]MQ"㓧PQ };-7|j!uiK4DksYu"J[(ǕR(7{Pր(o)u-յxWK3M OS>DY.IKfw9B;3ORUO%i׮cɍC 6avxyɺبϨUEe=z L1Pg::9ʑԪjؗ#յw>>}heHj%?g~!j%R$Ԙ2$Q?sn%I*g zS|jH&掭 IP2> Av$BRs$jmGHԦ;idHܐ Q&3 v4o;y4_N6=(3C T!2$=%eHj봌tV(OАԪ"?|?[rFDI=ߊfgd1R[ɩgq0H=;,#?tA+7>L=͒zFVJ=#NO%˺g'P ɾgYW88"̊FR^Y֕|ňpW0,Գ2SW:Ȗ~bό|֚DcRu&DCJ=7'ods4 ]9oDV"mj_<@X5X ɛ"*3uGBb8p = YIY]LxFQDҌ C0djUMgrկ?VEK،UƈžZ8ĝ'Cp -B(sfmnv\rɇzݏ/C (.͊.cՈFlQ]ZpVW0Ƭ:ɒ9|~fC"݁cUTat9Hq}4,ý 1dM*3`'S/Ã߹ر|3.^= |F/uu _V niAAϢMx`"F܏$N#7lpb5} `vQFCH.tN #dacMT+Y߳cvwdhs_@K DP˛!;b b7B20jW8(l6!cZݡE S4\WŽ ϵW)tp&%"r{㕧p(")߬fZ S[ބm(VWDT|*k2Me#3qYA+v&xj'9i<Tѝc6pJ [D5=| DaNXxCωtgt0y!^kl}nqIM(v/*1+9q3Rz}Hc^']챭Bc峙YynZ2DNKuÙ GSj%qC+}-:c#3u lW;4{͠`Am|vHjInN]"pYIX>dȶlOSWj#Kq\71pBԴ/GwbNǁbn@tJ<yh{x~M<hbjJתKy>|O]:m =-? !|㚤dj㮔Jh,i 4_gU4{?4_ *Og+ ˇS@a n._Y>8@%,KX8z˗WO$3.?ں I>,ʣ"KCy|WV)EMvHb5@9LJvLNOvn)4N` omCz(7ŇZpo/Owa8U/nnjuݍcuwo g *0Qc2A9rZ>$w(1šAAr"%YefdH> WT*wKs#G@v~Xg;Dz$&Rs8Gav09g9={N4"G qqz%ZT9GJ8G>X8g5 cRtc=[*E=8G #vvP(;yFE!GPrPCͨrrOIp"™k0r8Fө endstream endobj 706 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 91 /Matrix [ 1 0 0 1 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 98 /YStep 4 >> stream H*2TT2P0P04Tp<P0KP(mke`ei rA 1e !2@N0W @|c endstream endobj 707 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 92 /Matrix [ 0.75 0 0 0.75 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 96 /YStep 4 >> stream H$1 0C"G+PtP7! ΍0JONpf䌜 +hU/~VePL# `: endstream endobj 708 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.5 0 0 0.5 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 96 /YStep 16 >> stream H$1 0C"G( 88Jt!NgQ:fY \+**Dls'Ƽ.>ϣ endstream endobj 709 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 63 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS` endstream endobj 710 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kQ" r endstream endobj 711 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(ke R @js X endstream endobj 712 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 68 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r = endstream endobj 713 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 139 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HD0 DwL6Q|CPuk+$ص"x+%VZ.jdx({]]|J:՘JgJD#=k鉏Z75Șx=osٓG` X1} endstream endobj 714 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 108 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65PRFFz&,deng5,b$@`9H6 &, ` @ endstream endobj 715 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r \C dN.L…5j6X`7 endstream endobj 716 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 164 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H\10 Ewip^u`@l0(,\;vڡV;HF'TU>UƵ5=ƓIm&fZF߅OٌŸ`i;](!jKݐT{,;8O=||#FF endstream endobj 717 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 226 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H郞 d}e endstream endobj 718 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS!" ~0W @ٗ endstream endobj 719 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 114 /Matrix [ 0.15 0 0 0.15 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 80 /YStep 80 >> stream H4= 0 !- 88J+M3}Ir8A ރ܊bX7Ʈ32٠~y[}%o=XK@3M 0o" endstream endobj 720 0 obj << /Type /Pattern /BBox [ 0 0 60 60 ] /Filter /FlateDecode /Length 218 /Matrix [ 0.102 0 0 0.102 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 60 /YStep 60 >> stream H<10 Ew'@cw@b@ 0(,\ǮZՑ…';퍽\ǵ/7oJ~gމzur!A]{}SpdKI ւ3)X)fEM *uI#``GIcgi$XM3<<> stream H*2TT2P0P04Tp<P0KD(kejD XBH*d.CC=# * V r@PH5DH4 lB0W @hU endstream endobj 722 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkVS` B endstream endobj 723 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 69 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(mdkQ" r B endstream endobj 724 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 149 /Matrix [ 0.117 0 0 0.117 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HL;@ D{bN+6aD((P@R(ֶf&`邗J|UיqƨTօ4b$"n.=̨!9i=ϩ8T}.Wj͑䶋=!wo8Ӊ~ 6 endstream endobj 725 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 122 /Matrix [ 0.05 0 0 0.1 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H> stream HD1 0 E!)ApqA.^$-^^n CX&\uǼ0V]"2Enʔbc\WM(U?Po>I'f endstream endobj 727 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 118 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H<= P b<ba!vZ( x}"|aHp aw7k01,+c#0~4EVroOcr]H ܪr( ĨTq^(& endstream endobj 728 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 169 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H< 1E[[M ;Dwp$MQ8F' >Q5= .kt;)FaevrXFi2JhI\Ro43U@a [Za AE`~O`~Sh.m)KtqC 0m: endstream endobj 729 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 280 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream HDQ9NA v_@"@ @$|jv*ʻ\d?dM2ߌYnmy\<,i8F)lo|[;kynߠNT<_^8 cExO>ԛ{SFl>xoh&_Ud٫Dڡ֞*DŽz8!s\C\\ǪQ:le1#H:cӱ7 a{%a(Zx@p}=eE8s}M} 0 endstream endobj 730 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /Filter /FlateDecode /Length 54 /Matrix [ 0.125 0 0 0.125 20 28 ] /PaintType 2 /PatternType 1 /Resources 731 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H2TT2P0P26P.sm @iZP`MȊR endstream endobj 662 0 obj << /Type /XObject /Subtype /Form /BBox [ 20 255 374 822 ] /Filter [ /FlateDecode ] /FormType 1 /Length 3429 /Matrix [ 0 -1 1 0 -235 629 ] /PTEX.FileName (./fig8b.pdf) /PTEX.InfoDict 732 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /Cs8 748 0 R >> /Font << /F1 733 0 R /F10 742 0 R /F11 743 0 R /F12 744 0 R /F13 745 0 R /F14 746 0 R /F15 747 0 R /F2 734 0 R /F3 735 0 R /F4 736 0 R /F5 737 0 R /F6 738 0 R /F7 739 0 R /F8 740 0 R /F9 741 0 R >> /Pattern << /P01 749 0 R /P02 750 0 R /P03 751 0 R /P04 752 0 R /P05 753 0 R /P06 754 0 R /P07 755 0 R /P08 756 0 R /P09 757 0 R /P10 758 0 R /P11 759 0 R /P12 760 0 R /P13 761 0 R /P14 762 0 R /P15 763 0 R /P16 764 0 R /P17 765 0 R /P18 766 0 R /P19 767 0 R /P20 768 0 R /P21 769 0 R /P22 770 0 R /P23 771 0 R /P24 772 0 R /P25 773 0 R >> /ProcSet [ /PDF /Text ] >> >> stream x͛] \m(I$W@M4i~))Q#`E.Ξ'FCkwXçt}¯rMIǿ>{M7)g|;B ?>Жq>'#x|uo@?glx:j3Ź6I!; -PcH2I36妑b|lJ I5zZAFTcpHqxobSZ1B_m6 Δub;I+i;wq)$GI2zXyo ɚFiFN4T yU&h znlIm=@X5 idz eg5ҟNū7$9Z141[ $oRq rEL xkRz]T("i YlI)e$#kL45"l0VJHs?ah m I, E4k,>CE!3-4֧j&;mK|u0oF|4j(u[Q5 9 yX!x IAIUd;)e$ NJ_l95#^ONrϱ`aU$zI6.a> YR%CR`fE FFn wB96$քW2k<|%Ź`)v*`N{qp}fGIF87aJYZ{)As}{10΄cec1ec,H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JQH*\ < p "Lp!Æ8p ,h „ 2\8`A&T0!@x@@ DP„H&< <0…  p  H*\Ȱ@,h „ 2\x @@ DP„8$XA .Lx  4xaƒ8`A&Tp < <0… &<@8`A&TaX` 4xaB @ H*\@,h „$ p "Lpx  4xaB 6Lx $ p "Lp!Æ(,h „ .,@8`A&Tp$XA H@@ <0Bp`!,\@B p8 8` ` A @` P@ , H8  @@,hH< 0$XA <  paB ,`Bp@!"B0@@@ @ P`A ,X`H@@  @H< 0  0P8P ` ` $@ @ @ P 8P `  @   @@@@@A @ `Ap  4xP !B p "LH@$` ` @   @ < (8@@  @@ @ (X, `  @  @ @ @$(  @ P @  P8`A8 "Dx@,h „$ p A   ` `@ 0@  @0@  @  <  p   8@ @  @@@ x8@   P`p  4xP @  <8@,h „$ p A H 0 @ 0P $ p p`A@ ` @ H @@H@@ H@@p A` (@   @ @ 0$ p AP` @@ P @ 0 $XA(@ < <0! H @ $@ @ ,(, `  @   @P 8P  0@$` @ P@@@ (@A  X8`A8 "Dx@,h „$ p A@ @ @` (XP(X@ @0@  @@ `8P @ ` @ ` `  @@A @ @ @,h@0B@@ D$H@ AA@ < @A 0@   ` 0(X(X   @`  H@@  ` @ ` @ @ p` 0@ 0@8 8 <(  ($ p < <0! HP8Pƒ*TPBp@B *TP(0 <0… $XA .dH@,h „$ p A |X(@ (P@` X@ (P@ (P@` ,P@ 0X@ (P@` P(@X>|C ,P@ ( @ (P@ X X X@ (P`` ,P ,0 ,0 ,0Ç>|!   @ @@ ,@ @( @ ,P@(@@X@8`A&TaC 0X(@ (P(0@ ,P@ X P( @ <4X``X``X``>|C (P@` P(@ ,P@ ,P@ P( @ X( @ ,P! ,  <|Ç ( @ X( @ ,P  @ ,` @ @,hp` X@` X@` 8x|(@ ,P@ (@  X( @ (P@ @   p  ,P ,P ,@@,h „ 2l@ (P@ P( @, P ``   (P@`(P(@ ,P`(0@@$XA .d! X X(@ ,P@ ,P@` X@@@@ X`X`X``$XA .da (Ç(!@  P`$XA .dC 1bD X``(P``  X@  <0… :4X@>|!>|Ç>|@$XA .dC%NXE5nG!E$YI)UdK1eΤYM9uOA%ZQI.eSQNZUYnWaŎ%[Yiծe[q 8  X@,h „ 2l!Ĉ'RdX@, p @,h „ (PBH*\ȰC ,P@  X@ <|Ç (@` X @ 8`A&T@ ,\@ .\ X@.\p… .,P` X ,P@` ,P@(0@(p… X`` X`` X`.\pB ,P@ ( @ (P@ X P X…  X``PX@`(P` ,p… .\8@ (P`` (P@ ,P@(P@(@ @@ DP , ,P@ ,@… .\(@ ,P@` X (P` @@8`A,p X@` , @ ,  ,0a„ &L0! @ @ @ @,h „ @X aX`(X` .\P` (@ ,P@ P (0@ (P@` X… (P ,0 , `P(@@@ DPB (P@ @ (P@ (P@ X@@ DP ( `@X@@@X`@@ DPB ,P@ X(@ ,P`` P, p @,h „ X@@ P@(X@$XA .d@ P@(P@ P(@:lX`8X` X`:ta P(@ (P@` X( @ 8t`0X``X@`0X`:tСC ,P@ X@ ,P@ X(@:4X`8X` X`:ta P(@ P @(P (P@ P@,h BX``X`` X``X`` &L0a„ , p  p( `@ XH*DX``8Xa X``.\pB ( @ (0@ (P@  X@ (P`` ,P`… (P`X`` (0@ (@@.\p… .\p… .\H@8  p  (P(PH*\Ȱ! ,P``H*\ȰÇ#JHŋ3jȱdž 8,P8`A&TaC!F8bE1fԸcGA9dI'QTeK/aƔ9fM7qԹgO?:hQG&UiSOF:jUWfպkW_;lYgѦUm[oƕ;) p  0h` X@@$XA .dC%NH(`8`8`A&TaC!F8b X (@ PH0P @,h „ 2la x(@ (P@` XÇ, p `@X@$XA HX@B ,P`` (P@` ,P@ X P@ P(PB 8X` *TPB ,P`` (P@` ,P@ P(0@ (0@(P PB ,P ,0B *LX@B ,P`` X(@ X(@ (P`` PPB ,@B *TPB (0 @(@ (@(@ P (P(8`A ,P ,P ,@ ,@ ,P ,P`` XQD-^Ę hԨQF  p H*\ȰÇ#JHŋ3T! hԨQF  p H*\ȰÇ#JHŋ3TB, p@$XA L p AHL p AH  p H*\ȰÇ#JHŋ3Lp hԘa 0L`` 4xaB 6tbD)VxcF @8F & @cL`` 4xaB 6tbD)VxcF @@:(0 <0$ @B L` @@8`A&TaC!F8bE)H@<(0 <0$H@0B & A *Th @@ DPB >QD!" @ p (QD0`  @ @ @@ 000@ `HA$X AP@P H`0A  P@ `$0 (P P @@8`A&TaC!F8bŅ   `   ` x`` 4xaB 6tbD)VxcF9v@0p <0… :|1ĉ+ZLhŋ \x \dh@00 4xaB 6tbD)V/ 40ŋ @@ p "Lp!ÆB(q"ŊpE\xpq$XA .dC%NX"B.^(/>40B..4` P <0… :|1ĉ+ZDh`ŋpŇ\\h`Ņ  p  8`A&TaC!F8bE x@.^ Ѐ`` @,X$XA .dC%N(P"A (  8 A $H $H A H A h@00@   4xaB 6tbD)Vh`@`" ( `!`0  @ p @0 @@  ` 4xaB 6tbD A H @(@$H @ A $( $H A$H A 4`  @ @@ (@ (@  P  P (@@ (@@$XA .dC%*40@  @    @@@&40`C&>4` P@@ (@ (@ (@(@@  P(@@ DPB >QB`@ @  @ P H A P(@ 8`A 8xA4` P@@ @ @ @,h „ 2l!Ĉ0@ @ @  L$@ @0Ѡ0@    @  p "Lp!ÆB(q` @ @  L$@@@@ 4X4h`4` P <0… :|1ĉ+ZDh`ŋpŇ\\h`Ņ  p @@ DPB 8`A&TaC!FH*<P H A8`A(@@ 40 p @@ p "Lp!ÆB(q"ŊpE\xpq$XA .dC%NX"B.^(/>40B..4` P <0… :|1ĉ+ZDh`ŋpŇ\\h`Ņ  p  8`A&TaC!F8bE x@.^ ЀЀ <0… :|1ĉ+Z1ƍ;z  p "Lp!ÆB(q"Ŋx@/^"C0  p "Lp!ÆB(q"Ŋx@/^"C0  p "Lp!ÆB(q"Ŋx@/^"C0 0 <0… :|1ĉ*8@@ Dh@„ &L0! &L0a„$L! "` 0 @,h „ 2l!Ĉ'R4 4xA &L0a„&L0a„ `  48  40   4xaB 6tbD)Tp < &L0aB &L0a„ 0` ,Ƞ8,XA` 0 @,h „ 2l!Ĉ'R4 4xA &L0a„&L0a„ `@$X `@ "8`A  p  8`A&TaC!F8AH H0a„ &0a„ &L D p 8@@h dP@@ H@@88P  P`( @, p`X@` X@@ <0… :\ 4xA,X0a„ .Hx@„.( XP ,X`  (@ 8D p 8@@8 ,0 (@ ,0 P`X X``$XA .dСBH  ` &L8`Aƒ&4$ a„ (@ 8D p 8@@8,@@P X  ,@@X@`X@@ DPB &Tp < .` ,X p ,X p ,`,X p H .X@ .X` .X aƒ h  H`@ "8`A  p   HA $8 P@`(@A , X H*\ȰÄ 8`A0p\@\@\0p .@ H .@ .@ .H D P  @@8D P  @@8`` ,P@H@X@` P` ,  (P``  p "Lp!Æ*8@@ Dh \ p\0p \ p\ .(@ .0@ .H04@@  p 4@@  p    (@  P`X`` (A8`A&TaC  p "4` .` .`8`,0` p A $H@ 0` `8`A (@ 8D p 8@@8,@@P ,@@  ,  ,@P`  p "Lp!Æ*8@@ Dh\0p \ p\`p\@„\ p \ p$LhA "8P` "`P @,HA` 0  ,@  ,@`X`` $8 X  p "Lp!Æ*8@@ Dh \0p \ p\0p\ p $Lhp \ p,@ .H D pD8@$X @00`@  P  (P` X@ , ,Pp`8`A&TaC  p "4 .X` .` .X` .X p H  P .X p .` 8`A  $Ƞ8@$X @00`@$XA .dC%NhP,h B&L0a„ $L0a„ &$ H A8D p 8@@8$H A8@,h B, <0… :|$XA@@ DPA A @@ D8 4(A "8`A  p 4@@ 2(p  p $@@ DPB >QD p "4 a„ &L@„ &L0aB @@ 8@@@@ 8@@8 p "Lp!ÆB(q"E 8`A0a„ &L a„ &L0!A8`A8 HA@00`@,h „ 2l!Ĉ'RDp < &L0aB &L0a„ H0!B &D@0p <0… :|1ĉ+ZLŋ\x" \d@0p <0… :|1ĉ+ZLŋ\x" \d@0p <0… :|1ĉ+ZLŋ\x" \d@0 <0… :|1ĉ+Z1ƍ;zh @,h „ 2l!Ĉ'Rh"ƌ7r#@,h „ 2l!Ĉ'Rh"ƌ7r#Ȑ"G,i$ʔ*Wl.%̘2gҬi&Μ:w'РB-j(ҤJ2m)ԨR ;ZϐuֻR]nWj+ޕZJwֻR]zWj+ޕZJwֻ}ֻR-R]zWj+ޕZJwֻR]zWj+ޕZJtjw9^s]> YXŷ-ik~$!5Lz=V^-MU{ӫ#y{cx 'f?`QxH=^=Մ1Ռ鑽mfk$|}gHN Uo766]pYOfFƬ 6Mya:\+ &V3\bJO%U53&wƄ0j.R~TLŴ3hȼkPcs4 C^/c+C:/IrcHo !OotW {6ƀ+4mX4)Mazc[1ڤXնM:8e̠! CmlgV\woYĺKgXȜR$;9 tb:o Ikv1`4 ^X|`L|Gt1L=Daw71([Вh9ǽh1,=ejacsalяa hV^j~ 6? XtA=EWru_,bŠAHh}0rn.m( fk9D9-E`X z΀0, 6MR n%4%l !>n1ae-/_ZD*,L$Ѭ/_]DX R%d"c-*aGa{S)lk0q92GGDʵ-~:gG_i6eF,yn 4Җ>仉Q3-%ׁO4"!HH]Z]teA!D-}F%+rNju( P 8kiHbM-Abzbzʑ1=蔞Qg!=`Hrj,Ψɾp[>#Op5-sXIA>±OÐ}*ŅRPnϤ%Og>} 8~w=81$o/j3yk4FeL &K CM Z ? zN`.C6E<|gPf&I0`3/- /uY\eeQ/sl3ҙT6y&/y?YOqW3C؜ qsYƜԺq,)%NF~S֜u*_,s a$Nf9f9m`ۤ]qQ|׷`,ZY 6_Tf26keıEe >Yވ"~F"Dn pe HUǒ$xb7#/-#EXnT9XF a$Fv#Etܔ29)f攢)LJ,SԔ,.AaɋKL9)L9::±9cgD3Yhpw~)VWpz7_SFnk8T"YYSyEIe3'DD R9֡hv$GZ4Ei.39R?dH;Hкo,EPelr|ֵT(Y&b)Y\ceYt"VOc r2]0śMZ07]+EhNRWd\Hi#PTRe&kaJedBIZ;ZZ e* 7Kj5,,mkE8''Kq|`7{#q"'71 %1 530Rؿ :M QI0lRL3b\*ܪIae&3K+,,q3B" Kp3E,zC L.bqC U*fw8?O {zVýZҢED(,I\ba%Ӛ}X8"# a^}t %ce>P/~&bfN`~"36blJ B +߼TXʚĚ""!&I{T{{TwlEY/vJ )",*i EU3&K,,b/"BL֙XcA!Mk+ F2ıu3TCanj0̦CWhW/%Ge3<,,sRScS΄ћ %A{|f6-߶h"{p}kFoD,QUjK(B,)XRaaaJ,bN bjjC a$P2CC6 D 8"P`:҅TPY\2ób^,.gu&W*)e< g\u(!:@Ōq/1[ZVCN!Hd?DtR2CbI 2 Ia8"BL֩X0ؽIĂ$f>P49S2I[H~QV@b4EE3<,,.rx 1Ygba\omR]TGıE3TA(T| TI]>k+ ¡G}gP} )HRfaaIE /WPijT:+#!Qv#ycu3TE{-t\sMq9QPY\5ó"f/{5+IA㲌t& G]L90Kdp,jU3TA1.. M9kX\FhjR[" V4ñbi/{H+Y*dwEup* C f UEJ|M5\Ar!3}0f8TYXYq"k1IRe-c2ۭE3ː:P}h o@Z՗Za1 IupUY,Y\caeYXVXri^wTMb)&K:P%}nΚ*eZ:8yc/5|MN*w%\^BbI ǒ* K|\ gu.WER)edf>P7κS^X1BrT #FVեɊ0fxZXY[brEP9ɘj3$+䞜$E„͘)Pp؟ߋ,,D gu$HL֡jjj9;SĝI $g";mġv9m r,VV<^,z&),w&)3iJNU2N$c$%xb{νe&?M}`0#I^C%QY\ij #^(;gu&Ok!; Ы)$ D51r UbV6 i Z]oe:.`qw֥wr˫6J]ǒ8 [ Hip=598֡ΰQ60.,Ah_XX}ն蓎%IOTd"#s,$ p y7K5tw[.iD&[;4t|ny$ߖ1[~lnpH;7H 9Gf i9} #yɋG'|0q󨕼\H^y >֯R(wG#_sܹ畇)%ybc8 ŷi^yLSW+L9+*1D*9a,6+Y@_g14#RmOJbƁJ0I}P(̡ZыHeLik єHž8Df\:78vƤE)D¤hC9qO$(D( 9ᑝ0'f%x'i8+af6Ϊ|@4u`´QƄ'Է~Oy0=&r c$xBWRlM¾؊qdv8ᬕxFL"q gM_~KGjז"egc)Y 22ijcgiRij,,9tr)Yr RL4!Yf9V\n1YɷgQg:/,E< kr)X${-C< Ժ,8锅g;G'!Eqwgn!.,Ej&ߛe > \Non&QNz}տߝ!'4Eh @Uj Gb ;9)INQ" <<Xm"-_RdeuFY,"x4fJUdiks 5vR|a,AVN%=k"N̥+kAN~jYX,,ɌVYX8lVYc2Y"2D&'pղ4 L8 ehrhʢXe*vJYxіV򐞥#+޽'1p8 T4 1e)HȂ,A%"Wb,a<%" iۢyAVe,FuAD(4e(@+/n#Z/nt+|Q_vBmujiU.qq /{8ueoSNmM/twT/mX_~9Er?KO`Jpw~(;!zr]fRjRsIHox/#LW+ye2}^>LW+ye2}^>LW+ye2}^>LW+ye2}^>L_>LW+ӧwe2}^>LW+ye2}^>LW+ye2}^>.+º1'B]cBym8>kNm?ߔKk( az~L3o ga6܆(^zrh\WN-K-x#"PZ{)wbPt}g;ɸ:8Mfcd$tИMpdZ( r5&2žMe}H2n(!ThI eFST8<>8W:k)=qF^ƒZsUC24r/9!UnrČgv܍45zfG~/^0[3Xx~.I%=󳱅*=5T '6o5]lDzW60%4b[,1BN[7frIbC%IHW6K=Xr[f[9 q71qRg`Ha>zOP3 -x }-na7^Öcs/4y kOg,Cq)hsƸي0EK#O< hOZ7^T 3-0c9if8pT3>‰TJ4Б"_avY͂q"9tr© a5 EE36g5<,0j$ "Jj9nj8FP䫏-gEQ ԽhD"CCs4y,r%O:k33ðAa^]AgzሆY a".k$o#9,}{>oH;օcVE- ^[1cf%:xEX=kDr{< wܕA-2TijIfwG*W?S,\ocvJďR/S BD"_5G_hvH^~+IM'%˷^x>9YOH |39 /zv؁3b|KU |/ |fʹ^Xs4I, :"*2 Á,md(H$>z`doDUA;;h+G+Rl*G ҰiЁ-A)sI-}J#cw.sh{v(3HQ ?uhMOdְ ]A1[J`*G <ցOT!0ey2`xװEZ=g, p-I Kt,֧T|v(3uHYQ?Qي]?-"P1fIlKc,}>̶>XQٍu؁'JЇD7|Cv:yoU^fS+s>\a sX &.G }v(3hODQ eϞQ8c`mY# K1O) n|±ObA(`_} )LGlt$ MIh Ith=}DiSOBx2"[C:p8N%5k[ӟ_wBƒ'˵)Rg:>مc)Ź; ~ȡ;Tn`>xJ&r*0;-.;D) ?75 tup?Uu{^||-q6yȧd#&Qg:qR=I\Ix]9:swOrh?\UX04鏲?VN^tNX3ʣzF{u&yɃzM\UYl=adCz=fٝ$n~p;DB[m|U8iqy]# 3Iv`FLC^M"om_[ F endstream endobj 793 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 91 /Matrix [ 1 0 0 1 20 28 ] /PaintType 2 /PatternType 1 /Resources 818 0 R /TilingType 1 /XStep 98 /YStep 4 >> stream H*2TT2P0P04Tp<P0KP(mke`ei rA 1e !2@N0W @|c endstream endobj 794 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 92 /Matrix [ 0.75 0 0 0.75 20 28 ] /PaintType 2 /PatternType 1 /Resources 818 0 R /TilingType 1 /XStep 96 /YStep 4 >> stream H$1 0C"G+PtP7! ΍0JONpf䌜 +hU/~VePL# `: endstream endobj 795 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.5 0 0 0.5 20 28 ] /PaintType 2 /PatternType 1 /Resources 818 0 R /TilingType 1 /XStep 96 /YStep 16 >> stream H$1 0C"G( 88Jt!NgQ:fY \+**Dls'Ƽ.>ϣ endstream endobj 796 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 63 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 818 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS` endstream endobj 797 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 818 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kQ" r endstream endobj 798 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 818 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(ke R @js X endstream endobj 799 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 68 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 818 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r = endstream endobj 800 0 obj << /Type /Pattern /BBox [ 0 0 101 101 ] /FilPreface (XML in a Nutshell, 2nd Edition) Book HomeXML in a Nutshell

Preface

XML is one of the most important developments in document syntax in the history of computing. In the last few years it has been adopted in fields as diverse as law, aeronautics, finance, insurance, robotics, multimedia, hospitality, travel, art, construction, telecommunications, software, agriculture, physics, journalism, theology, retail, and comics. XML has become the syntax of choice for newly designed document formats across almost all computer applications. It's used on Linux, Windows, Macintosh, and many other computer platforms. Mainframes on Wall Street trade stocks with one another by exchanging XML documents. Children playing games on their home PCs save their documents in XML. Sports fans receive real-time game scores on their cell phones in XML. XML is simply the most robust, reliable, and flexible document syntax ever invented.

XML in a Nutshell is a comprehensive guide to the rapidly growing world of XML. It covers all aspects of XML, from the most basic syntax rules, to the details of DTD and schema creation, to the APIs you can use to read and write XML documents in a variety of programming languages.

0.1. What This Book Covers

There are hundreds of formally established XML applications from the W3C and other standards bodies, such as OASIS and the Object Management Group. There are even more informal, unstandardized applications from individuals and corporations, such as Microsoft's Channel Definition Format and John Guajardo's Mind Reading Markup Language. This book cannot cover them all, any more than a book on Java could discuss every program that has ever been or might ever be written in Java. This book focuses primarily on XML itself. It covers the fundamental rules that all XML documents and authors must adhere to, whether a web designer uses SMIL to add animations to web pages or a C++ programmer uses SOAP to exchange serialized objects with a remote database.

This book also covers generic supporting technologies that have been layered on top of XML and are used across a wide range of XML applications. These technologies include:

XLink
An attribute-based syntax for hyperlinks between XML and non-XML documents that provide the simple, one-directional links familiar from HTML, multidirectional links between many documents, and links between documents to which you don't have write access.

XSLT
An XML application that describes transformations from one document to another, in either the same or different XML vocabularies.

XPointer
A syntax for URI fragment identifiers that selects particular parts of the XML document referred to by the URI--often used in conjunction with an XLink.

XPath
A non-XML syntax used by both XPointer and XSLT for identifying particular pieces of XML documents. For example, an XPath can locate the third address element in the document, or all elements with an email attribute whose value is elharo@metalab.unc.edu.

Namespaces
A means of distinguishing between elements and attributes from different XML vocabularies that have the same name; for instance, the title of a book and the title of a web page in a web page about books.

Schemas
An XML vocabulary for describing the permissible contents of XML documents from other XML vocabularies.

SAX
The Simple API for XML, an event-based application programming interface implemented by many XML parsers.

DOM
The Document Object Model, a language-neutral tree-oriented API that treats an XML document as a set of nested objects with various properties.

XHTML
An XMLized version of HTML that can be extended with other XML applications such as MathML and SVG.

RDDL
The Resource Directory Description Language, an XML application based on XHTML for documents placed at the end of namespace URLs.

All these technologies, whether defined in XML (XLinks, XSLT, Namespaces, Schemas, XHTML, and RDDL) or in another syntax (XPointers, XPath, SAX, and DOM), are used in many different XML applications.

This book does not specifically cover XML applications that are relevant to only some users of XML, such as:

SVG
Scalable Vector Graphics, a W3C-endorsed standard XML encoding of line art.

MathML
The Mathematical Markup Language, a W3C-endorsed standard XML application used for embedding equations in web pages and other documents.

RDF
The Resource Description Framework, a W3C-standard XML application used for describing resources, with a particular focus on the sort of metadata one might find in a library card catalog.

Occasionally we use one or more of these applications in an example, but we do not cover all aspects of the relevant vocabulary in depth. While interesting and important, these applications (and hundreds more like them) are intended primarily for use with special software that knows their format intimately. For instance, most graphic designers do not work directly with SVG. Instead, they use their customary tools, such as Adobe Illustrator, to create SVG documents. They may not even know they're using XML.

This book focuses on standards that are relevant to almost all developers working with XML. We investigate XML technologies that span a wide range of XML applications, not those that are relevant only within a few restricted domains.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

ɁBe'g5řӛ޳0ٔ a>5CԨ#kM:ExJ0aEvff,ؘQ5yWd6˄j#Jq8HV g"id0,aEN ڊ`+L6RWe/L&, {b1Ca^mq#_** m ԣF\渗E?J[~^|5<}XjqD ˷÷}<|-ęp|pİr/%M^~Dq幜,YV'rE[&T,8iܻ\g.Dػu Ӥ:~Fz^A' $vN݀~m)c <XڂD D,T(գ/r\y[]5'rb7_ g8ķuAV&_FhqR1 W W5`R5yLcb g2B5F!!Unun]A |[ LhS ]Ԏ2.n2ъxr9M/]+qR1e'F)[2o` K=P ,q eQ0rΐ+ur{rF ;r mAu,7||MƹdPK1޿@((PZn(QJnvz+9P6)ysv#xKp"Nݿ-8-=yUu;8=^aWp WɒvRpO8D'-ybV( Y_tB endstream endobj 849 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 91 /Matrix [ 1 0 0 1 20 28 ] /PaintType 2 /PatternType 1 /Resources 874 0 R /TilingType 1 /XStep 98 /YStep 4 >> stream H*2TT2P0P04Tp<P0KP(mke`ei rA 1e !2@N0W @|c endstream endobj 850 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 92 /Matrix [ 0.75 0 0 0.75 20 28 ] /PaintType 2 /PatternType 1 /Resources 874 0 R /TilingType 1 /XStep 96 /YStep 4 >> stream H$1 0C"G+PtP7! ΍0JONpf䌜 +hU/~VePL# `: endstream endobj 851 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 93 /Matrix [ 0.5 0 0 0.5 20 28 ] /PaintType 2 /PatternType 1 /Resources 874 0 R /TilingType 1 /XStep 96 /YStep 16 >> stream H$1 0C"G( 88Jt!NgQ:fY \+**Dls'Ƽ.>ϣ endstream endobj 852 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 63 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 874 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kVS` endstream endobj 853 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.06 0 0 0.06 20 28 ] /PaintType 2 /PatternType 1 /Resources 874 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(kQ" r endstream endobj 854 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 66 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 874 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(ke R @js X endstream endobj 855 0 obj << /Type /Pattern /BBox [ 0 0 100 100 ] /Filter /FlateDecode /Length 68 /Matrix [ 0.03 0 0 0.03 20 28 ] /PaintType 2 /PatternType 1 /Resources 874 0 R /TilingType 1 /XStep 100 /YStep 100 >> stream H*2TT2P0P04Tp<P0KD(k65P)2r = endstream endobj 856 0 obj << GIF87a'X{{{sssooommmiiicccaaaYYYWWWSSSIII===|||xxxvvvrrrjjjfff```\\\XXXPPPFFF222,,,ſH4[d(hHutl\DP D\0--[,'XCC 88 <<׷氂 enÇ#JH?3ū#$67ҢɊ%߁  (!D^vqx)tƣr d]B`X^ѓXZU&*xюx00" m"RӝY>p _ VʮH w ѐ^}F7yN41aD!pF^ ĻЮ-7<۟`lhddmH~ .> wxfr{whǵO&Gk!h4@M!0 ;ٺ#l9imdN ;T&rC 4O Уꍜ pC4!PRNSA0 '3p[8f>00 T)$p(촚;0 A뉱T4@gM!cls[l_VFJҒ&råxLcJSq7iNkӞԧpE(rGRyԤ2N*RSXͪVՋ] XJ֬XuURִ!l5ioz*+^U*i^:P]aػ򣱃uY:oe2&lE0@-uec:&AVQ ժD@|u%$2z1 Oly"oI4Pn)D&2҈[q.! aB4w]T$(.Ε.@[]<$=sXwInk*I<4 Õ4*T\_pfBDENNyS(PUpUůlݓ}kMv/waFa_f=ٮܓ A7Sj._-B}c<{ۥ.[I\VF :ʣLcAe'{TB"ӲNx:~3?9T>;glJGʁZ &|vx0EI݃rm.<⌏Z-Nd"r"P NMR|`NetM ! M N (OЁ@O8P9R |W~*Xh.Ne  =ٶOMK2YU>tDXp73ExIxOxOX5YTU[(UJ}~@MՅPEP F\ `D/%XSem؇N:a|(Q X3Ń ^B88 U(Y*+3v(88hw*q5`#MP!XUXɈfȌH-Ќ8#=TA6Z@`1ZZzrV:pk]1P[` E_ $ ]_U u_Y\B^4eEy` h$? Bbc!*BK)YقR*E,!eapVdAmz8O`}"'"(XRaWSo-gfa|bIB)r)'lvf^a`)d+#vIb(kiaraq$DqPihl64bj8=4#m 0x/kg|g)0rk5Yl &3GT318nr/ixj`}vg!$IjhPm f3=I9mgst6Gm֞牟҆n3]8oÞ㓞67B湟^# 9m Qt>/?I9qӡ;q qDqrtt *;=<39!ʢJC`[3q>85"9_x'u]SwvtAؓ5k7AtAUwuOATRz1ub*vD(ByZT1avd\cuumqJ3\.d{a~|^W_̧|sS'Hj~wzzw~ّGHĪ0LI$TǩW{Nzzf𠫸F4LʤZT3.!^Yj60`O ^6 HQP 6O՚p OQxJ`3Y KYTkщ";qGӈ0'$~Ȳ.(R'۲3+80>˳2kWED[t%hJZ%Q/-)HW8EG q b1wkфowsz8Vxxa;|XaXhm1qHd(ZA4DRDs9!Dw[Q?,C wwQwgwǥ Gx7DfwCvlyuY!ESi7\WxpJ eKzKTL0|7e}jzѺz'ӫ}~~."O~gH~$zԡFzB%P5PQ6vs N5kԮx}d+-hF34hݰ(zXLUQ HmRWXN ?۳]۾@~2pIha.%1Q>ܳ؇m ]}ݰ Ս0!`P6&ZUd] n_cQglpt!z+ j ^R/#+?1xܸ9<&պ (YNAs>9*VM+^ "-R2:7##*[O54 Pv];_k[ \0i^8HijŷRQ;=Fބ*N^*2+ L% |]’z#a9TvR,%\»jIyd–r ^2^b)a+—rBj`|EG\2Ձ2*4N|Ei\9ќ PLNqk){v,)hf . ? S0ŨIW؆7 4̝[39pC;7<Dn5 d{\6m#4gV/sw˼p=JO6; l>L`MB;Gգ2J6UG_:@s:6[#CC D G$|NJvy݆x| P OZ?OOPnܨ$#Pd@Nwmyq`5IIݩ9үK0KK_|VբH'L SOmʬjDɺwBȟ{[ վ7nZLeTÎWx9ָP+r1Ѡ `- 2ChAhDȴbDa83BhcS計 cdXh1³ **iI: :M]m}=탲ktBm~-.?O_? P0e0 > D^r8aÉ+F1#E5Z#x,!R!J,;re̖0 F9Μ8 v0+w{,ICˁĮ ҺG9r'q)N+d1gy[ȓe%$ L܉x'0RV"ݹ "H׹?*~R3C-ZgX.-qZ͞  9ydFAd&-D}ޕs/J 8<3w AwpVو#lk37'Or^[D'ob!*@,Amsg,e =Qydq4zKbt=FAm0%Ә ԹT\Z9 qѻ!MGaS--I+CDHɥ0y?d>Ycd$֞sX+E؟|*Y;,5e: #sEi \,j,k#YL1#7R Eeu( #a)/y/!zsI+YoKl͗KC&.  @Y.,تC}ݗy2O AXC%ߔsbHE ߝ0eԲ9CfbB9%[,טMd*A*$v&E9c򦂙!i'G)U>A~~QgSМI\L!mSVKW*/-Et9׀?X?Uz0+2ϕXb٥I^ߓ/ۅ *<-@q{.5bw'|lJ'`OܩQ;5dXɲSfHHp'm0mL|IXl28cHU`5fi0mnT^!B@)Ey0ߘDOڰȘzmH9a5`& ! HPǽQ,$[]ě,}{l8G%UH)Se=^_O,{jSOa#˰tp^fVCS`e^qK26G,9" R~Sc͚dUV=lqD mcŭ!S@ީ'Y?Ұ9S-?rkڵ0WJZ,xTb_L|~p9 F 5g1YGyP^zEMR u ?q6Ӗ\ |o֗ejpO;3nc)"uGvG?HZ b_3Pw<Āp .bC)BL3 nfpUG1|G] @Kˀ WD Y`Wрk,7 E39#H[)\K W}\}=!tt]<a m ]t}ߥ(,NM G'bT3Ԏ#\`XǛ N^|C\O[0^cH.0牘<'VE9siXq> >> /XObject << /x5 904 0 R >> >> >> stream x+ T(2P013ճ0Q053SR  D)$r'(+W*s! %endstream endobj 904 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 567 466 ] /Filter /FlateDecode /Group << /Type /Group /CS /DeviceRGB /I true /S /Transparency >> /Length 905 0 R /Resources 906 0 R >> stream x+ T(2P013S053331T513ճ0Q(JUW*H((ԁL=C3\.Db K|@ יendstream endobj 907 0 obj << /Type /XObject /Subtype /Image /BitsPerComponent 8 /ColorSpace /DeGIF87aX9h̻"""DDDUUUwww@3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fݠ!,X9 H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI!p숳N:sTЌAoE*P)PEYiN1VԪeW\Jr*SJN5;4ګOߢ ۴Z[j0TrIv)ýu +^̸ǐ##L[Xr_–ͼheΛ9' -z2ңQV/װc˞M۸s ;-(G紈R{yْp;Zcs?Y'#q7qx\Y֑ w9s]3gWxq4wZ_ UNcJ{n6bxYKRkP`.}2@!?<O $jpx\ f/>5XǀTRyP / ! 7x$jE2Ui/C]<.O~,mBIjĐBKr#L3ζ"S8ZI]fC%jɸxnYnK)lX&X:[᡻xc(ι'" #Exݷcrj1jF.!D#{G$ ;m<媻cݘYq}[y{cuJ~^CMB#lɈtd6lBX>Gw &B~Pl>n_)I@^B7ʏ۵Y aIP]b4O I$C_鿌51aB* )tE TϷ ޢcd7Z *M6pbIP܌otQxH%fȗ1UՉFΟs}N]₈(G'\J!ΏU줻xHRBܙ79bR`HF.P$ɹx/.Ǧk-QCT^W1Rr*2~ҽD_f?0>.h:n$LR~HS OP_b_eqQvHt/=c)$>tlE`w|_o $ǘ!{ǖ.(*b?FGt9~c$\%jM?Wn':sœFa +3%!h,z-NV `_{!/ x4(@84ŃO@T'hA[& Ђ$(Mf|l- :ZGll Ј$v}Jf]<p%OQDlerhDڤ(dJw`ÓF8Fgd*3C;{Q5%Ń@X gOvO/Wڑhj >{Ch .WK C"Ж$X8&E;o18zW*wxǦVf $ACvt3Jh8(tx_D/)ZĹߍ{r0HBJd- >,Ry.]<$x0pN|C Ф$: <}VY<$$+ x0?3 &%jMc{.RpG٭'I}tYצ$( ^}>tiIx\ZAx3,Ԩ^1hV; aζf ^Is,[<| 'R \!4+ f$98k0DZa}frxO|Xő룧v9Ke%qXa++$<(9=]XcE 96XuZM'с6zskm8kP=/_~Nͦ.D)N鳻ӆ!|J$-W.BIЕf·r!t]KѨ񓂄>‘} 7$⁒kDuLA+DwM$~ps:<0GvHI@/yɽa,IpHM/{]I+^P"_M"0?hgΙk'_TyW_s⒠Z^1j~kJ 1L_%ub8 <\ġxc=cv'W=]<$aŃc3$V % < [3C# 8/qrbFo[ZpW t6E'rP-; \s` EC{HJ>ۆG@08CF?%wޮ5Q6G*Ih%dKJ[>4]<ae񖅐Xk%/;ƚIA%qVK.IШjtXt ' ۔J$A}RnJO5A$1o$ݷ|@4j= A`xD6p-3m *J":|N}쫹 9WVTF~7)5x$AqǕ]ćdGWϡAVONxvˆ0ԝ(kP>CzNqqJjC$2^$YIgлx< PϻW$.' Ǫ`S`Ŏk~}+DmJC{,C@l^U!APmuI U1H+{UCr.D%Ax>$|[;*j.d%JA$|8.%9aEA9x%qW;I5W:@c~}O2ߞD\Dx%q0qsXI|`{hI!ڡ!;vU=G$rJBx^nj%>C#TН}gUI@nYόH B& . q D"'yiʷ= ѹ :# !Kn_IԂDm#kqGh¥ʒ3yN5$$%A? !飇;$ I5Ԙ$zatăU񲭦'xk%EOy:oX 'T - Chapter 2

Back | Next
Contents

Chapter 2

After the door closed, Richelieu turned away and resumed his seat. A moment later, Etienne Servien came through a narrow door at the rear of the room. To all appearances, the door to a closet; in reality, the door which connected to the chamber from which Servien could spy upon the cardinal's audiences whenever Richelieu so desired. Servien was one of the cardinal's handpicked special agents called intendants, and the one he relied upon for the most delicate work.

"You heard?" grunted Richelieu. Servien nodded.

Richelieu threw up his hands, as much with humor as exasperation.

"What a formidable woman!" Feeling a little tug on his robes, the cardinal gazed down at the kitten playing with the hem. The serene smile returned. He bent over, picked up the small creature, and deposited it in his lap. Then, as he petted the kitten, continued to speak.

"I never would have thought it possible, Etienne. A Sephardic Jewess—Doctor Balthazar Abrabanel's daughter, no less! That breed can talk for hours on end, ignoring hunger all the while. Philosophers and theologians, the lot. I'd expected to simply smile and let her fill my ears with information. Instead—"

He chuckled ruefully. "Not often that happens to me. I trust I didn't give away anything critical?"

Servien shrugged. "The Sephardic Jews also provide Europe and the Ottoman Empire with most of its bankers, Your Eminence—not a profession known for being loose-lipped. Moreover, while he may be a doctor and a philosopher, Balthazar Abrabanel, as well as his brother Uriel, are both experienced spies. Also not a trade which favors blabbermouths. Then, to make things still worse, Abrabanel's daughter Rebecca—by all accounts, including those of her enemies—is extremely intelligent in her own right. She would certainly have deduced, in any event, that France has not laid down its arms. So . . . best to do as you did, I think. Beyond that, she learned nothing. There was certainly no hint in your words of our grand strategy."

" 'Grand strategy,' " echoed Richelieu. "Which grand strategy are you referring to, Etienne? The greater, or the lesser?"

"Either of them, or both. I assure you, not even Satan himself could have deduced our plans from anything you spoke. The woman is intelligent, yes. But, as you said, not a witch."

The cardinal pondered silently for a moment, his lean face growing leaner still.

"Still, she is too intelligent," he pronounced at length. "I hope she will accept my offer to provide her with an escort for a journey overland to the Spanish Low Countries. That would enable us—in a dozen different ways—to delay her travel long enough for our purposes. But . . ."

He shook his head. "I doubt it. She will almost certainly deduce as much, and choose to make her own arrangements for traveling by sea to Holland. And we simply cannot allow her such a close examination of the ports. Not now, of all times!"

Servien pursed his lips. "I could certainly keep her away from Le Havre, Your Eminence. Not every port on the Channel, of course—that would be too obvious. But if she were forced to take ship from one of the smaller ports, she might not notice enough—"

Richelieu interrupted him with a gesture which was almost angry. "Desist, Etienne! I realize that you are trying to spare me the necessity of making this decision. Which, the Lord knows, I find distasteful in the extreme. But reasons of state have never been forgiving of the kindlier sentiments." He sighed heavily. "Necessity remains what it is. Do keep her from Le Havre, of course. One of the smaller ports would be far better anyway, for . . . what is needed."

The cardinal looked down at the kitten, still playing with his long forefinger. "And, who knows? Perhaps fortune will smile on us—and her—and she will make a bad decision."

The gentle smile returned. "There are few enough of God's marvelous creatures in this world. Let us hope we will not have to destroy yet another one. On your way out, Etienne, be so kind as to summon my servant."

The dismissal was polite, but firm. Servien nodded and left the room.

A moment later, Desbournais entered the room. Desbournais was the cardinal's valet de chambre, and had entered Richelieu's service at the age of seventeen. Richelieu was popular with his servants, as he was with all of his allies and associates. However ruthless he might be in the service of France, the cardinal was invariably considerate and polite to those around him, no matter what their station. Very generous to them, as well. Richelieu repaid loyalty with loyalty of his own. That was as true of his kitchen help as Louis XIII, king of France.

The cardinal lifted the kitten and held it out to Desbournais. "Isn't he gorgeous? See to providing for him, Desbournais—and well, mind you."

After Desbournais left, Richelieu rose from the chair and went to the window in his chamber. The residence the cardinal used whenever he was in Paris—a palace in all but name—was a former hotel which he had purchased on the Rue St. Honoré near the Louvre. He'd also purchased the adjoining hotel in order, after having it razed, to provide him with a better view of the city.

As he stared out the window, all the kindliness and gentleness left his face. The cold, stern—even haughty—visage which stared down at the great city of Paris was the one that his enemies knew. For all his charm and grace, Richelieu could also be intimidating in the extreme. He was a tall man, whose slenderness was offset by the heavy and rich robes of office he always wore. His long face, with its high forehead, arched brows, and large brown eyes, was that of an intellectual, yes. But there was also the slightly curved nose and the strong chin, set off by the pointed and neatly barbered beard—those, the features of a very different sort of man.

Hernan Cortez would have understood that face. So would the duke of Alba. Any of the world's conquerors would have understood a face which had been shaped, for years, by iron resolve.

"So be it," murmured the cardinal. "God, in his mercy, creates enough marvelous creatures that we can afford to destroy those we must. Necessity remains."

* * *

"Well, how'd it go?" asked Jeff Higgins cheerfully. Then, seeing the tight look on Rebecca's face, his smile thinned. "That bad? I thought the guy had a reputation for being—"

Rebecca shook her head. "He was gracious and polite. Which didn't stop him—not for a second—from issuing what amounted to a declaration of total war."

Sighing, she removed the scarf she had been wearing to fend off a typical Paris drizzle. Seeing it was merely a bit damp, she spread it out to dry over the back of one of the chairs in the sitting room of the house which the delegation from the United States had rented in Paris. Then, seeing Heinrich Schmidt entering the room from the kitchen, Rebecca smiled ruefully.

Major Heinrich Schmidt, as it happened. The officer who commanded the small detachment of U.S. Army soldiers who had accompanied Rebecca in her voyage, along with Jeff and Gretchen Higgins and Jimmy Andersen.

"I'm afraid—very much afraid—that you gentlemen may soon be earning your pay."

Heinrich shrugged. So did Jeff, who, although he had a special assignment on this mission, was—along with his friend Jimmy—also a soldier in the U.S. Army.

The next person to enter the room was Jeff's wife. "So what's happening?" she demanded, her German accent still there beneath the fluent and colloquial English.

Rebecca's smile widened. She always found the contrast between Jeff and Gretchen somewhat amusing, in an affectionate sort of way. What the Americans called an "odd couple," based on one of those electronic dramas which Rebecca still found fascinating, for all the hours she'd spent watching television—even hosting a TV show of her own.

Jeff Higgins, though he had been toughened considerably in the two years since his small American town had been deposited into the middle of war-torn central Europe in the year 1631, still exuded a certain air of what the Americans called a "geek" or a "nerd." He was tall, yes; but also overweight—still, for all the exercise he now got. Although Jeff had recently celebrated his twentieth birthday, his pudgy face looked like that of a teenager. A pug nose between an intellectual's eyes, peering near-sightedly through thick glasses. About as unromantic a figure as one could imagine.

His wife, on the other hand . . . 

Gretchen, nee Richter, was two years older than Jeff. She was not precisely "beautiful," not with that strong nose and that firm jaw, even leaving aside her tall stature and shoulders broader than those of most women. But, still, so good-looking that men's eyes invariably followed her wherever she went. The fact that Gretchen was, as the Americans put it, "well built," only added to the effect—as did the long blond hair which cascaded over those square shoulders.

Gretchen, unlike Jeff, was native-born. Like Rebecca herself, she was one of the many 17th-century Europeans who had been swept up by the Ring of Fire and cast their lot with the newly arrived Americans. Including, as was true of Rebecca herself, marriage to an American husband.

Regardless of her native origins, Gretchen had adopted the attitudes and ideology of the Americans with the fervor and zeal of a new convert. If almost all the Americans were devoted to their concepts of democracy and social equality, Gretchen's devotion—not surprisingly, given the horrors of her own life—tended to frighten even them.

Rebecca was reminded of that again, as Gretchen idly played with the edge of her vest. The blond woman's impressive bosom disguised the thing perfectly, but Rebecca knew full well that Gretchen was carrying her beloved 9mm automatic in a shoulder holster. She had sometimes been tempted to ask Jeff if his wife slept with the thing.

For the most part, however, Rebecca's smile was simply due to the fact that she both liked and—very deeply—approved of Jeff and Gretchen Higgins. In Jeff's case, if for no other reason, because the young man had once saved Rebecca from certain murder at the hands of Croat cavalrymen in the service of the Austrian Habsburgs. In Gretchen's case, leaving aside their personal friendship, because Rebecca knew full well that Gretchen's near-fanaticism was every bit as essential to the survival of the new society Rebecca and her husband Mike were creating as anything else.

 

Gretchen might frighten others, but she never frightened Mike Stearns. He did not always agree with her, true enough—and, even when he did, often found her tactics deplorably crude. But, no matter how high he had risen in this new world, Rebecca's husband was still the same man he had always been—the leader of a trade union of Appalachian coal miners, a folk which had its own long and bitter memories of the abuses of the powerful and mighty.

"Don't kid yourself," Mike had once growled to Rebecca, on the one occasion where she had expressed some exasperation with Gretchen's zeal and disregard for the complexities of the political situation. They had just finished breakfast, and Mike was helping Rebecca with the dishes. For all that she had grown accustomed to it, Rebecca still thought there was something charming about having such a very masculine sort of husband working alongside her in kitchen chores.

"When push comes to shove, the only people I can really depend on—outside of my coal miners and the new trade unions, and probably Willie Ray's new farmers' granges—are Gretchen and her wild-ass kids." Mike finished wiping the last plate and put it in the cupboard. "Yeah, sure, right now we're in the good graces of the Swedes. Gustavus Adolphus is a friend of ours—so is even his chancellor Oxenstierna. But don't ever forget that he's a king, or that the nobleman Axel Oxenstierna is every bit as devoted to the aristocracy as Gretchen hates the bastards. If the tide turns . . ."

Staring out the kitchen window of their house in Grantville, he shook his head firmly. "As regretful as he might find the necessity, Gustav II Adolf will cut our throats in a heartbeat, under the right circumstances. Whereas without us, Gretchen and her radical democratic Committees of Correspondence are so much dog food—and she knows it perfectly well, don't think she doesn't. However often I may piss her off by my 'compromises with principle,' she knows she needs me as much as I need her."

When he turned away from the window, his blue eyes had been dancing with humor. "Besides, she's so handy to have around. You've read about the American civil rights movement, haven't you?"

Rebecca nodded. She'd devoured books on American history—any kind of history, actually, but American in particular—ever since Mike had rescued her and her father from marauding mercenaries. That had happened on the very same day as the Ring of Fire. Two years ago, now—and Rebecca was a very fast reader. She'd read a lot of books.

Mike smiled. "Well, there's a little anecdote that illustrates my point. Malcolm X once made the wisecrack that the reason the white establishment was willing to talk to the Reverend Martin Luther King, Jr., was because they didn't want to talk to him. And that's about the way it is with me and Gretchen."

A motion outside the window must have caught his eye, because Mike turned away from her for a moment. Whatever he saw caused his smile to broaden into a grin.

"Speak of the devil . . . Come here, love—I'll show you another example of what I'm talking about."

When Rebecca had come to the window, she'd seen the figure of Harry Lefferts sauntering past on the street below. It was early in the morning, and from the somewhat self-satisfied look on his face, Rebecca suspected that Harry had spent the night with one of the girlfriends he seemed to attract like a magnet. Harry was a handsome young man, with the kind of daredevil self-confidence and easy humor which attracted a large number of young women.

She was a little puzzled. Harry's amatory prowess hardly seemed relevant to the discussion she was having with Mike. But then, seeing the little swagger in Harry's stride—nothing extravagant, just the subtle cockiness of a young man who was very sure of himself, Rebecca began to understand.

Whatever women might find attractive about Harry Lefferts, not all men did. Many, yes—those who hadn't chosen to cross him. Those who did cross him tended to discover very rapidly what the Americans meant by their expression "hard-ass." Harry was a muscular man, and his mind was every bit as "hard-ass" as his body. When he wanted to be, Harry Lefferts could be rather frightening.

"Did I ever tell you how I'd always use Harry in negotiations?" Mike murmured in her ear. "Back in my trade-union days?"

Rebecca shook her head—then, laughed, as Mike's murmur turned into a more intimate gesture involving a tongue and an ear.

"Stop it!" She pushed him away playfully. "Didn't you get enough last night?"

Mike grinned and sidled toward her. "Well, I'd always make sure that Harry was on the negotiating team when we met with the company representatives. His job was to sit in the corner and, whenever I'd start making noises about maybe agreeing to a compromise, start glaring at me and growling. Worked like a charm, nine times out of ten."

Rebecca laughed again, avoiding the sidle. Oddly, perhaps, by moving into a corner of the kitchen.

"I pretty much think of Gretchen the same way," Mike murmured. Sidling, sidling. The murmur was becoming a bit husky. "The nobility of Europe hates my guts. But then they see Gretchen sitting in the corner . . . growling, growling . . ."

She was boxed in, now, trapped. Mike, never a stranger to tactics, swooped immediately.

"No," he said. "As it happens, I didn't get enough last night."

 

The memory of what had followed warmed Rebecca, at the same time as it brought its own frustrations. She envied Jeff and Gretchen for having been able to take this long journey together—never more so than when she heard the noises they made in an adjoining bedroom, and Rebecca found herself pining for her own bed back in Grantville. With Mike, and his warm and lovely body, in it.

But . . . there had been no way for Mike to come. He was the President of the United States, and his duties did not allow him to be absent for more than a few days.

Something in her face must have registered, for she saw Gretchen smiling in a way which was both self-satisfied and a little serene. However much they might seem like an "odd couple" to others, Rebecca knew, Gretchen and Jeff were every bit as devoted to each other as were she and Mike. And, judging from the noises they made in the night—night after night, damnation!—every bit as passionate.

But perhaps she was reading the wrong thing into that smile. If nothing else, Gretchen's fervent ideological beliefs often made her a bit self-satisfied and serene.

"What did you expect?" demanded the young German woman. "A cardinal! And the same stinking pig who tried to have our children massacred at the school last year, don't forget that either."

Rebecca hadn't forgotten. That memory, in fact, had been as much of a help as her husband's advice, during her interview with Richelieu. Charming and gracious the man might be. But Rebecca did not allow herself to forget that he was also perfectly capable of being as deadly as a viper—and just as cold-bloodedly merciless.

Still . . . 

There would always be a certain difference in the way Rebecca Stearns, nee Abrabanel, would look at the world compared to Gretchen. For Rebecca, for the most part, the atrocities committed by Europe's rulers had always remained at arm's length. Not so, for Gretchen. Her father murdered before her eyes; she herself gang-raped by mercenaries and then dragooned into becoming their camp follower; her mother taken away years before by other mercenaries, to an unknown fate; half her family dead or otherwise destroyed—and all of it, all that horror, simply because Europe's nobility and princes had chosen to quarrel over their competing privileges. The fact that they would shatter Germany and slaughter a fourth of its population in the process did not bother them in the least.

Rebecca was an opponent of that aristocratic regime, true enough, and, along with her husband, had set herself the task of replacing it with a better one. But she simply never felt the sheer hatred that Gretchen did. And knew, perfectly well, that Gretchen would have found nothing charming or gracious about His Eminence, Cardinal Richelieu. She would have simply measured that long and aristocratic neck for a noose.

"Which," Rebecca muttered to herself, "is not perhaps such a bad idea, everything considered."

"What was that?" asked Heinrich.

The major's face exhibited its own serenity. For all his youth—Heinrich was only twenty-four—the former mercenary had already seen more of bloodshed and war's ruin than most soldiers, in most of history's eras, ever saw in a lifetime. Rebecca liked Heinrich, to be sure. But the man's indifference to suffering sometimes appalled her. Not the indifference itself, so much as the cause of it. Heinrich Schmidt was a rather warm-hearted man, by temperament. But the years he had spent in Tilly's army after being forcibly "recruited" at the age of fifteen had left him with a shell of iron. He had enrolled readily enough in the American army, when given the chance. And Rebecca was quite sure that, in his own way, Heinrich was as devoted to his new nation as she was. Still, when all was said and done, the man retained a mercenary's callous attitudes in most respects.

"Never mind," responded Rebecca. "I was just reminding myself"—here, a little nod to Gretchen—"that Richelieu is capable of anything."

She pulled out the chair over which she'd spread the scarf and sat down. "Which brings us directly to the subject at hand. There's no point in remaining in Paris any longer. So the question posed is: by what route do we try to reach Holland?"

A motion in the doorway drew her eyes. Jeff's young friend Jimmy Andersen had entered from the kitchen. Behind him, Rebecca could see the other five soldiers in Heinrich's detachment.

She waited until all of them had come into the room and were either perched somewhere or leaning against the walls. Rebecca suspected that her very nondictatorial habits would have astonished most ambassadors of history. She dealt with her entourage as colleagues, not as subordinates. But she didn't care. She was an intellectual herself, by temperament, and enjoyed the process of debate and discussion.

"Here's the choice," she explained, once all of them were listening. "We can take the land route or try to hire a coastal lugger. If the first, Richelieu has offered to provide us an escort to Spanish territory and assures me he can obtain the agreement of the Spanish to pass us along to the United Provinces."

Gretchen and Jeff were already shaking their heads. "It's a trap," snarled Gretchen. "He'll set up an ambush along the way."

Heinrich was also shaking his head, but the gesture was aimed immediately at Gretchen.

"Not a chance of that," he said firmly. "Richelieu's a statesman, Gretchen, not a street thug." He smiled thinly. "The difference isn't one of morality, you understand—if anything, I'd rather trust a footpad. But there is a difference in methods. If he has us murdered while we're clearly under his official protection, he'd ruin his reputation."

Gretchen was glaring at him, but Heinrich was unfazed. "Yes, he would. And stop glaring at me, silly girl! Hating your enemies is a fine and splendid thing, but not when it addles your wits."

"I agree with Heinrich," interjected Rebecca. "Not the least of the reasons for Richelieu's success is that people trust him. His word is his bond, and all that. It's true, Gretchen, don't think it isn't."

She reached back and pulled the scarf off the seat's backrest. It was dry enough, so she began folding it. "I hav