pax_global_header00006660000000000000000000000064141421470150014511gustar00rootroot0000000000000052 comment=887139d93332e419ca835d2ede6e710aaa5c1ebf wl2k-go-0.9.0/000077500000000000000000000000001414214701500130015ustar00rootroot00000000000000wl2k-go-0.9.0/.appveyor.yml000066400000000000000000000007031414214701500154470ustar00rootroot00000000000000platform: - x64 clone_folder: c:\gopath\src\github.com\la5nta\wl2k-go environment: global: GOPATH: C:\gopath GOVERSION: "1.16.5" MSYS_PATH: C:\MinGW\msys\1.0 install: - set PATH=C:\go\bin;%MSYS_PATH%\bin;C:\MinGW\bin;%PATH% - rmdir c:\go /s /q - appveyor DownloadFile https://dl.google.com/go/go%GOVERSION%.windows-386.zip - 7z x go%GOVERSION%.windows-386.zip -y -oC:\ > NUL build_script: - go version - go test -v ./... wl2k-go-0.9.0/.travis.yml000066400000000000000000000002111414214701500151040ustar00rootroot00000000000000language: go os: - linux - osx go: - 1.x - 1.16 script: - go test -v ./... matrix: exclude: - os: osx go: 1.16 wl2k-go-0.9.0/LICENSE000066400000000000000000000021171414214701500140070ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2014-2017 Martin Hebnes Pedersen (LA5NTA) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. wl2k-go-0.9.0/README.md000066400000000000000000000126741414214701500142720ustar00rootroot00000000000000[![PkgGoDev](https://pkg.go.dev/badge/github.com/la5nta/wl2k-go)](https://pkg.go.dev/github.com/la5nta/wl2k-go) [![Build Status](https://travis-ci.com/la5nta/wl2k-go.svg?branch=master)](https://travis-ci.com/la5nta/wl2k-go) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/j76on3km4vy5vsq0/branch/master?svg=true)](https://ci.appveyor.com/project/martinhpedersen/wl2k-go) [![Go Report Card](https://goreportcard.com/badge/github.com/la5nta/wl2k-go)](https://goreportcard.com/report/github.com/la5nta/wl2k-go) ### Looking for the cross platform winlink client? Visit [http://getpat.io](http://getpat.io). ## Overview wl2k-go is a collection of Go packages implementing various parts needed to build a Winlink client. The project's goal is to encourage and facilitate development of cross-platform Winlink clients. _This project is under heavy development and breaking API changes are to be expected._ ## Pat: The client application On 6 March 2016 the cmd/wl2k application **moved** to it's own [repository](https://github.com/la5nta/pat). Check out [getpat.io](http://getpat.io) for the latest version of the cross platform Winlink client, Pat. ## fbb: The FBB (Winlink 2000 - B2F) protocol implementation An implementation of the B2 Forwarding Protocol and Winlink 2000 Message Structure (the WL2K-protocol). ```go mycall := "LA5NTA" mbox := mailbox.NewDirHandler("/tmp/mailbox", false) session := fbb.NewSession( mycall, telnet.TargetCall, "JP20qh", mbox, // Use /tmp/mailbox as the mailbox for this session ) // Exchange messages over any connection implementing the net.Conn interface conn, _ := telnet.Dial(mycall) session.Exchange(conn) // Print subjects of messages in the inbox msgs, _ := mbox.Inbox() for _, msg := range msgs { fmt.Printf("Have message: %s\n", msg.Subject()) } ``` For detailed package documentation, see . A big thanks to paclink-unix by Nicholas S. Castellano N2QZ (and others). Without their effort and choice to share their knowledge through open source code, this implementation would probably never exist. Paclink-unix was used as reference implementation for the B2F protocol since the start of this project. ### Gzip experiment Gzip message compression has been added as an experimental B2F extension, as an alternative to LZHUF. The feature can be enabled by setting the environment variable `GZIP_EXPERIMENT=1` at runtime. The protocol extension is negotiated by an additional character (G) in the handshake SID as well as a new proposal code (D), thus making it backwards compatible with software not supporting gzip compression. The G sid flag tells the other party that gzip is supported through a D-proposal. The D-proposal has the same format as C-proposals, but is used to flag the data as gzip compressed. The gzip feature works transparently, which means that it will not break protocol if it's unsupported by the other winlink node. ## lzhuf: The compression Package lzhuf implements the lzhuf compression used by the binary FBB protocols B, B1 and B2. For detailed package documentation, see . ## transport Package transport provides access to various connected modes commonly used for winlink. The modes is made available through common interfaces and idioms from the net package, mainly net.Conn and net.Listener. For detailed package documentation, see . #### telnet * A simple TCP dialer/listener for the "telnet"-method. * Supports both P2P and CMS dialing. #### ax25 * Wrapper for the Linux AX.25 library (build with tag "libax25"). * Kenwood TH-D7x/TM-D7x0 (or similar) TNCs over serial. #### winmor A WINMOR TNC driver that provides dialing and listen capabilities for a local or remote TNC. The WINMOR TNC can be run under Wine: * Tested OK with WINMOR TNC 1.5.7.0 running on wine 1.6.2-17 (debian jessie) with .NET 2.0, 3.0 and 3.5 installed. * Tested OK with WINMOR TNC 1.4.7.0 running on wine 1.4.1-4 (debian wheezy) with .NET 2.0, 3.0, 3.5 and 4.0 installed. When running WINMOR TNC under wine through pulseaudio, set PULSE_LATENCY_MSEC=60. #### ardop A driver for the ARDOP_Win (alpha) TNC that provides dialing and listen capabilities over ARDOP (Amateur Radio Digital Open Protocol). ## mailbox: Directory based MBoxHandler implementation For detailed package documentation, see . ```go mbox := mailbox.NewDirHandler("/tmp/mailbox", false) session := fbb.NewSession( "N0CALL", telnet.TargetCall, "JP20qh", mbox, ) ``` ## rigcontrol/hamlib Go bindings for a _subset_ of hamlib. It provides both native cgo bindings and a rigctld client. Build with `-tags libhamlib` to link against libhamlib (the native library). See for more details. ## Copyright/License Copyright (c) 2014-2015 Martin Hebnes Pedersen LA5NTA (See LICENSE) ## Thanks to The JNOS developers for the lzhuf implementation which got ported to Go. The paclink-unix team (Nicholas S. Castellano N2QZ and others) - reference implementation Amateur Radio Safety Foundation, Inc. - The Winlink 2000 project F6FBB Jean-Paul ROUBELAT - the FBB forwarding protocol ### Contributors (alphabetical) * LA3QMA - Kai Günter Brandt * LA5NTA - Martin Hebnes Pedersen * Colin Stagner _wl2k-go is not affiliated with The Winlink Development Team nor the Winlink 2000 project [http://winlink.org]._ wl2k-go-0.9.0/catalog/000077500000000000000000000000001414214701500144135ustar00rootroot00000000000000wl2k-go-0.9.0/catalog/position_report.go000066400000000000000000000037751414214701500202150ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package catalog provides helpers for using the Winlink 2000 catalog services. package catalog import ( "bytes" "fmt" "math" "time" "github.com/la5nta/wl2k-go/fbb" ) type PosReport struct { Date time.Time Lat, Lon *float64 // In decimal degrees Speed *float64 // Unit not specified in winlink docs Course *Course Comment string // Up to 80 characters } type Course struct { Digits [3]byte Magnetic bool } func (c Course) String() string { if c.Magnetic { return fmt.Sprintf("%sM", string(c.Digits[:3])) } else { return fmt.Sprintf("%sT", string(c.Digits[:3])) } } func (p PosReport) Message(mycall string) *fbb.Message { var buf bytes.Buffer fmt.Fprintf(&buf, "DATE: %s\r\n", p.Date.UTC().Format(fbb.DateLayout)) if p.Lat != nil && p.Lon != nil { fmt.Fprintf(&buf, "LATITUDE: %s\r\n", decToMinDec(*p.Lat, true)) fmt.Fprintf(&buf, "LONGITUDE: %s\r\n", decToMinDec(*p.Lon, false)) } if p.Speed != nil { fmt.Fprintf(&buf, "SPEED: %f\r\n", *p.Speed) } if p.Course != nil { fmt.Fprintf(&buf, "COURSE: %s\r\n", *p.Course) } if len(p.Comment) > 0 { fmt.Fprintf(&buf, "COMMENT: %s\r\n", p.Comment) } msg := fbb.NewMessage(fbb.PositionReport, mycall) err := msg.SetBody(buf.String()) if err != nil { panic(err) } msg.SetSubject("POSITION REPORT") msg.AddTo("QTH") return msg } // Format: 23-42.3N func decToMinDec(dec float64, latitude bool) string { var sign byte if latitude && dec > 0 { sign = 'N' } else if latitude && dec < 0 { sign = 'S' } else if !latitude && dec > 0 { sign = 'E' } else if !latitude && dec < 0 { sign = 'W' } else { sign = ' ' } deg := int(dec) min := (dec - float64(deg)) * 60.0 var format string if latitude { format = "%02.0f-%07.4f%c" } else { format = "%03.0f-%07.4f%c" } return fmt.Sprintf(format, math.Abs(float64(deg)), math.Abs(min), sign) } wl2k-go-0.9.0/catalog/position_report_test.go000066400000000000000000000023021414214701500212350ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package catalog import ( "os" "testing" "time" ) func TestDecToDM(t *testing.T) { latTests := map[float64]string{ -4.974: "04-58.4400S", -0.5: "00-30.0000S", 0.0: "00-00.0000 ", 0.5: "00-30.0000N", 60.132: "60-07.9200N", } lonTests := map[float64]string{ -180.0: "180-00.0000W", -60.50: "060-30.0000W", -0.5: "000-30.0000W", 0.0: "000-00.0000 ", 0.5: "000-30.0000E", 003.50: "003-30.0000E", 153.50: "153-30.0000E", 180.0: "180-00.0000E", } for deg, expect := range latTests { if got := decToMinDec(deg, true); got != expect { t.Errorf("On input %f, expected %s got %s", deg, expect, got) } } for deg, expect := range lonTests { if got := decToMinDec(deg, false); got != expect { t.Errorf("On input %f, expected %s got %s", deg, expect, got) } } } func ExamplePosReport_Message() { lat := 60.18 lon := 5.3972 posRe := PosReport{ Date: time.Now(), Lat: &lat, Lon: &lon, Comment: "Hjemme QTH", } msg := posRe.Message("N0CALL") msg.Write(os.Stdout) } wl2k-go-0.9.0/docs/000077500000000000000000000000001414214701500137315ustar00rootroot00000000000000wl2k-go-0.9.0/docs/F6FBB-B2F/000077500000000000000000000000001414214701500150655ustar00rootroot00000000000000wl2k-go-0.9.0/docs/F6FBB-B2F/ack.html000066400000000000000000000033071414214701500165140ustar00rootroot00000000000000 F6FBB Pages : FBB

ACK messages

An ACK messages gives the confirmation that a PRIVATE arrived in tis destination back to the sender.

How does an ACK message work ?

  • An ACK message is requested with the string
    /ACK
    written by the sender inside his message in 1st column.
  • When the message arrives in its destination, an ACK message is generated and sent back to the requester, including the date and eventually other informations.

Protocol

  • The SID of the BBS including this feature will have the letter "A"
  • An ACK message is a short message including only text
  • An ACK message is generated only on private mail, not on bulletins
  • The message has a type "A" (private are "P", bulletins are "B")
  • Only the first header forwarding line is generated, other BBS will not add their header forwarding line
  • If the BBS which is forwarded does not include this feature, the message is changed to type "P" (Private).
  • Type "A" message are not seen by users.
  • When arriving back to its destination, the type of the ACK message is changed to type "P" (private) to be read by the requester.

 

wl2k-go-0.9.0/docs/F6FBB-B2F/protocole.html000066400000000000000000000511401414214701500177620ustar00rootroot00000000000000 F6FBB Pages : FBB

FBB forwarding protocol

Fbb forwarding protocols can operate either in ASCII or binary compressed modes.

This page describes the three versions of this protocol. Each version is backwards compatible with the previous one. These versions are :

Source code is available. Click here.


Ascii Basic Protocol

  • The Ascii protocol in FBB software implements two forward protocols. The first one is the standard MBL/RLI protocol. The second one was developed for greater efficiency, particularly on long links where the command propagation delays occupy a significant portion of time. The exchange of commands and data is reduced to a minimum by sending several requests at a time. In normal VHF use up to five requests or messages are sent in one block. The data transfer direction is reversed after every block of data, This minimises the delaying effect of long links through Nodes and digipeaters, and also saves some time over short links (eg HF...).
  • FBB protocol is very simple in operation. It is based on MID/BID message identification. The protocol availability is indicated by the F letter in the SID (system type identifier contained in square brackets). All protocol command lines start in first column with the 'F' character. All protocol command lines are terminated by a return (CR) character.
  • This is the specification of the basic Ascii protocol. When I connect to another BBS that is FBB protocol capable, I will receive the SID followed by some text and the prompt (">"). The SID must contain the F flag, I send immediately my SID and the first proposal.
  • Proposals looks like :
    FB P F6FBB FC1GHV FC1MVP 24657_F6FBB 1345
    
    F> 

    FB : Identifies the type of the command (proposal)
    P : Type of message (P = Private, B = Bulletin).
    F6FBB : Sender (from field).
    FC1GHV : BBS of recipient (@field).
    FC1MVP : Recipient (to field).
    24657_F6FBB : BID ou MID.
    1345 : Size of message in bytes.
    F> : End of proposal.

  • ALL the fields are necessary. This kind of command must hold seven fields. If a field is missing upon receipt, an error message will be sent immediately followed by a disconnection.
  • Messages are sent in blocks. There can be up to five FB command proposals per block. The number of command proposals are determined by the maximum size of a block of messages. In FBB software there is a parameter in INIT.SRV file which defines the maximum size of the message block. It is set by default to 10KB for VHF use. It can be adjusted according to the quality of the link.
  • Example of proposal :
  • FB P F6FBB FC1GHV.FFPC.FRA.EU FC1MVP 24657_F6FBB 1345
    
    FB P FC1CDC F6ABJ F6AXV 24643_F6FBB 5346
    
    FB B F6FBB FRA FBB 22_456_F6FBB 8548
    
    F>
  • This proposal is limited to three FB lines, as the total size of the messages overran the 10KB limit defined for this link.
  • When receiving the proposal, the other BBS will reject, accept or defer each message. This done with an FS line :
    FS -+= 
  • This means :
    • I don't want the first message (-). I need the second message (+). Defer the third message, as I'm already receiving it (=).
    • You would defer a message if you are already receiving it on a other channel, or if you think that the message is too big, or for some other reason. The message should be proposed again at the next connection.
  • FS line MUST have as many +,-,= signs as lines in the proposal.
  • After receiving the FS lines, the block of messages will be sent. Each message is has :
    • the title on the first line,
    • the text,
    • the Ctrl Z in the last line.
  • Then the next message
    • the title on the first line,
    • the text,
    • the Ctrl Z in the last line.
  • And so on until the number of messages in the block has been sent.
  • When the other BBS has received all the messages in a block, it implicitly acknowledges by sending its proposal for messages that it wants to send back to you, and thus the direction of transfer is reversed.
  • If there are no message to send, it only sends a line :
    FF 

This line must not to be followed by a F>.
If the other side has no message (after receiving an FF), it sends a line :

    FQ 

and disconnects.


Connects xxxxx
Connected to xxxxx

[FBB-5.11-FHM$]

Welcome, Jean-Paul. 

> 
[FBB-5.11-FHM$] (F6FBB has the F flag in the SID) 

FB P F6FBB FC1GHV.FFPC.FRA.EU FC1MVP 24657_F6FBB 1345 

FB P FC1CDC F6ABJ F6AXV 24643_F6FBB 5346 

FB B F6FBB FRA FBB 22_456_F6FBB 8548 

F> 
FS +-+ (accept the 1st and the 3rd)

Title 1st message

Text 1st message ...... 

^Z 

Title 3rd message 

Text 3rd message ...... 

^Z 
FB P FC1GHV F6FBB F6FBB 2734_FC1GHV 234 

FB B FC1GHV F6FBB FC1CDC 2745_FC1GHV 3524 

F> 
FS -- (Don't need them, and I send immediately the proposal)

FB P FC1CDC F6ABJ F6AXV 24754_F6FBB 345 

F> 
FS + (Accepts the message)

Title message 

Text message ...... 

^Z 
FF (no more message)

FB B F6FBB TEST FRA 24654_F6FBB 145 

F> 
FS + (Accepts the message) 

Title message 

Text message ...... 

^Z 
FF (still no message) 
FQ (No more message)

Disconnection
Disconnection of the link.

 

  • In this example, FBB protocol is used as the two BBSs had the F flag in their SIDs. If F6FBB had sent the SID [FBB-5.10-MH$] when answering FC1GHV, the protocol would have been standard MBL/RLI.

Binary Compressed Forward Version 0

  • The compressed version of the protocol is an extension to the basic Ascii protocol. Compressed forward is indicated a letter B in the SID [FBB-5.15-BFHM$]. As it is an extension of the basic protocol, the SID must also have a letter F. A SID with just a letter B (and no F) will be treated as having neither letter.
  • In the message proposal section there are now two possible commands: FA means that the transfer will be an ascii compressed message and FB means that the message will be a binary compressed file (this last possibility is not yet implemented).
  • The submission of an ascii message will be in the form :
  • FA P FC1CDC F6ABJ F6AXV 24754_F6FBB 345
  • The submission of a binary file will be in the form :
  • FB P FC1CDC F6ABJ F6AXV 24754_F6FBB 345 
  • The actual message content is transfered in a different format from the Ascii protocol. The transfer is done in binary mode. The format used is derived from the YAPP protocol which is very reliable. Each message is made up of a header, blocks of data, an end of message marker and a checksum. This is directly equivalent to the transfer of one message in the Ascii protocol. Unlike YAPP transfers, there is no individual packet acknowledgement during the transmission of messages, the protocol is thus simpler and more efficient.
  • Format of header for an ascii compressed message (type FA) :

  • <SOH> 1 byte = 01 hex
    
    Length of the header 1 byte = Length of the title and offset, including the two separating <NUL> characters
    
    Title of the message 1 to 80 ascii bytes 
    
    <NUL> 1 byte = 00 hex 
    
    Offset 1 to 6 ascii bytes 
    
    <NUL> 1 byte = 00 hex

Format of header for a binary compressed file (type FB) :

    <SOH> 1 byte = 01 hex 
    
    Length of the header 1 byte = Length of the filename and offset, including the two <NUL> characters. 
    
    Name of the file 1 to 80 ascii bytes 
    
    <NUL> 1 byte = 00 hex 
    
    Offset 1 to 6 ascii bytes 
    
    <NUL> 1 byte = 00 hex 
  • French regulations require that the title of the message or the file name are transmitted in readable ascii and are not compressed.

    The offset is also transmitted in ascii and specifies the offset at which the data should be inserted in the file (in case of a fragmented file). In the version 5.12, this parameter is not utilized and is always equal to zero.

    A data block contains from one to 256 bytes. It begins by two bytes which specify the format.

  • Data block format :
    • <STX> 1 byte = 02 hex 
      
      Size of data 1 byte = 00 to ff hex. if length is 256 bytes, the value is 00. 
      
      Data bytes 1 to 256 bytes 
      
      The last data block is followed by the end of file specifier and the checksum. 
      
      End of file specifier format : 
      
      <EOT> 1 byte = 04 hex 
      
      Checksum 1 byte = 00 to ff hex 
      
      The checksum is equal to the sum of all the data bytes of the transmitted file, modulo 256 (8 bits) and then two's complemented. 
      
      The checking of the checksum is very simple : The sum of the data bytes from the file and the checksum received modulo 256 shall be equal to zero. 
      
      In case of a checksum error, the message or the file is ignored and the system issues a disconnect request after having sent the comment : 
    • *** Erreur checksum 
      
      
    • Ascii values of the characters (1 byte) used in the protocol : 
      <NUL> = 00 hex 
      
      <SOH> = 01 hex 
      
      <STX> = 02 hex 
      
      <EOT> = 04 hex 
      
      
  • Most of ideas for this binary transmission comes from YAPP protocol. Thanks to WA7MBL.

Binary Compressed Forward Version 1

 

  • This protocol, used for the transfer of compressed ascii messages or binary files, is an extension to the existing version 0 protocol. This version is indicated by the presence of the letters B1 in the SID :
[FBB-5.15-B1FHLM$].

  • As in version 0, there must also be a letter F in the SID for this version to be used.

    The differences with regard to the version 0 are:

      • A variable number of extra fields in each submit line including at least the seven fields of the previous version.
      • A new set of answers in an FS line :
        • + or Y : Yes, message accepted
        • - or N : No, message already received
        • = or L : Later, already receiving this message
        • H : Message is accepted but will be held
        • R : Message is rejected
        • E : There is an error in the line
        • !offset or Aoffset : Yes, message accepted from (Offset)
      • Most of these answer do not need explanation or were already used in previous version. + and Y, - and N, = and L, ! and A are equivalent but are still available for compatibility.
      • Aoffset asks the remote BBS to start transfer from Offset.

    For instance, YLA3350RH (or +L!3350RH) means that :

      • 1st message is accepted
      • 2nd message is delayed
      • 3rd message will be sent from offset 3350 (in compressed file)
      • 4th message is refused
      • 5th message is accepted but will be held

    The submission of an ascii message will be in the form :

  • FA P FC1CDC F6ABJ F6AXV 24754_F6FBB 345

The submission of a binary file will be in the form :

FB P FC1CDC F6ABJ F6AXV 24754_F6FBB 345

  • The actual message content is transfered in a different format from the Ascii protocol. The transfer is done in binary mode. The format used is derived from the YAPP protocol which is very reliable. Each message is made up of a header, blocks of data, an end of message marker and a checksum. This is directly equivalent to the transfer of one message in the Ascii protocol. Unlike YAPP transfers, there is no individual packet acknowledgement during the transmission of messages, the protocol is thus simpler and more efficient.
    • Format of header for an ascii compressed message (type FA) :
  • <SOH> 1 byte = 01 hex 
    
    Length of the header 1 byte = Length of the title and offset, including the two separating <NUL> characters
    
    Title of the message 1 to 80 ascii bytes 
    
    <NUL> 1 byte = 00 hex 
    
    Offset 1 to 6 ascii bytes 
    
    <NUL> 1 byte = 00 hex

Format of header for a binary compressed file (type FB) :

<SOH> 1 byte = 01 hex 

Length of the header 1 byte = Length of the filename and offset, including the two <NUL> characters. 

Name of the file 1 to 80 ascii bytes 

<NUL> 1 byte = 00 hex 

Offset 1 to 6 ascii bytes 

<NUL> 1 byte = 00 hex 

French regulations require that the title of the message or the file name are transmitted in readable ascii and are not compressed.

The offset is also transmitted in ascii and specifies the offset at which the data should be inserted in the file (in case of a fragmented file). In the version 5.12, this parameter is not utilized and is always equal to zero.

A data block contains from one to 256 bytes. It begins by two bytes which specify the format.

Data block format :

<STX> 1 byte = 02 hex 

Size of data 1 byte = 00 to ff hex. if length is 256 bytes, the value is 00.

Data bytes 1 to 256 bytes

  • The first transmitted block of data must contain a header containing :
    • the CRC16 of the full binary file (2 bytes)
    • the size of the full uncompressed file (4 bytes)
  • This data is in little-endian Intel format (less significant first).
  • The last data block is followed by the end of file specifier and the checksum of the data sent.
  • End of file specifier format :
<EOT> 1 byte = 04 hex Checksum 1 byte = 00 to ff hex 
  • The checksum is equal to the sum of all the data bytes of the transmitted data, modulo 256 (8 bits) and then two's complemented.
  • The checking of the checksum is very simple :
  • The sum of the data bytes from the file and the checksum received modulo 256 shall be equal to zero.
  • In case of a checksum error, the message or the file is ignored and the system issues a disconnect request after having sent the comment : 
    
    
    
    *** Erreur checksum 
  • A CRC16 is computed for the full binary file including the length of the uncompressed file (4 bytes in top of file). In the case of a resume, it will be the only means available to ensure that all the parts of the message or file has been received correctly.
  • The LZHUF_1 program, when used with option "e1", generates a binary compressed file in the following format : CRC16 : 2bytes Length: 4 bytes Data : rest of the file
  • In case of forwarding with a BBS using version 0, only the part from offset 2 will be sent
  • In case of forwarding with a BBS using version 1, the 6 top bytes will be always sent, then if resume seek to asked offset, then send data.
  • Ascii values of the characters (1 byte) used in the protocol :
  • <NUL> = 00 hex 
    
    <SOH> = 01 hex 
    
    <STX> = 02 hex 
    
    <EOT> = 04 hex 
  • Comments will be welcome.
wl2k-go-0.9.0/docs/F6FBB-B2F/sid.html000066400000000000000000000036611414214701500165400ustar00rootroot00000000000000 F6FBB Pages : FBB

SID letters

FBB software presents a SID which looks like : [FBB-7.00-AB1FHMX$]

What is a SID ?

  • SID means System IDentifier
  • A SID allows a system which connects the BBS to know if standard (or specific) features are supported or not

Protocol

  • The SID is always sent by the BBS as the first line after the connection
  • A SID is composed of fields (at least two, maximum three) separated by a hyphen "-" .
  • In FBB SID, I use three fields which are :
    • The author string ("FBB" in my case)
    • A version number or author data ("7.00" for instance)
    • A list of features symbolized by letters optionnaly followed by a digit giving the version number. If no digit is given, version 0 is assumed
  • The version number (ot author data) is optionnal
  • The features of FBB software are :
    • A : Acknowledge for personal messages
    • B : FBB compressed protocole V0 supported
    • B1 : FBB compressed protocole V1 supported
    • F : FBB basic protocole supported
    • H : Hierarchical Location designators supported
    • M : Message identifier supported
    • X : Compressed batch forwarding supported
    • $ : BID supported (must be the last character of the list)

 

 

wl2k-go-0.9.0/docs/ardop/000077500000000000000000000000001414214701500150365ustar00rootroot00000000000000wl2k-go-0.9.0/docs/ardop/_ARDOP Frame Info.xls000066400000000000000000010340001414214701500204570ustar00rootroot00000000000000ࡱ>  g2\pRick Ba=  =xJY&8X@"1Calibri1Calibri1Calibri1Calibri1Calibri1Calibri1@Calibri1@Calibri1Calibri1Calibri1Calibri1Calibri18Calibri1Calibri1 Calibri1 Calibri1Calibri1Calibri1h8Cambria1,8Calibri18Calibri1Calibri1Calibri1<Calibri1>Calibri1?Calibri14Calibri14Calibri1 Calibri1Calibri1 Calibri"$"#,##0_);\("$"#,##0\)!"$"#,##0_);[Red]\("$"#,##0\)""$"#,##0.00_);\("$"#,##0.00\)'""$"#,##0.00_);[Red]\("$"#,##0.00\)7*2_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_).))_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)?,:_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)6+1_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)0.0                                                                       ff + ) , *     P  P        `            a>                                                                                     ||a@a(}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-}  00\);_(*}-}  00\);_(*}-}  00\);_(*}-}  00\);_(*}-}  00\);_(*}-} 00\);_(*}-} 00\);_(*}-}> 00\);_(*}-}? 00\);_(*}-}@ 00\);_(*}-}A 00\);_(*}-}B 00\);_(*}-}C 00\);_(*}-}D 00\);_(*}-}E 00\);_(*}-}F 00\);_(*}}G}}H}-}I 00\);_(*}-}J 00\);_(*}-}K 00\);_(*}-}L 00\);_(*}-}M 00\);_(*}}N}}O}-}P 00\);_(*}-}Q 00\);_(*}-}R 00\);_(*}-}S 00\);_(*}-}T 00\);_(*}-}U 00\);_(*}-}V 00\);_(*}-}W 00\);_(*}}X}}Y}-}Z 00\);_(*}-}[ 00\);_(*}-}\ 00\);_(*}-}] 00\);_(*}-}^ 00\);_(*}-}_ 00\);_(*}-}` 00\);_(*}-}+ 00\);_(*}-}, 00\);_(*}-}- 00\);_(*}-}. 00\);_(*}-}: 00\);_(*}-}; 00\);_(*}A}1 00\);_(*;_(@_) }A}2 00\);_(*?;_(@_) }A}3 00\);_(*23;_(@_) }-}4 00\);_(*}A}0 a00\);_(*;_(@_) }A}( 00\);_(*;_(@_) }A}7 e00\);_(*;_(@_) }}5 ??v00\);_(*̙;_(@_)    }}9 ???00\);_(*;_(@_) ??? ??? ??? ???}}) }00\);_(*;_(@_)    }A}6 }00\);_(*;_(@_) }}* 00\);_(*;_(@_) ??? ??? ??? ???}-}= 00\);_(*}}8 00\);_(*;_(@_)    }-}/ 00\);_(*}U}< 00\);_(*;_(@_)  }A}" 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A} 00\);_(*23;_(@_) }A}# 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A} 00\);_(*23;_(@_) }A}$ 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A} 00\);_(*23;_(@_) }A}% 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A} 00\);_(*23;_(@_) }A}& 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A}  00\);_(*23;_(@_) }A}' 00\);_(* ;_(@_) }A} 00\);_(*ef ;_(@_) }A} 00\);_(*L ;_(@_) }A}! 00\);_(*23 ;_(@_)  20% - Accent1M 20% - Accent1 ef % 20% - Accent2M" 20% - Accent2 ef % 20% - Accent3M& 20% - Accent3 ef % 20% - Accent4M* 20% - Accent4 ef % 20% - Accent5M. 20% - Accent5 ef % 20% - Accent6M2 20% - Accent6  ef % 40% - Accent1M 40% - Accent1 L % 40% - Accent2M# 40% - Accent2 L渷 % 40% - Accent3M' 40% - Accent3 L % 40% - Accent4M+ 40% - Accent4 L % 40% - Accent5M/ 40% - Accent5 L % 40% - Accent6M3 40% - Accent6  Lմ % 60% - Accent1M 60% - Accent1 23 % 60% - Accent2M$ 60% - Accent2 23ږ % 60% - Accent3M( 60% - Accent3 23כ % 60% - Accent4M, 60% - Accent4 23 % 60% - Accent5M0 60% - Accent5 23 %! 60% - Accent6M4 60% - Accent6  23 % "Accent1AAccent1 O % #Accent2A!Accent2 PM % $Accent3A%Accent3 Y % %Accent4A)Accent4 d % &Accent5A-Accent5 K % 'Accent6A1Accent6  F %(Bad9Bad  %) Calculation Calculation  }% * Check Cell Check Cell  %????????? ???+ Comma,( Comma [0]-&Currency.. Currency [0]/Explanatory TextG5Explanatory Text % 0Good;Good  a%1 Heading 1G Heading 1 I}%O2 Heading 2G Heading 2 I}%?3 Heading 3G Heading 3 I}%234 Heading 49 Heading 4 I}% 5InputuInput ̙ ??v% 6 Linked CellK Linked Cell }% 7NeutralANeutral  e%3Normal % 8Noteb Note   9OutputwOutput  ???%????????? ???:$Percent ;Title1Title I}% <TotalMTotal %OO= Warning Text? Warning Text %XTableStyleMedium2PivotStyleLight16`MFrameDefinitionss200HzBandwidthn500HzBandwidth$1000HzBandwidth2000HzBandwidth@ OldPSKCP1000 OldPSKCP2000NSheet18 H.b${FYGar$nj${FYGaPNG  IHDR&GpsRGBgAMA a pHYsod#IDATx^vHoy-ę3{N7^aB23N:qN/_@Q*\ѣG?O DDD\e>|`OA Ezwo|D5@GР>880_~3Q5@GР>::2WWW&:<<$<&?;$B@HhP'5 Il(/،%fǑ4|IQZ|k 8ribbw~2D#tY:Gt~}Lg9-en֋驹5t0=~yfZN8 _Û^Ɩel"XwYHݲSA=YP/?:_6mL#[< i]\Nf5'(y_t :3hP%ADAP (ZإX( Sq| rev4$OW]wsH0;c^:Oաt}YȦ2$2JI/%#1{Yl|K^tM,k,b.٣ /a3n(i˟ K_=ac- u㾿u6v5_nW>~Yː}&i0;LRo>?ȲG f1A à?/˂Uv4RVɸ2Kws y^<,HwS@0,&}u-++ ꃃ=W -muɢmBUuu+B!ֹ 4oLg?փzE5) PAu_Dziݲ'''DI@ˇIPw6ap:oha0:7ixP'!=Jk$(Ixd_BPu?d ha0:7鳉$leEKPOx8Il H:*BPu?v/6CshPxȧgN6h4Nv>JeS.UyKBa(O<%A}rr>47hwC> NP ӳ3suuecAvs1@%t׮.͍ ZP7y8/P -6CshPK>ޚ˗$ 0~]]%`un j[ W^&l:k%`un<|A yԒ5@/J}> !{Pg?ha0:7A3ظAiu]wo.6Cs={Yu7ha0:7A t]wo@mj|}jCP?(ԆC=(~Y\Pӱ%mN&:>:j%%=tWʐu߷梠o*{NX׹X3: '4ؖ*yPoSI@ˇYr;{!wkqhugP`[.&{daCa. j{w5 w.Cǯ2-@ hPo<~l޼D5CRgqCwE@榹N|zVʸq]ֶ|g;{ -x':W:n&qٸ=mAgٙ0٣&l 묻 yuX&qٸ=mA}pp`>}lsa.ۣ OCj:|sYДuvjBisؖ*ԇGGׯUZ=h=s)'4})` hPWW&zeۣ!4e Qq 04uՠNȞvB*ٴ~Ej,ntߥK)g@ZxܘիWՂLܢH9G>: [!UYda[hPˎm{Am/BCT\WYMueCT뫔ö UѠ|u@|vAr)ZR[ ttVV&Z~VduPp: gcyPKnj ~`}ƊAϳuQG^N?Ts; -x7ucU; lP 곳3s}}m"ԓ8&=Lj>CIEݠؖ*nP_]]IPVjCԌqWۇkؖ*'''۷o&jA=2iӱ0d GGG˗/&::: 6gv~ҙ/A @CA}pp`>~h/*QY(ٞ`ﲥn: Azww׼{D^NG{uS%гeЂzxzQg mA0N."{U~GA'fW\w͠*ZR[ Z{yPh/S,w  O7oޘhg{˾AC߫$#O{̡J4}uka[hPol<6W"Ub29n(` Gbߓ~BP7qjX+]zNԏޮGUM@PZNN=D_6T}lW3A:GPCWnuugtnE/*q~/^ g<؊^e#qVy ];RBPƊA] uzW}; Gz#>)rF~o[CY}>1kڿ靉&q6+BP_#b6C*PP({+x2y-u~rD S_>Z=s4ǵZC^e]KWn,'ok^ e[++B-k=-ܡo]l.t/θM;Hפ?Ojſx,dy`Mոǡo9=5XckԈkE2j͂ w%FD45ߞAg98k\(5"bWLyPӳ*uGTP늅\ݩk9A:"!"b3Vn  sss#At,z(稓ADu|gfYP;Q׿3YSԈhuWy<+얟Ms6!qeu+~KY7-n""bve4%%O+[~,[s hP+Wܣv/$smwZ޳3Ȳ "bض훉]LjDDlѠ\勉^8|{{ A"q>(Vl}Ԉ[Bz{{\^^hwwBPϳibKhPonn lq{UdYqǏ͛7oޮ.oDDD זР0G=֟xeoIZo5""ŖР_nݝ{ao:%N#ZbKQVڣ.u޽~ :w9#q-'Osq. %FӐjVe]d9qVʅР~YzշC^{Cn0s{eKhP줿>>>ԫQpgmd'[B:3INpn6 Ak%4%?le= ~SMP#"Zl Y`A!ڇFDĵ'Ysep1YSԈ[BZvM;}۽g/ڂFDĵԲ#}ss<B)bKhPK>ޚիWKKԈ["$AP 1\[BZ򙠾/~#""bA$~#""bA$~#""bA$~#""bA$~#""bA$~#""bA$~#""bA$~#""bA$~#""bA$~#""bڂ`ytlFd] Ak%4{}WyzVsLx>Z{$t;;3IG;{@P#"Zl Ssuum" WoDDD זР>>>6߿7t+7"""kKhP8<4_~5aAP߈-ADZUõ%4w&bzUFDDpm MD;;;ׯM$?of-zUFDDpm ~?&߈-1 꿛_õ% {&߈-1;G&WoDDD זРxdj]~:~#""b'?L$(#WoDDD זРz\[ 1\[BZx_^DGG>>6_yggg-(ك[5BP#"Zl jّ,m'p'{г`Nk,e'ˁðR.4H___˗ 8^#""bHܘիWb1.&CD>Բ#}{{bP7Ak%4%AP 1\[n1\[n1\[n1\[n1\[n1\[n1\[BQ7߈-A-md AP#"Zl jy(A}/FDDpm 1=õ%4%?ӳFDĵǏõ%4MtNP߈-1swZsԓ8gOfdGfTsPm,,`ڒ6נznnyp@';^WtXjP}]C yF_Bi=Qeuq]mv_Q/n`YmxzFWR~x8J,O=`0PAw s,A 稟>wXq}PԶ,sZK+=!֒m9m6`.bmp6%u;ċ_`QϯQfVw``.A ZLMPt><<$:uPs )zftf̍#uʯ,.^B ;7K>T![>tQ z2ώ;0`jG!R$ .% E?}d0^-0+\%OATRnO,gngU|aM)]F3$uL/}_W;|~3ϖN_+վwiz4Q0<ʾ%0  }PX:tv<\fӧ$L:}>7bǑ uJBʝ^_˫&sV;߻Zi"89YymFpNkIRPS}dupϝG’Kڝ><,w$U:~=fek|.1r7A j)x!lj7{bc+IW~b/7͈q5d>~}*>_#6eTk*ƮnTMnJ{jgs[_^\^zoook[>`h{|,cHbc1:-Esj{{wo4Q:-}{XҶ@lViߓ%ߪZ?w/rQ (f(kCpm ?6!;|[CbõhP6Ʒfml6®l]o3>m5 >Z޼zkrXZM&_mڙzu0yp;w>MkYyg?sMydvxn:|{>s\Qzu+ry,wu^ֶ0uG<~{Ǿkpt,wM?5^~66J'֐F2s76?htnfy5`u&^\nM~m{b~'Uٴ>\7??4lsN>U,&`1ͮ5q[FI>Q:&/`r3oO6Q::uSy7N^j&͟|ʚ״LyQ (f6Jo#aշ GPh5dߚ۫[kj<|=Ɓcx'<֡?xn:XWNܿqkJq] os5:Lݿl[~{90F)0M#$ͤm l*ƦFQ:8{i>kni|_<^L~n4<~{7M/xݦ]n},eU59uYoo^wqMF)00.Jh5l Tm5g1,4x[>q NU ﵘu0EM~mz\E}v7uާlYg&?zvk=\~{ǝیy(fVo瑟*Oe#(v{j>׾ͼQ;6ƿV?5yE-|6s=4S߃w^ZͼZke#F)pziQ F)pziQ F)pziQ F)pziQ Fi\?QR4Ii&_}ȃ_,}ʣh~~U>U ǥQhh~}|fݯ؇m/)c(m6C[MT6{ [ytiV[ytQs""""|nݘL4JV9zm+s*s;0s_(XVTva-7J/_co}]n6YF4JohnBE}УFYFt6F'z-ꃞEjDF)'FhQz֨](ʼn5Bg(QʉZ=j5jDWnc4J](enfnQ F-s;0sR`4Jo솙h;[Q#z[9УFhQz֨](ʼn5Bg(QʉZ=j5jDWnc4JiqGТ>YF4Joir"jAgѕR`4Jo솙hQz`76F5[va1z-ꃞEjDցv!Z=j5jDWnc4JiqGТ>YF4Joir"jAgѕRZ8Q#z[E}УFYFt6F5[va1i2 3(vMnmF)-5BgKt\hnBE}УFYF3s;RZ8Q#zezc\hnBE}УFYF3s;RZ8Q#zezc\hnBE}УFYF3s;R`׶2=1sbnfnQ V21q.\vmc4J]\8<%nmF)-5Bg\8<%z-5B5rAhAE}гHle.Ds}z,15BGгFgv8qУFhQ,R#[,\b p GТ>Q#Q#ǙF)k[,\bhnF)k{i yK쳗ҭ(vm/1s}zQ5z-ꃞEjd/1s}zBE}УFYF62s#(ʼn5BgKcp\b#8УFhQz֨4JiqGТ>YFenk}-ϒic=jAg̍Lص9s%As_Ksc+`̘6Fص9s%As_Ksc+`̘6Fص9s%As_Ksc+`̘6FBE}гH̙,9֘Zb% <z-5B5F)-NZ=Ȝ̒m%Y9ͱp GТ>Q#Q#iAE}гH̙,9֘Zb% <z-5B5F)ks2K΃z5澖g4V1mF)ks2c;f>KFa+`̘6Fص9s_o%n#Y~ְafLQJlGТ>YFe^_ֻ1>cnc <z-5B5F)-NZ=Ȝz5澖gmaBE}УFYF62s#(ʼn5Bg3tl7f=Yb1c=jAg̍Lص)sru~cIzۓ%sk03(vm\ܷwݼߘ}d}86̌ic4J]2)]7oo7f=Yb1< 3cRZ|g =jA"52e.Sۻno>Io{Rۧ[~z6x!Z=j5j 37(ʼn5Bg2)MmsIzۓ>3#p GТ>Q#Q#Om{r\sj 8qУFhQ,R#S2i6rh>Io{Rۧ[~z6x!Z=j5j 3x6?}4 K[S2i6rh>Io{Rۧ<>~z683$lzO/zo_yVˌ˚1$Imrlv|8Θb3(~Uk}4nLk>˵/'}ʱcgGn`9ckOV?i\`lGТ>YF\5xY3f=S Ns?S=r <z-5B5m~2w؇m5>S 8qУFhQ,R#i.Ӛq<^r+}36ty|h۞bBE}УFYFϘ(5Fccslj>F)-NZ=H˴3q{/ƲJq1e}nj Gޓ׻)}c=jAg?cRuLk>ƲJq1e}nj GOCh)60C~=~x&I?0?0iiw_mavo,䱿߱ NNy;yr<߱n:w㿌0?0?^5LY֮Z=H˴3y{_9V'qېϘھSm~q\O!q1e}{ciyveO)SKx6c=jAg?cڃ^ó'MH'z-ꃞY502gʹM^/I6$3foo,-N'Ԓ.r=jm15BGгF̟1O~_)֧It02'Gq{VI6$ڿOrv>QާuQkc4W~?)~~v'aeN^+ד-ڧ֓XZN/e%oo]fz?fLQ Rl(nʱr=۲>嬷rvx/O+~y=*ף61cRZ|g =jAϬͻq[9V'q[ڧ֓XZN/ei/gq9BE}УFYFϘXF)-NZ=j$6rzmXmYgr[Ozci9r<.$o亮o^jm15BGгF̟1(RZ8Q#z4 r=r\OZcq9&G7z,kcY}(}RkD!Z=j5jdEi/!WGq{N9^Ʋ/r=鍥/XVnJo߼ 3(v'_bCL4^ˆr7z,kjj훷Zaƴ1Klȕkz^K'^fzKy=^dmKm0cRZ|g =jAOF)i<6DCkdq=no%Io,-xYגն7o/MBE}УFYFϘXF)-NZ=ؐ+ moT/IXm=&mo^jm15BGгF̟1(RZ8Q#z524OI!W&^o%q{+yߨ6^zLVVKo߼6c=jAg?cbQf Sxlȕ[jz׋j}y=^㵴?o/pÌic4Jؐ+ m2zQmO=rֶZz6n1mF)YC4re^^/|YVKoTn?fJQJlGТ>^-}DCk,q,g}X/ZZjퟷm}Fr GТ>Q#Q#ϔx RZ8Q#zkdKq2< x/K\/Ym8V.rֶZzr["z-5B5,(ʼn5BgFf[)6rL46x˵y{15BGгF<6Ki4J)m|JThx,gq\Kޞ/%һTnp,ic4J)mQnն?Go/^/Y'/גr|n+o/0KR`sf[odmsmeq(RZ|g =jA`&[ndmsmeqIm @v6FBE}S4cV3Fxm6 -5B5b18qУFhQTk$7b24L}CRm Z=j5jlgc4JiqGТ>8M=f o5SqTyAg1R|$7bƏ=ǩwh8 p@f;Q \lv9N}Ce2Rbֶqe2RZ|g =jA_&Y-mGџy9PQ#Q#f;Q LK%GC/,.h/S6e-mGџy9d1˔ͱtYKkQr8x^2lF)-5BlZZێ?ǡryAg1RZ8Q#X(9sz~q߿.ۦgW.|Teni?xYKkQr8x^2p~69Ho>a7x곤x<%GC/,.f;yy,[eӤůڇ__S`lGТ>xYKkQr8x^2T8Т>Q#Q#'FߧD~4JiqGТ>xYKkQr8x^2T8Т>Q#Q#?Z44JiqGТ>xYKkQr8x^2T8Т>Q#Q#' }wij>F)2y/kim;J_m<tr(!6wjmh &ibL>baaTӜ7M}8uaagvve|$MZV9}5E}Е!9zLk/Y\ Z=j5jdq_{É5B+Cr69^ 3z=kag;㚤?^o;q<`=jAW1mrdq*ghQz֨Cv>/gMO>F)8H9府7Y\8Ef;>Y~1W`rmfO&Vi9\&4s3n+!¯˷SuG|ua~Vi9\&4ks)'4T枥 z-ꃪ8H9府7Y\ Z=j5jdl'|'Fw(ʼn5B*=rN.MyAg1۹}{H,]"F)-NZUqsu9o 3z=kȌεQzi4JUG%4c~;O?WG(VR,.м0|k4i%4{SuZC|g =jAU{epE}УFYF\6t*RZ8Q#C\+Q#Q#f5kHSFse)ɵ/vn¬Ft x4s,2%v%ΙlF)T\"Sk'^Yh;[Q#ɍ\;sE}УFYFj6F'z-r+6D&NghQz֨(ʼn5BM.ɵ/9=Z=j5jd¬sZCz&5ruɵ/vn¬Ft x4)E&Nع 5 i\#\\;`fjǛ&Tz-\#\\;sE}УFYFfjr#$oZchAE}Ok"ck'^rz3z=kȌYӤۿ} S4JiqGТ>'5ruɵ/9=Z=j5jdƬk_Fx4)E&NعϯKn֛>Q:F)4iS\;`fjn>uUz"3bjc"cR̞\izBE}=ѸMmLdLځo3z=k2A{I'(ʼn5B{qژȘߜghQz֨(ʼn5B঱ȘߜghQz֨("6rEz)kj6FxV;;gF1SM<稍R3RZ|g =jqreS+9j"jsE}УFYFh6F'z-ʦVsE ߿.ߓk* KиȣرyP)ZF鵂!5B84(34.h85Z=j5jdlRkEtZ'z-иȣԜghQz֨ɐ&4JiqGТ>N.7bE /h-5@N+8wJ,.1D9~vGj}ݿo%k>t0wУFhQ'"Q#Q#3f3Di]lƆh㓣O>W/ť9ةdj]?e37lhO"k`?nZó m5QCx4Y#;uL(ok5B84Y# -5B52a&S6cqLl4w)6K_(͏clT9gjcagPV7aoxb=kқOj}5 E}\cNyAg09@z 9Zءb5+x/7'Cdg194'M(Cd1g1YK?/}֧It0wУFhQ'"kSrE}УFYF='ů֗¯ڏ 'z-CdpJ3z=kԈYhAE}\yf8%Z=j5j,fc4J(Y" lF)%ЬY;@.ϣ(X"k`fb>޾'A/}eh;[Q#+)9Т>Q#Q#3f1ϠQJ=jqby%V8%Z=j5jd,(wy4JiqGТ>N,6DQ#Q#3f1_oߓػ~XQzϯߏQJ=jcs"kSrE}УFYFfbF6J?߿.(C'z-cE vl ]_d<d3z=kȌFQi'z-ce5lk9Т>Q#Q#3gCr__-^ #"kָta+#V x ^'ߖȚyg>pJϛa|]'0h x ^'ߖȚyg>pJ0>bcF鵂!5BبsY3!3z=kȼݧF;JGK qGТ>6jܟG:DnggQ3z=kȌz 鵃!NZF x ^'ߖȚyT̹}yAg1øoΧQ '3tOy#x|["kQC3̘aD38sY;Goa ,ݗ^/Di6jܟG"#n橜ghQz֨3Q;^/Di޾'(&Y} z4JiqGТ>6*?^Ƴr/L7tC㼜 -5B52cqm^W~F88qУFhQ/嚼ȫ3Um r3z=kȌO^޿|MiF)L:,rk"TzC140Ӭ(]F)L:,rk"TzC140Ӽzz'/嚼ȫ3U^q͟a|}Sjk|tzBE}lT:,rk"[:rZ=j5jdͯlC|'a'z-ņiyyHȫ3ENq6yAg9 ]3~ߧ`?/:o_k}66p@C4SˉZuD^)u,,Fӗw)~~̯/,p@C4>6qxW'uj׏ 8Èdsܿ 5=~< }TzKȫkr:1YI3xl7>?gJ}BE}XyOS#lq,) Z=j5jd Ӥx[5F~Lj>G/AE}XyOS#lq,) Z=j5jd cdCqO^]_STpGТ>^<ǧkyurM8l -5B52aw 6]Q!}khnnQ$ r"?0?0U't~pmyu˿ nj6N_v]/0?0?2L3U>yh({&s<ǧkyurM1MaQ/z<ǧRZo^X؄ƖnT'lSϓ qsIТ>^<ǧRZo^csghQz֨ 3Oqkͦgi!NZNj>5zC"[JKCcl -5B52aqFKxYӤI?AE}XyOS7$/q߼<48Т>Q#Q#fnI+H P>˩R1alF)Tl˩R1alF)Tl˩˥]dkזf1z-b'_NM^^."[ː<4e^yAg1RZ8Q#x95zyl-CXy)Z=j5jĬbc4JiqGТ>^,R. k˵y=Zfu3z=kԈhAs|x\E!q{myh,ZLbc4J9>^NM^^."[ː}eq`"3(*:rjr)objjR7eq`"3(wУFhQ/V6uR.o2sE}УFYFf$>޾'"ao}Y޾AF)-NZNjMt95zy9^&yVSSKk,.:Z=j5jdLQ{]޿KGtRZ8Q#x95zy9^&yVSSKk,.:Z=j5jdL"4J zn('Vs|x/]d),.L4s&q,fIp@/&^//$oj\n$Y\h{NRiwu(x"[M$-3x~~BE}X>˩֓ն-^yAg9KK qGТ>^,Rdjۖ/^ =/$Vzڶ%o9Т>Q#Q#f7>l~MtZܞk"g3mL4c?;~R8t^\[9[3o`3 Hj]?,z((I|n˵u?&1(|Ot RZ|g =j鼞y.rQ#Q#f_o}$tZ'z-y=<79Т>Q#Q#fkHp霞S&0(]CzHr]D0hA7"7 6FBE}ָ':Z=j5j bc4JiqGТ>VVk܈X -5B5 bK}/T8qУFhQ+Kr]D8Т>Q#Q#gom.{ӓ^/9=\yi=7G˼h( suy^ʟ7f>/FhS75(SR4cqkQJlGТ>ViYDOjghQz֨3kko(G'z-9<󺈬8Т>Q#Q#fȩ)NhAE}luY7qE}УFYF;s||On?zM]c~a=jdy]DMjghQz֨)~)զꓤv(y<Ⱥ0iH^w~ӷ(?/6{X"nj?#̛5n( MZӤES5<>U ظ:."0ŒYC嘬( C~}BE},vNcq<Ⱥ3 -5B52cV#>']y5s`=jt.X^uSkmg4Z=j5jdƬD\Ö0ObC m5Q# qGТ>9"nj?-(ߧJ_o5C[MHl@yNi>Qo8YMҔ-4J_ύRXOj1QyNi>4&"Or9Т>Q#Q#3f8& ?e+5 qGТ>&2I˵<Ed)6rE}УFYFfBqcGnoO6>iD`=j1A:sr^뭋6Rlfq9qE}УFYFf5J!V0ĉ5BϽLm뭋6Im -5B52lQ 鵂!NZ[sg^X^cufr=cs,y[bBGгF c֣.Ǥo9[m&+דrj{rRNkL3O^.ԮS%+דv%o+yΨQ s]y%Jq,/cvژ/YX-y[ɒ'ot*RZ|g =jG:וXRۯrmDdɆem-y[ɒ1y-5B52}4Irzݗ'z-G\}ez=籸̬y_"dCcV۷u|toc<Agw||e4KJ qGвZ}sYy>q{<EDzɆe88Im%/mn6d!z=kȬͯW~;{^:Yy m<EDzʱr,.gXo/kۣ4}5AҷkУQ sY>8]cq]D-njrVIj/kۣ4ym^W~F8^:Yy m/z2⺈H/Ym[Jk[-Y[_N49/_SڧQJlGвZ}sY>x~+r<'X\-mLz24_NrJChQz֨YgOQ1嶬Z=j5jd[k^ä v%+y:""ΘcWO^I'ܖն]1o~>Gt2Rv'+y:""ΘcWOm=c1嶬rRvGx\˵cuDD^1ǮrzbmYo;Pl1z-GynDZk눈:c]>$Ŕ۲'1E}УFYF>[UWo4R8qУFhy>sSm=<'KݎS21-ci0E}УFYF8~|}@}okntJF)-NZFGyJ뽱z^~f^>f=c}ji0E}УFYF>/ ,-^2y(DZ^z^SgǬg>p"|s_IL:s}Ⲉ,8[% L8~tL󦱪S:F)瞴<Ʋ""lz_V[p R?Wg-RZ|g =j瞴rmrr]DDp/.ChQz֨#)T14JiqGRtމ瞼H""ny²y-5B5p=k(ʼn5B˿H癵EDd<8y*=j7JYF)tqu#&Ɇ1Ycc4J[)ouУF(=!R0Y9Zcq]DDDD,.Z_o|w띏}|~6o̱*y.""""ع]TqDwMϘO.+vKl^yq<-qV:H?I|~_Bgx?!HylJy,/DZ$"""""C)Yo=)ޥw>(~:4C}ʴOOt_0ĉM4JEDDDDr6^οw(}H$m|rI(ʼnEj$(l)zYңQc; ~Ԃ}*w'籸>4&""""} t_jϑ q&k򺈈c\?ex_?YQ @>K͘r'+דr؍ktnjkM4J$}CNdXbYǿ"""""$7x`v,'} ן](-SjmwMHC8(#x!""""" {AFiך=qb """""H7@6vKF>/Ǎ_WҢV'JPX^I :OKlgcN]I'JLs[9ci⺈Șy9^FXm8V~4]*F?ZfO&)nkq,e5v8Ww6jZ~!els[[uWo=_\ɿw'QJ ~& C^cq]DDDDDhޥG4JiqXAr'H;Y߻hF)Љ;EDDDDDddqHmF)jQ#(Ny,/qIoQQJl!DDDDDDDXeC˼(=!RZ4J|yfjcQb4JOHS4J@>鈈)ir4JOHS'\q]DDDDDDau^(e-C"""""""XrIzQfi=<EDDDDDDddJlF)-~GiY8EDDDDDDd)m/;JOHګDDDDDDDy1(eByke9o^L4JyxP˭18dzRf+d""""""""ssx;Q(JDDDDDDD9s<(Oy@yU^wFɕ!-4JOHʃb'QzrAHDDDDDDDd 9s< <(= $"""""""h\yJpg4JO<l%/;JOHVB'QzrHDDDDDDDd+y!(=$"""""""h\yJpg4JO<l%wg3'WDDDDDDDD'QzrHDDDDDDDd+y!(=$"""""""F i\yJpg4JO<l%wg3'WDDDDDDDD;3ғ+@""""""""[ (=$"""""""F i\yJ^H4JO""""""""[F鉕-|G iXyR^H4JO""""""""[F鉕- wFʃȖB4JO""""""""[F鉕- ?߿.o\j8{?o>m+II^DDDDDDDd9=>?-MI^DDDDDDDdy!Qϯ@36Wr4_hXzEDDDDDDD(]'F?ۊ_֧J}qRj^Ht)7_~:'MK{/"""""""᷏}2w}5lRKhVspSfgj>F鉥^DDDDDDDd9?ݤ(e#{/"""""""ռ(!5:_({#ȉ-"""""""Cg۟Fi m5Q#'{4Jk_={ cUz_׿_>Z~iXzEDDDDDDD;3O6>iD'{ cs_/֧ItTzEDDDDDDDs""""""""[F鉕-|G iXyR^H4JO""""""""[F鉕- wFʃȖB4JO""""""""[F鉕- wFʃȖrp;QzbGDDDDDDDdKy!QzB'V|DDDDDDDD(=!+>""""""""[ iF鉕- wFʃȖrp;QzbGDDDDDDDdK9?Ý(=#"""""""(=!+>""""""""[ iF鉕-4JOHʃȖrp;QzbGDDDDDDDdK9?Ý(=#"""""""hXyR^wF鉕-4JOHʃȖB'QzbGDDDDDDDdK9?Ý(=#"""""""hXyRpg4JO""""""""[ (=#"""""""F iXyR^H4JO""""""""[F鉕-|GLo}nx+|vtTzEDDDDDDD(}%6<\޿~fsua8ދl5/QGi '_o_qgJI^DDDDDDDdy5zf}OrWևN鵱:Z*MI^DDDDDDDdy5zf}O2Qzm|6>9Zs{/"""""""ռ=>g~r46Dc-{+a[{M!'{虽>_)}j>G/N*""""""""[ 3{3|_-zR6"""""""""[ 3{3|Xl`6:Z]i!ͦX3{xVtgk&s!5BGТ>Q#z=kN(m57kMQPZ=jAE}УFYFXOV?Q}_/SPۿ4`GТ>Q#z-5B5r*E:7'G4}t0D}УFhQZ=jAg9hj~NF[%O&`GТ>Q#z-5B5r*5?M?)~8$z4J(}~򽫕Zeg?`5[?:{Emf}Ԏ!!rs!Q880O='g?oya-U#v\UQw''Z>>/H9xzyz޾LAa1mC1fՇy)<^#檇<sz{;Q,Mlj7=:ńIٟfbQL:/v,bcm:ެcHab潧g0FUhyA-U# v9+(}뤠??'75nݭz'le^As#^|51F<̽-^osy!-P#<ky{\U),DwRo8ycKG:18A>g{\1GK4>-^#ךx{sٽ1橇1\lSi9q=.7W(}uwL*j'p9bZc[xlQp5;ҹfzc}ԇy-u 3W=~OÚT# K{\U)Z -U&&X5c[:-d]hԇy-R#uocz,S\|o3U5Jb~95Hٟe'8iCek 9ů5r=V]ozc#cǘC5bzSb9q=>iQ#'}o8B}37s2p39Q@E'2czxՈ͛?RsLs>kQ$78Nd_Wݵe1T?P56o9grŽޞ}_;:-?j(\uG5 esqszw>߿.>p1 b-ƟZ8R`9tQz}O ʹ̿~ɷÏeNsFi:gQKs'Xai j3W44,[ͿJql6bYz4_5ǯ|4A/o_o.׿眷cbz7mx 9vm:N77mcgd=R`93FC+MNs)>pg9j\5H&?Ukݫ=;6>fuy-(9Ͻv-U_S4JZM|ku'~@6M|u~^\돳՞G}8Xd4J<И _lr#g_m49_hܽ5؇Ԯ߬X??]N{5Fzq)x{^E5_Q^Qǵ~G6JkǨ7?Q ,Fi v'6X*՛ ?&?\\_9a+GϢ)m^}mMzi&d4>RFi~o~~_,޿jϣsZ=?\ 5 iy1n5? kM+ll5ruۦ?͢f[|~}ldFװYz y1pC+n/Vkk;fjQdžmWu8x#\~4J<Иi64_vh4Rb 6nƿlu$cWY4mq5?W4Rj/lՋ߆W7{`zE yZ m~ZFӬz y|<75>vG'jm-r&6*n#1t4r۹nkj5nOW>=5J7T`ͥMN:5lc[=8u0c|Q:lyK=%Q) gQ ,gfՌoFԛY'F$պ}|7i}JfN3F 7C8Hqs{g1k_Z?S~o^kk'H_?:|yk~ݷF)p&afґӅW1k?Aer4g]XF)ph~Ml*S>u>\?;pryQZuh$[qN?M`M#60F)pDik:yMم}(NO8=R4J(NO8=R4J?Űɉ.IENDB`bU$ĩn6>e^-,1$n)$ĩn6>e^-,PNG  IHDR2  sRGBgAMA a pHYsod#IDATx^鲣ȵFVlvz3K(OW?=:s{% [[ IJd"+@h8w닗UB` 2 2_}Ejl91"A2$fJE媦K߮@q(dަEk+<&YlV 6J~2l2,Njvv\W]e9/wz`H$\^^%ӟ2q_^zHQա6yyֹ-vgZRJM!մw]XuVbd@t3.qVd65e;tWMߵYVz1 =;J-%ieZKqe;ˬN3A7㔎u|X:tN'3MPuuemN{Ϡ罇[2lTO:\2X}UɆݼҐMK 69;-J7|xB,]ڥ5 7 k qS;3MTaN[ݫܴUIq3;e3v?3"$mL֮\fN s| wC:.u:0^-L+>_vٲT{ G̫4o#@8d XtNp @ _d 2,: @8?g4AL3&tNIm[·KWP2?29p'V#ut]=eVO|麾i|e5 kAf߈'0'L}:նLeRnˤ\q[Gʝv\Y2lueOo94m[v6 {2P=Am}_=lZr f_ o2* < um+sԽl}d! ӏׯ_C֯oc][.C)u)>4[_ۛֈa?-N2^ ۏ4mod|<)+Zv 2z8OzddNT;z6"ܫW[>v^2>z)eZvzx]Y= t` AK6"+k* emuև}S ̗mD:KWTǺyKʚiMeC)aAK6"!=dݼ`+s6j|lP z_܉_^Ƕ}`wumʇPÑ`ʼn2yLO2nill޷+o^ʺxL۾ C[ 3w 2v6Wl;߼t۲ zx!':%@Aw|s]6 zFvK@ۃ|byCm<10D Ad7~N>KWl;;/=~ǴRA@d"cl6M+?Tcgz'Șݎ;9mL&|m;2=~ǴZ,38!DAf6nɸC:czd~d 0lfmSg*jmd\PH!@ڦTq;aȸC ̯k BW4m4~ vRh ;$A& A;N vRh o}+ 2s{d0 =[HY.ɇ?)Af Wr?Xoq"Af 3w2Wr?Xoq"AA&tL]gH AtJ]/NG h 2XZڮez0pAddͫ ӏ!1PvE}-N$ȼ$}46ELvLi-~d0Z"u|8 w|:Of 6m!cؿk8mm v| z 2?NYHIwrd\6t|lұA&mv2[Cmyq( 궷v_NS|(JyH۱R4C_; A"yJ~*}CpȵG60 2WWx ANl;7r v>=< s:?&8)5A&2m)C-N$$3莮v'׮N[@z*ȼJ̗hs}U;n6C_:m}8 ޶LUXkV8 LFa7(3 \ܢ.ayj|eqkVAA;d=Ȯ|dq5d}5ɫ CلLm(pG?Xoq"A巖\Q{!G]RO^e؇LG&dmUǑ!'eJZ#v\Z ^;[M ntUq$t`ʼnɾ%30*tY!!Ȍ[MP+z1<`4$ȸ(%wI8@uP+hA͛A&R^2q>>t]ġmˇ{0d^x | Yl[O}躈CW{=z 2/> ϛ dB$A}!WX8idAwtY| }!WX8) ȀF֯{=>|s0-ج ̉Χ⫃8_cѐ }kׂ;3 ȜY|*-:Ci9V  2ۻCAfrvY4v%~LWq(-:j5`ʼnCO-)GجW.O & kJA8 suu<< 2CP[ϧ~6~d0z-:C)!'dܯ_?>>&ȔӤ.Ce9g*݆k7^)_ybGux ۛo9眫ȞK7 qhߴS 1l' ic(]z'ȸQׯC *|r?Xoq=2AA,&@[t2U-rl˳/C9[7 Na{Aů_~zN! >۩}S7dnnZeAfNs:σvJ 27mLJ^}}IQ:Xίo A{אzS<8oף8do-zyp٬Ҹ.dAA,fC-N:92r6Y4 -"dCB" X8@[tpgS\)' NPC # z8R2q"A2{Ғɾit?U0>Y~qeuI!mS!A"msiI~@(8 UDU&lL2\\$o8#3yA DU&lL 2/Z[KTzЫ{d'q8d&BAΦ: [@A&Nۆ{dʟpr 㱩NAqtRnjezdD[K1xL4A-, Q+"NORn 2ׯ߶ 27 LGmׇۺMD@Yp(O)uPo-M "΂X~dpLH4_Y{q~J Idn2gG1NS7622qB *UD2Q;q+UD@ !y|krAD)ն1/-ex]}do5-5~) >'"b[S{=| #'G?ګYƝɂMK&d䠁L?2qRϑ9ҒͦզzJpVك{Dx gA&N$d{x8;exQ?6u #!Htxl+?XV Ƿ\AyNl!S' ri) %4|tЗ\p䥥bGD<8<fG#.-KIdrgWd)捈x.Oqy 2m Gd2ï_qdcیhOd..7-.-O;;ܟ;(DʱmdD˖Af"d{8c2qBaw|DĹ03{d]G1fo-#ɾAAD=oI2!wcBAD= 2xg92q wnD 8uxIsFL߿& " 'd<ӹ׽IpEDQM 32' :wigb "d{>2##'ȸ_1 "♜(8Ғ9!2q"Aׯ5*ȸ=9#å%DDlPDHipi p"$?Yfi_)ۙ "b 2/7Fn?n^žy׶dg@d 2/_$o;:1ƳPw23'8  2dҍs\%}~Yͧ{p+ey""td_߿&Ya Q!A=ae78S;8UNBLa QQL!1,!*ty~~&!1,!* awDD K 2^dra Q̗_~I!1,!*2C "bXBTd,v@Dİ Xa QA c;""%DAbwDD K !1,!*2C "bXBTd,v@Dİ?lVv\m:Yfdͫ ^!*F2"Ye^&4q ""zAf_&"Y,P>Hi ABTH9aBJq^w 2|_HYt ç 27㜑""TуLuoqs/7""BTd ^!*FGd+D4 DD Q Ou c;""%DAbwDD K !1,!*2C "bXBTd,v@Dİ Xa QA c;""%DAbwDD K !1,!*tׯv@Dİ ssCɱ;""%DEdnF 2U-RWƍo2_&mVDD Q1r&"Y f^&4lVUBADDq%?#Zh ABTrL^<.12e:?c;:dF֒\J4sXo`[?Xoq8ϑ)o=f_ @dmgqq'z$+zͭ3F|-+c?8Fat^R͎hh޺|S,j֛#qۛuGA8gdwgҰװ*XMZGL= )4umOc8F#Sd/@glR#5)H\{1 8TImYd2:Ft/:~8<# SnYXk72H?-324ŷ޲ 1x '2,  A7jV7#NqT~[kݘy1e:m(^*YX>|Kf7ω2s\0;4UG(`'mvȷk|3ƶ/:eGL*ȸ}Nǽ;m dUhR K[e:˘u5eڹ-d%Yrojg'kYrYռ4YŲmҺt]yH{]W>.ˇ7rz 27stg-U=yTmUγl_k_1S, 2LZ&2|Xݾ\fnd`|VU{vޯxWTNGdnn2.TޥÆ U#S~Ӵs::Ÿek_Wggv=*V˘&ve{j~v@_|YwU-]0<:<==d^'{4#?rz\g_uIX`?dG 6g١>#'CerOp  AG?Q g},\"""b(:O?M@@{'|,1$}䣏>" ""bx~d1L? #I|U-T0{QIENDB`b|U?2HVMK|xKx{dn׋O[~NyA}okmljץuqkE<(7O/o׽}{{:xuW1ǶwyDŽ=s;}q]}&EJ2xo[77,h$Iޠ8EOpG=wضV}lOPmiQmyP9vK_o)<ؕ"Cw!k?9- ՟jc-YDd6E }U> ^ E/'_iIOAzLE~^y(Fϯdi}z.'y|W*;ST~3ޱUlywƾ7g 1km|s(VA],wY:w񗎳ϊxݷOs)+xuQqM D޻կ[{iץۯSo(?o>!oH`7Ս]|%X>-oߝsHsu?ұV,ާVQ](XwΏ鹬jk}v\Xt0]~_}-W_-cYϹ +|y*h3]ۯ(s>ڿŷy<#nxZ*XʅO7-vXK:xc-5R;)>-r .-\Q9qq-z?xEٓbyZ6s^9/眥Vny|: .猵owTxwܛɓ7OkIg/OBfyn-Wp M_,+[wv-;S|Y8shx?N fUNò}_`<ύ?>HSூƷ_E7EdxZxE[_zzϿX;Wܷ~p|t_Nn='~U~1׭Σܵ8f<Ӵ/ߝ"PTWU@Y,,lXKV^{O-#oBS=}uw4;|?X>U=ǴsX}<"N޴mʼn'o0ި^s%6.*Y ccK%w/z?xq}Owriz(< ~έz^-<nuxCS'EsosQ%!MoFKN`.9֒łW~.-GU^xr Yujvܷsꤟso.5=~?!nc-Un-g1=m?7>hܮ ?f7KIoH|d.?ւbҡ=oW ;+q0P[<Ec<ռ 쾝ؤ=~?Ϋgx'$;-czl֞hdzc8ϵcN?fpHq'Q"ާHQҺ{*}]/ռ];E}էz =&QqOU3ۙlW}dߠ{>yk|p" NS)`px08E<" NS)`px08E<Eח{=O/_ ?px sKEחT;j0u/ rz=Ʒ-Z/Y˅VSxgk}4_ow1nwO.}V?QkͦuO/o>_nE_g?lA;xq>)}'I'ퟴI'ퟴI'ퟴI'ퟴ/exQxcuZE<ZWVGdPn j_knz;RcFa53ү~͌kf_Q{M>Wۃ~͌kf_3#}B3kPnfc0fF53ү~͌kf_Q5"-FQEh x Dmf_3#HfFuU(1#13ү~͌kf_3#@HfF53ү~Gh x DU(Тj4EFQcFcf_3#HfFuU(Тj4E<ZT@@6`F53ү~͌kf_Q5"323#HfF53ү D~͌kf_3#}T@@hQ5"-FQcF~ۀHfF53ү~Gh x`̌kf_3#Hj4EFQcFcf_3#HfFuU(Тj4E<ZT@QQD׺(1#mkf_3#Hj*J^=HfF53ү~G)v) yoѺ7EpX[+Cmf_3^;qH:E<؅.NafF53ү(E"1EDDD䖼Wȴ+=BZo@N pvÿEq_=؏"v:qw+ۑ"3HfFwٯv:Ν>kf_3#W>^_ vsԧr{013ү]ksHOH_L(1#13ү]ksH@.q<\p?j<E< xt59W(1#mkV.Nѯa53үx3E^ D~*Ŏxt_3#W>Q c}59W(\Ϗ>@`ǹ^~ x xo0#Uwz=~w_3#@׬R8"qk~͌>FQcFcf_J8xѯa53ү D&z~E\p=?"qksQ G859W(1#mkV."qk~͌>FQcFcf_J8xѯa53ү D~*Ŏ(GaHj4E<q_s5"L8xѯ`+@`ǹ^~}5 \!nj3үYuX=8p!H 1EQcFcf_J8X=8p!H 1E<q_c W(\Ϗcױ 8kB D&z~{,Z9q<,p"3Hf՝^vXec9q8^0#+@׬R8= 8wXsC~b x`̌kV)vVx΅~};}9!H 1E<qhu\Xb x0cϹЯ`+@`ǹǢ=s_c W(1#mkVoU:=s_Nku3үB D~*ŎcϹЯs5:}\!nj HfbqhUw_3#C~b x0cѪwcecsc W(\ϏsEr==)5 \!p=?=q<^<6<, ~!,ׯƆmm=(1#mkVoU:v9˞ޑ~͌aFu sKEחm6Vnfc0fF5zQ{{/{{G53:}BbA.}R=El Hf՝^w{>xr==8^0#ϜW\Ki~>W}}6}O=r콎q휋=)5 Bm.ƭ| }=r콎q휋=)5 Bԟ[Dݿu6=Yr[s=?Q<s9`|WRE"ޯBZoxo0#Uwz=߭_xcu={o\yx}5:}B(23#Uwz=߭_xcu={o\yx}5:} k)K_yӛtHO?iy]/m?J{nM_eǸ{,uۿnz,~}Y{}D{lZmO?C{nOej|7v*M<` xmwGLz<sqǾG8Wk~nz;RcFa5z[c:nqǾzǚ)xŒ>_!:>QM>Wۃ~ͪ;֯xS}va6cf_N=r̜->n^-w9^X3C~b x0S{<9[ac^}<,p"L`>1sq˽y<X 1E<{}cliㆽ{==xb xo0#U[_z}[})^ {9x|!H 1E{ަ6~]nyŒ>QcFcf_s~[T޿zck4+)ӜP/r}}+{>}zۭ{i{Ϸw[u;-C~b x`̌kNs˗_KXRKĶy"biVV:v}Koci8%ǻ[_ͻunupaFuW(/i$[:-l[}9mz庽Xھվ[_}Koci8%ǻ[_M˵B DP}>|ؿLsBZmR{˥(ܖecӜP/\K۷ڷr˱[E[>nﵴ}zۭ٦nupw\!w~[T_9^b6׎ڧ_]:F= rv1mmj­nmyqKwnzmZݯVGwb xo0#b2 rh ~]okuy}[ӜP/\oܱimy~Mfi8V¹m\O}Fۯ~ݹ_Sv:v[^0#+@ל/iNCXhozX.Ӽnmy]]Voߚ愵==,8wsZE[>n_Y>vzڶ4['kםu*3u3үB D~͉}n96ej+ڛŎzX׵ڊ<_}4'-1Eaǹc/qqֶ-/Hmivү{]*3u3үB DP}^Zn]{yP/޳}-kyiNX[cۋhC/_}>1"gDĺz^ԖZmYﱋnu0W(e9sBy}k9zbi]}ا/Osr^D[έ_tO>FVg=$%_zidnu0W(e9sZ^׷X+ֵڊ"4'-1EaiY޷gw)yp|V#Kb]=]REj6uŹBlhsc0W(1#mk>,.˹w%yw:KZkm|D{k֖"~i,۳}Vﻔmׅ,XZJ{^ׅzmҺ~!4oS,:}\!nj Hz˖ϩ۲^_Xױ.oך|j_k+'[Ӝ\4VKgyCR^7E^ךJ{^ׅzmҺZ[1_Ksx^0#+@⚻,綼]ݞvuuYn/,XkMchmy]њH,Ӝ\4V>o}o?֒ ;sڴV}.ۯm֝׭ڢ5"_uz C~Ǖa xp-Korn\yۜz],ǴNZ1m4V{ݖNk C~+Wnv/oOe6PcFcf_O _s~e>~NڮN^rLuKk 1y^cE,<ۊ|ni~-!4o>Ru<_'KZ,>璷V[,ֺVڴVXΉ.%,7xirnoMc[\5-<f_jS["e {7+x]z}\'Eb}L:yZBZuzN^uy>y~Ikz\yjZj[J{^9ӥ~i91_-XӚyu }=O}ڏ:mE<8@kn.xrϩ[Z9Nhַ"yZBk]$:u{\'kY.ڳzz\yjZj[J{^9ӥ~i91_-yߥR[^Cjtg[~ Ykn7Ӛ[c9kmW:n-kuKk uX_O,/%oײ]gy9omy\ֶmb9ֵ֦!u1]JXjK뗖s{kEܒ].n _y`6~ۀw\o5iMuKsn}Z}ֺH^68y~-KE{-Oڶuu[,ֺV4.s=K &^rKӥ:!HUNw.nj Hsz=߼OkZo[jˡno:n-kuKrnz}|mqZ,u[LcXZ>m[Xik]mmr{=_'t)a]yŒ>QcFcf_߹}ZzZֶ 1_9Nh[K>y<.維&'ϯei3_4拥sY۶n嘶ֵ֦!u儅^/.ִ" u[k:}\ooާ5_ZWwHh[K>y<.l[rKkY.m1bi\ֶmb9ui(9ں^^9kmN&y-1_,-ڶuiQ,Y.[[Zz>z]̟欵. m1bi\ֶmk-Ŵ^uu9Kek[rbzJhLsxXWחƯ"{J_|"TGWƿj(P.o0#Εm\>1߳|iBkݭ uk'omL<My>m1ަ7k۷ֵږ[mz],.^.gi/ݿئZkV[ܺ?C:}GfQN.ؑ[)6~_}}Y.BY,13#Εm\c:zܺ\sd-cV{4z-:Vmr"K%krWuu3үtkj'^?]8}Ok?'\ns/TUc0fF+|>uuus{sɶ[f9hi6[uVR{-.,kY"^!H9߼;JzpvP!,~}/݇SxU2(4^-`gz=اN^4.}.vsZӘ/by˴j[k_ai]dm]vֺzz9'[1m.nqQ|^;*8"dz*\o5ԩ˗Hy>վVGsX>,kY.[[ZSoS/V{k9E[֖ù sVa/?r[kYm=اN^!{ߧD}9VZKZ%kr u96rNhcڛؾ5 rz9{o uk}ۂmf_ߙZ-ϯm%{ߧD}9VZҺV{ں7MV{k9&P/έ.xŒ>}~='篈{33#ײmy~Ml'gǷ>i!֭wWx:ەV{k9&P/έ.xŒ>x.h]-` דZ"t(:iO?iG{^j+ZZ|/G׺}d|=>ҸK {U]s).ioei۪8_NړnO=k?it-?Q|} xZnr[kYi!֭w#Gz+Yڶn/M쟧^[:G+-6i`z,G[o3sZ۴ڏVpqz[n=rn}wmzyڹr+} })lh-^ s}hmj[k?2[õǹvȹϭ&K\j6qi(˹^FחkBaOHwhk^ s}hmj[k?2[õǹvȹϭ&K\j6qzׇܶ8&aFuFޯN 9SxE=w\[#k1:73<=Mm,ۥ89[fۊӼ>䶥m1Yu3ү5ڦ_v|ocva6cf_ߑrm-|dX܇6#9\{k-mi^r[ML8f_mG*rm-E,˾mZmkGfs8כmk-mb-VԺȹ^mZmkk˵fl}[ZamnacsU;By/^[ۗȹ^։_Z۴1ޗk㵖61–` Oa=+]Jmf_bk9ۋ:VzK6K53=[ߗx尶ML8f_z"_o.=+PcFcf_bk9Nds=[ߗx尶MVǡ!Hsh)\ק]RcFcf_b}YΩeQol}_VvKօm،!HshU+Qb}YΩeQol}_VvKօmٕSڅח>GblWo_szYdsexru{+]Lc>-=pGۓ"ݙ}Z,]Xnm(7ㇺ.1g6whuٕH>unV{NV/}s:~m)mLc>E6f_}}}y{zY.eQoΕ=[oK'm؍!Hc"323# xɛY\lnaFu@ )KY\imQdMayJ^#{5%EkvlH;EXz}²X_u6.\hiesdrik;6uH}nZQQ+6`FAu6.\hiesdrik;vu3ү\9Ҿ""5%El<r:"v o c>m}DDFKk,kK'.P/pGחqT6I~S-zs˾""d>N.χz0|[(1#m71B7+"2Jqk=lf_rdآ'EXl H>H.Ƶ1s[Q_[!{eqS6u3ү\9*Qn ׺WED󍢹(J㫱/Omsԧr{013ү;,]J{$""2GVW:}E_LuZl;( 13#5G.""s$kqC~gQ_?-E,F}M2d]DDIMhkEuܽ+LrF.""$\QO#u=ߡX5-_b>rLEDdz]9oE'j(1#mJUr{G{^̗P/s5C~Q\N?]Wj{(1#13ү+U_궘S/^6VyŒ>WEחz(1#13ү+U_궘S/^6VyŒ>W=_):mE<R~װ-=/TDDKC G?l;EX)ׯV|嘊| rhtӈyh1=: N~װ֚YjOC-x@W_,K)1#mJ~װ֚YjOV[yŒ>W"3{3E*]FT_5,ED1궼blWvuz f ~])ׯZ""8dmc|:}}n!~[y`6cf_WE[R̝K617C~_Cy`6cf_WE[RH$1yyŒ>WxvSnkVaі.""kELcIy.kV9kDDDJZӘ?lq?ץ<^p5GeKב<N<"^Nۣ#⯿\C~._|^$qif_lDIە fc0fF|*zYDDu$17C~7n׬2iy-{(܅fiNMDD7qiaOfx܍fVkKLcۊxO/_lAmf_`l4u3үnj H~W"qmif_1"D~~%""EӺ C~gsx%~#bx܍fVkKL6vH},mg B\TDDdĵ%u~$|}y{zH(*܅fVkKL6vHxWgϭ7EW~❧(,טmomOQY"""['11#Nx](,51n =O|_y`6~ۀ5KDDdkMf_d$SXnBf|ţ`Sk]7">܍PY"""{%_kyu(?p>?/V>q޾m](,5<~7.2߲:rR˿Wm6{zy;x`6~ۀ5KDDd,]k:)}:GOBo΍R.}}EPVG-5KDDd,]k:)}:GbAX[s>;E<3cf_+,t_SAקҧ)Zm|20+Ź(:iOe9iT#O?k@bݹvO?3 ,򉵕"^*֝fO׹Qn ת2+K9 G%>ߙ|uZH\TDDd,]kX(8Ro8D>_#,~zo?`6GaݯZU"""{eZLI9 .|;[[-5?q7r{013R앥k ^_3%O(8qS:)`̌"""{eZ༾fFup"އg. -Ue*""xPF(0xPF(0xPF(1#m_oDDD"!?~1GA)1#13RÄmkf_ynpx`̌_7I"""x}͌>5 N!7I""" `bF(0&IDDb>Lh7E<$uB6nj3x"""x}͌>Wvޞʧׯe{SEx[(uQcFcf'"" 1Hshx_yҽ׏,'}6.YGyxPuM"""g4{ӈ8̕#@ O}eZmE<V:Wׄ|1/""2zF9x_\9{{~_nj HODDdfz?Hs-~ߵS+鼏Պx"""e4{1fFuF@Ϗѡ<^ n>NYmG^f`_;xR[qrn;P߮=f${h8` xw`>NYmG^njds~2 Dm>Voү1,# c^DDޒGkޏ53үFnj Lg_sۑׄ|1/""ro壵i }:Goo]ףNYmG^mǼȽ%c9m0#@cu}ݶʷ"""G紥?QcF~ۀ鼏7 ^|1/""roXkz|N٭HG#^_ޞks[k=ۅX'""2`:֚-Sv53үl0-^ޯi"Ssfo'`6c>V_ԯ[c{i~{״X [}~ssd,Wǧ8Yn:oqz]|KEDD95-B> `kukcHu?*OU,X}x8F^n-""rϩi|[/0+GIvQLNz'W-WKm1u_ӻ]-o_EDD=5-t|mt\!\+}usL*BۂmSx4c1wZ޾̋{kZ,acmF>.L>W> \R.W;5|.k>ml Lխzi 1Lj|׶;u{N}M=,7~lDžxgX6Gq6x71)cuk^s{['k͇^,mףu{N}M=o;նޮ, w>7<\"wlZi}Ν)Jd?iO?m>0x>iO|OXcm?'[w_m>*}5>VHmme9_IY(u疢صE=?vPVG-Wx4cN^ךXڮG8"""{h7v$C-vCEhp2V1Ekvpo3ݳ,NOrOܭ|BoG`6cSx]r>.m|V/8=r:}m9|6yggO 6=Ger{01)cu=^/Ŵ_KkPY\!""r﩯kmo#D[NǴ5墵Mk;s7򉼯]g.+cu=^/Ŵ_KkPY\!""2kzwschˉC\im<۞ _K9+~"^Xl)cucnk]^ž"""'{qܥֺܖE>ygO/otܴ/c9mkuZۅZ+""2{uWm^c-嶬^.1mmw>W>x,(1#1ө_5E<;Pc>g1˵WDD+E+[Jk}n"uY\vS`zW? x%x=cL1^|RZ_DDQ#oڷn=drźz>OygSXE层Nc=˵ȣG޶oݖ{"u|ϕmFke\9KG$n;O[>"""yz߼v.y^.bXW)1\l$vSzlm1~D%#""H9vmy\>y>z]^mC­_ $)O[>"""smז%c9<>5E<!(sӖ#z۵奶sXuy9g{M=cܵ2.csnQ甧ȣz۵奶sXuy9}|+y>n-pos]o层ke\>XzG9kKm޿׭}<0 >XzG9kKm޿׭xQLqnQtNYkȣz۵奶[Rkm <0 'kySovKjmZ&ύ{+xRcF~ۀqcsnZDDD)ۮ-/ݒZkVygQ׶U3P\uZDDD)ۮ-ZkVyg`pWG!Wy`6c4\y> u"""smזHM+pos+Ξ[ox;[gX.<{KhySoWVp@q@S{~߃sv4\y>Z'""H9vmydgOi廲/O(Q8[rZ'""H9vmydg{zyx)1#mPhoM{LhyimWt=E?u͕ fc0f(KlirL{LhykmoINL{w>==O|_y8[#zZDDD)-Zd[~وv4ΖH,ǴDŽ:GLZ%ޒ&)xfD`gKlyZcBk#&komoINL{<njCYgozZDDD1Yk}+l{Kvbڛ^ygg^ޚw1k(1#1jmkZ'""Z[d[d2 >>=yo'TI3eLXnM#z^3}*Yk}+lE.2 ><_^R=vE.}E![yHSc\mMrL{ ADDdd#s-w)έC}cFʘjkZcZkyd#s-w|)IO"ʘjkZcZkf"""[%kd疁LN_z"32Ƹښ.%ǴpDDDJZ-`oL?E  va6cLSs-K1%[cs0t>﬈ 8W_Ӂr{019ӥΒ-Z1^.e}:ɹ k [h}˺7^_ޞ~M)cj+kJb}LglGDD䖄ֺ{NO1]~&_*_=lq޾mpO<ܕ˞5A/Wis!=?QmH:p-6Py-󭬭^2%^zg68}.V] Znr[01hoemkAostwﲺS|kF"`̡8Z[Y['"""Y_468}YZQ;]wRLEzSɴI'}XW[3kDDD12tw[L#Wwe9iOGW{[ī*ʭҺ_} 1~q̷NDDD#+i^ZmpYV[봭N 0?8Z[Y['"""Gz=5=ڀL,}}yz{>o'uڷ[yU/%v`6Ga1~q̷NDDD#z kLs{ho3߳nX+Q=C2:y<끸1!7ٙ>E+O9SxE=ĘYy>D{u"""yq_cCno3oݯ_z+ 1ViVD{u"""yq_cCn"@fY['"""Gz=5=z0 ΁(t_`|u"""yq_cCn"3ܤbn+ӵy:Z!kLc}c΁(1#1W_LzZg]DDD^+,hi򾱏g@/&|=v^/E{L68}<;/&ֲfRǴn9E<E,fRǴn9EQcF",EDDDd]1󾱏g@1"EDDD]1󾱏g@ƩxruZ.^DDDDK~Vp8ā(k+[g㊈i뮘ڀy&DV~Q'""""$Ƌ:0QcF~ΔqNTDDDDI~uxD_c&:؀}<nj /"jv6E<y*""""2Kk<E^Wkl" <EDDDD!o4kl"3 MDDDDѓ_-OV\ol"3E<ŅLDDDDDd?HCLc>k1,g^D-Ű<ۿjׯu) ]J_;zyZm K\"Sc<X+]J_;zy9)CS i0 Q7>E<""""""wY:h;v߅O?몯Ϧir[Хs?z+V>q޾Vy0{(ҵ>Qk_ZvgV'oO5 qk>Vc=lB=.^wS?.K<^\D\\K7EsLQ:t$,GY;Y.yߧOeݛ"^bPVG-Rovp"^*iSȜ}L#rqsx_~zm]$_GWDDDDDD25Jw+ۑ"J_ɹSx}_xM.u]m>WۃJ?/yk~.! wxt)DDDDDDDdp7k D.+""""""G(ѥTEDDDDDDD.)""""""2Z.7\+E<=#ǟQģK=<2QģK=r{pV'"""""""r\0Ylj붑ۭ5ۣ>WۃJ?21bjA.}}3kPn*DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `"]DDDDDDDD8 >(ѥHDDDDDDDd `㔧ׯuMOeuۅJ?21bSޞӂO}m<5-y:Wn*DDDDDDDD8 O}^_ޞYqg)޻OU_M_=xODDDDDDD `JSu_o|nX;)g~""""""""ecVzxߟ˿WmvS}{)g~""""""""ecVr*VWnr[pV'"""""""r\0Yl(o\.)qJ?21"uA+O-?wr."?"""""""r`ZW]鎜+Vv S)i?9)UWэ5^9ۭunޞNh;1VW6{]} El2;dvuN/9/Cix__zC*w72 _{"r4灵Ӟtq{B~Qrv}^Oi4^W<ⶾ*kdžolR Z ɗEZ*׽ȸ_fH'\2VsM_TEǍ c7)mn2;t 3{ao"plb~??{ uHF܇K^{߸Doskɠ9/zQI^qlܯ"[?G&zR}Jp[i?Vg_{߸Doskj#.$bVbWڤ_// ڲ_c\`~_k,&K472K_{߸Dosv) !cFtˋW[c/]ݯ6|Mn}yַ3772_{߸Dosu8u0 gn}l0fD(N^p+O?NcF٭Cs:z W72^{߸Doskj#:ы /oy~N6(P(1kuͯCF\կod\׿.q":ѳ+dcz|Wn,PPя/5ͯCUFtb(৳V/.W\G\Y;*1+"ûr_;1Ǯ[.tmίCx__0+=vrqOk]UiM/]"G_@amaOWTKWkW) *q2_d|}~׿R#%l {_~~ǟ_{ȟK}t=}E`px08E<" NS)`px=y~ #w?xzyj]9翷 >`߷q1IsNz<]z_^_ޞ=59r_L7?'>ܤ?9oЇ"0_(I﷟d|O=z~;N-?v[1۹vqՅcVeF=x,PƧV9O5ŭBOT<ű{\}>kzwR8jǩgMm՟Six]rikFq/ }.Uד`X<5Γs}u_:m֟;.PwEHxZh}"f=?Ȧ㧝1}=_UlYU0s<ݯsG~s,1w]ts:綞/+ˏo}8)|֝XZ~\rF}?X?;[}犙')-m 0E<`|7N]j9Ni]>S0Ϋw~ >~þ"r'39.][kT>ץͿϯlpq_)uKzx>ACaql3ϭ/ r?X>ʯw8?{37qR`srx'vN.?ӂ 9=vh}X* DWߏg.N ;v'}E^(~~?_ӿA_dߦoB?٦s}tRUj/si_8oZ|i;WDu?~ߞc}O?KE/6Ek6an?Wfa˅wz?>ֿQ~wmQW76C\EEW}3oZҍ]\d7_*"zp[ڷy/i?V#{+:M^Ӻ_řNW< Vvi>asoF<>"^kbt؇"0+EV5_>^ 溋8w_<;}Y޾d/֏n\+/[,?Uċu;_>Ǚ}Z꾰܇ؗ"0+E7 ś_ʵ"Cguy!_W}UfYsǬX{ >tsn-rvUec|}=B֯rR{>v>_s\97~/w' V7 I{u kSQU6QR?8?N+ ?]%6=K뚟ZJAv>Źow.']ϯ+$<ɹP#ٷ8"0 Dg4'Eiޥ^NoZ+vvqY9?r{ȹukƿϱotxu1=寴_X[(ʭֹl9F4lCߍEB7V8t~?RI<ڛ֎s67H}d3M^XWrJΞoz{[_۟{n:E%ϯx?}k={Oڿ!~qs?htzg۵iQ1CDIENDB`b( Y, ^NH nY, ^NHPNG  IHDR.ͼsRGBgAMA a pHYsodIDATx^ٕ:'-'t‹  7rsꎭ4y4^$.$. $.yJ\5.8x_???o),LMP"{=َ؆3W:iw17 =,ØLXdJr/8&MցN,&&e*&NPm8Ĭ'?=aƲا$Ɠ~,ۘ\'b=N#.3b0窤#cuIM,CY}xͰLzݯ[.m=$.gI\I NPm'i)q</Օ1!ĖMџOzx(YP:.wkl?q+4OrH]L?>q ϰ\q YLdRN&DCկO(<چ!lJ\cu13!wy} X'aw Ȳ vN`DPbpŠՆi@hԄ8LiL#x6օ1~X~r%c6c 81q W#9Ya=$xtY猟;ԭg/.7&@3@3@3@3@3@3@3iod8=qѿ"~`UIO*A W^$Q'q?}~Y-';│F(<@y=PCyOyB*ϸWLK-%q{T{[ZO\θv4bc q;61H\*bA1 |@ >8:hhhJpc`|pt $.`1< > K%9}@ >h=G@@@@R c|z lĥ> c q;<ُ|@ >8:6@H\0K%b8$m#ĥ> )8>ُ|@ >8:Jsĥİ Ǟt.q1M4r}aMa.K%fb߫ǐK(r嚡~f6Wg2??w([K} 6NjŐ[._]n1MbY9)W@/I˸dzauĥ>p龽0uɲu9I iy1 ˥dzaʉqyݟ^g\ತؤN>d,V{bK3H?O/S*,\ī3կu?g5q?fYPs}N?9u;V=n&˲?[< =N?W_2UT*O,ݑ#=',ù>Š_ԎCbƎk[1Ob}u`esb\~=X g2ԇvNP~_03 c }P8WB@~Zp<!q;NAOJb~qtY s q;AU\Kd8}@ ːGPЯ^^ϕsu[,5fZW D$Kk\VXZ[rcZ{H\ p/XZc2lb*|@R c buvugk\VOİ K%9}pZ t{Ʃ`F)+8WǓx1,CR vNC:}:F%v0Oq8Gy> eH\&r V\=X%L q8t:Z%~L~CG H\$r OMk._6JpǐNBgէq;)dߙ dzaJs҉LrfZx1,CR vNpj8{ڟZx1,C=L65aŷ9g` {7'$.pE$&-Րz^ >ѯUcV0`TcˉK3$+;Tq~7'.rG RRF9偭ݎ8F}u;Yuz۵ώ PCyϞ9%q{?Woq1 ' V]m V]m.n9İl^.q 8Vsr1}UyUSObX&pwH\s䄾W`a^`խQpN1,sRe(JاQj+XuWj+XukxyO~ng@'= V]m V]mn1pE_aI׃O{ V Vc!q _WNW+z}LLbHO[ V V8'Y~8wOp7ĥ>AN{ V V8'YN\BRŐз*Xu:+Xu-pN1,C ' V]m V]mnAHO{ V`mq kb2?C|.H؟UjupU9~,$.~մpc rF V>L;p^1H\|\aI!qϥbHO{: V>L;p^1,* )˝@Rb01}kq(Xu[ hΫ>8:W\-< 3τo-5ZKs>+.^!qM蓯H7q9U/8GW %K^p@&qrUt<}zA[Ծ۱XpUW\*y0 ײcGn}cΫ>8:JsLzc[jt,8Iz:Ŀ`եTIz:Ŀ`եTd!qν9Eds V_SR*7~9y_lΎUgCp^1|v:?x<uꃣcJsDzr#`!1٨3uUrwx=Bϻ+9WJZO\ 䤺FCk V%@%V* ~_WoI -I |X׸:KJH\B1$.ȷK7KRdߘlx >HOkj V]N ,*oQ}T EC iR\=[˻bq 9OF]֎X\=gɊ+.%'*c%2?z {bFc F9_sױ Ϋ>8:%I46>@Gt/ù윅 "6FꃣcXU;.􄊈sT`խ2_. L'SD\qkPq{# Tz{ZO\Y9"nl Ϋ>8:U}$.q>"nl/Ϋ>8:䥿6Qĥ>.b'"~eNI\m $.tH\2 ":H\r$"" p 7\#*#""`uh/B₈Њ|?2I\(!"""L>p7X&}TN\@~wzx ":`*=^u^H9[&qADt*Un GK6P%qADtlYuX[8ColO\gcU%*u=qbOʻqˆsCʾ)e<@yYG|h|E|'֐NTU<#>'3F%B1 \DĿ|;/K-qH\9?q) "bÖBzҿ{}&dʲ%よ_Z =ַcKԽߌ6>/""bKvl韺۱c5B|}9-|->$. +oI`܋r!?u/]3.|;. qADb܃5Np/XH\YU$__l#!qAD`'nC܊Ig qYf` GD݋5k QגO݊5oWd\ "^ȭXchZ9` i^JQU<]iH\/k\3~kv[9bù~ qADk\s Ϝ χX}r,Hg\סv.assXרLV9k R9qV""VjV9Ev_'.,Hą[EXZ-vkX[XG+p/ndC­"DDVhC,^q&/~n "&S6Ղ8V'7EDDīY_[Eײ \q@₈XȆX~uAϸ ""b!"Ą坨ī-E'IK 1B'B1K$.lp'<e.}0$.l X꿝;IdB₈XȂT2'+NT82t%IW؈As[~$*ʑlTDDZ%.sqy8 Q2 ""!H\r6Kt"""^Ղ\B "" $.H\ Y $.lFEDD A#ݨW!H\rg\2 "" $.H\ Y $.lFEDD A#ݨW!H\rg\2 "" $.H\ Y $.lFEDD A#ݨW!H\rg\2 "" $.H\ Y $.lFEDD qNwz׿׭[I??xDDB6KCn]ſ "" x%^U qyݻ &$*?G>^Y ""b! dnE] %.q\eXAJʻ<رHN­"DDDw6KZ=_ ""b!H\ $.9ҍxU rg\!q@₈XȂd qADD,dCH7*""UmFEDD A#ݨW <㒁!q@₈XȂd qADD,dCH7*""UmFEDD A#ݨW <㒁!q@₈XȂd qADD,dCH7*""UmFEDD A#ݨW <㒁!q@₈XȂd qADD,dCH7*""UmFEDD qNwz׿׭[I!񸇂 A₈XȂKCn]~EB₈XȂ=?s%^U W^$Y ""b! dnnW&.㭣͉K"fzIc{81},(xm_z<:1iXHc.ca&.aX'@7wy=$c;lbrXP$_Ml7u,|/  >iXv8xhVQWНۊx!fs݆1!qd @t&} ħ&1HIId>&%Vi3NēTcĬ>k*m>)NTrcb.sc.~yH# %b cq}덟mns|D=Ltz I17bqr}>ݤ9N}M_m/&1IZm$Ӎ?^ 1>刱2|8V:z钕nc׭G?6K@P1!xNnc0L2qǤ7f2960,e$.|N(47J:B]L '.aC#1v5Vb}]C붲VcIGO2 Jٻ6~M'DZHf?I f,ĤuBi`Le/e!qqKL ezly焲IGO`&n"Vqe &i὚q|4M$DQBY*V1>:v5g-$.M1޹9] @c|L_&+"&s%$ m%Ǯ@e@r, H@ 4 4 4CL\?-hNMX;@IENDB`bȌX5df-{nsȌX5df-PNG  IHDRcsRGBgAMA a pHYsod~IDATx^y:VJ;iTϯf1pxwc$a ɼ|yy{,}֏ߵYkj{QWvݩ9i޻6yxi;DŽ<o/y]/YgxSzy\9<13RX'3EP[=2{C9v ?'wc.~n{m͓sOo9^ǎAe== sauo`;0gVof27xMi϶ ߹)[אm\7'(_]Qb* n^kگzk3/AzNڅş<+ aژ U~U{om2װkODaL :uȔ?6S,-Xאm\yrH37OR.IUDhL s_&Zψůy?-{l[o8h%ƞeBgcMũL1_G?5LagOf^a1N~>hn? ~MƇ=35$(Mq3Pn G?^~֙3 kcj$E9?'2V_uMN뫋~,wki=wc}ssYqEqdy=wEGtw31 Qnb7-,ޛXאֺl oJo 7yLEdB~}1< 8v?qt}B~Xjs[}>^fc\/ǫ_5LagOfyaٛ݃š/5dfa~ÏKjُDo 7EΑ5Z\ahxl c^Dg`^~una߶oc؛CװcOVaEx2 Cwqd5ᶵf]CF5^X#X|7q0g|l 71n?q1\~T=l?! <;Ex27"B.pPlͺ vaqp?bϲRX}?EXϨ|]' 7>22>f{C<?|_ :V+\|<9Uu.DZ~׻b1펌0/AzN(,~{Jڏ'?mzls;?O6=q l~̎ev,,,,,,,,,,,,,,,, o/%/oƆclvkTaOp -Fg 8X$Lh_ix{)˽~V_X”Vaۊ՟>?E8{ar_ fbwg!q>^}^>|g\[X+3x'E؄c e&w2_E_E_E_E_zk?ⷱX1JzZa),&^Ka{bGm@7G@ ~/`q@0qXy{^V =p `q@0qؒJ;8 `q@0GիN),3իN),3իN),3իN),V8 `q@0GիN), 8 `q@8j^uJaA08 `Q@S LS LS LS A08 `Q@S 'q@08 `WRX$8Aq@08 p8P"=S"=S"=S"oeq@08 p8P" `q@08 ƁU N`q@08 5T:@T:@T:@T:H[`q@08 5T:Hp `q@0qz)E8 `q@0GիN),3իN),3իN),3իN),V8 `q@0GիN), 8 `q@8j^uJaA08 `Q@S LS LS LS A08 `Q@S 'q@08 `WRX$8Aq@08 p8P"=S"=S"=S"oeq@08 p8P" `q@08 ƁU N`q@08 5T:@T:@T:@TZ~~~ۉ"oeq@08 p8PTEşX]8 `q@0Gի_ƏR\|(Hp `q@0qz|[{}kQa^}fb󛌏@Tx-û?yN}/o{|gQa^}+Ca28 `q@8j^}SX?N`q@08 5TSXZ^n:Ga 8VʚL&),/8؎j`t`Wk>{}[1 `tlcq@888۵;38 5TZҟ>(, A٩ٮuؙq@0qz)E"pJ @x\uJa8%p<xz:H[Ss<`g8 ƁU NSv=s<َt8 p8 S '©ƁBj9tlgq@8j)EÞ+N),77`W RXN9'93b"oeN5|^mq=ǃ93׉`:Hp j($8pAؙDq@0GW RX$8AN5ֹlgq=ǃx 8 5\1tJa8%uζ8q)EQHq<:⊡S ))$9xtC ~+pqe;9t񀝹N$p8p)ET@!a:x\'q@8jb" pqBWs< o 8 5|"pJ>s@ps.ΎϛAvo}tu"8 ΰ'Hp je;:;>oq-k=׉`;Þ" pq:2>9tlx7O\'q@8j { )ٶ[ߌulgezvp"pJ>smtS )ٶ:uz~Zgg{< gN),VTu.ex}y;80V/xo=;pH0qp3I(, >sqf߼>r<85g2+\N$p88$ NST׹lg8Xo^uv|v9yŚdzrǃx.\'q@8j { )ΚLz~}zy[g~z7xbΰRXNlǶϚLz~}zy[g~z7xbΰRXNlǶϚLz~}zy[g~z7xbΰRX$ ©َm{},xo=r<85g2,m%׉`;Þ" pqpc^/,{[z<;>oNbYLǃ5}[u"8 ΰ'Hp jض2^ֳώ.ǃxt{gcZmoĜa;َm{}e.׾lsۣ`x{dz1y.,+ؚe:`Q|g8X$Lh_ix{)˽~GTlǶ5g2KkzYڄۣ]ľ-ݿ^Yj2{yVrH0qp3l- SZşo+V4zo-ƶNlǶx59=Ϛ&\}<`,fo}i8׾?yN}/o{|g1p:g;Y\f5ldz =?1=b:׬Բvߖ.vY= sa s wñc(,VT`鱭caߚǴ2KYg{<5MXo?dzqM?g{ا5ۉe.vZRkǾu"8 ΰcy2NSǶޏk^,fx6<+ǃxJYocO-kS?9lgcv:`Qϰ2MRirj ڿh}Xǽc=-sӞܵ_kj/?eo_<_-j6nK(GOr{k_SqtdV{Hq3RoͿ=M{rמMU}!m'?ۮ)l_:2̝s[nڿj ڿhysJ*,EXzlX1Rkӳ=KyΦUok}묷1g{ا5۩my<'?nYXBNx氝nc&ha1Ka{bGmc۞֚ylg{,Ny,%s͝7Woc:nl~,Ny,%s͝7Woc:nl~9Εey,V9Ϟ,f;S^x$毳Ēl?u?[Zuՙc2ajzǦmVך猵k[heS-ϰLkuRkF9vJa2嘖? Mg}h/fC}q?~]&{2uo|yTjYbsꟺwǃ`mΨp8?G|՗N$p8,KtZǫh[.E>Vr_Smn/Zm Wn+r_?^oM7tJk er{?}06dlC딾|b*er[g}(KZu-y1co_(th/S[}Y}??agQXWSUo2ctWns{j sk/Y+Cڋezn2norۜH[mE}6XuJ_ uN1?L3>dVyZdؼC/r{=۳җ0tN/Z}җ>~q|x{×,^vY9Z9NWѶ6]~ݗJ_X{}tϷSj+ܯ+)˔ۺV9E/RV[~-yVubem,?'kIYVW)ּ^Or{/'ӡܯdh)}Y}??nYr+^2C<\ t;qu[fWmn/mk:u}EnkݖPimEn[|&}~uxd9)<"rhh/y:+}9cn24X߁\'q@8j8K?.|S^#Hp t5LWѶ6]~l/e6|jz-ۺm6Ֆ3)Z}sS/udVV_VAC}V6*ΐ-KYGS鱶^ntiLGVܔm>7Y}~_ڲb~J'OMY6YOꟓls,zV}i/y3|*Cjn8KNj (,]Ǧ.g֩ۋVX[n/S}er#EonjJohEju_jlno_﷒sS)o֓$/[mu_hݯ6Ӻ_nt}[g=mTjXqTX܃"Х|lZ{lX:mhMr;՗E#EonjJohEVT[}eCuPEJ^&OMY6YOꟓls"}uNi/u{6O׷u24P{+Ejn8K*,Aa2]|lZ{lXU鱶^n2w%e=vNV_$kMK`}(y"ɚ2zVHW䶺/)n/ӡuΒVXjo%[V[G\'q@8j8K*,AaAjcSLr3g2hMr;ho/))sR"Yo_.wC?goN~ozV+r[ZZe:ۜVn5mM'[Ҟ::`Q`Y2WEaqx 8Ǧ.gΖeh]u鱶^n2wId~i> ߵ%[9Y67)˖-2_ӡۺLrSܴoɒytQs[G\'q@8j8K*,!+cSLr3g2}X[N۩̝o,ER"YnӚ6_%[9Y6glu}:E|=O՗,I;[Ҟ+Β { ;% n?4=֖/mv*sK{H C?goN~bXGغ~+y"義<=VR,QQҞΒRX4kZW>vhznZ˔r;h=CV_$kmuZԆyܟ37']l8U[*y<=VR,QQҞΒRX$ BW`X3gSocܴiegHdNk@]PE뛓.K|K5g[Z]::`Qϳ$/ N|jXe:s㩷M&K׳tVXǑ)Z}b՞Ӛxƒ/rXߜv3fs2g[Z]ڊV\'q@8jFIaAjXe:g]~=sv{JC}b2]86ɾzއSV_dm_IkAݿ4:[v>y<=V2̩Wն3׉`KUT,{c}6s_|{iǷ8Avs91웡}9j=hE>K:fmW~󜷖mdN$p8mњa>`޷o0\n=p 2sb>7CPsv{Jꋬ+is}jMfr^yOz_t=<=_h}/ڿg/għ38^T cñcĶv3t̉v96^R2gnHZǶv9Ck2g9&sH0qpQҟ/-Ļeg|qc]p 2S;iosmsy9&4۝?|2gnS;i/^V1"O͙oF VaqǜriM~i>uC~0׉`?^Zġ(,8Avq)ǝִ엡'"'鐧u"8 g N]Asq5-"ewy?Xi6:|ko(,VaqP> c3޻<DdN$p8̗98Avq̩3."{xu"8 g=G 8jfwyzRXvU>zO1{O)E G8uJaxCl#:H[ClN$p8b 'A!HDDD˃N$p8xU NlrH0qس),Wm:<\#"""' lrv<yx{6+ Õ="""yNbۿI E 弻!׉`۞>?^㿗K/s),Ǔ.˴<6 'rEşOW+/MILȾ)`8mnˉ>uaW9D>ĴrK7^'ѳ(,V ObZDDDM9ou"8 gd~x_XϟCϡHp zILȾ) N$p869 '¯A9ĭrސDq@0G nsOQX6S'q+"""ǥj'͙loex6Q'q+"""ǥj'ٙ_~!/1LǭZ g?s*?9wEs ' RVDDDK6Dq@0GgoK{BWZ9=q'ªq!e:nEDDZm3N$p8X&(,XdEN;'el A>Rk:`Q`7< =\?q)DV4zo-ƶVǐ2"""r\r&\ۂc. |3MNJm!e:nEDDyd7z(-,7ߠ]c[-U!eȱ)4<會 u@8V<+:>Fl Va8G>"""G^< (, A3DDDu"8 ֨TXrrۧ8Of#I|[9>,q:GV?ߪ|}*|3MNJm 9_sl'Q؟t 8ㅈ/#\'q@8jk.yG߅7),X1b[AqeDq@0GMӷOQOA𻈨q L8^2u"8 jTM]Xd(ka_N e_&`)ɴE_ """r\M]hE~jϟ˿\~pEM$z 79ŻX1b[8!""" tnOw_Xoo ߾8x2q:jfa8eaqϟAO|sg˫o9>Nl zZ3qfDq@0G,sz?%4V$l~3q䛌'Y>9oFN$p8?[͕uS/M|[(=p8qfDq@0Gc= sY]v}:*p~B| pB[c}"""r@眭:':s:l)E88:DDD:`Q`la N'}C3#\'q@8j}^Nr_&~oqx dV %"""׉`g&=s̖X;йg+=sVX?9gN), m8DDD9[uJa2Nfn"""r X|8. p8pv" dzn"""72`uȺx^>/Q`/]ť N'S w Gy`] yy{͔x)߾cyʖM.o/TXWg 8;l.S8l}+vY) pB}w,/"""#[r]p%~oqE8^. w ˺Fy`U~ sy N'ezn"""72`ubY:y>>/Q`?2RY,\QX$8A@~/qˋȀ׉e]#@0G*?Zl ~_q6E8^.ӿ}"""7- Y%xn2w,/"""#[)ryU!{LˋVʺ\'gGV r^ Nl-WFy`*RX$8A@~/ Nl-WFy`*RX$8A@~/tw GDDDΝ׉J:y>>/QYS p%kuFY./j_rjb8G/Q`3#sNhyki+5\^'Cij>/QS й|߯}N/z>{?JP;\9StJa:/V'"""/sC)S й|^_V'"""/Cr_̜Cаkw_R ѱxikzN/W㠞ODDD^S2sR M%qݙ(*~:>^N== Nhydh~=DDD:껙ni8 59SL~r@qqY^EED=Zާߤ{󉈈ubw3Vl XG5EjyDDDoIa3o,f~_n_+~?~+c-yDDDo:껙M{ik,RXB {t>{i}y$ ,1ϼ_vf{t\|V\\'/Ǿ妰oSƟ5do+8At,ޣ{dmH)tݿU d-ECUџJelXGȞSuUg[}cE7Z[/sp),B{3nȞSK1/C̫Dy Щތ=DDDG/br9-Fx #,앢-9 Hѷ׉ :ɒ^)Z} ]y`X_X""""{h=2 )EDy/^)Z} 48CtJa:Qދu/"""ggN),VF{EDDD"tq@PX$8At |_DDDdq-RIW|^ En(, :/K""""{kM8 (,rCa:/EDDDzȑ&83tJa:Q_L#Q< l)E@%G^y?٠S q|-"""KNp>/X" bg\4#S9 〠 E]h)\p8Aa p")\9tJaP_,p :/EDDDd8yRX$""""28 En(, vR_$t8 〠 ENdy`;/EDDDd:yRX""""2Z Ss"(_ ȼZm# ~+c'YDDDDj|^  Eă cY@0 PX$8A

/X" \y|ؕ 〠 E ŭv8 (,rCa/hEDDD8wJa"_H)i RX(""""Ou#~ 2j(EDDDϔk6vo,>Կ-uyyxz;/o3?FlNuX:c~y8vD0 rW$̹/4ˎb2-""""ϗr=.Aa!7_/K*~~zxku<^lN#sNi+""""r;Ss[?&c^Zm)X3.""""ϝrp#~Hfb󛌏S+7nEDDD\'_t.^r֟Mo}Pl 2bp~[`t"Xp-cSDDDDd*1߲)%q@PX\]X){i"9PDDDD7)וlNA`W|on~1Ywbٿ 1XJ2_Y~`"""""R_E_ڏp9?oi NJ-x_"""""GxXaq_nМT%^ir9o}oB^ ^y,Zsg ßAr"Aaqk+ o/ycu17)S>÷nL ݼ  s1o7>¢H14 s#/?}՟>?[I1@Gֈۇ#Ll~EDDDDDDdQJj{-7}^c,*,&5"OgyX|fqpx8Vt| E5֐>`ۿ("""""""2Zs(}tEaq\KYU<3b|/"""""""W@{UER#|Okfa1XpI1Hou N_ygZDDDDDDDd-JO`yū5/}SX?9Ϣ+L&),\$Gl^V I1ș$GY{P?¢%t˫)EKWS """"""""-NEDDDDDDD.aX¢%LRX¢%LRX¢%t˫)EKWS """"""""-NEDDDDDDD.aX¢%LRX¢%LRX¢%t˫)EKWS """"""""-NEDDDDDDD.aX¢%LRX¢%LRX¢%t˫)EKWS """"""""-NEDDDDDDD.aX¢%LRX¢%LRX¢%t˫)EKWS """"""""-NEDDDDDDD.aX¢%LRX¢%LRX¢%t˫)EkWS """"""""%LEDDDDDDDaX¢5RX¢5RX¢5t+)EkWS """"""""%LEDDDDDDDaX¢5RX¢5RX¢5t+)EkWS """"""""%LEDDDDDDDaX|]m^ޯ ^_>fGDDDDDDDaCa^^2ZXloR#"""""""r0JanJM9}gޤGDDDDDDDaԬ:O:O!rxۚ󈈈=UGzS2s ?‘o&6XI1èYu8+fb. 㿏2ݟ<2>BlkR#"""""""r0jV %FlkR#"""""""r0jVNʌ+Ϸլ("""""""e5O_ʵ0W/K}b..SX,&>lu3cřwqx8Vt|`q@08 5|NJ"Мq@08 `Qģoo,^vI0-08 `q@8jzRśBa#d|`q@08 5N>T{c^V =08 `q@8j* ӟ>h㔵şQDqx27oRIͪaxrPXfݛ6zgcaa?DuX:zLcApPXOտzQRxޅcz_.m],\vO)K^CyfAw68,}]:8I:>xb[m#{{^(,n"(4&r_|"-7<\:1י^:87AW6ڣNbx༖1Cqxr8>8ysX:>xnǁ3Ml͕83=9ǃy-#7xVKSj>xn[ůAW6;/|:@aqC6w/ȃm3.A7v4z_v<تq0Nxp5z{/oa^ڡ<3l{ls4 ûnjg\9lm ů^C&c:g<'qasU1,yo!8_XL{ RXSXd³wη?^~wV*)?g{.nR ~bVX?OsV9- pvCC?|󴞫 |3e7E2X\^z)+wSt|?y^^?^㵮c.}yp3PX[Q -?Ž-N94nii}.7nx5tSܻ0Z ׼^=%߯h,s7YXǩ/\Da^&z-ϼQ) pv,,@T=Ηf&XWU}Qd|}ataq8 :3ovU+ujs~_*"18~{a5c14Eد7Vf_8"~[`fo6>WvXrq)Zm T-ժ}p|XQtFv`7 =Q|צZ _'n_ ?Cp?>["XyoY:?s}M8y.oU'#߫y[q<Nx> pv7r[if%}h}WHr-߯m6c [hQVEzMv/93}H=v.|ˋNgq4A__c~S?Ǒk@uqjxs߯XۧO3-Gac@[<~Om6R]hrvk^?E*]1aakx-u#?wfauZq2LV2fgmrAAz.|i-ޯۘz,~2i?f|߇#cx]aq|e9xea1`ssTa1Vqv~HqL,ϫ¼1 BanE!cp4x4ܗ+|e~rӗ_?5[Tت049sƞO3oFa6>Vq͊%b~siF# m={t|27\~k^lV2F?_+g)<CM%yc3*(ٯ`~~{*EZOlAŋq05>nteQgCEÑO-6XQsmSMf}|Ӟ9XSyIyޟ}͏3<CslRX[>Ln )imCPn?n##Z_c}i?.Z F#cgmJ7kscE{c5k4~u0s״_ c|ecTxW3E8_* `EsB_ceTfu3DFh},]תbn9o~ozo>5?3\ڿ < yqS2cϼc <EXOcIX4ħUH3L/]EXx)9[ylۺOO)etTz`x>y\nl߹WcVc۶ij`= 3A R1~,؁n}sJ2[F,mbT?m[HSkcN'Y  9?:-]G TpovuK鼎1B@1u_֌4vs:yLGBdNONˁnW< k%o ׮MLpͳϵ9m뾴{㵭lޞxxLg!HȜScϭ{)eע xJڔKf~{o$}+ǔSYH R z¨[@ڱֽs-~.rݎmJ)9b۰O p0EG(.qkkZl}Zl}Rv-b۰O)e3~6`HTybE0=vl\mS:]>Nq ROm~Sgr@yEp)HyS۴%"ut}y\H]_uqkznR <D F/[MT6mH]_b*^kMA8T[*Ay]Wxm1c)ͥxuuq)xumRȳ="c-b ^5QKn1)TSڴfm 0Su R-եxu]^_k ^fr4Ȅ)x)gnq R-եxuS5\ۀ@.~[L%x^.ūťxuW3qݟ\_]HEo)xV+٥xu*낐sDE k Soq ^.WKmu)^-.ūU ~Q}wmqHD#9 D~Q{M\ c _1$Z-zԱ>Q}wrd Dސd`3Z r 1OQrZ->jkXs[2û1npkmDmkbu~`!٢i!#>}37BD //mx_8gK@qo؟VPm"jkbu~maH;ܚ M<>d!ᵴHmx.m!ٗqޅ*vODރK=VSN_w{/=mxߩtjKtg%;"VL<5SxdGkb.dx%>qaj]%fou^"iS,3gCxgDbȏK|͈gu[>46wD>#i-zm3v9%fijmrz}(['OrB K׌xV7>A@dbj%XkF<~Dڀ@ylN/_3Y$Ay6^=:r A̞ 㗑rJC6ܲsy<3gCy6jZ DsV 7 {Dҙ9!V 7"m1 _2ޓA #vq ^"5`6 VH:3g7g#RXN)xy<ȳ@dG좠 ۵ :b _)I] 5ڋO2>Ok@d=pKp#og=Q MnK,r#"`z ӝovo׭9a/トXC 3C|<Ɂ1b=Jzw Q1szDVoń[3;k™q%f֍ߵS٬p ko-x""du$o651~2D)cf ݚѿ-)cvBD9ND ".TE3Zu bqZ(Y|@wпX.ſ^'0DḌ G$x Dvw;Q| ^?""{|W3st5;u#"b9~[ "|(.'.""֩FOяf(ȭH{09)&4Zm Q5n=s:'""V̈B6Hu"1'#IkADD'ͪGaO DD_x2D~=me8#?DnǼu=|9x'k)?DD3X#z#UK,-? Ddděy ;Eck1[[vf D#""ɓqސu#5 bn[xﮄ$=b=5x~]~nSy!:H»ҞߚxvOF@$æU$4GmV K2Ѫ@N$""bV­׻ ¾=CDDʘѺͩ "dBDDѓqHTɂ71x"j挷f$ ""sޚq'+bv4fOgĚn ""nE|FNtFO""bk̟y}{ZMnGIADDlͪopkxO ""fȄF?L=Yhb 5Ep #z$qJJ2-ZGotaIp#=hDDDҏg' ܚADD\aEv4qsfUDDtOwF5x؊'@5O""bkVD&+x؊QhIADDlDD<"y"D["7)XeƛDDV2GM ""b+ "" ADDlA ؚQhIADDlŊh]G/DDq<]w>/]$&ODa{Dy޻GΈ&&Odt-<牁'E;B j~nSG#5ьUͩlVEDDL"7)XeƛDDV<E oR[D "" ADDl͊(s4ޤ ""bE9oR["7)x"#ؚ'@5O""bkVD&+x؊QhIADDlDD<e"[w.#]]OyoR["~:pto%y b?i#J/quv WuscO`D߃}wWǘ_s_3Yuz9׮@xg]~qGooN9^zL"JD} ;1][5k[3'][dDbZk{b>k]ֽv-ɱmX۬:jo _f1pqEY~rs֏!}o[59׮X@aaaqۺ ]y\Q&i$룩sMmcq?u|S1֟)uxa m<5""\tÅvɏ nA<\L] 贷2 uq~oN cη +mUڌDk7jla,Ӎ#cq c=oC}{?ط;Ǧ <\|EwpbPOM]DmXfX}"8^4cS_e[꽍w,?\tu}$ b$ix$^G[@cf؅6.+Ss5~@W]{U.j/b5@zL/vccS_2cۘT Yм4\m_ȗ@]m/DbW}} isyhIENDB`bvL&t*TzVnvL&t*TzVPNG  IHDR %sRGBgAMA a pHYsodlIDATx^흍0Fmˆl^6H``{Ϲ$ pZzCLz<ޯ8vAxnD=ۗ@ӄd N?v8 gd~9s M˳pe0^Hͷw,ǻks˺s'LNکqvED~m< xW!handzaπ {>a!l|ݼa1YQy\s7 ioCd>[s6TAbÉ=B(!:AM /my2_:e!r%ˌnܺCHòb]hs kiDm!z\LI\Z*k1mH'wuF5)C\~vyWAyD6S7^~6 2U uOzewmկCwM H]GS(n4xu=(%X o,ՏeP6^$?XeeO׵!h С\B+=Ķ5%:ulog<p-b{wR}>ړx5;0<ԩB&F2Z lqn246ƛĠW2Gеiަ|TW#0=>luO. '(P1=!< N ApbzC'l zU"GjlOְ3{`-Y_o*K@ZغPv`\D<͟ЫkuQwu?e9lbi>㯗h{t>mveYkak{<>VJ?n} ۏsH޶Go#۶ʼn.+Y]G=e\S~ >~Nd Iǜ먗9NJov=0#g KPzǹ!,.S<2.)[;nIYs]5z+ =H=}vY<^\BX^WPSΝN%UgΙwנ'<֮Ea+H=?v_|7S^<5(z(Ȳ=ECTy=Ruv9z,y)R"!jdL-TG 쾘7M;)Szxӆ2QPse{̫%UG=촩yΛgj,jڸm\πNy=5v|UCf¶#_@}MYm^0`"LM+Z)zZYƎkÒtv ӥ:]tMۦ;e@SxzvLTy ۖ|=nCwҒ2FƽԴV2iΣsiuzu&r[?U.xeSi2Sʴ)z O;M&:!G ;iIVcP v< m(uC晣L;fNP=*)z)eZ]o)4BD jlcd:;-z|Gyڴ-2`*x2U_]LuB;pUNR/O^y|Vz(G{ʩ^<\i49䱭O\+LQ._+@AqHTnco|zy=MylSg5e We9z(='ܦE<&<\m,6\k&]'ܣw wĞ0< ^Zyl1.GeLuB;;bOP[zTZ.lvjcaN3@ A='-,aN26E>me ^]\6Q sj ףÏ+<{M_wDxn[.(P[ǮsݣoBhM=q8~GKկCnurW!h?-< A#d>\aX'} &cA cH([48":)?gy)޵1}s* q,df^}̛@x@fUg .ž|}Y ۖej''+DZ°Nz~q,,0ށ{;`O>Wtc #U(~u,dEƞtGq0e {}aI:°Nz0e aX' cO:XVTѣؓ" #U(0eH={'D, ]'ܣw bO63 넠w bO63 넠w}ASITу "+'D_9.VPE}! W ]'ܣw O0r\N@ A@B`q帜0ށ{O(xX=74_; 틈SOlڃ^$5Ip. "G9>Ht%m{^.ܣ9 q"UW9ܣG^C|_jƖ}\24m )\@a/ 95:,Pkߚq/M'?܏;ۥ; ⁵HWwq~܈S}yR7жxl58${I ճBgFgxVU2^z?^{y"W9Veh$zIzuN4xxuYy|RGt/>g}^zD\>fI!#r % A~2X'χK%{ =Ŷ!"-^>۾ w^lx"b|%'au AS>'ܣG՞磊^BЯĶˉpz KA#jO Ad/y=A}1!"֭>=#ׯx9蓁 |8$zFx^~c0HyCD<tV6es=vxNOQE z$W?b~=Dsz|T+Gi/}Sx ^1 i0N#90$zE8~o 8U}nr֠>>#+^W~x^weτ_x=OAD~+½It; p.BB{!5= }>wok7-Tp֠ {#u0d;\Õ_OH(WM[!5z~PP޲Wy)a7t/ΥBBk `ضWf$w'<"^ϓ׫޶*zA{#u< }>B쁏$Wp~&NGk `HxK4LG `Hs{Cx= ^u8kgO p>U~&`Gkz|{Dڦӄo{-3:"^@##G:[/Y>;`G Б !7uAՎ?4@G Б Wֶ|~&EDOhu붃{􈸩=|$zB9zy5hrBDnD`O9􈸩C#K|nEavO}؃.Op:FD$z#V a߾}؈bH=;zOAG܈J!ռz7i}p#"$z؈"\t/}Wy-[A>py6J@ xBْ/쁍m8wW]o^ߛPA? _= r0#"zVAIhAx5/t<6:Cu.,*oqJpr]j-[uO.oChD)8= >G:yEA{@#"ZTZcA{@#"Z+G{=A磊=/ %ǟo?Ϗ}0#"zeIu~߬#t5=""|T A"|\~fA}#"~.IbχKR?U+!'1"bJ$=/?F}AP؃1%\mm=|T z{""α|T z{""ε|8{\=Cqp{{to; r""NOb/w{]y{""NKb9,OcJDĜ #w_~]6큈GbfxS>_v?FzD<Ƕ{\WB_[g $CD,) <.Gm;5// a{NAbO>;`.z'A ;%);My|AyR { |g\x W(%KM|ǛFX k}nr">ɽz}<5 ' A  awtwtA/"♄C3Gmc Dij#G̛·qw쁀xGb/>#"^MO@#Gi~='thDDt !yތ ۡq,i-y\Ȉ6i#u9ÛN4p>_JqGۢ?hSaqOʱu3""vj8|;L뎇(cE-{RE+S!"1=z]^wDD<޹[;B; zxtDD<-,GD9T[~nw-%AȸWW!nAv8v~ hNA/; W3q{ ߜ;ǟ]?Ak@Av}?ޏ&ky˼bh@qCDD.whNߚv7"\{K[!ۮuo52""^VHk56""bi+8=lxX ^c#""6؈:klDDVHk56""bi+؈A56""bi3@{xX cFDD,mԱ^c#""BXkK{xX ^c#""6؈:klDDVHk56""bi+؈A56""bi3p=nMt>^}h{Z!!Cߛ{p6^c#""B_ף}5?}[6K[!:xU|˃^. [n뷦Y-y~<zWro{4qvWrWq+5q+5q+5qW=zp%Ј{khDD=:khDD=:khDD=:khDD=\ =FDDÕ^C#""Jz2Xc2Xc2Xcp%ܣqWB{x +!=FDDʨcFDDʨcFDDv_Mnǫ{q~BqoWr{}oyߚa8p%oI6~޼?G^6r%} f#B?WC7 ^.džEDD>guRz۶}xݛ~}3yeԫگ$~|cj+k$nãC~{+ޮm/V|i!^;9l!S.?rGBj{*>HE8 Ih4aXvl kdj-bI!ScMABm;XO}oGAj͉ڃ4mm]JuW-m!s綝W&&\A_W͗ݦ-t`*޽]A_!ζnC Zs٩>۶Ϫ?N!v2g'yoJS^S9i̶V+gmmv?gڲvj4rܮs䶝2l=d81=!N AץO7,ef+i6>R")(Nc߈7ooj~4sl@fm2BubK6v<J  GwL~w;;xiqQ )ˈmL;>;qO㮳i8M?qm=%no/C_k|nwC :!d(!2Rv8MF4zv&dPj1 q2hZPku{5lw`Xq">O:zm uhvm&vi½ORO;o(uwNAץ}`v!"AӇGH}71(L4P0W'i ː}33W}z!ẌBE um01/N0o/+ Ә/m zX3lSM#دGTyϗcڰ_H5m.j_ eAe-߆Lx'%xi1Q!2סч74m}1ig귭TCy3voG{jy҆qi}'X/?: ²!MBs}\](` Y N#IENDB`b2-K"pGn2-K"pGPNG  IHDR{mdo"sRGBgAMA a pHYsodIDATx^흁u@4v¯5bMG$d{]I0BX~xC``H <!p"_?_я{t|^1}[y=dmؗ5|o_?Nln]?C]]_k zǯi~y\כEK1EJy}2gm/ -s~:lhwtۏrݎ++Xě|6H~罟owLfB> 8Mi^'^Ӄ~;Rff5lp/yU=eT;/s&>na&'X%7U^S+sK|tujq|yZV p"d f++mLymY7v ɸEffy < V 1Y9Tٹ󠵽rBvPчRR }h)HfA^ ƪ <iO-a\&ahj+GeQ~7H&|I4Ҝd"7w6 $ND{Ifu rguIx{Է>'rsgc+΃VnO.|osW6 ~Xi~);U8w|x_?/v@Dx^$T*Ili+Gr"4'*;:WʼqHlkN?;ǘ{C~3!p" v$&}&2ftK[95x+n gRL;EZ{u+ǵ汭̓{f%tkկmj<.״sA{_{Ϧs&@#$N 뛽E#hB'gޓ1meo[x7ͺ~=voYk?rh}\5mm}8d__f~&>]|*9]ksE;Yju Լ+^41myLaIڑxwSRv\L/̝Dc{=yG&G?lZԙO/u!Ͼ|%+5@xC``H <!00$xC``H <!00$$~>翛_B1O?~J=L3)K}}bH]6>?)>,N餜K=?}g2R˧lMD\v' ߄]t~>u_Uu_?|dN&^t@_.XBB$?&=PPPG:5E PPPPP{AR$H2ֿBKxw}JgQr^ҵ$vOu^|0s88g# <|u!6< 80s8Ƈ1q9`q$S4 $@ S4 $@ S4 $@ S4 $80s8Ƈ1q9`q$S4 $Ó0s88c|9`qqG2EB/>< 80s8Ƈ1q9`q$S4 $@ S4 $@ S4 $@ S4 $80s8Ƈ1q9`q$S4 $Ó0s88c|9`qqG2EB/>< 80s8Ƈ1q9`q$S4 $@ S4 $@ S4 $@ S4 $80s8Ƈ1q9`q$S4 $Ó0s88c|9`qqG2EB/>< 80s8Ƈ1q9`q$S4 $@ S4 $@ S4 $@ S4 $80s8Ƈ1q9`q$S4 $Ó0s88c|9`qqG2EB/>< 80s8Ƈ1q9`q$S4 $@ S4 $@ S4 $@ S4 $80s8Ƈ1q9`q$S4 $Ó0s88c|9`qqG2EB/>< 80s8Ƈ1q9`q$S4 $@ S4 $@ S4 $@ S4 $80s8Ƈ1q9`q$S4 $Ó0s88c|9`qqG2EB/>< 80s8Ƈ1q9`q$S4 $@ S4 $@ S4 $@ S4 $80s8Ƈ1q9`q$S4 $Ó0s88c|9`qqG2EB/>< 80s8Ƈ1q9`q$S4 $@ S4 $-7Wڀ C_i ?_ ~`9`q<tGv: 0s88g#(>IW?NAlxq9`O ƑN80s8_;=Y?)$珔^|xq9`O ƑN80s8_;w3_U_=Sx$-D`rk'O Op<3%~_Uu_?g|+1`-AlK)IWJ^|9`q$: mN8t|~bq3Ƒv~!“0s8x6J{ZD:>?1s8_;'&"2D|a,oy)?/eW2D<^q>IF)IWJ!] *a1>0 ` Xp<¿B  8q S{pOƀɝy/cQx ^Ɓc{{0E8MvOu^|!^9`Otgvz=a-x"6 1=JnYKAlx>qus8>G]3=tOE4xN=qqG^%-+Ԟ $|"Q+Ǩt{]19I{u-2st׌0sp8*9 $`D׬Dg+Q`6p<  <X/0#Q51>0JԱ( óɀh3u^q S{DKk0<  ;'qtGi\QGO:Ͻ.s+ s95g^q3ƑW!O$Eޤħ2=z\k}N8Gx~gGVO'"i\QG~z^qL}oギk1HԈs$4gGV倐h?`Fu|"as~#꽆`^/6lU9 $"#bYKa~G#ͽwqD]3G`U <f$ot?ݓ}:Gz{ $fXxw N?`1fXKxO};Gz{=aV8GiqGV倐O'EBu~D\3%~t']c>#ͽF#Q 4x8g#r@HŇ'"X!z:?"t?:ޓ.sΑ^^OAؿU#Αkxw3ƑU9 $"#a-.I#=sWN"Αk0!D zIj7=hCo5s$a= r@H4E0#QG5ý^лWN"Αk0!~DVΏk{$+vz_zݓ^^OAؿU#Αkxw3ƑU9 $ÓGr=F zIjW@رl'ͽF#Q 4x8g#r@HŇ'"X!z:?"Ԯ؁.cvOz{=aV8GiqGV倐h?΃zGY3bGWSbt{;ҽw^yD#Q `8XB(:#e^NQHBӫ=G{ qfZzV倐h`?Zyn:z5+v$z;+FAG# M~Q5G92ʚi`8XB/>GQ+y禐1(kWHwjW@ۣߝEwzzoՈsd5iqGV倐O'2ED\ABǨ^#ѫߩ]]֣o~w{}aV8GFY3x{98cYB/>< (q}n fzŎD~vtY=^tW{i[5eʹ# qdU <FzGY3bGWSb #?1nW{5^fZV倐h`?Zyn:z5+v$z;+0џz^(kk`U <FzGY3bGWSb #?1nW{5^fZV倐cp"QJu)z:0ʚ;khG؟*zy~pO#ߪ(kuPx8g#r@HŇ'叢V"M!cׁQLؑy?Zھe=6mA~j92ʚiG{;ȪxIDF^m_^KCbD?-1nW{5^fZV倐h#=busyD=W{'&^<s&iq ~paz55p*@=#9*Q(kf~1Kb˽}OKGx[{ޏ+kG{s}6r@HŇ18QُQ!c{=̚=i}5r/@T۟~7>a[zHq\ 1!Od?tzc"F^fFGOZcMi-܋)e=>ߍqz=F#=(m.x8g#r@HŇ'}r=ìQѓX/qZ-b4j=i}z[֨WlgۣaV8GzQچ]qGV倐h`?tzc"9*Q(kf~1Kbmq x9ncMKȴWlgۣx{QS`U <FCg?F!b^fFGOj5tl[ncl_#wN9Gk׎5-#^mB~G$FiNU9 $}J{=ʚ=Gбsl/א;Ԏ\(F߽b=H{s 6r@HŇ18QُQ!c{=̚=Gбsl/X]r9Xϑ8˅ZlZ+6ѳQF#=@Զaqd  $|"1ҳ7BǠz53J?zRۏ'csr_:X9GCrt~Ml{;ߪH5mX{98cYiB/>< ((D1f͌ҏ#ʼnk9o,֣EΑ:xo_(F߽b=j9s DmqGVڀh`?Fzc"9*Q(kf~)N[z-^#uv޾P:^BK{&z= Q6l6 $发}J{=ʚ=GӖ^.1kNΑ:xo_(x~Ml{;"u5m+m@H40#=1 =(Im?RuY;xurc#q}tlmlZ+6ѳQD=@Զ`Yi_?':yS  ;'Һ^Z{&"}r={]sG~W=ѓ~8m rv|cM/rc#q}Az8"-(wؿU#Αk j۰sp8^f|&r ﯏G;t= O'Һ^Z{&"}r={]sG~W=ѓ~8m rv|cM/rc#q}Az8"-(wؿU#Αk j۰sp8^b]6>?)>7zOuMD\|#z澏26-hs{'Hq6֋6fb=_:Fr>qDZ+6ѳQF#=@Զaq{餜K=?}g2R{֧ҵ+6qGsTMK?ZܫIm?RuY;xurcc}lhGK|D϶G!j#^\QM̻^~k"I;y}Ix ^k[{&pa;^QƦ}v~)Z&^ۘcW'H=1V]Ƕ^L׽~Ml{;"u5mļ+~rI?ׯʪ3>"ν>M\^vMK?ZܫIM?R5rvIg/V}lXt;iGK|D϶G!j#^\QM̻RN'jx/IRr$Hk[{&p!z{u}elZ^mGOjb^h6fc=J_[sxc[/RIk?Z{&z= o՚{>ʸQۆa#,8cHݴϽُQ֣c}kֱ9zL[kv{'k}ŋ-=XRg^5˱wڏ^mB~[{& ®GXp8^i:}uD?F)[].Z~h?{~TǫE %eݩ{(W,[*N\ou0T?%N)Q~o;(۶n]x)x\&Uۏ{̋bG`˽cAߐ#V'tQ#; GR/{l{j<_o;{lbQX7Z(^kr#:,1LrkUqQm/o/,+ע!^&O^y.e1rrUS< +3kGk{ݳ#Qs$&m51G+6=IXX-^s^]krk/VBwRW^mB~GA_ٯ=ǥ^m&#x+2Z^m(DH?I[FMmMDGOR?"1V#ܾWNybE]/e:~xu-=/3vDԶ`Yi^ϢzkQ^K?Zܫ}'1iר8^Jj{}ZQxu3+zt,(ëkwmlki7ѣ~d̈i_[b~-mMDm6qs?iWd^GHwaҏ>j{~d~42zzُmcx1{u [Eg/VBxe%Zy5j=#ʼnۛRIDזXCK۽bQۆa;‚3:+t_YKAl> 2Z۳z݋QH7)iר8^v/j-1V#ܾW7ѩ[ybE]/K8WV5^(Wӯ=RX/ymL:FmZZ6,1Yi_UqԞ@.&(s=ng۽ykx-mMG϶khiS([%jbD]c=:u2^\}IgJ jzGkyGֺh3a^Sc[V}ۏ=ۆa;‚3Ƒ6 $m2zbyz cKJُm qmu{R'z{u [/r]g˭9XQ :΢˼zK.fRWgZHqb-Zׂn6ڽK=k{ȵז%Z?R Vڀ1CvvrfIL5t/ڮُ^-q-&JR.19N}.a]l5+z!W_RYtWoŬ[u+QHwnkAsTWdޥzKYDMG<,ڟMQ^?RlԶs35#5ObVﯡclm+xMGv:ޞK ^s^] \rk/VB2^k#Qsn[]nm|[ZQm_{E{,e9^L<]^#lF -# `  Q^M?$)5miZ%jdOBbVﯡcl%X&ƣWlg?zŷĵ\9^SD]zܚËu/d_{6,5uuZ!'Nh!kc.16uyMLB=r9ZGj} GVڀO'Q^M?$Ƌ͝kZc{kH։y}Vٸt,ʱ`c^nBsxMu}n߫KQrk/VB}!۰ԜCל/b]ڸDKؚ :ژE{=tcܖ cre-# ¾wg#+m@H'(s/c/RέiW۳5\+GjC F7) ZP*ұ(ǂjbkiMj;oki7ϱzuW'ܾW7~ף.Wu/^\}I'WSsn[_svj-mbk궞/蘚6#kc.u6Nr[&R˕yظ5jbD϶aAqd  k,ՋX{H4^K16.Wa֨Zb=(3|@Hw/RbKbk"95l=OHZFͽ}e_ DJ`kyBDΣ%5W|.ΖK^Fy ^gM \rk/VB'kruk%tcrغ\l*z\-'ǵQs,Yg^ǺC8]b]^q2FMv/F@'BH/k}z/6w[]Ӌ2/\RLg˥M\<γ&Vk]lU B'EW'L8^Y[MZ[бRZ`5j΃%k,ՋX{Hc]&8{{e.Zb=(3|@H'+}}:Vǂ[]Ӌ2/F2RLB#`t\B=m{o%5W|.ΖK^Fy ^gM]\ս[qZ]/KzqB^xe\|Bt1iuT8[:/IWjtPkԜ7^=:/ܾ֕FcCb451BKlBǯv/FG#a;‚31 x $<ҋɖ{PűỴ̂Ssbv$ܛܾ>lKȱc}Wo%嚩,W_jC#mz)xu5:&_{|w=rURn~iu/ zQ%r )u6ƤWbSÖk,ՋXkLo~ z_#}]ѬZέi F@'>~˿ o㌹Ws#q:+ϕ嶲_C)ޖb̋ŶD.Fz]CJ|yFS>lyV[_: k5R^k_jֵacؖ'㒂WYcrޱUV15w^\Xr^msu.ʵ܋97mzxe{{cLkZLo~뱷!1:N'Fb4k1sk>QЉfBII=;=Bs/w ]xNzk1RܾGMg0J?:{/t͏/Rx5{ ;g=} o?mE9r)٭PX)5޹TnX+KȾб_{^-- ;?~XcI\6tac6kr^y6l]K6Vmy;.)xu5:&[LK ~-$sduk1[$RÖ{R >׋[L,+sDMЯTE{z}{H [:m\Z[ i FG#a;‚3q 'rHX@/>a{^{O[Q\ʬRg_C)ޖb̋x&Rmc,#r\BjרZbM>Zm=zz/+r^y6l]K:VR:ϚXw~cS[sr5ʹzLs\klmb4^yBn?+-K--Q#62k&կi2^{qkN["W/z[Ӗ{՟(h${GXp8ϯϖ~I'^|> =t ^YneR-JMrZYb-FQ#62)K[kNjXaXLRPz并Km:]rq:*z+8Or{l3u/'5̝+QΕ+eXc˼nc6Vt&rt\:Go2ڲDb51BKl#C6jR)m>=$FㄭHD^-X?QHq9ß cIAskOyi+ʱKUVk(rbyǹ\oKe erk-QhR'xux{^W&H])Fb\ۥ6l.u8krtm5^<&Wg=%Nkn9';/W^+[Wd?͕ɱƖy1 F)nmi\e<ݶyoZbS)m>=$FㄭHD^-X?QЉ3\})D+_מ.Vc+2٭'Fl:ٗcxǹ\oKe erk-QǨ.VVo[g^zMM&.!uzkz?!q:j]Sꎶ:\-8֯園{ړse[}JlK{,Hw zkcL+. ]fV+e͕rWW-QY{~Mm6r/.W&JZ!1}Gqut+f Oҽx G==]fR.xRSbd+ {kz_5:Fb.RYh2]n9רZb"Q?V]&c ^]6[-'2AyM.+ϵ]jCd_ ӱV[.貜Wwl ~-Ӟ+uۭcʾ`\oseZ)tIco;e͕i-R뼲51BKlTcU˾lk856FekY+66&K:8dm֓t 6a'eiX+W.e9%F(X/ ] \˶T1ZLm5jbFXuY+xux{l:}Yt_-!8 =t{*W.e9%F(Xo˼mB R+}ٖ6Fr͹FMpoRce5Jպ%>!N{e]bKH}.+ϵ[jCd_eʽ2O;-׹ZM5SrO{rlkԱoNe+=$;Gr͕i\eZ]ulseZz-Q#6FcU˾lk8Q+tV4\yLVUKK|kۃ#,8cc!OG=ݞ뭭JKY\.}z e?W&ǂ.,W.-%l+v[Z%a֣GZ{ilLrh5rl:^mF{ ]a\9Z[Fs5Z~ x6ZZ}-5W^wWzR46Fez[*Kؘ%nKX״FE~F[ru^֒_8է}b/2l}^W)xuG:[αJhбz;:9mNZJlsnXd_V)ݷek5j㢡Wn?s$n[46Fc[o4Or/x8ÿ~>n %AwI:ҽ؄ڹD9x,mE{l]?ʵxe}.u2[Sbe[czMKl#]Ǩe5JlTyVM.wlLHc6'rTj2 LյxeZ!WW*5%V(YZb!wWW&W^'tevXb\ -n=O{~[!ly,-%zucYk͝+ڸkڸ s=G- 5uzߖir1z+HW\LzMK@x7VtOڹD9Jv[kkV׮זNks9uխ)5G;[c}ٶ圽 ^]\Oz]e:F٭OcW)oqykr-X ;\S^]X[Ʈsϕ[8R6n4ʶs$n[rPSm&#< ^ukc)Tg][j\yRGmh[͕mq55d:o4cAMܣ% 3%v;X2Q}m<5[br;?͕ۘպ圽qM}ul>ZWW?w]#&mYsK1:kmZZVskZmI#ǂ>+r-AoH]tBKq=^+OfhuKjyzߖyՏN1?zߖ*xuVW7hYsK1V\\ں5jFcw5w]Az-1r,:Q}].Xo-rX4pxg[{)NkR<qɖ؜^RV?:qc/&W6SG2Z*qFqlϽ{hus5ʹu99y|1JY$u}jۑcA׉rzkɕ{> $mνf)T75&F[/лyՏ~i_ǺL]JlWg8zu8Zv͙#Xr5ʹu99C*Q"~+c]UێS}[/J -a \7rJu[kb=]Eʼ87Dc]&[ܮw2Z[{hg|ќiF)uVm;r,[OAm(uz+K7 Y+nޣͭE} <2v{mȶp27r5ʹu99 ww>[ȱl=u޷J 6؁ 7$. Y+a#ϵo w{mȶp9'Ytv^`sKǺ~99%Fkhxs0` ҽx ˕Y+a#ϵo/Hlq=ʶzd[OvϜsek,:Voޗ-֙_>[ȱl=u)1W_CK,@@g8 3H -sЛlGc6m4tKz1^nӻ^Vl XsrlmEm4tӾ^/AvXN% 3{d9T#1]6% K ˸srlmEm4tӾ^/ۣmSe~NZbr &>eO}7yГ&yX]Iׅ؄ <=xD8kc+~n{ o <6{a|W<=sNΕXg_-ݯRQ5dfM^`57`{Ed^Nx$JHPp,=I׃LQx֌Ĕrz}nuyw/2/g{Ĝ˵a2) %]&Nb^ǚR 9T9igMm<]~ry L׃ؐ[vp~<|ջ^Ɨqų=bڐrH_r}%z[T0;gn^k>WBCP,|d^_ҵނ̽Qx֌Ĕ#U^ze_9kC["_cK,~e{Җ`m]Rߍ;rY?RH(zI=^Oҵނ̽Q`LeKۑ}鍁We\1y+-u}-z zRCf/ZOZo㕒t^ҵ 6~@j5UGi=\_~d #c[].޶C9ʽ=Җl=o) 7~OW_Oݻ  <8ixq2d \G#\mHv{ۣ6o) 9;XSfHޕt'&4&QV &_}nxSEk9+ұ-[].,S_,5>.XwE{mIefO[mXxBK1 o=+KP嶮?$ r.QJҕ{}H8szl9e.+51߈_F47ouۭGu{[zl޷& K6_#sNo-Gܢ%z:FzÈ.}}G4oo)L3.y3gE7] TdV{ͩwRs}}D+ #\VGGҼu}l&cq[I':B/>g|PdV{ͩiZ5ח_Gľ0ye_փ9oUOE; k_\&Ig}.!XanN̡ D]Nx5{!XanPw{q+k94g{ 9y[ $玅^|B= _ q7H!"␶QsNov?$ TaS:ijͿjZɵ+GDDĽQvm1bOs `RvWhI <8bx'}KnvGڸv]ߡ xs7!+ < KOr $q u(G@VaH ĆNen(H!"PRN x%+H q4en(!׮"";ס={Hcw(`2BNC!=}BDD|:T}}}eLz@Hi:đ)=>\OP^rבz)LjP!d0^|B~CMO""N(vzeg+0 x7>~ .{!xO%ߩy H<  9 wQҽؐC""zۖ}đ 0!@!Yo[SQs87G7 xp$C@휕J6%rn=Ju$($C@휕JH!"TzH%9;8$E!/l=v5qIGcMI`6 <8\/hQ클k!Lj#(M.?{MhLۚH~|} a$0rsI^#i^CGP^]~4mA&>~ ;2JLjѭdoyLjV^d+7RܵxeoG$C+!)MlJ!FU+{$ @߽A/>$O zxs7hHŇ VBվfUB/gAxs@P @_w޳߿%/CHsItbd{]qTkWt,}쟱vM$WCW+Cj ""}:}|>@vXُJw>1| x7d^2ĨVR={ DDđ]ڈT泠7~mҧu g_^|H!`%IADX xIe> zyx_?q$j ? J[W x^|!7x5_}& m$`72V!F(->""b$Dڳ@gA`#oXԑ.d+CQH[}DDHgUς!3v/fxT.d+CQH[}DDHgUςؿ:{pkBjyBl <٬ADKYxIe> zxs7ۉ|O6Pf铄g~0]bC$+M ""^ xmK*YfHA<{$n|O=}0]bC$+M ""^ xmK DnOhWj_}&WfWj^.d-6""bDBڲ#FWk@>c{oӉ'O%] `2qfk1G!m5@ WVb@U`GUwҧӵv!s(mg(#zҖm1z^>@M p?ew'Sjk?NzZHsJk1{CQ8|~}$ì#O[I':9EB֣&""bd 6z!Ψ7p~o$뵍aKdz>}H׃ؐC<$ xW!7!xc|Wg\*lU|u!6$OoR7Bo$*6<~"!+=DDkqfs_t6܃""btേ89SIݐ]x5േ=x!,@vԿޙ ~!BDDxmD4~o C<IADKZFD!7$. C<IADKZFD!7x>%MfHfA{CDDg`p>oI=gI `i ^ѭxm!""V 쟥_?ī%/fҼA[BDDxm!^A=K_u.V[~ īZgo6גs$ X^|H!lޤ "ek# 7x~}Ɛ^|H!lm;3 7xUg!H񪶠m;3Ym ^E=K !ͤ9xe[DDęE6"쟥+@i ^tmq&kѱ ī08%z؜;i ^""^VAMxs7,.+k^|H!lޤ "e ^ 9c כfM ""^VAMx~AH=q6ej Yq˯mc E5t,"" zC> 3c[Ho7>dG*Cz-*}/W``g;+9}{7ߠ^ H,"" z(1xE7w_r/В C|z-(H!"e x 906t_?]T- <7ȾIADD]A XdH O٩O <(͏TOKx񈈈3_JxW`Pgge[$lCgTqF;xPDO[D|Z‹GDDQ#xE03i'iO""^Vwgh1~G 976Ibt 6$NM ""׾;$ $EI bsJ/m>">C/}C`;AoH]tH[O=8DDY}^#^Qf【"2? #S/*zz}xE{ fBDxe{ fB/>"7`;og@/>$oR`;AoH]x!8wxx{ xs@"2?}=8DDī!^Yf【"2?}=8DDī!^Yf< "2?}=8DDī!^Yf【8wDDĻwxmD,(Nxs7|&8ϿnsvA/>$oRu0 pM}|H *HŇM "";6"׆wJ|d>u$H ̏Eļ^""U7s,|M>/EG"b^/*zxqT 9l~}洓'@@iy=8DDī!SY'oY6_m%7 8wDDD ^u ~o^"WhU1/$"a.Ħ{׽ÛDDD ^u xs $hŲ^/5B¯zxx7)6"6($ X/[|} ҇?_r_?R&!{@4?q]/JZD|*윅 O%ޔs~;ٚL@4?q]/JZD|*\`>?%K>i~2/ZY@u=8DD+ibU73,||u6%߲+}X՝qkAl < ""*oڈNxs74'R]#awZlM說^ҵ 6$oR7xmD`'HA%u$<od <8 xx7)6"n$ FO%ŖCCN'֔_UIxҗZiRDy 8DD+i_Dt2QNyOp+kJ3HUBO%9ÚKC@4?q]/JZD|U 9ɭg5;lw%Wh!i~ ^""╴x17sU&I#xy_]W>Ix'~kAl~6D\b=zqWr0g}r8}5_=+YJ8vOu$]bCq<֣x5oCܠ!7x7TRl͓gtEĦyx6"nP ėxf,Ka_+' ̋Eu-^ ""x+kM8M}tH̋Eu-^ ""x+kM0`_4q]x55^="ʚx̾!ÿn_4q;""kWy=~o tK!bwH!""*oC`B 906Y~n^ ^AlH! x$7AoH]t9jzDDī)xuX'hy$ +iN bj ^" yB^/XƫGDDWufހ87 $ "n5F}3^ҽM:BDD\k#>ΙG@l E;?KymDxs7hHŇ8&q);=xs@ Ι%r!+aw~ڈ7 oMA/>$Ǒ7)KymD遐P O>Zw$CqyFĝ 9K?wGA~/]""R^ y| hH/ d=!"".qoq+?bQCWpQا}D/ q)xg^}.It 6>#nDDĥ6"@ 9x?_^.' ҽؐCGޤ "".H=?~0HŇ8&q)x$ @ u屜t]ͦ"v7)KymD< 71x+IoH$mÍKɾNAlH!#oRڈx;!7!x:_]C|C9zp1Ҙ#bYcKymD@vΰOU|0JW8^kAl kAlH!# kHc}d!"""t$ ۚ$Whͤ1G> :2 D{T~/] bSZE.GP7p//gv7oBcEB]yI׃ؐCGxx 7'Jpc@;db+:_coDĆ8CDDDSv AxSiœ[x&xSv/"Lׅ cG"""" Ёe?VJY1qҽ cG"""" Ёƙ]MBn#W YZxYcxw'@gjlWb/O8X>".7ޖ{%Ȑ wؼ|]4mrDʾCDDDDDD, fր;-""""""b`f  'WQd*@YBr_+""""""6owQHGDJH B_ݮ@oH]x!""""""i@HݱO|8fӀ\.gg M2m>!"""""" x%t>Y!""""""^H "gq $E"gtM`6 H}BADDDDDD8fӀtM'DDDDDDD#A0""""""owQH!""""""N@oH]x(3x""""""p0""""""p0""""""l3 xIUowQH!""""""Nxs@CDDDDDD$E!x*a  Tbﯟr/m'] ]DDDDDDD[yp)}i:TgdYKBjc(V05\o>i~2/$E=tgu'鼯 _HVRWی/ZɸRCVR8vHm&𞉷'H!""""""bP᭐+btwp˺O>uIIjMI!jS8E@A{P&?b%JI:UCVR8rI,%J _EDDDDDD 3h~}_mκ_Qg~>v:Յ."""""""Ω}phMSI9XdQQd^GEDDDDDDk(> OϽ|Vjz֧z]H"""""""ⵅC!wW) v!`"""""""& 4 $taX!o7. ~u'ۅ."""""""b@o+x_N̟'fEDDDDDDD`HG&)~Χ:A//~ܟWjMyC/om߯s?iWd^GH!""""""  \Z]"] ]DDDDDDD^~G/~-$ƀCDDDDDD B//I"(N||?txOEDDDDDDD`qqF#ϯΚȪ 3ᗏ?SxZ]H""""""""F088w3!Wɼku! t(܍VODNؗʪ:wzՅ."""""""b-s7/ʊ_-%Jɽ>ku! t(܍ UaI!"""""""eqq :'vt= 0s88g3%[=ҿZ{֧zp9`q1>0s88g3Kq+^!00$䠯.QC ?xoMceL칟+/\;w:X}96žq2.2+c4=56CƑƷkO~}$wK/w)O4(x,쾟[Y/u>yy< m=u\X}46-υxm|#G#k9bWM[# #Ѓ~|},`ߏN.2&#뾋C19p\QZϹEZqrcѦzîxi\X];x۞ ]xm|#GvXGqz4.9v_Y# xfWY?b ϧ[&9!cKۘw]HDZ<lzqq Xzkx㘃>6n.(:]U:<ö1;wG`sotXfu>?8"ipX8mzk1hkxGR;lmza=w'M.-2{'|/ԀC19׽zJ`oj>t?pxcW!ogsab-dk>G븰{r8Ho7;f!m`g>Dc7&g\J?G k6lL8{?/xz1{.l][^Mr8 G$9&o~Tf_1l#}?ka-vgzh츏ϱk{4zȮ{k;.k9b{Džx1=o4k5^9jsxG7p8H``H <!00$xC``H̿ϟϟS`$|v﯏<)됞sn06B`dH+{dzo/~|"xM$=ݓ,\gm{e 9i'ckGB`dH x.?ʹH>V+Dv~,?F,hKX`>6Ŵn~Ͽ[j﵏ko$HB&Ɩ达s&iRH\֞c߆X΃[K>aem>q'S<|z.xܨǷ8yhȬuzl{}{M,ڳQ''ud$._r ?9^g9鵜+:ڙd\v$"_~#'3OI,{iJu>dU~.>|yN\m~c=r17mx>&t{/}!0279ooLp77/o'tݳ];_C?^ 5&4Ies籟j'wS/ƺkTΣWQc_36u~ǮSx~[y."m/W7/sSE_[/}rtt@_H^ pǛӕ~\zCxܯL;w{[ӆgf.\ʵY/,+s. 'я]+{OII;u ]߽׏7FXW9j! b£VݞXs_vu|<>@x5G[Wb]_{)BFKBR[m'Æ}O}c^m릱5~LyQoX@/HL+Ls[ܯ X{,vg]77}ϣ㓥y8/WnL)^k,10^82M(}?3_:{OoDZr77υp,$FfC )$nJ:}N)yֵ=QXuz _Q}~T&g=ܚ-)%Z _zITql#xMKs%tY\]Y\Q|:b. <ِ0(H < oZfwQ~S_~ٺ\I"hIz7Ol{\|n͏=ʍfYE骍CKZAݚ^ޗ}!sݟE_c0s~?O^o4N&h W,\^CC k読{y~>K*IG@ylĵ꾾^{ ɥ#sfI*x\i/稤x7/Q RMloT^?b _z㞨WkTRKD_I,CnhmkSO\XbkkϹ/|&[ ն{9Νvnfo|Ck!pr/|}=-ó\흖Oqo޵v@8B=, yOp2Z_T?KjmZećj.α]ݬwyƖXxm*Z-oĞ+Op{dY~Z Mm'~? /)Z j?K\}H\}Li: |@^kv;Ryky~n(q=tB+ AYZ%Xg7/X_z MC8B=*V0ѳל(~x2٥Tx;z%?S~ռ-lx)hS ~={ZP~9Q_٧7yn@ zpz0xR8A|%.&Gx~!.ONW"gZgGݖ͆v Aa xny>4B ږE>͗+g^Y_|v_|]kd4imAefmy#*֝i `p,5{_WGt;Dr{?G p "G p "G ꧕ G$v\Hp_kѝ5_R#|߆^+o_jQFcC,;hwA=./ʲ{7ExB  ܐC8r0xqG9G@<r9Gx p ;1<L&=|A kqwo|u?>xnC.WY90NAypq6ֲJP x# #*C8c8[ɠ;2x x~ pķAWx xB ǃ×B[P@<r<ب@m@8KyޠjB8[yޠjB8[yޠjB8cVh}iY@<r<ب@m@8<Vj<) CA@`x`Rmgm9yRlCA@`xMe35O͒_X54_M r(<6Kjڑyo|5!7F(m'hAce~V[b)i"m &)ollIߔ?5MYk8HpܸƆLٚV4e8 xBJIqٚһEyP@<rna8'N  pW,/ \ei}4CvpU ؛l wQ8rY "Q8 9eMw"xyV_(xУ <B^8HH}P ]0JM1QgO8"(w7٩m,.ݢM3pѰMoS9\8g-.8aћtdr̗QcqYă>8 xB1G" + Fpz1E<`8 8aћtߎ(⁀8aћt_ V*G4}W[#A}2HT(G ^TU%)=A Dň>ބG9*CáwucMx 1/K*ByC 9E<d8N㊛"@9dcS2hZ&7`hyS&<1 ֮G/u E< 'd[E"xp8C~ϑ>q0 o 6;ŸE‘3cC9dS-߳:V>(@"*GȾPXxPẖvGc(x A.̸V~"xpp|Z,|pD2F( ̓t(@.b1G!Q ~_-U (K),UF)y|vvGqZlkd3ćf.F-19u=36!8h(⁀̘N;s(2D-nlB`Z|wmo@;ՂpoV0քs.1S(x 8A8:G)}˪5"CR#CpDIl| QRXxpx̱-GTP@qpDIuE< 'G;UBV=pDIlS%m QRT >X%h[XxPd̑p_(⁀E±~GTP@ſsh pDIl[%^qs^>#J `*9cc}a@!4џGw6I8^-h[9ƚ@BceU#.^ OCnJ(⁀QpQ FpD!_%P@".V GT9vKU%Cn?hqYurxtӏǮY, d?{#4G~l8H0g]*VGN` <(2vXvҭÅ}ܺd[@=rTE<(1G{ٳ(,4 3n.G{#OEP@"82_F U4,bpLm(6D,nCYc~ ~ڢCvZxU\9g37pYuvtLklM:c[Ƈ DnY?Ҏii4;G'?eK6Ϝ5 KcZckZ{YEv~!r%15B(x ApEǴִ (⁀1s,zi2U\cZck4ѿUlkSEǴ4hߐ :E8]#:5@ЂecRR&<ИeZ~X)dTstLJyCP@B(,v4(⁀ñfG+%d#Ub@W$8cI8CRKGCr ˒߫=GtH< uC0քst|ȿc zE<x8#:$!(x pP_d]8 "+~tIG?Nk9N(x 8A8j"x@8N;? GtZ;G~ Fa 6;v|yu$ &<9Eb Ee?ek\W rS/9/f}AW#P@s nϛ9staXϜ=6Z#]N=˪ApoztG֑ˇX3)ˇ֥Siy\}C.Ӯ}1o;ƗZ7Kr|pY5"xB;G9c Oݭjr^hFQP@cr&(Gw+ M ~'K#( E@8"9? GTD94GG9ሊ?ƚ@cWƭ 9E d?dWE< 'd[@Ny%P@#*"KpDEd@sdCcAe>uGTDJd(Omm[סBk9~> (⁀Ea"72mE]CBQcx9Yvp', 4GG6>&}m9l!c,M%0ք||̑p6k/ E<(ܙpD6(⁀EQgq >.}Je@GcE7fmCVi>Lbcȶ,][zrmv>l%YJ,XxPh>0 lQtGP@"eՀˊe[)q;K}ˑy6(⁀lk1J.+Fm.)qU~zzINr2βo2<_܎b_G!8>F2ᨏזU6Tkd}LNTUwv.v sg rNPJk XxPdqySu: }㹤/ 3eeI__qjKJqܧE<H8rS b/,sF *K}__ >Zkegj7h ;iG14_/{YUc;::jKv˪g1Oܐ#m>)vz<8*GbrdI7㎵ :ʁP q;o0ކ1G=Fa^Pn  N#8ܦ!㸽q<Nc eh!T Bh)=^pDyb6mx 0(؃!t\ @0@8 !tL}ˑy C0@8 FW}En? Uhǜbl;iݪ%B7!@%n)B1:@B @ {P"Ї @ ԁ}#D.B cw,ew]D݇GʁOzoc0q!9=ڇO聂BVB8^<6@!du]sqU7ypQ!TJ@u!/,:^)AlDeq=+yM6\V}=rY!Ԝ:~M9nȱ7pCBXk?ȻgP-AY߅r Pp!ACuo‘ptoBҺ9;!/[+<}qB zLB݊1G!a B~E8 cB+QHBce׫fR W1!Uyj&e BnŘ0!P"1!($A!Ա2U3)cB zLB*^52!PbQHB_BBp X1!Uyj&e B~A^IB[1($A!ԯG!a B~up6 4n82BY0. 甍砏WQR W$Sgt觝:{ B \>a?)!V7NHB_BBp X1!Uyj&e B~A^IB[1($A!ԯG!a B~E8 cBu zLB*^52!P WͤA!ԭs W0!P"1!:Vyj&e B~A^IB_e׫fR V9 cB+QHB_BB+^52!P ׇxu{>bB! 'xm?}v()!=>"cwx{N'SP<{4 BG1ڳCw5 ̩7!shK \oB!dtp7ϻ .!Xj x x\r!h 9=<o<<!ǃr " G.z T3k{zpcQ}|0a )>nӾAp\a2 ,͞ptAo٩{o.~|!p{޺=st;{7%HzdHR~?k=:gG0 /v":Am#XA8?D pYuzGw=2&~(./*}?UݱA7@cꑮrrQPbgnC6qĽb0qAUV3e}_s/ve8}2Y!są}Q_|Q+b~z{ue^0ʬ0 3agg/p "І6og2T晗np彵e!c9 >Y:FRߙ|uks=U?_}Hy'duue!sDU|$f;7)԰ ieݛutel)/톔m6% 3D۞Z=Bc̼{a'm-_9B1㋡-tY-0:lZ?:o wn:B|gs!0?uZ-k#bc9kh{j/h8M˛˼/̺4ݏ팷. c ^l!([m.aZƨڞu8?d gObK/i=mD~f2ϸ Ik4pϱZնE\ +ZfP\mZr6b`m 2Hϯh3=ۑZr"R7yaZ1ܞ7y5{-S #.`3p|Au +2E7@hqyܙW\^en%U:^D~b2kkG^`e,'{2n2sk][f:tomX. *_c%l.T?zXIENDB`b'8Mk}}Zk[=<7h\:~7H &5fL+Mƾⷅc響!w|?]-܆:sZYt;y]B=8x\3c Rt ƾ] & Y ,ky[[ݚByCUQs&x\3یP,b]&hA}o=ؾ6D}Sw_~>TĢݞ{,mo?ZP}dY{l)oGgٻߵ~Rg0w['Lycoaƶ|o+s02 8e"Y mj]ؾ2(b]&h쎵` .~[ol첮Jc+v=T[b[6 ]i1CkYk7ZoƖ˺5vn롲,mY٪Rl}lk˅mSc_'ʲ\+ۥUmT}m02 8e]Uˢ~- G] ~YhuP.3(b]gR2/Z'P`۵.B]dmEt]m*u][oۮv闷dv ]cR:o׶rMڮK_GEJ.i]dmUߦ6&m^ڵN~yKk.32 8e[.K_Zː_)֞RcBZgQ'l+?Q}o^0ʀda?e+u-@r0r.ò7v:idaY5$FmS2 ceQ'a?P7p(C02 8 {g/;y醷&aci3kC]kڶo&c;GƎ N-fSo;7 srn]+Dp^ayS1 ;vfb$sN]]?J#ןGj|ːef|tus(2$ur1A%(C02 8^/DFb c) I.1vk@ZF餬cLb*fF'0w['I37I/ cΑuF02 8Lv:Gu0ʀ3ək*fFdIJ;|MvdI5tse@Lq4Տ|x*FH`e@Lq=s1J`e@Lq=~1J?|M B>e*,5e_ep4](7mS{3)Ǝ(bs_0ʀh߇` >&A?>[7tc;1Q^.0vtݖ1IA}7GMNؑ `e@Lq5Cn ,OOReF|F~LL`02 8 /)8vZS5b=Ǝc4߱Om?+|TR}=Hw1K^?e&5A#קdA_љcG >&A@΋cGN7p]S)A ϱuFS@wwܭ ;r )N4cG>&A̱ ]]n쾡<Π1c*cGN7mS@-d5Z5n(b e0ʀ3h1cL0v4 >-{\i ƎfGx#0㇥opˌ]c'89/cws{cGonˀxYrR~xǑ%[a1Ź.kv7]Q纬ɥƎ"ћe Ǝ.k0v` )N kɘo[R%O}K0ʀc`(]Q纬 Ǝ.k0v&8DiifcGAkQ2£Vf>!e)ZmD-bȔ_ߵӲ9y#Pu10v0ʀ3&(v-./tFƾO$j~Q2|=&~zϷ,3[_^r79αQLg{eߨl@2cG(L9!T;?LƎ6u"9s9q:f6sgLŠLt"FS@㍞_O1v0ʀ2eTwrӐ}Qm d);D d8~f FѦN2 8L߈mD02 8Le0ʀ;v`@we$$,QTI8Kfj |se@LqYRoXc@e$02 8,Q: )N8KS1l!=KOw|; 6dr[𳽾9rxY"S0ߵc(` )%o lQ-KOKQT'a<1 d#`Gtʲ_rQTI,7n_>`[`h`2s0Y$C2fHRd:9vt:rʠcVb02 8K0v[$acG ˊS ` )NHH؏&M~T(b}6$cG_ 02 8e l' lA!',XMT-[5l;aˀP"~F~(9T` )αD[(bo_I()J02 8.BPJTN~<!Jot3PP!t&-bչJ<402 8Ө?Z Ǝqhߨ P.(Fl([߈ %BHh!0]̱# ,̍ٷàToƭ7B9`m϶iEVGJr@F$br.cw>&6Y*M[$L hvCW#WcsǮoGt7WhpG~>%QyN}Sgi`py1Źv&BȎ cGDٱm˺~`` FUh#Tm%"#Tm/A5v@#TP_;e;B%۱02ei,!4>"Wp/M~cR]jUNO/*C-\{^Ypte˺^{^U;Bi-^РC}or #W-4BJs.![{`B%a=νP !_cJPYV_IsS!T4[U!Tu8}Buh+!9i_7 x4}X߃}B%%>{sk9.ɟ-u}"rE)Eb.ˡ?\a BPYhmzFƾ]܋Be=[ w. IyN}2STTcP_{*#c'gNuyxhLPS5k~.wNlG#3Ҷ}Sϯϑ'2Gc⪂k*Qh)2$Ծ׬Oޑc;rq7s0z]b8>Q>=;Tgos׻I^1&J☘c?ʌaTs;ްF(j|N)c$`TP;lb1SS~]>q%dI򄂋qkInyϾ>vzz=Vx=A0v g7m4y[5koѮOt<֘m ms0mCa: c~}[eOys4iW2MG瘆pMq's,zκ5cA`찉l1X#Rc}˶clv1Vqu]C`x9̣r|?7dWh ?ٿ?;msy(X5&(lT]>Z~]>&5vtwMmIKEy0 [#b]h>~l]䍡 \cyO&!(l9y};ݴYo&ڧ;ggӾ't5/<&9woqӴǝ7;2tLm&tyAu`ϐ>c025b_s]%O20v*߿!P=*@:IENDB`3 A@@   ,#of Car Rel Eb/No MultipathNo FEC (bits/sec)PSK Mod Guard (ms) 1 bit/sym FECSym RateNet Thruput @ 1 bit/sym FEC (bits/sec) (dB) note 1note 2 Raw Thruput Bits/s/Hz @Note 1: Eb/No estimate based on Peak power limitation, no clipping or carrier phase staggering and Page 56 of Wireless Digital Communications: Design and Theory @ BER 10-4 EffectiveSym rate*(all 2000 Hz modes have similar spectrum) *(all 1000 Hz modes have similar spectrum) KFig 3. Typical Filtered Spectrum of 2 car 400 baud 4PSK "Quick Brown Fox"LFig 4. Typical Filtered Spectrum of 3 car 600 baud 4PSK "Quick Brown Fox" Candidate ModeCyclic Prefix OFDM Worksheet Cyclic PrefixPrefix (ms)-PSK1000.2 (4 Car 200 baud, 4PSK, Prefix 5ms):4 Carrier PSK, 100/200 baud, Bandwidth = 1000 Hz @ - 30 dB-PSK1000.3 (4 Car 200 baud, 8PSK, Prefix 5ms).PSK1000.4 (4 Car 200 baud, 16PSK, Prefix 5ms)-PSK1000.5 (4 Car 200 baud, 4PSK, Prefix 1ms)-PSK1000.6 (4 Car 200 baud, 8PSK, Prefix 1ms).PSK1000.7 (4 Car 200 baud, 16PSK, Prefix 1ms).PSK1000.1 (4 Car 100 baud, 4PSK Prefix = 5ms).PSK2000.1 (8 Car 100 baud, 4PSK Prefix = 5ms)-PSK2000.2 (8 Car 200 baud, 4PSK, Prefix 5ms)-PSK2000.3 (8 Car 200 baud, 8PSK, Prefix 5ms).PSK2000.4 (8 Car 200 baud, 16PSK, Prefix 5ms)-PSK2000.5 (8 Car 200 baud, 4PSK, Prefix 1ms)-PSK2000.6 (8 Car 200 baud, 8PSK, Prefix 1ms).PSK2000.7 (8 Car 200 baud, 16PSK, Prefix 1ms)Note 2: Typical carrier placement @ 800, 1000, 1200, 1400, 1600, 1800, 2000, and 2200 Hz (1500 Hz center Freq) for both 100 and 200 baud modes. ?8 Carrier OFDM PSK, 100/200 baud, Bandwidth = 2000 Hz @ - 30 dB{Note 2: Typical carrier placement @ 1200, 1400, 1600, and 1800 Hz (1500 Hz center Freq) for both 100 and 200 baud modes.  a ( Note thes Eb/No numbers relative to the FSK500.1 100 baud 4FSK mode in the FSK500 sheet Note 3: Most likely candidates in bold. Proper orthogonal decoding will require mixing to a precise frequency (nomally +/- a few Hz) where each carrier is a multiple of 200 Hz .5 it Mod4PSKPayload(bytes) Frame LenqNote 3: Includes typical 160 ms Leader With Sync, 16 symbol Frame Type, ByteCnt, Payload, 16 bit CRC, RS Parityor Guard Max Thruput>Typical 1 Car 100 baud 4PSK spectrum after transmit filtering Typ CrestData Mode/Description 6Note 5: Excluding Leader, sync, RS and ARQ overheads. Note 1: This is the reference Eb/No for a BER of 10-4 for single carrier 4PSK @100 baud @ BER of .0001. (see Page 56 of Wireless Digital Communications: Design and Theory)8PSKRNote 4: Crest factor is WaveForm Peak value to RMS value (pure sine wave is 1.41) Raw Parity Factor 4  (dB) 1 (bytes/min) 2 Bits/sec/Hz 5 (ms) 3 RS 36Non Data FramesARQ Short Control NAID FrameConnection Start Data Frames(used by all bandwidths) +CONAck200, CONAck500,CONAck1000, CONAck2000 (bytes/car)>Typical 2 Car 100 baud 4PSK spectrum after transmit filtering Note 1: This is the Eb/No for a BER of 10-4 relative to the single carrier 4PSK @100 baud @ BER of .0001. (see Page 56 of Wireless Digital Communications: Design and Theory)>Typical 8 Car 100 baud 4PSK spectrum after transmit filtering >Typical 4 Car 100 baud 4PSK spectrum after transmit filtering 3 ms CP1 ms CPRS 40 >Typical 8 Car 167 baud 4PSK spectrum after transmit filtering RS 60RS 32RS 8Note 3: Includes typical 160 ms Leader With Sync, 16 symbol Frame Type, ByteCnt, Payload, 16 bit CRC, RS Parity (add ~720ms for ARQ cycle)2Note 6: Modes in BOLD type above have been tested. Frame TypeModulation Type Code Range Overhead Payload/car RS FEC+CRC/Net Frame DataCRC SeedNotes/comments (Hex)  (ms) 1  (Bytes)3 car (Bytes) Len (ms) 2 DATANAK w Quality 00-1F SESSIONID(5 LS bits indicate decode quality (0-31)BREAKENDDISCIDLE CONREJBUSYIDFRAME8 + 2 CONREQ200 CONREQ500 CONREQ1000 CONREQ2000200 Hz Bandwidth Data:40,4132 + 242,4344,4546,4748,4936 + 2500 Hz Bandwidth Data:50,5152,5356, 5740 + 260 + 21000 Hz Bandwidth Data:60,6162,638PSK 1000Hz ARQ Long Even/Odd 66, 672000 Hz Bandwidth Data:70,7172,7374,75DATAACK w QualityE0-FFNotes:71) Frame Type and Frame Type CRC(16 symbols of 10 ms) 3) Includes 1 byte Count/carrier24) All frame types in BOLD have had basic testing.1 Car, 4PSK, 100 Bd1 Car, 4PSK, 100 Bd, RS FEC6Payload = 8 char call sign + [4 or 6 char Grid square],Includes Caller and Target 8 char call signsFrame}2) Excludes leader (length negotiated, typically 100 -1000 ms) Does not include ACK/NAK and round trip latency on ARQ modes.Note 2: ARQ Througput calculation includes 160ms leader + 160 ms ACK + 400 ms total timing guard band. FEC througput calculation include 400 ms inter frame gap. (divide by 6 to get uncompressed WPM) Note 2: ARQ Througput calculation includes 160 ms leader + ACK + 400 ms total timing guard band. FEC througput calculation include 400 ms inter frame gap. (divide by 6 to get uncompressed WPM) 4A,4B4C,4D1 Car, 4FSK, 50 Bd ARDOP 200 Hz Bandwidth Worksheet3/2/2015;4PSK200 Short(1 Car 100 baud Differential 4PSK with RS FEC)<4PSK200 Long (1 Car 100 baud Differential 4PSK with RS FEC) :8PSK200 Long(1 Car 100 baud Differential 8PSK with RS FEC)4PSK200.100. E/O8PSK200.100. E/O4FSK200.50.E/O54FSK Long (1 active carrier 50 baud 4FSK with RS FEC)none4FSKRS 44Break,End, Disc, Idle, DataACK, DataNAK, CONRejBusy -CONReq200, CONReq500, CONReq1000, CONReq2000 -IDFrame (call sign + 4 or 6 char Grid Square)4 RS=Typical 1 Car 50 baud 4FSK spectrum after transmit filtering !ARDOP 500 Hz Bandwidth Worksheet<4PSK500 Long (2 Car 100 baud Differential 4PSK with RS FEC) :8PSK500 Long(2 Car 100 baud Differential 8PSK with RS FEC):4SK500 Long (2 Car 167 baud Differential 4PSK with RS FEC);8PSK500 Long (2 Car 167 baud Differential 8PSK with RS FEC)4FSK500.100.E/OA4FSK500.100.E/O (4FSK Long 1 Active Carrier 100 baud with RS FEC)RS 16>Typical 1 Car 100 baud 4FSK spectrum after transmit filtering !ARDOP 1000 Hz Bandwidth WorksheetA4PSK1000 ARQ Long (4 Car 100 baud Differential 4PSK with RS FEC) 4PSK500.100.E/O8PSK500.100.E/O4PSK500.167.E/O8PSK500.167.E/O4PSK1000.100.E/O4PSK1000.167.E/O8PSK1000.167.E/O?8PSK1000 ARQ Long(4 Car 100 baud Differential 8PSK with RS FEC)@4PSK1000 ARQ Long (4 Car 167 baud Differential 4PSK with RS FEC)@8PSK1000 ARQ Long (4 Car 167 baud Differential 8PSK with RS FEC)!ARDOP 2000 Hz Bandwidth Worksheet4PSK2000.100.E/O<4PSK2000 Long (8 Car 100 baud Differential 4PSK with RS FEC)8PSK2000.100.E/O;8PSK2000 Long(8 Car 100 baud Differential 8PSK with RS FEC)4PSK2000.167.E/O8PSK2000.167.E/O<8PSK2000 Long (8 Car 167 baud Differential 8PSK with RS FEC)<4PSK2000 Long (8 Car 167 baud Differential 4PSK with RS FEC) 4PSK200.100.E/O4PSK 200Hz Long Even/Odd  8PSK200.100.E/O 4FSK200.50.E/O8PSK 200Hz Long Even/Odd 4FSK 200Hz Long Even/Odd 4FSK 200Hz Short Even/Odd 8 +24 +2(Robust 4FSK Data 50 bd (32 byte payload)(Robust 4FSK Data 50 bd (16 byte payload)FF 4PSK500.100.E/O4PSK 500Hz Long Even/Odd *Normal 4PSK Data 100 bd (128 byte payload))Normal 4PSK Data 100 bd (64 byte payload)(Short 4PSK Data 100 bd (16 byte payload)0High Thruput 8PSK Data 100 bd (108 byte payload) 8PSK500.100.E/O8PSK 500Hz Long Even/Odd 0High Thruput 8PSK Data 100 bd (216 byte payload) 4PSK500.167.E/O!4PSK 500Hz Long Even/Odd 167 baud0High Thruput 4PSK Data 167 bd (240 byte payload) 8PSK500.167.E/O!8PSK 500Hz Long Even/Odd 167 baud0High Thruput 8PSK Data 167 bd (318 byte payload) 4FSK500.100.E/O4FSK 500Hz Long Even/Odd )Robust 4FSK Data 100 bd (64 byte payload)4FSK 500Hz Short Even/Odd 16+28+2)Robust 4FSK Data 100 bd (32 byte payload)Payload (bytes) 5 <Z5) Connect Request and ID frame use call sign and grid square compression to 6 bytes each.54, 55 4PSK1000.100.E/O4PSK 1000Hz Long Even/Odd  8PSK1000.100.E/O8PSK 1000Hz Long Even/Odd *Normal 4PSK Data 100 bd (256 byte payload)0High Thruput 8PSK Data 100 bd (432 byte payload) 4PSK1000.167.E/O"4PSK 1000Hz Long Even/Odd 167 baud0High Thruput 4PSK Data 167 bd (480 byte payload)64, 65 8PSK1000.167.E/O"8PSK 1000Hz Long Even/Odd 167 baud0High Thruput 8PSK Data 167 bd (636 byte payload) 4PSK2000.100.E/O4PSK 2000Hz Long Even/Odd *Normal 4PSK Data 100 bd (512 byte payload) 8PSK2000.100.E/O0High Thruput 8PSK Data 100 bd (864 byte payload) 4PSK2000.167.E/O0High Thruput 4PSK Data 167 bd (960 byte payload) 8PSK2000.167.E/O76,771High Thruput 8PSK Data 167 bd (1272 byte payload)CONACK500 + timing 6 CONACK1000 + timing 6 CONACK2000 + timing 6CONACK200 + timing 6 ?6) Connect ACK frames include 1 byte timing info (0 - 2550 ms) )4PSK 1000 Hz 2 car 4FSK Even/Odd 100 baud68,6916 +2=Robust 4FSK with two Simultaneous carriers (128 byte Payload)78,79>Robust 4FSK with four Simultaneous carriers (256 byte Payload)>Typical 4 Car 100 baud 4FSK spectrum after transmit filtering 4FSK2000.100.SE/O4FSK1000.100.E/O>Typical 2 Car 100 baud 4FSK spectrum after transmit filtering >4FSK1000 (4FSK Long, 2 Active Carriers, 100 baud with RS FEC)>4FSK2000 (4FSK Long 4 Active Carriers, 100 baud, with RS FEC)3/2/20168PSK1000.100.E/O 4FSK200.50S.E/O 4FSK500.100S.E/O 4PSK200.100S.E/O4PSK 200Hz Short Even/Odd4PSK200.100S.E/O4FSK200.50S.E/O64FSK Short (1 active carrier 50 baud 4FSK with RS FEC)4FSK500.100S.E/OC4FSK500.100S.E/O (4FSK Short 1 Active Carrier 100 baud with RS FEC) 3/12/2015YAmateur Radio Digital Open Protocol (ARDOP) Frame Definitions and Codes (Rev 3/12/2015) 2j$ $t%0'o(),C[-/ /9 50 1k 3~3 )4p44r$55Et6,99::x<=q>e?AA\B DDFGHIJ UKccB g2 ;BZgs  dMbP?_*+%,&ffffff?'ffffff?(?)?M~ Brother DCP-7065DN Printer   odXXLetter pX7 '''' ,@''''dArialdArialdAriald'RickWL2KCMBO$Arial' ENGLISH`PRIV+DCP-7065DN"d333333?333333?&<3U} } (} I }  }  } I} $ }  ;ww,,,,,, , , , , ,,,,,,,,,,,,,,,,, ^+^ ^^ >^ >_ >` >a >b >c >d > >e  >f >> >g >h >i >j > >k >> >l > >m$>>@>>@>d@ >n  >o LLLL >>>>>>>>>> >p >*>4@>>@>>@>d@ >n  _` >q >*>5@>>@>>@>d@ >n > >r >* >6@>>@>>@>d@ >n > >s >* >7@>>@>>@>d@ >n > >* >8@>>@>@>@>q@ >n > > >* >9@>>@>@>@>q@ >n > >* >:@>>@>@>@>q@ >n > >*>;@>>@>@>@>q@ >n >t >*><@>>@>>@>d@ > >u >*>>@>d@>(@>?>(@>@ G  > >w >*>?@>d@>(@>?>(@>@ G  > >x >*>@@>d@>(@>?>(@>@ G  > >y >*>@@>d@>(@>?>(@>@ G  > >z >*>A@>d@>(@>?>(@>@ G  >>>>>>>>>>> >{>>>>>>>>> > > >|>d@>@P@ >}>P@>@ >n  > ># >$ >~>d@>1@ >v>0@>`@ >n  > > > >Ld@>@[@ >>[@>@ >n  > > > >>d@>@@ >>@@> @ >n  > LLL` >! > >>d@>1@ >>0@>@ >n  > LLL` > >>L LLL > > >>d@>@P@ >}>`@>@ >n  >> 0pfbbXbXXXXfffff*. ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0 ,1 ,2 ,3 ,5 ,6 ,7 ,8 ,9 ,: , > > > >d@>@[@ > >k@>@ >n > !> !> !>!>d@>@^@ !>!>n@>@ !>n ! > "G "G "G"Gd@Gd@ "G"Gs@G@ "Gn " G #> #> #>#>d@>@P@ #>#>P@>0@ #>n # ># LLLL $>" $> $>$>d@>@@ $>$>@@>`@ $>n $ >$ LLLL "%__________```` &> &>>L '> '> '>'>d@>@P@ '>}'>p@>@ '>n ' > (> (> (>(>d@>@[@ (>(>{@>@ (>n ( > )> )> )>)>d@>@^@ )>)>~@>ί@ )>n ) > *G *G *G*Gd@Gd@ *G*G@G@ *Gn * G +G +G +G+Gd@G@P@ +G+G`@G0@ +Gn + G,GGGGGGGGGG ->->>>>>>LLL .> .> .>.>d@>@P@ .>}.>@>@ .>n . > /> /> />/>d@>@[@ />/>@>@ />n / > 0>  0> 0>0>d@>@^@ 0>0>@>ί@ 0>n 0 >  1G  1G 1G 1Gd@Gd@ 1G1G@G@ 1Gn 1 G  2G 2G 2G2Gd@G@P@ 2G2G`@G0@ 2Gn 2 G 3> 3> 3>$3>>@>>@>d@ 3>n 3 >o 5> 5 6 7 8 9L :L8 &*nPHp0(  >@ggD g2   dMbP?_*+%,&ffffff?'ffffff?(?)?M~ Brother DCP-7065DN Printer   odXXLetter pX7 '''' ,@''''dArialdArialdAriald'RickWL2K-CMBO$Arial' ENGLISH`PRIVBDCP-7065DN"d333333?333333?&<3U} I} $<} }  } m} $} $} U} $ } I Q} m   v , , , , , , , , , , , , , , , , , , , , , , , ? B,BBBBTB P* C >L >: > > > >0 >9 >2 >@  V  >4  R7  >?> >> >6> >A >3 >3  VB  >E  RC  FD > >>Y@>? >T >1>@d@>P@ >Z~  V6 >@  c@@@ R@F? >% >>Y@>? >T >1>@d@>0@ >[~  V6 >@  @@@ RP|@F? > >>Y@>? >T >=>@d@>[@ >F~  V6 >@  c@@@ R@@F? > >>I@>? > >>?>@@ >[ V >`@Rz@F? >& >'>I@>? > >>?>0@ > W >0@Rt@F? >LLL>LLLLWLSM GG GM ZZ >W ZZZZ[Z\] GH G GI@G? > G$ >a@GGXGt@ YI~ H? G GN GI@G? > G$ >a@G@GXG@ YI~ H? GK G GI@G? > G >a@G(@ G XG@ YI~ H? GJ G GI@G? > G >a@G(@ G XG@ YI~ H? >>ZZ>ZZZZ[Z\] < C C  C C 5 > ; ] >8 >4 J$R$      ZT<(  ~  DA??Picture 3)]&`~  DA??Picture 14 )&]&`>@ggD g2 ƣ  dMbP?_*+%,&ffffff?'ffffff?(?)?M~ Brother DCP-7065DN Printer   odXXLetter pX7 '''' ,@''''dArialdArialdAriald'RickWL2KCMBO$Arial' ENGLISH`PRIV+DCP-7065DN"d333333?333333?&<3U} I} $<} $ U} }  } m} $ }  } U} $ } I Q} m   v , , , , , , , , , , , , , ,,,,, ? B,BBBBTB P* C >L >: V > > >0 >9 >2 >@  V  >4  R7  >?> V> >6> >A >O >O  VB  >E  RC  FD > >VY@>@ >T >1>(\@~ >P@ >Z~  V6 >@  c@@@ R@FT@ > >VY@>@ >T >=>(\@~ >[@ >F~  V$6 >@  c@@@ R@@F^@ > >VG@>@ >U >1>n@>^@ >V W >@R@F`@ > >VG@>@ >U >=> v@>c@ >Y V >@@RѰ@F@ G >>Y@G? G GG?GP@ G X Gp@Y@HD@ G( >)>Y@G? G GG?G@@ G[ X G@Y@HD@ >>[Z>ZZZZ[Z\] Q C C  C C 5 > ; ] >P >*hJ$    ZT <(  ~  DA??Picture 1$]&`~  DA??Picture 2Z P$]&`>@  ggD g2   dMbP?_*+%,&ffffff?'ffffff?(?)?M~ Brother DCP-7065DN Printer   odXXLetter pX7 '''' ,@''''dArialdArialdAriald'RickWL2KCMBO$Arial' ENGLISH`PRIV+DCP-7065DN"d333333?333333?&<3U} I} $<} }  } m} $ }  } U} $ } I Q} m   v , , , , , , , , , , , , , ,,,, ? B,BBBBTB P C >L >: > > > >0 >9 >2 >@  V  >4  R7  >?> >> >6> >A >O >O  VB  >E  RC  FD > >>Y@>@ >T >1>q@>P@ >Z~  V(6 >@  c@@@ R@FT@ >  >>Y@>@ >T >=>q@>[@ >F~  V06 >@  c@@@ R@@F^@ > >VG@>@ >U >1>r@>^@ >V W >@R@F`@ > >VG@>@ >U >=> v@>c@ >Y V >@@R@F@ G >>Y@G@ G GG@~ GP@ G X G@Y@HD@ >>ZZ>ZZZZ[Z\] Q C C  C C 5 > ; ] >S >(2TJ$    T0 <(   ~  DA??Picture 1`!]&`~  DA??Picture 3Z ~!Z]&`>@ggD g2 .<  dMbP?_*+%,&ffffff?'ffffff?(?)?M~ Brother DCP-7065DN Printer   odXXLetter pX7 '''' ,@''''dArialdArialdAriald'RickWL2K-CMBO$Arial' ENGLISH`PRIVBDCP-7065DN"d333333?333333?&<3U} $} $<} }  } m} $ }  } U} $ } I Q} m .  v , , , , , , , , , , , , , ,,,, ? B,BBBBTB P C >L >: > > > >0 >9 >2 >@  V  >4  R7  >?> >> >6> >A >O >O  VB  >E  RC  FD > >>Y@> @ >T >1>t@>P@ >Z~  V6 >@  c@@@ R@FT@ > >>Y@> @ >T >=>t@>[@ >F~  V$6 >@  c@@@ RI@F^@ > >VG@> @ >U >1> v@>^@ >V W >@R@F`@ > >VG@> @ >U >=> v@>c@ >Y V >@@R@F@ G >>Y@G@ G GG@p@GP@ G X G@Y@HD@ >>ZZ>ZZZZ[Z\] Q C C  C C \ > ; ] >R >X((TJ$  " v# ,$ ,% ,& ,' ,( ,) ,* ,+ ,, ,- ,"? "B,"BBBBTB " P" C #>>>>>>>>>V>R> $>$>>>>>>>V>RF %>>>>>>>>>V>RF &>>>>>>>>>V>RF '>>V>>>>>>W>RF (>>V>>>>>>V>RF )G>>GGGGGGXGYH *>>ZZ>ZZZZ[Z\] + C, C- C~F$.$$$$$$  > Z@(  ~  DA??Picture 1!]&`~  DA??Picture 2x! ]&`~  DA ??Picture 4% b-]&`>@ggD g2   dMbP?_*+%,&ffffff?'ffffff?(?)?M~ Brother DCP-7065DN Printer   odXXLetter pX7 '''' ,@''''dArialdArialdAriald'RickWL2K-CMBO$Arial' ENGLISH`PRIVBDCP-7065DN"d333333?333333?&<3U} +} C}  } }  } C} IC} C    , , , , , , , , , , , , ,,, ?~ K`Z@ @AAII > F > > > > > F F  F F >  > > F F  J >!)Fp@d@ >@>@>@>@+>%  !@ @ F@  D Fp@ D  F?  D >)Fy@@ >@>@>@>@ >/ F@ D Fy@  D F?    L >)Fy@@ >@>@>@> @/>1 )@ @ F@ D F@ D F?  >)Fy@@ >@>@>@>0@)>6  @ F@ D F@ D F333333?  N)OUUUUUՄ@@N@N?N?N@/N+ !@ @ OUUUUUՔ@ D OUUUUUՄ@ D OUUUUUU?  N) OUUUUUՄ@@ N@N?N?N @/ N1 )@ @ O@@ D  OUUUUUՔ@ D  OUUUUUU?  > ) FUUUUUՄ@ @ >@>?>?>0@) >6   @ FUUUUUդ@  D  F@@  D  F@   - + . C C& @ p     P(  ~  DA ??Picture 1Z]&`>@"""ggD g2 7  dMbP?_*+%,&ffffff?'ffffff?(?)?M~ Brother DCP-7065DN Printer   odXXLetter pX7 '''' ,@''''dArialdArialdAriald'RickWL2K-CMBO$Arial' ENGLISH`PRIVBDCP-7065DN"d333333?333333?&<3U} m,} $ C}  C} I C}  } IC} C} C  v  , , , , , , , , , , , ,,,, BDB ?DBBD~ K`Z@ E* > F > F F > > F F  F > F > F F> > F F  F >")F@ d@ > @F@F@>@+>0 !@@ F@ D F@ D F?   L >#)F@@ > @F@F@>@/>3 !@@ F@ D F@ D F? >$)F@@ > @F@F@> @/>7 )@@ F@ D F@ D F? >%)F@@ > @F@F@>0@)>< @ F@ D F@ D F333333? L&)MUUUUUՔ@@L @M?M?L@/L3 !@@ MUUUUUդ@ D MUUUUUՔ@ D MUUUUUU?  L') MUUUUUՔ@@ L @M?M?L @/ L7 )@@ M@@  D  MUUUUUդ@ D  MUUUUUU?  G() HUUUUUՔ@ @ G @H?H?G0@) G<  @ HUUUUUմ@  D  H@@ D  H@   - ) .  C& @> $       `(  ~  DA ??Picture 1B0]&`>@ggD g2 `   dMbP?_*+%,&ffffff?'ffffff?(?)?",333333?333333?&<3U>@ggD Oh+'0@HXh RickRickMicrosoft Excel@֙@1k՜.+,04HP X`hp x  FrameDefinitions200HzBandwidth500HzBandwidth1000HzBandwidth2000HzBandwidth OldPSKCP1000 OldPSKCP2000Sheet1  Worksheets  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    Root Entry F B4>kWorkbook SummaryInformation(DocumentSummaryInformation8 wl2k-go-0.9.0/docs/ardop/_ARDOP Overview.pdf000066400000000000000000010312431414214701500203300ustar00rootroot00000000000000%PDF-1.5 % 1 0 obj <>>> endobj 2 0 obj <> endobj 3 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>> endobj 4 0 obj <> stream x[s6Lo $$Au:$rw]~Jե7RHxx|N'a$](o1Z5_Y4 >,ti2_ﮉ:V4#cr1=,4\LQ\O7t功ݾVkyzOs˩@̾ zAj^mcCJ5y·T&w?gWqjGH"W2P"? ֈ$X#1][,KdI!>_"LK1Ɗ8 ÜXz+ _f.!(~RB,㏐>\2m1h!VX:1dG9)h$۱K2 ܺ|iiM\x'6&N {i7h+j|mD3$, #a>LP,+ŕXDjM4n~||!#bDc`X- x1] ދ5!cF*WA2U-QN+!/,Z DNl0I>IJO{`)k!ˑK/AMŲT4n}lg~yEMYBE oAsmIU7xkɌ mfP^H3)*-6^j&$Qa[zk/)3E`Jc=_imz3 ŻZmڇJ)E@%@ư/|L^SU ^q$(xV5kAScWria;z[n%`Vqx߰Q$g(=AgˑJLqi݋[u|Ĩ(\Z /FV?A+&f9U =;vV-Hxy|T.OVyu˂#LK]Q琚"'πU`'zz#XILO#Orjb)Mmk݋;K/ b4 2a J1zs|VD|Y6B%(zDFߺZ "K-uV6%hOte/AjHq3m62QdqQ}Qc!C4G~!&Tr8䰴~f@OJڄY6c(_E]eG'Z u U Uczn(5#W65az|V!U K0?c1Gk($v0AF5 ;ڽXcN+S^_q~gCϜ;^rߴ:OQ9Npalgy{fp7#Vktה:26y-$MC $#( vFy3} wC8E3JOd,yDjy+e!9#Vmer1^$,pssc1:Y1Q",a\⻼)J?YByq Υ jaỺ*^8#PC:ԘybxXi ix=h>/ya " |0!j{|zMEqQʴ=9cJ+{aqn8o^v 얃H2rX[L1dЂݴq̘3-QDb=V8 .^b?<@}ںdayLJ~u۽"G(!eÃxCpV} tr[M)fpQmU5%\1kN &A\N9hˍC}񨨈\TT{}V/x3+8yq| 8X ג-l/,m=rA)`$*BQ_lIB@&})/qJ1HPI U{'$촵$-ؾg{kGG\s<58Mf|z/.n.3xљ[F'qhPk/^r)z`<1CSI3r=IMK^BjKsv¼F0̜;}F>^F_[ cQZf.}ѿwO;SˬWn^3eob՘s`6[=I9iYXs]$B^ZO(MO0<+od,z 1Mg$昤n%O|t<6ikGpbg<{yO#uBbB>sN1MEr⺬Uw&pYC?ↅyu6!4J-\Ȕg^|"#QОw|bzS}jЕWvv"W79nZZmt@)f:Д {FYKˤ?o|I:"OUڻ7vX7|c=>YVK$)9% t;A/CV.v ܀֦G*:S'2TUC""yWKbtE:!$h휨vNӏ5Tjp4F{SvhKP)˝o J~\VQc;Z{8EhJ{JG5&Yg]un*,6/,T;wqǃTMXku:AƩkh+Gn)wQ$E?"s]\Zq_}zQMl;(:C7STX5<6ۮSݲMWWJ컾VfX`ԩi. s {8GNAanQKI3_^iPqVo7O+czD߈51.d,>q6uWvŒos;M|[ c45KLVN0Mbw;+7S5KUz\>9$hMR1=-i_1-duИ]&,}<5DqL yi[?B[86n|@vTz"YY'$OPmj-ir1x u;3;96f ι"֏6Gx7 4:0> endobj 6 0 obj <> endobj 7 0 obj <> endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj [ 11 0 R] endobj 11 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 17 0 R/Group<>/Tabs/S/StructParents 1>> endobj 17 0 obj <> stream xYnH}GHh6b0cG“@TJ֐8:KKnIY1$ԩ8"~\?,>7oߜ̥#qxF HKff/?߾uR?旷o>p*|mݙ }L hiWNIDΚKHĺyrg :׫@P]@O| 匪%a!|0BÒG%%,Uk\hJ(DTL(^}@֗u[xrLGWXQ> M+7}NHC5/H;׳JͶvE|<bB 䱴 C/cr kc2`U#aIûM'oy@(2,J`VGh{zAqAaY@ 0:՜uK@Cr9.d%iMgTsWe_A5MX O@E&٪幢 @?`؏o!CKvb;(Đ.ESeJ/J@z,dsCΠ3Sux"n) O@[C>;E .2rG U幬 nSC?"_=[ 4x+Ūm`e5jr%cV`N; qxC3fϐK4M-u<߫$*kGtfʯj2|x`ZɁRJҳH\}WY5DAzi#ƺ+ڙ7x}9Os!.1Cl3rCw lUUι&} &J$SipPIİ?Wچ.Ck06b~Cב" h" )v_T̴,oJ>R7݀ʵj90`f)N7AyqNO !G' RT(0K'ͤU_JT70L1{Dx*=">)!_Ԥk9J2 Q*t=.=y{:AxBQT $9g!AtuCހ{n7H24IGyA]PF&yys~D)./GGҴ:3P= L{NxtաNXl| zyfȳGܷXkFI,{*f:+Մ)#'c~Ȏ>1s1֞nO%Bx>Sblb)[q >й^O!hq(k:~楲TV-zqZA'!ך]o^ ,08k5IR/LhֵGZeh>D$ix(#/1. Fb61a{j' 10֞ZfH )V.yX_au[fk\0$HwTk֩rbIl5QG)uASbyj7h&Hz'ʼUS*2 eGM):LjxヽO2 93LjstIjP|2(Zpx+I_fgLP?̵3laxaZjH-b D*B\_'%Xz-TɡZQ"boOk~lZ㚐#}*wГyb˙զbClٰ f|ӵ4*WM9P=u ۓ/{z-i4ht^#Gj9SȎiIxCPwz~w1]^%i ,U7ݯEP e ؋g(Yq'T D?WЍOݣ%qQ]5(1[Q ,&M:W5İoj%N&N2?LS%G2CE^ZgbqW矉>~WvU}%:{;f̬ZaO _(E6.HXsɳTQTۉ6ÁVMDfq!GWg&wz̷5'SӆC'a CɏDּ92ROMqd-wj3- q70gHTCV|]W?3! $ \`e6vi' endstream endobj 18 0 obj <> endobj 19 0 obj <> endobj 20 0 obj <> endobj 27 0 obj <> stream x_O0 ߑ4B;@i&Cr[֠I۟Swc:V'cͤ2#@z\  AIƀBPa@ m<(4N,и'2 5dR"C ^$K0@%"$6%F1I7 k H%q3`q)%i]&l#9 T: o]؃l]ߠ2ց\Ofh4,j3P81m)0])äV.bΫ㠙S*.v[̩ѼC#'k|̯|W'X[f*߲bBn[PEeC E8?!U endstream endobj 54 0 obj [ 226 0 0 0 0 0 0 0 312 312 0 0 258 0 267 430 507 507 507 507 507 507 507 507 507 507 276 0 0 0 0 0 0 606 561 529 630 488 459 0 631 267 331 547 0 874 659 676 532 686 563 473 495 653 591 0 0 0 0 0 0 0 0 0 0 494 537 418 537 503 316 474 537 246 255 480 246 813 537 538 537 0 355 399 347 537 473 745 459 474 397] endobj 55 0 obj <> stream x \Usap&DQPQ54IE4^Ų{ڽVaaeenYmk7Yn7) sgl~8ܟ=g@4~Ƞr!>^k{Ƭn׏^(+3Wnx@aTiY~@xy6ŨquG::o(85sT? 6mi~ }!?ںh]9v>+ >Z>>C?C?C?bPoΘS FEPƘ!2aCL6X zzVt`tsjhR f5Wt C4"qx ]1+k"`;G7gBi"4$ 3`6,` gǬ,հIy-bul5ɶi=^;*3B6w7RqD/OϬo;K'mgƿ=wWmw{ʧMm2yRcn|m͸cFWV*/+Y2S\4|! t2)DsӨUaJ\& 26's+*xނ>f U姗ٚbKz3Jz$3؆L[;PjuI _Sjox9IIXVf]jf[|Ueͥ^F=>r:+:j0Ku"&E!x>1eԒ(`ԖO1ҧڲ :2ZiN ) >+Vgt2쥾G8噾L{iiƪv|Tݶ;ۻi jG{̈́8p8$>;=0 t7CmmoEK*l| ίkF5X.+㲕j. pGͲ5򡑏g([0c/2s4 3* ]ԣT vFPa>sejA|Pa+{00rII%l bK&ԑڔ;xGU\GAz u `;k$#)8V;f62hCWTm!Le-LS5:O5.HS4x)uMmipD> V@`V% \CEvxŸAK-)1ۧKl͟kPcM}Ukbj}g#%I}BVce:64:S ;SԫV^%*C%v [;N~k&{wo)J}Mp% *E8J >%|B7_ GV/?!q؟FOx.*rRo"Ix: τ"Jx2 %‹?R/''"Ba?n B\'&GEIAh%L' S M)ɄIF Da"aK'j 5qjBa4PAE('J # %PDNFJB(  |B!CȖ 2م)7)],B&I@ B?f("`pN A$FH$X xG% 1!z"IA0 p#h 6JR*r #C ' ' -^!|Mp% B(sgO >7%_MM#M MC oQoޠ^Lx{ eK?^?OO=7 QgghOSc{ O$5wR; ۨ?766~Gx.{=at5!Xăq=*KE]JA*FX珮AJo!%LCJH%o ]XC%W'G5 G5"GMA\jB\5q%]A%/"y %~H< ({QLHtP<eFߡ<(#(< (܇e=ʽىw܁r;m(PnEe-(7ܨxoQ֠FN a$ '!GRw~#wmy s s~CF7p !  }PEy۸,o$QFy\Q:JR2ńńEvHB aC(&Ӕ QH]( ~OOlCه"@cPG>FVK!#%T (B9PJH&$mD@'XqXC0yBvD9rG{PEWkP>F_Q#qu"Q(QCه,J'N\(QlEM6^NXF8oģM8200JNh!4S DPOp\d,B&I@ B*M Nd =ك@ (QʟP^Eye4.+EW̕xyJeWzWT,^qW|fqYXV{ƥ^ҨzIb{5vQEHbT{}DmΞCW.Da,5 6~;τf~|Km^Ko+7Ϟ/^T1۶qwܼyV[?yn'lҕ_X1\{0zzn! v7h]ygo<;5;s okjN䝼q'ލ:WwZ8XXWc6VyG*+5l[&$f]i=fi Ķc [wC}&>vK<\ڶBqQ6ze``o_%\>-pٖpE8N?M?O/yZ4xp]3ʭuźq:\]JZyvvV\e#KuZ1KUJQ11`׈E'?n519ãEG}Yթ_ cRvOq&7t0&E/Uk@IB/!ʷ#$t9uA 2uj}zƋ_\^?kkuxބx>z必%a>ROdrT])X0aa`:i֑_%;؂iBff\O;8@ wv\,msm|p%x;O}QKmEiλ}lWd垲/qp+6NGXr}:<?(Zsi%>{ >W|b{ԏgj~q\'}FN7p1&0b=-i饿Q1(G{<`, ffq̂fDĒ0RXj0$Ռ%b`l1~:1@6& ӹyK8.Dx ۏ]/ߑLTB!TX:vnC؋JKòObR{|x"eb)TkB=w~8Q>ueo,twf$$QzAT(.a` //H'I_0H˵ bTHS$499N,N$ ˑ3gjLbdXhե«qrYB) Jţ_VjdB<r{O RKtA '?J-1q0^=:&5.>=-s\< 㧷a|M;{>Xy,Uu`bzC'&3ݑW:գ-ڴݪ֙lVF$ʽ`...)l3eMmʋeMqy˯ٷMmhN6R-c;;d;&[ԋd`ŊQ$YVaWh&t (ݠ0؋򆖧ϰlrQe1Y>R#S ˖51E>@Vi' !& ki5ĥvkN238 {T|3OkGY 98BuwFZ:~a39ٍ2{Rc1 / M=*|`G #V <?t0ksPSYz`9rUk KL#C&U䠪Aʲ Eiٙiuu߰Ҋ2L]QqcFL+}='AfINۈuI;fKs_~xTv;vAt2˞_*5JO@~DA":] :*pqiET<74U3BpW%LKgUujml_=6"&%4o"xGu@?<{#s&NW3"S)܅8fP98Is'syTZ4? # 6;|εypަ)%c6Є1[\uݜ[Zs;!j{8yŕ9qNqn"m6SY#{O;tPĆ>V6Mw^ʣ8|EXvM{?zI38=u{pJ)U8Kk<~4d&ul_>M 1Z9?+kzh42Sc%5AΪfQ4}MȞc;09K(E'͓\+| : %ybRhȖ8E ZQ5r)@ȳЎ-\+ߚaTӭ8M1h ݚ@֒w^ njjp)AjT mHUELoS$HZZ|}Ft6Q+hu;Jz99%a]zK`~q[!Lz!E.Ysiy @JYiV-;KKsZu)jZA](.R;8Y݊V!pv08Lt!i ݪ (10Nu}^9*Xth߶}i6woч0\']AN:U$[9:4'EDN2[- ^p&5*AIKv[4:.<(G\']|~eE8<ó[֢A[33UK' S^P= _\>?lzmpHPP2f2Ɋ4# c%?rKQܴDmDlvI1jjluVݳZ5MۂCgTP6;3,4{E{ i.;;VNaƶVRP՘w,|6\=Ƕ˜Ξc>c9.Ebzm'Dan.=<0wv^Nst;P<2i;tey|P\INMɎ dىb`Q)*ɶiYƒuS;,i}GޢB/+8-CRX+䅝iv]Q/u\6 djlN|K y\N<F2Wh3dc2-zd#bLqeKjd=ϙx2~H i,+N=(}#?#%ə`w$bSbp֧ MˇV0{]-YҜuu5巗 \mKOTwuy-JxkVTC#*nkݝ8kSYT:9ck>\Ws퇷UڪW6\^dSXw_i7s7u?K..X?'DC HRq33BGTixsnU(;snDj{|Ksr ~^Фg&d}b_9'椳WꌶEނx񪹏.h}Vʘi+6 *{5PXC3ߪNH =-"I ;/&.U6H ite;x@:]JW G3ȃH ~z kZ}X.亢&7}pǸLOFQ4:0L߸$%ӬLRX}2u}?:d E o|x񈊥Lw[zK5zK=dm1C[؏ .FQ;V!4q^nz<1CxI m½> ]b$vViKKbbc2|G0 Zπ!gѸ]I#熫De-zpdMw%%ɋ Dmi2QS0qq "酕]i+7YrJ^)^9RvJ#۶j-кnY g2ɰNю3LZF4eUf%]]Rv/iٙWqz号\04N#˔>f^egO.k_RSӛF]>ev1{lv;7%&iғb92sý k4fk>OD'8)]гAf""dVge}RLN[.}&]$?颩oWK ]Hk~uϧx*uD 7xo=Zca|wS\qB}GQge˯}\=J1uxT-XD?Zv-{nYES5R.z'%֦fG8,S"t6:^'2|v2~ rM&R4 )EF,B+VʏPʴ nW^R_&2Y֨]¿mOƉ׍g'z&<,#8UL~0yNc01өg'Y>F dfp2'I<5bxrb%'kqVp5&he`vN65Mk⻬tQWE 7,\h7K0o`$S.b-$.r0Z3a×l[<ј6"uLAėO7[3h> vTFWޠTVΩ*`@x}#&1%n^=PDJ^`OA>>R|@.꤂B3•xtV LɳC[Cv'-ޗU\VojuV[j%vYՖ-2l kC-ycLH3ā0d@LDzb3fG.IPUEm101#qٷZ]%姜jc\hJ+4Z-IaȌ3,,N+Jp!z7{[]͇kܚ%k"VSxeIWwnvK|mleCɆ[c[ T:lg"eI9[`.` ήŭHb0-m%C5EH>)lr : nU:qwʉ"vMvڱ3rc'YJvgÂ[\fyNrL8w浬%;4Hښ&.Y ?7]k -޹kvccuC-rAwי/JZb3 X(&qDWpr{&^ҫXt 3J/Z?Zō@&ԜC"a(Qdr3ǞZt/,,swInĭ1VSk4oI9=YTz̷R9x]M}u|t-,|hUj< +NǝFA@][Lp92|6nZtڴaw@RhEqKMUc˒j$J)_>ӴOm !'cfP";>(o4#/CՑ|i-g끈?ym{Q+b\Vx7Mޔ>GQ1BKÖ;OP'+cw 9Gw~È ^UX-"AqU<[Fkk'.=]{[/E~d9lT cBGA˪ZPKaRm΍Tdi[[0]d(1]\Psb!lu˂26OowX VҹB.OsķkLVgXVU[WVW{$F5>J%a/$}QwߐMehɦʁ JgbbF!*8L^ph:7z_TnlgE-S%i2"3nO 4tq&w66ʕr5uGa&'huev<(^l޶p}i>JGTT6]"/mM>xҦL]ymL:#XM'Af} =`'w|Ifg\G/S-.ǫO&<}dvvffoƼ+Fi7VKarp=컬] TRѦșTc5yN'HJfVbpueh* ٦hA!YWgt [Scd"qm5,o,m4 5YqIX{ޢlI]DȩSYd: /&\i,J&gEy]e$eҒe~.>wYIl)|B16!3d ).%_D]_P_QbWuIAG'}+UWPn JYV&RiTg3MNiUpBHtNKrgS\WㄕJr|Y&T.$U\FܨjCͩƓ@ifz+ *fr.Xjw6T5T`Vi(sϱS2sAe:K #Ȝ:*X>2*õ !mv EbDAFaNSY8*g>}90VG=#;vӼ,V49{[na8+&&ImzlV fƧhJX7;);md$yvඖXnafFa˃w$ 0>l$␕Zj5Fuu~_RC&;#2ݞװŜS]oy(TJpjp§ZײGL5k[s~OwDGe! 3aR3 Œ} )ՋB<0wʍWvKrO?Z^S=)Dg|\n=<eE㬬o#$3㇠P߀ꞩ*Kɝq Hs+|WU\!f!dT/!KHAGqmH{36]qc|:ؓnXXGړ*^+E'UYt<&LJrɝIUz#/~oR بDe*+LeL^Pl&*_WBpM־e&), xC.5qʋ t?6>l?:0/K |LX\cX'×*dT*yJiqe-J& T~ʱ*%=kԂ2|n m\TЕTO=_i‘IS[S~Bv ֳV3MKfLP]\i޶x+ɟ݉Kwn*0 ٫WwFNzUh $C"]`;t۾u0Z+ Щ4ë9l^d/rW[Ek| G@\3i fM϶mE=åY*}n?gY;+KJ{Rj{4s3Wy~HUuyM%MϢI擧TK9tn[Eշ9/XSf5 (ި\X+X%5XVaJ,IJ ,+Dz2,+(VbeVF2|d׳<-SIU) 19[ ^Ꜫ}vG|;J7x*ڿUʖ\Ol`-X]ܸ,o+{{:w*)4^zSڿn[SmM6,WYZWrQWkL`iEU.ݰT_w#h:eB΅rL|IsBYLVJ4oʸeF;Gڶ=MPJf,!&?&ca#.k(5/n=;;\zOݡUVoAUΒB,c3GtDǎ~ϯtoz}gv]Ԏq2!؄*_(<;qaӐi4&x\Zj )}?̅RrqwC8 dTEj(GD)~+XFL&Zq{Hc2N9SЩe䅯wgeB6ޑ 9zǝGroL٦Zj:6DbVQw.V˰IԝNR%ek㓢/ƱmyLiUeFj--6IwXUq P_\[jE }m Ƅ-}"KlyYq@*=׬yv S ydqFN/>!%s(e'+6D%;VEJBT]8Zy'! {W[:-׷ x5nt u~/ia&rl/kj5VoOm;.dk׶ƃk.,& )??E mjDhRތ %8c\dZRhX7r\Xƭ[˛ jUoF410!h5pV\+6׳Z;T[r2òg>=9P?ƤeʍK kMX5l_"+e75jH4Ȕe5t|Szesn.dy\E+… n-ϛ(bk"%7-Ag3΂C-KvUXEy[//uԂat-(G̍,a &P >s*O"Ag%Ƶ-+d7@+#TܷA Z.\5.$hB܈8}g+8/"8yA-^@&*GQUp%}<ݙj~cXM 8Hn%:^N^bJ҆%a'cx --+_YsUjٟ~[|zuGOHuhGXZ>g`d4CPL}@WpB!eH3dz$xas65uv$},g _EQ(T3w\EQa6ﹰ'87RۿlRPWܼfW}'fW~ӛ*I cIW_ڭz]or]ςvGy[UqsKB~+⩭HB”|*bd#bޅyWR2a}) 0MdV9?t:xt$s@J|&8NOqe~{ڕ`Y$ߜЧ DaaJ`'e*gǕa|UudĆgs^=`48ٴĦbk J660Onsl{f?ӹ!S'GfkI] S;l [GRt9J˽H)ݲ =,#RGɺ?Bo_F۽nuw)o/"-"-"-"-"-"-"-"-"-"-"}xLx p&jyր<ԂԂ`w/CT h &%@2 ھ1`ʶy 8͙&[y`?H 4nۨ$pC/";  -RAWQC1lp<ȳBԣ:u$v@PM5i( 6}{v '.ïlǠ #4}1 i/$$?Mn9~~J@}&K~= :O;_&%@Hy'p8Gh(c O'iH{%@.-Жȳ3տ<_ xE3Ϳ88)>O"-3M\7}8.9O"iO]!xǀU@wmKkh)dGP{?B5jЖˀ(I=Ӝc <N#%> 5oǠ_gAWIǠƷǠwq*/@bP48;e^F{@a 7`<5I1r*) xO-@<{8=r6οGB&7?=Yo,u`4DLK`RHĴ MbZ]bZ򁫐V"}ILufbZ%kŴ䠘֡~?1߈ioiIF1"")%HTi)bZi%B1@VĴ{Ŵ R 1-I1Cj H%JQBZг,= iABZг,= iABZг,= iABZгuāTVԇwFR#hb'AjEC o Pz?`\C.}\'7zhAA|HP8o 5 u2cq{y AeH: %:I 8D$$h[i[wCi'FhN?zTlG7R@9М~ʱt$j>Tcâ3@kxvfH@jmҶ ;i4Al'?J!L%g%lA}=J!ӚypaL|ńRIPo BNFqX&GI}r+ I'[?NovFE8Ty G=;LvIkGti͂ B^O-PP[CGE@(Ei?[_T^C+P!%ZM5Aw.T>Bmm<xJ8J};A4G@E/jڵ>* ڽ\|v$OPnڏWNvǨ{~C'=[hA׆iKEoxR$g~B/ SR5-$ ?fFJNFsƜ۞a˵$C%B[75wG: }[*sNQ`HDUBzz} 5i>d?5dVET Jm5~q}#Cݣ܊ᡑѾ(зghЛ]5%Nn`wdKt&8o7swot/F{$!(:;OpC##(8Mp#\(ѝ( Aw0#c}rplwJ&zG)7<2r{n/ wvr}(iHp}Pnoe,T4{pf%C\4^{t/{鄶AnlT@N0'Mt u5wzGiפ{6j1\yT/$s?:;95k=a=*MD[ƺC0˭;9gsp RD@ r1(Fk@@Ċ-F!,Ԣ ZVm" kP!(` C9gn6-}}?gϜ7s6K.Y`A߻ⅅs(R8s%ӊ.*pd[GϛiLD 4ف&,{I]݁&hMzehr-B 4)Dh<&hW4@(G:4_Ah .mI{4Mh2MnCd!<&A?hMhrM,1]K3Ѥ' Ahr+܁&!4MGh|&?5ms=K[Жg!h2 M&I>,Dd9D7/hM>F=hrM,pv/Qg 1cN4 >XRW)dI4&CdE4MNIQj6S@4&d2܍&%h 4yM^C&4$MG^h2M&I>q4yMDuhMN6 \&cd ̕i@W4و&~4 mzmMG hr#h$&oIMn49&M&ëUÌxrfc"_@Ԙ&%h M'T.49&cw#8K&h#w3#{A4yM4ى&ZFd܋&+54yM>G_lvCMơ\49,GW}4DhrM,mJ[ftҞ1zkZ3hFMMTX&[ 4ه&'B858FrL6s2q4y MF hS.rK]&Jlp Y9gs)\r>H"-"]btTWfW;aiUs'8+,wqsBjw%3d:N"u.]s9MðtCԅ){5]:4NsZܹ!ee9:ȒCU3>C"eV\ijb=~مk5)+`|) $9'g@bb{(c.9V&SYX$'2Ӑف aq˶hFFi8 >7Uͦ7 n6 "IӈAFJl0x#'I1 )N?P >D&3\,#'x6hQY77 GNZ\eD5%^{YץN۝:71prsT>:Q&^n`gG2;ĂrOJV櫪_Z &(;IA-IĩkNe5tSxM &_%"Ғs͓Q]XgZgo.'xܚǻ(aa+aa}Jo_.-"=;9kx)GrտpHCoicedDa Ӽl,:5[vjniΰU'B4bK޴0V` uJFXϨ{#{u͛28ʊӿ,R[OznYR+`JQK8]܀'>9ssG.d┬I+ƌ#uu +Of>b\rP6iې4WgqSVU;Jl1rde̍%4禦d\"#17SѦ& ):Z e<*٫l%%Tm  ^z+ejue^vtmjqTo-r6 KO:MB@i?MM^:W*(b+h1( YPZawMt͛YSSSR[Wl]}ŦKWףy}WeRn/*㏤{(kDT`RUWwhn?Y2+?+Otq)+ucϩRLi=#*5f{gTė&|^!Hw]ҦpR5Uvp L{CnIJLk7t͗".]mT.a$Zk'.4L ){ È/1#/y $e[iӺQ .%bǛ̄H_Dyϗ!2* F>%vrƹϭ<`P2L ۉ ,kRS,$ܔn%WθjEhYZ"E:46mbh l؄eh;VTȝѦ/r]*;X,n ^WV8N"ы mNr]u"[v*4FQΤJҏ? SP Zz?9^v2aXzrsT΂t=AiڭbrJW%9*3hJ_<~8*=ޒGznO>jy,"W9nZD$ooL&|,Yrk-AܙgzrQ+yd'cɎ:3[EExd=@᜔gMֽ? F 9XqNJ+su` z-())(/ F46麞jiJ$ÚXkpc*g+ǔRSJOcx]G75m

~d/gFq*3G.3U7J`l ^W5fҘccm5y&Mm 4nnbe=s۪;j愙g>+{cWs νsn箝ܯPd..PtMQ^ёyuW8t޲y󪋯(WVqw?¡gB,`܂3Ï o W/,pe 힡̼{{{޻޷,1K%J)fŋYT]کt@靥FOZe>L}G/9ؾoؙ6R~VA)o@sk7m*P~9y*zg[-KߒKѺDY6}m^V ?=Xyb;Wnjgɫ+˼;dWzצŧ?K-n;Th^':c}"4 voXu:w t`ΟHBxld{8r&&cbDra2wJ=2=ߛ ),>6է~ߟƽvGҧse@e=FkddU)֪v>֡ʓXQڴkԼQo2&yEe\imڥoI@ҫu@5uMmRgbM˿f~bD_H?eC9m\GZTLM(n[֞1]'09R@WHXw߬5m%Z Ş_Yk.ҭuV W5{ESkePhJ~* /V*CrpR2$j5?vTGKRS g=]~ul~%a+I!w:*+rw#cW }&rd_UkѷvP;!j7%MUԞH(Q#fr"C=|ĪYz4˷xj^l굠M㵩|O=颓vߟ[c\ԛ\4Z8țIN$GW&!v/!uM,=^ޒ{0Ju"oh|%_~AYUƷ<&Z[#c] ߜ"ߛBM?@Ceȷ̀|Nk(U! y½(Xs%a <#({< 7%4m `[\;\ "׸Uۡ@̖o0]N"|* Q`|_n#ZYUiƴ#Pgm4O̞|]`Uwl=fDm{m7D 'Eb nY LP 4r.xQp0:8 $kL0_w jQogіYY֕6v?mvf[csfu~j(6>13ϾwAI,rS꿝QxZ%^>6^/Od⡖2Zr%7niAj`*c5O}POW5>ǭ}"'NBS6} NC#/4˪h+0&YuϬzc2AU vNP v:8wP  (h mc}bv^`89=&~+L6:ojA w6"(|a!p0_ל/8_j`1r2F/&n`1rV}P[ak(y;g=Og\`:`t3R!v%W4boY,2.BjefFQffefFQffefFɽvvvvvvYTˌg3c1o+6nTkc5&ʬ2k̚(&ʬ2k̚(&ʬ2k̚(#YH3bQ2rZQ2ZT=#eTFOiT?Q4֢j-֣h=֣bQ1QT**h%ϱ0>m Vص{ 1u:gNY'~I?뤟u:N}X+;Vvfb{ٽl6{=͞fOfb].lv6xm'a;=SEocuQ?kgvY;~N?kgc].lq/wۋvYo~7?[gm뀭b}3222200O0Oee2w12O0wY~??#5:,g=}Ķ٥=5ڋW-32s)XuLC*F$\Drw]9n%}$HsjZJԃ6PSoVc=_&{IPw(PD;Q-bjdWbjC+f~+f}շ\Amh2K/cw*j'GY&A sBãrq[ٱMv1[SOI?%SOI?%SO~(y*ILJfR2̤d&%3)Ixrr+#v;v%5~_Nwpnvpnvpnvpnvpn|CCL3K3L}%vh=ZOzAo}ȆK B\W ȅ+a0\Cjz ?FaQ0j³<+Ex ~2k:?a kMx ކw]8h=G6F(&+m |V۱IgqG9lP[c`MkmդimdY_VVu|^ux9Ċ}YowȪqv 3\hwv .?p1zЏx=:ҭ.&8n| 5oոB;hȂp>t. tnptM7YA\Cp;w>iwo&̂;a>u,RX eGWNXݚU㦯󬨛~Z̡zH7x ߳yC@O B "?p1% B?'p A W` gp\Cp`8> F| 78O&0nRX ep?AXSz'oIx ~ % 57-xޑoDo*`=l-*` |,2՛6sx!Dց,<.@?9x<9x<9xL6.2Z O_dv%2̥ax_q$+c2x#J{hIMl7CZ&1D?s=k^vwD-}L6L3)< Syq^9{l=/$zS  p L8.0 .*\ 50|5M׆u4*|)$ ?7qv%q^aK&c75#p'o}sB-KBLFhI0R - @oC0p$G[!a1c8q7 li> > ßs K(La&?· +p!̂b ep9| +a6́jڰ>j9;8šĒX^'PJ"W)8eW\MԦ/Sa:LY)0eW_~UW_~UW_~UW_~UW_~UW_~UW+v|> ,t \".¥p\_`*vحb*vحF; Dx)qMNlv].w+3:VΥuy}+"4a#6ҡXbvɀ]2` %^R6ШF4H4H4H4QhE.uѨF]4QhE.uѨF]4QhE.uѨF]4QFyiQFyi!{e^W!{e^W!{e^W!{e^WFoFoFoFoq/{iK^Ҹƽ4q/{iK^Ҹƽ4q/{iK^Ҹƽ, (X`ޫX6U(S.\LGJ+%nuvJ/ QpPpPp/GIT,RDKT,QDKT,QDKT,QDKT,QDKT,QDKT,QDKT,QDKTS)RLJ1b*TS)RLJ1b*T*QDJT*QDJT*RH"T*RH"T*RH"T*RH"T*RH"T*RHbn*Qi4b*RacF;Qbwvǰ;1aw cvǰ;1aw cvǰ;1aw c(vF3Qbg;ޥ2 n<^/{|~oq2n\ƍ˸q7.eܸ8q=q\z8q=q\z8q=q\zх K,կ,(Ȃ,(m,wp''qc =1HAz c =1HAz c =1HAz bK,aKeCA6dCA6dCA6dCA6dCA6dCA6dCA6dCA6/!O<S(O<S(O<S(O<S(O<S(O<_1zK1K⾄2· +p!K|,K|,\9p\ ⍏%≯WLIWZcYݯ2c7[ͬ{Ith)̕1WOs:Ww Zw}t{GDwEtWDwEtWDwEtW0_|e̗1_|e̗1_|e̗1_|e̗1_|e̗1_|e̗1_}W}W}W}WeF(3BʌPf2#eF(3BʌPf2#eF(3BʌPf2#~Lm|}GNJFmnW_E/mhoz[HT&{L!ZkESސ}xk^ڇ>}xk^ڇ>}xk^ڇ>}b"*b"*b"*b"*x/⽈"ދx/⽈"ދxއ>!}Cxއ>!}Cxއ>!}qaX)󉟈gOÃľpK@x1v&O S磷$G_?5\ɰgͰQyL[O^g̢/Qױ!]l~ZM0 F9:gɳ®Pj9?lhԇтsC:9wsiӹnEOݣ#<aIxʹ{ʑO-ν[`Y`u{@(SBp8o(lhj9 [ýFbu+VsXaX݆Vbu[elYd %L1c,`pbp+w`p+ ,`p  0`  0VUW^s1c*T J*aJ*aJza*TS0+2W%g`ub>:YgVMv{Gݭjm!-uj1};{0îcܡ=}o;ͷzxoVַcETŷ"iT$aQTEC'DѐC"bHDTEDU4TECE4TDCE$Q0*"`T! QBQ5Vv[_ذ ևWw&?yϷ>)n,/|^g3 Uoz1w MW Z}o>Ls뼄^>ȆRmIDC kzjROMɩa^xOd8|C5g\{@1|hJ-_znXX އ}ײw:w=p}߽w'=ü slq Z։aEk#4ޟX ׺"w==/БꑸUu^Su^Su^dk25Zt =bܗp}޷ZX={;}1ypH>G$_KᮖƒmQx@hY x)LUu\.7I\JXU`PU%̾Rf.*cY[es YE}\f/1ʘ˘VYQK3}Ez%ta j_TgUguG.=ݺWե~=թ<3z[ucjvNpr+/͸.K[u>#\52L~.ַw| n³Nw{wWG#1OrINX^G#b1/vbmʋ-v׻ &t.1L[s<+>y;K%։bG§UռVşj[EL>nxwl-j~[VGͼl؊yUܭ*V5>wc誱_,MNY^pŀ+vvw$#kexEFd@7dx2Ɠ1^ɀ (Ȁ (Ȁ|tͱv<BF4j]\\ͅ`+um'z7RrU_#kzY=ˇR㳒ZGܣvV;wڸG]ܣvy~d8:=Vduݫ{_ a| ce;3a*fldJ6dJJ'o-'ǻOt??3)ExGGo`ƦmeN];ٵ;ٱ ;=lakfmfmf֩-:}'WV*k~/u<iV}ȪY.k>~=̚fӆ^dV|E;gkɳ=bK5۟5um*(cil=͟CwbdYOciJ֢iQ^f^cYfLyb4XНt/P9C ;r[ލn>oA,.̺22 Xr7܍n,wcJe wcn-a:|:U>3%JO ۣWj9U;N #>>1=|DU9qXևGᑃOOW{y8#ox8FaѨ>8}#d~|dן'Z)p$HSw՟W۟R;.jp]{^=w-\ӵ;0Ggu>xU*'&y\~Ód|v+՞n'E+ž7d g_T · ptm#:|u+(  qx~ 'z& ??STx78 , )|> gG//0 >O'|fEMaBWxnOYxz/\ a |mx BX8MaCÏ&N =#H8 pĒkpG^$,k*\ pUƅ;<8zN 5Nt8>5} ~5 ^ϪޏgRI̯̯IfhV8ҠO'&}78>0 =kaѡ"0p$N] $Og7y3ã"QȽ%m06<&͏Dc LípȊE]Ӱ~{cTt֐(&`;=׹_Lc#'C p"8,iE8mpIxT<*r9[D-mzle5nEfp,%`ފj,`# 6A6C7[^^®RMX&Tz"{ ndNU'֪kՉچbiaJ`Psh9| !o+Ԃ&$כz_/Q' K(K(k(k(kW7SuUPuUPu'8-:%Ò'QYaypcb$hf4msۥ/9ζOwGєd}q]amrNJ05pn0hk њ^W/WGK/ Dfio KԘC՗ReW `*748#:EM'^_KՏRcTx@xQ,5^ b ;ۯ-D-i ^Wv7ulZP A d B欑9kDon*CU?;]F}jzXWjn1u=țIɛIɛI `!M}`1,KpI=?#:Q߀p\77F[p ߆-p+XwwN {Z0:Q9:ʴY/Z5Kfi,ńɐfhV85Sp8w 3L9o7$P0 L@$P0 L@$P0 LUr*9[]h5 .*\ :| +C[Q Ti4tj:M5M)4TӔjRMSiJ5M)}7ݼwn^y}7ݼ;U坪ooooooƪ"zj(*RT!x{  1TU**}ʾJe_STy<3}L5gY3}L5gY3}L5gY3}L5gY3}L5gY3}L5gY3}L5gY3}L5gY3}L5gY3}L5g Yk[^D(etNщ2:QF'D(etNщ2:QF'D(etNщ2:QF'D{N{k%KXk/i/i/i/i/9gQj&(uCtt~G'K'itULlf}!3aV]-L.٦l_IzmGQ(r:ZOY,rǸX;?Z` nxF4ծ#gBfBHyeW.*xxq! (" **"d#C$ h L}O4!:ޮz9 SFbQPBz#-Qz7+PdK̻QKje:"8OQ|jK&[{{>GPTԞCF Xsb-VbF\d }1wf#x5:o<:9!sȼ_Ҏl31?G̳Ԉ=x.GSa?B*fbM ,٘Qz)hfAL |*AD!a b~ x@ H٧lxNA`E%`0Tϥҟ0G Ā$% \% \% \    -uf۬/< ^ b6 F"=.:l"zf3zzV(JK⟋:Uq (!qx ?N*+x ?jOⓐ${''@/m%l[ V¶m%l[ V¶m%l[ V¶m%l[ V¶m%l[9L@0 fsX[`Xk\=8T'9:!TDZh v89H`4:8z710 ,`0dwD+k%J`^Gv=@1W$ Hub6S.׃U7`0x?Q8Ճ:ǽsq߮|>F (Ջäsp c\1G1?G={=x`G^ F771X-m&:;F7h/< ^ !P`0xx x FoޅzpRXOQ=$ @\ 4 KA?}>gه?}>gه?}>gه?}>gه?}>gه:>k|"EY}~{;swufIɶ/\h 6 >\&|Lp3S6lO|L>|&>ɇGʄ ?%>I&|L>|Q~@"uUڷ7[>vv6llٰa}ؿ>_ׇa}ؿ>_ׇa}ثEW`Q:saA`w7}؛ET =ؘ̅My^?΋m@- 馍zuؘ"~)fнb5s.k9Ȧvhv֯_NWORڽȬbCl>ήa3jIegyz:OuN~$P_K嘔e7Ru  <@"ތ ]'Ș!C"&eb[blcAx9P!]aM `a3$N?پUD澉}mz聶jK{^okzl+m9 C(@P-TMtw]ъ3J%-=(CzOOO>@_П2ggπϞ=>z| 3oC+klhY1h5΀uރ.NTY=t[F͂* ͛EWD/ط#|1 ҅ưd#CKZ%!Gzz`ގ5PÏ![܁{pZ군`B! R!eR!ThS}^8'!0j[)Xġ>| |%K#G.[:oކRz粑˔fVLkU(301[R/C}9МWR桴d\E)JCE(GNGR6+G.l7J77'd)A(d)Ensʧi# OP QszKw`I8ރd^z胞 M mr[۷z\*Б HD2hjN@'.jF @Nq{p,laHVZAVԠw0b>^16A u*Z9R#ÐsZf7d!>Ӯ6WOt n &̣ {Z1*?>Eb!7OLjБ'0@ NN 6:Ҩ $A Ɇ,HjSF\!Ѯb^lK]*+0(rE0oEɹ;'4J'TԥekC>/%Q]@w o\Hχ|>!|;J+Nz@/%'5|pTRz8WF@/^^#>A|\Tl΅N^ Xի;JSP ]ڀcۀ95# L(ЙV#| '҂TiG +Gt/r;ʖEk|bKS"[꟡ԮU=UQ!'CzR {)󐲵;gW#f5J+y{ڠ'L%RSu\ZJHKQA}9!g j-7C" P2y?MRRJQJlN.FR[2rv yb/l~+_-aL&IPZJ+aSX&2lfxJ4mP sC&##lDm*3Ѻ쉠c~ASi?WvW ۙd*&JCY<X%eV` Vk-gꉃ`߈x"CeV`# Vk-`z2fKj"u"1HL։/BԔu!USDpt !4#]kt͐9ҵք%ǺFoTX*2̺=4OFY.uk=+"ߡ[/ncT_Tqilٷ)e8nEDet|+"jG7QkaNCZJУEm.>KZI#h5|w%ӿX=VVt֊VmnB֑A;na]h7'M؛4`oӐ}l k/염 _/aإ*֖_ïa?vr~=];V~#;vn~7w~֞?a7n?N|0=_#c|4='cW1|5g| M;N6{,\ b -Jؗ"YTgDHe+D-QDch*\B֋V,OBmE$ڈ_qmmX\\ζ+ŕlJ\vE{招ml(eEW0&!GQO)F,&dib&y"O[ykIR*[e[ٖw=@I(Ggr6#Krߓ[CP/ y!/PN;26C; bY*;9 1Y9k5bY/F9V;[TJ5檍X.Qm u\|~ ֨k b:fuؤnUUGuآU]vz@T'z~Bg)?KQSo7e-5VYGMPe]fjZ,[ejlnu_ݖ^/6nw7%n[GZ{{|̽m/woroe/^~v{n_|}}VpK9}}EvG#Hw|}9t3dw|nsa|#,R c[p|;\#\S pp}91N"7E:##G..rJ#EG<"?<yL~%EzGz"}"ȇrVdnd̏EuMrOd<mJ ~]zS^bBmC%Ccy={Iz{^' uҽa07{i9{z:mއίOyӼU,o'o7ǹ֛-ry_{˝ooJo[w~v:]>w;1rx;dq±|,%V ՍwcMbc͝1؀ [Awcc:{=6Ɍ{WlLl39VlQlB}$LOTYT/<뤽I%bFhVLjA lz^OY^vzO~T<]AڒrȹR?45TE#ލyFsJR;A}Z]'O~[m9Ζõj.VsP=Fl*zޥMeQ5ݞ?Eh "ކKt!VK&tyBzYWB[֛Puǚ=z?c򖢭סy \ g;&S 4M{_@kb>鮵W{)Z>Ro[/ ;.f#(SV wQ*yz%`c9+NQ[/P4zbtdڵ3?2N94t@e5GFnb9*ayǩU/4KNYD,z1p> Ξhv<~IsܭO{o{]{* mߛqh$8<1/+]nVՃzj?mL橙zu[z4'Fcavn3BL6Zx=]O[!/`KFuDS,gi̎JU1 P{Ϊ 삸ҷ!}K8&ӃѮ7zQ<.z:_>$&4jI3gX4|v:󟩇񛩗 ﻚ:x>= ?x =Ϸ @^`^K%  PxQ&;^w;i,S) ?RӘPPuZLuҗ,g6}|ﬥohZb'Zj'ZnThh(OOOT`'b'*1΄zUfg(3^K2^K1^n(xQE\mFX's]n5ǭf]ܺn}v6dMfawe1xNn^bO=i|EXa0k^W}}}yNRc㳕g56>56>`l|lNc㳽~gœIQ.j&NҾ< YaYЛGћoDļI rV9ЪYЭխtk1⿤o)RW J|bжD1kHc§Ԙӄ!jJqe5^ KzٕRNjguhg.렣5yTCSYMk5ԚVSӬk! }cZ0048jp]hL =n==VCsurqY#;:OJ{AJM7z_}}ׇRU*$5 !kNCu:Rzu=!7"o'Q[)ђ҉;ԝRwQSu7O5;~0~B1y\uCLw՝z^J~c,14rQ}WE~u1;F@11_A05 HQj$F##"fdo#;OPPD5)3U&b>T#a-3UMY* m2C̀TvZ2)ZjZҾW멁ڠ&UR#*BKnS۩ڡvƝjdޣ e*Uj/$٧J.U(:H5!uUy5a/)2\? '}++i«QT}5--ղWr_}i,%:we`:(}ًqˌ. #]ˌ1ˆ5x7ae?DI\#"B)HD'щγW߲^K܅݈7 X2`1` pR`|fYR]Ip\\V[WcLM߬nAJb5--:clU{սHyFSP=\S)h0G8eϪ6, ha5D APvSݢP#HXS, xM6NCxOzWerL',)0]†ݔ!<_-ްAZ嵚–jY^my4kQ[F.n5-նA,uH$(d)r#OGƾo/E">Ȁļy\D<:"q)5m`dA-wwExqd)1P|QE 0Eu STՎF5bC|pDupD#`8d)##BA H?PͲ'6oGrsEvMy6rSDo:eEeubm8RBX/+olmkN+u6鮣UXNaZV ^_5W:{ʵms6tJ6mqk? $)_k2m8׻=zoUtԛ^MY[)NПzY%qz=Ќ%d^{veq)thQ{ oRm({~pV{"|kQ: ?e*nX2jW%|mCVVWz |GY앺ngcZD,+sVQ]i$Z~q椥-:Uftc,/f0hውYOzMfm^({?ؙ:>U,cÜ1%6? Y0e`1a l]GioEUT-a^SfgWr%R>S,l):3qS*5v mit6F^pO2Hh옲Xjy~N*/as90rAsl\hys^B w$#8s~|xV6vQ}V\9c w@B!`;c@>cFo3˟Zp /sW>?b πX)p.?O!=9'q}nk;z-1K gc g+Q9m~^սl8$FpHkێXnUJ=|`%f^. ,ѻ˞Z-X9i|c{}yl+zfm`ڼӸwb=gTO%Csz=49#I:?x*MV**amAÅWe_cTveU)Vr,=#f?g, xi;iN!?P|L7!d UӱsЎmY_x('] ,"Y;lki>m|Sba0ǟZ~$39UXG>p,*Ϭpmg4U[cגV3‡VQfm&ԑTj, k?kgQaKJ&_\,wJ~?uϩg,} %T }kp[OhpxeBprxݦgT8o R2%/A-9\ Y-.5%Oo`RXn3yhm:+F%圄| ٵK9'UNKSRVS:.Wa0={?\G]Q7jH0)q\Ҵǟ^_{OqF1Xj핗爐ϳ2_֝x=>2f:w.N A_oiV!{Ua;] 1Yɿ\j!Ճzh~,X<ꞖG7TA(}!Qz_wV#=*fq%hze9j W Dl5o=_E i`\o⎌ժ 9=J L}.PᦰPcsY~}9ׁ'/mhYm}5A0qyA9U gȞ`Q{;~xKm/+Nf@q>{!5$oˡle@- T>FtM,dgKS+K{z#xi~eCq]YBl*)SЗoC=/[Zm%8'dyx2퀣kzoO#]{7ɱO2i[?/Nޡ{?1jRN';w :;i{=@ٷ zi4FdN!2B4ӼSfyl ֔_RN![N!Z*ލw5IO)'S>Ot>|6m |1l×eTsx+/%}ONO"":T)""RJ1s^$@BBA$$1XjsY/u9KeY9g֯:gyZz^gu> s-+s>ޟ经G^9gֱu"{}_/FTiH"/qBuJG^@@^@4QV UzR̿{J^=Tգʍy?j-QUsU-Q5 :MfܥG.=ңrs|ܥGI*̝yTqgU/wQsg[ܙG6wQ pgϹ30wQ;qgC̣+w#3<(d#$pOaR'0{pOax#<'~*Qx%܍GXx/s7m % K6Hq[/%)IJ|R4YPT! M2N#9B4W+]tn#]tץE"[KG^:w˽t>#):a;%uQGx;.K-u {ץ-;QGx;{0ua#{s/~ʽtq/~νtKG8;96M%w>.:wNsW߸+wQ3+:aܪq5|Mb^&kWz ٤n~8Qpԛ[Gp۹mp?~8!yG3Q~8zOs?GG}/AwQ;wQ_n6n6n6;F}7^61BghƳ _Bţg LuScwl ʛƞA~~l&$3c+a Tdn:T8M h:-Y&v$ ˞b>TdTCMRT,6Y8,UzV,,sP7'QE|ճ&:jyn=l*`.Tɨ|w"t+Qb62*VL/{.捘>6!10歘ﱧbvM>\"8@4 D3A3Np5}AsNs4i>b11 v|KKLD 45Dsq|l?4475k͞; '͟X{A3}}ɟ5Ɵk>gŚh V,jD Sa2qQbX1q8eQfɢNԱx1sWث&$)"NTq KĩXy8 NC3 4gϊϲl1Y,#9LgX8yXm8s|;Ok=/>|XXD,cqE,˙V|I| Uװ7E=^%V*5ԉlhD\Utb!X!vnݢ'*X/B@ `!1a17|of7{wh6 ;8'"77Y]܎Cz]++ +)AV&HV8}}1g!B<ޏ'(~9'_ci47opWg>ωX',_/aOO0SSs]- s>?I'XxBqvMNdII,_McS,1iϲ%l,6Gl6Ojbf6sihbm12_;3K%/.UwHUZN-PP @A-PP N-l2(rjŠ8IZ0Ԃ1GA-PP Z_'ձ.VlR3`p.y f*u@4;`lEڂ4,LӋ>]R&?~k%r# #ul:lr,eXĉ 쏱 ,3&&اbb/p?A67656NqZlWX|ܪULZ0^}5qkY"g&d6bBb r9 '8 RY)'V&,'&p~ߐu:7xyM+J!e=.WUL-W˵e#ucM(7blӲE`Ua]h`SdmȻd 3[vC=M}eN3rWȯ"-oʠ7\G~[ފ9>|Wކ򛘿]ގ?5~}K~͐w;Xg>6̷eߗʻw00]]}O~:(͒!<سOL2 E(H (˔)Ü_39"*'_#sZ>5X||s.ȿыE| OO\ )Me].ȦB:<%gutݺn6M5daٺorE$fqeDI eD,(&!}HT g5=A:OS~'KĔIĔOS&S}-ngaOT?a UU__!~-#~]Db_c\ƀ\~M ~H Qǚxe'_De' Bpa7v{V8}Xbٙ‡‡ WNӅ3 rN^S e?>r߇lr OO g*Ad)˜Bd -{C>b" V[DZ`=#3"C=N=Ds1/WOQ!Ϲyipszy6qu:5:)0<~"uQM$.IV/T/gCz%1WW=n7V@L~ >N&>N܅r~XH,"XK%M!}Vצ˾H%M&}:GƬ/ , 13DQ6jAH  %b$bЧAAS5Sn+ ,",{^9__b?[LdY YYN&/B>d8SL49_qgbʗpOA, ,狿a_0d"B"D3r>ė81So#ɲȲeSSSN˜Rt3l!1"bW)ˈ K _!\D9Yy('D &[oEC~+2䷢y;jhoE]]s RN+ RA+uehuEC+r]u% \W$r]uehuE&+r]uEC+ 2\W4"ʤ'\W4"JhuE늆\WuE& T<Ả!\W4"늆\W4"늆\WJ9$Rr]YF+_&ו r]D+r])'וeR늆\W&=( +%_(͔f,V,͒fB)G @Iy_ KbP*`4_uʤ2hteV!}sK3~`u~`T)UNj̏zSa:\%!4Kv"VImR2ɇ}B˪:bi'KߑPO(a2oKo[XD+;=|1=i].VC9[@?RP+Jظ8uc'N|E,.űɱ1&Ŧ`dELMMg Ebsa ĸuq됩a%q q Psj@mq6#;O;䰓H;OH _7e\{~ܲq_e% 6N`PӘbEijr-rHөsMn;e'2gxZ;><>a ϢO؄̫na:>aG@0}w>a:uOS0[=P!̣a:!'S!_!WwEG䣖%ߐo"[m R& R6 4Q*E ;"eAb䋔@;4TJIStN˜;%eSR69euIp4MKQMJ42tQI>J䣔k53, >l&:nyOr?WPۦۆ1c$?)ǔM~L3ȏ)3TS)x՛'"#Œ#\cx悈M-^vN>0 8$ < D! _E@FCdDk^gE?'D=v<Q(F!{忿ꕈ5OGxm@^}W;=N/sd[Al}?~o[ۢOE L,Kև\mjް%AoRlЇ>?K[%re ߆rJR%IRYee/\d[ GǣҲ]j[Fu[54fubS*Y6tmrbW-)?Zm&!탮Cm&b:l,NJb;Vi}UaQ@ Vu[J%_cNA-v.s X6UF,[}Glgtvwyٲ7RG^]݄@OY#aՅIVߩqS̵M<_\Ͳw9e<_Zòw~s2W=jNxew:94klל Mh.&7CӚˠ4fY*ZnVYT6;-h^_[yrwQuqzRظS]lӊfSyrNkp.=!BvБD詎%\pc=-s+JrÅLlR>֑$U^\ 6( FǣzrKIkQB;Bu,Wc:VA:*iÕ-w[JVcBau,x)vhVkVQ)hI7A :@;zeۡ;{~+;~RܸcX)֋VY)^&*;B Grx&DkRONSV66tS[Ie%o|:|fW١[סoA5߅h~ֻէIٙߥZ(C"L اA3I\>}5.Ap~D)[(kE>Ob|zҿ헠W[7{m?{ǹxG|ǭW+5;[1CEROZo(gg%4 3pzOUs%}L̀o9i)9Ӓ>lp|KRK)j˒ kn,nYRͽ|WjYVr T0ķX? I-_!e4E_CÌrB 9-=A[E-|МVGs;h}HE>e9ݯu&d.t5=E%K܃Җ°e0 V]6n9S ZF|aCu˩@S˅@rٟhp\S6 ;>C說Q`19|~GB ߰ˑ(2 8|#AGF԰ߑXb8 ,ᨣ 0(D_n8( 3u߂"P +k&M!`1q4[`Pjc@6tGj#>SRjcMvlNFjı#Wp r 4qwq80P[8qQ[8 ]8]]Ukp\68nFjmPTA"'*C7&kN ֚ њ=n:{[ }jZKGk.Y{uiT偳"pt*P:X=pZֵQ$CzJgLTk/}=WZx[͸[[g\V84}u>Opgi\#kuuҸ(z}rk< *,3&n2pg9iʪk[|)i\9v!]ol%N1u1uyd [EFn@T%þŖփ;ÝZ׶[Ogtn%f4[Q֫;AU4z[΃;79!6:;;:#y̸әy¸9Uq3qؙj|Yy.Z GK:;u^7teZwͭ\PWkqmr .mU.]kۦ\ٶ{:QhݝJyP$ݼ}4м=a^>1g#9folv_90 uD^H9~)5oDxB'!̼ݓYaIS{<}:'AOA|Si>)݁\)7TD,g=+#%zG6rUzc(g$lqG=HOD$HSgkdWmlCthJ DTnhg/:6F0>].c3qIpӠ3%9EUKekۗ+u5z)lw[ vGVl7ojW-᰻;=HR}/~g{xk]m;û_*w3 !PTB1B,caf kPš9̜? 35`g^RZc]^kZk-׺R/u,ZjX;g`Du[ծog~߷ٜ{#Pϱxo~Dd!t?v||8>v\rz)Z|ào֎3m}b9:.H=s:JR^qKӋ$@/d Ty{HKzeni]Tɭ/L;umTkhg~}t{)N_9Ι eRmZ}s$:Jst$]Y#`@w.16hgԡsNګt5Θaqx<:gwg&'t(ug:;1i~V[!U܈m>3|60O㧳Bq5kleeeo˶l,=X}ƙ\ngs9_w^s.kw:o;:o3W6Mb5>VXkd_eu쿱l%[~:Oه8n"w.{{lsdn r8Un}{koYEakkY۹ur;w6޲~J.n+}5Z˭CiOw?Xq_[m;m6nAۃ7l? s6{>gw9{91~SEžξu6~!~wWOOMS~>d?g?Ƿr//R[oa~U K'%=!)SR,;兔 89e=%Sނt[Of.˃,Sߒr {\|_RӔ~KiٔAˬR~gyQcqfTˇΏ[_A t*op p%V,)ە]ޗw*1rZWT3l>5O-Pg%,֢/*1rYTnWk2#GӘ=Bo27\Y?] O>6M@??dNzYvhY&})˒idS,Y,Mol>l)G{Mٖ,42Fȧw6r4r`LS bT)W(Jū,LiT$EDJ U6(-6eGٯR*ǕSr%rPnL] -v**TKQISjH+ SO^VשQԽ$ӐVCzbkPgzSj?7!hz ^$,  ))+fLd y%+uo [B\5< !g:$;a.#Ar`g7A] ٿ@egG}A w>X 3<~ R̮@ۇlRX)7|_99}il6]rStn:{8Dn>g_ ]IO\ sq**.E2μ;;b_a}[^qR~2{;}5rǸ2oܿ1wxBt9Joi%ޘkv;YQ`Lޏkq;7oVAv_w#|@&,9WΗr<[+/]rD}r$+jyQ{.y|@>,Oȧ~|Q,_oʷġ8 %[S J2K)󔅊[U:AE +Ҧt(kJfeC O9QzJrdP\fk.u.*~/yXF,D,XA,XI,"g&s!˧˧ g'@Og׋Ogן&?C\γ2srp{dlb=s/_6lMM 9]ISXDlv ౗;ɝdՎWCt㴶0O01.j:F@7퇰 Y'ׄ7*(Z\v{wӂە2h)"5Ky;{}Ê P- SiP > & +A@(:h" φ/*+GAWG—ueT`Jfzm?#e{ā!BFʮO'F2HNș<9'R (Hɽy~B.̒K#<2ѼI?DGreмE{Ahk8@XѼM?aOOmީ_HX"Xv/Hۧy~y~M^ Gȫ"H]|6E3Dv">yO];#Gʱh|(+pM9QNEΎp>Dr\dp"WF/E)~3J]+_\G7PjdӠ:Tgtu܈ ߁[QXmjvt¢ռ k'AGӔh]H(Yiw!7Z uFP·M_qjIhǓO51/1y3m"_r| ]o"ߛ.|n!G]=%.zUmE0k0\Kp][Rնt%K]ӒoGߎ}VZ-3?[[--s/ODZP,@ߩlqaꑖez^kg[@KHlk 8WC$yťY[VbxMزZKkYGkObM:暒X ]6j-nmZK1&y#k$ژV&u2m1롶, :7̀ryI-4ţ--YZ{ymUE2ZiZnj[Zn=Qxmg̡9.v`EX9&Fl[X>ﲭ1v5_L:ojǣ7SlW3x/'1L}G~8O'&F'\$pL>2b^o1hJl7hu`?o:ì5#lotY=ښG ~m-}' V:}]|axv6Z^Zv6״ % _[TתpcQ.5{Ԯ.7`Bbc=.#ʎ{L^ۖ%F{qf>uo{=bĘՔsSmʏWqϓXC̘@()Mcᦹ1iA 4-O{S}mFj ƶ6b;bM+bƵ7x>hZ;ش:vi]icdޚc}#YloWlio b6t86t,6t"n?ԞxL\{=exN4xax1.M㥸$xyr2P^|q ,4#*K/͊kX_" ͋/-ha=䎯"؅B M!!%ķ;)ju0&~4CR+~*9~GB;"/~5t0~#t$~+ԫ3Iݎ#vXGh@y hW+z~^gf>y>w֜/@|L՜4Oӗ`ۛ b݇s\ykhWO0}.:\+fIAw5/"wq0ܮ >W釛p8gsc __P+YPĨ\lWk &qM z_4%J8$OgsRAxC%1^;(J_̔j\"Q2iLv4[+-\RD|RP I1iR\ȱZZ'meH=viKaNw;9;/.ۨDt >D砙L`̂ t0>B<: J44NC4NC": }NCg͝`$tZBitZ~>bϱ_әLt&<Ρ3LE.eL%:Og_3t&2.3WL2&sqoqo1zLD_Z/rs%t&.3׭_e[y Y#1^~ߛ /VrU`%B-  aP! nV#Y/t >pDN }YA!Lg:6t I7td sb/ Wĕ`K!<3XB~GHs_`!  y,|BdoC>xG#;;Ɗz8ߗ)cE=4D="L1Ջ!ar?,X Q icFg8'd;mzSrBh;Z|۷NPѨX83F >#rI(G񭻻U0gD0_0*IWdFhS!\lԎ"Y²E|A"EcqX& Dh=I5N'IC冈oGUĠB.1䌸!ΈuFjF[ QdxlGUײqqK+cP}ZEC,oK䐜R-I faD%UH󤅒[ @V! "%]KmRԅVK=NG.Zi+} 5-v@N-}P:"J'>,ٲn4 bo+uiHXZQiL8)(J9JX )7V BN`C`|Q7pP8C ,|ː18Ws KBq\nnӅ`93eX"8;87E/WSjMpI^}`0 WWAmn!'؃< n  ]G &FM0>q.XY-|2Vj%a6 笆it7d; 7fyE i#sJx.iؒm!; Pl9۷EΓ 'RX.YrE]'̗nV W9$r܁+]&yU!]A+"<$+Vi2QI.*?XEW 9#,SDoOhdwt.)W>ڐo鈩x`w Q5|c;"jf̷v̷uFF)6ɥwuFIs ԓ} zFo5df Ƞopi:._ů/X: c 2?Vԭd3.+LON FO4hxzОJ26zӞ7b3\'T:iye=<ȸ4D[!% Ner[38G*l/'\# h-]tp0pݪ4낵ʅk̋ ʺ ftW/]F.XO|p | ra]M'u҅,g5k.v]wӘ9YOyºpmtw<6$s]0..;N35 i`\8}k;I&:wZ7&w3/]]8pu,u\|uUaU=aV7"a_D_ZUdQ*3cmk]ӶL_kq|aoUP WUo >Iy<%I{}?ycd\#}L Z᣽{}F?p?/ƌtYe ;.lMsO뿷sۍz z~ >{/Ͳ=ө$?kKv55#{eq^cIdfe3mKv{ NFu#8?7KݹXeF$a[UnotcUp Ƽ @Չ;^uDa_U0U0OU0UƷ7U7lQ{s;& f8c%w$>q/4|m= 9wg7܂cMIw~ 07rǽwaOgc7!GLccr}K 4 {tF|:.y`?I3G<93H7xʍq1GpTux<{vgHXsX+=`g|f:g;]/{n|F.x`\G|#oc%YG/qc)y @ `")g n@- mz@`3`݀}#^I@y`Rx%u`101)Ldr: ŀR@yR80P @DU M-m=CS3FRRS Ϛ儤7_| vgB 7)%3e!yl\?4gXhG}YcԘz&,=&!@YYx#1.^a1 iO=7ÛxgxKyޅ^7[GW ]9]oz[ ;Gޓ>Y(7^^yӪ3sUzեsWWV{W/n5@T/n^UzC-۪wV!>T}pL9…KWaV 3IsdjA@f̮֔Q3Qk”qq_\HJ_\H22&o-Lq9f;qcO:p yg^rqsMqtͪ8y9{b ?nǥsr=3&ҧ_0qդ8{-3~qϷH5֝򋌼3Vy5`.s~ {cI{< "2l\SCSy'+<+!Jh#ZbK~cذ8K%|9ٜ/;T`8Cfԝ_fӜοe΃΃]w++qkρ^b@G/x)şVj[àKlRs(_R3@USm+*寳y' k>j[u,F̶UP_@} ]J<|-Àm1zd}F}|⟥H-z'PY?m#})Nҿ2S@[^z%]@eHO=FWgH:GHIQʣ½V3H9߶ M&STj2MWwSJ?tP?!Iͣ@Qʣ7RTRřiL)$C=ԗkĩ{{={=,?~M%NR.ж.MuSmT[7֍ 6XT*z܁]$K=ҷ*ؚe i<A]]hYzՇ&R|ngP LّiIc` e/,jELI,N}GJk)79`ߠYhO9d.zJP[RǶZ,RΡRs~ R0~ aߎf{Z8zc¸e?1>S_صƭ1HOHO!{|HcRߡsA-{IgyRйcsߣHy=PJu>ZA[bjyMCz*ɢ/:_Pó:.%,%ϰS`mRKPُRH +"]ny'yJys߁Cr+/}Ly~ =ma~[ _S9?$[ ׳<4АS9q$)Є njs!d˩%$gl[JIЖ-R1I*doݿ|k~uY^kYz"fw֋_Ѵ$$+$+Yy>kS)bBa7\ sL6-;\8~'(=ZrN.m.; 9wB)x챔E)ݛd.! Y–kة!G}C$NmpS_%2ey42g`Yf$6 c) QR.~2xJFZq=C?.sr𬌅w^{Oœ>anf*2~ڻ-Oyvza=h(Q j6/YoXrs\Lk"SɼRJBJKү\ʯiDKNh~ܕ,[S;aJY8.•[⡱?l5}v5w|vo?LF~[p6DSXɭWeM C՚Ϻ 'OjxdεtϺYXfdP(=gzɇ-r6KNzۑXUhbYV_(B9Z>R$6'4uvЄ9,1# [HOíB9*O1éh2xXԺ$<t+)O[y] :.Ov.a!6(ϲR7<2YN1MLPve/!JPDeOT dΤ9>l 8{' P/sOlqY;;iϳ}?ZۏUH9;QKXs6][<'Ns˓؇]jsܥ6JTr0#wfCjrDӉh#boX jGulՄsy =z5 ?2"r}}Pȥh)4% a z;$gp}B%8;o&OdN%؝˜e9-'ܥ>gk6FrQ)^)W('Aػ6"/97fM]b,qM3U]7iNm*˸ԅr~DuaYVz]X 䁃7~װqArH59MhA];Ʒ"_K{hݒ+߅}{'<( &3*V|Q 9kʹ Sّ 0 [ޜ6pa}e]r>zgb?L*OE2aFiф-O9.9w}z0H [V#lK:u"ۺRZJ,'?(m]jOd~3e>'OhW+gC4V6Jv=œ2N18&twft ispٵ7Ld}KX eٱ8$;2 -J6#k$˅vEڰ6|,?0:to™ٜ~;4U_}h9OS?ɶUpٲտ\$@ ml@g=cW2+h^si6x{]A^Kn'rv29_V3Œ1h"fz'mVH"~&DiB{_x`d >gd fI ۉ״v"r7#9AUu%ZZ|@BlN>q/h~r?y`SUM؈=@Ryg>Kb_AfEB۹ڬJKb$lV ЭR3̱:F awJ'xg|3k d(nŲ"'I')'Y1GĉI-ә]k~3!ysA> 0 &Ci)y'`O=m$k7mO|^]9mf74Liwh#,?U-Akxn+ѰqDĄO>jm_!WD㯦m̈́ofwYcd6)=OY8Cr6`Vg63*32xXjB/>sDo20_kك҆Dx)+6I5$I!xivϽ"džq"<aC <Oro$=GW33̜"[?9xrŏ}n#3y[V=KWߠet$p0y,hj2C2s8 a~؊Mhs;hXbaQ\hȷ/]@_􂗐kmD_!%(XEF^Uk4_#y>4WBhҡIZXqy_},Rk)rLG䪰B)܎?&Gls549p(z桴MlX|9DK>};_k o,s_d}9ڸ]E̓)]_e_z/Ȟ %z!o]YCM\OW>lzM˳ia6- 7Kؔ{#.n0glX~5E>xu۰8 ce<l*}>IdVb7ffO`̌VgƫY\yqFKG_O}Pĸǜc;(uW+$6_#G~5mkFhNAC΄]!{v%x_Av%o%1ěnOJ|br5dջao8,]6 /{|f'Pk8v7fECBKiC59 2nS4a/~?܄ս8g'Vk6޲MȦT4ݮ] 獁x=q2Oz"˯#JAWDx?yR2nҋYݭ%>nԜ>/NMT?> EnC~J舾c&X!O#l"Ju)Ip8-j7mE #wnK8OFN ȳ}6&;~=z1[><w:IefP }"/Ι}#w0vN[xDN>getug*(g|/;E֟}ׄ_΃yb j+ ![x ލ4% R7WV~9fɂhўP(O2,WzKgϋ=Z-?'ZN6?{%ޛA#4Lϴ\eW1fdQxYR ͏T2++ed|Vdo;\% GQ'Ғ8FBS 9"롺)m&.~XnkO4{g'TZ9ϳ[䛇FdG m_?UvL)8K7~znOFBox[Ὼ=1 2.h~lbBuBj_% 7Bռ>YOErl& ?*4eaP__ľ6}ap ?0;9MoZ aVs,=šo|VEV>X08 RwOG4ݑckEsq e֡!"j7:ea lFGd}7F">p8nUō7RX7Z:{h[ 6hHS Qz9bƱ"2Q p- V}I>Hڶo}-%2-9 $frXCM3 ZRӭwZa0u"dd7&g_ p|?Qk23$xNGDK{YS+y.ΰu#3^%h\ 3` Ț !3.~'w"aR::Y`; _ !:>_YXx|^4\{"sꟁscѐ?}, @2,x崙]}2Eu$+#/WЪdօM-7AObd FAs#d퇯! vpi}7^ -Y2˄n?zn_cVȥ +%tVfqʀ8(%C߀lӞ?28voxN"&ujb.D脔. V)U elj˧{`3aPDh W) S"# ش)!䇱ϡo~0y=ȷ&h>@f1)}K-p?hhߐ}J?ѴG^3ޯ.za 6߇>60/Ýu3(f8f"Uj5@q;V_=r.6%{ϊ*HZ SеKJ\:Lxݸe&жp| `sr$Lb4QaM6h'&WE #nBq ntLDZ_5GaWJ/G&ښ%h܊cs 30LN1D o&t0tk!+N3vbCKuT@C 5m@f3kgp5j#Ŧ+ )>dƞ,%$ g 3ٜDGX4dKC$5|Zft`&zކj: C+h X2C BC.GSˍ7C5d߈bn<2C|z3>Qծn|ɥ!ywE]kܽނE.l ]Ya"eg"I󯇬G f>zs lAO}g-SUsYe%z"Rd'1JމwWɼݖ7B|꽌H(}>AJ\ț4-#٢CP oN# v :!#pr'%w%ޤ3,'PPk/rI wehn=}\, hu_r!}ӱ_`yDgI{Jz^dS{]xGW27hIæ LBNA(sH5y+, v0rlPѬKYJqi>3;l|}͛mNx/f#2/-&-7Dsj-[9[\|3{+.oGWK]/_QSɼ_Gy| ¶VZ}"_>~">ş6k_[`}iEOzMbk7sߝ2:"5`'ڈ{-yTY;r_Q7DwBncRkm;[0KA_4q7 ӄ ?Yw7^U&o,g[d4\t.XXRk62?t4}U;omkfEV gƛK|OTz1UDsC l%]S>h앾xG'qσKLj/+'ZE ˧B IUz}+6j/]b2l6K gsyC֠.^>;Ъnij$uJޞA$K M'f7/uA"`cQKQ[L?OPWb>Bbb2uP3\y9W&8?,| 6_HL>h&jfkNϡI.FdЛC|>TY6&L 䱧esZ;Fi[#`)Lgʑz̄'ofo74(KkjVe l7Zܥ/9J'2p3b+wĜz$**}' gj.g@r՝LUr_;/2?RkRٕY' l6-ٯ{fsQſS"+anLk~-cyh D/|>ǭ&pYvĪ=͋L@_v?ux 91!Z^Cd̫ 苳&3+Ɖ~eGۅfy=t*̇~t~ܕW:ʐE'!h쏥ydOy 9?X I'4 s;Ok1gs*#2yٞGXGTe<'6㋔|FK$tCGlV0 2.Y]Kh?'˯[X7Yȷ I 魯>>ȱd,/M9Jү&7z=ҍ@ ʿNOf}!kl5D);j>Mfʷ6E!giC/[H{]{ygnuEWތ<8bJoDjޣW%łUJPUPUUIUG5mnSw{;xQ05ZMOU1uTuU#f^uS=]5EUTf߯uu"d3Nu}u꠺?)ԟU?5X WcLUZv;Ueu5}e/W{ԕlNa=ַO-խvCR]D5UWCE+TeunTTGuz}Uơ*~&j:UoZN5I=SCH] J"U^մ2Mvn:{TVj,\ pH;FZn;.w_xF L"Y~ `Wxk8>Y6p\ 7­p7C}F?s0aFK`eXւl$cM`s ;l(on=_cyyUJ3%B]\9SA{/gΒ֫\y}JYi;J~-ݩJ2t5ߪ[]zv'1Y}ewyjZ/dSΤLsaqfYdV5(Jrst,tݧcg/TeOż]'g\~ѹB5 ٷ-t}OB)\_aWozBu~wm_zʧpm~(zxmg:sι6WHh?Iݟ{(:-#yo߮"m彼uvuB^:'w˯,BB׍.oԤu ]w(tQlzed#={ɶ}]A *LimKim6G[&{ǭ~~Q;U&9YQ˨7e>hxi]R{oI{LQ[.mO##bMTTۆ$۪Ԕ;Nie.ɕi=4(6m=iRE{W,E-w(ZN]mlK;w~gy(aCp =@{o*HI'J:$I ?hJ>d7%yhvL6lTMJ[m7GUh۴Fʞe->/֟b{5^I^9j5VTwz U3#{ԣ,oz[=xSIwN=].y25:ԡStZKj.Kgty]^-UuUkźӣhǪ6SDEOSV=]OWyzڦj^?W;LQ;k. Jvs9 '҃~A?Ap_p z HQ0:5c&p4Krod"O)Z?rw}ҧN*($EU*XT5jGգDtmt)Ռj+MjT;mJEutT?o2 S&j52e&QS.ʌ2MYTGQb*EVr6jkD=暨oTGMh@4TFCMhX4\ h}x;$ݵX"B(-nšXq[qoqwww' ~~?{3Oݽ{9swf7{3QUGQuU]E&]uUo[dQ}U_UWO RD05L j!QjȮF"BUcE5^9D5QR1*FVSGMSD^5C,5KWsQ@SDA@-bXVKRQD-WEQRjZWkZQBmPDIYmVUV6QFP;DYKGW>QAPDEuHԯWQYQGDuLU uB|NS:Ήꎺ#j꾨z/SLO (s1,sP?өIă̓y0xxz ;  7қMOo=J8z qU T >Z*J Tz*TO7P!ʮCRCd*UR|*TTVvME7*J@UGՁjTjT BT+ 26 dRQ* 2h YԷ[Ȫ.ST7UT/S? \S Bv5X rj8T#Hȥ~R?An5F~د@!0~^>FH?h}~ 0&A L 0t3a|0|X a,rX+a\zaḻ~mvN؅yd}A8YW8 G(ps)8 g,p3% W*\p- w.܃#x O)<^+x o-0f̫ ^W5xM^k:.ǿyސ7⑼1o›f9-y+ޚ~')~g9~_%~_W5~7-~[+L~C?OS?/Ko[SBhB.![xD%QYTUEmQG|%ꋖK}b#ƋEbX*Ub/E*#8&8%N38'΋ Z-avT;Nh'SivV;.hKevU]nh7[mvWhGcT{=^h/WkV{{,,Ȣ,.KȒ,-Ȳ,/+Ȋ,Ȫ YMV5dMYK~)k:'eK$&XkBdkF~#v2JѲVva$;.&%{>W9P9T(r)Gɟh9Fx9ANd,ȩr+r\(r\*rr\#ur 7Mr"ʟ6];.[{>_!UGQyL'IyJgYyNEyI^WUyM^7MyKޖw]yOޗC\/+Zo;7.gșr-G|"gƷFG;{bt5ݍFOc~ov2;]̮f7i2?}~fs9d6Cͱ8s9hN2cs9͜n0gs9\`.4%Rshn27[̭6sc3̃!Wy0'S|a4_ͷ; ,fqKX[.uٺb]Y׭MuۺcݵYCzb=YϭKzcy˼+WzZ^Wy8޸oݥG8΍Feq 7wпʛIΌ+Ʋfbșe*!3 &ic,7FEVl8y7]_cl8cV,Qypt+T5QqL$1 Kj|ϝ姼i[qVϊo%ZV"+Jl%ZɬV +lR[iV:+ ,<*2XwyW)i"Y><|c1Da0I`H B`$:*&bGhvTz= ԟOY"/, bI\\XRpҹƺ&I9,kkZΊv/\G]GY] )Vuu5@mEޡ6!#dJwwʶCݡl;vss]3]]qvf{>w)w)]]pWuWe!w-w-!݌ట0 I#hN͍(vވ6-q6Fy9{krK.:w5ɺȻzyϷhtq;[V|Anp9#-jl:^`:Y{m`2bda d9%X $2 hl4MOzXO'ՓzJ=XOitzz=g3,zVݧaz8fGQvg'IvfgYvgEv]fWUv]g7Mvքx.^x-ވݿMCW4N3 B "  KfX܈jnԉy EXPX&B}XK\h%b CGBW,wrb~c ,K_+B 쯵 % `- 5=/gѐufOc BʆB&c!3吅mb!+v@(B87eA4:եY>̅̅eFP1~?$/ʋb,Kb+bΫ'\xFnc1Lc1+u{=ŨF?5׻Qo.i&ۍ;8]2`|y?4`^8 qs?#)c=5ƒEM%Yy̐Dk,"4l6l]6l=Wl!lنl1l Fl)HlcwRۢl^&'ޝwJodߺS}Nm[8 l"$jjrSRM6N8Zn&,jv{ xBB<OD $8nA3?_4xgCr3P% > KaIv|2bj ,>DiЏ}ƚ5}j GbX^7zu1јd)Tccn0vg+4+m0^Ĵgh3#̑('s9\a4W5Zs`4OgEyռn4owCKZnciYRdeXY-jYV6+arZV+o ZVULYʫT<\P/UbD Ҩhr(֜@֎;KO?+Ѩ̟^b1u-t-JJzz *9k\ L_8f_Ep}#.O]"qw%UwA]:qw -vM1ugbn*>2uOs +-ϵ޷Ah! yf<Cx)sP/H)%E;v앣<1O3RzC=Ro7*JҨt*ʨ2*TeS*ʭ*jjQUQuUUoWW5LPh5VWUjjZjZ6jڦv]jڧCWuDS')uNQCX=˿7=s5c=@B/)ǞȚN~Vy}Fs4x0fR31/g_yN<n+j&ajY}Osžq|Zrw>.=ϖ"+;h ,ݴ '>Zj~ |ROK]*7]i6+O ֧%J/z MȟyKʮJAyM(a( p6v?9?Sv#vvB3@!{,\F=28#'~~DyqWb6aȖOq{A _ۿ?Ĺf/pY/?!qrpy\Nwĸ`#7<.Яeq9τ˙yf\wpy<\(Jл|K:ٿKKq ۿD\{ro7.777ff7Q$w| ƒJ;wG޹͸Ż Re* j0+qL-á󟹿iFa)# H0 4# H0 4# H0 4HrR"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"#%H0R"|x[Hh+mZ)癗I#hn 5}Q b둃3-/G[LI- ֘D#! ;})?:ssಗ_N;ڜ{zh[}=xWJt y?\-:e/4WJh/0o״Y&Q[QʑZn(4/_Yö۵nHmZ ?җ/_YUlbBd a>_ΰZa}ʼ>oh*TΗ&v5Y"4lhb)U)xsȑ9gi|b=JYDn0׃0A, ރ1}vw"䣪wpaw6m)^qUߔF?eZk,KnU͹m4+NySS ?lņ6tgLtZCיe†|{k|Yؚ߬ D}aNkdusIc^I`?]nvgYtcbuB r,>WKи3>Pjݟ ~__ePKU+}{l{_l`ZHkwC $\%|}6eV.Mm3GMY>)wRQ](nsNT9eŪ5<ߺxܺRV~BYSBǯK:^Ӌ LZ蒢q W.8e jyScw3;S/SԝNO'1,ڬ 磿"73ם;y}&A!=_Yإ׶ ZvXVҴD٢prK[Th0ݳݳuX5op{xR#FOTI\i6Eqtߧdʗ2}Qd*͚³~BòMd>o$2p't}a))wZu[W)TK_^`z٪N?lr\\NT@tE׬=օc_N;ݸG3O,,jC5krr,ztˬ'vG&M~5b {Tau⡋L};5|̓]Fʋs.oh]<^9z9$KGBd Y0!0JbTug ]jF+Nת 6 )f~T=3ڱze{s$+D~}b *>V5Q+Ѳۻ^6mXJ8i}E>!=Wok#4sF92g_?(fdW=/sw:5]-Ts8UwSݙCq|fKXJ :L-d߲4%K"Kh.dA.KQCrs5}=y=y>Owa|Z.0S}t=Hu҈O_]۠pU][TKz>4Kpqa^,plZ4]cn@92"@UOܾP>M[x@hjyzb} '3mO/]V* b[%1('m.3m$v⏘١3Sdt⒜x? u52}] 8 ߸`Eu\\m š/+3S@ H*̐GrV k=r߫W#?.݅okaĞAJѭ-5 e2 lHdFu9,lpaPn NeY)ꕴK _A7ilC) OX~艳xbFJA4N ce D]k'G0piY:]g'{`vouP%49*Vl*SYM%<.7+ Gf`=Šdn໗϶6αHN#У9ڙL;46O9yU9V)8 ;@NV~*a([- A1u<)z#>gVdEQ̇uKRyD(ɚR[gރ};"$pt'pxmT[.93;}lTDm5:Z٘ g{ y\w# (J E"vBjM \WI>[12 .Qqi>c@cy2~۩8@r>&a*mbt˙K>NF LbrMbfq:L]˺ʵh&:?~6+FKD?a:F#5%~?jJ$‡2]3jk7@NR2N)cak 8to^; N0f蹻b躇0em#ɶ;{*>fT;D ͷfBb'z7w{@Xg]⾏_}\R)w Pyԝ:)1p4G MW + g5+!if 3Ëu8+0/3[W{ZU0ZDd v*;lc}+[d3dٵ=YujW :TytNSҏE4)6W}UUsMPHh74y9KTK{t;6cz6f i?y5I9D3›pCEl=[^1ȳ#&ͱb-N 9 (Xe|͘Vjs>My㒤<*u_ pd!'*VpUVxKUW4KpkLAJBfux h"i `0@n?/lL {m~/ uwE,6`w/r!- KՊ};{SSCe"]"9I6Tdrك " ojLm~sɒv^x[o*` #/ {] `dHUUvS~֫IgڣFQ^V5M V֍5|r)6+ׇIBlVU-z2r1; ݑ=gVNʑWu l#Vs8j=zgۊ68$ZZc;,ZQ/t&5E<5k*ݕrd3z8i6/ݪ}uʴ3p>40+ǸwB1~R7a)n*!ֈ6qs?إIk`nI|;YSos PVRQP9'E:2UlY*rǸ+ r{jыZ$m]5^5mBeݒSe9lG+֎1Lb_>`nq<4~mut *Z] ԥ a?ڐ5M`XԁˁR4'/iDq7)>kv\>Vf \Q0L/q+8._rV9Ⱥ⋋O֮N 5=ѝ0Ij"-a5Ѐ@ٚݚ=c=G̷!~_^ endstream endobj 56 0 obj <> stream x}K0^,F Y ĢvUu TȄ= sޮD5 &q}<\BKbOg҈o=5cGz![D-pwݰ,: ?.2D~E}j͉Dβm5o߯# ,L;ttB㏔8e仛Y?1<*'~Ʒ*+~%K\MH:X:b*A5SAL2H,!AN|fՍdhڔGPBYBNcCN=5hd6v3Q5^ Klbd P RLK4j1Z {cVs YKDjL`ًR0-Q,uJiA=zB\|li{OqƤJ$ endstream endobj 57 0 obj <> stream x|xU9;-Sd&m$C %@Z@ZB*-Tf + {ߵ꺮+uW$y o+'>)9)gбUG|ΔO0^_g,cآC-BʊKJw)˲z.,eU#SnX;3 1?cN ߸b7x>i ~a^ՌE$mX%1޿ sLYxgnavRONWgu_Y3O:&P]UY1qqcnjUVZR\4rpiÆ\0h޽r2{腩:Ao}Ě~ԜsRM?wv06W XMžZopX k]F8cC&5-%A^- \R_Z,"_ls\b@ZY-R|$!)>)ޗ=)ޕ)"şx[xS7x]פxUWxYxQx^xVgxZxRR)bIG-R-ŽR#.)vJqwIqwHCۥM[H]IA른NmR\+5R\-URlbWJqKYˤ$ťRlYKXP aaaaaaaaaaaaaaaaaaoB?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\=\=\=\F;\F;\F;\F;\F;\F;\F;\F;\F;hC)=C).й;'2rօR[Ct6jB#@BED+S2-%j"PHbED 3%N'O4h.ќPR1h6f5$j 'A4MT)DuDD5D&**&M O4h,Q9ј{4h4Ѩ{ 4.cADED#lRD CPDD S/zS^DD9D=2 t(N%R;Q Q2Q(18@J#%Ih"ىId#RLAe&"#!0%TtD*q"&A(w'T#M/W W7D_(%a/DDS7}B)WQهD}%zr&z;7V(nM7:kDBU^&z/@NLj=Je=LƇ$zh?Q+GG'[ bZD%hNC]˝DwPۉn#ODm':z*:mDRk(w5UD[l r%Tv9fˈ6]J57R."0j]rOt^5t.9!W!eׇ\AR5l!,Y|JDˉ-!W#huj. : ӉSyDsidslYTh&QQ= 4i4DShuu-h2 w(@TUUU~ĐSaB)<иh,U)'r".)7!:PIy8\* 97FKA#DDC|QnXQ J4$[c0QAQrԀuT֟(?}C1>!8yDy/zC.Qu֓(:"$ J9z43:R/jLD&J$J٧C頸}(E$!j`'cQ$J5-TL"@5TSGFH!D5#i9p/{;ؿAO}?πF-rcG|{wwyMۙ7lׁנ_x^^^B`[y9gy6mI\A}=<;(u!kARe@+(e{` -@m9se.ZN:]vK/m[?-3<7C}#p: }] 5UV` p%].7l6O\fdsj|s/8gkֽܲ|kw}w?`^X8{YU;WP.ds +v.;/[~\΋>˹–ۗ{eҝM4iCSI74tIaMq`O;_d. , ,޹(p΂y; 9+X03PPQ0-0}ԂuڂdԟTPTT*wV&}\Ay`Q;G J%n[AITxф(a}5*x[r܇q_bqٽKY=bU\2J\ l뀵l`5p X ˀ`1X,N`60 hf @=0LS:&P T@0cr` 0@ P #(À`0P @> @/ z@ d@)@2D X8 pv lf 0F݈> |>>xx xxxx xxxx xxxxxxxx x8<<<>~`/p-@ vwwww;ہۀ[?ہm5UV` p%pp9 \ lK ج8?8sq9?8sq9?M;8;8;8;8;8;8;8;8?8gs}q9>8gy_gLgxc[Ntmׅleﲙ9Bsr3P wIX-2bZN- 痳Zbl [=W-kP:_c2sJ2Yc j%S5RelM'.J쇭*v5zvIkMfQv,7(}={nvؗyDeN؇5y]FL[u[6Uۥ ͏yI:^֞1gD?n߲J3ׇsBl5}5'V/hPe?{=;q|Ið=Ym=EӸcϳI^ ?A{mP^"?o`ǭT} ʌl0Ƴ)1>cw>E0`btm_bbo&1и anam/}p8zpaG|d%oHuTF[10?pe@ _Z8h/EQ2\yvNfP 'S6^I5,^5%}Xdj4z1kȴ3K1:]&Str+al{Wy}OE3ڪN-^k6):5%>ѓb:Kk2F;YS.t%>\.m8[w4nzt|vZ5q> E 3?QtxOk8egXӒ}fYnUvS}V5:2:Ms v@:9iQrrcc agjK8>5UOzLnQۧ_Rrz7Ζ;?-S>[NՅ,&U5EY6-=.ϸRX+`=v>cV<?+Gˏr˒+*ʹr+*> Yǁ,#ރ#{4=0"Xm-,%1}=U+Y}vZ7rH34R28O\b?oss\긧`Bege[9`jIV{[bAݘʁ ΨxК {eҊQFAgtfgo[tG$F;b"22K.|lap],yJra*;'F' c17oD7p=7䎘&n<#;ڿ /X/ݲuwt{%-[?6c9oxLKUL]-ڊfjF:SufGDxc|b+7m2 J0$_*2A-]?mIFKu$5:ԶEPcz< we}Ě jgggggKlueVJByx8322/_w9 Fccin_nk3R1F[t{aLG`7+չycJaը`Kkh.1F1D6j?sd]d]d]d]d]/YDTh{Q.FsccX;$`\v$^AG^9ԟnp$i+c 2/3Ol=_,LJVY>8}fqJB$O K|-/oo'0aY>&* fN|Z^~ֺEb5;V k<_w?ӓcRU+JqZ2EuWDOF‚(wV٨px[}G,ꎔ dv;i=QQN͙a#™N͙ΰ3S̽{%n U*vRPiK7!a wyږ!Olbc]5.?ˮҭm3}>W<$EQL1xO)729ӓCIFʜ-2Cucvqٞg7O˛sc|YIqX>3m?)|)P|a?hMvjĥhA\ܔęYEUO:1P%v=p%j}6f[|sclƦS]u4-nzrZfLmGwϘtw-|xKt` 78I,ja&b&bЎA;rm"==vMQSHo=ӴqUX|;C]%4SgՖqL䮞/wi7_?~niuK <Xjc\Գ&O8dۏYe#a3Pv?ٜ%f%f%9K,rX,ofޤ>IԤ~si駭r?mi'Xt֫gW$&_}5dO-z~,Vv^(w7sQYNS7ESaH-;iǿ_XŽEC 8j%qUWk}UJ}_KlؖWX2-LC tHYM6ĜqCbڤf24ICY{U*r'=3gN3ҵzU{{ݞ ''eJI SmB5ѵoB*6!ٚ`!&DDfPPL3 vX͐L|s04U3} WȺ:̕ydw9sXvRb_FUﴥ;WMX \KM{pji<ҳ%XNXlrWW'Y cMڮ/34ٺeVc}iM7Qw&J -ݗ?] e;t?`PLntݲI=VdR fD2=N׃۞G-\QjkVzȄYg-etb4etz2$b[Mbho`G\iޖ,Tj\8#Yfs_m)T.][[׶9tSdčjkHa0 ` 3$RD)"b "̌X1vyvyvyvyvy5HZ'kE12qEM@0.~a{. t&h Tp:^"Wr["[/ ϐO2F&71DϠd3*xuUgzm;VOzR__]>C<0 yʁ7wgX}˪tWrʞ^@ۘrR҆em(kF^;W 4㱥RL1ZO.M 4j3Ʀml8,ZO1LRhVqP3vjVw}%qcR,A |`b޵'mk2xM:G\Y"Z[@*І@jI%߀>;؛)(m|cwJ GB/dzxr'ŽS@eM_ީvg <<mՙGf&:./ɟ̘1 ]=玝 ۪ŘDx݇HPVQRo |AS:`(U6SV4ifӋjPMΠE[P_3V1YFFq֍nTnK4oѬ4g F-nQ5>5IIo`!u.Nf)9}(e}jr_P.v]|CRj43 -jNB(e Hש<U]GgȣAn-/ZfVqү|f<恋~\&oy攤Su'0 4S8Bvi+ŕ٣-\lK &SLsq#'e1})uiӥ񷋮]QYۮyxc TՖ4 Asƫ]T_Xa`ҩsen:Zz \TZ61yꚲX}8V63|㪴F}`s61vyvUɄ{a@W=)K Ɍ]Y3M-;R҅_h慪 -r;@tkO` UrAڌ[N:D5OL_2imcj:+՝7¯4[؊ˮ5r5 OFGW-َ5?EccB݇""[#],9=ncB~6 !m3xKR:̟උ\H:%5$ HukyÌN&aQsZ\?q;a/ܒ4b t_Fr18JD ktJ)T+سlaѳ=LNp8F8BU~cA! Smm]RjA40'$73f]$YCj2f2 I:yn5ϲq&e\8w ᶧ D{XHdKĂxР%[`=/JxݤݞӤ9?*v6;Jt4Ʃ Qp| r֠`SBhLɺtlL!A#L2S䩛 e΄e. #1n๲&53قY#{᧊p8Ld`\ sLYwkCM%5?go5i+./9)Ak̎ ߗc(IrmK.kyL|4zG2]+IHԄU噤-Yze&N7z;\h'1Gb@8չll& eDD0\޾ "{ #Y ɈLiy-Ҳ@eL#Hp_ַJR'ՉRh?pv^ǰר`ұd2dC=M59^ZQ‚Q,ZéBI))ӎoh5 ML,]9(ǜQ*@M.!I2U2U)Ml짥ղd q•L1+-;+ԼshMsaGUfѭ_e|GUu*k$׬)Z;W/m⮍l \aQjvGGΦq>o0_lH$Hӓ)CJ;V\)zFXVEXMp.rlop'^XE,>sZK*FW}=Lj[7k8 Y@Y^FX>b#LZ3ͤ e$" HOb>Oim#m-M>ldXxh] ::G73]'NIR{~Qx98Dx\0XxM&BRLT;:a<[`:Ʊb"  CI=/8nlUU.8p;J@&p@1]u'pg|yz<yOh3HV5CvyA9CueLL떣nF'G1bsK0Wyή\)̐DBRJR&@NRQO,yN;TQƤm0L*NkvS۰8ij m궉{+}wn=֩M:֩w8 DkoL[DXmLvhF o\ܹާҘi _f̋$[Gj@J[ ې.][i!-1t3pFZ(J非 -/X?HTZmY(s`ls[Fm&h++%TdxLP<J%64yYY(]JԤ8cgE_ݽmդVrFaޞpj û`TJQgS6ihdV>0XK[3rQ:عmi}˛lVc, ;W6f 6ˤ gƚ@$QA&Kj{ޗs)POc\tJSBU*L;Y%9=uE5j؏6?ny\_փHD-fvge~c6-3!~+(RiAKr^U~Sбw5j l4z2oئWҠ#>pXenJǿ- H]vc Ѕt ?~q>7I`y ¯cYݶݮ10<5z_Ӳ )2/<Uzs\~_A/o v/ElO/,,,,,,,,,,Tlp!lV0rsCQ<wO<#>3<1e'7)2|w''O<n' ]dhs`3(d^|1Nxzt#'E0'<70ㅻN6)x{?fͿ Xx>K_NG90wmƻL >fE(Fg ebY/ϊgO[L fTx46Tٵç<x0McOgÚ4Ϋ> jyxС\Gʹ.Ky7m߇τY As, vL'4?x2+_x:U>Nx3~!~Oo# sN O#:NzrHAY Ox8j-v,}^&K%gGs` 70Հ7=_g'1ȌLM23f F x3?r:Q<<)uLxM7O>' z2@OL瀣&1P]1 9x0<1'^f()yIqyqrG:ow^λi<~'A>o|.|<~GۙI|%O0vHIx#s%3W;d1H)˻(ՙ0S0,?Gȿ :oN\nھ<s S0') 0| Loɚg(M0Bc#alG 50A?#uئalKy7m> c1iK4-x4_ xc=]f7_7vx,֚^k}Haz:K%q:!VęuПߖ mIHYKZCRMvhy2@n?se{VNuBz1Ӑà6,$}V/mzFCAH/晋ս9L-$5H^?kc1ȸȀl6V$@r^ D \*!#o ҏAO!@OCe@Ə|GrL&3ŌbFu1Q]̨އ^W2GHr0zW$ e~\a/jGyjGke 5ܲ[pnYO!^E=jBz!7UldVwv#Fl*6Ul.لՏBAm{ z=͜Ɖ .4agݐM^& y/dNBn?cb<fuKaV6CH/! 9YنP6} c![ #zQH{0hš$f.8N4d\x YlƱ"}È`ķd3F mX1"if1pl1mfƳ#byf#-ҫC_`*Z0 %̭Vh8ZOÀX+sy=ofI([yέ+Lb驀e.^ r^ 9_)+ȐY YòofnK Y`VK6Cu)f8r(P)vEIcR%F$lDH]Kq 2$ns?)#e>,U~Z̴*R̴%OB7i[Z]Ԩ̴CAv Lnq1)f:CjIe>zufZ }VqL"񱙶 S5Ӷr`r{v svI[u.6qa3!:m2 㘉8M6p6FڒH 6p6FH8ig#m#{׃#V)Jo>q3eo/PBw/!@>e)GыrA|Ѻ-oF2YZ]\]ܶ*Up? ACrb,eH\KYK5‡5VAѴx%( 2*|UҸ:P35sIk #<1J91bas()Q h h0% H@幔Qu83cϽ\W%c[f"B^|Cn^YCPm|:޴c<Z/6FAG8cf*VڣXC5] PZo] k.L<~9~[l)\S.X]LLGybDeEr\JM'[;^AhQ$rhSnᾕ? cAاgjt[`): u(%Jxd&K/G^5VRǻ[3W} `. fX o$b$̿ 5Զ;X'ml!uivVe $O9Toxd.zN5,KtYU\1JiODEע<~µ'󚚆XeD$9fUp |J 05<Ҕƪt5[^5,fze{͗?/R>1gC>`D<ޫ N*TVUD}7WF•@4TYQV[*]-V#5⼛ee/T + _UʇP$P* EE˂HeuEqW`9zV*#HUﶨ$VGUH0P E1FQ8_Uy3( .eP*+˃ FYA/ļi^VVʷÁ/T:03t*0VeoYEQte^S+Txc? `-r_uRTVy %|rc,hy #y eHr$ `9MH8XlRW T\TWUysrU}A-h4!.\UQVHs3cpuׄfy,|ނ.e/x'K0@U6$lA\#7oq;!d.*h_Xfy<m>#ګKm?`l^/|×߂,ܞ>of9Pd,1Dd^9O$pW寧J鈫7/]b+}E?#'KE^#Wބl9L-s2闕r\#eH>.P򂬖5uY/Sn'eLܦxKPWuEY*dr:[)Q*U"eDiR*[2I5K9TOӊ~zԿ3(,z1Rg0z= ڀqڨF#x`4 F`TVGѷ050-0K}F&.FÀX`t0=6ǁѓi`,0 ^FQ`t}R-iu 0بcdat%0]f>`Gѷѳ5`0: *[,5h:0ZQ%0Z 6=h?0FJEjeQFz%OnTmh0*Fa`mF^`եLP#puzN>ަv ԓj!0Fk&`F?F5/ (MF_F Q10F 1`n,Ch`4 Q0jF[y FFːe`4MF{QECQ30jF40\]ջA"է.QF?9F0&00)0 FGl2oN+h,0J?FK`80 vP%vqMFN`T m%`h?0zuaJ+beOFQECh+00z Q0\UlV/-٪Nm-lN`F`6-H=F@ӖLc |͒L̲f,c4 `Me``t}*AZ`4# =v_迤\!(WI/bQ 0B{dU fiu8^4«;] tQ>}4MUc Lv׬q&3al&m6Rb60P灭' &C~qqJYkvhc;\9$)DT4DKu"U:Z / Gҍ0M]̏ʾ,)GrZdzSJg'W(|ɲ :N&i&nRK5kDlq9i?5?ɹ3Ly "0p3oj䁆&psv]6r@{1/Sq7bDPۤ>M[5hi}РN,a6}Q3pGUqM]RRٝyQqL3'bNLj1Yeܱ EM(MbMdcuX0D系]_?F#QJѕb.XXȫRڱNU ii ,Vĭ2lmXyX;3T\%0>X bQ~9o}fg\r0T{OsI4gu9 ޛu0Ovt9O\d0?c:e]} : /}l!Iָ15Թy}''+\nʈ ζ?{ ~GJɕ _͹'>3౬auv7 O~}/.T"pH)%s;'ca|zTaEQȒ7Š̟3g%"=x+Ljju88ҲeϞ=-}' V(iT{O4k{sM\ю:կ`m--{H#9Ox;vힶoemkڴdzÃuƻAmЫ=-=JWƱJ|qkMt Zh{Z\0L+;kflm8<\Rv3#363@z6ۚm{655ppi1+G*l @f[fMCfha鰄Q2U|r}TzPêZZ˦edmZaaaoP:V˚ZX{{d(2#'>^a0A Og]f8}qzs'#~Lg<[pd'aޜVL A{i=Mt;uzL*D7GY]xugӱdZ=Iy'2%#eUk8[VWt g%mmmVp5L@k6N"YFArrPh{rhkr\cX$U`fCi.XKI+fN39J UB~ףx'.CY$ԢHT S 153}@U:<&2`*r.7J<8 W[U \0LJц~'+䜊&)fL _) W,yXf`BM,dyeʊ2Lw|E |Xd\'KK e !wGķxUG'RN^\mVo|Xωq޴>S;奧>sT˶_}>1C'"(3i6!o??'M ?;4 _SV~/U+-QSm[T]wG뙥=.8~?2e4){3L?O?6w2v]e|F'Lw:9"I)L[ϧ};2}ܤic"^\I4pKz zM-6kΣA/ z-Io^ :NtbwEWnJ-L^]YeIRI/J~ڵ0'nv1o3Dk>GM:"eg:vcO7h/AyA4kG]ߺa"hI'N~ݓ[&O䟝͹4.3f-{cFk|wnNn;{ ~f(&jl$dAsW{{B{sޛs^1.{=/F>9ǨYz~ςZ迫eѢzߨRK҃%P 7pJV,Y^zeW>rʽ+G‘oE|R%nZVwU7VR}V35_Uڡ_->Y\uR`g=X=yūw> X~zYfw>>R|}K}!kݹkݔu_vG&EGPL2"=~ѨĔ:Nw*` ˌ8sg=YD$~Fc<6ቄa)#lMB"?h37i^=esXkm7j]ٚe@#ЮPʰ4ֺλ:TJ#:Ӎ!F67I#>/'H%/ >/qt>:|GI K;х. F7e[SKlt\lu ܠ&ӭ(O)"-ݡw#^1Ʒ-y!9_wxF749Fz'nAGn4oI|mv'ϡNM!Zw]&dݺ8wYmjtC~8{Zsh7}m&#,5yuHXh\6zzFo~Iֲ{E.~ˎv)..~[D{>Y(.@.eȑb\Ho7[Iy_Xփփ.w N wl_~$t] ]9f*~*ER`cS'NPU?ROiwFYNF'zV |G1߲vk'~U̶b|oJp llll31<1b},xm//Gu` c?%fSnO\ pSp,J}oV"EX(X X[X2Xm|zGJKEEowOћWcBU?}o%b|[gA$zWtoEѻQ( }wLh9 - -@K2ZЛޕuӉV~&kȕK_BxY =IAxU=}J2!h۬`v~$I=az@h!h*h̥7C[Ryc ی0E$%փo?noo p7~>>w;GGo/3^DBg}࿂a.%XrT|_] ߅i~6|?;I|>3 || |  /3`roX7z}x6xxN|//F%z u+G^!o@0M| m'(߁H!+0Ȏ=c#{Gv{dD#`#~g |Rg?>n ;{?E{(/E<*ɥGa atzY)r VW+$J{D,ev2;`Xf,فzai^XZ/, +bz`1=Go\PV5^ *߇tj:`5XMVtj:`5dv;ك].v`zkصVv;Ձ]nt^ {z/P]@  ;bP@=dg[8p0'·#譝Co4^,9s2d98'spN9s2#݀*WgvYYYYYYccccY췘ss"={21J-n8Gs+8;spvٙ3gg98;spvٙ_<_<_<_lϵsp-Z|ζmWW|ˁavYYY8``c8spC?QaGϫb'~&X,u?nR9Xƻׁև NG-C6JQmEێ~GwlG|"!k &7og]{LɄkiP." T薍 "X@= l,"TpSE* bC))%II4I3i {fGzy9|3ZZ{0]f}>'}}f򢽣ÊuÍ>n3+_W=Mۢ#_K}]nG)ΰ^sx{#k㯋.]]8KdE6QdE6QdE6QdE6QdE6ёy#9‘td#+YJGV:ґtdG/ĞR82Ȅ#L82Ȅ#L82葧yLk {/O )*w+w+w+w+i󿏗ѝƲG[ EdžmEx|'D1SqN8g8\O>q.gYLp.|`*./įƯxs<0<~ab~?XlkueX7="4*c5׀5xJW+WvobVbo!4ۡi̾aۘq81⠰d J~-y6,y0㏞ífrCSzou?0Iag8GhLMVzBZ({sûrY (erT J셽[]&2yɻLec"_&2M8GhLөݲpvh*;zӘonڷ;Ƶw`fy煶?Ae¶ECXy= ;p5¯=R:E)NuS"Q2߄a 8!ߌ< c8 Gc2p<>p"NN8 qsp.'I| 3,s񊢩߻ _WO/? | ߧw`f');3˙!<_<ǐ'$~4~3YXa>o;,BEfmjv7 ,oTb%VS_i?/_gWlx&^Wlx&^Wlx&^B({/b)?KPWuehkvoT>f\T1Bo!]2GݟJ&0͞\J~51D%tɢxkO%Ͻ?q0Vx\n\m4Fڮĵ]IZpaR\Ic]ݷ.. ,%YJ\2m8l/+}/ å`L!84*/%J8xT*[ju%bQEY:cQ $P7c\T^vcA8qY&2ql8 G[Qh'D䱝B)m8 8_t-q_ .×0\Mq^}8]-p; ǹaj?v}xߦo=òcQ>(Xz-wn;s c/}/h ߞ-|oEcb_ް;-B*v:§pQX8}ؕ5llwJR{3܋p?\˕xaQ QIl_o cwcwC_7Qm*⇸34bw;{4aOP|pL\km|ոu7{M?4܂[q~=|FD=3J/2vj<{,;Bclf'3: vWX}؃xcvxY~/W[qc JP2E9*@%b?q81 }4a hG>U+y>O8B||b|KW|A5wq nqn0 V܆GXlz*n=ҝaP G_B 9p _a[8Y+N;TQ9gZaV&kZaQ?GsQ?GsQ?GsQ?GsQ?GsQ?GsQ#G?BXVU.kZVU.kR7GusQ7GusQ7GusQ7GusQ7GusQ7Gusz՝4]uENjoFѸNw{JZwҺ3#G OO}>:EТ2QxTǣ:Guq 4ұ{=w?g`79^%\lb;\Ls14\Ls1$\Lr1$\Lr1$\Lr1$\Lr1$\Lr1$\Lr1ɥ>.qK}\Rǥ>.qK}\Rǥ4\Js)ͥ4\Js)ͥv.sK\jR;ڹΥv.sK\jR;ڹΥv.sK\jR;ڣq)˥l˅!. paY䯛;@PwR7K,uR7K,uR7K,uR7K,uR7K,uR7K,uRg:u3@ DǛ kW_u~i~ׯU_W}(Ԋ[s9.퉾Jz_ٴqb }U#fvƸ?aQ௕/s?MawbSXñ>w!^o e*}9V8JæWm3 c$ ģ/Err茟vOi8#dmN\߅æa&$~va3q?tebٗxxg }">J/x)蹵X[Б؅Q9.UpuX(_*+Uyw?|}~T6>B^R=nj+U[-Tmf %)9HTP1C {)F P-l`+( Q`+(F^ Rz^zR,C 2P*C^J RjR )5HAJ ReT6JR*C 2=~[~O:5BReGlK: OcCvڻ'ٛxX/ ?' )>.L]?:@?)\@gT5Dtpm:,l&fx+;.?8cz|jOws'\>ϱZGBtGq:Grv%V6UzQ/:bGluB.aDO[!eѡ*kWe*k9VՎ^6E6mUvձ]elW[UVUUURT.S9S[UBN%Tvm.'wxJD>w?e #tLdⶐ>&W!sbG &Gl׽fb=)k%ܖ g3TgZ;tGPb#>C}5DXkXkURc,z1.\ύ 8GG#~,Éܣ{S^?˧I!N Q8P8N*Lt,J̢,IjP{AuNP}Z)?D&BnN,sцwvn›cbǓq 53҃|4l| K 9q4}}}u!{}?UbF QfԀ܇>$!y˻_rk2` -fˀ2̖߬0+̊rgR?bK8ZŠ2rϨ=uߠZôX6a3pw6tnBw4SR@ZpsbW6MVU_nF{x?,m !*Vmc/1Ìxp}av0.Z/R֋w'zInfQ8:K|XÅf俚, 6k36S_b^?{Og=;>+.M:ѿ]Cn_ mwИ7=dyHQ%3ULU231? ExQh|%+y]{qV?ӤbRM13M)O9~g>z<$S&Sz$t7tb]H׮ft:SWՍp.\>It:f%NF_p;7jH~gZ[dZl&s/u^[Mf+R3ʵ+bbkȗS="_c-uyͼ&.zw 2/0  DG_y^j^[[Y^k[?^9_ן`w:fSTo֛VuVu&| ߬7[zi_ucM٠V{2u9W]UsbZۦֶmjGmmjZf-ڠYVuVf1W}mvKA^C[DVj|iY=jUڨ&^2PvI+)RmPMz5r6eL6Q$MdmP3MFS\o"5R};շS{ \k5ךk)[k5֚hX)fb X jm46VM6өtj3Lөtj06JmRTj0LVh=wV,M\Zɡe ŴlZl66 M͜jT#M-&fN5rQoJVǯkuZVǯ A6ަt{nF]Youfv} ]fyjMZgͩ*wkF_`GĞ ϫ-2QRf=2Ýd ]k]vATDKD="QhvfhzD#Qe{Ü)L)LIgaن-llgk -5CAg8sҙΜŠg=IgO:{۲~ۙqYb^*LJ7L'ǯN-(^(<_)8fA> Ӧ)<"rJDcOZRLx2~Zd8M˽' ?{ǻ/7R2?2;鸅[蘿BA1Y Ű\ iqȇ'yQzq9Er&o@Lb!}vk8vcv:s8pλv8<α#:ʧ"7eCSv8S0U )Q/7ʾ:=>2^鬯8+r'$Onc[XEwvm]ׯGmgZ/FO|k *}hWVJu~}Zs5G>{}B.6ػ5SppstDhh^r"-r{f{f\nrc8*̑HMTT6"coD+w8DMa/7Qy7Qy7Qy79S/7Qwu7Qwu7验;bS=*,^bV;QndGuE>g Se~(>$91e]&ki}v5@Ɖ7)1N?r+Q>!~ We>$B֍nb6a3d'! l(:7C|ܹΒmΐj7~IfhB]xZpNgOҶWQ3QJƅ^VƎǎ)Z/vq=u_Gw==v==znnGsC Gh8K/xݾb]ksma߹8jTZ:(!:(AjtPF5:(A*tP T;r|Gq7qqjg]eʮ2%w,^.N2%X/wa+#ߌfG GW~~avI z@4=x Ex|'D1SqN8g8\O>q.gYLp.|`*.Eu4hixRx˰+’XzK ?_5xr-+Bx`>1ce3 tǤp& \=L O %aI+aI186TzNi+ү@cbxV.Ma׆<Άb,bA ƢH{ao}aI9׸9Ke8g~aM?LcqG|`*.ŗpr| O'U*aN4 V܆yyjy? k}?,</S{䘖ffvtx]]H{{?))A)Ƣ ɠC TǼݞ\7p*\T9O'UΓ*vs{|K䫂}/M`hxayc5Bm4b-a=6 / / / ]BY cwXdN,2'̉EwUTy>sܙsBͲ\WW,qZeEAD! 6TņbAb.tB'{w|:3gN3] %P e;1}(o`yribf۬un:&tv Hxflflƈ4y_ qq`-f-f-f-f}Z.2(+5DKjo(/"ډ,q>|x>s|sssssN #tG>G>G>!?Y%k0Yz5;F@Sh VVVZ=@T0 ҟhj*r`;0X9ra,`,Qۇr>T`՜LΩ YPB= !W:աN3h-%^nGh.jun=Ƚ t;X7.eݸun܇a"LSa<t3ă9<sqixj| 0 Fcclc;c}}}}GTQ-# .ZJn=RGn.|ۇ D (6CP)@ BP)@ BP)@ bW %P(A JP%(@ J%P(A Ka.Gܦ} yp a A/;jvQg7a7a7a7a7a7uM]vSe7uM]vSe7uM]fffffffc</Q'_}O>'_}vح=xb %P e5P>دggg>}>;|vՇgWOh$>Oh$>Oh$>Oh$>Oh$>Oh$>Oh$>Oh$>Oh$>Oh$>i\#Ng:A$JD(A$JD(A$JD(A$JD(A$JD(A$JD(A$J% xBD!^/Qh|&\sV (<'F9^G::Ѭ./{QM2"ۅD~D l ZW+Dz ?V!ʕڀ?"DgL^J,:GgL3}tљ>:GgLD>OD"kHE\k[ Gp)E GQYp)!yA Zqkq)A>suP בB!_xB|/>lF22웡?\YSp'9x.fw> Ex?!TA'|>*h8*EW((!o-|>G! @! @! @! wR. 6{=iii>i>ji8jiji>ji8j'I~'I~'I~'I~'ITWՕ@u%P] TWՕ@u%P] TWՕ@u%P] TWՕ@u%P] TWՕp΢OtzPw/{íWp B?S( -MI?Gz<P|Cy(><P|Cy(><P|Cy(><W[LEָE 3".5z y"Ug}jOІNSTH T ~TMJPkO=OSb>DlE+9\YgݎV.!j^ކ2~A?P+DZ]zIh}.BS_'Z{zJPjDT,B.ҷy# r wZN)r_A}wQbvَgy#+JN^"?3;y)3jgGQ5׈jOD "u~UVUTd{^Rq0 lp .8d@5LTvz8Ջ}p?<ca<a<%zXWRo2 lp . աԄZ ! @] 4fZ@Kh \NgnpXFc Li< a(ԋِ [AuYޙR< yx‹ "xC![\Ka,a{>\ Xa$a#`l"(RX VD/jr-h ՛s9>0kzsy,yWH[ބ%/eE߭O9;|AoR÷pa]dg@55h׃z}. Ћp7) fXzcTh (*ZMn/rA.a0]ֻzwY.eDSa<t3ă9<sgtixE+u*vkb#Fh=p/00&C0LI04x0f,w^oeo XD/WG=GH(QpT)s ?>?g}>?g}>?g}>?g}>?g}O2>2G_}ѿ>G_}^-CW}4j3SӴћeLS=9MM+(z[6dAh cHFo"q2qzGu7(Btd;#(5UBŸrhNq z#z*QU> ?-ls* >jU?,]ӥ?mYj{DJ[aR/!Z.#ZQ\|% (bwtVl0{ySߺ`юo^^|MlBsUUsuEal lp .8dbgQ[݄<2tjs6P p0 `xl<{6=GƓg㿳/TSV&o3yO-3&Kiyi|)ZřLw&ru]U3溪\^Djޮs q.V(Yf;q&U4Dc99X4ÖUkFߓ-3þeY/J)a߄B,rf3JN"K`EC]要ӡz-^wuX_7R(HM]W+ȕxJ nY=!g_ѻrgզ탔vc{ۍY&F 5QjR۾du&5n(0;E=JFECdQdb (3T@%gwsT-n=TOp ?C3j$b=FKZl5񰵄^Ϛ#gmA6OM6 [ہ~xXNώG)BɝaD7^Wfrw=8aW.㕳Ǹk-Q'x)r)Ry9 f]Ļj?o[)r.;,DoO AμϛWw r`fЧj)%N^(D}2Zr!;a ތJRsSjO5=;qh'+(|Zbh,u_UOMy lI-rZ|ҼC ۂ#Uп WA*_8MŭW!rD>%rh-=+wbϊ0ʝسc3o3O?b^lt Jo!uy|F'h}lԶQ*{Dur 5O/QTKjĂ"TDSs(Q^k)sU3~4/Xg;7(un~pߚ#?'>Ij9/x|M|h΄!ΛpW?IJe'ɎӐ]:.gWTUK}z5eWkgF{Q{5dW`Fjt ;Sovj!F4FdFd.o zՖQiͨ2ބ|M s݂|-׊|׆YŹyxl|JQ m=Z^𻅖FOqq`c/{g/r^x,E\w mSZ+_agm.4!D;<))׊zq7.ĕbxA)\X/$O"ɓb5>o405Fc4hot;.&(5z=obFqb7㷁1߆ F#]cD)2ΐgsd;8G^$seqL^f//Wq$5 ]Uv5${岷ոB}d_y^C?arq|P>lt#WΔr|* }#ޘ!r+KBY.1ސa-yTV+VxOIVqUM4>S*RejL57֫TmFJFf3W:تVU;uK].2^u(Q9*(UFNu1Mq@<#P#HiQjt5C:etk5So72Pd]]7f̐瘙IbBBlכe?-sn~nk]Iqg/##5rudsdLFvDvȢn%R+F"#aY99*K# Y9nEזmeCVuL[5R[uJYͬ*;:jl]muVgX7[sT7AkaM&XS՚a=j=i=rggTZh;7jm}h}>֩ VRMRVJ=bmRZ{5gU9zζ}}}Zk_l_?vGdwR;Nzz˾v۽ުkU}=L#Q}=ƔXӴL˞d4{=۬i?f?fֲO<{e/u'Ij{yo>`3;ؕ6sZ;.I)f7lls\\h\\lr.w4{;fsysh9>Νs3au .ns3yw&8I$ng3Lw89 qBg9yyٜw5r:͉9)gNQӜ9-E3g yѦѦZ&y|6}Bvvu7Ͻ|7rC%w6cwwݏ]:w[]!hM4M={#"27*?g{u#N.y]"G۽V yCaVMo7ªqD7ٛlzX'yӽ'Ssyދֹ+kޛ22mm*[cu^^m}zǼJk kt\ƥuO܌[ֽq'WgYZ G-h֓qgSӬGӭⳬE99֫OYğ̐uO2d4Ve8fE ]Rqh*K?zޡw3u1~2GZѯ[suJ8+_KﶪC?*-{O-<͇V~EsHMĹ>~4?gz԰K}?N}.]UWz)Z}D_))1}ww?gƒ*5)eZ\Yz=󇹃o_OA>]у98~tZ0>`~Xy?T!2³U)>uJ9g7oH:uiJez/knăKʗՀ\}mj ?Goom/>`vsGw<~ <{׳˯(ѯ֖?p7}qj(K]W΋aU?QjkҋnvoEO2]?\uciՏc;OzPvUz 54o,u'QWW~Ga{Vԉ%KqWY|OYuo3pV̪OHT$DLW2֣7ͨ"59LXm.E qߖ8.Z43F8#3R3 gnje eMeȒ[QK~%:r.׆|m׺||%ԢBLf]s^p7`w6果œnF"a[]B=2M_rhl4jaR413[Y8Q8"αsD̾ԾTeJR"^vp쎬k(ۉ WK, 7f2X3]E3}fwVvVQpW*Rv 2$=B+C|+-J˧H{$vG3g 펷'pw=dJMg= z2ӞIP%Q>fR$\\ c!`HD<*h$Hf ""*" .YEDDndH|MMuUuL'~&j93g95gQ9m_3_0לo ms;;տ0{}܈޾0R#s%lks/%ߘM~kww | y:Z?%i7l35hPwI]pv5gW^KvӘ f8%4ZZ`?:Ԕ`vevs1%If!VVԿݼ8Lg1ӹL7{tseh5_t~7|yt3L2ǚc1qHֳDƛQ.bK`Ә`=-zSͩO3ѦQ_֩ڳqUy'˳`j5A\Vh3T=ߗZ8s/Ӫk#_jRc|̟bO:}NJ>'ܸn&frNuv~!{]53Y{=-d۶W}anJ?8 ^]UW֞v:tU*Ej/wo)s+k8/0wn=e_N_N^X{,Fە32! uUwzF7~ F2{ޔy$0'XlXJ(gn.X^lv8JCb2WW83r#<~2#bwAqDu{vo wl9-Q=fߵ'w`nN^OОcO l98k$Kn{=. N@:{\C| 9K<|YnqV?jy`#OtWR3*ğ\H6KuAFY7tj=/g91iN<Ћ?v,Ǘ.̄[/"е`|n7ɨv9Ո~fZrv yi:О:m\U݄cOXjjk z:?|k;(i֞oU9>ÿ=XR͎_ڻOY5)OeWi%j'/ CρsRi~GSRW9)d=@ЛY_;~cۧ}6 mvY+93e8=}3Ju:5O\X+t81x!Yjo{N4I4kE>G [hηnOf߀==v/{^-{^(f9ގ}tWWU>=qh$P&wcXob'Os^T7WjDb{3sq%{=$ye-R:_se'CW( ƹ k5W=|=y~\/xj?xAp/nWYiSם\Su9$Mk9D=qۯ:$ڟ-%8^z0N ^P)4;ﭰg .vR/{ Eہ9Cr}|^ao%s`ښRxl͵~5͞|%~jY/R`fgwXc83".u9>ACcjl6p]0v)>)̼ ԟ}"$ R7k,bn39>#@ޛxo^^-~WVѫ >v>v#JEUmNw?Ӎfw1JܩIO/3=U9ҝJw:zG"NGKU6JThtꥴNѧj/LMrڤS-Lu&PΡ/6}.R~u}~~@?QW!u Vתk騺^]O?iBs1-Ralv#vӵZSd9]´,-Kq\8E\Ekmg8$H7%c_)M]:)H2H;ߛRoҷ+J7e{S*ߛ~opVoMyVz)SǛ2Uz)3Ǜ2[z)ǛxSVϤHw7!T]twS-c1C njuS$}&Mma|`lP[JG7fovn_G:EM-ǩ>KTo¬0uaEZ1VZiY(U_m5Gt\SJ5 F}R]S:[]g]S'I5E黦Nktk5H!}ԿYC}M}E:zzDcƪYOXԹ}M'ץt_S߱^%ZuLd}n}n6[>ʦlQv*OҕM=.]_+8 4cӢ-ڙ%:3ZCg;g;ؙ5wvsvRݝ==t_ v#ݴ.MRi=[nmZtkFH6푰~ajS{;ҭM0ERiӦ>misҧ>m0+}IҧQ_9I6Gk1SvJ6GisdK6ǥҧY9H6ǕҧG9>m~b/]7K5-eQ(]wH5]eQ[p'<*`/4^< ÔVFGԉ`'(K[lqETOUS~D?Տb1֠Zc-Fc^oόϨ؀(h؂[j177#68b؎)^j F>ܬCfMfY83ڛF*)fKlef̋)L7C jfl&bGhKmfc[͎c`mmIOEj&ʐ fB3L@h& 4%HDR3"f(^zRVPN(rB(' eID XA TJ*C(B9TjGZ#QE@Qiơtg-uDnzzJ %PZJ BiKAlERu!o[[N˝Sx( ZN9Pt!/'_g3uQ(vFS3Cmuu)묇xg5}wa@ӛMVڻ^7YGRguޝuɺZI*ZmhDX+6P_j,Vɉ;JeX* ,Vɹ;JUr;ck>(v>J>8 T9s!/5qg]f3ʸ+X_: Xwch7p7RR)"KLg/v`1]\"v5"};غK,]zX4avK`1]tvE,]ĢE]"E,]tv`1.b"X4%.b"PELgv.b:tsX֧aXXv%bh ]a?%a?jS?LgDS6"fԅ㓮V b+Z՚:XE7Ҭ4[%ʰdYYVaYG0]V/vԹںYZ}nnZt<*Dp!)¶dnYChuu]fg݇ ˏO!lmٹ1#qqs.8'zKpN5Ś l]F;8ڹzŚV2ɵau^_Gfm~'c+8jgd[?[?ɘ'ck91OG;Ydst#AS:sӍ#8¹N,z8ԌGӁcDg"iB<x&" & 1Lo^8z D/UnDҟ#]7V׭U*v J85(]^tuً{G暰İd$g5)0/c:G;D8E50-a;E[sK)Q^q/JdD< @I#JI3OZs|<(%G)- ԗIk񌘀">i9&f"&ibpI&G&}+L 2ys(#6$(/ޠ5o\'EObk!2I$cC֮P.#bX2&(1I[$D& 82I6lW'\,x~^%)0Y~/0S/0i(S-A)9 6do&XI`sLeoVpwʥ`sw;%e0] X+Sk9{ `Sw;k`svLf"w5H"ap?~hD_8jqW_] ?=9j~<ҹ9;gTv.La\ %`p_D" FtU«!1H& MB2H -GZiRȉwrRFZ^HHR8R RR kj`m: uuT g`fz3A@yU♋@ڃ?_t(?H#( $ PwDSOHwwۊQP$/pQ06:i"Y2,BZ,ϼiRH!mDچ+kUHGV[ЁBDEJ:*d~UGt=[Vkj&޿UBozD>#Я:;#uXWx¾H7: VܳbuCh0 (8IMK[U7\/Oؔ?41'_ڵb\c+v/,Q#Š=KJf\_Y4t pK=x'K*,[z?@b,s8!1~o[q@-8q* /)}P:بt~1?yBߤ>|K|[qXk'7n)/[UzY>rxx/?]w-_`٪r<(Ofv(G,xwQ'n^W伧K\>_QOoĢQ&&o i;>lU9ě]9+z;ʛZ#qDӼJb}㊼ޫ|dI@y_-IMțWT47c7Ay U^4;P~8  \]hqa4EKOW.KVx(K*W-+/ZRU^W$۷hUB\W;rcξ%EoˀGOxW|KdmyKm*ʷH_awoeގ5y{Jnm+ɻP(=ېdo])P0|[Y3qzGQC9.q8!>e)Bu(Qss\}ߓW2ުovyˮ3A#sК:qtc ڹzhze.n&׃t&T0]&fKy0+V&WTߊ)e5Y й{ TH5AoZǭ +v,wW%jc\M鮲ZϱV:o5pnf\MTjQ0$VPK > bkUJ>&; dj} M,≂elBj &P@ ;b/^쐪ou gGQ5Xop7;uYk06v\$ctB=t7Ps[ٙއXU3%]頫;br*u=: @;@i,"64XQY֣20ONASǂ2;:%u&NwbչCMu!bKA] sfu=x]k{J.m2=ݖ@=N ړٳÝyWBwaW.^\4xpWt͒"xrWZw-wCܳs f[A7CfVw{:79n-i}5n;܈ƴqRĮ4n"àBGqv7hd⎺O=IIRr}k;ؓܬC]YUX4Fλgp_]t߀KE۠W܌`w=@Ќ~릶_Ԓ{ҹZZp@OeFݓrZ~{)ΞhozJdmWO9Y=|V Q:=5Qgju!Du }j|mwCk uwj\\GWO 6#4g zN KsRjMx!NGcDZ oBwM֞Ѩ۴Hg@/kG@uԎEt8Y=TOF5k' gk 򄸴gigAhvbĖd^棚׮,hSeGY9u8?YfiGЖ{VZѳΟl<>c bZok')d/yR7 ;΅ MPI3rq i}Ylx(vEuJYhD&6!Y _:Mnٌ1 6 /9iaP7tg C" +Ba"U[:t](GLJz@. cz^ˇ. zaw0peR/zՇ SkT0WZ*CyVX@/f:T߉̊]*Rw;X ]묉lWplw5 (N!`RvH2Qn/ cHr/lD`O99ss8PuDv(:G#;Kc2aJDAes2K휎TG=Ssqz|N\Qչ٭,w.AܹuGڔM8yF~C&9"$%)Ԉ?gGB TAthNs,!_OK#J"r"p6"˅~C+͑<6oмVM2>O%4W~dLs\kP_gD`*1 c80}s8?q2r OG8'2g!:2KuvL͗8_ hٗNi/+$p􆤐("R<,HG|a,ՄU鄯>#HpX:k I>95<;OJ|8/]!i= 馯/jA% ^ G5pxL- ېogfL$xx–O}lMm79f{m%2[o)%Wdo=}Ʒ^gmM{ uIlZÛluojM؛`{mo6l-f[`oT[xo [ުٶ =D/fmC{[eRW]Gw0v*]b{tg`mxo{o>Iq{twڇ(O#1^}-{CUlc~IWfkdȀ^e֙[f{A&6 =gxސ7$^B/^1 KÛeCcw A&$ҷUoئnsm?SeAd[EٖK+G_o YZV,kMtZgH z=^BMyԌWZD(QBlGIb^@g^d^a|d&M22-d26&0#L s51?c3Q3z1h 1{b3A㷍k&l5eiqs"_1C_͜0&o1'en̈i)fzai[gMeM_4Ujӻ+V3dj6yL'L4>k0 >g锡|9ah4Uӌi2͚ 馡ӴhZ4M4XoLip0%`x?1%w_M|7y1MB"6L$V*8BG^&j«?L8ӄ,>PB^?$'Lx;4W9|.Hwrƕgc0 QnwWaEđ*0r8g5|/ur:~m I|y XeS1#0:%雨=cp(cÏ6&3ϐ~ kh;}5}_ }Eï A,MI`5x[ /П$' k uUXVByB9ʦ߀+ (~K(?I#G4R rERfM喲)= lI8Sd\\"\q% `+0*><x <Xx/%`7?${=Þ WV{-K+UZDx.AYݮكԙg?l?j?n? g1AYI:H1<چ A'Ą 9TUң/> k;>|5,p)״<{* ~@Zx&r-ˮ'Z'p~yõ,p:S=} j&prpxN+V]IR-J8~f|!#KͦUOD-}j3RRj'P6(MjhQ[3k튠J VO8NTU{&}J@ >R_pȝȳv(}- @w{2} ? {~a#QO?:eT=qƽiS+'0^V&իO`Zy-nq[en-#[A=}I{=}biKql/s_rO~۫ݳd,uv:)7ݷme;^ }Ϯk/Ad,a ~1f ӯH-~LK!~g>4G[u|J6h?ӶҲLsO2<ڷ3Z.f?>, >_&cxN#1K_p8\[>̘o|W>#c~20?O (oŖgzoj%:-ܾU״VO5L| YzӚHk!aҬt]A.RnA=96/[qzl]mٗxb7)@ܑߓY|ݎ-(Ԇ@%Z\0k2fkKry,+xo:cw8g[4Vm<8ԦObnkG;oecB\"Mr!oMw%yhL$6M4(X+śK%iVl6>&{HuH֤@s| 5:<[ؠ%O65+<Ǻб)&'_c}vv<nfOg|Sۑi4wd{Z-wzbԣG} OtTxuTywz"4g_999JƫsC$yB9KƩc<)\x.w\%1 qq3qs#~pŎӞۄgg=Ԇ bh2U|-o6gݏ 5~#!0?ΟOgŦKe*?[brO"_wQ.$ iB# ;BK quB[hQ8APN-$-"%=BF*-Yz&f~e9faߠCM:Ɗ>Jg-Q'gtqb!OYA?c.1?4Ɨ؂Dž"$.\[Dž5l}TCl+ w;ζXA"IzĬ4{RI8*y.xR ;%älLFb2Fmc;abgϲMs p1w<y)q dTMk,$ήF@o>)i- [bSF*7Y-ePHą[䲹>&;\1Rx#芭ճ~;W\-5pDL5*|+\;ϵ?Tϖ;N%:/ܭwՄc| gm<˴E2k&”9:KӶye:ҫN_ [Q!hAl}1.Oq~Iʞ% ?-&gi/0cW0J7[PYGdt M2 \ >mb$BKrSTWD(j`&4x†+Y % >! A/  \PeA+ aXFVa fƅ aF6 r3´0Aba2)!$,V*X&\ׄAX"<[L3l1O,bwTZpFιJV *=M,AjfZ)vxX<*rœxijGx^ljuv̶)q`&la~?U  *x gd]g`ʮlj5.OʧR ]lZ.j̶|k/awZū OT~hx$"sxUP\>)*Ļ^2J`w%)YJkj2aOoY#K;Rkȸc\T-ձR[X`􁁑9<mi` جvteH!/aY:&NstHVtEbid\nJeiMڀ6NCfvJ޳!%ITIWJmYU[.;*勫*/. œVd˅q0JlJaVc5ZlV`jህMjA/¶>N mCa6s4Ŀg2L 9[ i =J9 rO1<a)TDQ=wME=;³/E8߈1 `1 ?#a_1S0| ܳ6t}<pw&YVgJDxb1UDfR@.(e;0"EDEE."P2R!LRd*4E 0(DDJܽ D.]w}+>>sdr.;,|yr(Й qՒe_-WdեI]վ*HF_H=)>+嚒zm[k ^セ=dՕ:%SJv-w|[/<_"~7Iy }G}+t%Tk8X[g|S,el#t6|Sd_|IL2yA~d=">)"x#?N͗ze>##⻈Q'Զ{ ~=Qкʁ]5steO)7Fۢ5+d¿{;Z'W(Sݗw_Vc ~' ^X=~w%gIv^eߊƃ5&#*{RT?!_ְf=Ee0(L.uP5T9S1yK_Ɂ׮kUy~r's>j{eEeojʞ=Ht EU6_O+uW?u*vm_Ut+g#&]WL\GOTW AXbbaS*XT9H5 J)A*xmwu Ꚉ^Qa\~bGIjB>3~1ǞT[3ɝ.6Qd)b3.@J'L[*eDZ6J&eg}R>1q##vQJœ5J>xUAi&Ə:zA]@G rF0Gcq9\T|o|Xdurr5~4wy .g~srN⣸*j=|:ķ~*1_zVw7;vJJRWJC)RZIiWᵣ,)=/ARJyBSRFI+eRI)eRTJ)R6J&e}R>R$xzNŠ|²]O$j`ۙUƐ\]J ÿZOJcckrcNn#^)D^R28-eћr V B%~q2 Ņ~q:PZN7n 7wj~* ?o Oh8^k Yc§- 32"%]P:%EVMrzPPEnd ɺu3&yM뜠,g^V;@ᬣwTit2ނ8m#pnnOۧv=dZ"3D)tSL a-lNm&?tQÒ6H*9dM碉V`/ds%:vOn |ѓmnFQ @;mK g =*:Om.:m"/n^3=(Ve ,[Pq솞>* S2C7+?\$qkz u%TN{V 8N&zR4>52jz} p`+&ՔZDE_Cet{Jy`mk ڥpgwWy`X |7$G2车Q=B<0,;X6x9DPEz?mn+<0T xqf`y=Ejs贷C<  5HG l؀@C 4$s4tm&bf ( E&ƔHSm{O˙^m&@UN'՝7k|(h mu]=Ch6og2wR(ZW#_G{$U7!?&yXCA/:Ite*;sIL~ߪKKbOLR娞OѮ(561ѵ4cKIwcב<@ wUs6?h->>U\aa%焇~8r1 P; W!Ru>qa~GTWm~{;3bF Vb*vioUK2rv mer ݋mhKmi[vo n'܎y\_zNntfu-=$&FSzo ꁿEO}6~x|T=&,x= }F{h{jQG{.+z`! 0Ks9sldQ9g=[ѳ="?!ʱᴅ7V j~~W1'[z)49zi[tCB`m8i t~pwu...xjvꫤSlDF+t9دb̡y4(v~vVkjisCp;^6XT2'ckq ~ZiLUO;\R?C)T魖N_O*||X籮aspjpO9l!&2k L s Dr$,f\r{7*ro-ݥ+t'Iimλo/;\}F8=ztjv?:}V=ZA1VpG~ q2FYu@w+:Gnz"cEo2͉Tt^bfF]$Z:U՞S\v1svr&v-z>qq"4h8/r)F:p=MϮR>&^`>`k޼SO͍:<0T " V(GP9==DT49ٙ;)'X.񳖾tr4pu'|G+<0m]z'3[Fr?uS+\ 9긞U_J'_~Z#8= '7S$;kn }@5&onKzuul=5g׆QOShwF{r{]mL?gPםj}oaCۍWTմZ .Ou1Z ~Wzp^';m]l[wdSONDXŹ+KۗY9j6E`pA1tA#'V`s]F~:6Wϩ&^*񣴭ygtjI<{4N~ܩew֬.G$ue3S(WHEz#՜Qk$j =4H Y ?>sθ\zE:"2nfG_KfKWa)'wg`Njo\t|$f1v dmu^"3 ,'_ ; NMKHd$S{Ї:F{zGvx[!nm4׈"?VpBxG0Wnr}i_q2[`F+nX.V6ʛ=Zϡhh TKrnUڭ m>" coȸ)p;]L#ggJ~G!ZIżzXw;@ۺ ֝Mj rpk gu >H$] ۺNU$t> ӽOCWYjӝ[Q[=e⽌t_ہpep]vܝ_ZT: F ! Y]rp™ʌhkNc?֚kzWHy{(cuΟHۺ3N kg=n+B tF];9{ ـ3bj;z{4а ?J;O./wFYA<ڢ[Uy_w|/gȨܗ~/ipڹvնFpȷnm +EgSmӶ^cz6_,X? >/iz 9?/r{+=ޝxx;Q:ijKKpl͸Llb;2/o@-2ogMe.9BA؈V` Y]zuƽ#&pZ-oHٔ8yw`s >|N"yk/By-+d9eB/̲7s]-p> sᛶK- gЇݳL6_GCŐh-Eg p!w <\^N^^pBm1߂hsy@ ,Vi$}X<'CAZ9L=܍^} pLg z:`;yj?BL3:$͌NV>ƕ,mGvr,zDQYX; sOùM2t Ǻ`: Qa')D qB㙲FmbmӰdW=uUʚI+N5\zNW# ۃc1*3L 0]do <,|jKhu7/aD?F:3`d㥽&{}x̬4<{Hz*v[.f6el^*#JK E+CUנÇL.t-Z_2Sl𣲛Kc%8B׆Ngz@RZ2"K,jimVzz̾ Y4<6mz@V xL{Ys$vL=Y}XVoʺfOٯr =@ `Yl݂m,7+$R;d&o6xUk?&84[#Vh<h;#O=M0лWZmwƓC8^]Bn` .kJ_`E qhc m";,$ZC6y󈨪 d'~kW1,k+^"",By2c1TJWӉm m{m*WjujXDwtԼNpm{giu W4ڿR?VڞhOc۶ʇr^c̰=U 7#t<;v^4zd߬k֨kΪ6۾poҵlߩkYCq㠡+ص4gڻЩs5󑌢!AC?céDqHpJ^吾\*ѽny˻˲CEjb>rUs{.6VmSj#Hѕ}84Jwt -T#:e/BW7B;pD;_tE$Xѫ /éOHf@q8IIuv=X^?A?=g2`߅>#rJik_#q9_@ož)8G`ZBr;۠@'wwIQ=9Rګ 2fL33Sp|*4>ϚYC~1x Ť:pc[$'ÌGXD9'*m<`[zۡœv:o:y^02jDlh^.wǐy=&:a䷵m-  )oevgPqv·tA[wx'zC)}mgy&VҗYuL#h$hu߀&B3D2ކ(:}8Iѐ ?~c0.޽HNALh9%kăMVwk/!f?&_"udbښ9ef'A֚3$zv*&Gx;Ժ;(5]{,KEE$Xѫ /éOHf@q8IIuv=X^?A?=g2`߅>#rJik_#q9_@ož)8G`ZBr;۠@'wVږ!s/4j2,؄0G@iXh,g|-mu+j]@[fߛnA~B3f\c;ؽ0:G.1pǐy=f;J6t邆jg@>dnG3qyڦ3}'z=Cf"G_s߀̎h3x7xؓi ??1zܣ%S3_٬,w8샌Ϡӵ>I={Ip8 Dk1ȚrGmYGKi>.o V#N$8D}VĉgbތJȿ:TNc~ \f?zKЬw4x>s?|VK$dBw5qyg*H%$k|>>LbD>.ih}jlSR{yLNWCi3' ݨߍuiLʱ~B9nc%ͦ?zmF~O3n y1xјS,\yH F/жn8C}FC18\++c@o}BboE Ve2WtWpY?sw2Ex%HE۫`>Ɋb)2SjGbtAЋ42Q;=п\X N8 dNWjp&򿰫u }'Xihp*xa[eܺ Z{jK)¯L3_<_mk)T:4~Ļ*nuv*|o-$vگme3ucU%}@OeA')iJN2ǡ):?ªzCHwm=!e}4TƮɐ2ůqT!Nxz,4QMXR> zJJh[0z2xcpS iYE8̗C2bC`"yZnGeJO1})Swn1b`/wP;2"|U~/Ã~/..{#~9"YeyTJEr' 3 \Eme'{^Effν{OBHBEz%Ҥw&B7!"EHoDA (Mw=YDDymw7:Ax-_q;| uʦY<|RCF~xH|$,I8I9I}"&.GfKRzO=)4%.gΕ2]%Yߗ˒CXB JjnP$_[ճ{={̳uB-ʞ,r N\˜1y$>oIZ@$BI[%)KR\0^F$IRNjr$[hUB$fbh%ƱmN J 5VϩkʸJZyB\W@:(,erXtRUPn{I&#hD螏 ҞyI0a#tVNmNeaBvh!yJ)P24۵H#-AlNTM=42a:kٕT>vc[h*.0L7cqW܅n׀'}0R:ҁOd2 FH e* Ȍ2#ev'Z0^ˮLva9yBa'j9@5rk'X']^ST!xʪPUQUTxxc0X3V0[-EAZ2ۚmEaEĘ]ͮY]1 Ef5To8/9vjOpʏ1 Qbf̬aV̪0;fW1'Ts̋yU$*B* c0F"XDEc1,Ra ,RcI,`i,bY,X^XYǦTep?)2b+l2al2c{l`G쨲kʆ]ʎݱʁo*'>*o<88|>*p*q*#q*p18F=p*p*p*Sp*Sq*qzgLUg,U U\U| ߂A AP(G,~C#(~@18űxx'D(q2OS(p8g89T/Kq>T*"\Uk\p).gW|jIs-=kmF/fuq+yqyzl}Iwf4Ľ "^&x/CSWey+a|%ԷLD4-EKbc1H}}P3|࿽h}9hKC}L(d!UhPx=( ` LY0J^8g E | *%xm@oE6rxml!ە6>ПmlDm7m|=]Cv ϶{Cilƶ[c=Aھ] > 51(3cѿP 7zGO<8s{3;. 0`]C U1 0>Q00`2yOa*L0fgf%#, o;X {X+sհ:Xȏal-~"3lvnC>fpaO+e(SV~PU&LW~zW PjRS_kڬ'Mjڥv=jڧ:_F vce6{}~q8d6~1Gcqq8e6gsyqѸd\6WkuqӸe6w{} a.򺂮+ʺy]CԵtm]Gu=]_7 u#nenXJ-)Vӯ8^wu'xUw ݃ROK}[mW]=@ԃ`P?=RGzz'zTOճ_yzJ/ "ۯDK2^Wz^z^7zޤ7-zIo?zީwzޫ>}Dq}Bԧi}Fy}A_ԗe}Eҷ}W~z?ӳU}M_7Mu eXoYo[}w~V]Mm߲߶w@{=~bo`hcqx{=ўdO؟Sit{=̞e϶?__W{^aW٫5ZG{bo?N{}>nOge};n߰oڷ}~`?ttc8s:ǜ s9q:sɹ\q:ל s˹q:a"(*h͠/` h 1 & Ã``T0e0:*:&6L0]0}0C0c0S0s0Kplp\p|pBpbpRprpJLsvV(HK@GwG&'FGH=">{4*ApډքP^,њ(^D j|vE8HYQV%*`Ț&[A[KtK />},2FF1"oo[ ֊ENNԷǷO;;$Slp_=ؠ9]J,g+y*~~EE__Z//+6++M**b+닟6X񳿭ac5b^FY&ΒΎHgIgo_nb͜'~p\| F&dcK{dFŹLc떖zT:@}&I&CrWDcVH\j`Qb?ef*3Lk>c3ӛ̌f&3jf39̜f.3k3̂g];.[{>_!qX"8.N8-Έ✡ CP7-u[Qw=u_=P2bHi0O%)\Vi.pKKO8% JRɃGYǡNBQ姡P|yj#%%mEi[FJ֢52F>z)z{ \/zq­֗T"HuLu`NCu44?4kZof(׺׺ FtF&nvW[puuGK2h#J?Z&E]J᏶+ \% d^|̋f^K&`1;6VC@} n4[!Fbuٺ-))Z =(:}I=0knoH%q{rR2$H}b(IqMz8HL8AQ (HIi@FH#H(2@m-x~өi4b4?~khμ^W[@](h|'cZ^-"wډ BH%r6"wcTKTDA[a"x(>!**Q V ;*Eu1yqX3$7p|SPMWS= ¥~7>i&&|>@R(tU5&# ` q0tl#l4?G׶w?zRLԗQzSeQgdПɵTlK ~&qM斛-)Tni܊ӹfpm83G2)(f<%3͌bS3৺ +]ɷ?S {3Q"Z #QoG)ڸ=OFr_atPP "hL#I/E /hc5 i0/,rƨ|>$:ޚ`M&Y)֧T+*kZkM@}oݶXw{}&gd?#'({^lmc/~}>bOا39}ɾh˱ :89\Nn'w 8BNa'y)u9ŝsNIS)u9 `09-w0FdLq4sd/g[By5A ߗܷط"|7}7)n p*CvwB@b4f_hӈ{<]&kw-ڬuX_`"kw=  PRԽXRwKӴkJ;B fy cS1湹1\\O?Ww^,}'!}ܞ홌339g8gg$g n(nϔܞn) w=R]5 u̐JgWd{OŊ↸EdL%3쪊k4[m.fW;njbv̉1/BEXbyM6;k8!8GpN8g,sq~ q1~2\p #n-;p}x%ƿOK 2]ROL9]ocOgejgd=GCǐɦ Ku+5I1zaY(Gjڲl(:zRrc=(S'ɽGT.IAKj>wOT?H9qjD(KSSN[$I)I~8j%N) W#;7s~ LQv]~ʯo?q߄2HL0?K`96M{-w #ʸcҺH=8NhIj?#'%ܯwO E 2W70)nfޥ=) sQ^K Z%;R796Jy_eC6!kC z< l{Y}{E Ob 𿪬q`-J N͏X's&*Y P}'ShU>Go\iQM9_61(70GGg c˽sͧ^LaPL'gv1bA3r4d=C=M``_L t$h?ѣPuu"# M_*!hCܿAX"0@4LF1 Q$ BF  A!+3?A5^љe=?mze}&dXuM.wzp7︗L 5 Lpe  FݱQUŜ//'b tɋ?~2 \pQ8 7eaD315̐JAaF#ÿ`u /H%fG\7OUO,cn')bx~Zzj"6BmtO bw>cAJ߻ KX>2~zxV2k^~lwbp)YVp1ߗL8~1cwm4S*aPV[rCbVw'ǀ$/*y0hŅ]k2T\GNLn6Ifntח7CGb~-',OI†f`"ǩ8q†Q^epWeW@dzQs/ Y}#1,_qĢ3?L]3e'k1+ˬ+IJȼ4mβ 4s[@U 3߈{m/[UhգtZʙ :ӣcvI̫|I"*vlr٦X|I{PTӹg+^nm Y/Os~4dB]foߍJ5:;᪸CK`njB~Vlr'"6= 2{Ht-1k(t}C01B`I}U>˯J=xl,Z=}4,[:Fґl}f\2AN;i=w%_&^5ܝz"?GP58Ľ*hCk^.o6ܠ[gVU9Nڛ.q*$ f]97-7OᴀODHMqCU$+5Šh(fUWζsfK& W7;ܿbQ~D.oDEPbQR0";w>ZIߪµ\vYѩЛ]vULD^d[uف9>CLH׿p M r&~鐻IUJ/ b̫ŗ]3g-oYW} W2S`G4ך;hڪi]96ۇDB f?\?pxn;. XW˕bS2z\Ju4ulu+ij#>V5]%M0%w=Y`@:йm~J<7zBGOODof?I ߔ}HJ[p￞,*b*)nvGX uŇbiˆDg{P͌^O8y1y9ђs؛#I&M՞2 )ar{񜭙'\O~޶ϳ&tvpܯ$jç#܃Q͋  CHל_-rH đ5|w OZ~{&uؽK͛̒{\ o 5@/&P,Qcg=I̎gv=/\>^Oo3cMjm^l3C*zE+dD{ŚkCZoKTV(#.QcReԪ^6;UJޯ)h_Fyp)uY ƿ5D/EXskb[t@1kaggj8{L*jN%~ DRY&CRxjQYǶ7OAͭa#_?IVƧ^wVpj6Bg2 .aq,>_eRu /BvGGD֊eێ82 _RF߫g \ ?q+ئDŽa0 ^017L"& Br?](&Xe?](z/*4Q/Tp,Krsxy*gTx@v'՗Ԇ8m+sS"iG^YΈ>=#xQLz.˽; m֚|:#=c1>ܻ|؇%,9%4<-P"cFgrS-/d,dS.H{Bs@ IwGZ\ȩܯ On((1)Fuz0NౕEk`z:>Vj^z\;BnY/ͺVzt1 J?戋ŠE"0+m; rr-haJЃ$ }F'P !#[YD'Z-]5;WRo60ӓk<* Vk+[ҥ> stream x} xyw}L̛  a͐ BX &(d d'6ASEq.Z [ڸRKZkZvZ[̄$EK}lܛ{{{Ld26P_TlYzuEUތ ?XYyΆTx۲딩 @:~M;i \]ZxG tkfH:*zmz/>:'(:]<63)DLճ-V}xsp~^72wжp5ueH_A_(c תQ@~K< ͨzg[ 0==,cw 4j=}?A{VXngڜn4/4χsi]f FTp#<ø"]d̽p(9C HFƆ23Y,ᡆn(5,ñ fۜlۢ?[SCrA>fda)vVUQޚ[®*$\Z gihh 9$g Cf{oj*QpReڼQpQuKn-gC˃P2z~_ ́VG87%z3hw[aW+ke䴄gEw#µM 5rhZn!CY',]|vb"!&^`Rvr6%1L*=2;g˂gF,rj\*F>N"54l;Ǧl g]LP/8}V'!W} [5ߺ&g]úS@](1hsKcx%g2{-c C^-LW]mc3"a-ZF-D a7\pksodS'8gWAcqZ)IjFu┷Ml+ۄG:;q|HTx٣%e덺 J*խ< oKXKeTS,ً203 #܆O41փ#YSְg>jql̻<2zs{Rd/`A<:<>; _3ka /q ҈#1"n'#l%X0H"HB`$c¹Hb>^R!a?2;2GA%vRF ) !8`A+A Yk  kVGT!J: TTE `Iľa1" 2R26`.YB0f|R#47 `:Id4'ed&L I_0I_NFJs)Ĵ$$\ L4:m$AIk@P h$A%8Ip+|D!"M5ڌ L]b#xH" =hmE5yM_IY:/")g!FsbJ 1_&K?%i@<1#x ~L?"xOF#A$l|{.,l'V-ab  K '#%!LKD<.H҅H; $NLO$ɅF̍I:a}$"s"I#Iaa]$1%C8`m$_w$_߅f&H" D|a DXԫ# 5V`1k ,$PC"Ĭ"X!TDR.X[\k+Byĺa ∕E ̏X"|҈u><+s4̎XYgG,EKA>G!$A!L r 8I!$3)$p $9Ni$BL(Dr@`%= D`$z]IJAlD TJTDL@ ((ʝD,pvenOY{cz甭s}p}ʯ-kv6܍kVW#UY{:ڃjոxb"O,,S0ݷgW=l?ltq9M\&]vEdN}>Utȯ1;ɫF-'GT FEE81z\,gyl,E5' X pX`/t: = }:p.1!-HovE<؉vwp|31p Oq.~}eDOM %p)p}i` \~5__8**|n[qd)&:71II L=(RH?oQx ~?y~/SueOSȃ'xUiaxL\ px(ޡk@ S`ɚEKu1"¥Ap%(R`7Z BCZl7~_,B^>f9f L+oI&QVYbiy%%s,sK"%IEaƕ^li xo4a7%th)L4gu9:Ԩ43TeUmX~~IWtR6hrZbIqFi:I瓫Ys)iDJ=%{aMfZhNL:1AxʼnK4))jNm贩Ne(G`>}%/r*3%:E@(.^*(XPds K &{Nmq+ݹyXR[Kʅ#ӊ6nX~5o~jsnJ%,|:-*n6I|{Kt)X5lRK(VT%e JW53W&U)S$MrTaXa.4Z4ATbl]vwGRF֘;VtI8>0zL1_A>$^ ʱ.< 'Y#b+ݖ/MAV*SSV,eZ% O_u&;2d#GXX-vyxh+:j!'O–}T MiK(EX>pY mM\2)TEUsUdKEmiۊ4Ik̬+S]±`W.\Y&TYg5n:ӵhӕgaVn~ hr9ThriVC,.8U/-afd ÛU,<^^2r̚2/ 0s;*U45%mӡQ=OT3 F׾ޤVz]uZV1j ;fiOv ̓uYwկXڱOKݔZCJ!igkӹdfECiIyJ_Yz"ǥ0fk7JO(L$lʶ}욷"nRghZy ZlBё#xMg[K(%(kcWp޼L,AjB)Q+jmXBZ9guzv#SӐ)/MJ !\ŕRŗUNpx2$L: LŶߖnVHiDJo֛DRgYffN5v zؤ$' ş ZkjBBQ!,)Y)N\AkIGaS _xQY9Uh7e]UzgWEukUxxxxxxxxxxx/};T>J`B2G?`p>?lmX1Z4bߚ5[RDiLң4zEiWGi5l6Ei bh-(ZE,TFZP6A:ufwGi4\%HӪLZkVA*Ei5,Ώ/ZhCQZ'ԏC6l{QX=2 N{6g)DS<My&L4h3єg)DS<My&L4.a6,*:!J9~gBV>UB-6!Pz (Yz=(ӎZNx'҃|2G_%KL>9=ܢsD^3Fه^luE<Z(߱lSS?f@ų矧g#~Pȋc綝KxXֶq=Zf0~7skvΏ71ZO䧁!yd{-j(ƮvDpC[vψ;^{ Os:ib6zr36B$ :} B<~JYl'ˮISM}\D /|@noCo]@֭6_azQvlvlS~ƲU n\Ҩnp ݭSe+t~id<c篃ϳN+_i_ԑ--n6O5N>tQ3)'}x Ϟ_{I392VBk'p5$84ϳ>\|J)Ϟ 9AU=O ߘ&oп^Eѿ?D_ ^`]YsU~o3$WAOW(/]ݡ7 nuVzzA=ro/'xdwʝ^vy?- z|r5 h׋}? ʵ! }r!ȗz=@47 / ȁ`?F==[n \<ސCl=>)arm P.s.{qwA%eW 07h 9(maK[=^10_p, b>q=lk19ynaiItf&lA(zzXl 3`lo?(\9 ̐;|`; ,(*ںukaoLŋB]AO{{72Ӄ73ALvyp1 6-{p?|^(۷+lp:i_vt}ޞTu=e.|}B9滿5?C3Sb§4 tzƼCG/x cѿ3)Hr1nj C-~tzt&{wPlcovM=SY%Ҡs;s`[?TI_3Thמ_8Syɋ3ZLQGb NWo%Y(.2zV>_'9Q^5F隤8A٨V^ JwL`P>N/ f\[zPlތ2Izӳ^>GkBv}ĢqzSQo@D-(edN4:ϐg5p |F)hTM}TJA*^߯R*ER+4Q\!I!j4:Ao;q5]W]=V%h bQ}vwTꖎ}sQ0yъ6hArBҩ1OjVUhhh5R+*RtÑАB!T(Lrjqn}n}}k-Ö=nYqK?R/ ˨O=7 z3Y|3} A\RQqᅻ/ iԂFӡ@{N{EEݻ2̳N)T3`D*V5sY0X22Y3=^O>j F0Ī. ? xsiՂV;O>M/'x@ÇU^U\iF`TcA>TFMg3ϰCon[@n@RWзxB}_BSc 4O !):@ &q>qD9fH*bzaZU277ɰ$*ÞH# =XǬ+@ )Ox@nݼ?66x%޿7>y_ ޯͽycO gk0@/P_O}0h |OCB T];;zI2Ua*+Vҭ'?qa&ntı%g8⸱]5n^BA[uxscB 1Ub=\ &%EHq LJA]CxP~ap-qncXqrjEbb dkS 5Xh՜.2CXzY5jԘt|޸7V-眶vZUʚ:ViX_MZ2.g&դI=c5hۍu;OW/=2ۙGQz+L& 8l(8a(1 8lesn(42A !!:!tT:B覕a*apWj}~kF9czce5 G)GEeGؼMOUIj3ԫa\&aT܄] QґPgΊGb95vxvcr1cqC8F%oHzCFo/wXű3߀g:4sqt|s;/Ҍus9>nu6_豞ckϥ=՞zk~O{8'na}]dyn8rO9nt}zھcS]50cʁ%ZnكbpINr5 Ie);}UzNI1&ue6'fa qi=\~lk3x3y;\mcD|v0f#cv#\OS?[1|1{ZƧK9Da`byD۱}2^6ϑg?gWcf;/wvlB.c0Gyfh=cEW֖+. 2ryͷmz ͦoڛK+1s~]Z7kքjJկM]\N:(ևEi2-c+Ь>m'lܺŀֆ`ׄ *5\p FjlxeH=kKs=0֖u\?s5'6hX.laqa~^)㸸sMˇ꘻ˎ?g.; g?;{t5޴c`F<{01Ɲv{ S13Gw|~Zx={cLK-ư3HhAp b<{ E GÝ|)Ǝ͘Gyg1?eb# q'Z9蘱1wBqhsijƮ>hPv?q눤Ho0#G9*)% DrfMxS5oMW򖮼%-w3Sf6ɮ;^`X"6̄w]a̅lg9pr !ȇBEBryP?Q'K)ANCDMW8gDŽd%8*s(XtԣA> EpAHt%hPAjISXσwˈ5FxPZ< 0QncgaLפn}q턷`߽ho]BK99r ÿ3_o^z7r T(# 84bANI5JN p΁mBڢ&E+Ό5ޱy**b*F|2抗4߮]Dw.Ù>Ù>Ù>Ù>Ù>pZEpZEpZEpQDŽqLDŽqLº<")CUGqpppppdLd,Ȣ̅ɚVLɔȆ#AGP=AT hE(FE*Qч>T +ZaK^ź=Z`X }]H>h>H>F 14444444444 `MmϚڞzͥ^s\굜z-^K굄z-AiIԫJԫJtkn_jKF!:(KXgc nĺºººººººººººBԡJa.uWBRoԛzzZZB)2\s~9/%x,I$s{ ~WYOSXKSXKSXKSD43aF?o:*yR 0Ux\nvוM͔*[eLX_JV7-5y`;쀝Hv حc~Tn/s,nԒa<1eqL 5 :CzbkOuo#[o[`YlKA[[Hhtѯ~mk zCF_almf#6٪`,nK$Z>ke<-iOxZ2񴌧e<-;в3-;вܲOC>4wchDYLYęE?n3|CU 3ùPi_BRਬ gJ&@"\ )CD3tYY+++xfxh ͠9\WB h ml#f1ۈF̶$bmm!RٺB7n&Ӷ˲Ml\o[X k`;mwN;>@KZڪC ߝZy1΃Elcj\?!Ya-DG>3Vs +ͻ-oxv1wle|߳n7unAmȃrn! 豌T] B|(0 GPG*84=Ϻieʮ,,Yn-˩nZ7=DbB|_5~Q7 `!|CX KT>0vZ޽w/<O$%kx2޿/^^^;7lݰO.cL^eL^eL^eL^w5'Ys2bd|!vb9ڍd6j:ݙPw񳌽=EFO1bFW]1+ftdIdIdIdIdIdIdIdIdIdIdIdIdIdIdI(P(P(P(P8) TplTplr3K}*~Ca zB+T &W*\eF*jF*jF*j5@ j8PÁp5@ j8PÁp5@ j8PÁp5@ j8PÁo .%1D7薘umv]a0*}9,%d 2'?EYEYEYEYE?YE?YE?YE?YE?YE?YE?YE?YE?YE?YE?YE?YE?YɒNt%,dI'K:YɒNt%,dI'K:Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Oc 67le_՝,Rج9Y8E"d!BdؿGP7ԍnu#F0Q7a nuèF0Q7a nuèF0Q7a nuèFDP':ԉNu"1T}5k2e1bά3b [1_Mp ~ʈpZpZwiK#*"*"*"?@ ?@ ?@ _#4ܧ> iO}p4ܧ> iO}pU[U[U[U[4ܧ> iO}p4ܧ> iO}p4ܧ> iO}ZɕNt;Hu^G{u4XGcu4XGcu4XGcu4XGcu4XGcu4XGcubԉQ'FubԉQ'FubԉQ'FubԉQ'FubԉQ'FubԉQ'F]4c s86{<Gϑsd{gqyqy+\ޜuB.:Y zCjnʈP_1QE0:}"4tO'*;cnNNk~-Sy:Sy:n4]J\*qĥJ\*qĥJ\*qĥJ\*qĥJ\*qĥJ\*qĥ0y 0y 0y 0y1f&ѩѩћ9tU-UWZ\UjqU-UWZ\UjqU-UWZ\Uk+*-,Mz|ɲ[ԱVB/2WbTV)-ocD37wA2}Sb羝}yڲv3=S旤xR\[ -a8 q+*Vz '>_})O}-s㾃^y,sf>o]q;`'^<wwJ|҇&q5; g)v;ߠ-A{B{?C0< \n}Q.r(Wr9VjVju(VRu(URu(TBu(TB'P @! 4PHC! NP D UP աP ielY'7m(o9"5#8: ^TzW[ETb8|8J3Zi-V<rr|wrr|~w~_(V_)4e$F7אjxtޢ+0ZnJfmvh<@,aH/wvn V:*a~AOGhyoZʓӨR7siU gP P! =pW +J,h{m+5kQ,EnQA{P:q3tGޯV6>!Ϳm1uɸNKQkRԮA0jR*KQe),VKQ ʟA3(VKR2p Adk\<w B\"(+ۯ+B=<בs'>pO9-%g*ϗ(rF4%8kg:dGzas6(֬z'GArE [%[%[D :T؃MMKKKKK 2T2T2TF%F͗Q `!|CX  F4 '}~Ep,vX;a\,yϗGptKsa(J||8Cuj:-'P''2"xYcvZY8'XsrP Z4#?+M1{+a|GBqì DI仫Z1Vi9Rd:UNLU:#t}guW&G1Ne}:ɪ:̿*7r&+g(8 \η2r;wh_mW *z=1e2Ú=t2öLf4qevXϊ,9ip,6+n78'A>|1T(Ѯ8{qǡ4 J.a5wϵp}T}sq;ٗ,`w tEgW ZΠc߲/؛q9\+R NI58W5<7-ex ޙ{]: zC 7}0sw  }0!0q[NgL3>G*(0Xx㤗=ʽ`<<xg 4{Nfr}Hk;kA9"4.欢Q K9O9㦞x Eўf ͝n֠=lîmfP.PGljj͡ZPT1oU6*˦ʶPYPYT^*f3=e Ǚ62,g9uۘ137ȅȅv\笽=LD4Q1AՅ]+Qf'0W?W?sP1sܡ2sCعGQ̜ٙL@nrQ"* VWb -ZПU4⵶֨ H&$B!ln1<̜}gIFcWS!ߧBO,B:gS!KX[X|j>k5 YװJU9U*Q:ZP-KTr-*@1_E|B֡bS(:1{A FwKNQN>OL|*f XAJRUT(_` ,NUbvNR J0Sp*-JoCb]X9P_31b#fRL#{UďOqTL.&Kb2s,vgN;ީ;x%kFɚQfd(2Jvbv2a#yd _1ٯWA"UrY#yd5VLV+&ժf#͊bY,]dR2R)݅7wJdrL)YRJF)%(^(٤QWx5J(ūh;Y#J-d("J-d L)<2E1#S( QJ(%Co k'ŵ0՗eʼn~oXYM=5| +(Id+&_B\VE.",`U$X VE."Oa5j џ^kW {X)l#Sh6ڀ6`џ"Sivڀ =HO1 ̱Pcs ٤UMR;Y:f^PLY13+ftIFW]3$#J2FM$Mi`4Ō"(liUMOAņ z[ޢVz[Z--"A"Aϭ\M\-J^MVzc9IG}drsX}f w609IH[+U\ٙE,]㴿 5 " [Q-$y-I^Ky+IJVMo:aKri+=A[Q5Ob͓yKVa*XE1bX VaS*,y13PjjIzĢ' ,zdXq3{L"\u檋 )-q>Z1ZO ia,-c8ܞ'7A l o'V؊vb8y9NXqftľ>g0>#}rS;}+o8y)N^8y(w|'$hK8$N.W1㌤d`>jI{j*}aM*ZyXk-Z.**|*y)RZ"*<[5WV*X+x^*c-sexeW@U`X|-_:xk{!X w-^kE󟌜N2"T1&F蚰v ke#l1111zj1ú1ú1b||FUQ$4"ނUu?{ftM=*FmWa|:gތij~hf4I=ھjFkڵߛT6*]%\ROi괹oY`##x~Kk{#wnc9.FNNNNNNNNhC#ڡЌvhD;4M̶ЈnhD74Re-:(d'b'b'b'b'b'b'b'b'E 4H-hX߈%hF4@#hFj#5KR󛨻Fn#51=l̥16R{hk):}xlx+ON NIq ?됎~ ~ Wj飊h[hY-~ ~ Zj-O 4E9gE5*3 ~G-c8>=O#3?Vm#&o"!??`8c8k%I$=%)IOIzJS/=IwdX%QP)c r}5{q]Yvٳ8~g*^j*ZY/!r5a>5̧4IY8k$lfDxOW3f<c ca5HOkc ޯՌ0 e)"K  fY5̇qZ"Yho+e6.+J W0 Fµp|` p#fnpwp f m\ a+ljvA|6ow](|s5:@WBԊP)zzAo૧B)3)\B ,ڛY6YBsרϭ0r~3 Y3+{8o㐀zj|e)++zؙ :B7s͜ld3'9},T_x9P_RďEiWݡ\Yp p ?LC0MDnn:rgSY90j5Ѽh^M4&WKU" /x^?,yxW빡C$TG|?R\?gjR%fg p)\ `8k,9ʑ9tOK9DN#-s,Vumī**^?,7X kP RT.UKR> *)9SrB )8Uy"JO%ƃ#LO'ΧӉt$~Rx^O>Vr<GExt]G "^]Wxu^]aEϐ XSÚ԰_Ԉ@Ԉ@}y1|Z=0I#9f*GC= Z4xX)'٨;URnr oEDVg4_"9WJ1Ř-:O x~ a< m5\1\1(}ArT-DLN/C"Ln![ĒIċy\ C88^Q9rG#$IrTrTy6 "2j[*[*[*[`@LYĔ z=q$ X5X5,: g9ggN%*jp) A0qڌf6㴯p\ `8-e 9 T4|FVg"@ZŢSd@>>>>>>H5@-8#Pp|)cVa]P_n(=@͈^(}A A%*8P#:9S潢k}zB))%b ,}0I׸ ?o'}̡t., ppQ>*G|T Q>*'C"C"CUB̀'0~OSKȁfgȦKȦKȦKȦKȦKȤɤɤɤɤɤ!:dRLI2C&uȤԡƨ1jnƨ1jnƨ1jnu]jO>ק^S{}jO>קddd( ۀǠ CIF-&/&/&/&/&s9d2z#{dt=2GF#{dt=2GF#{dt=2GF#{hh4yM^&/@ hmhŰJDjR RG~3sTG R}i0C@uKuKuBTkOP!B#¡Z8T jP-Cp¡Z8T 5F}ԨQ>jGQ5F}ԨQ\%&?C.m5 4 4K{.T#jPC5rFȡ9T#jPVj>ZGh5|Vj>ZGh5h68 g,EˡPfQ<*Ru ECQ(ob(:FEjpFM:(id*c;FtR̽Y0| p }Q\qBQQ'RQTz CP1Tz ΢΢΢2_|XB DG̿ qTaόأ{TbJ?,`XacXq$}V1bVKKy=f4oͅy < b*}t =}OwGWjk5࠱}4> u\BA!8m}>a)a)a)aEYğEYğE&&&&"rPKQQ9"U*T~'><)6<ԆgqK@3O c\,"7JȅUQTɣxI/a V\ԊZqQ+.jEV\ԊZqQ+.jEV\ԊZqQ+.jEV\ԊZqQ+.jEVԊZqP+jA8VԊZqP+jA8VԊZqP+jA8VԊZqP+jE8^eu|c"xDL~"Ԧڣ&VmxP]Lg9I$Շr[##*!+A픍U쳤,eU>j衃YQ9矯^K2z|?kCEL0D p!:FJ1W`1^?X /K2v:(AX+pt CzB/ R`0dU= 7[X`1^?+* X!}\ pR_R'r^#6//2 OeSLyVVeWh0Lua)۰;NFDFFQQن7[O x~ a< #Ui | k3XT/ȇP_&6 a+> C9T@ *TA$L$^Lż0Fh*q*x,dAn?_r˯΅"K`{د<{ñK5?53.Pԝ{;YA]IO[L-KykOP ,C4=Bfl<_+F;h;§x&q7?Si04ӟV3*Jy/Ã{*~I-j7w ͜Uq6u:EY`!0 pL-cVư-rZ*e?~6l6lgff?~6l6ld콲{ef*}T6{lM%=|*fQ/$z7=Ccŕ;Wl{E@m8b|$L.9Gur9㇍b0 b|{A<1~Ez:DS)VjB'N~?nj[NhJ"/P:oeCt3m]y&ŕmo Zލ^f]{e~Aܑs1|*햫QEcTzધOPyg\ey/qF9۫>̕Jh&F#ެάwsۈn;ub>8;Xr6ќ>W:iZ8:릁@gwSKjm:w<\m_=ZOᠽ{۰ms-W/Suڱ6tOQWpvŪJuasoW:qN~=u۰i:O62Syos=1 B-$ '֋{ϋ̹/Kpϥ܃4sO3𓓶kOэqkcGpҶC7ƐxE=gs'{6m֩gFV""r{f"V>4GTfjBD]DTN`LTʞ'F3Xa(V+ 5zvaX!,%}_}9K9TOG`,1 D=t%3Ad۩˞} {ۏgo"{dzO5ʕ?d/?I妟|! 3J `f2}>^\]KBOЮІI5d}v>E}O?]??gOj_sq<mD_mG}6Y_T@D{L_of; LoЏi C M?>ҕ'RR[+-t|Iv6.V {}%AV%hrK^-־m)QrW7jM\NjrvP>,L IJr%s9U.˵H~gi\;#% r,שNJmL}͸Lco6f/KwIG:c>(6JFQ/2 / e2BCPPa}m>7Pk^jB"SR/6CfHcZf'ļWzyO?d0/+1zmfg/9E^`>n${/ȱ78MMyg3Wjk~(o3טk3̓u^sAgn46s|e?4d̬?2qy<" fa4[ͳOY+zYWypk|5Vaj.WXwYw\[փC=G֏_)7k5Uk'lkԚc=/Z%rnj&wZoXdz_bEjU[5ʳd.X{,O6YU!uV2۲#FW{=Ӹ~Ӟm?msggB7F?551~1~~ȲW4.ٟCfc]hNc]l#v=.3n+ c]e2F1n[4n _5<:<ڸ-<6<ָ=|gN{'w O6 O O5O O3~y3`ȇƏ#k"kG"E)O"S#k#FG"fg"ی#ő3̌LՌ>30&cF~cwFEШvtw=Lp urCKUGOu'?)p669͡-Wס=w9Nes#rީ::tN:)-|17f.nP{7^uLfYtי{;dtoqǛ};f?s;yyQs;}¼Ɲ4Gmhw}w疻16[eָ5!9=5qg9)cS3s_E}}UwUu* @C !_5FqGDTDFEDd۝H \߻rm]sNnjƺTsGcS9]6GH]3z -Z=O~ٻCo.{"_A:BGz-<o[uN"ǐunB\OzWù]SzYa+tsPox}QfGAWT{a}\ٞᕿ{=57XޅOA|5C"N[ Z~Αޝ?Rǽz^1d;B=f=|h|OuJ__|)Gdٙޥwj~Ί1rK:}Q=]N^O{=seGwa%`>q9CV=Az`%l* \Jn$X^sjU$:GHAky5yr 'LsTk׿}:OY TF"^<,_]Ϡ=KwWtp7~?wTԏGO4Ǻ"M,F1?y@4vѵr-1@!NsM8S=uڨvcSj:@Os,M#I=N4cizcizciY,G}~sFffB5h[K(ev7wѷw:ݗ6sE[w mwh/].:qqAA=~peDqeDsewwUwfF4:N)xq9JNU1Irj8u }3@4m 960pl`8ͼy~"Fޠ>T0UTvcȌQ11ϯx˦4k{O' i.ζO12U_VS!jZy"i3r#8ϏUOTNU~ߨ YFf)3ҕbFMKWe1-T\mU۩ڡvPډ(x2_K|-Tq b;C fҘ}f0ɜ.9 .Rݾ=dQ8(O_7*2+/#22`wvW+Enop3<=bBI I%'}P/Ζ-|<{ ΙH3}}EwwR{0΢9b,2p C2؏);^,<gZδ'Q))Fgpyr|ee~mc1fZc(3~ xmmxp~RO3ɞZOQr= Ǩ;Ǟ"{ɗU]eF(ގwػn{?؇pLqUOژ)glbOۿaTa2V18Qd`(?yX؎Mlp')ф0M`&@X ,h 4 l'c S`L!vapE3 dI$-%-6hF2AŽ$/Jx5yZjco{u"%|#4L3)^s*ZLKʴ`o[E~lg3uT (օJz]n݀ݽc9 E@>&0E/Q ?``Ysy+=d z z|egd h _ #i1kP,V, X, g=={P{(,-Z p_Ͷ\3ȇ9{k)GۣQU?0قqa{~~F:[.A0δat{~)6W{=%LB , .#GHEJJ5RH Hq HK[y)q<55\]b(<#E1e#{z7`D1`h1"F0"J0"Z0"mv>o::(RI|Όݩ t!6!N* VWHF}XŅraxwɕUN"zhxk=ߕKoCťEms8\+pThn֫w~%r}!5x?‹>BO;MNsC}|$; P/UwI9d1?/>C/o-/X_Aw3`"︖^oq{9V?&ޟ Y˭}ERZ;I~o{k/紟m)|qW,ߓn"ߣ]vz _ꦟe3Qy3q,gG{Ŝ=tOv<\dTSXJ>BZ.'q}~u`kf_SF3Zak(rny'暌{]SJA;bz 2I0u=ez/r=(u=Gf (|hoflҡ5'z-d\s20Er}YyQ:;MY[_pd,8G+_:7wR8wxys"3hɯ|I~w\fn@}H+tߩ@5Q-7 i.^E*||6mK+1m He)_3>}Gum]CO-?T`+)o<*^x_;Wzy N 8k7ۿz+0ͦY34 1<}6។AXɿ!:"=sgO;sā`B UJBk}7{ W\\h ikx^ъt׆ a7VB1WogA%Z%9ĵּ3(}ە^,}{LʟF~GWJ!(׽ڗ_R yYusnDF\-J_̆x~qQ8sN_z3lş_Lr~OT\pZT@EY95C9I98؜_Wε  >NOǷI.[q2-M'L]|[e<ۇJ'9υ-@hc"᯲8ϗins/E*3!?Ūꕂs%ljg|SSKK|)S2EoSp8RIkI(g`932-gy-o5W1tm ''Hqys0EJaEz"w^?J~YY^Q6/_ؚhG(-a-t(f5j=wVygnj;;)STU#qYc4Ȫ*:k7XU4_xUOէTjLcUZ4UU#u模>T= _4_MPhF_Yj6eǴRUhB-+U+T6}VU^}jZKX6f1j(PhY٬L{Y  4lE6f:b^e^EGf:f7SN')YXĨgfkMYh/5R2F V(1ڱBq +]X %F7V(1Bӯ-ыUIJbɪ$FCYƪ$ƣJb$ƋJbgUc_* kXX˪$:k5ª$vV%1v*UIYê$^V%1*qUIìJb`U4*qUIbU*`UUUITuV%Q5媮98T}SR5tJ;*)WNĩP͜Nª!ڰjjǪ!=TQY;DubՙCg!3Ǚndu+YADpvV=ooT/gVf՗DT?VQkA`u'kbu7k{X;Dv!QX;D=Z *@;Z j^ĘIj\Z {{i trUXl* f3V1[ ٚU@6bvfV1 y3ݽ^3@9=2og-.1Y |+2棬bgEs+`%IV0b%YV0_b%߬a|5{M=#{Y|'eTKݨQI>`ycm4I}OTxXj]CAD%tn=Pqvm> *AcK@8a$Yh c5 c5xթQH&`e`e`eMʚOQmii}|/+$$$IO.ƗƗXl,dc9`&6ZJ6R l luAz @I&TJRY5 [N0`n`\Oy+].-(\ZPpEAP8* fU1K "WDD[\Qpr%rKV@犂+ɓ>-IVtOKy u u&5 ^{F^|㨁 [8N%㳩&N9%3S5c)1jӷJeoo''^^P(s(+ 2'?S)}i8YePRg!MX.X3ˊCU*FVqZdZqVZ.iDV<`ա(:ePUu+ZPUV5\ݪ5ZhUXuPZ )Jod5"jLjYP7JAkͭ(j-DXW[-PjjL~Z+Jvm`݀1sR`~u7zv25zZ[Lk85TzzJX>i=5'Zxz-F 3WYUj`}j[cT k[SImk%YXP5њ#<ٚ 5VbJ ?>A sOzXZ 2k9U5Z`m@koQ5kZ;(Z{>k J4E ^˩DmR]ήHuJv5kWkRl7nL &vx)k iiVv+FO'Zg fT,,,,,,,,Ucf<%33@I0x ` 3 f0e:S9(Z` %bg1g < \%8kY` T a<ػَsZ3MdY3$:(9;ЛjP#pT6 0iȃgPmPdpLp Yׂ!?68׃#?.&cϊ~Rd1!\"P1pt@)H^i8f$Ex*MQw%Pyw;ʹuKS)(?՝2i(3Qw;e>tgGG;J| ϛe|nF8_[|)LۻV8?e퓧)(yʺUSVWI_L-SdWN} ^9yrZ6SnU[a)$QW٣E<]Q!xWVGQIy~޻:4%SMTߕM@//OW4#x8k '0.fi3~杵Jͪw1$o6fc MͦTlf Ϭl>zGo>]h{pWs377}6l5--Ay./ϥ{\z<~J[36&j >-aqCC?Ì3Vga8qc`N^8%2Z8e{ʊMZ&K kl/|-L -q ۃ 6^fۇ_+Jڠ$,a{0B ;''"KK>ATjߧ8հ Oq6:)EX~.g<}蝹~[7:Qss eN8')E@J l@@[j@]D)..(Ñ@@@7oD$%p s8II"8=8vFpLYYss`Y5#JT3D5fՌ(Q͈”;I Eϩhj$!r;ؠ$6xߝ@9j Ylp\x8wó]vμg5aU5g_nU5_Zw>w,?G?: /쿁3<+JjWSJ<^y&|jzAu$*h QA/ڋb^ 96%x (QAW ^E+yZeD!zU ^u^1I^=2JM*#i+рH"=Hrߍ XH"MC4s/#}i H~D:IjpI4WIjēH)$@wZ$R RH呪" +Ah iM/ mBItF/xߋt?HCmՈWB P4=웅47_NK)i5mHeJyJ{24>Ni|,^c*{|"q H# }&Y"-@Zl١< |6 Ez0\ކ Q$!h8Dg~%ٟuHݑz}o`ې# )sHOH2󤁣e1Ho"MD4#!}4O|"m |INҜ!`#Đ%dÖ lǵ ٝU/uH9!uX99鐃b[ 99f5N}$XɜʇYi3|2Β 7#v`F"3gqe:rܴ{3ޟQ̹j:*=)sA'3duJ}9^撴g3:qfvBm3NkeuI1l13f :ka36EY~>ho`JƎ>g=E^䗦=<8M!a|_`{%C-ۆ| 2}Ե8dhYabZ6녁#V)ቩ;{_Gvh5 `cceBe0 & !26*nZ9D!XaB h feBQt!DpdUˑZ4;?߮~~}޽=Ds|8+BK.=_.>ACGiT <i.7Wkk{Mzcاx846e8=ڬێmZW'SPnMFqD/ji'y^l<<: 'K7G6C80%ƽfOgC)E+lyˀqk)ӛ |U(Ɩռ7ږۼW<ƶS =^s:/.fS[mŞ#<׭8?D0T,n蒭̓D0(]dzMs:a=|4Oy(9zqNǴL.9"i3UzC8:ipSq_ zG<: Ops psY׆Njdh߶.y&FM6)^-{~^&YJGm#﹩4)UGJ kgZy(3wd>կʲo2)S@ge pWL]R>oq~OM=I}Cp7q"`<(*߈O:1 HՋ) ty0K̕UӐT_'X(/L#RyX^&xF7M#}Hۀ.`rߍo4&U[{ onH`}e{o4-]=k(]z$iV$g/v`d ߷t~ҷLk%I.OWa+:Ӟd*vymg,I<҇$c}|[>0(V"ϙ)כwu#%:n~t9( e*~bP%V- ʨ_$+_QK2Z2ywוE=͒_~wTY_ywBYoݱP6}eR<_ erVyw?np aijxvyG"`# mi:sɑeQ#߿b; w-!GǴ^Ǚ[~;YqbvAJF˨pQQ˔paXea?#RCn:4S:,/e|cT˞ }F@Lt>bRcz,uLcu)t,bDz&Xc-̱T:Ʊݖ:v&cre2-M!JX`#1Y]c45uI7:#63ӥf%T$m~ܪӧfH`/3cԓCTό1p a9r>՘zFMbp6̪O !gI=Z .W}*02E!"mdz{J(dO@1[> loU˰f/`֫e,>Two Sz`5G@ =ڋgv&@:g2tA9ǜ'+Ug5g l ;Ig5M'X?v{ .`bo;0&K+N&]a: {NyұG4t)e; tqgw[3` q1.D;nD5R^`%ˤ ka䒝.9r8I`qp}o/2A`;]\s9g\s" +㹳p @ppV;?p=; {TιC!g&TIk|#׫e~-ח j7W񩞧!h1X?ْZZW-!-'B _RVAιrvCY-y:RZutfbGMcNGmc{ԘlM0Lc{uڽjt?s{Z ocA345q%Ǝls\GOcEsbG^:p1OQ:F+`·Pgᓁ攎ؿwL=x,fcBtZy'g5un97rxzURvRCOsnrxhmXk`-ӈFoPO~J#zB2P?)dF *^dtN?^3uQeQ_@)Ǫ.J=9ւҎQz9ތ> e?!j??㏟D;^pBk=WkΡz;Ȍ.QCAGh3>~F^(*ʡbST-RiTrKQWoS_ W]J5(4?2 ߠ3Ꮸa0Nu& ߧ.T M}kX6{ =  J ~l15hQ?F];Ʊ7?9OjxxZ1~ij)KoP?3c *i+F76:(=t?i k~0Yr=]m2=Eqn25nҲl6nO{t ~j)OMѡh:3oFg}OGNz6mz'z0z0*.z(O>=F\_FEURT:~v'*;^?GDDދގ#2&̊kpUcC/np>x Ihbx?!~XVI HJ1l1t DO绋Ģ R6y߭ %A}f"$ ّ^G.FoV_Am `>~M 00GH&>[迂d|%-䐿qC I/ '#?FFOA>CT4*bg,`*&tҩQoQo$oMBo`ueBES;w(eCHw(*jAtlh' *CNwij]f׈Q?Po#Xb`Hb1j"c)1r\T3f8O+Oc5>@ZA@sAA Pπ/Y|.kZ6^|?7i~_e~.#ă$ B- 'SiT(s^ǂ ([ЅpI,\ ׄSa\n s ŠpW'<v Ɗ}\_(~r<5'NXLXBXJX!4tggEXEXQl-p=p ?M_ӨzJcff04ygs%͟'l>CXT+o66Sߢsas%asR#&x$UNu\3ׅ8GK^{~  >?y"TM ׁbUgN>% pon6)M=g\=pߤLI9Ê5t.엉(?J'{XՈJkGyC?Q 1}%+-sa=YYu|VR:J:!թSY<ɇ5Yz$uQR;Iuu[l$?اv _/Uľ-\M)9V7#דޤ^uKWvK4>6$܇Q'&Fr/A풦x.Fl3= @Zts\E8c{,T ؋\^⪖8 ~u`Ӛ&iϙ :bӰqu.3.%5:e٥ڭ.]r+d~W/%f <1 ƐKҮHlì`0ux5|t=.Ʊ o~(qcDX0{NŸHq,Hsb3`Xilcg/sEgc,V|-.?3uLXҺ3Etc[tdYCg.S$k>ޚL΁&9ds`Qb`EIv5inM^4as˹\js.c[4\krn4879J$M7M}lf6-htӒӴœZӒ6TOhֲ85jy|Ӿv@;%ibrV*kXq}PV]N39['6 Q8IM ulӚ[.t\ U%vY]뵫2]+ ubǠO6 M9ɗ[ev?8|E[jwk=hsy\u"OjcyN{z> -rp+!QKQG(;{ `dc`vN2Ct`mrfw}.Krep\w;ŝJ + ȹ{9—szV8N/rnN%2w]8V ΍sMV nq>"\w?4X!9 M$$d!+z@RəșLL4~EDșGəșh989%g gy tL$9 9Ur&Z+5?@oϒϑr2yr2T:Jd,9-r2ZFNF@NFo jE%'ddKL?G_O}Ւѯѯw ]o  S#3 8X0Ґ=2$S1%Y91fHx3fYdE2D 33擇I$nja>\1` W)o+ZǫqЯF`fCp'̃D`0 3 }u€d€7`灷TW`gCdI0(qs2d^"3EKGɌ~ fTB9 3Kκ?A]Y#I2'?P>b cߛK%0k̆澥P_f2l kL00,mưh6ɲUlͰlY/ mٳ<pٰ0C{Ql)t&I-I?ŖFeg &E6f2 ~XlŌ gpkϐF2,2U־,)"p{lb|Q<$I{0{#2#Rp-bz1} l=|Dzr s 0aaݬYK=6_1Z8%fH^fc3Q79.pH )$\[Df˄G[͖at+rٻ=#21py} |_ \ly2p!%si #sw1q\W-ȝ%6UpM\2Us.jIHZܴLpug8+oA^Xu[nN<~υnZ 7̍M$7j] Xn[$w;qw5xMrP&_r{fIpIBry{(G* vLHH39rۑ I!K9oHrmfk}&9\u=ϵ˺׽~}{漣ҼҸgO30ūkH "WowTQ;ɫ_kyM;Tc&gT^^cq9:h\2'2e*q*''j|ss;%``N1wb [,S}sqs~ e-ZBh{_Ḧ́Z]/~e>ePVWm [螟SvMy)PC> >]G# *wtJSϣYrsZl(!Zl(Gm/]]>頡=M=S#B%?M96N yQ PA2.@_ZGIڲ!s̓~Xʯ@gt#F ?ܳ*RX){Дl ?F] y#s xiB/@~JًrLgjQgfWȑoMgku^^/gr[%V?[XH;"{RD~M9Dds~Ι1_A=_1ub{FVLSs$~r&ҳ7皩Lb%Pxc%GF~~53Qg?,ki#r^Dƛ=HM=_/6ܹi߹:-c,1q_ϫg0gSmiT K||?Odn=lnZ|:,sY:R?ם9wfrzj{Uጥco9,$"Wܳg#]M-: L[c*WDJϻXdѼR(?>#4Cڟ;"++E֚|"{ΐWX'sd~߶#rȟ;]kBrEQKHpѐPM)Q'LMoqF jcm'QF?*{G4W(ϜQ3ѡQ9FG85~uNۦ6fZ3bT·Q=Q9EsUTSѭƿ~xY(*gG灨r,Sٗ57G9< QX=s8G 22~Y߮Z) 5j!F]NB݄Bwz@aB#F (4Ehb -Z%N=B;c8??yB[TPY UnƖZOj Hsiױ`Y(KPo{&  *'4Ih,B -Z#^h6}W}B~ڏ H y?$+-T>=CPsƗ5)UPWPO>B|DŽ O3Ceʞ=?{q5͞-{WGKKOa/\5\#\;\/!ppp83'O#4><9<-<;I_)Y}dWJ_YZWdD!ٜQ3jT' Q̐͐hmt32}}Ietm}yOն~@Q5*dyͫ}᪒ͮWjZU/p{ 8?CR;UC/:z=P7<"P?6nAլjVQ5Zj-["8}H |`+a?V:|Wxz(}l'}+cR{`gwЙ=Xӟ0ȧ÷[ܖ>.<#>i"|'tځko-F?^W3tl7W{e}U*xٚJ6wE ՗+ fgs׺Iߖ^WEzq;_)_;#X]~«fP姿dīA]gD!klS:k0|{pz:A |v svJ~GoE5x_Dn9{8;ԾĜ݂8Vm4oN/~y h~9s$,]sL\wAGbJS1 };i`:}˜rZCEk*pWW;&b,QL-O_ 64zP%ve$2|b,m/ol>/ؙu&u.s_2,K$ [JU{]` Quw>sw}k|-t~!6/cOYC1x'uiHʰPC- rg 4s]OJ".KD5%zG*/;I0y6i[Hґ3tx:2ӡI,/'+| qMy 4,a9 iXNSIVb4_g`X+f63)DuLy2[?W9WC6$P0Yu+dhC>q=)?O}3u"SU3pܽ_PQGa4%w ȱoSSoǥ;u.O~L}dG' 񳸈PłB'w+syIOEw+/FIs ?d.1؜  xqeQ4pGpᏣȯL5S=?Lux x'X UFT;X Ǚ!|mb;^rvdEdozDwHE$qB{x90ؐ,(U eWM)m:%WcdM+$7ډցTWlUy3ŲԾTB옋ٷm܁z?W?jHSvΫ#4 j>k8\]-`{??uP^Zh-FyvX_g*~PϢVQ[=Yu% VɏCz`&V1vfx2e 纣Nk^ITƼgmZ`VZw*ߙ0`?i6WV̺?ZI\_3NV zRpsXn .qhl[/kfbK*J yU<`5O$q{ Š7]0 ;<0owd ~Hw|% IW`6 \F;Y:s/sPtw7m攮*uwSln&l'Џ*D$lN\_de\>s9mX.p>}{Gk8[Rx7/*?Rzv;q)8޿fu6Yx4ԕr/-BGLo+*mVF~?wyyJu]d}?#k DJ$Xqb_ܭ"8ӟDu'΍9_E>OOL%rۯ۝[wlms{R괾AS.G^ #NZKշ~.`KEӀ(Bm"cEw:-4մfeOz NX0`W՞L1Sv"zvzgq~4[)NG%Ywc|=cv;As?{NM8~b3ztЬ FF+|,@:*TIT%=DE_Nr)3z uEoD"A_2,Ś{ֽMn-Uknl/qX Ѫ{T=V><[Qv{N|Dʬhv ^n+^QGF$<'a5rgnL۔38vX~Q=ZKߐM8~88,5ˮQ9{| ֪8- jrC,F>N { ?+); pT|q/uɈzjaq;GT֑8࿂wa1V޻?{xCb3iW0Z zugܽH_QN@g w_GUmS:,q%ܵFl.Nr֚/;ӏB4W)O e-)[Oz ZJvpӗ /c-<%VaM\*BwҁܸR^,;pZ`ortJO ԨMқ"BfozdϤ/E*xI+4rR.)ԩ{SC?ssӈ-SV {{'*w>oz*t#yEwNV&Ezkޗ%z&t֔/4^7PVv~x ctFcۋf}]wK.ݨwp"^iԙVZp:D=@;~>5Oe]fr7=7;ӄޅ&7\-)Bkn=/ɹQqss"ܲo&0U2>j{rP35nQaTɞZcSϯ`/} -~TӑsSG$3+m~ș>t<]͇|T^ީwwGй{@7nOkh-e<g÷?3^#惭uE_.o>4]WMVZ$qN3loxn(Ȳ t&JZ&^͉z-OKݧʇ ݱzMT4ATg~RM9}v˷s zWH}+͏yb-NbZt 'Ԛj w;K8r+aFٵӻY` 60fZrT^'#I",,2r^Rp߫wE~&lYd'XkYO騤(\%x3RCܗ~OH9/ttl":uY/o͊VEZ 6)b6-8kEWX l ֥lR }IM(P>cO[ݫf4;T>eZK ->x#2цUĺLLt^~'UXDl\}Xgg/?jd5ki_w;yK4_fVɍ^kPo 4jJcd.j \.ރ/k7Yx&LSIY?D~ 㽜B+ەڃ, >(cP?8LOkwt|?2蔡sOYؖк#ȟgNyjf7x)p_=EY9n]8_;y q76g_d_SGtKO3H^KV"*ȷ2#a牤!)zXHS?[ 7y>x/6ba 6# o-sLe :M1x]-ՇMFs WuX99 C7PEiԺ%&K<تR2 |Vv U=tRgIx:;@SvI* |;}&Gi}|!H_+ObaFW0~[0m`:Nz݃hvGo'ׂ '(#BأytV3R^ ~>^1qUds9)yfٕsi4 e`6 -1D\,28ZޠDT~7fM|>>{yӚ:SH|F=.Ç7Uo<5i>!]ѥhm|Dv7GV'Vڪ|wV~]Yw7'{󢞈k9ϙ+oIhzݏ|& \B+Ek>o&T{=ZX+sDsFLRY~cf`b0DEH7]?ӷ/ (1![!ks:~\BRI`%H&T}8Z=E93#t$U{\y60 E{bp#[S ޲,Ъlo?_D1Z%"kG{hkFm}SFgǬO ?~;_ ؟/_X]i~ҺD"ڌF,O$7[40^Ѷk:Z+iOuOQ>8,,Wwr .a Gb~*+R$`YRnNM=9x7[/L,5fbM0)xFp?5΂-Y'?\xt|~OO d i-Մ/{ޯrW?i7G B>.Pt"?h93Hs` s{y rgbJ=i},ESF(Վ0 `1_AΌ5ֶOqp' zƳ Qo<`&Oohœ*,u$p#lY;&Ҧ3_|c5$*Wۣib#RL}U^8mt`M&˙u#<h%GY֞d/uƀWc tcZ7w r5dzL&3Ѵ1tM={d{Z < M`}B sGyV۱ü\Fsvy1O+h"-Z bቿ| ;8icu!Rlƚe*U}:od~N\-:djt*? Y5{i c^6ͨ r #c蟄'a䬩ݾȩQU!,W_J̌ ~L*E.yd?T5emV#@r)[S %==Zmj}#ѧzOq\y;_(GnU-|I#tVv̢|.|o4#AQL5oHx#( >3,u_7ș}I0D<_xvGjfW/O?-GDZ A2+:Zǂ zЌ:L272#k}Y}wYG`6hFhVk8x&h5$*Wۣiֺ#HTZS/e6:]&XLg:X36ߠ9vu3%ȉ^@LX9:H,X5779noIGc?a.Oq[9;SEf9s`/t 5}$':< KA|"7ՀuL^n5$5@rfmY&Gk< Cn !My:`ַ"N\fFѩ4$fe ٦xE4bݝO@a{^q{6w"'":1p%:Dc*I Y)Vb_ʊZkw'SCifADDfD@ylEdQ *8\DD.zAPD@DDyiogRַ^޺N*|INИ3 iɭ4M&U8"R />Za~tc+ʴi7`j\}?.=1P|^D{µ& z΢=CkˤܮѨ@TJ=Nr_Ɣp!(x]anT.aE K9Btn홌<GGOty <5T(bheNL-I:G"}(@}gxU_4ZenեAmZfܑR]s!) : ibHDפ剥*ԝQԼ$ߠԹTB1ҿE$T~$?h(u#m2!%H݉=$ײ E]t Av#='\B! +Q~<3NT$$y],KFJMrl|N @,'M4Bj/LнY!iD_!*yHP]?QK goQѺF9!3gFq/է tA:FL NXZ4<:= i Q9f~Vn:w͆u6;R&Wz9:S"~i&F&0IrO:+MޤD" Dm)Y1jEф!Eҩ(d5IӘl݄h݂|^Oṉʔ?]F0[ߦgyw,smԻE氕E jE AgEQC7'SF0 Z3@LO$y\`9u+Oq@r3e7G,Wo0b җ|bRZ4{z%f xVsinyI:"/W/O|dgH'K%ك.խAΖXy̢)q C95>&w~QۜB,#R+|"CInln^֚S;6ei\iqxy%o.6\ GE$VSV(Nt 'EWN-ijy3fAz722Q.8y}$)C*?!dQR?$E1~$>cb LBTN!P9TfRHh93^υ_еv"e\ ƂI q1g>y n#S >`rJC`9m.XE!*@5H{tXFK!F8 SaFpC1 :Ԇh7x xx76g)=+qP j#tm/pE)0 fbnѤUмM A߶mTNn^nA% .ht <`0G`"<, AI~&ԅ%Yb00R @-Bh'־0FXOtx>Gp(WzBkPc< ^G$C:^=RF W#JH#s # kpCXa2acv{ g&{d©3gL:¾{2~LpF:uˆFH2ji&&!,EX!eh*a2a}Ƅ-0p-aG} SK@8pL _%|sCEK j 5 7n'Ex`y a:uˆF1`H_%%MXa{Z  @sĈJIV HqSFlJp 24uǗ;#O%e6@)/ޞP cqT_R(%7p<#> CEE >Q0ea)# O6үNcHxMc9sa&.,v]Mvf/p["w /< <|<̋ /KëoH> Vðca-'| S)a=lđ*BD S4M<&0Yes9U1XUs9U3ǛYus903c5,V˞k.[F,sᏸo{b}PU RT?jQ C VEj&5BīQjHPE.5V85NQWMRD>5YMj"'Փj& j(ZjZ"j(>T#(>QRjZ)JUj(>SK(6 Z}-*jmN}'{QYRDGU>OTSQ]RD uD51uLR' NS:Έ::'RQW]R*]zꊺ"Q?D}YܫnP>2ECL4 }Kaw|G4=}'s9D ?Sx<~_/( E;_\UD_]P@L-c1S+ (TTPj֩uPIW!ImRڢ@j;TS;~P?@ [톚j ~Auj0QGQKWǡ:N: YuQy.p.CS5hHP7nAQhes3__ 6DB+_lǠmǢ}CkO@+l;?/Z~"~gtŠCg_ 5կׂn~m6tM8鸲f17Dg 0-U/0\: Wpex=i  J̷)\LaZx `Q"-+)L G|;)\•]wS*9pL݈21-q_`d/𾀙3f 90r$`h#'FN90r.`|ȅ#FF~ 0r5`d1b 1r/2SFn c%3ʌ QfleQfle6f[FCQFpێ2b;QFl/ʈ~;&ʈ#`1rKҌ_ceĎ2bGعyyFF )0R8:V"3Ef)0S2`tH#FGc5#vnb)vHŀJ#I#FT 0R#`fH#uF 0rw=#F if4 i0$`1RI&F鑢iUכ:@i&'Ab%bxZLψY >"c8!NS8#Ίs⼸ .KH?+7Nƶ뿀D3ࢅhB}p1Bb a1Zƕ11NWL'^@NBl8QQ^Um0 FQ(n0Ja^tMixNt_s rTW"S3Jux#e6y1oO|#ieH#d p 71F6+]F]p{{@TbX$:X/6+I|-6-ĸQoķߎwŻR[B|;"Z[]L]!V4J5b\|G}L/ Eb~P,a_ j.aH>GGgqOLq^?7 Ex \0k:ނ6,w Kރh>e| rmJHU>5-6WhGͰ7 Ea'`7ژ80Zp 8 4ڟp2Z \k\܄[axkކ?y;ޞw̻{|O>au{^A~GQ~'I~gY~N< ~_y:_W57M~gD7B"$¢h#mEgEt=`1LLO'Sy1W*ebTl߈m[]|'vN%v=b'8$:Ncc5Aq8b5ǍIq8c5 EqH7~4WkOugqӸed#a&~BdkF> e;^vɎ,Ȯ.{Ȟ-Ⱦ/ȁrL*r('d")9U>-gt!3,-_/ʗ9W,_yr|M.ߐoʿ-P-wb\"!\~*Wȕ2Mgr\Y_r(r"o6.;rAWyPyT yRyVyQ^eQ^W5.7MyKfD!+$CP8d+ߗ2X۫5Zs {`o7_ۛ:Kg|lr6;[76[gr;G1s9rN;g9s\r.;?:W5'sù隮J7]u\׍qs987Mps=r j[1[1[1ޭTt.Qu%RYR3cjYRv>KJWJF))C{]Mc6 7丂Mx0xKL{,;Twcy\ĿY=jz~g&ȡr!D=g+ɛuF4d/;F}czŧ.@?ݻ? v!>|aWz]yuG'1dD! Wq9A!Gm;wYmvpr;np{npw;jZwuwՃj;Ώ~[-Ϊ *W|ꪺw_-gx+8֊̽@Y֏*lU 6l,d ЀAWz|$x'`*?0?g |.{P$2('*BH ` y񿧻ƛ7pƌ7Yn ,`y,nqfebK,5ךNJXYomVzZ*Z[Ymk5[{؃!jnI4iH.CQi aG6decٔ Qáنи81414}M'COCSCSt%\954+4}z92Ǿ zmz}z/nnvۋw]{)go`4;Eo{3]Eo[E\:wq}_D߄{ҥܥ h>M i@Jʦ*ƥ6xB[Val?}, :&و5Bӌ5as},f7K%RfiY,g7+JfY٬bV5fMl6w=~`ne~vdaveqvdi8v!u!n["CDD_~AoxHà1MdHGYMbp CW]xx \0<~T^ȇ35/gX(@7 nEY KbLq6l<3i4fϰPd3㗡<㏠[BEm$m*T_uZY7uXEd*?OInΫ뿿 pؔ7uc׍y{0q,\ ioAn>gNNwJC"zuP}&(Fpjkњ'BP xq4@k^jVy"$UOh٫`7jοeSX,mka^"[A-2E:vp 7 .Qb]q䶯۷ Sީ%$K4ZZZZY>0VGnީ4Ct/ޟ5gq~%664WMmaz8k۸_ .:ȅfĠ>6xKx ĎCG(?_>ރ¾cD,S̎8&GF:5W[`0vX\#d\܄y˩?E?^VXI# F*i|F#` j}| zW:]a'n\Ѥ \ hwƣI}${ Z8kg`+Ӌͥ7&o==4Z#h uqHel8 ܍׌Zێ֧0դRpuWXV<3>xOS!FvH2d,CPPMv!;Rd|C1db$;Gv(P.Cy-3\onC> g6źaeXe곦 ֱ'Rh\LfS 6:[Ȗrc6dhq]`W twy, b r\AJ!#)>P]X- d vgu('Ka/vi6nqp->.n @ !0Ng)`&f,GQQjfv#8 ҴkHN .%q pmt6aGx9z` MNM!ؖ(֢f-jlXlakQc+ D֢K¶JQBKl lOY^X/ Kh`G^v!۫ ۫?`` `w0Pac߇cOľTb?..A}}p#pA[p6]4|:c )c'Gs)%;:g9WR,U$X)#66fZ@KhP8 6#t :C (='B?`  `0Ch ByT^ əS|>-Q;A{^7;=߁w;]VK+kw 5!ERJҤR:`Jҧ )cL)sʒ(oʇ(* FSTIeQ$j25ʡRӨ j&5ʥ(15ʧ 9\j5Z@t =C##vtIG!8 D~cJ!@DHN$DdE3Skgumm0n?4F%< ypbaqba \96αH߀HbgD&b6 6QZ3̜?b\sf"̜Ř9c\s%fU9K('DT"u0c n"s}íI֔(Q%y f3\+u8rBo/68B{ Ac=,Ic ?e???؟ ؟؟J؟؟?c #T?+i4OY%‘K8rIߕ |Zҫgg;G5GgU*) .V@]q3=GW#eˑJ*MqFqtn&ww7$:NL:LO3\ZLsy|zDқz;na}>Eӭ% }AO?ӝ3t$Ri_ #B@Y_*P h  k0k}K5gA,WY`xO=$Js=dGx?jh-95H'?Q" 5Zh G·#2FW{oB{:Y}b,Mu&o {b7ABW Fjx,GPJFԯS7)uX?|{?8khAD^R owi9V5f4M8gV~ _ͭɿ{v#L؄qdQhS3/ `gjЈ׫SP5cf7*PdߤD(渤$*K/>I e{dI9T'PYTBee!RH-THj#4ꡲ>*f&#T6&\Fr9Yʫ9s,\?4O&Dn&*gq2{W]ʋQy ~11Tn磔@e(BeSm'8 2d:e: SZ4[:1G`+A RK|ID~|Z #6<0#<0#<0#HJ`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*J`*JOT#*J9eY!VEjHD|FZk@sH.DH $[@"c QUNm"$RY?{!ugg <7nz{}0;ƺ-bE1#s~$f=+;Z |>ZE5&g 2r#2RRSD ͮJD'D45v O阚 `?}<0!9( +"9MўP?SS*E "92~Jx0z5Rc24592.Ffh[#( &cRBT #01bG U4\^4nKT_ו]XS~c<6tj˟fޗԱr#37/"Yfi3*&}+1fҤ{M'r^կ0uAOSd 6Z獣.d`s#eLϼ3|»^̭jz++U.~-I~Qo{< nyWxe=VOIak򅉍ӟ)k?](U"l 9i"\F5:\aL]׋KkT -Ժ!um~R]x'u7lբA bm܈هFMh9_?PyT68wc06XZ ϋE݃n]"`Z}+sX=xKa4A /(R_DFA.|T$Q QY1Y Y9XڌŰfHL?.3 DW/jRR[=aòf00}soe`G7kz_QX7#UA˳ܔ4b{Y;|eK *32*(ʨ0)\ckSc(d L.X6$LacG]D혓z[yV.9^i-Y$uQSgۻxR؅:nrrzujՅ`Q2V >]%aJ] !"p#/)qj$x?#ٽ?->;x~͕׈Ri5bH4xD3WZF׊' Yq{M^@qH:ƷWF1sc^>B b}T̍AGŬc;c^^H@ 1k˖vL'>MRjF~sE:cDk[Wkk⹻&VZ79Geq~ћr±2M|߂r?'nL:ϊʞ>֜6;J: ׉ՖI?k~hGf33ӓKUިu\k~j!9QANU~ǻttv2 qi9iʻu w7Vk6c`뢧S7qj~aG,¯.Sh_cYEbUZ'V~\@/I޶2N?xôKgVqB_\˪|dd|'JE68q}R='\ΝUDn毮u յw8˥Ijk;5LiK'сWoWvv^d<}?Wkj[_-.>RZY&jTQӤ$B}y3ifw2UdRrVEbf(vaw%L!LۙV4th9d+7D/fEY< r 5FOJ}a!˸{Ye]]fۻץ@.h?OE6#D+h ߼%L^2j]<<Ų9uJuc^H cߨ]10{u/ی&SŸN웶x9ɑ;cޚBUWڵ7mSvS̩ml}yBū>?-m[x>g&{? L~}*cRmi{y/JeZgtЏ6Ri͑mR*]-"I"[ ~4۞/Ew*?^0렅wv. C1siJLXS\RXfW#]sZ:ӊ&<*g~S#TKNV197$_? zϲDVf֡s-vH֪:>5+DRM$>y/ Psg6|`Ձz.*}_}i|i⢗Ϭ :'J' #x+j]*Rj߷ u՘V)jvJ;v a篂<*)y;z%;7<-a4:[RzJ*aƣs[ȍM3NpY] /Filter/FlateDecode/Length 193>> stream x5лQuu xWD R*Duv~8_&3's(# }VYE0B5Psg7'|B.4VBs!s7?+e mf ؐ$ BP"te@5up,cIcc:luC endstream endobj xref 0 64 0000000021 65535 f 0000000017 00000 n 0000000125 00000 n 0000000188 00000 n 0000000446 00000 n 0000004635 00000 n 0000004808 00000 n 0000005052 00000 n 0000005220 00000 n 0000005459 00000 n 0000005590 00000 n 0000005620 00000 n 0000005780 00000 n 0000005854 00000 n 0000006094 00000 n 0000006272 00000 n 0000006521 00000 n 0000006772 00000 n 0000009523 00000 n 0000009683 00000 n 0000009908 00000 n 0000000022 65535 f 0000000023 65535 f 0000000024 65535 f 0000000025 65535 f 0000000026 65535 f 0000000027 65535 f 0000000028 65535 f 0000000029 65535 f 0000000030 65535 f 0000000031 65535 f 0000000032 65535 f 0000000033 65535 f 0000000034 65535 f 0000000035 65535 f 0000000036 65535 f 0000000037 65535 f 0000000038 65535 f 0000000039 65535 f 0000000040 65535 f 0000000041 65535 f 0000000042 65535 f 0000000043 65535 f 0000000044 65535 f 0000000045 65535 f 0000000046 65535 f 0000000047 65535 f 0000000048 65535 f 0000000049 65535 f 0000000050 65535 f 0000000051 65535 f 0000000052 65535 f 0000000053 65535 f 0000000000 65535 f 0000010816 00000 n 0000011145 00000 n 0000102574 00000 n 0000103082 00000 n 0000196569 00000 n 0000197197 00000 n 0000197526 00000 n 0000197587 00000 n 0000273066 00000 n 0000273093 00000 n trailer <] >> startxref 273487 %%EOF xref 0 0 trailer <] /Prev 273487/XRefStm 273093>> startxref 274925 %%EOFwl2k-go-0.9.0/docs/ardop/_ARDOP Specification.pdf000066400000000000000000025623031414214701500213110ustar00rootroot00000000000000%PDF-1.5 % 1 0 obj <>>> endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 14 0 R] /MediaBox[ 0 0 612 792] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>> endobj 4 0 obj <> stream x[]s8}OU! Run6IyJlndKO$JJ"hnH*޼y"S*c!c@N~-{z ꁒgJs9LEa0YDdJ19ml<9~@Q3h\/EIBlX~,RLu7􁹽_F^ 2J{[ϩdq?ՁbKSyOkX~Xd{e'+%12{XAY1 oLXrRq&}4H ߄8nsFIydLK1eY1-$F,$D~(<,Nr3{ ʑV.,gAM8?g~ ;o¬k Ș! qI< Ti^H͏H9̫pwpe$2 ^s?.s=!XF9\bOŦjkZuO~ٴ =/;^yC\SS,ha"hrOtq[ҌP'p L2͊=+59`PH@b͐fIp= O†nܭf%b"km@XUo ^Y~C@,Y/HB$gEqz;d's"@+o!F$mw:M#GWarSFU;CIJA9SP :(Y@ kkjWk0`>"Xe@ck)Nbtɣ.=]`BDh&!%bh^WfjΆXDaS1f#([1;a(=ՄEǣ%8N=bdҎΗUVH)8hm0Hn}V>ە+֎3j#JG q6;%) !@B?]rJjZ_owO@M-2 A `U]$ATǎ!l]abӗ/;Bf~*zKD!!3!3SxpB˭K(Y㊽N^)9_ܵk:&1e1Ą%Dg`3jd&Á{N_ݯ3BKi 0rn e+ǤÂw^ӐI;>) 2Ȑ10 ;H?ˠxJ$ek?,`1}d{ud X0ݻЌMS"M#96B0<[NcwY5VxkrCdX$Q|QLЁ`cOd65_;GF<}rz3$o/ r)85JIs}YIiUcۣPV(%~J?3ߖp3Pz%}Kڧ'Ct1"~W,F'pՔzpf~X-v^҇CsXy%vq>ŝRWBMEԕ]6E!]qTTlV»tD-<ڿNP.k Bglq> J8IQKkwƎ1^TИeBO*JpZ ?^ ` [̱Nrn4_j83zD孚[H%g/&*9? U?cC}6V\@I_wps IA"D wv^;D y7o^Cv:s=vM˗EONbeF(;cWC0 iU,ا7eYNKNuhD(f{" MiP%#w ~k"OXuſgnE_n71rRO=4t0*BOY&> endobj 6 0 obj <> endobj 7 0 obj <> endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <> endobj 11 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>/F 4/A<>/StructParent 8>> endobj 15 0 obj <> endobj 16 0 obj [ 17 0 R] endobj 17 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <> endobj 20 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 23 0 R/Group<>/Tabs/S/StructParents 10>> endobj 23 0 obj <> stream x[]SH}wC=vGY"0gwkpZ iVR͓pcb t2OJ_Ňᅵz&cT|x*Qؼ}DA"o߄7,VN/boo|"!dy;CX72Jwˣl_&e?(Y<_Lߌw=\W|"o'׹ʺVe+wݑ Hr-v2nf+dtD_c5JL)":4 +ݕ (e6&+Ӟ>+X!k}RenjbEHx,ڭA8 !B3gŏֳm/s*&,q8%zƭ ĕ~w#|CK ƅB߰8qwB%&* 2$`Wt`}b`#EB `f@\!Q rv͝7%3F(> /=t&1&,y zLFDOD1r7ɠg\&@~TC=Q3TQ[ɑ`IwPXLrq=*}Ϋf;w6LcL݋-#=3Ꭓ7,=\<YyNE: 1ɚp.QϜFT2j<[ H)*@mqTsYVR\&խdKsUl*%ȎX6Y*Y-+;b |0PjRfgkfFY9C-xQ%~Fl)FQ9_ŨcPQo- #Nh~р%ľ '`Φy4Lv$I`Y(?nx/aĶtU><tl:eߒ δ/8σ*9YƛS9l}nxe%8RR4gWw"vǠ ;XND 5sNYY D9)^Ac i/O]bʪ#FhQ3;y9=IR >8k)Cwjyd`uz\HL`KjC٫GǕ@ eiűҒ^,xlFy8e0>c|Zl/^Wa3B]sTV*(s( u3%0a!@Ubk02 ׾E"Ҫc (6[nmB ?Qv|oeϼ3qp \_h &PFj?5wl|8#Ws,7˫g Hg7|~ȉþA"7OP;X$WFMn*N1F׳ '΄'ݺRͨYm{MSʓ b-Qn Y'=q)gvoy"S.\{ܨڽ Dw*5yք?AtI90Y=fVZ\AJou)cP'El(,"W!=ufVGy_ŕU kb%wQ׷[K(r" lZr)/6!PB1`۾iMD9D-v@ISD} FA>z//-X0gX!n4:tugV _f"O٬Wlj'+fO,ù?a)CeU'at%wH.O#} 0gg";>JgY|ǎ*\ c~yxט&< x<#?fǩZMyTNJ6ϰN3 di6LkNETVX}MkHM K%Jg?;8>S)oF%IɁYl(=2;Z/-8+wz&L3w\sqgRp#"!uBɼ/kl% ZY(̟cً<@/!dr3#fv-`)lqq#{z26f*dY#qoCAPo=t\n90ʎ7!D_QK1+Ėh5 f):KuyiUs RR>U~sQf`%6'54˭]?kP|>($܋ƴ51͑B&y=γE#o bf``jkNOJ;L& g8tgx+o;YRO14a\M8:o,RiTS\on D5ķʟ6|*c, |f Vߑ ,1˙,DHp.δbXՂgt.0 ">؊C2wy}?Պv53U3{LH(NJug^k<3k*֣C`#RZBo;m/CD\NFA^'[r3 R+{gː2!wjAm6UQk7W>7DSV_b#dN|_JC6"Ma*nөR2rG3-7XכF'dsBkՐGW<(}[oY4?gw|ԏ+<8d˷{᷁9sQgQGO]\IPb0@Kr2e͛6(`VO%/VNqsYR8[oLP6@ ];]qaN5an*{maD 6-O[RVrTpv[/ꚓ}=9|XS[y8BE̶jrl"a% d%Q?]Ihk 4ZW2ߙN G\ETU5QN7̹}uHЀmdx]r<_VsI4Ѣ?vXqLƽDƧo-.Fkvx ;|<vg?Vԏ,pWo<{+ܩo%$<ZQQՈ2~ u gniqyyP̙x[;lm? 7VykG~~,gkj4s_G9 t{{)y{BjwU]KcL6.7&?X]ߣYBqsY3t_ew]S@Q]#sm@ZS`]ū"Sο=c%eD;zL'D!4CuFN3JiE5^tlJ @]cFϿ-s3˦t&>;:bWFp.lli+-_DfSvj(6^!+&GkIiJʣhLqwHK,۴--Vol"0<2vڸɜ5q54g~SMSrJ "[(0o]G!>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 25 0 R/Group<>/Tabs/S/StructParents 11>> endobj 25 0 obj <> stream x\ms8>U( AoS9W9&c;FbȲlJ嫩I h4tէW߿ _^]āRa_T*PQFqGe݋_;1V$jq;Wz'l;OfJf\ͮڭJ冾 \/fqQ9\ב*NK+=;M('Q%'1>~)uvҏHY@&o1鉦!fĎ"^(%) K"b4(_LD0\婡_CԭL\(eē3yua b%h٩JYj.tڇuQx.xkOhXGZ:T撶h-IfnjZi慜Qmh<-G#0G4y9b{W>bEfJ{$ʨ7=>k*6 0<Nt$QBRIGLr+[S@}uZ O)9<,2K[G53ْܪԜӐM?,qEp:pȵ6M$ 󀀴K=MuHk;* v[/`UK#IUGcPM#26`KjKbϊagrǶt= ө#Yv@ڡΥ<ʼnA"[,{ w0ЧB<@aoutIrkx}D47۪my?[?`P q\t0A Ul ˛EL,$źZa7wS#&KK0|GrgoǏFEuP+XD<1PB,@][N ~p,J F*L1Db[!mbt8 ړFrM}[9ݏۿa!+|>A3jq6ۊT(cc Sw{bÒ< s!u'8}hzRy'x݋4AĘOC@iԁ<i7R[/eaiZA{kZK_{芡>|>0 Xg<uDb29i g֜.l$J{CK͂wP]SI8˖l d5(G:(H-c:|d24cb$ŠcfS9i*O,$"Hٻei8/ޅ,LGL-D $qg:ū.|(:-(w -^]op{/QўVL{1v"6a'@ V}Fc6]rnO1S$5 MZ&X4a)CA'85U1ItGآ^ln_,dc ۰ܠn"uݚ7ƠXd)ظJs[;HQ7㺨_`/H؏[YT/zh̬" ]w[H{+d,J`]s]DoZ&tS 9'l۾B/e8̻b _"5*\QqLX_W[%絈l,؜v2u>{qj=W>a*џp 'a*ppTֺ-;|ړ*9M(\ڜl]5e=F&: \R' d.˽>-U(E%B [ ;-uEL@/oBō1 b.)b׹$sH砿Pt:Y>ᾏ̭dmK|$qkA+fb u]L6Vr= }.WPoMxliz٪Tcp-oRY@C$P6`86PUBs7(.r}/G\EyRFeې`=C$-ƺa|N9S鯻prwcwYQVV4Xk)h.u?6E;(m_X¼Io9뺩ONsED9j㒶ɾ8'ZvM)=螜5G$>Yt>݋Bbm<ZW;w)ޠ.6qa`@/sd#a=o!KEkVVQصOkv1Ban3P*EC1v׬|=(u8彪*t㊹/:߽7l9jyBs**g֦hiq.^X"FTYNYTBIRYPh`tm }\AL؋bXПcJUȈ;Z(!Ĝ6S\a ɥB=b+Jz'VǼ5mwI(&e#9.W|Ju2iѸ0XEF_{G"U #QH$?+\_oy-o7G(RWj|x;ȹǂ;#U}/+s| OVm3p/ 9u/̕ӏk p*͍5U6EYA~FԈ7O؏~c?"e[\3#y d$._l:;aY ްF;Efl &*Yv% fwk_C4X怊?)5U:qTcB䟇C{}sl [ʼnE!O.!'ZN"Wc+[t Gr%[a8i6-r o aRE U-}Bzvr9Ԁy`D"Iljx% ȕt?M@&&At$94գ>ƩKi\kyo_QMv+SY3_JIOeIhc&!.|2,g:OH}`pQ'ƾY&Q3wT9^Wݪ(|ſm:rFEb0͝JW[_gޢ]S;+1E/w{-iNl/t:GFY8έ`BӺf.GOnﻧ?>M吖? $Ɗ%i-[m89jcAދڧyhK*zx|K5c_4c!^4 ċf1㖽^1OQ&Ob j)*p+ zSi\? Nftd P^7ʄս |~P@uq&wZM-4qVGe gO.Xє{rY= WȩgǝG O(&r/uG1BYB10# F6 .bT8.tbH`y`j>I#1W󄹬xI?7wպD1T}`t?:A Tui-H~ 3yijqmeDOT^XFF)^2Ҡ}@: 2;8&$ endstream endobj 26 0 obj <> endobj 27 0 obj <> endobj 28 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 29 0 R/Group<>/Tabs/S/StructParents 12>> endobj 29 0 obj <> stream x\]oȒ} pl~^ٛ 4ZbHSnJM)LY]]uT_..~Ӈ(߽׏i$Dd/"J?,4*:./IǛ_\4.]Yfv=Xd wr񸔋vY/O;iu.["]-\q{#5KD|j¿-FXC2W-yFw2AQgP"sѷ}X.-}GJs}W4yDtKF0DrzlH=~?FCD2k8,-nKi5XQC0@0dpflZR,oڬ_2@@JIJ 6¨ Ba /Ju$ Z2^pk{\u١2I#̄1Pn&>yn`mm-V\J^DWKe[6wt@c"N߮ CX$A"` 9v9;ÒLT-{H!~3rudA3"v煑gONB#g3;e/w22!OQ{]$ZL] ָ}[ leI&p򑭱6FQN-)-K^c2EMz.zFεOݱfyzC8)!|T2 QW[=XtثFa$C ack`3V5eJ bE-kh6_D i|C@9<"6mfC~V*6E.KSĊ*U}%#^o/)kD^ۻ0yRtNe88vL~[un], 9\w',¼D Ρ`PAmDLFS(*-! 썕}pv}(ؤv*n}c&Y1$b&%o{:$䜣5 AʶjqU68?쫠m:&R*_ـ}ra5td p]*TÊ96^5Qقfp6[(=k(0FA ')r/rxzY@V (5@ݳK\$1$pd+h M4CjHeL$3hWɁV#CkO|lrܞŴ.b/;E&(ޛ),-TW?.fZ zRw(~=KωF̓#tOm̳0ffU") a1[8:!r5!+_U,8i>ڵ_8Ss?l9~֬CHW贻BmƑcVq?s$;>c3- &)c`Lnghme9ނm8˒P*V*Υ%[JgNḁBڱO/*WB2sB;nx3#NA4Vʣ9AU*/eNI>u.T{3IhމgV 􅡂07Zm9 2OPft&? eɖ q SKwa 31у+,=v'y/̧-֜⭒dyWi P?^qU{~HHq'aHN36ٽ6 >㬁 1e]ZXE5qװe=/Rj^{v ݪJFp bsrr"TN"Fm.^+SZ{e ]#YNd0<6CfpyZ{Q'Fu(FLGkƏZ\VN6y)ĸx0`u@izY \] (IPw' Z'7mp_ίay)~-0Mt,&Ds:3і$^ϏΔ>A?B)jkz0ޙAZ!z/n[.iqow~=z,:|G1wЩztx9dM.J%j)mw ِVgE5e0s W魬fy\tD%[̐~xT *aPJHuzSnqަh< wa߃q*K9_B_Pq;'/ïeUX:蛿DR4I[y%rdyKUmk{$^u[ҬC endstream endobj 30 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 31 0 R/Group<>/Tabs/S/StructParents 13>> endobj 31 0 obj <> stream x\[oȱ~_3Ȋfy= ҉ϮcKAq<ĎGZVf]CA,wUե_ί>xùOo/CO)?훟B/ r?ɼo~ ozU߯O$ZUwxU6|:]}_^['5ko=~*y0h_fUڪد8-x_+uzF~߻7?]p{vC:8<\h+Qt’䑯^ W߲vTo Խt}ıq<ֻPjX&yۋ$,오?M2zQ UCFyYFtDQ \ 8 ;]Cu_7LjW٩KJ9hgnHwF'Ҳ+kғy5T%JI@F8<$ws[ CӶ#GNQYKưOX/1?8YA g%J,eC8,0Sp)϶pA㵆ZPoo~ܐa+)#Q0C3=0{E/mQȪ v<8(L l i8Ob'0Qj"ʼnb姯(|A~P-":{<]fF4Gi~b)8eA*: ۘFd6 T`MK"L䬜Џ+"[{7 iыS;#xrr%?uk? }waほIG :vmP^5M:Cq/1cIAre+A'|PB2Fj {"$olW%x۪nZĉîT |dmuomaヵGd]d0F~ANM%إ+ֲmH nv`f&;h/Qbι(Dyr2ףI ,MS9\}x@ tϤǁ!9xnp6``cp:[VbEN@s*DcNf SGl, !/2D|.1; v3?7|28E~ FpbZhĸBg 06v%]'(܀ի]^vޅܚ8YwiIHe _He-`ȾkNg4gK]Zn@xEOi?QкJ*0 w12yB;?h?xoKټ_כAH0./}%D-F^<`|Jor+h.$'ͦ+="tp ̼кɭwG+'eFTf&wvFoX2-(vmpB&ט<( EMHtH4. ts#@Tz06Pݙ=J(ԒOxŠ9Y<6 RL=vcaJ FѳJ8ÐdTN`3eG 71wbbNKSp&(ъ#@܈jzf$0{sk2odp&y׹ToOu{СS#]hdiU[<͌6ۈum$`'sӉgh g 4H7hV`MG`޿{/ѻ 'Ɯn&B-F\h_c^f9{ 9HF %~ `9Ub\U%Ю1@+(ۗ P!)IҺL~!hu?[`=*pz~w{&%+1a{doNSU>ݪßTigSk3nv.`ei/h WЊUT{gKc ;K 13k-b.$\Jr_nN%%Rsb'"BQ:s ghFn>7ST.jܦIɕ7ш{ ;ѣjw^MC@$O]fK-ql,Y32[+voNsV[xMw \ŝg_@v$ /ɈvWgtGؠ ጤ3? 6@8ҡ|#cѐo>So%i/xE6V`)RLj>5*2&2FC~!dl;)Ɖ3*l36dX1 5c!dBS((6CEC~jvaF&#= $W0blC03vjWWEӺ $g^t\J쳛e%TJX%BAb{{'~,S)g+)+n ZPs>}9frtĴ'>Gd<67M31FGa;:W l]٣Mab|uMoMcvJ?¢MT(c.Ѐ.zXza,TפVmDbBFxeʾX[1d max\9 gzRgi1{abi}QPauHF -4;Ġʅ]  v;5K/Е$}k-$똭@ƴ~KBc-ڸN(^m{[Cx;.<|'rXt;(1Jn@?j7F*1Ɔڗ`ļL/mѶhaL٨dR 5IؿL^*8]FIyG5^YM /cEE:7'XwxPQRn6{rlѶw)a K@RX≺c@so^eh1.j6x 3#wt>/' Xھ} +;;iKGA@Fݧ F LQX MVU]u`{1ЌϜiDLM%Ch32Z}]GGtwl 1@b'0^HO G0qD,Er{]BmK4G0::GĪ"YI<#.oBucF"b>ʢY ;`B 5T0oJ|\@Ӳ_$Q4]YSdܱI@^"FjMUr)0*TNVPau-5H8_EOS/I)< 5@[7U|R3S)յ{h!u)z[[_vQ>)5qXfsy>K7d,\U>9VhBpස?ib?E5'2rfQ%WF(vȘ/ⱱrh]q"3!"6o\^.>j4̢ GtWf[} SZO<# U S42VuLOdA`̚KWV!<;5akΏ)o:ç"}<{3 %S̀+z[8vXw:[ sZ#bɴgQo[{Jo0PsL\jFyuöјoi>9 }췶wvht>o+$W endstream endobj 32 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 33 0 R/Group<>/Tabs/S/StructParents 14>> endobj 33 0 obj <> stream x\[o8~/m2 vf{z }Pd%Vq2=!)Xl7;6yHwnTo߾|vu.cqz~&No?z XD/4O?fm]h̃h?xV/Ī\V̏٪^ϣ}/A8?f}Ƚ${&'^~Gɩ>8QBa(9>(Yq|(c~9ZO?B\ω89Ed~H?~^k`I9G%NVbl 3f1Y$8" l˧ ĖyMBYSDB 1 ..y:Ĺz^ԏc//̱§㆙~?y4!y<%|bӿ\ċ#vN?(v?;H&o424"{V&ݍc  kkR6Up`3ǖcB'k(!;va!w7hٟ^lRfdY$Ɉ4nVo4qSפu3?p_>^ۓ$H7:Rcr\R=4.V(e# 52HnUie3!WJ/M%;&p2qǙZ~6fmYsRT,JFf''jxwaYNȗYbCzw>K@bfN JQHqirT*PXN&`'wǺ> S9|͙#a*2N\96ByFQz},Jȩ/G=wHLX܅_eeĮHG蠝jEeU-m:=a6e2IdetW"~It0|ܾd)p⮮!#J.+R( aD6<^)andOQ(c)5߳ײ+%u(\@lu/KGphjag&kR_ҁ.gm ]FU1t!Hg<鬙W'?_7̟)WNO%pMǞf we. őGAK퉲FQu"T:{΢(HAD߰&qW؇ҸwWK"M{_ž%UrM:--0W1 #s{ gOH=QeVM d!sLb/9 YOVRg"?A;ǐhc>x|NR|KaJ 1qz]UH!iaD}dXj%Pbz#G,GZk u "TTݖN+SI@! ݕQrJ!׬$ݙSF!\qOf˦JG-R`r(K]ʰ^ItF%%\$s&DP5T&Âjs湄R\o'΋h\i4bRZXSeLu@a 'I4X6b ;˦Z"Eq7w-Q9: l 2ʓ18U]+ Q15&Uhծ?H#/Ni;w :`&8@jr~k] wpڄ ~3dЈvv,Xъ)o2Y5MA`+`iCU'ԥQ:gD6M+qZ&0 /9I>N*2w C׻{L 5G6nM^jhxN~MxUbp;MGa?C)!1b)J=<.}d!'a -Tr{.UE{62ݴxTn nczk<E:(ń_{_T𡬼H]Jݛ8 FLm 9qu{8z(DWFd 1kbdUd2_`XU\.apY]ң,KQV;y.Rp#[mrRK ԯSd^//PJl\WJY/ZR,eXvcA\ Eی6$wu ) ٍ8]U5AqgX ubOH|sK@OgYK &k;}5ۭ 9eL-T޹޿*˻oom{=vټfFYl(pH/%)T,;byp4Os Af}XSiO]X= _)$"kjD9W>4h9q Lfyqo'RvJ[%3a! ' Hggl䵮r,huӒU):Rh҆d8kՊ0(,0Ua17YseuD21'"b!F5/"%P~C&ylv'dn֎Ǧgoц?я|NzwݮZXM4yϹ35J,A:q}١HS[CT(H-:QcWb5t:jJ;t&Q^E](Yc!Gge>a4';$ }<zl]WV8lW!y\\6-~LJ(]0Z_r>˕K[9#k,x,%OؕfP(}kG-5fL`][rk`>\ ^GzwLB Y^G_*,>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 35 0 R/Group<>/Tabs/S/StructParents 15>> endobj 35 0 obj <> stream xZ[o۸~GHQwtٓ6'yjADHgfx(s曡=˻wv].pƹlDΒu8v0a3>sPx|78}A HIzjӁ,e?G.WYҾH,^_@$Hfe%5 wrՌGNA[m7% -HlXAo#+0aG+\bvF2sum:/81 o VZ;29Csp! cE,NR7}A1&~I?.LNRgjlCW㯷icT +ãN@/8n<'\}{];YBJB:co):fvxG:xG QÙ ]-$4e\b?IЏ̱=lBI$zFi#PA?6!=MF!#hh m Ib9>u0M.ն2Jil:#I dxQ sSnLhn#(LFY_qsD/ 81NEyka&48:JߍN ?-FU!̢W 9!lKPؔ*;J4Mipr`UK"lvx uaCV?!d'gFT"m۴D QVŏz~K6%h%[%Z;v[MS蔬4&5/vc\eãntJz O\8 %5*s1yZҧ)X@ vCD"1N1!$C3mvzu1^T>P8 A&yL52$ }\Uk\†NQDFG8zI,n"T+;[$ݡ &_bY6)i-7fܐku$tCs J0G3tHUO+|WpT ˼$rR UQfʞ ͝uI6~Z g~Aoב2WN{U>M!|czûג}Eh(FnIpJ} o*w +AJb&R')l@7x krKDe1kr{N!xP@`rF_f&d&ize=J83\|R˹9&5ZF6\/\ܨmxQj !H^(Rb^<ϼſo0*@9d1UM&[f4XMw};zLz]E#LpiA)GzZfhVgUF'xzø֢ ta.YQ⧵$&w`E&@Ch+"BNǨDxjZCQ0`i49՟Fz hj9=d")asfr+A*tmٓ EJ2r9y8R}X.6 BP2N66$g- $Þ ]=fC+؉iAAgr+j"=_*S)@[U7y঑95yX3ȑ]kQ5 0KNyB0AmmƮuN6O݄]LAX+Zu.XR֪KE>u',% N0BY Bҙ;)"l j'T 6}HŹ J;R׈iAr#y3}qE01ڷ6!t#+D%C_L( 70 kh$A..* 61' j$5e^!{h¢2R}(KG煮x)x)I ֿ=\^&TpikYk({!MGɈ V Eh@&TvN] #/2DĮt3*W*Q|6sLt|8H`w "A%*OSWgm d.v (IhDp d坺RĔ#"Sus+͹f@r|xڡ$糢[n"{ᅰ\M#ƄH^PhNq=8^Q@,l\n<:]UKpM% wݩ놜M%,#\2 Xk+gO#2:Pa ($(L<}Q7p1r]|Pi.ز^9)\꩑ /6|uF Tr)sR[ 訑_hPn?DolitH~F}do/ =.TknT%GlpW JK`IXg">9uܘ 96;dߣE.m!xE#i?q5H`/?^KCn*R,A%n.`3$$8V{b u͇N"oݠnųQWayopϔDl-!2> IW'=cl`a J.jkmE<gș~\m9|!:ԡ=xXZTN endstream endobj 36 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 37 0 R/Group<>/Tabs/S/StructParents 16>> endobj 37 0 obj <> stream x[[H~G?c EJ5f_}0H_4̯2 8N[k!!^x~qT8>=WOېk-<0)'?go`A99}NSm&_B _<2^4C|{3U/kyՒ[~}%#,r֎**QTh Q<5ibl91\{冡yϡz* Q[z $[DEL\ؑmN[fWu؇ Y7vO>Ip0P(]#9`"}0?!إ\$o Hte1\D<{$0MyÁ2qK`jkevu h]lR|fS}o $ME$"xoxtD)* d6Q+}~< dO:I_bv񳫪83nEa K\\w M6Q!|wXۇm冹|]+va嗜SY&ALӅA@#ezklNVA2gfوI%'Y=̬9M]8/fP@|>$K1(yL헋{%/DYhfÏG \CO͠QH1, lA}X1 ,[ ې*wR;JeN H87l*i.} 4xsY$_zuzsG-Q70^o:9 ty$ZxCМᵐ1}Va(0 (ztqd] ^y vJCdqeu4}ʀ3"Eӻ9_K̖Ho }l QO8?Ax󅔖Ч ھ aŜ.$޳u1r 缓,̛Rm9<b{b:Zxx! ÿ 싯my+[E1l@vE]xEgy<)m&um]ilJ,9%v)(3 $,zrB7P3tv_Б)>2&Jtc͒ z!,;>>4]:Q?T0"4U̦,0f8ߠs]b#;rp}9~zi.Cئ\M:c'wٌ)8N^s_E}|$/ܪza \E !lIlt!ܹjr2Ē3 3v5E:p"J[M`2؂peIbB(Ǐ#4"ãPEf K>B9#Ë%X/lb(MqMbr#lcվ>9@n{ 7SN3D)8cG }/$(t}EBcڭ/l y2+'OZG>%}'S8YI~܁+3?権\3]ZQp bzEpRtw;(H )0ïy=_FbZ.]p @%@isgH z뭂SL z-C[)1 r`f[E5:9}U5pD2AXSޣpo`Bl\ݷEF'lӡ7ebQ̶W1jX+{wDtet}KUcClSr۸StN#*mMWcltFzse,c_斍;;vmTzv_R#ըIGMFUl~-R865Փ\Rę}B3a| g{E\LFBߺͪTU _q e.JGkNwq1bo; /+}ǾO$5a^A̽U,`YUs *Ƿ2tc'ѧ ;XA(nX_.T˴TnWQfA]6'/'s|1y\9l!4r*Cnf3 [K{0DRi=:#5ნAHO3J8MP\A(4)o{ 7G >AskST9}5m!׽MBX7)$h8N`mW 4MۈN0r6rS<3#ݿLCN4lj^7qq`oytJeR>氄 (<'HN*bcAT`[+.SX$T̡o6>8[uj\}ݜ A}09^k&3Hi$g>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 39 0 R/Group<>/Tabs/S/StructParents 17>> endobj 39 0 obj <> stream xX[OH~G?̣-0W-U b۲>K&lӅ{ >9}#>]~$Grq9#GgWpN"#NqbeBGt|td?S TmBC0 >a>~>>^i2j1Z4*ua#Q0Nk'!q'|(Qw"ϗea ڴ3 V!ٖ f ۠T":*BηlWcRRm\+|a2,qi/}JDM"UwHY[8dUڷPFÃc4I96C_g拇UqI=MU#$9^%(^@+'J$#,]_V(4_?ڂ. MLc BiR2/Pl"+<}{~C03m33xAj(ueZ} d(2 z%lM~c쵻}ڬ&նl&*β'I[mPchd8,2۸w7]xh5c{>AF. DLՈ8zߦ&-m?j9uD8jEN&q 8ձ+Qzi ¥:wfC{ ^MJ4)jޟ`<9lML 0-Op V)Ʋ_]mf݃et=X8~g]C6L!vv'ȣNpM7PfCn/'xT.7 :(¸ 慏-Y_[4j[zcw-}+*+56\;e cmȪ%9r]g8,k{8*_5I%)3UhL۴l̵(l]l}v nHXUHkM zqc|o[a NrH0yK 6=Zm[YmdAlp2]Zl:l-[HrlΟSlH:Wy9n t{ESH#ݻ/sྴF2AH<Ki 5,Fj܋{4b G;ǡuqjAM;nT ׂ%SQɰ i׵v{2O8'`.Y=")\Z~vKjn-^C`2!TOMa؍WS8egxu\oz-7?Oܟ50\K,qkqg,. YڟLjp}mg֣~^#O8 Ϊ_:zxiё9*XkZˬtUٳ}l 0^ cH^Zj endstream endobj 40 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 41 0 R/Group<>/Tabs/S/StructParents 18>> endobj 41 0 obj <> stream xZnH}G3l6 Xǎ7LX}wZ#ȖWq~TrIB_S.zEOgUzw~^x})0V/ V:̃0RYXIf/_;ofx=W?)5$* E$;ViVeNȻ ̻' E-«WZ Z)oyM_!n1U1q䉣A<^ LD߼+:Lؖ%wlīVhwIGiG+_Zktguv|BDIމ-FRIn(s[1yueˤݗJB݉`%/RB\-!+ aQ8rLY\UЉ/2nKZUΗ dO|X8|(G&96UɷֽGZ6 Y"'cǡdV!%a+M\)K;(-CN*zzfc(ed[T(OGڎjjŴf|;.-v]1n6v_b|(ʑ8ʸС-xxNY^yBl̈l(Oh[J*.v7|lrlB0_L=9){&!6:Oz@4>$&TuD yT˴ʕ*!s-rc)(L#U(qѠ aw:`:T:`]>CfzӶ%yUS!wE6=q\Z2/>` b!i)CWsx-PRe8N0j(.utچ_69%SBe>~dN=[*B*'0۱Ui9`:p~mk|R7q޷  loV%"kEf8osLj:ɠaF;K`is d$a ${kdTNCf;U?\۱7ʃ•tQV\WEFlui䊲)Td((Mf]}|Nji-zHwr^H)I|rNKT) w ࠱%|I+z=g[ߨ{^,Nw') \1t5I^?Ap}LE2^\\`,,< n_x4aô.W r),~Xk:tB2z+S{XQHhj}ZS6ZgA6vpp}u+'kl % ;\O,mEujICqWlDgs23q̭"s?yƥG#ƦɃe5G-7kV2cB;bDIϳϽ|curb'cn*.gݤ`Sk"^mjmLjRy _>!Za S 4Ic]D R]R}qu3#FxΑ\n*l@sEX^dl!1"#\)Vq>/XObject<>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 43 0 R/Group<>/Tabs/S/StructParents 1>> endobj 43 0 obj <> stream xKK1k);}PPpQ\v,B_ZゥVBń>/ExtGState<>>>/BBox[ 0 0 1183.51 1104.01] /Matrix[ 0.060836 0 0 0.065217 0 0] /Filter/FlateDecode/Length 8049>> stream x][ݶ~*y9E/[f8qli+bI[|)hܺM93C@ AmFu6m;q/).ۣ?>x) quI^vV\>}Q/_d|qc~kdAWq{7W^?qZȫ˃PW_ʞ|JW?-Hpk(s<\W?#|>~?O/Wѷ>3`ϧށ!%`X9Uѥ5AP=6%l;tOcr_]|yHAѪ'gMF$Zd-": 4kH9\==ꗃ+RvvL/t{A3nM.\*lcP b#s6~G( ׏4}AaYctKs׮h9A; s}Jj3bJʦ+37Lk==6Ałk)h'v8'Q=tЇ~h6!RQv䏃'%̍lu)L pO͘6-T<>a0燳oJf4 !/1e#Ѣk'Ab[iapߘ7S&vhԔ4XV*x}C@,1~?Ņ) ntrF1zq.dz|$~K:| A N 3h:+gРO<&vV Գr*#UNrz6 z/@Ek$j֓3d4G&#TGz)T;|#_?{T"DfIeדq|*$k`:IVNe_/~^'K}t%u^x >5K Ue$/s lUpa|xZ0.1;M"u"ZjBu.ɸ>s5ޅ Ue](j.gq;= K!;N5cO!S*8Y]W;oLh: ܐژLB01wfme6 ܪ##ʵ'zQ8Λy0>a9;+m+Kj7fHN;9cBwZ>6s;d\ji`Rjȥ64Y$kϵ᫛Wl4X!p3O=;dLNُ̽xVM7?OtȖmO[e,1T9 kWcGDG|R;NdF*/gO(Ǭ6(?gF1.k6 ]+Cd<צۡMAHE}Yj|WcFD%xq%'3E|Vw?+_B/fAYe|e6n>&MãGary .n8-c0ˍc2Vr,T̟U1īڠ2]<* q{TZ5Q_D7k_Z;F~15-K)%7̃}:z\g)UV+ﱀ#M"F0'`r2#`g&xcVU {MGwi-^ckݭ*WcGD#bR;NdFň*/gUL(*Ƭ68̃Wʆ-*VG᥵fb0b<OՖXmƱx?bm,VǍYe;=}꺊P: ѣXO|ڤ^Lڳt"Z:^p$@$\;I.KXW.%1:s9~*T9g<C4Dg4h5>`_ 5]oծ:v#WWWDhF7]ddv1:]|..f`E@V+Ϭ`O!#`B02J0>reygw 3~(f x~ߪߥnKE6\yEx?ZRڜx5%xɹx eś#^/u]|xiy /fץȇaIW~xc7T奯|? aYg$[´ђӼ/ N,zWֿ!AR( !s5d1;_ G43)فI6*W͇W(A(EuGoqfͽA)+oGPFṑbFL5;螘=/)4/!ny χrTm/Wk_kהpKہצ.Ms2Z,OtXН3 YcDS2a1mq'#bSN3O/tm'iLOؾѼfe1\¸]ށ ;〝W.#;-n,y4n& 梤sȝSBksk7]-fɝV4+Y6/YN۪ wq ;4d`<6ݛӒy9$2mˌYT*wft(6Lꖹ]ifO\8ն kyHn| 2OʊF b a/Mam['wf]r/d5s/N4N(GMgV2_&9)3[`K vI9ao EA(JsGIQӐup M{ h^谋,sFT adg*ԶY2l-*s8(ՅxJ&mXm[@X)ٍ gzܴBbӬYE iY݉A*[y;JΞ30=>KAl.ep!}Mj~SlflQJ&GA{+ʇ1~W{"m"Ţg7ݖ2ͥT](sR8d.?V |%|{9s&6~dpz<%ߑ*9 6 6Km@ 2/|oJ> 8X b@5aʺk@ Yذl]ZLX(-gmX/sa!'|@B,ɍ/ 8KSLC۟KN:"IBaǰ]c8z'67l  `녙M - `㕩 J*v\>E1~-Gs{+{adzbsޙUpӁ̽5Knb[rcVѭV(r29]jO9x=J+&;o#Lʛ'-YfD?B;}_rpU].mvw_a'fVN1Э.?4<91{l UڌSazf^<~BYVF.cJرwv xm`ҞM۸&~)$#AsYx݄8$3TdLrdHڅ%X%fŞw'&F᥄ߝiG2Mfb݇VCc R)6~݃3 d~.yy+mQӧ،&T*x*;ҤR1{v"l :#ۑ.7A\@_DFti2BH)ο#u]3ۑ.ٖ&< 84?wi-`4oow(̷x5a& >SlOkE8/*!o qp=㚁I£7Yn]l[139yٲw* 1(7FbpD/;R !f\.F?^{eO=V #t vzQ]$TO/.=>+xu!6I/뷄!b Cƾb*O,lǦs{1~WE'F-qj>baa6`y[-:ne2M b8b+2wgs»߻ɾ+{Nq$T~Gpп6Ll 0lV% |)]l &s§K6*483ϟlRGu[91FbA%m, L]-`l[96؎X+1_>Ϙ5M]146gqK_Kq &Ɉߴf=/X`& ]>ɘޥ~lIaS+Ϛir[ҎLDfP1:]QۀO&-~ F 8%IFѵʿ4{퀒փ(n{#gt9 1;϶Q [A_PT Y6B!Dtr{B1^l<F1\:]c X\Bn^p QO" n\)pY 1#m!ۭB rLJ҇LR!&c+`g 12--EaJ4mmu\껥Q\WUğ5Pk!9N'~[P v٠z M@ wl!Yٶy=N{`_{8ȚCp젢W57mht=@.b̰҇g(g+`' K }[ rFp5{4|{4/Lx'o%׊mU^Qb` sҌ9 Q9ɹ=q3'OGe~'4S<F8H$?hɛi9K|kW]ki=ޤ.DP[}cL۵{joܷtO8m-{y|B8~?`of Uf7 FJC[7ߚ@'߄pkdx}ϜcoTਧ82EP?a;K}hԈ~Ww14Ntᙜn"A6^kJ{<@ϗ_}k\v*N֒6LӦy^Aeo\ԠҴnjka@`o};J-ʑ(jD-b+:`3uCKҊk:vq|clw@"qp;5 a7%Џ,9ioWseaOvElSΞLٓA8 wE"(xlݭ7Y}?sf6x-QiK wR^g-t(H|j(GxXTk1~(VQ) {f*pc疢(Vݘ'MKzIbbS1/ٱyӯD4*'i=EOt4twZ֥RW//zљMJ^?x s*`@3nΐHƔzDW@plTatc }Dl|CD_B|ԡ1j>x٢N;DMMC3LP(ѬT+XAyz7 Q] ' ];Dr%ҊHV]'@#J)+c} c'b# `}<-!HޗjP~g3@n>u#¸0|pz ŒYzsD.vzj?lEPLusA7l׍3e?8d6}ܔx98f@!E3 ?FWBp܄y$kKƀ +륈 "a (sFJ>Tug`a95aa [0ǨgaKƠX P>T?3:'f$CUw(- 2cI.W0Z \& H1\0Ƙp%c5(nV Ʀ 1 NJ>Ybn$`)&w1N>[A3%C(C͑+ 2S W1!1<\Iy:hE\IЇ]\clsU cؒ(Ѧ$`甇+Ø`1lIЇ]A$`CC cؒaw*Ű%S,xHCd6Ц$`CxGxW1J1lIЇF .aK>upIjA֭OXW1Ɣ+ #C cؒEdߦ$`Ch` *hS [0̾,S$0g`ƅ1lIZȨ` *Ű%Cr f\Ö ;U 1D#2!)4#ZQ_]B.@?$[LsÕg̎"f0N_Q-Y9W.x] endstream endobj 45 0 obj <> endobj 46 0 obj <>/XObject<>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 47 0 R/Group<>/Tabs/S/StructParents 2>> endobj 47 0 obj <> stream xVn8}7Gq$ERQhhQ}HAe[X_Y^IrvH~o7߯@{W3Gt"3xAo2[o#+q<ދDO)&>bO$fopD7+A?ƣkH^{?F%2IOFn!lX4<,?UdV܇,ZI6'jCEP+iP|bʶ2NmDIe z-PQuA+HOefpRv=(ϕy/uor$\m,NBe.DT6v(r"`64jMf]6pz"D!4]J4j=*6!Iu{'1(J !`s%`%>yF?MV{C ƞ}'Px}U>=@\-${9*pr*D70 ]]H]ɪ7SAi1hXE9VіP1-MYᐛ[2JJ8v$DmAhN.C M@Eyb-g ״'S'^8 l_U:؋5Up6 MtU+=p y#>D_(i wX*=}A' yP 途ǚp"r&k7s"A-M[n1%mmeba=J>i~UXI(G5Rq6P} ac56glB&ʽƈ=,,Z> $$eMB3YMe{#䡕njtx1+0t #Tm5mMtㆥ Sƀ{% o]PDdzD >uǬI㌘;=ܗǦ$|}WspSwdNi1!Z|1+fL8U33 2W4mӽ8^oI.30(8腕k`yezCc) endstream endobj 48 0 obj <>/ExtGState<>/XObject<>>>/BBox[ 0 0 929.24 573] /Matrix[ 0.077483 0 0 0.12565 0 0] /Filter/FlateDecode/Length 3944>> stream x\Ks6JU{F |͖y:rpXDmiƣ 'vth<7Gm3mVW]A6RW?}ǏE%F~>>Ukm56ή duaP]APg{M-)Zd}"]>=v7vGwG%u j1^_ݭTꓑ~ +s_:37:YIմ2ǦFW/vo)it D-5OCHuVb7G W‡Ci95JcS/vN-lT~C IJ]\c3n-zc'17#V 4G Lހ 6荝i r>,DPtcԂƖ.EIB}qmy?~g~4Z[#W8 8h~w 3%7 *;j qr[o/C`7 A;6`g0MUAPI&iI/Sgs0 |RM&أ x w11e3X74!4Pnʿm~"c|u p?i}!YnLh"Cd8X1ȥk6<.!;v&CwLQm.l2aQ)a[󚤨̞dH{)e6z̨OwagZ 5 Qp5:3Ȩt3ŔtyxjǘzH9_d?#*9x櫘Tv)qņXŀFϗaVsptX'v y}L\OC#Lz_;\ l48Kj2 ܅bX>]e+]8Ȩ(3fJ4LJEHOZ8X0WM ~ m4 r$#yØ1[9{yϥdjf!Ȇ K嶕o>QKy@q`%0z^1mcJ2o9p 1zK0}3,e5"3mDF;gy,uKPfcIzY]6̝"\iuS7Wӎ^yswn"=W[gl ڦ/! TwؖRcss/;;sK젰Ķkqh2^VfRVRdn5gݜt\sL-!gra;˒/rh^<&ߎAjy v+Ӗ nՐ[$7SZ޼J7f':;NE)ݤNG Zg;) ([z*X*1,0ne:lԵܳa³k1l؟ [R:iCORZYi!ꍽk᠀1mQ lKp ۖ]gkͰDZף8D3ӆi7s=pN۝+|g ͽYL2obǮq#Gw1F>'pw7셳&aP[ܽ?Bv虰-)ʔ`=oµsܼӵĒ?Hc1כ!3vD{4";н`*O"쵧D) :Tv Ps9A&=„tmRNo皼>d Teph`넶ì9Q5΄yBc Q; a[8hא2nqY]-w&K-% 6/w/?o']~ oR Ys?yKY {7ǯŻ{r $B*ka-}L$cgAuNA!1"kjso8Ӛ?s]idgn+ aY%uo3[D :nFTٸ# ˜0%A 8 F1.9-@e  pl9Ʊ(Yx *'@ȋ2%ǡr(☙ ̯pZsTZώ]R endstream endobj 49 0 obj <> stream xyVHG-6O'0 b!x#lR;! H ]J`I.{#)]۷~F?~X[[{onmmao+ۻw{Xp8<88ޠ tא!v:. V@܂gK [KKggTݯ  `(peD]Gyn$ƾ=U(k0xόѽq{Oqo m n9QGR3Az 7ʏ&ew=W6M{OJ8]5.w俺A&M E6?R1{GzЁh"j5ރP]QԾt_N=F~"=72y=>*aGN:Lx %q$=||]޳3{O2$GugLG&~!z6ĎZ =xWiㄘ:E= s,LzzX^?.(VoN <r~LQK G- 콿0d7-{uw@ػnp[x}}ֿƠ`n?V 콲~V 콼|~իW {Tf%#`^‘_ߊ|B.Z-H1-S@{}}ݽWc)R1k ֵzF{gUPB?~XYY>rRU$oN}}o`]_߿~F{oʰe';;w[],-w;g bX-[E@نk9 B,(;[.g4WQ1P3<>>:s( PhO]VFޠ E coP@\Sbo`dhª6q&6{76K.A尴4l <(pu-w ,m-M.{ 'Xfww{C0UkW M{k) sъR4WGkkػ5ڤ]|MҲKp~~K`ikif[m8h_Ww`hf[m8WW{ooZ,hB9θ7XNޠ`]ˋM vaaֵT?{Jc,H{76K.A㨴Yrq׵4l6`]˛}kD^S^kekwzm[m*]p]˻;%wK?!nim2WϤS عGnwGN;R@]x3CkF#koY..^Vn[m6]aoO'''ػFEH,-ޮ{.Qe뵷5eg^{h,(GػjK{C`ohڥvX:֨;ލzҲKҐ[& bo#`4l]m8{Tް`oޠ =?5laՖ`i%cikiH] ҲKҐ:V[e@ .=p`-A?dqց*Юh Wg8yrtm`-KW^q&]݄,-:OO׵>ȳ{F֮hm]p]G%mDBpW-} Y-Cfc %hH=B^S{{#%9mhs7r;CPؒrFa_UK!/͌A+޻?uw J[9ҲK nm]K[ek736K.v{b}͌ҲK 콲N;ҴcA͜U ϙ8Yܕ!/S|X[iIS2JTS-5_0zUkEvao҈d Hs0_ r)/h[Iy9!(ցɿ|djdb<OԳ%f&#| {SdO=,ϾlJhklGNZO6y򎢔u9Y:nQK R(911ȳSt>9 ]G؛ҴTp8v;}:]boBHSޝNRIT#ׯ_{#'$Q8?~p|G-+{B{omm]^^no3g V8;{B{_\\ۛBHUQy{+ތB|Q/_f񘹶#!dѢaw}y{~8^jֺERv|@yPx)/ބF)ޫ绻NTo1Y \rϾ?!r#!d2Qظpk$06#'av9}?QKBQ|eeuB*J sr{{{vX=Qx7!Q|GJެC!EGzZ{Bk뜜$LٺJy7!QeGSgZVyMil"z뱶!Tx^^^7!T{7!T`oB)JބRS !({BHMQ &M!5E)؛BjR7!`oB)Jᅭ-YQ|k [ U !Dk pat7!Ql*-xgoா-LG"\wh%-FN! k%!(EZ)eMZބF)ҚWM!UE)ޝN !(E{&aoq~ބRU"콵uyu8؛BR׿_\mM!UE)_~u{؛BRO>mnnboB*J~ !(ŷ& 7&*? !(şsmf BHuQ7{m/:RY"~7Δ' avCRE!E)޻u G,RK:ŎRonnԮeu- !DÂT6p}kMy&46J VF{xxP|0Fr>cDBpWGGBȂe !J<<99aBR^S׫D${g.&46Jv !({BHMQ &M!5E)؛BjR7!`oB)Ja7!gʫ?ײ؛(%Jp8ބRa"_!{BHQk[,&46JWF'& a؛BR"VΜ`oBHcyDeބF)QK֙d:aûё:{Ȼf]KBQ0lNuǽ\k 7!Q*==FvٻU/K#_q}o1Z"5kD6<e|v /v {s{S gʸH@[H.z+d=]hf> stream x\Ѫu+ { ummu]88* +̰!rCI~+]pI BP(0a!& _!Ly^^y ^]Ti1oK<:S3ZC0:[+WJוBP,zTn;|:Iaǔ17y 6_i~k42cƸnc ֬RXdc7TL_X0r  {L_:DdGWϓZծvf4I[[%/4خ/:0u$??&HuLuxs8vҸ/>Dn6;<),)7/5j҈^;9\xKƴoЮ[nOK8'ԌmAII֣3k%><" 3+o|ɽkթ#"W^~tqDuhזg, Fބ^yw@&ι_ே=yCFYsxl^>q{|\ڳp|f>7{Az'uy{EpRpp? 9|QTZ*VVrKPjV郇CCl;|]W29qȁc4v^_O\,Tғ#mgq0K|Xg^qFζo=pAowuI>-<[Tr믾KU\ƾ.+ WKX8y˗`?阱 +UJfϞ[H=]X빉:rҳ?ϛwJSuͻN=} G~\X۳|ҍC:pRv]ᅾK^^رK/ݹ/'+5֢vIrQU.gG{|K~ڽe;֫*o?8Ʌ*UuңEnDZ8f= ɚ\ [7a,+^-? B(=[ˍ>S~ ޢ[tJ-\ [4}`][7ҳxfeN~sq^\+O*Ȟ qEc~5nq5+o[{Y6HiP(@m@@ ͵7[F/Ѥf|`>h?]wJ>[굛>JH/艢HjjIYT w7+o/zi҂>㞇޻-iv^})Fjԣ`1IYi ByY6^Y{ mTY>]kI6m Nzd&=~=9C1x7}_t_W}V߳Sm;.Xs57%BQ!=xZ&88KŮ](ss WR(y¤.ytѳAWV 77ѣֱP,+) C&ϙ<Ǣ4P(X[8%W,FߐPI]r/_<ۅ*XC%WX>?V!"XIOO[8%))׷\3[%V:oH"V ^IWfJuߐPISDt ^Id"aD~CB%ME3_!+,V:oH"VƱ.%zb&K7$TT+<$~CB?[1%*i*4_!+,V:oH"V~1[ ^Ib%1dVK7$TT+|+$~CWR7VzfJuߐPISD` ^IXGg*"aD~CB%ME7oHyM0^cEÈ J bE4x+2oHJ,qsĊP 4AJ\\ /ߐ4+ 9I@ټx%cEÈ J bE*` ^IX}TlX+Pn]DKƊP 4AJVV /ߐԊHXY\VX2MŊP TO۹P {uqg4,(_!+7V\\Hf& )oXʊbEÈ J,H۰pRo&J}lڸxmDP*4+nnhdSgMx BT<5Ŧ^Mya; M|rP /X zk%%+gdkײ~v| es>/Ode7_+BFd7$XC\/!QȈh߲+6H ~Nzo 3zyy͛7pXȈW*EEEIIIiiiP$$$( j4kRibbfMzz `f <)0;a\ jÒ^j`iLk jA5FPk5XGU8@Mvv6&55j 5X͚INNj̄X@Ԥ@L&deekW)*4kʸop5^5 ՀV a5kjTp͠09 7 lP(nм5#űfM޽UaCdMBΟʼ/a )7rmGaf`hY$-[4&Сp͆q%la4AatjjmR P/ Z /5 Vh6ԀVh6ކ)Q0{p{j{p`) s۹NNN~=Ӳ$Vj=wvc C0t)~ 2*?h|hI9vưgjtk@R&$5J]Q#2ztq4n#5kgΰ_̜9+,N1 ɎLɿʕ̅ pHҹsK]IJd\e019<}.1F*5׆~f(,OX{CkNMI >zXX!bP+M7m~sM0OJoHJ[Gڷ'۷5caC7%xSj&O?テXa':E||LQ Y#;|-&P e;z0Z0; yr/ߐ蕄X>d);Vf,xlh(VV$&NTNJ#;/,|+`nuߐPISD .%]X׆bed6V &f"Ѱ~}|9Yv0qƌXX~TNVfc%{á&22jӡFP@ %$$h@M||h6@i6 \ np͠0fjH~7WʕnaAafj 4nèTna`05Aa 7 SνG uXn&=C^j$an8jժG/=SJBElon8Z9%*D&c߶RG&ڏ)Sq}[ T}ى6G%<(cjo5;~Ǥ]]zv;DP*))R!XPl5yN|.7P'%PP)Ĥ4 "VYnHc|`B0$bd=ln?gOMOr,$XarG~I+WUiڔx`B0$T|j mll4h?;LDƷqKb7XV07xz=R`HD+YwٳGZDH ϷqK6LN&11Fy[=XAU7$˲Î}iآSAN7AĊ\nc%$Dmx"wK*Iwkvk<;e2 ( "V*yjCʾ}$8Q+Z~C":F~'﵉aH=ffY@IP(V0~IԆ+GFce2r:σV6 Dt挘tf굍%$/9VD'_6XbǠA0XAU7$XNڵjת[Vw*rK6P:;VPok $C]*?Y#AĊ= ?T0RIu XAU7$LD&.!DpWrC~IԆ..4Vm!9#*" F?4V( #ˑJgvZT*ٶ_* wmDmHcŬ*1J2ʄM]}$yPDYb ~I2ڕƊKoH)rB,5r?zJ_!Uu.RXKoH*, 7ڵk,c$Xw6 x o^T9Vn*i*B_ƍWWLn*i*]/ .VcOٓ=vKoHD*)x M0nfK5\oxu 8% ?s:=oX_!sw[ߐQQuodyj "o "V222V0~I\kL%VnQJ2%ӆ_$J|} ワ>pĸ b%+jf$^C.V+xu %eL7|[So73+v|5c >MZ(y_MͷqK5n`RۺD^ ћH.4pҝm\ykF3˞EB9{(r^X~8R.frBbB|qQҟWkzyj"^^^vrss'#wmlTT*={VXXξ 5PP((!!A&''j\@q5P5[u L[0k 5;aiLX2Ԁ +V A Wkp50P5 8҄jF"kbcc p9AMrr2d20PYSPP5III\ LL&BM x('\ (0BP/ /A U°jPnՇf(͆ᚁmtpK&=R/Ftk@36jLfѣG͠0Bk݆j݆)ɓ' cԛuZR{n۽NYU닕~߮y!EA+7ڽ~Ӂgw7A`x {ҧcۺJŁu;tCVdȏo]mءp+|+$^CƊ=cۺJ 4QP`Ps9ch&A `x iۺDlGZLERE^C[[B\w[ߐQQ&vib٫S "VDyeאƊKoH(0i۶,ȡBXI_k"Ɠx!sw[ߐT2+%5Vnw܉\&BiN,Da2D+Ŷ6~C"NI톌o׃n,{Do|%:/4V mmD2]G񉮣]coc%A wv0rK0PSQlk7$└=i5߭igh%' ba,f$ +^^G#oH((Ժ܅K= bE|_ZRTDh 8%9*h-,q/AJaEnaf^KiG={JJj*9qBR+sڍfAO^8Ѵը:UPDH$z |r;͛; )Vq冚Xh'(Vm}eAJJ\"$"˗KiD{x}ڍfAL;vQ?qRq~{ $"SK'ϏXhD)YX4`߫w%·DpwB~I> 矓7?+/benpih7I2LsU=p]އ#R,$Xb12z4`XTJa 0! b'rKi+﮸ f+W'XhD)yɓ'y4Gn%AJvEf^KiwXQ Xuܶ}_n4 "duwl>kï,t_OCdd+ցvY$vj&8=[%!`>`q8C~I> a QҼ9bih7J2E~ADF5vYQ-}g,"_˗ٳ H}{{NvÆ#V Apon4 "ߦuЫZwcuaEN} XˢVmDƑz |Q@`oY<rp!ZNX|OūG,`WbvY9g3 6=vcŴr*Vۿ?<5U;}`//]v;[3***;;[*)J8*,,LLLLMM 'oJCMzz:( ĄӪɁxF.s5e\MDDԤA V]S`:)0]]dᾳ Ke’L^ܴj j`]X;օVhdeeEペ|H$X5} &99jd20 55Py&33PkʸD `QP%[ A (4W5 VV êAVj4j`4kk ϝקOq+? 7oA㏰v'aJka 4nèTnaBCC5Aa 7 Sν,Sa,z:{h5K=`+挘4!#~OمUγ.h9l԰WԮsa\] "[8%y0VtbJÇW>XVMkx ͂$!VըmcӨZ7߭YƦRe)兒D F>;>K4?V?<_CG JӦ«?Wg^$B,L2"Ι\IFݯe_/ޖegfY@I"o?答+}!+\|_lu+͂%WԨnڵjx荇`";ו/9@@投Iz~ucvY$:kۼ͏}-]/mXXH4+Dx@|Ezn4 d̺T_<>/+EyQcmC XؑK֭b9h7J*o}Ϟ[`L"» XqrҎ"8ce.fVvYbg4mu7g=\a?[=xچ۷{cC{^8vY$c06uDrk@;(6{C"/ F BI&~cmvҨ*[^A wP!+5j#[[xbvY4L2e]Ha EpB"M{ZI=˞rKZې B,LrۜJЭe/KZ۰wo+| F 2"YAnie`)))|+ h+͂(%crq۷2,r bE"`6+ӧ[si7I2Lΰֵ'jǎcz^귫03X4]:Ċ_F >IFڧmI\RKE "Vwe^q6Vxߟ#yX=Vh7I2Lm?m5\e "V+3ܲ B,OaV|ŬS~aUD`3wn4 LyXӰXש Rz;#>S{wPCs !V222V0~Ikr7+jp ͂%e ۗ[qܷ=~d}s %X[8%aݡƊnTҸ<ӧ͂$ebO;LJqيbdu5u[w]{ * X{WlXaݵꮈ(b&@!! =!21"*0<>L&g&'3w;gnȢ{y&<%8_f5녬$''|'u!NU\RÇe(%4 *nKGXH!.y?\32թMs۷o?~Ą4Hݪv=dFWGjL6T*cccR)"(0OLL6B`62,--M^^IMMlr9eaXF `o [v G60kh`O E[1gddd`56l3CوblIII(.q\\xF"`JMAAr *|Mme7bn!`3*ވwP*i QӔ v`Ǿd h - c۷߲-[x$f߼)us#K) _*0م+ 0P`i)V>-0 D=J)*Un5,Ziϙ>qc֝*V+$O|cܼ~E/̏C9VF6!wwԼ9?h GRBe+yi,;T<' !mWY4D|ueVg^ e]:冷<<بGf͠g~x] ~Kc9R FkڱӴBvLP/d-`:3ԢZP@V!-[ȩòrʹii,kT<'U*ᆙ~ljVVx1 wF6M:[Hn&+WhgHVLFg&X[SeerG<:)u$x~%Uѵ.w0CTqd'$q3uYx(-CL"ɓGٳ_!"zidpbYi ybrˢޘ9BDRqJ#NZWVJ*50z!+TCN~ÐRS t!zUAK ʠAhb԰!U3ђhoOf8+JVf$޼AQQ…dEYا/qڈeePr{**%ΰdGZ5 (<Nr ׯKޭ[Cd2!C''}d$feex"XP07oFVV YF N= H$7̷rZ_!;%?JPPJ͚jYٽ:WW"+S [[R=,;-B*uv|n`psC!)}{Զ-ZM>zLK#cP!w|{:U~M[%]̷\`%y8fZVp|òRVM.63I(҅Kz!+)):wr9۷I5&Y)F@y8x00uJV4-M#m||J`>~kT0CT᜼uhY킓:'MG8eBVPA|'`gھկOѓ'P#hZZؑ+U:j#^GݻPMo)Fsr﴾c֝| 8BV*< 6(t;>!'͛C/޽AVEuK;;##RA-/9yyLӾ22sR!wsqkۖ`R&:-i8hi_ V Ԇ%\)+yСgOń@ T84(',x| d~zTm{3fp>x[¬)S6'ss;v c*d~=Z9= b˖o_`H֭j)wM]V(yw-]t:rI/d%#C'Z/HmTM~?( i$-,,4l,@Sɤx#//pS^ȊHVperu?pĠ:7nN0술Ā ?~wo2zɓD\$%*50e:BMTK:_腬PSE3r?+b59w·iC&G>;!Z5l2@Dڰ**w}S)^J^іNLE;y5hXTEbrfڤ&NDǏ"! _nN~BVB!.|fs]JCwq?hڐJ۷WttT coOʳ鞉әOƭ7uNꅬûR8Bz$%h02$ @O?ƍIa>bZM@fUXx511h75}Щ[Z`LB;'^ȊBۅNLD&# 8q>\v%#4oNnn݇o=X>%-L  "OӧWoHI$bRC#O@g sl񼒝3¦n=`^ 酬9R` %N*BwglAׯ&{BffDM~UL  /׫V%u뒑u#͈hZ20/a&y 0^Ȋ5mСWoa]TZ HqQ~hh2߅ h6';Xn22Pa @~<G07m"L?Ԯ ,k@ZkkT<?EޜǣwPHefhh ez!+@IC2K^nM>~'}|Kã§dΟ'c::"SSDh*Z, "ϽӦѩSdγg{i^Jɚb7j:W/{7陋/M搏 B!<2Lt26ƍh ꒚R%2?%W˜ɊL&u.--+F Od1ZV`Zv r^m¤kc?@V@ 8Q0fuK  d"LRdHd%d$@ $1o d"dHd%..Nǁ`xAz;~e@ j'+bXDZ`Y@ .j'+<ODZY@&R;YIOOq,.5@V@ NV$Lv17jȐB(ӹAV@LdE*1ȲY2u!6~o2Apebm;@V@ NVi77C!ݥn(dB!B|. +@ Dj'+:74hՍ/V%&5'8_w @ IvM?XRh9믫x\hVnܳ3u:d}nϰÇ1>>0fJellT*p8|>_$%$$`DB62S) ^ K*i d"@0ꪻik3y;Erս7Zvj~-@V@ NV^z0j͌헳zW1z^g]mhRBLv驻0uϣUQM*>Hxq^5[Y@&6YQ/U~VuQO7ij]Xʍp}֫Y=°?nnnƍ֬3wꅓP/d;k6ãeܺu L^fSi|A[WVSY^YN2CN2CN2CN"fvZ>-S^`gdLB _dHdHd, |R$Oz)a 2^^^aE7J97nH }WtOJgtT܌[8~/Q|تT?{~#3D3vś R}>)Q'$ĥB, WBIͬW/jn7T S; }bE)B%u-[]z@vह-&m 7k4K?[2dnF/?İAvl ymMor1oDqةzzptUO9c MRr;݃E%kv0^s.Q,dmuZVCMfVW-j֨"c+GVڨUWRN<2v55<ֻs[ }m_[F]9 tpK)d\{:Ona]D]afMV/*+w="P'm;G{yZ2k\DVTҜ'|IJ֬YݨCvoS#u 7qN7_V$ٮm[nU#Yop;gO!FFISƍʊ(mFiAPd=~'!> {d7&t6y?'YFm4ěS)NR$7WbFmG"B86 [o<|߮6nM(wBaf;Ϊ{J޳Y<,!taCVPH۰A:E!"rL(`uQY;e7W1B9y͏پAaw |cx!`G7MSTVR~]z]56nBD/#XV8Tiu̱}/*lNă+`MZZ4YN$O9܉[Or 0izal0I7$=Y[S?q':un7WZgw42煔K"+]S{^/Rd 03>xW ܗ HkGۏ]yC41oS\zLNψ2o0{ʖkXs6B̓ %Үb",۩-B1S*2#Ylu6Un'#},+uj[R|)νdذNˈ&ucM1HsysF3[G>*&bE];% '6tU*Eu4⟸xv@aѼlk_s!sc㒒94P؃SUڋxA8ţWu2fRC^Rwxjgg3H[;w/oY3B]pvv^3[Ȍ{tKD$g-xLjޕ}o$WQgh)|fot+rnyDOvVc˟'[zd+ʛ>ޚ2oh2 =?w)+aEB(E'L2& ^py^aޚn?!w =e>}AFM6+/u” 0U,=8^DN]?w޻|^ēN3il?*2JS@vVb"c ;)]HK&edQ$Gťg$$98C#ڹn=Deٶ?\ U&wPvFZ񚶠fSjU~.u+MfI/5R*^:gaPV6ktev`qE*,1>&[,3c"2򄼨Șlp[TV%\K w1$όŠS7QHMMdd1eeQ -ƯJڭ$8GoFOy0g}.gGHI:c:v)[4A֢c@wwvᛢwuάeRsl:eckwu݆dɖ3W6O8OU?yA㹻/h,+\zZò2g~.fXVؚi?}_S'dڣEd`n!E]=K~I'V2rL1yȦU>++=jViƒ:wͧJ3mq/yfczldgv-٭1eÐquU1ig7rh(}<LܴV,+!w;:; lm@zJA(^ w`YT9A#7bYmڑF3ٲӸOma7J(U='ѯGO1vc]!wMչ&`=>Zʹs"e]޽hn6'+- zljfYܬcjim-8eM{ms咬4,+MMukT Imz~oKF9ʥKY/mBk5:(F!IerC]HxrRI^>3{;fmOɒ}*+cVxrhp?1{_]NXVڌ9qܵk]{5yJ7rzXvITbYګuyf֭k)f4ZoPbc#(Z m|y-;x<,9㱼z43$AJLU {߻r} =Kzz ߶vX._:/̗h5p>5f]yys;[~,+ ݦ(Y)L!͙ݿͤNJ4ܗaƖ+ˆ[Un۾S:72 oucjQG$+Wp-_?l{IXVUgY7Lʔ gQnqM#zXVn:ͩK~nn2ޤ"R4>K*6ݿz8|ʥ!LSZ\ ŗd 5EQZ\/ule4l.V- [3qx,+9:wשgǶ},+Lс5:9i[*̦~(~UV\N`lj&&X5ǹΘ;w0~*RZ8 ꪅM'a}[%VS&8HYImмU0[݊!5챍I1*j"'O~1ƦϘPJۮ]P}LBY)9ºhۮݍ[ϚZze,+aN472~U'XilΔ姆D%h>8o#fP\_K=fz@5uDVȸI~~驁o"rCD+TdH9 INF`hpSxp_P">ũMl2?TSYaɢl^Ph$秱&iM cUJyThG'#"NyKeYcG$r!,CG?ı)( &3l򗹺r>-#Aö~~Ioywq,6)!AY"8:,V3{zrllrznF꛷qrinP> *#_&ƼeqX?^6p}C0b(3<~9B̳llwz<h+NTvG(rY ;'V endstream endobj 51 0 obj <>/ExtGState<>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 52 0 R/Group<>/Tabs/S/StructParents 3>> endobj 52 0 obj <> stream xK0 .?TnSXA|EP'zZppIrȮ1fuyYf3̫&&%$alY;]t[nv*4Wqu MƁ)" f++&޹=rڪ H}!6'Nn5*ɹr-H2l}T ɳ&Sxy1Ϥ}RGkLl$Ld.7j$>nߝܠ9iW(]m6SW +c{ endstream endobj 53 0 obj <>/ExtGState<>/XObject<>>>/BBox[ 0 0 959.25 527.99] /Matrix[ 0.075058 0 0 0.13637 0 0] /Filter/FlateDecode/Length 3617>> stream x[Y5~/]\7<܋'a397R=i(?Iy|J9>jU'mӶnF74ro?>'mA#U𯪔j+ךF0s:ևG_ޯ=/jvOYvZҏOzvj5^o]57oaZУ]çtS {m umt bj^| ZefAs LKո<@w;][["ZPa8]gXK|{\Fl}#' Hk]*Lڡ#7؇ؕa^Ohq3t%n6Z&7p`|h?z1 CZlaHaRMaPZ) z H i^lxN/8)لgrKp0qlL#Mg2zXM4=rIlx&w4!B|3,QN+ַ >ug%z`9( klLPŏgSX큟Cģ/BF-Cb $uJ<>o6~Qhr,g8 hBNcs\ɸ3')jR}A{+S\ɾ@Y@Ml8ÐC [d6esFyji_sgktHl} KGHx7b#"GQ!5&-'Šp4O3SdOn*I裁D6ņFA$vkO>JMnЁw^ v㼞{UZox-dD"B.˜7hTJ.uJM-iRI<@5)4W,% i4F^iݨ61fDTw9g+`O}DK/4V% =8Ϝ /t͐ϕ>p^ؘ4,,L>|5Mmڲ[v멝Ns;& n=Z1^q+4N\U4O>^ev8p.]]^rUNܫDS،r>u'y )M}obN%)\Q߯ '"}Cgxbӣ"pxHJ 5ը2\\sj@QҠ:Dqgb%a7gV2x m?3YnIbx&C4xJ}i@ŷSc~OT_%/x^ǠWM$%/H̦;2M}M/~XVtdrsZ;Ëp oea]T`B0,?P_~o)r#nWGę?c4{~z"dJ\%Bf]AbGҾq 'Mӈkt1(NᨧwI(nnKo^z@[ !<9~Ocm|$cLݓ~]"j~"|YK;C} jJWTVGVf䪹8&:>zr}=hDYQg%#0eDփhj αr:^L¸ $0(0#aXt:cg;)JK8vtRB ǻ\⨡ -镌^egEzpM+Wm?JV2q yRŊK`8$JyE/H`|`8,Hq(`mha/H`Pf=x6_z4V1C;!Q;I[]^fG$G~KLZ9 :Ok,Ȱ83k< r( , 6ّcq~dX7O':TȊ 2((X>3" r,JudP0P ۝<P 7U_hC剌@g;cf[4ۑս ЍeAyN ,z=u>-: &F_S: &u׮"`R&XfLLǂIntY0CӕMgܣulfkIv :4my&Qg5uIyMb:J,SPaӱ`R-^ :6MykI~euX,ԡikPG &6,5EuEl"Y0CSMFbAl:,wIpkIeN &uh`R暺&6,ԡVLuLTeӍH&rt/T+*IyAPf;GG*rt/Xm0JvM 65Խ MƵY$cA0|vc8*L79x^4eAmt=3p6V+hӝ8ݖ勭^?{ǯ l.D f}  yg: endstream endobj 54 0 obj <> stream x4GV t+S7o]յt߈``ׯi[J%m',,ײewI7l?:{Tdtttwb\CoC7`dt||ߓJ2Q4[բez=]FBnm^W˲N[_z,5/(}/]_4T._[{VӢJͻ*Jyq,:Zլ~[.~JD 1j79{!Y*CkiV1[=oZ˅e]6-W͖߫'}%j ۻ+S*}2MU}aVږUb+N,H%K#PT(ZjtҺlg}F-\-.S|}wT)6iA K㏤~/o euaVW'J=-+/⬵RSzj7"Sß~T4F;d g65hh w4R֡7',+ݩ-^nR3BW^EGJeLz7Ӽfh ÇgR B*T*/T9T_I% rPoJT ש~9̕$ԗL3xzWm͚/VPsD MZ^J]ͧJR?J ̅n1mSy*ip^<:J CqJ{ǁ aiu+57j^5m^୛ \hRib|L رa٤RLJJ?3xR<&mI3J|y|&ׂxJ* R?3RR;QS#z#vIiV^ )4T*_W[w R4ݩ]F"wU3;xJ* R 1RG\2T\䎿*@JOTj O)2C*A?tH]*%w<\*oR;_Zڏ.l~Fb㰍;W{OI~%kH%A4{ iT~Ri26j"LD<%JoTj)摇Twu#jHSRiTI%șS*4 N5\RTRT-N(TjTWjI%LD<%ѵ=ln77R47{x+u8R]{G%JT}J) ѵwT)4T*}WM%n$S^, $R/$b'x|x*rY(w^&r$\ͫmd{$^7SRi8Ir\.vIM m7Ho;6Om? T*"mRO'RH7{T2TM<%FJ_|q`*UJyK.IwͲY]BPXQJ 4H֭]}7S`r eLPW?񤒸to8TW{OIA*G\mz>-7G)W{OIR?' Mz:}]H<"^SRid>T05ѐ٧~J*EGB*SGhRT/Z5H%?H9_VSѩ$'J#KzTVSRITY*Ǥ/( )=TY*1[ 2TzW>[ 2Tz}R).h#@ddK/{ޢjg@JuO<%FJTEK:d_xJ*,^|w}TEK:d_xJ*,^xR).7ho*(\C*EJML{ 4[ZW_;Gd:/* (6t{/pHvRO]C*~N@yz(7 ~[ۓSRi*ɾ{V>s%Jb ^v#l-t0{vS{$|5Փ{6%P+\+rolk{wcbIx2`ϦRTY*\P>9O*ݘ48*b%Tpq9^qn.8ĦioWSC*Sc*)I%tK6m׸J0%`dttO>!`u]imP#VwSRidt޽OZrHw *lP#SwSRitWHdЕk6'xs8>ΈxJ*4X"ڂ]ӽjLPss_y3 t"ݫΔxJ* J!pӽjL SSo0N}/TRxނaSpJz AtOay)H`D dp'#z[jK<%s;TOz6VSRip]?}JTzK}'*xk.}Z=6`D, fx[-7ppRi-z>H|T=|Y<͖J3iЛ)G,WyDu&O *ׂ7SS5TvϢݻˢEvo E*ͤCozۧ;k)4,RI)M^.T:>>2> 1xK VNδLJLRJJ%/L;Lfs!UQкf2ù u庒NR(ZvTO/c,M,oz%<k2 ʑWOͩim6`O]ͻhͳ: ޶ ytg'C7y<E*!NVוjJshkp])s;Ez*XCs ^Op4R 1f MI%RɊTS Bҝ"+\J*!TG^oI$ T*oVT>L iZ;@'VgVTL b*OH~#7r'וBg*MpC\.V6qCt^0`Iq/?0>Y2Q3dgʼnT;kI"g,L_ BQ9gxFvnvŨyCcqxdqy|EwgYl (ύI%'fz>ςTB)= :Du J ѷfˋu >/ᆈQ^וv)A;𫧆Tel TR(]צh{W@CT E9Ѝi<-RJ*!Fj*q8 mvVӜ3W "J6;YL Dap])W*gg~gq2/Uj3TBD'T EJG|qhm1^|/2A*!s!B{|lJ%۾Rqn\}V_:ߡ^:/Z#t<QhXO:WYq' vd7ڡHڌv@ 輮T?c$Yk2"IA9Is ^cphJ(KA~eJrJ)s;\=mۡ2H%D'xqg""VhsggTxH%D'x~ QR (xGҳgH%DĊJF;"QNJg7"bENy5+!"Vtz5;ŌC'WO/I%DĊ|9}B*!8;I+yTBDqwʧJ/k"vlhJX"QY^Wڤy6tB*!8;jCPK%ayՒA-t~Ad8.ZkhD ̃XʜለU;<(xg""JF;E*=$wTzTBDlQsR "xTBD4 !wH%DDR (xTBD4 !wH%DDR (xTBD4 !wz>%'#tHM(mBhG˵7H%D'x͜6h*TBDqwF|:WZ$Z٤RqCt^`$xFyyP4%p,Z!L8yBz>aDv@ qJ Q+7R  anDDR (xTBD4 !wH%DDR (xTBD4 !wH%DDR (xTBD4 !wH%DD GD4 JF;.\kՒ>2RpKW߹S$FH%r @u@KHAgA,9$wܭq-COA9g8A@J{Oߎ[O[?/NoW3TG%P?T6F֊})b*I"4\.+3#+]6A0M\<`eт-uF}[#ݷN&r: +hf J|uM#i͹]-VSۋ[!Jf_IdaZVO_i76^fdžE-. -݈ӶIղiZoNӓ2nTZn "(֭Lg ?TPR__!(mJtRoTj%Lu7N`HJZTͮAJxBR `Huu3*RT^gEOG*U-t|^FY m4'l Q-f*Op^W 4 A-93ިoG'B  9 >|aFJ'''WWW%KKR ’oR ’oG}M*?[^{?W꫏= [?I%¦ -uRn_ endstream endobj 55 0 obj <> stream xx*RZ(Kd(LqeUA ( 2d7)PM4^pMMMz~?O>o/w}{r0      R*$?U6vmܓl7o:sXqJԥӁ19fxte$>}#K# xAd.&E<:}X2K.эO4:=ʺqI$gGhw/˵Bz{ƥ` $Wϟt~dM]F=sK q6*ӧX:Uӧ_d?WvF d͓rVBoKϚlA"!qSꢗTw~Vgqf,,z{ZtVJק{;[+:ޏٛEL`}wWQfxy낮]G?G|ޠvWaE!{\-~.BԨL$J>(U阤{mDRaԪSzdjTT'% ]·WzORj{լ^cr_v]vV\X2-ڶm٬ӀI!2F{e҆MuҾ-~m&w67poEhu_7hֲc[|~2Lw6uM|5= <:YdD}_ H fpcǎs^-Ej=MSdn\-M2 ͻL*" >6Pun 5gl:3UNTT|Z6=):E|ZJ|LMkURJ&c\kjJ'>;Fͺ׾=L75h|083o\OTم+VsЪߝGe$m~ifоy"QuD3E.M`U?d4~@J˔ydUxݵAfT(_g3r/f7;/_ytVunjOD $?Y=^ ze '1DmJ$qFgtxGBI<. g"ޫC Kj: /;q" Ez3qgj}Z\j~d莮ZO'`1]yd0WqbVyw5Jb\֑p*Um9}$ͻY&adžn:ؾn應ݫvc;SzM 3 Oڹ-ew6dk[{Wxp,17ir +RT, RVWkfq)'j8p.|xoV0a U,/׹΄ h\ :/#W')=<7#mX:_5/KMki Md۸p+w~-*w򲵳Gխlו|fgtRU7 ͞d: /j f_Lw4`6|;fSV [1&tbq뵹f\[au\Q;=]d3k.I.!cy7ϞxK*/ό(I^2t<{tτSksen'ZCŦda\1w"q1-ca3|4Fx`A>>#X+2cLY,YXw7։W/#{qk܈>&*AAAAAAAAAAAAAAAA)(Sϓ)Sz뭷 {#qhh Ѕ#T*/ϕmһV!׮_ҩ{֋sߦ  GuWv)G. uz9zDզ݃6AA):o[5u'f$.Sak`;Wlq$8Q" R3{Y1Lh/)ڹs<~~~$qСO÷?fאCF#H !JU*$RS$İ|n/L)JXb2Dbb"| * {}?r||<|222 !r9$z=$%?{,,, /$[ZlHC"%}A֣G^xА%-$ P(rrr j!AT(!÷0 X | X$`vH@$- (\H@ْ"E[ RPPU,nZY9,X,(VY@HeAc* ʂ-sBX, nIeQma+ v[ʢ[(VYv"Wv QdPYʍ[(IR\eq;BUv Uie[,n/iů,n!NnybE,k;ż"L.M۱Z+OoZͨL{A)&f3|?lb2^o|09!GcOhv:p ©!È5TZpj T* QFtZssN{DNN`k, 򡓙IV&_/NKNJ::Nk?ZvtNMnn."GG`CAӁ#Sh?ۡM8xV(¹@xP! 6!:X>t6hv:p4(l0Zpj Vqd 4;NjSڢGƗ$؄`tAtp4&8THGmM/RŎ©!OB=;lBt|( `aAANVVy2b @i%:؄`ЁvyNG&}t]:؄`!A8 "$tho_C^nX#11@,:RGV@+8t˯kQ85؄`БH$AABttNMBBCpjӕJpj ##f3lȢϠ 6!:X>ttArm:X>t|t {邠ꜜGG :RA,:Ɵf6B:8olBt|h|At4 D4@V(lBt|@KȸTݗtZZvtNBptN |y4lBt|z/W74hX;Άy? hM #x"sFߖ+o8]hv:* _E'--!85uP6!:X>tJPrk+Of_znDu;%AJ9:AJIb`.~ٯ.j?(֞tp4&8THxvUlBt|x45{ _oj4{Gi$ܹs<]tXgܹgvtNCpj@+*~>U 3gK }aUxou Al]56H}l۴ս?=}uzߔohv:R_@Ug 򡓕(^ʌy>ܹ󠉋&{;7&G&DˇNvvvRRp.R:pʟ4;\?&^ K6NjjCx55$ ?/⫫.ZO>]M'|(J|hv: :YtZ-@h4rd:B}_kv6!Zǃ3tp4&*x:8_R` ?.b!x~*iBP=l Z-sfH*\ZCx55@+!#᚝&+8b<{邠hM;Ttm4^fl /Rf(e=5;?MHfl B,@#ekρLH,[ؼlϠdgg:: ɓ'Sx?Z'}Oyg4;?MHfl D( 4;L(HGjk$%%spOxSRRsfG8[AfG‚f6 sB]'_c^gIppCx5:̭[6)Yӄkvv1H$qqq¹@#eke~?1#Py݁+/;Nsᯭ .~Gm"ۖ߳N~~n۔ڮro\YLm]eGefϠ`UϠvxJttxB8Ϡӧzr"A٧wV~!)v{NGCR'sY6)f bEbfϐy9%%%E(r :۹j$f'ʗ8\ƍc3{&tsE, \ L#hv=f߸17Z٭Ùߙc"5MnvF4;G7L\s:sյ42)p͎ NB׮PI ~u޷pNtU 453̕+9qnvc23;wۡ} u b"v4;|M,kf[qmv3"#oa/f9![f86ُ̲c{fvp6fUfv2ݢ!jv ݻn#cbvGaqX@..+B{)FfeM ;Oϛǚ{dzf3s&d {,1G3oo0Ţ[bz(!m7̧<>ίa)S1Ǭm>s,8l\KfG‚fRt{0 |3ƍ̸qy*S&03MY geؿ4;z=|y^/~Jt +hǙ <`ȣtY6w [6!31Znvu14_o^ hv:8oR9THyxrg^35;<>dD^0 M1`@FUY4;ƙB7;Z05;Wl ޯaAbvfMڜaὟٻvmvClgٓ٥Ӭ{qZ2b[!@TvFe)ObzI  Ov!Ve_iX5 } Բqz41cXÿ;-X140ר0{z:{?yc0|{p^]DfW ;&f#s{0;QAc-Ӛb,}~ixTvęF{ lBcO0[f}hv:j1 Q9sg0&@#1;ٹ[PA)`v5Üp޼eEpɿz1:g^(bvr#hޭ[JlvNov _B6pKC"g+}]dvKBYS\~#vMס+xhv:z©t|3a=G}@&!f'{OS^^cd:gYcNl$a>>4_7mxɺM-))hZJg'5Ahv: [H1~+g4Gg 2e؇πwڴ)!+hQٛ6eZ(u#,> kvr8e|cNױUZ[%P.Vr`_~=w7<5wzxx ]!/Pk`ʙݢI܂tӽ{]֯σ!9s,ܿpNÙVl d>c[;˖xF@fGJk*\kyiAjUxЦo5>8,1 ɓM;s{b;sBΎstNS u6}`>0SN 2sк=f>.?`2e,G!6fdeK'id nO>t|ff35;f'3{ ;;aC42>)}]dJHHptzl(?4׼u;_*`nwrrOFnN)7W]Gܹwux݆TuNNNNjX3;Myr)4{~ffλ!bŋ_g23;{nZV{"ۼ *JSs999'fwm=~A=ۊDGtfJ|`ٛSB.o٢ _o^_hWw9@.]HСCO>%>?DRRÇ5D"T*UT cxs  fS*$bwQ?N &"D"/t "])"M`|QJQ TAHo"HK!N. 岷wIvy>ynݝsaq`w᜽'̵ZYYYOZ-86 ;22}D,`hT((J8u"&&&**#OߧdddÇRu]p`˗/) , G 2]>>&}t*H ̥cƁ9i2BVсG s|rPq`u' vGO#+|;YaaadAГY?>,'֤2$GFQ6+<,H'q(XuKO{W3s?T޽4+L?p ")ٓN7֯udw>Ĕil =ѻP;OٸkAa z|1֮]Kkŝ(Y^p~uR`-ZN:%$@ht #ddd-l4 !s*(ȸ=Yy*+˻S^xȞ3tXm^z}Vg> 2үv ,O|^]/ kDR$gvxt>]J3$_@;@Q(O O{ Y5_棖ZlOFk)A m!:L+Bvwޑwݠ OvS/Ir32M\{(#%SB𠝝-u*@ZN&+X*UZtqa?ײ~UKWd/StMϿ[B@dI*ET>oذa.2z=[B!*DO _PZ #)_+=ۻu"]fk{H-%c{ S6n]ȺnM~Nv{b)J[Rf̨\Va/( .K$= -r:c.ʾ]yEUOHNJ7''b#;[E=QOeiof5ԵE7B󋥻AFT I$'{jj !Wo7ެ!#U78IU:*b N:T#˫Tu7r̘1Xedg(#,9}>C@3do>챱yRO"tq.;AUSQj1&5jT'j:mTAd VU!yMp2${>+dw>: KO>ɍJuH {dg'jY_zd|)Y|bc[ {@@Lv ^ Iv}l1QɎ*QB{kBgЊ}HvPE!$;VyEkfEn>aB[WJ/߭4"ƞr}8j "Ĵ_ ٷn}8pՑnJ^<.V"VcOjńlĈkǝtJ- %WL!4d߲kȎ^x!wt0STAC^"JD9 [Ӯ#;[E=)JfQzm?p?{CKRсQ̊(/&Ɏ-[bl1P(.L!`#%;u!9\Q^JInY۷!;]BycZ%KnxgCZaCҋ>\;vŸd78fb#[E=iڇJ *CdyAQt9&ƕ;0Vbc?y2ס׫׹tX)bl6(mTg޺~zXJ3fKIB{+aު!{*ĉ3 شtX)b ^2,۳ '6-*٬.yyçzIv _XQTٛ5^yEzc~cy&2CvVb6 ZレwnGb=|۽fX>zMJTl /lAQRr Ac̈́=8u"3d1/NVf^Yׄ*ӯtZ͝\7jPqG{~O/.` ɎlYG׉puWE =4Y3vdzSδ)[aWa{5wSxHv~amGI\UhÌdGo(fn)pɋb6ze'xZtHZ̰ \L6!{Gz߶mv=9|pDDDll,̍ '55.* GR p7oLHH'.p/Lz=\.CM.݅sajGhZp233~:,Kdd$(>>$[`hT((JIOOnݢg<&&&** bNSaX# @޽ Aa.,KkсC BA4L@Ҭwt8R G 83?Ю&' Vw>Yqz`wd9·FOd=YEY ɂ_z8M rO˧N%' Ɏ AvC5&O%˷ %m2/Y-Ytk H' 2KVAA{V0H# 0q2>dC7dzA _6%;o79tӤ봄> {}O@Cc5};IЗ̎?A4ع3gv4^uyfG6ɫnS[9تUmz_٤:gP@!?r`H:nPU#w8$bȷcpfɎVFɾzdQ\(Tk.\.W2V^c53߀IcgG j/ZM+QV*{ #ъւ4n|.A+)JށU[ =r@O@vldrdG+rۺG[j[h鷰tZy"_Z6A$Q[tժdG+rs&FCmB4fTjdf@]3>;v&] G9'/BŊ_IHՋ AddJ{kj%jCrFZ*={NAgLP%{ſ#DIHv41 G?6Y̮o,X/-u*PT$9}b ˔^~ɎVLIrɾpx׼E ;g X|K:ax4dAQvLErukE AV̙AA}F3|~>RtԨSѿkԪdkvP$;Vl:LKQn ";Zq%{ܦMd$')SU -[Dq i~1UzŤad6_pt:SJx;Ciu0p&L ޻7i!.E-b~(L޻>VVVqˮ#%Mm<<@5ndG+^^;6)Ȏb6>֛LV˿ZT@ 5ԩ`Z"0x8d߾y3'"D6)Ȏxe4ZԩDٱ^)#{ˀ;t!FVtHv~YV"u*I;n&doݚ{뭜0ۦ Wd׬ k=JBdGCٰ6=Tϙ ɛ.hʈʒ/ګ-XuTj_$;z\.:L\:Dޭ#$4).R[t:f^Xwz Ni3gp*`0Zm]-Z!Q! _Z׹tdGL{Y )x+$; EBBԩ`ZaaabAv44 M TV(u*ƹ#D'.(t|hdF%R;$; UߋqVVj9-O'R'm|j}G~?HvɎƂ9W##} +V5='N8}UFՆ|Kv$;nݻbvRnR]"RTԬjjxǾevֽIT5EDD Q M TVIIIRrIes>|zfPZ=glgvʽh,XܼyX*H&)Cg/SQ_o{f6{W<>2c|k׿Ѹqteje)٭'=xlEA- ԏ._6{ԩ`Z"،dGcD';k&Ft;5 ; Hul;t@OJvu+옍~[3j$;FZ-׈~$V 1Jv0Ȏ/Q9ufٿLBzr>,߽b2%{vʙ6e+/ŭkvHv~amGam矧Ç#""bccan\\\hh(g.* GR ph?7oޤ=F^UpRRR`.lv.<<$kZ0V Nfff~zypo߾ NZZ̅{6BRy[ddd6, 8 ~C +^v H9̅e`Ip`-8:p`;*~a\7H8& {\0NӂPؼ;CcDf؈҄UKZ'wmJa=v}vJu/@bz;p~Ou8C-@XQbT"1g+=@RX/6jWֻ;=#o;qV/kW%3ӰV=Fi<_]T0->xd_LV6׼yxq_1}(u*K(dG_XQLV-c8Z~-\VV]b1l /VUauQ\͚p4d߰49/&{si4⼳G!Q .Q$;& Q#keFuf#Rp8~WQGsp4& ًJ%|wL)Wc6K­? \^Vh!d(iFh_peJܚ(d/"VRd=0 K_h՟h1액Mkmu>VH!Q*1; ј5J֭6EeRl|4>{І f FA [yOOYYٳ^o믹5khZ*8ni4LSAe֑Ф+e*՚d!M\F$ϟ@\ڴΡѫ8Ɏ_Çwu68o 'Q%QHvl_Ge1-[mVh~8 /khO!J'=-^N6ʉ}_^W8cYdiC (UCHv4?2\h47qC,AgK8Fj˧_҂g+R!eXL&J^iHv4?2\$&Ǎ { o5YV'a>߼/ٌ#(Kޒ=4t ɎOVdWXK랟/D՟xs{_|{5gMXA ō <,-ǎ!|&!ի| $&ޘ4ǍT3߶J9={F{vKAZ.QH_ gk'}FCbp=8_7^:d45ԩp-~7K!e٬V zXx$d<\ aȥÛ;d_fKҶ%~bx aCs}&{6Hv42 ;p©cm<ب"sVݱᲑ: +$$С"J /,^fKt:\.:7Nyjd\B e㉃dG+ eޕ d U 9:s^]l^>O\ 7 ~dRԩ`X!![u Axsۈ {A%&O6KNElV͋?z/:Y?g:M<d fqhEߢQEΛm/F&u*VHHܢE׮RRH֭ɮR ^W Mz7ww,eRTRwrSYӶ]w޵cj5j.~N0xiG&MڄzNj3{]ވ4;U(pzNjϞ}d a? j44 ޭUHDu Lw-X 4$a߼2:cل,a+[R7 ԺСCg|L^vcrWa3 tQőgvrd߱2eȯBAL&E '-\iC;9>Q ٙ4ri{OVSŨ[~stg1ғJJeSۼfQCVʙ6e+*n̤1curN3ȓ>.UM&VlTc4;];ejH{Ϳ+xv1tGBRؑfdd8H` ;OsVxL󎄟,Y!d9g! ;6o;͜uHVv@vSp0%6-6l-k׶g>t +s" PWNP:L;w8S>$+FEYoݹC^ #$ dAHqqq9+ܡtywpmQgΜ94z/##q=UոZmS9 3.lXdѣ߿?uN>bIII ::2nXp`T{vD\p>i(J8J  pa a.dB8e0R`JII^h !+- H8p̀yKnÑ\|)YAO|`E{ :Ydƍ@vȊS(ɬ܎a2Υds횩~}sg\Og=*}FCʜȞ?)Yp<>/"E.x~ QNv"D.];7j Lxs>>wXUm<,T7Vt](pܷonz{"k= XLςٽ,ˊ92bS>pJPZ Y|NW~A>'p$;:r#dZŋݓ~˖uCvCpA@0h~gdȅ nV:7#Y->ICtrgL8~h&/Տ>)?݃Sd=: Hv0d;k\@U+Gz,/p6UXҶ 2.JT0,Jvs̙#Fp+Nv ͯIɮr}Y ޡC*pתHv^4֛aၭCщBNHv~amQ߾MT͚ܺu9!J٧O'߆8=!t {Æ9&j V,[޽e/6!e6u>XzDO2;, VO='͘DD Jկύɭ\n%ݤE \ …L&F,#G=v(DO_VQvQHB3 7䂂zH# \ݹRWGp9%L\4CVR'$St *3Uζd i KvkJVHs!_&2}FdoKƟp臒W e0 RAժqIId m ?J od T}"wɊWud/Hz^TJeFt|{OydGdh%ҜeD&&YAv*Hv֥*VP  RB i'(Wه%/m6k&}LFC+!١ʗG\.OHpu2]Z^+j\UTd:lXVxernlHvwh4yCHv*6[4h%| ;Z+5>׻ y3|}@WdZcz.54߼h0 #\Ŋd4›GOʷ:)J: ʾgzul߾}bpdJj]EE'>۲XȰ/@] g%27m> y$;2E#مIP0e:ZH^&ܴХŢ~/⸐”W$Y!dCw?,D>LŸcM:f!_pǏ璽"!$3'N$S.%$?HFʒ:9J8>P&{~`wU\y'/샎ș4:!xAv];w"s [e{IK}ph[2Ɏ,$;W6p ԠA‹ e"%sRFiD**MGHv~ v-LHv44om"Rd J: S##FK;@9r+)dWi3d291>lXhh% Iѣ=m)#Kb6>/]t0;;vr@?1Hv~Y,(u*S@tA~ENvPo(~@rs~Gz&Hv~f^/u*1h ir ܒ+{I)Hvw(m0N?-Zu@VÖ;lذlL&mLL)3|P'p;Hv~x 3ϸsfa$D$+<]$8${بlf/G)s߫[LS6yvdZVS皶3ag3թ9%W|;7mQc5š!e4h!O:urOHvd@'*Ur-Z.o t[,F#u^VNTZ^\_WTl6+0?À^t߰dAg/]RB _JvY^#<o~PLtx *rY+QڨڽrjYU\tĪIeukS^&kҔ Sδ)Sug.nXdW魍[UP!o_1ZQ~ey[dTx"ͪI_67Gg"X=rhnʮG/;o&yd/[aWs.k}8KXX&99#aúv`.8ep`/ZB{Rs!UߧI)7QZpt\8jGVFGQ m@:!?þ84 4:ɂ8,GV~Ξ͜<ȎoFv /hgC5k䯿 C6@t0Xx"AGqNDÁhZP.̢D_tzy9}o4y5eMzrw03:9dW]f͢vdmjH[3_ 7٫viKr<, 銰AZı+Zʿ#)̿#);rXTYg){w><>YɎGnm7.WL,$ S)DpY.Ba Q}/֮ЃAU+OY}L bd.Uit,6 ww/[}X/7K+6 ߊԺww!;\〳 xO~/f瓟רM-$fcMtܱ-VG`vHv~jZS*$s/s;wr-[" e⓽sJEQ.?ydLw.7|8ŏ?r+Vfj_ -Z7.9C|y#$?Z С-RLv\^[C ^jEj/'+nݸ!CdG_z~AYeeqfrQQ܁9QKЄXŊ܋/rtlS* }Y,WࢣɃy \PJ7郎!eZG͛! +\\` iCSn‚ gs&y5q8T"`W;*vxvg/ٻ"SQl g)" A^BI/& >=ya';B2fw{҂l ERE%"OĔ)͍ M46{XvD#"6J[N[?c{7v4~$1WQz\#|'ѯׯ=65g X哾>oK!(MV0{!{|,;All,eeEl,`s8\p2ť%% 8`{h|Ӏ[Noܿ۶ gBDzO_B;6B(h(`drr֘D :f76g7cp9XrЦ;Γ]XǙ3r hԛ]Pnjᱍ";;^[Nmmmqqq3eeݻ +\O+Ϟo# i-i=۶o`hH'2;haFFe5q 8rҒ,@45ذaxAO9f >Ř~-B{Ѷ"fO`kC?- BP?v&7:'zCPEJ;7dG?N&efGF?--ksZHK`uc&y{:jo8,&Q &d_L6Ms+*i5Wbjj،؁أGح[ؾ}=*T*^ MjfyFI f ڳHٛbkڅd = Of1 ]UEe\et ɮTzɽƯ+j0;@At{Ў4&#zGG@u[5?bڀܚ*s>E3e Z?W0;@{#־4vZl^ z| ɭ!?,NY|3I.!\ڤ(ep?65?BOClߎ=|%%a "}443p~&0FS_-KK%dV]|[gvq-veW~ $(}JB"jQh4GpPAp=]|||ZZ*+uvS3qM9WƫaښX5ٻٽ,"Df7xuccbXp0yAfGP-2:7#r}s5F.OMKX>Rw]Vݼ=믊stU #7G#Gʳ+̮_R8\UUr/Aɭ=!@a˖oK@x}"ZmuMpΟoZWDX )O'}}Q"4F&d sufvFom0; .t5`m=}ciObͶmD5`v  ]ffE(`v@(`v  ]ffE(`v@(`v  ]ffE(`v@(`v J1{mQݛ^(AqYux`7(mm;`v@ifgUgt<^%"Gٯe0X 5fĚaקT1r#uYsUSp<ٕwL+c)0; ִ R_֘Z_gzkjB)|kAK?5M8sX5;SPkhh2?LRv{dKIzw[h@؊+Zjt:*ɬxl68EjQ=VD Q=Ѓ*VGjբ+<<`ŦO x 'Bٶ[^C^!o&8L/du"@sIe'^#بH֞>}\T eee)))X1QզB6?PTTBee%zz0ZQ#P-j=*CPRRjѫZUU HuC jQPsrr[&iiiP^^jڨ~*`v@8۶ -pQcg)`,Q~. 3eU9;f(M̧Y85m{T^dY~_HCUi%?=rw~+mømZrʋ,~:E}q-9r ieC`v@i+fab ]ffE(`v@(`v  ]ffE(`v@(`v  ]ffE(`v@(`v  ]ffE(`v@(`v  ]ffE(`v@(m(+vvS}IcQ m]lgg|{F) m=?n']og@:MmfGӱn{bʣkMS`v@if{zλAJ^UM0{{gu2WӚX6~smbQ5+?j9f2 BfIc' i 5ę4a~݋,;q:ɝH$.i쒲יw':n߾-hlĈiƏ' mlm||dHGkb1qˁ' *. ^p2Ude-V[[Kgv:}7v1{֯'m[ϧFFލ CBzz~O K1?5?g'LED?1R_sяUS}Dt/t-ri9111w%? _lzhqM`b}z:0ӺаvUԃ^~Mt/t-rrssEZ>-'###88^Ԗ儅\͎~NB`LR6UWA pU_U&ܘ*l?$m ̒NӯCoz}Vl>VRKHBx}v]`|ȦSϡAV4jɋ~2if$ܰSN{\f©=ylz3 4}%wt}aڞY8I:{&yqX\fnqf vZvmٹ+QO&?JI睆wQhd۝?˞Ǜ[vZ,FZ#b!^[0|?QJh6$qTW%Dfk)ۡfgӋf'aK; 1'FR!KHK~mv;od2/ux()U:4kvzo<===5{E);JIJ41;m sAKhy>DfaE=1ٮ"yEq65FHT' ktT}]u31krnYY&"Kvx _. s55Kj[}E\? KՇC3WfW$|Ȼ{UogORln 4xuԂm<^oXdž$g{Ҭî#L/Ҳ蛌('"`cLzOZRvjey;}^|Mj}_|,&?1IZ&l(2EpTd^̰+d5/Ia%ʹnC\/ά xaVU봯ͼf|I a |i'_Q9%c:wRV+{٩O~.{qu?m$$WJpGJc}?8-*VJ}uS>\vOcӊ>zU|{qtFiTs {pd}h>9fMA1lZ]-gbpg\FvJ-Q:+sCs:O0輤ܟUIklafg؍d;K\"}@!+N(u#]~ši>nΊ ;&$:kZb1͞wZJ|-Qב-zZy+~_rj=~'H]qf;+3u,btO~j_Xd$Y: ?-mp,"ĆV:?62LIƹc'5]Ht2~N>P>5JTb| 4u`PQ5^&( %J feM>êMt*fh4Nx&*;Ֆ Q 3?0^XPkJB^WHD8LDg6>'4ht8@ @ @ @ 1OSN si}j9էКY.Ҷn ﯮV }DXzˍ?9 0/\&먘kf FSϫO5֢ԅ>FSQ3bn@,gX@ Hi) SeoTgWSQZPX&=Lլf7=r IǂKVɳ6o.U64ا'z(Juҳ vf9%4zMO|~vS&d5 '5?A72g O6LIk=j憎v$$TT:a|%9y`pgM2s(j{.%nz})7~/.}լOEgg}a` SSy[OT~Z8 -W;Y βY>Gb'%QVoTs(=[W354laX6~:"КYqV<O 2h)Vyˢk<0tE.sQ'۳vA_SQ%!^Ρ&yG6kO/ƛ6d30pi&[',,fٸlʰYnU<,xZr3LMZ*UusN-4ThܒZb[g~y5)]^ux1WͳCp񾏺6nvI;arL[gv.;>{*N* $X beYBˁ6^hj1uk) @ m/|kXe'h- IH#421c3-_ae<ҁ.7^^=F]^fH3tr 5YuG,+>μӖo^̰V̍ܖ')wq}ۯ!˜Z9\h3[f y<`6:>0WQwd\qt>UnLrM$)zv\U|qKe}:gkKg'HƂ\42;,*4m˅ j+[΋W!7ٕu`Qg0aUѓS[RuH&Ӓw]Bfq+ -ǮyYRW?ԹןQtXUzgX;RY砧~g塡zOX]Bk'nv)'NXOXfs ^sXӴ߆^4\hrzm ky~TU7Lѳ/cl&xr7X(l@ ??|kaޑ2٥:?J)?s_&/ w:hy-u"Ń8UeT: 1ax u&|(ٮ1pi*O:|UZ|iM'%}̪6Jk057ڝvj!+w륫a0pIR`@NVh<*[nT$>1%;u̟$/i7\*{F6}C6`v,|;93RC~ْ[ \e&{Eṱl"@`χ{t#GW曽^Gi>1?"_ 3Z]>??7{a$}=MM0zw*O5}*C r 3͞[Q`˷o^?}%o =siʚk )1T7{߹*7UuVP_[78~f̮g\RٳGw%aRsʫ*{Ɠ=~ava Jk2d{ eo}^8ʰYn~C#:pz2dkZ2˨ӰYǫxX'Ԕ46sЖ^b/s^_=C^Oґ]t72;u_n2 /\{Nifg'5\ 2*젧7CNK[Hz33(u&!E=2SQwRЧK߹X^S8,cg9ЭK'`쪃smd} 6;Yh8eTp5;Zsӊ)JU n;%;bc +g ~5{=cV3b2s=w3Xbѳ\z]f/]Y|>ou^Xeie.xj)ɫVۃ F]%/YdM"Iyp5gʬ=WQYѪĸZN'ĕ%kGdkbHjË:&:#b @ afG&`,$;rRT7TI$CUdv c9~]L0#F$yܦfG qǘK56rS$I_}kܻirfnj+NݬSv&5Dfnqu݆:oe7p4^T~#8eZ]{ߋ/KՑ$-ESHIJImrVă :nh{/mTG8jYfO9I~\By,k2,.=A)8-Q5>Ʋ cB Z>h̊>/XObject<>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 57 0 R/Group<>/Tabs/S/StructParents 4>> endobj 57 0 obj <> stream xRMK1/?c"l6&RzCAA-ROzgdK `5f8h\cԊ$Ziо`xr%p@.EDr/^d45M=l:6֡ͻΐP[G;k^}ZSE|Ui.*H2ˠb+Tc¹bn i:ph7KUg\hY_ɗn]J$"I6qb ǓۯIj9>)3#u&ؔE9 |'5Ǣx6"ʽ endstream endobj 58 0 obj <>/ExtGState<>/XObject<>>>/BBox[ 0 0 1007.24 453.01] /Matrix[ 0.071482 0 0 0.15894 0 0] /Filter/FlateDecode/Length 3299>> stream x[ے5}ؗ.)nu7<,,ƞ`1c̴]R*uGDRGG)Uӓ]wꝛCt]sӓ'F/~8=QMF3zj.?y26G{e6T{]{{6ҷUfwݪy=~ںݏp_7VW밻O=d}ӓ/umC팓ClNMpճov A^TMupzMCs蕞`z֪݈2 WtɳYK|{6Da{iͶV'n7U?u>vi`=<9!p6kPw#3%qn`&1@ϟճ' K;/ĿF? J<dpzz^73`@~D!_V?Ԙ߸g▋Vk"= Q8s[&M@b="neN2m4i DM-:S4jݒ^ {Qgo bzxv-6?l%@fvVy'8D%Rԭ|Q\ 7HlIgܘY!_l%\.6+ +/14y5 FwjSx٭~A=͔I$l۶sf BĆczX'sXsN%WY!p}> :NrgG1^ފՈ u587g(l[O+!ѕf;3/rbs$]$}t`Բ ˲Y-DGD3\AUP@\^}x\ÃRmC>,T$/Kl^u H00F.EƉצjI e,fXaJds)!}\X.r2M$e%^lF)ꡋ@⹛0(mzͰ5Ҡ jyr"rڜkּL#̋+hմql@OV\;[= |?{U;t 9`#ػԗ3ԗwЍ67[rJroC/)K"Rwz-@d4 "6d:Ty9|UeglG: jPၑ4ːhԊ0opPę?z߾-oC>Ø|H %# r^."ƋR|mJa]O9iCdTWEgCJQ^{u |@4ҽh譼 ! Mzޒrăr[UcJ$c0AU㫈; ^ $@y!mXNV,ԕAE9-(2Qp[bDAܷVI hzf7^2즀yMXEv}$ޡt%s߶g3KVi?Aʭws #:hlLl[+H޺h:^ϯNl/i ;:"Z'Λ_Q~6aioXIw iWF\Z >9%l&7ط4́v{=pND7kF k;5Ȧ:wDs7MMib&øH7BogD%X^9L+> G\ByӐ>o.QE\e^nYjxm}H~A+.H5]4{Kܸ~t&q^ڼ;DGU❌EĽۭxWcT2&|W9$t/E/ZK>~ſÍ˭∆`L$KP¦͂2 ,9Sn %a*$w !6P>=Xn@y+ZͶEPHֹWj "-Pbqhױ|,',o(|xK,^ 8y1 %z+b1i [#TыM@⵭ ֲ _ުPq5XHFZ`8P!6r :*lڌrEDuü /%$23B*`KR ;gxKP@j/-ƁrjãDh xY9чRbb8R8M[ע1["4m1-@V }(60[l j1[%["4M58V M]@4oЬIC["5@\[" y.-(3h"9q-Hx6Ogo Xںς JA9ޒ ,@9ޒ 9|)@s${2:qNܨN>5 tPf*>a|Ϡ{^}wy𪉸v=8WyC1# endstream endobj 59 0 obj <> stream xk0Fݖr;nWf9 ay$T(=8B v.. IDp.^K0W$qXw:>/m*Pf>ך>Ocx 3}ZU7xqH"h=}l}[}SsMි~?U{<xk[`WAA[`|hDsctZ3O_w`;CD˧8khN xz}" CA[ڳc>{@OILzGDenwO|>]s@7$Q_E -Gh7D{bg<'ړD[DI -Oļv潓qۉ::I0(Imb7{h1gDId_y=U6^n˜xʘ}V\1Nb芅9e^e" C,$B,$B,$B,EhM7%/-#rH$D'z0)La SZey"}b(%<͟}IpMڹ$ʸ J6iP\ICF%ZIQRK"|(Z+z:JCqI$B,$BP|H6#Ck%VOGIq(.$xgbh()%D>oPR Z=%š$d!@d!|(>$JZ8DP3BI1VRktH"7zF()6yӫ()|0\D` pAP|H6#4'ڄbP\ICF% $'İg@I1DQ3BI$1()%D$b!&$ (4YL_?$ (>$\cxIҤn'|m_U$T<'cn{$&3 )>?!fG-i11(.tfDP=M^$$ѢW/.T8{DW֒ZdD8=IAi8zeh!nAnυ%ُ*_-zKg?nAs:Bow=\n>sg'r|-XlF lhI$9qxH;\b15SQ\WqP3R$_s̻KZ_$PLmFLBp$Q^hl@qI$=#KZn^ށt$YhK(.$8D 2{8߅sީYґ !!ǴV+v;CKI"h BEH"g0Qw ȇC-5HvDP3r$* (o%D>o8%r?s$ZrAs1$\D$ $&(ݨk.$ IC!ٌd+Iu=Ot˄汝%D>o)IUVɠJ͍ڱ%D>o |J<8Լ͍ڱ%DPm*ҢSC;ٸAH"(H6UٟNc,@ Mg񼨙 \nGA,$Ňd3QR6ߟB; o٭p-H"7zF%f*Z"4\琈HrPR $QioD]/9$bI JLn6$ׂ~ rV B⭲~4TVvƌOS|Vɢ֒H!ٌK wP(,Tm!$ %P<'~$jt3"\sRaL@jJ ؝C11D[I4-BENi@jJ\12vv~gǛ3i- ]Y4~X%x0wG z>l̓$@u,ewMVxh $ z$gSN1%kͯޟJi]#Jm:>˔)]&2&Ѹ˸sq}ԟ*b˫wzN` 5%Ő$gؗD,;b! MU*ۑD(.Xxg$jSn K*OFkIP*)Voo0lq?$ѹQ*)VoGԊ"ܨlDDn$R|H6#'j@jJ G-DHM.Iq<'Z ΕFFIԨ'Z ImU^UbWp BDIuUkŦmS߈H Myh-_*۵bӶ9s_(|$&Tka˦mSs Gn-QQDmDIf:D:RGyQ\ϝֵ͔;'f7y0\f=BM $mn91m0\׷B<^S}Hv&cc47>^д9$@FFǑW3m0 b A#($ tH#(%p?Q!H@4rRg,=$m$&D1(.XxDz@H"dԥ/u Qcl $f$AqI$ݟ=mϣ$4Mc% )_8#"71T`̨)O^>D/ҶAE|obQJ3><2pvȼ6gH)-SyJd</:Mrv.9#iZZR|nb؁Tw8 '&w}龄W$AqIWq]~K#ݗrF:P ^QJa%RR"DDU(%m~+Qs% (箱~+!yMwIPDW!WAA;ǵs$vX*Tg,T$[xg@쯛KZ'Qh_FBs@uI$.P}KQkI$8)](<s5 p& ^1U;^n"^GW,,@X'e2µsy!fˣg$ 5[m?#$Qx^\P$A "6TΉ bA }"j:wDϒ(>)$:'v bKgڷst$~FھvCL cE!>A G祟#fB!nAo?0I< S1J!b_[N'Q+gh<xܧտG#;^ b]?&pHڧt9+;T" 4FIt1ž (Nہ#WD 1 d`W钒(yZPMy[0HI[%8Og, =@INIyȸwAJH"DiԜ).6'e.0({~akDFT $B_|%u $"`8͗9˛mFDi݁@\z% '%*nDqiV NDNDXփ Z'eٽkOD1{og_h*"4i$7ughQ޷A*A!b=ƑsMmq8:HiAIw?G{U6iMaT0I'PeIsC} M }#!"53BDJ7!"^]iIdq fDˣqDCDTl*.PDDݦRE $BD1YPH"DD)c}CloTI(4%Dݒ4=ތ"QFiv3!;($BD1ߔtD~L?1E|""ʔN;N9#CDD }p"bJSjQT;Oz{>D7fD2<};>/{M$BD16Dֱ73o#u$eE~""C-7EqG2Z=%AIVOGIq(.D}~ C+s7\$Z(9.;IdnPמf]BuR;R$d#?mdMHޒ$4q,$y[ڕǬ!TWْ@뮢_MӅ"ER$,Ix,"9mdOHҺv6%$^P7cu_ۺ*ZԵ.)%  $wIcɵҸU5@Z4;Xj(cWwjKZC@mVf )V˓H6jc -4Q@rk,5rtyw>Zѹ?#Wрeѣsd$?*2Y@Z$?kIt 9%[i|U\ǫz9(iqc UIMAZr#9m*Z$>N2%YH"$YH"$FϏV#p={qB5=Sx\)/qZY#s0\٭wu-g~vw]z[gYdG[69Q_3?Y;fv2fD~,nܗ_޳63fD_vZͶ>Z}39A!H"h> ՖgW?|Wcj`fctWI!y-?eWKqkJ(vK5/N$Fq'>cٻK 'ќi$Z݁JwȲ{f\}" AAx>_o'wZ()\"nIdYȘlѹ9753o$Zt'Z A!H"P.;HP1"(I 8D 2}y'"$B,$@0% endstream endobj 60 0 obj <> stream xxvQQ"5"(RQ&M@J ((U:BU]@jBIr޽96w͕\nyy۝yov3pqqqqqqqqqqqq=E qL}%>@^7޸v?D~DdBgbR?m臍zm;]\7oq+W9 jҝm<]LAq?ho{f@u_Qx )aW^v*|휭!{wvuόmogdkҒjW瓑'%FmgMЬM<͉sз_u9w[Anʷw5͏ߊ]$E n }Y.vrBFeƐO~ߧ˻󷟣k>mQBLp2'@~MXypN}/ح#^ϻ{}慗lBq{`O6fi/9ú~=c ر˜< &t[4݋u}jsB>+9rw;&Z]|-it{7/- [}r-$ve;M?h_~ȯ{~g>oulTm 7j5J̥i$=zŪg}N<5&B߉1'uhM7u;EسEk蝰ު5:UEʉ_OuhYQ'- Nj̭$+azBUsy⦟^ \('$wZO߰&UkݶSGt/:{mQ_g5ӊju~7o2!s*;.[sUIȍ[Iv__vJ.CzRzw/Z3>5'֯T ȟ ٦C^N.'=<6c;w83;_ׄ/yk DDuSa{V ȯ5|PBgi<UZwY/@fUVtBKM~=5wTI+4D9u;ZnИ*_lY&!۝~;AQfЏ&:JHl׫:WZ#Ru94ROgґ[-?\\\\F! iYwz`ߖ-g;4nïxb۴>#ߦK87kZ<#B~_ykߟ&O5f$#E}||< SA_p5)ǎn{YF5Vm{ F&/W /H_zS'TTyނ52eaK?~RO޶ddxЕW+ u̠5*VL]?%;MU4z'Α}U:SpvoKNѼOW+{]߿aւB~Ά#>(U*\\\OZׯCM?vkq&_@CTl!~9cQI-yaƀkcz,{ߤwj="-6A>0b'M핫ؾkGzN>1:ȓju؞:yTZθ MZ+_կ0ͩAk}=Jk_ Km򄨗MUMm[Gh{74=/CzhணKѦɲ{{i7?Uͻ [vY=c殞<$)VvբM[8];VoKHs/㤇rc ]Q-mkWG}klF`f:kvh>in^9E(ܹaͭ$ Sw}tF)T㽏{hĞ|͋V>P"<%3 ,}t Nzh uux -_羃XHޕhTLңqM*~PȞE~Pψ\2!Hhkv.\88KÄtR_lզt᪑r>vQ..k.zt;~I[:vS3)-^y2'ƖXF.eik%\LIsx\vƌhO\\\\\%!Ma|G@FA~ khg\\\\\ 7XM@>=~)s.ѨG{Q!AA-'GxU{eLˬfeImeG{n|||nnR<|6qqq**---==&$ό秦fdd$%%`ZNIINNNh4XO,geea=~6X6C a%bFi!EԱND9ưoQcHD_c ILL,XVv2&f1Z3䍉#obddscb/N2Д1Ș9􋓌14ef1 'cF'`Qc4s$d0eL8+I(-B>-Vuf[Sa  Yp!>cbb`'W+,+y,_`%LDV`%+ XJd VXUr%vD#Bȑ"cԃư Vb{ľ3F=b 1XҊYc2RcƊ'4F`'cE$=#krdC-}Ef͛77KNU/pqw EGG;ڂ+$hƢ5[G\*wlsH&K_ra|7A y6Y8& $]/TQKt cUz̓Ȧ+*Jw9VN.$]/>hƢ-v!!6"bխdGBp qWv;څ4 #lD6]V!VK;X;څ.|\1X!fwe؄|pp0e^Tұ[)0—_+K0%P+$$.$Adal^yM"qW-we؄weAda|Ebs.we8yAdaW=5we{.l'^-gVCe;62_(Wl鳙]ܕEb|EbsweJAda Mcܕ,Ƹ+&###1ԵBB !|%&&2اhAda ޺mcU~~] -:;kb 銰 dk򹹹lG6/+rhBMalD6]V! 䳳687|2xw&6\޽^LlBufG[Zf𞚰]ܕRT DEiVOQmq\w a&T*٬9ڂ+[W[Q u yKUf]}Msqqqq(9«ڛͣUg]f5xZQQQ˖-bO׮]S(vaO7%**ZvWK]hƊ~]H̓[OU\Y~pVU)ɓ'Ǔ\l?>z.8(҄|~VRv W{7lfsMbb"m999yuN";"!!Լ/\2rOHW(W v&j46yKUB 㿟tcZܜZlB&䭟ޖ|qg;&WK}++6!ꖣ]H̓Ȧ+*|7Z[8ȳ]6++'8EEՃȦ+*;2{B^n˗iCAiQ dp\wBBlD6]V!ʞә3yd7SߗI P^/s*+/+'8EEUV+*#""ɣoڞyJEdgg7؆͙cy[*+!!AHGl"B =!Od=CB1+W%.&䃃+JV +WL8Z.#lgΔAes>y6T&6]V!`'CYpjOĘq;*,&vm<obL,GņMx'c|| &$aA>FғIKaajyf@8銰 y6k}=!x8/l҄Kߘh%`>v!!6v銰 yL^T*խ<@^ :+Ve6lD6P2S@XW( 6נoź!o/NG䢘|Lyro%-*b\$Pj4(3'8lF [= gh+6_z y G;QDf -2Qi\]rm*ZCR?]jy R`m>hݦ%w؄<Bi 6! yzFY yꓲ;V.!AHlV,WN˾g'Vz\9#zO]-K6!`$^*Fo^-(<" ߪ4U*atE5 |1.6b+k53uu+W<[6xOVidVYY- 9ageeY?(O`_@~ݺ¯~! G}s eHCߟxyY ȢXm<ҕU_AAys7.N(W <6S`?WWN+[l.#"F!yzنYyh{dۖ-[FOwwP@,!!!>> _vL:9CPPPnn.n0<3UQT(JRPrrZZZjj*~+Qx"##/b@)C9<<7IIIL/K B`6L6X1𯑮1$mE4^i1h,v2@^4zuEOGHW>~< ({C"1$c0C8L(/a"pa OWc+W*`Pc(*PhLc:cg 1ww@>U+c81maӸSi#J8-Y&SmK%l Dm/-Qc[Prca_K~]y~o`L[Ω1_h9!QO1ӞI1CO@#cDuo +1 `1IcȽbd(j ǎC13e ez74-.͛CFGKҠ{9vX56kOnOZ?dTF:r/ny-_7hBwR|-fĦ+*|Vl%J/_NV}mR^2g4y\D@㜒6^%FԴqHr0̞-^ `&$2?^\w&޽y䍦(W jgSj؄6ߟL,PݻPK_dRaa(@^,|ff 5gb嗤{wJ_-Do$4Zi6$ժ ooD/~ ;E4'Km2?Y 6@HOJ&|'V\NÁ'n ȋ-|h 䓒lgs"﫲UlTxJNɲKgsJeaԿ…B'ҳ5kv4P@#Iȃؿ& Tt: {]F0iya`ƴi1 yWW$[8ԩ0P~Pw^@I{ Fܭe vatiB <C?a% Ɛ/,EC@pE|@-ZcM̈́< F=[=1;;DU ȋBBay%!OۍN^9}yt3##țʄ+4іX;@~< piO"?kX;9Bbs%DG;-wumK(؄"+Zm2 y h;v !d t _X ys)ȋ l%6m-˨B5=mE("nutqbSk'7~glp"?/WpO7oӺE;sWl^OF p6k[SM֭e%H*s(E# /<.Lm嗍-qMTnɟIKẄ́<5oO)&\ynmԜUA~zlVGTgF]Z[·%ȯ[d` NJC(@МLKޑT\Y7-K$ya$e-q:̥e9GbM3g ң|;ҋ/«LJ6cWi|Wgy8lLOLLd*Iһ0VtHeF#dH뎸d(M 8pgIggs T*h48BBr7ԎծR܆r4л-[~:|ݍ79|-09[u&!e˖#Fg||<.#$$dñ$ BMNNpC T蔔XB ViiiaDቌľ!&&I4R___x1 fQ!BIc0aKRADEE!]IcIVqDi|t/_R*m35ȆR;tzħю׏>;^KHd][l3i]hkkĎW+jOd33l*xHOR+)ܾxzNRJJ&Ks8U!: aaB9~qIM^I3P؄c0< 4t Y'/ CO<"=)C :s61lBi 9u9PRݎ7B0(W Ok`syhXT|Ͱ24KC,ғҐ57 U%*.6!ÃxPwS {4}BQIy_# u#9;A؄'Ä\O؄|pp05yRi/;!<0֭3Ubccl@M:WjUNJZ]a&}SJј|CbCZ(d'??!3Njb[~}﫩"=IC(C/i^n>.FOVu h|VVAzX9{C N/ZlĔ;,l-X*GVPAۏg_)3J}yzlrn4e\&܏slϱ$&=389y"M k<fvtUزlF-y[żo199!j CNѦ4kg H-_NNp`q"nnEYȳy&9z:WzLfu7c7$no6pWʸP?'>CCCQQ_/ ɉKLL̤ ͍=fzzzDD C`` JitttJJ sQXI'CQA|m`dd$E <'NFgz}6"=IC(}lߩSww^){9Aֵh%'>6! I'VƏw<+xxL!,UcOPb7p yB`2֠Jdz4B>))7C1;mgMV*<!CM ˜lB[W`>Xymggg3Όg"ӦY*qCj7XK y65jCg:n/K7R슈(vDDl07ԨcW,`b D.첽"(Yvgn< wwf3=Ν[RI2x)S *xa wQczZ֞kltLala)/**Bsѐ\Q9jco;gƄ-:OՖY(j]/sOM:,eh.XTi5o̙=}U iFBSRR?BM:,evj"j'sfM`yb@&Y"qFGu50r~6=&0^RS㎙V! *((5 &YMT-uE~w|ĉܘh"P5cV_~Izt=`OnG%F~b\vMLi];wڄl&O̙Ս,Vm;gƦ]R LMGpzBWߏ\d"0|gPp|偦?TMF-ݵpkM3O+3E^F2+Km*ϢYC!aF0 w 6yݝХ P]fgEaZB9Zs r6&G祼4Wf 4Ǹ|D]4yZh|Ѡmp-P7~򅅅L(hv쬚*vJ[X<.ë`َE?[o&/fwh*HvvMg~+ϼ9` :+4kЌD_UU-ܴ͑cǦ.)R`#sҲr9GG]?LaZsTܦoME͛5??B5BBG]qH?֖[A*R+l\{pvF&&&~:Pc  &++ޔFa"G=t + @*PX8VE VuФzhKqxu>̤Kߕ';uXŭ]+w6E˗/l6|>4SK`B NAݏUTT&TJnn.R'qC8PHA @*|  G]hpLBwC5{dt08 " Wȸ9` B%HU~xm(J1RC-]AJ*DzNU~T~S ^P@awQ¨,Wh`ia%PeapX8N3+cgPXujsOK|V;2),}\xT/89 WoY:y֬N+ 4kPO>"_PmXY1n5 '_yԘj)oꫯ?DݽKG?”l$땃ɣɁ:ON̛f͠!+CUCY@QY)^52yg1ԙ3|vm h<ѐV°c:CC9,j+G}ܝBb ̣i,H9|#Ⱦ1 Hi(`jP*ny׭7բm;tayE/ >2y{%Ǟc4 u&LJ4L@$?BMRёe`D!f % 9 <3yWq2|MʙzrfGz9awgBkD&߫Wq{{T{f y6y0y|@bB&? USi{M/0dAh=n]\N>M|zg;%'I*~ړV&]ݜ{Z|X r=}qD~zNwq-&؈W0yȣJRaaAnL*(ڱyOa[AJI|<< l#^+o/[F)ѭ|a6%U$WK,;VlՓߩ.4yKhcapƺuɹk1yI >xIUS|&m+[&{֎8$=֙EήYkMg %eM|/hkXR5 qMîm*QY0bq늝8q"00^SSS% aRZ.L&/((iiinQr\Ւ Œ 0d nXS deeA Bxm>|\T*(LP(E"Qaa! K`\a麎p8\a >gP+`R=YX.TԬ('NDD@ @j C !ⲳ:Fae/J WCQ@>6P˝| 4PgX8% ោPJ[VRZ^*2e0ׯ_'$Z2qSi7oErKYk}qNϷ32TI\Pjb¼'`0֭[6O}|.cb2' n>KBHxi77~XsW0=~A_xDβ`I 톦3^/[ W2yH6h< 4:Kxܲa{ eZ.`&M(mmH.>]Kf!%}rx̯]S5i |z:9{`&i Vh@Lf͎UPn{)/\0ð<*M U%PTh:0o5ש3 50@Q%f]KN.c&~oUOII;g p)3gh j5ՙ 5PkPTMJ1qd7MOOO;& +xD\H~G h"P5yrl1~<J;f-d&5YHJ$ie<q9㑎YkY[ȵkmh 4 9w&>TEjp3Eיsɓ+LÆ:CE7VhvDSC:vd>11+CzM-)Pi@hW Ĭ 5yZܘh"P5y0}:󑋉YIR&t`ɧґ߹Ct|bbVDQmC&f@4sf4U<-Ǐm0gݺ+9-@M$il6ۈD^,&fոgB,4 PTEj򅅅4yP* . " OZ1ܱP~FÅAhvDSrۓիb><11ϩSZm| ;ͥLhP%{9_g+oR?m8r)Գ&O-X=!i߾nHGԫ|`bbtZ̤>h>6*;ţFI xOXѣU鼽F{gh|D(ݛh҄`42y ڲSNm;/7VErAs '>ׯWwD4m11+f:D~d#$Z;TE0hSdmߞtu˹sɀpy &/ r(B(c)0ɫTDt4ӧ;ˀCצT~9ġCy&hE TETZB,.$Ǎ#llHzx0_11k'MM)+굷нr>LK(h"*4yw b8AvY|eCkk2T=9.4UhvVAQ7ߤB^s67ᤞcbbԩƍ$Y,rPT1r^ji"S|beDq{2 E`^=yswoOb4bV"$8{lރݪ!==HG׈#/N{H_C!7#;L"_xĉ@ooox Ί`abbbV`رĈ-[?y( E"QFFVMJJR*<O dffj4(T|>6T*[|vQ(T ; 7zI7nܸ!l$BRȲmj+kD{3yLLKH-,ez"W#`TDZF$Hgi{[;^}56yLLZǧO n?GEuwp3RW06yLLZG# 9)`Ĭu4ɳX, &YhG111k`-cbb:%i`Ĭu4s8 &YM7`bbb`5 %&&&f & YyOk g06yLLZG#<S W 111k`[4&Yh76yLLZG#< rW/:gڭ( MaOֳ6yLLZG#f/bс… d/o^nǴ6k"dMjIzf1Egn>RV!>|ȴrEĪ*0d44ATh^DT`8ڽ)~z{vb{Y^jlaU7j}ϋAFF˗/VQмXUôP(BBBVQмJK+4*i||\Zy*EQQT^^&P* |FOoph|>_$y?FC(j D$$Ut*jBZ[ZP "MyYp6*M"HdJ)ΞX*SB*){*]"NV,"Zy\$j%r Y.eZZ"BMP۩"(֛Y}1z/wB\J:\A*ʠeNV,]5E " 5KҮլ"LI^P>YBZl}9L㾯ZvwןgsڥgiJ;v֫KǰX6UV v3ku+eYg7ßgx( Ģ1PKػ_>?%iSUmg%wg:ީy@iOsf[9bgԱm&gAO+ɳJdwaE wtg+C@_V\1OwP*yr[Fg=?mV+'Kwk{s}>Vn>$zhc:U%<8n*68CV߬ݨ6-G"ΘZغ01sȸA}lNom߹[d EPhڸ{[ێئǥɿjyl;7Ҧ&l=R \ɳ>KHZFRZp_HR.\Ffcݠ\|Z¡KtWEZ { Y@ՂCl"n jǎŔ讚Њ=Z|[#k/2߆h;HH(ƭo~`b9zbӨV+8]4&U|o&5&lpDZC&'Mvn@GzxvhP9n[L4sȴ 'e)]WvյGF6ɏ4*Fˋ _|y"O:{jzoڐG^7̛*1 y1==Ja;|Ȍ-*Za櫻M~ u[<}+֍>s:u#+h;{ɧGK6%Vh"HBἍ$ Jp@7iSng,()=-5O/^@% q CiSE=.,2?Nu4b(~x`WIi؎e{ϓmYyTдb(YǏ:bzGf?)Oz- 7ہKE 2.= IF]Qfd)c>vW9Pb*њ_&Ersz&u׻Ibq1@&]DS֙]+ |1<\ߛ3BюӡֳqSĘxu;Y|z﹛G7/y"q3r8xzTa``````````````````0Yь*O@G܇ nڨΑţ:fFƇ ,(V}[O^L6ɩ[Wǖ΍ w oˬQHMp94W89q=w'_ NҰNWS;K';zld.}c000j $lL| Q/IEEDP9)a#_UK<NfbT ??-444!tμocGFS= _û!7+9:.2!Is2ŸŲbOOߨ=oY>i'I|4-HG>~ȓ(dr^G=^2TeZu-]8n8I(Jo򩏱<{#-aʕG~Zc+YM_~~™Ox8 j b;8]<{PYo8~_ߡEûv&<&{:od>mbۖf/E &okgȵ}0Wl/[fr$V-:.mi߁?н"]k^\ײDzYЙ|7硞%ЙZkR+~zuhc3U&n\#f6k|7epo9yϚSWX0ܶy0[b~?Wy6z LwmڴNCsJBZШر;5/ (o*[yH}a);GWIڡy#NϷVeH)}Zq֡@[\2:C4 yeyΖތNCez<+A=uiIaŠMeB&ZVIW'[t(` 3Ђ;~ӟw7wk'Yu1J_nպH`!reYW&4o=uXǧetcrk;/7L*74 *1/CcrM=ԵzuoS]⪿Bv甇L2/!zx nG珬7g yzܥ-3tl:y&)хn~{$?_s T}%WSܴmz񄵑6ҭϩNio{[D 1nMsmI.%S^;_XR}ͷWI8o{(`]dלEf,;ߒ4חǩ~NI}_ԖX4-Z{wxZyE# MÝ#&Ip !)zbҏ7T$59~,Xm"˩ehee::ste.n1IcooikE@`|_:J).9RϏ(G;@6, 1Ou,@\me$$zf4qۇ*8Nꆞ%-U7nKv!U}/FxژXXx՝vRicgg^-K+F(#8kzbSL}sߓ7t<{pڤw(`Q0 F(` Q0 F( endstream endobj 61 0 obj <>/XObject<>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 62 0 R/Group<>/Tabs/S/StructParents 5>> endobj 62 0 obj <> stream xKK0lI CbAd\MLՆ&ɹ_O/%&m)fj %%" PNn,WJ6iZQr[ݡdh.3&]EyHExǃ?@G\uIX(LkxrTӹVi=e)\|}v|wkV\NZlvSR .6e:D/Qܨd Rx.(c5]hx*cH]-b4劯 endstream endobj 63 0 obj <>/ExtGState<>/XObject<>>>/BBox[ 0 0 1020.75 678] /Matrix[ 0.070537 0 0 0.10619 0 0] /Filter/FlateDecode/Length 3966>> stream x\K5OK)YacO363c2SJU=%.}JeJU#v'Z!N %v]߷.=`w~|t]SUNN*jnޝ9swKh}||FfrUs"^L>O~mNzvύ.UԼ ~/ܧpٜ 3U㣏NNV|f9NDuo"ec+u"ޛs7Ubľv a! Fi!ipS=!]ETр s7R܄8O*B&>o N1ΠQrz>i(7jءo7'{d],u뭳 !PMh@◥q}>N2|NrڨU{FSDyh4 2͵R/Ƕ@X.! vaSQ}[~|/p7 M3M3xC;?DܸԷ gP=ÆE&.!D1_bw3tP*sWG?2"V23͝>Z =#' %a2^42{~=ƠսD7iVH^=]f1J.]Oyn0 u򐹢`@!ʎ#N>ڤm`/y rKTSX'ԳIɱX(i N*afq3UEGAl\)'ҘFJi;} 2Fd gI۰aBޜlY<zⰘ0}@y :hXLl+dJP5X`J!rY?IŀLG3Rp_-{`YBaC͌j2W,'lkmn>NL{(Fʄ% ieA .:Z3bfe`adăHκm8յ)*'#Ͳ4MOYf=?r޽+iJQ=1[5Gnީo*7=k_mMѓb{^cm]"lV¬lYjg:':Kw%5FLodm;!|yws獱-uw>uOTwPw׾w6s]sV'vR'eqJj/n:5I{J_KCX=1 }^5j:˕}3VmF~ƀ}Uӳ=qdۃϺmb>wįy{qX?C-|Y-O6ZoMLv78'W>r@]vVrk=Ymv/0[-zۉĝѰ܉rhw^-> sFt{3xƥnd 8_RuFanwC%O)a^Itfiw(Pc 9*t9r:)b|Tq.?W1cvOw=Εi}6mR`G|FUWY &kuZ\)xxAםEM8N"`6,SuH#`K,%mv?KG#H:O8˦~3<@Rff6ԕ_=<s<N>)ұ8{z^hd8g<5D"Kt#&@p',?8-\^imȺ hd噢-ܿ4TdrarNRFzI僢tfaލYkNը/[X@9qu#JHsg2$sS~۬CqЇ }y i|SFCݓ ͗pG& 8bDQbnRKVxX`!+!ٗ:3^) K#h6d|j:IJ(M&9kv, -U#oZMEi6 Yĕq-}0r0Ϧ<Ŋߓ}Hza-R;d}G=Fv~V| I6B3SR!+NYq:2KoRc}Ys5}lJQhM.cs̟Ƣ~/o~`9 v}cw܆mvv%ݷŝ9%<>z8r񜮴CDSGGsl/0B$6232 N:DA 2AwPE (M+|) e;AI[Ubn dL9 s𠪢tR 2[8 q:L/]<vNdu%I4p=J :PX3?|h1jF(.BWE:T\;VUfElȊPe!  "ahH!VE{D IDGCB$Bx'2[zIu}fIhν:.욱kI!\"( $itDAu3Zz1/ дU'! P:`1#sD ɹ@GWkJ$!pD4ՉJYZjKVԪ!@ ,%J%%I"k1 IX $bZjK2`@0G Ip:$H\SU- $FA([^!\¶+K$+ZB6 A ٘#$B"t9I"kʪ%%$Š5 C$B:C*H굺-͗ 4%5B@*%5ERF^ʨ58줊%isuY=e1JKRjE.^j >8F~si魆Ktk!p܃6󆔎}Ǟo~z%X!T5.Yf;$>öqÛQxRŽCsc9H endstream endobj 64 0 obj <> stream x흋u0ݖr;n!U+Z-yvM1>G;0GP/ñϕ՟`|?n76gunn$g / Kvc.r}G2?YN~vZ/ӼRΫ2E~vks^ÉдZ~m}o}L׵;\(y??8nRwgcY2N까.yԽ\fx\[C׾~sq.C,%iyqq,@|ƴ!<7ڝ^geX@ѷfX zqʴ;q3f}z&{z3-Ds#Uf\fʬe K63f|j0bb"mlYT *3 r]柋cH6_bX򚛮]:gr1XA槄\[||@J߀ PʖnPѹ|2de ŲUJQe2Ѐ~i_;-߉:Ud"'?^Eo{˄MPyDSergg5m9$q6aW9YeNjnaKv  U&PeW9SeuG:]Faoe ag*#0Wd?S*Gz2r`XUFLL>g'\-hyֈ~2PedͨWڔKu7;jE*EZ^ʈӴQ9V9]G"#Lc=G2PL(g[DE#jƴ,q2a*0Ȗ#߸D]}{LzDsHsȥ>іE2,aoS`܀sbP;*-7Ts1mW7:U`LJRtRet-Iuȡ>[CIhv*-F|%x!:r?6bgIG X2NNfQuU)w0!PeR" l<Űj+;1rc U&%r#](Nz-բ- A;'LC˥-բ-K7= r\ز*]]l˻8>l wdAn teQU:Dn'J ;VA,VB''_Iu1KC,R`܃1;Re-2yOzS}r:1o fyjI:t芢Fx"ʽg̊%IrD['J1KC$_aǝ4"QSx!tV$#yKլ\Rв{PC.CIPKزPnYa7UF7a199CnT3,yDP`sBI2kDR]-xdS`sBI$ݸhBݏra qvN,VⰒa it?iygD%+9hꓓ<{ Peb4IWZY,Vp/Y!FStV˳70R@9D%+9a3JWoa*reE5Za7O0;'T搋- ,Ѯ ʨa4lU&7!ZUC!ƛI؅*ɍsEGH*ǠlrbeQE;8@4Ls-*!w=BvN2ԜCJkYT~ {&#]RZˢZ15U&#]RTˢZ82X镴,)xsiiʬceWҲF;D=l0jKX29&'G]sHQ-jC68/2PekYTv(@ǎ&TB[6ѮV;`ΰX29e!hCJ8B0cKS崌9-K EDD\v뻘 ~rZƜp%T߻ޑuBFz9-cNK8Bj]ZުRhm7{mPe14isZRiVC+X[Y1UƯg-2yH^N˘rr-dRZ[Ip.fɺnTѡ>=229Iv2CYQ#C`27A2C((яqscq'1Uƿ=7p- "N \##h[Ϙ] ?Svl+tI;+)¾~%3E4$U&'FæE4$U&'ifE<Xeђ ʢWw12ʐAę!1\!rCAwXX2&'G%d]&'1.fPe *a{g2ߝy "*aך.#D1qf.RWQ73<`8A}H"Ve7 XCʦ*S טEAAaCIIff6UXQq*˜*sXPg< Pˈ>bx~G}!VnaT.s|wdYYþr3kgbp*>YUVx67VwLyx mGeY[Y{lqAfL?჈BX2L!ڳ$RL@)`4lUF} b3[2b4] b/xZ7Zc4] RQ\;6@@Di!ekL b}(yn0SnQ?fk]HXej#!V Rq{LEL<*2 QeKDJ?Rt3f'#Ȓ\e6DܘDLY[ctw~} wItqDc >[Y%sWC1I.3vW2 @D,FDfHq3w];"b1t7w7"bf]XՉs?;|sZ*UHOqU!2tmQUƟkq nň̙W$YK7eoU3=XIit~? O2@1=)f "b#'d<21QGEk2Ϙ DD"erMkϋ3DDSZb~f:SAEk*BD4m.i1CD,\p.Xp DDZ;{iK |,Ì"bںbfffqn;Ѵ?*g/1WBD4m._c6yeR֌PA;~*U3h,%X-tdW̘!"[ yE1g4QAUFsAADQM aw"i!BD4m.XAD\Pek4TD0;ѴF}!"¨ DDuDUFsAADQM[Wwߝ̸"b݅[f#3"b&sQL{+[4oM */WY1U^AmK[e1CDTGM aw"is.sh\Pek4TD0;ѴF}!"¨ DDuDUFsAADQM aw"i!BD4m.XAD\W21 "bs]e0K DDd5/8ݙMhڻ3U" DDӶsY.mQ%e Q\ךDČBʜC}!"6TD0;ѴF}!"¨ DDuDUFsAADQM aw"i!BD4m.XAD\Pek4TD0;ѴF}!"|^+w..fy̅κ|m3Gך;mVdSh\2UѢ-lUfPK͘}176ösCsCGqg,VL<)g=n^P+a.;{Q&(;fv&/n3qv7<'3p/֫޹er.3=?)*3֫eY zg̚w9nD7s \? endstream endobj 65 0 obj <> stream x흋0Eiˆl  `{{sPGc<Ϸt @pSzxNwyx}>ݿE~gT=7/1?O55u{Q?~/_ʝ)ssδVdzXe u;]0+;Q9i|_ CSڹ|ofnW/7mRϪsbXS}'XCLGOQh%[ϵsrxr˜nOJZO\۽'{ڶ ꦿ7}nBn? >$IOv됟qx7s#u [J75c cW߅sLc2io*RVX 1 Dc=,?1imm0[ӷyH?t$z|W,D8{i) ckb/i8n*XOKZsxkvQz)YW3}`rmNÈ2#pM'difA k9bJÇ+ GP7aՍIY^߈A}Ocyvy-*ݨv97mfԷ~u~ .* KK'D?VVǾ*)ӾiΤ}'qڻ?CIEE?k"Gc6Ͻ7ckȟ/}X.s3q[ }Jƌmޝ9Jr;I~?[>T9L2ss$c<$%y" mo{ΜO{-Cgy(r+pSC'qzY'I{o~.oP[λؙpnڟZ.Y>.O{~kϓ5G{)to l5i]F;/q8UiVG Yy[Ni.d{I{TQd8^ MUO\rgaukHVuZ4"iRF蛐>FwoNsVnrYFCf"@ HP)W& Crt;u7!zXչVo.UUYNwvI[V%1}%Ukjҭ7b|9wUN,LY:,tvoNŭDv]+;MӪ{ _^l-.E?&*lԧ[rh-]r<]&,'mRDAj2T- >ni$ iLڤ2\йI%=W݌Ԑ~YgƏ37}@ت`H{P:Ku2sS*o빦0fs%*F)<#K$)uIw]~Mz*2"C;:DR ik_I"(<^OJ!:)$#S$$3Wm5~ p~?S$y o!!g<9x򸽪gԻB¨b"|<. o=ix\&Lޤ 6 eAn~.qQ>Py:F(1o,:Fn;E>(iaR|H A0ӊ`洿^Ză/` ^+xP̴"Q(EJ@ V#(,iG<(fZ"(<^ oE#xHSq_xЙx_Fw*F)<񾌸.UdE ޗݥO{222O{=nSh3E_#ދCܦk{1bTQYi_^ ~xF Ԑi@"kH{@:￈W1L!_p i* _ 5}^(2i_ ֢a|^n?^'=1VCߔ 6aܓ=1Vމp9wo/1t&mO]SŐ"c6߬b~?鮿 S,2|E<"?D/(<*4~ aJ#9%\"w&퓡vwӲ6 xjlH{cGs봟޻xEYC-U WO+CmTIAZEW%UiE?ݝxIA=O@C<ǂGTYOCg َ7V%U <62}{=mU ioZqC? ZW% +OA'@! Wa5f%+$o]#"Tk~HNWItwC{inOTQd8=UIAZEW%UiE?*v/mK'r|7}9OCg QbH"!>rE[;$ӐWEF}ƫOeJ?xWC2=-X?U.RQ{4#R[?B,+.jsq{1 -rB A=7߶ J)\pLTK eL}FOmoe˹l7\Q um:$ ia7ĻBA'Q9Y_KmzI{ WGןU٨oy?񏯔L#KN٠Әx㴷coDÔ?)D*nא6)>WLsoׅFrN"ݧ N L}Ҏ)D-!o'irLC!UPESUiEC#NTU?xBT+b>ؾ;E"ޡ ڰw{*洿/:Jʕ!RE23@#WҾ<L{~_irE#9 Oh~A/~^rɉF!1^9]8 =UX0#fQsA(JAZEU*oW5h}}:Ag< ͱ~0I{΂xA[oc؛^k ^R~WEW;>  kM- 0{|iG; ^[(rx(g:\qʴw :Xg_t߈)]VjKS2 `&Fr.#Z+ŊYl_u/jx[k*2a5ڎb ng`„o_R:ʯ؈1~!i/2#⾐ &#b0no<3V#9."3+"ݗ7 LWQD!`mw+$"f6Yܴ_){ս"ԂqU {#+"JI[,Τy_Q#)i/v!6|J{5 kdO{27DZ;Lø}|u&v䇴ߟ"bF idi/ ݄G;M?%pO{Ehk)7Soq 1ShdmO"4"/ƣ-11]V'( 4]mE.ܬۙ-'>|$G~ "Jln凌_EX@_GI"b!3>A| ""bA| "03>!"bA| ""ba>!3>A| ""bA| "03>Qg3|z>GO_mߠq߬3oEXlK~G~ "od)j0~3b$q6iooʳqe$z폈Xƛ#e9폈Xƛ#eq{D*GDHH{D*9폈Xƛ#e9폈XHGDHH{D*GDқ#e9폈Xƛ#eq{D*GDHH{D*9폈Xƛ#e g|y=ڛY폈XHԎm?oD2F?}}#eD[Oc6𯐴}'(Qv&Whj(R"BC?2>|/-Tٯ틀~tJ&HX%%Y 5k8EpY[U*2%XE*2`!5g:H ;ͨex?cٷtUh6TSn2g[vQ ~ =83pxh{BU-"լVi2% ,eLWX L8#&> stream x\G5k?y-&"Ql55kTlX"*ј(E&Uqpm{޹qfwfvf!` &`v`  !+ RSN^b 3o\duf \4%WK :Yƈ.`fon([G}eZ'=I\İBfb]?KH&Nw]s9#f_>ym))ʔAEtm氙Nmw4Ov{lK^B K6j"#Oͮ=t䎅_'_}w;v/X5]Q uqӭ_ESF6{AL4ud?{9^\OVgQ^z7bY1ݻtbLV8gn]:O] >'$#߇ &s8".ײ_~A==:s+pr_Wpލ 6H*)Wk|[S:yWQcGxNmNaΟ9dȶ];r gtfO?diCf\R/79fڸcN*|'UlS4ș:hU%ظzkQ{/ I&1{I3b3 3'yqv@5oc|DY_ov{y}27x}\zIco{(z۰Z[׃vXظq[gvS$JjѭmGACE)n-kVKڶqacS.80e3l1$^}69EP̂FOߢWz^u;~~|roo,mJQ'/TDܚ=="+~޸֝ YmY<}ΦA>8 ϙ.8#IVtN u58xȮ^+fy/;{OqJʖ/z):ek!X1w˳vpך*:= ^|b>C,?n_6ii/}\9+=gWe*Y9fk/wᘋco]`ޛتi{gXW(6792"MņA{ϖYmmx*ho'o;Wj8=Z8?>-{g{ ޫ[:&%]5>t)ӱlB>U|B- MIUmڵ}[rbԪoArTzo=tqIU/J ZTP{ʧ%Gu|<%g¿k;gAES{rǖK?˥2i<^%T2 @CB:vn:.drb`l}o;6$5zkkZ>]4Y֌MˈYBި\Ibv^)}87TSQEs#K\ФNn? 4iH*b%G]nahcvok:D$Jnټ]bR"׼۬BRL0,eqw>VZG=;Cϡ }Ӧnվ{igf \z֑&n}L(}uڭgec{l=ysoS4?-NlysǷvZ~‘v.;ur  h[Tg[R4m肘Au7?{zώ:w\+8ن"lέS?#ٺE a>]nɶqj_${x;Og!rsfyrYᬟuwws~Xq[,k7_2 CwfL&u"g'y-UݡBK` &` &` &` &` &` &` ݳ~psRp` fo}կ?dAHi=g.` &vT~J;|,E,Y9cwhd2Y~;9-* { aG(5n41z.W/EE#vȸxի*hn4qVTT$h5rZUnFT`X=ܹsg˖-W^c8 20ڥ0ݻv͖ڵoMae8tj7g v)cf#{yK]s]ǃ=EsbKL 3<޹sđ#d45ZGv!fƽCDFZ4G-fo9JDKJ]B<0ėY<^qq1Cbsϼg̰i!mHAe1vL1\/55KH$dj3 ۫OϞMx1 (!foO}O60Ɠt&204ޅ DA2j(7u$ kG.j9RCxExzٳlрx'Nh.6LqAE-ޕ+fef!Ǧ #[gUQD<{ڈ XBB>5v-v O !a;&gn4)[ 2x*N#x` i<۰Qb $޹Bs[fGJh{(4Mx-,F/TU[$xgΠ@lݚ5( /10T>4^ѳ/o82|۷4ogXa0Odň$pBC%$޸qĘ1(b3mxfqϪ?Tf̒]{:8DfM:acbOb[RR,yC<ꈅ\,CՋx*QxIAK<_gX;& #rϊ~6=_KKw?~*;wTqJx^^لEGPHRa||Eʔ)NK xr` WW/Cʤ$ HYJƏ/ͅ?JX1$;zT]UuJZT2.ܼX F4CF1v0xT+!kafv+9l!OORSg'O0MH`~X1_Ȼwh7y2s.O!rCgSY-H%Q(lSsaV[\JBx@?F ZrٶT#dLt;19rTdjA}p|^ÕbYܶ#?OPĽN[.r<%lR堘4仜|m)~hXLcV|of|dUs#Lu-r"9&ȑ8o*zpvV%)OurRb&PAz&K(ۻ@-Joa~FxTxR PGvܹKm?tb:T~td)ăI(-iP”v%ÈwZHn Ul!J)u]ݽN<"uQL;R6z5!!44 1?d$@&-MCJ5kԇ`MFԨk>ľ}H-HuM:RPHL< =L([:uBa֩P7믪!HE"Æxs ۶M'l1TGh5`ph#xX!CSB&)!ă n & ڝ֎cV/$5 \w-unMC&p剗|/41<^~hRuH^4\8}cRăB + L[بS;w#&lsggxxI<5$Dx!MPà`C<\Ȓ%tzK ץn\ `۽; ơ"x4(#@"a(&FՎHWG^!A<2Z-ԎTzA a߾ʘxd17WKqzhFL(t<ϰȅqw|dώjf{M#6U:Xڨßׯ/>`,:GHL(w. ޠjcGV 4P6h }coWV@<|ٔP2:z4h P| @ŋ5ă0X)5xTѶ@]?bOkNEW 4\=MxP8ZMăm8ixi<\ P#m[cIAqa֏ɰ#/>5iQE&պu)7LkmRAFE!|A߆qJ#)H`쀪3 IH a9 &0a05תD0ƍS)F%&f6a}%(Y*DϞH`]6ا"SȖ8K`ݬYt HUxT!5tHHuB(xӉC(o0Fp{Ԕ*G}{5ue+b3N 5*UGJf},R'`=WdQ7mBrs樈B!0x|x2΍5k]l߬vpD<'ےƃzqtoQ&' 8X tB h#Ws.o \7z4TjF#OGăy%LaN )x0REW@$ *՗P1+-bE2:>Gnjw|10@CVZ7+DUCB?av -#Oă~*((L?Aj:+W4$ 0]:3Io۷Ku->4^ZZm%(.9.'ےƃG:8:n6i9A#L~5 E!#HȀ߻ lj<*`Sҁ ̙ XR-BZ>CjdL'hTWhW8;LuN W5MJlxdy ]F<8Β ăD@C3dn$kă%iԺ՛߉hQsvg#g:x,SxIu`F&[[ Jct64 $t F2eJUx=zZdI=xa('x~`5Ɲ!~#"k>-~Ÿwza#{##k0(Za;g?$} ])_4;ăa/spv;S+0x0!Ki0AHr۸1z9t?BA3H؁XOh0فF0vUW z>J4/_di@iЩ38./ϋй yCo##U+c6hk#% ?V6L*0fe ־u+@ZMUL+@#e(KKCWÈgxnr߹‶g.I=ݵA,є>NAZJ- G2y9x0EeYG|)㦸rxz[VZ__c4mQ$W% Lrg0TGU!N|6fH_WWi˷%tVz֭DM[:yP1]Gnѷ }||zO>P(\.g{M!Zwa|Bڦl>zs~Y@M,qqM$H`gRX/llR} J{Fܷu[ĈҊ _/E"Q~~> |RVف5jkg;t(=*r%//Ot0 E" uϞ=c\BM(لʗSnuSέSij$sZU~\OҿQTTPhPBnCT>l< ysłV#4!wr$I o%'N_jՋm>yxX By$WCτ)Q2Gj2b-Ejrgg$@bk \91=pBEi>$w^k<R%t죏oNQKQWp97+v#c?.WinyB3޽Bl|lr JQ J#Zn /e}&ص 7La'^B/t᭷mqIRu# uL<8ΖT;z*~vF<#G.G+WkW;KOhx;ZvP{Ӵi-F}t{x2jHKcƠ3jѫ[BE!]V ; iTyjvnc_W ZK*S 2PeNNڍgp>T5-Ǿnmxe ׋L\oүUjߧƟ x7.h# šj w.oGLOO [rɓ'޽[\&'' e2fҖHRjjbWTT;6&&B֯z7s,͍cǤF)[tR~~~NNٴ022zì,P$ 333# 7 3K:'ܽԿo%>\X;Mj_W@*X|9DɫWLCbREqĠm۬^* uyݺ|hA萪v=]Ѱv 5+j+!Wsߏ-9ģ'en=q_K*}p/>0waw1"9>dzY!/UG}HpVuv)-v޸axgOW7|ЋR{Z0R%P(q&y7o/~?1ڕSQla$mx}x|>CڪYm<֧xlQ;(l>ǿNQnn.]Gy#e֫Id7 2dmsq~g/vO<>kGNʆH×"}Z8o MI%N$ft,eo/0|٧zuw .\V2JDY$QQD<ɚ_bw|؇:3rTӤus=ppŽnPcz]]KB|9 H:x#FX9~nx4QZiՂѣG\3.z]E.^"Nro{"K"ixS̙x!س7Z_`E9:}f./@<;M^.}0 |xy Ů܍$wh<xJWܺ%\qk\SK\ ;xoKHH`Xj_KXZx9xky<eSc6W+>snDTjgēd2n˧Mz8v 1G3Ms#W_p;/4^P/m[ApѦ4V:ѣB/ݻwr3p^h;o~ggnhS/&݋)xsZ'pv >Hv)ݻa /'By{['pv >Hv)|TU~WIx5jX'pv >Hv)qj) ](5^lv؎6~ֿQv>6k #jW3o܏ysj9o9}oޓM,I,IT&,E(DR;EEDiVPDAQbEi*UA@t-KfYDf`=<3;wLD+>7s 8܎#s +sɕD{bo((n܀OW|O@80.8&lf?Hw<+@'xڊH#W2:p;_qL$DLeɓ'Z!_⬬mhsLT[gx"w++8;x׿ fq !O8^\v>G2ZشwMvdՑGT:x+5U+z&jp2'Vp>0 `b2iq|;{uV39Yeq8 iUiT z.?v\.yfKK Bp8bx 7-;w*07>|(|>\ Շ5Sx*[[9*pWIΗq٢>;᧩Sv%B1SvxF3 \QQQdddVVVmm-@]H$,E"ѧ$id 5\+N( |pl6NK* ާp2h)d8yܿzRw_5rxu ;S+<^Yx xϚ dczc9p,Ki($?-.n"H(yZ}*<^bxu<>k֬?O9߫R[C7ZUHtEx~~@{;$4Q U[V;I@<ǫY}9Uris5 >*ywIyi9\>gr<8_!:5X$޿(~2;;/Nr<'G|[xqqPs>9s{R09] RR hToe x]d2BǏCnn?- F@Iw\%Goбc?BA'+~;9yol]ݻPD,yܹdyx T|<%AII[ i&o0J!r!)~Q Է*~Qs8Lh~̄h7OH|>3ynoJN*yv&#Gs |v9Ruªkd&}*}VsQo 33($JNFԎdˠ656b{|^`_LQsXڼYr?$Ӄs}OK$x#&9=x}9=xGn9ILs@xVs@xv</܎rp<r;^oo/@Q9F;%>82nXBɁPhW0^ԕe,7ew+ԝNS09/+-mh ZRI+Tj s0| *ZZZѣF$˯VwVp8t:]Z¶v UCeO_R]bt0gKk0dp(aĆ"b`{Sq.^-`C`)/Yr[tx+a+=Xj(<製~Ckbxx`y!8@!ia)x@& x`r<0q98Lv<6}x<@q9^|VFpLÄcFV+[05vO67ҜQNӝUi'RΧ4'F`~% <~۳Y.x_a:,Y, Kܧf`Rۤ_+·xY"`5(^ף:3#:O\].٢B1R<[{)C-D,ܗ7uɽp&,a2)i6HjnX_=.g ,94 U T8XlJ<̓e"a[>zy"-fҀ!+B/j*UbnFn[!!X Ǐ,H{Bg33ik3cG\ oE #ᇖxwl)?7w:x.tW,V#Sg5=qL%`ozXZLk36HM9*󞶓O=@#֋ZmpPC7ݷ?2닩H3Yuj5pީq@&ϟ+}*W{+!ǣkgDl#ԝ\YTsW݊Cgl6W$dN-@/Q2 Sgߵ6h;o lQ󺸂@#7/q1Py$r5 ~GHe?"q)JjSș-jef%l!D]y'b8"g/m%ia UԶ,U5B2R}U,r r^J Xֺ8>uF{:]"5I-~pn{&G,9κSfgx/*FVNFgx3dn/tEĵքc[ys0=G#sZ|w&>DY2SE7 @·WIoьg=$pnzaY8HeAR suH=' 'v9繪2&]m`)YsiB!8[8~GQV^2cZ\ncvܴk}L; Tbt41\ŅNN1pBt eޅ\f-GeB+h#ƃx7=լ]HE xGۯ r3n(.jq)0C|z7#3+^Igy|씄 JBF RߒVKX3G\a쾓#Iaj{i]Chr-}k|WʌDkvSi*iu/DX1 z(clOC/**bDGI>%޵@#ZJ!OD.nZ[kPZx$ :XT$. o B-9ǃ5xϟ}},_ԙ2+ujn_c<*|ܸ-:Nx+x?SgZOelAMX]P􄈩Y݄B55=1nAu><;y"ف-7_!'Et&+dզp ݳ3G볅 ǃ;nDO]~c9eKU $ &"yvj͡B߉+15,|(fymnq/> ǃګQW"68;yϲю~a9|O::~X1q[vP٬+B/kod# D̻{畴C凣 2NeU |O=G)F섷DqQ 3[W}}Z&QE h@Q&tMn66pˣJL~YGq"DCd&%c#7Wa%8:98/*sNO& wAw7!z&`}饒Klb1x;e  ^޺owS},ܗ2"q~H66pGA{V5[S]euekox#ґL| <I?qRݶ;+1z&ED]IC[2ҞSU˩ν~9M:pĀ㗐@@@@@@@@@@@c,^?!ePX"2߯ڲ¶vLӋM *j[JEQnE}h -X2֛\ZzZZ}۟ YyG/uEjȚL Vys5o 9Bw%|5iD肗c+,ed0_cѷኳ#Jl^guNS2]k,"c5I}LȊ\ϧ$EMbge6u֢.\W]U?{_;pp68^vKtJimBJSu&Cx;#W!Ecqbz执C`K?rע=_>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 68 0 R/Group<>/Tabs/S/StructParents 19>> endobj 68 0 obj <> stream x[[oF~0f8$"`7m^lvdlW~wJ#"-gΜ9\~߿azu.DO7.*iJq{)ʒ4+DIU7o$=sj'>,kE7>)FB#n},gY}ο~ԣSNO=7/6+Si6J[& i}S!<%@I2I}J**r+fBq1VP|\<͖Q4Ir Z=}n%q kXfw7n9}/GGb"򖸐UfvY'yRjI؈-uE mhItbb_OHX3TQɤQ!x#N9Xp"̚IUf?unqy1t9d%eK*6@ۇvےdkoڱY/}l |$$(%廐vQF`శmE9`}=NA=2Vf-_W'kbz"O9f*EN|EI>M:~VE?$"M 8ɪCG1d(RYOO-/''&Ʀ҃\وI_Tꅤ>pT+ ~&3@세:ZKfhj'l;>ch!]ڻyVl5;w|q3T4%EA0C~YOK]7JT!8NZŅX"ڵ x#}BwE0{u @MZqA04œ חѪ~\*\*N6 ݃Y Y!;K e];CEtϩ- Z@|+¡CQ&EeaȓA2\u-;p!fX"@&9/Gj+rOgk> jU5u5k{ƺQ nEm_QВ~M m-ⷎ>k87hSّSojΌ"?uD9>\'Y>T҈ xakRa*/cUo . x]>ыBiu&c04;v~wYqTM:Ժ E׸5<䄸zMA28gD/YUXy8'w ŨDqw< us FՆ6aǘgz) {ox ĦJ6l0*OGDpwL!ȹ=5l517x?uԏ"@_tTV' ,\QMW7֒%h%6 *XG!ݧ R&#xo]mnM*v-?!Hõ+Cֳm]Ƽ.2,Y9ϟ2*RKZqo  Z?8~vW뺬1GC _ kmz 4 x~`{QRt>hVzKFcxՠ Nt:]./LN8"fE"f^E~cqɭ 6]Yoc޴2uuaN_@gC. Bl*iY Vs@;0Q!o. F›ӝ\k..c}Ux }V?͓ i5էrw%#iBN(*=E㥣*eE_\;IN/9t$`۝+2TUf̬wi*}ɋhz \hPuʥ2w%5&(~L@ONι!hN/vaRծdPMqJn,ѹ6HF wCGII3z ZRKfE%Y ɃB2* L\gz?Kh ׼mk[_wNvEz8/ !o.mպy7;R_+|ʔ'IO$\4U7jchQj[>(hQ -|e+2\ +,>ѢMWfxoex3s>\9QWSC1d)pΎa>8zrZ(UJvrdC4"|q|,~9/v꒰Mh0f}z< |W%6|z}* Uv+פ_ݸ1aU݁:OreXP푻+J6$JSJ~K}p'͠k%Y,͗\1R}*٘9ujWNY*ޑ_ ӖE9Am) NM`Di0Ǝn)T#0޽5˞G{wpAEC{(nVCh  x 8Xk3m@ Lϼ1.TR0i횺 Urz$[а2v*hZGU A\?%+8/OeeKl8]j9XnjFYe@8Tc›qݟ* iPkiMܽ _{}k*/x㴵u9|_Fz[=[شcY~-r V >m֮D5!N?v8 endstream endobj 69 0 obj <> endobj 70 0 obj [ 71 0 R] endobj 71 0 obj <> endobj 72 0 obj <> endobj 73 0 obj <> endobj 74 0 obj <>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 75 0 R/Group<>/Tabs/S/StructParents 6>> endobj 75 0 obj <> stream xYo6~7O4(Q@CV4[}hY# 3[i~wG"%QN1lx<~w޿jɂg>LHv{7 ` `Q\| 6}}>cnaLҝ<%dƓ>V4V^=S62ey{,H3z_00<Av ++x^J6a5К+TFlBIQ06 #J([Ш ,a뤣$0uJ m2[s_aR}F7;[||Ժ _xDaѻ?||"% g7a‡-^sړRτM<#R厤{cA{ڂ|xi e"EZ{vzn]gj(]B62|K )x 5m.nbu :۲SO]ЇG?2C9"j`֑2ak4f\J+qvWXyPܹ&b3Br{SJKLp lQtzu[tvkV07mhQ$tBSRəiGQWiԑ]".շA ťhv8*7yjC^i5ZrD+"MT.EHFYHmn*Sˮ ;>6T4v *n O3[vm%tXVMxmoApxߐb#uOVAv y;A Kp<_31ʀ 'Fd):;J:dl [4ܚue7Q9Og= 7FV2H#/˧ c. |)GfTBoL2P4O {c/˩ic.iݏl?'+\NqlW'O I636&J' ҅u&NL.ח QTAOC$5u VSqO+?[dN{tQFdYlm PmYWO Q8O5%>(+fˆW-Sh=@PpHkƤC%uY[DOxgMnhx j^^})4jkn<ÉudZ47Ekf"@x?.dA-A"(W C1m4>M];\Bi0ŲSQb[.J,2 Xwy96V]YbLC3n˶ ':3yzOqҤ?faʢ$T%"dTnȶC9}3dt$%b_c1[﮶M&lg_ 4 endstream endobj 76 0 obj <> stream xM%ٕfSͤ3jnSJ$SA Z6IBcЈ)3{UZd2ڴIi(p%e-DUM-j^&7ew~sFxTw?=q_;ވK0^n?ЧE/1ΕQ*E5bޛ?= _GC(~vÆX}1 CHAgnw3P[y~R/bMDy"1\wl")9/@|.){:א-Tzp)+ӕվzRTx[^5蟚ykkNdiAۂYGf@?bJetZ"Kd?>9FtGCD[$jH),<6h!/[?_N?cqdS9UCIR'\L4k->w?RsF35_23b%ϫbܾ;Z XZA)8{3w}B7X~Gt]R>hҖWgn5䋵*en W*1瓦B;7q)\u]*_}y2_@ *JTy+i*Y35KAwl.K-'ePjP@,W?H/+UN$3ʐ⏳(yf&E*! 'Z;!kE"/]WZaf4{F|cZL;Xhx@{٢t\d/ͧC̖Hno?P'^M)3OyjbjޤruDZւ^~f5eT5'q2ӫCuC!e`%wʍMvOk {8k =U^)مg-jlnOi&jZʐ봖%m]S-6hT:0jKz`P RpIp/rzޤ2ך/[ʏZ%$VKCTY7.Fk2&&F3t1JfǞIȕNնv/~ };(-͐o ˔F3H+& }Moqů,6K[g%`NedlCJ6OaLj0t( =E)6\T0<\qqŢN]gg)(0EpRUՖyM Iպ}s4UuZo= NԾEH27AT+3'1xM̢*$)%6Sn-֦-W Fi#W[ 76R1̽LF h]>ܦ_Rh)ZGLɹjf]Ġhw)(6ٜ2).kp hQ܍GD-`Vl)_ʻjNղ1AYiM!_  3$ZnӇ,ihsyAԂUN >f}[3ii`}MXneI3]= oiR0;۠RP`qJW*'^nRM"fԏX9LeqjWow)̃6̷ya%CK*T ZR,tRkno^_"R0EQ/7T򤫨Z^7)ئ*/)R`y$VZ05Zxt)~ڕEA MVoFM3vkjCHA}KL0oQ<*Ck'LeٿYKW鱶A Q^`Fɭ Oh7M ''6%/%e ^Uꀖ4Xl0T2lӞ 9«,XC\YSI~gRm 牏zQ `n[6i\r Z4Ԭ͔L[6i\c)\k/Gɻ|]{~8pG@3aVBmܷQA94H<06ɾ ίr07RAWmՒ[\%΁uHp‚ D)X@QUy2M\JRPl)eHA,f]tRJ1ľTBHAw'HVPSZGɵN* r Y+$؈̮zv-g./UC=-# $Yg}ҬD 4iM {8Zba R=FCye5retmfу-KA1RR0.a~d{7@ࠫ܏P&TKA)K}FB0C`\}òjmRg:v%0 O{*eY$ f1*JA-4 aIJPT0CR01K+E 4$_% , 8V0g#\3n5jueE +FRV[~]eR ZV%YL :wFM:k|o<+S;b@x1krX1)e5 Vb_>Շ/~^}.XΘ(0Y7g?}ngM ߂ QЄ$ղL U)w])0?<8eB ,O!ėawXt_S;п<>jⷿ~gO,gL=6U_q4`8l~~!aR:~\[.Ҹ"[Ex\̗a5N=Iuyγ,}v/CL0PՕ^i'#8[g gŝh\hC¤#Bd:M,!=4ay, eQO!yןTUȝ1L Y?p5~|>1h~ `"ؼkQ&кg ZYl0YhoOե U/ZoA$2fnkw\^gSd;h~.{I4Uo0o'^!1ۇ7qЭ%tv {S_tKZKXTMBU`I`~YPSɤ#g#rS9Gu)(Υ/d3.m>) Z'O_]rvWToy֩}NTl^6|}YYҶW̊YI K@SɳJTPVeZ-}#*0>Rx;ܘ|tpgL8$7rdnu##M\ .%Y6d0^*A4A,i6KgㇲVQM^TTH_V`)D 1E%)->)I$,!Al]F9<'D.ի^߇j@7DbRoXBES\VWunXUtedڞn1Kk"d tH3ryRPٽvH& -' +&MmHy#K6,3HYBnue!O$Jv%_ xꐗRu)EH]u9O'.5\'j#1R.k`ZBZ8Sm$]q'`zhN#\L=#-OҺg. ,Ui.MTh6g]Txϣ3&66JE²ZQn.Wy5LCj;dIq@ v' h{F;5A TK95?wGO]&N/j$ZNIKR45+6Mzz}|5X>N9yT;"q?Qz=9!B·ΟyiʍY> ~"im(c"/&X2d%[#HA%M L׭iJsƶ`͙7 5)؆>sCGwo0?/|,F`>3 >u8D#gҹFh Kz^ 0M)c6e&:5z$?46Y]p⍒ kc89 +4իW&!R˥$*q"䦖+oE{7#j bXc`V`3yT,q`"sd|#.MVzs]8 ګhA] ʉTx Ls}~BO~LVuK)@+&і@ `akEk ͳ?+V:dI@`JZ-%#430EeF%{7a J頖-B9/Nh^Z<;\tv:cv᪩ N4,4 ,a0m ʆ)-Ex¹qƥ#/..^j?zhl"Z6XbT&ۃF9k(3bҟt3 b үRm%Ö]/9-ⲅ^Eo>U ?X䷥ySv^NHئzۡƞ@DM@g6<U^ukӴ%H^zcI%mFb1`{{ٳg4UJ 6کg"f^b79M:*­uvyΔSm8Gu 3R@?X^r 2.ݼݐ1SU8/cPԝ3BIk); 3=zdV6z˚tUE22ռ7ta%n2_}> g0qS\ &oP aQAdoZr2W%:>)u}!mZjψ^yIp]-ݼݔ&S3B99܄PQm\Onu^VBg$^w*#] 9V Y:VԨ.c( 4%\X`8 \ʭ-4nvoh>y %r]z'Wi2.-5%q+2#a=NyyHPx&wpgHNurϗ"fH"C]y3H驵N[وlK` azX)t44Cn=#r~.>@63z>4w VCpzsJ=#mDu.jJcjö$ z)nrWK<*:y?W^ܞrpÓtݾ}UZ (O6m$ "`%`aGE /{Fʻv|7LPZ[K\v| wyDܱ;h]4-aU;MW i7Fbj 쑂]b3\i~R65Tj8ܾ:X"Kv:ʤlԵn V+H!V؍ÓtY,٨k5#4oH...ƶØt5;M<)5)cGӱ)l_OR \gs{W#c7=z%֨ȚW^>s$+ '6)\EY7&KG lv/yD:-Ѵ Q4AR %[%pc?lsd(Rz*grދ?V'oiM EWnU O8!^Q:hQ/.0)+yM;O)AN*a[r—B UX)ۿUv,_75⥬t8w1^{cO y u-qzs E" ^nsΗȠ}a:>l뿹N -C -2sqp>)мMzI.46-iy!^i)0i ZSVh愧V0i)(y,ʓF߮Il0[yYxQHKG)a3G7oƓm Dۙ1YY)7S<=o7yrF1PquZpl*d@\Hr"[R^=xx?3aYLy9 rp<9wsDJm,'CC'.bkxUn;S)U2.[Y`F$ńĒM:ZK<#>|..GJc5`zlZp.4RUk>,Ly"W̌ :4a]=8VF G{BX(e8+:BHjg$U\M6 1%=/9̐7Ix5hle|7!y>ky)jΖ @?R~: $}2R;i?TbZA9UHCr}.&tT{` lkI V:k@_ p͒[?S-]'sݧ wRGA 7 ʣ@gz^+ )8_X. LW Φk# XT 2c38>D¤EeW`ԞWBφ߂eY?@d4,F7)Xcz`_Θo.#tއ;m#˖vJ1jk[IAwoS`ZAN`.?c=-K'էE  p]ߖ3lu j _9;Zp2QP}Ւ~وSD 0~pE=KAE 3ficz۷ݥc[cO.#&Kɓ'bgggcrqqqڵ&]e웛7om ёU/^oϷ'Om ūW쌰Q}Vyiwvv6n}yJ7nloo80<ǏǶځ^8<)&O z%-nL0q D .[ ȍUC*ƈ^ѫ䥛֍J\}!\,q)2$ W4H9K"M :(j"lxo)8)a-f94$$eUhNTЍ_%; %IA(kL%Pxp.C)?ZWšɌE 2U)xo}5 @›$x=,+ClKVENvQ-JpyXԂr$͵+vgպNȆD K G_)wuFAYj4KA޷RQA7\*r Jl(LeAil7tcŤM0 $}2R;i?TbZA9::z.hfRɓ'v`@o ;<<׌ Fh mfyBMhҘ60hD]0g~ BL/7\b&Ժ1eRЌnٱͩ9==Fqg7J W[etHt$kE٣Gbj3/*iJﻡ)ͻ TwȒ1n16k%ȧXݸq-pH10Ԩ `hzdbR VLDtU;$ftZ9a4u'9q<1moEfk׮Fh`=4|+yzz:UF5̆ͿcC ڍ7o _h5QΝ;nG 6;k )xU?˫#.1֭[W;::ŞՕϜbds7'Jfn Fatݽ{ٳgV V[H]V7V U{G [4Hz#s'7< vrrbNwY8ɤ TR𲼱2YTRм-3j/ߤKA#zߵkpcΦdW $0))hQvs tqLxRʿ۷o~V!l@LJ Rp:RpD#BAXgGMU +M()ŋF?\{/...eh!U `[&"]\ap?c7g(Tw8rz)ؖHA[yZh_v7n?)KA wpp`{]mBR( + TϪ%a4g?k&m$0iW;;;, I@i#׮]3pPϫejfmjRМp(@p^M'>wtlt{{;P}w_җP U;Kctxrr/W Ozy$zB|m zqӇ^ @-XA7 s?hv?,;Dqp*O/"3PTgeFDfeE~@(qM&QN&L,n+Wp9&t0P Pc3fS/Dr*tCqvǪ[ޞX.-&q%P {'+)Pȡ2Tٙ1`mT9x04CCA(Oµr @ d4z=:X\|E*c8$&J PAԥ1{B kl3PW! 903wZR |thtG12Z|A6TƒPcSOwnFQߧBj*φ :Q{8qΏm ™L& 6tB) dR;l:J$6q!Ι f qGX0PAPex_tqgv>~:\<*e*;L&)PAP1KruuUt lC=[MK汗SE^iG_); f9U0)*ʆ1+;_":B ԅM%Tw0fSQТTYR>''',  C9z E"AhIYl@85{8k;n5ՁU.5Jcev1#u#k{hm}g'DNX ( d2Qk7x\M=PTQJkˍ9yey'[$d7|Z-U܎_1H4ыMpȠ _zP̉}0* 0 ]LfF{er|/m@LTe)@w^7G}*R 0Br\t2=ucު||$tT6_$^ `\7J<124&g&z.6Ez\CҩGo=_Dߑ}@E.9[Tl@lUщ5o>-ݲ}{~U*8MQ)z!*2J>={죿dFaT4ڗ Sų "Nۏ3 Y>C>:`ۆ吐uH7 _\J*n*uwޓ { y|RDvi.VyE08aD6]9C|3> ngh3mV~QJ /}}Msէc`Ȅ̵YMtpd,U0f4e)vxxv[8TP{K,̗f<u K\WAf&nV^PN*a_\:*xq6Wp&xښ~1yfUP[FDKt`48~ r%]sWBLS'Jk ~0g25 [#Zep ,qЦ2F_AV!*zb< `X ڽա Fa?=}S[3k0B:i00 TˢF 倎H*ȷD0"R-b|R܀dlffU kuA>f-'l  ;h 9 Y|CTиqgaf*ȟ:DBL|t1w'ym0JA_\2 ZŢ\rPAvlଁUc&Q]?YDV*!rO15 ֞YVՠ<|a؆]J\ӵcù*HBV4`S* ~SY`Ip`#AwO>aD ~ӖU>W5lUq)\ jBOg}UAcО SAa :zMA:7ܣ62RXL&c' ϻ ^6:Be|$@~驠~oJ BŐN+zT{&si5N[RP/n>U0@` B9{;A䯂y*7%a=\V|2tHȜ3>oa}~ƵVT$ 4)%kJM# 5C֢E"siP+a{HdRݬPVhMQ<T%Q3E0c*IݖxStY2,  7@5 V d"RѮba3QIYBbjFQ9(z9t:crPi L 08rs;|XPcms!\01P@rqql6A|#7EIMcߒj7f" V FQEdy\kE)ވ.X"z^ TXQ0Ӕ,o>Q f(999+_]]]jP~n\MCL09PF` ~l?)~tZET@%r"Mc9coo4)(PAjh4:88S6|`0*XQˉPvr6+&6S@>@+ T0"c|O~%|-;`'`00V튟s) RP92ZFcn[@:c?@H<w7_{~U/k߾W|*T d2 P)"( P_tAʎ~?T%"DxzmcPnl6atUD\t(0 ╧ ^^^4:DԱ0@@l+ T0"PArS~ZJFE`PTL_y?|L~ f (P@@/`1* ^~w__~NwK/;Q9  bRJ+Ya%-(P@J_^֟=.S'~o޽GnBHt2dbVWZ%)e#%?"X[_(P[> #~oTyMT!.,gc/I( ]4@Prpp ^WtA*xqF~mUSФo`rv`xw^4V~'B $/|BWN3eӅ뇧*ECFr]ʐ*Jݝp‡ojx5߻|U^QA!9L8N/BMz7_fDŌe`+LuRK__G;Ur*a fW w:z"Ts>V U=) N 3*TlL5b~8ЙP9b:>PF#ikq&;v0J4w2 xA*Q93J &7V#0vTPmnUpn@2]ex .@<7p'p1D-Ka#"vRtZrn`yc$rK*XQIGܠw;T<?*8k`՘I?DOy/U,)J\*Ș 2]ôp], f)J}X#=h*N2^%~.l-$XIg2Gr7쐢0n]Ȼ:(P4ZSY@ax_bU+gj;TCBl·^pP T0*ZY1 +.Xcuݢ Rv` !N #~spvq _=O =ϥ5*.Tied*gYi&]C*rPkXK[H H(@`QE !LB:[[[RQAp6)!2S*X]T>r% # geP*v͜nԔ]nTnMڎcɌ?ĵYkYMQ4s/, fџ dvyyv\b) X' f|gFQ/כ*c &H SAA0-g:*eX`u( ˤ,`qnQ_ֱpHBTPs):;; 7c0{t:̽^O8r yT0$Umjᬑda!; sYD+U0BA Hzȇ#붢Kr% N_HARq"҉KH7;uEK+<=O*!,`1G;A7`ReP kov,[Z 3)v/v$%td|JW*XEd{>[$"uP``j*eøT`0{!55+Pz=!0ôpcl IȑV`Ulќ2h/{y5Q]c5?qzΈ:2ƼMtkx[ \+TD8Wl1PTNR;!h' H,ZNw+=ARK>+`Y ` ۙgV5á9 t:p2 ;'e{YOѠ R9gLn$ &a} ]2Ĭ57ncv&&8 Muj %G0Lh&͌i\lnŒpq}!(]aB4&%&4U~5W+7}C Μ6KgT& GF;>>EE5Ezlc'YN oш @@0UИtבZÍ@ىQhwj©&,{Ϟwwuu888t+Up0d 9P!Ɖ!n '*0*h 6UA]ZCoMʻTRIA;Ilv]8!9i jT. | Z . # 4KߓzRЌh4Jp VqN@@AT?[5?,8N>SCa qG}/^lu³@ ZZ|XO07ah29 +-z={ddUWlTxDՌ4 J3L2B)[2H =D=s+c3ɕ2-^Fmujt (7DL+;e`0Uyiy h뇇;o}˂U9+s罜 qnnn xgV%HbTYv G&'tV]bG]/Hf7TPAPnf[Zjmz}35,Ώ}HJj5`5*H(93izߴړ2ӠX%G؄Z߀KپzpKrɫqzFȇkhE^& JfO4ҒaoS #A{VX3Vre͹`f̧eas^[A.e5HvE5VVͭ Tp8;;Sf\BH*9>(2q%Yt.j搆dΝudkc.-МkzEhR⍍ ҆4n'4_# R[xܳ} *\\\ȧH!~)穠 T15Sw\5nVʎO6e3:뾀;_T>qFx 2\{G>*U9.#2\`@d4mmmɪj< LGQQk.[%ve0-[<*hkTN;9* 0q'aYZ7Ȟƴ!BKn(;o^g5u)iԖ/'3d+++DžzgqLnqМTk%z.Ĭ)86_ ~+(~)PAB| V~0&3fI Ct~ƫ&Zvýfg5A rrrWb&PWh jլ 8 "1F;k'vnCKsݟ I`\yX*hnd5-$HG!YPȚsuuP 3S3ň* s ‚р T8>>Px'pÑVfC{l1*~#Y>D͸@(WAH`4 -ágF$-9N]V0.8 K/ ܽ3q`h_d*u B:\"X65۝|BUk >0PKd@PA"X>l/Zn'Tմ8z ]62npǼeSF{f UP8B1KWي16b8UvCadkv5^YÎ۫?PKJpO1Unm[=0BYppp +3<޺,g0j:ctx% â# dHX1(7KDYc09X>P8??O$ܬ򂚳`rw}x`< G9kN,%NNN\Ti O[03jx%R mooO?o%E6LE䧿y Kg?%vOOXo<%mT֜`r߅ J UB .KؗRPAPr:Q *$yE PA@([V >6n*w?ןi> Fw@A D*X*xqF~mU?rva "tLRV.lپ ;/| xV&eRׄ ™L&8lT@!N7n6^|% qny\|b#4I,T@m([ ~ֳ~*(XH7 T\rޛo?K_ĦZXCaqB-;۷X%4}*Sأ>KfDBABpjC*TAW)T'>և>|V{m\ aqˆ| OYCAԆiˢ ⑎ ޿C3 @o:}*=G,R'*h4 x-$pǮ\ɃCלP< pjj=UPG~:  yYTh}IVݐaFD YO*c  UA%7h](*%dƏ X5fSKdKJB>,. DS  TAO z*8w +X wLmWp }t\Hk й U   Q#Cu2,G6 zFx1*7%a=\V|2tHȜ3>o! | PRL_ZȓQCABpjT*X}k H@m 棂,P4^t,LAABpjC9U|(|U6Mafbn]"t:ESh<]HJE U<7 Q] PA@m @* exooockkK|$V0%iZPA@= PďQ]ەC#Dlutta9P 6PA g2"l6 B( 9<888õ5Hd{{)PA@m Px0lmmE|677UR"e3* PArHO!rHdwwW;qd* PArc<Ւ+{M&iFsYZ Ί.uFm 룭sj08ٓX_Ğ/eD?OFFdD|HEFxſ/~hc >Imh]jUdll= D8??O_ٳ )Nj;;;<4/*Q"]\\P6C^>Vހ v<?tom+'&9`QwOme@7 M'~FwtQ@e#o?XɳVbj@!a8*a*/=՛CW{~Ot4{ ~-PNPU>>J[i])Iz$Ç;vPA ٳgmg!PA>?3(!{777GGGmeS@7:=y4*G/*o)'={zI_R Tz**OR % %yvTz**^]2dggh#4`7G-*O_UvooOVmb `}O'ۣ%ԼgϲE|Vu]6>xo(B9Q6; sX1* Lg~'58ӼЊ2FٯWZʢ9{nU||~TYF/ʿjF;]Pyxm*؎WmUgh*8Fꃗ}YLOup 1CxylIt +!GOp9mMJ~@Ta7T0s:1rTܖ/<*Lmm%n`mWwn4&On lOFb PWPM3 -ϳ-c*KQA/UК_,4sqqNh{{{mglBQAcZT5VEI+@+ڵh=bggM 0ulu 9K{)i5|hT`C)k .HRլh/+ @@6Lq s%#KF@'`m9kYG#[-^3 T#5gPAX zYxJ S[:m T0)ʸlr˶o޳)&Z֍QoX9B&qX}^PA2_W<4z@9l]뭩+gPA!T~hLmrLXNr|| @?@m Yojި|V뱲gbFVɘ{eӴre7%s$KĮpRv-yv)IY9  ?kPx+j(j$ˌN_eF+KIij=^(Yts?׵"y,@Rpx9Xe@9UA7w5(oڒ_U)x G|3@|,XtA!Z7JӚ U- *}B_ENN=#_cIk ~ 4޶S3+9mso'b- f\v. T"!ԐTm,j f\v TbV5էmAF C T`YmPFpheVϟ ^v.PzP!^ O >^^^FA2 􉃃uN{]iT* @@J @@J @Urooo{{W===4A2 Sgٳgϴ&@/..tqvwwM!D2ZɳԀV_'''}ϟ5gggۺ\ZzQA *}B`*K?T(}E*Ȩ Tpyy R6IٜXsC{"l,K?7ܻwϟ~iNOO3vWAQv~[-q @o߅m;9fuO7 vfh?7׃}_j4zg|oP*Pj{' ̦GZ=fǏBS F1 T?[$*T3UI7*j5kʲ DQAތ=;;;::rDD޾}vFDIsD`oF}[T(_|gt* @AѾZfN쏖٦"+TB=*/%M4﫧zң_f*(,/3dž%?Y~G㩥Q+*]|s*\ROΗY߳9Y$KT78U7Ӆ!DT6T𫧆b L+6CפJw5OɞӍרk`Pԣ6y00#⭪`|j*EQA/X.*^K*87=FPAe}v6澂VpnIx_Pe![_1& @Y4,ξӺҴSrVy_AZ &`XT0C!Y N"IsWo#cH;*1ڈ1F& G[JR]9AUa #@e}֔l Ħf 'wj+͕Ml4>lgAu}}=B8XGU0AT6e/'8?3R >uTM4z*hWQ,+8Wq4464ReAXvqI8Qy+DW &D+Ĩ`2AA*A#n{~,zaPA1~SO$O ౚu)Pբz 9ʂ @o1ZP]l4zA7ٝtpQJ[#/`pf .-p777mgvVYq}Wtدt3k vg8fo3GPX Kw;88ݎ z@`@`,M/+4nWA2 :^Os-2ّ>WiՍoNi.j*1x'`:QȉjxHnjl&M@*xMm/CjN{#-xW6b AAX?eE,">*h[WfC6~ Tf&8Td/6q7s?n^*׺Ax+'Yg u1nV$ILi8 xJ0|^ɁgdJթh1=XsJr?(ٜ BUţyc:n&wJOr΍y| E Aqy@HJh)egyT#Y !$q鸪H 檠_:#SrLLJ@Xb+hOtbkk h[!lUН*{Ol:UPV" ͪN\0v UWA#GT!$*Qf\~QJʗS,`Ŷ  pCÜ)sOq]onn?~,l [t!x=3拏[۹*h^+ ɖX »P}шe-mGMJ_ +R",1Xl.T(7ӛuooIO9uΊ43j+bPWs% `ʽg O&TPp}ޠ Aڷ}R75Rl |.Tp9\NOOzz]*O?iP '!;-g'ppRv so : 䆴LD6>{/xU;չ9vm$RvO~~ νد#qVP6rjYRl,JMbpSH{R#"gGF֞1+&8\Q!'Lu9IZM&#RR6jp_MryHU_Zjc껚MԴ f#ׯk@59Sؾ*\PARLmOdr2Y/K<|˚=DNsխC%O8aGyȻ2IapԼ `4yeFd` CYI6rx.fQ9 `&>Ҵ{J5 *QRBug_<ڈ m]nבH1Kn-H{T|Nenl o`Ą&^sc$\V>ud!nMȠ CjSB5,Tk;իWuz%bF&gm;E z0&=p { rG'P5wU1Tn[Err-!6^B {asg (O\9NBvژDv6\ 6rw'@cn`*OoW-xY'b(a$RMr**hM.l RBlTD.?|Pgc{{[WF/1)E/IJύe6վo>LpB(u,\⡷.V*bH2W#&p'S'wuO1t~ ]`\6jVѰ wmPI,N? ƨ`-ӬSqT&٢QZi,p4L$* Rk@EyU:Ww[y؈}׏?I)liGyȹdv)8<* IX jN| 47G2_5RIR)D¾NjlO/+o ^0W˃ԿU& F~]ZÊEoEOvnE()XpiΑ+h킿9,ȕ5V_>å 0Sf2'=B jӎ|H7e+6Vt>}Ңq SqtR}qp9Ov<|*:֏Cf|sjTۨi28VZ/H%a2SoEr UU&N\EpsSA4xM%\nq.RPn ċ/Fa2UPD$i]B$<9řwYY&n:AW(^pu#šWy+0ܼ]ʝ^p 9= kdB|o*q5vY&2 z#\YHpo\GɧSّ q=aTA sS$?/=<'T@J*lUv$J~`kf3%fb[6U\QU_gH׉tugygQWI7M3lJYy[ !E Qƕ4Mnݐv뤋!6Oki>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 78 0 R/Group<>/Tabs/S/StructParents 20>> endobj 78 0 obj <> stream x[nH}G wAq\660X@KTL,yH:onRK lԩś۷o~(wćWo>I!evO߉0EUa^ׯ" ..-yX\}Y-. MQ h| }P?jI;vQzqyrqQE~+&ٱxlǫkuL,;V_,`lB`rll$HUX 49 P*i#Py@e,Ij }ĝm͖T[;,BJbˁqeEh"X'ـX L&x(zm{rYКg71wn> 95If=H^j晎_` rՕL7֪2U?%uAA!u$2vӑ+]J̃qs~/ 'QXU&BcIrxEn e[XPfӬܝ|hѳsHIT?Y[(KI" |r!?+𝵲J#M,.AzltckսhƷ~l rIhƀB @q>Ys/7b,GkŰT]pV擫yj ͟ީq~ dda.gKn6Z | |=sYz\?|4K4$Lgc/*wNN]L&U&Ձshŀ-yь wl;A2<Ԁ0G$HB)!.1R" oxZÏ, aK؀3El z蚧 kM{mY6^2?tH954}s| Lc0]igJV}cl,+Z(XU  Ӳ;%eV[5!1ε%Y۟PaL%^kŸ˳3<0B9;F`JO(gQE}(zj3`5 id_v` {d# I㒍01|PtzBi2Sv>z)՚i|Y-lh9Bh*`gߋAeTF޵t8~m6cTNODz{ztxIX78gJSB$. L$e3ջGaw@ٗ GuE<Ϋ[ɍDݲTX*zA?eZcف7*Qu)vwm xܭ؄KFbL'*V!J w(dw#{IiO(HAţUIm+:xo$&{0hэi'?iS@19J@DZx}q\EaVl$-a#K؈3Elęʌ$eFEXD_Bw-c9{à4汴"S˛; r dXMpCI?W. ia]Ϩ-{BNPd1͖Q;#/埐 j}BLˊڛ.e !j$^Cf Kǒl>{ R+NZl5'3[#.h/i:T%NͦF猧6pzjlHA過;xԊ- Hը{qrlϽyb/K,:vOKeg2,KSr UW^AG5 q{,,*䳜#Y^E>I'n8,uzHY{21A|,^kv'D;'1ls7?MV{\(S*?B]S__wé"e'Ӛu/'K˧"1/9:;Y< [:hAYzF^w#c+SnISC 4#! 8"wA4V*6ze6C7h1{ٌPHƍսF8TG6DQ|5AE.+~՝r'"swϰXUzUD7좂KkU;U֬zP bP2~l[QT٦e(6)vk/ywV/+`K1 Mer MUg"ʉ^JYU.|4qUT0;J_W9_W93Q|7}Ox9OJ9u]D Af@Qu(2]׊mkX3GmPa-?Zc[6Z45iwT/T[B_MI$sw)Ej_Dea+X2Q1NPӎAt\K9Oq*}Fi*_4ilY>Xbz1Rpd}m`O:RIHֹ0"$v:wH<3gKMIS~T}Cvhk.4NL*FmN *n{41hU kb޲V0&0x- ʝWlv"b|2éF#p =YX >kQqc"ɍ}=z]!)cxyC%#u?/(8Jg)0P˙~/gmJٷT\!tR*ɧb5W?L^G߃ik?Uc:{)]9y/+$qM`&[u$ʲ"8fU y@4&Hn:ZwNM)w^ ERXPY\Dr)8fE1_i:&{C ]r?s,"SǓYC-M&qW-wNHFdڨF'u]kUr*NN*T;-HSnE rI5 {0j+mxu7yBap\ۜtƄ`uP%vSIabCt۲\':i1;q';s7^(^1lצ/u濈;3.b ͓v'=_ ы#aY #uvf0˒ ˩QRKAF>+ZS㯝+w82Ncm#JHgU[4WZ%, g2KR;f'lSuhb{Θ:+M%w;OAJoQ3}+MpJ=}l*7VĀgzZTXj* ٵ)ʣ$'i4 +/ y+Tel>dP5g 5*x榝Ğ qm\%YG*3&Bu;gIind4{-֪pkX1F(.JfPo3yyq^i1xK endstream endobj 79 0 obj <>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 80 0 R/Group<>/Tabs/S/StructParents 7>> endobj 80 0 obj <> stream xXnF}G׼_ b;&M,}p@QB;gHɔmirgvv̙Cz5YӇ+0.?:dhl&ۊPh*h,zįǣ5/\C?4cfdLؘlMXJ ~Bi[Ffxk|UJ^B;\#+jo-rRc'=e7"?tʡ*:$'wͧ+ډ%`=VII %ҭi;5R7x3/|)͛]4vrT3+݆:j5ʥJlCɔ|w?K\z#[?pUuEr4YJ2IA&7 ďc&.K&Z'-2lA9p@ U8 Ϸ=so ]k9Lc7Ce45z|DAR%+Qpe}-yY(@φt&8kFOI@W w3;Mؔp6MX}\~`71+6p{mK3o /ʧJwYʜ$TMĥ^˾#>WG(h:)W쿽i4 G{Itn ^ȇNH!O 87q~'rat.NmR6'`3wXHg`KR alT+\g|3+'&ě5$YUQV&ͭ>CgLĠ>59j)<dJ΢y[Y~K$ R<уc]&DگơsCx.fvtr"$Z߶u>~b6š:]9)jȻ}g}c#?TX$u> stream x_{u;fmve،;?C1C^kXyPCvh!4Ye,5AB18I qÐAcXc&x =gtWTխG.?~-[U}9pVx<>+8::R_ ur:r;<]5Y׃ t*/l6s}ŅtOSV+nժcDFZ˥$CW ؖklҷ+X$6$ba[^D&L&w\a-2'o|F pqqjlગab@6`0F_>T}5E|&h#2C׮L5tӖezܲZhʬq'v Pө1>zIZZY Siph|J eVRFCޣ)5؅V1rѨ驦 vW1&r܆,79pc :@fT7Q| dٻj{awh>ݨ{{{|9Ĺ+MytjPA#ػѩȈ~Rlf1b]!uǑg{o3mQy<ʔ!m<}Vʯg_|=*"}K>ki͉p=89|C']!IzGw!Ff1q5MAn` 1Cd2)Aaqr2B2Gt^DUQk%砍! fܣXe[n{7:&,L ҮxWE)H]3:=-g|tyžN||/?*\dYu CIhZM(ؤc OC5Z4arB7ۖCⱎQ@E=Īڎ_ =I#56i;=R'%% NM+-yn?[K=0Q$#hZձV8WL9P}ec5|(? 4u͐ZIOgTzj'[N\EԿpyB=؋n|"ۖy*~kJ6{ +ŕ˙Lg(z^s}fH(|t RRoweߋX.̑lOp[6"[ 46DizRf JLe33%N*X',i =#?k'qKud|Z'ldᩒʪIO=Pm<\{4]|V*W%1Iˋ? ١@ bJ|@ ?,HA4POvː8KANz ֭'dO/M1bTpmNϔjbU3װs/}o ٯVf?FAntn )]g┇WS7Ut:}7^NWqG㤳C%._1Uf 1>5vOFC\M;.)@1݈eOB|^4q\dgǗ%m; dMnSeٹ\G ו1grv0ޖ!8*V1dzQ *91M"3ovPF(c]v4%杳=G%sNm9zMmsQz/q{|6T~e)=͇ڷ&^ď\sKEҟ t:+~ :u~raȊ"c4yT U-z4VK^f _2*BcJc'CTmg"1jDd.7K{;\&(&&8I;"~Kiv>91 qcsnƌWrA'G_T̰'KL!c={$礱ZlB*Nei*$X]zpWw$&5n{uI30{Z* z=B\jg].;^,F#f&+XV0K SGe5nK@OpL֍&>G!B}&W=uά9Bζ{ Ų^YrvR r>ot/Ŭg $R-ߝ D:n2mzODRQPn# o=}g@jPڊ2W @b/&sħ[|C"#/3zb2*hsz/GOe.>fo{xgE9cR+*Smv[DY+(Nd6ߴhQP,MCߔOZ] tZI) {MVJٶrD{WJ6Z`oSKXݓ ۔4r'5nT/=iKH '2 "zϡk_(GO{WΧe2so;`&ͭ,>d 9I2MGөZ%N_EG%1zs}ɞGCt,pJHd8Wq{ܫQ*L ^a5nUKES ƧO]I'#[a0Ȉ4 ]zC*Qym)O9*ݸ9.V+͒O\*z&Rk(ڙVᡮfY윜O鄮]|-͂Žw4ˋ"t@v1or/ X7mJXrppຽٝfE[O&5; ^ht'[#WVa}|љ;;4~(k_,r Z@ưLx\ޔ @n˃u #Q4{l?V&`ǁ 4Ri!mwu3돮iTAƙ[ 5rwuޡёzzG.K60;ϫoN @!Z7)a)ަI"mm4'[ڻk6hS;r֦[@ߡ RrÒxr,^9@&SߟCoս@Ţ *v[ox|͕?Ojjí@ԵvӁԜs]l4I$itf^C{%.m,|jJ2g)KLm%*2Fy\w?'??Y^n12Ip8,љYI30L0xTim h|Jx 5>V_4=m82'l[n: 999a(L}>qoĎҷ??P!Wx_EY >z^#OQO-wtZN'tiH609A@AOOOOӡ6%ۉwB!􍄜R 1|!MWzpc2ԇM/jtǾOl@&r(ȊNv,/̔wtt'IMr玣H x*ǔۏXZOS6 :.HxpH/|pv 3|>>A\Uk'1Vf^se1@Q#Y\=5H;?;RꨞTo|ףwSO&={t3Ͽ;`4[3E!exzz:L@IS;EbHMbrw[ہL90D2Gr uqQ#f#y#ye}.͆ Ww# ۍ1$ГVv{5z0߰?HI_tj5efV!Ew9$TzћkcVBzTubN=FMхRASSؖz<0e^%\+v %;g5\-$NNNNo8;;SAY.Rabzn@t+L9t}">(1WaSJM5ˬ6YURb5w 5J`YV Hu0V8=aW*nNWjBVPFg,d$+kKf3 B[+V94$;k: ]E&a_;:z[?HӋrHA#|||" 7aUMUBh(ҋ^v"[g2ܓT70zM8gXইw?JwZ#!7 HIt:;N5fY1 jex7ivưll2W~nK;ɘĪ_ 'Rs֎CR1L2$B$j w(RJnFgLVOÎA^^^L&$Ht%ƬzHHE @ ght|$ ǘ@rppc:pPIȳt"Ǝ1:tz ]ʔ|r*#];0c>z(tyIW,Hj[ANr9ke+?m#xrrUť ]"VD]%B@ޤ>Fz¥KϪzC-FDj>f]'c"ϝR'B9w#M5#7;N;;^{+[ʭ?AvRVΑI#G+!զO}w%#5HPè5E`D6 Ę$hfUڸM><S>z4 aW+r0nT{lxiesMn%s ,{p6 -wpE t(& jKkavE"Y켕J<pF4TBŊc2W桤fp2o> =*iU3(TO*W}t !o}3˩rq0wi< >{US.//sf{~}'}#=Y_vÖlS_:ק_ jE}Fgu2nAHSC|q6IKU3 y=͸{|Fe:|[e'YYuI^ZA#Jfͦ~CS;@\.vzjXRz$3:=~oG^$"c49̝l2lYbGqG)ALeǢ?D |Ok#7Q( (IE(1}h41ʹmvQ~YPzoƦJ{?O@~_SпlG?02ƺZrp/!'gAǖi]SDttF)Ô[Y{|._Tն*(=Ing H{yj*3X<~_WD fc1/XsbHD~W)ڵw~j9/cmLb{+F~cd=v%zl*(= $tzmt.GyR{` XL0wYэw2F_#wJ*okNs}9zF8L|2Wpl23B7]ZoS=c [H6OǢu&e>|OS)[IApd]T锶r888`*Zեَd({/HQw?I"ϿĚ[|Oɐھ>Ja*Ōg_|]INJeٌJ |Tpg\m$*K7=􇦈۵g'L5˶~J}0 a.B.`l&蓿VnofϨLG>6UNX܂@bC-AV=&[TK)mҨ-b>)gI,_U/zpLm=5ui3jm$ǀb=kTO z*䢞Y121Y-Њ' 1ٟi81rѳRSe$7]y,mRH8":]h+<#TP{МIV{l҉GK?n6O?Ug }9/>z'W:eNkHP٢?l ħTn39"'X)$ܥc6pM[|,kX.L4F#]1˸lbnh)$t>30rΫwl2+ڴrW*͐E8isN{u,!ڨt~mXiS}9Oo7͡tTqd D͔ЃfwI7kV>/' Q'83cיed" ]J@2CQ9)3Y8G%@8YHddX'jrtttnY+FaeǬ߇3K8#ұ3$DʌЕ*\TZ̖;;fs8PCT齧9RE?zrO>/vfs|Xj2G@¯Ě`SftQ'gU}v*]p8lӷA bL&sN0K ԭ3H5s7K6m獄?Hla߳a%(\݃lx9d&{޽ĿI¥rg%Yuޓ`~vM2é݆0.`䗟źKgc\F94M*$+YZ(7'.//*L޻}bb)"%Y/l~ݔudg> <񎏏Bysj$D`PcJFp*#oa?ʃjɅzW =Z"O CU#A8EW#R P}:.̯JvqS{@Ax$? {~WIP}Fh~ݏ~`wc箂re^V_"xbAR3[)Փ30^u^WGu񃿇{E!)?CPc /:D!l7JQ=zU{tDmh bh2z fVex:* Ibd=]EٟnRAHی{ >xA~My=)i'uV<>znuԭҎRD +\НaZ>k^F`(W6EϕJBkSȋCTĨ_k4kɗu?狼NPzLRt?Ê'O CF?MD*&κQGϸ6cNO+RS{wŁ`xy/S1)fY ҫǓ$۵Q̅/<"xo3#^ D_T_*Ǣ܀wM(i2HʔEL)&N;)FPVYqkYJefB-2?蓿 O_AZH1Y{ZҠƝ/j7{0rI.b]ħL%}/Kjd3K:Ͷ/9e&&736D I)Yէ W}MfٳMO;R?zA? qtϩu5"pBqiUN{g(zǡ0BMfJ]iDiuEAj>S*{oٞfU~8C<,/.P{L+ }%{Bٻ2gS3%[|Ps2Z[?V͍[j4>PFw2G.8BQˡ~z)Ҝz{yQ-a9M%z5 |쒧8E]{/7C*cpL#ѥ8I•Ϣ,鼟*/?\`KsL: Q8<<ϭSOjH%Vm";z[ ˎ^Ɏ6/lGu֒`E>'zCZYLG]>'O=mjNp ]iHDt-y?g7{O'Q9*}NB^CC*khdc-+\^^fH"E{-V-T *@ *gA~hbݮ@Cla4U3햬zL`Rr@^ePkOLZ@H9S4-`"R`OqnVZ]l4j{Vti>װso]֘[`["[).IT?6A}{< 1뱳bY,FCwm|ϳcqNK{7ʔ&T߅I5cJ)O2ٝAA%Bnn}>== 6K>Nk? 3>Uĭ)GU~NZ (f)[q8 3`CЯ ;Z VJ-kk'}wY ;)Vύy@]Pkצ]UMמUhhG9楊#rw"ފg5\O!q#vE2[b>Ja,Uwp:^I`[ZD K#T̕W cZø#p$/ r1b6> g6TlB4#UZEZ/i-law] X/8Ʃwp* 3sʮ3bc51/̫)bJE*`8,OGA]C]PCލzn 反(*5ʫ7i-\IzpFq,w͂4DVSZCN/Au:pX/5kp"R_94L#igl'I!C{.?J/H)^T$3'm.R3 lHG9֐v: 2z´[ ;_V/&4Sɼ9QOA=B'ԚKVl0f)HEQdG=E P>>+%ss<2xf fJ7HDQ+RC9P60w-x>w˗?NeR!!-1Ll&HBlv9R؃eГ D;F޻pOzk8V叕˘tkdͺTs( e ]-^<*@:/Lƽ"y5JAb8z-.|Ji Ѹ5tjWi-[ںl7i}3Pf?a\^^.[x qjj$]p8t+ٝE&{W!x}bO;ᜤ\ya灆JnRﱨ !f+B5dFd7;)x/(=йgow/uc(FsGhg|`幪6(^PZFJ`SY#+8?V&b-T!'a ԏkeʼnvKe)ަny~x PWB^?jvvg{;3s9ߛ?wwf| V]~:#x yܣ(4.FjJ੷1B{tm׌Wke;R<'rf.pN; pu*(x<&2)z(E֥JUi<ڔ$ 3h8坋<]:6H*|/K /W ˅ƒ5;ț-W:[Y:sN-ipws N*0?LRI~ǂO @T'_k!#fc1Sy”JaPpxJ.جxYέKI2Ii`ߧn˗程adG,z"jµbPϥ#<'rűWA utzFxL$eLt]t}5˷ی ːl*$>|Df,jARV#=컔epAlQe)^Fvww;yp8DƄǀ*I}E)lzJnmmy]IQ"O7h7Ŏ9wIP! d͌ {B ¾V ^|ݭwttDgx_萫+Cvʁ zlnnn4'2Ю&EjP~F=F!!Isu?.b_̉'.!pK# w8k{h|A=FX$EQD&_$ u:]b|kMUUwBK8oFe``K2VfՌf6Q{ŕF(j7ꏸ~mm 8cNOOeEHSt]sb2Z]tRu)HهR(Tt8m3"K; W^)P=~9p:1IG Fcti/8RIa2q{ͪtUzk>3%4Ph8,T\11cTu@R͛w jzOe5PGIqa*.W$\V͔Ø+ 5Ł[Vd'VznY'Fp4Tv cd072Ŕqs( c@x[FK;TQNTc!?L,BFAlMť9nU?.+Đo.b^/wQkMŚ|[kp8tdFי9B\ q%R "m{%4PBA`tb+ 7|U2t'\:0bO36O(ȷVKX-6@þz$*Uҋ'n`u)ܫ‡㹄S.N>{F{2P(gwwl?TJ nuj5*UD]iqp.nFFĞL4|B+A&ԑԍg ]9s|dJerG5dKl!(\Vśi?.0ӾK/h@39|.U{#W=DpIU|>e6jA!;x SKq>ϻQ+.1%b4hCT(x cL2ߋV(?a3e`˗/7up7.n9% ʚ5[JQ)#-W~n~3a^KD2j{pcp5Pϻla4bGbDHT!VB1ѫ̓]%\/16G766&(nSug#nWKD'c;k|^b(,(T*zPV|A3M,cZ,\qq{{vF *w9*'[Xd:#ݨeYUGLEX eLW7A;X^s4.Td;ȋ3a"K%G~vQ~;Ex& J9GXU :::ݢdm4YY{T fEZˬ@ݐM-J<'nۍb#1A4:'2#fU.[Avwwe9/+"n_JJg^`Ǹ/!gb1腚59hjӣXZ>-qx|0bJ~3كm7a|{rNfsDfx\RvX5r, W}xӄ\xO&i 6 Z<p^YU#f5Hh[5ҵD捙ދ9!&=y*A?s,zO"Jj#'~X_DpBnໃvggGط@` ]{̲ V|*+-Ca\TOF$%-=暭z_̸z 5[Q 轋.E7{gIC@>>1r)+Xrh4bufxi: L:3mEZx>I閈_®koz4[328>=4ah?5 WtGW]Zz/\Ry1!~t IȅtOV59,W۷3$F)\uBhK!īyVFz ̸wzOn d">'u9!~(Cڑ0zOmsҴM֖]Rsn@ǝ1c4hOY 8i@(UЫ^0*mP:D:"ETwB'~K2>~;rլN<㞩񎘿Qk% 3焹vѷckDd<21v )2 |^`Hvŏ:!5HeӸd_!h44=2^O- wAQ[^ɮ(DJmj+dx}zOMb%`2Jzd2͂`Й)|AW_~\ܖ\-Bʖ`qm{Lqct-Z[sh_!JU'+ lz> (xq:B<dlt$0h4 F KlGΚ3㹄Sj,ZDu"|=sx[:>.}v'>dYU.kgW@26PŜDN4QD0G_2wM ymgbKz",'P(b:NGa| 2hLٗYPS.A*H{fzo⢧X@#{{{:8CokkZë ^O>L.v{4nVYv&]nNHF(FX łO͆\)ԩwt>ý"QR GJ+w"?7$е#9 U=>>FA`R_:y E;sO©ʖ$"Qqj ҿhb]~ ~$"^iOxg:; - 4B|%?8"YkV7x2 J .6Gz/{6E)LJ"sl([@Ł3(S%[d1+l$nb-u't-] C$PZߐaEnlln՟xN9H[*{FkNjh)ev`K.N9C(C3kkE }wzq3NG<]O=Z7 W+΀Zɾ<+W9ijr ]V/"OB(-pN$gY<:]z[nstt"lMurFitDӥZ?!Ɋu-["2VAd}Pb7iQ09IAq} OInhTQg{r( -yOGǬNtb #oeuё=a'%ġ%գ⃛(V*{4 DFΙU2ψRó>QT:(|5dk,at"CzOha^E/Sb ~<+˴H-Z ޴K1+U%zq*|1YjGDy&TRk$G/ֵ D`n,ZktS(1=pL{x RGCgAz!5V5g6.[ZK \TOEd+z;;;|y^`ofrDJ(c>#{$)Q ضjJIcz<7Y}x ,Yzhr|ˎgA #o!T;-߿G D* lstt$'S{@Y[oss3i4M^#G/(;}()uVmgAɁ&\}]bN2w CzG%2Qr;TWWflK)2ϺӹT^{w+X80`qObO ֤fk>E‘$aH9+'XMw-R&eEAi999#.(h,>U UnY3s{JYT u-2]aWQpho;厱UUDČk~KQs~2(_z2J9|1% C]Kt_\|&*2VL8#'z{̻ į)501?|ї, o .͘` ^>ce<# 樘=1zP"}gjL]FB4@%걽ZP S]&mBR3:գ Ovp?""%k=mudu[:op5 |ט:S͍YpD 1̥Cxܛ%V@=h- Ojtb/\ftm=t/&~1CRk1͈jqW ;BIcUOn6$z%&8*]M!s2^ yQ^"P]x#'{|XIY$30$'ѕ* 㠓{dgAY3 { l'+( 1̺Z~\OYeH/dk4IGQvM/ુ!=0r DhFV`p{bޒbO7KOyܖlp{Yؠ% ą#<~?Q0Smq`YLVpu)AIr/2{SKr6S>#fӅEHE] ץa (ӈj2}4 s+h4"iEɁdi#-uVNḷT]SɞjL^|AXoRMWG70/*e4Rbq|L*Yû` |GL"x0"%E&"pցq| .6j`R_yH>V`eԪ=4gpKJn(0M6^o~eU츼↮Q n)G);yyq]q4JR`n0Wz7lZvw4D$ˈ sɇB T ͕e żrKNbi(|zLSauׯN.hIX{`u&kǁ,0`n=+{ q^:u]G|*00C@fbHQ"]9oށݕZޞn |-m!|{v5(Vi"ko.jQ\axeaEr6˯` t#97nZʗ~50P#IFtP)WM'+Β7Qz, n,쮬Djf4/u#kJvqF.Ɛeq|풜 $B%A?75;Կv(ڠ\, 3tN SwW,=jJ5 Rz/x} 8Nי+ ')qiO޻xZ_ax6r許=. g(nurO<#Th<ze0jm^%Lso"*ƭrNS7Չa Y'N\FEF̧Vt Wh9e W&FO[a{OT+jB8'gm:rfnL^f'UVRξen m;97%I7ȩOO"r<f3U4yA|EJ \I]R8D ^o{MɇJQ -{Ύu` ΈOѕ/"|  Ԕ5.T {G| suWӴ+<}Gυ +<>r~bL/p0S$_l+;)wup]Έ@Q`޲ɫ8#mFmH+K."fzL&]w0)P .|{[UF<;rMxsq!CQ|;$봜a \U@EuxшM"0OGN@H4RhJN šf sÇ+|OҠ<۶[ĬQct+W/~D!?aS PeDfYO0շ`hPߖ g/Fkӕbbkj$uJ0_ef9Q] _\`9MC#D胇SZEh( "ߟ?Ǖ͝0C mCjr tggvRPL\ n^+$g"ns 2q]=wCWn4e"9 n=L&g#h/"Y@zlȦXgŽ\32lykrbY*G;4O}S3 "9CUكOlVlҔ #u} -9knF93#{kԛ@Qװ•LY32ફW*ь]\@TR2TcATf6q $Jه&1G78Ak&]*h/m/} uu&BJS.d(EEVcD>YkN%f!r_4εt]nFNGF 1[&@Ulmmu*r2O;RoBEVHg Fa )UKKzO/M/i}m8d;T2§D7t0q/ R16Ȗb} ^#{B`$A( 2H:G,PL*S/#v7Y+S]yh *BYXc(ŊǟyL"pxM&^fGA+tW\ukPa:YH}.9JZN-s5"AtvW5b)*EŁ+2HK('cuH w3 ̓f-~-UTK74jM= 3]r3M!L1惎OiaeG_<_ciLS4>;:O .CHߣ>,¿2nlژWDL25 icXq8՘Y0 z9>2 V\L=Rz/=ё~ 4)=q[Eѕl`/&˿l~m =?S?}4>tJowwwcciƜObz,w}7ƓT-{[.ʱ|'??+~~ ε?1 ({ dˠgϞ_ˇ; EPT''k(e3/}VG<|M{);Jf0YWdE{ɗ73/}^o?/ tپqd2(?~^|ՅiѷGy/-gOGw d0YFr{z?jqn} q .nQ@#_?7X=;nMO\&J/SA?cRNa塇Gw{uyË_]| S>ߛf8=!|l4@ݝL&:.Z{`?!Rg(^ / q'h=+r|XQj>X@ef,? =u4󹛪H*'\H4M8(XR轀`"z- /aG8[{&_K:/ ^/qU/[}$S9$9b1zϋ% 8 .28&4p?#zϯ% *\C~3$xB)k'~(Cڑ}]sͶ"Xt:www!C:w =C<ŊJO| KOOU$[eh(i\`{^,r}:>w-^ޯ;Vm|Jřoz: 3Th2O8. t`Npu`w. W(n s=zd5޲F +c.P}`ySb'Tzoh1KˀDsU=C%gE _o[t:3}=yz ;DZrz y>5]^N& Sʢ~]zхSꃎ/OJz(m F-\X9h4G`ף- MY^JlX꽀cfwi2t.g _h nQZ侀0U̷tra&`e /RVJH㶺]T_ԠVd2!t'A /knkEorftoa,Av1Prph`wI^`Dǽ^/t`@= [zo% -ZX 97yTTV-2JplYG Ca1pECV5M{E׭ =ǙN(LF1S*jߝ~έ洋o}>@v۰Lղ(bApj%TzoDgLw[Z_Xp-rYRuWt*=^gPxMޏ"1W̷dМ|v)ދ=9>>'Ǚ v#(+F^|K{L,5-b2zO 6Ɗ.2[=ߙL& tդnN6T / ޠiQET.CSJOy^D-**pz0^9UUaxbxtUV,hͷtua Ʋ&cJO.c'OVU@h4Oc9ߙH9zo3p[:dKm7ɘRHj ]S{2$ AyqvtthTn˽3ދxÛ#lz f9Lx9_XTK݆ ;;:IruPwN >O^{^R4bW>Xޣf;;;Jl6K 0(eऎR5Ɇ.`z &h8?|kagWscvT"TnK2oJ)vD,ZXeAxҫzϋpYaz… yeF!|ˉ;gE~%Rfg_&7NOO2;۝NgooVXXyܝ9ʙ`z/`J}yjAtJl,k@EV!FH5D su  =2zOMd={I9::vAf.PbcYX)TI'1JtSzo8*RvݯzσGln=H?| 7[4 @GU"v%e_<~^'66{zO#g] bGB?úE^X[dϻIs/.ix-YzH30cƎ =ύP;;<>Htn9򐮶𲤢JU,,t xQ ߃hՇ&NnKLyL{a/h`].o˿'^\}<%KTDE~/U[Z@!eGj񒃃Ϭr7n32/C2xHVK~7?M?o^~4{2OU4ˋ \{@B3fɐt:, @^k< r$ x/Q]^\[~鳹 ЄzZ謁8BŦnq@}^v胇.0ʯ;򾏿6P7umh]"/&{Y!`yf~_.qC/ 2A*O?Kb]\~9sxy5J;ҢR}Fbe-e^DX'?}b_ws`/<)κ%\>v<-0$qTh$+] "h,F,hmhෂK(OgO;۾ʺE\y-yF8b=x\]iU\yp0(vss{eb0A5;7_7g]T|/g|>v"X`M&(p-XP{9L=o֥N~z$]ԃ< yv\squ8Ր8{Ł*ֈ27VC'm)pa SO=G~ tRʃ?aNm;88w(ImV+2!&+]WEV+}ēT By芚8`#OT^&5p#wV]]yTqQ~gg'Qjm@`':wwwc'0/f P|ڡRJ6u=y$V4KܾHzGΘbw ti($܀Td3N&Yrm&ZKs~V5sZg؞|p9|@ATaJ`nyuz/h2~Eycc}"d]= 화GF Mh&`*%_m!QNtpp mx HS$'];L@' A9/`ԓZ;4~aý]4qF kl\ _ =Y80``rtho.ḣF !|!pB#eb۟sͶ gՙYPPPq,d2zyW)y`qtyJO":g,`Ͱ0=A*dg7,z,CoVi1CoVٲ{tw$a-̾A]p&@6S"l̹v5`윉7ͼ,qDeܫs2li.z9x+Y_Wx@aOZ|Qx ],<Òj9>T#0viPڵrěf]+LSsKg1+-]~ m67pB&au\FK`cP˲"KXQ lQJ7Kl˵["˜3&w98 ަž f hJl2[(Жk 眉7lt&Bª:fXގ/#G X8\eF3L}||d¦ө<75oR0dMZ;WY6rum0ﯺvÛsěZ]fhy9-a"-Ok TSg }-ZZ!c Ed5ɿz]4YNl5Jr:;wsZ^NE@hjgT[rT{/,gEв KI\eΙxS˻7;{V AoYc#/@[D[ ȭZ9Ц ]9rs̵떏ź:Z]:RJftj=\c' Yh)3<::RʭӴWjL7`DjdBpʵlc09%w>>>v^g&H0?k%g#=2l4[ 3:aL=WE~X8MLh1AdCcbmb^`xy7[, 4ÒJ8Цq*ZtU1NYV]}=_M))l3X:67Ƒ囸Fd%8M6zqfgkvcFeE4c 4(9CxUb^ޫ $T(ިy԰9]_Π[N[ĺdH_鎟TuLَquפz/la2lmWeABf3}ת]_ԈRkhB-m({ә4$^8םt꿵Rƴwye2_~i=HE?gOޫbʶuugjW%I t3t43GtC`Q/V%bnֻP,Qf\3 &zp:Gcb!A^Su6)K-.=b^ޫM7^%SM+9ٺ5ϾS8;х4 ڦ<&c~9,UlL9OWD].doK5[lX*)Uێ^}{Ρ6Wmp^bki 'Vq V7hё^WdU1VBp7xQnh6ƙn;]]0WcֵȺ3yKlRˣ}[lKQ|6r3zKztRǔ֭;}J[uv{.&LlL bosUc)d6B Yfɾ8=phC8usۮ+^3=ClUUlLKX]ڒ!*SQz>,`y{QY7nfh9#w@m툽'3[钽RW( )[}]  &.OX8o9aCh'זOz1Zb`*L-^PG>zO7ۼҫwvV} Ge[)؍rݳ)d{ۋ?U7nzK{CkbOݴ'I5?k Uy2xr>z[MI)3ܕO0K0wi.⼜κ&s}pmjv`P=5%V8c/ъ=B$g5sW1zN'@4{&.Ϩod30cً9x?[V)tݢ@D%w^ ͧ+a¦ۄe] C^ؚ{>xh{ykAg_\ Ll?~/jlBAӤAY۫/Ha h_pRْ.̋r}ttԚ{xx`;fY94{B"-a';5."ٍ_+zMoǼ-A &8wvvZn(憽_ҥX{}e$j#wdط05yfڱEijq]ظWm:/PrN[Ge^_i_=X9>R6f ,߳:9= >qJbt-dy˅E|Xh^?,`hV%-b2 @s轵fSsͣXis) zO[bEKp||z<%N(vjrwwǖѿ}6hXbI!#^V5Kyյb]Oo3!u_f3E>%TQGͰ`ixiaulG=4ՒM x{kkDfӗjx`"w|3hˮ^l:D#s1z؟0bX,hKAD_wkdRkOg^FٕQerke~ye܋g"ɖP AX-[݅%U ,K>?!zN=a|cJf5PEHb)*}= Bߘr rϓ}O4Ѿeϫdww7v: K1h4b|oB(ۻ{{JgrC(n/1ihd2 rZek%Mm:SH+^c=CJEi,Ԟ.{`DT2+K\R7nr){ww'/@+̢P^rssS+`m ?(NX;NsJ/iӍk͔W/=dcOzƢl]f,)]d &A2ڞ F=_1u3U6fř̄iJMe&_Y]{Uv@r<ŨJe?ޓN 2{l!5nT'9rzwgg|4?\c2J-ҤJ/?ey>($p۫X6J16h=8\4FzOe=Ȕ27=|SXoNb ݤ^$t:-MH&̱2 BPZi4]ylTzϹ4Cjf) 펖\&nӤMJjBVYϛ Yd,YF؍*)uWbF+Ǜ2[Q%BԄra^]7rT_iΪ_Og5|ЮFD,뽒vL6HeWxWN7EXݩOH$fЮt:i2N-Eo3anE VM6[dbtBc,H%8A6fNc) H'v4n37@=xuuUj,s4mE#'zXE}f>~>z!;{ ,$V.R g@[3vzSe`YO*$?)аfcAś͟~/|'}sj#۟Ow?( =eis+vSz0_}U/ݏ i>Oao~CUV~Ooz`@\nnnHY;;;R#w;{%cڊݢMvyɖ̗~LojtY/~`d2999q `'hKy*5`Ykp  Ģ^y5{?$'>R!bAsSwS^&h7Ŭ()m#`V&8zM|o߼'_Sy }?l9Mn:KH2?,`?C:*mCy]__E,zGvvvŸUVsאm [,..ӀHO[{j߸6niOZ pE 3QG'Ety5(S{Z<-4\|z}[ !dYZnd-HV.r[}Qmvۧ;xNb"K4՗$v6х >wf͉X[vttDZibW'[T|xYHM+ a=}O{ceD&>N|X,2SU:76KVb#|*_x k/_UNO9Yb=-D(YlrC{l29oDJM|{@C3s2;/nK!P-ش7|JLX+W=C;KEIUj7햏CG=!'7nz|>R5wS!HǤf]# \i}=M jG,f>xꀝK,:kh|M "TY1qégzUݍݢMnz%)d2ɢ*j@s4]]]ag U5M P ߰vERg*2Éy5v(Z?ʜF]AY)D͑pWIrn XL|{l5ٓRb[ F t @sXV׀,&'~^ G?/,#|p4e/6z.K-d;-H&&_^F轲#W,"`<HzծR<]]]yГ>!TPzfK/}̻ރ} . ȼgC3:Mg1w>Ǿ EXէ&bZ_^Qѯ|/ZQ!{YHu&ꎎHq5):(K2N6 *LWWW[@L& `К?OCy 3{օԩlooҎzj =-ՠ.d4X,fAOljH}Ý{ʷzFf|%Lda]sPd fWc }-.rMA=]$ڰTրjH߿?+lqStYb_&Y]obZ<ճ.uԁTQa{ڛ=^ZCM=%7Ϩ&¦SӪQ5Q&f=԰{qͦ)]o,P eح=˛'zoW_%k[{د[{i$czTp;e6ٿ.uN ZW5}ޅ 't@ ް/jcw;[]$轥LJ1MU VKK—/d}.=X}bMǒAkݧi=ϼ`/|&JxFڞcU iBbK6gnO'hfQdLb|ˈkV,St4u16qZ&]*&q 5!8ܥA9=~!<7h,KfBC hb8c3K@EGB\Ncq 5ò^hEUH5'{kT kC3v}{ȷ a>Sep׭ #2(ZQ&:`džh}1P7qV"xgF@q ͎엂WQa2u=Sqb{rܵ, pj4YaͲ⹛2.//`f8\oϚnޑ~1^D{ 漷置=gOqɵRv4R@%^i0JshF!>?^Q]:#Tx9r!<Υ9?o9y*<m 꽮M6 =~xxE=uξW 0@k'WE[ u/X{3xKtF 9*'stggNj")4*"#Xw{T}kP6C@)Uj"f{ ˪n!{bh8][ʦ|}vT*XjBȽgO&ov N| [ },^ӯbMfV>@% oߏ"P N| IKfJ%*, '~Dmtm@m&z(Mb+z-#"%c7 T?]UHѵ >W=Z@+{e:l1e5ț?*$O>]>${D=S@oeZ @4bd2"P7%?FW8{D=SZ.Mrss#%}3Nc7 `1ﳵK/M z{O (PȡD9=J}Q8.8;;;N\\\`1 S?z?!v#$wͮحyz&#bQ[nswvUⱵW7l&}pH?nA<s?{_(y#b?/@Oz/Kbn<džibۓokkk<nm0ÏNo_Sy_FBR+hk1 \i]$͏ ӞǓ)|g4=j_ci?l&69sag:bQ])*OQ(@jڸҺ }0wBޅ؍x˟t*=<^yA}Pb0qSo*+ԥWZ+7. [Ӟ|RRloo%`:s{~͟axgs.WO|˼?7_3htuJ\ɕUEy% 욍)<^\'зw}}nw1899ݢNrww]pySɌe;AiyVͦ_Ϳp\υ+C`ѻ=pX@Bc2~} W֨X=d%%JjAo6[K1u@#1fOuǀ=dۮ)dsPUH3J{ߊ_-|ffIxxx`/~籛 @+l 1rmvwwD*.eY\DC2;s ZZʸu[,l6,fV:0v@'),J8X@npFͰgKWͮ RCsr8xv 3$jp}}-n*GGGxAW`9l$ҁ6ȋ :,Y&H_҇cS Φ!S/nTap8@xxxrdxH{ R/ miCQhVj! |0i܃ i]OX1b7Pzǯ~}kt:Xf<){M-{>{ `iE} .A6 Lq ISأkNsĂ<4؍msxxhiuyyLbAݩ=c ?;; h 鲅dk{!tdR7Xk/6C=.&# ͍"`wuu,. L>oF4Vh.8l͎c{dI7 7ᐍA(t9`}j^`v4!!ш=ZͳT $zoy~b%ᐅ֟ĊS#9KW%gooz ?PKSw:G=&_'+`{v;%#1V#43/dLdtQ!Tl|Lﱬ~݅u $ X!^JfθV}.* YV=7 dy5XL1z '''WWW + KR+]5񩺫(^W:#X:|>p~^t,IWJpLབྷ0҉(e"Usר!Xj*J!G*9==6IDR>J+$T*nb^s^S GC;,QHGL&qx||dC`28=Z[evj@o@nagg#{{V읝n?e.}O!}xΐz!^)#I.^^^';::B&s[^4 Z>'Y! ~gIx.%܀O,>&X >sco9`r 5ݳ^\\CИ~zz $--~뽧}OC=5aa|̲]@8%Fyge4zDd[-b,8Utp{{Kaߌ$X·!H }c⣴ }fEǤjh?&Pڣ}貛t0 w6v6+ø d2999sttDJ/(L9#rXY-,[X,hNJЪ ^e>Hƒmn 1v6 O]b{f.}3NOO-`kkk<a0X6j|>W?Mbʡk:F#m  tMj.` iEw9v2wwwʯ6H=Hf~ܴ,QQ-d.ܴ)X9*NOO-f,ǹEld3]mÌH>͍ ɿtJa臅H%e.$k$B${vv+ pz/:NCd ZM\AN&ttެ hH^Vq{^Ч!Tbgg A=@{S纴i˽^'X,nooI+MR@wK,ڂ期OWkTxY54 ^c W[ߒ}v*3$.^8|j(D;䞄ɄZ;a7*j*@y{gP~yb@kfLcCS9gl K2B gl]Qx[m&$9DB"Ȫ9d%sI^99DLI@hW>hZ(.KQb2a$Cf./XgEGpm2_C[; zf`Td7u&6NWq`(5s(&lkxo[ޛ|W}ja3&&ܫ*sY6 r"uK͊ф&M4@ݧO!_ _,P7YwL3yU,.wzzZ~ohl$ޛp#qno"l6+G}|u"}Vm xG};;;%USWkpuuU~/{ m fY0Ij~+xȪxªWōg/>ތׯ[nmtx\W߯r*ܙ[?~L޺*TKGgggU777UoeBWsw{b|~zz:oQVAկ߿2ݾ OUǏ_ohrqqquL7YUfl66g{{{UU?TPi==#ޖli=ӓ ^ӛwoǏ*/qxx8ꟐlvY=+XQ#$;88XS*~K?~~?'AKg}O Cˎ ۗǽ<2@i`X|so$lG轕Wǫ:admB棱Tihlu{'i8QFP^=6ޒԇ[xx]xX]ߚ[i§u*J˞?z9GiL=H*^sw~/jt>qۜ5E.?,zXz M ;z+h;*֠<"=w!imGC~<Y.q[n'\o%+3e 7{ܠxUg]{‘}g+lLX7H 1F%\ZC˰KCrdž2_=ͱ#Ich0Z]Ak; z˰۩ެuD`bs`cgרvq{0Ooq1vW6&}ܚ0Hv\c;"Ϳl>;rYJ}c6~O|ΆJoH!DE5F *͗[翁5wu֢PnnsBdڱzˁsۻ^=R2WiR7ƶB*yrz~K]ؘ\Q:5ƲxA(gL6"r2Mf7R,k1dx`j#{%`b=EI endstream endobj 82 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 83 0 R/Group<>/Tabs/S/StructParents 21>> endobj 83 0 obj <> stream xZYo~`C?Jf 3# aZ,be q_:l-y7x$}T]_8;ͥKB|çk)dAIEA" ŷǏBfbo?\|q`r)|F-wbhL x4,y}u1XtH@*Ehy::|~i^xJhf*S?\R#\Ez&jhs͞dY+f.Y% 5'ܽ/VE9rӑ8e ~\y8.+FXARdgQT>v*,sNAӫ۩w6&GuuB"n6`[xv>We:\v%_m@r#A|( ]_5u۪!kgD>iW: 7xr;]9>T;K mȧ/"ki)8HWҫn+o+ܢnT]읐J4`gªd' ә4 !'YI@e[tH!aیW21\lLK XWdV@m+3"/|*poGlv8{O9Rtu])6 Q{q2:xoqSG*n4v_ 'R:+$ޱp)'(#bLLY(.8F'%o}7g\Wt 08Oyjr,@ڕk7=\w* -B,pd3/h=lC.c$ڒH;ݟ7$a"١k8gbpO.@QTe'}*'g(RF8Q$>5Nh:I#wx&{=2+_L@2z `PKr+fe{ 1$ohXV(/> 2gNDm4T虝ARxPW1hwB$dF~ˁ3㢦~4qM /@HBlQQ w3R`|6L0$dJcY؃/M6nNm5Ma >u/X?숰arڷ:ͳ87m/X}1`HEKd-ѱ8)qpA&3ڈʦ߫0 v& lUj-$h<Չnr#&=ó'{&$! e `֘j[dߎz'\;,z2W@c2#o,v#YYf#P}5=} ݱmUA1VARJ~يIu~鶥I`ZT{JKDQ1nҮ-̃m64bGx(wsn\z_ }mk?%07 l`)%1)b8Ouұ\Ѿv7UB[^r`[k:4NH>r\>TC`}ao:l dY{k}նgД]&5=XѰHԍk1p`Jo uj88u[iv-m_s#}dA 5Bv.i? J4"d.89.CA`pT:U/nf" h"-,Cܝx™ۊ"kYlH' Tv$Yu=E8$A),4uA߈8emby=w0)@Wj@M|-cF6ivc#E+EY8ppq#ZhdŌm$z Sx6zgpavH}^Hب|9gAg ''eM_NI߉P\whM qU> eÛ"}]^DjDsٶURt$&!ίnY2 Ox(n?{6}kmM&':M]$iܳAٞHmOA&4r gi^in<>,%|mٛ+{Nc_l%3mco!GEeLsoxm/_;@ގQ`J?D8\HL̤q1n{^q@PggEhyߩ5vu*M\sTCf=O,4\BCJcN)4ƤbmCTife00ܗeilF"2rٰ!ȡy{4ZD<,=<&\"3ۻ1c#*X WQjr`HW.OSN2 Hzm0=a`]`g{a1D(t&)1.s#:W@,uK+W!2הT^84L]l*/: b Kíj_J4 endstream endobj 84 0 obj <>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 85 0 R/Group<>/Tabs/S/StructParents 9>> endobj 85 0 obj <> stream x}R[K0~?DHI cM& |>ٕ21-Siu擒 aSC8`Bk3 +xĆv:5i(Q ~r_M|ȞO endstream endobj 86 0 obj <> stream x{p,W}D#o6D$%j)йEH}og<(*Oo^bcϟ}╮oUZ!ZCӛTqtH"I"[NԻTW* Yr?D[]mxB"Vzo{ڒ$:D؏ {^c}}BI,Ftז[7j i~hpChHv86`=5uw S; <3ʴ|oitIWOoI].C+-rQOS!J xj*&2yбT8(YqJW?UO(`A\uKM!9oQm|ŗkEb+B`;52?byAW7 ERtkz@`dʕ~w=9DEY9/W ^rtr8TCct[jmH+,<bOE+?^[*MP!JyU,zXt x(6PInSsit.q!i:SQMx@fc`>ϋ҇ZύJ941>CO4uM|8G̡+Oath: :\ yY[+3HsXQDъ:tmsn())JF|}3>M}dW55Wץ6#>V=巊9}sߵ(x=?MJ-PbA\)^Տav;#M'M]W]0vrE)-tyɎf7ŻJD{?S󫆦?㟻nMW"ClAm[l飭}bS*ep_ȰշGgIF9܄?4򽪻c3'J}DJ/_=M5 zB4­'9f*pR_$RӹAtDr.Xte!ytM,0h7eVmHf- nz+ZYbT~M?r=h:gڸ; |~2=fV+]Ϝ3`lt[ DΚno6z}h:$Ba\4J*qªx ;=sQ#=iw" ۖ x[obl̡#2]~ԠJƅ3 ?ĖE:ibY2ޅ*+ɇR>^EIj۞&j8Zَc=*S66x tI-PI[W*[U[5}sϼKL/'tۦI UD3MXW (aoPu$WKtwX{36  S钍ʘiG.soq h:xpA)kƁfer}M0*{V>Kß7۔<Ai'JIKVt/ʮ M&⁑n PO"tOjD7{eJ8(674t@jpżoĕ@ȔaWoP@~o m{~ b͑3_J!K}\J+9Z,trj* DJ0n{޿Gzm7rtҨ['iIcc5@?KM'5c~uS}sj-M!%FuP2_q{ޥ\jS~t2pE|}r, [%[ig< R-^|b&F@*o+qBmg,+_fMIFN'?BܑcTm`?KF=ߓ,\E(i:[nJ$`܁٢|N)JLp ?JCdϫE%ȣXn#v 8Yh:wli޵SHn$ dLgip_ےts*yu76A?#V>: 9yyQz;1(:Yh:w\Rت≮ɐ3OMW-T=E%Ӓuknt#':(.02+t쩏靯>'m)瞾w܄::3>Υ-Vo zFIt^(*G . -7yU\g)q#MQz#6!8-q( m6٭W'J 2zG%Q-7›ַVj_γK㦥۪_,Y)6P?mkU[߀77?.ۤ)jIOJ"t\oA_>9!xp{Otuғ +%^gڊʳH?ݾ}W^r]}#ŵ^ˊR/slFte糜||`4ݱ|GN KY'o%qZ@8s;+c569ܵuF6T%B[zeaS97nW'=/4pw:|sKa]tJ7.I/yM(m<=Q':yiR|n shzVP Bg-iYe}D}[EHg r>M1t4#hݒ.e1ɝ=k M(./xSq7Ξ} t?wÕXƕdڌi#d?}"A#-JP>U/Kȣ,(6/40Cp(%i݁t5W"(tVP|:6A|_RvޤA\iqS'̭ʞc9͌o\]@dKGeK8E^*\(޳Na̺zg.e1lVm Nmߒ25?={.yR>yNTӑN$eWXCl4gݘhLk{ jxYW3"[@7w&OHe:ҳZtgVS"W't1!7~8/vZV(q qYtՇgIq[—1(oG۟_Zbk#֒@Lڪ¥Aq)R1MEonv@Mdt>a\PC =bF^P =YQ2j.t!dd)ٻoqXЇd@SFNK'_*ee|*kҁșiIw )I-;?r&sB>5tg\Ya9JQ4=Mӏqh@L4Uz-$7M3tMD M7t;Cbtr`.%ٮ}c欇t;]ߗMPWt5P񚮖WC ֶ:U4`b{hPԃZtY Tnrrlz~q4Qs :l]G9fcccߘ:ˑzb[(5.𫏛̩665'n:6AC 9n7~_Bz`|:dySqԁ-񩩩X_'BznK:4==:,zHOFaz;;;+++3338$?;;K]>'3аZ9O_XXH9P|.s=* 4nϏ1Kl|],k_BWUV^Szh4|l;t\/v_yEb"mWY\T ԵR[o] ]9qpp y͵ZqH.=C}[s-iRӷաk CzΎNCF=ga`}4~x?~s7>];ƸBnFrB/GfNꎓ?1]ݞs-/ozqhydEmjj"l%jGr_}Կ֯YpxxHwm[ ]vww3\qrRMs_y+\Uny/&G_v.z SHv*[YYrI͵{_Zo] A5PCG+.؇CωiCO "OXKB$ŸI hkww4M':F\=tjPZ*[/Am& 0HNog)򑡮lFjH3~lyj!GCOŀQ^Ge}ᒚO"Kwq?:1 3q)O V2 {I3٩vEwK.0#JHyPI-Yyн$dmmPOg=>u1J4h$s7c2ROu9t<dӷyUHP}* [-g\\{:'h|<Ȗ؀PC<ӳ{vK7p]wH嗖 ]84ن,:eb]'8z]__w+H1\±c ~ PU<|nnncc#;L/dzWP iۼS:P6d#3iBF:$|VTPM榼 2Iʎqv@-i*u0l+l5;2 |n롫3 $'>,f988W;?L,50=OVIlCe1 |8<1|Jۼ뉓wTv 4V4V` L5ȑdku 4R.fNjiEz ] esX 9eUЋj6i*U6ٜ>yYas@IC?9B(1~ɓLӇ#{Mn@o-L';kkkFEa:g[PsUb9ȋnoͤ6T Jyuo0}pwܟsZ>}e;Jly>Y"6 N1{ ԼwɐNcQ3/NIe=iZU-eD{T=E Y{4]i~c/ߒ14ygҋH #}rr^1:CyYu]1^Q9qM^{&עN49jEf k{1 I4k}5_%;_U@"i"TqZJOI%I)q4ױ;mYMɂw"3=?5ɵb\/G1bH̨2Veys#Y4'VTKC:XG- \ǻzh:Ic5iz $ij6Z=Q?:BnLlH?ì6\kbv':7@*eFcw[ɶ7խލ~3=)Ssӎ]?︩1ONMoEdpfR((2z%vлz LD@̮Eŝh}axSY4ݠޑOW5 Mӡ 15X] o)jN.[~>*A1>Z\̈́*q\gz_ZZ ]`Ȋdעv?NONz8I1A ۢj(j&{{{zd].it:tQzjɵ36 ='AIo>n OzxIޣw#}UL5'u!S2}ii)ݾYYl6aW>N qrXM ] T1%Lj%&-pOXXPj+2jvu#Wv ZF,299Y̡0uqfͣX=N/ŽCWK,--@}4&,M>77W02ϟ:He]S;;Z'G[A)_4jzj gy]RzpT* VU2$CA]g<)k{SV(%u2#^.V.,k~$y[͇OiWJ(n^}o6SbN:j}ΣjYzԢM69tPX5RWWWY#x/--NQkCLvw , CcvsMńzJ&jD Z-o} ]ңȺ_4=*fM7s`^8\]+ujjQd|=@"AC?%UG9x:nt>1͚x[MEBtj"5Ԡە%J_\d9dCٹ^ᙦ,ĝG7 'OW*hd.UJƍtIi$k:_v">PALs\ւᇎp}yxl޺YsqTxY@(<|$eG:>Mv[O' MOhzF(e* @Ũd<}ffƺA;YAS9Jcee‚NGѰH }ɜ4Q`c PRw7F/ts5(+&h8wՙ\d[C܌]DRj@S/ MOV_#A v4OOO{* 4=9hgrF^| <Pލ.wcJ hz*$S`ZSG)uQnߡ@-Y] 988h4+/ZX5q<Cbƣ~̝ԏbzifJJeΎLzWX_ #Mq. Y Lu'U5 ұ&.P85g$Pf,:A vmnnQ(kFM{+Zq-˜ȸOz=ef:rP;m|5ݘ@9q㛼0ޙϫ73T\lsy͍FvzgUKLTeo{{;t>33:Ç*<_%D%0@gF@tq&gƯZNx>@Zh4PR鉲q!pMw0gKpRڸ16h{=;Y[[  U_4MB[\նM!Yjo:XC&vmmm҇Q8X5jݛfDAGd&''CWz=>!uRjaIuytU̓u!eUyKQ{vv:$=cfVE g]p{k5oǑz~-;a<=с &8@CWАDf8rFqd4vS.QWܖ9T 1;z8OP@L*{YC{qmt1 % \]<!)BbGI6V{x:c7"x_Sc sss@ݐ...r AMjHs}zB'"}cc#lPnSċzdSd%)27BJBҒ;ڍ,,|8$3`N$#Ƅ X%Ss(~ɤ)7>77 RٳYdygI8axM k\YYqӤTC;FDyUSgB #NI%V;SKʼn$1-vDx=m҅D^JtEpʓ|}vv6?;ֳ*k0 :)ddKK6w> /E PvxJn&3c] OhN*/yii)tuR!,a@tQIn~Z%C 8WeyCyt2vlbᤫ/l*S W\EƁ")NTvq9]t ۘʵh >=B9;< =ɡ@ۢH"@.q5%kuW|.5-|cPb$JuU,V[ .PN̠ͮ_ZZ:<|W"Hdԅt"I0-Rx( <CBX#w? },xb08QTΙ&׳M=0&#CɘCS)cx@bΤ-3;Q%F &3S^XtFijj*-W}5z'* [F_z0iKR𫆛<޸KK`DdmcD'766`6 ]J7a=无Ed{QsP˜_({姑:"ͥ[fxN]:C[?n7u! q>.%Ly&U|@Pdy_}1C|k?+s/*W~녏z S~;S=}OUs(,?=7>5o+O{|?Tz|cw7< ܱn[crW 1A GZF~\k+c56ӏ2Sp\Go^x$~왞my腌JE)*7fQ,,,3ۧrᛂKa'=o_=nca[ؖOp@+~nTմ澑Ab;ٯ7=7<#Vfŏ>oa=ړɺ2+8 o{$];Ծ1yrWWݷ<{̧^y>[6/3Rk2hmmmH6Nӷ6;5ŗ}48}#eM#Ԑ>~ꕓAGپGsY_\'Z'^L/ J:,nfS YOs = Vc{|zpG ] X3xl/_ҷƉ3^[[[__S'N㳽t ۍ%zqt~&=|u2%)T\ ]y_V}APa }u .޾Ƽҧ nZp8cOTSӏNxLw<t*FnLY#P,z Eyt)Qp5;= I!Xv zSjpAh&2R,L$ԟ*:P:'\zM5#otr ZZG.=;p'GwR K])""-|":X kPpAVM?'ƪsie"ƶK (ڌFQ컻P:)th:(thcX]Uta|<]Hm.333#7"Aӡt@ӡnF@`5)MWt v`t!th:(thzǒ,JJւ$qg*_XX+@ӡt@ӡ:ѰHd٢H|=3BXWvb~6 #7ljo̼W]4i/DLQϺrҫ^n,Ѻ?4Thz̶sOG\Nw&&M/t YL Q yM7ԒGKoOj/sx^h:5]j}`;_hm|`5\:gyO@/>˔_BqFu뛲i_xVov֡ ;k%0+v2M`ɬԖDM~qj;tƥ@>6sq53[4NjCp ?z(?3;CA(6}ΰkOq4]C~M:_1cc >4dGMZ\ۑ|q u$RLWQM>s-d.>4yܽ4I.no+Xcʸ@{1mxtn˳lll Fw| u;Drf{ . Ort6](neL& t_ԦzqRm3t c,d2%;MW87>vt p`Hhd~NT̓?S}gg'tF$M7;d㲐s4t)iŽKYD%c>*W&'\tVWWcZJFﺹ;1y*wh:Ȕ4=nVZBM7nM 6c<$g?N'tF0> cWn(SVc౾tOMRt pGrtHSgih#<2%wMƹuntu|ҪX_9X/>5XלVNH^.<\T֏D;!~ogfM\e@Ϗ*cBuOEwaRlUB-' ./ǬIXM১CUce ((n 34rCAv#UjQ3FzY=!mH9M}i5=N)_r,'Ňc .&I<;Admy4\$R+7G =cƔt,|IwCA6sMMp<>sOp]o5=L{dOj߷<4Լ[[[eWvHzRxe Wn|R .Pp5+z﯇ɠj|ߑtkamݷ;HY\re'fqqQe;tuF䆛̽o޸) }{o2Hŏ .ڗ>F6&u)Z qA(шr_}M *˭=$as;ڟ6;a^#]ů \=y+Avlnn6 f3Vfyݍj> [`yGu~|O_5ۅ}CAblϗK\Kmw}F¤Ѝp({IbQ2XFKf|m'm ڨѾoUFo~({y{777WI---Ajjdggǭ{^F ]#@ii/:NU[DZ&FZ-] U8O8N\\4.FiѸf4f4F4 O0=6< 9Op^VYsNOdL&4zE]તnJߗj݄9nIri.܏߬;\j2ED w4,]6uiT+ȭut`%;;dGEva S0s]vl8gr](%Ѡo/$l7Iv{*We:R\O2;zaZ$ֵH{1 '{`D5NGwWr<%2;[BR.Wj:l-A [n k(In0XO&.E9lM^)An7N"hZi_:+֏pg9S`#W"_ɔ|7H(XqjOȽu:~~RRF^cOc$ֿQ ĭɤK ˹X .D5Ynjb¨;jj徢Ճ,怂侅o\r嚃/#֥~]mJEUZ-1evUisϕi ]*F%T]tֈ\(:Cx$nh-8_| $@h`%w&63&7QI5d%}rI\.F#%BHz=19vx\m٧0i ~ k_wq%%"?% Ƥ2.!ިb쫃:@Q.m ӹC8psY;8K|.E,p[q5u֕(zz#oX^!/ԎW+B묤o$HQP(L* y7o4O!93onyIf ggݙ{UPH+q\󮒴(R67_S9Ϳ{Ͼ/o2S3]yT⒚:D:X9{)[ KZUxL/l`wm8-]Nއm] KB]!V]=*<</D5}>GgQwqZU\yeWpPX#+nrR7-ҿFQc]E|S{)GQ8T LUOqz)羋9Njk /"*~A-kn Զ|-E>|ntR+3;7; ~m%huK|ʕe͡KUvȆVwhu \.}˱rh-G-[~H[ Cٵy%sg9J7`E:#SRåo "Z~3@HKjx%ʮffԁ %R\ (!WցIK9s)ܸ+rz.j}y)V_ךtqTA8jg?UCUXԶ jf5uE󊕿hiaZޕ?u~Wox+_֬hZ72~ݹv(%M/5Z2#~ZF9ߘѷmTp8swu{x*cr}4 ޏwNsξty}8[,p 0{Ok-JLȴX\|mC: tV,sA<Љ~e;7߅dZ=`0wtPt5FOc .i}5$Xfˏq, m^ ^6"T| v;m*3v CrTNŜ {U˥.˶ۭ¾^}̛%@*sɓt-#p8>I&I* >}51kwwwEf~l|>??1k^O^].vf=l^{!q`ZKlIEX*뼻YP xhhyFv8.[COkS|7z֦[.ܬޞŔd~~@URJoLɳh(USJ^WK[ʫE;-$C\%op-k{=J1V>ϡGV?=S4R#{vֲV/O F9f%T-l[Xۓ~gy9ubmW;c;*˰7SRK;jR5Wv fl\3ɏL)4y#ivk[|ǡs/>m֎]%wl܃\{=3^H4XEf]5j0 z7ީh\gcy ̎3]i-Ҟau>}P[ed35j*0JupUAqdfH)LĮcWSXWU>MKzh4ϭ纑R=75ȩI.;'_=n=N/oٶw cWfm8@E')=_/|esHFʶ=z~;V1k-?J5׹9?g{vU\OxތԲKW B$$]ud|(%h妅9`9lę2]8n4ekoo],'򛱬nvޗO׾2UK)UHTɥbnM 6|evv -'p 2rQg(/?{|>oZ k.\9 Fh"O&L`249[KGQTvZ`\XIJ=>m 6M CW1&8IJyZU-Ut:z2ԔV=%(KGyX,Z:xZ1 CJKM_n rj[˖}~QTHz4&{Ua=YR Wr@Et:.JR.O&0 s=l0sn& endstream endobj 87 0 obj <> endobj 94 0 obj <> stream x\],q}`,~8G, Cnt+Wsjw\pƬ=$c9xO}`I' jy<:qrp)9ʊQhqfI"+gsZaLKNap J L砊 \hVRVLoB~Zet-5Ӣi k3mĠB\YK@C\'8pK3q@0EpNTysJs#DL%`x 2ڐB× aț>HGxi( 9Μm,D"CX B ^#zDPa\IbCܒ3B怡&|3#% іJTaΈT<N{D tTaЃa9@{De `d!w`THIpgÀy\S$Εr=ªª0yDT!<=4(w2a)0zV 6R"{̭$f8UI*U0C "ӪBDyQѥQv+uMRr< zEj{&F|/7i-`6ކ`VX#0B9bR{FhzZZX\0?P3Zs:!X#.)ơ9}*)#) RlzaZ~\+1j+9j 1B+3^=&?F|ZsZqF{NIm6dpp[2+olF#sh5Vu,+~ltUHlƘ3XWF FgkN U;clQ<;,~7ˆI`eJں ݀oIχ-s0 ""1_9J䨰c+,+clBP8)F+v_>!T/8uw_݇矿yݧ>e3? $KG7F%L'JF⁒CĴ=eϞ7OGaai4+釟w-Qi#Ϳy{87M;A㉶O(_Фݹ$oj,ā71#)!BLACVe Fz9%:/uRh/a&mڢ[of@|h(ӡA:tISD6S. 1u_l/=yM;:LhaRh&8'B0I#t:RR?%dndZ4M%v5jj6Tn?wꦭYq>HYSsRSvL0Pt5nRh&&?% ;ZY7Kȡ!<h6KY#t.M =j}3j6 L>ݦ*OД}ùa)R/,J\>i°n?7{?k ֻ~]hKw8MɊ% ln)uZh9*C̴.v~ϒ9#tsJ8 IC8I8!ҁBa<)0 2)U:)4wSYWn Y{sYȔKG ~WV[ҳ,de=>:_r:;ڛY#oOg^S_ӎeRyCY#tXzvnR׊B;@ʷZqZhH&W!i~ãAļfϧGI=H◿pQvbs8 dN4 B96/t<\KO7I;0z3>v4eNҭ:}aRmp:BO MI#tX”Pns>*8)w&ԏ:[ĬZt\b2G/$ JQm\E ,d88d(^9Lc[7M'iϨ!L]n1?}N ќ&hLЄ 8A&hM3>        " "TnAAAAAAAA Bf!Sb6SN  4q&M 2ASg|:$(vLO  4q&M 2Ac>=8Acr&Zchd&LШ lpOИn9Er#䜢4[ ]B;[w@#,zBP#2uI1o9uy c|QcsEh=Ewi:\lpwM놋aR8)4 ]+j}3ҙWU]p0K״ݵpyWB>qre7j<b垦wU{GuxGmYbi֣jL\n^0ØYl^{'tA2:LriJ+5kٺ^|~p;B@BsGhwZ b:bVF:_/|0A'heb]״i- MPcQ<]n*>e_W+__?-u3~o|{uGu[vNt8]J/zTw;#zYn ^Ut\l\oN_}ݚW}.9^A]J/zA8{_+_qC%mu Jʉv:7hv<╟v>Q~jGQ;QԎv姇(D+EoVQIT>zD{%*mDtDz%%)|t$壸Ņ`Q|C(dK])%+?:@tR^% Enlwy|Gqdmx zVWv=jK?_S^t{ՆGEz˧/>=E@yxl.zmsk|󇿽| BNy^>~_ٯvᛗ{yxTo#8ܿ||zԿ_>=<=w}T{?-ۍf?8[m]egKۇi|0(tӬ*&p2aﳁUCή6?ͮ4[/H+w]{|ñ+jeޓ@Y Z5nJi*I_svtN3)a;kgix8Cv.dcՓqvXΏّ.;ee,;m>~=фj- 6^q۾m;m#SiDcQ]ܨQ!Z8uoM68ڊ-k5H5zcD endstream endobj 464 0 obj <> stream x}j@>CpgW">1*9Θ|觇ԃl[d86ž=O e] ѻh]qvlj8{m_m6'L3ٹ뾱A3%(r%oPT<.KWt(1p-mnNҝD{wM9\uܒzR*h"R{ Q% )Ar $5VY46k64Q05 iDCtz?hPPz/ '=YDP޷"JY -6?K endstream endobj 465 0 obj <> stream x |SU}/KMiӦiӤ-in҆nB@R@T TAPǭ¸ o(8踋(U\l;3?^z% C5c}wp!ˊK>U%gf+Ž=ҲOn˱5?jb7 l<PzWO731u쵹u~K[@Pzbrh%8L+B洝9ϋq,SB#lYFb]X_w漥s/mYGƶЮQ02w 0~ ׺-hms\3傶xF2Om[hq 0-Sl=hK87 ~e-5Q0Tyr5? >khӜ/$^[R{Ѻ|TGy ?[v_C?ߣO}[s ,r~ XĿgz' a0 NnONuP]ŠN.Fval@TAh4 9!ѿWq(74xPRPPjPc/NJ2` a0 0` a0 0` W1 [8 T$d7)Za4vbYb{{ִXi2c`T_{^(Nɤm"*<3KQ0K?b fQhу-5bxDZFVN<*NQ!83;Bp䣠J plM0csa1,eL`L☙6Mcgylkg*v5[ͮe=g `1}}1-:PJ"q%_lLӟ/ЌU([;TN ^3O:erSfqUgTV-/+-).*=j䈂򇺜iv[59ׅkժB.ef٭>3a~086!/).7ĄwUm#-0yΞ`N Uo&*k?]5Ӓ֗lho:evubkYg ˷4$fmm(k1@YR@5oT[R>.KYGs) em ;,mM|^C .qobiK)nB5Yg7U$G|J[Q0M|Pa)k(rIIţ,bK hgjI))?)0&ү-*DШ4PlvihT`SSt5BrVD^IWhB:dEr4q[K[Uo(vK(8P>X0UJ}Ɋ+ٖkU}oh,xʖGYŊ򎖮U3;:#xYQ&iu+LxWPŪ33p)+k;ɍ;ux'03w-iJo!RyN7*)W&)tkI1hH Ht<"碉q-˳inGsKˬLPh*bZE\_Dz+1ql} L\QMZz{զLn:prc4zwUk xy] 6 b DT#Vjŵ„wU;mҤ~!3o1:NVx823BNj%uGG^!>:C.G9!K@3g '%|GyRׄ#_RnaR~ApS' ̡)}_B/!/xm[TMJAxwkW #B+eKi /'3|,a^ӄO6' v! l'l#xa3A_|6T>½{w"I NDH@#BpFwa-zuk HM W:W W.'\FR%>Sb*JE K '#"%'#C8pa.Ll,B+a&LANFJBLhC4&&<B=PK!L 'Tg* rBPB(&! EBh(HBXNF' %r 9lBNLH$d2B:!Jl:3DJ !`&$ &B!`$ h!z$eAO a-ACPTPj3$ '"A 0H`?8G??Hݲ-ׄ#_ _>'"|Fg">&|3   %|RĻwo e|rě7S'FJ 5W2%‹SP&aلQ>Ba8a!0G%¹f=AG'>\.! *B(!iR+S_tFsC(o.(GyO(Qv<6.,̧.sa |B;PLvCp4hB!c(ϝxQ"X.$Ӫj 5 j8B B%0PN(# I4x !`&$ &B!`i [=(?G9#.?P~@(w(~5ʧ(|ʇ(QgPEه ^QPevm(z+ gxbs gYffZ 3 -f t4TdB00!4\':Ap iT`I!X r +w"{Q(a_CyP^A+(/މrhKL9/Xx*ʊ6W\QBT0!.\y[++y.ܼ#[LP-X`z Ӝ_ihv1}VBywbWwDگm0_vI =6/-F~\ȄfaBKm[VK]h+-Z^(WӶyg‚ V.ش Y lŘ^-?b v C#DՂ]|%ݽ4hgzn>393{,Os晾ygsgɞ&gglx67xꝵ͵ vVymTnTrOw0_yYnNhK&I +M,o8^JYo%)R|Њ{@cӬT~B}οQTW'<#Pӽ<-\R#ʍM .~%r!`%\ p%\Xa5?5p-\Znfz6¦@Oo7II,yAmpGTdX-+(y}?~[׳O_>НIzIR&;ܜBahݚ&HabnYBOIJail9sb#CBD֖k e! QL/zʘjT!=OÎ}#;>IVz|YAcabV-CC6SGWiõ0SL\2DRҳ.Rm-[HHL1(H;ϏƝvu8gm1Fk5j vʚV f4,BhRRVJkkQP{XTTS0\GΘ>-7;źO3]q޽̸w4fg!4p;x-;h nb2L&-V*&:5 F6W'& u8vBg-YW<e f :-Ee!Vr}ZՆ}=o?gaSоqh52[.u\*>nVt&P]mc[ـ 98quF:c3YM2kR}>/?7 M=,<`깛G%Vߟʖs(1lZY!cVfJ#&Waem "S3ds3Rj7Kt gR ~Ucج81%ziV&,@Ӵw.6ѡY\wDi=E-v̴6E\|2 DܭdQ2Mi/쵛j7sY,OIepg꥞ פ T*Mlo56"&%Pwww vSD=<$NcuXyC,!F24;D8D 0NB9ݡa&i~&- 6;Ny0sdϴ|%|}Dnj^vռZ۫!j7}~ԍtǕ9qNqwFZ"-88Gq Ѳj]tXiTiܩ[1|x\:E=$~v)Y'EqzОmCTr9:?]?oj2*6Ռ:o ژʯ5VX* XL%6hL gJF)uj>&AdG0= K(نq.6e;6VStpH&sv|wѠ-qjR[KEĜT{YvlZٝtʘf6ũfNPƌTuVe[)PoLJ$ 5|5nġoJ|VO .x)xt:@U܎jo[bR< K 4xpMFaIA:"8$1ׁx0Cs[M@r>LhZs=57Aטɏ\{jY>&sNP9c~{+'Ѫ0$hUnVh̅DT pphFmp@9|@'qk󈽇M۞f bs4xw?ŝʝdE8-*&n QR 5LtS6!nIԲkZBtڰdI ӆ ť*oU]TVsɅ;ipTZ4ho[FFth; ѩuI*Nw 'yEsOUv{*;Q %cP> V_3GPeIMKD7K jZVVӪ{ZJZ>%y46*x QChx]8~=/M !]|+oF̗ٚ\sI>v+ul:<Í7htn6++R9Ƹ.alFG!%6V6bx:{lYqٸ-<Zqee;i˙?Em?>}hWn>eehe!Wu]Pz^a=$[*S'dR5*YDbVrrVbIP]OPg>,βhQƒm~WsD9/ GdCFa5%Ѱp3<SOFsCpn5׾szUs%5IqZ8wNp{GܷdL岻EO.I"^.j <M%>;)kW{#SiU NzSqF,On4_!ߝU^v~'?^lF[.2pʙCi} 򵸾0N4gKI*mfpؙ|160i^äe~ x,wP  5+xHdOXԄ$aKkq{&d ǤT'ƅ)FeJIKQtbǷl8u;ҺKF ϾwɘewM>A-%JalΩOWu1L՗^~'bmnwbtKĝT܄|@zr[:AsvV⩢SKbbJLv{êC#r$hdӲCΆrMWLr&JLoQy'U+5,){\n?oHIKǜPVP[Y)E+x#ܼ#%'%Gc@7ab?èIFuLfI^o|8okCOܺn~JOK6ଘwvuvM5w,93$&e;ĩҒb3Y=k 3bq iq$S-/A|v=;<]ͨWD!=9'۸rko~ԉ$ [:}.lOaT߭*ZAvgBzxw3EjbCbQGl 0F,µxELMrE[O 8AF R~s,{Ū|/ E<{G!v2^r bOK 㑄F<mD5#2SqQ20 b/U&:\ x$jyG-٭1ԮHiFj֊+!RPg "ErTQ{2i^5' ؂p9˫nDt&9{RnRJݴX~K&،J4h;/—3t&$`&&One? bB`ipRWUCMXY8iG]B܍+[dJU`Ak@JɇvmmCO:VdMK21\)*Kں}C{pWXku[fyصk_T{S.Մ̥ėr \'f\4-:"d>b@7yɗcF|=8QhXׅ=,B^UDzk,¢ewLb)D;M n~e*0eJLsOg%VHO-+i Ζ/vE#rw6XzgIrx+[zV"Cr/_rzyӋ1kchmH`s~Z,R/`LV Xg$8F2 [V.kgn_\ѳ Um`*◱R!}1* .;xd﵏~1An>[X<\LOES*EeƜL7t娧Ɛ4IݾvԦ[h*gn6/ԡ9uk굹o4j3V6zMצ=#dZ.M*ܹ [(FL5h\Q|v/s.*46u$h%M hnMҴ5^T 'gg}?rTQr(E`YkJy٪ؽn"rv^68n߼Yx\ zݤ.$SM,RH(X"iu}Wu^.kkԚ%qŢnA#TLz^!7T5/{ގ8}Sys%x{R+ O&>q&KtqK:82djd$ͮ VI*>H,Ln%`~ Zפ֤l\0pkwp߲⠜wlP(|m!hŧb$:L&&SL",/RPNbXȪGTR-Tߣ}I)KEQdE;C"tJ6Pn ;uD7>ҧXԚ8Buvb$~ŋ0|x 7س}p}w?MH_7M &j+E_P T6^B:㊽q%q@@NUQ- 餚TEZe|a\J8"lmHxЅ,*]_O=ӴvMkC -!3vFtrWo"ʷp]{+^n\WXsp)=ZЗ-^8uNuoflwϡ!p\ĢZVWO>LX Wbz3) mβXs@eЁٔk:u-oNu(Q$Z[ my,T"( b}MN>)+돘LD2VDWM->1Uz*n O<8=jF?31KBf1MR"q~Tj &Tm>QzrfU6} 7!'<ɦ&=Dz-abU]kC XcZC[2J󳥈D"K9 E]J\bOz<_ ,Uw% BIk눮UVtG$Apxqe(1LX&k. } `&fkzi'm Ý}$!7 xu.nj)4 P?n0>Vc`O!zU?a<_,ɋrgu#6ΰAܪEIUp?0~Y'jeοC}vu!t4^?X $ t;o oK7Қ :U05F5pZAβ/~`FӽYշ3ofUkiƈ}oFW;W]yhOKiJjY蛗wgl_+.u} .~{H,tl ‘~6{++EH\#j1ҟC/҇`k]`AG h4 GTIS37Eu쾇U8bz5i=/}Y#˶tT!5Lp $#Os_ ?>TEJUUẔ́[7zz Q)贇B҉п* HXcdjc</ZNJb8.d rb.W@%Zqyjs`i.#k<X5պpY&bٝF nI7fz|#+XC||F_ ޜ<:bgr qؔ9dvԎDXR\&+qN#%>Jl/(N3 q󿸷P#oi47")+pcYw&u .%]T(J,?~K֧"qbS~BNuթNvFΞ9AMmUM9uӛ{%r5.w9!|Il}bR4T:10.V&E`Q ,xBFm[ (fjUNM($mC,NBGtT,DW^j&): $6E3YiP)9sP%CRpdZ@(]jq+P8Q(<|NP (7M%+|Xs"͢:VݵBmy9t}KQ .hN" itB> |{tT-#EZKt.Sx?R5xYTZN-^zJoTo8o6ن~ f !w˹c-\תu\1*ei92 c*x 'w M'9@cT:,V2D< U c+r69)3͔dJ1#RTeІn&[ BABAh"~aר*EX`MnJʠ?F;JwVC&PJgB@PICr $O=woAp%FS2Ұ|)h ZTv8cdfH1ƌ_*m~LiPhD/ΈPz6=jEx=:8 IY\!)rIL ˰^M͙YJa ZCMzc ej9f m'i!H:zEtף21ϔF*}f#03Q oO6'5UwytUZTkUTFvɠX :euns*pfލ%]T{3Md7L7ծObEbj֑gB%tYJͰ2wT>QN84"fw evc:\COm!_d,Hc/Q¬:e0릯PxIuxd5J-Q3jvZ։ 3tD-f5XNl#>A$=WӓVӝc?$o#zK)"|m<SۋW99 WV gRqp%`g B^q(Ϫ iWffIeãʽT2*A#-m͡jّWFΛ}};6%B,\yC[FOkI4R%TxH6 >qj΋>)7mKZn/u)}ӚK]^moټj[ַеՙ`ak"Ezltk"a(JLlY:2đ :Sn69v1K]SșRcءxSÑ޴M(FyD:u +'&ۏ׬.mk< 3tN? Q zL}|:&Y{CyYQ8:#XyVWxx cDՌU)|&Y@"\^ Y~*Wu65u(B_W ]ޤ}>vg@+DW>tuBһ? g/P+`F;5lPN_PW]Zz ft$cQH^_O_&*"y:YqӌHęZ|Aj}(U$;"Zc`f_N$E JZsZs2`$F.Ռn`~$ǬNV]+D@[R.GDpV::]~{k7uU_)D IGl!N/na<\*qk6KE1#:/59V)5V#d˔ ?; rӥE ˎ{ܝ_z%^T|(G%]خصc})(H~844k_ijo~ Ulܬͳ #.Dl7b 4,AH z Y$ A R! QFFH+, ƻrߝff)jK[\ 6vFZsǗ7-# ݞϵ]tqn gbc lڈ֬~}stт˺`pmv&//9{GבvǙM̑MSG}٤ٔuxFc{I?ǟڊTs(? Rq~9TՖ`p~ia_"-!)UQK $\DۏZNg~.RzAlTYߍ7MV4N<ifPT)eӦL.7U[P3BXC NYgJՅ#1.n[(&ObMWpܾ8peX%찅!q{{]mQZnà2<Ԛ]noW1d -fWEKx1 m5j.OrQsr|Lʯx%/D9pR8ZA,ZwTV14~a4ZD4r:>bV̰ <{gh`O4:?-` 'WPLKmنSoeZ%~}xqV5+Jqm6ϢK.[Ww8Xzm!%9JRj;]ջ S֕At/mhv%|_jMYӊ,%W[9Z+5~):mpe/ I}uk1$  H(GFR!E#&,/zK[qQF#kD\;=\NMENB<'0N%Um P VPehxR>|i*&{$3Ɍ-y:S~BRt+ctS,݇V[*[BS<XK#f3S~9I:G,b23 kHJ&IyxITd+>Hv3Zpt[D^b 0*GK+~v^3M89T%VsoT0όw l39,NhKi"jE_ A6ewnIR[L=Rsޞ-&H˵P?&䄃&!5bTHIȅ`6dR ЩGt8Ә4/4ĺoqo࿼4gZ1ofڜ:N Ɲ d:mxU](w">=LRBAEkGR1 </D7|VMPJ{qbIB.ipMۊ}+\'Na>960<{31,쁦9@ }qŭ+gJ !={SAnvz>,iz1]n^M>[VZ/۸(kL&=MzM;z!ߺ֋9Z z]APonuƯG32f4zvqwX@K5O:Bj~cγ^@dKOVze~*BdrOZE }!vTl[-e SKtg{a!lGP'ynP68͈)MlU3QtSΠ3j$h4FKl8M55Ud|g"?oW|+5`Gs M?Nhg27k(f$GFlTyh_ʃP[P|Ь_yxmt_GfsqCL9̋焣u8g< 9O^`7} 5eGc_O88À{=Y1Mu  oyyyyyyyyyyyBv@䈔 X6AʿJX/[>@yWʏ>Qw%hj0^E()2hSEo)+sP + ?m55jw[e5Іyjxπzp+=x/cO>P~0hF Xk^0^-XY%`%~3^9 iE~5p}X q_xE'+k3P~_|y-Ƶ zx\~j'>> mH-A 5/ X~_߂D)wv@կV3x?<~{b%J+<Vg[+Wc }9*!Μ&ynC/ 'qeuǼ'(€4NE1(ƨ)αYzމ#J5*QPbwko&@K^kJy+nU| <('q+V}; NpALV@c9&yyeڰlˡq,m9G|pq+ 8GX |>oD{}+/:<^?>hς/!ؗhBc1$oz.C-۹~3緰Vw1g80=n$# &e|G;Wb< ^i,_!G/6Ң\$(yQ<2uEQź~^Kb]/QD.(E-,ݜ k9 FJBG`9VhE[=Boۙ?hЊ11#8o+n 8_` V+aim@ ^h,d4/qjیw oan-w+绍 =ڠ-$.aǟmnƂb4WWq!>r| o'+ĵ!rFl9#[Έ-gnD%<B!xx5'ہL; ys5\ߎѺI74 M*ۡaBധۡ!v5ۡv? ֳ샞+Wy`nezy1v9 Β[3& xૺ(-.5o9N2 k[1-\yy;Qp|K>[I1nE-|"̓3BOOZs%}nAP=[Ks ۵ͼ&J4x^d-_b76Ѣ2vq>Fyjfީ>%nͼ[/6y6=fEVHϭ7vyU1f^f^n[?[y8vwBGw*\.q#f _tD&2/qyKe^,g8˼Y%2/qyKe^,g8Px%T\,f HEFфT[W\\DW&\(A<yRԭ6^Tw [ BY $,WT,ۀRMB/Ru}d1b5(@{QQ7$ /s,My56{D&ZGuTe:\5! ,'ĈM-PSϳ1i h0EA[N35//'![\G!1xYs]*8wEZUA!w7yVơ\ikXZܗ[}i#]q)ӄR9z;Ԓݥ**֏ZWƚI_m_r }:JPlZMд0,q fGtZݗ ^զd  _բq-GAa":󕘣_DOlY0FhE-XH5SO,W&;ޭi9Mam}Q/jxWZYk-Sf'u9}l5M& ‘ !U-fnlykWQ2§Ԉ(AMHZZNvv2XA%5r'URS ) 7G{KdjBt:{;qQ nPRTMTa3 p| :<[>]<~q$o+_XHNW~u׾y| z2YF2#X1Ixp県8q^[,ŝBZm'bEnX.SuJ\*6\Q&PR&VX٨mSJP%Z^TWf~xDiWlVue:F٪)4e:CyF$JzT>5VmQ[ޯݢn*k+i!i-:=Z֥~mP?Ҭ6-_{V;S;kkiG+O%ڀmԎi-ڧ]gZW{I}4 g4Z3c=p\7c%&p8~Xǹqp1 ;Vp>p  E:pp883<8u8 8??%8ھx.p8Kmq plw?/WXV*giqp8o218+p|8c?p<+!ծ4fuҢ~8^o~ǻwcpL7!x8Z*c-]uhjZ 8u 8>{>p pn>O9pkGz3lj8e[lHw;Qcp(qǫqp\ O1 7Crեܦao!8.q=p8~8~8888Ǖ>MURmutv68^ Kc p N p>pov}s ~p\ c8vǭ8Frp<8^/7Z?)x8(6@98p?HߠR:B5I-V`k굊O81xpw#k2pp< [&*۵3eJBRі(I- >p|8>  Ƿ1KjICzM=ߤz8nǁq7ps,@2g8q__>S'>Up.pp=ZDR V (ˁ:xp!pL׀"ZDzhSPTW0pa 8+xY+VZ+vm~⬅c;p 88> ?O^׋ezv>[Կk!R ZެuGE p<h['+ˍQK@;fi>l><p%pL?нn36ڎZT a_HBnv`*2HĨB'{8azg cׄ]O'M 캰[LC؝=]>c[]/޽I9_?qÞӢe֏e6l SuT~2J%R.KT6+-a BZ-jc<']Z´0{HB,l1nRAx8ߡ  f84_daQh[<&}<9?>Y Uxi9\G:\Me_8LS:0_mmYT@ }VΓ`mf-Ȫ +-u*Td5 .pXB;wnWEO;ɨ4\]37t)65M[}Q;YMY(Tֶ7x7IK) }-%Ď}Z'AUqHw>ɟQ)\ɪKqh3Meӣɥ]ɺtBg}NMB?;ө *d[l!vobY`pϻ- CnDR6 'mʩpLe&=]=]`'䰡T׽Jy8t&I҉zhT<ᬨJ$VWpd6cK3~%S8aaQGO :\#/ox>}Rym/}j˳aww9 W,⪫ %g4 Οٹ2_*L/^wBpY[[[)͖=6&eNgvfQl&B2a Y98% L9UũgA"ON}$'HbGJWS>9;7"9zF8SOhs͌ [94`Y2/e.6vcw$'.K6A֙# G)F Hz2=Ba¦*6&U6'Y ge"hnIuE?en;AAb$T$Ҳ"?[7߲`.Z<*v'D{k;sιnbӆKf(m2t$FJRWNr{ȍ=a8wfH9`-Wsb@ૐX#cvaˠgs yk cOh6 $hAsm6YsD4bIu '㑌?|[93tn JU9QÐ \t DF=4sLcf@`EuylP4dnR0M;(N./Rn7֊4ۍY$1yg[ ]PeB!\f&_neW\NQCTvPt;%\YbX.+ʜgWήt[ڇ ^!)3{(p3k YAaR{hl ̮J=.Ҏ\[iG4<sh+.C!MqD%vŸ5`Taq89x~8wnc85K us?ȎaLK tD>#Qaϭ*ܰ{1p"IXf.ْ?.gփrTXHf|j6# @%T17OAc=s޸r< bЭ=@h nsE ";'r+бW#[I8ځt30``v)n7dX-D_ƙ#R@nVȄDD} rO{E3g& jn7a۩\Ǵ,[31;?EL{<"6]L&Kw&:ӟv"rrȻy[pg f\cÂ"g&tP&,h'nykY]82m6Re)/^P|+1x okVz# Kk?O>'ݓeex m|a5e]g%Ā(%I4,Ds `yMevONZ#c6"99LWIC^#67:rɮ;J90|nٺ,>ޏqy|d8kgQ1TJN".ӽm'Ȧ9 t"'#S7'U_7b%cPjѢ!.sh-yu]5͚ \PǶl\+G}TFT'}TOtGi=YyKQ^pQrp?PיUݝ՗?\}](|]=yo&9ɟA3@'Rޞ; MڞC3}q*cҀOAŠqÒqg3OEcǻǟ=aIЃLϟ~? yy&ej柒|L7ߣ$dڟ%m'&>< GT$G,๺(}}ᔒ,͝rm*MZ NYyTЌs>lJ_ŠI WFzuڱuD^`ow^(tu⋺MK']z`ƦŠKfg-*Iʞ+{avhSljdAVs#ЃW2y㯙 J~7'./JrϘSw/g*[鳅B³|TH,. ,:ɋBlMKnZ_E9PݒȒ.io1׀|wbhoX~c7[ZaMG,n\uch[|۶;W\|=YdᾆG׊kkX]{]k_#k#ȸ+#ȑ¦MᦎdS::;zSt_ԶZykro$j:12;]E #$cɗx}nH[?eĠE6!!(>INxyE?'GcF3y{2s}y Ly% Rjr zTQdS;˛b]yo#@<h׍L#'9'ș>xs_7Lq;2_N2g#"b Ze6>fvQ3Gvxʵ?Co(d s)blnL=9Q;v$#L줘ki\f/ay7N _9d<e3GNit$ϏwS Yj;>oON=О cF.qȉ{N|~fN3}3˓gZԃ5ٸ7OЉHe/!>Oqt":|/ɡJ˝vGg(?>9烼taSMqPiN|=tS|}$oDs6E~ѽ=|f-D}%|VpiyQ nЏH=<[4޽ *k=kť%(m t#w3ɣ IقIʏjsFJcqGk%a7j]C7bw:L>^ P7])mWbR%)]-(RU ~>ӧCE-;os(+$_~/X`bzoەѣ@KǴŅڟ%!}hki7FG,z[,2QDo1WTdoqkFjAZCjwFVG##u %&H n{6#݋i+/ H$'ʔ"݈tRP,[E9N)$TV;.Q?bV1DHDz5~ב@z[b跤Z"ta?F0~kˬ}u&CFxڂl lmHcQf݅,v`v1GZ)Ԋԅ ٺGz1Ql{ #A@:t s$`hF 5 !#>};VV6ֶv'm9vXv{ [x{Gﻣi1k,Ajlgwc^R;o0cKԬ uX>dяlÞ (` Eec1R2'ֽ/>3pVZgc?ssu|_=^K=&.G*W:ϯn?ĭ߆Ew8vϗyQxTǣ?6Gu-".ΝZGfkgڙvfkgڙvfkgڙvfb^׋zq۩6zeo[ƺ+ֶ o}˨߬7?wֿf_WN5o X2ֿ/é9a,z9mwi Mﳭ] M=~p7 wp3͘\M;/H&YO<6+lv ބ7Xx'`6NI8o)8{^>t|G1LOahݸ~x-2a~_qA8@8G 8ZL7wZޅSl{NLJy%]9\+q}oA?d@bܶaیiah\g6dgcƾ005tywfӨtԢh@_`_qD{ɯp88 ox#߳=o›q,[p<ފ0'$xމww=x/އd!#(>3q $)|l}9x W;⻸{H~7GanH~n܃p?OS;MbI o;,w㞟B&?/%]>ֻ&W&uvw:]1C0x)ocQ1-9ጙQi^aUm06 |#tԽ opW~k߾~c驏ϦLJ~{ǦrOGGs3pfu(r(r3f77f,-~V܆EwN܅n܃{q ~ro(-JjOI?zW(87afa|n?3?Űu慸_ŸׇXnbr-[,Xnbr-[,Xnbr-[,Xnbr7|,lm8Ǚ8 'U16phcc~qܗ{Ys#u.B O#r_&er_&er{ܻ%.wͼ7i温7*nHtCݐD7ęVδr3iL+gZ9ʙVδr3iL+gZ9ʙVδr3iL+gZ9ʙVδr3iL+(0D! Q`CgZP -XC~I}$:Hse?[o'SOZWZW\«5Zë5ZCԘKԘKԘKjP-hF 5ZBjP-hF 5ZBjP-hF 5ZBjP-hF 5Rc.5Rc.5Rc.5Rc.5Z:P12B d &Eq~,ɩW,%.vk_9{O|%6u[U7HZGl}X|nԵM]1ؕܶ5^>u{ԝv7C:0#p..|\/"|_p1K \ oBL bjV]gHs$|PL!yK̵o2[/e kSWj|FK]~~?GwU[Ր2ҨtԢh@#}Zd/8 4,ӰL2 4,ӰLrûچSp*ލxN|0>\y%\_E b|h÷ªFl GR=j'u+$b.į>+NъSGq*Kb(ZaVh)ZaԏS?~L1cԏS?~L1cԏS?~L1cԏ 8q&'I| :y8_ e\.AԍS7nLݘ1u㨞[TxERWk =Drt1;iܩsuֹԷtN\+CP;|C)Aئm:`^Zo6tG}}}E9X`1;snJ+s̹2+pѶ9}K881qp':.sq.Xb.Xb.Xb.Xb.Xb.Xb.Xb.XRKe.TRKe.TRKe.TRKe.TRK.TRK.T04̥a. siK\04̥a. siK\04̥a. siK[TRڍF\(sa p 4A NPwԝnV[nV[nV[nV[nV[nV[n:ԙu&3A LPg"z0i2Lۭ3S7jq :nRMI7&uܤq$'i=IIZOz֓$'i=IIZOz֓$'i=IIZOz2փqA낼.|Uu-# w䛍1ȏA~ c ?1ȏA~ c ?1ȏA~ c ?)X` (X` &ݐ yݐ yݐ yݐ yݐ yݐ yݐ yݐ nq(ǡrq(ǡrq(ǡrq(ǡrq(ǡrq(ǡ\u/+u^(6oNGܻǾV_^o&J}{Ot劔+V {]sOo&sQTny~g...勔/RH"勔/RH"勔/RH"勔/RH"勔/RH"勔/RH"勪JJJJ8g93ΙqΌsf38g93ΙqΌsf38g93ΙqΌsfie_R5>IsiOt6mĿtw7qο[tȝҝ` #t0]:Lڐ Yf隥kYf隥kYf隥kYf隥kYf隥kYf隥kY5URS%5URS%5URS%5URS%}t0݇>La}#tG>B}#tG>B}#tG>R8}I=;sgpi`j"^L7qa4}|x8}R|)6:(٩vnB=W}y3ݞ]>Y GFb;Wq.LZPk'>'#}J 煮/|hGj4R4jmsxsJK۞irjE7o – [2ai_Cqtj>4F.}hta zU[H'<>-;ԟJ0=?NtDSjyjC^p g:[YNwQkQIT;:pX\c:ΐs wNχq#&GGnuԡSGmtԖu*䨢JPIhTŪhĵwU4*FTňQUCJJ*aB%L  0F86±&(4ɷ}R71*uwSwQxwQpF|AXHXrIxo6q8}N_#\c5zЏ0-b(\geM^ n,{9nl#wNeVj%qtSeSeSe@_/旣CQ}9$r/;'\srͽ2W"ֲ8sfe*_kM7-:u~ҭNڞ̏V~_ Om8mo?"jԟ<E9<Qr({>pΛy;?M='֧^t4̭6𨊼4P+u`9ܖ~ >ȄT<:Oγ>>(<>{Ӈ{<G3U*^='&Ϗqf㥦j-R-U4'f;= ߍb^}盧[Of+=/z}k燵h/]FJ.S%w=܀hƛm]sy? C:pka k]teX/k>گMnuӍ 7MtRjI5Ǥc ,54<:{3,CB;-&oL?t7t2]::vܠՅµ:鳘>STͻT.-b,S]rwyWTN<Մw mYNV/y D|:{At/$DUQID[DED[DSMI4[DE4/$-ѡ4Q\Rq]tQj\-Y&\-u6jɪ4A Wń+Or+r?-&\}'\]}Oz=2_#5\vŜYSwLjUTKǥDGFty^ڞ[dRI.OtI,zt@^e#TdREEu@^u@^': HϏ =9|Uy՜Wy՜ztƫߩƤIRm$wUosW6Pc+cfٹnv&q\3;jݬ)]UOyi:r{xE4(=F]cԟl(}F2QڌrwT S/!&(x~gRɾ/ѩun6%+!Q\Cǐ80ڣ=u7&z\ok NrMQ˼Uk@Y+3fO:UiwSQ>s1/G{Lٽy6C4 տ{+q5SOhe4[k=>ĿJr*%?urWP֓zR>'ζ=,I >ɤʟTyUhV7q7rbb`B/rJ/Wy.p˩\(W{#{8<:Ts JQ'(v(",RʽTr/{K^W*Rn/u{#ڬLj "'?GiJ߮6G{fQ8![ǭXGQeZǭS2Ve0M㸵w;oǭ&&qkx4Ý.΢\0HxWw/RNg|\m+Nvч̿G5αzÞ{WCJNzֳbgUE_`fOa|.p!\CO(rz^n `9`=Y͂=X \'E蹑zN$KFCh 6ɑJzNzu [a~5IZrZmr- GϱB?=ɞfe=+^WIK w'_CvN rCNwN#8C/wl_`"ӥQ65!3dAchM-p"=B.p K2z3w3w3!G .#|f|f|f|f|*T>L0c8bT t=y00z#1#1b=ϲ}l`36`3RZ5\k5fաvH<0 00 FØ9Z~s|f{>0L~C]@)_ /ėqcI`nY zu"ێp@Lgu`]H($~? ďB,,d7/e?~YVZ+s~W{V.)?|fecrX9KX9K]( ^3XAs~Y_}9z.p.wun\֍˺qY7`2pTx iPa<OB!̄i`|Y0yqh1Fh}p?q<aLax|a*<4(0b'̨hBhZ\*>de.Yh %f/&D A2!dAchM-Q)@ "$D Qi@%F Qi@%F Qi@(G#J扛pZfpG#ݝhڝhڝhڝhڝhM]K4u.%DShM]n9y[N-'wɻrn9y[NmImIɿ>'_}Oɿ>'_h=h=h=EuvB%/ v{DEDEDEDEDEDDDDDh$>Oh$>Oh$>Oh$>Oh$>Oh$>Oh$>Oh$>Oh$>Oh$>O%"ep9<=2G&D#yd"L䑉<2G&D#yd"L䑉<2G&D#yd"L䑉<2(K%J%xD ^/Q(K%k|.Y,A$%L,aiffflWW`ݬf>ݥ;f2[w2[𔤗,D[z\_!%r.Y.Msz]F+vQN)"dY.AKdY.AKdY.AK(4J:N(4J:N(4J:N(鴚}5'fS4<99㻊]bKuɢ.Y%dQ,E]Kuɢ.YEgL3}tљ>:GgL3}tJU CP5AfKfKf#3{d)$/K$/KHR4.!E٪}B "")B \C*R{}K&H 'p)E GQ 2gYc({,d_k޷b-.#22HXr#DK\G yp)G yp)C!吇rȳq"ZwB w&FMCI𬧅k,W5^t1*óޤ_PJY/>je je}~z,5e[6: Pw>G(!|!?>G ?'|  rQA->Jh,J[x o-|QHSPHSPHSPHSԽ ʁXoQM^E5-B5-B-E-MA--B-E-x$^?Ox$^?Ox$^?Ox$^?Ox$^?P]Cuy.塺FN 7$3|[s8S^u/Y=@Ra>uܮ=YځکE _]bJH{ C?I:xV4dӊK+h;Lo困Dr)۷6/lZ{LZwi} GzXEpr }/+[GF\O}}@Nҳ)=ҍ)]D+ɣ%13ƊKYd_G!vez=(YSBw8+x\zQ,h3zB}v=˕ 4? X`QpOgC }=b<x!x|T,үba$(682  C>O3)=1RZVDY 6p"t>K{Ӛkz,z aa1ݢ>GJX Sa'R;fz h8:S:z} xf"D.uN"ǝTCO^_W8s|Gg'F ]=-+ʺgz ]ֻzwY.}aLNq0f$Lx ѝYx3.^F.5'\=;c$0~ x< 0 &Tx iPa?g}>?g}>?g}>?g}>?g?xNY+xJ3x&|R')C!|G_}ѿ>GJj%zGOLC}4h%GohN11)ShTl.1,wCh}.z.y)ir^Vrh~(2Vzc#k9xX2O9e":z?>PjYv.-Q~Q+-$c_iPRdep9 787FOCP'lfo;eٲ4ԃqZނ?S ҇!'O4Q&z2y9M$8^û ~-T]sR}wkD[=@\Ȁ!G> fuԴV<0 00 Fųsx\aZf~5lc59e*VEHC}hcOa3?2voQzVM:Л\kV!{9̴_Ȥ)9#3r)/O_{\nڭf>Cei^g;*/,E)=Oy's.vCo?>96*tJd A5G鬰Z ]*]ɋDNNG*aN[PF!xgSNh(WZ}ۢwpT5"MO|JPS? 徔q:\o ?ϧ>oA p#=0FhjIQϡ"9ĨFy9yy&<󵌞mސܳ:Ŝ̜쬺zFtP`i ΋lf[v}`qu [!S93^3PD֗ʮ/M}J} %׾ *^Jٺ /Rjߣσk7=ժ]/S5}e**W(%(1GIR۾\O"N~lМvxn ɶ )J}zV) gjZR =8DM~ΝePKmqv g׆}CD4Lg=<)bMmt)KdS[U(YnD~UqҧGY[Fe-9?nEX KݕhX*3k_?q²}O࿽"sǟY ;sq*K816jGs1,QNu+hͱ6kJՄ:ql[cxgPM)<ʄ}Lʴ%)k3UjGȤplO}}Y!3+E]wozOc^Ӽ`;78%󃣦hKjk̞ppvLji\/3_χ?3DET(.!-.#!kkkj Tv5H:h*v !k?aD3"qF$վLj4VkU+FE1*ʡ\ Gʵ\+ʵ\ʵeDqj e ۔m89ncw]nr}}]~j_`_,7ٽ^r}}f_iQ}kvz{hAp#R)e?h?,{=C''U{=S5QUs^+T{Gut8mԟvΉzdunrpΙN759߹@\\ns.vz۝˜+ԝUUjsgusspF1(g׹׹_w&q#j3ə&:S!)T;/8/)NSs;K5Sӝ5#J0SODUT¨(_h"@=mmfEcќh^Q/ew;@Tu[!566S#HwZw7ݥ{jݠ*ݍ6=\h1915cv䑌K"33Vf̉ٱfb|)RͲcwxlXl 6"6j{ʊM[9ɱVVXAl>lYS<ױcY[l{3XIĺ V=GDZ>u7il/yl5 e쀕;;lƅ5*nM޸[}hZ;Ne']TskZNmN;Gt6HNDHkwq XDcmxl vv/G8Rj6=U񵯘k0160____;];]v,.&.V7*ťVܡz ͗2n47:x0 4 9ğMi94ʒQeaT-zc+cˋ VDUa}Cq6ۄW^5W~TLPø 2]ƥ!RɸT(A;FYs%1F1F7R #2RSdVQwu xMxaP%Z>~vJ5b0dWC1`h#9yiJgg7z~짪<(ssy~ϐq_]}t21;SBee䱻L0q&tCΕnw'Wr8Cj uy#I,Γg߀%gMTcLv_/e98*SA @dQ;;Hwb/Ch.c8Ul#gO: gi?>30gcAPq{y%'a0Z>bAGhbk8B#X,p8 G`#GFtFhBFMHMa)1 `*Rcא/}B _6Qڬ6S/V[mTEPVQQ{PG#'JS9au[)R|8) >*TEQ`Y"r|ɔƈF@ʰU|(Sw%kj|/>;<㛌MA|ϡ婾ih# R# %^ e8>C͂?þI ߅>pϠ}K`*Z  l>C/I`_`_`_`_`_`_œzkai@:P ;Djj 㭰^AFG'hF0VBq}Pkx)m*MMTUP/]P#邀Ռ|\['wb*(Nv'2l ڕe`)Xb{"̰־%* rqnطmmh ZLцCs',ц<# D cYh !cG#h0قntk%C0Kt3gkFצS?g?GS)WS3Νi"j퍞wמ%leECNٲؽ/aD0^lƕ {cB)~W$yJ+-fqrKnsd:濣'2.ql `VI#Oη]wRy0+|F}3*??Q-_w>;2rO-|Н )<72sѯoD%h'p{*YDEE}`KO*˹0RsEm w n;#2|z#9}W%wI{{G}۫,t'1v&x%&3p ^3N 3nt~j8(+¾?\ y~Gٺp P;eMTt>߁HE"g> 17 אe)܉u^= D>ELEES翜s]gjaA૧ؾ?:V9j;zGw`&Wp-lA?gF?\]o~mqos0Br<;?a^"6o] s[ϏC+XQ5+ߟ%_O}J\Yw/Ɵ\ד3!k=|,}qKpǣҙ?m97p)K.g[3e‘kQo˱ǝAmOkgXSQkEusX_=ZW }aOtXƜ4c/%$x&wiG%Hz\Z{aOw!/[tR>8Z$M~95αQozOD4?}Oeu7Qo-~Kf+mR9垿:<,oH9-5FRnݍ ϖ|kmg}JZ#CF{Ėp7}Ν wO37]{]l<Wg%5eo^/Qj <鞖\Gns{7jψ/7<}}}qˈH;+GT9j!PNwyݝs\u/G?}>;#G6sǑ'R4&*#`ƹB/⎌ uf`"۩T^_jǙ5mDڊo+Μx-=n׈}N;K3=xrqnT͖"|7ۺMqgȳ7U:[?7}NO cDiy;2n.h|#G]Ƈs/wMxGd '>}ȁ;j퍜ʽɒMgs4j_CwwDwZ%U4HzHLciq&vMFih6k XS}NL[rz{=}BJZ0nF?Ni4ڨϦM< ^Sv E[_H{OOG2گ/CJ:Wφ2|tH0*Q"WtHtL#lrD (he|'Z@ TQTMZђ -zʬգ5Yf-yXGg&fUzBVцJ`Uz{XG JvyD{yGXG]۱[:z$8INtR4=TuN gt;YEG*:#?tt:ꏱ>t'XKGZ:Dџv9IOv8CXQGuOst_pF9G1KdE}+sYQGtYKGtZ:[/d-mnLZLUt嬊Uq􃬊c b79NctS7a=Inz8cV1qS3UK2\Vqzx<{@8 Q<%kk2puMAn*USmMu!9ٸ)A7%]Z7/w3Kƭ܁4Q"ݍ$NR%  R4GvX| |zZ=j ~#fffOثD-ET0`h3`h1FPsm6m>TM>J-1Rm"D lc Kggg?.GGt)>^*ȫy3a/ZqooEv3_j }3>\C E@䅰o .\N.v"r FW VaԵ RRR}#HFe2gԆԦz@즆ݨedfh h2qX8r=N]gy[YާLR'A} fT2,eYeMqˡX+ϊbɰ(Y>ԊP*ǵ*uJj|e %XVU\ͪ55hU 3 mCV}d5 ՐgZeu1sJ቏1ZF)x@-{uLRL5S.e=AjS92US~zL:+`EPZdy^zoFooȜ 9#H; >|0'sBc5cԎe߄eD:'X'؛M>tYLKTʡ*WR P6T?vNT*@BGj0ޡPUp?L C>l*GKUTP*Q(Oݏ=T#gްj,jʌWj"yR=i4OR?Adl}V=Ku51磺|Ө'WKg(3SW+sԿb5l}CͧM9o z2j1|>c1J.QKYVMHJ]֠Z5~A;zߪo9whmHueRUR>߇9XFFQ5#Go,5={3E(5d&JLLREf0Dua暱QG?p˄S^)"2I8e%)STLQ=D3ªzSTLQ=0E@)JTLQ="]E ATՃnzptՃpX0Nvv? '$؞u YZ?] z'Pm8eiˎl?=e/@mb'Q;`_^<lez_; ڌ<_=\ㅹz\ +_E!X' qPQtU%CԆU*hP}}>m-Ჵ??se[C_@`5D롊\[[X}h *8U Z8UEK U!2> QG? cKUE':|V0LÄϚE3k"'0˜[ caT1ґϼQ QFF")pȸL0fF0F{=g&X8¡{ Z8t/aϝǃ7OW \9YrpVyʗ+/lχϨ0QJ(Y(QH%¡/NT- n-l c W+'[̭a~\IQ8Yq 0`;w[-*[;צ ,,,,3kcl=Y; [2LleBI欝-|zpˣ8_& $4Y8hpTk5 Ze5|旕_&[0Ly0,ai, j~99){ ̶^^C-攙){SG7,ӄYfm}`-F Z(2Me+a,;Z+he;ᗙ/_~Ieek[Y;=afJeka=c1N%22>ɶ&5^8eG 0kAvf_b_ 0Ȏv{=d%z+([QbFiGuSVL {gSTWtՕQ].+)"+bՕ(%+(Q]ISTWQ+(Q]1Eu%ATWRDu%+)Q+(Q].+Q+xEuE)+ݣTWLQ]QbSTWLQ]QbJQ]*+ rtՕ+Eu)+]EutR]1Eu%ETWL``N].eף,ӐZ9Ɣ ͜fޟpZR'aN+5,l'tp:vu.¹uw2=z"vnpn@>m'=wQ>MBGDpP F w8w֝Ν˹ 98AUDYhg4, $Nrp'dJ< MB "[#Bh*AK zSlL-C>G-J%96hRk5b ֡JTmP_KDmRZy@tj'rXڭg QA.*H D U ,+"5P] `bTM4ժFRsRR(%5ez8_GA-$ }DA-|OzLTEScVe_zkeB iK $QzIz7#@ڃt(Q ŅTzԺNFZ Fj%j *#ux)v$+oHZ/ IҊf!ͅ@Y^8B#M#iZ$@4i!KҢBy;!B:FA"%{~2Rzd]ĺ|ൔO.)) RW'B1j֨$Z/ww/SznIut/'4itd=vR8¿MQYHs=r /<֯u`7`w`+W=µBt݃s  8`PN%۫opT^e7WW_[?(UbXpkplN߂yC`'r~ʹ@IŜC;VD>ɰigσ^0$5/_XR-_P9y JK2r F/_;`dIi?mNiœQff;yvCп}N%}c%yJ+\\&}R-ty`zpm>sݎ_rEΔY y/w(-bޢ& EEYE`ku;l%*ܙ3`Qp_~^%OE7Ι_8x(gQbo-; Y\!0 kyC\kG{f?1re 1Z(+*TlG| +X{kPW" SCsS z zq5[0#tbהŁͰ#;`G }*ptSs3 ^JkFrf3bGnfⷃ-N:s= [*b[ .*#Qְˋ*Mq7؍W\wā6BCs;^*2[>b8W^*x8_AT\*V;TsU<̪ᡚ= sC#{--o, ۷h4E`=/ɵJrM/{maޅBf)vt8Z2(7ppܢlW(4+_]z?h9U[18k TxohJBm]Tvq~إECs>\T2,1eH4V0 f 3c,cX23X2ba鮪_TWWW4MӴ0`X-fuXNG2 c˘ӱ,K`:X#d,L{M3f?x.2| Fke(jwd-9 𞜉ŮwC83Q|@|3Q!ynF}-rFu8M vVC}zm\yr5 --}q3_+s#̗5ӲXg.JeZkv&=KyӀC,C9,.xnؓ[k5ye-O{NT˞Zy蒼߅o7Uϊw=wj#"8lܩ^=[}{4֎^=逳evٞ jW';ko =2-3sݮݵW`djެ[ sn> em``7ٕns]L{9eߜn{은0^9ލ HԜccj0Wg=*\\c_AC׼fkV웞KfݾM1{{~^~M7w+FoWl1+1=i$5ϙGToy\loI00('gsJG-eE唷ʼYPJ5An^S7sy/mQ^@ayO@Q:E*^og0}B )(Gqr.^ }kNKRzR eԫe'智]mF!okVRyq$)TSXɚq苲TW|| uBu)Q7=Wg_B}KeZqk˵H_>7iNq-rx&3Wma$XjDg!HLP} 3sZL8zwf}/`vGpng6 8 :OxnZyQ@\:Oo`WmȳgK9=.Fߤuy.}qy- P2d^7Kp2SU]o[nfSO ~w׺llYל^VMg1G|}2c %ϺuysǺ>DΫ\qT +ksg\ebWݸ,k#׸AlBq^A s7Nrƃ@d r]MBOSLk<@7ܔƚoN6pMy;lөp ME"n4 p )jSy@n7^|@?6 MRoR~n17yݼ)#.KԖt\SqMWׂ<>*`Ju`_?b 4F8SD`OoYM7R3i?ʟlZ LYHyu>hI `_ts/iz: 7S?Un`;*0cKuzyڝwrs7"ӂJ35ݹӝX n.l8':?>/0f`lIxr\B 篹a/̏-lϏ$8^Iؽ^&xB?/S)nؽB)wx +0b+=f> f~W^` w7P%;AӼ@T0ax` =9%ӀYLO*  ^z{e!ƽ)ݷ=B+==uOuUx6:oӑΛ]:9C;Z4: {#\ө;m-3"l磶hs "vthZLmq)--.bR,C~bj mt|->SP}^Kk;I̶ՎҒVBZ&ƶ3NUҍ=+U%l@_*V xYUk5P@wҶnzBhoh]mMmڮK@m-mm^׆=}Gk56 6Dmj mAmzUi[^Ֆ6[ݼڶI?n0H͋vc1Qn[0 .IvEL+d1qW?֘\W? 0ݟ仲iW?)v`\<欫tj)cqUU?Ȯy@of4gKKϥXǯ2].quly_d\K̐kv]_a\#̤kvMGhg5`\̲kYu 1]yk3un ]u֠z֓8=M3=òvfy[l~m=;7rD?ŞϷV :VR{ruU홀^[ڏ^l?^=_jek˞UJ{>KWO~U2V'2 %ட7۫Y>N6$ViNݮW1Z23O` hfv7>o8$BK۫j Fbl8i7$BEடo].2F=?Q? #GLcz! =k1<3hG2$^FR   3|VepؗP1%h7PJ*TftV?C{ѻkH_FBϠY,@5ȌпGu_"?'+4DC>DHQT"AEJJ%Q 2u*zQߠ [a? !r=F/2ߡoߦ<j1~w8l.Ǎ?:?32wSo.kmܠָi gJG45xc/P/PCc4juclϚ?7?`*4ME7 &WMUh[&!d1Ɇ6|ttYSJ{rӰ _7- %ӪA6 ӆkӶ ?/eh17 p )5߅0p0n6M߄g}ž Ap %u)|5DZf߄k##FFW~?_ FdF#t:4 _f!aXuaRfaYX#bq1ELXP/ M @]a[/ tGGAapD(2D~h!1~j):F5~a 2=caEgAS~e&~[oC+ 0'>%Ňţ%%Daa^SrX~X>J!o1v*(F(?%# I!UBpJ(Jry, W%pE*\F pS[ºppK'ZA^FydUW0H* k迂|7t7A*g'HO_dw=Чȧ)NP`s/ dU955b!X3Qߦї}<]JO|(Q"%RJEg&ʋv9_Qߡ:ѷ. }x,z&Q-5MYM#_X EdFd"<='E|*"Փ'yyH((@JsFTG\vwǂ&&fCGd>|>/|%_[xDx7;.!~'i~_U6`8!QH҅,!G8)BP"* JhAA<_^~aP& SŒ0', +Ȧ#<X1෣c +~! _ ,#,<<M`sf~[Kń%_S sasajx\N-R߈:QQD0OLSRF:@@{@l>@@AǠyS:j6׭qʀpIe\2$'rʰp+]SƸeR(~Gܸ2-U)eVJTeA( ܜLtQY8PY-"ǚZ*rnEͭ)w;J~Pqʶ>ڣ'ml*(e_ *>a?sa?FG08>Ƒ(=|#Or O*Q>ÑA~I_'o'|O']z^v ~`_uK;QԻ鱞p|fU31t,9aAeeU"+Hk*mUo96> wF~ݱyw;GoWxW E~) %r|ϱ~*Fhmy Qt4Dl )G /k%[.}} >:b.QXkԇؿ{! N}8M=XL;b3 v|b3SwYtל4`Xbl;)gnWq眕⢳Z\qZ5''n8eqө} x wlӍ'4269)!8 M>% po=ROJu3s^pIasLsNSû5O`/KEp/ƟD?ޞTƊcȯT*Wc=g}>2'C*?>yG V[R*Ә뜕$9VRspuޖλE6/]vu+]qDfkҨMEhElK -9ئ5"wՑ}9\[ l7y>}&ҥu-KH[IVmV(=҂laѡ٥S~韺֟(5EHe'>lc%:6Ǫ x"}5D+!N15$rb$}HjH! UbIqАEb iJrCc%ᤒPr:%B% VF JqCRPrV*T]K~30F!m)\^w~bPlP &aciCnˉrq}lϘx i Ǎ!= ⾅b#\HB1{f; \  ڪOΐd>M"\1Oh]ej55h&kJiM/mx@[#:m`%koX۬v 맵Y~e)sr뼜29.I'THb[ϸD+\㱓\ev]Uleu]5!]7p (wnl%׵$n|u)q=yPq=tQ^Mx?}6 =ϳ'u%i=Sӏzݨ#ؿs9RmIY{^nЫٺϹtߗًtTphsӻ{fU}ިav>I \iE}#2 *݅ CAA=S8FbT2"s\a2G PT7L3K-flUL1#M6fHɉɉ%ɉ~DOIN T2 IN$'ZDr_"9b2ɉWHNjQBh9ɉ~DAI $9oINMc;' zY[ .!;\PG')t:C B>CWUD^=Cы FiVhրtb1|xCĒc`^`as=+&•p`C8g 8,Gɓ?e&a6>a 0Џ@^$ ' x &? s0Z@’6ґ!1O N:[WX"ItM'zoSCbݣ3B-Φo=%Ή#٢X}=k"}Hpx)y.%RN3(XΘ(<l $-L2mfhd;gr|>s)fiZDLePƠ0՘ߌpW`8F\`4ƍ[L"!=!*bH2RGUã/%f!fc&ik3 [Uf2V?s2`86Ma,keaOl![ža+*bk*4+ V~h ZrGf?Y'pGlUg^ZB۳P8{ vpaEv]#kY new{`3jk J$-F[h-vVd+ʭsslm S6&T[#]nZ[v6IK0ʍ+Qk@mvv8WnYKm\z1c\AضllC8S7qQ\,}K`d.˴pǹ\ .;1,WU圅8Da,yຠf$n↹1nfV-jn%|o]nϜt6L،3aŭI)` KReݔr=$X+Z^J%’׵P:CgHRTÖ0b f%X3leԀ$,wy)HKҁ(πz+`$ES>JҠtMƉܑf9ڢ-Y;g :v\"W z-&f&kH=:#u-]14ĶOE|X!>O W)|:I>U:?ؼ|!]ėg >4xŶ뼇w|c5~{)~~A&?f Bf۲N Pʺa 3ʱ2Ckѳ9w&PR7ﭦY[6YQQZdƒ]PQDFQFsaED qGDDDDdPPx_^E;;;G>ӳMg[m}ɤ3*'l{ՕSj}[muu-ԻDcBi277˙py#bTRK%μQμ's̝ SB*gLw ʷQMK3ɿ 'w7BٿB-,ԽoZBN@,樂 wR.Bk  w_SFπh hq4ߠBO@S=m{ÿB ,%+Y73B+U{oκhd I~_RBl׿dPes*ҿA⋂' OA/x_6q|7j+$e=:utщcj3.~(4rtD=Ph𽎵Uz\5+48h/ۅVc4Fh fi'~N=?˷G<џ珣qR~^=^ηKާ9|lYG֖ b>Yt\\|>'Z7ӓ l:&#zlK%#>!L;ޘU1ݫd^bR7&ubF9]kde$-1?bSbb+z=OdLslj+6вdۯ_qstt? Imy[~Ν;&Iɺ-tL9|:~_ntj>cRrt{d? F1/1+ bV-&<0|K.dmaUt\ %: [#mlGskuu4k0>ϮB_Hۅ ~d bphP_ u(*Gֿȧ:?d\ysY>'6NmNsLq&%X欄NRq~ou 9w$5m]AlgL! 'K<7M.k4Dh 6'%%_3c68Km~ u|>.= ;ғues3~}散'r\>v{;}\wuGhY_G]?VukɑU8-u73}BҀ$ 22/$1Pp}@*y.y*~}!c--TӒxwck0BH]C'cw_jsV͋[tRQ ' /.d QBeGBUBqq:k!7Z'zvhhPhIt`PBݣC[BeѕIѵݡ,*BgB7$+vTVW]oq*$+=OVP}>tftOtO(z8s`/o`ElV[Ÿmb$[xυ |wj5lXKam4R֓7VQp1:hCV`g2!WA:`:n+YGR"v>{:Y~=RWHvC> ˝?tzoZ9V.o۠li%x7Vڣ|Kw6Vy=K ;sڇLG; o , l|4]v@gCag7]7UOZwFW]pw WV 0ND~* P>|9A|+0S߼&X˼"4k1 g}Pt,A>L,< bJk߅;5"/Ts.ォPyN3#4PoH@"^`CguQzzI9 ezENE I5 t[VujUVutq$LA * :jApOgI>mU,E^X/<=\BП%d-U~kz<`ѻ[9X9X9%@Km1Z9s}θ~N)2 3*u\,6?>^5W>t@u$ւF|8ˊ* B=i#r҇H"iHÆ74e2+l${{5ie6uϡ(tւZc[]" Yxl,HDJb""砟üDfguta5(*Y@/!z~NGbw]H6هUN Ew:|7K-5nG?o >k4YcVAD~ ;]!=c3D~W=ňm[fvGc 7sy307s30 e.=Z}(e cs`mI35oo gԝȺN)Xb)EkZڇCfٛ~7J[,A#'Bd8꜏5`G˷*#_VD NEH"WHr9kXk"ϳ^ _gS2WWX_: 56Վ3FdEZ6h)c,n{^:aDNPD;j9bڗ@w@Fqa{dy4tc%R!Y"ة?&G}'e2[iJB4|2g3V0 ~m0wE[nkx}teDYwӊSJL+^:Fd>WK<9a:=_̬$dfp t:8N0l|Ch3< t^kPѝ1)yI_)oFÏ֞ f9Lc4NQkC uUGfgWIz x#}̸QY,N}隷=U/v|y',5S{CNŧ_hhas?8XhW"_miMNegj&yg{4+Pku?{ݩ<DkS>N`6x9:icm:~,fi`6x9m JSBχ |0,&/]; ֞6ͣ)N1vSbQ. ~ ᅨ7,ڑK@6ߥyrsr|؉,'Y)DWA^gV$<2 NPqn%0VQGV A2BWSC Ru*E7e~[yfNmX|ߑXm>+*K%x/0S%xIWϕ0Ej]F{_ "ĭld>ѕ54y 63NtdSSgM1h1:@2QrͮLNѫ zK{z˻I'l\x޵f}AE}:a w.!2OR!iȫa ~L'輻Oiv_ T4u>k/OEyfEAtZ*oj{YKIi E3 z؍.>O<ܮϺr*ʽ`z#脧?åxu<[ag%|;;70+4?|܎Sw&IJegahV7/- HhO*1pNqfNp\9n=UJ, y'-Oiruc-v7 ;ޟqU쁝/gw]1,DT;QDc1Nc46sEZ t(x[Zpxc~'z2]=qx3ztTRnjݥ2sL%Γʝ&K9pO Йoet ovvm*z{N^A'Z{$# z'ױ"4&իVmodCkjI!>f-'-j|6ջěH?ϙz6F%^=T~T$U`O/Gлw?]$ܛCiEw9wcpw^Y;gs~[׊^ӼZ@+*GX~k޸RJb5倧hieuXW-"9·۲^j3+ ={\ܯh6sY\u5l<0E~-Wk!yz7,V}Pkqk|AFuR^s?6^~9;JFT4a׻XJ0D^x{"rn|%O\>{de T_ڊr#3q/{9e-b'7:Ma"7J yzCwn >{e䄕d+{;;7)M'#E"#S:,#s"Gnf%].r?;w|k=91}D2Ί"ߡ(HqCf> 0I kk?B\y5aU?e 'aQpg)oo`> ѬMsJD$ՐqÝsx96wy<n-ۙ5<^ڽQOZ3s|0Ԟ|W<ل1>hf>|Qon \0̦rPJ#QoBpJg{%3<3|)SkyFlܽu=^P=;o~Q5 )O{烷c3Pmf-7f b[ >KCiܪ)aKM+sՎj$5<m PtcssDf/S=%X~ަ%չCF}3+H|4>Q I$o_<,@=*c#gSm  o8~!!~:"wg[Q`u7SUC$-;\ֵ|FW$s>Ԛ As`-0p 4CED Y<$%0`M y>x1YFaeDJ»s! gc{b7 ʹXWީn~9|,dt-e}J`|.bJ] |؎ 'P'v\7XH#?ǎ:")f?Uv\L[hykҊbƝɸZSNcF'a`e0߫hDLm̫X{<ȴa6w2;8;ˇ6*ct2#uuJdR`E<8 A$V IJ%@#NWP>ZCZ3<oNFuDm-e?zB%~tī:-YzϜՉԷH&(e=B۳ќEdOk 7|$d.+*vk~s/ "V}x8$kg:28QF1O'_m',G2<M:;3m7Hp݈ k O1<]wtV -'3C^bcQLJv]TО7a5sr/c=q#Fr1C@V\;ŚiVw5+ƥ;Bv#w%Cƈ!e.+⟊_xiE^ЌҒGۊ&y:mWPdB Pvwr?Ok[ ;PTxsgowdx>ٓX{iN@[yy]4kB-OU+3H?)m}ŊFT3S1W(ʍZWn-s*U}+uY *w度ܥRZLKlte*\-Rѫ}`{pqz}Q4$NXQxqT^I)vޚޣ1L|ܪr7ʇs=>[ݙ 8ő}NBsG#outo,tbj̓o8Y9:Z):Mp? V ^ F<,( sjr$Vkw:Gb4kRKXObvgpC4!nJX,t"2Q{| 8QE8D?HrJN=a_ϠDE7߄Z/Wt6B]s?N'92hҫnHրu~+58$״4xCwH_dtz ߄l>RP΋^Et;;`%ͫvw#QX`gZu|_kg ͵)F:bw[Kz+]8џZܖ{ᥕ#ЩF<[K{@۫鹍oм-~6o`4i} | UHvG,"?ðN$=9ӮZ|'uclxQ㱳Y0@n4Rx"zA·G%x#rCbml߭3 <=oHla fWUs:% k˃g^L! /Eg!$8e>F|̣pa, 5k.Ds kMG샄"@j|xZɫf/qgDh$O"*Bg>hsmm}d]) Y~X^&Q.\z;?RFC %?5Ey(HFaYW; ;>!3g"al&џ{Q*Jmf轓Lnfcǰ*=A)ޜlfQ5t"q$ȳ^ACݝSlx;wW Y ϼؼ=/d\j_@Ax0voHc)R2lQ:߁87/#lt O 6lY{Z*">e꒝BonH+y^6OczJz^H IsUn|ՔM''{+zMS{0]i6ˬ&OޭO̜Hn wӿyzv)O'fHZH3Ll5OZrZ:)S2'<k$:䪽J§9!}V@W s̍7;O&{ mÍ{Q~&4+`!/Sk#|Uk L)>ٞ?@ J(IjLEHwݧ{2mՃ*d}ؠ'n>:5p+YcCϧGXӡitFQ. ciu ~oТFcs,'o*Sn؜I$VPK(b;(>dw!B(һ@BU@ (HHC@D@ȋ&MHMދ$ߙ$~w^{Μ3[8jn<ꃮFfsQLѦhHGU%xT;5erEV軣 ^]H_Qj,Xt@;< <!6>ԾJuR1)Q' ׽biP]HYKݮGG*J ԈZEt錃!X}^ 2;M:cC*?OFyH};MXlɌ]_LO^GGm/_YIiQ +Y1Ok}0>XLH3QFf4WRhP:/q]J}F% zHm>˧TRX;OE%鹛n!Kxad(K ߤ)}j]UTK?EAStDpWtn4#3-PsBM/鸈vjjEgg+֥kzP5Ϝ =Q;}׳P%QuWM :$ͅ ]WmAi47'$F 5r Yn烔Xy tI:2Y0 M8yJg1q,HL㩅r:W9,DGSyg'4DN?afM~lksvpRL>wRIsa]yֺ>-Cg9J#fhGFތƷ)y]28NZHh%szĭ>j1~-.eқ*z_pB ׿5 ?c8[(4)ey4~"/[k4o;i˨qdqTR8[ùxc}p4U?*y7NïvSI?DY~ ك9W+SK~ ͎P $cfZEJ B"ɾ4?l8;EZIZ`u+Ts%\kO"ﱌ| ~OD~@c+6egݨW4Qdb7ndIi7nEYg,Iyz,!k~폘tTwU_i;D^K:Ҙ[K}t{ҳ'tĶN6&GU~Dd7t77Yމ'QSRGPz9[^G.*Jԇ֔.GCH3^ٌ.j]ZnCuS.K(ʔo(M>K$POk<&mJir8F%h/NJ RR:ST*>>ۃ"&ϒY!yOiLiK،J.K5ny/B0 e訕t9Jor'y:G*ߡ)ZwpꜤrņ{~G=& ,Qêbj*y!Ci Ԇ&x> :BW>A&(QʫPB++uxAkC =c 6#(|B<0(햂*5>46b !:COx㸿< c P#u-h--ƒmCzx諿3ZM؊0 aa6qb(I nӳXOp7aQѝ500'a11q56ҵєa a'n b{6"p¥k6V݄IGl&Hx.#5:δ C sf>"% +V%US1a3քq=b!O8.I8 ).cd.%\Ip+nƒ=;v5%Lx>ᓞy" &IX0gϒដ6&lA#'G8p8R)  "܈I0IW{js!3z U^z`0\F#,a%j Mp=8ϳA+#w4A_ ^^9wR c #ت17Ni^300梞 9<_F/Pc|/ɼ FҿƿakBx`6,>3X0"Y5֘Űx6cR%>7xN^#$Q~?EDyQ[4D_1RL psy6+˷M.?na칼6J{zfi!tLo.Ni 7HgݟcU|bş_2AlhsWpK+ϻ.Ji{QddZ-FOI[DӴt..7]~_ti󥂞2LDGU6]>ur2C,B޶-n3u~#H"K%l!*|h5DQUTTQKb\LS0⍙0ha3۱Rf{=4;YiٓE^ʚ=Y9Նݲٌ8Nuܙƿ:{Q+*-2*TU~QTE* L**eJ" W"T"TE(UUeE*ʋl(Jȡ*"T5UMR5UM[RDbD^bE>AuUgYP]UWQPuWE!KUo[QEQ5@ G#j.Jj(>UpLDj(Ʃq"R}5ADIj()rj!ʫYjf٢W|5_TR QY%DQE-T ūjZ,5ATSrQ]~5O'ZֈjZ'j j6Mڢj&P;QORD}G /گ: Ch#-uLoShnnw]uW4S}\=Thmy.ƞ'RY*zu3晇a< </BͶf[p3|f `v ffF &0d$0eI2>FLdPzcHd$>';p;WpĄш#I_|23ef$.#S\FLw22edW.#s\F溌s27.#.#ߺ,ted3`12Y7Y2e{.#?,wYʏ.3+]f~rY2ef.#\Fֻlp2edVm.#]Fv,"F%F6MFvv2e.#I.#\Fr92rek+]fN̜t92se9.#\F.\rI#F\q2re [.#]Fu2eȯ.#\F>]Eh/:DOKp1BQS >+Ή₸(.⊸*↸)n⎸+/J>LӿuD࢞BĈv`#xD"^CH #-~cb2d+. a`9\Fn#g7 fأtwݿ^ޛ(1{L^[7%po!?obd6FV#fdǺ3H*d5Y]֐˚-Ⱥ YO֗ 䛲l$˷۲l*ߑdsB仲l#h|Oβ*)e/ {>}~C_GrXCP9L#H%?gr+?xRN$9YNS49]ΐ3,-[P~'r^.?eJ\%W5gVQnUnSW"2I!yXG1y\')yZg9y^^%yY^W5y]ސ7-y[ޑw#X>O3,SdLΑs<9_~-{| _>V_` >Y[!P`?ۃ0{=ib?G۟cId{=՞fOg3YWl{=מgϷ Eb{^k&{aw{/>{dڇ39}ɾb_ow{}~d?OgvpLs;%sŹ\s;7-sǹs;ί#y>3|>/gl//З 2B}Y}al||}y|y}|}|}S|S}|}3|3}|_fgO=(9)jc|? ~H4h%ޅcMOnĈcX8'& p"[)n]uL,! <7-b%@3=EvY&og &snͱ~Ym#AwBBp4 #x {pRh!3d` 0(zd1 ])= } -̺EEHm%S= &e!nQv=hO ɘfO(J{h8ve~ϼ5@Z>9xrm66_w"/7'cf#1f֥h&F'b۽`Tp"Fkhqq⫸kC;㱻xwp1qmw];yq t2:AN&' q2;YP'ds;9KN.'s;N!SO?*@Y~Ǹ2@wF1xFCʬPL*TeUaVtN\qa1gX+=bYGdPue},C56MV<> C`8O)0O_pt?M8"` sEfQbD]4f{ઙB͇C|d>ba AXvϧ,3,gg+ʊz{DRV̳UleoyzV#c] )ɬ'dVWde[[`pb[6mVVa;UUNo o [[e{^oo}{;z;xώXmhvjgu`ǭNV<;m%X :ٟX\-39>MBzҒź%˞+aP<ڣi"q4.U:ͭ [6EYQLIJ,:{KV 6MlB3ff7s9͗\fn3g7 BfaY,fl7K%p3,$vdaveqvdiveyv]dev]euCx(~cD<DH@U Nw BF\AԴJEV:"nT͆jP&ew[1eCOxB[VXpA儜vK8_@. 7=C35/cqޗz(>dF@a E6 / l`g;N(E"iEњ6ujEwZ~/l{/ed*b߇x5\1qؐ7cL\xpk$xQ<!:h8Zsg=C>0FPTq(~ >у( P.A9W,UDkꡇlzǢ I7$[Dط$e IfߑlfIaKHưIcKIzsh:|jo.kI&{L%ͧ%jde6o: 4rh侢1Mc6Fq.<4r_!xfb< 1Jg%ÈlxvbnAh ';Bؽ2W{E03a$@%HT2(b@]A@ӊbx̂9(0뾷o=9a{n ZzP{ƾ_WȀ4R(SJDb}ƴB0@0hx}&&ȹd.O[KL ?CZ(ag2F9c#cz I)IH"Egt3zO>&=̕U|jfs/Y<<<ļżlbg63[gf'K%Β`1XL%ɂ,)0!2b(cLYf,sk˒eŲfٰFFlYv,{k4$P v9A1-6et,2etg7)Is2v-Wt/!'%څ *0WA|xD 3D3(v[}ဲXq&qn/qn?cw㙟PdIH#u:PE8E3 %vb!MGY܏JsG3J@Gg%(t#u Ձ?ڂ { [Xb{Ja{Jc{`{b{=a{a{c{*`{@(}{&{xyS~JY]jg#*_F:V< 'ӱ'aOb+~RT"H}+=Agғ)PjPa!ZBk8B{8I0Fh S`*3a6̅`\WUp5,k:X na%6{^C<Ixa#/ë: o{vN=KFIg^G{Hw,.W]5Ѡm6䤯9{1H$x#|ZiFZw8e7OAd8ҪzkZ?+X Exk`^#iq8 }W<_Wt,PPqùp -?3>AРԄiEp|!q ^v$ׄ2(ʂg25M_T殿d$)p=-ե7U;$DG$uTwt2YpL9vùC)#RF$&DŽEPY@s`:AB*3,3MgHϚ|ÞwE<mO:ޤzjWm#x{gnjv^B s-I*Ќ3i 0az1h, ئG!<0N}.Rޟ}0?qgzZxKfM[5KMf RpІ%Q9v?v+R̹V6Vq 8UD>YƳ~ƙ-)ty|m̛Rҽbn@ ] [4T˖M$ , zN.UF׿]yk3|w3ב}HEKd0%1HMFmora5vIQ~7Sc(W1!O46KfNFaq ScKÓ3QhElDF-xQq40t1DRn˗6EX}AD?2b wb|$MIz p ˹򙿡G 66pϳ7ޱI٭w=*i{Xw@wβ` lU|2&v)vsaVf'~>){6k!ۇ۫N)i0>YNWX1 ii u[_/}_8kʝū#^.%X=hO s!*B ʦE]Ovj֭лQwYs P*DB)46/kF="j? TE2뺪eV5ߐ=G2velg,`.e,/ -J+\5muqy<Ɉ~!3ڤ2_RZKK;@3E[r(۶黖<U-gWѸ{Q8^f/gf'vmn{p]?E)[{NaLCV%sƤ޼uʷvrA*5;S4ySZ^7[b3io7YP; ̺mLkB52V 9l _oɢe 񍹑m;F"527Cb•`< uR%1vMB=2*"t P*PTDDPS9 BFu)Nj\:No>pC AKAI(q 2X5_P WRΔA`3kՉȵUoPHſrп #8moWvMNjkŹPt)[u.ͫ0C#xJujwO5ݼ3X 1g+֩sz^s]:RVvј|u^|0GԺmV,ͫT:=/)=ʮҥe3+w^:rlAݝa˼w?-tm<ͭmWx?lg<\fx0ite=:^Vs¬ՃNORu)PhrD] '%^d%qa.igr/7J;Lטݜosly74I(ۖ=˩KJN~Jg;g\':_l=];&)Nnm%~ %*6w7eNRHL(!򸸉RmKweAT!6?_Upwԋ.S2mbW\W)ٯVD"9|T)XxN/ŝo ?yGy-3y=&mPc/Rֽqʨzw|kr.ڞ,Tf4lC_Yҩn3ǿcEQ?.Xt,6zݧSn7zFX ,5"[$.6YL}̵<,/wzByf&n;δs7QunVDD/Tz_]'9[VM1ʻ[YVo*zF5N-yҰaף{nzВIfZ,1aЁ]jܣNH("[e')*ԸtӺ7. e1pў<ˍMkXʼH8\uD6 KCvO/eo<ŹC6"޴yZu:`/ g{G{j΄GbgUb]I7WN4UOL\23T=O}z D/d9xM \>X?1膻RQF䧞ff!,B域6vYy\kWe =e;EspZݧ+{^ geoܥqbKEKe'bD2otř% MglF4s|njU5YoA:Kx[+HVvVFt3i-DE\cn{xͱ c9;ZٔfzTF,R-^o_.ve/Ε?5皛YXLGFn3=5q]a~kLh^aBS k-{O;>1ҚMZ@YՃUw G7,sj8d'O>6QڒjG(IMaݷ;F[,Y5:pW8W9y4xw? V!Q`7m/i iw1eٖ%ڧO ڑhˊ5(g=xǻeNWkM ~Ȼqrs]}O endstream endobj 466 0 obj [ 0[ 507] 3[ 226 606] 17[ 561 529] 24[ 630] 28[ 488] 38[ 459 637] 44[ 631] 47[ 267] 58[ 331] 60[ 547] 62[ 423] 68[ 874 659] 75[ 676] 87[ 532] 89[ 686 563] 94[ 473] 100[ 495] 104[ 653] 116[ 906] 121[ 551 520] 258[ 494] 271[ 537 418] 282[ 537] 286[ 503] 296[ 316] 336[ 474] 346[ 537] 349[ 246] 361[ 255] 364[ 480] 367[ 246] 373[ 813 537] 381[ 538] 393[ 537] 395[ 537 355] 400[ 399] 410[ 347] 437[ 537] 448[ 473 745] 454[ 459 474] 460[ 397] 853[ 258] 855[ 276 267] 859[ 258] 876[ 430] 882[ 306] 894[ 312 312 325 325] 920[ 705] 951[ 498] 1004[ 507 507 507 507 507 507 507 507 507 507] 1085[ 498] 1089[ 498] ] endobj 467 0 obj [ 226 0 0 498 0 0 705 0 312 312 0 498 258 306 267 430 507 507 507 507 507 507 507 507 507 507 276 0 0 498 0 0 0 606 561 529 630 488 459 637 631 267 331 547 423 874 659 676 532 686 563 473 495 653 0 906 551 520 0 325 0 325 0 0 0 494 537 418 537 503 316 474 537 246 255 480 246 813 537 538 537 537 355 399 347 537 473 745 459 474 397] endobj 468 0 obj <> stream xM0 w+ۉ!mHr臚T큀"59Kv*Q$b=|36ͮz~bzqsNܩEYH[6vyW`7y黛xz-{/]麪>ڶս$;@s~v"d]}>,Z'$3ALєUD2$u8~+o8?*#ƘnHݱwIiA)H3ɑ dRLޝi Z2&mt@%8+J)^$P> stream x||TU9d&S23L2I2 IjRhRR@ !E]+4{vײ(]$s{O躸~L<={gyp1U{~-WZ=40vZٸcJ<˯*c?0i|iY3/OVyi{e8U#SXӪ [qg M^7 c}U+ѫX݃/]w[и|)Kc!iw.8~)Z8yBP>t! M  .^f701k?NXxG#2Xōkf͆mhYF1fkv; &SN?;<6QZiZ-}lRxǍçPM-NR/W/S7 ՈLQOPP__ԯooc c e`ތ?MfDzZͳf-g+ɸFpwrt^"~_WU|=??ʟOYB?Mg +c[QWxݴ j]V9(2s7ϙ]?kf]mMbS@"b-qNEj6V.l L)zQ6=X aD;*4F{,>,GELˌR9X痏Uˏ] GOshrU U* uvVd[6 a7fOB 0njj`֔=Vv*!^5ʵ6b:Q ~2M)>OR|$ŇR| R'ŻR#RQ?HoJKJ/K/JKJOKOJ{x\ǤxTR<"R<$ŃR)vJ&R')KMRDW{[Rl.))n6)n)n&)n):))*) ).2).).RNP ,R'EJqgKqgJ!=\{HDmT~Gh;ѶXr1(K j%KtD[K~^ n#n"멳먗k" jp9.#*z=" . Lt>5GL555!MNf$ZQ ѱ4tRMTETITsAcnqi1ScASb~cdI17|"&'cy̽Ts *7JbMqrX0Q1јX"|4F\D#b.15\AbИ4\ATs`%sY@ԟ;Qg}Pgrrc.^D!3̤΂K(ڥ|D1g=sĜs@D"7QQ"5pQ'D Dv"մRM D&8i2D 'bN܀@)h>~ooP5/ eE/>MXl?C];?؏exkЯ///؞/<,3Oۏ q}xxvRA۲.@p?;Pe`@zru- ;;ہۀ[onB7X\}5Wו .....~vCY.L \`Yl5pjv (p:/ 9u˦Ȇ-#ܺ޿~SoYpbe]dm-k#'GVGlYy@9W ڲ2bX^bJe%/] [\\VDEoYa˦/۴,02e [-m-gٝ'EDnY9qqࢢ[D5Gmi4͍45DGfo*R-3#-ՑH喊ȴO)9fȤ [&DG~5 >T^2-/IݘzaU>厔R>H*ŐNӿ%;ɪG<\RC4_$rySq8PTw$qLP ;".v59lEk^]J:ͪ%akLAwTʱ%s#*/orUNόsUƝe5_Pʕ[V˟y3>9^U!vrtDXNޚ^ry^ފٸ^"OA+\ z! @ҁ4T ɀpI@"H  0& 0pfځ`?#w7>+K`/7_ρ?>>>x xxxx xxxx xxxxxxxx xx<<< v;6~>`ĀV  lwww7777WWWW~\\\lZss3YMcsϱ9?Xcsϱ9?Xce=c8=c8=c8=c8=c8=c8=c8=c8?Xkcs}ϱ9>Xkcy_sf3f8m,]aﰹt+ 6v'G3/6ul\l,%1ֹsom@1b CNgGؾ츸,Z[*x"9T䕳ZMuq1`ul&Yk!2dzbv;e p^C2dY \ωJ5߼ֱufYZ~ mē9)d9S;ܹ]s]Or;{̇Kإ2v#kuzQv),kJ>Ȟd;=^v&D""2_R`<<ۈ)~ ZtO~Z8&BAH\Hrjv/Ye<PGZ]x#"BMzMw_U-3݊gq$6Xw-l+>twE|[{rQblێ'yi_*96d]!iGZݺGQ18dOaz=Ǟg/'{Q>U{ۡ^al%68_fcĮ\}Ll8¦2;^l߱SZjgzrq03Kb+?$nm/6m1 ߛ8`//x?r~kxAG4pwe4 ZX8h2dpN(+AlPTQDS)B3 >gTҼFe;ffnRMql=l\ʲ6=fsbz'ejǘc .QF*^a1+ ojߑg8kӕl6%lKgI}y[ƃ|܂ܲ]wCĹ2,,pzq&O3'I̜$7|NJI^xKgOo#6XBiX.gDnKg;/{[ݵlrn}͟_hlzT;VxglU/WsQGۦI k}Sߝ_99q4\Pk\׬?i*ж>d2]GHub7_,o W5랤4x1{OMvшehf痆5 +f7^1Cbz؄^\ 6䪹C_}%;t 6nٞ5`.n;ĆWx~k 񼱚]}{~OF-쮩}ѮMJt; ۠R3n2EP>DSfVƴ?&m+qR ~6i)L!C2=L!{{sY 768k=)G{hbT/'UoVN:SB |Me]Xybtq8;%igYMFEʜt I|ʦJMLYґp^'@߿O ܰkX**ӢGڢf]Yt,b<yW,_?GRsrrL$xqǙ8ONVargCɦ^G&l3% &UE)MlqNrv]ڡYRo30})Wdxcv29ѝztg=/6X/xA>n%"xķI0:O[97ƻ7(5ltb0 @<^m6G,b}"x1-qB 9kh՛b/]m8B8*ϙ8;kBqﶪB\qV!'.d&BIw{2Vc<ǞC/ 竍,/OZ \bTetelǪeM'{=yF3:n=;tkOӭӭ3ҿ A^ M(T$8YFQ#א*bhI )C%'{~&^jJaNYe`|capl(椀H4*s.>"}蠁^MR 59hBk\GNloV],)}Onj/e05LBKνύزrٺ-b-nqpu{)L 6{U }fG H7c?} |[ՙ=wֻhŲ$[e˛wKbMaK@Y҆t:vZ ds<7: XLJi\Ս/` {-n^=˲Kw/eeh Z&.qp~I{&1z7gm"†) tl d4׍D-y_BfDl4O:LǛpO #׻D4">oHP `Laobǁd1p( ī+YH*g/Z#Fgls" 5@KPb1Dw< )D- xP˹ǹuJ25Nx2k)9G/?SAE,X7ʑӝYa'i$ t .jJZٟx΄a~AõJ,QhiEA?sTsӅQ֚盅&d*W Z6Rהiܠ1ЂY'A' t3 *" j,e$J:|+f4+N/ O8~Ppj_0ؽfq51}>@ZՋ?`YLĞ}now2֜J:lFn|$hԈ<1֪DV*Z53Z4q֟b96],rTW pW  :ҍX)K4 x11=UP L!E 1XSMmRrOe|JDGEtx m Kv^m,K K:5X*g-_^޽˺vvt:tk-]#eMNwЭfFt +n^5YOtB} "0hyERy璼3ciN>CU$} V*̚|fu&2gG 5*E+(BkndVWQKvr, μxTUN3!Z%lv]cà w=iέ}b_POf;xo߳GHk|4h:5բI.-AvݾΔOjx(13 KdG? ro1. 7pOW463%JmX-d,(XrGזNëԵdb87FW/NV:D|sz{͋OㅛXGfl|>D(T ndWC9ݛ^Gr|cst׿t+y?_ +$ IWȐ탫 %)TmL6ʷIUb@頿F7G@U}O1qS)Sii'T'~l_|qQ)ì2y`i6󦙛?w[_on?܌qQ6=caJT⭜;s*D3_yTk.K vPB!%^^ FfuEAT0UfO ?Է,r5 vt04 Vh[vus!Ai(*'f_Hpp;WFD=MwĖ`WD3@V6SavDPT =^*SQoR'il *VQOYө&I$c1>mu]Xcؠ"ZE7|u :_/ZoR-ʅ7dן^DµDd/&DIbCA$JCf* DEaxGٲa rj8E h@(ψmAWf%+]5zkLgPnm#/`9\<0nq0mX7k_axs> J/90Q)O0kpd[aq2l#WGSݣ7-O2jkZJ-"'1sWqo>#sT1 bT1 V\ ROrZFy,(gC~>%BZIqa~K&Ej0rj&Sr̵J zSKk}ƍӽ+fﮌRǖ#OyO̘l143HX\nR wc.EEf(3/AhOْ$7.%oDk H΅Z*HZg|&8ր=4zd;\q쨙 M >Q$Ô߫!x>Qccc d[2HzΔf+<[8Wjd̛G4K &TZi mmuM'=QoeJRvþ.yo"Faz4F%5뤣ţX/Y_\5$l"\\<$&[0bB݊T*PRCl ڌtBռ⺀VD!e+N02:[>_sfwN(33&JR|q:#S_Wl qaNU.ĊD%Jd8迲Efjk:b>7ǂ*A\RIRrsg!nmY畍Ceh0z| , g`MdK)9bYRA˹Bs_C WzEvTߛ*Cc *K}Op}ճҼjqJ- lrlx ꆒw |#U_ԑ5 Tb\ vL4+ppo Ee+QIjLIU K&9Tg*GY\;OFx2T7FDx'((QtBh(!T*AqqAD$Vm滋V5QIk\_.=kP Ɏ>G8Q!*"KWS?U %i=;vGG{Igm~gq>w|j< uݾq cP6[q " k AIY$A âB]b":Ŵƒӱ.1T,&WGFǒhD+G{olv_6 ;+57u#Gwۦv!X~xbuC~zDQ &$4 "9uXVVJp/bgsHxI6cagvű<5q2\kcgפ HD ԡrS]˧*ㅠp[O2!A'$fp]M bTjePQ.uF\|Mi:Ph#µp1G#)?ӌZmuB7j-[G`p èM٧t4Q#h9:v2q {YԥKo~j)r~7%B)=[WtJ5NbJAdsRE:QPx)Kݬ rA_Q5slRRȜBB\.2ӷ/iX`ѐP(l8cb4>~p<47ih&/ĸ9&w-\o 0t|0b@se{R7:bW) Ե/Gk;:X+TIEIe-Z$L*ZDJꓗn%`#ʾU۾.W_=rqa> a1ujOY72Or4ͥґr\O5Q( >iB>5H.3}j@U#=C+GסXɯu#suY3%e T厪 iSi&DV`'ERy<1,LR Y&pwZ=xd4:?@VRmt8ja_GzX%){-/YtUDTUS^D5*D1ή##F' х/p%{y5&ﰹѲLƹEeٽsKd4-\!Tg WH/jUj Z8a^i9 C>)1R ـU ʐ0H[nEi@K@CV/rBc ]@+o"l1UԚaܣ^OЬ%&5\0`+B4WH u<Δ?7: s\<N0 ' Z*Kiԅ5{,O?9\;A lx!o p$8;&b hE] h y꧎XL*<{n8|NbX y<C@|Ls+,GLP y l3PڨMoZ d&ogvcL,#"u90AI1*a sSs6JƼ7iA=ى[P 'Nj=C NN ŷ<|N,`:هT,̴p!xX3Q kzIH[yFUP.gЬ60`{1;U^⼎Q}V'Z3'Z= TW~ŜՅ]*K]^ U;jRI*Z2K 4xG^uL3O"p VXR̕Miߋ苡9|h >_=_/Dl/ CH" x?;j p514fx+0;ҝ)s@:P]0~`: 9:K͌ӈ^@%i t{k O6C^]۟N.֒RZ2p-|d%KIEtJ'X8|)z.n`b8(E9^@>RX:`UnFazU'&I" oި&UzAO8^Sxf 0nMo)+O |z1 |x#90=%oWខW9\]Px> FAFޙxG Gnh1LL (HHN0{w`4r ojId9߭Zw n;tD~-gú,VS~V|qZ ԖWo⟷4 #&xG;cs/gʼ43^jJX^DD<ߔã϶Zxe,OpvzzY}}?u q Oxg wGKmǛR,Цwv؍>ĿZ.l%]UG@Tk̾= zu!O^Tibv:W&(ji6^zREIciJ(e-e* x8s}gHﺖ@.չPu KR߻/h֧b^$Rξm!s Fi1j] >hM3; Z&A@eݠj~ m@2F$Hٟ+KW32.[YG,f0ZyfK&7YYqˢK>@]'l?-<S:[;h[a[oޘrk~lٰJw8;Dq^=k nrKc[ $}T~" \K1ݰ3ks^YXq҄6CHnIJH|X'!k3kgբI'ޝ X4=/=,ͯuUy QXg˳3L{~seٺL4mb գdP!+X>Xyf` U0έOm6r]ѝ3G8S74&a㫹;?;7..cޡe\%ơ>]sA Cn-W"и '6D<6&=j9ŎQ+N 8(z8 ( ]gJ*dccݦΩhZfۚJGi^5V4L΀SGZԑ:=l}60T/5X;85cl~ I g10N온An`30$ by,>)ÓgaY`ZY8ZWjQk)||3Y ` 3 V\I:ՏMd$1MtwVPo6F1>[外v[8M^6}T2ptE<6j!Lz,&ժؐH`mMkoA(Հ:"s!j(Fdg&Qd"dM"b#W"hD$ N5[ItvRYeP%RRGmPTӠh-ІZD k**,G6gVԔ&Q%EP["T`N^RK%jO s~~!56y\W,ft^jTӄA4MHL8zJQGnuHF8O;5_*\ֳsY왼oK5 Z|a_sEyaFU@l`,H pS tl X\չk}ܐ [)qcbmc T0u93 1#ŖcF5V[i=աj5Zr>}{!>yY{wz߽\K-/_)]N [*/Z9|n>/O57ϝ )p2/pL 9e#[}ij.*S5B㛄G4/)Ї3##WG~|lȿTT#W$uofM/ Vx.uB-;t~@ӿxʋ:r*4hOSsv'J'o=xv- ZRٝ=ed2RY#ǓqS;i"G>Z:'2q7Y2Eg3 02F:Jgҟ?t?*bqř/m^sX:,_Iab'!n{aIMrDz1s1:p3fi#x JŸ:}> i}ȲW9pN蒒K쬊ܙ3YN䜑 ?i.>-7ӝ==~ڌt%OwL1aFJnaqXGJ,Y.VO?iřPNdNqYC93,fLP/(3 kN>hO"9r\97IJ| G/NN M{.'+Ɍ%+K_X",K,3Sc!/])8u_g\rJ1g%_y@Y\44' ~Bz]n>.M_ôSVq?ɋ/׻B .Yp2`.]VSPY~CMEKy{ox5Xڊkz_a˓33oj^%+';1sʭ_x]_r˺zS"6s ps[sآe>GܧL{v3Qsd8;3&7PpY ;I62py'jBH2t6,6T e |uڻSlMĝ5urr2grz]3̞=I~@>wlʦZPg!{lN~\Sw'3Θ:M~juZuybt)|3#ˮKLvf(Ov|_vZ)n ?/>#oFbX_Og3˫ʖq/ժTXq-?G1Zlsmb_^ hq-6C'KFaMDx9*Yt|,|d?TS^eRge|%GF˔S)_]nnQN+䕎[ޛXW?,3&^__[-Gy~'PڨY)b= ~l.6VCs;Ŕ^IgNAX%Z>sR-ͅ?o@ h]3tl~V\&P-hzȇ?R-HCE< zAڿGYBX.4#-$eT$_BXcPi߆V!==' 1/C+r4BaE !4B"zW}X:Ī>mR*~(au?VV V^d*'T[zC[@{o%C-{}s'AU "[ ނOBKi2)h%Q= Ш~-]dϛPie5ڧՈlh< dVB}#VpVU3UF1R߂a'z.ABxVv 0kn =z|mۄ>_cmlBM 4ԣ @YhTeAoCZ11-V AhX?+e~1Vb'mUr`CLV nhC}A f͘c2͘)d=udKb7ctv@k>͘)(U{RpF?'(o߇j&=Ϊ1h)d,zg 4v?,? AGhZ?mA[IQ,=Բqxϲ@dEX>C+* O<aʹ7Y$+ < - |@h]nm($Oڰ@Էъm[wv0i迁qh0TfvƵI;ԣBha;oXcrdvvP dz׻vx4t?IA~hnjAw* }A}A[аvbt@s>wҵ{'%4]*!ԃzZ;+ړ@,WAp %PiX+pG?ŌC~3?dyZ BAT#ןP}P+Yoq|-@@@tn} :zq~c过~ ZvѸ*42} `N w@X#Q=?ElyPB$hâ܏q-b_*Q=盉f"o&›f"_B}TŸ04OZ? О8z ʇk<[z Yo!-dJ-[e+lԲZRڧA1G8t;yV.Z-hE3V.Z-hNދ>/Cp}ZN?=T!4yŌr{C9 ZŪոgOYc1Mh'-(:uo=u4gWoA;g AXe!!xh%1h폃[w5Nh}FZ +Uv+aIoB=O hi1bve]y'݃>v1}Dvn#}'C= @ ǡ~q~زB~ # %@?o@ p;崿X n?@kcM WX0?.s㠼ÇzQ ®bA}AG{haG`8(>+P6ʯCKT_WhDoFoBۘڮ7XQq5X>B}TPenhMZI׷Aw=!hNT`,GB^Ѡ ~hŸ Mh~G~F Asо >-կQϲ,CTPrwBrf-SVj=Ծq[TOBH'ꯋ*x)˻Cy/}T&bfU[b츣f D5<A۠]rjX\ `%%Q%Q%Q%Q%Q%Q%Q%Q%Q%Q%Q%Q%Q%Q%Q үB^zH HIoay&H&}q;[=KFf'P&m MPͺ`sDYWXX8ì[XȬ|1CfݩMw_ͺWKzrlɂa:g60-.X=0Cuk~6l;yy-pl6n6qY:m2 W&gnp6gnp6jZQ78uQ78uQ78uQ78u]LcK񌷄}♻Y3bmElj,DZ=Ԛp5,Ko 8KnznD-@Om&:fEzhvԢ%۴(cK܂8od/fQh4mL6|Vclz:#L{uG,iOz#cJ# e4UO9hbbN6|A@ ҫF(mGSa03h{9fbZz>"Img lzH"ꭑzh#-̧3f7%LAkXsPj46lG1 cZSTKk{nj+I-ٯ3ЊFs%|:J?5̕0rr&[9+=J6+Rsd3^m3u(Z\cƛо΅hQNJoQq1F/ wiK/@]9Ҽ55kmM0]hGísj-hZc>ܤEj"j[k6m{ ڠEZDZhњ4Z߈3Z]s>)Ώj[k- j(lEjZxPWB]B販>(uBf-F`vkPm]T 4iQ9xS` j[ۨcP~G'/aEڦ676~v-\6NmZB z܆=@;G1V9Zm{mѰ%15ԆX}m-pjJ/ G[^r1УZ}cm 9m]׌7#%Fizpss! .Z}y%h(j 5-nmnF̦毐*[Mk8Z@}1-mֹ/\a[kH;-~ b@$*AZ7EK&Ldq`V߸E4USQs1-h8PguL}$%+c",y{S6(|5#Cǿh,/hlޞEOɧ/˧ϯf X.+DR+|wUȭ -ldulww2猇f"fYx5p 3Y2kkN~Wx[Gx^o6/8?foV>;ߥL=,ޫGY+e+W*׉ =brؤ-*_J%!~QoQ8oU`< g"0^`oq w`?Ƈ0~_wxDD*N0`e0^ q_*0`|?ƃ`g0~ OXm1sxr0;`|#` OŪi`\0 ;`|  oI0~劓\Tfeƛx+j0`o` ]l& PTeJj EGb7^>0 !0~ 'Ļ*2)SAsx_]!Nճ-I=WWeޞ40.3x=oUcy ׃^0g50Y%yy`|)_?;x?`|a^y9nVL0>/` ƻF0#`;0~_/<|@wx7`W0![?`;0~_x[u`\60CcgLc<J-'0+`>0~_aVƧM|)ci k_Scyl2g)܃|&0q _7OA0~ |{E1|XKg4O\10.!0~K`"f:E\N;EqzIL@[0x#qbXgY5e깖Unx0..0C`'0~ ?b븝Z0q_#`|dmJkWVF0q w^0`G0~?aAfQ[MCԃqF0 >0ƟbqzبnKEZ#*ԐVۅOA{`|; ~0~_w-!޶,;]&q ޳\#NXn[`?o1o]m).^wegr[~ /Qqx,bc6blźX֮u+h' ˳՘ fW5 ;񽉽xb:nsRo~ 7Ǝ.ze䰥ҀPc^[:dN\㱻եuix/^4vmذx ]Qwwy6UGƆn&mQtŪr%$Gv}{(aWhWjBƬ{P)tX m,&osvE&LxI6W̕0ۭ[գF/5K,̦.ndfdfutǺcqՙbÑnh3WE%v4g {[EL8^W64ۍvyXSw?Ky^9,vǣc1.Wr+SN˝ҦW,i˻gmG@C!`a޽ ,vQlw'c0/HQc%*oطƾuOoC ~.dc%2mF;ww:=iQnS/:hflf:Ɔ11d\2<PH2ؤMXzp8agQl)֑vif0˨þj-YJn9d|u\C1# n Ō˯!^gyɆC'wx#ػ(zo߾wo֪W h  yeWZ6F9l#IS#CekOB0 753ǒ_vΜ9s^MF+(FYM. ;0q;t@2ƺCtHUh/FmVn<ñؕN9- EKJBbhcL0MEbn;F2嘳9:}1AF!G̾Nuf鐛M63d]&$Id1GaH6'yydqδGN8W0P2Sl21suņw &*X7q*63eU1ن, --hGVY꣌#X_ެL91U9Xˊa~]nmvf5myG2s-c#l6t`F هZ1ƔPꘑd2n3<2zTFșt0'bb4DQڸA(SͰӎk fkVMp'E8*p2 bM5sj\yNg)h<\D=w%oR-vΌDMk#دdГ t6G|Aڡ(rl)O]]4DjKiR's>̒Hs<6;,1&oڹ"~`&N8N&N7%Ls%:iIf,2szMijINNM DmŚ E vǻȞ'\$X\7bwta" ctTQG27'On]IǍqmG̡c) Gξ:7ܮLɦSY[I핼r۹9hnvdX KɐPv0Kbc#BeDnޑ#F;:}f,50OI3ctpO=@­`ف^7h ?rdnO;cĝݞG:HH ttÉ#(((ML%.ĝ x,df"DP]Ee3DTJ08% n+RHբ%F"bb 㓐<1R;gﺾ7˳,OQNX;wnAM'4@d~kԡRgϝkt|ݱQﴃ٥V`G3#l-Xu2Y:q:zsehb-uO\NYb#뙣U-7I}?ř:iˉTd&l3-+^xb;ci]!_2 m+S 'O|C1)0~hWg0-^\\(:3;_֏Gqw.'v}H?#~4ԯHzhq~Z?NՏs-:~ܠ_я$OBI8PV.w۬UWAviIlQ!-V#uţ5l׆Ǣ]2,кo-!j69ugor _<}~9{w8 Dk -;gI"SUs?R f57k~#쯋/YlI7%a0A%wyZy^uww5֝d@rcrKaɉ(m%[Sʼ[p?OiH\. eŻ?yS[mZUQ )I3#m.XItҏ2͋-ʛSlkk{rBv~R]Y]otI\˄L]Ɵ.9Gu\.E%vڴi^IۢʹWOzz_*LQ֤?+GqѤnÚˤnSˬxC6@ʘz6~=uI. NՓҷWE(T>ҫG}}}}WJQQ~/syEՠ:d壡C n]]Sz7^>yjG[G[G;|tUkQ_'cG\;j(uIN0aԄ-{9q.M|쉅#Oʙt >ؗob!+JE49G͓rx'G2#72gʬq)]8nHlϔ#SO%sjiJU_m=}vwlj^?b1?` _|C 6,xw v.8p§nYX7qθ{K Z4cˋ.~hq`qǒK[K.m}]/{a[Ku]e,+]ִܳ˯^>k+zWЊ1+hc՘U W`թVߵzjcͰ5kdH_ٽMΒ3E#x ?&n'L?osiQ;r ;)~AN-h,p٨ZzMg֙7grlHY\17vTMS[U_-Sq8L_m?s.gF9`z'Gt{y}N덧{B)ʵYͽiGR'T3xmJNENWSG5/3۔`Q5H–)ekgc1}S#dUҩJ5.EQ[Qj{J'ә!#`:_m=3IU]7[)\qٳFڳ)'f=:RMiS-Zic-Q˔n{rS)EMV=,m+abW1RsrXQMQWLS9F~ƈpQEQ#\ltccj#HۢG3H=I=;iŨyrNơ9jmsb73 P[ԌF/zƳHύ8VݬӶrf5qHϻ%Sof]]f!/Q `fhuEZ|mbhVE1%F:t<8VӉkh<$N8JGjZFZCZm^SU2jUW|uw)Są; f)-Dkz=AjT:EjXǶX&􊧉2Otc-쿈ݸV#+ʡjPJJێh}l_mav?jN ZqS-.D+Pn材jMbXK!Zj%Vj!xGa=|(()zYX S S&bZSi*Fu>*jOF>Ŗ+.*_eJ —PA8Z _ Oj bW^<ϕ;ykX,+Kmh@r@{b}34ޢ.z9}0BX9pIx ^wx:F@CLwb9QmDg'jWzѶdmYG$ۮ"'n"fmɶ1j%Pާm|\Tk{=mv< 9UqgVq-VϪ7ʛjM&M\$W9UZqK<ҟ*}ZWZ+I50U*S??ƥ_Ns;un:Z\eZ;R5" jMH"B6PB[+q-ojoC\;WTV/@w7=Y^kXC0<jP(b7쁽>9/%8 pBqA oh `B!J-;8碑EElɰ_ʓxɓҰEP %pJK( Aڿ0| TC Zzؿ)w'12&DȐΛyV n3n-y!,RȆe_s:^?|'y~ ll7yx#'9R:9ȉG#s*_ɠ3 _rNkA=4yG0 /x\#Mi0cew"lm6{6kfMڬI5i&i m6D fCmDAӣrQimiVnkG;3vfؙؙؙؙؙؙؙؙؙؙؙؙN[ CmghsEc\:c\:[:[:Z:m%ؖ֝b|K'"/"G7RR9_DΛ|10///]廬Gzgp`Q81'~d̤b1C2*e|\ =_u >ιp-_G#9#'ʙdhc s>W+r/<~$e:̅{0BX0ҷVkuuժj]=7zMM\i+D7F훘%0rw`VE5kq%B1gcNU?WgւmxL:RԬ#5H:RԬ#5H:Rن3qfΜr3L/gz9˙^r33_\Lgz8Ùp3=LOA3ɭ7zkQa 7$nIݒ%1wKJTNkWk۪V3ڣre00` 0FhWp k:xa0^ex^uo[ o { yG|?ev?b. a7s>tVnd&Q. a7쁽ؾ> eEBh =Bp</8^'I[~oپgfz,v|񥼎 Ep1t..O:B7=,v^2g/ ߝy| a섽c OBkFB;h&܎4Oz7J Ix{G,߲:;:;a@rp! G@=S~}yö>me)˨sJaٵٵ$p=h"(;eh!U6:ӠtNpHr^ %p)6+Quen P~= B2\~OZC \mD- i:B'.颞.J CDVp.~gຜק{A C`(8$^&s^/dvqﺸu-Ua5Ϧ^{ "oq-pmx29;٘(Dۤ$[B=;#Tb{B'vRKWR9{5ߪ qfI-U2lC`4[։p[af]J&w'Me8!xGa=<%=OS4<s/x^uo2#FM#i/z87i&Cߴ^]n]Ƒna*fʣIs`.̃&fIl&fIl&fIl&fIl&fIl&fIl&fIl& {"L &C&(CAc>]ľXo[xX棁 eľطbBĞOĞOĞ-&-p< R|OW>ʧ^+z勫p~v ԯ j g95)&[oMdtLwFp'@v5PRjWJJ])+v8?qƏ3~g8?qƏ3~g8?qƏ3~g8?qƏ3~@) @) @) @) _\ >TŧÏOEDA[OFvDRD[_էx)^}WFjdFjdFjd5|C jPÇ>5|C jPÇ>5|C jPÇ>5|C jPÇ>$CO"N!DTNى6%hS}wNI;KKKG (%ԣzPQB=Jh+~9]z#}4͡צGUkn vU@C.`7nF7}Mot7nE7~M_t/! yg뺛m,p/,ŰB6,;O5=f]%+Yyʝn]H ٚM`ó~X+ZOpܓ)xCm{6C8 .H$p @+h )p!C*A(kа kа kа kа=Lw0FhWp k:xEwB̆sn <5̇ERȆe\~(daTZ7:ri'OE&.Dq!M82(#N'Tr&a0Da"0ԏ~E(GQ?Qԏ~E(GQ?Qԏ~E(GQ?Qԏ~7~7~7~71E"rF\Q.(anuE(FQ7QԍnuE(FQ7QԍnuE(FQ7Q[Uh^+QjWI1h ӫ8rZCc_%z2 2 |7>!u'= xTGx(G< Qx(G< Qx(G< Qx(G< Q1<:GãcxtbB ZA 1h!-ĠbB ZA 1h!-Ġx8<qC8o{;.Ĺ2jpjp= 31~Bp p q<;.b9.hࢁ.hbC.p1!\ bC.p1!\ bC.p1!\ bjpjpjpjpjpjpjpjp \2p% \2p%qqqqqqqqqqq\RDƘ P u8uTu[u[uAFP7ԍnu#AFP7ԍnu#AFP7ԍnu#A:ԩC:ԩC:ԩC:ԩN3IGb=Qzldq#Np\ CW1wB̆$Z7u#Z7u#Z7u#Z7u#Z7u#Z7u#Z7u#Z7u#Z7к A ZAVia?|fVƏg{~TG~TG~TG~TG~TG~TG~TG~TG~TG~TG~TG~TG (h (h!Lk´0!Lk´0!Lk´0!Lk´Oh a P8ơ0q(Ca P8ơ0q(Ca P8ơ0_r0^xe6!7^ilhlhlhlhlhlhb4 F b4 F b4 F b4 F ʅŰF[VmL{T}j?KrgJk$ܣ,f4^/_g=,kZ6k8 GPŬ%kZ_mjɾZ%jɾZ:+Rw+QAۢm Ѷm՝MN$o%V ?=s̔6YZZZZZZZZZZZZZZZT59UMNUST59UMNUS^^^^^^^^^^^^nbXK!rY56BD;8;d S>aVs.|6H[yhew kˠg'xVړ ǀVyϰ<7\Mw\=x_~lc[?䙘<9/ G<@(o ⪖SUj5V)T=zUAՃz5#Y(Y(Yߢ&*(Xe(x` DR,E2,=G2FjFR,C2Fj̳v|g<}O/U9*r㲰wx:gy^WM%s} ^vmaٛ.ovo>K;ۣ OuuXS{JYd\m.oG6\٭Q˵_+*-+wS|9#W4+*^75Xu y[l חoC۱# Dȝ+F-*> {,\rWo:%NelVg}\zo^ n?佣pLXǏ81x$e1G"L6Mjx˻|6"987?x+./ٙvȍe !6%=v}vH/K& ~෸3 wct!Lr>kgòO)L eneu||n'r {ٵyu}vkXm5b ܿܽy^7`מ]۹ˢ k]Y>~݄zfa|0)l.Âz?\ω k]- 0R)Jr^-zdkZ/r`!y>/k9GC8 v1G]aEB>h@ֵֺ܉wΟ R/R/R/ Lί64t<%%Xo;"F;~}=׮m׾'c_cڕv_va]v֕vl;.;;f]]d_T8/CzH c-)-K^re)Ͻ彷2sE+n16k5WfSmFH,zۨfosFUΉ9m) feQ~yd%W2\l 6bon؟؟[gggd%_yV܁;2Q}"-͖De3\{{i&g6$'mmm~9_Nb_[5|o5j z[.e|ṉLmc 7(wK,Nvh _[D>j6EU,Pnaم,olD&ѸI4n##Eق([++z^dYRt(9DFױ:^'6"`(6:QQkE(V X^EB[!Z SAt*Nѩ^tERAT*JQA4ʋFMVg"XVhJtY%-ZDEdhZTjR *J5X;J-F;юoF;n v{n/v{no vy]b-jMqQWEˊuOvd;M<ޮc][:Zg[׵u5eMgvAo-cZݼOyNxVkj-^kyc:cyoFulT>xo7ss9ⱻ`ƾ3<7WEGgͬlYՋfVofFꍮv]Q0FfDmFf4;fѴMEmN=z=&6,֨ z[So zkN5vخםl];^-}w}Apax#,6zcX\-/"n]]j̒ZY)ٱS۝uh;Pq׊5w9'aiLƴ٘6gѷVj[c1lw;ݩݬ۬ڪN}lE컓}VzݩzX_OֳN]ζ;B_<_Trg֣23z?$N8Y4gY|\| %|8_* _Å:.708:ZŲ7;x7,([T<xO",V"{* W +J*ʮ< {+;ܳ½Sp6S3#!T<ÂI89>gS?2ܓihuk`mt;zpOUyhQJ@)VQUȠYԢ ~8 xǧgvjmUB_ C EbI8TB|&.Ʒm|UQ(}S7&3x <73*~U܁;qD܃{qxq=' h򰨲+7q#:\RH#pN;؁wHx㹎_?14QWvoq+XF[Vt}ΰ3 +:ÊΈ 'cX:֪-{$,-GxSc: 3pQaFicã0p/&vs^5ր9993-Qu:VwyAcӻUҪC1p#!c2*c2֪cQq~p5:결4si>sƆqo2Mƾ7&cdݘ{`p?x0L>'$~0-[37c,n8m w]c5Yc5Yc5Yc5Yc5Yc5Xc5Xc5Xc5XcӢ}AP/S֊FW9F,[uoQjd?JuGLjB(P @(P @(PJh)vJh)vJhEkDkDk I4CS 0 ?ǵp},^+^+^+^+^+MDA 4#fDӌhM3iF4͈4#fyEmw[yEmw3x/GGGȿȿȿȿȿȿȿh=\.Z6e7 ،lA؆NlD"t}>]d.GDQ(>OiOiOiOiOi2(y|̜꿼/˫꿼*J(U |P庐 *L~L~M1U>HFϪ CHRP8YEAEQPQT?+gUE!u{?\;kU`eM}>H(P(ʣ(< *ʣ(PPPPפє8GScF`jZjZ*bz6OI(\72 HJ4 cC2r)kͧvG(ő8rGN-\S W ϧ@rQFM\.H Q$*e Q$pjex#} IzTg9pm^R;CvH( QC$j$[QVɨ'DH 4 PAG+Jh%Q[$jDm-EH(p i84Q[QU(LI%/ ?qSBN}.ɝ=c%~_GzFOeeOz45?ҕZ5L=@Ԥm̪aKٿG)QjdP,j}ü s0'nmo[܁;q7WBcYyh.QJFA jqF?8p8#8q8'Doe[60 ­ ׸'(~<&姇9ga ./& 9V}wnw!m{B*׻1ƽpDEe力TRE:+zwWT6WdBwcE6 uF+F܈0 17c,n8.4W)IvmG^ˮycO{/^z]EXeXV ۈv@vbwX8"}ćp `x1q<9sN +N Up<"|U?Uq}Ls +`Gھ>G̏C!3C3\3{~=cgݘ{`p?x0L`'$~0-̩P.qob /܌0 ­ ~;p'ݘ{pxa&R0OuxO5ᥨB#KOaJ47c,nPP?sA\P?'Ds~Nω9Q?'Ds~Nω9Q?'Ds~Nω9Q?'Ds~Nω9Q?'Ds~Nω9)~ WٟСfPvY;Ԭ&ug|ZTȿalŦċcVN5555\C W ꧂fJL)Q3%jD͔SI!!5B Qt:ҧBqvE-_ u.777777777z^Wj{t[BBo&fGu0ƜLS6єMٱaS jյbG0\VNůDEWįEgůG[I"H]_I1|Am/Eg(5N.N7Eke7s *E}\{Rߥ[68?aw|^ʇ_5_9Cdye{;7գ}a=E!;>lq4 {hs-~ۥ>coVGh­V::latRT *BUF5Ȣ}xIth|w%<:u:X1"X17F܄Q1cq EKQKviYl__3y#@n6lq-pٚ{mԯ!:1:ed/Ǘw] o(!Ύ'EObOdfU|.:tֺ<:G,9"/T{wMލ+C9a aA)ϲSq*s;ݙck4 Z+Pz:=DwwX"nc\)mqeO O OOOOOOMxvJO}~_!J|q4CSFk5]SmowjC]ZZY.q}ߧ3":“F.Odbmhcދ~˥:q:!</>> z<6KRo̞{GάvE/BtRe+p9NJO4:_50V׺w[scd#;ռ4bĨ2ߌnGn':Ou8uAƼyKBqw{r]\w .Eł)";sobb)3g93炷k<<-ʜk<)gq)E)褢4Iΐx&#"* Ҫ"IB iHo<IlOE iɔ zy+^*<mjNrLYhG' r8)q#' pT2xVj_QJ\!wRTr+~sܩHDe!{Ihs2Mŵ駣 s]H/,WDzeЪ *ҫpx6eQnp$%hC6:'2ל BzS RɌ%-@Ҏ@tZ+q4{PRq<{+Ч3P- qQ;ҁj@.ڥN({+3P- I>;RwH ')H ZUw*J'Oq^ |W|UW RP&Bӭ < n&#]ng=V[&= XOu5N5r@Zj9gqXs٧3nXXɵ1lҳ:Ԓt#-]4Mf\}}}CKh$->V:@PTgj"v5kEYkv=m`mX;::.֕Gl džbOc㰧M>e? x#V7YC~5K2~k¯-YSފb:ւof-w3]ɻ.%ǮyOOދb7gs G| S'gO6/| n6G?r-}&sD"}'E"Q$T *%–j[.jl8GV[#lh, mEsE\$.b[%MvqmD'_tX.$>\~Wb=1]LAL1c9b)O6^Qr\'7t꼹iopz8C~3rw~:?;gn \n_O w _wFw#_nv6w7_uMqm1.!e2^Z&L!dY_\!El-orh(Ov av9BK%q-NJ;9AtdM&_i}q!^r/_'X<%eb\.*Z$7ɭb#W).^WJe7UU@|W"\5rJCRתkzu^nT7 6NخVw^KRU?qB=8\=9u8ƪN;j$ijSN}8OjsMuUQ:sWիUrnqy έ^ck5;+N^k.:=at8.$pj8] WUUpp9>< ~N~AN %_, ~E~5S:NlZiKMMMMMMMMMM! &n0) L郰o?d!dYB~hihCRAe(()oHI&R7)otNwg<}P?Ca"B~)9lL_ KyT.l8)Jb8R Q-aZ8< g ኈW Wpeā}@y5<O@(yrx |-:5hH !48 ֻQ4]X4tc8(,J[O~L6ᧈ(h>pP1_, e-&Y Z,gq0`T>efmX]Y7{!J^Kܢd(AɐEɀE|;Ne,[L' 'Po/MP >ES<422q8`MK_,$Y!~?Bls)e",(h(HőD H<Ac#1|;*;,vxeGԈmf^m!]E7LcӛsDfwy;WҲ73\ԞS ZۍimzޔFzsf%otKXwaiUyrLa[q?:G^K41OZFfޣb/ڂ[OXڶfւssz^EJUn9LJu]Ʒ)g5V N f~HOElA'GL>ȡ߭̂y8Af|E-+IS>8j||Z?}{)uT2yzN[ ZL-t6{ NJ?Uy^1wzkw. ظnb̌Iz ~EvopǾ)̵Eʙc^o-aWo)yK |K3;wPѓu7sM@d\ n՟Z#f (> ܵRDߟ6v] f@jE>Jn덄Fꭾea|[kz}އH2N2w숮. GΪӡHoC_Re߱,{g! cWa۟lQDNxw0C)"@ =#i9]ē{O0z~A3M(P"G 6e~?e&(=:h]|ܳeؕM"#wDgE{6j8Alh)ym{zѫ'.h4 yغˬ+ FܤsscQSטܷRvε|ƾWmWqL;n_[~KU>3fd˫7+k)~Oҝ˹۫_}zyhޔC}ӫǖT'&i^oHhG<Ӎ\;n K\W)t<Kud\ک\J/-S\}B8-t-#cp8.M :eZoKcڨZۑ:F효'#{>rެ>iKSŦ`:}Ȏs}3~ CCUyR=jq ;Rg);%L$gwV?-6^uo)@'XiR1b)ZiQ~D +geNzl amX{fwӋ/Ka6ưl4M7hNGw:c'3ux]ZNGBxJޒ!Z{Gi_U| B|:3L?>ϥ >|󅴟|_D_騈tx#m=̑0ʢ2SÜgʅDCѐWU.zDі%[EdcK5^Lg.kcۍ7vt2覰7v]zoo7d|獏76xc㍏76xcS76xcs76xc?ixwxw]ݍ+ݍ{rc_7o׍nƫrayOz?zq /KOy^ 2`W?cx\ü^]>]#5_{-hwl]5>ɻ'k5׃ax_Ӽggto7 w57sOEko~~㫼&ۍW6~xe=`Əl&X %)HT TEZ^(87p 4 4KZWځ-E@@kQ/pSfqn@w(,n&4U[xxkomb& ]$lM|+?V|g~[.iO?m2~ڜ愌6?mNd?mNM?ͩe9 6\h9͍6\i9?mεOs_1^֜v˚xYsn7^֜5^ec<?&y8&>&e<99X'b`R1*]PUaU-W'Y"EPM*R3 j`$\hhf ؀c([W/W_a DyD puF8|g3qLr$?Lw>T(3&J ̸BM͸BWƹq-㖡ftz]~!.vS]BRw)92Wr1eU*Rjw5yw u׺k)d$ 1 TnxLۈqn*g*x=@A 5sжa{Qď{%gKN RH.taSBzX!җ>%˰ S3#cQL@DYye Set3e&VQB%Y eeW_C֠r,y5eMrd-Ybdmy6?GudVWO=Yyu5@?O6g%4ɕ-L^FJ^./G[kq]7#jMގZ:;QNy/5]B> {ƇeOH>"Qٛc1k/G90PD O'($OSyZ>ZP4@#(zhc(U, 5cX r‰r3>`]%L%!rowR|%'G 9ygʙ$gsyS~&K a| W+:z#[-8?G#<"m^"PmT.Fr\Qk\WȵInBiVoGAyw<)1TzLUx@i*Q*YS#.jTUW5JuIMT-U j:( zxHm`;B7:UUcD5ST3e| 03Q=3!΄:BL3!΄:BLjt&J3:BLTLCgFg㫖Zx- (М !4'jh4'j B͠?OރТ@ǽQoCB{Q7xýChR^Auu]i4-PiQhZi!-E-}(Z1Z濷DXQ( B<:7 ~ alo .G e$i 1HeeY )P@ 5Rv -xz d2v!nBv!nBv!nGAхIoހ)x7P@BFa ?$Ea0lpp  c s$yBp R8M_ g3.o 3)L1 /U1Kp^=)8e2YE2"YMJy#)J|3Up0y4_ۉ[SH|2I$iR> |4I|A>]|E&3IȏW%!3n@f܈8q2td!3@f}= ѿG= I@(п'{ߣ@${ѿG=_Bѿg=*O&0eDgL&84e_%_c^gyſ0lt3^>`#HVo1oxȟF.,Z(3JY_D^,| "C.ˀK_FN0Ѓ09}D?i3u˟b<^82'b7⏱S 1t-z10߳FEVα?nlOv(OQ {Q.)Fǣ\#cO}e (ݏdd y)2,S_,{e e/>-{<J9W*d_=PziYbTxZTX6IEƟ%2 Q`_R>Ajɤ@OddZL-Q L/=P( PHBDS˿d(?*2 d+#W"OEN_8JdJd#kGDLad˕3#琋"2 Ɨs0rzd1έDDn݀ܺu*r&ȭBnads0pʯs_6Is%2*n 1?n x$UȕW"W^Fǿ,y%אpG`/ʒˑ%,!pȕ++~#%\YJdȒW#K㦀%W!K~Yr9Ȓk%A,11l8ƌs q%׸]`W!3^ !SN\c'H-2:do 3~y ȃ@\dtK@dtD1%>1%]VX&)E,]2sSX2)?,Ò?La-)?,a SX2)?K2@W?^ED0ar2?LfyI-_ڠ/ρ(!_—uK9_?C֠z) @a/_P S/6/њW`L3L_%o[A![U Gk`#U8up^T$6qŻȋ|AJ6+ѹN Hu9U7y%P産YͿ˿ ݩکC}~g5G|34226_^rY.²e_&˴˼ vpA5SaA<&F`T<)P,з 6Pn U ~P)T<)'O>@<*eO?xO)l>Y[p4O@}S&2)+|==@LP e4(@8HJP<T&eL~#焣Q!>pIpB8[O2)AMRU8+N O3GG0j2wEhg@| GeʤDf}>)E}yp: FVȯ D~OB !W: Db6{ C811qbb bbD=&!.@M;t q$s!.BB\^ݺo]B4rt^Ʌ(~e}Wikdm`}oUflQQ1be l4}iX'_1knTGz "(nM֛ 7pOo$˿^įbnqݼv`o9bRHo%oa^?xY=0x9֏-fz 4OcpW 8ݫҽ@-^;^B48O~Jnv.oFn{U fNwqN@0w`Z~ރ9Goӽ1i*KDnJETeӀ@3X>-R]Zºi)[Xl%ew6 `m5 ޛ;KhN+ߥ*3:$)Vif{UQ3jD̹קy|H*K?A|Tb-EXoV6Z[YbTEU5KVIUǭΓVԠZg>#5:,ΥDk>/u5*R{x18 x Dv]{gGvאgP@e5Jj|E\? ottPT3_;g$Ț P2ߐD#<`00 `~uI{ m滒X`E?dh~hjE.y^uބ]I26zS(Olfjŀo$ѽ-ʡQe)btzkj%ED1gIF^o=`$СX>,Y6aK.wv ?t4,ovkG>CQơ~ꄥXo<:tv09x" QIG罻9YK4f= yEդF7^+=Կ=x{ ,]4n{/&x/ItߡYKtZu$MRӽW eK4jY'MK\miZ5ofLd 8iFhJsÈ[gźu ^[QCR#QݶkjbJ qt,IinSstSYP}M?I-X|M<ſ[gˬW+k7;t/yu%g~^Sod j%yue?IӁ/,[i-1 1ןγ@j+t}J񳚐2m+Bf p՟.얦(kvo-`n[ܦX>Uu0>a aľr̟9a!m#YfIV l/jp"u0``,"E̪,RmۉElwqu傿KM+h?nAF\]yl"`6`9t[j岿Z-Za=_[jeUkBў lZj! @$. p@Ahez 8x:nnH>>`KS!{0y 89 {af&y~tfN꜄3y;sle"8uvots.8oovvc..v.!wplqeb3a)Wv(+/=it_pc@ctZL%:oˮPQUWU{݋ZX` Uh&] jVW?SG\mOq.5.4\"]]v.2\%W_.uٮ繶ӺJ\;BמPĵ D0UW:.ԨrʹZ5]ph-]Bum!52Ԯ^\ӡNt̀Ɓ9<c5whb,ڂCh^5gu5?($Сb}Xa/X Bt 6nxEPSZu#;^`?רnvy`+BGu{I1g}4n;;'qCuGU>tR7.ݥiwElu*tq;E݄nXC)w԰ݍF݌pνVfzZoį5_[punEwe4DLƁH:hFL3tg8 FS`nDM[$غc 255{`t``g@u`$ N VŠ9&1o481MLDc@uv`J3]6.yG[MfLW@]Łп=p'|X$>695/)jS}iQˌl_N4SF_>hAM!c*O,],悵>ٸWl*UG徺5Hf_k}kc:gܷiLue U|>һ fSL9. ,>'վ,s-viZGoWXL qo4zYqw45($q(a^GML%z5NqD{@sxw&_DM^7pq G|6>b8;/m}Aݐ!0xw؄:E1b(NntBqwK:"B21>,,nCbm ŅP747S@',L` ?+M {ІخΟk t #6iBY~JUq_Sogp"<Ƶ`حwþ{!}/%QKoen+sfx7>2?W> )C}c}M}S}gg:U8s}ZI?g O/Y}%}#bZ}CsNѷ#<&}Ë[}·ws cbCB߉1p7)r#Pw!a(6]*F 5}C}bw;RehHa4:V&!nwo#9o[X !KL{<,0IW&a'D|2c,G`YƦI" NLv%Y沏l$yA%WD2vd)~9NFMIz$$'I!դ~FBIg&'$lL$dYN2hȫDK"f!##%% g$OdAa3Ny@bo1>򷙀]{LD~P~yS~T!3,g̈_1o[Sw3Y[+`v,3[W1ߥw1{++Hq)<<[,rOr_J)"Wʹz^ֳI\'e8ggs8'6q#Nv5.mONAk9k&i].,7?qAz?-Q&wݨ$DmeA]CgC";t(וT~S&(Q%*W!?+ɲcʟ˲@|oӲ2EY?%[em_xLO>DP iC!Hi%tDN0+h2"'39xQ4%4Mnq˚5qK+rAUɡJSSBEl{D%a?`?mSDwro{=OT>Md$}?ïY*cdq$ːò Y;EW d|*,[V%"9 c ${6TrNΚ&MLLMWMEmENT1#[ MbX.Vb,Zԉh=$FM∸M)/cxZy8#ΉąvScf}-ɜf4@6ozs>-2+;\gnŬk1kN0Gp|v.^b|֠Ϭ/kMFI>YE|O*=@%jhHYw }2|--YA ҈8K/>k;$棷JGȷe}Q>AhCh@#?9wZoOi;RH>VDsOЊ 8[]h0,$eL}xaK!Uxx51mUAQFג:_a~Z2Vy VrXiXbcg`gb***<<q<'Wa?I&b?^^y֟Zj%Xa}yɆ]+xZ7gOI܀|hM7`57c50Pǭ9y|;y{)M= puW QQ Q5B@XOs2[i7Vڪ5Zm 9k4Mf?:jk3n~tǦYQkӉ?db4D1&6;3!rۯE@Eu^93c)*!Pc1h-V%OcZ3akZbRk1>kJXQRF5\*%^3;gpD뾷[]ڿg|}pYYoeYEqmʲSAbKHUU֗mm*\<[%onl[qA6~vޛXWWӷlON-kٍ'߁;\v~(0T;^v_:]v) E2Η]u]ʮ0|*@ wSԃL@4ZR,,4 &{Q`et/l FGe3hR0r4=[E좹ywт`*)AOQq/ѻ⥡!CI EKKʃ"hM("~x](hupM/UH%~{h\qmhbцF r/*M+n ac[pThgpW<[BkgҞ`}QC.:L 璜i&wI^8E-tc' /j/Y(B]%@fI4,bⱤ1,YFGJS6 [T)<޽6nzm2i{Jl/6X5<mgs짹ǾL{VŲݴ5dSeޯwb{1?A?[="*[V{ll_QɁj=Lmo+#}2F%i9GaISY*, 7O68nspqo}֧Gprpb8^F{]ZUq:Z>?cYxמ.S/c,FD҅w4![`wp`oso5!?1GO@S"|qh;r iKpC,'v yǺ.ޣ끎M@b!p})ps2a2eDNKL˛rweCxby1a܃mq>V6|q;e#Շ>?xaPF-1;o.~w6}^\,F}XOnV=s3ν/ιbyW\mE]䮵EϿ u oX~%_X;ٯK{O8:\>7>>­#5 =+w1Dp7 ֑HBl $[#ɽcЅH*bͥhH;{O|>oEK)M4!~j戥41249245Rtt43)͊K#ar|tJdiind9RKd,Ύ)YWZUZRlsBi8ǩtiKGKWE,6n=gطKDnF.t"t܆> ܆mh&faBi܆f6tnCI‡Ÿ/ N+*DNtD;ѯFF }wy;|܉ĝwV܉tѽ,8t+t+p':w G+7 }}܉~w"qςiP+$ZGE,xhvX%Bm_uQ]]]W뮛4&i4T.DQb)(-ʩTHjiY&H;QFIxi4e:0_rΕHN.717c5i a_i{WL)ϒ ȇ? =`Wy{OC v?$ yx@<`a[Asy#܁?J3I9N 9~ y"ftn)<}f4 4[CYY;t I #C|ؕѷHKI"vMEZw9"qu͕֑O6J[\ 8(\x"պ]]U HծR#aE:[Vjoqq5ĊruP+Go9-AI*Hҧ]ݮT{\<钙PEۺ'FuI-#++w8$}oIPK?#uLjRbo9%%="IX_2NRJ6G *Jwyd<.rT9MP*ӥ8;E$yz_ NJ:Vo9/Od/-^4յ³[+wPI&Ѫ[-$nP\2H WF*EPzU&)LWi+Vq(s5U8yM*d4D)W*\XT+kf[2 YlelSjRfKRL)ڴAjQ}J4+֣Bã\ $VIVnJ;Mv'ݩLk;ݝu[ܳid1yr:y[@)vR..r/XyfT^~JX^^ޢrow]rJ.G?]no+=nDO+'ڧ%P)RQ6;}ᮆ&l_/5 o/ӗ}SC9rtS4ѩ6xT W/lqCS2d:"IsW@wuPqgyr|F"o՝==[[Eq|k|5oo G3+-Z.O"@\] KFw[>DľS>naQ\E>>1}MMs*Az4}rxDORaSa'fp;O'33ѓ&*<=R'cs]W.xYM'?^LlUHogYTyֻʥ&VIOggd faO,Yn6-==O:l'M5V{QJkA~3dd{GvzGvzݝNjUNz3㽣hIJ7.:7_гXKHSnVxWKaowww[#KȦwt$d5EN.*T 89-:g d²6*P]󻜝T: 7;̳Cpp,c@+,c)ƄwN1 8<˃8 BkFr!8<i}¿;tNtN=s9G|83~bgϠ*Y T?pt:%LG4A>s2Ϡ|UOKry9hngkhJioIrA>0sq]Q}h[?TӇv :HtjC',y։/;K'UM}%+Yf="=o&6 ўID).ɚ}|o%%C\w"=S陣=ߞ"h~((r'Yw|K-Ymb3~$~^qc6Ɣ[=#nU"u*>YWUEqҺhXjVX|Ҟfݭ׺Wm.ͧ⢕Jmm|'c{X{8w6/lv>sԻRmCնنտ?>6R~|:G}Ot޹f8oq]o"Mמoa=F{i u'3lKuX\db;bkR[\7][}U,Jڜ]l76ўd=UIڃl;zA}x:6{%ܦόuw]q2>VfȸxTM'[ѳfeĹ 74k2{.ǴeFn-ќbߪP㙝ǞK fk Zc=zٛEY7,Yl|lV?cr8 [ BhW8'08d[|jVu\Z&ㅜ6k&GP\i78rNnyguy;ϱZ݆1黶hٚw+IgoeuݪƢxuAk%͟brWںU_oD5FؓU'!gj ֞SnA^vN{ȣ=1B D]36q[ sOUb6MT3V?f mI~iͷ:s N*K jkuuuƺӺ`=h=bmrj`db޲m 6-і JϙTlDSl6mmV`<6?(l[j[n[e[c[ghbnmCc)9[vvcCI{=>>ўcfϳ=%G+A*~i}}^TR9`?lo"VNσکtP_thc( # /. _\0/. _\0 ka9y9Wkv=TsLx6$X旅Woך77/ +v2n.|ZFYҦh%gU6OY@ 5hDQ7nE4i45>Q{nh{7kw c,MT[N[[کt-]T[nZ:H-&PpH(f|uu::$V:KIs҆0Yh~֜'3va "s!̓\$~yrV@CRVH?uChT:?|$X8oWEhI4` uZ#\<%@b6pt$جM sEX#n}TYcutzG;AF|%3Z? Ok6z9) Q3YGfYg49vg}P O"M_KIfWoMƷaD.'YGl\A_А;ԕkOEϨ?xXsd +]ӷ&3WL7T OְX àyowArrHp}X聅XWm;$횤Ѐ?'nkp`'mGv_אG |n[iwh| 358ray k?i} = 8#;x|)V35D> C\;` * |8r|u.}gV./i1y ' I3=x:=E'YӘK` p"s]L;$0ŁXV`4±:xZ+V+na&5THQ騵1gskɓYrW:yYZYMvZ!̛~;wxۨBkt<“L'8֡nwh' c(T3%lf#iV mBZ3<}IFCH`'м?πfyBlA./ W`2`E9x -?o퇵d #Dݐ 2/~|ۅ^|X1Vb2ډho&h喤)wE#R6C]x>G,5Zs95p,Yy#J >Ԑ;_,Q$Q2P+tx,{V`Tkh\17pм{s4x .p?i@ 5dMx` ,vNQ9 ;}%$!qY+B7]~`5WY7Yb0` τ5#kL|BE 1 fЂsPa+Mtn?fdJM<&32_5#*Brc΋VEE-7ţ 8?8oZ?eIp X}'& F1HLoTBmx{ЙHfM1'v8%Գj0ߚuygR$ m8K5+~ QKԐgCa*e Kb޿<ǍG[C~ZpSox{#|s]/y꾃\z$-Sqzk&*xbxlÚ~<X{rDexEwC)>_1 Ygj(3b-*zObK%b=ˌ1 *|z`hm}h>UDB8Xn| >%-riD,] 9V_DDF-WTxr6qz5XϿth62&gOp,d JKXAobu| ӱ X +Tv~mqO%DLs{py>rLlDRP @ y+A~ / ;)>{d}a7N۰md}"h3ǥgmU߅}Fq)oD^ g>?Zx ߖ+ nn&2h#QLBOىBM%#qQ|*SYڎ!&㐂ysُ-ÍL 12_yd!V!Q׏k_ 1//G VT.A; +"ZeRN ,L~%yU~?WO_'@ߟ24RSQ*+U'w0>#p؆`vy߀$܄SZT e-ZtI2.M+̛Va VX.ưDH64:Տy8/gp1H_{bϱ6늹W F4id';HBf|M~Ϟ~6 =_`˦\Iwً`aB&ƊqNݗxߵaw+nEƟ.W| "*t@2E > rBx+> ? MFq,p5W>39V,|L,7(@y"җ0?]E~k|#\2g&AT,b^6O'[rρ۠Ák!WC>!OFt,`8xXΨ3 ! 5kpuA,j|"޶oB@xd| Й |4P)je<|x67{283D{/K ȤYCu/yQG﹞\0 ܪ,|ӃDK5wXި0uԾ@҆V]BЯuD^fV؄oBk7mk! cʧT-ׁ0g:\V>rN=|~| F<ʹQ {_E}NT)BD b"BE6e_ "DddMYTdY";! dz|>~y>}So:=S3jdNiFG pЬJ ug9#Ŭ84C8eF4ЗyƲ>>1Y 4r 1hMErT[Hg lVn0\~#!3a9TJANސgdb |ơi= 5á`/ # K!:\ٌ\YK U ̜30hV@~r4f=2ZYWEZSS: ۹4dwGDqp<|cneۅufUŲV=+e w5I,@\AX;!YKG4\/B M2*>,Yl~Urqvfb"X @n o U@V~ }j.һ|Ɇ!{Ol8^z 깵 y0 }LZ wK!Ѻr`}!s,pp~kߎ̿X ͐+#x}چ3Z-Ƈ /)dbQفCPağ܊~9|O0^V20 u8d,P{j4rTJT{PUC<4aYCaZyN<8F.Eum=TNc>*m1OT39[.nr6u6Ol;2|" #!G^yL1bv$\¼0i1hSd%0huB} l[Ci7F8`,Ox ̌1jl,ox܃O›n/hԣ08?5fWA$~Ԡo0<<&W)aPg>ڼk8SdFw{_%F6)fy.b[jk%"4Ōo#z"1ML9"6װؾ5u Rͯ@B Y<1kjk 4>kv]z1T]1D.umd1L 8@O 򻰙$9q䒼~l݅%;rNxk:f- MEę¯5UE6EQU 3 ᭉkj F/Ι䥰!} Eax5bjԖ,é֤[S + Db>7,{:m1hUF1w.낹K49c9ݠBS 6- òZ @n),/BdP\?SUg!6f0A ъh i8bn Lj8}]oCa ⇸{"C|oЫ,wB4g5g>'1}Α}h!WqL[{[+wKoeh-`P,G M.'FFv\`%\l[w &zx@&a?L80EU] =VN?!RDkt3qO7qݧrhZnl 2K?k~0.+32<`" l+ t3dZb^8/%4]\nMՍM *#+ބ[PUmأz6Bl|WG^1֎HA/d]M6&ӡq}#q( bfLtBVǁXS6rB c%Gǜ25FղU\ T [Q|XG<rD_wN1#9kr0d/%G {F :A \f>ݠBS 6- òZ @n),/BdP\?SUg!6f0A ъh i8bn Lj8}]oCa ⇸{"C|oЫ,wB4g5g *ǣVK |]&\7"t#xJQ[wЊM&~6p?5; SyE?%_;Հְ\aS Fudd}60Uh0#Bzd́Nf 5Nbvxic9h,z^0l  r+32XY<`" l+ ttZI΋+v= }W[ .lbM1MkQ܆= /w d v'qud#E z!O|nλ#OƝٍQm#Ӎ nbؘ} Ocszn P AVn% ٝ)&?2<ܓ{k#Ն=> 8JfWdn-chnNB4ߍh|O^0qFo m iaзߠ] T=!wֆ%(Df¼7 ގG)|IC"7yMN,&0c@cC"k 93} eb"_C!h4VN{Fbd)C4g}{LԼlՀ !o|!A-u7hΆ;Ɂ^16h="Z sx(|C.V?䎐1:ƀ־FeיPW13^> W@y ,O7h[ RR!`3X8a"6`Oo"7tf 4I@kUA3(x2;͋O9.7x466vyVeV -zZ6Fvc&l05 ފCUNci:b;fzz`,`zYq~ OL( >I)sWU,f- i~s3$:c#r]!f, 6j@nc,T|0(].ZAs A2,o!⯇A n&O4N%;pf*!x(kUDk 4 n楎gcHh?ʍʍ3694?ʍm 7e!6 ea-3υS/}v FW x @ 󰬆k]~'|"q5ihm$\q'XJի51c gA$o@.-9l0LB/94#{8<<\rY}ym \U1Am030{hElм LE_A>7BU Я]ò\32!7IztO|5)5caՄ3}30ȇ D+2*(4t(LCӋTMWmԈ>!Ԟޥu4Mu^-4{5Чtm.=J բרCL%1 ԁ'$ h*JNU }}ʮyx[*PeAujNu% #u^>"x*@OPq!^TP jC>zޠA4:Q7J~LۖՖvv&mÀcSˁkڶ՞7wOm۵_0;0?$bzvݺw[{;l  \ \ ܨww> L> m}<0XX X XS 0س{v|}C{}p,p2p:p.ppy/=G=C:w;< LڶH`~`1`^bJ+[i,&G'j,\ \ \ܪ1ֿ xxxxW6U=zH`0XXX&A3)++WBמz?A$ ?F>]E%l^V Md]#Yz5(0#B{5g1*oc0hD8ZB3??Ewܔ_$t,Hca*/-}'9c}ןHh5mtR-ۊ YVuJZyjku:o [D?$b)"#8KpE͸ $ʋ4 ssg9o|T:2?ByD灹W\\Y΋dE,uŲ7r~.ԟ+}0΅9m#uֵy_Ycm(J$=:g?z^*sM=/eʔr|_Yίg9y2-r^Qgm^ u5*L[kuڶHԉdý"uTrڪ6ZnX7m6YVBºg#VUUU+}4 "ȥ5DAݳ>ϭߍL)͊1" Ij4 4hF]hn!F穤.:+8&+NKpLVH#1;XMFQuZǺI1Yv1OYαK!)pK a`ϱl_[_[UъuuzzY}}}}|} _#"EnE w,+!4_Q"M ai4gSUAή *rU\ GgճK=ܪ*͏XyTyU G"?*JOUVIUEUO:Gڪ6?ZV\Ia.:\HuRꪺr]u=SUo.>\Bg@5KGX}̥5SI*cԧS.ƨ1\FW㹬&r&s95EMjϫj:WP3L~AVjǕ_R"Zr\-jZ*_QߨoN}5{֩u\KmTQumj\O~gvګr_կHV:ru\7)uT7 nnJQ)LTn߹N֨_eYiVbV>`XgRD( D D1ں966󵣠)_'_'I} z̗K*ZESNU@k*DTUrb=JGT%)*JQQ1OSIz zQH%=^V/jeoABEUKՒ-UU{*:T\ūx*nzPIYsj@1jDP5ʨj8U#HU(*FT^Sy5AM jD/gTQ}>45MjfYTYQsej>UU BT_+jZB2jTST+ZVSm5j UkZzUmPkuJڙL ]=Ʃ]6R{tm*DU u@W7!}h{[꘾g4S'Ij߈on[RQwꞺ}/EunVKno'?ßAV95/ W¼ڲ:7c|]V5*R5KqL__ӯ,h&hi q>p>D{k8&ca8&DZOH}LvI8&cQ8&c1Gۍ1!|>>I{И>ZcIy3yLcf4#3>#x$''"_|57&|S.`yw}>}۹*Js}bnNܙܓ{R'ps"'W}/9ܟS 4F9y-``92DQ~ʎ Bva]ԌLGt|3Mq-_bEI7HX19^7ey(w\WP!fs>oK;#lA[ MadW]ծJJ<R6N3Ÿ-<_{\hKx{9:ۢwjn]x=ooy3o9@{_ċT{uu8R^bǙ7 L6~nb5 1 4Fu _Cci^h"MMFiͤY4 ͣ"R׃%r: }K^׊u6F6яrli;tvnC{iʯt!:LG訮1F'3✣t.%LWtFݤ[tjtRݧAi)B Eh$& h*DsBZmE;^tE'YtxUtE-8.NIqJgYqNEqI\WUqM\qCdG"TqO&t!B"S =>0Ǎ1y 9Oyռ=/|a>GS|/ڕmCa}>fOؿ'Si}>g/Ke}վf_o7[mbߵS{}wf? ;dg&_e YS֒eYW*d}l 8H6MMT%沅l)[ɷ;l#_gE+eWMv={%do(Ⱦ}O/?@9H~$!rX9R&O(-ȱr/'ȉr,?Sr&r%g9rBΓKRL._ɯ R7[_r\' rAn?r*d]?ɝgK{^O"_yPyT <)O<+(/*)oL2M>2CdfYr\ EKXޕ/~D"G|1 b`Ġ"G q03 r>r;C0g3$98Og3ՙLwf83Ylg3™w8 EΗbgY||pV:7&Gglsngw~u8Csι\r8ל[箓s;;?4硓p@Jn 5p/p?{A@Za =2"A; 2 F`  ``c``<|'OO    gggg .. .§@1K 9\Wk~qs:ʭm:o܃{I}NxOx OwElVLCwӄ!I$9Q0Ā(Ƞ"bXsZ]"asΫ9YT9 t{{{{~VUw=}N}wz 'C[IHDŽ!J1"3 h Z+PTs2,(K1G u!ˁ_#ÚAt`' ?Jj&h ]dȯG!/cO4|2!9 }d n*g ?ހ${ 3/y񌼮xF^O<#9W595U:3o#7Gɑ&9B!U5΋ߖԂj(* @* BR f1[HyɼQJı2aXC*o2HdNNͺ3Hx'pȎuYq??B ؘ]oc^\ݘۀGuG(zQ#GK@q| O+RMN8p5 8CΈ3L)gƙs%׌9Ζ.N><óuKȻ:k}GأO|/_e/|z)+Wy} oo7U9SXBYlqCd'D䊓q2rp rǩx£p.yx17(J2h*Rcl4GMBӨ) 4IFd|!5'1~h%m6Z.ѕء3%QJЯ/ƿHKbi֤5>~؀D†2h.l$"e3es,W[dlg,+m-d[d .$Ȯp_ -ڠjAxT|UZ=r['w;r\=[g5>.o+oO#!#<'˓UU&טx& _g36d'SٽG\Rl/J͎%]j <@-!+.qB-`굇h78^I׀*(!~k7l݀$eckНs@ #x hCڈ6M覴)mF%݌iږiڑviV.+>/. |·|>~ ?OSD*||TJ>I$%ՒI>)"LZAC #HRh9k9CC6A-!#uģQ}@ItPHM`tRc dcclL1Ma SȌꚓjȒ/ ř ƣaLOS-#;< B0# !g|FJ|@dɍ<;Y>d֩_\osaRƔRb<߆Q~;P@1vbA@4x$3df*3әYe3+)EZ%2e2ב>sZz2,Ef@ E^q 8~ )o w@[0 zOP gG_-[|c7 -P!HE4H.#UbCR#vi5:hMCb0/.R'bXA,+`D@#R5D&EATWWq"gF܍{԰L ' (`Ks0>"R4ii.r.{{#Kz#mD0l"d1dlc"^+# 1 ZF:(E9Q.pU6ہvE<`7= Feh}t t Z=U¢.4+x !BA,*޷Bّ?:c%_{Ővׅ4k0ԲaZsQH3eU^g])Y/u!CMpHFpH*!Kp#8R'8ApH6!Cz 8d?[0*ͱvq[wq풃'\B xރh9~?(Ң)ʒv` #)#IJ7&eܜ}q R>ƾ-I[2FX6L~L* )h=nIn"|KZ!RLFr{꤬kFIZXzQ:&Sy$JAQ y?y4v<!cOp[(=i8y38E6^ȷG:,;eLrkrk媈@[![UQgGh:2T6]c't"0-}`@H;Z+ZRƥW/^C~x-)c:RH72o"eX,F+rܔ{fFnAZXH [Bz\bsKI-#}VBzq9V[%\iq]zI7!-n@Zܐiq-!XHO4'{m pqL%G|D_n,IC-I${O_!B5ց$=q8NbzD SCT$OJW5|-bY2EL1YX`~c2O^ӼWL%b>3L S?9\6g -Vvdw=5:{el}>g_9NΩr r:g9p s\97Ν<9/Λkε|8_%׊k͵r8?Οx5x+O!oċkV$C$ңA9tNO ΀FCDF~IN2 2)Y/YdkeBU>>nX鉱 蛛}d+F,f&w7}3jU "2ԙpw0.Cww%ݍpw(0 wA'[iSMz,L=܁"J{=ӗbHk"ҚH;v$;=]aDh?w@n[dug$HHH?Ij$ESASO]ҟz?I6!i 믞FWσެ'~bSIrzUҀ_F:A2 'ēU'X Uj@ҥ ) VDt"Lx3ނo[=;Jލߒoͷ|>O>Y>O3l~.?_|_Jg_ï7v~'q$?˟/|ƿ_osWsK iO|p~tO9D_vr^j=2 9(_OC^# Зo|Bu©*J-i}/X$z5NwSߥqI\Mk?I$MV6!vR"Ҿؚoַ޾%g?&p}{Pa9(_~"> e*ASV5@CCW^Vɿ;Q7;A1O{P1%уƁ-}.P_ŷw@EX {3@@BQR9A]RSj}ؔ uJz9W nDAݜȍk u;=($N&E"SP_L-z$<5I$h8 hɆt h9t2o OEA}YNAIɭT :Pj*~VW}P߯v@btd-)u8PL/sjL4&7)& D`L4& D`A0 uWH%D`D0Q"(L&J%D`D0Q"(L&J%D`D0Q"(L&J%D`D0Q"(L&J%D`D0Q"(L&J%D`D0Q"(L&J%D`D0Q"(L&J%D`D0Q"(L&J%D`D0Q"(L&J%D`D0Q"(/ixZa(^dW1)S~5B®JVP2-ceXs<),-  5"9> ACP*h<ʀNKɤڞjFG{W=0G'Gȑr$J(LQ WNEOlق\p'Aj1 5\T*!W0=$%JHxqB[|\J8`$a:cS&dKMOKMH0% ÒSC3SLCڵLԔJ⢄J$l . BƿV<*tSZ 6MKNKO7 7 nNpst<:kQh|zfrlҩ@)P9W>쇭,{g?fr OwPǫ^;6;/?g@c"MZR6ܶō3cOI z['iͺ:tեڔ|*цmVhf_p 1[,KpjevsʹfI*УI%뜑xp{~ҙ;;oGt9l6i璔vח lm^,RswSkFMe_DiGYfx5]%Oq.8ZUEhԘ9]mo-1`m]ʂo[Hݱnv HcʬhFu!L@SigTX?]RFFZsgN)_)659m@9-=5nhln{t"x|D)iB/5ѧ /Og6rDթrNpn%6嘹- ޝՙC~՝)Is>N^=K#yO4l# {yTgo/ PϞAӂ|tH~}us~p+||^[0?GxZgVa/\qw޸}ɓ)o!uRrmnn zM?NC] Է|ZuX%H1T*exd{lI }vƈg7rN't "ƞ]hc42δXrXYݠ7h|<.449q+ J7WWWoM!{?.S`XUlf.zϟdڄj^z]hUU-iZ]7Ee^FDzrr ֋|t,ha϶bstu⪎2Z5.Șw'fNvk7M_kuhNT[NUٞ޻Vܹzu8'v8Ra=ڱ^%~/Z${U"/t|m&{&Uy-tkJ/~qVع*ݽOct[tclzz .nnqq͊c6G=\uuwc uE,/ 2x28q_U"( 0Xl-ɹ3w˃zf_\|Ie ~kki*WfR|:R}gޖ3&4Uƣwx; jKT'vx'u$(Xe9ڳy,{ߠcLQjiʗ>sR^@pQRM%5dGbm\w[ -Rmz{kfVz #]ֻ݈n~żfX ^5^6qosŖ+ʛ͖/xhW+֔=VSvMt%&7;UE(W\薚 ofhFRjzrF3Are K`#q{]:_=P3_W : ~13 㦚b4V.v~Q@q jCtFFmc|`ܣ3,2[xĤq\ǝկuGg}+y ~ <{jmZM^4JM!K| /F迁߂&b uQMWA  \lQ}]-BVl슳VgOT.5l;{͂(P1r)*x邗SN4=j9i뷉FG>laҢ}f|?z3J+xz@躉g8YNҽW.q?k0hқa.Xa6o[CSm򟵤=imr~yYv+4Us}x 3O@B7-vd6a'j1nNQ4Xm6Sj+M/ Ȋ Ao-Z^Pٳ߇ߢe{hd-PXӐoUNϠ_ ݡ5O=%haev2J3r6 ZSb*Bnk{1Kw==3Ȍw_3_2 G?YU\>|i8IV䝟x+8&iTPvTڧGN`3?MI1,dh fυc;Gz6w>zntt~X9a≮,t}ޟGؾ(^d&fs$iK6ޯ|:ze+3ܷlet>82uNG δ{dh'.\qʮe/\X2f{۲MR+z 5nq4abIZqڈo^w,v0BҹJpP');*5㏙]zbhp|v#=^1Ҷ?+Jgâ+ Z9upTZ#!,]Aa,pO|D.Mk*QrgnJ^h|TG_PPb~u9ŮB\?BXX%XR$w@( e4JPKBYEVc-tfd&G%eT9W! D}+uSN5[?qݔ t͹,4'~WؿRk@}ZZҷm+a(=2ca1K Q۽bs coU&_< ӝdVj秆Y [^Tӓ;l^%]jqfW$yW ~A~#7]V3۔ i\d ;7_곮}X&=m"v\~ޅq%|DQ'' .ʡlkɔ9$^M|EO$ue×7ulJOWd ?j~ɟ?pyGƄʉ]0ᛁX'Tbaa]'?b΍3&YH= endstream endobj 470 0 obj [ 0[ 507] 3[ 226 579] 17[ 544 533] 24[ 615] 28[ 488] 38[ 459 631] 44[ 623] 47[ 252] 58[ 319] 60[ 520] 62[ 420] 68[ 855 646] 75[ 662] 87[ 517] 89[ 673 543] 94[ 459] 100[ 487] 104[ 642] 115[ 567 890] 121[ 519 487] 127[ 468] 258[ 479] 271[ 525 423] 282[ 525] 286[ 498] 296[ 305] 336[ 471] 346[ 525] 349[ 230] 361[ 239] 364[ 455] 367[ 230] 373[ 799 525] 381[ 527] 393[ 525] 395[ 525 349] 400[ 391] 410[ 335] 437[ 525] 448[ 452 715] 454[ 433 453] 460[ 395] 853[ 250] 855[ 268 252 690] 859[ 250] 862[ 418 418] 876[ 386] 882[ 306] 884[ 498] 894[ 303 303] 916[ 498 498 221] 923[ 894] 1004[ 507 507 507 507 507 507 507 507 507 507] 1085[ 498] 1089[ 498] 1093[ 498] ] endobj 471 0 obj [ 226 0 0 0 0 0 0 221 303 303 0 498 250 306 252 386 507 507 507 507 507 507 507 507 507 507 268 0 0 498 498 0 894 579 544 533 615 488 459 631 623 252 319 520 420 855 646 662 517 673 543 459 487 642 567 890 519 487 0 0 0 0 498 0 0 479 525 423 525 498 305 471 525 230 239 455 230 799 525 527 525 525 349 391 335 525 452 715 433 453 395 0 0 0 498] endobj 472 0 obj [ 278] endobj 473 0 obj [ 278] endobj 474 0 obj [ 226 0 0 0 0 0 0 0 303 303 0 0 0 0 252 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 645 654 0 0 0 0 487 0 0 890 0 0 0 0 0 0 0 0 0 514 0 416 514 478 305 0 514 230 0 0 230 791 514 513 514 0 343 389 335 514 0 0 0 447] endobj 475 0 obj <> stream xx\ŵϽw{Uڢ֒VҪw[k5XU^J6e!B)5EHBL B y K{veI'Xs3g̝9sf0`Ƈv4"|`Uv*Z5K;?lX!4^|3'#v< 0gfuC|l7+Z;_9Xo^gӬk'o<٧\lZi\}'@q|quϖM>|?d@5+{V|EX^;46k6l=2+[ WoέD.iqs^s&gcφό0 ^wQ/ԷrҟP޶ԔT[) zoy>Uڑ£(L$`A֓0CQb90Wø]h7" t|XOps1W I{aAV̲Hv4w{Z:<!u#Az=G BHuͱ0 y~2q%Ͻ |R7}e* dhgq0i{ZNyt?ӯJ%|S;N sG?OG'%{7lG]}G;Sa*L0s{ |ՕXVWz"jf48]^ %gO⴨l\[:]#mC:8Qq֎OEXCOgCKÕ2D,$֠qg{ך.~q(Q7c?JTQoeuTU^.E`, ߓ}OCEɐ+r|ΈsˋHT_քz؍Y]{~@8ו5.BM4*Q9 Br@.DwuEK#kwEWNm]_6q)(vcߠ#B'fe]d$ {܇E˻=hm,@WT$JEBT8KSQy6?|Z/Iq:/vݺ{gx5}U^g|3m;wBKR,{pJJe1DR)?rڝKww\1y& YR _%S_ bA4©1q 䘫OJ*[b D_ULD荹#66Pb3kcՈ5j*J r*l)aI,E„NB;0JKEPn6Dh$4f uژQs6! 3 QEsFL'T*BYJ(Ɗ EBjO !MeQˤ B:ai iT!z)%xnsA$1G+AlTf%XHh&F*3$QNKАPMPAEb6 ! "R(`F #B+}I8B9obħObN_ >"|H*!|@a&?G*{ o-›7Ǭ^Y#~KoBx ExRyr/Pys$|pk3_/ ӄObܗ,U'?Y"'f^pm̼qM̼qu̼qU̼ q% { {=K͋͋ PS#R97f#vScPcg"R+gRv $ l'N3̜Fo8>p2G76z   'PňՄU1ә1+b3c&2L!D7 pI̴8f!bQt6bäafABt"110/f<t:1#~晶?\BkzNPh!&a3¬L=ԑPBTG Q/@ Lyo$T e1}Qg!Jb2D1(_TH/* 1=o !MȢ.K R:auOH#|T!4%uMsI3`#M+B4LO#@S=AKԤ2[PtKn)BF$1iH#!K`E(Ư0~ʾco?)Ov# ({Xg `#wQ;a|:0֬qe1^B_0>_c|0/'Vw?t?Rg'03whq:cGk܏`F18>ާo7 o\!;tux;U++//])/-]^oqxQ} ]|ԟW w[K砼9<{_s!ܸ!<>\$]'=ou3|SΨq'g:6CkgjZL EvNk{ƆlYZs7!kFN=Xt3ct % cmZ35l̀-z92Z iQ]qkX1BzڭfǨ([YUlJ٪dCʪ2;80B< '{X1@t9*0ʜMQɹx^0a.ϰ5Q"!@urs4#19 !>1 Ho-[Kdր9x!e+BH t o7K?!I3\sal]c*,b*~ w@~ƅ@=01Afd"1ɨnIFF%Pu(+st[G<ZGG}Bw`6tB|Vq.A ,VJXa E{alĸ zal>V臓15.plq1}> pZc|xXw𰡬,e^MV*H|)9lIIqqAA 0h0 g%3|+ Ee^\Q {nTԘTb#v[e[sZoQzz(*$X&eצ.)wIRbqh"J&؍vh^9Xeh{+2V$<촦U{Qkԩ4b  JɬTt fh)0>zD2,;؝ p$T5sr٠0< sQ6h%]TѰ-'[mœ2r pzV`-T1_f.]xb}ԣLgn1/+M c18`50TVam}=*LHa^4bvXd95+p+^BO2A**HfŌLƁt?xGp0~i-⻏H)mS"%7څ}wn)wm)om_sݖlaKkfE-(R=tTlc[}geu7^^2kK{vkn[F}[2$7LMCrt=!'P݊ F,S#{ƉK= r;K'1ۜ&׏2Njv̸`_="=SlJmRmԠRRTyJ!~67g+`*+m)i|!0AV/P~ytO~sHC9ޘD?gL۱.bH+3ٝP1-,~7;%˩bVg$ ,XmIs;q;dY3ʚ4z9ujr(mЈ19" YQR+qr˧D3j'8-mܯ_ d`w1L,E\jفE+RKn"3 ͫcD2r(\U7wx2܅uM/9j7ΌHަ]Vא׾nƜՕ.kAWap,wf~DAV*g2:dђL^!If2ї KxRZpYgӌ {#bqLŧT\*3mZ'嘿` X7vfM.d ergRAfPj=2va(Ÿ.qX¦'>)ӕ7b4#;c&9,h_+*VRR].};w.#3̚#:3(C *Eb]}|b19Nz!d̾{9}.ԅpfgY-)9) a!O5eG>PcSiתK2e2MƂIcwI\! qB_Huemk-\Rf)ç-MW_sIINdW[$ٵ n+и4n+дlV`G?=cS㥓|@-*VE6ВVUqW$dU<"ZK_M8<ĝx2mo+94Z,bvӌBK>j"s:̾&ZaB⡰K0{.#ĜX\E:d2Y|#<]K/\I=CޡRK[nDx~҉O<[=R+WyskrjslEstA&W-)%KZ 텭Z UTr^h3%̌i,NLY#tfWz3e9*E-y/쓢&ZFqV$P-ϔ,%+V7̬e#xck M0 ?xcАn7]'P;>o,cgnv-'YBR$ :ӓ-2OR'3h-m/ub1rR%Q;$|]L]#7[,zň\/rVv٤RRb+h)V%{<ڨIXKUrH7;aOcyyT <2_..it5f}ҵv('!X+31;c{옸$dYl69b֫[[V.ƏhR8cw7ZeBlGk?ܑJOU󱅉u|EGi+/4}e„-dƯ-h\X333bu=`Wd_H24dFS5 =7۱+z¡Gp~غ3߱p9k9*18NU~rJ;nggfTgUiU,|?`:Xe0e\$ŅqRh{>oq*?4]OAJOYE Ndu TU}/tg ?w?ofC+bT޹GU{̞L2 n.!A "XJ+E5$$GtĔ)*VNYxRP F^֞hKs|%_{z׻ze< %560,=%+`@M}y,atOb10'cIm8—9WЮ}522kimh'1yXZ=C]uo d#5?xP>O/U=bw(AV<}\\ğtpwjNyVc;/XOh|ZB>I}ܶÇ_2zڶ\>zqޤ8Swߦ ծ@;=~3ܩ+R$CWtHi~9xP, ׫ }a6_>Im3~]g [m6NKBF'yIV3{nkS{m>TB&7ד"j\nąDuaKv3`jg<viw[~͝|y}m;wV-CsShvjm#OoQq Үu* 5v#Ǣ@gR/,r= ?O?s/ I;Qә|9MS%*F㻩|{l-,"W\- m!3"3?js;e@h6s߼2Eߣ6溺Q2ղRW,|^շ8!8!x>M7LQ~S曔5\f>NRW9CHŚn_QsU*Oa7(3L B7)STy2CQ.S-)ʭ«e0Z[Ņ|jЪUZkTF՗Q~d^lC2dϣnʭD8`Wd& 1=%ZѺkuD WPo+^udѺ϶D+8rFp6E6t" hIEѺKLpuuG~w(Zhc2xE/ѺO'~_4gn٪[zꖞgn٪[zꖞgn٪[zꖞgnQaQ"K"_EED! RL\dd( 16 ,!FɻB,界+Om(V ^o9wUgb$0@ "K[L-\O5Cr'eftgJNC}I!9e5V9 ȵLWk-%>$Vak@Rk#'2R8Б >JcQ)i)SZ<:C$3VXiے]T i7 gO ;P=,YJ*nT;Hjmgz:[sV8,UzZŬ*-7ȫ5X2.(,Tne]f?jgKXeF=8ccr1ûQR(/-jOLogQl-r*I|=>T5BET+Tu(ԗ*\RZ66wkl~Q;,Z,_$ )R1i6d|*9 }ؘkY`'Vl(tb5Wk˾XZ鰠 s b>WVZ:W*en܊ FIKIoklRu=c=/Ns\:i@ZrH}7/PYw]tjZUVWFAYY+.:bbDѬlU)mY?1Q\}ܹOJR_>=z?G'>w$_:)Z}wf-E,ZU/~(~U Zx^[emhV ޾׼OZ0J~#C2܊ w ïdx!~d8 j4z"C:2@ 0Ed!ÿ!Ý 2+Op32Ddx@pjDd Ca<2\ CBf_ ݭ@8RRtܵzu8y嵵K8Mw2 #/ck;$93Ns:Mոip}άiÕ;D-;rڴzݦlDpغɶnn^s+5*ʼNMZ1ơ986C.rd.siIGδigLm"_Ǯ&= Kqg=n5uPWtmWx3ʾ+p 951nNu;5pt<*7eQnvUGx+ȩ^Ms[=~0US[[ں~u&uU쟓RN,Qk8ޡ;X (^3fΝ~1ݘaffݚcYRr";,&nCۅbQ6_k2Veɞ O5\D ]q)=.̓8b&s*^sL֤2-*2uy4pQvTGX.}ب9K*ŋkqq",ҍR s?W1ȱ!&OȒڕE=Q6M9aVnp!o7Kvyeǧy䬌gϮV?ݿʿ¨5-bQ;oQіoeg8Ņa)E>YYYU|mٲ琟ək-!b-S};jm~E[$)~B,vz$yȼZZByzW/3+|UwgMJ/AD1A43999X44l-7Y6\4}NU_jXnCӋoSo>m/ ĥP{s&Rf)ߐ'zF4 'Dq>dΖ!,Cd}.c~,䝝ڹ8[wqOEHͯUcܨM|Y-* 7TSU*E7RėԜLQe*'r*K-nQ UީʻUy*VSoαkGOl/_D?/kC%>_V+գ=&)"Ck:v?+[u?/k^OuO,ܶNNϝB3l֓'Vom{z!ǃbOAώ޹;lWz-=hw}l%\cەxYeB nks'F>J D&nj0Z풔 N'I;Q$ g"1Jr&%Ӫ(5vAz^މYF=,m`Zh g]6zPEJE(ZzD4J6Ւl$$T%פ8SS椬Nْ(j%sR=$9Cک=:Q :Ȋs&PҴ;>}X'ŧd_ZҪrDڸI^7%xbZr?}|Id{LSI c7$x|ic$pMSԱÏ:mg_ױw=R3v3v"kfvjGz]Ҫ!w#aFjc1n&-Un=v-yaC4,yKϳxvC=}<hjy]orluXy)?rӌ^|d 6gNkCGVRRbpXJ :$ m,,X%mH+_$:YzЕrܿD* ;=tMIjϠTN=gRytA':SЉ[L\s#KԐduvyC\rfyƐwNY'O3IFժ>ՙF^vߩN&s9DOЌJunH' yL!e!@іS q~F<ӌme<ͨm3*>}q&z#NBB uq}婧tնԊwɵ2^9*UOK©(\%$/iv:y`u'Z,">OxAs1'>RZ_`ӣF-b<,4ʓF}Hߊ淌}o1chӵWL_/\A#o ..p<`Xxǻ`7{>&pPioY8Zߘo:хbl5.b,0<\nNg-kHu%p-ef1޵ Rg.:ꏁ'&W} & &nr8xIT-Gy]>>`|6eaVaaxtM`\w14 kyp u#\7i> Tk)\/(k΅p~K7F雴Bw}oG5=n$Br< ?sVl63Gq s9`+k +X;߲ퟚ$1TL_3qf:L=e0Hf,awip=٥)kO SPVUl3OvoF4">|#c<$$8e1_߀o@yDh 77P\cy. ^ GA  |_8ڀiwjk6י\7rM'Oɧti:4Y.'$$^Fⵑx=L$^׃A4mMkD6MHZDG#F? F ;rp-9x9?9 煉wɻtn:y7NM'煉wɻtⰉ8l"F H5oMte:2\NL'NȓɁI2oF|?L| oMtri:4\.y=: ;X{};n;G+{}H#:B޽Sf c3yZ3Nybc ƶ2n>g;g蹆.=G_|_?PpN{8TJRͯ,_ (iA)(AD/..~ONךȿDduZ/2/WGsqi @ԏ"[D oց`=x<~~ ~ Qx<OF{ x<8=5: o76d/:v;恸^ސlj<΃tHkh05L~gSa4` W_}2F[OOt֦6i;asOיO ;ǎc(Ulv>oi" 7qQL xH*!xH*!xH*Hi0rF&02 L`d#FbFby14F1Lı|u:Sߓ4|;~܃"ׯFHD܉gF3#xfό<3gF3#xfό<3gF3#xfό<3gF̈<Cs?޹܏w;㝇νx^s/޹ܫm7vm omṯlo76v{x^97Gss,xB;{# =8Hkqu@N{\}`?xw#%\ s_į\wtHy zހ5Yg:kYΚ~B`t0 `l:Ȧ#> `#AyR%f Qݢ 0?Si` ѥ~3}0O7$SM@:כ-*DhǣTqZq!Pi=R~:pz#ﱉ84s!rWb6\b]umj0?fsg=aF<;۠vwn}`?xMh#p 31yf 6[Yۥ槶+JmyxN ;{O=u!yس<zs~ {|]u$;ET:qT/Uˆd SZ-i)rt(cz)Z҆Җ`ڐ&d7IS&+jwhw;S}9u8?>}]|yt*eFRQEjT^KSg, ]rRvnvnvkla5u[S5u[S5u[S5u[Swtײ\Z[ײW8ƭsXI'[T9S5J3 +G9:nu=Vcu=Vcu=V,r:,r:,r:,r:,r:,r:,r:,@z(C P=2!} ThE+њ7 L'ܽ'T 3pfP*4RGjU+ZyJԘIԘIԘIj4P hF5@j4P hF5@j4P hF5@j4P hF5fRc&5fRc&5fRc&5fRc&5Cw}!"=8Of=]:Iwzz{;)Nw::::>.EN֗cBc_ê?|;t:e]ڰn}X5mMbylFV? x ؂emE_> 라'^A{ngZ=llaK^d%k/Y{K^d%k/Y{K^d%k/Y{K^d%k/Y{K|,J9N%Y"j~pccN.ԊjTywƸ3&&6IM"laD$&6IM"laD$&6IM"laD$&6IM"laD$¦p1>s.qO.tNnYБZtEGjёZt.p-\nr [.p-\nr [.p-\nr [.pyˣ\(G.q\ 8A.rq\ 8A.rq\ 8A.rq\Jp)R¥K .%\Jp)R¥K .%\Rǥ>.qK}\R':ɥN.urK\R':ɥN.urK*3h*F 5Wɥ2ʓH.sa (s2OPwԝu'[neꖩ[neꖩ[neꖩ[neꖩ[neꖩ[neꖩ[u&3A LPg:ԙzL}6eqeŎL4[lCbK!'TiC2mH ɴ!ˮX#G?"HC?$!HC?$!HC?$!?ԈXŲ/}e_,b˾XŲ/}e_,bw#}G;BȾXŲ/}e_,b˾XŲ/}e_,b˾XŲ/}e_<ɻ[BqU«i>qB '4Nh8qB '4Nh8qB '4Nh8q"D1&bLĘ1c"D1&bLĘ1c"D1&bLĘ1PJ2uzMۼv\ϧ su9:_~vyFe,!ˏ7Gn&{K?vW6L>8=zգWE{0{k,Xce:+sh}ݗޚN_~KKKVNfEA\qUWA\qUWA\qUWA\qUWA\qUWA\qUW/eRK/eRK2%vNb$vNb$vN2YUUEYUUEYUUEYUUEYUUEYUUEYUUEYUUEYUUEYUUEYUUEYU5*&I=>eMx>zm.!Wj^Y w^ LFtφ_OY̡܍r[}9n]؟Z FYyIٝdjc'ptv؏\%r7^Z8煱aSa<О~SOL=_6$uXg {elrfP;31W=\_agx#[vOaS9oa| |x",Oc<>!Np?-}F(0_-I$ܔ \}ŕEzNxv[Iů!{x˕]m%J>|þL[c_6b)Dgpelw.gi,p;}i:ڷ66|7y7yu(^4Mo"ö˰:7Ӳg.s˜2g.kʲ,k2fBLȘ ]LȔ 9[]Yw:T2~WXQ^*Y+!Ccm/,SvꕶK\9g/. ksJMWO?銋]qo*T(Sϰձqg[!S5]LE]ݕcF@wUw0>k0@QM_vO%_v٧C=i?PL}OTUCj?PPl۫8[̅=[d]q<~5 ®p4Tԟxϝx ?[_{u{zXc*Ɣ0/=ձ:<*HO8.Q=K[[Ge% ~lB+}|x0&'Dx" M)8Oû<~N_TsUsojYfO8~9~ MW?>sioW˫_ToKjށw$S’ڥaaKaIfyhyq>O;?x!>/74747;L|/=., ˞%t4M|_ڕBgo[?ksvU aa}[t|=y]`_<{ 4چ^yyvXl鮏=(vyI* * c$AjPVMvw^Vnݺnnm[Ի+;VlvVyyʎӎY{, ̫ԸVn9^ 7ukԺ5VYR"w]V:S|T59la(Զȫ_="*M(^MjPQP; VV~t9bQQr}>ݩCnWث;ՕJ{u9{/%t.]KOwꖛu:Fe-OW{ {)v;(d~9#G7 rt?&ܫS ʑuݠC89B"~O T~ʕE9399S3e9Ss{Nuɟ3OjT'K~ƽˢ'N;yZT* x79(eB9n5JBQ WյD]KԵDWըzU𚽟V;}ީ̲{kO5|r% T,P7\\^(ZhJg }GOƨ:F1^QtWR`+{;6ŀXSbMEZ~k+Z[bmɡ*bWh a5Tj{'nE׫dRuTH<]J+b}SoJ3Mj6:W_ԥui@]Pԥuh@ՠoTKfZ2 %jɀ{eJv[ɐXǬC_O-zI{^~q~3Rk9֓bXc_tSaw:N=LŵoupDMɇ)0gmts_|kn1_\7uMqORI\Rk9׊x2zȫ?(VO>UY胓~]?=~{=&ˠ:x<8.47  úא( ewbewbewbewbewbewbewbewbewbeJTf~Y`"8H~J)q 0l6 S %z?L~=Twa=wx2"M2aXveB,by߻'?+zO\+s̵!Ƕpl_UV'])s̝O\)O:ű}ǔ7'_t.8w]tE/:|wʴ:E)N1͞p Z?ES+_+yXG~z a~8[mv f|?@~sqY4J4J4J4JT&tqou3D(^֠[8JAcX69+( j6Yٓ<>~㟕-x oƹ^O<}b#ǭ:du=2|ӽֻGWg}g{dL^볾>kBNob^)^N}q#vx b,<^ΪSU]x7ރqދ3q98}x?>q>>#(> 8')\O"\>9ѱUφUUkBSsXuX auFVVOY3 mofuʟS L7F3&oA3x-|| ׆7o=ͨ~95g9sBS͹0> w1(v#xx^Մ@mU>Q{8p4p,T+Z1ՊVLb}+NMauOn$4ƿh~ؗLG3p,N8 »q1>s5yc)srǕϣmEF@Zkkn-瞨B}\-U}0 p]$r|J_%ǯWʿVv<-g|<(݂1nſa!6,\g%v9z?Gr4,GFfE||ίbտc YE*jVQxBV*X%d`կkPX;<'{gFSH\Ǐ07pCb|!::5'ܝ:,J*+ỦW:~7㗢c[[oQ]zG8~7+zO:v)kq `>nMXfՊS:S DA@K>_WgN}Ch/Ԗj\ev\/x N9;| <6U;sՎjǷՎoWWU(:,y~U󫺒4 Ƈ&w[..._hz|ȩ9U?2_d=~n$55Y&[#j^{{vT4m8;qN)Z묵Z}Nx/Yx̹WX:}*=n{kâhmf%𴎧uWE[WUSs*zNEϩ9=TSs*zNEϩ9=TSs*zNEϩ9=Tff3yLl&o{ff3yL\Ǩ 9 unP`إ#ԧ>xaQWhtL9V::?X8OZ8O:gk5anqnqnt{Q_IuQ.([dtn-2EF"[dtn1Ʀ4FchlMi46Ʀ4Fch u 1cΛ;Sf+;D߁}z~&85㇣Myu1MySzޔ7MyvN;OΫ?|܈ Bw;K麹WClօsQNӉs:qN'ι?lvaΜs>)GԬcrlV ʱY9jl squ7{>.1Oy:6OXsulkj\5_Ǧ;6cf،2zvlBkBȘcvlގ۱y;6o&E&E&E&E5FȿW#LLL L LsML LsMSD3EL9SD3EL9SD3EL9SD3EL9SD>7fͦ"cȸn~뀯gfw7z"""XXP>ԧ>}@!$BBIBBQ 7soBI ,owvvΞ 0 m@H"n' @R`3@]=L>P@+%0*?#R ,EsڊmŃA[xV+6XbUQߋJS0C9hy,'!buI RWcN"G 5tH`ٵf7l-03tjե|o ^5Jt4\̚.Bm?b5lT-fMj(]b|"ƪXa`(1q I)`<0Cfoow*B`,jHR4 X  `ZbClȋ y!/vC퀎@Zo_$a8=6c'| D 41:` 2m8@ʐ@C )[-V@k D> @V%dUN_rZp<;cq| ǷqPe:p iρM ]N&_27z>0Mm  57$+Uj` i@:X6F`d[,` ہ\ Wsׁ77Id N- .`  X$?ˁ@ V5@ kuz`l6B7 #0T^*~c`?~1U"DWa_%]w%j9s `)lw`,r:Mf~;!6S17i߀? t w'BNޝ:s 1=cgj/~'uB㧬:dtDk^LSN3O.uWށO#_"@_<h4>6; VK)bGCB(QX9Z$ꃾ{͇DžVMP&@0gnw`i-r'ʍPSd܍kwav~S$bl4E'r J<{5t Ge``u%f<جD!m+9d-k>C?{Z!TG5N-GjpBel E2jMZl@@phяj x6J 7%հgaFÞ= {6l4hسѰgaFÞ= ,W4lhZѰa[EÎ  m1mU{PS"G,.RPlh@;pcl<ڸG-=jԂ虡FgTifcT,ebB1sG0C~iu.%rD=ifi&SitI̳O pVhFL5İ/4΋ %B$AJu{}v3Wwh_'%zJǸEiyxgՐb8-S1zZ\Miy*nja]^~?6C ]F? rRTSE{ڃ&jtzUOiKp5 Q ZW9@uT(F%вђA t (t?zu*.r"W r)5u@Bo"㿫bgrT&J(aJgUiyPC3%(m%&edy X+9ȯۼ"Zj]QSYkXnkMp9yK\kk!wU54զ8ijpZ8vYuuYje5F|7 %Q&uL9:EsuY5.V W)Qf} hHqn J@[CwXmOp):w3prso-6dr^ߐ3q_כzs\o [p*%=V] Vy6sl{n4M)7#Hj41:srMFQ-CXQ 8oazm6S!~~^?YVsgJ0 CjB"{(D^#4 RR6GFpHTCHeo+`sCFA2@2XJ~G/C/E/J yhhc5F&otpltgBgzz5z tؐED@{ fjK%"ɃM >}2l.{¶}O=al4E [~br"W,r"WJr%\gv-=UvYu툨3ϳHsH?݌؁t;]Bw+t t-uJ4z!eQ63F3զk@KYc֎~bײ޴e}i=Ć6 Ml$ڼaR{M {Y ~~6 Ʀ3-b,cyG~k;ά%ƣY+~9=yOvbmyoޛٹ?`v!·(~`h~/إQ_⯲|['+v'R,6l*/俰O9th?~d3ľ\"f Ox,VDH6O5|QGg?f9[,ZGZaK٢[&ڋgAǖB$:.l*52уޢ/[/nF1Hʶ1V ] #Obb+ߊo1WeE<;(D:'vp6Bϊ-Z֙Օ_n^= G|5Ú﷾GV2o?\KI_gjY,/Ǘc};};B/_"no<η;2O- gx-HlWZ]oMx>gm/d+"ʞh&ooKwwE={T\iOL{c϶gww:{^d/7 ^f/7k5bjCVq&s<1mw%dPzaYOxY^"*%{)A/Ɂb"p9\O#4yKL,9V_qY|^$D.?ɷ$(cbHD&r)9r d(2S&wCTrgU׹׹ߊr:[ GGFccVcgyyjm5wu޳Z8:ZiΗ֙lgY,ux:Y$[Uj"'I:9kVg'ɴ8;]֥ίίguuu55V/?Z@`uuS~OZCӭaWoZX A;alln[ZS`<69XZkž0#˾Oܯ9wno;][.rϾn[i5Zw/p7Ƿw }nwo-庇<^ЫEzƾbWᵴkƻжN^7ݻ̎zx=UUvcZǻngzüav{ow}7ʻ>㍱;{ ^[l_%ykKto}˰6{kL/ey>^Ӿ1⪈"ڷEվ;kdw^E?"wW':j;5:tEK85M}ͪZPU~K8r5T~"#˷xҖfqIm"'̳X~Cż=v=첫e .U[ZcU9(3>T~_ye56"՟^ѬjIeBG,5gs9zM? ugB> Ϻ"&U W[ RÀnzXwTO甅YK=GrJ'HƼ:})As!hgV.xJlel= monz~^KO <K/|^Զ4M~ziږ׵-Mo& #!F{k+T::^h/R'JZ)2@EkEk`96j6hjrE]l"ŪiU3LVS]X+]X;X\׉pNM6D9Hӄr9g;VΙ.,lvwsg= k*= kj{LKqmð' Þ 32a06OGmm56`m2m6kۀmѶҶӶEWm=6`ϊis18b(Dvnf$Cb&A'L1?ItACl#O6i>Fj)JWS~,"h#mfm_1wל~tׂ!jI%F"F"]#.$r U@.]#5 7QMgR]o(ymh䵁(#7Z+N {lT+vCr\qj%B[CG <2t#Fb&+cm'ʵvQ*Pck"V15A[ofFFoCd_ٗ:yYzC?s #bq2y`h U -33S3y"h9Zʻ0QT݌"Q4#I<%".˧Q3O Fڿ_/"K{{Ly ͛-121k4ȏ3UNEK>#z|irrM?C@93L# fyce,a\Y$D;dd\V%ɕh*23f"3QVrd>5;.I u{'!Hw;j<(J*jhe 9Z: &#ϱ"H`#UwNMf&؃M`6l={ `ԲY}D\s YSiN!@UBҐ\ۘ<{1U,x ˴YYTk%;;xvzwEy;;^Gi..DN^';{]ww t!Mw;^]FA0D< kk]K5b}׻j{{# ލ71!(ZFx#݂4۽QޝF#]]CL d{9ȵێ|I5lH4R50֗a6| ?QƆ xP@x}kp‹< L .  à 6<7hu 91ф&!H2z಻1`)c|{k?kx< ^F9^M@8hʉk^ׄ5,'#;]ha{_xt0]=qB&/$W)5 w;aN'R${qfZjvvcحa(n e,A.q 5W/q\& q6XXHN .}| pP 41?~& n&nw>8%һȻ4 R n^4E;z FsG5jjz4_T7|QL1a5PQӻջ#j#@ #4QpDupD+C|CuY9__|u؝9u"Hzp3UhxfUuY]v"3UJ1)u5',=FzMRߘc SoY',gaUAQRe?Zeq. < 9–bh/e8r٥rk9Պv5U?v vvdG(~GD}dh2j:Wl:6Hbx +#eo ڊzT]jIԴtԞmQW{fe՝S^ R;qtb[ʽ8al5KSmⶨ渱, 㔜(T'Z3vכhI\I+m22#]>[HQq,<= >zVH5Uݫ^4o/8Q1fx3Hf\:>~b =56XqaHEo3&pFVt^D{{=@"f,+=](o)ÇXNG_\,)1;<$<ǾMOE~8~BUx'N!qc%9ߢ/c=N6oNЪ/L3gѽ XntZQ>T1_]hav`ñ?FiBKS7!4rg ɚi vei.oVvӜ-RK'Xŀ+LCO?\VUrzWag".ַ?! 4甕z,va@0)w6H.}&cj٬ƅȅjwIUۑ_֡g~dRnWZUYhiq:a1\Wx5لW@^&Z7R_USUʟvfiV+B Ii''9Wߞgo6^1g-Tm*#8Dfb٪^UOvRޭ7OuwZ:мQ+0Ϧ1JB6yq$ І0;S~]51:b2a+W4 Ry??v3|?-ۯ웣?aS[fgu鶦7"iH6\i 9Y+bNV[ZI٥sy#*uyVlaMWZFJ{5uգ7\gUֽ})?Jtlut< yP :kg*[-jl{ɮl:\ןV7Q+!T*jwizf|\jtLJ<*R$R^AN'lR]v>@= m޲տS2w̼QN!uJ_}sl!nw9;T-]-=-WUj mnPg&2/ԧjY =_5oOQUڛ71&N,,ϥ$=V|?J2J+x|kxeh(QT5hB jo(=P".UtB]t_EуvAb0&|'_)O Қk-`vM.־IX'_-_mk.JeC Z{(a}W{(ai% )j$lJFk$필=q+ {R{%ai$u필M^I4필%k$lJRWt I{%a+ ۪,필m^Iv필j$,_{%aWV+ ;b필h$k$^IxP{%፵W~J/y{s<~Sݩ;8u|Ӑwt:MN %i᝜v9/^CxW5w^Cek\{ =xO;_}~{;_8_>wΉubڃI{IvgtR4>H{C>T{j"6;߮};>Zwi!n;ѾC=wOj!a;ӾCS}j_ |h_ |A0&8oߞ_/^v ;C^@3oD$ D$B""CZ+0 0 ̞az~,ԬdXT,=x~°B-d"#w@ Qw+.<4n[p̽d0]>iϫ)ֆX`. #B/Ff\̸tY:[&[&@|9r2ʕ+3(W.\re&re=/ ʂ8y3yk,KWurh ʡC!~22dҟU1{I ;,Wveʭr\ȰeHʰrʰac(PM Mv2wX|@>ߕ͒ǑsS]L9Oy,ed_A/">{ kd) ?MY8p epdxXXĞS$ #e%K)(//A^^ -BvNBy YI;}hwJSD z/(Qy|CyW0Q~S-qyl9:(\YXU,W-P-`{F5bR5S!@CՇTdaT1jF5ÞkUͲ(՟UfX >a2=ZUaUT6Z>eqo0 d,B rUacA-l(&Ê2!b1f)8!3/bx!c(:$a1M`|҄9]Hǹ˅L!3ȿ a?P,k9ZȞ{&,Ň-KaYaK–Ö 9,7쥰\*YE{h0hs8aVfaG{UYE{UYC{U9AE{_=h|\F{?K{7x\6-iѲEY_u/(^}Ao&1߫2L^YeVM`2  b<翗o V;aQ|'+&[MWf b>! h||vYG.(e"""W]w#e ɿ'[*? |o sw9-__F]bڹ7߇]"]~]{D>-iwwTY|w~g䟲D)TJv'<Hwfwf)2}Q{Qx~"-W(ϩE!4SJ s*$&n"]=Daw){oEDya章ϳl l1'h_ϧ}JKJh:b|"QT >8mmLjp\@YJMGĹPHr 1@LMLR.D)Ihr!QEH1Hq!B0p XMf",1S?hO ՕEխ'%[@TGTmp@8Voo8  #9DV$ -W8b+l$"?N׉V8[Sᧈ 8g*<¯_|_ qac8ۭ [-L^^. "Dx%Dx/  ǘK="arzXxj谘x(Vee8&<^1^V [@9+ +Ü{'{'h{'S2Ꞡ }W=TCAC=QCaP CAE=TCAE=4Ca=4C!FC=⩇z(h *ꡠ *0z(SPP'z(z(l *ꡠzz(̣ ꡠ 衠 ꡠ ꡠ *ꡠ *PXG=SP2Yꡰz(SPXG=ʨ†'z(B~ǬXO1fdPN%Dߪ sW="?9&O;8 ƘOXfܿ1߳LCCGGP9/wY,eYD/H#E "ĿC!F~*~r2p\`Fɖk"PdQUCUA&Z3Gc4E""UAf&g5)/,lBҤi T'dk58L<>&!)]A4Ij&$:dPgdl uHJԬѬ.'4NR44'PD{4uKJ'$%k6k@="%͗PҨ3-(%QWAcQ%z$So͠fU.K@]ͯ4Bs^*UoOh&x-fJ3XI+OS 걒F=VRNJɞMb{1f`>.ǯ2`=^X?8 l vvv6 ݁crDƴ^?l7crRwe$,K2CUkڇ׵!s`a[`aU4̽6,0L 5*{} lp.6 ٹ9]Mn̍EY?t9Ugyh,>ba|Ql6\6 C#M#X9h"44M3]f܇Y OvIp5|-~{U8b܃kM܃!NMʲf%tcsc-qЪD9=BR#PKsќqOIŞ h\7{Wov\ ׼t`VУ:@:lrgy+mPSbH}HS{g3}r =t_϶ʋ<:Z״=Uq}ryT~ hICMݷ*o4j>%~sQ1*e4cn>k>1Wl枭Jl>ER/Aӹ^qI~T|CМc&~sf.)ꐹ1H)Ju!4)vH`,˒NtU2:Տ)y<K-lL띱 rg2t3 ͙ :szg>YL7;z%M%[YLٜss#ǕGf$o.y<-o#: 9`vs=iO}+t?nJ!O7COAϚf=^gyT]1==Z)Y:ҤUf;t&mK:͏zzLY.+wIڽ|^i򧹿{*1y~_{/]+;'ISThyL5&vf/xkMeBeҫ47_<-7߁n6qSm懈h[S㦍͝5%R=aڂO9Ӟ2mx{KՒմ(N=cnkLܛ%MsWK& ;x.U{(y%HН=-k-e-['ZCOTy&wi1xc@39MgG<3ګ&^RsovҴ#ir+NݴA;k9 }2 M-Pu04e2s~gL='FrLFrg:>4 xt9rh~8tm5OR4IՕLA7nir˫LÛOX{Xj(C+7dᾥ,[|%8*YXkݖIgIdể[o%W:;j)Xiݠ[?_ZݰT`sF,3leEI+NpmsTJ?XVyN*}y ni;I&ms 9[Pd`UCsVkuޗt='twݢؼu7,NoZA}cc#!ocrkyіc^:2d9)EW'ZN{)Rbuw_1!˄VueSk=\]`=b]@u側wzy7Y)Xſ[1x6Rm&yGMTj5{iW{ykAkwzgCpJ7VCAqwFI6i{U>oޯfhz[Յܴ9Vߵ>u3`qҋ^h=&YOHT)hס϶Gy J}w?}jw3Z:yʭ%~u3Nz31Dz^g^o}ؙοYzV%-Лmwn DWJCoE.[{D%G9QwlsĿ_6^zN'UgP$~}-=倇Aŝw!#=VnƳ:n+ʩsmmT;O܏cP`γI/o}҉/۶EA*'~fmy[6]͏o7{X=ڐ?m}Lk;WQP# xjԶAXiF|5 Q_\n]l;KI]D6~hedLXcˮɷMjZšԔnI5*S|l}X4aCmߪm,in8Z1D벯5[1t[0\\pkhk1;ЊX3غMБVdQRԜk\lᙀ%j[|kPL0ύV'>s-g5jz}GA.uo/n4Ob~_!pqC4wߨƔ;C:Fz2ՐZH }C N&ICz뱐Gsԛf YC!!G!d]j ZOK ŭgAHCiE&IH/㳸$=0lh:Z}vNVÎ֛fеކ"GO+44S]9\I XwlvxWi<]1XTFw%-0fcOTO=Ód8bϖ } GACCr!#-h鈓r; E)FIѵYAKCYG.n(@dKGqѰPjikCUǦ*mh0t;t cp$k R3x Ulݱ'xa``C;v:G4 w 4t6v k8q>xbǥxxǕPZ:&Ps*)uLBU^" 7:nkmwnu<6̺XpnƸK Yu6Wzj̆GD%+>Wk]IPTTLj=}uw]Ric+;1Ε: O[٘* JwDcD25K}Y\P=X֝XvS=ޝXңFe z8 Hz6_JWM.Tи5Wq]*oF5o%y[7$Qvzc]u6]nmFkkzE mt* .W r5f]݇Cue㒷qDNj>cCO&=:cc1ԉ"/5.HGO.CO♟uMsB:ߊ)xuG:xu#'\t1{ah=ܕ,M%] '뻪Gͼo2rj4,znr]ag] tioiu6ܶgkupO>Wg]IfkkVw hOُ{fjEaʓs\mLPUdM_Va5Umu6> Ͷ_E9s~m}_Y[b珨]o)mrnnSjEkmzGm Rn-ٟRkoK׺2Y;m9Z_[GV$yypVʱo[ ^V/۶_mhPVյpmkYj9[kOIҎ3~mmX{mT{V{Y;vﭽ6δ iﯽ6?Tm(o;U]4m\2ƶ]ڦƍm7njimC̶YIcN}ic~#YcC??_%ZCc#?Q{ʁoO>;Gq#0V9Gёk8 G/[{0JYFcSw;>Ah0u)ctaS*08$#H5s d/q}kClFprq,Phu yG'%]cY#z@yq>.q).q%3&ګ.1;nzRRt݀. mg_]AۅP_W.mh E q͜(<3a M|}5x m :jVfOў7oO]eNgJ \۞فu&|L>fLʔO2&UrE6O-48%O?SKSt2@MP^ڨKP9U,QԱőbɑ"{Yy[/G{y"rr &ݓ,l3Ƕ*:ӱd{8ϽٝVBVC  !Pk1](1PCfg,5z=ZRkRKZBz1rz\?KRk~|,@{i}wyo^goJMeWl{xk.}M8.#7[ٹTr+p/qOs?~=k| | 5\=[o7q^_ϭ=Nun3g\#6}?şǟm_N443*LsDžLnXxXIx\(~X(D/؄g %A2XRҐ.cc̊;qVoh7l6+Ɗ `7f;Qn<᷃@ `.RN**/<)lW+O*TCyj:[`Z.RmbR.m-=V- /8NVSt5K-=tMH'qs3$.Tz;~l1 ^s{ ?aF7 4@ 2g^hz70 :ff2 ,ɘ`L`$cۘlLf)=lc6JJ3 X:};^<,MIonOi3e[S%2Fq*^%@椬QJ`CiONMPAW9+ʠrNR*SUAR^5AMT45SQgj:_-Z.UFHRݪO*u^mSwԝj+ԮU#POUpSz ^?7`-s dd@N`9쿀r{@KCg6]z3pqlp(xI˥qǸi4}|-`U}b j=Ew7J97f"r*rA.lW5<:|ٗopس\#ȾL[=usl9w7VfsL~1 fX8;t^sauޜ߼ڼkkYYG=./x @O'3Ó){DOg q{|%Oijʳֳilz={=ݞC>1 )yEe5Š d%EIW\%OU EMYT*Պ\Q%PV+ fe]٥V+{NetX9WN*ʫ*~`r okRH -|2i]Iɤ)<<|iy&i}Y吮?@K>t!3I&]tI?Gyn*z]@H6?N< 毂 <=6\XH\Lڼ6mB)iHl@˹#EYyy{UNՓ:%8qܭv^@^wp8u6ڈE=wKX߯,Tmw"u`a>W|Hp@YAm+ݧzHi4Py[Zݗ+J `OAw0HL $*4`Ǧ~$cd<RiʉOd2=فL̈ʍgV _9s9[x$ϼ|OQx\Dd}S%, ,, TAM@BNx3֧z!VV!|3Xw& 4֏R}gcR?d4 [<;;oBKu 7#C@  8[r>38 pN\\nvo C1@yTCpjڭ@5(,h4GA-TN RӃ; jVp!18Ӡ;ռ`MH ^;;أdԹt, ?%'A~pR;󃅱PG}MXQڂ'>H]<GF$v]5ّ^S ]'1nπ#ϫruuEc=M]n%U7RO[BP6uWh:v3軺;4+=9jgh[*¹P{B%;Q&p\=Z-SOj!z6U/B#1aL9qRg?yJ(yCkB {6fFd"'ޤF754מ2<7#hx{zL1 1'HxDxcq5 ffHzl7H=NFq֘bC -ƹYF|[AǒPv~<ꗮŴLcG~8OuO`)1~2WHkr &ooǟ]??~s\oiꋨ|V]qxN}I4ϫ/^ _Tr iu*pxF4'/#u5Ke޺_S;Wk5M,7aΣ($KA}lߊy&Ds=@Y7|T2r=g1炱ַQQyM Mut^7ŢEsqr3 aaͻbs,+^ms2ڶG c?ͱd`8 }ш:DsHmu,\P'S9!\\V@Q^Y1a7Av~  Mԉu[nF{ o;V=Q?g,?s/^ %?VizuÇ}uc궅O k k ? 9AźeuPO1"c ׉S|N;yu#yu"}\G})Y"( >Mp})žH%/+RM> ї\^D!#徹jߢ:-8W⫎lɑ]8>%H'oudo]Ƿ!rط9r$?c999M펜\@h'%߾_OF1 ʾ<:f`OG ҍ Km_oo7۷w[n!}cvIF )[3kA6y39]Βsny)G4=a|=–xw/??Z bvCi7N vC̜l sО=':D?C{'z/N=LD=l,О' Ǧ#@3iO4D=GhO4~>>C;hg1G;\ igtB-'igt>E;%WȽhgvFH;OӞb3l)>K;_7X]5ſj1?`ŗa.9an4I94YõW$1l$04)QJ;SJ)s4s3$$&&w+C $KQkJIB̊ -_:0(U7uF=מ}D>[{c&d/VIkGZ=LEH,5j8nh.K;ǒ]ZڥHԭ}}}tV}t`HϛaPtl 4oAo'm&C:IxC {C5I)NZRwVξ܏m_d?~,g_*_]o/r$!y$1ftPlyT%ϒǨCr~D.mrd҈f+2i\S ;k;'{Q+kky$ow-wh$mhr)wZ{5ʽt7|zӏ6)A<$Wv!h( G"蚏Mɰ͎4Gq̀5-pKr1Q V@ps͎ R@@ Z+jtUIw#XXXh"f6QNr|VG;vpr9I1sqq qqqqqMچT48ڝfսN휌z 3Ep;H.p̓E*qj\N7z Vֆ\kLW1]F^a,4JŮW X2\Н0{Ouֺzu\Vנr C$Ug5#V DG"eS99Sf^z! V4-be-Ϫ+sy<.)`t\3U߈11vKb0:F'N6T ox7b~%v?DI" xTAvG'8"qP~tWs-~Qv5_uI1G4{!6Yo+$+Ơb'uFD.wryWL}k3o揵+kAHezk拢 ]~lfWVݾWYƬ fE~6Vcf4 MX!YcYhfmbO8^|y1[ONa38Vx^\\&_d3fL$@mYB,j 66OZ{[5@r@Ql` m66Am4=mѶY?E]6m Af6ԏ5}A.d1v%F *\,^}neIAPhrtM,0[nǛ;f|w^e,.f 6b@% @ [@'`ppppRig?xpIΘ&i}3'T@ 0]3rǾic6J%e~f' WM@8Տ1Kn09`pG `ɀq>>fr3\MȽ tD@`)Jǣp|Ht0WKwvv',ңJJKL1QLLq/bQ+ĥb5'F*z@,nwbW}1xJ<#/kVlX'[S,k5::Zh]dY[+V٪Xu -]t~Ӻc=l=b=n=i=m=k`dbnI$[-96666@y 2[  VlmM[eo;hlK f%x%% $%D%K IK S7H0RoYtX^c ,ݖ,-o2K싖_OyzeL~q\"wWmO;|X4i` ǔ``T ֜g&HV 3j3j3󵶙z{+,ez}}\9Sbn(]hS1ш] ` +ֺEj"0oo-KoX60[o8,Z~¦Z,t˛,rs50'&g'Mc9sן~mT@z}1YWSwx'T.vL*ڇO\Ɠtag=( Dm^OC3տD凉Ϣ>sTGwOeP.6s/GQOP?OUX`LJűC y3USiKM_ХM#$2 tLB*sŨ~^*Z\9to3^6qfhLnv^ |2.7{5%=iV9_H<.xf5jDLjORtvkTjvhen;&@|8^$ok<Ѻj9'_˝wo >D- i"@:& LG|?Swo C-lc7z!]D*xL}PJ|^~s"~dNտB-suiTj\' (oQ>oj#ԫ{MIQPjށHN޾e>#3 YQ?ڸpDoR&jR4Tꏈ=mo~$Du]Zip̦BSHr INDzsIQCzKFG_hzi,?ûZ²1jZLCHsT g urT>&"-Q::xYht]Y<տOpʛ1nr%z捱%lCQ'&l]*xPO wCG#c"ί±}XѸK/]ē;r Dt+n @] ;Բkz۩e,ARN-G*o,rdn&qtoG$tg9D&<'Z>F~ k4o-4[ğ ħocM qC9I'~R5dYcឡHAnJq2L5",a`B5bٌ٤u{i,QAn$ZB?֭S}E3Q3(bvPqD'o(#7j<>~"jΒ׺_x#/Q_ ߂E|~o yy>{Xȫ/;+K-pN9C _'jS3-b.j(o~;O0$Ytj ?'/RM$erlN9J{<Me h~HW7&qکG$YH K4iN}ğ"1PyjFRFŶLjmLOtEjsUDnߠ @Q-Kǖ1|>Cm6y'5/PXH!wATkt74N$I4(TA|*դ^E32#i[Bxd.$ IBd.YZ9ҘC3CzS*G_bl>$ X3:妇Ȋqu^1П.od<-sb?'iwѵKѵ]T>>Vq Nl1%L+i4޹Tޟic0Cr]PJrM #%!I%BE$R9$$|ޟze:9{g={]3#XzOk?!N'=Vbr!>e*3嗲\)Ų< O-xc.^̔Foop9ygyp@ίGdG# ̸=AS{ć`]:Jيf< d:^^̙٭ϴ<CΔC-"g]wm WD+"oʪI rN"_օ{oE&8`,t_`OG[ gKg VDy)y7IKאO {ĉf!?s d&7 F,Y*/LKEW$UF2llc'QjS7%۸\Oxٽ(r0iDxg4q<%ZbQ;-hlnLX9n!yҾEA~9%9C<{fcQwug /{r~S 仛ѻբ7c W*9ȑP<4}n+%;mNWu] FBo)k*XZ%#y=6!x]%F, IƀwL>_ ᙰm=e,37AâF9MrH߃tF#CԺM$fJOӞi''KF&[[o6lx >OO}aGfgIfƭ M&\)f6lɜPffsҙ-*[jO"~5>?Pd;EC'K.lR: fiMr'mLc.~'z!j{_g.[^4Vx83Pum2I]ϳӄ"RWccyȱm-;FLGQ~E]ᰂ׊V oPkh+T4J!σb Y>C_̆WS4Jsh K~w ooa9Uh!P&.|egr'5Y`fFG# 3DkF1/7D-~:0..;жAp|..Oo{lP$G}D.< 86LڶO8Ka ]%ڑvt";Ɖ諣og!)5)1ԪX> ߁$d5.osK^CxQh^ #T:`Q"[o7#e4$F]ߍ_.o?G?owY$Qfx>hϦ.>Qv 26e£ }~hZ(@C '%ȧ|R(̑5uq[?*(aOѼ\U~>JiCr\1֔2n Ѻފρxh!G5iw3(w41Da,cyq"]>A&B!Vζ3˖>QZ E?!݋ YѭeliKƖVج$ϸsVQv"]&;0p$2Ru8 (w p<ҿ!VĔ,eErE{30l?ď"Tosxؙ#[r#؅qۂ\4aGZ}y7\e/OڰeM?*NG;2l"fm>s1{"G9VWI)((]L;_-X( }tR)12w*'%2~d8 %3%ߦi3d-~h<7%23nvОHbnDBJaK#f|MWޑL.Z;)O<6T>ok% >~s4ٜo=Nۜ.mQ;DvA>wr(8S;Yv7g9;)z՜$w~&zd-㡑]}$J-eX5n˭LTnOS,fcUaYNLy+⮡noJ Ok~z_KXoiFNE֡|N3:;=_9ȓa&C:.{!Oaτƶʭ'N֪Ǩ;D eD?-S u]8)o7t8[=]%}}Dz>(w.D+m;/B= M.sgY>YU[Y/#;ewFɓsP#tp-Ke_s2`qXGhYog,ȺF/; >?v™|a1΁wW|x42HC|.4KM2^ QUB?yTa˚3!ta|Q+2cf UhޢmuDݯoGc"791[ [rGF9I)#nQυ[_wk H[D;'b_ohV%.06/"2+&(uJNM;<Зϣ5VeѺc PjYM=3]UG:{E+|{Kw~QEGF}+2VI4Or(uw"7Cܫ?u_>w`9?y-al;~ y;!pᐑ~G95EhC2&*4(SUܟ7 r#6ܝҬ:?ZMQ6aB4ѼoFf@ڬəA>V5-&Qn! p/zT3~o(.Y413 H.YG>4Q(\%SП|Muln{ ;SZ rO,AM#W-x wG<vE3:mEiOl_A ^ oBOt>u#o3,!/w|yo+"F^ĘG5[\<>c'`]Jg!*j}3iar--K#w#u}.܊ ^F3k"|2nUb"c"rk,R+ҤSc4J!nl*㙑Ѵ_~ ~ExƝJ̎8IE(݉ܐZ ww?u>w`9?+-al;~ 9};!#pы~GـuA!5G77ZGg덂/裬?F w'4qG1h6/Dfa͚l3j}Y`2kǛgN5FL o`CT{Q&97Cb^ς^l\sX = (LƸ?YCoe&6`դy\wz*:P|/"Mb(h{w@<8 ^3CQa0ylq<=o6*[7'4g:⇷(_IޥB!u7d,6O#N-N)U";%ld,I ɺPf9 s }Tׂ dݝ";W# &XN@NBnNߨu MCqi%V=؏#R|'P פ4@ ";6P:Vx3vY~"PdU ԭ)49׻ޅ+)M:z+lfšp*i\~˹،G~l$]ޅ AF8_5%[f!!qy㗅a6~̑{Xj8l6ͺۈdyζUX~-g\[rYW,ٌbhقsVӒZwVh8iyV { wAx uB}I4}kbF˪^ӣQG3Aa~b>k J^h]bgWrbv3>X9h=0+܏Zű߂F4}B^Lw~ nE_ezy>D2+Z=IKp=6azo`[4E"d| p<0 eVJb7{Fmh֣9} ĀyNcxy#o%Mٲ-֍vu%K6*x?PyEB>YJ&|3\3|zx󑒿r|oħo7ٖ_lȥD|r_giUpX;EYlooo4= mm6לl L}1Z~oX ].#$z22ЋP4,d>ɗ6_^Bq-VA3 ,]Bd籋:+lvȁw)}G S=[^,e3eAJW)*PbU\QUsuz>Gw5ZMPSTQTT9UYPuUB]iMΛN TwjGݧG76ZF%|VEzR{5Mz5HeSt5Z]W_{Mt}NYj1~Jr+*T^uQ7J] UjWJVY}jVתZj%eT-2TuUJ5TTkVuP]Uo϶uQjP3ԣvSET%UVհr#uj:n_Qݡ^zXU7'<8 ·K}Gp C?S, =&?4K%9lodqG  Myp& %A#Vp; q_< BvP?t +N~#^ .d=o`6 oT8΂pj.GoV!v<¸0r6(HaiXV5s {~ppe`!\Wup#b0_GxڲQp^sa40 fX6e6rk;®˽+'76x8>0ʎvlp\YܵS՝?Iҷ6&DŽo<"QYBmvKOrlY/S3#Qb e,/,YztDiuῥ;V)CgRi$MG?+۽?)_59v7LKlhwgZnW{QuIrJ;՝N{39z}gs9&mLwpݸ6[.'z^7v ]O)t=Boڮ}OׁMuTu S^X?|/.yÅK)t=Bk ]:^뉅+tg| kn(T~kfQ~Vϡij94f%M?/OYל sYgQy^֚suB^ qB ].t}kC\Bͅ^h߬PTKBׅf giKcG3O r)g3W3%NMP')~Qp\ u7HŢ R SRfa&YMd~v~vSu~u~UUoW+êy< yѼUfa֘5Yg֩Z5ļaPFQ1fUl1[T=lUv]50TCX52.6UQ}fjj0_f+jnaZת|.3ߚoU+N6ߛd~RW愺ʜ4'UE]mΘ39kΪv9ڛ`&:)ԡVאܙ3Eu ͞Tmm.L0faieo3l1̴{Fϰ3n +VV7;-ᥪO,ln [-mȶ}--V=uuƒbIJ'MMj}D<Q9̟TrH0s ("(!2Yd!B BI` Y0ؘ@39Խ`[ݷ҇w{z4/""RV^dx)E^dJx)E2^Dz r!"햢')EE$ȋH/"a^D½T"EJ^DT"RŋHU/"ս"RӋH-o[E&ڋL/2u"S ED"jvKj7ѵ&noN3ʻ޼|4}~y/K2¯k:o[6cFw]S7y}^0ވ7"'.<8x:O'g }y_`o7Aow'ć/ۉ9HB4%R@)R +EJ1R {J^D} ̶S%gxw8B_p%D:*~SɥV쿌CQTšE*NEStPLłh6%t7i_ÔJb(ՕĞ 'L>:o&o[6u3j|5~m;οs\h)_ w_zQ 8[8/ 3_:c3L}e*sy|Ծ좠vkk})/fuuuvk7bNFdMޅ~=HƑA/^]@>% s$2L!_K_dI&lߒ9;2#b=H~"KW,# "k:l &Vl';N^W%~rs!G1r '&gYr'YK2Bk:MOyL4cʚX֌5g-XK֊fmXkY;ڳ,udI,N3RYW֍ug=,dTvdaveqvdivey.5v]:Ʈ&n;.!{'){ar9W\pɝ)xs

Gs> "ė|'|??ʏ?TR//+{>er@9R+G1rB9RN+g9弒\P.*rMPn*rOOgb\db,/T& 1S|-f#s_!qXG1q\')qZg9q^d ⢸$.+⪸&⦸%n;⮸'x$'KE!)5KC BH,ߋ$JVi5Zm^۠m6i-VmFY_&}Eߦow;]/nW}WߧO~N?g%~E_ӯ7[m~WGj8 aHihnF6#c~e6>d's)oc)9c&׼,/O ^ƈ#^S);EOAhns0a3I:>r|F9>wL_8鎯ilbZc%XEk9v;4qqww\) I 0Q]DӟD]CW4ٓ]+~t$MrB7O9R[h9ncX]~(?;x92d*rM_2fY$bj`k=+a`L:{~xi%f g@ fVxVQHz2 ru֡u ԧB' gITj ZJ-Q˪j9V`5D UpVT#JjZJнtOЃ=LУ=NOГ=Mг=O W~??g)pAq($NBRp= %$H`Q4RNj !Y$iC%&@A!.|IoAH2$C QE'qL\1Uzm)v c-B()Fо8LC~KJ1t,)Mq,L{RkHyn$AtFBp)_82{J/fygRX X-1,xc,؊"*ӍmHme ɦ]nz^= I.^()<)c{sRy^> ?^'/E*7/C"`H*G/O"JCFJJ,.[kKEVε5 hHE@$p^ĉziz@|]K=&yPǂca=P/OAzekZ5 BMQH*j])ԇT'FXW3?Q [GY-hZ>FS(X؈(hcqq .qo;!::Z@L b|qv.:E *z I&ΰ p | mx [2l˱[*l!5+!$k!7 ;$}n:chzsM1Z;{ţIǑ=@ګH3}1kbfq V%fҜTyj0F"ܳvJH-ԫohs?N_g+g+4m?DqC !@?$9itC! P6C9E?~('܄Xru {dh´4 piWړ3Џᷧҙt]H+:Y*MBp0`X~Vii$ 2b-ъ(h$4 e"#2VE ϖ):NT;U[(3$e"]2.BB$Kt[[&hYFY&iLеJ,Rn[A(G)h/rSr_妡BMG@+D}mCD !"xQD"^/D+Spy457[t8}|Ƨ*Yt.]Lb7c. !\թK5P5Q&Z((;hʎ.$Yϖ,Ye'ell2MA)l X%JAQvBIv%`SdW[rPvrIOe8iv mEi[QV-'l[ʶ-eۊmEYͶ{U{U7dd3v-ޭ'[Oơۢ hhhD}G=%K՟\ހ/.pW49XRC9Ӯ~QbkiGg8~JA #ƾcdId+`,Cd ᲂe$deYEVd YS֒e#z2F֗ dCH6MdS+沅l)[ֲ mA[65mIhSL<`}[l4g|_-T "Zj8Vv2Ad($,Sd'Yv,vF;kY"0Kݩk]cշX FzM^[A~X?Տ fpC1 FqQ(k3FjFChb45bfFsH7zFxo 0[mc1xn0Fƻ{+jf5Z[m8WWUW5+h%JA;ivg%Fڕu'A,eP6 &aR?* B>'$R1cc)XXCj Z+ 4!EclczQ fIo}pA-`#6?0 ȇ9!r9?B1rOs~3s~3Өlstdal4_JA ,fIM'q̃8EQpԼ)ju+όjOĐ͐ _EoB= jȎm`haB{ООў9О>hO_ vkGxޥx-'y퉰l[.Ö˽fS}^6#\џ3w[Z`{ߚzg/{*A», `,9"zޥ,;;gyXVS{ij/:X:[V7fz[}~k5nF[YXӭo9\kZa[k:`XǬ)uʲ.Zuuۺg=YOg.R\t.rew\9]]y\\\\\!pW+uY?YԜF6_Юs/z4ʵrڋjP^̈y?|F}XQ5fMYKֆųd=7.ϊ_NP˫)~rC6]R1O_N˟$Z$u + Pz5%`m;w3z.AD}5]jSfd插c壀/9ݥOa;"sa&`ܸ⿛GCy$g1~ԴQqp ʟϠcϘ%%hs*s@Y0/>̀%ƲC9rNP弬 "P.jbl)(f\rYV_f r9f?l"Il'PՅyF6a^m X{S?P5ߪn6i Ȟ19e u.t.$ܹu ԒNeV2p Ha.S+^+1o|"GKolS#E>BP#E>BP#E>Bx!+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+J("+Ju+(`#H_KV,s8K;I:,`( NZ,@%DVA:f/;-yiiL:$ j ɀ*B/Ukg=v7;bξUN7=LYƿe'nY -X o|qTꇷ[(֢Y;!}V9#퍠ln)|DlJr7{4Ii:e3-=1#(.`>~;壶Pʝo hvnY| ۽DHQovEOjΕ{o\^YS7;ɻ_(Vٷo#$49g^x:SٜT5}8ocχ=j9N7iÚn떳iCg_r9.QQLR%M4ƿs,]u-7tφluc9PЏF泀.1[/(,XS +r[$ڕj>ZTfڰE.wsJCw}wuYKFFһNz-[gzZr_Ѷ"Ze98!cTiq}f#?Я_@JQsǾb֞W:$[FyYW'_z̶E|h1h@_ҩq ՘ 1GÖ:{ơ_ (VyGK|QbGaC}*nSoLQ~{ֿ4Ј9p͢'/YjQV/j,_M>M5jCO\ͻT\vľ 2G}Wr*?Nh;;r774jZiEU _v#vr^q;X'-{7S~5}x >*i~\6m]7%76?[ޚu_LWK dܯ/3nmd6zgV7ix'u;qɏﱆ0dN>q]rNU.,?z3z,ITUU WO/NKl*1׷6?!)?wLuTjkf\HCφ_9Azp Z{S)V1LhNC*&&&fIWY[v/oM7W(¦AVN8B[ ;"0$(0F l' \ԝ:9Z ;yå{j5S&;٤}L$}ico4\IG打o+hA۱hs\4{n|V"gtjWv|=;?fnSf~ʧS~kwH zp=5d :s.]%ϮeK;~¢3w'm9ṶFO}ybԮU;ZPD  _mEY=ծʝ>uJmoQu߻+)߂c"k?|uębѝM;-1x߻=4~tl2tKP//ĦsCvJMJH)XOFԌU g 7ٿN^/C5>۬{<Ҷmq8N_~vM'Zin[]4XGzR>w~ӻ֐CZq3|G}WD.|=#w9?>$߯;#"wnBy<Ú8`(" RB&+Q$Ĩ"(" *!RVq$kPUvC&U)]޻}|=ss~0^`A(bz8͍.X-ĠFߤ1cta"'7p'm 3\$ zedw$n;m365ɮ3F<(i'h~Roj'enr^bpkS+wsQRS$q攲-4,h${Y"p¤PA_D&#psZ:xS J}grrЀ-H 9XrὁL_SY] +؜+Kf4eג^rLvt eV<- :s?b/x *\8w4/> N@7\Ƹ ՛37<ωz#A> Y4|]C8y:h%bJ f+^\BJcw1]P祐4|oo0x6 f`z' :}7p[{ebvĸЯ$)Dy΀cHh͋Bbp-͛5f zˡ) sꄦE6%̅/n K(jڄ*߻GtOo%/ k샔Քo:/o|TZ]b yHhi{ v 2" $pEW"&+:GX=$JR9dKF߶s*ueV]ĕ?>oF k }ysyC9vBPO̷sKhe'!e'"nֆƳ%n}f !wdB"8<{6$6*Nzo$ yJ8+^GCzy08MݼR-Ϻ&[3G *;Br -h 4F Q0+PDOP׋Y2 a Fsƫ,B TI|,]|>HBdT#i$xh]됺벧ܴچ'1Ji/z6ˊg X꒚A0='+*Jw9W,Vh!l)cB'[MrTw=gݢc@Աpq#M]}MVdj]^xsZ@\cp]#'Vѣ&K1Z,9T*m:ZL6w(J,Q((!2(9.g*I}cͳyyXAJ+Z{pйg8T(v!nXN@8g<` 3#A4"sIWů|yGb&k% SZC m662l7EF&?V_xeVѹQL_piDaN֫(^5my2B#ew9"*Y!JO|5kHz3u8mNm7Q[e2umBx Yc~GNh-z+ tOόB SoQ}/_b'ltq}g/ f)8.Ə)،v!+5$ @ig`I- *SSإpOŌrMgǦ(ѭGO CPO74/3I ZF endstream endobj 476 0 obj [ 226 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 630 0 0 0 0 267 0 0 0 874 0 0 0 0 0 465 495 653 0 0 0 0 0 0 0 0 0 0 0 528 0 412 528 491 316 0 527 246 0 0 0 804 527 527 528 0 352 394 347 527 469] endobj 477 0 obj <> stream x |T{o}2LIfd& d$}$$ kB@F (KU *"Z[&A4 VTjp}݂d3MN{9;1 D4UVmv'ѯVUf`gʲr#J{#gƖ+n= _pwPhld|w/">kEgO^Qy8>7k6l8Szᣲ;;%{ "[S3f0cŝ>r8\F[W`9{Śu]^26:uU{+e'bO|o͑E+q}WWtt aԹ.@k:8ZqYwLV;1 E_C> =8'_> t?p (a? sP躿?Ȁ$v`AYs&zv?׈3qH { V+e9H6;\i-61 l\/ z@WkN̆y~$VB/?*%6~1%#'K@o`ز8dDP8>On+OK,nFD3&czf ss)s-9O$_+Y`<"Gs + kifcf{λ#;ҿq-%/|;m~ձg>GE٭3ʁ4E,8z2j -mB`7x: ~^ʾ ?m/dȲwgB)ʾEEvh[{ɡ' Oz&5W.ulmk罅 [pa%y3S-ܸq9k*Z^c)Ȕ9~٘t=F %*WA G;lpWmyaY5tsTu:l:[U_P`¾QVd:my=0g[R)p0m{uͭm,Öwc]^WвW_G޼ Q 5Āt t Ӆt,D :>"xV9\`DW7gg +Qe~חKx12hLp9fBㇴ mCv;\m~~UҁjƮN~kJ]I_#ȃ#`*ة }oĂc?mi:?8 4?&nrƌE|X;I™w9ÆAW : 3i(r-DaV,ΩT+T2ߒb&/.6gJk):XU/MiuxFb_ß+Q ug28AJu(pL_|`y/6MTSejA'SK%*a@ 4gYV F"N'F#fBDN !C" Ӡ:ļExukW ^&Dxy³ &m[ n&pod+Q_NXO8pRZB/a a5a!yNBy%AH':B*!&L!$\'!HH R'SC% # >&|D}{w _!6g E]2MBH"$NG #H  )">#|J&|B!“O>&a.aa6FEIZ -fB&L!+& I'8q;FDx7aPFP|r (QCcP>D}0jmMޯzEkz= MwayU{/eñ^F˫mJM՚U|UZWqGV1wӱgvOWlVqל?ͷfT Zr {eڥK|K|.-_J]L-H?77uoNl_{joZR}3}}Q?-_Kj*_%c7)XDzr"RvIJ=ozbİm9[9-`G5jkQZ!éz6=z6M?S/N=ݪ^K5jh?]Zf>͓Q@sj2jRӫjoUQsEuQmU3^ujFWPUjT-Pq׫ʕT"` ])d1 _m '}DXFF`feMsfmlo}a[y_ eؖ6zFxL3;`vսnj5sըYӋ]׬Y |Ó'r]j~^7_xO!g2;F;8~ (< _2 >|_1R&a~?$^jH8pb6,D@X`xnd%脾:1aG|^qDcd㦳WNCk a V:XgaZ|ϋbep9l+`;\ Wp \ ס5;P%w fn;'˿p joC}?oZ@ͨ-ka XGA wvM( C r^3zOÃp_axc1'ПLjã<O39x^ex^7mwվ a͛}>Ѿ lVp}l! çcPW |1/cXFkjƈ5G9L¤2&f R4X¥W)x8h h!ߌQ/B^m'XXV5 }@X(V'7oۅq[~d(Ymxkx/ 5 V~C;X#}A<# luֿ1zGXz]1˿ǚ#x^} >ܗG(3|—(|q^GpF@57=~}3: 0׼5c0,áσ{\qqcDOFQ2*Q0Xlm; c L8FU0&2X#0&iƴtQL4/OIno0c0mLֲL,9Ɓ$1iL&='>bqɸׇaM)STbmIfrp?3U';kp FtX0wB|X&}w GVso΁ 3qO1(+*UP R,Xq&b٬43RJ^{yvy6aOz װRDKesssr233TAqeg\fRKAy-\xv¥80)%vD+=eaXU-IET[W"n1L#׸m1D$*I8t%B96KTql?Y<=SrZɊ[fKZ%Wk4#iwcl FP)cF%PhoОqU\5m/g+YuZV.|r54n5Y=m7y(#pzy7LOkG[Ivަ4$m@CDhmgxhݺXT,]䅕#5h@ҭ+/ܲayc`u''uy_͸}-26%(Db bI_Gf«:S ` KVgr%(1d2]X9Pb1=F*FK&&ˣLU'G jRז՜H d.Pm"̮fO N ',KO!t jů_kj ڮ1o! f3p&EKg{T%쳬:6Jq##D}Qb {'Joҋ՝hh ؄|^cNBN-mGP9^}t ~SSa&KU/_*Z҇^ |u|L{?'LD[$q -ד_Y23*",vEfs&­N%2ə癒Wt+jM1큣Mq1!6 Y+ k&/?x?kGc$p 06qR6B5rSΞ0٧FU^.UEH8a  &$E]6xy7R61Biwp5Q_Nsp,& <=Zٿw-ZV+/F^d.h-\jYSP˼v=*)x9z:Wr g}\ W;XeuJp !6 /LW,g:.giL aͻ?6̻sx$%F0I)r^^!qDS R6F[6{EA292c[6Βh#O;|ySrjyd5ynT="]nU//~Ŗe%eabV1Unnbyۂ$KΔ9gVS=px퉉}b=xIa! ™^4 ㇇KPϡx}0փ6<+pF~h1[ficӳfLMVV75'rZo.hhOݔղnǒoz2d9"-Q̲5:b̬h{M|[2*";m-USJBˇ6"9KBdMA:FpA>r4?sQ5CcY=L4VcMw:=C0*s̚ TͨhhN(ݾmsw>6ȼ)%%nŦܼYiFx7# S]S2r%"ۼr^e!v7z*)%D'J$Dj$˔:Uk6z{`ya~#z+jLX2 ED2.Y=J#[|H:licJ(JwvOA֎ 7-5ے"iy}fuK)<`2hdK W'8gV57/)vW)O̎≈OǷ|6+^'oav|z4[[5k"kՖ!&Bk|XMM7pܾMn8tOb»_*%to35 ~0˔i y"e*N7N_8YU  J\j-J~UJI:zAWxX&nP48v{oa<,yc mPxKD`.sMKo[v"7>ajrFSIEs"Ǯs:j.Jp0=§Bgg3F celhCoH6>.%V5tbx[CtΊiKKcG+bR4cBwA5+tb#+BǺ qЕ=yqy §RU3 65$a1UYUvԅc$ZSCMFF~;ZFN%<Vj:YMhDT78VsD!OLJYӋGNs&ۂoWN,EkTZLe۽c!~C5W/V|譳 1p߽NO6{Q2k^'D_fJ5ڑQȍ7d65dvYi*U&.0ij!nV]zN4xJ 'a0YDZ8f6;?[i1qq1(C\r#ٕX0zLeQ)I>a @؜dwL&/\S jrKdxU#wsjb0c>Ο?q(!}y]?yP90zeG­W%VNJ ɔ2N.{|TnBEB Q"nBK-wr$d^(jV6Bj"A56@@@49{]}y=G3g|ߙefΆCdϼu@KT&Գ$E-r_c{С=nxL#GQ\Gq7dF_#ˆGFEχnbMO6gٴ_t>fо":q!}]Q9nzmR3/lzID_[#Gq>8G> 岱]2P&_”[3dOr)+_@Ň3yP81>dꄡ1~ԋ-í߶N띘?ۗ 7c2ViN,;-sBeŤIGMozϢgŇT~l $[ $]//bu~jg^0+~JJ#msq6$l?boxoeq)c/rZ8cbzMH:KGsiφ2:6fDL^ѽ&ďNۻGL3iYWD- #YdB@K?/ܢe$WtrTߡSvMH~{8~ vTz;κx$+J{Qo([GP{-hq]=*pcJmLBc-G~7z'BN/!kIvw%CϝKQ3M:y.)q]>1(\G(&MMMMMMMMMMMn Q/*(fAqV)$Yz!e (?QVnAU_=zEGQxU[?,1B?ER?NYBYR8ʻUrRzZ{^ߣUzWzMyR{]R.(Wԗ! t-RƫzЏPޭZVըii\zmpS26o FY~Ҫd"z[/oɴ̺M &(hdbfEf).AQw Yw[VGtEf#.f=VD=&Yׄñ٬[DkD{bWY^!f=Jx\̺]t]mb^ǯͺKĻYwk#דf#-f=FYGo뱹L;uFݰQ7l ;uFݰQ7l ;uFݰQ7l ;uFݰs'E#.6K\Q!E%(AڮV!̦ZHd|bmE!*]>|zWSɡE_6(EV[]%me_| ~EHXjAt>UH ҞϝsyUCgo&+iJBe*-=f?__Ky54J_|O%ww҃PuK*Fi-2p4VsM+ΙO\36S$5cȌː7^={T3΋a[9ڒ–<_7 -܈2HI\<0>yJT[6 -P2TSh UW a!Ҿ*2J 6f_wS U,TUW,5}j2c򕿋|uF=ȶƽ웋 "˜7f€i|Uʼ:{򹑿)pIOhȉh:ߨΑ|6:#=U0Ɲe5:wqMd9c.ƚU*"{ZJ/gj9M,Y*yU3Or69_eͿV^ɉj42}"U* j󥧍7( 軦"P^,*/KM}s+}s++RT*}پ2_evYE"B߂`*'UWͯ5_ gY/,27=+VUW* :r+G*KAnvd),*ͯge~P *6B+* d}Ee#/*CWy/hl( a.*OLf-V1ycB/Ud3" cv* q>-Ew=X΄唲} +J ]̹ ,"5b+:}W4\,Ĝ|k>%O"X_]Q"'&yƩqA@6cԙU)ٕ}y`0p ,H- }tpa|~Evp`AyY*٨/n)R }U(g@/WyjX8s2O+ n˫2(/ע\U22G4a/ ºoJp_~id:#,#Re`EQF2z²&HR!=|Ap5tZZdQSu]5(aJ+ߞ=pf|>w8mDdnYY5~ss! cPvC.-5G=U5ÿuk33Z6#nv[`cB&9KqcTۏ;Ӧ!V3j՝uܚ3GBl.8c\.r+ڡltDi1沦E,m1t-F5l1հCn d0|ʊɨڑȒ6sٱ)\csS Ͱ\1Q?ZtmyML]9حgY\s4;{iҍ hp89an.oZ98;Qgbaȴ(W+Ǹmm3L)~AV^jVL4lq;us܄cs *F 4FH+*-](*&'u5,9(3nfq;f^J\4ۤ\9nX蟙7K/}t'(30vi.`4Lѝ6hS@SDKSϔA7?($NhhKRv~I^(j8mZ*8lmQ'k/K{]Yێ1wN֖#N62]vHvkcL6Ku m5:V蟑lH)v5N-کG;+e6yݝN隰$w{:8~KRIV~>X[_\p?9uO#%+>dEjk~qqr)/hxoe=iKDX|V\$y2E; _ j7Z,Do:}ib\>=(^:u* zr4G/7PϨyUU*)ɯ(UMr*[TO[8.KͮDUT$UޠҒm*W2U>U|Fk"o3]]`ĒVlJJ]Gr^m󝯱bg9S{ X';qӴKi?—@k]a\e+:mNzovor9G_Nޟ };= mѮ'ru)AY KeXby$V[m=%> WhVܿnmr)ϗ1Ǭg̻1;,b~ϲ#ʸ+- G˹y֟g(bzrxbfDh6m?s:ΤuIKE!9L=f<zWJpE FF({-4CQ o%I _sЊŒE/j-v'(Y^|mqAq-~W_,R2U%u%.i(i-i'_`i9JWZlp euek+UP>?2|-s֚.+Z*pvtx#jϻBWN5U&Z}}YɌuQ^YmWic=f *c55#fWxֲUq\ϼӬ853:EVkZ3.9sVYp\WɁ;O}ZXjb:%=Rk;+V)aM?j?8h)sM5X"kyW4cTkXfxuؠ9I[#y A] f(VGVxsԌ EF=C.=MV'=z#Q oWuzfCɱ(ّѝ 3wb1|S6y[hI;waK"mfxvPB9>{uSzE]ù6,YI-h kw>qc|Z;)]B3CR{S':Ou]ܹ"t.ڱ=Og[JRd?v &k_ mwsHƱFJGwadYbv_ݣ[=Al2~<1Ȼ=*3I_.OF-v$y&-W'y|fuΐgpfO0Ќbu Hy M| v $D%D7Dq7ر},+p$',KOK=!eEEbnp?u`Ǩ?VQ׹2?)ߊE q>Ǖ['*fne_b-D|\k||< QwQyDl"oމX/Xoҟ'  Jb #U,~Fp&3A#[UDu[ЗLM;Ե)SꐿAIH}o ANAdExfK,H\Ow¹y둽AdQBdԷ!J/Bȿ"։>73=1Ztf sY$zP?(ZђtG@3?FRHX~A'Z*UVJGy?1?C`؂Vv!vǠ37>{N% 3 |?7Ip ߂Dg@S>:Og\1N|@3Al}qwp0[7z;`.E9y^7~G (<[s POb{w +>u$X O#y@%Sz B37O?Zp|888N1[;B95 E?tqe,xU)nfzC^P/{=ezђ>:}t |Nn'_$_{׽^u/ _F|m$_\trt?99ʚ#FZs_b¾;^ezk^Z/{^ezFCW p&g p&g p&g&pf~gΙ&LΨZBcϱX},:9$?WoS;K ]+o`5x < ~ uYxր?K`-xWk 4~N\&w׻nzqD\7Muqݤmտ6 q8i{W?ak/` xlzyD4A+yjVƾV?aWzn!_ȗVri%gZəVHcHA7GMnh7yk%Zv{D7 9JN6\Vȓq;\F`HAXp) A\&Lp%dp5\ ST0 L3`&/KRp?' k`x< o`5x < ~ uYxր? ցWwlfGȔ#d2J֬.X9X/&o?P`hqmD}ADQ+b;6 _=viG0N'\@3?_ dqz# c(  E%` ĜssLڈ+qE6q; 7 z}sv2g'sv2g'sv2g09 CPp1cs26'cs26H0 _u1TowA~>\=t^kFx7wA?3xsp#kv暬tMn⺉-\oՏ~HtQOQW_;N;Nպ}f_}փ\DYf.4}R0^?d4#t]`C}&3O׿rF׽4`;;Gc hS !h= % }.c̻'Irr xq?;Gx+}{%X!c-X^7} %x<(,5Vkk@tסr+Aq4_:ס MoB^ϳ mx_cLM151&ĘScjZ-^elZOv cFr^xy߷p;Lvy6OХ.=4fA<*'؟b{{#XC5XC5XC5XC5'/šhFu;vW_LKevbEUƕaicWX:XU5{izڴea=^6 6bSx} ڽp\[{lo78Wfv}پlnlek/[{^lek/[{^lek/[{^lek/[{^2 YjL_TW "J_FEn{thZrfenSaZiEaZiEaZiEaZiEaZiEaZiEaZiEaZiEa::E|K_R-UpUobQwwwT>o}|UE.vQ]TjUE.vQ]TjUE.vQ]TjUE.vQ]TjU{PkD(^ŵVkDĻTKźT\{gxgxg"I\Tbϫj)qc5 uG<ٻn cw$u{iQ,{q<'с4gK,b:<+öD0ΰ#q=/ݰ"=\_x|=~1:,1Ov6$~+ߎ;3Y ]+}3qy|_?/83%p>.˘ qӾb߀5Oi<܈07~[p+' Q,{q<'с4gK,b:ë_ъcaGu5w>݀MFgPH"5Q3G5wSs5QejRTXUpNN(W\/z)W\/Qn劔F"劔+RHrQn劔+R.GzVZj;bJNJN PB0b )S(0z)TPB9 N Px$NtNcMJbcFnݔKMÅr+Ld}H2o ˒CK@,y|X /w%Os /4`,ϩUVqiByWZ]e?ɕX^2}̙;K 8g,βY|rOE>uOdO|rOf}2:p+YiRE[#2yŞw\'eٳEl9eS5eYS5YS12f\ƌ˘L)2e gpq=`(:YLzk&g|(zM˜95m|09ϐs UW[ĨWҕuj k? q諮tw`U+⊷T TkPqTPXOߍ՗(UF4ռ-Ѷ<8T}<",O4h;XO ٸ˰ëýVNO4g?،aTטS)O+gYStNtL޽7ShG(AiڴM]ڦ.mSKԥm{3rP٦lSgսaQ?Ý92WaLM nE7%ʌex.'V_]XNH\#k`ac9Q/Jl !ʺ=e߭cvU^ߟ;*mo}b^Ic@SԶ}"}krZmY_V>V>|;Z{5Et\ ɴy2m^j_曦ЃC Mk~p<>p"N)>nh>'+Oz)>í͟q<tjuRj=#%EUW::!꿅x^jDXUQ^j̉:UΉ1's&db?Cg(}s=3b@ĝzD~/{V]@huEjR*VXr/{K^*R½Tp/u{K^ʱ x]S}wXgU7RF<+#׾wB  xgٲM&Njr|!Gs~s>G\tLȢ4J4J4J4JTjYUO~EVYj +zTX19VL̙ jԌ3a)bE2A٘&D4!ފE55Sa#ɉ''\5*T܅0R[?Ycs5!r֘?WY_Κr:2yatd]Zu|/}?̉ZlAlXx8n&M;~p<>p"N8‡->S1|8 Oi |3qy\Uu+ *tauXU<^XVMy ̙{)N/p>-};LxލC=٧0ԟOP WpgU Q4qRXp2>Oxg D#nBxhj]mjs4}~Hmoh;p4ULS4ULS4ULS߃Cq]X5z8zGވZ:s:s:u~PuԬf݃O A:X'd`ݣXi,cxOIHhFBH 3B[ębtxpk⛨6 r?W{d.:$ռz,8#QjDOWJ\}5hõy.W+.W+.r4}J^A?Ukd-e>GiO/P_.g"_miS[ԖR|/!|dShzryi_Ԏ6MhS;~vPYhq_Ռ?x>Vme vٜkt6ȩ9p?# vҜ3]Y`,k5w5w555ȯݐ_v>gԄ7va8GHq suNΩ9x|'e]SJW+pC 6v;ޘKA/xF6򴑧`?_[k/E{Ԓ8Z%Kd),j|_TMЄf쇷VY?guᦀbS@l M) 6Ħbr 9W}˥o2| wowTO 3Uҙ*LtJ:S%M)4TҔJRIS*iJ%M)=7fܬsznVY=7fܬۢ轱뽱뽱뽱뽱뽱뽱J=_RϏbχP01"vub'JSeLl?m*zަ=gT􌊞Q3*zFEϨ=gT􌊞Q3*zFEϨ=gT􌊞Q3*zFEϨ=S SfN3yLi&4w;fN3ygڨKݠE7H-В]b]b]! ĉqi[whtķ;N!f' O. ˓ˢs9HHo-bݢ1jتc1R:;j{Ϳ Ҩ[tn-REJH)"[tn-R4FchlMi46Ʀ4FchlJSq} a4SޥӽK{_KF)(tnҍRQJ7JF)(jY-6fجbZlVjY-6fجO)ݘ rKkt:\FoΚ&Dfz(7W盻^ۍ0SLSC~_4b)w5}gMY2U_=>G{1= N85NG}TǏGг:L5eJϚҳ)=kJϚҳ:\vN;W[}kІkqׯO3u݌8j_9^SF8gtNqaN9=bgGԬcrlVcr7\7pih33 W*\c.2Oy:6OWXt:6W r_M)3vlƎر;6RvlBh3!۱y;6oؼc||| _kL"LM{6SD1EdLSD1EdLSD1EdLSD1EdLSD1Ed^5NׅN"eH;_=X62i#3k;uz3j4d3w{AxO5ދp=^N<ָ͔c=ĴbZi1VZL+-JiŴbZi1VZL+-JiŴbZi1VZL+-JiŴbZi1VZL+-Jʴ2L+)Jʴ2L+)Jʴ2L+)Jʴ2L+)Jʴ2L+)Jʴ2L+)Jʴ2L+)Jʴ2VRi%^'Ⴚ[ލY..J4u_Ϋ80qFtV_~ɋ3ekɼ/{BX ptLr?*a*33;{&BQ:gD, v|`g³"<(R@PBHJ(;s/!@{?߽gʝ=sv7'-(iGk06 CkW[h=jZGL@Ra"E-z+梕Tz1=(Nz)zC/& XCLXRTVLXaj8-~~T2{aMCPX^P{Q$ R׺hwZ jDpį̀>U3-W Z>l  YjـH*"v**:0xxx xRhJ*11EU@5 b@,>a>a>a>a^^^   CG`15&7 zMT0ЗЗbQ\:W5_V(]!N%YPtqXE)UV.k9*ʒk-tV:fYV@-YOOO/!? ςg`Y*ӚLf3_Yl Yجj @㭕*`5j]r/Ł85] h^|?`:q f;d9JCaPXA5FBo$FBo$FtUBWh`JSXs} k |CO܏ ;suu[_nPO23*7O$` k[2%R`V+Uj XdkuzO M@l -j=||q]#_OR4 ~ Eob X,ˁL`Xdkl`-X&Sc{7{dI拕VLL 1c2dWi_Jv-bT6B9s )5|,BW x}i5ܞ ?2ld aNݝ; u2dطɰea{&,=Y{R˖mLBؐ `FKM[* vO!B: [KaXo {k+_>Yd1E7ϱS#Of{}^^>@GG6K1 [̦DB5sქ dPWEW-|b]qي> k{,֝Xw~Ӽ^^_+4VDf !#/G+>JjoDgQw06Xx3rLl䭪5̽- uxyg"J @#p.m/(?DQHa |ӝ/wJ7tOOO/!O+ U<$xPI1%;Jgo( j5C?(-l50_nST߉~~2lD&V[jG 0 }L,5j_u-S2cvJ=mbm,cfLj0W_2zê2y]c r!U"Hِ( I6Z)D=%ʅDCGo\dήPq`yFyS}Xk~.2Pn?Y!Obt3Q> h^ 4GE8ڀZx>ELYQ;p b~T.~<C5-4.搄k^og\+sܨnFVvyQ?-vRU1Rz\!U/?6X*|{Hl0YHeA ZѲ1 2adp\HS>mPcf]b)J|K0-b>گWiˁT{QJTʹ6s>l?mN\(DڄA%]! QըMYڄ`toFZnq=9h܉:J̈[Q$h2j<&ҵsup.lj8ns nQg⻁+ Gu]NSYt=Fz#kZk$L+{*eV+9ՁXE@r+ꬃ^|= iH7B%} 8O"T.a}KĹ`i"Jo74Ct&Pv3 88m JPN8\˚hjCBȘ@!daa5BשB?я3 8^! }WŌޑ{z2sshf^`43@*4-hf$e(ͼ,hf +{Ru"Sg6'vԙ.𹐺Mt[{;GF@4 G)O i ,|>\DS>c%P,Vՠ6kNn;ez;h ~{=Bٓ->l>>6?7>6M@)l Vo/a oN3kįW&*~kʯ]Y3ޝwg&vocyއ]~R~Y{>?:Sr ʮo[|?a>|ʳx.7Kd]|=WO & )lff*EĈx6K ,U$,]4M|L4g EKђ&.bZaKD;ў-EB\.dYֈml-f!0&O+!X#>1QLd$1STV"E2%2jGl`{xe[<ъVG#d WZoY۬Ǽ`M&{Y!k?a-6v*[-?p>Ž#H;ʎk\gocm6eAlm0#';c)t"TSx'tNӘ/v: ә;9=fv? ':8&''3Z4wpƉg^q&;%Rgh8)od+JgA\lt6NrIV闞+dS_^$ۉ'dI ׈dWU*7-vC!ޕd? A1\>"!> 1J>%_b|[rA~$G($_Y- "E~/s9O B2G[a#k=t}}}H(QApvl99q_t_;nY>S+~~fEHw;ՊvS+MuS8w.vX5er]is,+vs6w-rw,ҰVaa:Y]vuQXVa=[zYnc 6jvO=V'ϭqq|||}[W~h]ouoo77KXҭž]M~n=OO7wWYY|;(`٭сK;~oۏh b ne R񁹁E@F`=)*ʞ a d6ڳy<{_|@{i0L/ W{UX{W˫moz<5[&^kuz]rwwxy]^NwwSzx:5ytt/ݩ9^4V{;-5^[wZ{9^s;mo>.᷅u۹)cDqw#.Ræ2Zp%Y5Z}ԓ`GH図L?C{+`8ŝ> S8 Vxp{I@'egRy'\Yj5Y[ jL33OZr\XS^!إԄ-9}#j*RPϲjfMSӨ$%wh9Xm&=V>uA9Aeҥ'mu5D ]rzou$u\м 9А"3\To76nvdĎ Ηj%mJecWSv+F*OBs׉ѫ":رPK8ؚiZK.wObmDJ:Gj93ΰ'n4Zx9L5_տLX Bod5t=Ґfe\ r3η4T&/m^K_ڿwIi:w/(x`ihhc,[l[P-h-h!|h-h-(SRJQTbmW1嗴GtPT} :$'To8bUX;*ZXWmݳnfݵͮb7j;= Ӗ/H[ldWڒe%˾Ӗ,A[GmɲIڒeӵ%hKՖ,Kז,M[lRYRYfx,+Ox_&SD8\cf15{u$J)}4&Kh Ia g=XJ|8byЌlpZEEMTޅOM.ǧRPCPP:EIIUIk)_s:7P,υ4VhXѰhaFêqU=qQ4M" D4/h^ hT_%B#=Z-\KZgm"nY{7za2em%{7Ȓ=64sMF\hp`ɓwAá!ʁ fW1]h6f?RO!!rq| ,_FP9o7 &gӾ6d>]x8;JBΧSy0O@X9=s93sÜR0sfDSLPv!gcLRd.1<*C.Eo3[25oP[Boǘ쐻b 'ʃhDFTTۅJS]\rb\۵sסpW(Ň>G~=!]}O,=ωyNا)Rv5)M^NR3߄yxPkJkF1^s9ζZPkI5 $[{!w1dxm kt;={uL ^]N~ߐw)_]}WU\Oս zBF&˻9;P3c?}/|w{@?=4#z&/|\mA[mf( E`oB >>FSp0dEz"4n*%[B'FZՕj 7n6cXM~pSO↛\p=knnr 7 U兼" D (">_Do}DiaZNq'~SðO-q8(gI! 3k'Jw\.0#;׌# ؆qbdo9wSB;>!'0NaX01c|G\>fi',>/6#U>A^tw%AZ4# ɑr$J},?Af"ib1r 5IG?pqPLF[L~'f%aX)+ Jf")ߐΐkL$DTpP0Aцb U7k8/Ke)Ji&2Lc(6D# ݀@0oo699اRK|}ȷ\5ܟ_OܰFU/ |]q Gv vt'3JJh^ENW; D.  iU^__ջۻbW5ifGbM&* 3?|N~YK&Pg6֪u-~7IIWΓ %`hK[~Tq $s JROg߳>댤תES{gj_W-S eZVIUZa6Cۙa:/d*Ty[mA=wrxglrמl.us5|K T:`hZvwL<3sԨSfnsUuͅ5>-u Z:@t;0j>U?q;cY垑|1a_2Jz2>?;ƙoo滠Lk)j^㪮 փjs5h(2g]_md좩chT8W:P&ׁgVߖߥF 쮲~#qPgJAsN_b3MZQ)ji5T-=};gAm|6gX h~6tvs>g6gcvSIs6O0.<5ߡ{>OMD&༟BG?!;>3h+/Ծ#Cя ;M:Vj0^_ "#̹컩BG?e(PiZ+V?UI{ VjR"@[8Z{z|%u?Ֆ+o~CcvĮ GV0=ϨYbٓ Y13=[BBmխy2qO-qe6u,U oSbyZL=ϻ&2Zh;ukvVCorzʯ:rП,\p٭S9{#gNFK ӱG_ڦ]vCwzPI 3+`rX`;i-ߞ,Wso1GϵSR褐6熐%7 9uڀ5$/8Ko&;6QF6Vσa.2_kYM-s 2xj#X/Ǩܓs|--3syzы_{{}owb:Qa=?x->t/mjm*J)0^ٝS w>s7[x>Cuy M[ ԟh)l1w=6{iKҥg턿8OZ&]Rk'Wi뿳QHKW8z_)U.0A<s:)* ]]y⺛*|&*Q[<-\:uv%Ke2|*W2BYj+L:^vM@- ݁5Dg$p𴽘eߗQwYU#o)vU||oAʤfnj%5/yLQ ~?T~:M=W}i_6tz}gIV5P"=H=j򰊩/:5 iC0U5|752~(n#%uJ-6wKC#2_WSJǷP1F@?Q*wX%&ARhΦNŕ+y2Ww(2?ZV5MM/KC@6^4.^b[ F:ё.Hǹ7}#]l[Bc"m?:Myg#]Zޕ ?K{ÿ_Q:Oy| J|FKL>4N+V@Gow >:z\GcOh WFn{u^"0Q8 8 BA$8 :8 o:Ja8 fq nD~GGct4q z^xԫ b 1ij:xNRX %KAc)7u,v5׋a7,>-'O":Ft#Z!>[X"Q|Uȍ`X/V$5%c:PGS'0]0]0R닺碌 8yKi=uY|9}f ,EP,K6K6BNc֘.`Mo ޼fSÛM o63fsPj`oXpԒ> iSçM 65|zt<UөQ+6-$xYm`[ǰma[n6ܰmUöm 61l{a8x' ϓwTO1[o-L 0,\ϰpʎKh;jfu$zeiIceos!'Gf{3I. bojɯy2]awS$/1އ}>Hz=@[VCa#Nt!-Bvlk$qUq<ɉp"aBSթJ~h'ĠNuB+ E`:(ԇ|Ӏ"N#iM7sNsȷpZ@ INE;QvqM]w?In )RJ)RF)R1Gu2fC$BܛBqΟu:Ǭs:2s:gs:,Z뜥8|7g~sϽ>r2X(2I|Z,Bψ`bMX};¨c硾L,GP!V1kN5K7ėh[VM E͞GY( [ A6Kp!12$F qzX)DU"">$>lc8xޥ~Dackk)qWx F_oc0Zb Fo#yG<ʞ#1E)Ϩ?-FX8Y,??`y9cFE1_gghOs6[*7{w ݯKeIt CGX.K{ z>{J꾤+duOHW 0ޗͳg~nU`QSD| 6@a l 6K6Xa)nh @ l ' i7k Wz[:RHoxL$Ng82.N=4~ޗ΢ڟΡWt[aK,{teJƊ'(ÜP8%{D.]GIrRa 5q8V 5$w,+ߐ60-l}Ȑ>lxrB?-v|0[/pph#jdGo6GNN1;'cw2 v%''iZw,Kb/쪜쪂*쪒j=dWdWXu:ZuZZC~WK~gк_-Һ_-5к_-$ҺyZ{2u_u ioJP` `^8V*^`Eb몗P=Yef_Ru:AˊU>^+T+О;ߗ|ga{𹍪]7s1/{ދys΄kk檳(ISIuiE13b>.樟S?搃~t9A}·wcs#'LԌh^g}j`>Veϑλc{h]{!YiYi)~ܴLT$A%O3Q{E{958! 'L$㜭cN9R$'ON)pJlR$M8|Q$S'SMv8P$/L$/|[ƓΟR-sђ[|?lO$**fCVHV7mN\戯ϊM&so{T*neeƶV,.S#o#sݨyS^ o#aJEUsss߉E^'œhݮnsןG$?G?3+&.8s$y1س11션cg4(F>(AEc y4K󁲘:vo̷b cL1&Ԙc9 6L`#h&0;ĎƎ;cwbwcc= F1Q̤lwS6)LF1fj3|uF {zfg5BC f9 񆻰50 |n^ýhg iА  RgL Y,l}8 ٔU(ːgG f(03dPƐ4MC(cU(00C P9D *QD C)O>0BYE2(H6e2,6| -EKPdR FlF)Heɤl#zppe$rGK)wI&.ɠ%jJ?TTRG""շ_U1AlE@BAGBE@#&)&Q0M !pqzGw}ǪOF!29|DQ~k?LQ0!,…"!JzFf6W!pq =" FO HB"2وh`!gcÈcmKe4,2**QŘIE#)۫kQɤ0S.Q@,D,B,E,C4 ; "XX;&vNny域 zq4 >h );B _"a:w۲y!؊גr|N˫x]ChW:\P0ٱKqosU/_l+{dܹ c[dƷ*/_k/e1ZCTltOS4:vˎUY{)!#k?*'rRuq㔜d8I^YiTS︨1&OD0tq Lw 5N,vJ e™l4&M Ma9ۘ~I3-jl6fOʅ$p3lhTTinKy72ݙ>g\Q☱.ȕ&[90W9 p 䬼-jeisrXbզZz[<]iF9l,ɵ} t+njYti4q\mOͦN'xP^t+x͹\'30(ړ4Xkϔ%rvyLrnUc4eT0ù=j/Bb4:r5e9 Հپ%`,EBe>ې豗˫~{}^"//!1hZk}!9/ZfľDn5VK[6Nf&j{k6E맹/5㽉9ћ"C[ۍ+ĬKdo8[ + wζECGk䉶YK tMr/kO˗ف _y>}#/+Mmv'ɶ^7w߫EawX޻n'C)%|mI۬#z7qmp'{һvֻOp'G\o{Ɣ_^Ґ1HrV}#EjKk!; ,8*zcbjZn&n#*zcb:* ceĆw,Sl \܍>*X{~)]1%4)z~],0u i=ч?zOm+{πkzM?OЙ${E̹ͽ3'Ŷm~Ǩ_TƅEƥ,qY)7Z;;IL F uf5*yʚpg2qUgI`29qCgڸ:pqK흵r^NcTNsLV`3pH'px?p%:kg:#(\xs:䤑Jxs+xsGP2]ع'd:S Σlsj`9;9s\0; ;'Qo4Ք>0]C 9x)sڇG'Ǜr܇T owK'ð०R'SěMruSXɭu@ ꛖ/GMu }Um2eܷ:0LLb~K#6yiEM])d(mZ/{t%RdƮt%>rbU殬SMۺ jFOŦ ޮuM w-UJu-4j:j:e6rNO ]]Rt+<> wXtkkzKlצxr][0DGznGhKbv2m6[RhkIډOm ]Y ZrY i-Һ+9S%(zܮs|Lﺈ+(|,ǯJefG<#Ik{Pv{RX| (v%C?<8۵Ӗ M<,<-[<Z{j6pXvzx=P,⣶J$XE~:N" 9wp-=Jĉ39mr~5r㉖Cs|,-]r-=~(,W,zFGPYP4'xvjN쉎 M| m!n'V4zcٜ9xhwsbi =7x&]}ăt4x+ueK3[hsg*P6旆'N' ]k;Oi;vҟ-絝QB9/^EXe@MUuDl_nk4~c$7GlVy-RH-mY`$ۖȭH^tv`+#^{VQտ#Rp".pڶ(?Y'"F?1H?qN@0碙NtNaSOtg U`[էmk"ۆYV?ԗٶEVOϳR2m{_e˗m;0+wvqt۾*͒lj0cϑ%Ⱥ}&yT%2l;gjEoWv/aѷ2+:lg}k"{žs"ڥ0%hO/GƉKtITo<Ҟԇp{jߘ#73F+Ҋ+Yd~V+ڳHr&1=|fîo/;("ےNe}g c"ִW]+W,i,_j_wD=jjG8:g1[ Bn0\j7k0O,r?V=p?|;4|{R9͟y\ex߽~R̓SovScBZѪ>0hqǂY:j}ziM>;豦u_[3/9W#):ښ}}p7kpu7w[0xX-+&V"tj.'^~K֐apҺk_o`]֍^%g gYyW޵4wC8Ӻ׻)c=n=η å֓}riprz{<\c=^b=uﹰ)zXoy/--%{-j{[{X%GXҒ#C= -Y=I5-=-=-=ف=yj{ paOYxsˢJVK{, 4c-sxo5| nxZ|% lYQY=xeCϺM=-[zFpnѣl>۲gGfϮz}%ewҞC=G÷JM˾! 81_s~(`%ygr(HPbC)-|Pz~(/W ʍ[.f \%np{*24PE7vq_~;ҧVp+z? -">Z'[,je̡eѿմP+zCWi6O5ߎ!ktߚ+&|L`UOS}bL\P1Q "f! w1pf }.!]x-d {WWlu,I[K,E3}ŭaqŽþŽ~6`f ;Y4$d1.`K VbAػvUTjJRUU&UYReªJzիP^MUnKөkU&Yi_*Y}UAͨjH3ySRK/U5ok~6[9̈́껚 UÚO46i>;m٪iL1WuR|R|RuM|J,R}&U+T_X#~CŗD'6!E>!MwqcqTߵwqq\psS ^zK%'~*^zY/ߚ:A# f蒄oץ ץrFu u]~_pYII-Ft?Rtc7wH=[w@kumQu*:SwVWuCݧ"5^o_W/y&Iy3i:V%s 8D2eOOU [;_Yp`e5 siՊXe)nAq)4'NT>gxƶۡL^^ǶQgL-%ŴPQ{?1,v_58.(r>gZVj%%ĒԉDv:IĒۛY~Z.Q4ZzzK͍q*'k|'ۧonFRƱ88BBBc#miF,K$J)<JXRK)PB rXXRoJ\꥔Rx߽8 =wN{ݹ~w?ϲltgz^R0Sw}>i}zP }Vߠoַ;I~NһeޗL~ɟl*Mq T:=W%-~{?Wב??L6%/޶?w;dU&B>& 'S~BL 9=jts^B#Q$;!*%B4Z?MxU[x [sw;򄷉~H/CT D8Lk'6w)R(X7''\~Om&IxX#zD12d| ʀ|TO O(':g(' y³|q>]{^TEU5Q*f1$8ąbA Twlk b&KtO',?#B3gBs*|F.*h N~|n)mQ"!$mЌs Sr-iZҾ!Fs%\Ou }4D:$-]FjZ6VM&M%L5YjuGӵk˴jmQۢmvi{a];AtJ;>.iW뺠ô};"}>QOgKD#z+}ަD}AOB6DK?7Z?y x;;#YxELɄ<=Gr}B}[Cty&RګEacw/tw0Ԯ{ ;:}BP_=`=_gl}]]] ]ї_O躾raV#s=h '"!4"np`#AHT;/Ez%t|"Njn¹E+sW_Hr+9/DV%r?%69I&#ȆD#"ۄ\",?62yWߛvܼ6Nd??_9b(oFDZ99"]H^2v>rͯF8?-?Ғom@^Nc_2syK6״o2eGT?|2sVi<|:~/w|.~ w4wůcO9{:=A)ou!i!ra(}ac40?4raQ({xáCcN24n4ԝpF<L|/4yaEsnە rr0Ø{S>rO?_PB9oL O%tI~~.mYx=Wbߕr]I[hhb<Nd4I)MiMM#MQmM49h4M6G o~$G7DۚF4E'/ѭ@(nZ݇D 6iZ=ִ.WMhϖYYMۣxIMF{ѫM84,$NҚNMgbMcYMbMWbMc%A!6X) GfboKssb@~l9](6?8>ĂbQψ- VĖ] V%rsp^lmb] 6f~ Fb;"$?93^ޜ9dsa|.撸yR\G+Ǜgx/cf_hl_(X~oGk=JpyJ*RL8je2_iT|JxTYdT ,UV(Y&R*6eGٯR*Ǖ5iҥt+kJI{>URJ R u]sLSΞ]NP'Sj*5\N5HS=NR RbuR]qX |/>ORIt;NCG4މБBT,ލ3{p&9Lt Dřh>D p&zDL~LS ljƙh D8(1C8}'8ѧp2#e8}'q2,NFgd 8p2Z.._*/_p2*dԉY8xKxA|[|[q2"NF_K_;K{:#B*(D_u_JW='3hg'Ǔ)LLE<%YYMsK018 f93h`v0bFŗyBf>Q]+hFpf fqN 1mbڔ(8<ݛSܪAF=c0y O],AYrklw6WpGYn>llLTwQ'Y&K&apMso sdw_v{G\~}OXn=jRbeRY힢sd{汞r+{[a]9R(K:-?)0u:JQ)"+k"B:^NQ.uZA8j#h"NG]֪zDV?|kM 4E[%rM]G,nRuRheԃ<#{Χ,ϦLqXظE]!S@PKs? %q3AAT&Sr>L|2ȳlZ|:h W(HBfAl26m!Na {_ZD0Q;ͭ[ptN5z4XߠgdF{o4V|%.o*e.s_>aڱo\n;QCĆ4ut{)t=B8 0P(E%\ T,kϭb5]5@(Z4fTk槣ݴe"P8Cd&(% 9Q'4~| <ED >Γt]zkw_ab+͏oL~OMN{8:Xܟ!0xo zp@*BwkFA:鷆J݊ `#7E$g<+kEާr aڍ+¸Q9PA;9Ƶv|*&! ߈yI;9ߚ2*KpcHI&%1Fئ엉6c˕>74法0g/rra7a_I;֪JZ8?WRJSy<p1Vz@~A9Adˑeob<'뤣\zƙt |AQfy4GIbzAyA}AyAq:G1@#- z_Y'Kn\ g6 IcͦL>ircyy\8nĭO/__G8HEΥn#!71f/ߟJDl9\_%mLԇ>[կTѳ(UF^>TqfOAP9*!q?S)C2nʓɹrzRLʇН`c9ڕg̱kO=EzF9,'aRjoо6L6}jxwՙycu8F]!B.i F|Zm]0gZ0G|ϵڽl<<(ayX7ml=RY'Q̟1m7'7ne/a`O_׏ IK+{ 75 컒ײEfIcbVUy師i$⪊|Cy__bU+o&UE\ETE_rc^T&[Չ$38>0b ,$YN1#3rLa"~J=\o dմC'ӞD_=rcyd@{ y学>!dC=|p 7˼0%r>"5)dZ#eZ#e7Ƚ8:-NaÙi̳3ˈ+'C:i=t$NZ뜥{eF̱vҼ:isVmw|cΝ3F\dDΥ'Oqw Fsr{vŲs NW!cɌ4gɌ3H:̿] o Bj.PL(!L"&]3 B5aa># Q"R *Zf6; { G ' ]n뵤!M"2# لVM6öE$:dAHk{6I@i ӡ+%>&lQ3|⻠Mԅ;hb+,GR&3 ?mīC σ?=B'Kyܝ yx> qYzu|aqp.hg,? 98xp;7Sc:Ƨa5#LFIm`]h>&=L|M!~zmZ~u,p]Ͷ F! 4R<:?c{]2Zdq\h6?4\ǭ?e{[-m%R2_Qk-!w[;m~Ro_Z%s+dݶ7G/B# +xSt² wQ^/ 碖;̭\r/}wpw vIҨƚ$)x4\ok'kK%#|d{J%ĭONx!kݗy[>| U{oH78ˉ^SNEzV+F-h~JjwIړ$= {%(ً"β-َ4ۡ[-uJP"@ld,IrxJz.-ܝBlgVda[Gy6Q%^YW1Jkanȩx?Km"65&:^q5:iWXM  )~-ϲ>\M^e!h0ˢ~%/+p[ Оm(DI!J B~qE/ Kߗ]ע$=cRB9 &x/K#f/)~ uȯc9r)㱧-O=08pq wY!g<ޒ%4^8F؋@f`Nm, ~8oG۾M7)WEpoÙ%| ݈\)anBd[S-룰uԝ _Ao!c8JQE)[y mp]ILy x{ s)qT g9UHY-Cd%&neSjNC9h䜇[F#'9@DgKWZuC#s- _yӳ|W.Y<{=gv|мp!L=^ƈI8/A[X}ţddn}Ye) 9-VaG#xow5縅rG_*!ag$GhDp-9M삅g$ڽ[$3fV73,Io IK1/̟qN{ķCz1>FR&Z(?b;6s\yI05.IedGQ/y0w QIFo+Pޔ/O *qc.CsR9e&/O ^\+am%J*P2Y: uċgcМ w =Y{!{M<|6x52\'}aS>;հS ;հS ;jf}5..w{Sh{hmlOsyFo;gFaD3߅축!ޙoG)hމfK;l0΀˵35@w`%:Ǧ6 c#2{r\K#m0QSQ=opۓ% }+{1^4z^[%{B{ d~kxf:"xW:ubNQ629o:YU!8?g>Ggv<9K_b}P MOP9) 4l"9Xg&Rj}y( ۡ?o֭<p&,#̥\~޽ ?œm3taYbM!wQS`8>z3|bkl?" ziE:Jۗobn䫼s]'7/aq(ݔu/sۏ!x'>n)[NO»wsKKc/4+=B ,\IpC rԋWm* Tcৱ v}9s8*]x8FhַE!G ?` Z~m$a"ZG=XaǎqZ=,6_;̊"k]}a`ADDDDDFX,$,*"bBdIk@P̈ T@$͝ί~~߳>ӧNpTWp~FdZ]"TMT,T/JYoUoW8x|^wrB;DWR>+'E-$pΝ9Ax sZx.us?.k}]{<{}#Kkھ6KZ x! ]sw<Jq*T.չKu?QfȽz(#Z#8ψ]&%&kƛ><e f$pI9{h>Z(䂴 DOގ9ڿ1ȲD/PoF>+6^>۱#~2'R;8A,S?Nj͹K |Z;69{(}Ք H5iI=8H6%$W=!k h pY|&ZvevmRQ&3rϋl-k¢(UJݧio9.AqN;XrHy9{ {Eh;]ĹWœ=L&|M4n@o{'< N'?&Bi|?j9{7Y y$![ޜ6sKg}ezЮA9SOb=H& 2Afsh|r.9RknY}z-7glFꔖbeEXiWWbP{ qBr#+Evsr>-}?4Bv%.9㽨^!'twdiڛ\d(;9wDR: &Z_Յn3˴ery//sQa&xo߁9;f$6<8 ގ+=Sr/<9h0%8}O7;i[ؗZshM.nfBgOgsw-GˬfyQN gOom y==@9:Nsw\@KNNIƠKM<N;dD݉Ӆ޷"?׿n56Ʉȓ}(/ԏ.ϖ2i>9{y䤯s^>E:R + gLI|eʩƹSs(B^gi<C'ǐ+Dw}]uV%cpykǂ; ߔW ol dJC;b9xCsZ>c=M (2vocĄj>E䯐sѶfB}ֳ'h= MJ/P+|D9;uphV؏alKsB^y%<&l3\$?[>#2I(ʳ{E a]G#dFz1g+DԹYzL"yYOy wO:3\_?xrckH$`y$gYG;2Cp /<ٿS4Ay%{ =;l&(݊>עf}F6e4Fu4 Rx>B(YoE.HX>GW"f>|6_َ>yRVsY8ngy7B%K9.9|tOh@%ԓWL$Q^F C`6? aghhh)4.x.&Byy+,}kl; _@śŸ ܗwEύW/n읽p1xCm;Dv )|4";Ʉ+dYf|ee};ȯPZ+ bȊsdS oEYFOLGSumiWfP”~ <6 wd̯ ga1Y2O-,qD=z x(OhbXa@}E$ޘDo_7޸|+xy+7/ cGl߲ }o'(Vٻai0|NR9aI& 4jGs0e4oì< 6z*_Y3>Zkqyւ>X#vܷ5}ʣE_2h88. ="D FOڻI PN9j]̖R F ;N CT/X)yXM2G'?!1Tnm,.ӐE?0'g8l=nw701JB~ZVfuX{y ~]F-g}[L[3TV|I&O~ wDa s\i7|F_a쓛3&%6!5w ڳ}-IxJ-bOU'Io4h{;~(ԋMzBw?|EwHh%B]E§ x)%aՏHZ蜓ۖ%$ kaGE%F.IgIK*Sȷg"c=9BwԲCZBoԛWz%_ƛ^^l;{3xDD΀ r+_|:w$(ZPD]G(-DlTgG_Ζΐ6r|p+縓,6?;5Y?U l+vta!Yp PC #F;Dd7kϒbbmӚcBƝ9#ߐ";Z}&OMRp+OhEݍ- ?Š yeL~X oC;>eg PZ7i {<]sR݂r19yQd/U`3Gk)B,|^qlZD ,@+aͰ!? YF{Rat_ jf'OlC!p<էldY4 wGqB7hTlnE}m1~5e,C>Ed?,rQofGdhD}P8 oVhE3p2dz7b~:t!ؓWUd蟐? R3. װY 6 }iGtHVE^ UM$4BBV _gbd3-Yz^z"_vLEE]̠{maEQ2a=LSh_#*t^䂐DfQ6ǏǪg!dx*zH`;|9DWŊE9m zf'{F=DZTNX ;N\>a ug#{~Ϣ;r{:!Gbs+}k#@~q`4 pAz7{=B32pǿ 5!_= 9|8܋}4%aaȘ֏6x%(bdms?Dm {[}ќ@6$f3 *SwްuB>4i=2uI6!'#G8އf2 Q &OaIbc]juEsȥ_h=x>&Zqr:$ȌwlH;S:F +%a; K!{+91ti2$½\?VWl{АVnnB^]w'dzFCԌK#Ȭ5lV(B奿AZG:CokhUS,MjZɥHjE35z!;߂Eڜ^x̬ǨQ/%%//z_k# (@m0m#{.@T! 2Cd$Ϋ YszCݹY`O}|3̖D{WŪEYe zF>{d'5R?a#r;O'yԎo5ޤq@~Xcqo.w baIa3ӑ%wgo)̝xA爛nWK8JWy5Ҕ[, ~],Erd|7]^}{%FOx?IQLFd۩Arޤ3s[MӖycٍO?٩܃V[a9Ad'M#oh [^<Ԃ}(='z*Uhn@ wߌÔ9Yuz仸D!w))4/ 6.oq&/q>ZS|[F:soZRfO?+3w"h(cj'Ȋ6r(6P:7.]. }dfr^̽Hl/lUl#DVbOZUPdwxЯmf5.q75UK)+^W#p 8f7?I 2_i&9J^N̋pZED][Fy9id#*:0&LbbD]Պ'CA)O>k=|%e&uZ"5gbw1{Np:,+:~J;rڬ%Ƽu-1b%w&~@iEi-%*Q7NIi6w^ا7$PHe Mbq>Kۻ DKd'B|@Kk2mV/ڼNǎL&~ -ia^t8 %53:粌 aՙ dZLa 0qZ#>c(uW!eݝ""{'=+%vǕh,7F3"nh&~ӣuocՊ%5WL2K:de{ jΓiJѬ;ڸL4qc-Ev۞(l,n{|'#1i҆}J>u=H56@N(z#['^#vOm.Ì=Ә{ Y -Bo=D"V4^K}!8Z2y-6,GPڂ%MJmsQ1/BkOKll >(c$P7E93=OɓD gSb/색$Qz/eR%o92)՚7a83ZD5hZWMN#ig">e$/0JwQwOЪi9/_˲{㼉_d#ž|sQ,J%oCf`ek =>H>3{ZdϿdz}Bw@_Ε}6 >lcWn/,'YN}bEE;Vo9m3XaxA|g2KX"<@^ @m}=ukvZo&\HԵ|8O5ʂ0 ZCJ<,&̲|$h"m׵,wT܉~E`!~,ƹwc<?;uױ^ԭC]_ X^wgȿ(+>y+vfv0&zeocɽg.1>?9%&.3"^c2#a_8.ii9OC{ 6 cU;u*X7^,e${dKۺ3];{ex`Aݰ{|<-wلU4ou.~ -K/C΢k:(>vXJӰԌ#oѹeiUH@WT~UCWMԍMIWL5JMPSLWT U^P5UTTTwujFJLݤnU=T/.Pl5Zv:U:vkiկK[J)o.e3~EUPV׫VVOjƪ!GdUZ]gQZݦU**ªjno;IT}l뫩#85EM;cvSyTYulzYW{T{5DTՃjzD-P OSL8.+#Kp? Bσ2TXVM`[ƀ?ypp!p&̂ R>oXto-߀x{{g^d ,kd I&%l ;Za~` o48΅2rȰ:>SpvGx^qa 0_"$, ԂM`+v}U;Ȁ#8 ΁ ,*[v˺p '9za̅I4X̲~4:l>|dV=žc`8Svcs|.('C枂OmWwq'}ͥI:̕U$;?AjRlI*a?L͌hvGƍ.̪a,OYzN] %ݱ ߓ vo*o,ogE_5+qsT??ĺvc}]OW$Siu91Lgs;$[fu6#=ǵ%u \wz:Mdׯ/)m=8\ r]ouG~wؔQCŜ]'Ͼ:WO{]_\r/uJ#W_zRgr]tud+u=wvV׮^6Y)B6sT%~6Hle]enUFʱ{Yu׵szW_yu6> Tk7u\[~uVh-犊*?:׬7p6;giH; U?gLr8 }_k?O:.E~<da&YMrNYr__63 Yfݩ%\Z]_m( ꪺu^mRStQEWQZ5mQ!{갺ٞ$پ,VnJVGSk mƭeYXCi7ն&?SZgA{])aqګ)aiK1blXQi:~${])G{1,dKTZ%(1ʿ)Iummy2'ΡŘ#OuWSejS) ӜNO R3;׳3ۙ;jwΫǜe@G-t7P7E-v[H=^^r/neZr;'HVoqMw;INs wz].P;b]~޵d]OSqRR9n S9u!?ÝDOv:|q:?%f'5awlS)G{6;ywL[Q'?? 0th|f!f.`: 7uA3Ҍԅh3Z68]L0tQ3L3E_kffKf.efٺ2YYeVfY˙f.o֙uyռ+k:y]W2f]l5[uww]ռcNSW7u H4Ot-L6uu~_3_t}s asX74G5GucsMqs\75?u3sҜכnn~6?sF09}[梾\6u+mukcrt9BO caL ,/ =að7l6VMæD4CDs4"CD3}hCDCD "]S4fkh~>D>D|>D4"ZHa""D;VAL)2ed:w RAH-)jܿHA$A$A$A$A$A$A$AH5"5Dj:rq RASW;4pi ALeD "Զk-gq)OwOx3˻'|0‡uoA/?O ?/ ʯofE?f?ϛ<DLI|LE"y"$&'?÷ ,DS*ŔJRB)RJ+efpEqW ;cA687Ny'{sl_ް(yrD8U)J_)T )a׾Q(~HŭhXͥn"cRCI %F!LgY|u|=7M|3·mCQ3 8ܞA F9| ~g^_/ |lgggq !s8<>ξ좠+=s@N8څٵS_`H2&ckd,y8&~|<@ށV=|@>$O&ST2|Bɧ>' 2|Af"sd.G-|OXJdYIV9֐dYO6d-d+Fd'Od7C>|Ar&GQrs"r#\$er\%uF7-rB'!y՘V5kڲv=cXG::.+Kb,4֍ug=X:zެ{ef~vdaveqvdiveyv]d.+\gW5v`7-vg!{ar9W]\pݼo<'<(>w| E|1/wn?}|??C0?cRMn]٭Q*?+rH9Q*ǔ rJ9Q*rI\Q*ה rKQ*_oHͭfh!bEKJmD[Nq(E' EgEtI"YT&H=E/[/@ ?L1P ŋbxI,P&^1R!&ƊbxS%(CXL1ULlL|.bBŗ+1G|-y[^,9bX&bX%V_k:^l&Yl[6];ŏbI{^'8$#8&8%N38'΋ ⢸$.+⪸&⦸%n_qW7@rHUR&uibX(P81ҎoFA ؇=|DT|Cu㘍KKPkCMbDZy6n8ш7: Fbt5d#H5ҌnFwn4z> FvkZ{qjg}M2<<7 8\4Jc+JĘQbu󳱹 :RFAW -GҖ-)4TiwFi:B{>$fЗH͢ztJ:oL2 bCɫlNƲ52"x6w?f0ǟ |30fr^|+`zdF`m򙲃\Ph~qZ\tArha׻iǮgk Z5۵u\\;i=.uuvvt]\g]i 4M0!B0BĈ{H4+dKWr ]#t̒Yt&M]4Yc9V[MMv9QN;$9ST̖t!gӟ<9s7q7Ylz@JKizL[-!JoCIO?W$Y 3250']i7gͷO$`12l|.p(rX: ɞSVS]QpΆ!)QG#$jZN-VP+ z5T SjFUhZ]AL=H=J=IO =KH/)\Q/_}G:TQ7(8c67IaH TJD`HPXFjBI=R)$A$XbgHyH*$?R^2d|dya CsBR "(-Jb8c8xvK`{-I{ޤΚ)MA JB~NqMRNH%hǓHoHe&t=@BVSlȬSg{dDl3" Ha!,xcHV؄5ؚ '"Bۮ$Rۥ%vILriW$^X/Bbz _/'!%C6Rv| !>%moN&!KpIx$yE= R>8)]tJiu4"5H&I&ΰ >y"~12m=~ $kR˰,kJ #5՛t:n#h3MZ+1u]=~HRk [G1)c1'EI(ֺOY$w:FjO]?H=.tZy]O ^wRpd>g(!~HA?r$!7! ~@?dʅ~(!?CyC?~>;V|L]<=F5@Ci4Cpɴ'KAҷ{t&C n;C9zޢBp1aYQVU#h 2b-iUi4.ʮ:$Ze22B ϖi4e7Ze:m7U[fXBTU N-bKO  5W@ADQqU[qBEm ў?=iy *A1fAK#xj%y26CJ# Owuy .h}{k`U#ƐM OA>6| md5?aoȿS1$ 4Ae>E}m6m68-ZnZnmYDK %RxiD "^/WHF9/- (WUq"}ojgtKSvz"Wu(e.β.>ʮ$el2E6%#rll2]D[C!;$Sl XJCAvCQv%`[dO[rPvHhOdxiDisβmEm[QV-'۶5l[ʚe-ۊmEiti^2ndk6vm'ۣ';Oƣ;hh.hh$}2ڞEW%O|n@BSKa>Qb^#PugzZ"G0\}_aY0a 2RFɪ2ZVe YS֒eYW֓eP6eT6e +[Vl#vdGڎюmO{hӀdG6'|ZT-WjIOO]O=A=e$d,Ȯ2I&"Se&2]Ni3Yv^@Rw뚮nꖧjl5ZͬV ` ^W }~~P?֏GCb7J2F9QɨlxPaD͍Fhe6mvF?14Ƌ%e#jb 3^5#(c1xknaZ[mVm%YV ح<ԓ`7{T"mS`=Yo2Y&†$gGXC$ D}|_@#rHkk5+GXُ0҄cv$􊤗&96Gŀmmdrs~##d9h s:2̕0:\cҦ=hDӍ8A !P <5oEnP- PnB6A^}^u &8Cn;G ОӃ̅̍̃C{E{C{=ОўОns5SWoA?i'šKR k.wͥ=ul~`O|Gx?Gjkl?5?ϞT=WYx+X[]elo1"zB;,;7gXIV7Vj?u:T[V/aXKV5eZoXo[ӭ/9\kZnY-vkgYGc u:g].YWk uǺgݷX<ԣx=x x yxy==aO'S5y"xbO[m=]ge/h̵rړjpVu~2"[%Foea, bY+֞ud ,/AD}6CW;%G WFb/-{]Yd.vs*>ϋ)y?3sG}c藰O]{^UC!?dP^5zpz2u;P>#f1\P,P66 <~d>fW +,%XI(beuP*B ~ d6SNl*!2sD ^b0!-VOorou3՗uxu<'E =c*dC u/t/$ܽk5 ԒNeV*pBO!aFS+IvP#}m|"G(|"G(|"G(2d%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y EVBPd%Y=yWP ZRpwD.w11`# ΁U!R+ZT7ɥUtQdTnmԚŸ}08NbI2@2L7Rkz:w#.X6&-9F#PxG9%.;sIWü擫*\`LNqvmB% B̌Bry-{RdR[^k?c@Fu3蟔Gz۹_߷M&3O-x!aްP7*4,x#,z/\ ?W6iyGO#LUG@-A)|dsOڏ貯Nn۩~U{ o@-qއA7{N})ry`>a)]f8.pyŽ\5 [si˝ 9oِGwC:e?vb%bN˰쭧Koȣ n@Rm񠀙33:5LrԆ_)_7sKmSE.v% F_:8GP7 zE,yIB5/zwEHskñ)d[7]}E _w(466n]L}S籝*d +^ܷFOh[20UUP466zec;0xAZ̙^?zK+W{|J. ]Kأo W_Z$jGNdn}ώ\81h聣>$ֵZhR `ʲ/O5|vԈrcrwsw*NJ.׿S}UWkމ{h"_Ǭ*T*[7EܯSUlqwVߥ_]/ݏ^zh{;V|0=eobVˆ_NϮ{kaf=6t=)ڀONF͘WʑmY3{y;و}4U..{6ngOG76,Jz}SӊI)GZ%44,,ϑUy>?Ȝ_ӹy 7Z<+)צVCv&֌VcٵfEjy9ܿ/4v~kf_ڳwCv)6)ayyUǎOXS譱~}Ѧ9U+Z*w2^|OuK"sZx~^fuGLڳӮg;Ѷ ݻV>u:=Gw{ëyN_>h])ۚyf>=UK,~]N5\gev>gn4b3Db7uI^{*;S,ӽteu:Uz96u>%)l-n z=ިJ s>7'v VRPS2ӊ ?=s:3 `a!!UB:M?< xSWԵx:jӻf[\YKPE=8s7uǜMߚ|H~J:p/7߈)y_8VLJ@z^콃\(:Peޚ0=@'?ՙgX'!t@h"I`Ji)J"B` H[%Rń" XWШ.EDAtUv{fygޙ9ez<>6bPw#`'A_Y6MD'Su8b\8*ݏAz2Aso1nxE"yLNvQ|V$n}1+[`q V cXu.I`%c)04?MJk|Fa{Cin; QWu#M_/x; U`䦏SJ݂XQ#;֟Yf&#A쮿ϲb(fb:M"0Fg+q)ELT~f\HkN#ޏHT|qHh _s qYxZu;b9aQ!>Q,2u#9ls?^!-:n<0뗳ñZո9;%ۛ Dq ^Ib#3b%k04N7S/7}l4v"ϣ f%i"e#d%߆IL\rnCJEVsӯd88aqZlNHEBV}3/1 +6A'/['~K~ڠ"mZ2dJmD+Tg.?i9ܔn#o]*l., e8ؓS6^*'Lܸ͝knݦpʱ/ƱzyeN]e})?ؕv*cԕcaS{ 9|ajńlw=\l+MJ*ޅ#Q9K LIWN ɐAZ#JTh[泝* +7!rW~u֊;zӛJ_<cI}9V :tːwM2kx f9;aƞFD֏shİM ve$<]}"'W {90\Mݑlp%v^fS\s eBo%_ѫ1p "TNC9~KهSR{3f͟/Bǎ(H@›]6S5w9܌"X! +B +~\ɷ&2%q-]]l(j |xQppZ2FgwlS<VMo=‡He  Sd{Y:; 2XC@;QO? T#A59D;+}hFSOXD8pG7i/1#>fNԨ% PCn|`ިQ<][TJ;a֠ f{Sm\CIsW5LGt&Vthzjzq^[z c\dRhSb>F\A6܇t)$LyO4>$C\W% H 2iDc2R yQEj+$2H*|F(T|Gb&b%mgzv]66J{6(R%xoʭbZ01om1K?zM+w{hF(? 9J'>iAG6Yt _,G[z6;g;@؜7hxń •.'R n /n#,nT~5ך}ctY6|oxƺH3%-)Zg|lVP ;є"ISxT7."g ߽ilxsKDs&3$ NOɘ[+zt 핆fF# lV n endstream endobj 478 0 obj <] /Filter/FlateDecode/Length 1101>> stream x5{|u{,66JIt6"IeiBXnd.]M{+EI,&$62MݤœmoSw)06&qPe4a7FEFB [2e? GVsM'o3R'm =FGY^FFcH1n1( 3J1G]RjG"h`!c}#U`u?èacǒ}iF 7T(H3PXPa,MnJ7sw3 <-\"bwW[n˽pw}00 !x3r~a:L(<c0)$<OS0 RXâ{Ϟ<<sx% exBX`«,/#ކ2}VJxށ`5k`>sF M[V+v7]=Pհpjp~v ~?O p ?8~NBϹ]ZкºRQMQQQJHHMQJTQX[-%)b*)')*(B+*T.b**b**)b**2(2(**WQ))))))))mJ)ED)EEEEZELEEEEEEEEE>EEE-\ZȠȧȧȧȧȧȧ(hȧHȧh\0((E3]e\zƚcmO'i]`?FxOl7[N]" endstream endobj xref 0 479 0000000088 65535 f 0000000017 00000 n 0000000125 00000 n 0000000322 00000 n 0000000642 00000 n 0000005171 00000 n 0000005345 00000 n 0000005590 00000 n 0000005643 00000 n 0000005812 00000 n 0000006052 00000 n 0000006218 00000 n 0000006448 00000 n 0000006609 00000 n 0000006834 00000 n 0000006995 00000 n 0000007128 00000 n 0000007158 00000 n 0000007319 00000 n 0000007393 00000 n 0000007634 00000 n 0000007812 00000 n 0000008062 00000 n 0000008334 00000 n 0000013277 00000 n 0000013569 00000 n 0000019164 00000 n 0000019346 00000 n 0000019600 00000 n 0000019872 00000 n 0000025175 00000 n 0000025438 00000 n 0000031114 00000 n 0000031386 00000 n 0000036357 00000 n 0000036609 00000 n 0000039588 00000 n 0000039850 00000 n 0000043524 00000 n 0000043766 00000 n 0000045320 00000 n 0000045572 00000 n 0000048872 00000 n 0000049165 00000 n 0000049552 00000 n 0000057832 00000 n 0000057886 00000 n 0000058179 00000 n 0000059306 00000 n 0000063517 00000 n 0000070710 00000 n 0000092738 00000 n 0000093031 00000 n 0000093405 00000 n 0000097292 00000 n 0000104553 00000 n 0000137287 00000 n 0000137580 00000 n 0000137968 00000 n 0000141538 00000 n 0000147777 00000 n 0000172737 00000 n 0000173030 00000 n 0000173413 00000 n 0000177662 00000 n 0000183704 00000 n 0000189462 00000 n 0000209069 00000 n 0000209351 00000 n 0000213371 00000 n 0000213509 00000 n 0000213539 00000 n 0000213705 00000 n 0000213779 00000 n 0000214025 00000 n 0000214323 00000 n 0000216298 00000 n 0000256564 00000 n 0000256836 00000 n 0000261309 00000 n 0000261587 00000 n 0000263539 00000 n 0000314976 00000 n 0000315238 00000 n 0000319182 00000 n 0000319450 00000 n 0000319863 00000 n 0000340095 00000 n 0000000089 65535 f 0000000090 65535 f 0000000091 65535 f 0000000092 65535 f 0000000093 65535 f 0000000094 65535 f 0000000095 65535 f 0000000096 65535 f 0000000097 65535 f 0000000098 65535 f 0000000099 65535 f 0000000100 65535 f 0000000101 65535 f 0000000102 65535 f 0000000103 65535 f 0000000104 65535 f 0000000105 65535 f 0000000106 65535 f 0000000107 65535 f 0000000108 65535 f 0000000109 65535 f 0000000110 65535 f 0000000111 65535 f 0000000112 65535 f 0000000113 65535 f 0000000114 65535 f 0000000115 65535 f 0000000116 65535 f 0000000117 65535 f 0000000118 65535 f 0000000119 65535 f 0000000120 65535 f 0000000121 65535 f 0000000122 65535 f 0000000123 65535 f 0000000124 65535 f 0000000125 65535 f 0000000126 65535 f 0000000127 65535 f 0000000128 65535 f 0000000129 65535 f 0000000130 65535 f 0000000131 65535 f 0000000132 65535 f 0000000133 65535 f 0000000134 65535 f 0000000135 65535 f 0000000136 65535 f 0000000137 65535 f 0000000138 65535 f 0000000139 65535 f 0000000140 65535 f 0000000141 65535 f 0000000142 65535 f 0000000143 65535 f 0000000144 65535 f 0000000145 65535 f 0000000146 65535 f 0000000147 65535 f 0000000148 65535 f 0000000149 65535 f 0000000150 65535 f 0000000151 65535 f 0000000152 65535 f 0000000153 65535 f 0000000154 65535 f 0000000155 65535 f 0000000156 65535 f 0000000157 65535 f 0000000158 65535 f 0000000159 65535 f 0000000160 65535 f 0000000161 65535 f 0000000162 65535 f 0000000163 65535 f 0000000164 65535 f 0000000165 65535 f 0000000166 65535 f 0000000167 65535 f 0000000168 65535 f 0000000169 65535 f 0000000170 65535 f 0000000171 65535 f 0000000172 65535 f 0000000173 65535 f 0000000174 65535 f 0000000175 65535 f 0000000176 65535 f 0000000177 65535 f 0000000178 65535 f 0000000179 65535 f 0000000180 65535 f 0000000181 65535 f 0000000182 65535 f 0000000183 65535 f 0000000184 65535 f 0000000185 65535 f 0000000186 65535 f 0000000187 65535 f 0000000188 65535 f 0000000189 65535 f 0000000190 65535 f 0000000191 65535 f 0000000192 65535 f 0000000193 65535 f 0000000194 65535 f 0000000195 65535 f 0000000196 65535 f 0000000197 65535 f 0000000198 65535 f 0000000199 65535 f 0000000200 65535 f 0000000201 65535 f 0000000202 65535 f 0000000203 65535 f 0000000204 65535 f 0000000205 65535 f 0000000206 65535 f 0000000207 65535 f 0000000208 65535 f 0000000209 65535 f 0000000210 65535 f 0000000211 65535 f 0000000212 65535 f 0000000213 65535 f 0000000214 65535 f 0000000215 65535 f 0000000216 65535 f 0000000217 65535 f 0000000218 65535 f 0000000219 65535 f 0000000220 65535 f 0000000221 65535 f 0000000222 65535 f 0000000223 65535 f 0000000224 65535 f 0000000225 65535 f 0000000226 65535 f 0000000227 65535 f 0000000228 65535 f 0000000229 65535 f 0000000230 65535 f 0000000231 65535 f 0000000232 65535 f 0000000233 65535 f 0000000234 65535 f 0000000235 65535 f 0000000236 65535 f 0000000237 65535 f 0000000238 65535 f 0000000239 65535 f 0000000240 65535 f 0000000241 65535 f 0000000242 65535 f 0000000243 65535 f 0000000244 65535 f 0000000245 65535 f 0000000246 65535 f 0000000247 65535 f 0000000248 65535 f 0000000249 65535 f 0000000250 65535 f 0000000251 65535 f 0000000252 65535 f 0000000253 65535 f 0000000254 65535 f 0000000255 65535 f 0000000256 65535 f 0000000257 65535 f 0000000258 65535 f 0000000259 65535 f 0000000260 65535 f 0000000261 65535 f 0000000262 65535 f 0000000263 65535 f 0000000264 65535 f 0000000265 65535 f 0000000266 65535 f 0000000267 65535 f 0000000268 65535 f 0000000269 65535 f 0000000270 65535 f 0000000271 65535 f 0000000272 65535 f 0000000273 65535 f 0000000274 65535 f 0000000275 65535 f 0000000276 65535 f 0000000277 65535 f 0000000278 65535 f 0000000279 65535 f 0000000280 65535 f 0000000281 65535 f 0000000282 65535 f 0000000283 65535 f 0000000284 65535 f 0000000285 65535 f 0000000286 65535 f 0000000287 65535 f 0000000288 65535 f 0000000289 65535 f 0000000290 65535 f 0000000291 65535 f 0000000292 65535 f 0000000293 65535 f 0000000294 65535 f 0000000295 65535 f 0000000296 65535 f 0000000297 65535 f 0000000298 65535 f 0000000299 65535 f 0000000300 65535 f 0000000301 65535 f 0000000302 65535 f 0000000303 65535 f 0000000304 65535 f 0000000305 65535 f 0000000306 65535 f 0000000307 65535 f 0000000308 65535 f 0000000309 65535 f 0000000310 65535 f 0000000311 65535 f 0000000312 65535 f 0000000313 65535 f 0000000314 65535 f 0000000315 65535 f 0000000316 65535 f 0000000317 65535 f 0000000318 65535 f 0000000319 65535 f 0000000320 65535 f 0000000321 65535 f 0000000322 65535 f 0000000323 65535 f 0000000324 65535 f 0000000325 65535 f 0000000326 65535 f 0000000327 65535 f 0000000328 65535 f 0000000329 65535 f 0000000330 65535 f 0000000331 65535 f 0000000332 65535 f 0000000333 65535 f 0000000334 65535 f 0000000335 65535 f 0000000336 65535 f 0000000337 65535 f 0000000338 65535 f 0000000339 65535 f 0000000340 65535 f 0000000341 65535 f 0000000342 65535 f 0000000343 65535 f 0000000344 65535 f 0000000345 65535 f 0000000346 65535 f 0000000347 65535 f 0000000348 65535 f 0000000349 65535 f 0000000350 65535 f 0000000351 65535 f 0000000352 65535 f 0000000353 65535 f 0000000354 65535 f 0000000355 65535 f 0000000356 65535 f 0000000357 65535 f 0000000358 65535 f 0000000359 65535 f 0000000360 65535 f 0000000361 65535 f 0000000362 65535 f 0000000363 65535 f 0000000364 65535 f 0000000365 65535 f 0000000366 65535 f 0000000367 65535 f 0000000368 65535 f 0000000369 65535 f 0000000370 65535 f 0000000371 65535 f 0000000372 65535 f 0000000373 65535 f 0000000374 65535 f 0000000375 65535 f 0000000376 65535 f 0000000377 65535 f 0000000378 65535 f 0000000379 65535 f 0000000380 65535 f 0000000381 65535 f 0000000382 65535 f 0000000383 65535 f 0000000384 65535 f 0000000385 65535 f 0000000386 65535 f 0000000387 65535 f 0000000388 65535 f 0000000389 65535 f 0000000390 65535 f 0000000391 65535 f 0000000392 65535 f 0000000393 65535 f 0000000394 65535 f 0000000395 65535 f 0000000396 65535 f 0000000397 65535 f 0000000398 65535 f 0000000399 65535 f 0000000400 65535 f 0000000401 65535 f 0000000402 65535 f 0000000403 65535 f 0000000404 65535 f 0000000405 65535 f 0000000406 65535 f 0000000407 65535 f 0000000408 65535 f 0000000409 65535 f 0000000410 65535 f 0000000411 65535 f 0000000412 65535 f 0000000413 65535 f 0000000414 65535 f 0000000415 65535 f 0000000416 65535 f 0000000417 65535 f 0000000418 65535 f 0000000419 65535 f 0000000420 65535 f 0000000421 65535 f 0000000422 65535 f 0000000423 65535 f 0000000424 65535 f 0000000425 65535 f 0000000426 65535 f 0000000427 65535 f 0000000428 65535 f 0000000429 65535 f 0000000430 65535 f 0000000431 65535 f 0000000432 65535 f 0000000433 65535 f 0000000434 65535 f 0000000435 65535 f 0000000436 65535 f 0000000437 65535 f 0000000438 65535 f 0000000439 65535 f 0000000440 65535 f 0000000441 65535 f 0000000442 65535 f 0000000443 65535 f 0000000444 65535 f 0000000445 65535 f 0000000446 65535 f 0000000447 65535 f 0000000448 65535 f 0000000449 65535 f 0000000450 65535 f 0000000451 65535 f 0000000452 65535 f 0000000453 65535 f 0000000454 65535 f 0000000455 65535 f 0000000456 65535 f 0000000457 65535 f 0000000458 65535 f 0000000459 65535 f 0000000460 65535 f 0000000461 65535 f 0000000462 65535 f 0000000463 65535 f 0000000000 65535 f 0000345244 00000 n 0000345698 00000 n 0000440386 00000 n 0000441063 00000 n 0000441417 00000 n 0000442011 00000 n 0000539913 00000 n 0000540647 00000 n 0000541013 00000 n 0000541041 00000 n 0000541069 00000 n 0000541323 00000 n 0000621788 00000 n 0000622032 00000 n 0000702695 00000 n trailer <] >> startxref 704000 %%EOF xref 0 0 trailer <] /Prev 704000/XRefStm 702695>> startxref 713740 %%EOFwl2k-go-0.9.0/docs/ardop/_ARDOP TNC Interface Spec.pdf000066400000000000000000016671621414214701500217210ustar00rootroot00000000000000%PDF-1.5 % 1 0 obj <>>> endobj 2 0 obj <> endobj 3 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 9 0 R] /MediaBox[ 0 0 612 792] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>> endobj 4 0 obj <> stream xZm۶L>m&-n/c\ÓTIwwAJg;KxīW߿x^Y|G)X_‡H@ؗJĢ|O^yW7Ӻ _b/ CpRy_UN@^"mMn@^ڲ_wƍYR&4TzO#O׭YPlG=B~pBC$ 8½Q0_;1 B٢KeTehDۃ˺u:E kSgSB$ta/bl \YJ^6ɽ77)I}D=c"21CqnK$TT?V`(j"7 Mu)NwBڊsa0e ÉlKN:V鈕Z̻XL- p&4%t.VM߮D@$wۈ; (7ST,dhOG2V ;Mm-@x2Cq)SOkePT7H&Uz"ˢV-<ӄӏ+ S}Ir6 ]oj?GW]ɸ>1`r8U׊M[AtQ)*~ed|< }!SfŶC{rK`/Kk0Ͻ%YsGʋc۞#hHtZzS#%S2x>ۅQd1_\C2h"KN۶3gTéګMzk0G(/6H/R<j'EЮE*R@ :!Uɒ+}WhSᆮ#p=nYrj!%T+Sx y@Hc,19KNƈ ׌Je:Q=Y, Y̒JeBkRWFC\UqdKϔ?p"U -kO%7%\%;SyحSkXOJ/Ll8zQ.%5tD)`Hwx|f‹*XAq*ao& U{'oC~v))c%K@ö uW`,T/< ̙␪1CqM3{AhϖtBeuNe)۹j܋l!f]k|`@2:CqY)C1(/xCǜP֫䳈rȍe&L'Lʱhq `;}Ҁ}bU?HO=/T5m Yl_{+*4v[{Dx$at2to Tjmm g۳SCp0LTya/8 *wۼ4eAeɄw|&dR.)='O纍*t*"A90 ٸ2m0KdWEWdYe7]o|RP'H֢HЄps;8Txajk<)|Q„/R>h]lIYGue x׾ncUJVツoM U?cDk#s ~{駑yo5q_ݞ˺{s&E[rZB%D2߻'ģ骡c9KVK1+79CÒ ForaU51]){ilkRR.샺 * &tWJ4ʖVz%lK-_c!<0`  pS@딹ʹT@d]]PYjq-J*N^wSij>ۅ+nr<֕8XZrr^O:gAp޻*AFڋ"{{*ԪkNFDg(r \XqZ){+NJ+tff] s*%؋5U3D^X9P]:hޭV-n B0E#mNerx`؃(֢&H5Z lH}7tXy4wm|UW/B‹ܦd4)֖)gtHMa{Ok A>bͲ7&rڢ*\͌FdUwLF2؄U`ŠDg~WνDvܓ^ãHkbZ|ݳך:~ѱGmmgGE"5 , (̱2ӡk"Haa ś˥R,Q ^9ib`o{<3#^P@gؼ *"R`{'bӭhǾ19}̃W@- !?%c ߾L^L# bb@ǽP8֥>MG#w19X5v۽!Hbm.W<* {Vl0}]l9n k P`l U`]}H qb@[SQȣi 8bf\r}gPn@u`%fM䩜>o Z⥽J||S|L@}{rMZt}_8XfL_ȶRx[ƟCwAHw+$,@%;g^ ~FAn9=~u]Up'plD軡bwl2("QK;_J0hS?8=渝9> endobj 6 0 obj <> endobj 7 0 obj <> endobj 8 0 obj <> endobj 9 0 obj <>/F 4/A<>/StructParent 2>> endobj 10 0 obj <> endobj 11 0 obj [ 12 0 R] endobj 12 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>/ExtGState<>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 16 0 R/Group<>/Tabs/S/StructParents 1>> endobj 16 0 obj <> stream xZmonaqDs˷"`;qk\DY(R!)3WJj?4-ܙg^Hvu޼t- &v<\^\݅aqyY9AȒ ּ^^Y?_^}G+K0ܻHxx_ƑWT~hxٻ18 wv4/"&Rq8b./ށ(X$zåݧ[:"_ \o9kQnڌ"c]\v?n3%{|6ĠGǦH(iu,:F+Z.I?UQjG!yYK|ނ[f9h( *cC\`@*PA,A<=`r(Vvpab]UB"89k0NF!e7aaʖlx 6ǕS;Iꇡͭ6EB@QͼZB5&/ @u5[Sa Fg,[$[ uMO:AKG(q hGwbu?3F$JG[b 1 'GN}Y&xy2HC+*yLr Zd\/6%olI)^$4&]vGCF P# %]}8pg쵦tU,(7kƍFSB Z$D)Y_[,#: #ƒukZTML+о'E~ dJbu=:㈥vAꜬ~dry1=Z wTlW&czwZU;p&աj޲զ$"И ljxop;zxYk[7.ԀTR+WuܴP؎zD(eboiq^ P9#E}O<-Ejj8hrO GRj`L%yk# EL|r %I|q& 426@ ءgM~yXuy! #!"Y 6?˜_~ endstream endobj 17 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <> endobj 20 0 obj <> endobj 21 0 obj <> endobj 22 0 obj [ 23 0 R] endobj 23 0 obj <> endobj 24 0 obj <> endobj 25 0 obj <> endobj 26 0 obj <> stream xY$G%ZÛEn(z4T A!|?RAףUn)5@1~ϡC`Ç޽{@hNtI(_)6.bUm*Fu2z6j[5HRmtݫ,w,k[ }=c"x QN˩-CQCû޺g~fW!*Z(ϩ,LիcŠ:Đ.dy\A"h(:tz6]b9769)Nj~jZEfQu:m;?tz.ܙCѡ3sT_t%"!9_ɞԫ 5<:u넘Ŗe'йP[6oHмWa'mte+ĴbSn]hc]ߧ^Ҷ\w]GbxQXm*:PmOJR!]p)SL5B>:_t))zl:.Pr2v -)lmz:Zߋg?ɏZȏW5"΂ĀbZ~LexVډàKvc,aS5"d7vlZYQmMjʊkkh5s*y U)u H \Y%v+7^vKEP$HِjkTwۮl`BvzRyU /j5U^Ec&,`w¹@C*r_:SgV[]lk:gg8A Ϗkc} YԻghUfC9pL  װgɯ|C*aGu8q"n}'/bCGZA xeyC`KxMdp7VL2l .,ssssg ,O dqtz-r2]:!#j ѾB "D6moc|}#z(G0s77Fi 3g4 'Bh ~iwV*|UHI8E%t4Grˡ_nst &Lގ/7XWkjd`$K:9s+ 7Nf>A1 ###lfOD -]"`7+R" vȎn| C`9vAa[ifdhpՃG`Jm(N W4*nT6f3!U.9;S00{4:9#0r)7&JeP1S&L =x?E=sC00-xkO9=fhɪ>$u8;]#˩YB \?X^˭ FcA(B,-__f@OEO{xC83&s_ T踊"4>͒?A}9>W~ۋ`K-ŕW\ۂ??$1}GmL&Amn=_^#lF\#Sƺ5tWgWGG:;p mdAA*2cpؼ2~zjrv1KvfFjmcsK a^hoimkimmimiڠ&P>zb;ꈫёΎ6ذڵk uTPSSSs3% g'`D4ā2Ӣqނ-SZ|/33“YZ"_=e&gaN?4B$44a0ʂs;\e'H⦵zl1TZC&@__'gpshr:2gψ.3WNܺ)*`%~ȞS؃3NC\ 0 ,vkKKs3Xf` >4575 t}a݆,U{snB`SpWv'V~Q+m.a-Gz;;[ ׯ64\zՆ P% *;v$_n@.8"8 ϵW._x>?… /tK.]|ՆkZ:{liVdfˋb(*;`=/8PapЅ˶@^3C5xP@vH쎻*nTӠCL5~10}Ll=j(Vs ,?,!?x:~ҴscTqNǶ6ckRfdNѽ׊}`c'z7_m">A%OQ n=|. <!çGjzdVH@@?T_l퟿9/N>nO L~1ҿaJI7a280KN; k Zk8=MqyOLv31 #!{ZlYF._r כZZ:v}׀u{3K0#vgY#\xpq(I}S3gΜ={ܹsJ#e[Ss{gwr=8 mACegW>3u(LE&$2hj#Cuwu;nNM8oFG/X-K W4 ݻ Yπ04?` <b]Jb#u?=aFݶ~|Et7OrroZQ)Ko/G@&<ЗA{w4h-M&~*)0m=}Qz qpphObnvnHTM&ەEJz1jvd'_@`:Fzty>W.p0ҟ?3+WBoimI!`*K::S:mJ(d W  Co/@ܟpYu3CpZZ .a\x*OD 9sY!0"(o` 곚_ ;5#' 0HeL/Q(^~n^1A 9dgn8D^ K!Ц 5 Lf\׮\ '<Dk!Q&1NMKΞ9Dc8)){bpOTN0\ PುŸіߠ"1XNcYZƎr1--Ʉd[Yz.^^d-QwploM(EbiNPkp8"D60@kk딓  ن82HKkgpbW ?#C=f }@mڌJ|Lp(ܟM-ͭoN PR Q vg!88dö==u';[ZZ;:@@C tu4]/QЧ@ҳ0GÊqa7+t 8.񋲿&jJ,`u! @h$?q;ƀ::舩>7DLCp@PE0W* nL:=0F ?LF0*y@[^]vuA ȱ" wh[i꘠+X??4"<_,bwHfenNIAP %.9sF B'gl\?Y@@C=kǴ&se4@2ch7BoFm21ojCg5``5{zAkLyhg%!,$@* nnPFA=Nbd s$0#{|0lhhԂ p"Pp&jGsoen(` \4)+{iIy@!85{d6 ~j5EImv(寗rG$ulAP`PЃ=^X t&~d) 7P4sH2[z`?a h#1Ju#-/9ۚ!1 HC &jB M8CIHA PF0OkqB?כJ Ta&kښ2G;:Nq:4cOg$r!)H ~ &}21ATF o2ĉa!>AzihkB.2,rdz\U<+^=] '9)F%ѝ ǏG }*:׈3`5)TTٶ-@enM1FBJxufĖGg~l\z?1\vp'MkyVM;n k ߣ4+x$̺U]5:6X>5&!bp}HLY9QY1x_yLf% E?e3 u1OP-4It18Y1?Jw3C"qvV&ݴV#~~n~(R r|!1T<E8B&y<5^6tݦ6 aE ۍ #!Lř0|Ց'<9*sœ[P[|C5x@A =-1FI_kS}2jx4yp~DTE༬{uF[W<2J iE;Fkx)nK͔K[6#l+m41v^KSQs|M sia v[Ѩ+ +]s19 "O2";eKCӃ#–b(̹;+jE}h  <֍: / Jy7%Jٲm]⎆-% qa$Cw~ V|Cн{ & /3:.vpPJhPa^Y<Կ#wau5 3+-+#M^떼Q +6c,"6 >nExne8C̈Ԕ B$±8 ܲ!vZŻfg,h8=v'zBf)Ed39jK[ d fZ6Nǟ1a%pLU{}Q|9{ w%NHP5a]B *uDA!Н;w){uՔ-A = oɱi.|t{K-&NTU='}2ex, I3hĦZ@ό7žku{{$#OH{xW I*8@e) IuǼE&sXKkPi%Me9-{IЖe\M|5#CWCcn)-1G a*YQR*rP3(gAPo5=PcWVkg8'=~!|<_]'DhR/#Ume'Z?7zH+ 7vDGܐkQM hn^f 9Ef>:Vh]d]\۾]W\d|J3G81|wݻJhOĻp8}K.",tll9 :{45<~&:w4/3+x=z aLg*ԪX6xjXꫯ$T@&#N9rt T5;_"*O$y Ϊeueʈ S2̿@_~-[./)7+ y4+D*?UPjU,wG_߱cJP, D &H>  n3&D$#xBeM B\F4w;{Dg3G *@1wtaB紞"s!%h;oDZbĕF1%$zCPP JJ;8,OY>1.b$)ux) PbG@zMΏ"%$s*өT1Bpk_ (AN!+20^Kn,bG@4oRPZ }%,&J;n|١%;V b U#j}YVH'RW/gZ ~UEL4(䉢i,9EK_֊?*fʆ\X3"+gώR7dzA╳lw OP JR 3 WNN 0+! (D@n %({(\RN $7MH-ݞ8 A-R"*~2dKF1F_'!ěUvP JKeҠJdh JR| :H聰 ?R*N TRTFBP) JR*GB!*/ .S@UPj; .7N*E@TPjZMBt*( J |HPD #! zAP:NJTJF>xu֍eP_RDZ]];ЖuP:ؗA})(=R'#!0WB{/|xLtbFuLeP_ JI X2/GUC@@}ԗK/yKUf\_͚ 4%*T eP_Jt BhQns{~%z@I%z <[G?Qe< 5}߹Fߵ\]TP5'q =McE$p-m|I@e8N٧adJ2ybhƊ[!JиEGZTgIr&)V*R'%7{k^*Y JI 7n   z676yM[.QZݠXVwWwWgWG{G{[[+ 뷿m "x@AAAAWnmo457^opjhii[TTYǧ*7֚7\r/\po|nQ ^H ʫpꥋg~zoEU @e:/y_yCpM]} 7+սGK|=VBet' asZC0⅋W\YZZ|BU*gT,> _>s =Z,(+7vw{{:;[]pqeuo9 7]P?2a ʩu`oOwG{{{[[gg#Gܢ$ߤ* yW/Tg_<:3q+^h|(,$@SԆ0d\ޗ\7ウܬqS:#kMU)"=U2 mWyi՜Oy,@BE?>L:JQ刯=<㾆 *ASnݝdFQԁ[TT2xh0R@XC1"q\OZYKDɨuh +&\Ԏg䍖Qpq_`:k $2U2OȸK}=^wxoK?u@wnߞfɩ[n+nQ,|H2GîP 2ݮ+d[?.SMykzu'ML(߼: @6Y|ތ:Ԫ!K}7 z{5koydn%{@{=b!/A+@)4;;7?[knQU +TwR4Qhn/2#^Z;}:}"/"I!sD]&:hEw"[RBpz=b!/Kx RSH<ť啕{ƛnQUP^K`NBzj/nN5cMV{F#\, bXAE Վ\DF/ޤl5; 򖣗qHQ*# #9{գr͛c4h賺~7X\nWx+<g|n %&}f#Uc]פÌk۵e˿1Qq<=n!v9ˌ= U}2p2ob*M<{8T)zwM<9/ @1!g`.@w |\P=*7wG&&gW76<|x14mtIcU0iF$#̚T+;jsw?ԎLn[$)H;r X~F^,kíXAM"=OM\EFMT JDyFBLNM -}P^GOBHZ ^*m{Ċ˙Klkz=.z.t1m7z{sf*YX!:;>#Ahp(qZLȨ)X𦣫g`hd|rjna1[P|K%DL.@{Z^=#HY+X֚3tX1}A?{Z,q4Ws@q=j$]2n3z6}V 9FL!g`zUV::2 +kk\W  >җw-qw {λ[`d-sw ϵqfZr+m$|DQgϣ#,@5yT$@5Kz ][j1Pi ŵ{A o D:;k _ٻH]3z5L)L@aT80;8<21,MJBiNrNӰmh3lmãH_31=cnϟԢg%ߥ,U rȢ =qz.ƚz夼w2N,)]Pj8ͭ2g<|HWKJWd%\stgvלj%Nz+ tѦM:<;ҠH= yαvAsyTYkZ0rcUBN^{`v6gK}Nm~\S[.’:(CEG^z^nK/1}b tkkHM=zsܟͭH=s$jƫ;POf@,j/.گţEe?M}Y Ǝ"ɛm o{to?]?)oWB < 4lРx^~o 0\KMha/$.*js=u@|B]Z^q @9 6JMB4QbX7yϻ-6qQdY0Xum,0Vmk<EѼZhe#Dqm NՒPâ!N?,ir(L*)yB]+(XOW'4)/SޒsH䂟*q%zMIkg=,?o6&7"S=bU  =x{+@E]9V\(VQrGv͗kz,/Yxs?9xFEd㛸;q$#n[bN҂!s.QdXI&j3ѹ63Hy@+UhoaR V󀔗TY VbvŇהfZMx<Ǣ&a2㬏#ZwgL:k@zГ'@YH8ebBWD>Ӳ-;՞ 7w<S"EIeZ#yzW@ @;^2K\t=ALƓ83(;0\ܦ2HJƃ<у??D+cR_}햯ܹnŋ[ 3^䐆M gzPkN-&I4!J&̝؝ #DM"veY h39ȣ'!h@S1'-})O `b8Bae'ejޟ [zГ'Ovƍݛ7nܼuO^pa&UF"* N^%e9D[3*Y|_B1'&ŸR-mdWȂCC4!P}/Z*Pz с@pDsH  [:\h͍W^پϷ j'*8h;ӤbSѺE:EMk %OV5 KB  @ (#&: ^D& ^ [:\LJ?Ogmmmu}}}sk{gTФ˓MLNMҰ5#vk)2q>ė ^? 8b6,8!!AƇ 𘠏c|A512x҇ns&Sk >)漡͍G @"1 jRiVzɢ0ʲ Lz+@,bG,32.cBOVMCC3a4և@bh@j \;VC ц7LQM=X}O?gQkdG’-aB"ɰbPb!Px6)5rLQcHvrpU^"q+ &8K飤<(j T @( S m_OXU'$7}@=GT^$"zs7.z4of\?&!Pgʻ< iT~k #=5׸xE҇VG2 LQ@?.s}w歛n[?y_ǪܢEP,#-ZxT&lY 1!Am"I)DdK64߽{{imudI{>~l^-9t+ H V hAlZZDc@ԴQ Lt #U|$lS!])2v5DKSj2DiLp<[[oaUP#:W{Lms@ha(~a^ NRi Ts!A.~;bhzaE:!PD(RW|UvՐJ;$V%ߟ+so\6Xc;ѪLu 4lW^]t PiN mXauͭP-g aPFkV--;6Z^x>e44<4 -ZY:WN#ߚmbaǍ$"L@ƏۊWLJ={LɓJO+.V5[}1;j^M9D:)A122G0.5Yy@yUmsJnR Az"CP$V x!"2JYPZrBy~ @Tm:uF4/n.J,  D ΄ xHI֞}q\O Fs278ӑ>Ll6hs P'Glcot* 47eS1>v kq_$[A LlKJ:42]w`PgBHg ɄS'kBU\zdX']pʜ .ݟ~F~ ܆1h۩ ' @9Йhч5tl,dSV?hxёa&&%pLXy桓`hZv"q/MC2|4yoϾ.G O , @U%4ѩ rB LDžzu:iVT<DXדQ;6>4Cwɣjd,(G.{s\ނggO0#lP< Ծ?# UdR 1 \ZKO$ӧnԆM71 Ɍ|~^FD95+Z2 @Μ$Bg\fn" ȳ^/NuR+&!l&SO!@,VyP(2>Hڢ4>D ,8D.a/@_GlҘ }@%}:pqV,c5KZ%Gb*MFjzá~4Cwy/ωDDKEFLP CfӰy;Ὠt (==hla~~ ONjYHލFo~}L=QO4C BpVFTGFm 8F@좣raߞA6`C3ҕ&ZgdqK):9șk.:3"hDiWr&e JWsKXIR,يhs@b) HtuHF~敹"@(g O]!Ě)+iT66ꨇfIx2l DmIf[TLՇxFU{z ok$|'>M.S[DP0KQMusSچ7&-1:D:*!&EOL#q^{h f2%m3mBB> $h 4=*aLy%^zGkwy=Mʛ%EL z*=pB25NPX4^.YIHNc=\ 'R㯃iNPRIfT ;d#s @U@/Wr_]JtnH%aȅCHb2u( @A%=z9ԐE Xm|n avͤGG)D;l{P"W.fPř^%эZ= 'YxGi=Nbn`CpCvwgU.yD2:T}!8 cp@̦n0]YP2m[¢Lā8 cmB72e_@,4.3:L<~r!𪕍]\lԡ*vwvv|&M&!< ef-3}JF++8[ ?8lP2<+ƀSNp@M *Em~lqcwrPNL!vLj,J|9*Ұki d2Q5djA5\n)8=:V37uԒrOw6XM d:JOF#˗//]U @&4Vi<:kI ;M3&S{*txx(mz rT_Hm@?E>|hqiJ{^mZh2+䏑uu֘LcF @Ӫז4 s2}t[)>i^2E ` @ќ= =D6>SLrxȇ @mז\4[I]fsh3az}N*e< @-זEHb7ak@c=V_qmQeUYae*'|@ïɼj-P P eh @# a-'g/L;*EB@bt~=Y2ueh@ _@B^QXcl%H9;hd}b3Q$bZ Q?^[v J/MOU|YZHw(fh֝g!Vqn.܏wUӶoi@!JPnWNJ:SnQZsk R)6ctH`61Hm'utя?YҧhS}DNc;wfZ(^4e!d݈̈́̈́`XwLgZ CbMԙW #8?]W0AZ@ῃ_DO|GG?1f hHP}Gr:-42Ms@&!(-MZ65dHE=Z^wi@3`H-a4M|n7*_td3!G41(ʁnf= Y~5((^fw1A.؋+g @5 @xʖc!qRpaGF4>_%i!8$Ȩ14> HOB =cN++ !p92 @[@geYt5RۙTo5URi:_ te|1L)Pd2Mu~5c:}n2L&S}G'''a7d2d24uR«Ͷ:*l L&jQ_~k2-LU.M=/^ ^L ~t]7t欗/_:\r9AϮϫɴ뺥W{P^xг{kOY,dBz]Դj ssvntW޻w19DnL&ԂVWWhn}vww]d2Lʕ+%}'" endstream endobj 27 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 28 0 R/Group<>/Tabs/S/StructParents 3>> endobj 28 0 obj <> stream x\6 ?賊Hz) :Esk;+ĖXr_3CQ&)QVA6 _Ù߼pٻ_V?g{xbOo߼{ {pVQ,yTM>}BE}qcXHL4uiM8,%r7r ur@,2[bInD"J7ahF!U؇VYǝK ɼuT k":Pk`Ul}Ҳjq-pڙ^7> ,N5AbEER-&\-oXZD_* ~ÚaK\3T!$h>?mh2"!9JFpუc_iI_@B(!1l$\ hQț /|Ӽ 1+1ű>!G;0]T>RsrĞ,3ק0.݉W`r,5 ᭭n_×L!wxT a\nl6}c3-FͶj]lXYnZzUv>ԺLFaSMN'ip렬MN½oخƏNl ]S42366G@Q0XB;HX- ⯥ϵ9viFmĽ9NQg(}qJgqǔ {ъ̥2(>mKDB8|~M ~زW 2 92% 7g}F6^ZQ=NYN%g҂G2sF;Jv?Z?lkP/ 8!nbS "IYnsȐ {.Iy ^khFA=0ZwSƻ#{k;'Vѭ z(i˔*ȗ(/\>9P:mv`x>w_@}D[+ާEh21\+@[nSg+?_;q5QmHlɓcó%fXئo5Oq %BSTkM%p*T6\r~&L b m:b-ZTpyhC`ݟta;lXO{n 0zq ӫʁCXvt6gnO!MY>OD#,<`,PB.R$LIⳁVi'o98Q߫?7ICGja>W=Yrcw'[r)R7VA1aW  Ӆ/Sb1||@٪vv,A>S[ ol| Ndn@lpOѣ ^=rFۮo:A/HeL)=^'h5`VZy,Qc 83GLH{l3LT$`3L.hR0Z9)7WE8ܙe<$p\rqe6~'CD)%#og xxq"Խ6ў|_1&'qB]h(GڻE8W~ôŀ,|RfUG&Wl%^d3Ԧfx?Meh&[Ix Vbr#ޓf ^7C֙"#1|Y^l~&4hq I!ozwd XFZK+SUI0]I&({6Fj ǚkʯą6vʪɑ5/{!:y_3n|@%ߎɂxA"KB zsKU'vN Yh[o0* 2s*eԕ#tǿdR>OF/8HΒkwzڀQ_$Y1F@ :%zeӜN*bDǝA,CTzMev5d=y&"`H#$Hvq D@b~DbALnP>1cܷS͟W[Si3K#@`G%[gm*'Q*w‘ix#@25qƱ!/Ե-;Yp6ۧŌ bpwKzm6FYN.f21%2&^32 z9`4uygX>.L؛pz]8Rcmv>@aNn,uYmHQMjDmEΛu5ʲa!xW9& P+ZK|LEM3 ˜Pt>ep9WBhAX9nu|Q2ɆhnrL[Z͛e rF1c^xcWl41 %*>ϧPC \H%oP^–.Wxt&VP]ak~/3"C/ +]gٿ N-ꉝr!wۚm4_mQ)d\X-@ڟUSÞrLvǢp f63* km0ںW6 h(ݵ"rPl٠IP4?Dם3q,L#Eu35v?߇z0@ QrtxL 1xUK"wA?/S9 U:Լ=~G}!6E rNU=R 5ݛm_&ݖZ9 *v$a3#s1Y Q':VNk[K,-I][b74\ut'T`];΢5l@;Y*6Ovx 08R6 fusaRS0v2h")mTN3=j(cX4)&+BMHq0hgn}޷lm^N-P)%wjUwaF=C,_\x*LsGoe dIIs>/Tg-]N`0]lu&ݔow1ccUwBƲAI>i $1MH|ZLc4;W:|lo}ٍϭr|Zj/a-pԋ@#/i7㥭q{]L|8uG{(O N4* >/mvYR4l[!$}-oA.D3m.?tlu<< ?l(&C2EpZ*w>@,\p}^qZgi0Ra!JŰ^ ]ܐZpvB639GKzزhe eߜ'-r1aE>ӬxbFaj R,WbNIw4}ɼ.ødR$V{PoSp9RMhFN(d/f{M %R #A[ʊ)3TzhG^Km{oANi̔Ostgv;e u Ҙo[`#G!4FZ%ZPR\_CͰL~0Ϥ}#J؛) M_{ͯ9PS'(ݡ"㘲ab. 9K{C]](u]0Vjfċuܯ+:Aѯp bjlRGKM$xZr.ήmyz|{Pmj/,nvcٷB+uwc0ϔ!d;Hc)r/^/Utn>U#8R:?M J2ϼLRR5$HF)"'[}2A?ҷj% @gc/ ]~kp0:2I)śH Ǚy"\cĆe`A7+/Jo9 =Hq,yÏ'!T _%(.IBbJt(}~ù(!,^9seB&}{: 6kz Ih"QDQY endstream endobj 29 0 obj <> endobj 30 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> endobj 33 0 obj <> endobj 34 0 obj [ 35 0 R] endobj 35 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 38 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 39 0 R/Group<>/Tabs/S/StructParents 4>> endobj 39 0 obj <> stream xZݏ6փ']f/\[ރwm %ג( 6<7{3zw?p˂kvs;e7o޽ 6_}Ys~ B?l߾ 367wOk1-nq2%vK:.N~OXf_~Y:X^6vh兣eqF7ޘџfB?6"Ȧ]微µ*Ih$G;hJ̦eQ<9z 5S.^2J,y=VO#+&'9 c?D+Ϭs18W@eqK{Y@+{nʾxXX?1Vª].)`28Gڋ;9,"3_x $h0@Woq8] _Qx0b)4!:r"P i6Ʃ~c[:@>7L4'3Q?Qx̦p; kWr{RƃA1gVFK0x͗ [x=xAmD:_Ud͛XnbT*JgD`H;=`^㊷,´Vl Ύ8'$A-pZs^<{? mG/ƘᏗ~f$s'/n_>yJ)>ڑ5tK: G DR~?ѭ>cXרVl{F{%V@}Ufw4a_eu yd_E|OcJ ;7pfWh)1ʒW5C :?36wE#g"Rg܃Q)=|:d+xnq_6m8GM}5ωDeouDTTMfD,>(5#G, h;bY^ bK`[o|ZY !3#%{!  @8mr@ '*og7g2tps ~7h?x8; ϟQjJFiDACSkm^-74̄o 1PBRRڼzgYґIh2 [;{0‡7xA#Cul*"pLζE- ?B_jdƏIT ;fTDL=;ޮkl,eaB Ca)~$~ꈟ,X"Zv ]$Eѹ1saBI?f|ad 8e솢RU&{QL4M~(C}N3{߽iK~'ת'n-fZxs@ 3imDYSgƦS__3 רDl;5iaYؕvjI-R@z<,Cˣk/VM."4,ɘ>.V'XnV81سܵbL/>Bq3=u{"|+ 4\(R_H{%bO&ԠwqhVV0qx0X(k[v6EY=L*&=%80͘UqV'I4uFQjz S[/po:W|37fVT^5Є#jWKߝc{y<6YH9 ^_C]fCis!59ig$?be_//K,Gt EFS=p6Ы^!v?DMy*_G+P?FPo % 76Pf\:)PAh3p܅9z9"ФҾ(ss%~QTZcZ煖^]0bK쮥M{`X Zr3=5NS;T+` ;KhM=wFh˝2d$٥}a?mP3<7bT[,!h7xK]m0n[{Vv l!R(`Z7# }HsvrO]@=b7EfޔTь\!7s}#47| {s GtU#μDơHIc- ΔB :]?,|ϟ`W}: '"m NھJNM~4s|wq^2PE̓`Z >[j `EEݿ>L8,^%Jݒσ՞$ւY~a__>Y}C2M*t-n^7UߺCg^/~HX@ U=l(85@?](XY endstream endobj 40 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 41 0 R/Group<>/Tabs/S/StructParents 5>> endobj 41 0 obj <> stream xZmona?RW[sn;utMQȑHp?3 3ͮ>npn#v3LH6]^^RrY̓0t}y7?bÈ=bO(5Ф٢$D(4JFz}|U0S?O(ֵ_odT&>Ϸ>hpY拞 *6YуI'y*xv3/^Ah Rlj*Wx,|qhA^E/ V[-p&}q*ՖsV4oh+HӀoK4ECTFԢZTlz(⡔߳rsVlJf܏x ,,x͊=d9DZW-},d*.ȞH,%ӣidZLNQ!CX2OG ܳŇEo?o{B3 .aax']*r.js?YzlS8RMRp5CQ8GMVC 3`Kb}&&Mqc6 T+kD,gS/` B/*,.3T F/{?"LøSX%-Jb;}OFlp jI'=`:z6(#9C*r=G5q.EfVbl0TL97P^30/,^+n{3!* cD]/68dKYeNm{ܠ52 xt(ۂ$T8\8[6 DbD@#U#1 pV ࡂ/C@ׂN >v`@-qĨFXZ5VLTg-Hmd7y5hZ8fOjc}Zjj'{ :mXED8*0xK$!eMTcwR3]O`̲6+MqS3EaC4jEԒf UA.CјH›BYuǔꔳ:IB-H?u1 MIv=ݿ =9$R`avI6l\{m :#& cCаO7W})~6cV#d7$bgE~;sl1]K ߎX 혾şqN,7~Oo&Ḃqn!8ESڃJ[-HIv%gW' i!ޥJ,1636rs.~c¶ʨ5U|P|OoРnoa81aJWcNB%@ J!vByJID[{nn}X?fG­0IZ,ݐ8yb߷(%懜}8FqKpM="Cxo?WQcNdDݱfXN^b0 iG5LeD2i'-}v5Z i?\\VuƠWv&O( ~%2"䩻j_\4}kVRQ]˗dGt-7knʍ>]6iB9ǁzY{tU,Zڛ)rMؼ+Mcr=;Kr&;CB;Հс0s7*$jTл]{^a,͋i-{\+"l;+Hw{-F!;l`I:=<r^*ƈࣤl,8{g;DO=s63 l]uT`gY>.ۼ)vPYxf:;uGpoyu'X34WK+"vdt\Fufyq=Ω{WM$;l\f?0jެlLD$خJ(KR @gPwvn"$. S *Sۻv#.S&s|:G§ vZQtW^n~ ^a!,E*u-#,9o4PJ]AbGʸWM8L)@a1&>߳MF?Ne7UUŃ D1> CLtJ/FQ'-#L7hiaBK.ZZXd7-- u7--%Jp endstream endobj 42 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 43 0 R/Group<>/Tabs/S/StructParents 6>> endobj 43 0 obj <> stream xZmoH^a>@hf4zr嵛ۦ&)p{N"m-ɑddbGe$NӓۋKLB?wr-T;)'E E$~wx޿ûH]Mwq;ϗtoﮀ%mxIALS~r,$|>>W/R/*Xh﯉ v,"(5 HMomҕ7 |Q%n'6 #e7hcA쫞$ǣZN]@D(Њ !:*;?DUj>c?@O+[s:ڸ j@;@I79`ԥퟑ0mcԈD1hH?lзs}h~*U~ˇgI#4ڏStGȏdOƟX`o3ʼn+q!d$o݈SYD41{]BuدTdĸ yrWt5{y\3xڧbPZ"[9VWɱ~Zo+ĬXU &MQKP`~Znt2I5KP6A{q uōqP7 l 넦tP˪dEm e_>_g6^s>9NB\ORv,cɻ<,Ox2NX2X9VVk,,MDUp{rem_֛ңQl=~a^UlYm-WֱIH ʷ$ 'T`(~+?(cAP C쉺]"DMZbUm%GuT'E|eBz H®j*:hgcyM|(ՙ>(}i=ܓrL ÓV82qhtWQ>q%%L5ެ %leo,Yf6S-~[4U`U4S j(tߊ+.(BGq6,_`ek&FNm3k*?Om̐6 }#9xk+>VMі:pXaG loqfuQeRy x XTTu|mHۦbQ AH:2GC(9($(A!!6;!ya~ȑhGeIQ %.Cˆ%v|6ZaLW4:9C!!cM!p9Kɪ1Åx,ry~lϩtĠ ! 0)-r 2n=='ĎByrP~ hQoQK] `Y&n.Aԋ]A,V9 9K2b>2C{]{BZV)lIqQ"ȋ *1Ƒ gtA@=51 J T+8-yX*3CLu* $K>߾UI=. dIXWHu6bI>)OJ( JtgYhokggLK7)wL;.uzX>(8]Em^PGpdO&=cEHDe:^I4vimнtљ.pVd,c ngj"lzSyYdsMJw;doY Tm( |o8. }mсhFE MgFMϥOvZkf@z||`oCGx6ޑЌ@ 40FC[H2w}`S. B#)cَ!,qI)bkIi2\ou,kod8aEK߄@.X(hӁ'-V9\N(rU9\:P8 wt:T/gV@\C+ӻ+V3_Ønqe5a *{:|'о(?oGY*g*8+篤U~=4G0(lS.N9ajl&axJ}uHJsht2pC:!tβ endstream endobj 44 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 45 0 R/Group<>/Tabs/S/StructParents 7>> endobj 45 0 obj <> stream x[mo a?J0Ȳ}p9E^.WDB%R%wfb!D3kznz]L7wqO_qž B?ͷ_+/W/_S]Gx;Wu4Ixs RHrg^+w`&G<@UC1gI9|6WY]ԮƧ2`0vnnqkcX{2C[z}a8A2T`Ġ̀-z3 E>ԃCx`6Ίa8H Vg|S5ܰEZ G%NK6/l/NPyɗ0m(`|ٚeI("{ stⱩk.%KMJ|eݻFi%FшdsP{/o$E]|[.@hiWHHY$(u2YG 'v[d$lsǶpC!O&LD`u̞KYe3W͝l:A j/6<y_VQQtٵ4Mǣ !FBxB!@:<eR^>h!(ը]`ġ,qLhf=XK*2Kt*1"@Ahz aiŵrI`(zPOdF HMUrp-,%>bES{FfC>#$G0w'o ZيK4|kim{vjDr> M|Ǭ ..Qcro7W:|nϹ'-'TNeAV#2~Qm $4'$؞|^ڴr~bkV^d#/6mT@Y)l&R :6!A :R $+GJ@0CKάApŲ*%:TE-nF~pi ˞@N(-F>Xi]#ߢuޤqQ=%`07C@O{< D@{*IzA G(hX}SL 蓓E {Tigk5"8'\,A .XtVª8Z98tyZ'O5D k&`iUŷL޾uQ+I]A j^Q=r>1u[<_ ޴:i[ۣlOU$iDF"XZӴQG B kl fA*8 CDQ&PnA}FBC%`4wY?Fzk%rBDm˸ki>Eu9f8j]k:]nz !E.j]PBKp.3sOŶ=ڴЙ sw'3D0,Р(C  t`IEpjB |5li!@y*a l&6<fǕ(*T?~am.P*EM37=y1zE{F xOa m^Q {򗐪MKeB $Z+sm; 7tЙt?lt@(šT[\3>QsoQZ9ۚ"e !,iەfkBZrWHb2)f* +Fm5@]Ǻ59_7mM|_=7 P FP :ON^a1JѬ_/wR\6a/FUe]>;Q3 EXnզgUA0%**U\p7&#Asg?-:+*TXSɻGgm m~'3~/R*S p,o6-y>PU'ͺ0H*+S]  [xSJy eF`Y`R6qy?Ӓ‹- lk0G>LbrÒ]M0~tܣ+]9k@^V w4+eal9 `*.6ퟡ3}Lt"oE(# .F2z̾3ӭ3` /|I9fiKȮ,hF}Nh1&2[m JYY05S~+i⨟l>Șc[o,o3U'٪Nq_"ZMANIe` tmGg!Tpt7>Kn'!0;T!!q?k9٫PXC); Ąf87¸ɪ8rrxlnr^?5WSqiE~%ۗٞ8+l>ɝ,1Z,;l"n[ϢEKq9o a=bzGl6U즶< ċ=!l%!O9@(Beyr ^[-y~YEz83vf9P$mx#yߠ$e=5kQ뢼f T~-U>/Rx4y;B1keH ): >ƶ)49 NNx~f&>nPV|HWNe) bI[;XQJt%ղm6?)3%{-]_lrs@;U @E+]γlW|ZcRLgӪ [lN &jhj9L^K]d[LVlM}ZlRIcIMTރ1QEt}3",{>+)<ɶʶ; LE~r6r5K}LQ.v9L[Uӟ<វi{-._}O4^V%^Q1 Y-I݄G4qwL$iRЍ#VmģR {a PwBc(!pĉǭP嗁%+k=ĸ.-r.+ő'[¦v͓MlakJ-H}V$bQ> GDBipXy)|( N7딮Qrs_Q}[UϦqٹ+Pj|v(,mL+)B")Ks5}sM~KEp;KR([F.CSb,* $iɐY41-$kb트EEY3zo[<*'7XeԽ_Y.QV'(;7W,.08>{ `E7ryU&5Ck}wQυP9'ε-lw=Ry BF^ !gΛ=}&ӴZnvj[IS)v7Ib)eF%:l`mȃ~#y9P'dzS&G78?סg aJg.ɱI'XSy9n6{ F&A. &YaxnU%> endobj 47 0 obj [ 48 0 R] endobj 48 0 obj <> endobj 49 0 obj <> endobj 50 0 obj <> endobj 51 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 52 0 R/Group<>/Tabs/S/StructParents 8>> endobj 52 0 obj <> stream xkoJ{hKř_Bj tivWjV+ZH.`.6{W{<,YME[)oCa߲-g3eO 2ЇM%DaM2 T(P:T*\ v%Rj\I !YX)mjW#ǐ"ʦz fu\ļ N4 >{_ o[lƠ@Z EM  iSC* ^ ;|w~uMҿ_Sk"БMdIғrPBz(W@6T-:g}#9{2P恁Gf }X-ϊ3$a  +"/0l8aLf!]lD;lji/B1,tC[O쵨 C{&<9ȿ+.L-j7E I\PiB9s##ʌ̾Jsḽ${ie{R0 Aծ`?0&,;lBvU$ ;pؕ5ID;bd$=~ V 1ach֍Q\&%H8,,BNs=(2C/u> Ra#TݎqB0O$I - aN^>JAA~f|ʦ''+8CLedȶry>ϫ}vd܌}Ü+i?4{9u}e}epc;,1GEgSjm ,랱?/1Cv̦S(*S̩8KC2r1::0vsT c^ȭݦ@)L8ZBxP)cxHD ;h4@r09p @#d<XH%rh0"` "xh:`WK.ONðԭj١j%{FE1 "m;|q9c95M%8qh5a׍yj共 R;2ŅFv"nf&aPMa+غaVMǔ-Q ͝xS띰miauވ_2 5&7$$;WG8=U[͢X"W+2H`KLA]ho,Xf>2[9C;/ djpaA̢2U$:z(~*ʰȝje(s/Hf,F e \}w)҈z>?: N' H] EHO{;|RE8v$u gڌeTyXaߠrN9R\ Sұl |9MM[Mll|GV;MZZ9d-PlZ9tMm;ة9Cϝqaqqg܂E쏴٪o7e 4Jقp\"M?e|{Ś1h@%9qeZ?nӏrC< IhD?*ih *Ļ2ٰ铀 NIś3?icq:4n~ U*ͅ9e)騘d> %9GETŬ0„ă(?=m T5,LsH)t( ͤG،hNYS<J6^Y&Z;P&Z"6~w8a<0Dya@y#AҶV5gQXBClñ&p~8vϐ/ Ꮈl[7?%Vt1:D= ;Df>PɓC4N&*?4֭GK"xfV> endobj 54 0 obj <> endobj 55 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 56 0 R/Group<>/Tabs/S/StructParents 9>> endobj 56 0 obj <> stream x[o ~P>% W-9_/NNIQȖlHIMq|gfIJKjiff_3ym؇/ç);w.8<Ǚs/~!پG|ݷ90O3$-qax2"qFDn18Ǐ3|s97>)O5hZ0(c=Vrde#0<۶%$>l+Nrz*ɷYQ*Y>4{xgZ/I0]| > 뙝` ߟf0<'Y5iXĒ\~Zq?yxTbCjӏBA qb  8t 8NOo ÷LXntH(C 6:o<)wV>5xmh>Qcsaa[c8q3,eKr1_p'TJW̠W3],hsѠ6wYag Rc9i;cGnAB!JzrH([_m;᮳:KI Wش0+uqeu{8B]" cG4#*M*~L'RG/ݚ}Mj~X"nCYu}>WDiJ)_*' =x}z&'21dIjР&!KoBƄnl](ѡ*谑^a '+ 6c 3[ ajU` ooW&I{ͺ>v:UKP-1w;L:Uir Zy3}lCzBش$/hFh)t2F:+[>%p <R"O^K2. a/ڴw0=*TnX W4K=Py?>IO$Tѥ3p*5X#EC1qbUZal9D`OB(:9` HD8U+IK+T+h!$пXT`,!D. "9t]q]SgZVf%n\ك6v"˫5 |O6NZE;9FDCmK_vPamp+ Na9PX/ˬ^x^7&yؖvEz\az؜RWgڅ/;x k Xf1:a{EBrtlt5EB12HC3׃=gy=Kʃ H{C^I(}:6# : Bns/Ҷw:z7:d<]GpQ;sae ] \`~KSXN$Obp'tEVӍ2dq]Ay)ɡ"9\Lڄ4AޛPm :9` g[TEKW&+i{"ڷ騸C(y3ZY$hKQ'MV{f%o$7V 1D; W[Թ* gmQa)[s7e])0 w`zWua#* 6C67a 0:1N8ܥFIũ{̍#G0A!KkT};MDMbWW'9Jfd>KSD3`=Sd:m~)/ iM}|KkcU241ĺkZNB*'6(.ptZ\:d&tESf=)U`іYjڝw)%8x>l-"e۷YEa{kʮPmܽQ!c&jj hLe1IJVyBuYCFVtGp#/X}A@-ZN?JَjyӮ%>idn-(rިxgA6ZGV v ۈg.&LezgApa/mvUZrOi)9DzFVb:;YO=>s*owZzJ8>-~!),eFj n!M)1Lj}L 줍:ST+W]~ +cRB7Ae sPXξjuhm^qKj1BQa%0OEݗiO)AUÇEC-3 SwK kFx8z=db0&.a\5Q"iU0'GM1] qd[-MZwd3n03M8Ml~D%ʮ.6U?ٞ."ė+b1n6lT0BÉ Uҝۧ;:9J wL*%װIN.EmʁEt2;uMeIf'U85M-D[+d7?h5mѺ#'a v\٢49r\ma v^II݉ߦQ[Z{^ƅJP>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 58 0 R/Group<>/Tabs/S/StructParents 10>> endobj 58 0 obj <> stream xZmoH^a>JEy":N76m}pb'֖]?5G[|gv~ /.ػ {7{kθ`o8 Ᏻ, BXA훐=o~gz}sM/67S .Sf\eӏZSDw <$q2mݡK_y۵ƹ/B=+w𶡇sf&Gic>h)0Adx~LӶ Dlv6{0ͅYo{4ŅPQlp nE{ 1L1Ke1y+EK|Ʒ{叵O5( -N۠90g3_W%{XzzmTY};D4 TGtsZ TP6y#|.70Z2%W(v#YK,vU2P(L|[ E1,&/:>[ 7q{/Y , ;cITAi{ӌv ǭ6iWvcE~PMf \SERϐ#I [Ġɨ卲4F;u/o -2WFi%sTK%<$@ 4 "ҽ^1)?V-dd|ܲ+Ko@|{b|<~:BfNc;CA6ϥG^䏸w #d5`o|5E-Fɼܱ+T٤, XXh|tέWr$ L\F*ZH`FG ڗX1T,hN >~Sr'xcSe-hU >[T}n[Au(([#"KBIK*_3-Ajq#/֠oRd)N bxGq;"5$Da l|EBT<=?t{k6d6ŵb;Xy9tl;a]a2F4R-y*,@ :a^$ 튰`?O" DfDBT%O.{a0T酂 6C D"3G(E?O@^^XE +Z.: ٯZSmK3&M[˻/228!*˂Qch)U=X ^Z._qqx |XQڔb`; |HENCqцMn³2@bi[ܣ}Q=؉sjH8Kmyb/4\C"4J D=ZgI kcJͤ(sw3vvϸjYEZJ~G.KG0^FI_}=lˢZ%Q*]\PrS9+wӃ.ZmV3M]E6oUأmjg\x?[aBoyb!PPN\(DAgh Q<; 9Uy e\O>5@cab=PC^K}N7"?˂7V^͋g: 7dz"ů ȫGV! +v(I$ |6\bi/n`alh0wQ'  |b2!gg@@F7]p\#aOX^OׄmZv%-Xȉ&+&Ȱd`\  D1 O5 !Dn:P ,s_ hPJh *r^0,QOg>l)J8nk܍/Ȼ`BE^25usd–:0H+X2L9W0=H^x ;+-u`RM3XV5oQ-suOB>a7jCccz.h/e 3݀Wn6-}P6[>C fymc6>xs'7m*'G)n\b/4[(Y5}hBzh\ %ǸAZnJz*J†XId67{%K,:4wOvK B,739#sWFV* 濇z(= 6XeAɹwckS+55I ë'Ad 9`w _YhtKAE[ (qG۩mc] ,x`L:bN= V¨FOV{UŠ,|$}n89]F=♎xߘT1TrW(õ]FxH2 W7FteIg-FQipviZJ$9 qa7NR <)5jN[:뻜uڧ{μ7d<*r} ?YsTQƲdQwR[1Ф㦋^YfprW4(`b%O4$v5RSK*xD)y̡r8L1'fmP4`ǦEVUW2`fIWz⁕u%փVw tt`-DE+(ϺF@3hdKȱm% 3Fc/}yXW7⭍Py/ t3:OD!QH! uyt/,?f,w6(|6K =Ln׾n(ř=IؓAw5j endstream endobj 59 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 60 0 R/Group<>/Tabs/S/StructParents 11>> endobj 60 0 obj <> stream x\mo8^m/z[7vqvSw>8hϖܴ73-Q2eEW>-{]\|7{)z5cW^ 6_?ƙqă/ϟyjq4*WljX\Up@ꏶS26G7y`r$fwa<L2ç4?0"iv mroXZށjH/nڰ]1ְqްZw$r(S,T|׿\gsʵ@y9\2dGWr `Gш>h1j#(k4bf T!Ck<*Ey~bDZ tKVfq<ʴ:{A%zX1z$kp/S FI@bĀ%Nc9 'nXl-1H0e1V F!XcXD Op{{il?Q{-hw]҈oTz~d/k|vA$qV|Jykl͚k'9;]:Dmڋ10j`W[ui$AKPϪuBRl*Ҕُje|Aj |PG Lxgn }%\G@EݰJKT%^+ϜTA4nY"m5?F(˹6+vQMC3 :}}&%hdzFFZsv\Z֭lRG:T,ɭaU;:Y:Y%U<7א‡-^pIM+DOiyL~pC.6,'6+BYn"i;f do@$ ' e#ńjMI">J7N^G|tY Jփ0'JێW:jVy $X%=LPG> đQT;!-fQCso6zӟzk wS}vY ȥY#*th=m^3_垌1zX1mW!k|FWK!!J`!ZRS/qk|_:K5?(9}$5tR03Lu(hwp Wyq.+^#/wi@E%WȍZК[Ś}ѼluQ> Ye\I k,t?A– muCKe:4 vB6T/On1;:P ,B*vQs)D&tV͉rJ}cDYy2cPϷK`"Tah\rW>⎃JvhR{f Ʈ"$?B. ha PN4<(Stw=`aEkaaC[ϣ7 &]HÏ@~y>R0i9D5q*>JɴhE'ZHH:g1TIUpE'5?]a5@#ҍ&1:7\8 ZKh"6i_E+ZBrTN`F~@z.ɹM@ʤgW5\E<;zOT㭍5oBrOqiPr[4,5GX|0Y!MG%uN`p!mzDܡyV˒o:c9e_uQw0tsB5ݨV4r)tH-[L[g%)7Vp: mZӈҸ;C $z\,ع@Q?of[T^bFE sjm:0b:rhOA@x@Z^ߙO4įw-&>isO>]6Z$Ik1Ǵh_*_qlKLDU[  M-C%;E}]LmMdɔd' ^kq1N>mH~toE-]2wmF-{W7fh6|>QDc\tA%XD@䬛cZM܅Vc.)a3ʾ4Ca#RlMT'6#x5 |%CuZpG 2h}GKŽjnQ'Q:~ Ǎ!kg9%!M^A!5IaX79qF`sNM'RaF9fP׳ooi45a^r!bEn nAn3YhפmGNWo 9[N:ۤuBX hJ[Q!@>*EHw=Wo ,'ŃmSI Kx`naJ8%6 rb92[1ġc/BkV]Q+c[y+F[Kl@!" -F"ts**~Tkj6ϕj~`=]/Hձ *ӊ׬XUXd495ŗa$zϗu(w*LrقL šAF·C_4X=V~驔ҕ _ȳ~]bҩ鄨ޫH/u"Yɡth)7%%J{w(B>U^Ki$<I0lWn endstream endobj 61 0 obj <>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 62 0 R/Group<>/Tabs/S/StructParents 12>> endobj 62 0 obj <> stream xXKo6B!O=@,m`Rd{pm9֑ Ii63]Kl8΃|KfO&d:Kty}u3DH^_ #H"9C2)ps8WF TNDp"e[Fl_W1Ij2^<,-[YiG([Df6S"DH_OJw)BÌ( s=`g]`&!?1VX|Yv2G~!5MrfUmd%cfњ[W3lpR i/R~bd %!&?Zdymprk#? ԭlLsͪS)"yjVA]Re:{[ Sj"X4{h`klW],Au/+]qTDeLnr IuAթ1@ QIW2P)= @P{ hy: 0+@ga<$n N(F TV:F $P2PVC+GH %hqU 9x<S"U q]JQUJ`,rwh*.ei9=rwecsؠcOati,pZ :VezbDz)O6[S xf-*TwΛ@ti=Y>> endobj 70 0 obj <> stream xQ%q ??* ql#bY ȃ46Z`>,{x{U,S+=oGl=#s;-_-<ڎhܷ}1Y[cpsm18ٷS9yvl羝'ʼn(b,<{ǔ-rǴgǼE!s`܂E/}6#nc`c鑜p;휜 gq2|"tϝG"I 1ږ8K`uN>l\9ܲ+66 y x8 39'$Ϣ8t}s59pxu [M)'ᙜ 'vC`Ì^0xDВ-H[CdѨl T60 d8$b:UheM"yB(oTxLֽdբ J0ZNmR YHdbos g!I bfeԿU10"`0W\Dq0gNc_-`uqJmQ}EO%wZTrgE%)8BlE%{*m 1JE%mkL|Q}q**WTrGˆ ~EO=;VXџְ.+߱~NJ{wPZeQWjE%n]+ꗫ֥sWlʊni_\GYk6*`o(/sˑk}/>j:=cݠ١Yx3V; j5p2,mgۯ~u۷^}t_}{ϟ~᛻nw}׿O04/{N2by{|uIݤn2e /޿C&ko.yh@> qߵ'& EhףW6aaGlf66ipipipipipep+vwM6Ͱ0lk4lNL-A!!AvdM6Ͱ0lf6s   (һ& 2la a4lNL-A!!!""!"me&4lʰiM7las6Ӱ93@pHpXphpxpHjCD:DCD:DCD:DCD:DCD9D."!"!9i[lҰ)æ6ݰaLt!!a!¡!! !""Ҫ  D3z-6iؔa n 0las:gj  itH%&4lʰiM7las6Ӱ93@pHpXphpxpHjCD:DCD:DCD:DCD:D<ao`7٤aSM3la3 ð霩CB8(B80CC88C8@CD:DU"!""!""!""!"mbM6Ͱ0lf6s   VmpHtHtHtHr(N+bM6Ͱ0lf6s   Zh&4lʰiM7las6Ӱ93@pHpXphpxpHjCD:D =ݿyzƆ]~=8 V)2)2)NZV8z\ r^^yy;gzMϮs)!!!!!!!!!!)))))?)?)?)?)?%?%?%?%?JJJJJ5kO&?M~tW.]uoߐ!C 7OyȟH!C<B$KLbߔ?B?~!CR@H! DRAH!tAJ)tAJ)tA)SO?)SI)tAJ)tAJ)tAJ)tM~R:H R:H R:H R:H R:H R:H )S<R:H R:H R:H R:H R:H R:H %K/_%K@I%tPAI%tPAI%tPAI%tPAI%tP%K/_tPAI%tPAI%tPAI%tPAI%tPAI%tPR(頤J:(頤J:(頤J:(頤J:(頤%K/_%K@IM:hAtФ&4IM:hAt馫[WO<<|t㫇?]G+:u<.7oÇ<}W\IpC_O0ǿܽx_xxsi<ׯ^~x=C^>7O/?|w}o_=<<]?}o_޿z/^z[su07v}?!%ה?֋q׋8~~b?֫/zzz?~~P\onby P0om?dg @~?$\)( ~.( b endstream endobj 411 0 obj <> stream xKn0vaL !%$XCTe"$iCX 8̋M% nwG+-jpV- .Om.HS9c?yXnAbFG^:]@heDA=Uj>lV(gox 5bd7[)u+#έ,&7f^娖vrCy%0!~bgmQ^̫ڠBpc?\TȦXEC`yRC$%H؋$O${%cmoH|J؁ǮF)O5|{o I/uZ7pX3c|OD endstream endobj 412 0 obj <> stream x `Ź?iWҮV]ݷ|ȶȉ8N"_b I! J=.AR }hi9JIHJK}3줨%NE:[ٝiwtCagړ Ȓŷ_ ^ѥWg:t̒b<$C_8뙥k<ť,\;u^n`Nyږ)7q0w'SV[>OnI~ tO^<咋AMg y\Egnh \z湗qK_37]:p׬V̓{_m>`t"ߎ#{ c9/t/X>gۅD.w5˝{_==|m͗28_p~mo6GU,~}?gZnࢋqp3ۆA@3ys&EG6 ,&}~۬p!i}ȫp /%I)E1j m8'qzqg pB3vA8K{q"Y^ px7b])ۛ]>ǹo6,'[ .<]֗V+d 8d4DiL7灞Xv%Z-ֆ֏sIkȔ`S5h7C8֢5r!,1ik녰&)kldxZ8>Rn/I]+q0]X^ۙ.>7omt/:82s GX^-h6Ƿ`?ZϦ]MםGտ棵Wʿsq`0 >>+S92 F5AMvd0 `0 `0 `TpF}`0]_m DChUCmfoB{jGsB˹a>G Ot?34y y Va90l Zg`'./_g#7GQ?CG&ԛ:[~G>%|>%_.ۨf`܀|cT 7/܄58܂z;|{%;˨wQ߄=_QP cA9|{5{ߧ?;P{QL'`?܉z/܅zܝ)agMO6;wQA}~?@}~zA'G}p/pSOi3p?o稿E1~,<<M3~]5> TxIrq|x/!`4"oLff2 $ #Fhěɍ o2d \HR1-A:7'8 W-{j1 䮶 `af}O-"c[4cHChL)ixdkk%ȁ.1*KcdX\CAM&+MHbI7 J0+ z.0 QmbԘRYe2id4LdLq{XAu VlQ&b*dYvrA3fшg=H(FhE׬ig.^ֹ#GC?3,Vx-SMuZ9j`0 Fׯk S(dIQH,y[“ݢd&^Yucwy<,,EjQ"Ā]cAU+zҊ):F!G~6-3Fe |8L]`0  3v+&p6MpCq۝nU6ϟDuon2Ĩkcvk>l5^# KQA++,mnUV)Y60bGz`0eYci6+)6 cwi bսl ^U#4( }(p| Ɏ/yBIT2r].jqvw$i)>@b䠟ձ-2LKuZ9 v`02@Eai]%?:vpÎfwM tTGR6clv3(1QݟG'ğACU]bT`$ZhN5$dq+xjB55A_$"/Z $kR\8.8TYt9*zWLkz6h`ful˨ S^.\+!9Xm (TitnQu:~ y.5VytOr6bQ "ҩEȞ`{ E‘H8=pc$G8&;tz$Vz|>]z"nOecӮ C\M"E;k |806V`0x*AMNC.X6]<ʎ;z~y7i/1'dUuQ9[@mVyPFV_ a{ ţx᫏jH<ǵR|U_ ! ][\+t!`+m[ fVǶ0Go'j`0 FfK ^~<>@g }?kun2sr^N@^hJKb# IW oKFu58fN]]xC^[ @Hi C! SzC{&P\Mac)"_qϭ `Au=M{9$ 56a% 5@$ׄ<&}KUuQ9:/nEqh@:P*l/a)YLś=溎ds9d53V!8xև^ilNSU3f S8!Yyq]`0  j;PQXӄ/q3DrT @8Ѹ kP<FM55Kuo2Ĩ 6ҩmsDKjqٳ͋Zg7nM֦RPD9DNDfE5`Fu;M$դaձ-2L.օkz?Pm (C}(}r1-@ G54piEuZM]3Pj" 5Zm-ʪOw#rpRU]bTeWxsjKqt3T;?=ޙߞLY:}Va) 4D| .wu5$"!_C6RHײbZ[\r5fVǶ0GXC\j`0 F@Ea{OZ<&P﯍Ե)iJMd*jƓuuuǽ<:dNKʱnpVyPty% -8@WGWܶL잻-ӕյkNa)IHd͞T2JhTrAC2QXbZ{ZZդ/J`3^zU0'NYMd] Θ%ݚ5 D)̥z ΖΖ[;欘]cKmDJpE _<@9;D:`!lp\Wnn!cFVh}QWG/~>-/>?ԇ#{cM,aV\ޣ,ь߹GNe/Ghۺy,y=Yۗ\w ȩn{FWjk95Btz\ΫO,]wⲵM벺*5%d ۷-O eXOlCxhY8Hܞ?~mtp],]ѓ/e4SŽcU|df4In{VG<'DVۢ'bMDu薎2^ù[񈜕{FN2̟5$Ԙ6"{٣l.1&dy2qR>ؘM&)bc>.9MwņU }-#r?4ӱYP@2-!2e_i2e4eb_~WVST{gV'/[:to U*LVe븀8:OʍIa%'HO&J:F-ΪC]oDqa2M&g+l<jb.iGF7GNijlv* d_7bV=Z'juxjp]NinKX24Re:};N ^w:1J<"gwjW;`|"/}n1opN{GXcp'7½w= xs3,Z1'XGK9=0tkh{j.xh礍jdz+[!hY4q pGضa4p`ڵhwD3бChzߊkB݉%`YE͠ Fۇvf\O3nEAˢ@X5M8i7;C]Svvwp;hJg&"R2wHGDÜEN5Q?ߗ3ua;^/sww-:@;~%KjJn -8 n=(@f."ЙIwnZֵVMZs-"<!iXV)#8U$NiIJq^Aaaq8l146æ"Swn,FPwҜJCw0-gPW\ bN4RcëC8nu'^P&mgz5}qNu?Z }{=@=Hܸ!aˠj+*'qPw@u&5Dk/|ZFb-$5$H1?[Pv@〔hH)O]Խ.t螇ߢĕ64=BEs-h6ZG(gQ06F+:)qIOߢv`ߑ;5Wb2VHr$v9y_GFUH11;1m/8>L7TX3qqsqW8DqB$OF_EG[Gƨ&*/EՃ>DTG__k5M&N ^TY):QTYܪR-IȂlVh + 8(2$ր >WSg|ʧ8QGt (~Va7{{s~n7PmVS LM09}2VKq:@2A@I'"p'K&|#t = z 5؝dl:! ")Y| 'opx+)b—$JGJ`vvG!cT "&cadSɘ2%;!x4ً`gho)RN*\{+g#,N,JkOֿ`^z=j7tJdg g ,$AiFdd$dZ M,FQGQ DOƢg9W M!aH1 |^0 %c#/Y قDrfz(K2ưd{rH:Da_?s} M~RRZH~,BpmM%K妶x5ك^{K,g'esdߡ&9GՇ/?Ĺcj 3j 3Sx,;VL=w,~*~q?=OcJϔrC(`SRxX./]ˠV]7# lXv,SsUy]t4۹\}%t%6>,3N>9x~ ' 3\.pD:L"$AܱHEйג1B'0a8'v_!_a$YzysñX 'd yݠBr|F&0 & XWBOqd9LH2d .<'A2S`j&vs3Mi{r| 'D&-8:rr8Њ#>ϹYYGΓ@̃i]+T'Q\cdyT|ގ%4_9A4KsRGo M]j\VyyC>DL=z(Aڔ!P m66x^ϡ.PB 4G4~K/pz.čn_%T_^+Fo_x4IK?~8SAE&sQב.<d%f#9{H! o#OOi^v|8GI(S-Y+P2M-3a6{ka#lax DgDh)ASit6]C7}xKH??qg|\!]m⺹}܇|G aYxRxJ8.) 6o4)W^,t[xZh QHS6ʗӭ)\+t laRp)e[?s/еjpbo]N?E_razm:ΧgT{ r _KC6!OGOy y!Xܓ90'?{wwS[r沯iEWh@  iqa= uZ P >>{{ è_hoa!LϠH7 ˸;<t{胷b~D&Q-k>&;rGpWᬷʇjF2ϜM?#@SH3"g)iB w*\]1~BFf7}9qDmV[}+;A&ڇQ&0ja6GFH(a h;2i7Y>v#` Jr) iƐw a -ljv>8c5(w^|r) 1O`tg!MY8֏̖qd<$sbl&_0FFѧ񽙨&%_P:{ MUWcd]HO0ԤўG_6^؅W`v~p 1FwɒL?q1磄%4pB#8KG"HV#K0P,+ב.`3"` X"@>O.cL1=/z_ݸ<7F }{: ).Oq[Z9[ (N`ku%WM۹x g*y?:钑D/ћ}7Vj|6AgUͭFkWU:6Qp jBA FQYl1it87zM|֫N},ތfgwWf@xjZ70QS nVl6,9wRۣs_"t>GJ}]ZXkkىc.7AsmՕs\Wq`͘SkJ궊+ڦ et'JA3ov]:pܘk4f4'N@6wуL}  7$ vE:N{X$B;9Z1yLuo+/k1=SsFTN(s֮6Q 7wSfAC Gr:ZIPeǨX;q#RwN%L%2rk"haQ7wPSa8Iwns+UKߧYL;ebb'QmkAϏ`U>3G^8߇*FFh((h*CMy"+|ݕbzGI,:hVxe[>eT"֣ݺyiJژWKs4)Π.Al dQXՎEmJ96Ed'Q_ ΁i1I2QM8 QMAo^cwTr<.NC1 bj ,uv@M퀐x%^Oa!]6DQ(!9:J4 nmp}v<6$ WZ❊ۼ>7T΋mey1 }&\hԓw9 < >qer+0F:ɝ/5D gD #v3A8(ULf-0*8t@&x"3'LPB5NLP̙&RŨk}2*ņkj*-Qƃ}12͇|w(ycͱVB?ן% }l3D*cVq3ccU4m@_CSDRGRa2ҠZpNRk[ H"!֚jWpH7Ÿaѣk&2럛9zN, ʶۼx,5[@/&LN*>4ϕW>ܜ|jB 0X$J%n-*_vIp-Esax@A Z'R1-fbv]j. J.㹌 0}3Sl&)hoP٪jq.8yZ0R"*IA}EnK 4 AlРhAŚŕ.XLNOҕ%.pgZqp (bqs˜VANw>^?B.?kxpsUw5%CFsL2tuiU(/D8tpP}*Ŏr _s Z!r]2}0ѨD}1xsw+E؟-ؘ lyEvY>OUui<}n8z1E#`XoƫPN<0bC.V9&YCK05Qɬy| Mf2Qb;;B%Z>X lK) j[eQѻܼƯnR6ՑOm^5DkГFOc9kz NG)%T<1hR-Es  )u4KQcEq{YuڠV ̇&]vpE|~\0 v՜p%)a6E3qJgs-[nantUT絕+;麼Ƈ l qvslPcǾ/gaQM~Q|R#Rm&Gf$B`4Vab0"1(f^qX+!fIXiCDsJ 1 ɒg {RQAn<qly\St0mс.-KBd]ЃUڳgK 2y鶬%1{jMRꫬi(!K5x@upX15wzxˢ?x?97u"4}^hW^G//m[WܦuږYZM!uC'g/w'펊[nD&uIs*SLjss_Jse8]&d^$^Y*]["RHDzmQ VL5Rcްma!Ӂ2 [\zdigߡ7y ֮kk=6ə0ϻ+ C*K(+FAprv'XxVϺ/9\pmt?E0FAC*v%-*xTXFipAk *"\+H ܖ_l2FceZNK?{ʻƒ̅BZXj6UVl1˂SSR&Ѳ OOYߩia>jdPF8(1Wʥ%H0h%_AbY9\aքYTc.&YH_h\Ql/hcpENT5r >-~[J7iNM__aԕ!oն,U޻UЅⅵȤ]Veٔ)Ktr+7LP2뛏v=D{uTjҎ387˱ٽų1_;2ߺʲʺfqu[AMwyˣs}+5++2kk=w"ṳU=Zoؑ1PZOG&)Btn!YaƘ(!E0VN,!aheRbgy]XX K~W,qO9<(OR޷CXq0X}EF_j2(ܫ!HYs}\ũ"zW@k0),m;:$Knk%j c8N˞g5,E#cMȍMan>kd|&GeݥRV]!¬mgkBŦ&l\yJ5uR:?29ET=v"}wHt䖿=:m3?zuTo^Axw cU|*WmOγUe[6rلv6nn^㷵ؕU8Aa{& ^Ay Axe&C!H쒝ӱZTT e,i6[=I3Qcf;ibeLy9>=7F+ /z99wݙkc52r*nBTD(`h DHNI?`'+1W= h]5mx(>~ SWJf:8r0z[,`g6zyK Og"o1+/ /´ZBy32Ŭ̩9!v ~f¶DE&oa%lmY(3 <ȒˀRVž`!UrK6zhMP>l$:DH]f@0l4Fy͋W[[%t߬n|S#c& [^u lWzG_nl,{fw]+]Yw3ԬT O,S`UqMbEĶ8ώPp ZG?=( (vK]|מ.d!܅9 Lg`bLL:(MS dOM!!ŧtRQWDI&"UDORǢJL&36%XnK?пo_r}N@o̦zikC&BFWk72񼥪`/IG? l*YVoj##ϋnl[>y}D*v%%a$!Šƨ*r"(gqӤq ,XˠE`0\:#QT*%-ѽ;茺y!zÖdGl{dߌo׺QK`b~d:I^/ isȌ>#Vh+1e\2wR sd%`=~o ݰ2Q_x~Y sI0(u|Kz/2;L'aˏx[_3mJkpZj?FYZMCw>1Y%{0,Qb3 : | ~;cv=\u˱ng(q*KcjTŬ/;;FV/eQa{nAsv\໐DRa8vm';8vEj;T/svh5)c@酽Y"06X~MMaN!A&CmWr5X 4j Cn ,r)M*'Fm2 f͇jF{oJbq6nꬱoc ޫ{Ƭ ƈ/}-ܖnܵ98Epd~1갊O<ގ VگFi0! lQkltA)[]AC #D<%e;'x!$v%t$l0ĵc'vh$g&֬ WO>ooVKޱ2ш)ߵ0~|L+ypDƬhlBg@u`Cp=XZl m ?~*am;ݼ1vnb@6Wp\l"ED /"M)S@8$`OP(Ȇ#p8`{8aΉId0gyY* EJ$:#|2#9{9t$w4r:x_k:lJ*W, @jĆSeDfԆږXPD@b0qm۔ _T( Ecrc j#;7iE JnTrW}xdz_-4Z!riO]C}|T*sUlxYd G}^څg` k&q' I~"UfP\©5}?Nyy?+iXbkih8+s}mS7u ??ۇV/Vw=%]ԧ6"Bd'\ \  ._-m=0܇-!&9Q~THu&5$%Oc,2JhȞcw\s-܌5n#asmC@<8r']` 8|C[WWzg3wз3poZ)r!3zȻ{Fx<$l9/piLsU"0-`327麕m[o[\[/ﰌp, ߵ@),Yx U e䖒ZeC^8;2.p95N ;Hk'p$ j*%5evy\$I<{N BGʵ l"x _OaG ^^ƛf Ь cn<``zȿsXX:3Ίh,n$ jjypT #T] @5KFqR[%a׸Ƨ Ë_oS} 8 N[L0lbsTx$@HD@͔±flhV!)J}TDHx^O-t&xyyˌiA+7LbEgU2>eROGLzB̦YwĎ NSƬ;ϻQqgԃoxVƾYܺzdj>5Kf WXZL2G,aRμ(db-O%wlLpv?݊q"! <똻E@ Mi+M!Z^I?a} m̤h^2[uRk'2c 4M2_)>~5ʷVIN ZzԆT'DRLlV:Fr*Ye]Io@ߚښ~M뛴 ZV2%S_G,N49t^cT,[ +g> _R].Yn9}[=&au癷 +sы[g> <~¢ ']?T:$Ora*jL"aI`S(XU?rqR;{T pcB'hpsD} PK>m#AS聵L҂^Mx64HZ2"nlt2w5N,>[Bq@pvO\dXR." ̣BJ3G~hIu^[I{"2HNjUaOw'_NFstUѪZ3~P]bM !5KкNSVZLq =Fxuwh"j]浏39:_{V{'maqxr-XʡGŮ]S{ۻ1c#(}9n3v)w/OorDC&YC>f8س= ` &U՚'t!>O*S /-\: c' ܁X=7&)+Һ J x%mMOycn0SO;f0 "0F!.1Y1e9+Y..IccF,f;BbhܾO1@C1v-昸e& 0O  va.Z:gH(䥅IjlZ-uLTjgX9Rq< kk-1c;%vugILy̝^/ÊI6+g3 ʲӨ‡h UD10=UqEؿ> H` CհIfԬ_j\gfjpI^㷙4sFʘ$c k PBZx_4Q.m3TYcwAVZXf)5Hm PGPj/) %=gf;Lj+`[h!YZC1ZS5 df!M-WB77jF1]Ժ$$7g~ 럋&:Nu7m<Ӏ}ﱆπL9[_Ŷ{_uҽ ZAZx S LMZ|igYGvYxiwײǢg5M2~<P n{Híz7%ҾaDKx ]ۭN!ˋ&[s7l+RذgZ9Ӓ)>[|{s_->Rw?,xh,b7UK1|fS۩GO) b:<.J|;,=Z>8%)-rp{8ܟ3oSM+·[-)H`Djl~ɬW0Jߖ>-C}Oy](Ɂdu<t6"ɥ `P 9+֭Z}EfɡѡjM;NJ / S`4wz8VM43oPLt krƅ9H IFٌx%8#&#PthЩ44ϥYh 16QP(euUFh=\MUS L6ˬ3Zu'x`mԁEQmy닫:Ra37OiܯD9er9)H%X$O0f ͻ#WcCdP= e::pd9O^-;: c: C`ԍ#c't_.n5E뭴:2IUADC ş!j35#dtMZ喣d:Һj[MêR;9ʐߚ-nHVw.DD u ?յ/_=wv1Y/gtj/ܿtϞ{Uν򪤙:h?|e-6I~*~hc·&TK;DyqVL{KyR@h wQ6Ya^Q`2zƟ wVȞcN>"$'GUΨڵ7TQJi;&K22ZۺxxQ ZLȤIbʥJ~>{GAf:v4ژݞ}>ٲlv'"T-T#*G/u~UܷPbZ`BH;X$y#l\wiV\SVtmf99_ʲKb5Kv?o(Mվp(=v]GLܽ]] ˘\jtլb+O%J@$Ǒ}VG EX2ŪDnc6 %klbomJqZ?j2,6:ؔi),g$,k)g0Y/),"&$taJ͋/﹢S]KƞGIW*E'hίKB{zU\S"O @7ٰKhFYm&Ș @)'c\0-ƛ^a7b jPM^u܂/ܒ'-؉1`jd,qYܑ @iQ?95OvWl.&OQFVmIJq|g"b4g IFI|RqZCD>TvJb9Q:DF]dE/#\2jsm-6&v]/r`a6#;ۣ搓ZBy+H'4ϱ$@/ UȌ̷eK?d~>u q쓩K\6V\6eNtNjkzS=1@eyRr* `S\>%()^T}s R_]W91bH[K.0M0=]8Wu퇿0NuǏ ڸaü 才Tdt5?ғh(CN2IjemuAK|+Tt/gZ-J2Uj!PnYrwnh jY?-"`D:sִXm 攓:3QKOR2 OfjN}$(0_#{WJJdHP]}-vZ6]ʚkTiyG_Zڗf}μԍGU_{k3 dE+q#tkZWw;ˡu 2Su軮~5T8'_.^4sL@ߩ0|p?~ZQ%4H͕`0qvFdZ=(;;SLxQ1.I)_1E`p&1u87CsVn[-)UV<$xd ۭ0nH~ۍ7t:|nosd#÷Rg|7u7Tg|'unɩ‘K')>N|HhBGN*3u_J\ VI0Mԍv v;k S0TOZ3J$ZU[A#ώu'8Hˁ0o𶩳sdnɲ|%ےĎ-;q&M4 ^WH ҵrVƶƷZ҆F7.B]m 1` c[W`INOt$Ys=z!*CDn"3bfhB5[O5e[swN_aR-|aNXL {-s`ꪛ}VX&&ۧל)0eԡka)[6'iq7zbT$@ʔ[dG)R }V*{hb uIYCӨFAʅ~^U/IRJjjT nIr^qHbOL(gǪttծv%P@SbI,D![qJ@,(I9AK$rNLY~08=c٥񘀟źxc=J(lbI#G-(rxQ% YX>耎wgwz E-0Eȉrz.Vma7SM|k k^Z<=07߻~*tjٹgB)Lm!Op2d'~Wq,kd 0cpY `'Y8':biNhX+W@RqIZM w;e&xJQoJ ŊWgN"\z!6e؁,8zRxlk y^b%J>,{V$az0UP ES"dY”"eGkem"lWx_SWB[ iy -q8h+e&6dOxHb T۷h݇)ò\$0 ?~9Lia~' QJ+.;mQ{nJ=ޞ}=G{(oP=}#I2ϦZo n0)ğM19D漦+VZƝn S2eKQ5VfF]^]zv[4^J Hd$6+] +}q)K{iggsL@y14 6n2T>R)w͌dOXyՏYq̚s}%Ǐ:Ƌ"NODc1qO so_59W;Z,[`5ڐT[g.͟:p[ԮPs%]>-]s  ;4/ͮ9Vv3X؀8],xE/n:P  gZ1^oFztK.O6 1r`,c~#ʼ,' 8k,me03iV<Ѥ/8)`g^@a@` F L`K`K`KNTW@ja FM-~HDELtY0ѥ',F9d1Xjhxʘ2cʌ'J&tNh'|tv4K6b85.L00e)Y)uL)Y)1%ր6K&b9S'i]s\+p$AGge[kY0h, (%>" y,sB f fH , ΄3-.0õdvvs;ϣ${mH0E$ |0ed= 'XWo}'yef+Ĭ[Ȥ#_xK?~ 0?c~vЌYԤe0`6bRWia^cse|B iNӎejZT. Z<tFr2Vh/eݚp|Jewξ5l{ځoȼJMNV\EooW~/ a:+΀?߷.㛺Ol&z67¬pfNON}*yv~U?i[-+*\qޞGΰ[a@RF H/|N Hⲣ.<ڻٵZFF;!8.;|) hN AZ)Tф,m߰] XN.R.tul|xǟ"#b$0t[τ=~4R'Ԭ6GD=.=u4 Wl~uB S vlE@,bI뵝N_1jFk8K~܍o! <~.]#ȥsoP|@qmkf8gͩ,!AX#k>p7;*E"d:ŗx&-3Ӕ%$ A, ;.FXr(EcZ's=ʼʲ!dQKE~)3yp 艈nl-.I&$m]~oi|SDKd°ɥ~&$JoS?Ǟ_t2Ʉ ǨfW=JHE[9W==,hZ/*PѬ9ݪfgƨ0KJ卫7 aV?~hb.`艏~Nhz`ɅۓbNl4JDzl "Sc9Fz-u65醞N!3C_:,:$*|4k])93^>~\Wֵ+pO<ؿg lvM̕zgp {,+90Svv!}t<LJLI=NR6أ-CH4`-Yr 4>p>b86p˰Xu!讞"o FA<ѡ  #eGxp=m:~)tS񕁣+'El!}$])x;=@市쮨+;\ߊ}/6j}φR$$I6$ ߴ3VHLHlMDH-^mw: &g6!j<v Q1DcB!Z{ 20 p bP`N1;S#1~b*wVUS +H$?X"h{Lcvaa}T=G==',3賄;/8{ѳ[.P3Ŧ1c g^'J0vԛ.- JaȪ n+U~ŨL{aя]ZGA.Ba }JR#[E♘T 2ct-R`̭zX KY< #Ғ .d끖VgnKb(u !ݡCFdTçNF"~}ހ^S_l(fvUS˽gNZqnB6x(@; 8`Z5Uue˂5V~{ĵ;1o<6} `,^ZԊE;>ppNɁ&)Dga6 e OmA_2_@ fi)B3Wj@S"+%IJ0K%4e Ԩ @^M!$x38OH) vBY$4d8!'Dp6‘JQ#-",4 a/> 'Bq 8UQό1d2$t܈dԈO{nNSIC|F2B:|Ϝ 1~BG&t.%Su57;.c\RNW> JJ]7']F2_lC?^[Mx>{Ծ/n$^p00E )jP71wg]ĸN?$N;)#H .glZCA$}5Xp5R@Z[iR;}oiCTVɂdn,V iIilڎ0P!d)%ɭjEj-, G}DEO&H瓝%u~R7tR^΂iMH/*,x<^G\n~*.qt?>EݽX A .o/zG:}Ż Ack&.dp{PtFg&GLS3a\bntC:w0Yn\3sA Bzwsσ*P} pz>~ 4itYX&1î $C(YpAf*a%L.@ PaVC]:=7{.y/~WԳ`Tm8O}y m8厅o}X.+gX36u͗O!^p/5{*-(R,LVYo23rx !~M-,V*>4W_V{j߁8U=mX=5JyZ7,gym{?^n6^Ն_u[Nk7yd!kdmŗ=ieݿ,n݋7Mԗnx zg eSNeB K 秉WONEɯ[C]Hl?,lDmV2)莍8V3Qh sk.zŷD:X=]kub#FJ~Q9R˔DΈ!*Fظ $N")T ՝)H >F=);<;.9Sr7ҭ%^7uUYM+5XTo^݊Be+і+*3LpD9PuX`eEΊWVIIuϩ,Ietc ʷd ,DZ$V P(k0 pnrם*pO]ST|"h" ۼ-",2f4Q>b2W9baɵg8ӭ坯MX>ogjUHE_㒜Hi[WDH]}XKƵt2*\OF V ߊ1 ҄71r1pa'2bи*fP"FQ^3L5zH7M}2 Apǂਇ>-icYgA,9ﷇ]GwW9aꮃ'?BXV95=G!_]^yUF,YyOMk9t>P;{c?c{cpG8%t?G9t`,k<\a`K^{݄Rl4XBjR.jaR8.uMm͟_.DLA?tYuRkROX̤cLjZ*wwہwcdw~T{ɸ?q=ANVZf3۠?w|~{{~_*惖rKY!{f-r lr0vmJs~1||Vl? Q{𦄏jxgRE5+yJR;dI`3lcWnANph{/]iYu-Ͽ .v/\eGV-[GV-_ꑛk֞H84v? ~ÕEV@}Ǹ?՗^R.+Iy 9M--MI>7òluMw%b)pm*H[OOEOvAFt"‡!JGЕMr{̍v@L*7ڬӗ^VCk4k$Y`v)ּ߉^=~rW_dg\kWWW]zm/Y'FJq . ~,Bb1CސG3J4dPdnΠ-Q>':;᱑oUnl@E^D1T^_+hf?E3| ARPqjqNgWwճn)$'6 ٖBW#ܻQX ^EQOP[%)H a!1<(Cz^}c3&fu;6ԬS\)k"Ԟ q/=a`nq.hz#ApͷP 0C&G:pkhNϠ/):AN00@.Z1{yhh$<(TH.{űŒf oh#{rd2]'v6kMo^U_~śϽ-YkXlHW k)ޥ!it#33şަ~x TƋ _E6UQITB)2@|q:؍eĄLer5fP HIDXW7SD忐*Fc1Tȵ&[Վ(+m̞e-G9ʨ ;f[8VV9!N][[U`ȑ[N33UNV:23K_lBAآTI;qځTJSxsQա$*u-Q%4 su~zv:9җ%\?sόU]/muumMmֺ kVSKo;9V;^)hJ5~Ƭf0i2PCHth1)iσuj>.BHZgBAUtĐpk%i41 ^k 86 CycJzdNN./f,5u^)D˚[M`!nm2qQ+.X؜VjJ_I)@TBW(T*LP]q/ZZUj2 N!6 6S+SOHg5 7g0$pRrJgճUEhOIm\>S tdqwhzGG<"ўJ>sR?g~ˊK.?ʲzT(/~"(QG%uŒ߯ȤR4q,I%6\ZYt8>EFGaQ\qq\7}n]$%+ `s)P9gᐛ~p}#Uq*8#0ug!eT?[ 3K۝4U]rJW%a4Z7A˪4h5xD PA Wr 6@PM,U{C_\{zY]q3ny%t~(~S>s'3 b,Ag"єMxa%T0,t Y+\ /rJ,~t=ȋp[ĕp{>kGzNNrU;l9{LcQ[iρJ]AnK>.%"YHDYtx^7 <{*Q]ZFDGDQ+RUI+ }Aw:Pw /MC#\gѵ^ ehftkRYI6ԙr ~w7Ojx+/jtIJ:C\h_cerOGY R|ո}SH 9yɜDLX N"21e{D"O |$кu. /JAsyn5fm ]mK6f e χ<*ĈgU-g)be]_ DW,p&=*-0\e vb_&P C8IgXo:~6ahEhMMUZ/u)Yv/u$yx:wձ(ιH8rt9{)USݝxSj!Qw xOW!T '~y0V=+xS+4q8cTJNx#a;NtZX!U6 >CAO%+).8GC6_[ԉfxƗej-Yݑi'@2W}%嫬qH32G*DzDT76 J]Ʋ}ԝSɂ5'=ŷIMک`Y%NDmRI?G: rM6 !,VQwVJ vN)m!@SkU \~Q=5> }H`jC^ .aYpQ(J"D:r H0|A)P\\y_\\OU%t%Jrm)^OYdjuHc7{SZ֩jZY,h/hpfzTb@`+1G>#-RG}b,C*])pN3GO۽0:e&_u ;RANOҭKe*'HOeRo7,mג}A њ`,l1Qd_d,~ 4.lPRN]Lwn[Fk:H*?7X+jlb0X[Meh4[B8ňL3-BIFh%cu>hbY+9CWъ„B?!T4*%YGc[܊ P-R*ӌBP|->&,~]E/ v.ƽKME~ϕYWhS<[_;xdQֳSc-%2K/hC'G$^R;Ѻ#3,#e?ZI'/;8ݴ6GGXZᐭ<6p߷og\yq%5N[s}-^~p// t7gj>vsmٖGjXm81rF *#.GjXY!!%.! .rBKTC.m,RK[',KKa'LMp@K6@[:X^n |hBz3ZgzΤ ˾:UGĔJ"B2&xތf:a u̅Nt֐߅sRLI B~Ux$㘝 S<^8nFSs:|O9gfCk ktoD|sӷ﯈8plq?;p.z[q:܉GT8I{z8zz tZ3w}./ +uXR;!a}g@zbDmRi/* ch3W6~ ×e!s{qXׁƃՌy*0.\9[-Ul2'uG =<)>}fzMxP{>{=vfH7!()toӹo5 *Xf&EOa!Ig TBAd7)0%T2!Qi)6 c^\B)~8q&6.G?Gq LhTȨаr;ݻGvw09yρUS hۮ_ajxpljZKE[#o(T,K Y0ѾD[LtO`;3CvzNɸ$!*dHTj Ah,k.u){m.5>~ߺZ7}> WT3 ‹zV;ؑ Sj:V amOr~*X f+ ָvBw֩ Gv) 5.&8\'儶nk܂%G ͥ[)yԭ7ئJ8}^k,NB_5װlKWQ?|pstDMz\BA(F'xbj5tJ/tnx6B,e#n}nFp\.ނ[AC;+_h3 %2nAzbYEiy&aH>xL@ "*[Iaw8M.U1Ie2^~IV&9$ VEx\Uj)rl8Թ bQmF>J "(&@zd:%v{@d:ϫ->x@#$C *T?Р8vrkBܣ YkcHօ.-u }:Ă[1Av[aqe2*L|ȑԻ7 !TQ̜0M1 Sd*kh4Ǭv9Vi1i^i5Y&i59]׫kzO=]_O*lvI&LDNv2't3Ia@&׆Y;K=h0z\B֭βѪs/fqР ol_(Ej+EUV Fd])HE# tU<3\u]@ ƶɣ+O Q6RP]MI_pm 4}:e=a$%Vv>-HI#p};ESovizH2JʕQ%-WJ\ :("سuO ̕KuAF&Ւi1pOH֭s{OS~m@+%<_ ܍/I7O>ko(K o GD)ŭ$EHߐ|Ci]k_+*Ov4ъڊtO72d~%oiۭW>9+!yv X}&P.OњJc۫~ԥ:G5 Ÿhzakjm-\jB{uzUi;m.R_%o'7|vNi;mvNi;mwZNi;N[1fgϼv8=.i_n?Bw/vTt!: َɎ#;]n>û];_.yĀ~ASC ߸wY85f;=dz7e@;`_f~)\ٿGiӟN'3!_ o%D$CЄwy 8oZ?O =z u!O yúNȯ1<CŹqN<7|?p~7Mwk୧!OM8yP[u.8a +{Ij@zA-P3Mx1\GĘ4Ҹ4n?[NCDnm\aȡ(w@މY >wpkMXM&LaNh ZCy?.> _NHӹӹ$=85^8ߏqȯ\ 01"сV%;ѐP0Md{yX@GxXH󰈈Ra1qc yXJ_JYwHeŏy$Ժ_0EBaa n< ) =zA /37򰀨.mHNay锓 ׯaE:ai['r7|"a·,$&K6%ėbS}ŦMzQY!Da"yb-'逧EQ><6bCdw_&SOJH=4 q0C9O?~^vhwSOe~2 _~# ha2ژ"u{0`Q иT !&=3X ϓPX[yڙ9ep/+P:EO3 xwcV4>vMH:ym#~?kc'4R]P|ÛK Qwb% uaIT"4 .b~g({fvg1Ax;9/5D\*[ F6Zhs!*@Dm+#vNl 'qR 5ۚrgUXU=2{?Ӌ$]֜m^`>q\ nqZew J!qQc?勒<ʦ)bKk ؾf%q"ސ\QoI 4WoaoY 4ObYעkm{)m -cʧ6tuIW& N8^q%$:yzkrIzbT4W?7-kD~%9,$/;i^W sXqI qv8 Wd]q3w. cRlGIAfyaȳlinlKfQή8K}9Ǐ(y\<<?5aZ\R&٭濢.#IxcVp1i-cshJsņ|Jц6o-a_j354X~k%T:Dt^p x,쁧Nv&5F^<@xB>aM0=AAh E}tAk#f=~Cotf7<#x\;DQ3eRXl~_m!Q,SچeZFmvqgcwa7oV_|\纮s3(5C.4?djo|aNRSAi}_Tu>e,C /Qqh%?cF\Ŝi4U M8?斞Q7iԙqO&bě81EMVB&GM5&G=KMA-Z5 w|Yóٳd_'yj3gϔϕ>WnógϖΖa{?hV;v,$_-sP>~O5B+_O5?(W,|OS>T$Km6R;N;I;Z}Bv[H;Yo|e̗BYF.iAVP>4_+ir#/!J4 #nR'QUڒ&'L6LC֨sOm)ڞEHtJ4B-o.eA#&omt#WK4^? }>‹.п կ;k^ߥH]vuE4]*DEah o&銚"t]ٕHF=C90Wz@m~߳c'>Hi oyBE mzq?^&ћHF Hi&JsUu* 'BIh͐ll N3u5RRڣtpyK-ҏJ/muح[mݼֆ^j%2kIX-Ö6m#nKݶl[ɶmoslYS6,,,UorFHNvnY~癝v**,Q[>V\[cvݰeJʁ*S* *K*+OT^lgĞ=Y{Vykϑ==zUJʬZYe:]uu~oȽ{ݿWi:zzu^uI 7a_ʾ}%P_Մt`P- ݠкZi=CMk<^c9^㨹~}=~p;zk}ԲBz( C- zGuZAT;'h5 (htk$WuՂ zB&A?wT~t :KLADP;Z=,qAwn *YK`AG:AG}JWTzJU6xzUD}ǃUx*=ѤZGJ>xŽgH(G`_5US]Нҏ?X|څyO>u] \[<i,4w ׵To{$y8eX7lZUua\ioW7 3pS1,v@0J,SFevM`pX| 'uml6%@'fgfgfgfg?3oOp`[(u|Ձ:UW_u|Ձ:UW_u૎ߪoe{1ٍW`7V&m v Bh2.W+z5`ˀ77xC@p >;8 v@&q掞t$l\\BvЃ].6oہ7on/P ĻZP;@=;8hnST}MVmvCF~#E} <2 p\@owU pW*]dp,82؍!UvOH2 n n n NF6J%/`7u="Z( ?4@_diy RGŃ>xm4I)@T[lVFrq Kb/aq &/K߶LERo톱톬 ^!G=yNb:iDئ:@VNAA*'IWH@VlEL@J|Fz-_6+H:qSaK=ھ@/2U]2}yJVވ+4tA+ Qp`$p,tCvuQ_v\ / R uT \_@UAW"+S$j#jy=Aɓ(yO"C|mv؎c;JWv0fA?RaÁm"x,^ .@BYhemB#ʫy}i! VvvwͰa3 Z5CW*12\ƀZpY@)]v ZO5<:k:<#򏎙nh֣zXb\1HjZ8ԣ??BJ=zVѳzZcj8XO )LjG`)a%W|%ʳS QjB|F[ R>oK9RXbJ(Ji$VQR!W<93XG8 NI$^E[fV9Xr^*? #,([I ʗl<Q@8lמ(DFpO9Ӊ>EY(ъNB,3ඥ&yh8O"-N ƭV*4h<& hY_*Y@f# GhWxڈ-h>Wx-7"+Zy7 ܊'t ړorF<V&3h-!}J[+VQ,_E^[kwi^0n5> 7BVaH+go>ݚAp 4$A \ʭh9R)l6*t?}yKR%څ:N@k3~42ۣo!ֻD/a F y} 9]п\Lp'4ъ6+P+ӫ]?INVlgje},jOߪ2=7yk?w=/y7PK ,o hE-EX> &+h%6 l(R\Cѻr$G_#6k#$~#:TEkuvaqv&o9hu, 'AJI"|nI95:5ъO%1UfyluBJ\J?֗~7GbY0N tՊl6۬#sK`t1VN"}0`~l!4HB{e!8+g`ĊĊu+&0o[ ΆcDs`Y >aOVpL T9OUA2A2~\'dp8N@X,U9a&evµ r n̷V@+pvpx QhE?_Rc XŌ`EV> P+>N(] F7#Lٗ k WWaݼZ&szW՟ZGI )퇎݊Z3Q ܢ۵1+__ ?j i; mb'.6S91bVؕ{|/ֱbp&|H:G:[VbhQ@,6;ژ]~0RXޠVhLZh|m6 ^&73 [-ObB<=d Zހun) !B/Y!3E{.t uwAlbFQx^+asVǽ։;Mby~y[x)/R@|ѳ63/;[Q qn'藠Kd/o#ͪXI \ \ \ \힓rKKKKK?)~)pyY:s?c'qS׽qFeT^ee +:~މ6 Hc)J$rϩ!qweaW~^ե 5ŠPrCQf(w3&[nK%=?8Y"~ڥV: sPvO!IGȵ9VJdzq{I{k1h.D"ĩJh1E~Ϥ65G$ǾDjҿsu%v$q <~J@}!t_C~yjxt <SޖGѠcX44 dX N)?쾷RUu'_7`k3")x~ :q8֐l?8d{%^0jQ:@0Iċ3xe:lzCHz׹B8㑮/X4B'b(t͸bـRVNb1Im{M(lt$LHSnBvhڎf@vk2;[P@0 Ѡcp34cZCvh}кZCvh܎Ul/΁K86 I4IlAhz1v80N)gc>6_GܭA%ٿ~3H$߂Yb9(|d a-ǃʀ'y/2,Cø~_RM$G=>!'KD%J$%Q2 [&&_'R_2@ #R? 'JC$D)$-2XzGz<&} }@Bҟ?!9*5IMd䔜dtQHFHHҧҧ$LF"%cI%T"㨎 5HMI4M{ڗ#O j"q4@:AtL$CT: 4"It Vi:M'4YXݽD\%e!t-]K6cbdqqyeٸfh,![Hqqj1"od&?ȃ;<)3rF # < YcS~J~|L$^_K7'LDrt i@ na3!壟>Ly`@9* W _GGgLT镏~!X+5Y+u &5t/*ہrԩB 69$Ay5|?=2aB>󠻛ֶ4߾ثz[p*%-u-GlZ. tgW;/ح Lu/יm67jүkM-!O!T-k v .fplq-sV6lg C~黖Dh:3~c5?0í8~1rq|ߎ0Cs G{ aZ%N8صT;HPDX5nFmt3ӆ8:m8ӆWp~N͏a`laPi7^,GxG|W}2la hW(xx8ā5T  P ?eoB`W^.ޟEkĿF\vzt;dRE<-x[|+#y#ϕŀXXɰB ϕÀwjn~Q*u8>8XY@@,9ukxCa5+8=qѣE󠎋>nvWst2৞r\p;\*%s &kq~*:w-  c?Vqp#r?aHOa!WH0G3`|&qb%|JWk{lnn ~0#gc ǸUS7g?jy݄]!?f0nna qLT ٘frdR8\ vvfAq8psa:Ő"5g>_g_ sP`;|Ǒkhjӂ9-EML 4"l kjcpaW`@o\q&C_C{a= 렶fE-ڲ2tIz t]V< 4@a͇KK^Z'G 7:1|^Y\fk:CsOcV6r!bCi8'Cj`};ב@kx:o¿m #.\7g'觑?f#o-H~ywY26N-~Nj~EF{Aj~FG+MC %ku}~A^zU?W?WzS?_-IoyY'{I^9R5f4þ Mwz[iw)ܧ}ǟn%Yjb=;?vرcc>.(C[V;?v-WرW4GE+o`a;?vGg&ԎNac^ׁt&~M+a< ƣ'?vʰccIPnJ㰅ivk_x{bǾA .6gdo J]}0-ܟY~TJ|V>Grl#z!7 cyQ\YY[Jshu8bЏЏ"X +9m6zeC ~(1y@%Mfsν ؔ MȠ@=@+eX^O% e0* Zb7,,Y 7գ3H[תԆt߰:z8+W%7V`"`B QBdB0V&2B24j1CwÈ6!Zji9Z`LK(VaB)39z ʓgAڀ%iܵ2̓?0,k{7,P\NwXzq.\g)TP5jDPR!-@F@h-*,Jr<*j))B]>t荂7(~#7mvh/kk94%5W'\$\.O.vq/XDO"3"PL4Z2Z%"c84x.>bs \9թ.[kkk+ =!Nxfli&`~GMzs80x"t7P@e?E^&xȟE E΃ \\B%z"" #IBԑo Q\ԃ$viA^a U=HP>+( DOWX7 jC޶W.5׸rW߾,y7 ~ih{u!gTN~!z,,-yGCJѕ'0@v, ^z[ mA+:z۱:u#]ȠŌ"]<Pn3Zwbdd(9Kq&2GiPgvf½w^XݩS-g>; ugͨVWhste0Y]LWc>՛5:$/SR]9yAwٜlusu]Yzj}s8 ʽé<|3iHxnrYZ'0 GGa-#s<#F0w]0w0_ex9e +%rƾ׽=|g4yͱj,gh~kOl~Gj:$3m2Ő6\wsɛӮCRwazƹkر :s]Eh:$ֺEX][CVPI[oC+ jvP2١4k;Pk2}d ^r^ʷ Zf֙ECgs2P8uǝ4Tc]wBԡz;cHj}0ܹzh .cMuf]pWv Fs݌l4VX G MCbw)=6c:a3%MiۦLq)n[7c[B#Ys@S}ƮѦmS>E9l&e{t88ϲEuS.lŦuqS7e[țj@ "{Q Ić .m(zz<0x{ހVMfÛgrU qǚwGhyFǬwmDiv,y7G6֊7(k$x5Mp ֱϐZE/E ( Յχ }}F-38E_] -#ZV8EC@/?:DzL'#Dgҙ,DM5:D_@tP _KQ0 +o({A cOԏco>cZB+ddo@$8y[.._\xWqFQtq⃋/*!(QE2VgDe2EaU+'gE9eV٨+JJ٭U+FUR+3p^:å*.]%#攋)mrKHx)ґK.)/t)~)@Gi;JO:jB%r3z ܍ @A*$2Z'EEA=^ z!t6SA)AAAA4(+( ʂjPz-\9 =a)'welP gll(mHV('Ɋ4E"GqJ(TeJE^!U\P*.+:]  0+ bRqSqKXV**6b555hklkBkbkJkzkV+%d!}Hg R?ϢuHAAŠW^AYAUAUs {A ߩ8` Q*怆}uJrR^Q̩^_T_#9_Q-kg]u{_ \/Rs@-B{0?|=| s 2b08)̏|y W ?)?sc}cDŽy2A>~2||ey#1W=)Dst$SՁ='s}rw./A:=7[}#W}#Oo±+y^xy~9/<6.!<'b󶀯qQ>Ng哻;u7W-}uώbuRNaR坓zyMg9cr^.#7})UQVg}:u#6֤.uqGȌGwC5u]GP72?bSwxלN&:}Smͫu.\F۹ B?(YuTPj~^Wc- U YM2GׇzfR,no)|v zV,NkUg4>Y8kTǒڄ[x̝wmkj=DǦz%Qv:iҾ z3B&\:˃$ī;Ow|d t3M#"zDSm~:5B 1~su.\0oB}g-[vz`=>6uu/Vλ9<|;0d.X_羵?_x$'ǯ^Iuq~>I_| cyn >mq*th.co2U% c;(o$xP<]yO؞V[s싗9G/Θg`ǪQ@z'7OՕĮޫ)tQ} :ɋ`~|m#tBs'-?'*'*?ɳ-y2@̓g)&R~s%'$$OH~MOH%'$OH'$>_ø {Q^rjwB66$4$647d5l8p\CچyCsJa`mp57L545,6nӰpaQ#j r!TD>"4?ˆr/-l3 ҋdǛF]yP3('`.t?B%xk[PB]z]Vɺug /\]5B5) ԩzuP+X<>È HJDî: Bɐwf<OP8: )ADȗe ߝ=P4h^ :J>Z ŢVHOYHq0w_PTzeoCi q8W'.Kjq7[mvF|M'&MOųyx`M|OY!E0xSlcDL0p&sIfp?Pj|ɁvH6N1_dSdۙV;SHd'Z(N ' 0Ĉg ׀gy 8r\&'\.ije%I!- u]r_^kȝXoEa# |<'bFzL'=.MbJ3\q x-ĶyiTZ 0"i6aݑHۈ4h]^I:$I=C 4JtB< fN:/]HפxnV-vՠ\ xm̖A~גxMn/ޘI[.| Z(Q,39"hmU~G._A}y$9x>~|`L`t>|i鉧3|\~ֽ(m j$OϏU# ]UR zHRH B R$\Uuj$$3$$/IH7whkrK /@\De^(c &zaF$!σΡψ%\@6L 8J9_+jv,0IPtG{JK90>*1Vy*FX+sq Q p-\}b룔jR.O~yO/yp5ɞnd}PD'c^N4`g|uy^pmӊd^ܓ ޟn}k;? qe{@d9Hc&$և{QȒ]IGrpPčEA9#胿.)5r_jb>a'(i%~H^09,|'9s ϡp)PɵS# [ߘ vgZv.:Ł됖:'nf {mf\[vn dedNj_^GXdVw]@ poN7?˓=׃ rn\ޗI+r~L ッ;?qk]Ӫ1Whf@,  +}RgM}6۟/6f${1 +c'}X'6nW+׾?;c؎%_ {=q|zRJvu6O #| 0^ǿ 'ܞЈ!D4Zmv^F]5wa= LC݊i.Kwۀ*JWiS[ }`Tƣ+*R+2*+r+* *!VWTWA*`MM-m+U|bBWaUx*& XXXQqHW؄LN^ oyoE" *'EDH!>.$bE/z7Sχ>C }UOæPFt4 TSC(փ^@fQʄ[upU|ᄅsr3lx<I^D (UYtR&Z"DEYKCBʆhZz C:ow.rw.@R%P*}|"|(1IItzz DQ@UiiTH5]"'ԳԳzzB=O=Ž}|#RZ ETՇ^SQOoR:GݠnרAjS:J*(e@2oQ&ʄ(3eFߦUS6ʆ|;5j77wQ?~GQO}?PB1CE3*Tb % 1JmbXk%~XKc561V?c 5Z90g` I{γY]kgQ^?tT+S~'UP77--QX?wxc1QW//_<_<>I, _~E|߳sD#"so1 ,`a"~1=3 XmFo39`69#qYXGkF?&߆h36_g!M E~G[}#`K*aMXyTX=/UZdH$.,<`NhW}7`Y*=;nNhW)˝z-q _  @v"FzKgxy)m򮡴ےG,_/ҵωr&T|EhCv #"3W %W%U[b.]o7ѻ]}{=Z7&x7{O%\]R?4̥P:UJvxFs[xkiC;2)^MuSdn뒫[P{z 댺o7.nz..[ő>ͥDo9X*͒|V[Z~Zgv˘v[=J%R^f;qtg@|苷^?V}ک,7U~yHRi:Q''}FՅ!_7*DZ\PyHx~|YW~']\'E=r"ߔ .&XȊkdk8>,7{ |NGX(Ro81OhGGQ$|`!ģw|?.o[OWN\3六 n Cj3-q z6abpκTj9b2}\ }6ʏYr!o BO DPz =#/4GsP&/Aظ`$Y墐JNU9##y1eǏ]'4em7 ikT#?MJ ]w"H)T;/m2ÏAshK姉 M*%ɮ&FqBIcP/%ΏD<b"UB#MtOb["iJoUӱ[O:oŏO_aam?&i6xV1}zPsifKQjōEMQBSyyڦciVNEZruu?B F~TQS&:[5Տ:lyUPe~A%:pT8*Dccv|=pw,!Z:2p4Z%DwVjGpyL 5FyΉ Lr=Q޴3c!þ$ 2OT)IޞO+xvPJ͔bO?snNډ9ss̽q-sGR0*Ϥup>k ޽Y(t%kI_4%VlNQd^peͳ:+എseͽ V [~[/P2WsbY?n?8UcJH{i/};Q?>hyXo:XzQnpf?aE+.^iNA<^pɂI|lr |u@s:.x g:kJWXiS`QovWqK͝mhͶ?i[JI[*mM"՜7ߧ̼E֚cDqü{kn$GRZK#Ġ!@NsAW)FEqFAi-b]~|-6FeFя̈Wzivfc˕WtQtVit#ڈ }tŮ/izN>OHGqׇu;WZB'ď"~vNoxiЏ'|9%B߭ժZkQ &[|zV9T;H\\im,[!LMդEnfB(=͗S;RH;JӇZDG[֮EI5K[Mj^DD*cvBR[Җt.4ү$?Q4g:m_mj6J]N6Tkm -^%M6+WkKJk<]Hu |%jc|RR+66ĖkR ,5[kj<)錭ƐY=EBG:ݻL%6gl4 廨{c#>C%Z[9OndY-SEѲP+HNR|9y^ =$_RG龜tJ$Y2J Sm]WBǀc@^P nrFQ:IG^#Vr)$m|(,eyEΖrg$^f%]TFPr-gR(CޥBrFP~̱EUhS Q?u߳R 6-tƥOϺVq>[9v?erؖL)f%+lhS&)Ͷ\ɢZ%R_(J(TBך?e/,huZJ/V 3ð⸒jiΕ_7BfĨ@ɮϿ޴y{wo~xC񾒣%KKB[J|_MIWq -I*-9f:7 K, )YzwII{ˋWtLI*-;}IbɩSTg;{^l%!3 ?So<G~lX(WQ3ad_DCMY:3mzY3fBpE8[Y36B5CɣFy9`p> M F6 ?Fd=Gk~odRZ/XIɽIӳ}D)2?g#OOϟ>~Op_|OK쟽vyybgJŐHTR]JE%%%9}+`#R$tGyOQ\?i:'֊/Z6 Em7@moȋAmoAbѻqMd&!3vzYypϗCX-6e)s\XZ%+^St EWy2tӶT{κ>ΨkrW|bJ7V}b5ymWY$ՄW ۬([|s~Oe~\gkAĪ ; e61]fI+%x⭶kre5l~t^x3nCk3N8V;XqDa~㫠0QOn~;z[.(/ӮL+( h/0uZ$S9|Nx}R+Z$oxƎQHL UX/?GIT$`(?-o p>wZ/Qs)F3CN24 AW؆@lwj `|oa<60O3Pdu](Á؏{>]IFbt@v`Q]]X(ee ~=z? xV&ȑts1Å%W%i}^suB}ݔ7)%wmnܑ&Maw5'Wܹ}E[Y'Brr}^iPwg(*=ar>;bssyw-/!vr7n,D\n7OSӄfՑJA^dzktXMV.f.oהrT֚7ەpے&̋K}i3y 8F(:kϸ_7uiKKwǺ'7ݚ!gkΪ[&9pY&3y'ϧϊ%&N,3?e XWG7wf_qt ✓)&W'O^^s+ 9Gr6oK=]p՝F]5đ?;Zr?EMI?+'ˬy:r^9YfjtúX- f.36vIfsM)\<.vj[-)"w48Ff_8BO&̯KD~݁ߜ} 'v֬57g{gټe]81ģߝx&eJNOM<7k%1wAj} iF . ;an%,ibA9%ƽbfQfu1dXf">\!]9sћiu> 9,bMs:bd11wbmE֓p ]o:^2&N,X9a0s#SnrNHq M#">:5Ya&ޜ,g|O_;#2)5ߵJ"ZtUDt8LtUn.pv\ qƺ\K\3y0`ٌ[bm6o.9aq/^|>s坟hEa%-j5F 1 ;Dlͬu6El͸ՙMx2#!ܹٔ1*c3۹)],e;;G-dr\67gW+d@yDptvD0}gnt2815-mS2gTF2}_ 4\3:dDg49c2F:7d?`n~ޚ}2i|Ei-˵?UKVv!& 'Oϔ]pŸ]CÛkxC3]K]ɮƤǻFҖ"Mo—]\YfF9-_d~؋PW0ƐU JY\],/5|9Wy0{[j{~0e# -LBˊA zж[#?gYHq=i{]WVHx {!!>dXw)ܸKmPr{WŒ#\zW%ڮDŸ.3!һ2 sݙWMJpͺ?Y)4CsVHr\+=z ϒ^L_]aFIf-`-c*rޤ2E+tBwqLpnXě{}3eT'J!{R1x'(>Ȼ_B횁7zT/෡tPjPtm/aO( 76WӁC9f bT6O5|.iⷭ#ܞC{m418~Aajc٬)=kcX+[})Z~|cINqoH໽?}? _~TXV*p/e W;oqAԎ=$æ4 7b䧯rޏ\̿rW.ρe`84@&FWp;h/Fu;PȻk6@}ۼZI]*VkQJح"u7\V%wBooCG WX}wi󺺙ʻVJxPKay{e|xuBW?ɖܳ,+H<ɥ(Mid:?MWMy7,˱O@b!$sާ| o{ʱʟ!!K.]0w}c 6M-e9KBۅwΡg1βyʊ{3E MIB{fWaКG5疓F/d++_55S\ki'q6H|%A_z!v˨F0=yc0Y?m;0 sa60!s 7@kژ](ră 7B.E7~6 kݐ[! #0>ow~| ش ,m| `30>> Aop/VD$4001_g E:`mom+{ 4DLD{a ,UD(Bމ`6W?%<Nȼ׼ge|XF\M+#|H/dN3cnRS0QM@(`{p,x0=̜@v`|ރ@ o <09rY sb^hFȥ&qox r+9W<0xov /?SlF_WPG>hݐ_ 0 Df)H3Ǿ3xCˎ,;0W*K/M(ߠt>lO<'pny|IBEKJGI־F|gkg{X+6kȦՁ6G/S`E?OX1?Q]AUv,kA~BFRΣ7qY#GK(9ʜO0߇M=}$!bOȻ9L?U 0nkYÁE|,.C+F#G`meP(M* 5X.Huhp3Њqtő VyL30X?bL&corZSc];\Qz'SG_SZ AN0P]9h0A> ? A{ ޲y~PYֆ Y"elCg:C毂ɀwa*ldǁ9fFCU0c oHv`wh2mD-dg  Ob`\(iʨEa\淈)0ONk|sF3gгhἲҾÕY| (eUbAޕWQl]]}/Io-aK" Fİ=B@""BDT6<D&""I术 cޛwչէOU}]} U7C{8An/w1s(zjV< ;ɯ qͥ}QzkRkOsr`a u'c֞cىfimx 陒Ǿ)Mn-){z>`hgaI D^vpEfGβvA][޹ǥ"YmQqWrlä[7lV>=tse/tywx^h5V_B-ñ$IYVAAJ9;Ls3 X =?r wJƯZyw8-n17ꉢ-/OO^t2'N5Y֛rĶkEMJe/>cԵv}XҲH̀c;u12 jO; 'zq[B: |jiirN݆Rn#x!Y|!#RZ!,K*Fk @O |N`} [?, yڈXcc YEoL>w08 mSe6/x<9KhANYfϢ''Vr?Dd8_*"u)_C2Șg1| eQP\Xі)H$Jn8G'&dzby? #e p.W %[B;HǗI!O!y`&y>`t)9DJC=A,e)AV6㧶{,b?T` y4eOa#%yQX4`KX{BzYkk 9aC ^%D joPyFBO !%o!0׬OiTK~4PX>1e\[CO$R~֓(e>p,  ,{yo?!gʂ/x}urm x5)x Iwj~Mlӓ<em<C ZĂBFч:;rmjc)&*)`=lW @:|oJ\!#y20 Yg!1e=쐷;\ O?Sh1{#-{߀ڦ=a!Gwl}d[J\vz 2l}-SZ<; ȗC'2[VZs9;g{\_XNc󂺁U$G!'mIGÞ+!W% _E)#1YS -y'f,! Y!eu\[VhACEd "[jyRԇ2SRvByoŏJB@i+1A.&drJgs1"(zX>LCz=ٍQgKYID7 %pԍӽ9ʽ«'sD:(oXC6n/_sY/s\ᓰsK9rZFsm(lJYC*h |yA>0sERgy(>RĶAcŊ6#z)(WiN,c0F OMGI~F>Q"VZUeHzcح96oܧqrȕ 'o>s2dE\f-r%/=l@>,9Y=se\zܓ/.6g6Z0ڈ0[{Õm5[=+eՀ]OC0 /#+^Bx\Fg! q_g£^݇d6›Xq79/xܨK?/s)RP[zA΁d|q;3+r]grV+o ɼKy+9䮐nBm5TVy@W>yhmaƤ=2{ D}3 4A=gE YN@ -R:V-*PF4F?yyP*K9uԗ*aK8TQzR'V3Lݨ!* 3$>'@Umɹ~zR;I2X|<^mSIF2Q{yPp@(O"|Ŗ]QiN6+P6iWyVd[T6ԑԔsos(95JmamO[cIazvԙҹ!4Wa%5Ml^= 7O/5xySPYH``40=_5 8 8<<;4<:Vzm,,٣U ll?p+دYQI\4\:AOO/ z 6A;O u$`ST``w`?!#cS32lգ8x:KQTg_⺎z&_^^+ԝ'K^\/̏qu Uolۈeō&.;xܵFm3ω_3DȄ $LIX)H57{^\(hp߰zK%~K%?J)R7yJQ)SlN9rEE -Zb|-6l E" gW>G:bE`3[ɹ ^؊xe`UW+oށxE`'╁ B:s 9^+ |xU`?Ձo8b~|2K9#_8[oo}-w.gyo|r̷q"9["'}EN9[o9[GXo|\-oE~_,2bZO-rɷe"W|\-rͷȯu"=o}-z->%ǷKo<"A,4<M"A% ZEڳH, x = N{g\kt0`g`gY$Y$z "H"E< { ,,* ,,Y$X1e<KK ,ۧo]*ˑ+v%ʷ}]*yv-r1"U|T-[o"aEj-R˷Hm"u`E-[$H}" |4-cy=&ѷCeyس r0fK|"9 ϟk%upxl|šלC8[_z9#w_z9I}K(ugVNchs4c%/NC~I'K:WI 6崟}5"G8_WNL~5:_kt>F?R~.J~׈Ǿ+F)+3[ڃdDù~8pnXBN.=z!-g;9mrT!|(R:!g}]Yjo{ ߑ;)swAnvJ:ʹю>}~C9װOg}>Ry]jtR4oz%KI ̫(@?/({=)LjToG9X_+\ I]L'ʍ$c)7/_W9̂E^U‰Jqiʌ˩EH52F]&⍋wqzT8鿞ba:o]:O| &ޥs"~9]:hwNNKKg3VtƯKw |JcxO )6w5|&7h]:o#r)'Z]:grtn|6ݩ3rw8_Oߐ3|7yCAId?d #ED*1KxXW޿R;\'զv~uD{l~*a,.o㹰&:sh|nl5]>q8j0N 7[F. 3]YٮeVqk5̆<df3;̞f903(s9ޜdN53\s\l.5WkuFssm2Qyu@VG uZS%uMPTeZfV!U*gEYU+֪k%X DJZZiV;i[ +dc$k5ݚeͱY Ekʲ6XvkoXǭYuѺb]nZrO TPu9$p`PTPSdK 53)lvʐdkHk(nQ c%Ns8b/٣^9\p#U@Y>̡ (O =dI/}9j8 #P?y8L^ o\}+^Հ^79mY]ƁGrX#&6;вJg'=e>$dy㗷ff|6j9<"mp(AV+9HޠeWJ#9PCY!^aɛC8=3VlYv 6 Hwl|u.)Ɓu\asܧЈCcI9p6Nw{.r۸..mr&.mr;qp? qE\n[a79wqb&-7=7G[.- q˅熸"" #C s(Ρ$3ATr9W^*\YS$KQuHxOQ@MP(^P/P5YM0ze^^WSHޤHz wջTHާC!Q2*VTLRH}D%fޒ RϨڢPʪWTNU{F}CԷ[SQ^}OSAO'~V?SUeu*hu ]jFԉ:bucݘj& I:fusu2閺%4F nGNt7j{Ptz@ԙGGQc=FX=z<5DJғ$zDOSңzFt=3 J3Lz\ҳ(EֳPK=WϥVzGzOOzEzKjV֫Y^먃ި? u6wUֻZMOo7];sBO}L^g?RYL}e}__O' y:|jvPnSv]څ”i0]eeG]fWH;ڎg;Fkh]uigv}> ih'xݘ&M&4bwvwd{d;Τ)D/ _KSׇ1hM/;4݉p"Sf8ES)I3NYzͩTYNe2TulSp;iS˩Eo:z4׹߹rpyCCiJGGqqZrZѻNk5-t;=ә9O:ON/-v:}ӟ8;CKxZNr'rw;ViҝΠULw&vg#w;ָy].,w>vh]L%.w'jw5mt,viE}{=@_ô=-Bh[hYhm /CkCk);>v> }J;C_BBhWhGh}vv@dE:}F?Pd!&Xd1:Y"~4sU[ũjχyjZ,AmRvSQ!uDW'Yu^]Tu5u]WK~BuWC`=T?z^DWן:[!> o[:6m]u^(=NT'^v S)Tp*9N]'i$:MfNIs9nNO'pǹ//ooܵz+w}hqhihehMh]hcPvdXdȢ|v``⌠pFo` ؾ> lVw`uG ՋՋՋՋKKKKˀ˂ˁ˃++++1`Xh-hmhh]h=hX4,z?X>XX!Xh#`DC``чMMI`GEE&EE[E[E[ES:<=>Luuuuuuu= f ff ffK   eٞ  e͆͆Ǟww 5| jYhs1WcWWWWW/&&^_M_z4 xisQ TU5UKSԫ zG>PkzGɗjZTWQ=sѯE1E):Ut] =D#hP/KJ{?[+W[^?_UC؆vQEJ݆nvO;] QN wBNaS)t8NAa1tuz8}Xw;ŝvKݕwwGCV> }$YhKE^66sऎN.मn'II=I=III}Iा~ँA pS!डLp0pppिF''= N Nz4<8i,8i8i<8i8i"8p$pdppҋऩगII/^''wJQ܉W~ ]˫ ?}23['v.A%~ޤ[[G~# OC/瓶S\NEtvdWYcnۂzo"Z 0ڔk'S 6+|[0&xEO bK'Ax ITh} MMV!} DA8]wځz [-κHNxu#j\8YH"cD a1w?,"Yd)b/ 4SYLzlJɦ 2=WpգH<gexLwˁg֌G}:3y*}xw=?>K,%/;juvop^ob =nbX.i3ƃ-eeAgJg+k[=ԾP/Z`Π-ԃHE]|q?ϯc % e'\U&Wk5Zrm\WLveP6ȮHn,7妲Ln..[ʭ/rNn/w=厲IY_d6ߵ"52 rE7Tdl%ekFZY'\TF.+W+㪆zNO06 h>q|<|"O>S4ʿ >? /+Z|_gW|~vo;.y~_yM~Ox!fw|?c8?O3,e~_7-?c?? ˋs/wX! -; ڤ%\kJ2X V[]h] [yؚA.>'`kA֒[+!_w!ډZ#HjC5ēꨎxQN9DTO:2 B=Jr-OoZV$ieZUhғVՈAk_Z"'%~Jg3қNSI:!}i:M'bG҅$.HA3I3I ͢Y$.KI0]Nt%]IB*5t :2nH8D7n!t;NtBw]${H4Gz =Dz 1OO$H"=Cϐa=Gyz %2B #Uz7 2ޤ7z&_;k ddbSGoX7)l ZlgRSئB݂>WajohRcDʱzDRX >ӿg R]dLlԥh+Vk] uX|oaYvwo,u7n{"I&N1 `kJA.֌܆9l-CZǰ"}A^֚ y[[+Q ֊ZZSkґjZxAl./.T{`eiY]Hv+ `h%]'[VۭN֤5vk`uhݺ.خ3u~ ;۝G. v߃@]L.Kvi62 lw]#lw5] ]O׃5t3 n͡9`;Nt7^lw?{=LGv`'I4Yzl7^vhzlOvo[`w]2چPN0[,qĺV3!w ) 5x.rW-w{=eW><<0>>xw{<%*у} Cx1<<؟?)?E@ Ҩ^2n v"]p|Gk7> Dv%{EcuOe15A}N(R{}侲Ou7_E>ig3,%L-JRLRqu!.QĉQ ainfC粹DyDKtV !\3XCdPPb{{At/u/I9++i)q<)x W<^Njߤlj ȝ! $c>{ɥg'OdO4[xK%L<騙_ O*91/Kx, Pg>n:,cdw >+Ab2/ݟ2qWWҮ\* nG䰶@@&T61׆R". WBNS,bp]ڳ|%pumv7aL,b b@5XW.O iF)!h>>)F *=8LT{vrkC))ӡ+DddHų+*dD襊.[(C=xxjn3oC=h}*V='fYuG$N8 _(\cLhGPpll"'N`7`wEq??&Ek#]~vTe|N4: iۮKc%eVc/:P2 ݅t>W'ZkL SlDecoËP:gAkik{uGG"J:C̡ e~:z+S6#M(E`L3š00 App x4MZH`!C4QQhhLāgA5Pk3MIMR4á0(/A_BgWP砢3=AI,߰֗8^WYX%R2njPd<(A׀/) ~Qp@g:P6vTIj,yKRP"T**J5IQ]P=i*jUnV?muԭ`_[a=za[omlx c3fq644npkk6iNkjI]ݦԺ^d]nVk[۶mxۥ{msmyOJг ygކAp,PI*T$ | ӑLG2]Af dD2LdY $ IF2ld9 2\$s$I:tdy $ $I Yd1 $I,AB$KAd#VH"Y ː,CLA#Yd@ Yd% # BJAV#YdAYd- :$d=H+$lPH6"٨ lBIA6#ٌdlAيd+ 6$d;H+H$9 $;d'Hv*.$RH#ٯ @r@A"9䠂Br!90 r$G(H*1$ǐSH#9 BrJAN#9䴂Ar9, r9$$I.\9< r$"H.*%$\R<$yH2H.+$W\QH" א\CrMA#亂@r G$_An"䦂Br -6 RIAr. r=$>H+$<$*OUXhڤePKp$Ñ $MhۤePK?$ I?$$I鏤? 2$$I @ B$HA# VH" !HB(H(P$ $ I B2  G$\A"D PH$H"d0H+$C Q($QH$I4hA$FAb"U8$qHd(H*H9YƋgM שX"0= 80/歈_C}O3sW4XCZ?t<>2.B=G7Xo !WĻV'7V'Ztƪ :Y<4Vf""Ť֥$+rUlpgXݸLfAcExi$Α'XQV8y ,E?JaC Zj-m[0>Kx+cPqu,5E Ц|k,]? W-X)Ş4eFRFO҇pƅW0> g{.g̱p joZl2ObwXĬ\}8#)meQhtk,v5> ~gChק=> ~;4>=PIXX,"vJE|Љ_򴈝 B,9> P@X"lRhߞU≒-b/nD̗1-L42Qs6sXljg[shX&[fH >g3LV j3Pڰ\"ԅ&ITg1'ZwVn`kZF-|%\+vj@|"ԥWhK8E3LYcХy'̔<_4;.41pY0 SQa*VSa*xx)Ф"UA,5% =qDeC%DGb5bqvP3ѫMMߖ"0t(]4W·t:(\AE(;i/V^Z$>N hsE,d`e+dci4v](j,X5*>-"ON5DݏzIɽOu#n:A"}㞿bOSN&<56ٽ^xj}wŦ#EǸJޫe_"VIpyޞz?JLhXb=EgS#baUIpF'>d iK{N%=mc?\E }^Ī:ZXz0?d,%QlsBH#D[+Pk'yMzũ5H 3J]uڪ,JVSSMnʨ*P")x'֝ $ $ma$[P"1Cãݟ? 4c׌ì?20#\!Yu,!1ʘ}#b\q=j=f8͹VMKڞ}jo(#k{'DDƄ'ƸdimoZ$bE&J.6>.6>81a&d_sM ޣ]Cܵ)?u7&l7٫u۪1""⫷Pws&n.6mѦ'Zo7,>)2$̐LkZajEd'eɔ%W;e,eZVGVvs.1(ھxo`􉝭ו9kG7zVxe!B6lL]SׇkEzn7~S5p:Q3(;cL W[]stYkg/^r:S>kڴwo]=]Y܇u|h)2a{'LKez}Wt {^{)!Cw7o׮]Qїo0S%TgPNiYr>b5N&6zU˹}eJ-UxZ__>m.z4٨7;TSu3t1taRĸ G5.N Bb  cC$&44_Fq"Blm0)Uu5t6x7I-L0|r^A[dAJ h2{οâ1G,BNn'h>hKjf̍]Ζ)L/^3)47]rOkۗ6C/NOk|;&PAyշ&:P2_^ʁC 8y[Îuӏ|OCNN3u:l=b=gڙs\;W.]6x_ˍll<?ܹښMɬ{+r ڑE*7ۻ/ް X! nj\7rR}F8ZFdCêF@صicMa Gf]c>}mi{K2s=߅8jc§G歯sخ'j2YQ kn=.O;88{|eOye~#}囻~Tȭis^:O&oܩ=Z:$`ϕMV{(D7aB7Ǎ龩ct[^ͱy\f[8˛s?6}]ju~aW]%ϵ].wS]u)e\rڱ5ɜOV$fbď+xi>1 =C,ՔZuNݏ>2c Mz \F"*Z;7rmҬI=CcCf\\4q7 t8ȥY@אPCfDs79ǚ6h踽|m5v7 8ÿ,CIBhj_@ m'h[9i'[wj'l/2<)۝:WF.;,};I+ eײxпr;;hrɫ-]rnYZN2ew-{i&*fXpg͓kŗ;*[Kihw?xC@eG6||(uEgijEIwSժyjV>Rmjn2w4J.n6Nxp&{?@#ꍟ X% V;e6QJZsjf֙2'޵"Rc..zFP/Ƃs 9(2$81za#љ \\527[7g7!tOAիժؓ'~z<\G[7'~]ik u1\k[;Ꝋ"Vu2-{.Ct'76ʄ&\{gc]V݈e'T>M3.%Vo<& !Պ3?+Hj놃i=q,ӵO6̮n#M[f~joVn[uy2-!x.^t_J߇VvL6 .hډ2طJ(/`3S ]O"UJ%pZcꚔ*+L8&R:SgN|k;/*wr`*۪ZKAwie~ν{Z}fz}Y'CGCvm&}}C.X/ /el<0vT1J6k5'׻mDnӫ'Þv%j݇\\:9GWl5's;q;mz=rsWwm 8wNܝqL)ֶ]z<Ÿ^<vgR-/sVӬ4*?xNY|} s<4zANEO-ʩ̔]n>7񻱀uh0 n1f}`EfGa|[&#Q:8ws*kxcVN.W7n̮\%F~5NE=I;™N)̼[(|Y2e}5GXOz<,z'{6|6~+ˉZ*JyR1S;=~sXh9']h ߫{ إ~1*3.>+C\}]T;n{j)38"5&QK-_mvElL`؋SrX\VDUE5MʥN7}>?n}dEBje6A=Qn"{6o~bJņyi/NSRR/gt0jQPz~ٽsOYmT/a|WvAml;%n[(l*Br6xGd޹B)L#w]ՎM?[rNOhYXAђ,7:g },%"G, 9>of'1 iesԙg~ ?nN)}^imR$x7>٭ZέOO~}Wz.{ĹoK~!Lkrꬱ~s%_ʜb{wu;-x|⧾F&]k9dI-O)yvJR-jmQRZ~/3dnmZn,lb0hbRAa(PH*}F)MH 'In #r !?d, #E:gΖR߻>ռ?3נ𶪢3 yLV/GSo8ĥWuGŝe枸{ٍ)8$wyMTW8w<μI;+,-߾V,Zޓ!&v]pv}u)NQk]d&咳m]X?Y ;gsg8|SF]U:y)DV}wd ׀Ӈ˯/~w MMK n6~Umts`w endstream endobj 413 0 obj [ 0[ 778] 3[ 250] 11[ 333 333] 15[ 250 333 250 278 500 500 500 500 500 500 500 500 500] 29[ 333] 31[ 570] 33[ 570] 36[ 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667] 68[ 500] 70[ 444 556 444 333 500 556 278] 78[ 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444] 95[ 220] 179[ 500 500] ] endobj 414 0 obj [ 250 0 0 0 0 0 0 0 333 333 0 0 250 333 250 278 500 500 500 500 500 500 500 500 500 0 333 0 570 0 570 0 0 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 0 0 0 0 0 0 500 0 444 556 444 333 500 556 278 0 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 0 220] endobj 415 0 obj <> stream x}Sn0>I$H"qCb/)R1!<ڨ֮gvvŶ@7R7Rh軓@plGWD4|"m<ߐ˱-dyIBwsz$Zn>IohA$ҔMJT-00 bN@*G${Rs>5C/ :XSQע9WMR"br7Gl*;%takaCݭD|'n )rqB!N.]U-FzsQg.EY,-Qeca_WY~,Fu5łqs5\#SNY}~AO( endstream endobj 416 0 obj <> stream x `ՙ?ithF}Kˇ|ƹI;vr؀MC8iRh-i].KiiJBۄvr+)m@ P c-d尺`Wb󮙧7@^ܶ{—oU4W ttzG?˺۲6<5->SvwtK^bҞG~;`mJݲ&yzyҞ>v3L8wYg~`n떡uo.n認jp9jq}7Yu}nмw^\r׬ß0^z1 =j7O5hB3g>1_n|Lm_ 0uoJ nʡ^z3P{ \-(G)?0xC~yu6f_;>s@5?^_? ~0ƿެ\ȯ@06Fxk㟟T.̗ nZSI4ܮK9n6]GPVXiZZNw3vvץNf1a 4L[oѓ=0K [p[Xփ,> 1vp:PaC/ŰG1Hx! E.D1,$u ]$ۛJr˪A@)zQZ\l6a\Ll[ߛ2o[wb_` `0c[2Cl9Y`e C3i\VcZRkO:Vh?3 gK_9v2\9{Obpd{`0 Aܝ}x QJ4Ǡ `0 `0 `01)OG,hn/u q½m_O4qOBi;S=Lfr*n'M[mw0=UgZb0{\Hw'-0;hڣuBV6B%*>\`mE`́J]\?Yا ,`2t:3W\pc L "b{Gan8ڨh.^K 9< yeIyaO*՗2t{j4y]K}p{.†ԞUC YK.~HLg>:B&6nPo[aSp| 3qR|u ܐ3lF<| )lEKDv4&ԯXTnA u+/kp3 Ey7]yԻQ߄/~ z| M;ew w᫨_2`;܁ _C|=|Tw̳p7Pw|3 'mw2OOgF/ԧ ؁ ܋Շ{'a|꣰1ؕ }OP ?D}~yD}*Y؝y )cKB5u?jQQQR,R,P4OS4OSOQOQ$OR$ORԦ6IjRԦ6 jӟ6 jӟ6qj6qj61j61j61j6Qj6jP=Ԧ6}{MCm#Ԧ6}{MCmԦ?LmԦ?LmCԦ?DmCԦ?DmgMa63Ʀϝ"]f6R+8zit:0p:3L F^УH3 :rt2}p~0b\d=XӨ0'0i4cғ dV4:E(; zr߶Qd4N~W`.iCIx6F?/ F D. OUiGoA_E=W :A@M(IH HJr_D(`8+N¾1w0WPZ.0 Q{+`@&Gt6e1d1 f + 1pуdYE$H$,I&IIT$W3y;o0s>,Ͳ+0.`8){,KZ`0 C#&d=oAKЛ,K&h2_h2 I04X߽cR`,DcVd6l-$b 3I37n&JpEY\_ 8 ya0N`=xh`0^(_A1!Ow#*QQL NDq% ( I6&~?kiGIcL*|1z#<$ E6KlYɲ$[DL-2M &`2(&=o ^+pb\-{(?G'c?QX9`0^( LWp`"R7(K4mVɊK@6J&$a>oD+:;QNC_1&F;b>"14\VEfZ-VE(H3 D _( FĊ㿨wW$1{'f3|8${,K<`0eCc1rѕL̼Db 0;$lMrEb͒ Y$Y5zSqW@ch%dYf[eeMVvݮf!nxb4yi'x2RQm?KRNnL g?y8)U3J`0 P-Wp`6_fKv"bdU%d-Nruv ?icLv-c }<(~) Vӡ8;t6%S_Y0[x»@ĕ8) b|W++a/Z]]`0 ++(RLz,"&cm^-,YXV,ˢEݲ}>}r.TXCh8 &t)Ou dnl`"LLj;TG%jR%3i__@5lgw+@2W0 ~_dݪ XN-0M=x[6 ` {e@)m'FፕVjG6dg[ndB;+8!LB30}ƌMɺ3;gΠH< 3EyΊD }umuUEYV] +=D'פO~8n2}zq!Y.0 QY& ӄHMUmu}]mC쳦.m2rtOpjӒSMi2M~*\XFwD"xMy ڻ C쾮9]]uufMPۄȔ@)p6iĕtMm+յbyf5-1&)ęy`0^(QK{7:#OciJchS}S#@935LoKn͍SSM:YK Oe\.@CpIk saZ LRի A]u&yK*Vu-6kLИy;c ppkw!}P9nv~f W?+1[F7(EV6r{> a5x:YS SN>cf٭ ::v-ZdYg/[bew9wV]v '1ܿgc>CsSm޸_.K^fxsz7wNY3gL6{C}]mM"E#j8 }^۬l1KIj#ٯ+ӺXWWI0cฌY'Izb\sRTf*_SZWv bN+zq>5:]>.F͸`óvΫ֎t/mMaS]-l3(R[M㞫 ZwG6-fT[БD H_]mZ>LC--*N76t3%M#7T`FZ[=7 mXkp Km:ύtx.QIrdSjzK#Dpim7|3%*nK7ٌT )c$R5-bkG.Ik"}ԮAu#=Hz?7 #+MKj)nfs |]Ғ!=-VTIo S3fjjH[W$-(-i}B#<sb@.ǐPd@tMM:$؎G8^SWTprܷ}- #rxoڙAL7ͦUoTCM_ZOJv8!%FKc8f+wmIk\Op|IwlɊ{Վܾ]sB*[ޜ/-iӺE1z+%Ot:.S r~m_vIpʯ$z%.]@F0Ѩi+}H=6ڙyѱfn91= ݓF8찮B ehFF:cjH̦Fvq\ÿ3sMt}&jZjcddd6=.l//Ebøm- EzqI mbWlKin>w|ƞZo[zwhiLPIh\ڮi}&Z4=S4Nm6Onn(v%:yry,QH}%HamMfZRSsGHv̹y6\JSi]\MXmaIV˾ss1pTFKg5/,t1ZHp5i ɛ{dppTIk5YlEea=5S= ͍ˏ?WKVϏ;\o w'op{}!f ϛC?w :P0Gyr>{aGGGSj'54^Uݴl{Am0fӒr 3 ;uM書-;iUMo7c( a+kHcB{~GGa!fm7[pp?B>\vXM0w ݨO`8M :\V Š52݃7l/6`ítg.9JNo>G;1aua5L\s_´ //`cK_}ۘr1pBԨtK0nx]6uHvM[q^:sុtXthkukεXZs-Fnno*T  I~u7'h aJR܇p?Vc>]*RM~ȭ]n=Ld bl2;LKw fcu| 7j4 0踡}ٰ%|zzz]~ 6Zy~V[o| 1~qO]*w!p\0`xbǔd'c2*)Y\!_2چ`R Z]D},aX)3̘2c'ocTr ;Η51hhYվ]IWkVkn֤ZoJEQl6[~wK_hK_ܙٽc{Mc o4sҝNwI;[w:d@ AA H&!(k4MAQQpA,AGp\QGu&3 Hnay?յtU[Ωsw*7j,K5RܔQJQb{)uu+XIb#Ex\,6QSo%~iƔUM%;Hq'EN~{ݔuz7{3)VRl ',)uS\Fq/Eϡ0bSx=5ˈDq[I|XOӛRO3ɖs-OL8ْMUpz5Se_ʒ[e9 Hozzk ^7^˿Ͻz-m^/TR KSHqN,]~u(fnP y8\L~&(2/q\7lAQ4}8wȧO2 |#R~=EN2򭧧(GKv?JI_I= v'?Dfgj8fCL /t?[wD3X7} 2JLjϿ=%=Fjւ4[aԻ="3,H)g9Σ|D>w٥:@UZRmVgc@ij`7 !`0( `HG8KPl"S$JzDʆiOײ_ 3Gjjсnôf ZOߺM͘MKTTmL@h۸kχfO4ge_VW:+/P4 rUwo>;Ti#r4J A!ZbDV?em/nQ7Lt 2W6EF5c|MOFPpD)¡gei"n,2getэì?~Ъ?jaSO]K(?uқS~}? 'g->@}/+/:cW//|㯠Խe"p<==|Η<ywEMOϼyhg]QWS߻}\OƺƵc͵yVU+ڭǪk1@uCy/3ŐZ4Xd[v#c_/SPMUUT4Ŋ&zSM6UC|Yb"Y*@UNr%)wzmq֚jQȃ:}Ɯ]RߚӺKrvIJeN.W/)%}n;ǽKZ_fkcAlvwc'3XcFkF{FgΌh;ܙ V"k|N*#\%&l2.3v154y'n^+yo2:2m2dm:n:e)OL=J)Ӕ&eҡlS6eʚLL&n3yL&4$U GVh6Uqbjܜո`_}`U` O b e/S|(Jp=^Q xxN>l0 /ʃU#*KbS<7)~Je>jHWҴɊJ PY"zX+V.ʨ^BܶJ]zVy )^DߥOyy)"K}\Q23OqڠvwpB,>Nsv6(=prӮw03Y)zz8=ET~D}>hL҇G~D;Fx>zğ`kp~B HR UTX#aO6xx_{DG&A#lA?atC%1 BQ} |0.NE)z4+tih1( hp5< H=OJ'gۉYPMQ-$)FCb4^Bx)K[ߖe9:$Z%`IWi x1 hFXVCv7N|c/ȷ͠* %.\\+}|cx3x=K{7I 9x ' z46I6>/rN2/Y!;0m  _1LPaNafV7(&Ľ zA#fD>c)^F) EŴv"pi,lx&/Hp]dF -!ouv?χK 0t F i nXO%ɀR(BYKNE [(^dkp5zHC$ZnƓej"@ەPAm%9$R>Q!FwdpFr']B3\L{ѻ`-?:\ч6lJ>O~n!=${G'|JD,N2zKUH$~di+ķ8D.b= |PgCQ7h YޣKt@i+&zs! v?|||||||v%QprI!6Gy&)%1< /c PL5 &Ϊ0¥cՓ=R!#絘RByVՄ~E| 6QLo'dt. ^,p _IobN?`$_{c`v# Tv,fO~AQ;`ĥKpl炃lgSPIeyJFV_mT)iAp#q8?%*y?~^[{~|F^ f #Qp1z\3.M*5toiLױ A++}Ҝ|A-D2#ٴMe;7pv .h**m(6D&jR4Ŏڍ*ge%u+!jdzJKF&%&\/Cࢬʸ*ªB%WNR /*UbVɋ8JЊ Y u}ep^T K1Z\NJGSUbR7Ҥ-g<9P>%FNJNv\)q%aƔ;K:s X0̇`WXMM\(IH#x'х {EyTRYAr5.W1#.y skcƎȾ5rZx3":VCP|sw|ñT:fR,`A>6YY%&8[wÑq7yuVWW=k{7?AU!Q5SjNUfg(s"'Ȳsg!Nґ8,Aюe/Kr$'@-+//+.dw_y_Wuծ/ϫ]p{W#G*voޭ䇭ea"V=Q*QLjRKUV~1<b(7JF~ d*+d@ZDCbe= \!m o~[-h;;,~j*TTk-ƕyq/وy+l˚TDOy9 %˗kUO1zagdO~F4Ř`S2bŠƅ=B>ӱf3t=LH]Fsl8 pv)T0C1GtAJdg20M-Ktk ^̛2)=gg8Mra:dlRz[! 8 &ĹяAy 4UcLj1Fv_H]so>^{pn5NQjitkwy4|}:ީ~4U8(ujDbMOJU$U !mhJ*jJ:0FGW41I#@0+*m˾\[]^d{:iEXXlf$ö&3B-<eU[PVJbUT_0PTzG{^,FMI?ar2r ֮(=+*)^^IYY1dƊfLRkncR܌nKk>ӥr Lp䒾o!FXV ,˙Prޑlt{w])|eՠ.s_ױn_u%]-˗lSs{IosIݜ;v8pmk rbRW;:-*=7-l-Z$kpC i AN0ޢYf<3& 7 Jf$ERT-^5$%U1mA<',2*Fdl$G.LFN3Ư4'Vk&}VnU4UWt-4H JmǪ(" *tThoEJt96f,JbZEd 7%t`/G@ K(C~تvE2쭑-FMͤMk)ũ:=(a|}v]iOEښ2R,Mls._ >i51aH D[<^ǛU$S^k?LVK0^)xKh ~IZCc>RoX!ѣٺl8w':wh35NOʄ tuIXM€Lei帜-l lG!'ټqsgkRkeirC= a#eTjJ?hU%#8:\YT{7κkֶjٱʣ(S=٣L ؼ=׾:@eVZIr=]vyc`<į(kIRАq)Hnٱ,ʲY@^IoJ<-iyMy]y}yRkHJvc/km.jwhFf٢0?p~IIQpe~c|Zjz*S,Gʖ X*ed5cj2̔wL!c"#`:1)[ jZ~*X~' WY^Jb򡍋ofnmˋ ׽e륃/_8dҬo.koo-Ŵ812{fw{Ͽ=BǦD.1 XRמrHegd<ϱ7 g! Y8%֒9KI"kB]&4a1pf&i4KC0IVsV`m 07^jW+iX- ,'0L׷~rU^ᝑ-m3J)Y~B:RD-ջV a%֒sGrGGG%:}"uK 1XX1;H[x ^oĎ1X 8)/˞[b0kIkq]u%Rܡv6mLL[n#n{I~$,0|bI'ٟU-1PG50'gKzbs"nI2c$=63lP1L*NGS*=6j9C^P~0@QzF\dH{e4jZ3'5Ca<m¥ $4CQ\ kfȖ )Z^V ؿdTI!S?L+P!"oG|eOwŔ7{lG\^lDi[lِu!sCOٱufފ9=\Wu"Mմ޵&V,!w1iôzCsɵ٧3NgK5uƫXدl1\o1:sXf;e@|p/{d5cO Adop),_2ZB-xY\-#kM]}R. nẔ uC{SQǘqCbHy)8s͟r[͐fNJS:yqd?6BΕңW[T5l!Xbq ?q5jh5 YEn[6\CW3?JLW~ 3^׃-l{5뗰C.5];^zf896Mv%O,,"\LUK䚱t[bW"K<~0d$xM W2tSOHÇEU"CG%UR~RwD~; 6& *jFK)PTlͤ ğKa^MP:= D N>-,hr.wȒ%5mq$&fLfYˌLt2kI`UN)QTXҮ0em 9pA\mfQC@kp0Im`Sǚ@GgED_*=w|"{ 2+rUd|dǷ~p.SEiFIO) <[Ǝ!ϰ4J "ˌO!]mAsD|ˠ|Elh PJa8ÇoF}|%g/Hۮ['8{dPe!p/pWtK8#4Jl P됉VD+QU#~'dߘM(q0M/#!+_~C+{He#"y~TʶF gHv^d/ 0 %aw߫8m6Wb4-QTݙ̾gwvgvfw $d \H5J\/iPEZi@`ZzעVڿ">⫐s6fΙqu^ u|vtїŝy^dw/ _\4 qaX @Wa N1qmMkC`5j:0]%fnZ`j0NW3`|/H̬yigJEz;3[h\|ar]E֙5%M%F ,jv5#ZDtF E%^ छ u^wx j=zb 1Qዮ(WIxiP7St2cFm왳g3)MMȔID8 8&3s' S\zW P`P8=1iz?`0jlXl?p>)2:<G`U5 $+ 4]SS! gd+=eKG JeezwK1!J}2K; pD~.MgbшyNC> \yH 'N%Ti9: ڶ`:<,v_=C>ߴ(IyϜ5Om7}}kA}n)2M'a.] gn{(>V,LIy'_C#(x`vojU?{/ioŭ,ib{01^ @A *Z1NHq~ŇPPfx. cv8#ïrD۰e1U~^Gs6"N]B2dAHY:WWnrGo{% 6ފ_Ra{|Z^' [AaйEެ+p+??.<x\~_oGqk7rϕ#H $A"A+q[y!,`!=HE^B/$Ѓ"•^ -a <(|3یҤD}]K2 y3Q[Q< M9RJ}%R ul`VR8fEcY _Qx뒱.jL]{cI%㼨nXvqCV,6=1`8Yd`lw~ %?||?W5ܐܐ~Gؿ$,z/eCѨ`@Fz|f/h PaFlF|KMF{qq[xLR-{cޔGַ.(\ &DM ؊]M\@ wF`19L}rG~s؛y6ܤ7u6].cVWV+uI=r LHMʽ(ט +YUPL+1&R=9gThV|>/ʦmO1"a`ok[\>ߟ<-D29SG^ڋNG 250rbs0} _˅fxm6|`;K~gcӓ5PĜty(ֻ1̦z.:Kch&7JP櫤.}]\[M2d_B&S"ê|"%&0aTN3I:5c6HL1!Ц] dI;4 "Hw$bKjx=Xu{9SbdžY&RĄCAO%5Eb{RF*jq/u7tc<]D \9{cq_(9?.x;wn𹃗wuXW޿;{wGv੗'f{]=}{zYΠ2[b[;uAnKKNt8!a=p0YF)ΤHdS>կv^;М,~9Q -E= Q%z&(*(*|=U L)@nvFVˎ`= 8JIy'L=yw'd><r(/Ib%Ѧ84mSJ'xiCGR'^| cj(&50c{żAby)IN}vڷ7-:ML|kߖ{ ™pFX kp;W^2x}^aqH{B;Z{L=&ny4n㶙1E "(T]1KKD;bؠ !,V A[2i`3qiT +,uLZʤhw`(Y;8~SUd@T*j!QQulgp&Uvzw k֑1ClM8&01Hqf&SlN4QH74t y:$Sa*n Y7\JL3ҊJbR Y Fgp' xnw^|ZK[jɏ4-b 4Oz+hx4_N]mKpP'1ߑS$kb]!>kzSIeO;}0bM XNNZ=&=6=k1 V*n$6H>5bBT% Yj4IY*a%‚ՂhJ' qtjTCPU=Ն&>CӜ#zةة:ة#rH Q /zi']gԂ&2i3=c#V^RLKzUuuhLp/1XN×(G"N T-|\ooՂQY:>R{qڀ_dlpF;-H6-h*]S.v\//R;x.|]X$E?{޸HbEd Qpްa=#l{:렕Ά[ ?7m0T1X509,e/'сh?ýuէݓbĔ0T ӊ\E(S&"29pt:;p"#69O; N;wQGQB_VKsg %0Lcy=1xqcxKSSx&`̅ O> 4+pT:YdLUc +M[j-OB>Zhky釚O,I.P$Nn/)0v3LN^\Ox} aUܾp!=Y&{`09Sd+ς O{[۔a}-_ٱh/_adKb0X뢵ʇHUj"Q_S^tꩯ>o_*V{y?G;2# ٌV|4մNXv*-h.Uat |MЫi2W{{fuxY׬AO[(RP)FE EQ"IjZ5ZTjB4ZNZ-([[ JAz$991EJ(Y+fńgYH ;g/#mBo(>?x%h{fTC#(nYZrZU,q4> 2T*- ;.>a@JkA}F=]m/Ս=1UԎeM+.?uY?)_vx]}۰@wc֨TT=U+7pԈHN5W$F͊PNv?GD3|1pQ9AVprwc8yGu+z,%L+=zTe4S]2*"b˒: >}Yv;5HA kY ix2?#:ǫ|t ]Fv&m6ohxr]ОKڀ+ڢoG;}z ;2!c`N0w_笀4lq3;̷ o j4!x?zPߏ[L{7G3峪m7-vgxCYn 5$E_M"WS D"^Zɍ5KzJ&HNRjml4$#OHI5:$MD67f ɹZim6c &DYcƎ ^Hl2%JNmj$b()|&1\ FcWN=637z&SSt)fD;QOf"OH&>}'l*ӱf^^+Z 5 ӂ_: @oź9mMnZҕ&}IkkݍG `o$MWru1j h5EQk_ n ~m+"ެwi]{_$MpCC/_}_ipofn)\[ʷfdoÊP#YZpjU)bMʹ@(jrnMi91sw~2sLqڷ粑pXݥQ/;ԝz=<&aA2ua2DdҌik8T( 9H d"e4CbĠRNpWIhEG(8'6J}M%Q*(ߋVE٢CuT Cagy23NHNżnK rƼxgnvi;au7*5x!Ǭ[ %'6S[ϼ<qL6$WT+nuB6Q܆3`պ&ֻFӈuE"NӈJi!u:cgtF0LCb6C$8r^pMFρŊ'' д[z5 /T=Z]njx(99O-<%NHg_7`LZ1lgŽ!'5dngr:dB~|C~Wk>͖kqzj ؜'n5 .{d3^;RAL$fRTe׊RR=;@`m[1?)dSxcrJJ.M~;ٓZ_0 dܝ{+fH꣘)GC)N=U=j™P5E(Iyı=c`Nv<PɢL6ԙCaSϫQoY-$vޖVIpkUb<%0ħ&R4N}΂ cPN1D,E@_Jg#F EK#ݡ)y06SSK=y[޳u1>L/=[Lyou}mŋC}ӂ|'X^;`1Ygl ϲX~:.=8Ƹۛ$`[u;\^g:x 0xL"PBM 8p7*esIGW΅v]sRS(hlam $'|TC6T`9*K2X4E&!s%O Tr-IUx0s~FDLlש!;Ǜv Lݾnr=:-w |ZxH{"K&6IW6(&[V޵bU0Boؿ\;u4>y*lbMm+,mkʯ~Sl o36WVcKO0N`4zwޑYBn Qk&8CۊE!rǍAj솄(qdHoHB.8;vg/ g5 'Lg]^ }'ȶؾ>D6E=$W23u :B874֕JX3<vKKmUX2餀2o;cr&b==M ]$suJ4@ @oeZU ߘxJHXewd&d3aǽqG)}h2*)U}2Q٧hbwZ,1BGήe7[>xs?}rJAeb8)Y~yG޽a/Z0 LM޸]t;fc7-_~[+9Qh|pPӴ.EKCK2S[n]nC`HLLL<ʊQ :0 tc %PJpff fϫev rylXDR, _U)"+c||uBx">&^:F)F@%B#HNK쉑nE>LCx)e%*sPبS>au)W.x4gI|sT6!畟[ktD,c,ǰp5 Q_ R&<Ɠd{=`N6&Qoߓ|&ulEZCp$q/ؿxfƓc4l$>fNjtL8CuM|&&ZB v@EA=.mvT3hJ >LGM.]5L^ss'F]9鮳:qwN{ц&q(j ;'1{DUu-ZT!^ R8`7؅-F `DePD8R:[ˠ8QE5x4ߙ\4ivҢVXm[}oc?hLӕޱ^O/ bo챎W.9bN,D4f7)R煲`ÿؗQvu5=3=wݭ9fY,@V\K@BPcJ$0ɷ[ǐ,J•Cw7ᑼ%8y!m 1_#[~ʞ>jގE%+֔3g&QBe#`!"/fq{ 2n-޸C:љէGwxˑ߱N-rGǽ,_}zn-ҘnЯ-;mi}bFfeg[.[\32ތςdgtKE&mĐw6>s`73D eA!UBwX9My,yb8u1b,HR4ωf|xzg;yYo~㤦߯Cl2&I bi !xU2ÑKDf̢Q`EUeʣT]ł'U)ٗtT [Wmds<q$-AR52˖^,7ϥslZ \nYɣm(t-Ȗ5IvO-ɤO,лc7"e+/JC~߆\q~RDh,4!ꢭ.pF"D˂$T䪼ˮ2XH^܇qob/nc\ ֌qg͡LKŕ\ں*oI[ōms=ׅ>ܾI7[?&,xsM짅ß*|xs{|狏 [>:~cت-pyV) a_%kyar- 0kuw6x+ մ PF7A瞻2ZpXE)ehT8,'CϒBj[%T_>JZ^SxMZBxP0D0"vby&\lÛmnW:V]m$A_nQn3CIu*W,ۘmچچٶ6uЉ)ZՐ32#?ڵN踉bPΩ[DUξvQ;k3 v^-ab?^&Y\?M0ؓl(4Z71eQ .=b Bb3UAA6L}ަ7;i7gjmeQOv܏sɞjҊhXufZITJ9"5K-H*<4sջ_a?L&MORnKTs1~(Ԙ.Q '˫pNp]>3Sl*PSt@C?U¾w/'TA>Q-(cdP,^G켵i8{k⏠G##GrG OǟN>zr\9d/\ޱ]Es5il&_(,QXH+)z=gzs  lovMgx [ZYMs.O%W6ٙNJϳ$܊P p+BJF7akӵT\5 \5NC\PgI2qk]!K&8k3T5)Jyaj"~5ѴB^wR,iPSR` qe)ȉP} atMhINpi-jN=#[Xìqa`P#?}Pna<;ec@Fz,Rv\- o>ºL5+t #nWTWksr5sUȘGx}?eG~M5ѱ Os&vaYŤwD|Wګ0ɤE n݁> o1prQ[GUNupcq"=aFq30Pd[ߒ%}` XM7$IkϤdX\h+=53P!sCpq qwwfZƊ[A?T|6٢;0CT}c)-2e*Q5&RߏzF^QSB/ >R-1QT,_; .a`8d"Mf0fa\ icR]ip z,FZc$BlШ2Ȫ2<)W&150Չݑ?%02NVΠ_;N]:; ܧ=)/ZXl-sߞWQ]ٽ(.%swíRebD.k4tKGE;bNY)&:j9Z'f7.~}:"=l{gP0ZsZ8VlM*7`kb@i}۫<qbj">$NEbI6D|RوDuQIUY*(R4HI l6;U$yv ad*?̐vm@.-V=&Wuu[]={\Rjc5V k˛tAtZ-]f%[ZwJwZ}wXmWکRw9Wz+2%c6)V匵*?^WY: bh'r zuWe *~GXq񲇡_[Ya8Yk~2rCI&˥'mj^ J%*%ǒIH$$J*Si)/V6bUo]kDCjoث?£AQޥ5#Y7Uf!uc 4&fU'-##L/B33+ˋqQ9Qӛ&+[匸Ô¨)R Sr +adoM/ L +VY4`aFF)j."Id)mxy^ҝW;5;%@5XѬU?ڃ֪egz E܋cGrBU٨\#ŨbV$u6hexlkm/&@|6PL{.qxG/?$qT"WScɮE d.o]8Ev_օкose͝qCm}7oN+<[?;{x[w{`wujE_8ǜ|Q %d4@j`ȔJBT @*dT"2oeYS,-Asz Rhշ<^ɚd'135 ,zP >>cK*IAf(Im?O,fl=&0j\oʬ2nQRIkI;M>.-_ɣ.>/SlG):Kbq(5!ˊm6lc9jc(x8i;cm~.ۆ_jHt3wvp"֜*~K++ҘU x+ XCa*…F(C2_Fm R^{h^ (q^\*aόH'۝N%o'|kM ؑ;ꎯ|ew>}뾱.ėWlf?œ.zCKD m[,tؽ`m䷆k-,cԘ>3YwDM]!u(O {9>I??^_A8R9ߵuOm,>΅?1LdagHiJWt$& b:gt~MUrK|4*O:EZd^>$rA!C05N4 ;@`ɆkCp\ezzOӟ5ݘI=8:2;2xn^6[! ✫҆U"̽~1T*T! ؂4r椻jQqmA83H!:#Hkg"u!|lc}x\׆k&K?_~ֺ8Kw/k\YB8Ľ2Z*b+[ 9ւi^ѣ T4s*AGjmЧFƳ3L Gh a HAmvzC%cnme?!eIʐ"xWQfe84<AFd(BGbV|PE $BpoL!6q\!OT$T j1`14U0y|RjY6_*|nvDaM|-&&ac~_#)6K_dmyOfQ +˻Nivv:=ΟowZqE}HFb0+%w-֊Z[c5FYuY11߸<)=/Aje_xɘ*R%LeY!L eqjj5 aTΊ :ur Ii|!,/[S[e'xN;ٿ69t_(gsW.qtώkW,9sh#_!+_[vG~^/|9Jy33sZJ{Pv5ryEBFS/ 0I(0 '(S5t]NCxxS5lJ H$ P$DP(Ha^̊O+/:{eR<^`l E:aWV;)=}:ೃX{'u1z7k:(^I)~S 'ģ [G8#?#ý J2{NpmD!6Qbլl6 ˀ:%BV%[%-.VJМUFQ=6O^-]מ_U<ӷ]-tXOD5(_g#>DҏX/4K F:!鷏l)-ӌ\9%ȏ He'Hozi܎5vه3vh}fiЍύkiwhwmkF+RIo*˄'F?Q4=Ѩ?C'V8] ftCH܎FIX|DJ݋ 'n}9,p#o*EX*od>2ԚHd>/7*Ѳڗ,a cb1u5 |!@C}hsWܣ;vޔ5ߩ*߽Vߵ>}i˄Ba釫'wqv̎PP+eOGlQ|L.(g4SX`KsakVv8D$ؚ!h׆ u֟Пq !:PQ?Sr#p8!=@Xr_*@`,@Ka\Ku$\.omukUj-S4bJ-*.2EyQT*yfl#ka,ǃM(25[m4Ӎ0nL2ҡ ZLfd،? MڎcC[va\a?t XVi> ~KNQ' #WkZ[`A DJge ~͔'Dgaht Iɚ%FsŴ2`BK)P*ߌ*?s4KoMCH $_MyoFÙA[WoZ(#~YREmm6IO-ɍa^ Sk5jiK-L ֆ+5ԧM-ayK+w-ִkhuà{5dh]0rZ UcMM=.RJ )`-+.)xFrU ^@5C@.FV*sd:1hCr{Ԯc` i ɿJ(tF5)7-ۧcY;YG*>ܷ5?]2C_>2"o+P݉o Z|O=kX8,ܪ᱓Tx+FܖE\&^kw-Fo=}ٻlߚ,&޾XlswpHHNiIMJBOU`!%jTPSc0Kt,ӛtr=9rY3{7x|;[45 iL:wBi\xg>HffB܍cj^¯T3)d#aӉG' I[eD!An8zm<ƒN4$KM #Q:УE>9 R$n4." r2tVf>,˶-٪J~]q hHVՇբLx"` MKPP#f4ʟ8픁t{Jt-8w\ܲxqKKOzz{!;X>_t,gU MjGb/\5°݌fkM>w [@ɠgemBLb sd^|h6=r~PWKv|ݒ޽sE6~KrgO!hCXSN #@Z3if@ -M^'#k )| 5RJ'GSrJh3 H16% (&Oci%E1:Il=ߞeAOJy^!f'''/98rCn[T.NA}Ҹu\A\WKR5P Rv9w({{c_71zLyy?8r 5gM*Z1* t%TZA*F+[k_eUߗd>%ŖpۂrǸ &veѹH4,tH2G1GH2tC"V=>dՀp<; |rI"bSS]tbflRvn% Fy,*$ZJ )BO9G(+Q -ŰlZD!܈MIQTuFbJ@@EyLgdtF>+$*R*bъJ T^%<ˏPZG7(!#u(fȂr,T? 8Jw7 "_ƾsΌyIHIlɲ"'qGB 8I{!%޶-[^~mBۥRw)Kϥ77]8L8 \'fWW4XSk$?Ăfi%xk;RꅍUp8(MykDgwv4D˥R +Ʃe H$^N\L^G]=֒d(`Y/vi`nHAh"ƺ%ιЇA3|$OC j eM/!$PlkYԖfeMN> imxB7e `n-r<7:1%ߕ)!/X<.OSA8v1zc0cLD8~t Pѿ4va$ '`Y斪ܣk5o\Ѳ~8eY B:,E".w0m+<5Ql%KZkHۅQ֨Q舕@0 ` Olof .;T4vC5Cj8j !pi-.\Ê=Z#ys&kHMлk9Y|Pl? yCjf=b6[hLi3޼s-u݊Q)Url v '_k\6'D͊y2Knk<:O;6ou ]z+y|,_A=>a;ɷ֐i6yն"l-ڜR^w7_GaϦ˶>C]|Xܺ|\STEQFzS QG!S@gt3̐guX7X|Ǡ[C2c =̛s,9`ŽuarsfhՌYf!hcݖcONz.EF+JD&è$1ZB,S˺j`vFб9945DC9 3pܫ̀9dk!x~/-7dh!:Rnc$)w"BhCF؍aq[5rCTzbG3+fI㥪_FDlk_I4&àiY:L++`dʖ{7tIpSMd'9Ē9DYMb[D tbUAW2#9_;]ZW?,?,ZέoFHܶNZܽ.molWbo>_}5ės_;-wO~yqkK/NvҗA5cti+B,N%54 M0{88lx'-G3 RA*P(B~l](M ~}jRJ*SrZ'~3BId۲# ƞ Ҷqګ$qE3LR|&f&:CZ%1Ellˢ6At_2'˭˯}a|;[Hj%<Ɋ'O@ĴWѻ9̃]qY`q:AdѮ[x%C86@ıǚ=DJ iH ҊC=hsw';ٽ, (.xKXSG'̈u0/ϙmaq#ƖްB, i rVlˁ8X/?Xf59)L"Q"hns\x)u0O$P>ҝx:[=kw31L9wC#!Ru0PY[L`o+MK좃U[ߓJ^;6k;TIj ԡlU!ӻ&`^0"f*^=3ȟCvFS $H`6m 5&F3 q5n /w9'p%@Vb f&4RӪvl i%f  2 / dKTNƑ |E'˨MNp'4rD>;|E B1^e|d*=k=6qvv_q1-+Z|J`}Ea )'GsYLT&+.2tkd?;5#r7o*X:j28M'#;=(#GnW+<$B_$Up!!aϧx_ޓ-l, WU4,vPMꍈdcd A !.͒rJL}:5>9tR}:Nv|w8cR C> f J?C!"  ”@ 3R3Z3)Lg8P?yDmjM M| c},E3\ ϵY3ϔx<|+⨝uqlyya_YO3!g͸.J.:.%"e2%3Z(QƍQVj`xSTx*PǗӝncjd)é αQ$KY]Y,N-l5Ex7c~v(l=\ǍZO`ݸQB-&ug_K ]K0N9tw-~"A;Jv4lyHib7r9 Ʊ9DN\",PE ;LeSGSWݢǷ}'OvَDP$]k|ޡ$ԡyc粬Y\w7<4^\_sT_]_/X=,&僜/AA?pq׏H Co!# x w' ^(6WZ縚*UVGE%vL xSlq$`|8ZĆ%'^_~۔wWVG#m%ҿpjl8;®@b?Ax 6>$=>|&4Q_a66K * Uj-E客|K{?%x-pY.dp#~0(aI).x-Y_&c;[i$@r IqVd&gs8k>}}|0Ү1#d2`1uވ23`ÀK>^x> a8jL`OR>߈ONa?e gˊ*Kn;_'EQ ͛(`H <*0#Pö>[l +l+jIS PT&Ol`Wsk5&C־m7ohy=WNOjOOv\y{_PfAF'6m1n׭LnI$Z:%v^I:>QN&~p}*UWH#|~jjw'i)=v9~ 6\s/qNnF.ZA gpa4E'XxmT`H* x&;GI VR"bl2dP4^+OoKp&RP"3e@2xl<ƥ2#'.ҳ,e0RlRޒ2;Ys`G65U:dFVGֈa^e MÕ{5FF 60^I"/~W `eA^(t&Φ#101N鯆2Pm^V(e FxxOX4FU5NE zzHZ&YZГOW/Sgg_1^ɞ* v2k62*q4⼄ޢ\b(ғEy{/MyQpx䀳QbLt,Ƅ;`3{,K1R:C3,2B02] `JFj03TE5IU98S9;<NƁ W"r\WE1uDQCtV7oYBւ7Jeyp=ǎ$7(Z,hK#*8!\A.@?z3Jx DB^මҶ4ғ/8}ݓ)1OB@QӉ,̾*HCi5{fLҢy`N=Ar3׍?WV@Eⅅ߃[!{QCYL {u4 Mg!7, Ha~92&Ӝғvtr%d2%:c͘J%;BWعOp/ee̫V(9OwsoH_QQwҲtշ o黍J{C{itDA q1. &gʥ>N^;B}ߵ ,C_(= ;ĊhX쫷`8I{ߧ\CLOOJjOjJP0{ԑɽI2y Q,+f2*:tjUd*@↿ºJPeQAL+7 ߤTD?$ NutX,ʹ=@EpUK=J}WuhW"{ ATOPy|} gz,kb˷vC"X mX-@zsѣjc_=WxW+΢favTl]FU "H+,⤏G QNkQ^Cblͬqn.PVT.'<ȤuIއ!n$[< {"|dWE.`Q|"̀Lj6.wK}'qD2gZJO~>/0bMcD4 wAʝ+y7 !DOeIzml깘n˶>M? w .3؄>ʢ8\oMS m}.e>Fe46lʗeW ݤ~L.|cN..; ꗉ/_Ҿ8kWJD|!(TM5$誦uP41تPaMU»͔#˚dν8ۃ Woc)vx3mP*ȂZ"]s gP.&pha.,ުô (@']س FoWni Ǡ0Q;.\\m8HI;<LD3y3 6>{僵D=֥'*HhfM df},ꅒX]UB…x1݄]՘)>^YJ>ơ8Ӟiw3zZ6OwU Ra W;.^w&%g%(:ݛ'q;Ig۵Z6a@ ]$G/@wv>fBpx_1dLYe^AHQE9(t=S#N]6]䄧 / / (NïV.P$2%| ۋEgv AeQ3csˍsg]QP/ݷgV<lRCC3S W 0;^B(xq_ݡQAp) vbE 3GvG5BKAĶF]ş9x#뢈n$J…DҙK~0C|o,2$pOkB7,$,)V,VUVu]Éؙx&DI!8< >\ R_P;WCfCc?HV‚lB|=>yJEKF[]5P, ]{z,6Ϸ1y ":id:dzgd [#YB \(xI/EXGߡp8 g_*hDnyY೼Db]bՍ|:ȱOg^j}[Bȼ`hʛwb/Oz5ؼtUF^qy{7}wqE_,PAd2 !N,u=x>G?(5) P}'Q p I6i-͟[lQ=.7>M^et9u}j]Yw]v5.7Q)1 6fȫOe >p%zQ[x1knR=xVZ+ Oj?-L\xdy &)dvihK'sl?$ٗȌ^Y)+Z$YKdFnvYXuf9z,H#TǶ2d\z-I_w=g^\QiF0%_uƺ Թ=<\/,!S,ހm#/vawoaiDNi.L5IAs_1 G_q W:w}ʕBWK}]}, f+xC[tY x1D.B<.S #Vo@ !YMt6hRvz* |z0@k < xm=Z?GKگ{?{l=6췯:ذF&*LY`+XVc밭 vv{qS33~gOߡ#䶝Ęl64 >AKJRX+d6[5~G>^ݴ^몵ڲn<lj!OáݘŊrG ~^A]D.ukpb!t/*_^ﺲ,_/vP|m~:js|6ǧѶE'{m=)r YTތGWM_xEp^)8 \5qpLLN#~;u; S{}j/l{7aݦvaٗV ΃ Jpf 8<1d(5gn70Ev:E@唚&N֣$sxNJ)*oR;mkYqZB IM{zGfqJ >Jhl\ͿWb+wa6Wo]!Q2k甋(=(7kDF B"?R3{ҡMrMd%h N)3G;\Z>uh4XO)ˡxM׍Z=/fv]"ls})/ܝ{'0Ebݩ=vamToӛw㢘 +=fZVxݬJꞲrrݰz5eO[rJ+0ϵshik]@O&{S#E!raP]e"FFhCiM RQeNsGFxL>;=ka*&D~ヲ`Ϻ;sFb-fY[B^ܚCncIJS&K J܋jހ$7>8⤻TZBl5;"vOX[LI NTF1PI4#_zjD)^c7 %=^[K2.ÑJ#4.% g8M% 6%3e4ԷNAUSkZ|%fBB]SPX;=ȮZ1fjİ]f E)ǚ&i4wٲ{Ei-VzW!6OP~14b1oΙ:̭]r$BGmsENC.Ԅzg9@%AI*mYW>Bn#HfpʜI1Q\5V^Ŋgx:ܗh}G{I,MA|%R&ρiw;$glkx MOz*J3?⃵f@}#*ӣp|3Ub{xFlO#{jgm{g8#RrA,d،nBnaNPK6z ȷ[$WN8E d2L+%Z؎ի YHܜ )(y˼rʆzͶS9-< x>;4fy h)#!B$(g8 p#1w{%.~h 7W$4ykq wz rC;Cm/=0 kD+c!"אt0㼩:Tʊ>E$}ɝ<|M jhڪd%x[>k0lH4qڪ#Uio~tJ*57AlNj T&jo$!0.[\?2]%?]\(Ӽ*(ǖ (謹g2 aTt@qc>2bo?vG%0RT))}3[V*C>{9ޱwWF0~,#7z-a ׷\#5@ejlw;(ejӴI$ IR>2RJKvV`$%,).AB@iٺm`!DN톐5by$Ow R1_N"GIdUm5ȳ!sMfFRoː{ _5Wt\~L\s|3SRס"l=(C)lc#b6[ JBy-̂ z9P2/|'3iR/,bNm.lRS˛zE'H E4Hh%h$ uR;S:Q%|>3b|hO/ø+I4ѡWJI{U=iP K $0"Tۑs<|vvU_re ;T|GڕKjKKj {rQ;/[QkD^ں#>%%ק7lJB8EtY:w6#iwuxDzw e$ z`_eם>cd FneX҅,vdIz#^% N\$Yzy)V>+j w~ky^. :^_X8'%#o;@>"-\(vx~m/\  Ś@B\ۯꕶ\|c!p`+H1Zt"b W2(_!DfRâ ge$=@63n,RwaK>0߮*=~ 1{עЧEdτZA6 o@I/yK6dnrZl^9u:G=9 Pj4F2BtWrwЬJҜa)O|vPj?2MVht(*Z|J-ːZO܄hU!Su=*V=ic0$<j5c#{8)Hz0l6AyFkPPRa*N RPҪ>ZlPS$t4wa O %5z=4.jv: ݤnQ#bm`kUyii !X%j1qzZ=kkGޜ I[HEM}IV|Jo2(oF l #mHVlnJ i%AHFN *2Z b~V)pBMҺ˗Y&TZs}t`©Ot96n-#4 ti֪1Hel8amq8} o@HZ4F8` [OVheYG񎭅P_ssj^dܥұ]Elƀ^:2+Z_O/[h44H#>U崄BJopwO1|_뛅hH9[_s@= nfi ߀( 0NKsL؀2pM0y!q*`kI9}gc7;q^D^(ehl(hJc^F9|choךwFb?SȆӘduoK:Iʻs_V i rHgg5ה;X4+OЫ'W<c=7Zn?,ӄm>@kZwx]s79wpSo旅{gm{vMc{u"d q+_M\Q*K~qj2wQ,.s[s@]XpA7hS7\+3׺ڋx=cu-8jj GU Ċ??G;U3[ƑU|<=s턆"ul#Fڗ5o~Ә"Xȭ|$0XǃQ?(ֺwGiHyyYS5 :]9'b~9Iv @t>/#}}-|e#"нP9 |24>1fu^BK'ۻcya)ry\1WAL#<~'f.oV*_ڶqmt pLdxpw1kv1Az57Yc SiF ja U`$R g*y QHfSJ)-R w|Q&@ByxP>՘d1sǘY ig? RW:ujt]_e;DcځU*-%|?8hOdX4Rz<#LE.Y*)D3E?YIWP$]J3e8ɈkoM$֢iKN>bM˞D9WЯ{"~sɵBՅfVl UQ91s3oacg0|+vb`A݄UdLEA0 -GtV@oeepzyhbblAXpXP Ȼ̪OTYa@sQ-1/tnXSuI W'?+QḸ9ʅhq`sE8'NzC5hU{V.t!}UFӌ2aMDӞHZ r[{;+6փپp{cj_[9۟[h @~(P>6zWW_~>C=8p܆ 8[I沠 I|[sv !]ٺ OC%SEBUiG{z !ȉI@6F3Z,#ff,2c_Q_͖di][ '  _p|y@QX Q3 bݭM sl,UwBՓccF#f gb|FM^ X<{ ЋLNF7رXs27n֥jJÈBQyY./ э"P02rw0XP`?v}KJmz4vikh[)}iΝmQmt9I%QUiZR-}$7{H$HB,`6+ H%"*@PTlnZ 4%DAdCDq\vپq9m۶ڴ?J*ݿ;;۷s{n#0KM0/>1ƌ`BK%|VHI1eLrRSߩT*hSyExRkU5PAA.xr8ڨ͏36jLK1$b'.Ji# z^– K7΍eAcxBc Ɛ0,&+;_@PQ63gav$!+.8aY?fQ-ds&ZQ]m76)f#5ܫ.)T$NkvpKSk"j IPU\Zo.͹ /.Yz6!._~f/fd\Ni\fѦe]I.m̝P/,/Ş); }ƩQ̑$Ud9lF9d /S"Ѹ4dEr!MM.`q\wʍ{EVQGwUrzpH/Znʈ_[8bVw[6NeHKI`₍s`yyގY[k3V^X]TW^%Ub$/UV)$:< Ȑqʍo/py_7TG_=I\m.6#ndҬ`U46Ů/NH%%)B8n,w&a ~1)Mz}X2T a`C *[">P@_ۇ ȏ䆳ru^=32ye77*crdj.ʰ36ߖ5/^T5b]lYZN'Ы,+2mR$oW7OQ&3\b(+ʌBԹfe5gy,rA/|fƊK?W'hڙ=`aݖ1DyL<3:i֌VgyKsv-]>t] 1YQsQ(~ع\_wSiIw]NvJdThDhLdc&CBX,IIy4!M&Sa"eStVLƅ$J ٽ@-(}:[#r3':0XO\*&l,==%a"$dVDNj68'D1ț[55._*/Xeʘې04cŖx)5X D Ve ƛkKGK /diҲf5+~e,#YXz8YeyzrCyz7{vMVD!DQSP) XRWD.2VEN0vݖN['Gj&ԭ&M9pj(1*]^kO^b6.LI5ϋfT.3wYeFH'͊ )I4R 3 kU婡yi)I0& Em4%{٘XP{›"3RCrc%+!U\"̬K,H)#vM A0goSb$aI n%>03̖%⤋̕k:V5ܪg7q7éR8<3T7-·S]Vn($'.ei}.Wn#_F/[H fa!ݫQd6$QQI/fu _+hVHuZguMk"ǿfOg2 Y&{MʚbkI`=[XfH"zIF2fBB>Wl$K`n-),,kJNZ$qIAvZxcNqCaA1qYʔLMD\y/_}˗B͆/ &Ƽ.ˁ>R*q\l-*cPMfꨝm耏ODi|->9gӢ칋2  +BH!hP !::htaJF+\ťIs|9_zRSnSp}PZ:qEBf eqr.KYq'䡯YK3($ eq .%YÈwE!YL h_OE^ŤnF\ZN#2 _e D\¸ءq)! Op d.eCbem _NԖ2jق]J!3`RLX y)ѸBN1|);As&PK@\-53Z׃Px k,eqH$#f9O 6^Cmd1jP[O:P{ P d8$C܎d cGgK Nld+1Md9Ned)]m$O•$EDNQ|Y-r b_tapVyqˈ)"CmDap% X.Add 7 &U. )8 ʜϨ_ppC|#Õ|9ÃX*4Q" E\6qy@ц".PEhCm(:]vVPٲ (S<,釋Y2<xXֿ2<"}$QģcYK gD m4~l>Wȯ (u9BR@Ei%}ĎH?K+B 6;X\T'@([^a9;R;ZEZjBCI~>>ڃ# 4x7Թ'cHd 6P@[|mCitRBFϤNkeH%]6f:t\2n/:uAaP:D`mvNր'tI"[{PB709Szz/pVh7p1PfcDlLJ=Ljo_OW,rPO[ 9od隴,,ԺJ)SESI (5Y?e|F,2,-uy͛Z3f1Il;_?gU`F0铫P&Z?v8sGieׯt'w~%z]ⵒyd4KLLgte1~@ڟE.PWIOO?q,&-dcS9ؾ.Z k~&k^`+$׏-oB.I65=:;X?kQ(dWM5u15k' Mlv1.y{G!&w Q.&3rZ"a46K2t_V2pSX/GN%LG]D^*߰woN[mb+ε6ū!^1e~4e5ez/[+ıiuOjl:>p_K=j6䖰DӒ: XEiG΂R J2ѢEd#Ch8q#l!hZo5YxTZ kiePZZjG{T y/bȯk:iO%mE0tGd YAV:FO0qRI f#JҬ; i3ڵ0LgQFC E]s؎ڧ]cDGҪ٠I3e*͐_VC4i¬W-ٌj[rSZ#UŴV6o,Ţ,jmO*f&GZXZ4V\0Of*-RüW"ID~tle{ sDoFvV`6rLr:ʘG9Bk]hpCvpm^?Wp:ce#X{'Wj]n:iJۆ\^Z]CnGBMMjmݮ(]j{ךoБzHsԅɲ;ؔÿ{ln.nr,X`y40)R&-@Q7eu`0?ŹMZhii]RaZfkS{"dV iԵ6 hahljFI^lniB]Cs}]5,uJklQMe(nUVT׵vFJD+ kk]Nfmnj{ 65X5\Q&T##V3Vmjj-mj-(d"+(UU_Q`, Y&PftKjYUUk]S#UՊ ZZ['.k6 ֺjkSsG#~"jjaڈ ͷTOb9q.v/C+=Ct3Xo]G|++{Lw<);#;> wwsqћy;,wY̳ܫWӟ3Lw33]ͩ.'awaiwei]K(#^H^mXfqr##l @{7{׈Ґ%ėǡ GB蛱 <$RG^\hmhEC~1o%~Y5>"s>=gڏᵗtiACdX]vݍWNoê DMgP"ӟӿ_ C.BȿY{!!|!m,lx2!x!X%oI2_qd1F¶*j U-S-nSu#U ^BAu+joWmB|N|_}U[߭!ߎQ4:<%Ik塗淚2EО=#G`h]4ja| ;C6Cn'Ym_MٻdiH5V\7wdnKE mV ]BeD9'Jb lp # LI")˙$$)#_B֧Il^/`[$Yɰпrr'$ux,~29~iY,neśYY#Ge,>7X?1ϳ,^fm,{Yţ,>,g,>X*԰W q2bLayῠ#bR>_[l  H_H:e'Ih6Y@oIۖA* WO95q)-,\=ur=rr{w;΍qOqgWwKo;{;(Y,Cf5˜ Oer\/!/kK~Zf=Fcgߔ#@~I~E!Wh "MaRU,PXVEGTx*6+QT(*+O)*+^UxGR*#FeҤĮݰ;_ҩ*oUnVޣܩQT=T?1ZJҥ;ҟn.ؙi9q]%{tSL;~.i߈:6>1t_r7%D|(w-w!<_sy[ܶۖmvn;{7yv{ǽ{=,ný ~}xBo^}-ۏ|s߿/R1w_}wRE;Dw<ZJEZRٮuI_VV&]۲{neӻ~{{{={jسa=<=f]}ޭ{=e+e_ľ} sۼot}/{{ߧ####[FFGN<~~߼3_Ѩj4et(%QsY=G;x06?#~p8C';KJ|Ţ;]9r<|+?1):b=<ȁ#OyȥYG+.?cG_>111˱ckm?vcor_y ㉢[N8#Hp R:"zcO3o}|b^{gs+OΩˢ%}B)}B5;O{EiNBcHb$/aR(&)-Z)mRJJRz@Jy)}TJR+)}GJ?3DJR#R:WJ+YJ;Tz)"\gFҧ,oH$TOR'YRZ$O-bw#b\}U1}vLLӳ"o9Ew΋ K~JJ_酭KMak对ssH 4xIeT٧cR@x]zP"W.2Ѳ*1U]W?RG4^v!m6WоDgts=!!4<`x:TB uŒ;W"\Lk#;#W!u"ڠ;6K1Q1BLMLO֘b\-];RS#79nyܭq/ūVbP29P bH-{v^e&Ě{\1$mɤw $'&w&ߛM~&qBؚ|/cL7I~M~ኆgIqzN|o7}7s`E^C|chñSq9=CNO8=;NOs6ev_nϢ w=#ǀOK> %Ы._';wmF\$14=NOӳd:=>Àhglfflfl [dlfflff @ϵSi0xp @9?Q;=NϾӓ. !0\wA ].5 !0\Ðkr C؉<=NO3?3<=/OOӳ<='OO3|fөwQw|0 oPw p0)ԍFIO^ Ee+j?c gw ӳd>=OO3D~'|k|o`0 `2I\ۧDPg}z^֧gINp<83 eЉ= bNs?=OO?Ns vΟgzs_ezX@u1:6p͟3Ez y fbv=Z_e>Uf_wbh0jL&NJ繉8i&&+ϓ`hqk(X&|z 7*Bm/j{07p&qn8x?!(|=;|I>x4 xOA@e1Ds>3k93&< y Î}Lgarp_ $X 0G#-] 0ͫٮ7Kh@"(xVDu-/e%ZVPv`1a =}рX@ =j#Ie_PɯOJ _J/%ak`q6\j;ˬF{FEp:xG} ک*:1 OcL=i>,,}cr2K*RkS@ iRRxHY)kbx{c4QCa#d6FE݈VAw#Zn$ Qg 0o{s}=U?^(6^Bq^莃qD*#{μϽȿC1Dj %PB ZCX%PJZka]pCPqb]a|P4(PgFk]5~ 4m=}s9{⽞G/zG"`1O }3A]#|~'+([,zZGt Q 12罸GMo%牟Oa[(`kIh<}Kx҅Eh.AȿYI獣 ޸X z X37kgpB Th/,E@8({RZxi,U` rOt% e~EDT IHQ-)@*gB"9$cՃ =} o#zG/`}$-2!o@w KZfe&Z;A0tS #")GeyW|qηym|ʿ3Qe ~8.hGiz \o\mjd˽8%NY^\~.*e DBzz98U`BzXPH-ZUK*ۇ/ !MV@|>\RQm/#:mٓ~t>h[l%H/]sIH_%+0~ݍl_%;AOLW f-vB?qЈ7N_=#~3 kDA*Am#ƐϿ8~q-zfƋΌNC$+jDًw A]] 0/ԯ-5ӖkkpiK Hwzx{C`GA=pgd|*R*A:r_?8=7-"!Q>$4CW>fEqz- ܨU/˿*Ta83튫o:,L\}*f ũB f*cU^+MHIcobo11!|[)0jg ~R9>`eH~^C|F:+?voa_2#/Mt6yrHJ%;gd>\^+s-ʟAy2KYXF;:Ug)~uOt|@%Q vgimXTG9zk#̇.ujG7 c 3VPLAyٞ73Йibivdu1t#G`d F 72rTVha&7yjل]b'HN OOa}尾r8NT,rӱS}&럎ı1L\uϣ1N?[Ztv^>:`gGF;ܥcnB1ph^cYtxgg 4ͥCsԗz\h}sVj4" K #n :먤λRdzL:fyEgW>2s2.R PK/,fY),%2Ĉ30z\QavB[z FeFZ2M;/4?JE$^$*9IVͲs'jaq$oT?A:NV? ?:~sؿP'k i'A{IƟMNrk$ ~DKZ㘉:(9INp҃_$9'd$"Bn7,p WB=} $c |,Keȷ8"_Eqw<>|O|_@B~+)Kd/y+>y#/*O?%ߖMߑCߕKj3zR#7ɭD%X>@K^>&Oo&9.O <1 ib b䂂XPab" aE>B-ae~(,zRXI~+DփCHRSHEW5ϕJȐ0ε8:i7pZJ)AB.BFhpK])1KWѦ+KD1u# =HQ"oGX&JU*[Ce *#s8/5dNA.`/!?I)]U"=/7+?Ն\N.Ճ+/ ^;cT1:C}u zHk!s1}!}z3~8dHCΔpgdKs*s3^8g8 v8){LV=Kbh91'a9 eX,aE-a+UlW#_ ݮ= SӠ)]NבQW\WH !s #[]]#.C ;׺S8Bwd$WC{C;]L1tGՎwCV:t`j#V#J_2 ǜ`Ζ"]4Թsqj.w'}֡ EQ Y(ASM,a2d:w2q7nW|s7ǼCc 3m렯Q}=XW8CkXR8W k@S$V3$2( $lpeJȒ#Av S6t`2Q36a*[ͻe˕^I{+_{E UMIc{ jwŴ}#6|PwH'ڟB{OA18ݑ G>ܤF}kl}SLT5|/̧1$z))۰>)vH(rRQ2ˏ]pv.Z^Ӽ 0 %Pv^EZŸGQoK_ rr1v0ƃ #Cu: p[F@\ciXZp\RJN, >毦S )(rg83 O('7w`8 >  $hW*~2"`ۈH KB\[k-eZr`\ ;2}݆OI#n~c ,bY('Pdr E]SzqC:pC2!wK1R/{8vܵmFo.0QLנ>. A`8VcY44չ }a;lՎX.Xl.ŅX1EniC (=dsQ` M^H ^S4uy2wva y{ /p j \P"~ Nk  L~1NWytcu2{ bF俆7\\B1s^\F5T UQ gmOjG 6W}NM~+iMe̓mDҿ_{c{{vO1@S\P|J^`oZodU ~7o"r"Y᳚m/T=Mޕ%Ȟޕe˾L!+ed?ڂl`.ҷH&88B!!d$ZHHm@'MHOg=Lmn p mN%ӏ!EP`)w$IL" =H> 1(/AX.jto5i6LΏ>d(eJB(RF1n>@_~V~ 7pC,SM6wػʹһB?F8D^_aX!2)wW%RD?}?E|R^ 8*( gIx Gߐp/b+>PthI)H̜?û;{)=87=4R^48,pVY68@=4EΰAhc\|RLZb%L߃Uk)D  Mw2pg{;xLAe a*~fऔgEO!@"YHzMVRJDIXH9C%r"9,Tn=r۹22Pebe)MFeT2GM*MYUʍV+˔Jؗ2VF jP WƜܠJPn8\W:J{$edW+yPeu%dunM║uוah1Y7X7ZdmeuJʄֽà4ʹu YTH\[%JRJ9JYWYW{|ݶ:{ݾ:[w[UwK[YuuE)+Aԭ.jmݞueꠗ%u[ o@]W{]]/za+0}~ILS"gFy}Q&_ɾE2}g$zڟDJ䛸«!CU/O2 ɷ }ByH)ҟ4 @4)]'a!?/^rñuv%ݧ^ RKg &Fvϣ_cO#55[|fwMeMF5Fl55jԜCp%]3\I1j6v]]]a]B׺ ]]]ۻJvuRvxFt`mR}ʘa Ki{}].{XmdY,V%A:dI$,IX+䫰Sdl|]qN1b< ;v[q$*Faco1~Yvd7J4&e"2I¤|뢒wI.yS@-pjX@ r `w)E<ZP~Tڄ__j%[M{%k;Yvxxx֠V" cy6!L 2A*~K5rŰAK")~ U\Q|B̉Boo :I!jzBàՈԈՈ5Ո՝bcUՈ"R9gXL8 5ΔW8l:z39gr1\d`; >W^i}Tv{{S6c@^7#W2 v|򗚲t漦.saSnykS\ҴMWmٴC4FQ뎛+itsMŬjڧ;ao:676NY;tmوQiUQn;t[Sy\U\MI&|Kh>1zsWzQkM໿ɡ_dh_b4_ft]Bn-2>\SPЧ> 5h V7YBՂ>ף|[j֪#%hNKz~e:V_iTo 81~Oט*\KO_K镎βZW6_{ZŮ+{^c+j%+9fW6u޼Uj0,I4}eyS>bbA86RqDKfRK!H+Q։kA%zyt-N\Чu̬a9fP16ja٦5|]5$w6Zv+m+LӆCKQ>ߒaȰ@[,lҒOg9bC8ޥt!<,Z]s WsAjNPln Kz Ec)Vz`(:͋(vfFg؃ݠӼlJFdzY.fgۜhgV5ZST3f*lcZ56o27Q62YEVh.ds jNF64Xʚ+ j˞e_s Ӄ꡹j χTLcZF2%ѥ̒ICN"Uަfel4oFz72?!Z (qE0B9V Tnjf,5<c!nåCT#bM, W +[_l.'(M=Sm{Tb52uK[#[u CgOaC?<Mf<Ɍ%jb -zW;F1z0zw6xZGiNmGذMEmV/tDծGzM+"qEW9ez&N(՞ͨMUl:,ltufzS_Y*aaQϙ;3go}.}ֆY.i.}{ՆHKfy[eLaY۶%b-ץImqTMjMMF[Nmt[DٖfX Ֆmk#Zէ &)jnlk+F72hk] ykڪeh)}mGqmǭkk5ASۦdHi3X5 mkFvºmǬZvqSӚ[ j#!]6j颴Xӆ}=@Ͻm5mw+eGۤut]k$DXR:ZW:zZך;z[Liu ӆK쎱,Snl7t"SqmY(׭; vE~\ɬj-kcwF`;%VJ lCuMZwۢZUzTjo5TGL{Aw2֪6U`UܛZu̖}Jܑj5Q;G}{ooxoEqkKRZӮZ^^uTmluhoztԾut)3i,Itqtkա՟'Е*; luTAkޫI3f ^7Xp+$]c%CsӸliX5ˬⵅ7*[֣-1YLkK1z%ҘnմD[6gՒѲظk3o3b]1n}ZвXb5$wZ-zr2,^[ݚZc%6͸ze߲dC6gKlcu^7Z6뭖N]\OYel)5J]s@kƊq7xRefRm8Ѣ4>rxvq1^v]EGheV̮tmK(>߶Lҳ=ƶ6}-Dr["Cm)ITz-홶M-,[^h{j{mkˍ"[I˭m-wwvL*a3vD7Wul,25ҳmnF i7(}X6O?"5G&oSڢn}mvf2m>#ےKڏwkw7kհj3`hw5B&8tK:*-OvR 02pvat=;cշwu,6،|5-X$FjF}ܩ1ԑ=OԞa'HX ,JwP6|W 5֦S?=G FhަnIuDx;vP (Ӻom+w,}Ҵ~ZuyM;~'#=S6L}~Ľ~&9?莃&ܩ֘1G86 VGL COu,E`̕u$2Sdx631CkLK=dG]_jF(} Y5m .2-Xˀ}~~UfЫ &|Z5d^7uۓ{ll57MiwLuMYA&=4j"U{.ռyboa.px}Ě>uJn=xVvp?]{.4iuf_.ѯ́8e~Z"!]y}/uV"kN-Jb$vd' zF}ZKt-w{]#^n>ĶDkD J֘OHO']->%gԯK3/֭3GAԛTA3uvRhem07d͉Sltt _п~zz޾IwB-k;ϱt z"h9 נ#+7_$b;?  + '(4Q~oХO -HGߍ~ p|<OxYY'7T"__$s#K| 7󛉜_#!~ y &_JfQh=>}L"0&FƾZ,e'ʺN 9Fˮ(Uvlܷ<<|nyT%WǗ'*O)O/__|c򼲪";i~uA " @C2b8Ҵ!4tW7M7kX#%kǸq <51ּުju9nw߽ukiuoqtt9[[Z'[;p pT^t˘lU-[nlrqˢ9*g3qzAoFz;.M2CFA/ϡ7#*^39t@K};hc&T9h3ZkHɠhoPZPAAhPNP *ҠUQQ/'D1^rlkI۴mv6o[NEpQI.K-[\:ڦB8/崜j85qVɹq;ɝrn]&)n=vJG#~GmA䟽Cdz /2a/W@V6H>'h EA8l!<~*')Az.&OMHgϵnﶏ͵_=jHYrNż 9?i:hD69~x7O@Q/|9 тNPxMiD>R>tBWBt%)D%eQ;)?q6]P (ی9YR.h׾ ֵ,%SAw-D^QeV)wtUnK ]H!5Տ&=$bE/}莓;IV?Nre\RQ{=sɞ32_s q{(sO#.Χ.tγ0EsUƻ7\o44L=oRWX\" eLZGE%60jO_:Ow5z\=.'tuxr\<S:婐ؓ9?/EE~s)k >|Jdc;;bJ&aSc-IS ;_5)OŵͲ$M?޾'̕S[zI<=lmKϠGT{۳<kF* j\/?q"^'D{w3IƟ|3_6mܢek$HX$d3+7x?Avg^~C-mc?ĵ*),:rN_W B߫ C*n(Y;6QꇸtӽSt/eKypKHS@wHɿIwH|@vHXC¦UC¦SdM{o=1#f4ǘI ͩ4s9\`g.0Շ̦h>lvc^)y||<~y[lªV[&kam^Zƭ׬i-Z[Zydczal -t[-V%+lP P_r(t**EUk92NؚlOjh1:hK^-l8j5m6 ߢ8r&m.Q uYƒHEt;cm'm`3AR뭅HhR A-mP#Qe8vخ&lS6.n6ȶ`dK'ڞ34pVpTesܐL <Й;]Ƹ^ %NhuT{ NZY@?∂hZ)Fsq:.KNr[ .˳抸]\9OJ1rCݶL}h9xk\'5Br]\|g-c-W[-Ij=jAkZ$^G[VҦ|%fe9ÈnFK [MX#bt[o9Q ::QuH먁 58M tMMjO:N%{ȶXqS)̡mn#[ Oq:NZ{};]K$0˶rmzhw=#{-ڑ]e.{/{=ޞdO7B :,{89^FJZ^a۫uvFa Z"Ҷczp-"m"A{;3Aڇsa%}oߢv=}~JCn dqKơWے!Z'L"IƝIdgޙLͫ9Ġ bb!=tV8j+ɶgltp9;zy<<2xt;/8/9ǭkIV9K$:9;R_eh rbis޹D/¼_aG`Me  P @-l74pnN.>CUmu5!z_Kga]TM^(-"asaT#!lG6c鮑s]I 筒>99!<E]$fyNOf!yquy>Q̗[%i`W!Hh.u NIN(#"__zѯM˘^ rBb*]s=@9zo#ߖ@JiJ'}ՏvSot/q̈4TZ@ q+yS??o{J?g*)'YSڱR>9_YHI؇J`Iƛ|1CSuL1+/ $y$4S 繀&MZ@`M<䛃Mi]^:|S !Wk*P\"46I7I04  sK~mzMmRb?7KlosП>olΧӏkX"MJgٳZ}6g>O/ĦǚmI|rnLtrzZA7;M8u'L'MqO'-o:+_65%Ob,򮝉#|ӨM%~t6]'bkc7I )N߂/o1CCh`$B<@Zi<``*``&`킴@@@'|e>|磼/V :@`*0/GD<6A69_<}KߣCc*ׁvM=c /GUL Gg#1f|3c eljRқ[IrwrPW+KjCWz_Cqvmo&з?jkSii(#_0l e/O _Gu[Ƒz }W] )m%ws>\g}Uj{AJ$K8@}+{x+;!pu=nU.}QBп@;>JQ؏PJxtx4z5<&<H Fj@d@eҙt8`!-q2ke ?׈ſa֠F>)1g3xȠ7گAX'`U}~b3P oBw,a MT@A EC OcQ@c b5FP-4%*/gK% e߽M{Q7M oBx3ތWHwh/F%h=H{q/ڏOⓨ >>O4>U3 <>Ϣ< D>x} dۨ A e##t~Ì5+''~BL.03=+b~_찇!G5|x.F?QE G|)şc'Oο} G!8)p_qD[GP[9OI@}<5|6 SN.yސyxNɒUMI98KTh*T U$$ԟD]?uoˡc($סF1?UϼmVzѽt5yvk:>YL6BG۷o#/xa Bl n@w_4UP ;ʖUB4w.jѢߵӂD.z<aƚX~;p:R>H1`e' ~ͥ3ĪZԟյl 5dxA}vX1"uþf-H[`!ȡr4љLkC&`R$)?B ^`42-Y12!/;|x_Q_?)ݍwr@1Rj%ȱM2zkpKr" 'BNH E8MCn2ehYt,o a$GJ!è,Pp YpuB9io褌F@?߲)7q?_U/$%'}f[ZZ bAv+ F" VJ"p#v :52ٓiRl93ɺأ!\$NbN5a ;`:41èifS"UmbdF,1a2*t315恔A1 Ym+w:&YF r:eC 'd90N2L9#; r`W)hEꏕQ3 8_`dV8d9 䨱b,Kr` N< P0ļk(r4 Gki a MF?uš^d9EvZᘉey ű8GFh`$rh& Dh@g:P`>~;j E:\\௠fat4JYmj7P23Ai,pQ5:y.st+]uQ/F|bFapmMJHB2|i9_݆ˆ)͐a+k&kTQ8QQYWs䌿ڹTriR2LfrIIx?r4OaR}%A‰|VCS~f(zsa`M  o}U2&|F{ >koJ9wήh&jST8R4} z8r%ʘK>Уx\*Ѭ0Xm<%W}‘n.W VlGo[c1h2!o1|Se6L 4CN{4Ce@^ocFf|_ *#ƺgR_ļ|Ѐ ^?o0,*H{#pz5F 跫>pۘ+Hh,; w !;q8qk!vC654vl"/w$ho;ٱtg˪o4üc0e!4*! zh(! ݕѮ&eTXx<_a2Z'cZy_J!{膌VಌJf!RdhH/ T -6h߭n%AtE@V\dYFyҶ + Z*E >: Nz{ak wX3%TmUI @jF*lt6.0 9#܃a(!Ёt:\$߫tt2Z܋;,zx,QǠ/N{DkhX =]iG|6}56;2Qb7#\*V ]2a H0JrTordY[M86Peraz\XD U t'tF( GJ%*KQy z*LRS^R#| 8ULFٯm3WRvr ")HJmQUIJ(JWUzsHUR QVؕW}l%DebjWQ+';;<=*}*){0^+[ brLbY1eN+J)uPu۽a)ȹA$)W( {rJDB#C+U(n*BnyDq LqI y`ђ<>PbC^"qVqK!iQQD g Q} = k@w+Nl` 9ÐcV$9uX39:ED.-Y'ԮV(%el|HTdbbX:,6s 7^FAn/{F:ݛ;NHd2gMjDb)[t}`29IL#O!)F2:z?l[+d1s D6Wf8:1Bal$o`` 0Y$2>ŀ>f/i;.,0|{.e$2wcL!X@E%%Ƥ&&[! 2VIHcB%Hi0XL#R&u>wٳ g$0BZ7}g̾0cca/KÓ25:c3puW u@$@EWRj 2$Q[}8p"VC_)4auGgk]rtAa&4ӄխw,+0W~-ҝɞ;)>M\E,9|mZb~oĽ{*'vedVm;RC55ַ3}tPޡm͙.eel[_mͩ飙ei)ʷlkrVVTHܳw )O$ncEd҃YD}++Gő댊m@oضX9\yj_LE?c>cSgl!MM(wm?y(6˾ 0+Xy9Ho:NޤXiqv2DŽ^< oX/JEd .2vo>ݫO/4!?PJhRt{ ȷSϕZES=*n<Fu3{*t .nhWt|nJ7Guz}zk{oc·Iqq ̹ |m1 %Ҷ;|M9DOFLeL↳ {|`niL탼ksޏZUEs?s_Eu=gBB! " % jp[]Tr H"RJUhy RD@DVҀgoSs>ok_f>sV2ʨr=WYf.hrf-ܗ"xuV[^l5X>符I/k_bjusX9%rZV2[*I]m[ò.9Mwu4ő ZIN!9%9EkqҴJӮr)9%;ӮHzjZWmd\;g!9^iZ*%2_9kR/\WMN9߷3Oeql683䮽//[GX"‽:RّӉ/^r;s=>]ǃE?-VHRNuAws$`3 ~-eV0ǖclz-DV*'X 跋_&:H-sḴ^R5v,6NN#› b}NcasvHlpQ!e=Chu/7$tFW=>8Jt!#۞^t~kV Qn36Ӝh,ewR|4o'֎5:֔:l4%W/$R+=[d\Mf)f kӾ==J`jM L v]^Up/|n27ȷr"vF?{I)]"S}gotmtt[i3:_(+#?f,LFp%&?48S|ÿN?+eg ޭ^_!z(\o6 :]EF6H7tԿC+ O˼,;K{OGǴZM_Zdgz\Q.i{v$խ+iQ`c o X{ԥK{'a+3tci'ײoq>fp>DZAf{öx|;A[! ŋ?ү1?/3OwB~l̍EhXo*t,:ѿ9 Tys~XL7 |E?+n,z5s M:/=?D،=+r}'dޅ ߌ?n/}HeH]`! 7e GI]CC'U1̼f]_/i ">-ړ^1{m3DAwA0bISd Aj7G?>!3~d%?#>6#afp!Mo% t@Ƥz0`6"WP)A?̃ |f(<H|C44H.~]3) ?BL:4t `< p:yΦ\[z#ajt; \?"-{9`Y}YnhނQpVP $ v1111v !כȣ<֐eA \JIF^3R߁qac9f>d)]6nXܘTF J0%'ycO Ei/y<Rm Lp HK鏐g$4#w f1r3tր@:;KIMa33 |Ge%ݝ5ssxi五`;Ŏ{+"m {H0bf0>lĦeAw9+ Ĺ/1g8uYˊK9)됍*)WXWn'{ia1-QkRlZ~j>R<Ϥ28{\S|;NsrLe꾒$n+em|KYya9F(hVjx<+y{VP~pyz u͝k[}7x*[NRa#*BbEtl^Ɠcv5^]"퇝K &>Zd:H|!U.(;HY3I25A*oB.f0lZ%ќmN!3;J>~gQʫfey{ߓw8y 輁~mDO kP ~E83D70j!yLzv6c!p~3s?2 Wގ&IC=.G;3iyxEsb43>CNץcG0+HЖuhKwYN3"!!$>[LOurV4KBd ,^#+zôw ' e(s-z+ <̊Lt%wsfp8X9\(.LE0 {xp/Uσ"+§QAHj TCth9N!KUz9AǷKQ1hoE_=r}9ET=8okAUP7R>HdRє2z"\LĄ 1rr!ϑ_Sy soLO'Qza.Sw9qLd,l{WjwEr_Q#&u I-#gc21b/|7= (ӌ5v\ӎٹu_0shmvn"9*ڌ"7Ua?'9EQe2c;䙬3]~Lal2v'ȺBҌ>t0? vK$rvM0GEC]QJɣrR,y^l,'\g͈,eKEk^6_(Kag0l0=Vv%Z*B9x/2_\,hΘ4A`Y˙$|GH>.<ԭ֦Zd/B:I0_R9H:6LjwpR 4|x+_eJiy)`k2oLڈEN'rNSМ) ϖт23~&10yKƇCDl5MjRVuG y$~6/*AQb؆xAs%_>t1ɵͩr.;A {F»[+G+H݇I7u͝a*6zU;=$&~YI &['ot4JYF_<0xN&/"žY,Z>1g^wK֦<#vߊV8=s SSѿ,A>$Apo1 (yYz)Ft~`Awqt/x(^'AS; ola:N#'~0|Y IՖH|#Z|2 *~˨u7z?$(%h s̳;,J~weJ}w%B|7o$rCMmȏ74m<|n2RJA'E;%ΐ+ޮdDE;ه>wD3\"TmjtV0F෴_GgVp'W|^d{58v?|c!je{i?j!Eiw}#ul=zcf`} KݮX[ ?PA=u1OTn[%h(wUIĤQ)}{;H#E}l&=ʯ-f2s7y\:6xR9W噗)] B"A@ W쀪ޛux[\NVȪDz2Yx\ U:,WTK[1Cƞ";|,r2Xno)' L 96cARc6 dR|s_<W#KNu;ȝId y?s"B.1g* 7K'3<|U;T{)=_:^AX; S8 k<),"cR٠N+խDoG,P~I8V k_/gC#C ~9YXEV2Y_Ì+)IS\<Ε i(?W,r͚ P'd=_#FJ7gV>ID~|5i/j}|䴠 b2#X#eHM|mR cuc2oMU+#W@Oڬ%GĚCRu|`lmOd-1]b۲(KϿͺn5)}iv;Y 5vF _2oH#ʚ\s̊I=Q v6TDd ҇<\0F_0l:6b3h8'Y)U:ߓ蒗n)*_S-)eU*l;T_e0-RT43rL=iQUE%,\噳}*WR7ieTᇪj275UUU_RwG}tLijYnfM[.ï-MתC7r;OW=wJ7ټL,TWS/#-QV7 UQ1㤛aaꍦ/ߢ*U{uUMՄ!M&q׀/"pAc&Cq,xaȐK+i`=N:fz\ׁV=p#Ix,>r OVS M`FN򺁽~`pȉƁ)4 o\n3c]> x <=!cbKQaCG`50 f3~;>`~78/8| eJp Xn8vx5p+813? ^/1dJ `56({7U39z5c9ߐ|lbL3O41sO3347B 3Zƌ;w]$fJue6*=:^Mm|U-r߉e}3U4T2w_.d7b$2胶ޒkf_8k̬^{H]s֬?1jz_6kcꬺs8-< u8 glqsv9#iSn[ѭvMvG4MwrO%tTWЩ:]p=N/ӫ:]!}RKfF ^2^/@nꍜe/l` )+U6n˘IQU'Hܘ^ FRfR^RߤIK %-疫V.\r\-- v˧Xu{?X3>*Z}kXn}77zSeM[ݺN6lliO_1A~^~yk7?PCf;L鰨Æw8ˎ ԎǭNܩNwiZ% ;u:bε;ܭΏv^y]-w].˺l~#].u-׵Nלݺ:լM-:yw9ǻGYwicַG11ƷqSx {>j2y[~=lw]~yIHoGMo xSxsSBFv7AhU9:%:UDNWU?TEgFg Tz ꖲ6TYe3ffeϔ=nM|;qjXXZ$UH$UQQ|Q6>fcZYRj @-1kz]j:hKu+JGE^cȫ7D^3G/D6s,9nabBM_~ - #os\qC])278α0.8nho`p\qCF{*c/Ed5_ 02Ff)g]d_¸qaD> #r0ȧaD9LD9FX9F9FTaD΄9F!"rZӈ #0"aD·Fs"r1a2Wad.S0>ø\  #*c#umDZ"lDH4FlDQh*q\'!`#-k#M&وDوDKDlD?VV&ۈD+KD)6"*6"TcUmdldեDl|7Ƨf0.¸rc:6.;"gK#R7aDFAD$#-aDiF$3HiFifaDn #<H0"aDrˆ=eVadn #&62r&<<ŻǙAԜ̕MW$sySH a(-L4h[}HQ(-u iΪhfIQ5+qiItOJK:XZҧ%*-%%6R蝆;J "5g])hGJ=[GK=:QRNztԣzT\Rw9*ĬeYzrrsUfncu?5jN*Y&I!/Y%7RNց]R~h.\!E9ۤ ʹ@{}M)(^<^M-YJrϱ[<囓~kb! 7.,jtN:%(u?y*(xڬˮ.\1\)Uܷvvigv_igf7aߵgYr]ޥ#q k:7lzu6:1:Gf^g3OWf#^g3pjZ]pdokm#Q-&s]xM}ˮ|L{Y|dMu62}9_ϿfGcovf|䚩F)oFO__UBD0w _쳠s= ~Ufk=~ɜ)M-'9WJ*ot6}ۦǙ?flT#-^ n28A͠sp n}+ H7z~Bs|@/ҋR\ԫZN E~Mw^+"" "IDDDDDDDDDDDrqE .9眑sID( *=tK_{OQz ]-r-<-Kk;y]{ճ9zA^R/Wk ƪjګNz_}zO}AjFQj>W_jfjZVUjڨjگ#:.5u]Pmo;vjg9Gv!Q1q Ii9ynjw -- -q,vdvNN't ;ENIS)Tt*;UNMipZ9m#TC0=B֟zz-zޣ#7ɛye*omv&'^b{v@KP|P>|,YH#|q8)|lS8c O' ~@vArr -Gr4%I),'S9]NrIr6%ɹr.+M.>\.r\M/嗔CnMnrE}r咇!-cG!yN+=,+O~#G[/S77*THV*Jӣ*CETYUST9*ʫ*P1UQU'T%U* =jT<ۛRT-*zjQ)L5gT+VT;zV%d*RT =TVuWyCrE/ު7W}TzQU}Kj@UJ`5*j(TYT#UҨL}Fj,UU8z]t&I􆚦Qu5K͢7<5jEj%Ta%֪T[mPڢP]CzjC>5h9B u3 5Qj.L}{=P?nR+Z?ƖvGg{dgv; %R'>>l?`?@yMfxso[mNLH̔=lzP/j!W|n p\݁pu WpLpp,pp{Ip{ճ瀟?? ?^ ^^^:/axu>x#BGE࢏EE>-}.\$\ih)3ppgeEE-}.Z.\"\eh%+ppWUࢯErAz~X N:M_ [uuuuuuuuu u lllMlMlll-l-lllmlmlllffpNpw]).wW¯އ_u_}~~~ ~7cU'~OWWNAEi- G"G1 9QN RR($w=<"O3l={яEً*jڨzWuS5CQ d.Sjڤ]R)uN}oO-lemW^V{؁[%TuNճԹb9!s8:;:9:;O:O;:;/:/;:;o:o;uNS{:Uԟqz^zޫ7ٛ{jKoSb0111+ѐuu-V6<<6<<.<<><''} OO)hI"((S%Q~G~*BũfU?{ɛ%+cMe}ݍ,`kk55aac`˱ƕXݼThW4Q4;n!n:.vF%R;d3[edC'P<;k3>Z˽DƐ19@iy5#m9܅=2g^;7y!Z~ïU||<@o v~Xn^c#1@53c53 RQ*a%H"ywKBxe P{г'e23/W(PIJ__v ߮aEPhZh skuID4vyw^Nj&fONocⰵX+RN!)᭯mz3WţzKt7ũʩc#sJ"*ReNWj@8&[_oZ =_VB^͡ ;7[BʾȊBݩ79+؝$I\3WgUddJTjpJ5S8WdTOh,|P2{]_҄My'ԣ&OKaO .?論1btb7\"/ݝuUU0ʿΨEX~-żH!U$-CCBBv,L/OMǵ/ 'PuRܮXŞ>לiBS?s:~H|_u!]X?tQ.~JOR]Z?tY._~IW/J8Wz7՗N][YtV}Nt67{CZVq:^uiGZs#(άqxwMNby̟W}~p{܏n~p w;spDw;]wGcqw;Nv'Sitw;˝t yH{.r .].qzw{=r'ܓi{ѽ~^srvwJw]nt7-Vwt{a{=rϺݯ+U[;{{ý~{ \Vҳ|9Rp5r ^s <ͭyyRY2t~7^y)D^?A B"D+\zYx£J"D," U{Uq}_OUz]<(j"MoCT]<,7#! /SM1REHZ*cX#ƉqTWt'& T_L"PC1MLFbA,19b52wıRM:$"1ym8﨩ŀb[ZJNL~A.f b(fe1wDјl %qMg#ɕd<fyGqifʙ- &0,ODon 2Gz>Gwi9Cڈj0w2gZ%() 3\%3)S%.GT^~ߦ]˾5Cn`D`i<؋_9&P&(#vyW\qh6|7>=LdE^3vg3=ڞamN$4o =<\Gq<bfc&u-^g]k(~y2iA&9Ɓzs6DS27Jí3ٸq»Hoc>iJoI >6+Jiqs*23ܫYݷUȭ> )"R,\jzh%:M}Et/̲RYSAx[,ky5::e gǵHY#w-v4f?q1\.A +k`m:uuYm볚'P[gz77aml4،Y9k ;ZEk``+V֬mX۲eY`>{z2ydmLaMRop z+tKe{VS-^\3@ʆz<Nw˝ϼW#簗df_ |pkXm%YEJV;NRvY\V-d/9V.{@ 3P2P-&'X8Nū<:jZlgkqIĸqŽ74nV渳qg/_1Q|_,GG VB UZ%N,aµ*jZ:$8y2NM'Lq9ǝv:n fp{{d@wyǓ@9:JRARAR}d A>2d0`2d  2G #A  #@FH #}d(Q>#AF1 c@H:H:H2G&L#A&LI @&d }d )>2d*T2 dL2Gf#3AfY @fl }d9>2d.\2d2G,Y# A,E @b }d %>d)RY d,YGVY#+AVU @Vj }d=z>ddlG6l#[@l [A6m |d;v> d. dG#@ A | A>r!9 r䰏9rG9#@ A  '|$I>r )9 r䴏9rG΂9#@΁ A |"E>W _%K |2e˱$44OM 6~Q 4t%;u% ?uAj#Aj: u@H] u}H=z>R>H}i4iG4i#A4& M@HS M}H3f>9Hsii GZi#AZ6 m@H[ m}H;v>=H{tGAA}H'N>3HgA%A_~A?A_p?l@3jjFFFjjjFFFjjjFYGւY#@ցA~G~ ' rf,1F+ 7 5k |[oA@G{r:E}bixѓ%WE/uTC_ cF~: o!'K PEFuuԛR) @ # Ha) 0"FERA #$Hac>7XT <2 a%Q1*MU%G\ ~:I:Xb]iPgVݜȹ9"Ǭq?hRԡhp77]軎ESǣɘu:.Eq:3Y+ m4nJs~ίk;_iFM^V5M5;){Hpΰuh'lCv E.Dxc|(er^U &GFj+O^r拟X>rR#_j,vzZ*9b mq*jb,)sO&9@V5Hy /(>|yYa44#qp^F$T_Q:D-syL:9+ʅ%U47 n(ZǪ[_^Y\|r ~|yIup"Ͳɣg>ka%;l ;q?Uȳ:N~NߐW9\^]QNwaH~k1Pֿ֞fc~wF'~Mţ{ve?k#'OOxփ6v4>tRH ?ߵ phGGGGGGGGGGG8Ps"/׋EV͊KjF]w3_‘f>ƽEbXǽH̏EqU\^m˲⹗nghYe .UV;apK-瓸E4۫6jrrֺd]~nYwd}&Q&2/Ⲕ,++ʲ)& Sd7KrL)r\ 5r.8L (5(J׃A `HH1 PB6ހ2kiLX90"tphMWqԏ^"Kd7xP$خ0v3[V. ʙM>@ R, #bNShrjJG|8F[o'D#ٙ2@K Bk_U i/f1[;@qY 4 m"əkMLqZ6NMPHWD{t誕= EBt(?`t(2|ґy]eZ/[ /2L5'j1EZQ4RSGhCvw޶BLJ΍ܾ{MTGO}Vk>ϵQgKɊJAg`p-Y\]{ze'}v_G3O_,tP9+f ܓd}AW]ֶaBrvI}V4Ѡ=Ay`X[y~.Czkf%F`Z@r=.C`³#Scڵ7۸t/}HZ!`cg;ƌB*oT` a0K0тT/N  *#ĝ:Qd"``81HN(a X_t ~tOL0*"xԗ*\MH8KpVEaF512rӫ/OwM2%(e~H}{cj䭀}AjOnC(o얙8T-,Ɠa b2~w=Uãw9fc.:ȮhY\+ɇo*OwacK%Zh:~):Nm^9Ƹ(O{θ@4B9$cT<}y ӊnoLNgKҒBW_ ү*Gy<÷KQtDw>xw (o#{""ϳA E} X)Gk]2]@ 2*{P/HmxW6'_e/c7hYt{J>I?`xuWA<23 )U4K)rR!uVw>5cYwG  "vMm;ӛXglk,\å*jg`&;l ^?$.I5h;f¥cqa`9} WlɶϏ+.2.@YW|[&A+-w.$ WMa gˢt|.ʉ+/I T1i#.?J\B {T}jRYOge "@^-RU- h8 tݼpnw@@_w'8Ymb3Q2m  fA_=tbW@Ew_+H@@?#ޝ/&zDűckwq#=@Ga$-}^ӟBFR/ x1f$7|nELj[:TFwL١x}ȫK'@(ޱ_>ۙ^9~ fx@UP^uWh4<ٞBt+"5lu݉s{kf ^HS?~YNCψ`]OKo>L{ԸdWNwl0D*Ԏw7F SR3 Q4/UOhRޛ>p)Y )w_4y#75ԟ-E-` νmsd8Vы!9[xe!Pq ) x'Z{y]'|5AϔMa#?`?`o}=nԉQoV~:3 P,Pg}spo6R=0M`ZKEsyU,STihxy笽]~1j2 '8cTI @ o(q41&{Okᜩio)G_ n(Zp?]?wwʄ5֔&nu/=yl'RCs+ /5*^郏8b-ƶ/A3!ؕ q*d amY:G]Zɺj9䭛r/Hџ [`%A XoI 6s/$I(Y1eۦ91o`_ ߤ,~ Jog"Oit '90vg 87Tl˔z! M(m:ptt|(ds$Ib使-usJug5xg8siuy޸;|n.6pJhεB jTtpxMdOXM#ע&]$8*|"~}׶j\|BPNPuׇn*Y*an-2I]կF.,,SR EwHڷTZuuw9O11"אnUMߨilSՌVR\ciӳ9k)khMYkk&慒k0J,&(j_Zzfߜ՘#}Xf~nPVpGd]ij%3b5LØUxb@$&D\|mK3POJ":ٷO|wvHs7jl` >p #`P(N/^ɷMdFmV;`ih2W ~9ADzu5$bCxUkGj2 qP!&8B" A `'cDśJwSAСՆ/S2;68fPjӬZc ЩS56!&fGYDWJy^ eJotG֛E֓.̙=_5XP2ͽ2hUY.;g#;p6ڨ\i9)DmܮLDNr^DV%JNYء GE mYxSںң3xrZmu3rԊz<]{Ť&& #EoC72vtl3>7RMk)RM:g.WW/BP'CW2e9;Y.b!3V endstream endobj 417 0 obj [ 0[ 778] 3[ 250] 5[ 408] 11[ 333 333] 14[ 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278] 31[ 564 564 564] 35[ 921 722 667 667 722 611 556 722 722 333] 46[ 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611] 66[ 500] 68[ 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444] 95[ 200] 179[ 444 444] 182[ 333] ] endobj 418 0 obj [ 250 0 408 0 0 0 0 0 333 333 0 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 0 564 564 564 0 921 722 667 667 722 611 556 722 722 333 0 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 0 0 0 0 500 0 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 0 200] endobj 419 0 obj <> stream xen0 yCP: !l8.Q~Esq|(yzY[m?; 6Llr\߲- Ҵ=2at_U ^͉>su :0#Ys/Tl]*i5?! 2#{%ڜe_9ώ~ ߑig0{0 sIG(FQJ.&&":%HI~vgK]=6R J/ͨoO⟧aSt>\''EiswvV7q& endstream endobj 420 0 obj <> stream x} `T罷l6&lv +!`@N5QZ⍂VZ5^PkW%xEjVg "ת3/{@Gm6 g7o2;7BOúf3 } .f,*)ʭX!HzY+zެv¡6V-_`ќBfHvOLlv&JELZNQY,E1(*yZ/ȘMo>@:WດM-=#]ҍ#]:؃p{"?( n"tgC2^yB\٥n5HmVv2?nQd{խF1lr3uAݯ܆3tu#8G ׼_d֗lg9꣇SgaNL>8ް,_S7m~!g8Py3Iyrya\kM.lF$I=q f܏ܖI@!,&$)tR:K,ZX˒kX -$fBLi4u xm_)eҮ"$#&%XP7:%`Td4 $%Cn&=Y ߨi "4ٺT47[`!ª~lv؉'s\⏐ 79y%|x #.GO~(&K"}DPJEDF+8W cckPA\˹Q9j8jPơx< 'nDL&"N܄IG<㉧S1xDB.cq+&a q;_Ёi3L<,L'D+lA6D\ y>fA"tp4ù s1XWqc񗰐X8G/1'Rt/ñq 7q"ėO|2W%ħq>'o ,%^egb9YXjHXI|N" NQ_ǹé_itu.|!V_3u8b&g;q !_!%x.yW|^WU\ Ep?⛸5oq6N\R q]u.qWW߄Hoķ[?" )Mpm/v\O7o(wrn"9o-ěq+!=1}-_9?/`+n#~! ȽwaIs~w?Ŀ@B}&x }ďc3IK#~ѯ` o8?$=?m~ۉ_//7W( W vpމlj_Ļ+xn-<>?3~G6~O9w_9 /%r/{x}Q>$~b?Nr׈?.xXnqѧ?>OOo>-ާ}O}O}O}OOO7y&}O=O=O7x}OݼOݼO>uާ]O]Ox_}kOOOOOWy*_>>%ѧ>O}ӿ0}ԧ Qܧz\lV4@`dFW27ANFm0;}xi㧋V\cK1̀^O7Hc& :͙4xSR䮙 ցH#,|Z9X 8XlIgasr]@u-y@0Z ¿zZs:d= N -62zKzh0h0cЁgt)v!9"7XRmgzoa'K3찻,i]@ #Ͱzz̶L1]JN6K6#HmK7tdA;'],,adP>H2FwFF3lzYt"\避M Y͑tt:V+.aV7+N0;9ZLd2zkN:`0LFpD<4h0J|0L3 .!=Kt&M5/0Hd0! C]9i^kFNz ) NJN:W.Z\reʦkP2u oh0 &!tl"K/KcAuFPl٢纀hf6zS&\Z r;\NaCZ.?a'܍(`_ғ=IgQ\#]=wmבfX@.S<7_fx< ۣnr:M^'tݓrKeLѶI@@@@@h9% iPCzLv\mmlч:`w;C: u3ۗksPPdim?tL[Xx},y( 'I1A0\fsl6ˑ;\97zA|J`ms8lt BJwe)d+]nӑ1Ûqٝ9NߐfFvI`g&!9"EمE@(O/!*dJNiIgQ2_uZ4S@^n4LwvŠ쇎L]= dP$"c˜\ȵZ.;=!#$c3" SzcӺ? d4pvvDja6[]ܣ5: ('~_r ٚ*oǕx)SBj Liq(,[N|@2&ؼ^}^ez kBїdip5`y p"K/Kc jHR./rs=93y>13bd_æLJػ?E}ij \5\S3쨙X͡9]O/ 'ԁ`Io9)KGI"Hj.<&dimOe}vvĦnwi:OعPԁvkQEIYR,+s8GYqkB(c`|J`y p""ac”Q4v,_X r}!kLB@d5Z *hvJS;.; ;Ot@mOaeLi*+/ ׁ2P|*w ^ӟ_#!}Qb~+B@@@@@@ 4hHS.g( !` + + %ZI: R)BW6I*"bΰiF5Τ.;yk (gzRyEo9 ՕWR@G%]TU\0Z(`.F3$"c` ՑNP(n$% 'FvI`g&q 2qu̮I `Fz_XSҌt v{fX@5:6DH#9) 6JR}{J @pM(F"Y&Հv䁀a1#]ω]~ = \Ȅ @$\,U`,էV;ٓgsS&B@d%p`|j. ah9% q*մce5| 2&ZSQ+2ôQs䮙 "av;4݊`Si)͜3X|L|= [[6S769䤀xj[3(^C(++;t3ԐL Q!8XDŽ.8@DCzLWrgW'+5qt`1'ϦI]l¢9>" gIOGvJs Igر#QPPZ=ڞ{bE>Μ2oh\HN J,V*Ŋ1ByyQ5[/Fc &i>]Ȯ\?|ӍKj*'ZXST; >#xHNd r[yE@p>\?G')͗NN: (JK΅M"WJ1t:ҦIJSfQ."[z9T˺jKJS''n~k+rٞb%cR S4tyW6%CD/;;jET܀+iRK+h2`sdq2bcMMJ~G =&mU.fDLhvAVA]us:A 7  r$o2~rG4V\nim8JY (7 Tc ;{n,Xw4ȍ]I[tISDYIZAn&8!h5L3(m3eMyFѝAR*JPU)sI~ķAFA-42gpFjCSԧOiI$#sa)ҧo'AJp:Y% fQ&M-V|9LCf4 K+ E {KGmg,}8W5 OٗLJm!{]*5Ž)83>9 6́]D쥛Ern_tYـIX= dtKgdKwjfW QvS?}S鲛b0˄2LP}g[)' ^2.N. nnJwG ~BGMR_ehD7(ƾz5["h,Mӑ~ WDP \ћ-B_ ~n*JfY%8j-57=';Ol Re<0"@7G%,<]Jts|Nȗ0`QW+.35ΤK3ҫwδi9S;L#@'\ؕX_ܝ1Zݙ0k||~{fuwm: p;%F F}&&F{-&I,,&v\,(Ĩ1MmA.[ \fn&2{2d.2{.H}TZFJyttXPGk]%,i'-.udn4s;ϵj*o{/)/JzOkx:M˯tMjd% f$'__r&n`@TuKu ̢LʿhR er@ݔ 㚅.OiOTnF~Im7`f8W^s6]]ؙB#M()=mݕ¶9D3QAMc u^]ɯ<[sPy0ha\SKw5KR:W_(_T-śrL[ZGSjZykl)g5kd2c=Wvwn5khG ?p Va>6]̠gW0ytX\+9N'^{xKK(QF<)_x|U?ŋ+~ď4YZO1*.UO 2]v"tDܭc=QzNip4NڮA_-xRT$Lån R4Emi H)O*7!H9XL% a=ēRPZ$*=gP /ĕx,1ҹrrifQzF=$u=p/abitn>ݿSS '(X+܌eN2InrݬP/ojBu..BWB IcFz^vNT"yg K{SmUoS:#b= ]K܅{Џߩ&O6IH˹s/U~ +vUOjpfQYNǍxC/M..zkJI;o U:vRqId%Iw硴[̩T˩-6qc6*Cw[&MHJH/ھKR]Tw]o3==Kό L" 8.&0" (2ȦQ\pgDbE&FG! 3=߹=1_矚Su=y{[V~# b*(Mҍ\@Z(̨hhe5l[`[j?4NYI<i2|%^'n;Tn![ɽI6 mЇh}Amf3=.m$@L@eE0 3 ]>D):\}oQ?<Gq- _gyx)^n!32>?ࣰ#6",i"X2\H"sR(6 ]d9@^/G>!EOh FdN}];1Ɔ(quQM iff'lhBiu)8.]n"eQz Y\AfA/)~t{N "RU[ѧdfzA߉|2GXT !cLռ93nM; و=`D!:|bh>i'b?]JҀh'rB/!A3уt#x:H9]dn% /Ix$AE1M5.MGZէy:w4?qt/K[9}(Fm0N;zƟ9&qmtf5u|VQoB.ڃ* a0R.GN LߢVx`Bm jˁg#%rB̩`+j uA6 GExb?-uH.\z+W  :MwZ]/HH}GA}G|Gh/?'O' IB@ښ5l9 pT; 1 C2P{wLk:G:.܋sO x#gp־}'&;S:pR[MƦ:îR-Cm4h5QڔNW;TjV5](+ <afUh\|m#tF% (V^$W[ A r@qD.&jGGY4^+ŷuV0EXB;xLǾ'ꃥ4 a-ߵ5mm K QGNvșh4iNx,Lh<| uv%&?ڪT-WT|Ubw͠DTاc,V[/ˢaL0XFi<֑8&m6K$ b aǷDVR˷(ӍAPNxIP}Onסˡ^<_L&l#;#M DCcnckSlJgh嬯kjl\s&ߺgǮ^7laf*#.\?SEq+?_KsG\| 槮P’aO@ ORf(` Q#$,3llx75,7pS xkX``#(iNOFd$i4jV+xFnFAI`?ɓ=T T qڔDg2! C/^GhziԂM& AkN ֥5~қ; e:]H؝1L Ȯ1Ԓf|W~>֬lȸ`,KkoNhǸ^Q)܄)OOĞEg%n؏L;5*]~*WyuqkhMST%,ڠhzLǕףYwAdɶB+@6T Cdmaq+o*V"-⮀,Aq|r u 'a}t(F[GDo=KdHЄ5QM&\DEs"b+#Fu.^1)8jeU%ϰ\BxfEp$2 ýħc>u8=DmQ-PXJAT ^O#haqD;؂0,#Eo(_.RnZPHńqX΂ )I=- 3,gNA6LO|ncc,\RQ`ΔawppF -ç>әłN# BA6M_ QG/YyƟ:F#;8w[gRl~e서_wnjA}6y uXKoFmFZ┦z- `m:ڤy|n];WNwmk'D|XfQk I^sşMyzK⧾YWA? 9ԋGRogӗV%W${Z,fLULLz{&尋Z%\-Pf+_Y߻#mر/ۛ.{p/-g6Qlv>B+V"TCk>]l=6pl0m`Oc+qS8v3ajMJ6J: v\e/` Z_x4ٗؗDZ y=MvM2~s֟%qbʕkiʦde'4J>ρ0&Kt{zv{>>z +_5|W|y.{" QD*rc@-\SKY9GȕY+*\OUH@/X)SE2fQE\Y;'tJ֒a9r|}؜o[f[5+N?jR͓q9\W]1:k\sQ]?,CP- be0@ttX-}l }-Lm![=^)<^7T*D4FKU_j>MaeI(Xn\]ߒEG̾e䱎&R6_Vfj\獜[ 8~Ң*[΍xͻX6:ZwU.g @ @TqD,Z6 ig뾄/&ËSvlʔ‹b\19,r lvĉӡkRtHGtm(QPSKka1frV2jxs e/ !Vp}i/ףCoϯ9 *[K9錧CVV$LY.Xҽ"Դ8$_ [?$-n/WmQc.FEo/>ל*GW@@=8b;Y٢Xf4׃Rv0Lx%ن=@V([O7y`|0eEDBH4s_o5|;ϳɄt3x%̱cŕjoG/^̟AwA5"Gu+v#&ع-;g]!Y|j%dKh a. !۬ڨzޡ^Iի/f3QՍ߈3(b ikO?. FƉ! mr xZ((l)=]E1)iz%PY} J=/S6͹5%%ڇtt+_|4Z%`p=֧QU+R^Dϡ hHc ޥP?a/Dφ|/lJXK rAØT\aoN3w-ݢ-}$a#Z]iUJ.z_2OUڃ/M#зM*>u[6c&gny5J*|wҘi+BH7SWRR ~fʶx18*c"^CD>﫮`0`$"eQBz޺^yrN= S; ^5w1/"[?[Q^AE悊є X~Cf+S:+ %*}TɠYYX; l*E,oCSFP-?8L #Clǐɦ @2ڡgh,W6W RH$Ȧ5TMSN_B7?71:YjB\wUU(S/r:iҒ&v9w3S/p/ǓSb7o"n]!n@p,I.[h8u, Sna0lFYPdE<%W/N(VX $F-E`00*S6qVTە&?:Ob_j?f콴G2N'{Ib pWEuNrL\8o%%9+".L4Pp߱I׋NCF ERwoΡ VAf,vJrN_DDM6g]p∯|U6%g\&ߧٍqSgzDR6fPM㥙5/k ӞPɇqp OL%/Os̔/ u,/ Vo %߯WzؿCv, tfDzV#ԸF2vN87>9%|n @ǮqŮK{;-TgC3VOul jw5\홪X-WZ1P\#Wġ9/8ms'i--v媏}?\ ?׻P ;Ȱ9ţ%N261~oӺ]Ak qֻ+i.I51oXf9e0ȩ`sB:F. . A/جzuV\N1ʊh*S L5mpbg>-%[RjVvl 2kCf1$dl>3SЙ˓8iކ"x)yuԜJa qm/D<'‹jW}⮹7ƈRvIb^ `q}sH=RYJ<I,ūTt; Cv|ܥCCHTl;4ibd2l,#n`5ST,etM%$.O(EO 7xo'g><ƞjX$ LW~5kBU,Mit8z)_XQpMޗ˶MZBܶB]\H lM=&$ IC70T (ċ5Q Z ,K % ^bG$|#blzo$m"ϕQ:Sъ r%izwz4%}F C`_L{YŤJ+W[mg,Sc/]`-~Ba(يP[:R^":'}}@ei<43cge,UvIBܹx^ c*l%\|t\3?HW ] A^zCEA<2zާ kVE$s#=P>+3LJ]e5$94byo'{X'=V챈a(F!{8\Dy=ד0Vl%;śh3<@y_E`AL' ^x={'O߲H"?c\)WYovZ96#]ң~" FW5ӥ SL6Yk¸i~ԸKΕ biɴZi.]}q#Ry{y&xx>~k8jӟM }͇|r;~wOM 5LOՒ!bxH*gfpEG`F''(&K≄hr&uuTˉ^]P2 ] q\Б;l@d{iF1yhL%i8BFOl(h<A.tt^8D*z 2X.'s#dNaLFh{e&.mbsZ tU.XRQT:uzbFg'lɾsb_zӀL8a+[±-c A-FH_\Zk4I,2w F?nQy Cd b 9xIZVԏTgͤ3 -xw];w$ K 9_mx\IP]p1oe\?(7E+ʣG<?XNprRWu 9+\mZmqLv\VϝȰ\cOlh?d؅^Cܝj0OE87 膗_F(زa,1`-&z7J"ɶFoXcN%{eiPJOB||1vJH"2ڕ# Fgݣ9aFGsG)z,IDKf`)rL]peF>ODuPI6O||[Ov,JA QTj"uCy$#Jj"/5 g [y-2%2%RH޽ _z|7Yyש9W 6 ǜjWtߎ/\|} tս3FFیK,}Oq'!=$$Ba !,BXK(K$,Y 65,-iwھ6PhJZ'Ν;3{˽Ze~&d3k:~AuZ%V$6U>U~ mKa"RD FG7#Qt+ʗЋJ%yx\) *R,8c^BO^qԋ#-<=%ϩ[ƻ<ִ̃.y3MtS.#3ݸS[cW5mpюHWUVv?Dy7Ge<¶"YYMA͂v`d`-tC/㝂ý&_8B'T-z&Z//Gݞ`ImO$ڂ{9&ϻ :|JZ bqrgS)餑Gb{:ە_֤\𧠿>7 ~ ;w9=s>-͉[ IkC'v$˦f'>ƛ8߈ \=, . Loܪ&~+ l]sٲręs~3M)nm/k[ |3}ΠM6r\7W7g 1j)o\#\+2vc@ܛY\K)CEV;%Q$ />%晶c]r|yMi@oI{hL9+JWJ*nK8)"3cۃ3N:|Ao&y ^x@ҝ2}L;H",!S".y7[J T0#Ʌ1,áq 8Ʒ"1 &NϧٹI`ϹϣauX\g{]=PB$`YW+ TB@,4$Zwxnș|=:=7E1Rͷ'}+c[\ޖ=Tu/.>{}ɾu޵kU7@61t@չ勆{ei`Ui7gohVv2jHE!F3arlbcSpbMA0 s!䌨AHD0\2?qXV;9\ 1g{S*SZT\!i҈ 5wMAqf6F?%#'䍋! 焣}$+;qkc,WP})5pO_~p^鼒4ԃ9|eQx)K3VVs6q9ѐPY.O( QQ Dz[)g!d5j+s ܁@`v|̤3ã}@㻖|:I%>nFpZ\7bzfiYDiqyy:zfClz'+vcy?۞$>0ZXڛ[K-՛nj1m}=&[VܜA=bT0^5 Bǐ},%DT .!YD )\;MφNepY-H+.lpD6Y@rs), $.D ?H5DA>MX<&W@Le'ϝc0%H<&a]bD| 0X >wWļ`uK0Y׹U_Ndd":">;s}YnVfp\،`3.M;!jk|uui5j";x >1Y- mm(X|P=|[ _^1 xpH81PX bFTՊ5?^b<@xznc/Bn#/~+{+1p}kї;'.pZ Z;[4{O}Si,n )NY3Fdd=< ƗJkIƬ5%n !O;|0KL,!^S[|Jmg>Ga]Px+GB u-uzRFH'9wJAs60;pu6Y36ֆW)+6:7Kv6~r!rFbygCEEZQ5 ¼|" ?-_z ðE5hͰNW]vse}vڡԦ߶枭Y-2jez_p+i9W .Cv2Nfo%Bk)9%n/_4<x6RH@#z=mF!Y7&:!W yM+iURBG]z ?,3`~_]&?NmiwOfR!7MpûA -ӓEU;eClhԶ jAneSf2&IEщOEGE^y΋tOZ&CsPV$@/.F@ y^M59ʪ[H9&n[yӏܰkZPUs[i`tw]pɐTŦI^[k WJhDo F~r`Bf=Y+#Ewcn AUz-7|e}ӥ3 䢆 FwiZ~[k6Դ2N#O'y. !fJ̺RPRyuPhZ'`3\W@ ^YHRR_NS|U*bq 7?[]7K:$/&XEBDm!,7Nvx5/Xp 1iq;kE|SyF , !gʥ uԞc{ qmܳeӮG됵`߮~~u=lŕ +I`szWIn({Hۊ0򖟕'%s HJ`Թ\ĭDJQ^H(GjH!ʌ*Ӝ)d+ YёN@Br B&!rDo32#xN\ċ:{ 0X' H`ֿ xEJvː>+X?(W(/(U2@Ncd4-ZglBȸl$v1#KFbysi\h\aQjD"9] 9p*Nb =oIq$gmRpETssl8#+?6CH.E`WB_`i$hloN {V,8Ĺ\dTe"ɒ5Őp!䓬=kkݹIiDH~Q@5$jE. 9$'9$8r\_xh1a) qְ!b/kRJ L/\9lzUL]:>N1b}+~3ڔG~iqrZ+>xcNr4KOSXmְb=m,bz*ŠY"FQ |PC)r0u[p)>EgpB$6h sy3,P\@X5~JΈsnX EJUaqL-,/1ibmE)LLbMy30iF =+ 漂_ZPD.Z3p_^uߎ%A^!MȥJO v'$;0b^F;iўgHv o,m=q G׃ AtUh(Q3>Cm35!bzH }(r&%2 7V"oW7Pd\J8n> wVQiHsK挷luRo57GmO=M`ײa ZXgzH=n""Dk7 Oag?hFO5\eb+XRs2".7}pzʪp%W9m=&X!Zi.\鰻)+|^ gJ x/Y 4W*D{Wst4::V!=`mԕoxn !pg/U$ BPW!_iii6^e:*jzykf}!bϧa&UK4㗪Ϝіcmm9 eE2JFB 1[bXc[/€n.{f8WcJIŧRmqu㺷n^F/m > R2ug zu^єfejB]V㼮l);ndQiR0?ZTr^ۙѿ,&~|%_ =]bݒpg#u_Pm|hD!O|l[."Y$2 AФRv#}z9 |\;O75}h@ )rǩ!ܯ"bCw)sLL]X c:Yh{qtEDXm+tUQf5V0\W%ԌK؇Wm^GZ~GQ\EWC 'Lၲm Wш#T}UFKEܐa~-'GtTJ_k2TQP}kYޓh A3hlmOC0 o6՜R uŅOϑݭxn',TKRʔ&߅  6 L{)G!LpTb:t4mсs3+$ $Ͽ:yǿLCo5AiY\3NFqx͸;έw"OD *rsm㒥:'VoX`-v[mYvō77>[y[-o%@]r狕+٤-7l۶jMg- (!+UF?qm|׆ 56R__}PL|XG{M&ĞxezNL^n`7zϞ.__~>gl65ʤ|xZ^},Je!sμ̦G\u_#F$Uɤ~ 7 mwӉL7;Lf W*v>E6E0swpzo$!   Xx!0 Gk7pmG] BzMFߎ~D)ǑIo =XNõj`bBD,<1lJ+֣Md*)֑[,tΌ]nLT֏D,䯼s3_WrGku)׸v Owm}̕J$zv%ЂkDGBPUQ*)eņ2ǔD*ZBTPhjRZFi2g̤ }.w9C%1A^=y%ttǣ;Ax.snbdu/V"I ɝc+Fo _@2QEv T;2;F RrYqb73psLChFgRRіN]"s)HA6%)Ȥ*..bYlGl x4MkJ)fbQ$~voLLA "\rQ=+35(5m{];X<:r+醍kV  Hh: :<}IWAqmE4q W#^zR c{ Mkք/pI0ڐ` {XN5\⑑hdw,{sxixx#8LJLJa0^/zw߸g8=aR ø=xo] z|Q2:~&>o3Ag̜&-$ 2H&&pƢtCH, D<'͝$>6隢^RK"NeYof.g0HyI!o"fvHfYnS!k|)pZBe${Yorú>Ghͫ42ʮu{gu-N}m힬נ8麀!$Vu)p0ݯm7,Yh ^{i4ZoVT^|Г ֡M{BQ8hgR%:Je6Cd׼pWwl>aѹD( 'ښ{AnTՙԴSje]7۞ga2]WϸR:Jm0(J%rL*oYzfՄJV2_ڵ~Ļ/Ҿ;LڳέU:sɣhf$M"h@%#I !M0`ll}~k3IXozk{9nUe0v߀UW!;A'$1F?v9 n?S~Qr{x睴Ju xchw{c7vܹՉ'Vll߾~8(ر} ϟ?tGߺcЪ>}7NzUvGCC-|ү̮qH$`__z6w~#cI"i|jf3%[lh_‰}LKe3 g0E K;꠿ ft+-hx4ⴭk7f휉"*-3R]J!SF>RKhxz-{tҒOs>g@&TZ-)iqZ_;ŠKܰ B 88{lЮo-ٰcH,JjZoZw-jz&tpsM}xutNoE#Oo|Z+`9ȒZFP9;Ҷ [݋սo~?ƧHAk]Ee'OJ׮uR4clPk6@wF-6#Zֺ6R)2 ؒ-{^{ 'i'}CnkkGx!0B6$C4nṗ^Ξs8__ ;`g.\~ckwn߾xn6fn[vٍ&wгmnrp܅ ïmt9;D[ ?~k.<̹s=C U>ȢJ6B - œjf#^?,=?ngh5ҍO#~ujg3.yovUE%]d2tjWIM+#)SgrNi1iiYtSݱ#ջ6eXWX4*Zd`s*^4[a}xbI[1sZV,% ֩6tqwQWșzGg"6ަI1Fk0UWOg 'g-lʏUY7^~d\b'`$*NUr%?~Q}sZŽ̢E'}='rU0{Vk17&JeT2ڜY{-ylj#3%Ҭ%3+Y-fl_h{uJnܓAWp> #5!qȢzc!ʦrmxnۄ zlm^?ofxU67Osp,BME&&MuH8Maܞ鐰j/jtQ!k*+e-[n5)䱵&rR3#p$z].}ŤgmZۦCXYױ)E/FQ4/QFtKSs9Uv=mAonLD92WrQ˽eX,,݀|!ldzxD: 7?u:#O:wpiנpnuy{wl\Zhv:cgjA-Oid Gw,Q)Xʶ0Rm4f;1؛´j ry))lhz 1nvq\vt0e/[ikZ[=N'a< H8Q!x[邆Br^Q`T˦7|Ȋ!}ȧ~3X 5j5n{Rk|e37kO؇,CzCvԙ6 E[ZjQiͥjsjζG!d;}*u;l 9ο#l2gs<-3Dw 3X+.R:ޥjȔL&Z%)W %XD SjLZv!XpBZiFFhxYx/1^Tgh%u|WFN)OuH[F/՞llk م# M_2in5m@2+/ ae:ȁWeQY/W,;"\-z}ֲŢQBg#~NU"%-KN2lDBH Xq+ARPmA09Nq_&LA}\NpqesZj- :-rM{,6b,5O4FY JZbrlo@ f1 !K0D"L"Xbu8v'a806uX')^3yBq dMec}$uˌB_eg+oGX)u ) Uw\SU~Rh[MU)/XG(,z/G} )ݥ_&=߷8yw'ng9pVPY{&x<pH5[ pIs3*t S$M B9 $%F|M>|1I&-a39^Oxj_d,v$ť-}mGS}=V8[u]F)XoׄdBjvgFA~PcƒG7lř4Oݵeh̔٩pofvzȯbJ8DU{{51r/֐NB|U>q \7K)8;sCWХ~8{hRأq՜ 'a OL@cI"^WSJTʛ5GY`4&==;b](#&YjYH{g!C1տb+!([0v A؍݋:yd&}$J%\4Q )m }X[*3wNu,G+ܓy?g;0|RR)&{ 'Uis-,iTJ)5F>2w^G I\T(\+!Q=͙t=O2$L6㇥xK*NeR}F%[rSzJR,F^L󄞪](\e  e15i=2(jga cyUF6%iEM"ϊ,B/'==EoqrggLLaQv4C-~GH?Ofugb]Z%+d6۟miߪ4Ky rW6u[~%8U)֫ LDD%qwCԈTCp41uB%`$̪g/!q3k̰ faEP$mJ3zft6T34*{p@c m8нS#oZd/ 6_b.s7Nf%-'5Ѥ3 zQ44Q'1TR_}Dȵ%Hyʷwc:w@!:CkZ뻂ywn`oYzzAk9Ǩ+AOXx;{rƣ]Ӿ>e4:ۚ<Ɏ^?~j" ]3BϋlERh"bL&Z8\岘jaM.~~gזXLXerRBC0I-pE ]%sRIR~RBIwo'E֑oVeBrŕ32Nm}L\T_ YPL/tOQ^a37evd^H3s+PhY N l1Cx¬{mn)fqm263+i CԎ^qV'VT9!ԯm%X3]"yӔZZk{t;}*dh/wKB/γ8G3T."Էf{9޻:nOY'Zw_q"v/;Yi!̂GA˙RP*a>~Tf+eUXVfag`d#mVel5mLi!Ų6U)b,FX2G&`|ܮD)ȺT0KtGR[6];;^qhy3YH4{P'n,sA _i̟dxJMlNMJ@Bk2t \%2BeIJbNb8`3$kkw2u%73Z2+s 5gfެrwK0SxI+"͆-Jp3`Q;(jehS`UiG+R7qRt.Z8Nms}bul{^n k*qMQ,#rKJ'fh4ӛMYJJEnQk7Y1i%t؄L&VUJ΅!a&XGE&^~j_Nn⑚ TK@Cź TLѕ(bGjBrt5D[|2:.8W^ =,N9Q=6[`N獑3\As{Mң(@EA!DK*yQqHCЧ &O$O58X8==% ,X [Y-J;EJ[:*Es2IKiNU\FqpݙwEٿkb_6*`#^l[SxȭTfwnnt]Dz1<|)U`b[|v]$zy<66Vr5gdbLXOI?Rd&1WR2Z%UPTJʨTR5(rJM {JBHAZќV.iM@,&YkrG[o` "h?Q}fZR9xc=$={D?l(Y:Cdp:^9̶* aEw+ [k?fCN+AǪB,\ȗ)QC%"͇sچ5\,،!)9pk.6cڒ64D6=[¬%-#@6Em3%uBf}KDREObm Lrda+ǬȺ]2Gv승u@m Ƌ\{>ɩ>҇<~82xkFz 6޿Er<x958U|}>.kRuω}8''0)]2L@ $PP [%x' B!#v\U̪52I(kӉK [hQK#TCmw/J lvx\[gv2o;x|jW~#)Ntcc\^էİ6'S&V]U!K+1LJAtÝpw'; 6Pw+Z! `k .EXUPTD;6'sircghOIX Oe=< FA#htxxJq ԄD_'l+?^kf?[ԇnV~5 mt}Elf |ֻZ "C2i@qf=?j[|.r|v;*DmclbߨђOvem6v&0sn:Z@&[&lg ϊ|M{ro?d"6FFE[Gְ'X÷J8Kh(̍(4?<R/  X<\ r$F!8 f$R+`<h`W3>,R| v:+;,0˪u`f?ƣWWGdrE4?[%}WN[K^1fzvndqCoQ⓳.b~<@sz*XN^S*9MI!q90W)CEE)\@\RjGQtnr,Z*Iޢ:PܤHI%%1хkK^voR|/*f.)D"~>?Y.=YW72p#d\-ǖr̍bƘqExx\QnlknIoa[ƚVQ_ZY%09E0".^x2d SoV /aȃ 3.-nYodOS")]1CIlfcWKLg,#'Ln2

'bD=,y4 &\V}e4XgڎzT rJK.0dW)a|*L/wZu膳Xs PԇLТEAQ 1QTuJZMy&mY'֧פ7|[[B;Uѱfn=ƪ5bʎܪԈԤ Mo)O[{ם)9|ꌶb]ǎMG;.0~q6Y]5^YpGT*reScuyO8Gci16+.*v(ǧa96~|? QGgee[ZkPV. o?۵zCz~R "0$1A-Y0;WB\|D~ߢ;Xqo?xwo؜ EwS* Y\Yl8M\}v Jb_iV3[v:Z>Ry˅סG; VEHP&'%%eu~ah7.~k?s9am҅#Z<ǓZБ U)T+~~kw~ z{U#ws- T%%b%+ ]k7ZagJuUȰ$,1*5%ž]cBmA\X,zv~Wh[U5֭[Q?u})uթ)T&K6Mi][`|X&@}߷M?:f\-aӮǓ|ׁ,y>;j2c{qٙԔZc2Sɒ\qDD. "kJ}8F0~'r/.. _|7d|yEb8K~Y09~rY"3[)0_(R!tH;NŦDp0's\T~L|\)WFfGťLORK>/xDrI}tnRD<*[],p6oDOO4 ; 30ZcOLD L0@uIIu{;M&ӫΥ%juQJVBYtƍE}@NY+Yo CXƐ\Aa@B}<*3O^~`Ŷ[P%6l;;Lב?ŦFr TĎn7oUu$6$^mYɈR+B1 eٱlӅv6m~]>~>b,#,J[ fsCBcAgE&i=_[Թi+’v_^/' 륟T籌J0\8Z ‚ȨDYrrd엌wĂĆ#jkUUW:A'kjkʪjDUW IN@/TFvHz]B6ƫߺ{ nKخ;]bNHEq+ /(O9]u6S,,?.vSP8>47w4"yZmzp>]E9>I J ?y իj6on*M؆jeQqW..ņ-vVAv6.8aIa k+_yn;~…>vCV'ⶵG2kb-ڥ(/xUL?7mcx֍1U WDDJJNTr*dX5m&ScFSV55ʚ5n1__Ю6U\axV~-m\b7+C9<_L8asZ ;0OUֽzoHv~5_݇8Uh3 ց>XGL|;+͉GvtJ⠘psdwPW/ +"1)3+AH|O<'Q9!q=e}H#(!il?6^ɍ(0VnԅqB1H;n[|/$aoyeOP+#JOS1=eZeZeZeZeZeZeZ%J}KeZE0 tǁ @0;>畼AB\:J/zxK񿩷]WEeu}}1(cz @%BU[J[k7IN.r /Kq=!]o~\BW*>+KHG,JZCI񪅋N@~h t: $si\(b5\ efQ/% hɕhԺA U*`XWWڅZh\Oc-c|)赛 VSjZ$o8@75HV@\Oc7Ph $n 64nq#H6 uxx7Aڻƛ >yc&~ZGgP9("Ŝx1bx /ȑx" 5 <2e*YQl(M}QGEQP~yH H" xʉmx>0=Oy_MI(/!,|yzDZ9<<<<<<<<bKlL祿?[!P%CҟxKu |I/Bi/Q>ϐ<[ʇ"˼0ya7 <)_KXIDNKr2f(KNIy^*%_6#DΧO"r2dP>)MxI1x/_eˮ^%.gT(!#" Mȁ\h М8rObh8S8dޅR LKQ'Z(t;G@0@dP]9Σ}JBYTHkz.U(GV%gA!MtS,8T ǝp(Km8K9Z0n= :i02S8wt"uvm)BKXP?I6Ә4rh<-h9-lp`^áfH2Q-OĊʟ/Yr[=T>U@Z`)C&5ɢl^ԊnEJr{1_V0 ein `S6V*,pUNJZw f/A:<Zs=E~䢚wy|YR/ %-.Z{qR/wӞg<Ҧ%=!ļUF9m 39[hۘ C~P8+ȼ1#jbkhmL櫌w8 rd28'{!G: 碏jdwGwr-Iy="C=.,jSuuLh5_)&8e!f: ӕ=W>D}SmK%vFy mKˣ^.}1*1ʍW5:z-={Ͱ0ZK!d[heyf ^N _rSrX·aCytp륾t.{XӋHRvtdmdY::^ZĥJty[m筒% $:s&rEǔW ѱoNϜcrG5 [=Y=X5h8E pj!rRDp>T\xx=GQ#oYZ ZGЀVZ@e7ARP\Q9mpL5tkVyMy,\֬ ^8[Tџ_GfuU#"Ȭ֝i kWQym upEC5 5>FD?ТUUz"~5D8k3R4fZ=Zoj A`P |5 4u1xI[]=XJk(rzzķF =2Ҷ"g4P;zz[j2r ;,tFMN 7l7[ء5r:[>d),i1-f̖.mH0[\&[Po⚡d'u8d[9Gqrg\/C2A\Z ڦ[Cu- iٖltSi{8}w7Xes.28m]nr!:l|ujc7q`@3!n췹\GLӦ8ܕ;}c\-ooYvw7ir9:@̫z#jfZ\~"Njv&JAi* 뀪 v ˙-#\(c \gQ` inG_IY\iq=45Pkڶ,f)%GP.Gӳ8@ &bnܩnJH${62b郎B]ZK:^`` z%`X 7gqND]Vl&0H圣:bjVLCC.5id҈%rBi:l6nX$ˣ"ڻO,'?A äY\l&20  YHѝ."`S@Z@醪 H|JZx}#$եr;آmo.ntXpH~4)©! ,&/C!\6h"|_kV}ʠᴭ\A߮rUpuh6#% Uj^5jk8ͺ8mSN>;ϣ"yJ %% 1oHS?|d Z3u$} 3'A0[$` sv3 `#!fA[C ڊwǁ+CIŏA<#>g)gg ,R?-~KA JKo-vjI'jK~`E؅h~Ɯ}(iيN'*3pE#3${%$0N-`$F~(ȓAaCQB ,%v }4[-N;:HIO S4~ĘqD8*иzy h|[#t>Hʂ>`D(؁P8(E("9Rx ()QJF)vJ; SMd(nV 0D')t ^E;}{ >8G8US&Ibf31o0WX aXarmf-l7kgG0;ɞd`b//-|o(zOFOuOi8nO7O7}OtlnF>x-|:#h87Д_mܮB'-۝d7_2jO~yvngWow?0~joGSǰoϾ={.Ы|2!&'''vN87&>+-kkݻs{Eװ{}yD4@߁8sx'u=?(pн:sCo0:u8Ӈ_=kGk#GX9⑷|tTz4hMGn9/O3cytǬ&:ⱟv4Gy OywW|c{y`̅Wg~x-okO HN;]~E!}O3|z̧j 'S >5 <ǧO  x3)-/zI_rYla~}fͰ!>sWku:{k%D& DŽ$2KNHN] RV+s$; Id l0p.@sAAA}AWK{ (x&\!LCeaa® ?L$3ȬWL4yoɨ[~%.&#,s$Řb#bkc3~$ʛw{W7qqďǿ)xGPbA)-G &!ǜ3C/po$%QBw+0$-?B-1xVQH`9]]HȖ@Zp%d.K 2 ' R}a΍BmPf;{@.̭N֤kR !9N!B!QW\^+tw."vt]ݮnW@+"vt]ݮnW@+/ DJI!@HPa5r;a&\o B0P1bzrHofiSA(Pa%"Tq%*! 4AC0A>; |  'V4dr 29@kК9@gЙt9@gЙj+xJחo[N!dw3Lv6}dW3Lv4~d%{>_ 48Ns ?O ?O>s3>s3>s3>s3>szRP)!A!B@=/ {RY3&ɞl#{EV@ q$fY@ HX + a$8H, 1 HV@ HXC!@ q8H$Y@b$, 1 H, 1 H, 1 H, 1 H,rCOBʣ@|c>)/ ` X;` X5V U R|-[bB0 ]z j)i j)i j`TOR@F d<5O̓d<-OʓVB >?eg} tEvueB'YDDDDdY,D.1F1"&# d~{g2r,fـYFA \6|,"TLDP{={3z߷z꭪t9@nH 4.:OK7 |r%ЭFPRi;bG#W+$]׿0\{Kq=`<׿$111)tRQ}jq&@}\ KU&JgtJQڏ~򣔌R2@`J?Oޣ5EGa l!r[B|hOktfJ6@/|щ|9h>,Oz~g높Wz談Z 8ZV={i_-&iNE".wk9t=@jмWzh_ [aоv֓rvg$#mO{sHR>H)@Qs P$:]h.j[]t0vA-h:-{ݭN{umss ||WUp*x<=u%b__{>U X~X6}A1:9|0z߂ 1/`bx x+`}aRa/`//=D~CG)?QObkkv6C[)zK!ққЊ M;JѢRh(EJ}ڗ UWyUUYUUUWEjU$%!ۆY/aIOXP5̧]553ր¾w½tkQz-J!N&UЩnA>3:SiVH2?u "}K#N |/`h/<ﴓ;i Z4N#S$ -A >Ϡ"}N;Iڟ0k8CἾTNASZST7<mZqIφ\I#6$o|ס]>hZo*CTkQ dw:h*4@<|&[󒶓fa|fWq9lo ^}m6}ێ:: m1Mf^P᣻nwvz՜e: tׁ}A޾Pvl tVBg3Y\{,!a5 ۸&Nx ;V0_N`cL@W'{5 F| ;{wfjh^{Y/z\֞D/5 G1ւgA Y,+X 3kA }-zfY 2 ZOQ?6̬x:ܣN%`!^b4"}θ?. n2bW{O|K)] ;pm |:o o|P} 'GC kZ[5wC@=cG$Eh E@"˸lU Xj`Yz[6{;?,SaYE8:\3۽2e"+<.r5$3bSkI<¸#&3ٲ΢32|!׿Ĭ8[OEOqf+.^ 1 D  Yx7F軋`;@S?AXIZ V>niMlzgo3Ez31;g#O xz# *^&F^ 4쀆P7 uP' xVDJ̓}[vjTE(\{Q"^;&ϾG Or?Y9Imh)=RBx>Bb9Af9JS͐ɞA^䕣tKxO_EQk]^c/@Bz[|9j 8N)P7YT' $"?x X,r<@ˀmxX (!SH_ǐ85:iB  D 87ʀrIi39: 1Zsxsxsx@ $I`0YZ-1Mp&N^˙F0-TV x}1oi^ގ[8$pmG[I/8'7aoEQapC [D[7lu|kf֊{OnխZ#`2[Y[?&`L| x yM&xjEp+v08*??@1oGHpm7tеhٽ{~0׏3}-fZwZlnYdnZ0Ln[n-`r &-`r &-`r ]J[z"$@_`&LRT[/_f7xⵏz> 6xgl p6ζl;8ls5^G kjG8P p#>C;(B\ ]x͆o2E}Z1c ßN7#Gb >&SI& -B p@8@& )'yL8,&——qῄ"S? $O'dWI 'ӄȏI %T OXK~B{^dCg:̡C,#s:̣#Hs }ӇK&ӉQL^ }>E^)4dTJ^3 CggktGh:O4."t1}Csh]Bd-=RB7 @HJEAQILY+%1IL"V؏"ADE|\J< \\,fR1lW+/FHV\K~+''uA4Q4Eh#lI>UCrIw/_]oZ"։OaH۱< 6-M'#GVq?\l1x|)^/S H 1tB>l 'Epw=䫄$O&$$L0;Yᎄ / ?HX\\ fJ` a;f@U H+dJ7dGWu6rXzyQXNݮGC\7#,FYb{Q-{C6 r ùD8-=No ^7Tm, 3p>#toUv=d{|I{r*)%)=PJBi Vi{NCN/zfFi;d4ΝSR2%[!!FĽd4 %)twqnifCN4 zž#R6ǥnc)i[*9+]% WrYZ `Ce5i e ZzCp7zJ3xqѽ6}ʏU8ָB*Q0i;0Rjp0 Q0Y>m9~"Ji{a&;r]1̑)t;w#)rO64=ʏ;GّNN؇Ai~<Ǐ}$Zq>,_G>+ c~ŽˎGťq?Oq==Ӑ%u_GdLU4 fVydȑ.y,ux|{: /.n/S=yȏt=G?VJpSܭPc#;./wׇ8Vf^.*]a/vv)]/x[:>Gk(f׹/iLuȾ27؍R]Iu,}u"lpAiƴRKU/ºPlԨɌ4X>䂽;j*cVZaKZ"{;@퍑օZZFt_ٝỴ3{g(S2>ahooѮÌQq>Ou+'ѧ?ťWWSǽ4yɘȽw)Ɓ]l#YT E_7cym'"}q}]k.A~<8<ccH.1ΖN/u7`A]i\(OT0U3`bjƥ|LU#E6θ?< m)O j٘}#`,yTոJNsy`QdA^n,t.pOd]K_Vi}d>,ane:4Qf@#8\9Ҳt:N8bb`h>8g~xeu"]nc#:Xʖ֕3ՈAj9fqSEC=29j=#L3Ѧ~ywi|34Ldui|34^L7MV=3LS$lYeg)E0TFx(=٦teg)SYfRx LjacQfL<*r%óT,LJNJRô^YJgʳ$) >Æ2K1sK+Vuyg]_5wA3G1ƛTY6TRY )lk!5h= ι XuDd2.tlߵjYq.Wy~vh geȏbƶHB9zkd4JjR6{q܌c1Z`WznSݳϴGi3*F2t Au>s[i;UjG\֛9&G=qj8=h>8n6s U'3ssz/9@UuE qW,qN{ݒm$2i$g2esHh|_QeC,cˆ[&9'Lq&LwN+hL-KvMs 6Gltplqְ|7l *k2*x|S:~}coYc|Đ\i\4f;7'[a9#lm&e{aln9|=,5?e؜Un)dDz ΰAylPv|f?Qvr)y>bRݹ )?l8a2KlQ7}x~O;kXqʰ孔-yYaCMgy mw2Y+޲4p+^zL Ρ.Asl`l`͏9!Ve,sz߷њ>av"y]i[^>Ӷn456zvG6OpՔO5-wm-Os[2Rm\׶̮}sl<ݦg*\˳Bk{u<I%yyTZA>" " Aɟ9L4 A0Z!"[/So<+:fTCD3'9gҘ<᎘l@/6]?t̟1s> 1Ѝ^={BPt?֥6 Mq467qhmvƵѻ]}ՃП1>ҵ㟠ş?'9*  -_~? e h^28)/7ocyyg]ʻ'8}" ՏЏ֏OOO׳ľX)Icd:4&JO:8:"=I<}f%EChKߠo;M|;f201'Ц#8oYͫi$+ϗWWUWטל'5`ѼyͻR0`^3GLO'Si%z~~ezY/sT32W7K7\Y7<.]Ne2Inn!yA"7tEݻ5%::x{y8%DXud~H__7%KWz}YGߪ???W|]?$x͟ q|} |Vߐooߖ__/~Huzノ]6>ɧHB2t{YuUi2OZdt63y{[R{Un~oKt=gejF˱׆])N#~hDƚ4N&)<NyE8l$u d'PF4[!SFw,RR2NZLbפle /T.-SfH.㜍+P*] CY*yeFPڬXeQd(*{ch?XLp>9G~Qkg6:ȼݗÜݮˢ.6 ;!θs3Ϊ7-=(GkXAy㨜8U kš0oz)\ڮ8݊Wڧlڔ&z+[SJtVEVx>.(7鲲sΏ{kJ T9bW{+:()g9+ÔH=PQ%Uu{d0s!>¸ 6- b`OAm"J1h%Fa} ga>q\b8x5!xxKx8ަo# 3d:{˽$=`N|~?S=1/E/x=%o8X֞&yT[ni9vqpWڃM%[o<lr}'|/LókTf֢kU͓М/T5TKBihxgIkgo4{ͣ_h?"өuI=cej OC}[I~Kv"oxj%!ksoj_r~PiSs6 ?C;ގqj턈=4CS 3w?{ΛޜxWxD"o7kxm9k%2owwֻmmo{=ǻz/yCS:y$Z!0|Q)-K(H zJ^6!_'8± $j&C )h0y!|ȞH ,zs$xmo>!HGZI)o%КDﰷNBC iJH t_>ƣ#rw?*ۮKJv@I 5*G!j/e{3Fȯ̃}S0h:!oQVArȾ%}g|..{{|Wva7׽}7уd)d۾C?cj%<' I%hc7>ߞ`gpXD7x&x>x!x9x%8I9RN_9o}ۧ֠mPN^hħT+w:Vwq-l5:s~X%Xƴ4oO`I-2i Qo|`,0 Lzw{Sw`l0!@L. & +w  {G`A PRd9l/۱y`w4X潠׷vϻobc_4@_Ϳ_wb~w;}~ٷ -]X6vo~QOk[;{sSs?Á',8 ^ ǷH X< Ê9[X l lv-S;hV:ZJ.G=St׶ָI1v pu1SYWmm( o YU_L_.y?PvVk{pVkƵ޾֊VWk/ݺuVWVExvV'//` , (B)>sFF7Ė!#GܐPR0~ոmgk5lvEXM/3Ї xcڤDwbiN~%+rǀ@/p8P e 0 \naS. X$5,@6`@!P *P h~-ǁi,ϱR:\t2ek \n;=N :$:^N,@?m~߽(zR ˀJ` Uݻ&m ?[Ծ~|}J{6=}>%}m>AiC!VIl# K횮c-ǁ$𸩹ޠP4RVdfgT۬O@*Sg[';]WR]?@r`3Uշ~jikHxlhP|?kN-Sa)y=z.A3 9ٍFmkM-wr',mgdJʴW[cڹ6ghN[RQߖ7"5b1VƽPeAkp)bjz@ O=֨?j:ՀuTÄV:'=B_(4hW"O:M.Ṽ˳HZ{y~TZ:Y)DV}D̃ʃʃu4띧E#~ A1>6dX<1.[==~$TǃʃsNՃYh]``} s? i/4cکXZi~k izFԹ+&#N[{(FT;xx?֡jezE'i)}-!-j?yJJ=#?ѥ-1cmz:}^Swj5'f. icҘ= KS:/ݨ)l 4Anj{Mhiʯ m5QD]_}dn Os 6j5X{ҷ5~35ޡyL}Tor _TѸ7U%epsڦgx:Owy5,~g++Jbxb K3[;P뵴BwhpVttG809- 0$fM^| WEc_̜!ssy9|\d(2 .uP(J(ZX\Z̢ܢ"gIj#Ņsm.Y..v^b|T~W (rlro._}I>CH>CBl6l*l*ll MTZK/{1'zޙ!H2uit= 'c=xM++Z[@9Y+ם_wauW nkGSGqtsupP]'sl t'B>7կS)׀//}I~woooGˋ{U3 Gfi^RXǙb35E^bdpIX A__1xEGmX?Ÿ' X1S[}՟^]).Oc/=Uoa9n!_X|#JcO$WfcFgAX-Wd+z;s(,  񏱵[_/2|Q|Q|gK%V"l9fR))/_eV}}^娜wwNVxȻy7aGf~eU?\8?ξ{xOu~d[)~}^VOl}l|җ?b;Y|[Q7*'߫TȾv]}K5~yaKMK^{i|_?gƚyF轌ody {7{~Go.w;ѽpSin q۪okQ/#U(w){{ .4j)3EרA J]ms#!-O) h%_:Q]3X3z%;j՜\]m~MF>_xUY]*.D]_rܙңru@mKjP"ܪ8w;ܱ^;]P}W_޶ؽҚKۖS kjפ0TcGܗd֬4=GiHPj?ot~P۰*n~[iDcϴ~#$GHP{!>!}BT3zzM{3ΏUn[\}b[sͥzIw'pv;%թ՝k.mOlKU|x=u%*z?}/.$c/ʻʻ.«r.8ݟS)˙Jӳ{kmd ML0L>2b&*_CD})y[QJK5]Z|kF oqHmOc57^>SX垙.f}9{3r ZȲs(@J>Q]T4k\E #hHs2# %ːU9(>yʕww0n.f#,GS& |$_\ -gF[Z2ߥ/z*+IQA[%ns?zWǰr^\spȩ.zj94z>[ xe="1ϗsf Cıyא>d7xzx k- :=xzJO#t#rNB l0"g33g)[0w[<;FVre_ x~@ӿRMtڲؕUFKerRIWj#q̠t ,PtrZ9A>C!(3*JW9L$/xW$ìW( ¥+$ #eADbB!qWOb8"gseLTe)WDOgɈ̢n$JE5L|0\S2bѴB*j?16\~VDhb>b͓(Oc] ~.EL gx)/eWN} "$iɷ}vumu^ټ4"nl'rky+ ,Il&IGOqx'0Zc1-㯚c d L_cQo5uɢM]1r6^%ZԪVa",na[PN2c<bq]ͪ||vBgVs6uJ6ulLpzþ 7We# TeoGjEIՍ٦ JVlꨪ@P"T/iyɡ\QhOJ`a+jck %{ uϦVo-|y&3視,ٰoSk]S%CT;ZgX[W.lEm̼E=jmn|\a p0rT9 vlD{oa/٩;p QC@/PFpHeqVAǵ]ah c߁1؂I/-yica!2~ɖIȜ:9;tz/~3WG7B~+CCc$Cs ɠLo|Zc L9&8b?nRdӰ)2}.L&\0]45ʟ47—pbȷG>|XWc=Eƍk)SWgiGŔelƷs9ǺZi:bc=pj5c4řehcOMne0 Ɠz{Ędj0"w #{Ɖ.xx#\0hok \ rJQnaCޡt>p4bT#4r u9ՆDt"̰S˩RiAQTWbQrΐl k !,P ~7$jbceܠ K+.23M YUu<V(KO8U֊tX#YJ;Voq-J^'_([5Ekx*pM^ %Jb;'`qO1[Ap=,`t+;. @X~BxzEl]W_/G{%0 3%Ryr#whՌe"]r/D Ks84bNd>x/\:YB]Xq8vE-+65?ïl[1vBggµmKW+ aqV8/))Y.YR\¾5WJ̟i[_1S܇+kZ]8^b.Yfqď&p S9fh:].A2 2ăR=*^$鳆5ßS8Fkv}pP"ӹn,%;Qm4uyrcxGuBZ7K[%rJ5ѯҚ O\QxKE zY2fEwO;ƫi95-k|gvq«f| ]+sH&VdmiiRVQWHYe}I8ˎiA~$r2fGCr .&#JneYWq'> 72n,X>QH4Ft2%%u8sr2.WlW4(1_}gy"I;Pjo^ђS|+#>yy=cŐ9f>b1P0SK"L zn[¼2Z2oI.Sq 1.3xqOzt#n{&MbM+/2k,o($}/Q G?wm+ߕWK˸ć]2ZuC?(}-8R@dž!cq+xmŸUƗn7tSl+ EI)X :guCNѱD>cRrGj*)@ٌ )lฉ$D%4Rb҅b)5Yƃ)̧"ZRRZ)62'g)~_>ǿ De_1&!og]F;&IxU=tbCbS,αo#=;,7bc $H |*W%˫Oʻ7$BO %*ϋ ~Mv,/1SR{8>P I1甋!HGMmg. @4L~A-zuoS;]#!re0! IK$InIhB&9%IJʑ$:rTnT*1$IRIy{79~_볟yֳֳֳֳw: {S!/B3*RhGV}F7&'m#>+JOB<"}"Y[9ޡOMųYtc}j$~cƾ?EiP0/Q ODs>\!3w5MĠ/k]6#NsCGSsICE>8Ftpx.E''8, 3bu 1ԧ+GPg ~O[QvbD=WGKp[8?uK Q_$g m,Z<$0:ӆh&tf0:˯8cN8ƫD*ѻJYj *(T78Lk oP C pj΃) &!yD5C/·hw(A/JEЕtVCS[䥤 *SSh;wҪ TN&1V[ ng(k@L38RۑER z0\\2z z.V!]p&C3(Q_;TKt)UP~5?ܩ~YOfdնhs%jɆ{%vXYП%U Lkui֎ hMARV٥UKٜQXo˸aΨ O@h}aFk߃L8sX<_Ћ%:+AtZ;|"_E&TMWڔ: ɯ|m/&dE-Gu#par !6܅+zj\B ;#9L& VetT 2"s#j:fN& pxE{|NE0 N_菐=:7\ }8=,BnJ݊ cکi>J-8ܩ;[-`QxNГ<4WO"Zkd:7TޖO ~ uD-ެ39,SoS:H@φ?N@{:<fGTIiӢuQ{882ߒ47jHRL٣2 xtH:!'j{*ktGNRֆ$^X~n֧a,v)/Z>(? aVTg6>/wkcÌ=xjJ=< 5*A:Ӽحeg =X3g:g+m_`.p8~yp ׶=z zb0 ze&?6d2ي2ou+u [cbJ?AkEYUsd~=SZ}D1JnszRǸb ^؝%Z %ڬQ~pSh'zpo#\k{XS ^*Y;ji/H5FTo*.bi~,L#V8[ބ9, Ms;9ܥySeR uwreh9`*m{LJtK (Mtmg Wcm>to^ІWT2|FG-M_v,_*-v,Qw-dsUg-=gd{̖ /}^Bp`7Y$: 3s >W Gi\qxc;@,xQ4#anފ`3/dD٬lWemAf#K&p~ &!O-=J;;)ohnЋR{h}\KmI<\[JO9#Ɠ;z̍iqS>މVb >R|3 zRSj2yhȆ*@׍+Q*4܊R֊ϑ61T~h&>9K"+drJ| =LEW? װ6ɢ?5?]9)h+%YӦXØ37)kg ׈DiyVע:[KHbPS#I١ 2Ixh7g"36}Dnu]?)ڃ;5-(ta$wB$gcitFgb<8`7NAr#Dh7;bg˃BOVI8SlQIK\3  J!hkkS i 2+hvF?λp:pA?>Kd2Ќ v~;5>y \ v6+yL {hF  }q$=V1v-p}lQkv@esYA2{r` {z>18JP{D#ܫd藎AfC~3 Ks;ż, 0sބ|)zw)O|8J5?_ç 09rk{R_$fױhD+ ܋L7$g .`=JAsZu#y="Ot'b?aC*4j)vlچ 8fOR6GƣT)gnԆߏeY͠/kAR4O@Fk#z.zd8[5xȬL > >^WLܬ R-S /A? ?@E; Wp@_ R*8z++6`x`8k=z*8 l xH߽Um~r_G{Wts#,r$g=CHzWBG% Bc:}¨áGP7xB0נd!ø$HbI:/衧o$6xz9eNG֔ }7'/M/4烿ݟV݋|4)HFmc4Cj4ct~ $mvNd[|0eX&PKo p2hn0 v$Y%Q`'.=(34-_"whn<+m$F+IpBLfLo E#;uaW#ms2$iu bG>I~0=OG"xH-VL2))nUxw0\LK*xJP =;@֙&|FJQ ^J$ *F}aeg ZS(Fk;Hybfux?~ >#C=h`7ABz7Ct3뼁|}I3Jw^o*zS1rے[˾bo*Ԍ4(y`;_ ᷣ%P'φsx>){2!r_hS!3Nn*._^a09K \ 2>e s5x" aϐnCCX@nt-zW:ro$ˇTHdLthu;^[85WDk]J2%䎁`4̥*:F?^䙍ס]| BCd8^>H>>6 ^@湬5Jxk%D(prMnc0Hr/?R yp1Rx1=h#wLǷچ1Ȍ/!2WR{sr77 ^c[ЭSጅ~B>KV'թp9,lAAp'zm* `E/xл p8NtrϸCF/#kp)2F #T$BM7?W,W2Whx_n@8;BA!o; WjA}{Ct /ry ?7 'Gu9jӞ yse\m=0o g]TRt?mF<3-SJB$ntwYQGi|w}EFs)U[b yEY _1N&TIKF.hI#whHNm й6*1In\mV3s?IKӛx{ }/֑0sep~\Jfw\ݢ(Q>.ܢLҧd"ۮ.z^oDAZU#X @;{s6L p/{/7Bk"_36k)݂y}*#x|<ж KRmpD^Fx Q.q\D{͹q횻ע'{κtø p24{ 뛣}gh%N8ZhU(3<g|#k˼ջaѪt0S'emΞUڏ{iچ{YJV+ VUR2KӪb yt_L+fDV= n'M3Fo8z^*Ĵ>%Ʊ74︕p\eQv[,S9F$X-úmX?UgќQ~Ҟj_XV#kOWNQ!Y%+<w"دu;cQ*uj4Fs>gG"A3qΎ3=n:>=n:z cEH/dP~;vcBFMV9;N){P {} ;i 6/aJ cw8u 8ƾv}6 2XZIlXD|Z,y]8ZdDVL01#Mc^mr4䏼bh3\fLj**&S5 ݬ,7͔7ISIN7ɦ;Ѽ,ߗiߧuV $͜daj̩' "_0LMSǜb&˴j`l<3{J[.+CF_3ʮ7[bGFnfHc`#9}ʴ;0pi7fDp 83v|p8_W{GC7(ϤW)|Jz265k,pB3SwʓQ|YU!lIeoߗ#dfOr?`5jO?HKʜ =㹝o&if8fYjV5fyl1e2%6at[6m`>^;.K ڮmfw}=y=9do[V{k^M'}xGsj/\|ߋ',+\sV=.>ώKsQ|+\#jG<)ϊϋNU~F[TYuR{.䯚2d̘Q<(c{ơj5ֱZjM6ڊjoWYhfzf.3e\6s{T[%s\kѹF}5EjV5ѹŤVjgxŖZYYyYòdZ6k{eݖZi9化 [j宨VDZʭJZnںK~Ǵ+[zWٕdw=-{^tQV3>gVœ9s䔜V&u/K#]+Fzێ־F+y/(f auDXDIJ8?|̤0''Mp _3UYj^ejԾ&;MdE&'yqbp}l]/ˊt6Lo 2#somJ<7~3Qr6M7q&>)ɹ8`-MnX)ù8`/-7"]쓿67q.9yKHo_[DGΛ8oq,["MDI-_b-kleI=>]B%]-jЏ,E0H,E"a2\'a0-HX.HxZ$,Y$<1HX!HX1HX)Hxҿ?ZHX9HX%HY$Y$̈,VSEь kĖ[VluƄcԉS7K.c[AlEiE95H"b4-?Z.0Gg][elVEZɎ-9-HnlE9-rFl93L21cۧKlc=8>9]΍r^ln]c+H^lE.-#H"H"["}c\Ec\[_lKc-r["c\ϘAe3cĖ[fXl+#Zޠ8ZTjHL%b.0_NӓCbjr(D +1U5yʍ D2y(8nK^]VȲF4kj*(ڲVSFFW 輦jM֢e-W֢Z4EZ4Eח膲R֢e-ESZ$kDe[zz,y縅['"[rKn[qqݳn[sϻ*[^rk{ͽֺ7:+ro;n{׽wn#]o]"ͻJk?~v঺inp3ݝnvw{ܟܽ>7ucqwm&Sпx'm}Kq.Ks ;Up]%w쪸tWej.5p ]#ĵt9jp7TW5u]sefv\kNs5wNw'E*wpY;ם.q2w솸aJ7ҍvc8wv]9.pz ]ww7]nkwnpݭn&MjWם\7gzU]VoY&Ur4XvȑkvV֭]_qZ9ΐkC9l~1g_dљ/%;a`ȵLœmSmti6͜kO'DV${ɳUlVUfz궺ikښ=ٞlz:ֳL{=\dچml ;eK\;ͥr4\ff~\.S @.4WEvt6*kbڥf}>cvRVv]i/}\m_/ee_ʊ}\c߰o}\k߲o1kߵq}~`?0&L[3n[c~j?57g&l_IA%9Yvc_y|ⱷ{L]NMvz댿W|5o@ kRk\;$*ީy3~L_zn=⿧Xxj3|j+\ֶuoyo]b]eFirrdKti#34fmr3_qRfgHTWvgh)1⻾kCצsA-gˉw+ <[Vկ_`3ln߭akֲwkum]n@|m$6߽!{_|C!݇⻏Gw>>a}>)^}Jix2L//z9U9x*Jv]-^Ʈ}ž"^}Mv]+^ή-Eo۷kk7 Fb[,^P#x'vxCvi&]v%h47ʎ{k{+u^߯m}vs͚L 'e6bmq#m{W=ɯ{$%M~>eGWŤ $H)!y c`_$߭'z{}I1Dan.~.yL,xKp ɣR<`yEGT;V?/CvχZlOv>w;nR?6<,WUxQ lSemmo;.\g{>6;܎vhoT{ig{e'ٹ.>/3E2S7Ȭje}v=hۣ2/+'kme/ë{$\y=>^ {#o7ћMy3Y=A{[-z˽*o{{شƺ=_I?J:,IG$I̙&II)NTAREI26i%U$1kZuI5$ՔT[t|+;I?HIx I$Ut𾖴O4I' CJYAI$H*tT䒒$iU%eHJ$v:jIʒNRJ/IM$5BD[igJ($ut$i$] "I}% tzIj,TIM%5RRkI$eKj&4IJki .Ζ$&s<ޒ.GŒ%O%.$MZ($Axo]r2;*1o_%mf ooBr_)L6oMJ5o\(>߄{<;ee/!oO^QY>ѥ;[\o/[oq7@dkxpFg~mzq+9Wge%įZ|9re%VyrBrnսq%&5?7Rx[<ۗ}Aْw˴wƕUߣeT|7˫-3"We?{)8Keۨo++DiV؜OqVS+;ʞ;Cxifc;[i{ۮVR/J޲~/61lJHTPCc}JՐhpcn''7ӭgpbQB(^ND_;V鿭Z3UW&}L7:A}2eF(+Fߡe22ѕRc:%92643c(/0dѧ^ޓP[{eSvXD$*Q`oH8BMoD~n.[]wwVA*wwDo /6|@_OugU\c,IXS)JD<ڴX4iʄ6E(JѾI $mT"sg3g9{;sQ "P;@Z]*Qn?Pڄtx *)k´"j3w!d|6ۨHSHC)Tr*z*B%vP_S(Trj7JNA"(Trm]BO JKP̯Sq̝xj/ҽTj!jߑ~G@@m) *oA@ 0 浣( j&C' (_jP"(߀j)("#B֤)"RqFpfprB8I ;.;;nVs?RҔ&5CF]Rr%K-.q]VO˳9xB^=]RYR_rddddK>WmAD~.FR)e/-E*E*_RQ/=Hz,itAddedeeV9"sULlOᲖ e2w}䡈Ri,h@_vp @Yd@vN ;d]@v"EdD"@"DH( Q, $H4"@bIJH@ <`@y"<Ey 1R"@jԲ O b> b>QQQb|||+ X111Ŋ(((VGAGAGb> b> b>1#DıDD+dQE$I'hlM`4hcf<x0XF3f"M@4g |ff @Y /@az, "#%,V{f\V~`޼a޼͛`1~2:fc0+l戹c, {s:V? + UHJ`5R")X@ VG +$UXiXt$t6xm.p|c1kl!&,m r!kľҸkV.LXH+N a@哘 ,M`ar,ԝTEWnWR읫uQ{]]]by<И& qwƏ1b¥(NdH8{(8 C~ X$ֱҌ42Eᓚv#9= XhOu?Ȫ'q,kznwX _{,,,9z>U~Z睸.>eEc=WeL#q?O5]WR0~Z= x,pН]Xvg$g +W1uU%pd9`uj2=; 9kjhh/Fva"|{kb}|kt'.ݠ{@#@E'k+YVs9(FDrj1Wl1qcbXFQIk5P(i JZ%@Ik5PҚo~2B}FhPi|BܝEk/PbPě/xވ"6 x(V$TuBjb s5 aC8ܙ ?b @hԉAsȻgC>D QzI-xC|$ZvCI9RT%Z.iH$ǒTr9OI_r%[p2#ȃ("sU,%+ɇd|G68q9=95 6pP' uBH(P"x$d@SAM= z(h:h1㠙'@@As@O= z,hh>9ˠW@^z&h!h1h mR2r;wA+A@A}cZ'uOAA>}(! gT/@7`͠[6Ж(hKԎп-QQ}Dux8PhQ^zP#<jw jWG/Ɛz Џ@@?6~a?0bQ󏙭Kuw2N~' ݖ .>N=Ygvџ 6*hJ%bE D*ȔF@dIBNsp sh[zE5E-@ Mc:-|0zXfS kKX rsDDsGH'Teٺۖ/eJsQVA19@gx N=<x hY( 1UF2Bi.B>~>B_' '8Z6Ч&H CcڸLbgt!C5o O_7x G`c@31 HMō0HCv>!lk׹-}k#ys8e8Bw1M׎q\}?vlrP1isC!64R=~W{k6O¤ߛG^h5^woiqZXbmjKHdw"X <柼BC?LOhN &^+-8rq˪E |pkG)H,NJ%&~㭦!;{l(bq!N7lpyٻ}S9-}5^$GE$:#\:d9JŖ./-d@Q5 [Ͱۺ5{X=izRĤ !~~#\Ku~֓Oƪ+q]\ZJDREPr%p3L[<ѝojժ_ُV`;#MfI!Ipr JnmH:>ڃӲEK|on~y~sۼGSU|VGg,Ꮀ'L0W{kY;EvhV~StԗTyH hpڊ{J/I)|ַثR*՘5HwG\Y=j[Qzܛ!Ej(W`e'?S0~̛aǢ[k>k{<ۙuZ:l#rpv5ICˊA!gz vΔ*A 7VppcUk?1Рttzqn*ȌiCQ#3:7'Y?y?tL|g*-RΦZ(:ƛ7bOhڮ8w(`iċ ofSV씺J!N[/_j}+?ƥsD7&,54xKv>P`NG\]e#|HD][q^ V?%Ja3eL-le=ZHiv'e5 O`qً=%ht~!ViNXNШ +ȴ>j1} 58cwQuZ)r'R:8bjk;_РYƮ]g"BSL i[s8`Ic搫m 025F&FIŘq6vv1uwF# YYM]%3Si8F.0 +2jɨ/GtK #i\$o_ivjFN9 ʕ("`İj v7[xb¼NWjܰq|(@ >G/,X{ºxϷE>JFʮgeԌF'ݓOQ{ҏASu$ckZ'z]X[Okx?~6wDrn*tz[C(+~rNKs}#?oIaCUtZKOI-0Uza˙V|u)Ch7dњnnxnͭ{>w( нYFɮz: n09TQ.N~nVy=@93C}ȃe g;]/[nn阾>E>4,iVI^/[kbfS>mJX9)'J>&aŖGXӹn:Nxx<ìV#ZPpÇߍ"I+)xRܳffy#վohJ=G0n.؜P?-*5YTHKzJt:&Ha͖ɉesC5^92m#sV9N %at䝟l>:#sgP.M'1KO8~=8C螔dԤB(L.w4E>Y8*Mspt~ݧEGZa+te颅cD?Цo9m& IIB~뾬 Qf\x1{1/fE#,Fo9XtcMlԴi?9IeLøO{{JݫMC/dRTmSf~4wOCuk> RS!cuKhrK]}w#yū6U.*ñ_qJ!Y.Sl?Q<1aނ*Dm"_{82|09YSԔtaMyeO^Rviў~ugW}'KheC{*XjWXii7g>",9~ouz<l91z댬0%75m6XV*'N Cf}rxe‰n Zg~ҿo( _'kYr볉r1?lt]XS9n=;"oU8&㸷1X&:y+`2>*mV4̖ۋ& >]fVmpXVf7YaإfljxGɥ*"J?!oտ&(@Ȁ6e h#/y鉚V-\k6%xWvlj.Z}dI}wq5cK^=fD/ƭEo ڜi/kxa?]aط %K/4|=tϢ*v!ϴ,uL}t=9uΝOo*_RwkF΄ uOCNNtH~h_Wqlxmc ˼:'XU_3jӞd'd?m_S|^.{Eg9fyo9q,|wҁav.S$矡<9)5cYM no_s-#9ѫUJm'tV8Zr~\݊)^ι3[ 6֌w|V~xHzKߌ՝Y5z4a\z &_4з~u:|e%|adnE:leSٮ["aB_||ƪޯof4l KxGvs+ʖW=gk}mFO͕Rg.ci9mQ>{/{W)H8հWyMVE+jj[ Z0DZ #}߭p!^tiͶ&tNV8xƞ>߷/j-ո~.枮;r<;Y蒳ڞ[1N&="3u줨*voVX1PO?47tA*_MnRgς KC^X=or7tWZrSaw04n_eEL~%I 5*@@`S \W6m3UH h$-l批`B1?L1_tٝPO g_ Gc;#DLg_\_:y<7kjO|&cM^~77T1J kusQIx$3w"iY3еbA_7ϰrm'(Uik_yh~\޺σs3G˹No̐p2Dm՚gN髿=(uKgMr4Tͳ^*o=G޽U?<026ӱ٨_mĊ"B^$2o~#!&MR{gGoEnZ_6)t]?>+)B_-@+P5VׯzVPw^6gs(1s.ݪ386%Lfcϙ?^`U]||Xb܊ SRۯ&ZTyoΝRf =oMt$ (Zs ߟ|K"AT\i[8rR5ݼ-6VF^hIj[C ']3ϻ[윔3`^y>sL\> stream x}j0y,oh[.Pm .Cm & b·oXK m@cΙ̰m=Iir0O'v0hCҌ*-Fs) ^Bqn5upEؓSnk?`iBʒ*CaبP~9Ϸu@9r/#'0" }8%~ճz.NHw*$#)v> stream xy|EO=[n$@:(@:Q&$, tQAu4ꐹʌ2.tqEAAEqetDwoUw$ʕ|?)~sꩪsAEHo(J5oV(*+K&˨5hcnyUeMLkCDe\=Ee?ped^p$.>N"|Һѷ?MxS_?1Iպ΋$8tNղN̻E:FizM]v #90;e3:ڊh+* wŌ:=tVS;{N=yEٶMk/>QdM;]jSnw;@t],_-r엛yۧvP$ȃ+*^(i2[$)߰Qg RdeC@ܤZrTRgSx)@% er)'r,zIZJMKW4)1<"+օBZ8kx#Qf"#%veJWy],f=:N'l31 皶 0o0Y..ǚi׿ԗ^Q~XR\i+MEcvz:}Jf3/R"g{2L—_^p bLŧR/_u]%߀40P-h(XM;]3/M>>1Z}ߛzç=ðl{u{)M#/Y0L/ Ϊ^cw^m.)r.t|K*5ȑ3U(ێɣƹ=)uQDQuX^Ui*I^hxE>3ruz_*c[ڡdV |u:3z{_%stT{a~}56-?_Az5KtlУ6X|;jU^PL?uASضoo˦E*CÌAq86qg!" J! iMS:־~E_o9q\Exel.櫌{*+ 5jf}}x6ְOEj/q2$7Dj“|ֆC fƒ<EeGId[)ŬdY1prʷhGFAy_[I8_)~S5B#Ш٪ O>#Kf!jaH8h++1;[щDZ6O=fYpgX[tm'bq[hOW7 xZ(s v{Ko޴bNWS w4m"uJC~P\{0jzZa gfosn'՜]^͝Dk4J7I{)ۛitweRq2#U>AKK+g4s^'e}CDCVld}g6(֖΁3K0NGޜ;>&r~%AH !̢qF9".n43B?w;%nIm)2J~ǽPϡO ^>S!:+51WWLOU47 _|zX]|XcŨqjmp3< qB39'}N|a" 72ة>79cNR--zrDs/\>g#R,(I&}\:`wp“T̯S?164xXog=$]=>uravJx 獷:IX;C9x[_51 ;Π[#V.s~iaineP`ٳw}b׿4k/Ye|o,6g-5scVSCAU]zxoګ{rWa駩g^`@RاRЯEdF9*n .TC݄t#zK-Eʋ~u+~"t.oz>o dg9Ar#^77lAvGne]eEMs06>XSruHݧ:?ѭ.{)IƸ?+/<@ΗP?8ݰc\ݿkv@6g'%!&l92g1=gx!I2B#e|2'Ch|S%]f4;'̝|c$_4xV܎F^9.b?k.pɇe,|CN3d<\ gJ!|7lÕ7Sቆ5Vcx[SU Ú;w׳w\9>̐*o K5<,3$x2=xw =| eHαB~/sB/6Wx̄/Y +e}@.9*ëe&y×Z9:Lگ4}b{\aJÿֽ;|5'}xkZN_~ ?`x'͜^In?po .F⣲ ~~~3r'W~Qs~Iv ;0a?!/~Iw-{;kn_3Od?&!uoȟ7}[ ~[4~G< +;_< ?,S4Oy#+< K?9$/LvfO|XvG%!C܇^ĉ[ ?(GUU^mgoonOc|zOwƧ{Ow>}飍Oc|zƧ5>8>tEƧ^l|z%Ƨ^Oɧӛm>=.Ƨ'o9}zYƧ1>}COOɧ'o}z߮h kBJ^}&Q{'$Pp`>l<^tM5>{^-69{9f4;ٴ ({/Dz~)j1@vBaoOQ1r?,1BC~\ ݺq'\8-%28#3kP}(9u4qAZiلN?L9jbuL2VO>dWUSLTS=3N/?`lѧ:y䈓h,O .O^e*P<'T^Q㮘8Y mŤomeTWI# T)e%No_jQ1+yvKlK(@uqNQ}H2ѱfn;ޡ{ :iULХc$d3XČ@7ќmr3͗ƚTڽ:g30i PA st`j6N4Bdf ƌXlɤe5EFud8ߑc1x#yz9>[oYm0oyL7"Ik&yNu8K|Z7&8`R;LmfyOjkk䛶BiG~jߺ&Y(v9xAYLפ5 +zEGW)}'2 7_}NlF,`ft6Y;{z`T5VrFV[MhԺ0K"49K`)XfrE`1`8\@s?:otG~Ï?:~tGÏ?:FP`X ~f򗃋 ,`Yor|G~>|#?F~>󑟏|#?G~o/Q| <(xPA( Pfstp.8Lgg3=3IET4hDS%0*TJ4UMhDS%*J4UMFS%*TJM|Q%z*B"5 s\S6@=ir<3Ԃ:0ԀI`2b<ftxAÃ:<txAÃ:RPJQXW8*1*/UR=7MrmgM,^X6qS&zH;Gw5˷2|y ; DoQG]ͮJ]3iv]).njs,`jkYָmxn*,6m0BazIFz^Bz:k*w6\:Ny::dl q5Z\tu~N9-jmRMcW_Sf:d 7s|iQAXwz+tqIVMmZS\.sחmW# yZXUJkֵPV]e U6Iq]PڅUKu''-oL`+emQ5..$][[0|]MuO(eXWpQ=ł |)+χYvωԔH^? ,|Y0_/W\ֲeu:nU֣W<\X|ᡡaAJ(!ZdPEkR-RU=Lα;;=s"$"FQXOyƀ(j~` b4.`$<&D&Gb6AL"3CbCU]]]]wWu5Dro*B8JJ!c8Euw)5" C:$ypD+!E[^nCsSʏ"͖O8z 4fI8?H;F+/+-D;~6֎ |&^-ށW%]LacggbCuTWKkK{;M@-`Be,CWk7o. ,xy}u؈M؅k0 C? $G0u3yyyyegnfV!7GO=S|PKeM\_X~߀s(t9 xf@`?D xa<oL~~[r}oKw K$=>\H'O__c`3,Ȭd6^c`fMl5fG{٭/٣7ռՊ'ԎO2> $ ^cЇT ~7O搱#|/~09F(~܊~߄>E IACv2_ !3mGL?^ėnDԠ5Ԋ҈ /}Dy^~r? | RGq#[?>=C9@KP{&Qk6!,L^|6 ލ't{kC<^~p*Vމ:9րuƗIi!:R> cA.[=\^R5A?oCU*7H{fu^Rcu T3USTcU-QS9Tf{}}xaw@~nc3w1KLit1,'3#9B-d9ruTӥK~T--+-(dGR=8p qT(~TH%̨8„\sXi|Fmlk4ʶM??<}LQd6$'/l1at^q73? -|7 N o1-WnI\'''N(BQaǡk;U>gW/Yod?jnw* w\̟U:kxEo=e+0}dӍyI0(U#gN;E wLK%'H&5V 鏸څuvcy= 7h_>㶟\G] J/oXzy[m4,ey^eV4xŪ?e+JGpzmwӾ7F-ZKΒ͐<Z#wv|نs7ܶhf_y=JXlvg<i Bu "n`-8sVQ5}ĺ.I=A!%4Kq /hed|i ۤvWЅCm8$["sٓBWIZF-=LV rG~{sAzI<> DH+h%9l)uF! HkNc ˀ|bn?coU{hh@7* a03'MIӦA NUC։U*DGΓbI킇:vzC8ju=x>R ݗ Ga>y3s[2,Ằ: 6rW9l|rn5V l#h2pQXm\ |?:|և_.5玚Gދ{/š ^oO 4!n=Y> r_yqW|{#,,VbNo2|.ilϓ)d!,L:~1s ա,@U*@@Fw zm2ʔkn!JIx?>EǪx=9ɪxc~, q{sbZ !6dh ;/4Sg%hQpah5:X\ rCCCC!>qc梾_vҌʽB=wx3}0`u:D>bMtt13RzYR}VVGhF[e v/Sc3b#E -#.ς>hWk yD XN HĀ)?ֆ趄q_qQrAئ(ܩ2zq.fTF.-wNn?Q;ӇX Sࠬ # 5Yձ1qLX+"vP>,:6f1:J4j|G''fr( GpTQmT:P{V&pG_*s=,mD}`b@WK 1|\M!F <]J*vD{=Q垨rOt=+UMmj5,&w Q#AeÊRmZ3)׮˜3;$k~pC*-tx|QVqMK)dԇy8ċ(o9 "x]tO62" os̟'z-|6T4[Mc>Od}}&JƴB̩%N-8p3d:c6'}d*e,BUr/,@Ѽ:B,\d>2[cWGv 'ۺTSEAI\%O 6r|2 Q8|=/*I"cGzVͪBPK= pL ⛃KTǂ(bh jqyh6_7ߌ{Zxee[S+9=To*dP-zNwz;ɞ~noiqSWA<޵3r.-}yhM~{U6Y(1qtS3DdF-uwM P_5WDi2$0£Ecu$ŐCꄩ`noZjZaRyiȭ;B6K0Y>lx8ه?z&m=D~[1 ǹA XMxkBagE֌-(MWGbKS,w 60G,5%SzH$;H'N`xQi\uCW޿|zS5vDG/^~oNgG]s3vp}/x,YouG4А6uqG^Y{037'rjmvʜh$gVs3ܓ1[4!6mی0p],ꢬ\BQAMAb%)Mԥ4j*7p("j _[yF{Dݠ F&!Scyw KQӀ[xYҵ67A-CN&HgH]=6?9wu :Μj#@ڸ-MXw% oyi;ݎM?9Ϧ00#ω'|,XPśTWPX J%E# Cf1_d7(ޔH~ ਇ:Utkt{3V[Go=@~rSe\Bhzh~hCXHCOi Qǘ zO})s:nD}6)Q)%sbnFnANean wZIF Ymo!-h)A!˝kzkl&* e)t'9#QXnyWHԙ !E K)W'A4 8q!*@U$B=$eTvѕUsjVѪ9Z-r%wH @K)%U+d.ximn \q> J F҂Qn/M[<)C~J,'3-XG TܟEW̃Rlǿiq\njUz}djeو(8uI [ױDv&Sہ.1AOv" B x)nnFG0GN7>2X-ɯц@&-X%k.h>ZX3Hk'\LjJvcQ%=͉f+4ŗ!\0`}d6ZUBR*<%A:2{VyS `4)( jRCZjT ڀFJ\1cr͠R3 9HݧP))k}t#RJ&V(DJDKJe"*4 4IYoXX5tM6ɍpDɦbVru녣 탴L{Tz1(F҃Uz+6 `MƶQu:fգ' il+= (= pLWć@_#eTNd?,<oǰf xr@=Y,dhNڨbߙBzzz~Zy}!@'y;܃)3<~-R==R1SFb\|tXfV5 <*)7pLb֦h; Si\=nOEУSt!RzHwZFe)bYSKR}{rz8CL y*h>> S[;}&(Jop\Ug)O.$gTVHW>t0caѤIةH<AF"CTǜn:]fT6V`GrОA$" ):`FnNrv]kVɻRw7 ɧROw۹EӷC?M=~3u4GێR*GNq jgo ߰k TcMax0D!A?|^_Ƭ"rZn""3cgb4Y :؜0M”A>="؇y\)*+K''mn /m+h%0d}; \YK88NԒPӰYHDSErQ $3;K*z^,@apLUb)ʞ:ӌ׊xPEL$BG'Ua|Uh8CɅ)ngmY5 WTb{\F_FoJg7o(ų.{jԗGq/qO;1?'|Nt"U.h O6`ɴhDd\b]{r;y yV; @m #fj3Xn/#8=s5dsE;;x-l⎃bd9DE9My(Ƽ&G3S?eB7SA4ט HI_S" r1қC_ : DIvB+B%܎{T4],D'CW&ek%L\P5]TKY;^F\zYk۹9C5Q W/׬~kޯ qbȴ`\7!bο=s7˨0Y䀘{~uB4U0ι'g?N}R&ffV-9[c6x_M)I!.<M̼"iRC0k#䧘W{XѓҢ%1b+VڪirCI\s0,,:'oi]Ypu(<$Vb 50*IPܲ#VA$%@<|>>Dj0B^/i[%ylX~dBoJ=4+MԖg%w|UPn5+4[kᆾW@k\4ȓd t)&NҒDtbuMFuRR<]0tҌA9tzVUku{N" b>@eDZGtV7,/SNTTK.;RHJΎ)HIkI758$AK:ϊ/{WVL@q˹wlE(U}#gS,/d?>øvb;ܫ.$DbE'ݛZ;ͼ^Ꮰ#/=j-s ó5tk纺+]g,Z6^pv{줪cgUzQJT"Fh^y"ثJT=`~T @0qz7ER I_ W"+[|a!əeOPqDu T- yĄnn0+|^Vqy3#L%i^r8G x5NTeE,E @vNVq^.-XJ&jl]QǁB <Qu˷XmkQSvuV޶/zA|$[up=.4CuRDR42I(pQNI%R ?]t RT"u+uߋ{zj{){_q-Zճ/͢Y4}z- f a l[ Kl9qM; N, 01$N8^o`'bNvh{w;GSRխꪺV5$#&2$D"P"RQQcYŰF%,I\48T(kQ՘+$rMτήҩy6+ux9xZeǤ D`^R4= Zr==GP)r1R͑R*dη]e3Dx9 ϚU x-a7$p"R:"g13shYwq:Lc_B!a,BHkACOq2joj 4oki4odxTSKHQd6YZ|TxpW$tO@%*չbVq~KDE`o>!XD`j:TT=4 NǦQfzL=[4y;OyluߺYHѶS~$~=BF~gig:Db˚k糓5X->:ϔxBkف|%mr^ǘLfi_A\,Lj\T}8kX&J1De@s6)UoT7h*rXg1ZCZk̖ P8:Ǡj=y\2ҨAk[tKWݟ ]V\EAJ1+Fym0^ S5!J2`2|ҙB`'Lp'Z\{e.`ƬRA RJUF&ʄ#2x*Al'SSkpETpWνM/z=$Bfk=iӏur!/GF^Jվ]uUzSSy>} :6|1ySivXZʪX1aQ[cE:w[k8 ?CO /B iw&F-sbp@`zFecĘic+WyAn\E3BЎ 8gk%3L$"6 MmѮsT l@8'{շoySEޛʟ}zÓ8Ms"뻦z߽f7ojrowqP$/MatE.)Zr(&ߍg"$ic"`_MXQx 'G4o0#`_jhe|3ؗ'# r2n>qDOun#D0x*Ƶb( G1O8ꃨQcLDbMZ`[K .}2)UFUVOiDȶó]~s\_n.M$5g1bt5]!{h;Jf-{^dW۬g}|goMpufsςFZ $' +. _32prrH +`YG."!gAYԍ^Ec_@@Qd mCmR a"J4#)M1ZNuE,z;ϩC0J FRȥK2*ʏNɬNA JA 控R_"Z.~8o]< zF:1b2PM5sSZ]|@8ܙv ߟZz!)=˽ҿzt׾ ͔;~x`C=gٻ߄zA!Z Fak=N1 1UW$)B(&V.ŤGQgI΋=o uxܹ9_RfCn1U\\*SX_rl+\ C ',5SKvci8Sј3c?R=џ1%0;3`]V`xFQ ėi)r/57#GTϙr`+RF>Dn6?{p5:}+G'j0O;oޑg;/v:oݐ]wkٗ>+]@.B0Tۈ 4WkD <* hG4L• () VM0-ஜҚ#($j @H&#/S]Dam̓Hǹ 8$j|T%SH1D*ʇ(fax)bZ A/)wW,5[THY xl~Jt/jwSRx^X阎id޵).,UXc5Xc */]OOb* B:yM"aO?M?!<~9b;R|S;\c]p]5ٍYsI,f)1KK4ߺĔMB+%0T(6MZP8I*lu*?T*c4}L~}}ZMdwx\'dEl !ft}PwaauˍEJTuAmn=vA JA&HF:H<Pt4V>icbN|'wچ2Y"s)+nL?ÓuR@C/fJ)dy3SNt[QRꇸ]uL̀7*?#S航L-id7Sn] 7& reWXj }ϣlzv5m92ܱ5~LwUVકF5)8Z7 6F_@0sSDS2%@ƒd"QXfS$*Qӊc|Lv@=#){O~3 RH.*u6S3"'fˏeUOGUH6Z,No[?LyԮ‘pHH$:+/mA{It:r027oGygf(ohaTo85׺ MrhRvfU5aE@Aʮe9᜷yN5Y Fҡ@\yKTL*\5\ڻ[o~zdEsg>oAE<ʀvHMFef-Kױ¤N,eA\tlJGdgngoqz޺m3_k>g΃Cޏwd5BZ G2f8$Hap2 ߨ1q#3YzCw`ì `^HA`yhʹHוGnc7߂5׿<ݼsi~꒿^w{_9?Ί]Gs;bʹHb$sD:Rtۙ2bLDBbe@/7FoT)w},}B׃6DSo EA5^H,$r([E,W|^/V?xxU_WUa31Uj|l?NOSTf(?L &>QU!(( I±MTBuY-RǤXcDEi鬿.S"t\hs %UKt:C6fI!z,* Ѳ?R͚ 1M^Ib0wq|˦1[ݻtʖkVl75+/s/KݰTu-PU2"豃2`-;*/Kݘ$~V}DoHJ/Oz .fr鋜FRVӔ6eVdE{DV&X0)9eۤYI6*=jJwu+!*zݩ$dˌ6I3H*| I<Ĭ;,/IYM츦 ;p/tŎLiL2ہJ!&-2"iShA6n+;9_f!p:QflMbԤirk(Rhިq$rbԀ<<{0EmS>4|-R` ;nqv>z "Qfj !^SML\¬TCNo恦!5 r6fC=$=&j"bn5(^D-V1VsYcLcvÂ?74|yݻ)TJbj+4מr]#wk;T]=uXr9K&2|>sKZmW~H=%iغ4nEݶ6qfKSEHHxsfQ!d1㳨o8lRg!?aA!(>5c+ϓ& )^ϓ=L1 ]k}KnsVݑ *lCiԍ}12x|S1MO*~h@(b'Qб"~-ӿIgLkgԽigx?%k.eof_d{Jŀ\*RTl:UnԸh@F. d\_ |w[Y6ZXv[tn-rIJ9|թs:  m\:36hڄ@&hö`ppB/&ޑ>9T:&Z5uiV|q?o盘$Ѻ# 2V6?' .$ȕnj EfWB՘+NI*0Zl}FH >p _a/Bb~hDžN۴tn2B-ÖH`]n%88u>zV qs1v//>a44}R ]HȚs{I\B;һa"L0&Da"L0&Da"L!h"L0&D=iM0>ZB`4G`m*A]TXD>!g֣S]0z#4 P.55]<~pl\ :Qa w>Z9Y/9oLj<>6!#k5,*E1A֢q \;Z$^Qa+G6BVa-6K NW`XV_W`XV_W_* _La ;w%WSJߣОA9H(WQara¡Ї/)̓$$$<vA9XZNL k(UaR6 ɘ&Pa. H{Ա 1U%H¤{1MzT4($lWadrUI`cUX^ƪVշVշV2.!5" Qѹh:t_.GdLⳠ•ih--s in%5k ́P ] %s+9~9b]C+^p?\[?qj(6kAiچPW!XSvA\(%W/6^8N{}!?ҳhOG>7S.+jb6߻dU*t>:oo7Z7ڏ ֿpm0'O[: eF8'HZE6^- R\YyE"=$Ow>\%wQZx6n;BxiU-\駳~%Ms=ܳs̄ B[_I##KFsȢyI+؟4'( HƹtDWr[ NЦ"=!%jǵf\;؀ЄECΧ]*26JI!'׃KM)KK:Yk}pb)uFH[LǯAIj3Y HY*HJHOHɬȂO-) zϓ9⃕BJ"Jr6)iIJo4J G֧-&GAemd^/sZ{UV9\\[;jT\Q"%#RN7Rg } ('+靓A\'o Ҿhy}f! ;a7R&[6T 22/ؤeڷ::m6"pBw FCɧВu 5FQ'(zO$C;֦ag@M#^"󇓸MpZRi#33>w (ND#u:C? ك֕#H>"䋆OV<4 2$'G@!badm4Yk׊T( aUaDNH^)YupҏG_CIŒ5dMLu})$pd$I*-B襤F'5GlIvE_?BXGڄK6sWam~y\_L'brT)B*B%rWP ey5&bifh)TIKXT.&DKJE@+²R1#ޘ#QaBI2ȳY:T'"L<+'GBd,IF4 S+TYR(r4%+gKU#JE˲rt J1ia4;[PXT) 9@ J4yDsr#^] P&x3&4t ٲQB<7bI" 4F:J@COP\-D_VbJj]Ж&(SD FHYFI4kclP!.TK;$_JĪ !֑=R.uʔvZ&'zcppE8albT? s≠ G&1d,6 aQ07'DXC[ 4:!,J8A,(XTҬ"Y _ U^HTt8  PȝB,.A+aV%,@BO &EGS@z!)_hl\0*"REF1BTTh4/* "X"$hG&bnP6txQ" X`OFĒL`Oq!Lu]0>/x= |O{J1 n9JWS.~z[>=3^]ҧy)}zYg~?=WkO|?=3_XwO'{:Hdbwx]RF 5h|}]D3zzK$9uIbk82\Hed.ge f dX`Vk+K⿽#FhMDUa4vtE}7R~g&Ptw=MsI`u(2x^v7 ]feU 4c2\ލeZ ߟ`1 V:XWLFXrRGH3:0c[vĵ]9 {G^:ULiFdm3 ۤe\%hmLqpg?\Γs5 97"utB Cݽq?LJQYT#TE<-A2Fwe ߚ+99r^[]P/No/Mx]#ZIMѸkqՁփ&wd}=69y7|=5IpQYp]N;#v G0 \7ћ?r#Sn2EIn%''m5N-w<]Y%7`f.};K]fԳ)=& hUXD&cIJ`xkɉy NZEP;%n1/pů|w[w\LeʈJ~y("#KUQGS/#Z=WFj67^$Q$x[.Ƈ:,DOPRR yX%D(qgmu$h-cPΩ|ϛ~Mzj+ŘEuy偍V~yιI,!l}`yYO3zo71i/T]EAON_[m;ut.)vIn͒O0;EtBiׁ,[qA$uj+o\Ƅ{@ZzN7~--7,տvwʀ 9!kߴOgSwp̩;ׅ|Hc!]lOc }ҍKǭ!R0C4VoIvx?j[uϖb"Y.=>\/_*U)Hd49&yo~{o/e1eDݱ-_ʩlsV#W?JIu 5&69?muE%EAe3~Zd$|}#c3IY)]4>v{D1֛v>_h&||L-H O}39ocRn/__5u}㲵AV=ҷ\jh؁'͑R\a⮳'k,t0W>5;2ujmb IBE;d͎ogUYJ}xۄbu8q.Q1s}p@o_ܝ#q32s2Yٸo`OxҤnEㄿ%}D*+! A<p)0C ;,v[|f${9-z72>|O;ׇ~Qt{^ oV{G~#֢e-Mj6~O<>ȁKe12^6,2Pw9_ԯvXv(\w(?Imw5 1-zTvZp/݇=/M}{nъ)+7CЩ{%=g&.V&3őjߦn޳8lymYԆa3*tA[M;}#72{w8?ܲ,P0<޳Sc6pT^o B8J#˒hHP4d2o7 ]"br =UܻkQ烛yjo^I<к}; fǂeYf%Uş~ywURեL~+/y߬^`xOv*76YӪWݤ;tM,L;k1}'q+$oj3Ǻ=f4+L4%r+W 7|ٕ#єgWk{<~[oڪ2(plo ̫ײ[g/^ykn\Q)xC˛N ߫;2B:2X9z}n֓}Wo|}+xCv8 tmXs'f/0mYK F-G,Ÿg~vԺ~tq,_f*h3x{҅ 댷]:u!?o<2['7g ؾx d'߬,ry=zvq\wx~ 3xACmH MߟeƩ'?_Gkۛqwi#XG;QWel:9UrM׹ m.?w9é<6AhЈ5w..I2K5[4EED"C#rL\r-j2Ե&ʾ a;ƒ>qzc<qf [rj}Rp˛K2sf"k*{FS6"RA%)s)?~Wfó̸tʡIfnƋfNCݾ31-ѩfߝaܗ<.V*5yR-:6aMIKoadK9V.u?oԜ6Ģ lHSܡܠ*feifK\IG}g:poNȸ"Ux1ҴTFO}s+OIySM˕ j/>+=rlˣ.>A6}Z8 v ;~_NKptc1gpP}۶m=Mɥ&4fX_a\wFrX595~DJs5/?I6yXҲ; X]ĺ-3 |݉|n rߔ~vl>FsW3sU.,efE^䕩T>Z=KFxΐ*fp&-o^ Դ+_y`l[n 0k-alrFo7k 5^p=àv IiNグSgJ}#9ms=s0Ā+]'o1{ [$ķVJW:NrK\DW*c 兟54t[?y{ؐ|/ޞdـݼ˛e<,z8V]]j}VTrBK}^ր(Ϯ:ng$Nk$-iHe/!y o33(`z!x|Q/ykGLNRXt>zٰ/W_2[^KM&٬t4Řk5vfm8w擣'.m>jٿZ?ǕeLgi#6LȨ;|DL-;$ &ovqq//<MSDn[oF̗-x['u_|X0{v_d{8ޢi?Չwt== ߄O/fEnmZ}0|͠^FoW 5Y`_zd{Ӛ11wHt ;~~Q;ÑS{5yەAY2CWg6lY8a &V7]d5#+m3k/z{9jsڴ+5= RyoS\4_K=fY1cZ) Sn=%z|~آ IG/~ A~l^Az,\%%/e.|s˙+c _:ezwCn LhohFCo: ZqG'@DtVoqY #׆Xo Y=`ܒzòܞp܋/pVYXQe <%< xk8̘]ퟱ|.{W~0twBPݺGIൺ'?{u_Kmw;7[u[gYݗwzC]k y T!ap8;p9px#L'PN9Gr>(N41X8qsrD9ɀ }3xA 4(m0U*j5lhl;{nCICCCcihbhBa- !r {zA7>_ ͯwٰZ>a rQQ.:b_&JTL#F8D^G}@J}B:ei&o}LS 1Gz HOE>`@E{qDgqE#n;; 2YT!]A8rGn MH  KpfA01QǸh`2%ӑY\<Ĭe10o32_jh0ơIH4Uc {NGh%݌Bsh=zmB[,2o9 AJu, Ql:ȴti=Hf`{({J Qo+K/K95, ֍T&f#U5%ggZ%jj[A6QbОE,+wfaCa};1Aq9([?8^ttrqtp*vN>˜::7:sr psReEJ*׹ĞȒ;x4k1בĻqsq^6{!^^n^!N^Z@ ?y_~c3gB>||־~B_,uG|?//oT~.;g~~}@p@Z؀?\ xh82pl> (}RNsA[ң jڂÂlϚxINX%]JSa>D>!2Q3Tb<lX}~pv3Sb*gĊ?P% oCHJ4@} R*3pHX8G?BEp'p^ <YH|z_*mzM*v"xI~6 SkA #PFNodTKݞq0ueԑp x_#y\#7Z`,Q6g4jQl-M! 5Eh~eifa(~3+rc8DpLwyaQ02-# @^ ~`KBЮ x=(yhOr\_㭓Zϭ;ā-ԝ'u_-_@}:А L5ЗM[ؐ4s4LkhSz=ºI!~OhsP  N6~Mi*bMXV WmB+!#S#' Hh2rS^9s12|߮F@m* .fi01XTEQU MhpXa!pX0 0ak1q]2Cb 1ָcawo}EU{69w}qg{;]'A1N 1z *[k;Q⹱aښZ  ȇ 9Y䓏o{rvr M?= 8W3co <"|[2\K5vQ6 FT1szs:~?aֈM^6˰9v=縠o[)Aj{^+vƎ!{sИCa^-? mn?xˮxƼ؋cck 3`K] ׄ1neiLbwXcט%g@P@X?X,4g!o{qP 97-[w8= bLҞ|]Ώڣ#~Ƨb"CvP'yum;'K?ٖ] {=xހ}xn><c60EY>H; 8 4`v3HF+/?/A}Fs)D8$:EYqI▸#ǒ.,R^rIeNjr$T!o;xA9=^>!ĒҒd Rr$ăZR =K% %nXKL%n$zKR.̗$1W-1!u3S"5#u3<@gqϤg]0sxy{:9u$R>OgH(^՛XMFy߳;9!BOIP{gJρE+ŋ/2o,>Z|S>JS|#S,V[߸^oY+SY$]wDKD)G}σ P 4MFo+ t4`%ᅯGx)a~{x~̻ ק $}vTj v@~Zx7MgnV\U\]\WP܈q\Z܆Y]W>>>-vOOy{.y0a&\pGdBI8x<_q0J8L8fiVM֊U<sx4ã1pXsYlȁ3'10J}kel-seزNxt|D!eTVV4?V2?V2?V2?fUkEڔs%R\Mc&6 o:qvߦEoyMyėWW {WcVgsI!6bZ 11ⵘ\?V~fe=/햒:襴=`$ s/!caɀ0n@$Rh@RBMX,r?$LB/j w'&4/7%bDߎH{fa|6Z /!Xފ~X#X?%=v6i :s-ʆ9owo_*%93ߑ#^;bQ4JG|7 ԛ*ExCH;? F0~x>홼]v>5GEW |QK__tn:}q΢iSTbwEyz.qʿL(zzKqZ66-erfor(e;Q% U_xlp+<[]Dӎ'=Etqr%Ǘp\\eN}QIo?(qmp>﷟woȕSrYa–S%js>-_s}~^;U묱_ss4@˸+ǝiht-xM9G3>oBѪ/pA҄vߨ:lWOa =uH3l>SdȖi߻mi%\ ν!?19 >߫з#;7>}>kw%Z|}QyU{y—G89P:S~s%G 6;o,tf^G'ze-; ݨWΦ>rc@ᆱW3a o*A% oS)xWgJ_³uT^]e2ChYMaVYX'_>$nA ^AB܎PAm(BovZ"bkRpF5[.yhW68#,Z ˜v-h[_RO!%.~|[ELU8 E} 5 }-.)BC=:'\z4Iv ?Yύn~foC=pQVmbk9-h$7qttݜ\-g}5E/t"[=pwSt}Jm+g.Q:N!c0aӃ=s=zvS5PUajժ! h'Cݡus+Gk3f0B%' V=J_mp{t+8)QIUay+ o Z)u,a  iJҏmpWۯL*C`ӻ9(Wt6'dBy~&LcR&w[U2xPP\yWR˗$[e~ūԇrOw#=d)PND) %Wh%=w<`ȘE Hsr/$hw& D锼C wHrKHE(tC^INwoOܔ ݷ5kg"Ň[̿ok, * ξ|{ީ|wHlX'+oɻݘ7yAۛ7?o*;HOCl;o'5#Λn[=zA T~ >Ora𱶽.)hOG^ht^GG6>Oߑ?o?v@[OVJ/VQۦbw4(<Ξ,Ih:Jx4IDHv] Ecb-!lSLs,ۺ֜~Őϻy%,-ٺ89γ|¶Ӗm0.#10năs0>ضŶvv^gbC%_(_N<-Vɀķز~#y[m[lQo=#Rޚ3,yg EMn {0KQ\6uLqu1t&!c4ZAU}-?~5G|r<}࠿ ѓΨx~23:2]n:2'xN[?b/9+n&¨f{#H[n~7f~ Z?I=n%ϴ~s,V4Aiv&A<.i-Rm-qt%?Mo3a=l0{K {[jfoVo*h˵3?bZI9b~i\uOܧI*`mG\ 7һctZ %S٭4wd~+%I;A nL{7: u@|/}?L|vﵾ\R:N"()./A3^[>%OQA KJ4-MUyA!xRl{͉3:Xb,yBzو+gSZ/Ⱦڴ6;JdPլyogM3j5ʼy6z֝ [Yk3YSٷm@)֊To=*ڑ:Zм%Z&Z}GCFokq6 @-yÿyMMV+k4TQ `\4zvf/ ݩuVvo1kig&٪Gji欙d%Rlo"β m.VnUluj[%nPPh &=%LGd#ښlͶVPZE6'mݽYQfvXڳ~z^-Nnt~գkoLk=a[Z[Y/YǬkiiG!ez!R[HW?Ykya 4SZz:gk}`8Mizg6_06<\3L#5UyPߓY4O?,tS3g)Q(E>$IC 2mC)͑V5ӖV.mW#mO'm_feZKִi3ӎdJ;'7s_ڱ̖NfN;y$lѴ iW2]G|3t tlzzmH9gF!gNl0~me/l sm9B;H's̓)3d9!SN{*QW2d'fL̴–eK~*OP:au۱o$^K:ฑ~8ؙؙ7zIR3@$"rұzj Bj;hșx8\ؙ٫(}DmbCthx$`:yj)=d+e?ҧqpkMyLGLǚ5u@kD fą#tl;F$#t5Ҳ#/B휳8\n7RUo\ _?OYuQD[vXv>hٙu*RXNRHCE@ҕzOO{>[N&%Y9s5ښ`M7'0CyѢZ̏,qH?$ZR,,iK%c s $ ,jb.RnnTsHO_B-RhQtA6 ҪKdAk\bnljPin5͝>zȚ9Hxy;4/I),Ӗ|[)+Cٕ/wDr3Eu!zeʶnĝiYV)+B|ʲIBb3>OOE(0<*ǁB1IUA*u,-󓖐W|J|u|S|'$Ŝ6ڑʊ/}SS|`kh{1m'9}~1SW%q~邧[q":g P(-<9Jד > E7Zx!W_y-_إ}ܠ5\IjHtt[L)զ] Y,O l[t?ߺ<$_]| IuF[.?Կ~8 ~$o73v^OH tFT4~] M_éZ ZU=@/mqs*R+]ՙ{\WWĨ(¯~DӨ'O16, G%yj"خ8YyNyJXG/˟߄ߣֲh[}utܰ6wp:@v`EՁ5缶 -(<Xzb [ьYc`L2k?N氶ZI0u/ ǃS{R4Ÿx?h9MfϿ)QJt)Dy=[݄E c">MW,|Wx5a`(cCXN\0)n($3'NSL9i5:ضR,vE:cvY߻x5e)QPAƁZ5\~rƔ:("e][kk[RVu1c2]l[kh:žS>ĝaL`/;fۆYgY@ax{p-ﻸP;+\EkhOnn?M,ys_~r*Z_K<_$E͉4x1?O%tahU7,>㛌nӏXO|3C.da}w4d.r5kb̿QY_Ka@8).u>ay2ao51PVl/簇þ ;O%7xa`qcpT'a |(a5M+#W;Fi%h`$ H|"Rcƕ\.~66GfxR V`>2mh g.HDma?#F}c!lwp(Ͱq% ~=_^~I#R."oz &p^Q#@S9:Z5x mw |P Z_.PB# |55E̵K؍`WDYQh=SM;-f8]K 738yK%%okh_W`݂uUe%J/TPB *4PB璬IIuZ'J4+ieҞKnr;&H4y_kF˃` )-lX+^i݃T-N۔v,Je+_I垕TZyi坕ϦSz[K>7}]>/s@hyY?q0|G`{ſ* ` V$R*0s!+΍"q藍$V̗tN*]]Y_fmrE^Wq5qAH)"_=.1޵R {-K~*%p%{YG4khvQy$"&̙/Gk [|j,(U*nYEVQ+Uڬ`Ze[۬2xG3/: f[>W.U+/~v_~ݜUB/M/\mwžW7$HM JZh}\4S& Ayk,Ro';Ľ)( ews_⌝6h^]Gd3WfvQXHE1P 01BczMSt1K1WR:Ql.OIn⢸dճdYIV;y|P>"l!yY Ke|UM|[=9A~ ?\&_r\/7m[WG yF?ʟOe{Mv].ijoJ]=v#n*I5QUk^e.z~jajƫIjf9jZZ֨uNw{=sOݳ%7{սq$/+Rho7ț}zKeފȓF&3 v,t[Et ..~qZ(GRT7ܮq5'xxVosP1<1\*#]]Crb48I/ާbBG f^ %OŧtLyb uX- ė,֊TXlج{&)bFEŷ[*&T\}8J% ݳ*%Έ3t^|Oyqʈ ?mV].Z tkYNT*/UeE(dU2d̠ʲBny7.!kt)kRY[֦;e]Y%OݲlB9UekW̔t$;BȮ+ՐewzP=!Se/ًj޲7=">TKQ_r@Ɂr Ց z\{09ˑr$=!1@I9INrJOr:=-9/S#H.r\JMdLYRr\Ek_YO-&Zʭr+;Nj-=F'iEKB^!Z2WcX1Fyh7K_zʛM4ofx3h7ۛM뼹\ʋzQZ-o6z˽uAm<y6GGӖHH3&*ҊFD62(%ʊ"]\CH1VL41CDb\kzIl;q@i']^|X>*˧dcLs9Z)r'%rΣJ~-;n_S{yA$ⴭD1;]N֪jZꤺ!jƪjfjjZֻ}!{ν^6gyzb^)WK&xxz{xy #OEFZ`0Bp[P qPvʞ eWPv A#PPV>}ACLJ5@kAEDVTTqX]hV=hV}hЬЬ'Y YOAf=jj jz:: :::: ::::::)=>/C}zA}^  y :g @h͛PAP()ʈ I- X,e Z|%߈b/)S'P-j~%:l$ʖ(GQr('z+r\!Jur"]r<$ɓA^+8%񢨝onfU!jڨyzQ^UopzOMPZ>W+[w{޽ /S^W+y1xo7՛xEg#-Ҍ?4&JLޤ , )))) )չSSSsT'SSSSS թ-s;'s NDhU@wA T t~(PP@AՄ=z TcС:СǡCuCCe=(4IhRChS2=ejej ejez  )<3 (SW(S7(Sw(ӋPPL=L/CzA^22 ee eez :i (@(ӛPAPLLoC@BACF@7=5=x;h'waws^=$ u,xqv[-9(\(x\_L^W5Tk}lm'br(@ r]hm]te%Q<%b^Tҩ*UY_Ywٯi,lw .i`?wOz5A!+*r;"L 9FcȲ;auɶ^ȶf[ݲ֋V,˭m=K)5"\?a^_֊~ _۪*hJK 0Nx<bX=̘*~ô(wIcˢT{]~ZVicQe1(2sE+2;M vM5Fh41¿ jTu:Ԝj;3(pˀGP~"q^G_9\<[^ (ԇ=BRDhV`թ A%OPۦk9Vo5| _?QqAdPM̩?3g%JM9C9j{>yl|S"fFatd3~WJAXkF7; cHX e~5.5u_S f̖?Y |9Nw/" |3];E7҇߉e?n\l×9g8ɷ{ L\7ʸ!-ǾI|l0׷;(v?;ǻ +|]#N3t(K >Gڌϑ9oĆH5_9صkY:=<||?̛k;sV4±ں7k±fE9vM8mbٞ`5 ˸X`f)%G6/Jt]`΍t`G.x4LfO5nd!fm113RVYjfzǺr$fB4sqYqUTgc;;_3gy? uT՟/u{׵j<-Z3TgYG`nDY!d[eajM3 ì57fVl~W㻺T8I1ZwV߱xL9]5Do5-֪u=ڄY6klѸkD}lzQ5n7١՟h.w;Z7=^{K>g;C95 Ν#QfOkM(fN礙w kSq紮9kuqZU=]빮:G"]oTR1h)Iǯ誮.kչ"sպkz'vuݕ>J{{Mo;I<i1s;S㮡ffXf8!f`Fw3H0#C̻`nfQ!f4`F1`ƀbBX0c 13.L3̄3d0C0SL 1SL35|C0i`b>Bt0L1!f`f`fbffV'`> 13;| S09`怙b>B\0s 13/30 BLLL4,"0B`>yY f1!f %``YbYfYYf9!f`VU`VYbVY fuYf 5!f-`ֆu`ցYbBz01l!lf0C0[l 1߀7!f+`m`bf{f!f'`vo|  .0Bn01{'>0B~01s ss!0Ba01Gs$ss 10Bw`]98!`N`N9bN9TNBKkB--Rf`zWN8(R\HL w ?l ̦rYNȳxrBx,g9,<ˁg9,'Y<ˁg9!rY< yrYNȳxrBx,g9,<ˁg9,'Y<ˁg9!rY< yrYNȳxrBx,g9,<ˁg9,'Y<ˁg9!rY< yrYNȳxrBx,ӏi0C0g~f 3lFAa70)`RBLQ0E 1S,SLSL 0%BLI0% 1S*<10<SL=0r2Ww ?|{0߇s`΁9b΃9|`~1\s!\sE0c(1Tݎ^r]a>O#?07~soH淅Q սjTSjK] aXG?`aFA`a$FC`aDFE`adFG`aFI0S8Ƣ,$!XWG+\%RMu9u `=mt.Dʲ8iƢ͜v`,~VVˑ )br܎#ڙm}mq8IAlD\!"OߌCb~f/bƉ*i%xƮ}Vj'ir_5}Bf|S:m$N(}[Dʮ<#ČbIc'?g&gZkq>J`Pz;[BL&a4F"Y9Ssƺa=tDb̌9WjXDϚeE2+j!4*X?t>l3ߖI戾5 JBiձE:J-k) ~GJK17H5l6nX=C+B<7xC! g \FJ^"?IGemy1V4{Z[/3rk#z{=%Lb+ܵs53wJ٦eWmh$[ endstream endobj 425 0 obj [ 0[ 600] 3[ 600] 11[ 600 600] 14[ 600 600] 17[ 600] 19[ 600 600 600] 29[ 600] 31[ 600] 33[ 600] 36[ 600 600 600 600 600 600] 43[ 600 600] 47[ 600] 52[ 600 600] 55[ 600 600] 60[ 600] 68[ 600 600 600 600 600 600 600 600 600] 78[ 600 600 600 600 600 600] 85[ 600 600 600 600] 91[ 600 600] 95[ 600] 177[ 600] 179[ 600 600] ] endobj 426 0 obj [ 600 0 0 0 0 0 0 0 600 600 0 600 600 0 600 0 600 600 600 0 0 0 0 0 0 0 600 0 600 0 600 0 0 600 600 600 600 600 600 0 600 600 0 0 600 0 0 0 0 600 600 0 600 600 0 0 0 600 0 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 0 600 600 600 600 0 0 600 600 0 0 600] endobj 427 0 obj [ 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600] endobj 428 0 obj <> stream x| XZ}Ad! zyģԒASojf)dYC^[y@KpHLL3ޫ潙d> b>w~{{k/ 1trؿ3e-EDKAHБ{e%'=Q}i- پSqD6Z68S8DO-燱:TgZ^lRJZJdRQ{|'&Ok7Ge4&wN<}>m݌nH{~.>skH`|72}'$ ?LϝSr?Gy􂙹Cah;o#^<6FaLi2zP=FW223rZ.M!& a~4'UOT 9JwkˑNb0P;O_!gJC4YF(|h''NOiir6>:N9>ܔqʣz 1TB(S)MEMX8B ΢*ZJ#1FtL؁w2JDqaEv6ڃ4iy=L+hqȏ ?2/{&sּ4CWy8Fq-ըXx''u:ZʣcFO8c7fSD!*XFbf%'T7I#χ}iȤ&Ԕ@v:1Y TIwp/> FU1(F ݋GX&z"r)w֩ŴUBSR(q:~5LYr,%*Ǜӝ^DYAwD8FE FƑMmpj@0eЫCC)%و߉y~V@iPԖd7,6l|SjT(n0ʼnꇄC[@/A:nFbu ka5bDC~DiVy!rЏ4DǍE;yI~_ɜT݅Mb]{hc~D*/no[tE`S)^>πI'²}%̾G+\ #pceB,4~M¾IX>+ދ߂֡ޣC|<+X!h`0}mzxoOkҮ)(AY}?aC\ ;4|+imU=xo+2h?$PEipGk|VIrÓ>+r ߨ9.a aCaG( C}àm`[ycF[Ї%<Ew]$5ѫ v s.U^^So7ܹoرeH>^7^k;auk-~/' T!u-.XS- ǺI8MdT 7?JTs1䙠QY*xK^_K۽v>=;|"DDb |UWi?(6އ^tr˔Rz;t[H3ϔwVRg Cʳi,eQJzO): od?tn%Ns p003/}ar:?sʞ6)Z]qוy~6q*k&ۧ}Ϋ{[;>:#mK!pmvb>7D hh=pM%`HGzI(1r*V :|t,IG0:yz;a .f6Cö7׻ѫA]P^]&C@9ۂ_8 nm\#&o9-p.p:pNg*Zz܄;`Ļ? @Ӌ} aHPm[859WY>TMi1Q/rK'8ѺYփVC6@qx8sOְG ^8g o˩jKANT+֕Yun"ԝ^h.ۆzgN<ޓW/gq"û#p=E`u% %hs"v$sc v2ur5/o~Gc n)ncA/ٻ#Ǖ]eْ@[330#q~O0x]+83 RK_k;tRC?;$~ڃX s۱M'vڭz x7 /{!P*[Xggh ? dYz,~< { m׀=F~ԠsX| z:kAlOdEb]Od|iErj &u/{su= r^k[xh:aCtQy: 0$k£u7otooI&|T; χv =M A M j;W;*WtÅs@T*S{{$<E UDI|]Ԉ:P 9?sxgG@|GWD_m@oB+]q5 myCM?vtjh0|)?~&pF߼7}fmK`9 lX'䏜juףW=uX`ؑ ÂM | *l?#/y%/2/"z!yRߘ(ϱ1ur=/M /VГn>kOn'g=V~ݽAsVS}7 WcƽN-Giff~z>^ xKͰH47@ zT?)'x/.t(j΀wM8 wEqJ~AN_8ab8bˠv ުΎƁ:KUk㵹E ㆾCSXx( _d4Mpӗ|Z̷ПXo`*Z * &` M DaS R``3/K95S3dPÍ7nh4~"Qn4cRK`Eq؆ d&*lG1 ;R,Bfm] M;%{(I팯%@u^L@J uTi͸;/IA @78XJ8R#nR8ҍafXh>JO(2an``. 1$jȟIHÀ484Xp em4 8U4m|]3S vO6,Y58nVx'jE=48 8 XJ*\@)ۀ i*IztC\p |.;˨wXG>F8gW*\Es.8`O=5 <)\O%Qر{O)|a$>G7*-4>==|Gp?|If* |p1EK +0R62=zUvZ*!9wㆴ^h= I]x"_5} Io߁E|Gz .=mMgs}<&}H*]e}![ uPc:~{=u:t&ԳG]:wء}{6q1mQ7EFo,iHpP`~̾>&]L ~9WlK (mHȭ e\Ur}I'JNjP.+A9,6PRcg!p-⺨U| n%=0K²44WjK-KLr?Ds5s>"yzR s劰Z\ZLzDװYiVkvbSmy.uUJUݸ|R]9Zl)O.[RDy9msglG=~f=X?7R+KbeeZ\gϵJF+bCK Č&fgx!șYW`K)9Y\l}me`i"\4.kED ggD,3fu%Gڲsn*wmmᴴ>'1<(-&H<Se,cDdY6 [0,CBA*bx\"S\Rsʂd2,e `)$ROT ޸nwm+U7k1Q]fW) AI!~U.J'U:<1>Y7>Js6,ttts6zMa_Rc*.GV3vm}ZsE}J3qL|5urt;%ȗw|':}{MFCA&f?cLJ.oi>A2%*$+P]fAT#r:2,F*G֗]!7ݞQkpg UH6\b̬J6dH5Ws‡#=avUgS>= x~ H\+3Ff^vu#*;Nv!U2Ϊ+=GtҴkȂ*@#,GZ\ Zr-+WۚVnzVez__fe&2=e4wk2gȪX}P(eI?<\Exy\yCɱs\gJ,*JKlN^~ s * ͕jK{ckdK+Ysimi[|]wy+o+ʾo2kk쫿Ki=L}pDZQ>?r.Y))2 Lf5QOV^'+>% =?X>3o-U_Y`POAfXYhg,jk3Ij,͔p,Հ>R7f4WAߨ߶ny/G1~_0kv~g w5?WNf1_$ x˴w!kWn5[mg[~'wY[=+܁h.۹g|o|OWf]QMYնik҃>XȤ^m~uzM^͓5jզN]\x8״ƘM1y~1~B[BFGuKŸcc2Mm)o ռw>ŗpgo&ځza0'&.X:iqla>S9]HDˤ&V֘6}3c#YVJA9 HZc)Cy]iCbW}{uP }H3B]M6Ut`<7 ,i>Ծ7 kSS4{i}a|+ h$觌ܘt}ڰ ßCo?X_tVZAO8MŹ9 i홂3u] 4yh4i$ ̀+D82 [Qo݆bPw|i lJHGċb=bB[GQ!FN5u?/̾~MgFΦrP2QK PC(-Ϟ :{/]ױ̢ckvҭsfBR$NJ!Eho+Vf%""6jwk}ΑecIIeA O =)1DؒŔҔ)M(InJS$7%74RJhJ rrG)@Sʗ2s$ojlמ^{9:,(\x;hO'}.&bEϢfYD4*#pɄ>۟wP}kqk q !OLcx5GV>{'~OUes!_8'p8ioyVdU>+$J\ *Uj~%. lu^[rwԋRך7QЧv7V4(Vy\1Y#D$'%wxEɣ)Uʒʞ)C_8zni<*&9LɌA_ͫR}UWP%(Y1{g i YťJ^7ciރ55^Y.ZDgK4vt=R!Ǣ{Umݍ:w'7%7}!99EKuqUĵYdnYeh} ZgRRRSvw`5깸O'i ZJٗ~iiJӥ[ h_{S{]9O}8Wsw|yѹ󙼓WIuWJFt1f3 52_p]S;XupxjՔ77+(["pωl΍ϑ .(n?~=J1zp4'$v%t$[f$k{4niK񱩉 SWM#U+'RfbDuf g̱2p,V`H-8e ;rj{Q&{*Wu5ʅ6/2)19ܿdrxgcE=&ŧx{TTJKIx=Uے_`] ?SRO ߾X7ghn&ga\D1sQ:^KΌN6rEOpϛfC܀Y̞IԪHh4%kgs\Zaq\9%!]Y%aeoʥ%&˾(m4ܹ:7>"{>'*7U9J*3I+Q*mدׯ;Xz7v9g]v;ʽC]oT៻K2'n g5GЮ~EC l*TUќl}zY(YOfͦ\)/7@f(VD&-H^y)L$9-9sʹI-EY v4:WR L3חϧsLŧ.ˋBBbLVւ~7R^GϾ3u,bjBtLBNyjգ?t=df( /%F&u>}O2]e L0=Oag wD'33a&̄0fL 3a&̄0fL 3a&̄0fL 3a&̄0=v7ٯiҋ L,EiHW2VՉ :L+_#/T':E&ht:pmLsDiD&i ߗiEXNL+IL2IBuN; ӳP2QnNBX1UF+YdgtY`4SiI-P%J"$Cd(ђ %ZDK2hfNƿf#a16q/,ƘZkbtbX$6GNOemKN}f sYEFFJG6:,_HH )% n$~d=e96@ӫ^V%2 V-Gg)bkpd55H#C"øqz׏>dQCܗ T)d<(׍qhd\!q<4'*/mYd!+(n&s3(Q:KSZc9QkIND~p==SxY;jx 5 4pEqH&yi27 rsߤGT_cavoˍ ulV,I5c%FڋG i#-!aQWŬ42YȬ`=Y#2{ Mv#(H9:Qd F`=zkXluo5Uf+@ :[Z>*ȴcP+0 aWM35eB)+q;|7٥δc+`VֳFa23`-z&=>fT{T%WiVM-lT3YКԚ?ydaڐZE!уjlu-ļv>)F0AXlƍ<:,+g%3Nh;F0IJrD>}!\,I$ԭ\r-!$4#iOB61J;2 n&icGR^% iL9>/EHBn6w*7/m% Ր08Mۯ-趩V;?LFt%S3Ǽ ־*棂ޚJM5y"!a!~6ʲP! 3}b9.!qxjjN%+>άd8CЮgYSuzRkGu tzbɒt wVX߃l}k/F~qn}ΪbR>hRF>ejq+}} ~i.YZhi3q"VS<^%HۑcD6Vj)ۇjQo >ZqmB8'Y~m@omf+ r=†%MyAi&Nu(qڎ|14é\ձ5"ՊkR cQNF7tʜZhϴO|leK^,qD4『\$UG!55 LdP˸ q 8װsYRM+kOHgRVfSPX2/aMRV>YKEژYJZ KZyLu)Dea3n ii}P;18ƣkKPO`yo Ʉv=6 VC֏zDl?x"2<,zVϸglgHhj=cbN4War8]?FۈFUb{xtHu+[򉵫HCqq8e1EyDcPqܿzlhY`{# zG]= qG{=Ⱄ+zƼtlAO/O/ziq1g=R/Z=Wǂeû15z8h^\5Zk  {ƺzq58 P,{\xL=cIM&F' E 2A(,}hEE^/kߒ%I^rq3P 桾0L^Pqy1oL%V!V׏p] z`]i!i4tٖk)W qT&@`t~qWֻ;cˋi5+Pt{=tlͭVZ|R@kN%=kL݅yܕyw;/ETXQy'ng q{P ꏱxh\ayˑ K77h-W~pط\3%AwWX3YYh[?6\hgHX(}4~ 3f##m?/!pR$%D%-Akx Z! 9B:rtP JpFXs7G@o.p5Up gK߄UDREdE h(zй httttNw)̠-:ŠM͠[K1bba#ϡt 7*#"LD(TZ*kSփ^lݮlD K9ګ\AxJJ +A(G@k@UEuuYߔ_UM"'"'R@c>y#O~=A 3@߁F ˠgW"W#upQFQNm BpU2T)*AeR]*]KxU ڦ#ߡ]|TuЍf-wݪjݮݭ$:KE^ AHxuz**䏩@A?WuS?}#5~Ih4qk+$h&]S5?}Psh@=r.j."A1 IGX$ XxAAk]:)-j̹j^i`jZ- ˳W,-Ҝ9kzF*]W{F9$[xO]rO9>!o^N)祸^↣RX&MZ9^# R"߭,۪1)n'Ry/y^h_D|Bz*T(Jbg75Y$V1gx I"NU&S8I5le+SFvǹ#܁BPuPl_v;~ne;-5ڤ֩os'鼎Ȓ ɀpJ*ʁrpӻZNA`0 6&` `8 >No Ԯ cBa ݰn\8+@89%ݭmYx:qzFVt콟tV`G=ҥ=}z`cIvWbW+a.624-9ݽx^vo=sy}SumF7]ޓ'PDIsg;@OPtiC@W&ҹS,e " 魠w] CwEkkcw!@S.cy3ԃKd1]{(A_e}H@hO.Hܽӵ7(>EO2`q"=ڗͰ`{j_QI~=u>8~[i,':N~;/'m:ҵ-) }on,/a~c:KS:,}`GD@Ĕ@KqW~#2N$+π~ xȕ㋮nkKpS'cݤvmvNIɐPAui/=>Low $HSML)|Do쥘Wd=?HF,^A\ot:d8?^ ltASR}?B:lC`WH@H!]z>0 fѰharO/]9*y+C}"ϟ,=.症+)W 1Vn)ݧI7qu !?GDnEy'!U^cк^YNֶ)Ղ4mKNCgR t뽗~(br {>@>ޥtEt>Ppx 82PMO>Dދ# !{~/ێlSC)aִt6B 0h - [g ?&-=EfʥgWIO+_ /,=m Yd*ǖnR܅v?(}c deBmt-MHKڻzC)IAw39ghil]Zf^=H3+X\.)GX=v'廙iցs(W"t.kBgMgigz@NO_ܾl9ͽ%@K~Lw#Foj6P涎':"G`^s2=b))wmW7bKWOz!BPn $Yp)Zw-vR50d{ē?F"DGg\2JqdnRLV)J=Pf*Eה]Ae!;ѫWqU)L{Q_ԯk|:}Z/liY3+f~h4g}&<,eϖfMry1}'|E aNp_}ݺv 1jh )֔ϭ&kk_* -EDeDRhe` HDOTQ!I,DKcx爨ٯydcsvi~^=#B s7x=]=qoVX[;E9ZPJbbD2_,(j.p߹hܽ4Cȇ,l6ۀ70{{l};'Ƿr۲t=Ǯd%a]kwˣ8! o*5$ZU*p%ϰgUS49T&C<}H}7ANw`NػvM;a<بs x< <&aNo~>!%/R\Ԁ@.0@暅طOGMYH[-Ζl۲QM-GllOڞMX_ZCV5`zpnh}ȺPCQkS7gZ?~dnSLziۛs3//ٯ _~C顒a$hjL&CHR=Ԓl!l8s@C k\D-vZ숵k#֦X]"o;ߙ9g98m0 6/ K0e-K0c-˽n 3v}v}ƿj@y,[1z^->,K6/ ==7l巛ܕoB`[qʎݹ=8NM/{R9T5cm= N,MGa8CNɄʧi-INu,yt&2в<6D*Pyq⣋/#۹@3-X,KڸIZ 6]],_Rv.+>' O 4x1BAڽ">ASYLWE-*c?5<8Xq7dYy8?blz+:Uq eEJ-)-RR^[\_tby}ʢ+T 7+QxCdǓI7vV.TRRqeV^YV8j,]سtu[Ut ܱc何;z{5Vvc,c3v\cw3|x'Oy_|IL|VI'^|Uhh 0 p:hYg~?H6K h:u"4ii!;_yyI_8Ay`OdgSa~5 TQD\Um4/'.뇭n1ƵK~޾B ;o.[YYY.*/z$$$($$.K!D`,&+尔 ŃJdɒ:t(diQ}9R@ηMi.3-J>ɩULn& *f>wOyRRg!e - gʕԒ e6dfY4ZXDsR eR#KhiRJง)9D-t>`E6mkg5ij[5$Q%6G:2E z"/%L ?M9phQl0ax⢖DVbPs$CwFHNjg=qvl8!`vՋ]A4od-f1/& 953eEIMH5ۢ% :UZDNƥjt9LVGP+ڥO CU*9UkJy$8'|[ɽ9-$;Lɶr@fKh~$HDe\A*LD%Ov6Lr-q.X" $R;-+exd ;A4vY%ʫ5Q ,2SqXFfvMKr黃Q-S;*Jyh<+ssb bsKJ#3W'!j4,R pY8y.0c+xsW&tķlZBo+,=qVXa*Ʒ3XG\u$ǹhiᖬ܋̵9 eu2N(N 9:DWF,l2 I!o.;W.f]ɠ"O곮 gmx+PY]y'*)ͼYؗpU!sWNe֑[9KI@nD;![X\<_%sEEvڲCdfG䬥x"J`G͜x]͋(yi}19MW Vf;LWq9͙7 Ndm fEtPY[]sS>o qRK+  ٵ;pM'{aN౎"u죫G5*ᾫz Mَyq2^Yn {{'z-mֺE+ sC5TڰEuZE OfEe .j. yu\n\B^}yu3"^QDf9).+Yr/r]<$7HlEȮ'SsN-Z[OeIΙۋ"|^924!ղP 9{M;֬Ws :Q[WԚEYgͫj"m8wm49Q9Λ{/KJp(raXYG"ѪnKGvC:m;w,mmyQVbl0G[$k#Qg3(7-N#XIF#XG<8pD8"jG5^e62hct9}ވ1 Fq5a`q{"UcN;5ƽqθ8C?!R= [nU8`_Qwpceuگ]7VkmbN_Amč1[ ;:i}=ndNDLܥˈL~\ .A|אu}R􋺭VU7+ګ:[INDC0In]"I{'ʠtLn46rݭ?ĩd)ک&JݩgU8U gLJ!RT cuT'jCT;iݩN+9ngRl2~IP^@ٻmKUl㻪x|I~U6EY--čPEn"&IroDI3Gd%bmc@c@7ۭ ;.[CopB<9\uw0 Svdi@#] MrB+2UjkeHĭZ ;_F"t"7ZF%ݽ,$V;ӪQ!|bHOzl;MAO#g@6yqf0clǭ9Zj[:VBIՑXb :VJ Z 3iv-BTk!KMO[1K:V4ml"go!'kwr޻4c;͕ }֋7ls^ܤl#!)zJ5٥!)u)+R&w-Ԩؔ䈔Ĕ)R3S>g~-SPrhGO=Xj^JojѣwSR))52fLif yl9>7ۣ7ilq ,w׿X?___o6u]oV˼@yzʭ4+h>[NQq†Q(c$J3=$סo3(?ZWa4;<٧ƽbmZjoB s3ִqsqd]ĩ;Czؚ3 ֠bh7ɵ_oh1dk4"H;މBI* VV9hb; vZ6I % vZ$"U&[5W_'|ɃnI+m}o-&w*io[P~l`+N$jL} Z{iXuMǪ!|EL~FvT5? =BIF2E4]7DE+|u5_/w'ݏz 4>7sIu'Ӥa+rFu/??t,8}EJhkiբڱ/Q8=%%.NozʠW7:ƯCŔ88q^)ѕAwmcJ1n?&\(')z6}VZne©^o^™yZ-<s>äK%I7C^+HN 1gNؕp%v8aoµyJx=1{%܉1M%'m^vȼyc1zÉ!LG%!E;hk)qAI\F,rJSdL4hD[Q$&${ -KjJdt;VgN&le\wјq;I8i;w1n0ns)FPѸ1=7ɽ~'qxZ)E2GN'mB>H ߍXaqCȸAKʠ8Jt]&*c}]svzDoz6of2Uo[ {k Ow!zw 1>&ow{L3L!$&尔 "[CᏐG]&CI3 3UN,vGGqSKҺN~G~F~$$r@|BEoіjk翲 W8F{՟O3}/_sk|qz|JO_[oDG*m[}K;|}|}kȮw6{|[HVoUOzNi9oeylY[Ay{|q37G{˟6Noq= Ne_7>u\ җ1bߕ&j kvjš5UZ@WAŵn,i(:[m446a)2\+]UMqfUFLɯ&R7Pڙ`Cgߜ}g;>g5Rt)3OucVnUef1܌YYnr.2MԖ-a٤dAKn=+1˜rܦYN6b)"tzhzt?:vqz<CB86iY2sg95UUeɗ.hDF\)$SS:KcԹ9:fmd~Y11ܦm1k)dVfˊ̇2!BTṞEpĬ+߅ylggvu=;۵ss9ypO*π/z=ClfgΦpG>d i6Y},Re : Pd(]ߠnהr=*i+=aH2nr}d<$W''sS x"gnpjRijqUyBF4&dXK?(SXi: I^x;dz:WiQ"+tf~Id}#na:R8'NuZx>#3Mh5:H2+!3 8Lq,C>y_/1(|b5,C_XadOpq?lGƱor/ AƑOVXw"|#o>`:+H%,w,#3oV9f4S26Fp"ˁv^r=]~Џv<'R#0S.n%1 hL4n3/r=\eNJA1.!8;#  m "P{NݨU#m{LAԌ0:'PF(1_q(-;e@^ɦܑt8h,a1c-wF Jb*(B1п'p/F2[5rI\^e(k{TK @|M償SU2(U.&E< ՛ʇX{ A¥|LHt[?'P( G3s[ *#п\ ~>YzZ~Ϩky97 #Hc*EZF/aTg!!U?::HدB9vQHVl_8@wCOt~}-2< !y7r?'m4Ѥp?Tj-(-hA_3HCN~ ~V:E=_ <\!H3!CY: <`Z9)@/!|$qHяI6V1}B2^B.!u wB }FOc !ɿr?Z=OjLr%jz2(q2 +cVt3a$.c׌>cvuˊQU!|~yĉJ;GtPXle#r8mVgAwsX(#.%ab!]kfQ{=m 053*da#2k\F&΀̟"|Uj!Ar@HOx 53'vw@)-3Pa*@t89^ Y=tycͦڈTt;\3s5 ӡe8D.1HScEL\ 4 S?oI0JEiAKLwPQ7:WX{(q -+&?FհrV:CAX)Utݢ9TA+Lh 0@):AP:j\ 攘5 $ًn{fIQ?9k@ҥ)|d? D%YA)|U}z: ,Bx =JA+2Q(J,:\5®G}2~!Vt:f|}ucec=S+m@V ¬^bEZGa ]U db.SA 4io?n 0kORvZ~:Ǫ~: k~=`&0 ̵!Xcҏuwpw4x?O fdO6 -d?FՉ7>,hcYv*TDY‡_{N_gxzgQכ-b<,b?Yu1S\1f!OJLHmo'mc>-k \gnQq`s[ /C}ӫR$tcI>*,5O}9Y\ lnXC&` ȚFF ;G 1ݭBs@ } N}*y޷ӄǬgtk0bLJ?5>@ ֋&"NOt}/J:GHͣiiQۤm:֥zW/2\O&T!d5r\!=vhFƘ:{dԘDm]ߡTCj:kR}rW45 w $EYOҙ뙃HuuV*b&3tw{m4zN9uslNϜ3sytOgSitxx{ynFFFgFWE+hbX o,mO7`^?hVRnZcUZҎL6 r .XuGY0.]M;7S}aS/X-Fwlz2>nՖ;l"#rݖ3i3UB+_KWaB:e)xy5RIC:O>n+c*BH{5zR jEa/#9i8[HwG!Ohcf챉'pH2 c6˰@9)ڍkCJA2jk[cu?DrGy8 [ITyeߓrIiMU)a DQNU3B/wSS%❸<<͉4Eo17rؿo?XqYo٤C}$8w4^-O!_+h}ZEyck7f _;"iHQ(!nV [s*FTJTI*YjڬUڢTڪڥ}iNuHuQONuVWeu5u]P76g O9BIFaO73>e|Ys?3 y 4de+Woc|`G1׌?3Ko3`shԝ\ɾ﫻 EQdb\#fDq1a@ 1gT +FT(9bBW1cΊaWW]V>w;缷sEM}gzz*[I HRRiE*'*H%S*Ru^$uz)EbtQ)~J UF*c J2UV) JRYlT*;ʏar\7 H}>S_o_Տ'iNVVs*im@[-R5mCۣ57h VoG<-pE64QA^<8xDbG'ID^*D3 bsx Gҹ$?]@t os2bOSx ځkH!#toSx2Eނ+F=8=2N=DJc)IOS=Kgz^$gR^mz&[Cҧ))Oֽ}I_ 5oӹ7_l &L҃UbHeēYx¼7b̗x3O|X AXmV>F$5cHÛI5֚&Y[֖`a,d]XRu߰^~,Ez,E,Ől0LP64dp҈d#Ic6&MX64e,4cҜű8&ɤʦ`6M#-t6bly5[oRdLڰl%i6ʶl'I:l/ c?IGv$avtfGQ҅IRY*. $]fI7Iwv$=X =bOқ`/H2I_'Gg_2@O\#%d"Q,;IT-򓁒@yJALKe2dTV*KJ+&Ind.R%)U*Qyn+1OJդjdTCAbZR-2^j'#RG2Q ISI&)dRT)J(%dA@W:+4%B JO'UJIf*d2DBf+#d2FCx2WL$)2_WI2KE(sd@Y@)K%dLYF()J YQ֐ lQeeIV({rrP)HrD9BV*ǔcdzIDVWիdzCA֪w;dzWK֫ՇdX}L6OէdR}I6o7d ٪~P?moodYLv d4Fvk-٣׊Z)٧h.dV^+OhGS$?i Z9%j䐶X[LkIZ9Vjm59֓fm39m׶nm79~m?9cnmnMRYssrܙ7G#swswr uB}{:Φt1M+jAzi:I3^SV}걆) a-Xցuf'fl[–5l |;γK*1{^wO$쥢&u)%NJWGD+he2M$(b%IYV+nerP9^Q 5S}LZI檹k5omHA[im.ss'sW~$c1@1@)o,/60 v00a|0x~ ^`B0# ^/ap'X].#;ȥa20 \F.#ad7#W+pee^7,K’~?X~ c &X ~~ ?ցc1~l?6ÌM`Ʀ8#k5ł`X0jgYoP8 jg:SaTGx<OS]x<OzS>pS_VEDQ0wO43}>a!Pg3}F>a1Xg }&>a8f,3NfҴ@=}G|@UtEџz%zޠw}XϦV)~ϪZ. dMX+BY{։ue=X6%D%#jmg~K;Ns,]amv=b+>,UhiTDfuyY`iJqtWz+A0e2I^Q+*eI٦R)?)'ԟk-\}CF5MJhrZCi ZR[mԶj;͡pnL%oJ7gu:.NYX 딇u` ;S֩x:aOXx:ް|?=UqV Հj@`o`0P. T5a0P#1 j 5Zsx(jC-V8 YVk8[8)Nj30S;=f :L`0S)f 3EL`0S' f 3L`0)fa0S 4f 3 L`0i$4 f 3L`Xi<4f3L`0i*=4 fL3`0~GI-xkvKrϴztH8{2(z2L[ψ}i#z[[k_IWg ݖߛsO"ŢaJ 'Y,qĘn2%HmH_<@dӥq<-)&"SS/M#H'gbOX,1K%`f,1?(w\LnnPnnpNNmkߒV#[5_@$n|/ĸGGS>?ަ-o:1+|r_ Q3D M_lR|܇xj_ E;`gko,gk[ܱ1V$Yӵ?q^#$t%}x CHsSLG[]ԨڤϷ˨MۘBHJymb+UH=K_u ۅB1\|XH5 -'K P{_7#qB?@ȜZ mkU+!@9Vy_pq'y>󯂈EN<‘^l(9W/"9T=ded4qk]s gtgYnU͹#ucFߣ0]_s?B*F}iRNz>39D)Δdklzd(6`?tVR%W^KMW66m: mM'A,7#yf4YElmkv9'v]] vKvۥٽP$YM(derETԲj-NSW{ͬiu0m6S[nḱ͕.f}j^mPϟ"}KLn 3@f0 3Af,Y d6l2dIII0 sA|h @,0E @HHH,Y@AA d9rd III1 +AV*U d5jd Y dY@փYo @6l0 A6&M d3fd  dl@ln ;@v0 ;Av.] d7nd d@o @0 A# G (Qr 19r丁9r@N9i @N2 ANY g 9srJ{HI D쵵 p$Upw>E?:$Z{pc8Sr%/\DKKLܥϹ+y>*>a2s_u-7w=7w#7w32narq;UwrsY#5*ߥKo*{ּ֭,q>w4qowA۪S2s%8O^]r %Q`w{_Dz/AO]VV^RȿO8-~d 7}wJ rFb|/"H0Ӈ cqs޲nB?nJPBP/;s$p KT<,[#_z-!Zn(O'Uh `揺B' 3&41i$!{n}[ȏx_Yk̮e(y23C>y9e$O jv^֋Q?_;Yyfį b{ o|Z<ҝ=1R =hyǣm-K?|OqmeƑj7?z=&k.;{Z-z9M=RGԣ1zB=ROgvO@F||[\Q7=7~FH?<H*HU= w!D+HLt}}GnZ7H'h${^m</+\rIs?՛i|8zǰ|+Wf 埮SV*Dlm,KILwsAΩD$/8V=S8ˉǓ}{cwǒb'p][ld(&؈Iբ x)[U4S#pɮ$*`J TS\rJH^5γ0A7|U_fo8$)P%tK%QQE{mpiY.*`6Gݐ?b~Ponk5kW vm:lJo56D.֠/wһ<"zUjS˸?Drw^4Ktە{S?G8֪[ô/^XŵSIV+`歧~/]{xT+ůjAg <9ݱpJeG=ڕZ_ ˼&J(}Y(??!T;JT?\p4翸ba|*;Ng5z.H)TAgp=#srӱV|^/qz,{Cvt5y^(:=ev)oOOiߺ`of}`{:Em^:f_/Vn9Ӱ }8|6RV-@ W(Nېξ G<9!m~>|½$,IJw+ q-5\gv9o+u:RὊZ  ms ezUd$Q{\gPL1 3%۫7wSoӳ`[ۅt.u W3o͚?Nvy&yA.?G~m즜}f͛ƧE m^ΒAϯXq7xTX6p5ت聡o '^/_-akȓk <_FCR /?S`FhCm;K9ķH{K> Y(^j]V%LY JMBa7LԗEKSMR}W=,Es_ Ԓv$ ͙ze]jv!s=Xa AR:q.Ѽj ZX# r+'rzԳ.KHƸnzY{>͞V7ͪ{\A:kKı;loq؎j=3]p3)=>)GCzo?j-fڴ۹uyR5v. q"iνo}YA'͈]E>:e\Z揰g(uXDhg{mEb_x9{s}_?tfx&. }ra"a;ߚSt7wzP1_Oؾh֢> G_|Qn3*!>x#=bR_zx>(J[jx%So}˗ ?vԴJwJM]}vw͘}6]vR;hsA/ nkiW{ַ.a v<'Vzu>2gSJog&o5^op_Rbކ#~u_v}V7\xw5]^<7"$GE_{`ʑXɆu{N[s nl?KU^xcџ?,΍FG\{-hܭ"Ae󽺸b 1m~n=PugoL ^'}8bMfSbRg|NZ}OJ_F<\N.lkJme9= w[`Z|J}@+}3sew,K>2ۓGL' j{?4"M(PB\5Imª k"M[ކVc% `v=eGtC毗p4,?3u䅉L[ey7>{9%?YRޫ!_鍵#Rz @·qAc/waD'&ʵb ,]S]X/uȔDu݁a-0p ݗ[֖>W˸Q0:Gx};-MtOA8`*GG̒y(ضfwŧ o=zч`ѻ'=yޛu)[_NRQ*ϓzۗU4uB9G^%؋V.eWvW[Jp}kqST}%H1ь\"|nj3-bmg^-ʷ$4/iV.tV.Wq7?v%+JLw-TR+ )rsٳy7T*65H{$'ub/w8sQJ|ԫ͜{*oz 2lۘe۹,qKBeWe='ΕmJa]ٿӭN%oafʆ7/V*usRp =o9xY<|gL=yYޫj;sWz_BŲO /k,˙ m؇M klȃ/L=h5(?˞#hk%]\lsN,Mk?{o32H"oPoNJ8!;!uSŪ>?jYC)XMUS%;Y.&hNq̰n׬c.=?JھQnޙ{+6,( |Ωqxq!Ws;Mk51!L3ƪpƕgWMM2*#WZ7LJ<~(欙^9~Ku{Wmy;aȩ endstream endobj 429 0 obj [ 667 0 0 722 0 0 0 0 389 0 0 611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 0 0 0 278 0 0 278 0 556 500 0 0 0 0 278] endobj 430 0 obj <<4AC7A1E1624C664D89DB70A633DE2C79>] /Filter/FlateDecode/Length 955>> stream x5wUcm*J45PQ!hH4vR22*կ2RhPFFrϓd_Gl&SDN*(#QfZD&Q=%*VADʋ5:a܏ !8L$LLx(x$f`&2\xs sxsa>`!E c U,k:7_Xxoa%;Xxka-|ϰc̛W؂؆[|;~. vc~o`/_rOb]r1S7C7C7C7C7C0C)C)C>C0CZC7C7C7C7C7C7C7C7C7C7C7C7C7C7S83333333333333333333333!T4T4rϐϐϐϐϐϐϐϐϐϐϐϐϐϐϐS7C7C7MvIUwNZK Bs7%uO_X8"v&zLH$z-n%ie\tIJMO3!bI< endstream endobj xref 0 431 0000000064 65535 f 0000000017 00000 n 0000000125 00000 n 0000000259 00000 n 0000000524 00000 n 0000004073 00000 n 0000004252 00000 n 0000004495 00000 n 0000004669 00000 n 0000004907 00000 n 0000005067 00000 n 0000005205 00000 n 0000005235 00000 n 0000005401 00000 n 0000005475 00000 n 0000005732 00000 n 0000006068 00000 n 0000009309 00000 n 0000009363 00000 n 0000009417 00000 n 0000009600 00000 n 0000009850 00000 n 0000009993 00000 n 0000010023 00000 n 0000010194 00000 n 0000010268 00000 n 0000010530 00000 n 0000032338 00000 n 0000032629 00000 n 0000037501 00000 n 0000037683 00000 n 0000037933 00000 n 0000038109 00000 n 0000038354 00000 n 0000038498 00000 n 0000038528 00000 n 0000038700 00000 n 0000038774 00000 n 0000039024 00000 n 0000039275 00000 n 0000042734 00000 n 0000042985 00000 n 0000045560 00000 n 0000045821 00000 n 0000049429 00000 n 0000049710 00000 n 0000053704 00000 n 0000053849 00000 n 0000053879 00000 n 0000054052 00000 n 0000054126 00000 n 0000054394 00000 n 0000054666 00000 n 0000057723 00000 n 0000057911 00000 n 0000058165 00000 n 0000058436 00000 n 0000061958 00000 n 0000062221 00000 n 0000065586 00000 n 0000065858 00000 n 0000070235 00000 n 0000070517 00000 n 0000072056 00000 n 0000000065 65535 f 0000000066 65535 f 0000000067 65535 f 0000000068 65535 f 0000000069 65535 f 0000000070 65535 f 0000000071 65535 f 0000000072 65535 f 0000000073 65535 f 0000000074 65535 f 0000000075 65535 f 0000000076 65535 f 0000000077 65535 f 0000000078 65535 f 0000000079 65535 f 0000000080 65535 f 0000000081 65535 f 0000000082 65535 f 0000000083 65535 f 0000000084 65535 f 0000000085 65535 f 0000000086 65535 f 0000000087 65535 f 0000000088 65535 f 0000000089 65535 f 0000000090 65535 f 0000000091 65535 f 0000000092 65535 f 0000000093 65535 f 0000000094 65535 f 0000000095 65535 f 0000000096 65535 f 0000000097 65535 f 0000000098 65535 f 0000000099 65535 f 0000000100 65535 f 0000000101 65535 f 0000000102 65535 f 0000000103 65535 f 0000000104 65535 f 0000000105 65535 f 0000000106 65535 f 0000000107 65535 f 0000000108 65535 f 0000000109 65535 f 0000000110 65535 f 0000000111 65535 f 0000000112 65535 f 0000000113 65535 f 0000000114 65535 f 0000000115 65535 f 0000000116 65535 f 0000000117 65535 f 0000000118 65535 f 0000000119 65535 f 0000000120 65535 f 0000000121 65535 f 0000000122 65535 f 0000000123 65535 f 0000000124 65535 f 0000000125 65535 f 0000000126 65535 f 0000000127 65535 f 0000000128 65535 f 0000000129 65535 f 0000000130 65535 f 0000000131 65535 f 0000000132 65535 f 0000000133 65535 f 0000000134 65535 f 0000000135 65535 f 0000000136 65535 f 0000000137 65535 f 0000000138 65535 f 0000000139 65535 f 0000000140 65535 f 0000000141 65535 f 0000000142 65535 f 0000000143 65535 f 0000000144 65535 f 0000000145 65535 f 0000000146 65535 f 0000000147 65535 f 0000000148 65535 f 0000000149 65535 f 0000000150 65535 f 0000000151 65535 f 0000000152 65535 f 0000000153 65535 f 0000000154 65535 f 0000000155 65535 f 0000000156 65535 f 0000000157 65535 f 0000000158 65535 f 0000000159 65535 f 0000000160 65535 f 0000000161 65535 f 0000000162 65535 f 0000000163 65535 f 0000000164 65535 f 0000000165 65535 f 0000000166 65535 f 0000000167 65535 f 0000000168 65535 f 0000000169 65535 f 0000000170 65535 f 0000000171 65535 f 0000000172 65535 f 0000000173 65535 f 0000000174 65535 f 0000000175 65535 f 0000000176 65535 f 0000000177 65535 f 0000000178 65535 f 0000000179 65535 f 0000000180 65535 f 0000000181 65535 f 0000000182 65535 f 0000000183 65535 f 0000000184 65535 f 0000000185 65535 f 0000000186 65535 f 0000000187 65535 f 0000000188 65535 f 0000000189 65535 f 0000000190 65535 f 0000000191 65535 f 0000000192 65535 f 0000000193 65535 f 0000000194 65535 f 0000000195 65535 f 0000000196 65535 f 0000000197 65535 f 0000000198 65535 f 0000000199 65535 f 0000000200 65535 f 0000000201 65535 f 0000000202 65535 f 0000000203 65535 f 0000000204 65535 f 0000000205 65535 f 0000000206 65535 f 0000000207 65535 f 0000000208 65535 f 0000000209 65535 f 0000000210 65535 f 0000000211 65535 f 0000000212 65535 f 0000000213 65535 f 0000000214 65535 f 0000000215 65535 f 0000000216 65535 f 0000000217 65535 f 0000000218 65535 f 0000000219 65535 f 0000000220 65535 f 0000000221 65535 f 0000000222 65535 f 0000000223 65535 f 0000000224 65535 f 0000000225 65535 f 0000000226 65535 f 0000000227 65535 f 0000000228 65535 f 0000000229 65535 f 0000000230 65535 f 0000000231 65535 f 0000000232 65535 f 0000000233 65535 f 0000000234 65535 f 0000000235 65535 f 0000000236 65535 f 0000000237 65535 f 0000000238 65535 f 0000000239 65535 f 0000000240 65535 f 0000000241 65535 f 0000000242 65535 f 0000000243 65535 f 0000000244 65535 f 0000000245 65535 f 0000000246 65535 f 0000000247 65535 f 0000000248 65535 f 0000000249 65535 f 0000000250 65535 f 0000000251 65535 f 0000000252 65535 f 0000000253 65535 f 0000000254 65535 f 0000000255 65535 f 0000000256 65535 f 0000000257 65535 f 0000000258 65535 f 0000000259 65535 f 0000000260 65535 f 0000000261 65535 f 0000000262 65535 f 0000000263 65535 f 0000000264 65535 f 0000000265 65535 f 0000000266 65535 f 0000000267 65535 f 0000000268 65535 f 0000000269 65535 f 0000000270 65535 f 0000000271 65535 f 0000000272 65535 f 0000000273 65535 f 0000000274 65535 f 0000000275 65535 f 0000000276 65535 f 0000000277 65535 f 0000000278 65535 f 0000000279 65535 f 0000000280 65535 f 0000000281 65535 f 0000000282 65535 f 0000000283 65535 f 0000000284 65535 f 0000000285 65535 f 0000000286 65535 f 0000000287 65535 f 0000000288 65535 f 0000000289 65535 f 0000000290 65535 f 0000000291 65535 f 0000000292 65535 f 0000000293 65535 f 0000000294 65535 f 0000000295 65535 f 0000000296 65535 f 0000000297 65535 f 0000000298 65535 f 0000000299 65535 f 0000000300 65535 f 0000000301 65535 f 0000000302 65535 f 0000000303 65535 f 0000000304 65535 f 0000000305 65535 f 0000000306 65535 f 0000000307 65535 f 0000000308 65535 f 0000000309 65535 f 0000000310 65535 f 0000000311 65535 f 0000000312 65535 f 0000000313 65535 f 0000000314 65535 f 0000000315 65535 f 0000000316 65535 f 0000000317 65535 f 0000000318 65535 f 0000000319 65535 f 0000000320 65535 f 0000000321 65535 f 0000000322 65535 f 0000000323 65535 f 0000000324 65535 f 0000000325 65535 f 0000000326 65535 f 0000000327 65535 f 0000000328 65535 f 0000000329 65535 f 0000000330 65535 f 0000000331 65535 f 0000000332 65535 f 0000000333 65535 f 0000000334 65535 f 0000000335 65535 f 0000000336 65535 f 0000000337 65535 f 0000000338 65535 f 0000000339 65535 f 0000000340 65535 f 0000000341 65535 f 0000000342 65535 f 0000000343 65535 f 0000000344 65535 f 0000000345 65535 f 0000000346 65535 f 0000000347 65535 f 0000000348 65535 f 0000000349 65535 f 0000000350 65535 f 0000000351 65535 f 0000000352 65535 f 0000000353 65535 f 0000000354 65535 f 0000000355 65535 f 0000000356 65535 f 0000000357 65535 f 0000000358 65535 f 0000000359 65535 f 0000000360 65535 f 0000000361 65535 f 0000000362 65535 f 0000000363 65535 f 0000000364 65535 f 0000000365 65535 f 0000000366 65535 f 0000000367 65535 f 0000000368 65535 f 0000000369 65535 f 0000000370 65535 f 0000000371 65535 f 0000000372 65535 f 0000000373 65535 f 0000000374 65535 f 0000000375 65535 f 0000000376 65535 f 0000000377 65535 f 0000000378 65535 f 0000000379 65535 f 0000000380 65535 f 0000000381 65535 f 0000000382 65535 f 0000000383 65535 f 0000000384 65535 f 0000000385 65535 f 0000000386 65535 f 0000000387 65535 f 0000000388 65535 f 0000000389 65535 f 0000000390 65535 f 0000000391 65535 f 0000000392 65535 f 0000000393 65535 f 0000000394 65535 f 0000000395 65535 f 0000000396 65535 f 0000000397 65535 f 0000000398 65535 f 0000000399 65535 f 0000000400 65535 f 0000000401 65535 f 0000000402 65535 f 0000000403 65535 f 0000000404 65535 f 0000000405 65535 f 0000000406 65535 f 0000000407 65535 f 0000000408 65535 f 0000000409 65535 f 0000000410 65535 f 0000000000 65535 f 0000076201 00000 n 0000076662 00000 n 0000175836 00000 n 0000176230 00000 n 0000176581 00000 n 0000177026 00000 n 0000288235 00000 n 0000288660 00000 n 0000289024 00000 n 0000289425 00000 n 0000375141 00000 n 0000375476 00000 n 0000375770 00000 n 0000376131 00000 n 0000434588 00000 n 0000434952 00000 n 0000435258 00000 n 0000435410 00000 n 0000476757 00000 n 0000476905 00000 n trailer <<4AC7A1E1624C664D89DB70A633DE2C79>] >> startxref 478063 %%EOF xref 0 0 trailer <<4AC7A1E1624C664D89DB70A633DE2C79>] /Prev 478063/XRefStm 476905>> startxref 486843 %%EOFwl2k-go-0.9.0/docs/winmor/000077500000000000000000000000001414214701500152445ustar00rootroot00000000000000wl2k-go-0.9.0/docs/winmor/SPEC for WINMOR TNC.doc000066400000000000000000004710001414214701500206370ustar00rootroot00000000000000ࡱ> 46123g UbjbjVV %r<r<M""""l"(8LffffQ(S(S(S(S(S(S($ *,w(Su@SSw(ff("""SffQ("SQ("":%_ &f^z% =((0(% N-s\N- &N- &45"G#0w(w(!(SSSSN- :  SPEC for WINMOR TNC Rick Muething, KN6KB and Vic Poor, W5SMM Rev 1.3.0.4 Mar 1, 2011 (Corresponds to TNC version 1.3.1.0) Please send questions, comments or suggestions to  HYPERLINK "mailto:rmuething@cfl.rr.com" mailto:rmuething@cfl.rr.com 1.0 Scope This is the interface specification for those wishing to use the WINMOR TNC in host applications. 2.0 Program Name and Purpose The program name is WINMOR TNC.exe and will be compiled as a stand alone .NET 3.5 Windows application. It will contain any necessary DLLs in its distribution zip file. It is compiled in x86 mode for use in both 32 and 64 bit Windows OS from Windows XP upward. The program along with a standard PC sound card implements a virtual TNC and the bit level WINMOR protocol. The WINMOR TNC is not intended to be used as a stand alone program or for keyboard operation but as a helper application to a Host program. 3.0 Initialization The program uses an initialization file WINMOR TNC.ini that resides in the execution directory. That file contains the minimum information to allow the program to start automatically (e.g. from Windows startup or by a startup call without parameters from another Host application). This includes: Initial WINDOW locator (Top, Left) (default 100,100) TCP IP Control Port number for Command (default = 8500) Data Port is always next sequential port. TCP Address The address (dotted or friendly) to use for the TCP connection (default = 127.0.0.1) Station Call sign (optional, default empty) Station Grid Square (optional, default empty) Call sign specific Registration key (default empty, not registered) Flag to select start minimized (default not minimized) Flag to enable debug logging (default false) Response Delay = minimum response delay in ms (default = 100) Squelch value 1-10 (default = 5) Leader extension in symbols (0-24 default= 0) (The Response Delay and Leader Extension are for experimentation and should normally not be changed.) The ini file may be edited using the Basic setup menu on the WINMOR TNC form. An example WINMOR TNC ini file is shown in appendix C. Minimum Configuration To operate (listen for a TCP connection from the host program) the WINMOR TNC needs the following minimum configuration. The default values are shown but can be changed either by modifying the ini file or by starting the program WINMOR TNC and using the Help, Basic setup menu. TCP Address : This is the TCP address used to listen for the Control Port. It defaults on startup to 127.0.0.1 (local loop back) and this is normally sufficient for most applications. The address may be reset to a specific dotted address or to default which will pick the current default TCP adaptor. This may be useful in multi homed applications using a LAN. TCP IP Control port. This defaults to 8500 but may be reset to any value 0-65534. This port and the next sequential port are used by the program. The TCP Address and Port # in the INI file may be over ridden by starting the WINMOR TNC with a command line. The proper syntax for the optional command line is: WINMOR TNC.exe e.g. WINMOR TNC.exe 127.0.0.1 8500 If the command line parameters do not have the proper syntax the default values in the ini file will be used and an exception log entry made echoing back the command line parameter. 4.0 WINMOR TNC User Interface The only user interface is the WINMOR TNC virtual panel that may be made visible or hidden by the host application. The user can relocate the panel (position saved) if it is displayed. A Help button/menu on the virtual panel will bring up options to select a Help file specific to the WINMOR TNC. The Help explains the various indicators of the virtual panel. On the Help drop down list are menu calls for about, registration, basic setup, and close.  Fig 4-1 WINMOR TNC Virtual Panel 5.0 Control Interface The control interface is via TCPIP ASCII commands sent to the TCPIP control port set up in the .ini file. All commands are plain (readable) text, not case sensitive and terminated with a . No command may include a or space as part of a command. The DISCONNECT command will be responded to with an echo of the command as received which will be terminated with a . If a command contains errors in the command or optional parameters it will be answered by a fault description. FAULT Commands that do not include parameters will cause a echo back of the current parameters. Upon a connect request to the TCP Control port at the TCP Address in the .ini file and the TCP Control port has no current connections the connect request will be accepted and the following response issued: "CMD. The data port (TCP Control Port # + 1) will then be enabled. It is not necessary to connect to the data port until actual binary data is to be transferred After completing execution of a command the TNC will respond with: CMD indicating it is available for the next command. Commands must be sequenced using this CMD response. Note some commands can take up to 3 seconds to execute (e.g. SPEEDTEST). If debug logging is enabled and Enable Command Trace is checked on the basic setup menu each command will be logged as received and each response will be logged as sent. This is helpful in debugging the host application interface. The following is the current list of commands with Explanation. What is between the < > are the options separated by | or the response given in the return AUTOBREAK Disables/enables automatic link turnover (BREAK) by IRS when IRS has outbound data pending and receives an IDLE frame from ISS indicating its outbound queue is empty. Default is True. BREAK Initiates a BREAK (link turnover request to ISS) if in IRS or IRS Mode Shift state otherwise no effect. Forces ISS to clear its outbound queue and acknowledge. Normally not required if AUTOBREAK is enabled. BUFFERS Gets the current buffers and current 1 minute average throughput. Reply format is: BUFFERS < 1 minute avg throughput in bytes/minute> Values are all integers and space delimited. BUFFERS is also sent asynchronously whenever there is a change in any of the BUFFER parameters. BUSY Returns channel status. (BUSY TRUE = channel busy or BUSY FALSE = channel clear. Busy status also reported asynchronously on a busy status change (see below) BUSYLOCK Disable/Enable Busy channel blocking. Busy lock will block a connection request unless there have been Tquiet ms of non busy status preceding the connect request. (See appendix B) Default = False BW <500|1600> Set/gets bandwidth 500 Hz or 1600 Hz (setting applies to server (inbound) connects only). Attempting to change bandwidth while a connection is in process will generate a FAULT. If not connected will return a bandwidth of 0. CAPTURE Sets desired sound card capture device If no device name will reply with the current assigned capture device. CAPTUREDEVICES Returns a comma delimited list of all currently installed capture devices. CLOSE Provides an orderly shutdown of all connections, release of all sound card resources and closes the WINMOR TNC program. CODEC Start the Codec with True, Stop with False. No parameter will return Codec state. CONNECT Initiates connect request cycle to Normal response is CONNECT IN PROCESS. Failure response is FAULT Connect Failure CWID Disable/Enable the CWID option. DEBUGLOG Enable Debug log with True DIRTYDISCONNECT Initiates an immediate disconnect and return to the DISCONNECTED state. Normally should not be used or required. Works in both Connected and FEC modes. DISCONNECT Initiates a normal disconnect cycle. Can also be used to prematurely end a FEC broadcast. May take up to 15 seconds to complete. DRIVELEVEL <0-100> Set Drive level. Default = 100 (max) FECRCV Disable/Enable FEC (unproto) Receive mode. FECSEND Start/Stop FEC broadcast (unproto) mode for 500 Hz or 1600 Hz. Must be in DISCONNECTED, FEC500 or FEC1600 states or will generate a fault. FECSEND will prematurely end a FEC broadcast and send an ID frame. GRIDSQUARE <6 character grid square> Sets or retrieves the 6 character grid square (used in ID Frames) ISREGISTERED Returns True if MYC call sign matches the Registration key in the .ini file otherwise False. LEADEREXT Get/Set optional leader extension. Normally not required but may be used for some experimental work such as repeaters. Range is 0-24 default value is 0. Each symbol increment extends leader 10.666 ms LISTEN Enables/disables servers response to an ARQ connect request. Default = True MAXCONREQ Get/Set the limit of connect request cycles (3-15). Default limit = 5 (about 20 seconds) An ID frame with optional CW ID is sent following the last Connect Request. MODE Gets current data mode. < FSK4_2CarShort|FSK4_2Car|FSK4_8Car| PSK4_2Car|PSK4_8Car|PSK8_2Car|PSK8_8Car| PSK16_2Car|PSK16_8Car> MODE is also sent asynchronoulsy upon any MODE change. MYAUX Sets up to 10 auxiliary call signs that will answer connect requests. Call signs must be valid radio call signs and separated by commas. If sent with an illegal call sign (e.g. MYAUX x it will clear the MYAUX list. If sent without a parameter will return a comma delimitate string of current MYAUX call signs. MYC Sets current call sign. Codec must be not running (CODEC FALSE) If not a valid call sign or Codec is running generates a FAULT. OUTQUEUED <0> If sent with the parameter 0 (zero) it will clear the output QUEUE. If sent without a parameter will return the current number of outbound bytes queued. OVER If in IRS or IRS mode Shift states initiates a BREAK. IF In ISS or ISS mode shift states clears the outbound Queue. Then ISS repeats an OVER Command until a BREAK is received from IRS. Not normally used or required if AUTOBREAK is enabled. PLAYBACK Sets desired sound card playback device. If no device name will reply with the current assigned playback device. PLAYBACKDEVICES Returns a comma delimited list of all currently installed playback devices. PORTS (Read only). Returns string of available serial ports. PROCESSID Returns the current process ID (integer) for this instance RESPONSEDLY <0-2000> Sets or returns the minimum response delay in ms. Normal default is 100 and should only be adjusted if necessary to accommodate passing through repeaters etc. ROBUST If true will only use modes < FSK4_2CarShort|FSK4_2Car|PSK4_2Car> regardless of current data mode BW settings above. If in the ISS or ISSMODESHIFT states changes in ROBUST will be delayed until the outbound queue is empty. SAVEREGISTRATION If registration key is correct for My Call sign this command will save the registration key and the My call sign in the WINMOR TNC ini file. Note: Use with caution this will update the ini file of the WINMOR TNC. SENDID This will send an ID frame and if CWID above is enabled also a CW ID after delay seconds. Delay must be an integer in the range 0 15. Only may be sent when in the DISCONNECTED state. If SENDID is received while in any state other than the DISCONNECTED state a FAULT response will be returned. Normally the WINMOR TNC automatically takes care of ID at the session end and at 10 minute intervals during the session. SHOW Show (True) or Hide (False) the TNC form SPEEDTEST Returns the integer results of the CPU DSP speed test (requires approx 3 seconds to execute). Values less than 100 may have difficulty or sluggish performance. SQUELCH <1-10> Returns or sets the current squelch value (default = 5). The default value should be sufficient for most installations. Squelch only affects the sensitivity of the busy detector (low values = higher sensitivity) STATE Gets the current WINMOR protocol state See Appendix A for state diagram. Every State change is also reported asynchronously with the NEWSTATE reply below. SUFFIX This sets the optional CW ID suffix. It is sent after the normal CW ID for MYC with a separating slash e.g. DE W4ABC/XE2 if the / is omitted it will be inserted automatically. TWOTONETEST Send 4 second two-tone burst VERSION Returns the version of the WINMOR TNC program. VOX Disable/Enable VOX leader extension (128 ms) Default = True 6.0 Asynchronous Responses The WINMOR TNC codec will respond on the command port with possible asynchronous responses. All asynchronous responses terminate in This is the list of the current responses: BLOCKED Connect request blocked due to busy channel BUFFERS Reply format is: BUFFERS < 1 minute avg throughput> Values are all integers and space delimited. BUFFERS may also be polled using the BUFFERS command with no parameters. BUSY FALSE Clear channel detected BUSY TRUE Busy channel detected CONNECTED A connection has been established. contains the connected call sign. This immediately follows the TARGET asynchronous response DISCONNECTED An existing link has been disconnected or a pending connect was not for this call sign or not decoded. FAULT A command or program fault or error condition. MODE MODE may also be polled using the MODE command without parameters. MONCALL Non connected monitor data includes call sign and optional grid square in parenthesis NEWSTATE Reports change of WINMOR Protocol state See Appendix A for state diagram. The current state may also be polled using the STATE command without parameters. OFFSET Indicates the remote station offset. Positive values indicate the remote station is higher in frequency. Reported on every decoded frame but only updated when connected. PTT Indicates to the host application to key the PTT on (PTT True) or off (PTT False) To operate correctly the transmitter PTT should be activated within 50 ms of receipt of this response. TARGET Identifies the target call sign of the connect request. The target call will be either MYC or one of the MYAUX call signs. This command immediately precedes the CONNECTED asynchronous response. 7.0 Data transfer: Connected data is always transferred on the Data port using binary byte transfers with no headers, delimiters or framing information. FEC received Data is transferred as received and corrected. If FEC data correction is not possible the data will be sent as received with a STX marking the beginning of the block containing errors and ETX marking the End of the block with errors. Data is supplied to the application via an asynchronous TCP IP port which is enabled and kept alive while the control TCP port is logged in. The Data port (the next sequential port from the control port) will only be enabled after a successful control port login. 8.0 Multiple Instances The WINMOR TNC program may operate with multiple instances providing: 1) The instances reside in separate directories and do not share any common files. 2) The instances do not share computer resources like sound cards. 3) The instances are set up with their .ini files to use different TCPIP port numbers. 4) The CPU provides enough RAM and speed resources to operate the multiple instances. 9.0 Registration: The WINMOR TNC is fully functional whether registered or not and has no expiration time or demo period. Registration is for one specific call sign. The same registration key can be use for the base call sign and any ssid (1-15) of the base call sign. The call sign specific 128 bit registration key is saved in plain text (not obscured or encrypted) in the .ini file and can be used on or ported to other computers without restriction. Registration can be done on-line (link provided in WINMOR TNC Help) to the Amateur Radio Safety Foundation Inc. ( HYPERLINK "http://www.arsfi.org/winmor.aspx" http://www.arsfi.org/winmor.aspx ). To encourage registration upon startup the program will pop up a non modal register reminder form if My Call sign does not match the current registration key. Operation of the WINMOR TNC will continue with the registration form visible. 10.0 License: Copyright (c) 2010 Amateur Radio Safety Foundation, Inc. All rights reserved. Redistribution and use in binary form, without modification, are permitted provided that the following conditions are met: Re distributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the Amateur Radio Safety Foundation, Inc nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. WINMOR TNC is free to all licensed radio amateurs for their individual use. The intact distribution file can be copied, redistributed, and transmitted to others. Derivative works are prohibited. WINMOR TNC may not be reverse-engineered. Any commercial or agency use is prohibited without specific written permission from the Author and the Amateur Radio Safety Foundation Inc. The API (application programming interface) is published for other software authors to write code to use it. The WINMOR protocol that this program implements is released to the public domain with attribution and is published in a document so that other authors can write similar software that will communicate with programs that implement the WINMOR protocol ( HYPERLINK "http://www.winlink.org/WINMOR" www.winlink.org/WINMOR) Appendix A: WINMOR Protocol State Diagrams   SHAPE \* MERGEFORMAT  Appendix B: WINMOR Channel Busy and Busy Lock Details   Appendix C: Typical WINMOR TNC.ini file [WINMOR TNC Form] Registration=ACD16D9D5E344FB4BDFC8CFDA7612345 MyCallsign=KN6KB-5 ResponseDelay=100 LeaderExtension=0 Top=233 Left=682 TCP Control Port=8500 MyGridsquare=EL98PF StartMinimized=False DebugLog=True CaptureDevice=USB Audio CODEC-02 PlaybackDevice=USB Audio CODEC-02 TCP Address=127.0.0.1 CHJKOPUYZ|}~  * O S V [ j v z ûôéߛߏߋߛ߂ߋhV h! 5hqBhokhYhY5 h-5hHrhCP0JjhCPU hCPhCPjhCPUhCPh3 hbh?5nhH h8:hBoNhY hqB5CJ hYhY5CJ hFhr`hJ03C i j  : e gdQ^gdok ^`gd7%`gdY`gdmul^gdCP ^`gd-`gd-gdr`  0 1 2 B C F I   t    ( * : > C G N b c d e "5BEGOV[gǿûǷh KhQh!kyhjhmulh7%hqBhYhY5 h-5hD\h! h/0hcihCPhokhYhBoNhV F h1aLNd{;|~hDEd+,.2^gdt & Fgdt^gdD\`gdmul`gdj1LMNd,Eaz|}~DEJPTd|  -2:;BHMVh*º詝豕h-h3{hOh}jthBoNhQh7%h h!ky h!ky5hYhY5 h-5 hD\5hr`hqhq6hqhthqht5hYh/0hmulh KhD\h&9*+,-.[_`gpqw}/0MNOQr 4<Kbcwx{|~ 칱ɭť읙hthCh(fh7%h h!kyh3{hCh6hChhPh"h3{hBoNhV h-\% hY5 h-\%5hYhY5 h-5hYjhcL#UhOh-<2Z[qRPQ89- Z h^hgd2h`hgd(fgd(fh^hgd7%gdygdCQRXcPm8t?HbexǾ~zz~z~rh}jthy5h-\%h7%h-hY5h-h-5h-h-h}jthcL#hr`hPhQhP6hYh(fh hCmHnHuhIhCmHnHu$hC5OJQJ^JaJmHnHu*hChC5OJQJ^JaJmHnHuhC+!Z[   F V 8!:!;!>!p!u!!!!!!!!""I"J"X"Y"i"j"m"z"{"""""""+#[#\#q#r#ŽhYh}jthY5h{?h{?Jh}jthy5 hcL#5hV hV H*hV hy5 h5h-hy5h2h hQ h(f5h(fhZh7%hchy= !!j"k"l"m"{"\#s###F$L$$$2%3%J%%%%&&;& 0^`0gd}jth^hgdygdyh`hgdyr#s##########$$E$F$L$$$$0%1%2%3%H%z%%%%%%%%&&&&;&<&@&J&K&L&c&&&&&&'K'q'r'''''''û𻪻ǢǢ𚖚 h 5hZhZhZ5h[%h t hy5h{6hh*JEh}jthy5h{?Jh(fh-hy5 h>5h>h>h>5 hF'hF' hF'5hyhF'hYh}jt9;&L&&&r'''''(((@)M)))*** ++++gdWh^hgdH,bgdH,bgdf$gdgdZh`hgdygdygd t'((( (Y([((((((((7)>)@)M)f)g)))))))***** ++s++++++++ǿǻdzzsz hWhy hWhW hW5h}jthy5hhH,bhH,bhH,b5hH6hH6hH65 hcL#5h`1h`1h`15hmuh>Rh-\%hj-hj-hj-5hjhhh5hwmh he)<hZh[%hZhZ5(+,3,P,,,....G/L/=0U000$1b1l11gdhtgdF'h^hgd}jtgdY^gd7%gd7%h^hgdy |^`|gdy 7$8$H$gdW h7$8$H$`hgdW+, ,3,9,O,P,,,,V----...1.Y.....G/L/O/R/V/o////////0<0=0S0T0U0~0Ųyumuh}jth}jt5hYh}jthY5h2h{6hch7%h7%h7%5 hf<hf< h5 hf<5h>Rhyh}jthy5 h'hVyhVy h'h' h'5 hWh2h2mHnHuhymHnHuhWmHnHuhWhWmHnHu*~00000!1$1+1a1b1l11111h2i2o2|222222222 3]3^3`33333344`4ǻ{vokokokohH6 hp(Nhp(N hp(N5h5@h4h Nh NmHnHuhWh NmHnHu hWh Nhyh}jthy5 hy5 hXohZ hXohXo hZ5 hXo5h)>h)>h)>5 hH 5 hH hH hH hH 5h}jthF'hF'5hYhF'&11i2~2^3_3`33`4z4"656^6h6 777778s8939gdh^hgd#h^hgdygd-h`hgdy h7$8$H$^hgd Ngdy`4z444:5555!6"636^6h6t6|667 77777777777788889993999:ÿÿúυυyqmhE(hE(hE(5hh5h#hh}jthy5 hh%}hH h56 hh h5 h%}h%} h{?J5 h%}5h.nph-h-h-5hyh-hy5hpkh@ hdh>R hh h5hp(Nh5'3999::T:e::::N;y;;;;;</<<h^hgd2h`hgd2gd2 @ ^@ `gdYgd- 0^`0gd-gd}jth`hgdygdy h^h`gdE(:::T:d:e::::::::;;:;K;N;y;;;;;;;;;;;;;;;<<<<<<=U====>>>>>->^>¾¾º±댶딃 h#5h'h-h25h-hy5h>R h25 hh h-5 h5h2h#h-h-h-h-5 h-5hOhH6hH6hth5hH6hH65hyhyh-5hyhy52<<<<<===>/>^>>>?3????h`hgdf$ @ ^@ `gdf$ 7$8$H$gd2`gd2gd2h^hgdyh^hgd' @ ^@ `gd2 @ (^@ `(gdy @ ^@ `gdy^>c>d>>>>???(?)?1???<@C@H@J@Z@}@~@@@AAABBrBsBBBB(C)Ch#hs"rh{?Jhhf$hf$hf$5hy hMr5 hy5h-hy5 hWh2h2mHnHuhWh2mHnHu h25h}jth25$?&@@@AABsBBaCbCuCEEF^FFFNGGGgd- 0^`0gd- h^h`gd'h^hgds"rh^hgdhv @ ^@ `gdYh^hgd#h`hgdf$`CaCbCfCtCuCCCDDD?EKE`EbEgE}E~EEEEEEEEEFFFFGGGGGGGG!H8H9HdHgHHHHHHHIIIIIJJûǴðð˰ðääàØ hdh Kh Kjh KUh+Syhdh3{h3{5h/0 h-h-h-h-5h3{h-h+)hMrhmuhs"rh-hG{E h-5h-h-5 h-5h' h'h'7GG7J'K(K7KKLLMPSSSSSSSSSSS & Fdd7$8$H$^`gd5m dd7$8$H$gd5m`gd3{gd3{ 0^`0gd-JJJ1J2J3J4J5J6J7JCJQJ^JbJsJxJJJJJJ$K&K'K(K.K4K5K7KPrSsSSSsV8j]khfh5mB*CJOJQJU^JaJph,jh5mB*CJOJQJU^JaJph#h5mB*CJOJQJ^JaJphh5mCJOJQJ^JaJ h5m5h3{h3{5 h-5hmuh3{h3{B*phhjh5@h'h-h3{h KhHrh K0Jjh KUjLjh KU!SSSSSSSSSSSSSSSSSSSSTTT1T2T3T4T5T6T~wsogogYQgjTlhbUjhbUmHnHujhbUhbhMy hZh-hpkhZjhZhZUhpk5CJaJhZ5CJaJh-5CJaJh-h-5CJaJh-hyh5m#h5mB*CJOJQJ^JaJph$hfh5m0JCJOJQJ^JaJ,jh5mB*CJOJQJU^JaJphSSSSSSSSSSSSSTTTTTTTT6TnToTsTtTuT0^0gdgd0^0gd*6T?TATKToTpTqTrTsTtTvTTTTTTTTUUͼynyh'g5OJQJaJh'gh'g5OJQJaJh'gh'g5CJaJh'g5CJaJh-h'g5CJaJh'ghhh5CJaJ jmh0uAh5CJUaJhh5CJaJ jlh0uAh5CJUaJh5CJaJh-h5CJaJuTTTTTTTUU!U*U@UTUiUwUUUUU0^0gdgd'g,1h/ =!"#$% @=*P-e_; z.- KgBx] |SEBJhHڼ&hҴ EnZҖ@E@Aae=("*`  .eEBngJB҃x._G}T7GP ڿeNP–!ȏ/csZBU\LxZq դV CO{"t:%B]C8¶!ꈅcBWڋ@n <GR-"wMǨ l%#&::5&-.溽8fPy:֏ܺ>KyQ0crb LCx`RŲ>Yx|~I:IK44<.g NR}I2x%#; YCظ IƐɢqy[o>۞@ @xm0 ӅNs }.dE$9#}7Ŗ !T;qb\K*1IC4Xcu\7T'pæ1T| `zt!TzqXe)_^f#[Ꞷxnc'Zl Js ]u^gmۄ?nS ]'_{kgql/r.;/4g_ BXfL;`ށ?2ۥ$̻ڗ o/)GL1cn{;$\w wV(/3߄]XO@ F3N=0zyi3z7 <I`-*CUC4Ldžưh^":} r1iK6$᱃ lۖ D#-+qF9UcԸt~c IXtZ)>e"N:u=C˛ˉƼ.Jum r+>#9(CmV(9h]Wr%t^u ,l\ZN@(:h䄛 DX$'{)'Fu[,'gx n#_ VZN' 0Ə%:>qL ;An*Ƣṵ''| #lA /_BNx>u]w #:|"q26Br9lON`[̀ ',%ZD\p; mGLj1 ێ:#xCzVyo@ v4&/3E 'L@rd`t,be:t|hV8ɇ&|˅|!4C? ,MwSr3>&Н*h=ƌpz> `޻xlc20ۊwԯ|ǾwE|Ɋ>ijH;|,ػ% Z|;z -"wӼbytV/VbyiC?׭_&C@+}zCw[1h.Aw?Ю)4\& B/Òvh]e> lz܈wՙa*Q5б *a%m 7``c%c=d~~xs+'nb+"Xuq!ĵx ݈7qu: QxQqUd5`&(4̷/>mM@,R2DF{'W&2T.,i|!>n>b⳹>}Po}6;BMڏح#JRon?L,jY]ղݺ&vqyk .~/uo>g~}ཷ4}K`A߾nÎv7Wa&mOw>=*`J`0jvͷ]⿟ȼ? 9;glɂn;w] 7XYέphw6pW}] W Ed+Q6z)h1}>c|=bNZ><]7{#t&IwktW3~Zg{ȍy;*ghhܖq`fNOͽwI펙#1 Gt폲 {aד .}k ЈxKcᨍC0),UTPe(zgCg*X_ ȸ}x8GJm% a8-e-Q{1{:ĞoO"=A`Oˇ\\pVa3:Eݰ$'*(=[^P'@=֗O;g*@aRYJKtL7`dM$SD_*ck|!3P[O Dzޮy{K3/tNsЀKMAJIa䈈3#"͏XH ;6u,<4K>dx M_mX-[,wfM6Yۼ |j({h̎b-"9]4Mx;:wPwq';Sfml}ԞY(4#p¾VO>sf>R`1ݵ nC A ZgR}ߔ*)\%/Ti`zlRM mB G)l}?.vÃ!E+CxbB ͡ .3!5lavqÖo n$ , cӋ K(~vp}qhˊyC.wW<3_SEL-E47e5^M7$m⁆/YZqqo{Yv'?;vNYAd@d`_yVȳyVmXYHSJm,g7~ m UfQ{!p匾"³]`{i{GQ qLĜD vJy6aBͿgU;kzU sVsB+کUwVYKjrQ2zJފҚgk:ojOȍuy6,bؼ/$,\/m0ww_r}~Hzed_5m}}[*QW{ L-hnyI aqÈsC$]T8£:3b|haX՚CמS]T= J-hX$Afac↵iܰ(cO= jYp:agnD}ҎzBLZ>#fAZ]|I8G >*j*\CW=|EHe4QBj*jT[RC]-əU}[i[ y :L#/U ?WiWOP`4zO[}:YpMMy}ϕYނ}0퀞ˠV]z}fwU=V`DVjX'f! O7Mdzig8+?w_ =n]'`gBUygWtoĝ_f\g;r][hEh.q"gJt;^ {5资֧# Id '01jʏӁTfѽBoc { ] zuMiANTol 2)7iuL{)cK̒r>]%34RL,rVa/r1;JΜNyw+ +ެtS~XLDkdxFJZ2-@ZÏjw 5׸/xP TR)S|޷̹Ƃ9 VYKg-GdO1wRe3晹QU㚴IƻRۧ4O/4OŽ + Zt&OUxv;s VYF>IO̔`tϜ}mWm<__fuw`S?7cXt,L9Osys]ú-oҕȧꢈlbns1=<Å/(ZjZmVkC|{B}굚Tk(ҵ) )ZG q0pAA] %Ӆ1/JA&ս*-ս[{7g썺#YS |&.8Cq}l7#Ϋ:ߡ١٭+I/7xRI/=SWr4g5.o&ϜWU qpE{3U[{𚰻k.^&ngMؽbWUqyU8WYp7*Cփq0EoeF@ep섈;`M%Ҏ^TA{l}m5> 86$i;&t-%qĶVx 3 x^]1xe_ejr%˚7t$*Y%ErQHI,Iy PʇI1ISSg#/fO{fĚ4jsßK<#NdWfV'f=9칬amʮ {!glJcuңC;KV~ٜWPbxRXbQ!# QOSOGQW((>?'byńɆ }P:g׹ =Ss4v{vR\lqаa3˜JyS>HP^?4g6'IG|1bEjԄQSNz&)鮔dɇ%/J$3R(ҧ&dv&=T6GCQeͣ~3o(Ytz_T!w^43ؑDh<!/u)UG59=h?aodT)Y[GzR@3PF~^\H_*à9y?3u[M9r˹UUH U#e5OVQtԞ<>/#ה~D"Dx,1 `;1`8bsBHhxy+潣8$Tˆ+IQJsT j"2?&_ILIӌ)=RXՅSԴdfBz ѐsV%ݣ.[))8A1K>Y)P,%N)x@S৸JS,w7?B(IfTY^WfAHvUSK+nR]Cv4Y'5>*zv@GZ<{H$/)~(B_I_Ia]~YՠwyY/uy&b֮gq~ ~sgN<ܺmub]wcs۞ |dzq>uގ'-Ra?g=zܸغ#!{SC]S+sGC|b35zgi1ȓyr={'Xο w W<N=Ww_ycsN.Ş:-Qv /{>GG[+@=t 7Kj11 ui:@gwtx] |$m鑤IzߥYhJޥM BAPHASAR@" OPT.oETTDD76I&i6!|{o޼yBw8}΋mDȳ!Q!Mb6Y#տe!tXy[1V*@pbXy,p]|ֲ.+ȳBt}AyvPF$^_,zO v*$S\D;D~r%Noɳ+d]8y_w`%u/N{B=~ 3JESkG^km>{c>gu`ʵY-}}v>pN fx@jy}{Y;PpjD_M$Mp J#贒 (]ad~r8/[K(/8[ȴ/TYb*78ԭqyHd>_M6zt據i.ܦs׳Ϲzsd3WK?皠=5LP&qFGy}>=9%jE?fBn_wtoc嶭|`3)W=Ie%rx)|,qyHni~~ې!>~b̳џ϶Ό嶣ّVY}֟gN.^٥w)<Ao^l;V7Y$u5@4KPgU#I)aqap[/ `|8Ced;b:;6ñc8h@+ZnEAzU-kݕsti;n{ 16~^vX/}qfZwHv93;)pc v/vBv|>)rBBNlG|vų #<ccwcsi7~c:P~͍S8PŽ`\S@܃mj6OՖ \XtQ λi{LZ {MyLo3f~j蜧Aݕy%YswNfc8i py+P@w#\Uq*\uWe7^MNcbSٛPfYݟRb=8Bum4Q^(@|H x\FJYO[nwiol#[榅ioFzq,zz8OMyc(c q)y81zu?ή/q21UnvST2k~E\ 'x NNti˾N%ﺛ `0%p;眓 sN#;4CC>^cLSZC1:}}&- Gc@Zb߻;>/jiQSSSxϖ{v]q0tҺb p.!Sbӄz^z .fB-=bC۹tٸzχ:D`ިфf .س7{田ײ(a=7v;ǀ~pZ!6ZC&9Q=&ȓ‹wW<}"֫##uq4%^>|cVXO*<7w/l{ݾq>4l,JQ 2rOB_/0@W -ԙΤU `nZWUCe`uV (fk`Y>ӸfW6wW } `\^||PGij+Fބ5Nq³&XqDŽX;p߿A4ǚZ1u4tٞ5xH6)L) ;TtleG .h9#fƶ l8萅_mN߫?#>QqZ^րЯtd}&y; *x˼6i ;J9+]smnC<5x͗|pS6TǠ)yW}]ȴkY4r»M; ,MQj1p'4 ɩZ䣩p,ݤy.4/ 86s%\ʯCƒjjIp#{PJ+i—tnhMs+ b|]Bl;3=Bc ffXcW*r1pkFh>sfwSvZ1,;VZd dh#8 p{>p"њhWEFL^!?rG_Gk1Tw 7ܩZXyYVXG[xVqnHvv;W{5ӘDPhT8 ע>&;^|6` x]d=Oنxt6d=P.(gw7&!5p1!C^ӥ[@coȴZ`wZ [wLiuy ) XĄo]xǦh_kl-/ZɆڙ?pCbͥҮ/8Eĺ'-6,u|| W筳o۰0AǠ@uW[=V29^2eȞ8-puU%Q2+r<^j gE2yG:Ky͚m ng|9\=p ?PL|t2`f͞MxG @4~"]E^Wұ732|oMt ~e*4hzM~Jm2/mÄGET󉶃Fi>gd7Hmj#ڊ"cmRw-*_h{<H֯+ϭ 3:x1tƎo~vd#Q[ E%b3"th{抨/mj~!6~AwQL^Q xtx?/9$iZI\-c݁E֒^"e+IJxS"DwEhn׋*yyu̓!ʹdlAK2dHs<!1{c(X~C?jӹVeث"qe{@$FTJK#,W"*vr=u%Yc8ݕ5H a ݻ[O<{`R;82]Gw~/Ɣ:g"!.t!X<چ=Sf37z`/]F= OnQ*ژ {]0lM S+&9yщ5r2ЎjB-~79Δ ۚp5Z#>7ܕBOo/@i>Ny8|Z(x}D{4=*׵= a{{_ۮxl/gcjơ p~g_ dz.S8o:˼l7!3paw9֣;/֣;Mm{k;Me9սra/L!Gk cbرOTq?O G۽郣\r_h9aj2@M?[ ǀ8*1v1`8ܧ8:*8Q 8y5m8@c_ޗSfS!BciSSrBINjSfSG-@N-qT%Upy9uʓ]qVߣrꨑrJ 聣-)cM0/0~H~G8or*ĸ8S,@Ni9>HC8]3GwG:͋di9Uq(M8MDW\aJrԸ[YoQ^os[~ l7V8>moxQ?8G|4 ~jBY#4>/{GWB@qU'P§""~KI/tq'f_y6.]4& R OZ |gM8~>xi_hX(.~te.@vb[pk"C>K֒)*[A.JV2}~C5w>2dyHd>_gmGc&ۼ^lwAyl+ ,)D2;ѫPydrvw8"jjG~0֎HxՆ֋Gj'퉆]ٗGtt#p16ם~/vntcm<[=(qLΣ8tʧ1m4n >b\rfeӉmDuA5y3h{6ZJ5+vȁ K |_MFq.E5W=Mj~{bzs_ef_8dG-zk4F.MjgzFjD|neESHc{Q |n ,'.zGtwb71q>.jy,{onGnFkcc7Uif>v{^{v xIMhR”ߗ^2վáO2bFpxgݱ~U$Z&<\ ɏQfj aY:E-.-;qޱlz ,fuE݈ҟy*sѿԚͷ1ft5)xj*T<!iQJs c 2wCa|駳.6y}<6{{0ېExh/z6w*XO*nryː9j4ЎUtgʧHLsCeic8?v}>{Oۮ18O ?&ueHʊ(ap끝su;\?~g;X )t[tBI|(<;YQ|3<.;w\%B;n-MBEhy$QobGG1CacEDێ}Q^?HEjM(@eJ5.F]C_1DBc]m@!NKڪt$2E&S_T>!];o>"<~2Gׯ:Ϛ'蘃omi0!F [Qsy.P[y!zWt6`mV7^;o9ȯTuŨ|o'IuW༐8M/c#0x[FA˓t%!Gl?Ѕ qs5.N.^k%еWE%3鰨M j8 vƾ j&ψAJtK$Ct #팱Dk\(Byߋ^!Sl 2EH;Yo3A#o,i 6Av'p>N|\]Ag^[O zĘqE2b%FLl(C-y1kTcQؽNa F;#,;ToWB#J!P:3kCcwz9"/c}X@Fc}d+Pűt(YS'|-Yktpl:=6teplvƆ.aJ瀡pUҸ؇aRuqav9&/2޵&moy] WO5/W o㚀a썅z=jyҀ^ c"5\cƽ7N={T?+^]$c_z`E^Pi~L.Б7Ut^yqXƽ| tbol\{.56m?o &vtc60 C6tAx2(s<\\"ЦDۢuP~ ĔP2%C0$Sf>s>=dB&K3<Ԫ(H>pQ'3ICLNܶ-llmPd[fweCmm< c1n/0?u+OL,bh~ ;ڎnϠږy ckW[}1]|x'k ҳdv,a; \ X*5b).citƒqXz ;` X9t%92?]&hY@&Ǝ;%w[)e_Cb7ȗIAޫcv.wØ2doM\o/^7z1憘tC8~-0b|(M^d䦮+c)K ?jG48%i^)'p퍱X=@uLZm^QDmr 5mx=3Րdr1֔ՇH{ cr;b9 ‹K@_1wwT)7/{#LbҫdD8=WDQ凊7RL qJOC}t]ɳ:c՟;fuw?*_o P mg7ouWzF`-FDޮ__~Q=ͽ ~16Ҭ6G=in[->R(vG0 dSk"{dVyY(s;vPR୽EmA1x/n(XuŚ!|7<3@2* fD5[~Bv@}cnzN s],"c`Ap!(P钯J[-sni x[9#uuӠ/ &GP/.d?P;F]q܏(v̎!Kpw[/94ײ^|QG+Dmcp>4dz|uep7EwŁ!D!kżte艼{t1@I@C@yg8Dhmq"ܿZFxp xe?pD~RZE~H Ex򨸉IJ4YCiDg|S+? ^#p5Lo() J8 u^kUs1sP[s^Gd#*^A6z_Ecq"Fwn\#y=s_JMeYS0WNͿ,9Ȇp/ռ*:ڗkX  mzKC5C2yPP寍OHofy\:q5kUMo$N׎Nа*Bù ^!kqyuʥbDl]}O@F('ca3#9ɟybO8hO&Ow\x@*XSt) N4'C96r|b=ӎAq;4^l L Ij \YsφF|qOA˫MaK] |P(ՓtmtyL:t iؠ=DWWq7+oJO)E);WQ;  ~ʽKWӡ82|T{w| J;^h {>>>XL0a!rO B@su #0T~b߂B]t㻮 XXtyRq0خG,c|,CɝTsLE{+=='yіعՃۛÔic'02jx;8%5|GTὅZ-'翱PGȺs?y彅Zqr5[jXTeOLOfFdjM 8*oF8F*a +u> w %me#25Bd1g#?#5CWH1!*Vwb}RՏcs4Wj1u[ZlO;PgU3OKյ_&TSOa_x6ط2*UwbUSNwSSNwcK%.U_3.!mHagSW$:R1fB#3~lG{=W@FF)rI<_񀒪RY @2-;iEalp. c2V &]` #p,z~A/= IL8Sݦj,{4&1>{slŸ T⛅oSDIlfNJ7o&o\p4 xpbj?4}gJ641|1f 8ZMu/%yYfǣqu=/2lߟ2- %zY Q y7uIcaoʼns:5f4 1]]9'=qd19w82\WW U|Uz54=&=Ř kU9*5[/,Q ?:umkN P6''oo[D ߠiO=Q~u03KR^up}z\6=0%2'Xgu2N>jmî{}]@fO#K?.]~겯ӶAɻ46L-99f9ͥSHOcW>^cLSZD1:}}&- Gc@}zwǧŀO--|jj=| l)a upk8֥kt% ;&p̃b2_j#vKz|hJ{hPA Mm`vHu@jzy@@|ŎBb;c@egj?F#?ՇzȹtC?Fkc?myDM52gq^]~xAUKuc:P0%^>|cVXO*L􅛢n_ 86r~Ut ' z}[ LNwAgR7`'ݛkVWUCe`uV (fk`Y>ӸfW6wW }y>`~]qnFFO1Vн kjgMN v ǃ4]i̱l lOI)v0t(Pifɷ-Gi90#ǻ4]l`5:daF/as8cLUnc0ܰb59➬/$/߀ E *x˼6i ;J9+]sm@ϳG|nCS6TǠ)yW}]ȴkY4r»M;8X2b*£<&iMN"M?c&͋EwyBenW^KuhXUV+NsTr5_'O|sChk]_=M2fܙ1ku0NJR1&u+K׾Tx4%}nbXv6iN+4Fp,n]cyaX^'}|%^j?tA58#y~ufcʰ19 6` yYVXG[xVqnHFM+}W{5ӘDPhT8 ע>&;^|6` x]d=OنǤ@ϕ#bXn}vwcRB=^3k?e9>].4aCk5l1i, LW3`vw?c^G,}6?0b8l7Y̬ N\ /_iK4‹nCuOG{ˆ K_;WSw ۳6 dzf-n|Xx(Ix)}'wي)E;Nb>׶?u g-C}hVwkpq7 xTBcڶxq\RGu]K̝:o+ ~'JQg" )/2WZD*Pp/8Kr؍9a?֕}^{W뎅n[nl贺І:A(Qw'$b]ݡk7];/dC혐CZQWmr!F5@=CtIh1*䭚!pYRW̩N[ʟyV#QaO[7BdeU!JGl("*@f!-B$J>пKbB/dUR1), }dch}ˡ%C#J\K %S,vjxw/7oFX,(9^Y2=1%!Q KGm+9u$6jhWѩ1{$ccq7%픈%Ʋ%dx%1Jڢ(D]6ʩ$/#?+^y8'rOՈ#VG,.>9ţ _ [Y>bYؾ -ԩdRDVRZm@g肒;![K~ _G!ߗb/[!Z(ddZ)I]HDiVR~7!e v]'x5+6 NV<)Ȭ\&^P]5O0j৪ق9>5k N<) $?pm^x@p~áԾ/HX0vZߐ;!և{+doO!CCCgB3VaEҴaSSWJ -xV/b?Eȗ#wKsKzJjD:2z>1ҵ1)r؃u}Ա>lmq_ )[ Oòn:7iH!x>} //&*OKqB|\%iOoߦMwL IMⳛ\7='mPعMƬiZ?_p5aۍ # 8R3`+-_ }}WRy'8Fc,7~@ߩ"3EO)WXю^6)u񑀧~scLj։⦠ld 8/X(~$8Mfp_rq^x8aü3oygEQT~qhB8~ڀM=,/yd?_d1v,~TC9+U^˨7y`(Ͼ'k{>xu݌`iiRAANAbSACe -ɂb p<2o{{/[kLkh"Y,')WIJ>{.wcݯ>!uE>־m[7{|ϵ>qRoi۾βb<O6쬿s}pQ{Ioz `rn3='W>T?)H+U^US_ĩl^'MAd͕/ mRpptgO3lx{kyae~yWVs&*kTcm|aYүH~%w~%,vS-| TA>i~x)KLQmRq>8?D/K_慉ي(t+|7¹pd)Y3A,lt Wo o %^'s{&իzIE7 v F5Ao|n)uU~68n[W p2o`9VR5A$X$cOgLFC-j{lHwLH$ձ-C𺓭Ѵ\O۬1vn]0ų'V U;vv|CsRY;vu)VQkn'nbLW:lsK_xGUOeY$ ǍKWQqӀmuԾ6fi PػBaFo;JR`Lh9%;S9%&\W:\}_'jN );SsJኁύ$wߦPSPQ 2Gl]}މ4^h#<$p:q ҵW5l7NݠY158zo@ސ9YM~:6^~y%paw9;/;Mm{k;Me9՝mX|!/ې:SQEC)&nس10vU~fempĻ+JsɁUfpU5oq82zq$ƀsԫ?Gkvo Gnp~ǚ/.M/Ac V%*:T* $ZZb%ȩK%0reO G蔧~8D9uH9cƀrj՘GS?$?Ҁ)#M95䔜SoM MtS+o m^d4'suLˡoGx/hꊓ4Nt@i1x^w+-qecn??Ua?x/ ?ozw^~tͷMPoKӰ^B9ZvBWh;kXO\}}}h8?y͢AEYAiwcEuя?[h{/H+ZBT_.,7Fta6Y~[E~DBD~~'NF|ѾoĿ>N}wRaQV(D~+zXLs@hr/$Dw6' &j/|AVk}FrFh@e‹{ }TBd Hnq*(q7soí7u'q^.x+)}}fm=ےkyorrc{&nvYw9+s.r/㾔};:nHً;^Ϟy4gr$njXsy\Y^wy <)fWqsKqSN[=7+.H~^/:nǕsώ?+i{6.,6<8;< m\ 4MuZ>\z/ ?Q{;Y[ =rZxâg=-=i9kk³p,|߻;(A7?S [w,G7*IOGo~!SFkYkf޳iS%∘ݳPq#oOCDžcevھ USٵhN|D@7-N v}ݍ {Wo̼}rh8A'əRqOc(]$x }z9Y\%yFb)H_sx:n]uCs|gI_ʺ$ݓ ,e>l-$e.;lWwƌ2e'Q;d$[,9ݲEdISdSjdRR\dg?&'"G^H^.M+P ԗZ?65Djv MR?=MZ:mX}d~VzCgd?ï>0ltg{e6YKdY 2a)fcN{݆}K%?-I,MLVV/ hxY~E˻D=>@/Jg5aȋu 92GO82OQ"1R8xnzOF8֟*P# )⊦ jCQӜ([\ |qn ,gOi67w4E':|5[Nj]#nuwiql_37dQ]NԄ!=L$bncvl{lV #!o}M~ȸ$Z&<\imA_5²|u[\g[twXrk#QxM7r?T#t4g}3;6;/}+x}}7γpCCS?xQӂwLrh髢9=b^:cNLΌbFΰ]9:fX- qcq}[Zlq콶ev-eb̥y-{[N6#,/~mFvM3N?2cD| N|[gHfoLnzJ(V2TLbڧ=sn,fǴx1Ӹ1ק~b詋wixeI3&%st\/sO/6y}.c8ɯn#$7\IX7fII\I:jW$?*GKGŗzVtۧJop_/}{t熗rK>Q͎ 6\ldVZTakakV+6W]UVS60ӫ'Wս.e;ZFײ3ٿ b?5X?$ӐpPvPaaQm>)왍}+)KqM4]fnrX9s79 >bՒ?Y0buv3fI+a#9܋#ll9IVpBGqL;m?/d84<3ܚˬqMo|c&_ʒ[X7d-i n5l+qX=kz!9 rWC`e Z6x6A[X^c]-ug?X~v(Kd~:c]=SUuʦjd>sօ3}g-)xl.UͬR_nU[#[IQ|ۭmHvJUKeK#$/{HZT9+Irz$yg˦[JrXr}{ %7<+u%K-|g{OpI`җz(4TЖҨKt0,Z6׿lodٟʒ{?)ƿS 7 -hH 9VһriS/V Wu.NՅCnV^s2Nk!>\;?d]Ⱥu>!b鏂d|!6f ?K4߲5f(|n)cHxs0c:11[Z'ip^dڑʾ^;nlvQ۾V[dov˫_9~} ՌW_q_  ߱.zW=i&>h_2T|2v M( G^WW 2/N2"R7Y268ɦprɺplFY/{˅9Yw1FA.]c|bu2eUsjվ8Ҵ'9Қ9ߧesޜK?vx].c'3d,ag.de.`7@ښ1s9p&gn`z]u:w,/sv({8U7qngDYɹٓ3-g*'+ݚ}ݞ5}(Kƞ%b'geݳɌc~>3='3=4>~6CĞ!c 3K_^~]={p^N+ OMy7 NKU|V+Rp[Y;s*[O<)d{0/= ]DŽ",gVu '% U|38=y4lbp?sw>N&8EUg1u)ˆ#m, #:翩YJmsic>3–+43!y?F.%`DPr^{W)oO6 GeBǓ+],{Dxgx_`6aEn$2uS/"eKQHhDjdюk_R'mOH%^6F7^QD|#-O읞,NIפ'WK+RqR_\./~"#E/XWqzŇ3OYYEYE j>̲)>+~#9i>Ye⫙1⭙?d~\a¶f*jav+{ HWAMpHŒO ҿ)-“i4/ܴ(qCZ8+FgŻR/S{ R]Hyɔ+E)S x'Ԁ9mIYoF쟍-E@rslB%~ еZicާs<|VDr|s|]|vك|}e y)g|V0+Z ׼3Oz 2x1ޅw/z׈f/hӎ{֤yyMZŴ?b㼧7yK_q{p?3|g 0sϙ̍>v4f#ϯp$e3%{ϫ|^㓙όq>H}Iuy!wh$Sx-K;)0!0bkϏ;=Y';1d-ae_whbFC?=4d:.n}w||x;}mFOpR^ (;mOG}zmq#kWcvޚBχj{ DjQ1ho1cc\ 1~ z5/{ jW ANTI݆F@bw-Liu\=yL뗸Zx c~;S?5썅mtcGi^/wkMś27dײ'q(Q贌%HMlLx!BBI3"&z礦>sNzO8)yZ2!b+Aى &zV%LYId)!cIGI}Vǻ>O $ ?Oړؐs KN۩K{N+Ӈ/ȸGdʌ;yleN`Wbw :N8'!![oߘb-o7}y]_}lr I)NQ%eH@SFҁe?gHZ3f|[!ݿ<4]T=mxyT[RJ}|Y;ɫH^T~.izyfM}J}G ./VWhw+C+X)C*֧TWI-8Q!KcU\I;]>9}Uge,'c]ل>ee-*.= ]$Y}q9܏>-]0|t‡R49Rz6f!`=0){,ہۤtAͥ+)3'd ]98 8p~ > )!rgpm!UopY-]Pޅ,5l,,l#oQU^GX// ⷅebLucxj_s\'&Ȉ4 GDQ-QUh_ɚe!#=F4 pBT"0Ԉ3R2ߠvUTHxs&Y~4Š) Fo Mލf0.(k{!Zd);3[So[HSx2\ m#Z} ;>u=Ơ1G2`feL-"#y"Hod&Md1lH2&kqĂ;݌29&q'4}; Bdžf/LEM?C W^I!Mu?68&}E0?#$vLhtwzr2֙Q_Ø013q+㌩wx1k 0B/31ɸ(a͌ #$12ѳXoO ݏ~)m4'+痌[C3JW_N9=530+#d7%wBP,Hd^Lv{2,G芓{c{^#+V< =^=I,{~}==fy??~VDFҞ8:[1Cr#f1g8##(v|Ϡ^jW;9u{ z/"'eߣybh*=$t7VM~]]cͩɑֲdske>u$ٴ:S6I_Y1HØ,2d3Lu Y2yl9Iηn%?bdXdY/f-M]~4m2vJ)RbpbBl'Ul[M>cR}&v۲9Tn.ʗBB>_lõ&XSR)ʊ 8@džhXQ Uګ.rV5mj>.Mj\`Sl+@[_moڎXjcuquqqTmM2eYsLIֹL,L /s%|ٜb^f f9Ѽd.2aN.BNS-~Cʐh[w8_Wg\VdL=`hcjb m/J^uιl(PPnRG"a:&IזkᒚO`CR5s}pIwH׽Tk_7KcKJRôi]iԏ(,ۿ~OpbWJ&8VT4oPm8zy_3pZq3pzq2wVvMhޅ7ڛpAk'O'8p@&4?󿂓9xɃ}-8Ao/Dx\SדW<ҿ;5{V[E}ѭx}ҭpV`n8}^vI{c2dsFOR\KK\Lcg0i-979I5&<{%"s:Q׳6Vlj{,i&svA8[Tn TmCth$OW[T kT2_r11 lXDhIqnܳҒySK w (^.Un)T(NTҊ6)Gu*?qbXV<\P]t| &jNp:ج kn}W@ Ҟkjwiw@bx\"()]4+( SXp]eejeQ1֊}@QRӈ[u E#BX!Z*Lx׹1Ug2TnVNV 詢1h*!I*[b"NX[\e,E(oTl,sRJSKW.x"jI$/ɂ%U9+jlQk?ڍп5[5 f#Y ]*~ZS<QljnQ2R.:26w ' BZxZy` Dy2"?b_^I0o|{[(ې$M锴dIlzR}CWM'@`T T~@D](&&:X)P3pjh{!U#YU3U3@:sZATeog~1`wΡyH5 S`QXFk(@k)^KϿ+K_WvC[>Wj7 {B 9ն>{SN̍NLj{jNF!xJG$5y~}iW鯡=Ӝvoaꂐ~,k+jFzm^d4B: =0[?>X/l WcLV^t?Et)ħw$>u%x7L4P\W6Z|.y>C  0?^9 _XdOVʘhBZMLX+N`K!DЈW6fbE FBkS qjB+ &r Q<Da@!-}vum|p _\k'F?؆\`v]$*>(&;R]sxp%= h]={/:Fz9 y z To zP _u?&tYEܶXn[2:q#]"K(͒A#aҍأEXl"Cb!u[*9l>xalt<{*5gBnlZ {1us*^{{c-#p ƒ:y gOyo=OoG"G"i?Xcc>bm^/LEBf͊ *<` "iPzz7iJ vgTG2#Y?HS88 hcPl<,OLslb&|L6jL9iOYAE~cߝwjU8oR:H|^gp< HEq"tʐ}}\JrɎՁ{_-=ilŇn1B_=RT߳~lC'筂ZÒcWK (9pC :H[䷵Rrv9[Jh3(45&|UԜ5I:-^k}Yw.|x῞Et ۹[?trDyK mailto:rmuething@cfl.rr.comyK Pmailto:rmuething@cfl.rr.comyX;H,]ą'cOiDd#xb  C >A&WINMOR Virtual TNCbh,ݑ| p.SXuhAnmh,ݑ| p.SXPNG  IHDR_sRGB pHYs+hIDATx^ |E?^  @aPaf zOgd46I}#2R@`BB" 2{KdK$1%? {uך R$7 _"3z[E z3+ZV i@d02BM>Hkt+" 0C44Pn~uiM-9uŽkyvϦ/bG_Ͳ54ofZ9AhNm&6p3" @|cv M0 '*aA qf5=O GH_0D2.;[)eGF ?@|fs` Hgpo;n66/xzZ@D / %L}}\:0!RA5'ψ\}|$ .*yr;rEUvj*$g)#}ʔ!`c^2-@D$#' 1ʅvP b=9s?<0Gm%iZܼ` sTbNMÔ~B}쩝vmCР3OhEpB,C_}q:FSL2@("I B$ 뙅î4(?V`\6CH~amd놝G"Mͻ;ޜ$= vysr;=1Z=O7}Wo!SO72st?xspu.1ɕl"}'@E۶ r|W WN 8-)I4eV㩧ُ> S>ĬF?R) ,H3>Twߏe%C3 %˓sd wΝ%L·_o-/l 7^yџ.!ȏ@+%jQ}[*iv {dV^.z?[1]+Wuc*7v}*n57PZdo]V^kq:*?VV"SĮ8P_}DxhtѮ gA!=NT.G['X9jl˟8w~؅ں3isH>dC֑677 }>^jaDH#a(?]D?ʋ0\Ȯ@\vp 2?i 7Y[Q+29s߂\E٬S葭U,;̊UvNJ~Ur!q4궖dyݠ2g&u;pV6pp&5J"2K-Fڒ{w a9uy6ڪvZg<D M= q38ФBpqVbf+A66`U_%/DX????|FdY=ȏr֍;I>Қ<êͱO<~A~~`d2x v;g {#i)_Uб [t'"'TT_x$84;9忓~_x֪FXE}zu_J/èډໍnqцji2<D R PQCxÙw)(%GQ;̢ 0Fp{]{ɾHͻϑnaE+xݭ|'J 汁!-}T/|?_Ь7~۶Ww.H J [|Ec9}eoCbC?臐}7n.9wsGҹ"*w-%GW(;?C5<Ɨ\Zo6)Ua]*]5:䚀~]mib_":r((`EHw J v_$W5XO JkwUTԨIOh+qzmށЖm|JrnZ1M^ (7*9s}@xa$F@xO\T⸘=IIs$۰[Є)5I||Z`}sl{X/۳um%,+^fUkaπ߉`H/J'ۂ0E(M2nǍW1ѩ/d%/ քd3!MRYe7va5;Q@j\uF{_ qdvסy?ƚ{ߋ7U`g"1+:ơ)E@HTHH: lSvR;.RpKqg_~o-Fkc|ŏFx H䏸 Nu9S,0ge;H? dl+ɡ7d-m'nb L;mz, Fc" Oo ',̤44PxVu%|n>ݗJ ߿ֻ*JkiOܺWfN?3XQ[b41B+=n2ڵ(s™q# ƐQfUڝۙ-D1OP/|f|[@}ƚ/AǩGg_:d/gB bDTGNE1~58Sh fx? M3ҒNqTidWFbb{;I߾03 :%ԐR@r\Q,9Rp\~5JXO=FjSO͂S[~c߿DI Hvq쭬Czzd4o}]f=_ķO~9#^M T-㝒?"]d GSJ9 A kMZwz؃T&{/G8i1# v:*j%ԃ#,jU#(}-4LӬBb.- a8paC r:W}.2Ҿ%At,@Mao38_iaՓw^q ?"7jG'%/('Њ4H [T 0y,ؤpclJ$JMl`'^ {tCMxMtYVRLsY2?A9~0Ɨ5$kOQwVR#/ Z]hEaŊfH-dT[ZЦj{R V͓IwoW?|4IL *ڑ2+b:p!/#*UBBt G.AoS}A ;A0Yٛ QDBETd7@NJ ">)NG=l~lVpB OՓK_o0##B m:@i0 xE;.R@WS^\`}Bi!3AX4߯Hdݗ} @0߹g0y()-؎Ϣ0] 4c% !g31DYm>fnqBI@}4(4GeD QP!)H~T*djm[;gU;/аUe dIKTg82l-D@ $VS!:j*-Dqv!p`)LfS%:QC=lz O#5vx8p4% QLL4Pw8m+1!GD 1 ZiΪS`(#<9_*4rvݏ!J@CK+vpl(QiU~IEbZ% Vnizзm|;rИլ_TU'w[)6]KvUZ҇yAWE6GX".1?{Nt[&@խ:MY_rR&qdؼ=Ή"⌉ǨZa6:ÿqs"*IT~E_0" @"옺m5CDdH|" c- @D R#E!".Ȏ۶X3D@HP4|^ïM{}eWNķLҎ$J * @ Xwtv4^Xث + z7ְ}[3;yq׷)C CB9_, @D#"bGFL;f?}GGod[=VF[Z;}`/ldыYZ"AF /GD j|{z֝{T!>-fd" ");s)x-(ulA8e_~tucјq#_s5d⨫%p$O#X*@}:y*N /Ws>BH#DQ4fED?2en/18%vE`g7%v#/s?02?z% "!;v{]#H;=ԫ7w1Oߤ㎝=y2 C§J-νzlgcx4͛;d__pOϩ2S "7y u!G ͟a+8E ȴ*#R{;Ϫ+01" "Ğ;>۱@j" i@1Ī""Ȏ)ҐX D@@vL ""ī)V@D `h;u#"X"lX1BD@wYν "bH]tŚ! ;z ' K4z)*2 h#Y @d& '9ȡJ(Es!@"-;Vm%.ܕC?9&|5 &iu(DH\|>_0}ohQzġQ29{Q4 YΡvݕR`g#e.EJJI&Z(2)R%&i DH*ihk/ftTKn~Hmq_,u[dk\#wG$Mo!s7 BH6U=o,BJjTWȱc~5+<,(W:JΟi>Ӱ ]ץDjL.KI:gwȄSsem`_W46ޭʳpl]_xްThݗ>|=BC ]D!+=kN(r|G*VWIԿ X$ݛJ-"9vYy|5GhdGi$v$<>dq :jPA_4v(!; 65u*fL2,=N֞vg2vO#K^1A fiM !dwՃ ;Ǭ\q"LN]"EˎO+4~3o`HRqorUuPȢ,ͣDh:m0+U_~9<͖4ijjElun!fz~J0ocbLJعsr`GGmIq"l;Z .*>| KJx#EijRl31l {V!f&EUkpMjD2ȩz"y薩ʎ~^QFyJ^֬Y3f̘N*$g瑊mxF%Sg痭qHh^a"cǎ[{$1+]g'4i$N^gmQ!d x%Ӡc=Hѿ42cjoZ.}رm۶SݡJ+{x?>84_T}}} DvCChDنgym~|pΙ ;gSNA:WL[WH\uuY^u5Yksx?>8.^hllRȒVԵ"-D/-6xHkR\xV(~:Ed Q9|d)w\;ك ʋ:Y/yi( WJFY۴w[m0A 0~ⴓ+:U7`tcwVNk ;:htJTPzj8Y5md̽EpjY%=_lV1ޚ=+v쏓bJzڐ=ט̕}a[Ds<jYNUF'dP؎BW++lMՌɽ!wHs*t,W 1*=#(\zo =7--\rJȂi\TMynȝ Ⱥ*rd:NMĂ}zKRen&C{DY\uh_ÍtAӑߛe}#F[>ғK LG  ~pȔ` dmS9O"w5)<qu;'t| vUdyN9s9 &q)lPθp2#")M*cD==%,/d?l>U`8!ұ[f]I7v;s"tN63@vtB|+)\>'RHީ(9gm,Wvgu*Q;|<>n_`C۠p#׷>u{1"= 钓m/Yr= %t4ӀC~[ FcYxC0;8f*J3O͏vOybu*ңIi7W}۳BȎtxobcMR9oI՛nĈ^Wz87[+8>r Yό?0)$' ͵(t@1i#ZvDKEHidcNx 1B {)w{Co_5,cF$CiȥR٠ O.EJ0L8$0$f~$eOfl$brn#;XX|C90*;. Wwyuӫ{WtHjdG'F$g:Q91ػ&עftQ9sqտ59ŵ9=@O"^%@Ʒ &ǹN$̨Z95Cg~CknQ݊ ~yS;$v'\;="VvLAC؎ydG;Ʀɵq9/_rlNwF "p]wj~/I$c4 t^3mGdGrzl~Ǒ Me9!<ޕPT@GܠB]e\=.@MҶs7e[vL%3Ȏz{@vѳn "$ȎId0"Gn0ɷRbe%BqcӴP}ÕjL]}Đ޴jUFϦ Q9T@p5ܾ`bAˋ龕jm Q ;g,%$9hXSRĨtO~1uXWVpz ݱdاL.^PPBzN^iº\\)#- {s*~9mDq}LfnddvkWP,J259w훮 r d^nN)ϡ۱d4=r}ј"VU:=3vqժ8C ̣"2_qY5md̽EykE%t,H/\p~l_2+ る{0y#BAg]O|ki%Vܖ2UoK 7̃ŅUi ԇj a8C|nd0mG.B0J˝)XNzI 6r2` c],ucvKF@&^ݶd vuS8x aqq)n#BzT*C-郠ܑ%M3SӨ:p %PiX9%J H͵Kc@mǔO6E1 Dh;L(lG_0D I(NZ2t~ma*Q]RvXpْ;N*N9}3`CeDE@DX|oa1ڣC<կt8.e}K-q7 vU^wS/:]+X撟)[>j>5;gteתdLKNe[v#j݀ v^_ЄXD7+P=yv`F3ZruD \ DJ&:'!;j|Ln$2;*mvcħ"cǤqr:r|nBgI յc[8D=) hZZ59Y6zayʎP~%.;O(ۭ~m"\x̙S)Nzό3hRb5t3p^ӞD 0nUͪ,Z;fײwbjװhŸyul;A[UH%$GPAJ.qR{V#vOoc!"VՐQzЦIa)]S 3ؼu r##& fZ2Dv=̋ @ l~YE`)1^{pB؞'˜ҷY\4i@lBqs7˴T~C:f o;OU "n&q #za JqTնc3qNؕ{=[DþcNdΠm5aN)ߗkӡ;rbϖ֗v5^_]Kݻ}u>08|t|y㎱eG@Hvᰳ1B&u%;ZlUethujzGgrmgl}cJ֎#ne/GFF'"n$̈ @R `U5\.V5]yV=;$X#K+健(Jr7q͘`偢(BmG@ VcDF, lo߼y Oٷo?X ªrvwYGFǨ3& r:A.*2uy!mv^Zi~G]~UA_g .9/曊pHvXmʻ~Vi%D/$s9gRФ#5Urq*j뫲C,%ȎQٓ;h9;/صx~c%!+nu- H!IR,-8UREsy,BxIbIٗ%4^\H϶PR2#_0Gmmkx[}iPgU+s;uY V0"px 6(r* xtBeICGuN#ǎv ]m9zyVbDx= rxc<%5WA1cώG{d*X@\"u1u!f&;Zn1EK$ pDHmGӡ$O.TSxwl HREcRUM#RӨ @ γ0j"" @qADH"PUD@8!'D@$B1 UEDȎqADH"PUD@8!|mmIH_/p85|G-lmtH0~*x@Qw: Ʃ{\fk!4@9c j0;~TI¨4<6mR9#_%nȎ6Y ٱg\n=fݩCqGl,+_0z+n\ޤw`؍J< ?WetXH7@D%N u,%yV&OΑчɀY![],Ogy^ S5yVh%2(;1HU}*I@έf]r:zvOyCϪD1v~Fhj Փ)Rh7&x*m)'J#9CFF&tKEDD@T1$]r#C'U-H0 ٸ oior~:g'$~#@gH_Ci<*gQN? i%C|LsA3~}#K6<D8;Qrn3b 1c nr؎Ӆ" E" "`D" "}@DCmG;9" @!~m5FDC!| "~ ;_cD@@vC#"ȎXcD@`1 cE"bCe#ĥ @ UiRsd4ih&" Q!s-b>?ćYDH#%&Aƨ%ⴃՉ=[v;qEUjs=Խe%$^M-3` 9he{+?-?@zV~8dTW7H07qL=w-Q!0~ⴓ+)//Fiu7Ky`ՍT|DjDž5:.C{^I`@x|@ dƎehmj#.d ?gGsRL=O\ &MQzhnyMΎ^ ;CG Ɏ`&#lfy[2?=]XrJ1HZWS-IG]:ʝ.aR7=;rڙĶӄۄToSKBIq{x . <}tq3U4 n!&|.Ls^E43 TVoↅ>}*h\k!ӡ/$5%<;V\\#"Qj[P /fv +r+i8`֠+Z*).ȽɮMZrrf U*Ss廈b9 YڎuR\KR]}lf4ϭHL:f8\9gdvpY[dWdJl]cGs#{biÎ:31vM4C+''D~@B‘5e`G0 QhU`|iRqZG¢;55lh<ؙjc|Jr0ةY\8ء;OHzvT)bXQ7譥drJanTTk _g-'d7ӶOw#4odGoW Տێ\5NG؎t3(ɲmbJRүv`C)+-T0^Oo J@v̘EYpA#a,/ 5`"kxq& $D蹯6q1r!U'4Lb.`G9=Hab-JMԒe#NĔeIS-C2BóY$lG vUD9gDa;4 vY)d#Չ?VUsҊm+$$g<98;*NQ +l5vÊ,i:fe 'c@)?MS5v*|Ub v=6Žҝ#GipL%u&;W-"rYs@xfձ#ȐܞGN&YUÓB̬#s5z1߹}wFpȌc;=IĎqܹsΝkfBx{;~d j18~zq`ݑٲcGruV!9@[買=PTm]}g:+MN%Nl]DRsh aJ MFPeS88CI`OÄP%Ÿ\N@#؎# * HGDTN >\ `H/2}t^PkvX ?xME1ob!cbjMq['0<"ӶVjJ4xVYv 'EȫDrЬe]y$eti$WSlVE.qr"Rߘ mGO`D!"n' 2A op':1=2J^C̪x 5Nc(ǬqJna;_vmAz&JۗfUaFNԑ1'MʯHZ~XSէ+YHOVǚ&>ic;v50|$᳄g4PBbD cr5w4UU{8wLvl䍝;w>('n<裍u|-iÎJrkh;mّ821/S̪\#Y$[ħʕDvtX'%;ny;F ('nYf̘1 yAiÎCaQr[2Tt ه01 (I-jPZL fw$ U&BJȎ^[_j #zʉ;vغuwOOqdGowk:,]^\t6ts\eU6sHed3 ͑bd[M:ɐ3)?M4Sc۶mӧOC=#E ӆ*GܸlwnX10Tj LDmiMXW}PYȎ^Wr#RW r$c,Ў&/`A:q8y&A&Sbî&sEe5ؑSo3j@r1" 1^d2m K3:l  @R fsS>^bbO|*,&u@gw9Tʦ+X9Z`o).pJ@ q &E6 &HNd"QC'g#`>B2kG )@%{9,5 ~&g.`'|G./1q%Z|Qڌ;6M̪4Du3:lYU!$Tԫˠre;4!qG^05؍ԞHvܼuGϚ5a%1Y hѢ?8bqV)mQc1-`qPbV%Ue UUţI7K3I/ 9\1Q<f4s?Bv_UY+I'iiгЩB$4iÎ^;4!(usRj5g+Tţok(e"LNU`1ëʣA m1cx3[cY9Yȗ0= HA r`hʳ8ft׮a8U|"xR"'0dGD9 @ڰ#~IDFњ#dZ4OSLe(#w}mw*+-4**ؤnfO*W~o ! wXAv$ EH3vtjrlۼ榼T-s*Z9asdftH#4U]p2ڎ. wU@G9G mѡg5oyC|}:`#Lz7HĬ4zߩj aɹ,ʌSGv hdGD9 @ڰWQ9ѷ줕#tdW$Ye^6͑)" :U)Q5UMKYZyǂ#C3x^m[=$vK Hvth;F^L@A7aW!׶W@u D(P:FcضYmU6qi=BoaPL# [ OcN)rJq͓:# " LBdbT\ڎ޵lqr"<j.re4.n"6Ź*M@uVَ9tgVcKށ^R";Fn=2/:4OCaIUs$iÎ1Y9Cm#ʹ*`eiYE.e!1T, Y5/)"_?/\3wmS&uTWIѳjۯ0"ƯT>MK .`e8*Z챘G">teth/ΠjVPJ/|<Lnd%AϪ[0}B 6O0f)f02-TeN7ϥILU +oɤm=s[qkaꉂvf/'U­("Q9-GPzVm<$ѳOL ;ʞUŵi¸"ud~Z9P㎜!`t-Y5JǬB'~AӸ馰Y\s>Pd`nlMoĴMNDZc E (!:7DkBn| 1#3oT^+GYgu߶Lԧ*{be9zE8;*_婐<HZ1"I']`78\?vZdGvT]aMc7jmg!~ehdw2JMT^|c8C* a5did|f*Ih[Ϫ ;F ]L2";֘ Evhu\h<^"SY"7Ф#s"9SehX\&B>:4B.j)4([+wwT<yŜ@6 !CQ8i(RoZq[.׾j<4i+V:hN[r*q:C vf+қgR}@ܴ"^Ύ<]g g+˟*kq4>M}54ٞhfe6ber1_΍l_S"Iqbjew|v+n; 9;R^,Ї)zVEd[tC(7m9ȎdcƎhSeʇn9sФy<)`ȢڪZ$eCI'nl6Kt630g+ 9mQrN]]J\)-3phC˻i*e r*E:X5I[a@ 2%7lY&!JUIu 0R5qcy_բঠO28yqe5M(AaTx!<.;2d;={k/ 3~rx; UWY[=!Z8BlYߞSBX8r&_ӣƈ@ +~ #kt^Mqa'KQxN~Q[oȥ"D<#hX*eK7 Ii}8E$Qcy9)kcOFqL΂DaKUe%MR%qd "*/ߋLrd9j8( `8݆V4łR:z\G6v??JBlc,.\hE؎@RJrl B&T^& VC+ xt:KŢ$:8U%`J%FDb26*G bÄIbTNFEM ;?2 _(sxdآ:$-3oSAUr+]qK 8*ΔHYvr9%-&[nlPåwS!=;-0lPܘGVMY1~u,65Zv4"! vy(t^e34S";zb/ Qb0ˬ[EЏgͦa=-12]-4 y*_+G z{7# 2@ ^ O[AM$;FY-/x;xE^y!F2-3G[Wqܳ {M-ܪ,bJ+QLB Pb=l}:C UTb35K48ˉNr#Sm('>V?$8mEzVd稞7IMGI)Ȏѷ$c$@ 1 ULvD1yz+jȎᇹ tQݸczGmӣ zcxYIΛvC){c9D?"gODV ",Ȏ)۴X1D@@v:̈ " ;lbx![-.SJ @{V#]ϴU_POS;%X t&m)\93Vkv ;!#G:xtd:RXg]dx|™u f,P}S,hW^{(UmiYL>5ZF|'FXdǴ@B ļW+cxy`<)e#r`^t,GmK`3v\&l]~I7J2ǢcB[s^eGӝ"dG@S#ĂsJ6-}1c=p9Ȫ9+/9a;i/0aЃ; q;Q*᮴NT FҖV:WS]@*DY6f?Hw@'3o*d0 wWV1/넡<Ľ{k/صlx;(KSј"Ɨ{iJjnk4\ǧ .Ynx:DJ3ȳMԕyq;&nz-؅ԏ:aPa71{fd{0"-NO&tO-UG*J2aUYI{Pj,B.zjpÐ`V Ӂ05 `į )](rT Vf:m f!=v=dG@S#Dz\Jtd]U^n9zR5GMrw beJY${mʺ/].Nle)ڇک{y ) \erd(@$;E`zY|БӖCoP"nr'/_Iq*ؗ){Oy_B 4F,eҡ '5k Q/wʮ%茎[t`ʽwEB:<<`vidϻe-G8#(ct tJs@Y}Y*xt:bcD F*> lb_4J!WY ;1"FuxesED5tt5 ΠJj9biJl0:Nj÷<D>+.Vۃ Ȏ"DHQT- "zI%- G>E]zx/D@R)’Z}8a:i Uڠ~^MZnƬhMjXj6 H&hydG PWD@ D@dB1Z uEDNO[`).at&E7e^CVw#"E0_7etDHo1SƆok(} pxMC%薉 ^G~ɩ)|N3vFLFDmEȱW#>"'cVJ{;d="D 46]9+gG{jTafD ?xD -0٠ D71V%ڐM;gѪkֽ[=Z;L1%" "=AN"5#{<ԅXݸ2*tSIWioq#<;M] fmnе.n2Qۍ\@ O @ %]@@t@ O @ %]@@t) ƁY 4Pd}'XZوɞXS+bPLWO{hȓKW+=D ,qebg€Y/M=l1y2+{ìHJcᐐrD(Qx~z=˚&m[U ,]z V "& +jSi s&争窏( ialUFp`[ ‘IuyY(Vpr噻TYj( ]̀6,_;X%3.k R*SW`X, 2d1qd~󅊜OhZV˖е0d4 I/VѦ\&Q UiP/ z0`c_33{;8iyJl f,I;{+#Wsՙɲ̏$[^_U'2r+=rDF6#m|:oO셑'Z5z70bdS1En6c6)AG1?ޒɡ<0ܗ*sB:!ٰjئ>oC$MJ!%;xza,e7VgN̳"+' lDn[TQzJU/|wEzUC+Ao\hQ6gi "w3JjH\M\z;ٓfm3,d0ƬRF )*5R$ ;Z"c % =.-6 VgG\9PIEћ8$K?; x|~25efO:Y grڅ'@-N8%Mn_[wy[|Ѝ5DZ,=y1Z_GQkƨpI [}F!FF܋=BRKt.3 m Wš"Mh1YR]#>9AX:@u])ͅ XhTE`H %/wKa8o): F6d55,N KMQ^U{!"ӆ'PsKyXنsJ Gyb%U/jE#fLr ۘmV(Zz5Gfqc-M - FMi~rU62[hM  `BnP|ri~rՂ`MȣobM,ٞ|@;-`Ahz|wyKBbh@>!cv"y+@ x @'+@ x @':u>wC\=RְY)BO\~gc"O~޷@ [vq\@CIb %Q~N|:<{e_yU5cD\:@Gl >JmL@jGzͦiCNmyv$x:* ]&:Lz3DX{f` F<q@3=S@!O<2C\  xbkiiT/@$"C j1VZ(0`As'o1k/ 4`ȵZL+ Xo{H:Qzѻ'$ƜkT/@$^-J ,=C/d&eKdfe8sD?Nx;o;W_/]E1p> Q_qbZ7A35h4KW_} ~wLij +{[2#p[r]ea8zpvk}R-Rz´:M"Aqѩ$x\۫Ŵr[i玧iCH燛ӕ!ΞVpqcA HpĴR9Kk ̹F߽ Q̫"x慈\@ 0O^ 0:M|rNo9Yߡ<>" ?XG@" Q=1 /]0_ W~K f?F˗i}9+&m\|c@v ̃f~3v.<)>/]NvCw|rlxHYɥ]stg>s}⋝0F(8|WVV%(J[ex)Eop<~ 2U%#^ͬnm,b*!5/ 4ՊnZ#rZ\۫Ŵr[iOիWΒ?N!3er_J(@ry{9U5NRZ깭P`~!q=svt" tQp{uܡiOI0Х`>+/"0Ls^zs7/Rs'I\%oj&[;I܈KByDz~JvM!k'Vn+- ^ /| ZZNaYkF"aɚ#hk򐄝4uK]_xΗţDݬq`3 8AIׯ_h  *y39`{^GJxbIZٕowgg@p"~dA4M fĸrHkr)F駟Wz||iX<3>JKM5B |ѻ~?h M^G^Ap_DwKJ7t56G&>Yh~9ǃ,gړϯ<1 R(zYr0BsLq/Y'&W{:?yɏZש~i8 uĒ~ۃ{oA'f.lJ賃`cႣjςdqtEpJƽdA&GP./y O~û>10izpvk⡏٣Mye5>{~"B; 7nx>fy59 ZA.~Gpm`래/v$&񥝩윃NVWJP8yBWU(+wXq[ލtȭ8mgblj>}aY >賉Qh0y$,/+?mtZw£aP%Do^6Ԣ,ɥ 4syxhOl(; vd24.WVnonTm95MlE(C2Fqq->Ԩ6uO|JKӞXgby0,_&vrgN^ߓ^齛xj~qD',Pe0FӚ?V˶K9ϥ  ݉2n1X ,?0d߸+l |cl0=d7@킖eYǽ3t=8mm VaKt+\JsjZ"v]23Nf7yls<3|U'/"8rQ9}d"M%gy"g'{*g( ]=MYB!"μ0eIBT懃jgl&#qz=MUXrrlG%)c!GiP,d^ZWN9ʌhG0_Wţ5-|)NE¦\DO, UeiX#iEj7ԋi=T@p-_җ!+Dv}YjN unH{<_|Q\H?]r;46:Ta9= nݺu;bxbOm;al90ShT:lFR|19;;*4=KƹO; CzWKM41Nt-/w^~RDoHjrO [iAK1} }֥zىd%cMӲ'({LK.O9vf N GùĤ 2N s F'~-։&l B+37L{HYg#Y^%nz̺%v uSR]z7񍂕.N51GSØ}V;iJ]։{_-Ǵ{>`.t- Do(Jw0b"%ws=@9cD2'kE('ҧOOO7S%NAO O~B:+xf!RV܊L/_v7 ~ȡdCb"EO մ8ptB""4D~ UGa @f@À-xb VA㣬B /@Ǵ G|~jO<> M0ns)H}(dxb/;%%ZǔZaN4Օxىh4Fg??B(Jڢh08J]{ZؚyizLl_H/'W{I_%;(+_Zg8'ط,74Q8W6@ ʹQT232Z8x1I(UmMEg~g ts;ͯ@e_f}C8Ñ`~KKr:|_/}Cșw6J[XE@2pMw}Bhz).ePSJz 8H*w&t[l#+Kd% zh;GƇ_˽.룿#MhBZUmE}kl"3#ckWL^[Vt4][׭y4h h}v@WST1 ?'?IzWh^@nPTW\3f>9;40ev }kk@ Ghv XӔ3 =9Yf[lq|3it2W@RX'eS~Dygt_<[;da nqG[Mͥwaj fTpp0P>AM7` vH1}`2*@ krV1z2ƲPr)HC >e=⑶&x*U7v=ʦ'ˆjeZ#&8{@(WiUNJ?Oh}\W^JT :bG$܃X >ơ*ڂ'uCt{^\56TO"F ;CӠYPV~xy\.xM+c1R{lJXEbԕUe P#:]Zcĥ"]O H2hts }fJ(`ߢyì U.]uDuzj;I0YAy>naUIW'm W ]Ҍ[Cm")hxoKUQ~P_r PŢU:nV?(T. {AⰨG qZᠵАۣsM>p@3X*O~:LIK/JTfѢXK1JE뢼Pp簓>^% 2gh <^ OL >RX" L(QFEt(F"[tp״cQ.P}Ow`xڕ A^%@*%h6 zB>Khh+/\=KRZxǷW_}׿>@*L7J4:.I_|a%ꢊP6(ΘN.i{.m.U-SѓznKn8gV-4#Ot+ǒq[@Le"Ur 4A3hQ`Y\1˓x[Q>|-\ʏ(:[Q4ˠNߪ-4Dѽ\ujer[i@ )yKTD?\z(o'+_qKnUJЬpOgp _㝂PpsXwõ gx+ :x(:,/]Aׯuq$QG&UD&tijm !'r`.lψ1qCeǫd!MB:j͛ᩌM`3L|O\ W~G/\abx*vg+'|QK! W鷽%'ˣ\Ή9r+{a h28IafvhfxrqVsJ-MyX>mtz`4~-@ՋVf*]z3O c\Pc@3@PG4#<:Ok[W4߯ML!N{kGNDд[z9(4MGѰI\=gC]P eQyiV)ַ@lo{k_He௮JxBhMN|ӤP|>O^L(G<* @;ĴR^'J1C n=% n7i4-[Ch^e׋g?]~g\a⮲Fw%qG%Lk!N3$E SO\#!a|Xla0:7?3/eV'SC/M׮1x!AS:aI@'zyLiîBGaZtwM׫1xz5ڐq'=XY$P'2z MUB\˝W'E ?.`FڅyHp-7=~u4}bN&!ei>4Hxↀ,MiiM{(q-,S銍䲍=1Rx@mLsvhB„!p:%j5 9?#5nٜቛ/ׯ_j=ԓk\lPX/7\^v(,>Xۅ$mhc8ZFZͣ$7 /yF% ?Һ/:``NzYGϧ[{7guHhzFXue11:Db Qx}!Ny+clQt)9-3?ٲvȓՓ;::ܢNfKF !ɣQ 'n^/ӒkvyWb^(GLe9 =}ttqR0nSAӢdqJ'nNWSZƴ{;p`ځLixi/?q|jY)=HGZjZ(}6@Ch~w777瞏~0 &<5jhBhAַ.c)芒sFQ8ug}`^kbwzVk=٥&7/Z.! XPx₀x;Ą}cK{lO|&Rq 8O{|ALiA AyUJ ǥ+p:4[y۴ x6n-ĔK;L5~c%L! &165X<Zm>VRGe:F/hP>BL'p Bt-}8 t u9E&AoS,D⢈5T!`["Kˎ{}8TOЩ-x8`O?O`ń^"Њ'٭IdƦ2 dGB䆱 Єqq|f#-R5Mp6FkdTW<䷥BEI-˫xU7&&I <%IwOOO}$̨^cP}5#6pJ4U˧z_-Z/lʊ8e1sb+{'qu^rIԲ?d~Dv' zs6@5GdnyK6yw.΅Ǿ88.NrUzpaz/"Μ{Nמ\ݜIKdC-H8^=NYFB3U@@Es7 "Ђ'viC\,kvzW.%s{w@TCOݎ />dzlE:'-ǾUIs?ĕ&z|VDjz3mxbO>>M{b9E<^ً3ڸ3zWf4mU<ypwҭOz-Е @K_7O2m;cq\c{{j~.omtZā^+oQ8F$ZJ?>D~y~|aso*b@W귞7 xs~.=Wa !І'”i+rL׌xUe(&;[D4>RVX:!p;a/_]ׂ۟=|'D%h`a/Rnm$6L^/[*?}w/u'd{I|ou˧n}P6_8?+?d/|Wß{ tL#'Vp!-%OiGP䝥 oxX/OvM%k;]R+Ͼ>ڽ"_/D|{oK?yyѿS}yhNE޼zgA\o#SogK?z7~I#>-Zw-ozww&SVSh/`eG }~":+()N:mzb %k'^s=oxW iH 9kF;/s;$uzsw̝׿Or~?ċ$Tɘ~|~C?zXN elus0ē"~Lİtu|7W!oKAeqx^4U*W.9{ᵿ\>Ub%( - !~#_Chz(*V6S)-y?fH?x=%%7"^rxblΣ vv­Y<)=8g+E8Qk#k"̟mws5oByvk₺@q  >/oZ-^}8Zm&,wbl|h mOK~= r KlQ@E~»&qB{;?d$_Yŗy} J?_s񣱺~`)ׁ7nQ. q)>Fp[u-w:uQ˵3UϯT_HZ͟  ock_pǪX7MH{,:}ʊ6@`TI07L@h Nzw\*]V=D@+ um?.̈f)mq_pwrpp3gzŽEW@ 0ڋNO7l]` @ J"К'ݠO7l]^__P>X_HOM$}A|I};1`RI2Hިu{SK9_d,) pG-O1q|}qkEzdW@;ҷS6=jud3ďݡDI %hKX`fryg}knjeіGZ3~@U@ԁ@+x~x]Yx~ne(a28ak;8bFTY3Gס~ 裏BD8hs_){Çm,|\1[P4H@>y-xb|Y_Cޖ3+v3Uw;3@ #м'[.p("okrB*mG.+>dʥIyP @}4\-oD%_?׎fٵW$JT٠h6q}J@ P =%3+3GEVbN:>OI[2 uEjU@` Mxeben d@"\ i?+w^zF^x4մ1J:5 @Կ~bI{U$?S+IH}Px@Q"OoN4ӂ'.j } baa߄藍@k [:b4RIk;̢:N1u;BNL&*xyyy:&l6D6qoZk*52G^K8(n؆V8T RiTрpGң:GA+0 j@VQO?ٙkm k.ml҇ҧ[ܸڴ[+ݖ"ݑIn9[c8 "c67 }d5򵳝Kx,>Lڗ>v|:WGvL4EГPrVJ$}BJ*@?ꉗwi٫_u9s/֨rn҅U^pſzȳrZT=Ze-^'Ϛzëƍ^ۺLd|vpT+Y O!hO d }dq:~\8erBorʪ=Vy\#&þrOT"JeA`PJ ť0\V< "I.[&eNE %7sġd,ހ'2! 876--zspayӲ60Sddmxzf TTyCk9@FN#J x1i# \h^>cӎ,i%p8_ͮMGwy$E M30f?%%vҭ\`^pGx#-;og?.eziթSŀ- |G6ȴ܂?c5 ~ꉢ rQ+C@ * O\92  ۛh9bɝӤYa3# !nTxN `yk6LmAj@$S2W,͒˶}*0] ?6kSw^`./ޚwK*O#N{9 SMN418g[{O5|cXuhZf'chSI%0Wԕ/BC3JIh;sbbߙg(G'Wa)TF_ dx̅~+K PiπKNK{ۇJ0 eHh\p ,=!Op5 B R 8Ϣz5S3U DYZ6¥-Mǝ/3ZXc=E|X~3ZgE2k'$8E_6 a$)fykc~!"d.='G..ObC|<ٍN#e[`R!h@ds),>II_շ=:Ȓ͢^+ BiCAe9ՠR8*ž)@Jj-Mu a0 |*k# lWkRnA:@PT{ܥMHTr3I[`X JQ!o0n:դfve$vCR~_E(l{A3n3tQ5._fx^(ȃO.|Rt3d5f%sS <*'a w.pb*٠nYHf6¿d6BjDU6wBueAA$gkhҚGx/Ge(WYr.gWY4r<=:PGG&'[lB8 Z+T Gh̷x lT- 3|Y|BT<h3WV%yPBDv*ZKk.fMZ.`XXWP]UCmܘ*R;zpm6A՝$ CAjQNiM.`.qOI2{<%jXOq (%er RR_r@:]ٌ2KBJOKa>:!C9yzq$2cהN΋TЬG䒊rs%ZLQfQKJLBCbC&NқMhZ(VYAuTVnk1k5}dėxql-7bܴ ە<`cŸƈA2?4@SLiNoF6KUDs a],_.k>HTdhRˮgjaDJ P[t躞Ee]Y*HdgTo((7Z"tBZsh!E5ybk}|6ځC22o9u10qt~4O6U]WP٢YX&G*QFǖ%seo kD&OP:H7,YCP!ŧU+nl[i 0?=VWZn ^:^=PpUzվMMEJꖫW( jYz ZYz[Y1k'Eܙ7 ܩ0Õb볼G-ĕ㏏nK C+',TOsX9Tk΀.1z Zבn+_bMBkˇioI h V7VyTxߔ'&/P{e' E; NH}ꛥID> -'&|Y> /(o"RiI -Q5M='es :ё\D'liF\V+t m7Q|&lužހlZO]a[e:t,{YC1Tە]Мi,)џۚeɱ[yܚ.ģUSjO(<Ħ.ڭ`!Lw[Bl@%Af.7cdtTA:@Gͱ6,-**ț:\&=!3#9W9$gE(W@tfsvI*q;ReϕZ/˶ ΒΒ!cF=آZuؔE0vCfQ{HRǩ2 k' ;>58:N1>5];~bn:` &D&iHKbꝡfèKj NДP[ B):TtڶL ͈bè-(.đ)4=\-?5(@3œl6wh h|6 !6'ehtH7ȎU\㩣4i9Sh% vZŷ^ ybvpL|䃃`c᫯j@ zڟ` @hjM

Qu5u`?57r^!}zWqg^5b ̺Yy`\[SϤ+YfqG ͢kun  X[LwV`#WPKp-Wfʥcj?v\hBDȼc^%Q+hW0e5I`YkZbi匐qe`ÏĆܻ;sM7̽Ms]<` 20.!V86E#9L/L}~r(@8ȓdصvwdtcdt* p0lTTQmM6추:--5#6h4o]R+QnV9N.9P9EP?Ҏ'{[ު~?l9G^o/ 7rh$N~F`&8t2mRv㧓 HUnHX1%r,k1ov#OힲFr،it5ܡ**Pxb9c!2g!^pXRV;&OA"&q{|!:Ccm<<;pI hj,r/s˹ OʻV ʙ3y3w,ʄ>N$w ?U;f)̢s^Ϝ?y?UMZa*0Jx̶fH_B9߮E.R~-uս;lvyXȽ3P~wTrUƗlZoo( YgVC.<:f5Ī]{b4"淏biJm!y$5W39na2Wj &Y\.u8g/0ST -YԄ‰]ir'}qm95B2yV7'ʩfv"qcH@2:&?n]$WIY՟ZCvÜa,tTv"MDK Q%RV5LNP9Wl,LsZ-4\\SI2DL( ٽr .!ٖN+yf)KHyaЩL ᤒd4ȧ{GsdAq`*>mNۍ\y+ztƙ.%(=|{R4¥)lPI 缎ѕ;(sSȁzJ;p)?ÃlKl{xTP=jLvO[ OJ)I6O%GLxWk_E,Ҕm"xJXnLtgigW{݂,JwX*GO\<Z,}gfeoK0ۻ@ Ҷ({?|)!Ԇڨ8@!"5 @?GW < @?GW < @?GW < @?GW < @?GW < @?GW < @?GW < @?GW < @?GW < @?GW < @?GW < @?GW @YO<۾lϼ*ū̟Rcg\~Cj*j Ȧ+Z$ ,Z?nfSJ+e\Β+iR-56[~+Z/tٚ&?.`uJ{YyY^tko%o­eR% dg+'g\ٍɭI% T^ Cg$=53 hvY\Pb?XE >˻4ػWW]KNcQpe~z.z7AZh@gU#غlXoi.bݞWHEnâI\; x\ͶWV\b~\ ㍅0gBf-7Ȧ5acYa$IZ.oR8^J1K4 M#Ϛf3:[PqBnŝ%mo3U^GC Β2xc*dF Vln-;$NuU+huiaESRcrMme 99@:;X VWWIQ2+`yȋtBF2_Q2"Zn\q*ά4#ȲiF8Lڭk‹>l5M{kWp6nFѹemX^YL j4{nr9R}n1S;jD2[)A6Jhf65ӌUIrO ȠY7HqΔ Y\fXAR"[LENl,Dn>z⬳y[&u%]i֖WbAT1j [ŪKscLM$Åd%")A6 KwUDnA0`!M*hyrgFnq֯a)FKX;K~]Kd]s3GXN|uy?76ዛa➀0eƑZ齛^r4>R %(R}U@v(9>GqeE< I42vdcȡx">xU |~2 dGER=4>9Kڙh󆄬}: +? uwE!՛sU_#7[XuU~05cE6N?!% 0VHk`F'+y,8;AʒW--˜`J2-2qbf$M*lDƕjFH:Õ7I *js/5]bxxl]6?z>!% g'_}LRVݭGh)72Ϫ FY>VBքZ4RBnFɵ1{YTӸVoO.܊/p8%[Cah Ln:frs=0e{L@).|8P3;[qqGt>H$3Wu3{3Oy(ě*j[mRL$̢i DHJIYL2I4і֮Ԩ->[pwۓ囲?Tf,]h}z:l,ZuP|@3,M< 2]泡k\WRZ~y _tH A (#`8-]p F0ƚ'-щ &r>,7/VXa2@ 4]&Wkh84hٵ+G7ng`HTUGW ]#M'K e2{ @3/ K@3ج' sA,qֳ=vɲ6%љ\mGy{0w$QFM!4@`45Z8!8@4.  c8@'K Ɔ<4y@/@!O<6C^  xbn@`lM B/} c8@'K Ɔ<4y@/@!O<6C^  xbn@`lM B/} c8@'K Ɔ<4y@/@!O<6C^  xbn@`lij ll0:0[;Kek j2XqVHi8}/ap펒H pSβؖ*ȏo>UTSŭGC@M,݊l!~VHygE G)X=8<;XM~ocHU|-q- Fk2ȵqƞ[yr&ՍJk|`17ZWe42]qc3^S8&#>a/2޻9cѫeQcym:_M[^/q b-&C=raaaOoQ9TM.|yUfԨْ"/_;XhYqZ@ yN&9hvgaGĄ>@ YAd[SDenRtH da3MC< K&^˻r"d4gө\֢)ؤ)Yڕ(7OukvJoq)y ֬dcoBdR&Ӓ71LbI'fyCt_ٯp %͇$<&E_+j1Gȥh>{ RDLX E2&Z2ȂkIP(D,JzfD21gl3]@̘8b5N[g+@5HLYZ_hwFAQ}F33gtLAl#UeZ}:tOp5LE$"?l &*'CZ9c|Ȓxm@ɠ`Ce1zbi<}rZajQmӝt՗k0.;t)SRH&ETf0OBz!Y֢o1#*/Ahv J.~yN<ɇieZ 1ĵ"ˉޚYb5>h 9N{OaYVljmoVJJT7'3F"v_NR_N$#8˞VDa54Gp=N0qyHJqv[O I!Qr56Q D)g7I haq|8Wŏ*g(,r1~pFHKU'W: &mN5 h^3XcvmkDo8tۉ#%})SpW>F䊳U;Dx0v V JXۢ/] RwpP:7QB&TBv4iBӥgMbUnxfajhCn)#[;UY"?@Ĩf<omzpipԥ#Fxkɻp!7ng<eah{8trU8b >w,8<8^~gYwE+:E_!dw MXX馶I<1 |lR8܄;&SG͙$a@*Y%cҒQ=E.(Mo+#9ĈMZxO(J̟$ʭiBrq\gv(Kr-Z"n^uG rlTPS[WD E9l(`Bl2Q 6B$Z|%m @[[[!@ǙqAWH?͂:~Hd+'R)A~]X -!m(!Ha )r9XGEjwjl?FTRIgH?&ؿ$JdWj9&j\="a.W;u5:@ ۟*B*phPK![Content_Types].xmlN0EH-J@%ǎǢ|ș$زULTB l,3;rØJB+$G]7O٭V$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3N)cbJ uV4(Tn 7_?m-ٛ{UBwznʜ"Z xJZp; {/<P;,)''KQk5qpN8KGbe Sd̛\17 pa>SR! 3K4'+rzQ TTIIvt]Kc⫲K#v5+|D~O@%\w_nN[L9KqgVhn R!y+Un;*&/HrT >>\ t=.Tġ S; Z~!P9giCڧ!# B,;X=ۻ,I2UWV9$lk=Aj;{AP79|s*Y;̠[MCۿhf]o{oY=1kyVV5E8Vk+֜\80X4D)!!?*|fv u"xA@T_q64)kڬuV7 t '%;i9s9x,ڎ-45xd8?ǘd/Y|t &LILJ`& -Gt/PK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 0_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!0C)theme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] M  *r#'+~0`4:^>`CJS6TU+-/023579:<>@BDEG 2 ;&+139<?GSuTU,.1468;=?ACFHAB1BrKKKL1L4LMXXX_  /X"$P-e_;2."$ 7Kj11t`@f(  z  s *@@A? C"?J  # A"?B S  ?K2LMHtwZt::? |)7777KKKK*M*M.M6MM     &>CC *7777KKKK-M5M:M:MM   >*urn:schemas-microsoft-com:office:smarttags PersonName9*urn:schemas-microsoft-com:office:smarttagsplace=*urn:schemas-microsoft-com:office:smarttags PlaceType=*urn:schemas-microsoft-com:office:smarttags PlaceName;*urn:schemas-microsoft-com:office:smarttagsaddress:*urn:schemas-microsoft-com:office:smarttagsStreet * ""Y2c299LLLMMM@MLMTMbMiMqMwMMMMM(2COTZ}$Q\ i m ]e \ -[ycmJKq`!g!]"h"0#7###$$& &&0&$),)))~***\+++s0011%2S233'5-56!6/6]6&8}81;=;M3333333333333333333333333333333333333333333333333333JUZ2LdE d ,-myIjm3J;L@!S!!!"" # ##P$P$$$$&&(($)b)))i*~*^+`++191112%2334499s::b;u;??AA2B7BrKKoLsLLLwMMMJUZ,-mjm"" # #P$P$$$(($)b)^+`+A2BrKKMPTVA&3m*0^`0o(0^`0o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........VAP @h OJQJo(#f$ F ! 8:>RVyXo-!fDZMrWj@ ##cL#%7%-\%"$&F'N+-(-J0g2H6066f<e)<5@qB.C*JEG{E.I{?J Kp(NBoNCPQMVD\_W`H,b(fChcimul?5n.nps"r tht}jt}u+Sy!ky3{%}H "My Z3 2{?V H9-[%)>tJ {F#dcth >C4';PwmO'gpk'okmu`1*q(E(yQdsj=L N Vj-/0Kr`hv+)&MbI]5m{6YMM@MX@UnknownG*Ax Times New Roman5Symbol3. *Cx Arial?= *Cx Courier NewA$BCambria Math"qhYfS&j 4B ' 4B '!24MM3QHP ?Y2!xx  Preliminary SPEC for WINMORcodecGerald MuethingRicks  Oh+'0 (4 T ` l x$Preliminary SPEC for WINMORcodecGerald MuethingNormalRicks106Microsoft Office Word@[5@JZl@~@b@^  4B՜.+,D՜.+,L hp|  'M !Preliminary SPEC for WINMORcodec Title 8@ _PID_HLINKSAXLNhttp://www.winlink.org/WINMORP !http://www.arsfi.org/winmor.aspx]#mailto:rmuething@cfl.rr.com  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     "#$%&'(*+,-./05Root Entry Fr^7Data 1Table b-WordDocument%SummaryInformation(!DocumentSummaryInformation8)CompObjr  F Microsoft Word 97-2003 Document MSWordDocWord.Document.89qwl2k-go-0.9.0/docs/winmor/_ARDOP TNC Interface Spec.pdf000066400000000000000000012221561414214701500221150ustar00rootroot00000000000000%PDF-1.5 % 400 0 obj <> endobj 414 0 obj <>/Filter/FlateDecode/ID[<0BAF2BE1EC018C4DBC66AD3357A877D4>]/Index[400 29]/Info 399 0 R/Length 74/Prev 336544/Root 401 0 R/Size 429/Type/XRef/W[1 2 1]>>stream hbbd``b`f 5@1HL ~+Dq/X= 4q``bd```$ S  endstream endobj startxref 0 %%EOF 428 0 obj <>stream hb```8 AX  欖㻒B KܸY5k͗lRlH%!&t0k4l&     l L  Y[@& `LҌ p000bdޠj;7@ʬ>4X灹 L7 endstream endobj 401 0 obj <>/Metadata 38 0 R/Pages 398 0 R/StructTreeRoot 72 0 R/Type/Catalog>> endobj 402 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 0/Tabs/S/Type/Page>> endobj 403 0 obj <>stream hĖmo0ǿi?N2UhPƊv1)ʋ\ JVL֎:!g>ۿapAa'`3 w8•푄ksC0h"qp59?(#z;vmhgZiU/]ژb'e+ZtunFNO:4"o(m9HZ$-C:*ʹe&)]+^ɷv3ɧ|N;xV,0Sz/M<_D.]ؙ<'R~n)Y1ZM2tLFt%orf#&5\蠈̗0zelr./ vۓ90,^iF9 '^Gd~rrYd 40֕9'.̊Ez6|bR`ٜ]:Lðl -=`Wz$&>DU%(7xO_dIt<8ˋEU*!.jq1  ?1M}yc}/qaal= ΋0R3T^l5%(QqhWn*Wx 3絯찮y.v'JY*)>stream H_K#1;l{If*uŝҝڕZI`fb %9979g M0lx@Zi 2t"T5*SB}gnq9 (؀4U)&sq44z0JBR%JnB"e?4 wa+TFَj#m8B ?/'.8r lD&epcN`2o1zzt |ݙȁ ^6.>ok> ˆx[7wm}!/W>\ڛAp(OC5;8]&6Nugrh[A7tˈ%$b6QWHlMЄb.OL|[ 2* 6\ S\ Z{,k{,KM )UW= endstream endobj 405 0 obj <>stream HTak0Ҙɖd{6 J؇v ڱ!3ˡ:,q9ӻw7GO@KƠ#tzlP>W4mGXk7v`6%M=aΚd dv[=cuVz~ З7K*8F(VCwt,,Ͷ$^zO#C>Yyj @HbiMR{AGŇ3 ~UnW쉤攠fQ'B =q3d[oOUЋ&bPj+U֙|wWΈvlLJ(#5=Tq 9z;EĴ2|aUQ-0G6*Yr?آEwЗqEnnJי۶.ʺu=ö$OYs:X endstream endobj 406 0 obj <>stream HTMo0a/6(RJtrKz *#>1d!ȗ4 }^LJC(}&%H)V@|Z8ҐSKEv| 4~\Y L-臤_69bukmNz[QM EB#f ;`s,niz$SNlt=|}"4UiKgm2Ӥ+X09WȩB2צּiMo\1ό<6R]>stream x}Sn0>I$H"qCb/)R1!<ڨ֮gvvŶ@7R7Rh軓@plGWD4|"m<ߐ˱-dyIBwsz$Zn>IohA$ҔMJT-00 bN@*G${Rs>5C/ :XSQע9WMR"br7Gl*;%takaCݭD|'n )rqB!N.]U-FzsQg.EY,-Qeca_WY~,Fu5łqs5\#SNY}~AO( endstream endobj 408 0 obj <>stream HUMo0 Q:X$+ٲk!YmH?RNzPR||bo_LJ'!ƏiaRH62ȻLJ#  AR-["V 1ʤ0*Yv<1?!Czƅj(=7+ bIe-r7G"v7-< Á7ӸQAʹ1w?eyVQ qrW(AƉxY upb52LHBu"k0zk̻؁(,[[ =z{H#2Nġ[{wj6r*Jx= v8Py>r#QBvR+yCVqXl&D]|s4>;"GOpt9Lsx_epT*̝ظ<8_7&VjxaEd[GEWcq!أ`9}7µDKބD8[smEj4vy͢}<5mtL^v֝S1Y 9EW) ¬I]^بlِ%3X= ŇѢm5I^5WO!M*Y7q co Wj) endstream endobj 409 0 obj <>stream HUj0w)-i MBʔ]iZGUn!NF3Ēs}\eDH5i+rSKrqS. Њ3a@ le\<Dfw}#9R_< iIVpx* z}L 雈iSv4 `^oA,cIOXVpIhUDJ sx+ ] 輫H>*Eóq.|e,_3UrnQsIJ^XH[xߚDǶBx1WҦ̨ox5:wBmPM츞v9VLaͰN9uVX ӫB9WZ($o z©mdɳ܌BvsU=bm|v ;~Ls2;_i6 [V\`}HN5O)HseRxEbN0 pG>stream HTM0#h!jݰDA-7!$BPP-͛y~ٽy{hV]o~ާ~BI:"M`Z{3凘P訋9m'K©BnH^1&t|mtV%aimwZ"kjZsW ]tk;?&Y[|-L,nT0]X͇JqL}MQ$v`jK =ܜhЖܰEYᦀuEe1s(.$O=E*E. _$w8BAkB|-!Mn]88*hF`D`{p&/W<@<*%ɝ1xr@Hq@S@UJnj!]q탡MIԁ}:Ĉק\=CFjG0qcQ{튜hab.CW}6]>stream HT]k0}?Ga’ARDb+ y(06tΕ*>f̼BPiH8G$!g'dp{?zbQ(HȀE4B=t>Z,H,F1Ο9H N;1osڇbm[]vXUXҼ>q#\U)%䘹j;!x Yu / S"8Zy4%ɇ=yL"?UQHhoU'aZ+݉JĦWBe?`I+%. eA0w$M9n=]C~龑o>rkT֥ř Mr)G+Y'|5>Y/$Vܵ]uz+vwPJe)`iЖƳl֦(mA BД1ۣ6Bn*ߚΉݼ3I.MR[6;G,wbھCb&]*/B׷f*ԥn"h/oOF/i0X/ endstream endobj 412 0 obj <>stream HTj@}7<>hRI!I)r"HEKwfm7VUZ4gΜ l Wp0WH$ c_`8b W)Ff ʌ0p"U(|2 ~Kb0GEmꆇ tvÕfsRZW$aU3Z 6U?5 l%r֤,}(BnPE=XDG{,K:> .%{7I}B_O|*6B%Kc#1 DBˮ *)>stream x `Tչǿ{,w-df2C„%@-Dp&X(ؖVZZ-X&}5.ZEkYTVEΙI4<^+7|}3w|/>; p9ŲtkON3=?hZei@p]>jy /íϬGtή- Y\qqN̺; WW?+M ˛ћ8+:'=7.j[7[8~P^P^vEn|rbf/kY~InA`".kmj9rv?Lme;\^Pꥭ'eyيkx=6F<ܻ8-#m+; hm mMxpw*<\% OTr?$)wln2ǦTNV#FI1BX7#|W6XH\q,GOKG8|kp| 5hfҀf~&CR 7t *\k3q>Mkf>Y1LXעU95x ya"zz }qf|9{ZN1WGr`0  AiHL`0F"Xd0 `0 `0 `}`Gz q*J. D~(P\Y8LD"yE_)4i".Z]snRlɴ.Bq]Ӣ[I\>Q~h}>9){eG+2NF^`0Cb$ k M/C0m54g-t`A P`FA Sp5N.pH78QӨ nT/?i~w5YT!C@52Q 5OrPGA.j!"ȓ !5T@1"qThI(FcQ'Q 8ɨ)0u*F`"j)q(IFɨBLEjӡT3̀2(G A'UasZ ZuPz>̔އp0.{5`Pz!I`1Q`wQ[`!j+| "w`),B]^LX, B#eЄatV@3j~ZQ/#KQ;eWŨ߄Kp%ի2ԫa9[5Іz-|u5!X^߆J |@] D\}p=\z| ꍰJ757õ?Hpۨ?z |u|Wz~ kQoY8z;ԻFԻ&p3F&?}~!#ԟ-p+ꃨ6ԟ[F! {~wn{P^i`#j7lB}C}^G_R큟-ҫcSAI_Q}6_C+$/P(oQ_AЍ <,%>D}zP_^ ;QP K{e+TqB^_: xJz@M-wi8ϠgQso.y8LјјјҘ*Ҙ*鿧1_1_1e_1e_1%_1%_1}/{iLKcK41}/{iLKcИ=41}7iLMc4Hc4Hc4@c 4@c41}hLEc.wјiLEc.wјhLhLgiLgiLgΡb:LLߊ鯝qAHcS 42( (ԢR)*JQ&jQĆUF)@N8UP L-%V& u O{ TUspH/`0!aW$u ̭s+R (JJ&W)*R%*DH4̭x5JĔJVZ)*4jZJjneMفj'˭C0JwVq!XsGz ` rd$ G 1 QLf2M$Lɤ7zю52M -DV*dZuR-Z͠WNy=CC0pz"8Fz ` MKFpRȭV(UJQߏ Zf`ja,fbIXdzZRS7Mm0TF݀4`7Iͭ7;+Ny)b0 %͔s72K`0 cHؕ##Iʜr+ ɭLb@fsΞp6n[a*2RINѪLFјʗ( [1"ȭwa!2_H/`0!aW$*&h`UiTjK?*ZOMMu-N\.+5r].foZE2ȇz2IS0Qf~)a E]g<8c`0 ƐGzr|ɉ^^Y.wӞ7.3-=+==L%l56ƪRVQkMIZ,I}j߷8-0`~1H]wa!ܺ^`0C®IbԢ j`֠т\ov|ϝ9}gכ4;X)6fjmZf:k$5()xʛ31T]gbԢ^`0C~Ӓ$B-Y73vCA22L@z~F;ddH'R氥 6Ut8SSMle8춤JV ܊q E{(B-#`0DzLwY.&)0!]o\ ==BY,5[*ʢ. of`prAfDw"zkk nxbϝy5V5Z&%j;R.wx>d3sr F;n|Ʉ“ɴ2V=}Ff͞3w^m7,ڢ .&B0<:`S|(Rv~]dI'7vLqhtQᨂܜ`Fz.gnKMF^ըUR! <Fo41* TWv ;bW@yzFAgߓ3z.V*nz\hFDzZa JDz okVFXYXҨ|RkZhS8Zxu3PQM TD`eSKt PʛK( DQ%ݍbroFoW~oM=FXҘm 4- M di-tC8m⨪8d~T4>?}0)ѣ?R%gI}h^^47 r|DqSh{lA=|4fbmjX#=X蚹b)kdoz>Y7?1yn Fr(g[5 뽕c[S7/KԸ,GjzOy I7VS  .!^]LZ-YPA'0UQccu\>NꑎY|Z>E' lOd#HQ^Ws>_Iw@AZj@p 6 G cT6KhrW8]Y`72sC%Ax@#ceeʸx; tT-xapG갃ǁ6 ('q9YhӞL!/ Q#zSJۅA;vM+juhd`@&=Va+s37@[&Cs쿔p ^x `FZK'c:a$w& mVlljJ:#Qncci:{ъm󉙻g\1sLa<>tݱ-AR>KuJ',F݈vMj!Th2~;{އ`6b49xTObocFmųKg`]Mmom;^Ni&A#`[HB|- Zv ?d˨6h2a! &Gtfh,5Z<t܃TozթT3"j{3tYX᳡6PE4KuKu9:ܚ|TD΢I}ŧǧO7GSjrRA53~-{t:^eTөr=l01#-qpK'¥XaY,|/·xҸ2xJ_28Q[6Ƕz +ٝxیn~ӛ#=< r}yQttsG.X#2`98ܐ?33Sp8ƝEԞ=޽3:,QO.13@rXPr+#|\$e@U),Eբ(*Dȋ H#y*) #)22Z7D_0s'jj2.j4/ZW|~Ѐ(=^I JֺH8p.RZ{sCWm%j~:Z(s튩) U_" GqEoߘg3hnMAtAt [?i Ok}>x$|x}Ik07[hX戮YvBfeljh*]M_2L]\YWi5E*M [V *_%6VNKk--t_5ʸ9]"5`Jn^CPf3MOI>ǵ24keQ*(-(%C$CzĐI>NĐM2G;\ڱA:I뫭V|6 WF# y8V&(+«+____WEFx6qHeJ,ivl'-y~hƫ] @+FEoP_F;1 z hݤG( *W=6䑠BEcC%=X6]/kY2\r`Z.57;QC{=OBHэ ОD:DI`li\X{Lxu~i%tW,rcxm7:Ka<jv\%ߧz~pvW: K[qK߆q1G ML Gsn2)|<fƫp/4Xيܟ|7Jʷm͍x}=́qllwkz_ E'J)UzG q׸rE{B,]!}v^\~ŌLb!f5lֳ{+/\3oY#$EAkZ["nnw] GH vIpE:ķMOqހ|.w+=~dK6$ρY>F!6~,e!o̮!jFsaz-']DDd?TO 0iYf9d2GRѯdp19EJV2Y=CLh'Nr bdd)#5R)iNҟG\OvGI m$:DKέㅝ#*!?"@=9R) Cdj@݄zRva-R B@vZȵsMp~3ȃ\1:܄ؙId,w׀|HG"n뙏+cX'ɍ=! =wl"z왉Ğ$复Nq.{^x!lBI>@<|8A {箞w 呏j(zDBdϑdv<=3-u\hOy= y&{D=h9 [Hљn$Y^D96>{\>#99 ĥg}J-,k3.]/]]E/]_Y4G/GsWd\F~,Av2}9Y[>0Ed&QsT;r"S8 u 2la?-$ٞʑ\ҥ]fKETwUKAy0|(X4*OrEB(_yiD[TZSSOˊc8WjJހuaO h3;f\3}CHJmKR9L2=>츜XbDCOspaID6b{0\SCgTfw望vD`^3KݗzٷjEqhKn~/Nr;XVd%ŕr Bb~x7);B.h%rhQ3SLskd;T1c~BkkꮪMtCzEcQ P[Onز_m{9oC9,*evK>p8)*p!W3fLbfBmwPoMvM"bܒNJiwfギ1ٚYX,xy@k&:[v'h4- > $tbЀ@B5Y`"jCaOˮ>ӑ?⠲m5 hN n݉-2FSP3z%t}l=ItKU.l}#`:hN:FW\7ÿ'? YEٽ\rN;^3uŴ@D3i,EJ-jc ɺ<,5;Q;kQH(bp4/yj¢MZQE,*ǔ۞[^g5hs~×Κ{@DhӐ2R-(껾PWAl8aM^y ke*q+a"/S}ʕe/reZ+WgiaI-ծ+&]jjǕ+3HBV.MuYY:- !v( 5PK)N1L^'Xk`KXd;qX|[.*jK㫥FFemuS'<s gkMi wLE&Q9JhC#fe8 | "fxҸ>B P8?,?Ĉ=LFM]r̍$Op7B{v=h+dk$TR"YTt5eᰛs)J8 9h@&DGߵlFU;ֿ78|,\QX94=2Ew 5_>eȽ>m{g7;51u5:\pv:9┝t9zj";ցQ} C n%dxFO&G$eS3i 7^5NBRkV|uUmF\a Ѵ"e_蠵jf6 wd0/5H(S׸yѩp8J9e\Jeb8J|\5 5ee73O:^qvvvwl\治>u:_5µ.Jn%ӡ+g4Z9W_ݪm%eĻ]$ n!z6cL>β.X9kD٪&9` NgY*v,&gP uǴ'{>[kЭ$ű0h6[kYZJꛦ*jRQAޏ<ڵمO7VI/*䢹5K0X0MH:Py_D*`{g]<)k;|T6A©g/G`0lGnn:[ٯJSPa1yP_U(RF;,gnL> ʩԷ9"IA%ғgBg"~!)] $g* Kfd{vDʗ!$Ca GrCաUC/i-[J:Jh %3S9GNAGE>gJ*s'RVgM"ĻbPyi1qB~0 #AN#h4%4߄.9R >mMX3Abh-W1dW Rt>}*DC!͊*}h[l~D6͹/΋o=_;]ܶdž|ZZX;fƟsڹ-(@o=AV\`7 3&&H6 8Ao@Q+ DA!y0u[6 h59;_40Gi&ٓ |+;Zu/4 ^uIE]_PS*t 잓_]@Q%uIU 0mq5LhF2@`ǎ~޼hO6 >sZٚ+wg)ՈK<́eF "64M'Ɂ o}=uL$m6C)2r@28P G$q22O$DVv8*v(v ߠ@5h#BP RD%Wq.;[0/+QM,1L4ΣhdC34XCDhg̜&p-K||t$YbP _p>Eۍ[1>;o:hw+V.. c1n>kMOǏ}Hl̂#{R0uw*KDjRsZ+r9hOG.Dj[i_4B"v D!5!9|Ix2++:-:7)\PQYzod Xˬu*Z]?S+H8q*Q](FYO@U"~{#ZR1D#"i$A#9FZ$_(B،LbNYIl?Im[C [~^4`nAÓnX::1ן6\׹y|G`dvZж N<}=gyz:Y=x;. H;ȆCU8I߇iE : (!f411/H󟀀 g#:йqz0'\]ɦΪp}Qq+Oی_3^2~_+p} ki }/[nj*c?<ý)m)6H$a||:vɼdQlqre~UnF7&wq?9}4z"RK v`nmnp#q w'ƫH%!c`T,&639̇ؼm*xUk[VK{n};MsyecOf# bmTP ѻcZI |X --_ya_B,HZNS9ݐHwti|9dsR>`QET^eu'f;E|kܢFRja+t ƜC+Mszͬ_{#f?yGGnz|˟dW>[3~Ƿvz)J֍YA`.anW&2&نtjFmOC_E{uo8Q3Xi:7Xa 1rο` N#d!W`Tik-\8qWfEwJ0O+CRj~1·O8}#P߶Y֑~sOēP.W[;w+;Q֙Lq--m*kڵp̏yFV yZFTDTF yGJ !$/%%rBPQGz}>FWQkE:'שZ^8W.t 9l{b]zI#DRU%ZTUI:VUޕ<mjIL}ݨ*L#:6Y5#TbdhRחD&}mߙf=$!@%o&I l?+P%>(ZK h09T0yej nEYYJii.i.49k{7Y<}=ߏp̱NGd{d-'QT;B*Iv/ѝɔU҅vɹR4HPǘr, G\AK7V~$w),b:d(/ K0U  L*Lwx^GR{5|y$0ER&gu8\p2L{Ci~bG@n¿zr19=" tlO"`m"qJT5CLi?YT3HT5d`4!/Q(wY]+6r#HtcqGt/*\[]U vt|9Ÿ]]<E*`+D @kv(vRI7|9i@N~C>a]} o7l* !tk<_]+$*wH cT-)Y ,iz.kv72D|)EʓF/{{)G^.[>ℶ5UX(6="CXd~lNT.Bbܳoڇ6}1uC[p_2^||[b_h@@z[nL<=J6[nj\37z߹aX} q0@*Sg,/++Ez ܩ_,0*yPȓL:Jtч|LL*)̈́Ruxo '0Jx_&:̂dcseswŭA\VRRIQR,E)ɩ)IRHqt5%TLF5s儥b18!BKoPFcqծCيsW̝KsMVVT`eלk~).OBM~(d奡(JQZpmB>?_O HL^H79yy6:|%"8 ;W7C_ysR|qy22wV!ZX!Xz5\_ť$bJ5v$HPsbbrJ ըƸ=Vprn;rS;-V#ʘr\MePY1b\0A4bu-YMt x \17~ tG)^y]36GJSz<<WFF"wMh6Afi05 q>A+ 8N;Eu#;hq ^X I\u8LlG)5 S/mvP{r dx[0:qbx]Yy0m;1鎹\^ >"pκ9%NZt_'gukJ\E2Ai N7u#j!zYH^`:Ʒxk(p;u `nn:|D(!삟1xz_*4ǞvzmR[;wQ{vr. A)GFipQV~Fs.Taٺx <}A:~BON?;OpiV:8Z1xɾ!*dBI91DR7H6ѺSҽP3OQ805dVYo0 oŲ/fYe^Ws3{zޜq}_di0c60bqm-Ϡy>vG,*>!|*R[ʞtrׅ>ZNM+dT2 A7} а`E֑C\4uݡ֍^b9r߸8^:\!.1;`s|af.EQ~r6gϣlHzi3 Zft 5/n+-__<6 ˔&yhd- ?KjL?[0|l,E~NƂXؔ55ROFȺ _D\G dj%dJ^oG=sVٻ$DV ?Su$^I)ձ(Mxb5p~2u8T䪓sr9)N"W Q_AXh'mX#u1)O[B v՚2VC7bUm֦3{/O[G|z'/EQfRq-X-dl;ğEGΈݜc]b9WfN̚]]謗jj;u6SMvjx(z|s_L.t1ib3gH/sb.:h|M5j'"SEj3Xkc)@ L!|Q:YS6h6tL8]p91cq& sq:hm'0~c0RA#倎V/Ҍ/Nw1t w+IJ/R ȢU؆VSQ *R#)3pOZ?w467o׸GzS>wӁ#nrz6~x|ٯ??+m\={b gi_J~jnKGJM _HV(+ѥv@$  Tp[+bEwW4n=G _4f&4̀Ԡ8VG⢦gldhE@bkD'˨I0E ͢Q0ٱ$,ɸ[EJ< ^\|砄3uW/K~xޝCAqX zz ^-ؿc޹Nǖ< ֶ qERV~,a * vPq5`|u臙qx2Tr/a0e j_*`jZ[`>AC={dyR號G΅ #>>3vˑxv]2i- Z G 1 Y?:U"VM. AZ@˟.oý@CBL-y-Hl w:ƫ߬1y+B>Cܼ7|r˶\ LM7>lO45^ؿmW@ߟ4]Y8P*Z3"&[VwePLEJ286Zµ-` 9uAݨm[Gςg2!|'/sgngIUTũG qYGO\pq0STJ% ^QڂZ&BdBm'I!\g,Sxe|uD^Fr)UX,UXTEP9wkXUgslN gЮ5/#g~Ǜ dwF[Ӊ]X%|'k >=Ɔ[n6ܽ ?{c_z!9 [Qv>)Sy[aXq0:%f<<\<6/6ìwn$GR#ƈ۵ճ{oka7 &ʉJSEFNʩ|Xf:cFͤ2yymC+<+W)R9UġPliU*WUZ6K\Kʧ]rOoF2 [m&zN/%j-?ZaSkSR2R_Dws{nn2Yi0< N8c Z @ ?|dsn}!7Yqz X )}PB͚[J?@'4UK&RxL09:$,GOњQhDom|-ڕ1ـu;TއZ NEwr 987ߦ Hq|3Ozn\Y8׺Vy-x@:Zl)qD_1}#R@zoPI>I^_3/mΓC$æ̗}YW udEl-l|{(3iSq{k0T]Sm#/R&r;ڌI2dn/o1ZZu;sܓ96࠹޵ŷ3w$ RRTQH8i#=5hC>bŻā# ɘ) S&Ȕ 2eUn +I|/5N6ψxss4]a.t38ĺYEwq"Eg"p9^+RK^h? #^aNH|$OB绦/NERj|jvcYd 5`1W!3q:"1VxGd g`h_d&VFBc!&4?,+) w)q VXwY$^@l,J4Qt~̯ibBBK"im6D5:٤Нp`aJK.)HN,)Fv45V&DQpM"hC.GոȱYxa \Kw=\Gs \!v ԹĽ$]Z[-Xlo`7876J7ʷw1q:>b⣱G3g\vK{$6㱃濛r$>/Zm\g`5ɵOzcaj`JKMz䖹h̊x>\%H#θMJǺL=zKI8p8J&9ʎ! JKFo%R-ƧFH.<> +].UBOKxWv,rv)j?sM~:=`#ubR|[DŽq*]@moVG ;GO=uOٗ׿߫MXd\0xYPLA/LLWʙr~X?j/~ڸ`f*#MgfB2''KLU&oSJ4 )fqR;ʨ=ښ0uЂl"UNPd-#llQAY՘!uUWA1@INdId#(FIS ZƵhhnq^pG LpXF>0 -߅J;)q;0r ;Ȥխ!IK}p30#xf/9lj̢-Ɗ~+!\[i({V]KZ yZ 5Ucx|w>".V䄚* nr $7BsQz ͓oAaaFs =tv-:KqmnKK%7` CQ@ z2L{dKdSvSȶ=j!eؐ.fCBAҰa\FJ9X` ,D4oެ6b1XۘX ďM.VvNJD5]ä 77ȟ8jNGg:kr:ˊ(*JbW2.w OOP8$n$$9 Ssf Frc9679``-b苉 ʴLA~P.8rz=f$`H\̆(bcMۅx6݂MB]x1trUb+/k^>9=}¤h&/ՅtMk&'{UWvޞ|R=J]K(g!,aK Vu.lT \B K+aW3Hnv,|sG㞠Ggif6D眀BW&FU朮O^w47{cFXN縨ؤ8L#9M.&uԓ}Ӛ4+ ؀?Hn\āc=#ZEmv m*}%k)qgG5'r L}Иyx2GS]6g D*pWL1gOQLz~oOZ#$%sp$_(w)9r?ʘBqr%3[$i'ف~TLݬ-zJ$GS?!]"*'D^K} e@۰P#uo~Tx≉_ .2.w;;i FVuo՞=|}8 m 򀺰ǪoKpN/+S|95`3wy7# Su+SRXynʍT]57TydBlƮp26wyWm\\+҆x agAGM*8=3DWhTvW*g( JFi)mLۡ1vRcx2MTZh\o%%Zޚc,ͳ$ gT3Dnty $.qQ 'Oj)O_MZ'̭ӶnhwpNUVɔ?SBāT7WA|xU4Ri+.lHNu10a%ld:͐Xcy)cԅlU#=B6CdzN4;8,ESfb󃫳BVi I/˷$~u- f{l%q3-qSg:Ҍ4͌yJye{ˉ?!qb' B7)(%.hKr QnvpR\hqI\ZzRpRn[?8N߷NFH#XvN^؎lo'[>W44ۋM٬Am[;<ޞ{xg ?Q۲cϜd|TT'F`p)W<y3"s`>ϋ~@ݠ8=OxPlwhto(qX9el)_Q1 #i^?}0󩤓[ֿoYiRoR)([`Lmȩk 3wcmz9nmG!䣄ZF88dd>şDC/p/1 V~,KKsN}[?&T\p1TL$(|26.T"9^%\O Ui,h?|I $5KSP 45[pQp(V`5ynlxĂS'X)J!']:YF.\a q 4FBXJv)w(Sy])K7]PM"CzOB0mc? tjwDx=]]ZA>b9LRhe_Í9i0b %Q_TddYI0l$Lf?GA33<R$1hUq{$~q,|heÁ4u>K搇cGXT$TmYш$(@._ gL0nJgE6(D&M; 3CfJ4UʈqĴMpH.Zz--_5|3w-N),Sr V7uC9jN~;YS&wvE=HFz$|Ր_Mʣ|^be2.owHY{7;̂Y7S@toXܸO 4q1y}d2R t2eʔb QΘ뙾i)NFdfճQc~c' g}O߿aSȠbC΂# lMu>P?|zoz g67/g.VfP:DgL>xHseBDS%,Z  1e %57U7½leB51=Ht5eӛ&F0&$y[&k\1yUCE vΜ#;܉эUS LA IYi)eډ_z UHiRRjk,GX QlX18mxW 523`€hᐶҎ{mϢɞj7׼B5Lgr>66fz\- g;o+H~w}(.oz+>u"G&ayh_ڤcw@UAS zuHAE&{H9T.@Pp>e2S"S#X@., ]+ŠƔA^ÿ%y#1AΡj$&LYD6~Z 6q "_|ZlnH=.~)ncnP/KΙ ; ftjwnBM#QӗБ(T)>DҏasY5qX]?8rT[&\e%X]k6HZUf@|}Ҿh?ag3 pz+`/7o&ӝ]f[W]ɴǗJzSI_&L=05,$3?^m*^m~#8|xG+Qs$j=fc3 D"ssK^ShVct|msfbcSoqKPa}]4cwɆ֡]{[MMʙ?/y>W njGGė*//:]vYzZ]oZBiF(AM3IJ}ȅP^V]sCLr=|tTA/UuŞ11Sbx*>Jާ⡾OL 0O\+7c4@$L\7yftcMj81ljln42lwj(ULRۓ( SAڀdݶhOo^Ó?>o|'{[UnwE!oߞeWT*yȷ+0{T#k-FvST9c4&/;ZD1|(/Ƈwlqn熏><,'߷0ӧl8Z:oi!"&`_$x"Xy'D O) bjbGb({Fqb*q wS)º-պ'?IS];VJ;#yXJ%I0k ZM’,cqin8ZqJVc/ t-Z˵l-]dH}m(Fcd8FciNj;8p磧X֪sm´2])4+yMU-mXnv$6|bۉ6FapD$ mH6٨sqΆB6kdB_<ZWJڃt EUN` [2ib1XH% T,Q Åd0S-u ' DcHK @&yM_CgΞ`hbT#"uK1 Cec8[ %p@1񽿱ܵ9+tT&Db21880ʉ& Bڶv-6$Z +A} lԅ"薣>g(.ˬkoB:UsftxCm-tޚq%-{h:x\ukmX{_%{WrbiW>1/~,Pe -`(uTc婇 ~֪M9ɟ +ʷߊTX(GN(LДIh'Ď\ $gyηM(6RiY2EA-1mBfesJfdXk`b]N("PR@ 㢀!eE 3RTÞH -T*󚟌SfF,BieqqCL1ՄƲW4阣&h+ W,YA]Hs'-Z-v:Jw+=c8sc{%vImrWmcrTsSZj80.Ɇp-Q0^"=o~,F'HIDopVm G.[V㘰͹HTJJ-"i$0tF7 HڶbCcXQqHCk6ڈ;a kpf~W+hywgqG=?>1e[Z6cdbybXX1,} D,IyDUњ-*r+lo[a7;10 345( ҃LU'F蝘g٘A/?5l )$ Kiu!;lx*h'ӐEG *Cqy s,YiHhx7o^ywS1rj#Bիh۾yqf5C-խ@cjGWSȹi({{ܞߴzvه|w;'juUY'Z?JF5o]l %t}_BE$BN.@L`F6[WmX6m _W'٪`@**;_=Qh,Vɗ:4[6M5Q{_<5[c:]6xS3yDx"4cZZp#4N`h>h܁Q0h *$)3j!llpü  <<@$8o"@`$AXET 5E=zɼy̺~mA[̛|;/;^qT59 U ]`ߍ,ݠ`a0i5X{PXag-.0g_ >zႋw> Д37~ 2M0Mb0vS  ,I6txd*2qOpmdbkT7\#0ԡZZFˍ] %:aY 5VQ&3}m ?xk=.BS'nWr㕟}yk s|2g>yϟzWyqbo)9 >7ʷ|G~|5k2,n`c :k!x0Ɉq=$`W$4 4!nQ{缯xe$1_*6imYQWN3mY|P: B(%B[IR.),x52ꛣnr9;$rD_=NݩhXsN, 8GPwHe[r(G9$hFiJ(D MǛ>95^w깍:40Z͑zoZT^Pv6lnXxPJ[9o̧[6y^0[G˞3'P%LYFW9BAStQ'?`Mt#gJ;bbD7FdLB9.([CͿaYScz" va Μ < 2`YlpqHE/PRG _v!PCQ4t:jQ`()?F$闁 `: &$?_GF{&j%,W>pBNO&Ri cYeƴ:cT]='(mJHg,8YNrˆ͚,Hqc ;^S!Ìa| Mbbj`s̜۬w68 p_|)2ZKRdãν{.{f=sLLfr\ $HIEDp*iUJzE1"z)z8MSۼj2%W~򃑶ZP{ujey7nkv:\~^x"y{ޕg+nYiH]NGIh=KBt,8v e WX<9T!ɮd%Kev[ǖjlcj߰.O~C$<~é,`9ĀLe{zztҨ[Q=2EϿU}d)߿/|99Iiիqs]]Ӏb =AH Kj ]#MỜw<=x'`teue]Eʀ;t=ZjJAK-Kzw2dE@XJu:}Ľ(nϡ9伒Cεݕh>-:NcZɵk,#5$kwڃ 9¹KWy}Qzq@N^/)Yr+J7Oo~헯m;kFUFǾ}Q]`\P/D/vQGb&tNXVa(N:T/BL\182[+.5x똃K\KW?}=;Xd*48Wį`)enp󤹦f,`OҷM >i<,[,~vY VS[S]uV8R%5(UD EhQ L%Ջ V7FFc6ꮭZŕwu%7Y|р<"7c=$*w:W9+yyaCԛG ~M~815<)ԑjb&Φs<:ɓWS Xek/̛JTbuMZ׈ЏPV^_9+61)6N:װsBDA1NaMLYDۜ@N֯6,|yWNCǔW9 =atKo"F"nϷѫb!ѻÛ3ֳ1虪&~;贴D$70f \fQC8Zu8;(=]z lyRv;hq{(aw (慼oPUۖ2@, 7;%`5ү%s[ ɤwI)h*uc+NunS'\.AbP˼+p'OWjN0&)--+)1S>R}Y6IJ ,1APVZ%R4RFR6ڐ⊢T^lmoϲK4"5&ѴUb!¥ن^SF+ʚʄ@u̓l[2zM'ίfiKZNjfo]&}iΉǙnb]C' X0i3S] cNTXJKq)0ź 7]1 UgWqIb/5}w沒j}£"âw(z [7bR,/!ϖcFQq*]-&=]V/+-f;5~`̤i $n OajKs8fxZ+dn:(DY٩泲XtT_ik^IIa:0=]&~d+J+iU+|M>gIʵDB Yp~Syv"MlzԯI9'~ߖy%mB//V,V 4{xZ_zSSCR:z9^}5E~Xc]JuWsBA$c{邞>L㿋%y_-*Sֱ1շg/,I[~sCG`Ͽ6D GAPMŀN'd=%miv.-q9/F~o3'Av#0I,i?rP = Tmȶ,, D_tA@,xݎZ#입\~ӞG.MjMnLGN]=.mpZ[6::iQ'tiEzF29csH9Orڄ:q~rY4b}P~PrtϙGO$bDo%JP=,n˷m6g5<@0~mZPNOjr?^I^ܛ^b6YeĴy3{oL˲E.&N| deEV}ZYߏVMϵN3$J(!Egvغ@P"&f/n>+vsU,LMzMFi |v_<r%NS+eq-㬄sj.Hpo3[rf]4([l+O/iaebgŴXmn45W6]NC9~T\B^Dm _LOڗ|pŋ0h}vOH%hI:"QW"OimXTNr^[#]ݓَeTN\,Sfk{N]-M,͞VOl2V-il|Vb([ƏVOCAJRcizw^VdJ#(lVj|0R%u=#nר$6,~oD3{住>eTT::P@UÙaY4=~_+m? XNFW{_W~vכ*>|ͭf(}G EO{=`1]ч0}_~! %x:BSȟH8>EG6 Ը| mKDayfg$(l1](*PTFF/Rw):qԅvBeYpSӪ+ aOe[6YyzunOjJ]Ym(mF.̝=,_ _[?37:/KsMK^50kk+l_to89}ϓ>15^}>+ʲZ/R\60ERM7*\eY^{~ކo]{ҿy]0;{^rE+X5_YYɦM%s\2˼Ŝd.`Cf`cpEp%Wq8 &AF@S>3t ܿ1S T l3tr-Z Cg=qa T=4͙M9aK0b/2/JLXR9x,)xqHHs lASd1_έint / H3Ð@hpc9m@:9\\nwo{Qq$e83<&8^p.MJ4).$K6/TA"SH 6M:ᶒ~;L3OlH [d?ulW! nTk'oٛvaGhػA~S6t##,8*賓`qp!kY Ÿ=xX/Ĺ,mk }HB".;{[^ld4ȥʸg =?&>)Q _*ȽrdҭQ8K=oaV kz57\ze-eǵόv-;si;^[x*.Z{Vy?^=(Y&Xv}W|D4{x1꞉_sޝ#8?]nn 4RXT {gA>C{Lh/'6r>zk~[fW-xVj4eZ,$VmN/Wm*|I=  S~,? .,1G q>3ۈ nWnca0u#-o&?okC_F\_ED}x2fB bhpW0 |0zf7n!V; /m6>* tM F\ΦD4 c$+e+e1Sk? ,%w^>9) == }/?QbyY^??gO"X[ZV? N+Op UZI\BƧRK^xt3n g9s?/ | /Y1)d"@d̳J?AQ-#G/ _,@Ջ>~/-?fr}ۯ#-d dAwu>l3K7+M؞Ґ5 s .[ Y'=S%l Z(īQU5\[qn#q8Ds=w8|lܰqyqC^_ ԛI.ELN׈{ n5vɁ\<ȑII0Y*_ީj[Pr5nrխUUwgTwv^1Ou<@t.]XE ;]#T W=R5wTu;tѮwuvۧ>u󺫺gO=ROnOeO~Asϩ8{_WzFwmpξ}}wj8T9ԩ&Vݡ#*HRsx#}ڎp)]K~xɵ.z3}A BpYNn"u Qx W8ֵ^֧_1,Fo}%o`1&HR(n^~!3)M%%%By||H|Rei\c^ˋ:ku3Cs6mٶkm6<2#:2ccSf7 ev ֔yS0g !~! sM$C2-$A2 $?2ȵL4FczGud:GqdFmL4LϨzFed:FadE1"1"+1((^iNi>i.iiѦrB9'Lwiސi ΐi P PLW4LOǴxLKtLCL;tv5<ΰg3B6k!F6&PZ@s 2PF=؋zO]xB?@2ߣ zXS&_0`fUdT@L5,S2!Z / Aa`u .X?l6F*xWr@YW65(_\Nl;CH!w;!Pއ4||l)J~?a1d6yxڪLϳ5b8tt !Cv l5,/*j" +itzQJ~ YBC^Ca!8l%HwV'?@ X*`6R0\R̔YZdC [{+xo}[A[Aa5ҫmZE9 92Z1 Q84yVFg%2r΀ԗ<.[9CL}Fp#~ \(_Wu2[Y=d)(zSqPNqV7O':Il##a)Z^F3- 9|<.lCoUx2sR:sx7 p{A/s8PLx3s;n$_ %BnE)x^ |bLpN]pv#zh#ހط's$ \w vj `2'ɓv x ?H)2dr܈~@B:?\D@rs0+&˫5}8\րn7r|5+9FuǸU5< " 0V-КBhWEf#u-Ԟ!:8#ȢapÚ49p~ i8Hf߂t&1$ncy& jAO"t)gدը {Q~qsր8Zr]K{/j]Bn܋WapкuDz}A;[(~J4mhbXa @UA#E5 4,(^8kXpeY8˺xc<c\b!CͰ:q^(53s9|" ;p,Xާv \|f%pP A^u ?hgp}i hvpz(iatu z ,lx+5RۇY#h\&eڶvHH)?AngF amaD@ 2Fܔ(pq-mr\#T,9KkZ{=|W) +A+3^r\~}X>c2;BLh-~L#Tl#xPB}*Ľ$?8hg Nv{kGҏі[#[| cX% hw&>mSlj jv {'Bc8zЯzE3J) F16`BNv(AlWXf)ԤgNg-zt֟If3:6;/addߢkdpW. 1iSn P3i# #%7Jc\"? ?la@=2! Z^4~~FF^$N-XgTjb AAރy!u!ߢor~Vd~RyR0h۰'x& 7R~v吢Ro#rʾ)oɛ=I۲~KXF„0!&Fv0o0o3̛d6204&I&bҙtd1wdn&a^F ޞhRFH>STj:1b4=̴cel #s9Jj,<'܋9EH$ D3<Cdo&L YM*+,5T xFǠP y oCi#"ͼyhqTԦhM;(3(R-Mƹ&JCk뇞5>i$& ij ƌCr%$EÀb$CӈM>ogcHM 8'@ئ|[nk#-[b4nmqnbp5RK vS#ITՍ@7AAoqvGԭ_ǢnE]}N&]tiԗvFM`OuKSa3Il0 >)ڨ0 {D,Wl} o۪Z8mNDD'Pa_"h"rx~.T=Ј@_>ǺжD~>_D_yT74U }ۨ_%Q$ tB$ĆwP`\D~-D,bly_>&s> æ~1Z?KoBFB iҵACm t/{E` G"G2(D X+l[ Y}@duHMɁ{`@`@>ǣ^NqtrD]D!?4mHGmڸ?ފ{S?"g~ F? "!} )%r=IW';;_w <^ IeyзIL'hą I#GCrB>!iȧLO"/CțM?vpp$#OdQ?%2c&{sgO$ij4}FLU..nnBL @ Q@.?"f>p?!2ثy"`߆\1-_ot YlwGu rxTP>q g~a\nF5}\~k5Op(? FiQ`8> \k گr73Pi[7߅`!9k]4?.Cǜsp=o]3׹+S~3_wDsS[8n<rIG"7ovͳnټHVKLPP(kP2 {p͇V-\9Jv՞_ O:j(G#w=iOpX(K)JSGtTtDXQZj->UXA$-(UҎAOX-}]g=NK?r 7WgPzjuFIZOX">1~`u9rnTur+"MjQGPrTfZt,& 2@x1>&Z&khkbXњ(D3=Gg2O²4F6 beoy59g>R]Gؔ?0x;b]KI6-J0|O;(HNry=fc3N9}yFCmCGIY lQvN+2QhPox"yfFfƶ4(mi4ҦI^mn_/Mʥq6>euO{Pw $؁w8&<֝l>jFMuB75 h]YB9vG{r;㠜QJwgc{%\ux}Vҝ=fwg@}Zޓք|2խ>Oë'ך]M&wWp5]jft7zO[[:{9Ҙ_9ۼn{ɪ^t{oX ݙ֪OyZMgkCw}ѿk}D]w `^`)=Xu[Ot/TXOv/}{vIh-ìOk,p+wQWLO A%Ξ4}?HkWOfDŽ+hzQXo=ɷu=Z}WQOKSasUT[=GFcWsOǂkJ׈.EpSZ2{s7;Kq/YAwNLg#zg=@CEj˝J-:Y:-Av U {NM n)gC(\grXU/{>?4xpdz)=/wxa;wq]9G˷co'wQ:su;9]HH)ɗy͡);oғNٗEgEϹ&8Ki$72Az|3w0n F|:JQkw&YŽgD uNXGXysѵ'#WfV<3>蹆MZ?ƯcHg\vqg#8VFO>'ZK۳t-? w p` bE &j Cw'3ѝ?MtŸ<{okOF+>tz <Td\ζڛa[q6ܷ{slky9=#W-A~Xls+mSkxJígUa~YǺ~׽ ڏ5c."8nop1PKFNzBskFHzR3ri1z}K>++_bOrٓ%\\i}c`϶{.lAO'2FJ올\}J7oG||-/dAw?/Z'!A Id_ߐR#dU;*Շ)O_ M~5-;cB0|Ç7~y;O0 $|Q" F1MI ㋌|鋜?Q?dNFm1?ޖ-dm;m Ҷ1DrioJ73u Q'bk[|x`PsNj_/UT@TXZAiD>V֨?a[UXn/u7N>}ip\_"?R^Lʇ\^1GJ!m/ 3 [_QG{gy6#B.&#vL_E\墾sswq.5}sƽo-;|E-הCThR[!y}c}_ē^/R|KE}Y~LߢW二{^_#@9{K|I.GU%NjMe@\ˢ>՟?ЏǤ,B,FL ._+ۮ);eS ă\"_i|X2m[_9W?EP&*6uUYWɰk0,Z +:a i<"]c qZgx;VNlTo*^>d;Q.ם,FNJe%qi4#h':CDY!_f5leN-d-voeG T"~h>hP rX:KPvPL,;o}XXK eW FiL+nseh~麌7ah& VT^eoقhْxيal0TpVG try]a\kK0\߲v'ŵ$0,Ҁ\,Ǹ(pM^_TOz_~s7UXa!h(p#pSo{y<޾.sZlOaLy'x $-]aB7ZPeψ"pץTc}jy~9y~~uմI{gy/1W&{\nڲg[t!IynOaMr2~%$|Nߣ(o$oPN7( } ʯqL}/k^/{_{D|/ ߋ}ߋe{p!co9D4(&eEiVJҧ<<<T>R>V>Qc/QoǾ}i2)%ߧW2H94i»< & ~2lt7j/@KϹJSrNS#K< URF*qskd8Sg @|猳 9|aƷ!M9Lyߤe#`=)P gTD t. !I&# cf<Mh }owo@?4;;^8mT%c_S<򿱙΂4ނ), :W0f [{;xLw.S@OᛗʂU`{[@{741lʉ FCdl+B{< %W@s|4[o}vTU󠊥dp|7ngt%|kySu^T zS=T=9EXzz"? (W=F-@>P6"TMU0`(U9 )UJͦJTUT0jPԲNU6 zT>ձl9:T FUT0*PuIuU{B{RuC{Z;^^^>iT Gc[3z!ۏ QAr:oK`[ahqٌ;]u)m)(,MXRcTJ4CjSh4ւ;'X UwD jnf\sEs-̈́fLkf5 %U2Y{Y󌍇$FicQl6AM&k͕ m6[Ӫ5VmI~>UZAے5kmZW";u}5SG{=PNTPԉKLQ^jz:_g(vWRSQW^VתխTeEPs>u?ŀ*#zL}Q}9R!jT"xkh;;{4zF=^T/WSW`Mz&FfS&؝&^]SKN6]nځѶ000Pi/eFA)VvWVT+W>{V衍,hI+rp))+Xx;Z; v+ g  ߽Zc..pp.%)bi[QpQ] I}gd . (! A: !]tҭg&!MCi 5+a5a& !(݁Az  QKQ#Y{Dh!$E{faz 5e3K T y0|lsP 8,e~A.[d/C_ɓԿDٱ  /kr~]}0f. W_8n+|-۴ -c>I~AN31 "2b3>vxOAwK||Jh;l:o{&i,O߳Xz^/WZ@za\B^Vkrg[es}eh'*ੀ #Xe=!+]s۞xA"~ N.@⹵I=Y< eJ|tO.:=E<{t9scYU^{m+ CskGK1.I_GKDA?+֊D??/[_b>d~h|m_M[^<`h9 Jw]2#R*6}8Zu,7Q$(:HRl=''mH7Ȑ(Ob,JA\y <+v"QM_JE~{o); Dɢ|t*s<<34BchjVj*+l[kKP$ߪveU*d#Ҩ1+YkUVd%49Oo}}}0xf̖9ΕB/}+)\-Ƿ}}̋^{1"]Kʾ3Ⱦ_~,s|?n4ۖiɺ_ס$~IaIq%畴)2:tdZrp ,ZrODZ2䑒I%S~z5h֠YIػiKʶdYB꛾|!uC=Ѐ7݆Fۄw|ZV|5gh×ev|xyEo.1sfwcN]gNpo?s#(٥9.]Rn#)UKہ2|qqpmGǛټɝ˷;шot4[E|/o4kg񝍳LYxP)KQUVt3:]KhD)E!ؽ{iۉ-S|K;TE_iuMSw3»û:{_,3W8=?2K󗊭3x/|O+WeL[sq &ں-ӛlޔޚZׯקwÆEl99)EEa/,ZqR&ImųWLNk_mqܻ֜"w3Ig/4]D[:/w\;8~׮[;].߱^OOo|aߙ57OuǤi/^M&~M$$ˑwZ&WTDկc;;#T/ 79^L;w _/n̺Yd2aV>&/v?nwM*kh05"nSka{;B{uBU eV-l7^g+oSu7]{IvF F?a~}aN2[&ٻ5hEkl;/@u^'v-P*Įl{Z,I/,|?>uz|/o6e//l;M~F^iXOe4YtNw)=ඬۤ dd 1uT:ӜOͩ9r|_4u1Ln] 㙏ᅳq+k4[)=OfHe>|J+4&jn=='Ylzz&KZCu8{CyTx^{fpMzמsgoL}nL85~9_>߭A%%K>,Я@)9m8,ц̩"nPq4sW:Do3[ ߭+4&KjSn:^RSoӣ*HUՓQz^Q^Qne^VʱHuD<6vtt^AnZ4)Ւ%֬[΃Gf}/KG>7`d3g5{ܲN #w }pe#sG ;RRrg _;נ[s;q{#wsr.ra%r5߭a..%9rTRc<0 TC9n[X;,OXؓ2gYmjWD&RvE٨a߬;/R8,ѿښ{Il39٘B9qIlkhFNb?' M7}v 7Yg3܉#<ߟL4~?+~ArVbؼn P{?Mo7f9o;2,Y"s+*+פopWא!O!?RwwJ7]$$\pwwk/ĕz-ꓸbO x.u&9OSo8gDAs9#5'ϵ s3w[J`/Dր5Ƚk=k֏k"?QCyaeE'H^F5nvB[j]*.6NV+kL>.4,73ERnNX.ryX){0"IYVF-㭦[cK M[Ximם{k="$٧ gǹ\ 9vqe{l:A̍I4Of#)l-7^96mX:am5[h, S.*0-i7_2FJ1N _cViebd$z'Zk%'[A j/nmܘYPA`\\ gWG>[]ꉭzb^-וS`Vpߊ^'D]e*({H-?uߊOɴ2E*O{.㳲۔lncTR-NY[r]Xд"꯱pkD*cUXM=dTl™E#X҈I*{c.g/dѬPj69Ae{1C[͵ yr)`$~iIYb?Ytk3Ge lV'8L9d:} :L30 5V"CU}0#y-r6 JIyeR Y[֘$hIJWiSA[6pmY7^y_*ָ%w+NҾl&3Eo#:yr%u6eu؉hkUt[_3d#T{Iޟ?WٿQ ֙v}O+{*YK#;37Q.W{7|k 5:K*Q󈞃^y_sܞmer#U4ÂUӾy9iob0: 6߅o:.Our&"7 .Rq]EΣ*QNLtur[AtF}`{M>Q g/7K~fe`؟|XbQGXO >d5ى¿l>oѲӂ߶r\6w/|Cf\+c ܧ(5{0+"{7>jsP>*:klY1ㆹ"VkE[erEGf&fZ&*MZDk`%~i>H!uf/xV;XSpZ,F+Bƣ=xM=\tV1g)GGj;Wi8 pw7^t&;rr{0kΐ^]A-~[T>3E}l}J7&~k;L'hFVIP ?|'Bk!n&uzGS}s ) bbZW2 E(:N,U{9gJ yz-gVI9Jk\(f/k[,úE$t]gt4Q в 85X}ќ~SC #kfշ `[*הS:_MZS&Yjoޥ(ӱj}qXx4n'}~#N02Z1*Vc#uɪ_7ZhM('zACȽ%pU`UϨ\}Ud둧c_s3H3k;=0[@XN31?" Zɍ3QaR?74X O#F<.zUB`8L/WNN;tv_|'ɛVŁ+/zmԲN=;q}4ңh_J%g8o|ϓStG*s0mq;{ |LRF-7h͔x/~COv\qgo[)]pvZVs}XN/⚮?;r`OZC^$̢튔BjqwZ>;?y. ľ_@V\ JⲈ9M/56Dgx^bDkQǖX&n*j4gţ {yvd;ء'$xxr Od60Hmc-%Q~/.y'w#wӻ(϶LQ[]Uxȳ34u'V622KhUDceY>~/y tZ!F2ϧBVһ } :}WS Ӗ+\s^5=>og;@'YG^#}R7OB (~\Lgw^qz<5||`)|RѦHMbv'\GB=6#$Z@}8ߎ2Lr5F_<nQϑ"w>x{ (U6a7ӻgv+\!GIMgG{:11Ux2;>4GP0"?'o'}NmS0?8&2` UGWtvcaT??<9qiCYN*b[3 y{Rᄎw(w_='A~w};iԻ5^DMڂHKٯ5eyKG]ݰ E{ύ<2T ,>k_sMzCy%X@t MԹ/-F}ʨm~ ?ZE߁?wd$ ;(T>-V& Yz^ֻ|vKHj^sH-R^"C}/|=$=Ѹ:h>C7vYTz/ѿ?ګehNƟRԚ$OF㎻ӣN\@iW*)>&c'|Pq/(1W]OP&@GpF2c_X Ce\Ӱ2&{,b9-*ʈӸ]c{O6c;yo )Ѩa uUPr.}z/~Mg:x=SZƣ@o҇Awȿ,^zZ m'& ׂ3]!8UQΘ0ҕiNCŰ 3n:<MnDb Mw5UA_BXRǂ:E(:(- LcB!:qMπA1[~j|^(8Sy˵gWC'(W+J-.ܢ픑zL aQeGWVh|n!o9vӇ^16Ar~uU__WY=V67PgnU;y#ݵpGUrW;6;y7*(+|9+|4~=0IUSlA-n,:Uѕ{<[cφ#܏Nhn u&>U}$;U| 3 za=Jfg)t܎nR/BNG|\~"P/aa8~7I HNJ:*oQo)!o[jm}Й _On<+ş9Q+YBJNr)Wި eB2>[/"5j?$&//r')p;0U0b՟ +揿;Io?GW`Flp0;һ61FU$U#-ȇDd{qDvS]qD>""9Ȟ8"G/$"SLG#IqD>%"{82ő9Gq|>s,q\TG$("I?HjDA" $QD("ɬ!"+[f>`3;E$E$"̍"̋"I֎"<%H2?HNd:HF$Y/H("QI6"lE&ydAd8>q|q9Skl8.Eq\ΈR_LDJ4#,YqDΎ#r)#8"㈜G8"-H8"iGu6qD#.H8"=82c.#sIqd."S Rfr6(0%KmΔ~-)ik2%m˔R{D*yp^+K,#g<ڑhgƣ?e<ڕ裌G39ѾGhƣO2{e{ggp.[K6 yJfY/#;k]uF-gAiqHӐfguH:LUwN%ֆZ䙴_xwkէƊTS{isFz?#mHH[3iOK/2|9?OKYr~gqh<ɷ=wŸO6?+sL_WZ~ S_hEoY:֪Ug$a?Ol.}"3im C[杶eq7 S(6^3ח? i#YWϐ:fofNj$[/<@OqCh֙? 9 5φze`-ն6[lzsj/n{l̖涥mcرA;>b'Ivj3l-/ [iEv}.+֮fn^\3W.rK w}]nqݝn}~pݣn{MvO't{=^tp/_%n[V-έwܻnvn#Xh Lvað0<#<3l~#<7lۅ7}a9 r,J0K SETTiTTԅTT5n^>;RR%Ź6iui66hjߞcϑ6u 8ڶ6oGG&i,}dۇ&NL>f3v^}>ajwa5m_笳vy}KYBy2w1\)Jdp"B%d\n}>Zk>{?k? X$,%`4,@ {Ұ VX ,`,<q<qxf ` l%ۀ2 /x ^7P.EG#h§)Ђh>t`?|tdl!G9"G`3+r܁ Dy!/`0G(X,4Xh:FQ( ؠ8ƣ$:s<!.{G-NggC<%|D+&Ak^h=ZMh<mhG;Q1O4AU`T*$Tj@G B@`2jBM`*:NptytLGD2  FA4=8ԋzAͦ/&hD(( AP5CG>:N_9tvЯ-t=@3 7=L0 %K@5BH!,h.#h"@Ha$%1XRT!5H#҄ mH{ҙt'H?2 !(2LeSS)hy=:sp]|K/az~k倉z@̡NVrqsqqtF,lK }/}//-^Z$듿q}'03h:YӢ@'z!-`3} _ٷ66Hjx;1^> 8`'aWd`v'klqݓஓ03q|LBن{1[?scm$D,K(ϊg%+rgOkxr^gQ !&'WI7U0 !d!@EY2,~52ѢPHfbA&^C5Pjºut%+ϓQ<)!dJһhql76F}[ojQnI,B9)#EI *R38QHJ(06&5=-D)ZD}2U\ҹD`=Xà 'JIvǔ254(+)tՌ^+{6b ֳXmJkU)%1#!glbhJ9Zr8ooNx G1.1P&Cf1Tx ܠg(i!ڼɌRtYJCVBb2l_5d2ڒ/tS6yEQµk']5ͧqNW]o{qYIu_/j%,n>tƲ=WՑ+o(-6>Ǘ<6yC/]и]b[> tTћPa0 &BB ˇ<)f0{}@,II WERߺ D9MJAYt0Z|W}Z4t/ad) s5Υٮ1nc<ƵG hYF{SYT5eZ< 4Ж(]inAcͱ)v52q}o5ta'm9s :ܶkjUr/z5y J<*,nڱ8daqLxTSlϐgj}V;0 dk4I;>EZciuXdKwvb YcYS_>&V%(1>u8&f&&_EfJ-ӓRQtCsVͮ r8nPf:TXvι-]7tjo|gXdvpb#Y2L[,k{T 9I *Z48Ɩ(t<#j>zMn>!1/)5!wџ^<+괦bJNVkԋP>awC/ga,imoڋP}񙾟i:D{7T;囘fG$G6CM~w wNmnG+vώobĊXC&oG\1zfS) ޸_Z+ɜ-mg\b\)~3tLfb0IRģF"& mLA/.sjصe Nnc7 q7dJ d pUf8ho~)QK4h]TWM<(7 )w\:  a1OY'90._{{1`B-tZIbiFd7R|!L¼-TU-0] ܷϜ"eϗP1|8fʱQ<~JЁ;^ xlfeR]<[]rTO~g寬nԛ]ˠԾ+>} 7:ĵtbӲL7W׷wL>(ݛسY} 5[o%ke]!O.lj.Y8a*3Wr`ZTՋ[ΈX*?ULns3BׇPS޶ŋf[˞}̵:67xT&VIleݘ;>=ͪJRڎU]{7 Wܯ.;H"G%yHTl c4 yI;Tڍ7edacv2PT5 3b#ۓ*<8l烗Aҝw$][xa>IOC-Û9[Fzql_њdQƆ-ŞE;lY@Hd+ce}aeԽk^h[\zYSlA\ԹƜ Y1bWn2d{$.иgxi!O26TZtmy(flV;TeKvG|"ӼehlmS]?ˢ\ET^ry&|<5"< }wk9yڙlզfCIv+J#Jv7rt&)>ߛxvzk"ecvՓ6t>:Xs.>'u8Tn)Wߔ%eRYj&i5KΩ^Uobg>N{gE7}Kn7.v0$*Uc0 /xId~ipr 51jZi`YZJc|_[/V5`V}uv 3-$' - D.HǓq ` 2Z<I@n"kfnFz<72#!O/~i VS7JT];avog^v[۶ճ4O 瞨[{ )KܹOIZ4EgNK :EOL*n~'|J}[X7f 0 "kv{29Xױ99^?M1/mp{E_+W?x\xO^ge ^(ѹbsuSF7f¡ӲM΃ӛk ԡxL?1&IkQHiؑ! kG,NJceJQ)R ۴}lhܗɺ+OĊGDT~fCe;Ozӹ???ڽSz7OeD(|Np/)A ~YWܟ $}y]#B%Sf/r.ټ'k*updWN1c D;HPTy~Q7ˌW9ϫ?Mj,萗-uh:ߜAn-_T2o*lw;yՓZĵWppSNiec5>pW_\UuP endstream endobj 1 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/XObject<>>>/Rotate 0/StructParents 1/Tabs/S/Type/Page>> endobj 2 0 obj <>stream xZms۸}:' Nۉ/68M;NG(3#) "$ARؒ)b/Ͼ@ꞽys[L&-y s3%Aˋ=㯟./~[#%}~q]yy${|q6'eDh k?B]GARv; 8~x?ϗ@F'@_R-cYwg/R̈́d7圵(N7mFױ?.;tDRM=|ebPTϣcSlf{Ŵd#-pH5#xhy^0Hc<ᆛ9krVY7|g6j 5N,&HaI5>)fQ> 5lVWr: :2ht4A C_$N? ]V/c wY\ݐA荸M^6G{WƙDcA |n~L<|~x3*8+HçO1DasCi# "-ick$+ `Sg,Y1C8}H&nDK,"xM5x$dLO2}|rE0%qɾgm(KěTn,YVӢf[#4:5<~/2^#̓XȾh|"'Bv^#<-s6#ZQx&ռ=Q·P3ٺ2 ȶHwJz<7e |d7)T@'!,ZAB"T9/߃6#Y5yzFQQsy)|aH?p %7.?׭_@8P=M_Pt2?ۑXJ>Tv`b]UB"89k0NF!e7aaʖlx 6ǕS;Iꇡͭ6EB@QͼZB5&7Ï6kB?o$\R+΀oY÷H5꙼t;QRyрK9g$`I%|99QIOTbbE%pXדTn"3 ?w8z e⒭8m&a%=BB’i3}nP'P4Yd5b,U.%+)ȋ LQ)8iЈ`^ Je!aZXҎC׋M,a([@Re z"49bPQ-ԈBuIW{5` ?JM;F#Ytȗ&Oj(wWwגۚՌ*.U fRՋ¦ O3:(>/N&ҏ`Ut'e msvRuj:;%<б7)jaf[y^0Eҳ1(CB-5>VОbx 1s[)Իs;D] ,N)vQPS bJ5 mEQZtndPxA ʫGIqmzUT9#]QWl ƍ6ݗNX-x0!4;Ii3Dfp?Z`@ڽ6[KW\>7ãs8Xuř8>ӫh/&졆&45+GWbGmUU3=DVɳE!|!l(_HAk(%kk7}DqDo^xqnMKiiU2=za0ߔLTZ̡GGz+Z.UÏYb]+<6{i(A UeOY"tն4LrH5$l0+znRL#{fK x# \d(Z>;+N4.czLbonW&czwZU;p&աj޲զ$"И ljxop;k估F 5 UNV ۑ{WWiR_&VO`( <<Ө,gs,>1FR fK?TUwRYIklB_6{_ٖ5OߡN %s1 95`ԶnP-1k{m't5S`x5^j Ԩ\BJ}0z2>-@sC_\gr1߶gLMP&V]^H(HmUH`+p+m˵O endstream endobj 3 0 obj <>stream xY$G%ZÛEn(z4T A!|?RAףUn)5@1~ϡC`Ç޽{@hNtI(_)6.bUm*Fu2z6j[5HRmtݫ,w,k[ }=c"x QN˩-CQCû޺g~fW!*Z(ϩ,LիcŠ:Đ.dy\A"h(:tz6]b9769)Nj~jZEfQu:m;?tz.ܙCѡ3sT_t%"!9_ɞԫ 5<:u넘Ŗe'йP[6oHмWa'mte+ĴbSn]hc]ߧ^Ҷ\w]GbxQXm*:PmOJR!]p)SL5B>:_t))zl:.Pr2v -)lmz:Zߋg?ɏZȏW5"΂ĀbZ~LexVډàKvc,aS5"d7vlZYQmMjʊkkh5s*y U)u H \Y%v+7^vKEP$HِjkTwۮl`BvzRyU /j5U^Ec&,`w¹@C*r_:SgV[]lk:gg8A Ϗkc} YԻghUfC9pL  װgɯ|C*aGu8q"n}'/bCGZA xeyC`KxMdp7VL2l .,ssssg ,O dqtz-r2]:!#j ѾB "D6moc|}#z(G0s77Fi 3g4 'Bh ~iwV*|UHI8E%t4Grˡ_nst &Lގ/7XWkjd`$K:9s+ 7Nf>A1 ###lfOD -]"`7+R" vȎn| C`9vAa[ifdhpՃG`Jm(N W4*nT6f3!U.9;S00{4:9#0r)7&JeP1S&L =x?E=sC00-xkO9=fhɪ>$u8;]#˩YB \?X^˭ FcA(B,-__f@OEO{xC83&s_ T踊"4>͒?A}9>W~ۋ`K-ŕW\ۂ??$1}GmL&Amn=_^#lF\#Sƺ5tWgWGG:;p mdAA*2cpؼ2~zjrv1KvfFjmcsK a^hoimkimmimiڠ&P>zb;ꈫёΎ6ذڵk uTPSSSs3% g'`D4ā2Ӣqނ-SZ|/33“YZ"_=e&gaN?4B$44a0ʂs;\e'H⦵zl1TZC&@__'gpshr:2gψ.3WNܺ)*`%~ȞS؃3NC\ 0 ,vkKKs3Xf` >4575 t}a݆,U{snB`SpWv'V~Q+m.a-Gz;;[ ׯ64\zՆ P% *;v$_n@.8"8 ϵW._x>?… /tK.]|ՆkZ:{liVdfˋb(*;`=/8PapЅ˶@^3C5xP@vH쎻*nTӠCL5~10}Ll=j(Vs ,?,!?x:~ҴscTqNǶ6ckRfdNѽ׊}`c'z7_m">A%OQ n=|. <!çGjzdVH@@?T_l퟿9/N>nO L~1ҿaJI7a280KN; k Zk8=MqyOLv31 #!{ZlYF._r כZZ:v}׀u{3K0#vgY#\xpq(I}S3gΜ={ܹsJ#e[Ss{gwr=8 mACegW>3u(LE&$2hj#Cuwu;nNM8oFG/X-K W4 ݻ Yπ04?` <b]Jb#u?=aFݶ~|Et7OrroZQ)Ko/G@&<ЗA{w4h-M&~*)0m=}Qz qpphObnvnHTM&ەEJz1jvd'_@`:Fzty>W.p0ҟ?3+WBoimI!`*K::S:mJ(d W  Co/@ܟpYu3CpZZ .a\x*OD 9sY!0"(o` 곚_ ;5#' 0HeL/Q(^~n^1A 9dgn8D^ K!Ц 5 Lf\׮\ '<Dk!Q&1NMKΞ9Dc8)){bpOTN0\ PುŸіߠ"1XNcYZƎr1--Ʉd[Yz.^^d-QwploM(EbiNPkp8"D60@kk딓  ن82HKkgpbW ?#C=f }@mڌJ|Lp(ܟM-ͭoN PR Q vg!88dö==u';[ZZ;:@@C tu4]/QЧ@ҳ0GÊqa7+t 8.񋲿&jJ,`u! @h$?q;ƀ::舩>7DLCp@PE0W* nL:=0F ?LF0*y@[^]vuA ȱ" wh[i꘠+X??4"<_,bwHfenNIAP %.9sF B'gl\?Y@@C=kǴ&se4@2ch7BoFm21ojCg5``5{zAkLyhg%!,$@* nnPFA=Nbd s$0#{|0lhhԂ p"Pp&jGsoen(` \4)+{iIy@!85{d6 ~j5EImv(寗rG$ulAP`PЃ=^X t&~d) 7P4sH2[z`?a h#1Ju#-/9ۚ!1 HC &jB M8CIHA PF0OkqB?כJ Ta&kښ2G;:Nq:4cOg$r!)H ~ &}21ATF o2ĉa!>AzihkB.2,rdz\U<+^=] '9)F%ѝ ǏG }*:׈3`5)TTٶ-@enM1FBJxufĖGg~l\z?1\vp'MkyVM;n k ߣ4+x$̺U]5:6X>5&!bp}HLY9QY1x_yLf% E?e3 u1OP-4It18Y1?Jw3C"qvV&ݴV#~~n~(R r|!1T<E8B&y<5^6tݦ6 aE ۍ #!Lř0|Ց'<9*sœ[P[|C5x@A =-1FI_kS}2jx4yp~DTE༬{uF[W<2J iE;Fkx)nK͔K[6#l+m41v^KSQs|M sia v[Ѩ+ +]s19 "O2";eKCӃ#–b(̹;+jE}h  <֍: / Jy7%Jٲm]⎆-% qa$Cw~ V|Cн{ & /3:.vpPJhPa^Y<Կ#wau5 3+-+#M^떼Q +6c,"6 >nExne8C̈Ԕ B$±8 ܲ!vZŻfg,h8=v'zBf)Ed39jK[ d fZ6Nǟ1a%pLU{}Q|9{ w%NHP5a]B *uDA!Н;w){uՔ-A = oɱi.|t{K-&NTU='}2ex, I3hĦZ@ό7žku{{$#OH{xW I*8@e) IuǼE&sXKkPi%Me9-{IЖe\M|5#CWCcn)-1G a*YQR*rP3(gAPo5=PcWVkg8'=~!|<_]'DhR/#Ume'Z?7zH+ 7vDGܐkQM hn^f 9Ef>:Vh]d]\۾]W\d|J3G81|wݻJhOĻp8}K.",tll9 :{45<~&:w4/3+x=z aLg*ԪX6xjXꫯ$T@&#N9rt T5;_"*O$y Ϊeueʈ S2̿@_~-[./)7+ y4+D*?UPjU,wG_߱cJP, D &H>  n3&D$#xBeM B\F4w;{Dg3G *@1wtaB紞"s!%h;oDZbĕF1%$zCPP JJ;8,OY>1.b$)ux) PbG@zMΏ"%$s*өT1Bpk_ (AN!+20^Kn,bG@4oRPZ }%,&J;n|١%;V b U#j}YVH'RW/gZ ~UEL4(䉢i,9EK_֊?*fʆ\X3"+gώR7dzA╳lw OP JR 3 WNN 0+! (D@n %({(\RN $7MH-ݞ8 A-R"*~2dKF1F_'!ěUvP JKeҠJdh JR| :H聰 ?R*N TRTFBP) JR*GB!*/ .S@UPj; .7N*E@TPjZMBt*( J |HPD #! zAP:NJTJF>xu֍eP_RDZ]];ЖuP:ؗA})(=R'#!0WB{/|xLtbFuLeP_ JI X2/GUC@@}ԗK/yKUf\_͚ 4%*T eP_Jt BhQns{~%z@I%z <[G?Qe< 5}߹Fߵ\]TP5'q =McE$p-m|I@e8N٧adJ2ybhƊ[!JиEGZTgIr&)V*R'%7{k^*Y JI 7n   z676yM[.QZݠXVwWwWgWG{G{[[+ 뷿m "x@AAAAWnmo457^opjhii[TTYǧ*7֚7\r/\po|nQ ^H ʫpꥋg~zoEU @e:/y_yCpM]} 7+սGK|=VBet' asZC0⅋W\YZZ|BU*gT,> _>s =Z,(+7vw{{:;[]pqeuo9 7]P?2a ʩu`oOwG{{{[[gg#Gܢ$ߤ* yW/Tg_<:3q+^h|(,$@SԆ0d\ޗ\7ウܬqS:#kMU)"=U2 mWyi՜Oy,@BE?>L:JQ刯=<㾆 *ASnݝdFQԁ[TT2xh0R@XC1"q\OZYKDɨuh +&\Ԏg䍖Qpq_`:k $2U2OȸK}=^wxoK?u@wnߞfɩ[n+nQ,|H2GîP 2ݮ+d[?.SMykzu'ML(߼: @6Y|ތ:Ԫ!K}7 z{5koydn%{@{=b!/A+@)4;;7?[knQU +TwR4Qhn/2#^Z;}:}"/"I!sD]&:hEw"[RBpz=b!/Kx RSH<ť啕{ƛnQUP^K`NBzj/nN5cMV{F#\, bXAE Վ\DF/ޤl5; 򖣗qHQ*# #9{գr͛c4h賺~7X\nWx+<g|n %&}f#Uc]פÌk۵e˿1Qq<=n!v9ˌ= U}2p2ob*M<{8T)zwM<9/ @1!g`.@w |\P=*7wG&&gW76<|x14mtIcU0iF$#̚T+;jsw?ԎLn[$)H;r X~F^,kíXAM"=OM\EFMT JDyFBLNM -}P^GOBHZ ^*m{Ċ˙Klkz=.z.t1m7z{sf*YX!:;>#Ahp(qZLȨ)X𦣫g`hd|rjna1[P|K%DL.@{Z^=#HY+X֚3tX1}A?{Z,q4Ws@q=j$]2n3z6}V 9FL!g`zUV::2 +kk\W  >җw-qw {λ[`d-sw ϵqfZr+m$|DQgϣ#,@5yT$@5Kz ][j1Pi ŵ{A o D:;k _ٻH]3z5L)L@aT80;8<21,MJBiNrNӰmh3lmãH_31=cnϟԢg%ߥ,U rȢ =qz.ƚz夼w2N,)]Pj8ͭ2g<|HWKJWd%\stgvלj%Nz+ tѦM:<;ҠH= yαvAsyTYkZ0rcUBN^{`v6gK}Nm~\S[.’:(CEG^z^nK/1}b tkkHM=zsܟͭH=s$jƫ;POf@,j/.گţEe?M}Y Ǝ"ɛm o{to?]?)oWB < 4lРx^~o 0\KMha/$.*js=u@|B]Z^q @9 6JMB4QbX7yϻ-6qQdY0Xum,0Vmk<EѼZhe#Dqm NՒPâ!N?,ir(L*)yB]+(XOW'4)/SޒsH䂟*q%zMIkg=,?o6&7"S=bU  =x{+@E]9V\(VQrGv͗kz,/Yxs?9xFEd㛸;q$#n[bN҂!s.QdXI&j3ѹ63Hy@+UhoaR V󀔗TY VbvŇהfZMx<Ǣ&a2㬏#ZwgL:k@zГ'@YH8ebBWD>Ӳ-;՞ 7w<S"EIeZ#yzW@ @;^2K\t=ALƓ83(;0\ܦ2HJƃ<у??D+cR_}햯ܹnŋ[ 3^䐆M gzPkN-&I4!J&̝؝ #DM"veY h39ȣ'!h@S1'-})O `b8Bae'ejޟ [zГ'Ovƍݛ7nܼuO^pa&UF"* N^%e9D[3*Y|_B1'&ŸR-mdWȂCC4!P}/Z*Pz с@pDsH  [:\h͍W^پϷ j'*8h;ӤbSѺE:EMk %OV5 KB  @ (#&: ^D& ^ [:\LJ?Ogmmmu}}}sk{gTФ˓MLNMҰ5#vk)2q>ė ^? 8b6,8!!AƇ 𘠏c|A512x҇ns&Sk >)漡͍G @"1 jRiVzɢ0ʲ Lz+@,bG,32.cBOVMCC3a4և@bh@j \;VC ц7LQM=X}O?gQkdG’-aB"ɰbPb!Px6)5rLQcHvrpU^"q+ &8K飤<(j T @( S m_OXU'$7}@=GT^$"zs7.z4of\?&!Pgʻ< iT~k #=5׸xE҇VG2 LQ@?.s}w歛n[?y_ǪܢEP,#-ZxT&lY 1!Am"I)DdK64߽{{imudI{>~l^-9t+ H V hAlZZDc@ԴQ Lt #U|$lS!])2v5DKSj2DiLp<[[oaUP#:W{Lms@ha(~a^ NRi Ts!A.~;bhzaE:!PD(RW|UvՐJ;$V%ߟ+so\6Xc;ѪLu 4lW^]t PiN mXauͭP-g aPFkV--;6Z^x>e44<4 -ZY:WN#ߚmbaǍ$"L@ƏۊWLJ={LɓJO+.V5[}1;j^M9D:)A122G0.5Yy@yUmsJnR Az"CP$V x!"2JYPZrBy~ @Tm:uF4/n.J,  D ΄ xHI֞}q\O Fs278ӑ>Ll6hs P'Glcot* 47eS1>v kq_$[A LlKJ:42]w`PgBHg ɄS'kBU\zdX']pʜ .ݟ~F~ ܆1h۩ ' @9Йhч5tl,dSV?hxёa&&%pLXy桓`hZv"q/MC2|4yoϾ.G O , @U%4ѩ rB LDžzu:iVT<DXדQ;6>4Cwɣjd,(G.{s\ނggO0#lP< Ծ?# UdR 1 \ZKO$ӧnԆM71 Ɍ|~^FD95+Z2 @Μ$Bg\fn" ȳ^/NuR+&!l&SO!@,VyP(2>Hڢ4>D ,8D.a/@_GlҘ }@%}:pqV,c5KZ%Gb*MFjzá~4Cwy/ωDDKEFLP CfӰy;Ὠt (==hla~~ ONjYHލFo~}L=QO4C BpVFTGFm 8F@좣raߞA6`C3ҕ&ZgdqK):9șk.:3"hDiWr&e JWsKXIR,يhs@b) HtuHF~敹"@(g O]!Ě)+iT66ꨇfIx2l DmIf[TLՇxFU{z ok$|'>M.S[DP0KQMusSچ7&-1:D:*!&EOL#q^{h f2%m3mBB> $h 4=*aLy%^zGkwy=Mʛ%EL z*=pB25NPX4^.YIHNc=\ 'R㯃iNPRIfT ;d#s @U@/Wr_]JtnH%aȅCHb2u( @A%=z9ԐE Xm|n avͤGG)D;l{P"W.fPř^%эZ= 'YxGi=Nbn`CpCvwgU.yD2:T}!8 cp@̦n0]YP2m[¢Lā8 cmB72e_@,4.3:L<~r!𪕍]\lԡ*vwvv|&M&!< ef-3}JF++8[ ?8lP2<+ƀSNp@M *Em~lqcwrPNL!vLj,J|9*Ұki d2Q5djA5\n)8=:V37uԒrOw6XM d:JOF#˗//]U @&4Vi<:kI ;M3&S{*txx(mz rT_Hm@?E>|hqiJ{^mZh2+䏑uu֘LcF @Ӫז4 s2}t[)>i^2E ` @ќ= =D6>SLrxȇ @mז\4[I]fsh3az}N*e< @-זEHb7ak@c=V_qmQeUYae*'|@ïɼj-P P eh @# a-'g/L;*EB@bt~=Y2ueh@ _@B^QXcl%H9;hd}b3Q$bZ Q?^[v J/MOU|YZHw(fh֝g!Vqn.܏wUӶoi@!JPnWNJ:SnQZsk R)6ctH`61Hm'utя?YҧhS}DNc;wfZ(^4e!d݈̈́̈́`XwLgZ CbMԙW #8?]W0AZ@ῃ_DO|GG?1f hHP}Gr:-42Ms@&!(-MZ65dHE=Z^wi@3`H-a4M|n7*_td3!G41(ʁnf= Y~5((^fw1A.؋+g @5 @xʖc!qRpaGF4>_%i!8$Ȩ14> HOB =cN++ !p92 @[@geYt5RۙTo5URi:_ te|1L)Pd2Mu~5c:}n2L&S}G'''a7d2d24uR«Ͷ:*l L&jQ_~k2-LU.M=/^ ^L ~t]7t欗/_:\r9AϮϫɴ뺥W{P^xг{kOY,dBz]Դj ssvntW޻w19DnL&ԂVWWhn}vww]d2Lʕ+%}'" endstream endobj 4 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 3/Tabs/S/Type/Page>> endobj 5 0 obj <>stream x\n~}Qg_I"Aw|%R(_ҿ3$%923;;Ξx󓸽}EZwĻׯK!xؾ~%EIA$H#*_^uapׯ>;hdOu~]VE;V |ry.K ^^l8$?DhfQexq\vy-OSQ* "QiĚÝݓ)f:=~Z]S&}.VE#d0qی0:2ا[8FhEEa?3Gkp֠M(PqmijmcϙxXr'*Giq\ فj@JlxpO7UUcő2՝@5|q3mNRB+=jU[ݙ9AbMJfUVHnR~Dmkg5>1囬mf6"/II~.Or4"|ǭ-؀78; f(I%&ӯDpp¥ \FlK(5c n;9/(]@U& B:=e%d}cq_ XK\ (_i$JyqmSɆD7 }>OK763G"c5=ϔa$.w55n3#γ1ԂќsS ]ǃD;ASӞ*Jl c6ͽC}0o P;KҤLyu-|}ЇQ`Ap+uJ.;"kdF}кO8J QHCTLı?-(e&ѮXol֧42tܷnW`#~q@L eQ13@dwD4쏕~,;kx'!j,}&JBy#}V$r|E 9y1tPlZ :dAE+=v;z>],o#% YmFhHܴsFhd!T̅h4CZKL!{#>чc0Ɩб1β >J)Z$H$5M][v]te6.Y桎;:TAbOU}Z s(M T,m:|( GyyAb7 Rȡ}΋*M*G[}H T#̀ve@a՟FWᮑ}%sջ ؉e,"G;wĦR_NSXXb;(+5*NOhB@a-h5}>/{b5L;v*(z5S!’dyPac #]cGO(`w-$4tD_ !MP}p!mOJn!;q4 C>Ax>).L8}{7. X_;H~d!d]f&㕏bZ )q<*]9 &:ZGa75?QҼ{qf ǞСB&hDY Doz3&{l3MUx332 Gv(Ƞ%/ y.ۧŌwcO>Ȇf`3,9,ժ2UO@F4'i(6Xdlv@؋T'1$ú+r5#VIJS9e# hߢrNlPzsoJ!2remX:(G鼙kHU8oMi K M\pp>4vnXrՕ`Ba%a5} /眕N`ϩgyԔdC,81:(Q1#woւe&io@Ģ!S&ou`X_3'.oRj)cp-6)EqXb,*X@ϧ~b3rJ%zPрMdr`8}Zr.S(ޡ8\ۨ2sGb#'R\Flbz{cgm@t:OQ\l8жy) ďh}GOkxl$,KoU}*9 宛p/S)|Mm[xW7/yU"&iopWט7aZF'U]S'XNq|{jCJs Cg]jN_*7ݺmijR!rTbnK&J,xs P WXu~͕ݔ]) k_V*l?$&Q?;ڤ7bjd[x@- $JW "e)9,_Ò|V[>I6)N}7T+dَI103X^VGUK|ϱ&!’s"'RpIuGM@Q0#'͚lh'mc\0V$|:9c;$PۿG;zA,U7}|/Æ&6x>*Z*4& zt/KLfAF"΅p!߷47Kp}mѹ'ʉ,>-݈"Y?I yNbAʡ][clR_/aR!M6$BGvҨCܶ]IHp*IdQ/|aLC-$sʵB^#\Ov҈xN #=d\׆|6zʔgF`_-r@mV >j)w:q @@C.5rysCɾ B̤Y`,MPpD%>*@<<1կ3(@E:=+otci/1IJ7$Y9VHzP$t{R@\SNmգ峟t@Kem> Lp}Pvz޷?Tr HVع yv/[_P~$/s$1Q9̠dt9X}a3 $T2o;C/@ "WgH[{Y+|-_YK.Gl/]| 5RHm=N]ݶ:eCBDMGi#N;yʅa*~aQ's@]TY(&GZ]Ň`vc0bzMA _w9a~]P[ %A VD{.oio53^N?Е]Y kIGV5w[kQ7GZ12#1Dζ?}lͬ\m>fZ.VuHqrX{wiޯdE%"Dcu~mua3OMDnܛ#eOeUa޵at];]AT F56R?|p]?ߟTWra`vBa+|<2*7)eCۛMtm{VG;2Й`۔>O6q) endstream endobj 6 0 obj <>stream x| xTE9uo' !+!4Y54C HQ P]# Q@ #n(₸2#⎳@r߯C:7{UԩS@>SƎHt8QƒsFEYB-[D$.]0qJݻ-G!GO:24rt/$bSɴEǧj;,.eD̟,[b{<DU_\9QL/$'h:v(x{Eyܷ?m? '+/Yt1Xy.S:D7lqJ뿂P~.+]\~{-Ĝ,yW-iM!9پʽ' L]zIps@RuR YA|:Ǔ0ki=_F{8 DbR A z>4NM%}Χ0[cF=9 p$m4?NF;19| -F,$餏V R)v }8SnG i yN Bס_V/T8.+Ѧ,8! W+F~IԊPOlg=VDHQ2Fx5f8zhA'801^ "QD,GG@>~띂]a$ԈY ocAX$c O^@OB7K+mF@{YY퓧_^yhrMUGB R/݌ч\0%3cm|a&wjw.-4 91AB*ê=4uh-Дl*qĸc h)!TijPZr@t9i-Qq4U(yGHW(8tvӡ Qx-Ғ<_yQvGԝn@P[ړgaVl9j,DϛRHq<NJ 7!/AM¥&~ ;X Z5P3.4W^'5ڎU^}P.kR"尴]ڔ-WaEu\%~ l*>υeWs!f3r*ݍҟq&ϡX dm2.%"JZ1lޒ$a){ߠVF"7(upط( BBB@y/SS }msp+Od 9+''_Xv_ޣ*l~fB\[{U>LD[`I" R xu8zqre/[h g B~8É<7ٔ#3ŗ ] !>mt*o.A_A^`?nY@{>>v^mR"在x4Xב$)&p/v~a_6;#/\m%og!~^q4EFڿ( n;?+?;~O*3:Vhse9/EgQ/hvVyލĘa_cxh. vo q.Y%pɎPh?@[M.I跦Y_6yª^_n[_pR5p䉃DNf.,8"D^*~vP_iD7_ ~Ò+i8.kh/)0_|{~P$m,hf(%j˔jz;Jt[HgϔwV3RgFʳ;vXV/ˆCx#sS4'7 3Ȃ_A˽@){ۀ?:芷̳`ۼxmd{ O{#T#"w|Z#mKp=v)b>7Ath%D٩8ӳ%HOz(1FRT } t,Iobt>؈wll퀆5k5UΠ.gWr,>*k=d$h1gpOP !7­[D}˭n+he/Ѕsj< TM\75U3M~ !GÅq B{14nUEv)mTNVMHaNYBGÛ%FꇳZ:67u8yue)d݄~f5^- LU3B޸`{\ؑQȞⱺ¿wlԋLehRvPJ JCiڹ4;t:bh: S[%Dy}bdXJ̶]$w8T _G\+ϲ%`gX1#'Z~Rr¸G47yҧx) ^Mx' k|oüvV?l<CDZ?f 9Zg7Ne+3,Q Åڳ:#Gdi)$OE!Hۀ]@#Hv>{#]PO X[.(vc;uԞXJHd|iL%rj Wsjw/9\~KH:yw9@/۵-|PiQJnv,= Aav#("H@Jzp-ݕ@4(܆Sv>i2L9Қ ~Ս|;_p/|N÷kO&nuʼn_+Q=F䄌JIt|G" = ,bx;J9%i *D.U.|qn>/z~O^_x {剾]14M8?8o Š}%PX]*GXUX!h;P}Uac(ܗ4x /;vazQН(. J{p'p,vH)оXSy.ƩpAK^ ҅Mc'ly:Q01ikQ_]8yh?bbr.AJ&Eז<)^/ǸyVsW{r-]dXTY27Q<$VN)r5c4SI/f~JA{Ea0C(B px ;Uy cFc0QE&P سLRhQ=ILVB]d#ف=?`wu7ޔ 죰/Q,^OrfSp¡F0 tQ_p4?ЭfHQKWhp4 ~Ic)8"r+@#):&q)8wHT(4x4Ha1ΠI%g8,P9E, 욉/q.iqޭ4Xp5P"f| }:2S N1JXb&p).Sx]bî(^MTki.p%W]8XM)*pI] \C 7?ĭlfZ e [x za.ޡNZj x{h9p]mʼn+>YZiCU jmRx?]|n0ƍUC 5[(|n>N7o|B> |@)ی8'>Mh#n6Cw=kѽ} >UX=i 8H/V z_Qx|7^C z·EzQ=}]bq1@]IiLs7ͪd솓ܬ5OnDaU08TA{kT ~ |lj_FI,L]k{n)))YZ#K{{n׽N2Bۨa] g{" oK ;@,0-'kR.Oټ)Iqj FڂQ} d雑UfbՔ)_dK}x/lVM].I+ӵiehSS k g+p]◫*Y0IaDm6$m6NZIDp6V*Q.8MG\c.ڨܤ>ٕx TIrA9l-5hÍ7i@ptk.5GJГ reDžqQڴK&zW:zH2pwObE!$VI*wMrg*+բrloDlj6S`3eys"KdiDMvrSaAްK7 }bACߒJRF* ~*} 6(w,cR۵"SӐ4IC4! |yݔ2wS muh{T,uAፐ/gg')n4on"&,_&  JuA6VPZ t+hh-V#)>=mS #JA%mhli&PxBw3C_zлf 03t3C :::Iޔoh*?At8;84W`F`Z`j#0)0i!fl0fa&sT)oKQVu_˟#O'-_O9_f8&HDS~X`g~c13ę *by8 ِIkDknMŲNQηZL˲b"GD 3PC'#Iܝ?xbv1(/I AqQZ ɛ,-չˑ Md*G6Yl*r2uPn=/n Xf~2U2]ɮ?ILϖi'pu9+UđW.]V.ٚ(n)%es*dXZG幞Gn܊{Vq:ZWXT][?=.Q[sti]]ҟiT6S5zd٣e_;d_;d_ݣU_J롖fY T;E \`/my=vUnQ k_(Xfedgd,2&oU Q_ |j%UTPZ,I{ a!|K5y-xZUURkZdkK$o--sU{% N2Z(% .M!4CrV)aW '6| lb].)ݥ{CKGoAZ~#7#iL\D.wh-R}M4*VۺV^I]e¥9S0=VSZ))Ş;EpV!6}Y(%Oktzll0AKlyk,FTBKZ!.>7HE Un2J6Q=G=:61QˁX̸hP5r9 mC{֏hr֫~ާYQ(j;(Dm$_clntNx:Cc7f!z&V2?gJ^÷?O)aiv~a13C ԅluӱa=_ON,~K8EzHKkkcxxxQ_M7zu9R‘Q+<}/\ӵ~Z*J01{;})j%fk۴tk>qނ^"ڎہ}!.^)#"Dܷ Dh|1EnEYKd^MSZ"ՊFQB^:+@Ӗiv1[۬߮wqد)ym+=˿$Y;gZ,B&;8vgi.ѐ0q9nbo9DX['ƉZ$X!؏Wro*J;ݠS{;ctHB:"opūi-P:p3&6 .מ;ג&iP__}Lpތ^^$B&{S z8׊E7iD6MrJ[ZHl7INP3\D}V$PE12`٦֏h3m-"_7iT+?2b84a+` D?I}~-Φ7tɃ8R!Nj ͙= pF~4A#a"JΣ X?T*ѥH u Mӛq wܛ bX@K}5MxwBσJIxXإ{qx0{XXH:Ci4MҨFiL&]F4yFD|PL{),́r%h~S(G?iOȁ{X~z8eeȡ׷̢薒 0QR$v,z;SG2owa9gLw #xDۯ.(nt[$6wv)X<E8q,Sn&!io>|9e{Ž8Ϳ<~8mml~8 ٹ.Ӱfq>Fl<_Ecm&Y`MN,-piN5&SLヂ:m.㒠.wCb9n\Y[~pYO[!Y,$:T Wvi %n)"Er=x%\b>J%".kTj / 6S@H.t~:88.&J>e Y1+۩:O>` 6ArC2'H_cEcQܛ`4Sti1Qsm 2ϸq.x1tp[B7lᡤE;Ƀ{Eu̝;dC=llvC +*"D!H`HBRD1"RDk)"ED"*R"EJ)RhAIa>p9{s_眹wk55;4cI-nZ^tn\M/b7 G+,ir=z!Ƣw ؐyHROme[OS'8 #ѓɊn/R+D ,ףu}ypU _R6s7Ez!q졿_#y{kҒ>JOr&qDvzΠo4PzzM=e NwʁwSϲ07z<|'eMc}'JҔp\(ǑJddz%&2(R]]<.ۓ.yy{ʶ|fZ=9TT"N%錋MMgI~]Vovv7տE) 3RRS5V8ԴXE47<4--%գrž*$'õO-,LMKK#[Fnoe^Ox#yxxOY(.5][QS~+ߗRR4UR73c jic~󇘿h18-SCIJ+`=ٓQǓMn"Ek)X]x0Ї?xwfEv9zJ.MnWzjɣdl3-LaJk\\D}vLQOKlz[[K^ӓ JNZrRnbN#&npѧy0_>D{Qd˺ӯuGlįI?/ސ8o|]91HbxϊĎw{lб:qI]8I Z|2!qDG&&SILI'GwbESV&tΰG\c"]iH3]MOvEް£Dz= Iޱ-LV)\,oH,1+ײɣ ɣqo +ʃǓ ^s*KbcP\;MywJ-=)!ֹ'ܾ~CboWzG ~Q>=|鶮ⰵY](B˖攬@Br3 YJVg̷2puMc(4!=Ԙ+ՊswDmVu9IQg'[sQ:h1?#-[ V~%!(#|FwK9i+D+vJ%gt3,b1m3r~úwg|wʡT=>y@MƙGìF +Z>x xV4˞Vz{wA$ui+|F/H{:RGH#uԑ:RGH#uԑ:RGH#uԑ >[!i~3DCrD<$% ?Rޢ IeeE26V[t(dvYt'ur0sVYHhrDgւd ,ZgbEq26޳PLNJ&8 h(wD#!+6Ф94isMڜCւd94isMڜC6Ф94is%[H$AI-?  :#:ch&ONLA2At&ɏ&+CLIۂo j+<20#06U /f5PfZ܌Rh$ ?Ȫ 6{PMRr-Ӏ!)5LE|:J/ԓr'!cW~IդѬw'J(ɞPeT2[7@ =8q54{^ڟWeo:hh_wd,hĀ+Sh ~MC0">C?\NkHU$943O1g\R=͈,RI4o-37-ׁXn]ЕZM9ZG՘NmrfYʎC%l p9]ٺnf[q :F.%B.ȥmmJL6ȚLjW}%5As Gbkk9نy ؕGjtYYRZTSvU F^nn1lBQ\S]S?¸oXUe gBchŔikUV*S2bRYݽF2*z\ܸ5uF jVCЊ{VյdiuSn݌qu5Sjwķ!>ajՕ**FL5&4N@05FnReؙ[x#Q|z9*Mz\rT1+V *!0R~hijUŨ4VjU"}.xye=F]89A$[dUIr*jyꪚF2娙Z_;(V9BLdD5e0j{t@ l"Qnn~4&r3:_| _KJW?$ڪhiiZ7mvvp/H)7 'د p#KY˞2}+| $N)S JL~J'BO1.W~Z}33> iП@ p0m:cx8N??A!loc#m'흘bc vǞe : t=7mIڇ؇~;;@=2|v~Ë>(eBei./+b'TcyUez\Q`TVR"]]u~:`)gA.t{Hc[Nj;*;{x^Hfwb,_}A 8p 46<[ʞe6f'Z2PRʕ*sVУ ?k<`9``ll#wǑA~ zpi= *z-7;d_?+x_O_/ɱ$K%, &!' A4 Kn N ֣7 Bn$7d-DJ39ks+)=@K39\T^DPz<"^:yu9AX}|ӿ v^"8 pPh moh @':`~sb1ca̻.9Kx3 PH˙\UП6÷>7̜ o@?~:v*֤/a_Z\ޭ< l ZKQX(_*y.ԟ{1XȂ6;YN uT^X, _M `;-LgP^+?| ie{oZsE"gc}m`(aKhߓAvzlD m?F6їlxS(6x:q=L|Ҹbף| eЁ(A`9y9-#й*6Yj@I xFl<.gl Z By({P^H-$?t̜Y`;sk=|ks6zF6pmu_HmCeʐx 춠O!bry}i;/a|L9̟&lkO;:؆u͞ThSށ'Z-1MX +uXA ||܌y ^ < ei~`~akeLj܋[s{}A>u/G\0}ŧO=E_[ - |!B`A~u@.A=ڛ{@{Me^z/ΕsZ gʗcZcϥ1y82=Q8qL)vH^Zb%vW4ꊒen;)zLԝz2YOSz=ML{7(W<'(? 6YYsY.{Ԉ+”gYW! OJzp\ Ⱥ{.Kta>҅kc?>56 Ǿ҅s&+o' =}.ks 8[y0ӽYJp:)j.[ md[N ^Wb0O7ʫ :Aq)M< q^$47xKnwǞn[YఞŷPwu u+t%QMIE!2b̑O .t imEmfa1Ha2"9}-lד1xt_u\tCĞp c{Ƕ=!Kh#D^탙_))'0UlJZQ9v0 ;&D(Ŷ4| <}j-Zձ2A|P' ! % #ӝӿX F!h6߰&9oNl͡xkoMm/wUie昒;D6Sؙ92yZ6̛h| k:j v^\sY;n+mMr̶~l3Smd[)1ص%f1I0ܺr(tIjɄz׃]+}>j;BGAqyHsb1Y9@x \3h-eYÔliMbvhl"Gz4qq>َd{IJŇ`jSUEhǭV'(PjݧVKQy*YE+rA\Uc!(%͡T؞WW#꾠^Yu#߬nf![̦Cߪ{cXz@=ԃAQ@U a`qvM+EQ?yr`O}#m? l{7`OQtʓqHiZ "f)t; lls((ڎO7hSp<Kuu&$;3yGiwm;A:e}Dl+OFrqCڇ؇nv#!u7LhYL.)m jM~7N3֗}U2vPXh!<̢K <~(}sL |)珹\Ɩ& Zxoq:j,}J~|YBuT{Xp w]PK}徦8i儧\gO$~|#WuiWqEZ&m #e]vQP*e&ջ%tU=>&i?$|-p|Wշ}R>B;*z%kH,f| _ ԰Z(i3#94ZQNx!aRyU)}AlqU(1In=0Z.}HYWCkч!}~RgiX%VϖX=l%o13.>7.O2>vws7{OkxB\/\qiꒋ%-1;$˞' o$IJ:$_Y/irM-UEX!*u$TKz!P%TDl`HRlV|$`JR7|RԢdSDs(1;O+A 8Zf#="fFJo͘Z3gȺΐ]E5-F# H?il!i'*8j[vHD먷 Wg8^%K-~ ׀HHH2Oi~hE'*44G}@b$=pYu)DOU'Q'HxyU^jХi_>=Tΰ:T.?HZ:MȞߥ |p{A#@޺1K o'lCH,"JcW[J,2J,pHւ=sk.0%փW|ѬWkBsתE>\ka>#ӬqzqɏF-tL Dg)$"$wݕtŠ7C/b0XzDJknkRb,KbGZ>% QQ3TsqV~ ̉Y8IxJZ$(婀8Ku_ ?EBĴѩsTXn~O=t8$Gz,BJz< IljR~\J( ɳyC|>_/|%_u|=7M| ƷmA~I~Oϴ۵;En"_t=E/qQ"nbq!F2Q!*$Q#&)b.fA}xD@<*OŏsexC%[R4߈w{}PI|$>E]хwң8=]gnݫwѳ=wӻ=kz>V`wړ)Q1r{^oamkgȾȾؾԾ}}}}}}}}}}]s OXtL)ٰƻ1wݱ?d,?fv(uXɟO(E1 Y,E_/29X"ƒod:[,Too=s,??dn''񏘗eǬ ++?埲lm6a0#|D.N"On@01]#JD VubîK & HT*v&Q+j͢NԱ>^Գ[413pOUX?1w1s\6@< `<1Cl/bX.ElX,;R rvxV<ˆb%X-V^g#F&v"QblśMV*nC`c`׍LX6qbqUC#Gv8& 8*)qMqWgX8'αI₸uktMXnml:=JbSX=RTЍL>wXN$$Kd'RlZ$] i(V)R7=T;Tz=~>ϟ;{|眙;"1 ժ%9d@( q` 2&T_1!HD BI"4 M$%tBGR YK,%"i;Ꭴ'A~H&f Y@ 8GWlrd#H6~& D! "[j @ւH>HHX!@6F A.E@>GA(BRPJP`'RjA-R}H8!8TcR Z@  89ݏR LS1b-X!VU`;kN`mY։]~na!K-݁ᆸ _;63/ǽq?<"kCB塀:~>8{JL DFx+X/ ĀxFBP*P4 ?M@ѠP0 :CWROO\OOi /T!>iCCCCӡf@ C@̈́^^^^^^^Q^Q^a@(A(Ĉ^QīBgC $$ YgA!9uMH\R)ׅA!s!rCH=u nL' nLErD;> ā5 l9`+rP v:pԃF ZA;ZÈc; ȝ$N Ґ>H,O'S)B>%H2oOҧ S>&SdpdP2Ԇ VIԇ$΅$@ ! FDcH $q>$hI\I4$.$Z@A-a}ky<@m!vG{Xg::tHRH $ u..z@B=!^PoH H$ @B!A`Hh$4 F@B#᧫P= ًEڐKoHF>Q=oD!>Fu(5Mƨi6NM7)T@P\jD5e"000O0TC ! szpD{ OFQd5EOF+' FTPv: tT28Iƾ>A+ADmzᢩt{wy~&H1h,>͌f ?G _X#H{^BuMFW&Q70ػDS) uOdtzvi6zunzzRoMt{23ݝMFQd? JԷEjo.½KTJ_sPuCMOFg~޷EYE~d*z=hE#FdCdwԂ:ʳZC[a̓w#UT8%mD5q8G+" .»-SR VXT}@8%BJP}^/DԲg>"ڲ^/GO#e_p8StNOd{Dijoߛס&ʾ("dh*a1C@+REYa($Й8Bzܳ*d1D ^pP`8b%Ȍ.hX$O&ȃŻ{\ZX*L TA_?kZ{H#eRL3gJdL"CNJ1::ZR<%g3%H+Oyɷ&Ҥ${9& rh)aq -$I-q",u?pD4`5MѐZTcakQFUU?L[V7NVI$Um`u{7%b9id{Ҷ<-8۪[\PtUWuʑ% ̞ph2tj^.\k<68xԄJXgE +mŘrOrg ?[-)ײ=޺ش~]rK+woIaOƁ#Rl;TnLE^7[:wٗyɠ<6+?4j{߹E֝CeW-2 dG[f7+|$SFISHnp3T1}4:Nb?R=.DA]~uߐx*Na:1'Z( wZ>se*٥V%&/ev~p<]{~|ubM\'}Jk^ڛӧina kYd?? j4k&_(l5bD4j p\tܒl[ؼI0ƗڀqNS޳evUosj/-<%Pv{7.:7=6.NN"uJ *;;Hm%EҥyOؿ5XFnad 0+82rL<o$S` Gp3 lhSa,9s!Tg'ɔ/ UtV6WbuOKdú'bMnܒEJf2wg:zmKxu:TVW~s=6^}qf6^]R)Q5~gvgf5_d3>hk%>׿b(e˖G#$w;k=<}SS s$Co҅I_c?$}.GThUPUS  Q  `U6lyUfSHGHKI]R{D3Te }")O@A(]n  9St3dJyx.ZK5[dNr$`'E>99x~'ە\Uz2sG퀏jSd@q#8Mocw٥%S}e|Y65:%ggLk;v'" y]}Kx,PqmEz(>O%Mt%fɼzcֻM\px '6z ,^;v82qB(eR>_liwM%UAL[GajLRCC*uB|=Cm{Z.[D_27phX'x\oca+ [GsW Hڦ?; 0}W)>=8~=w2JjWv YbxIV޻2N' oŸ9*Oopr ]J'6ۭ -yKp%L4V\F˃Uvm,7 }ji|ǎ~-]Ct޷1Q:= yiFiKBJw >MR748>4vAaO Ө[s^=#WI Q nYx!&-iFBPyVӘlmn 7rl1U49mv}v}񐝴hg@bV%c*!$AzHԓ5OH|nZZgW禮ʗ^^ϺyftkL^qhTt֭~ǍoKNX3Jo[pK q{1Vu1۔.u @%ZMZm6 fVw–玏&zW%%JTc lk֭Ρ+g> XɴO=-[ECZPFIw%+;?jӾ%i8WIpzlGZu*)MFvq*cMrU,j\J:F4Xѻ5sщg 4?&ZV%*y7_fLB`gz/_c6c/?~iMK):*=_+[!~zp-Ҡ˱Hj srKkFnfNdwy?zR1#L}Z;w366l/4֨WWm, ތppZ(l"Sj֒ŭgVL'=sŕ,ܬkvk{mT=12Aច]٫f+?;=c\PqO1cz 6,fӱ G.} Zd{;!`7;0̕OB)32V-J)`+Rnpx˃]g};\sʏܩ#KS.ܐΤps/& 73J^?l2HW0[~޴Jd,qa~qRr= s\H2XG!;[knJL^u/f?is(,*vRG1dyQN"?ʸcQļ]gY/5/?!9.ox:dʫ6)<8m\\nS=dAco >X [ܟuHe**I!Nfq +͟ro?nѨ}N.S*W}Ԙ/pI_SĶbv[.|yObJ0լוXasv-.utu0wj뗙O_n"ZG<@ёk*󯛇]2|׼0>}QdHg]CG7R endstream endobj 7 0 obj <>stream hތ @ _%Q$Z{B[-zЃ aPj[֭GA)L"$y0bt9pa![1G{_Lt5a,:$Lq<"O;-59Ms}fd4wZ;$|wꦭSM"(KuCg.fMed05o/%B[ endstream endobj 8 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 4/Tabs/S/Type/Page>> endobj 9 0 obj <>stream xZݏ6҃C_wSmڍsm܃w %ǒ(\xey8 g~A7?7ww7,N͜]/^z3.+BYP, ~ؾ~/WxDx lׯn#|AzZX;Ko'[[ڟd'{;x !HV(#t }]kP,A4:>̟$=j6/bKW稔`޸ʄYW66}U)[=)VEUUU̩v{7gc|Yp53Iy =H˵?QޯJ|O">(DaC~kN=j߾A7$5OPi*V$ 4'29Hvy3uYJ]v~)f ךcjkjgd/~fO%ʵg3?2-WHs^ _lJ-+0J8C^Tq;UwE7;s>rG4!®0Ϭ.ْU5??='i 2{aN@Z&9/<>xh ~5g9ߘa%M8f-(a16&/n_>Z#=++HO`kn-~G^UPyBձd;$kE*o^Q@m]vv-2þ`VW2دaEuhfk\+8ķ̞x:%_xXhS+_׸+H~f~f+Hԇʄz Vj_]Qpe}~vsdN=!m:ʝ- Z3‡A&mw`>l>@@&Q0/vǃRtL\ "idJ2fdq8i):XBӾOL:Kp4-EyL[^*`d V%#Ӧ|Yӊ$](9#{&&ۘ`mkl\.(@ZAĕr@2)3β11G ZUFĄn9?)`Sl* *A~H&d h*(D "a5~w1rWfj43gIqj| Es=,IYv4q>qG䎞P\H(#-TGAYtk"~\-q,_[ YD^a-0k.>}bmw䑷>/K^?j| ~ػG^t&azU]Eĵp!H+ RGw(39>rNĂPa|4.RX:+ڙ(WG07ƍ&ei">:rJ9uvSd<* * `?CٯdEXw/bUh>q 'w;h u`og?ǮڶrI6$ q` ـ_.Gu 0ΠbkpWͺzCiuC9ԥ`6ZAVU6R=kiN6EPP7f"<P' r;QPLjg8%x`eMwRf 4>UbmKL15 Yz-ba1nt,ʗ 5MKATTA h*q׶K[Ӟ>6!aj;_sVtvCk폈l4Ӛ";sskcXbÇv =T1 bCs  Q]쀱(̞ }_H7U}f <6t'rQ'eQ*<4i sD0 jX;,)% )絏mq%5@^g \AU `PKVT"N J{Tc4` u;r8qj9;krb~x}#<_70!"@/XUe:}3.q%DRR{+|ɜxEJ[@#v9͸g؊ 3;g,=!6#gB.o#5F OIG!fu^p[50}wUḱ;@7RNab[Fdns% 6\8Rq(ƻ)I0V&4xOR,S8%3^2IۡEQN!QOQ 3d]_淮-vdj:xY=]a_ /H+&8m荢hzO>Sxs5R:JvO U5qWg *$)pǝs1 slr $7L&;m endstream endobj 10 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 5/Tabs/S/Type/Page>> endobj 11 0 obj <>stream xZ6 ?@_z{%&M<.kph $7ע %( \mi8$Gv}}nvٌZ٫gW-ϟ ?ҐR8Lx}?o?cSryk0yo"xOq7Q*tG)y7g BzVGyN`;d"-[o&&( "jp"#VH r;>4 g[iIrш\ºJ5|~Ÿ,?Qaف-t;\2M%SeN&P%$7H #G@B`«fή_V;4 \r[X̧PHlZWO[G4k7m҄Ǎr ժR!dT@ z֍e߳볞#G|EW sB \XVԶu,5h$uLpnYKʅZUK)O8T<=Ge&< ,hg~zsqo&qnv1%Һqfr6hM׮H-}5gؘEV`i#{DOK;W D.9*8saP#%ku3Q >Ago'R YNAuLpsت0jnla| =zIB4Z=6`)x[H q@e(b!^ yA._&C_X)J۰Lr\ %fHEo7;e:+@Ƭ: M#zg_s65DUBD0 tMe$[$sd4yisz(QkZl\? 7 {LK)'fla#Oaq2ix(CW25WEqdAK^ TJ(pVN_P$'`އMQLs@= 쓆,/7?#P(!ث )Õe%M1vhaTBsљB;KιbNd" (S7:ZlA٢o9l=vKۯx2 h;fV&i# +povj#<IwaQQqmgi\?&1Odg^~ QQ=Umd֬vh/T?3FɃ^J.-s47(@&#1qxt3`r*ٿ7r234iƺs !1mXko`)pHNyKćϥdT =͟%7H\N^ڸ7OZ<9F"; yiV(&YJW>^"!Q{3۳ u4 4O 0D4 %nc>  46~ qN:|We<m; "'g@H,,(0 "KZs[ڮ0Y'MpigXwXNYMԧj$gaa{AіUi_ 1'uDJ< ccWaJ窫o%Yat2CPj wqΗ0Z3vfte4Jt^gfz':䩭͇k!mNެqoudE9~/ }>N͠:ŧ{- u}1- L!8YTz;s꿬Ve0ah3W˄U]&_4_hC>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 6/Tabs/S/Type/Page>> endobj 13 0 obj <>stream x[s۸( |̨e6NbӻK?p*Hm|w EŴwYobf Sv}3gOo߼ }3,=_,ؿ}g|'|'|?_ Cx }0Uup!~w+1լN[\a M.8oq] JNh,OsϧWfSW3a JS'=؎4q0כ=-4ƍ %QPS]끜9eQU<aKjqv=bWMTGXOo܂XhɘdQ;K<J8x9>7+u|&#k, ~GcKŀc/6EGm{B6 ;EyqbS/q5xb`X Oç8,/x3xtjˊ_t kfxr?Ϗl8{#0osn/}E"MZv0ga|e|KSDc$JzIݘ-q1~8{z$Xy}AL)/)p4c2ԋ]AJqh .Z{i{AYQ{p LAKjK6QV_'tlXM19[rTumFHJB^~7NZ١E&Tr1H ,^6+t\ɁC}UrC@D^(N7HEBhnA9l #x5©<@b"k(4)ڔtGF({P.s9x#{54)QLҜEn;6+P8@O?߀ꑁ 6 `sܞ&pFmwNAHd6t&mR6)b(HhLD%G %bJ8s5oFEf7\"VaN$ho6?P(I;7@_񕯼5\ʦ}w;I$ipߧ^"!t <=JE4!fa>f5txr4!Dt BslDOhb[c7./v'Jf56]l gQ|KATV+/Q 1 腰Y tNK'ղk8}i>< F6 >Ǜnı'+?N}ǿh~9< ѭ(jm(8[q8« HXQw:J.L: >IYYÖDy"=ˏ.}2ݚ-7 --/H*_r,=!b[S ɠ9 nVӾY8sT`f)R}SMI{ׇ{ q9a!kmzwhNFWFj}r[7]qG1"_r(f4VU(atpXʗ{ =''K?V}u#ܡ_0Ͷ8%8yk~~i o83-n%q]RB5+SUknjX!3u-+k1*^R540^(8եS`TF'5r.ڐɓC-fѶv".ħ0a-?<4iI RF  ^Lq%96B 7Q  ˋU,K3D@ϩx=YL}4HYe(+TFG#|᧟./mGnʵəuQs dV^I~*eOum8ԅFX6XO&hw;:M7>7rNv.V&^d!3)ן4# 98%pu#.]6*YQw'CzGDa۴# 31&S_TƁ Ʌ!'dϵ u<(ulZLOb1Rvʇ_g*RvV\b!a9{RțM]LUzgfeoɑ·miۮ@ n3O"6{ĪD0xLdPFYj4s{AWHHJjY c;PGWqK62 MTnDcrԧU7e5WXj_o293{==+jD#j0 c?{ 7,aD~q%9Z'+Тd BұAK㭛J[17>AhgȽ8lð>,ߜ,ZWL֝{$$g1c(d2[b = :GcR2{{C 1xƍ=ܽsXwz5*:Hug9+ ÚQfpD udObSӍDBO|o`u+9J" MQenEfYo+5K/Ap|M˯$ͅzҪK9U\`glR<[t dU J.Mo ԷEu7)-ä+h i_総Nws51=WmΎ~hV=^u7 yT`k8)0(ՏTL7Hl(f7FX?C7u"n} endstream endobj 14 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 7/Tabs/S/Type/Page>> endobj 15 0 obj <>stream xZmo8^e`C` ,u-؀-y-ys]ВE)"%+ ~&1fpT1b=*V6fD`\v=)"ALda>v'HYR\PpB {iP!?wNZ#{ mɠx91#(V:Xl+1n^Z'`::;&tF:(O`BM>")a (J'Ev*,mT >:HoHCa2%,{>?N^N4Rt/]DWڝIkYCz\~^Ɍ/{Cl?C3ņY:/63 c5) :-E;cHj(6 mcpj CRod"T&컃F@Q YBE0M)yF`]d[t-sQ}q>p S`6P؇etd8 &Dw_c}Ľlw|׼ h|v9jQ^+F$}b(%$9׏U`=VgZ6 &Ҽ!(?PX|XS jGKTOX= 4UCL[ct}+sxߨcU f*?`mQ))v3(5Ae"@x5fuK_,{zXG,J;ߜ6Qۅl{n,MZm-ާqcb. :vTc[Zjz89؜.D՗͡sr[|b[ c!HNGSMyAs=xoVrG{sL ir endstream endobj 16 0 obj <>stream x} |SUs͞fk{IiK M -Ђ,Emep *:3"-HFqmeTƅQP}?}?>s{g?Mxt[p(g7nˮxlu)5~\+l͗/j8>X+LjCR[q pr'ڱeξ?nvf\MR@iv|޼DR*o\1s3M7g̛ Ϩ>3ͼS7 c=̅]a"S͞2}y,?%_Gg_ v#^zsRjU?~$sgOkk'Ioٲpz.x;9C7? v=$7XUtݮcOq(㈛0x2&h$S0d4I㉛qq N$JH<g$csS]8gLga4⹘N|fN,`6yC|>Nv`E8x1$ >/\p/<1,жRG|' ކ+*Ur\q!5Zaw\eĿ7߄Kp3.#^ˉoTV\I ^or;p5).\C|7%]܋o Ŀ#~ǍM`* n!^[6JHøRkp'qҶwwux=#~o܉o hoq"~jÓoa3Px 04!~k&6 ^6xC;Ke]?__?Ki/3No. I%"JJ+;G=}xlN>$b ;NONTONDOND=B:}{N#tGB:}黅NXNXN%t.w K]B$tGB$tGB:};N)twCB(tB(tB tB tBo:}ۅN.t6ӷ MmBo:}:E~kN[tBӥNt[R:qaj6CUu:&0O0?AQgyc0 z`P@T iЛ7 KHHHHHHH]H[/nep8z%$$$$$$$.dz3Y=xbwMp{(̿ZNnv:̀$$$$dN'&&G_8Hǟ![/%3[rfz.fv^?keĿ7 f)"[Š;xxaMH7<=$%9$ ًIݒÿ߄ݛ7 _ ~XwZM2tdfC dfQۀv'n3MBI?k7>z)DBBBBBBBBq( dq89''vq?rsτxa#=gPB:2zjx=6lECHLytzzo}RхpAl6gCQxgO'psϟK&fs)!=8=7dO#tffo}RхE]E< y~.QB6|=ddf:22#/v;2HLNgg&G/HHHHHHHH]X㠭'_@q< y9"++=+ݙYǙ zM7 KHHHHHHH])/KXqq| ̇`9!SKNNvNvRNقIsI9To `o}RхHJJHx6 ! _+΃(@qO-?wBn=8Dro:]PЛD?"!!!!!!!k@Cݙ"!^uRq_(^Y%|.xp7zj gÙ@0!//3LM{GY$$$$$$$$~%P]&'9{> ّ| D)y10 p>V4*CאnqH>SӴ1M[pS@MN/V?7\Qpx%{&׏dX`0ںFsl` &‰)io{wUgV3:bRjʡCF%/, r>ovVfFzZ'ŝr:l2:Ua_싅cP`"PBa 1%3[OkHoa"{zztuI*#Rٖ։:Ң#s9]l; 3剐]MQO4rN3:MJŦ2̉k[<΀[в~vdJKw!<7ǡEñXAZHpTN\<>obMh~;J S3PSyΖ9y҃97h;f s8SfWX=#_0W=ubI5jR2TK;q!aiLg;yzD[Q0Șyt,~YS^On* ="~DZU.Oj9"o$֑֖NmԀhݨXܺ+ک=<#6&lVAUAu[]9-ʮlܸII Sjr)qHUPh+&1 ,: :D`ôN%i"ZI>!#׶:N /?QdKG$p7^!&x)&e-%)Tg{uuw`py|>Sn%IYҞ>ސ] gd1PLLjB?"p"8"KEG94GRɋ&dErBPqs(n}b~ D+y  UneYyEݭU7I:U*uzw=nrȩ@\El[K{a1H&*X~~0]mWj1 dQ03#%]%@f \&8#^jvimv66ֿ֯6© "֦dpf?-xtKI&mvⳝl#ll8+ řXy3;m4nxw{۩$3goHS 61Փ[CNx:C G ?*v^7[/~l$wX#DvwΠbwpoݎoFkS%zG&O\!VG[Uwyg~d+!ibv*kڽCbQvE%;\}-ԩG }9ة# %B𑐨lJ$JN{c\!t Mhb҂N\fz\)NK?䍋B$晴Yޑ5ޚx+wHNoY@U ipԓo^e?ZFKgQcqȘcM&nJ0YL&3)&;B~lprϠa™ߏ5Fa&"+ ձN61V^X3?kX}l4Ožkt2 @5%֣~Ru* ǔ+;ie^vM. )UV%w Y/ {Zx$Rb+cbaвc|S7**ݨ\ƍlraDF6 uѦ .\v!vJ\KI,=. ^!em3.׶[W \2kts2A!0.S4"$RErrI-7GdOij/g_(ɎijWdzWSv 3{P7PDSs}Z?lic,S}V2-tg T*YlH(H^4\.n}yz]@mR_7`y/02B!km*Q+BUXG`Mr 4!ywєvjwdgHj0QR]֖Mlu%7^r9XmqlCu8 beV\Q0~p:b֢_0V#( `$]"q-< sGE6,XaLJA.iߊ7k¨+U{Oh܇5Kq"\< >,آ8@0 u:MZjr6m pJaj!tI*\p+blZY^:b jjMRvÎb9WNd N*4C{JQ;s-4(4'[Ynauڵ]KѾzWC?Pߦ}R"(ۆn}["S1WJzkYPRiϓaɺQdm'_@&˧xr[3{8Cj,r;1C]tRx[LVu%N}LxPQ~3[J}|Ӕul{(Z.6Ub|YF瑁.e:n^?> {)URƪ^ T[כZ jMAg=9x[{F-ҵq(vzQB%p1"4+t-ZN )T& K}::;ri$Hs,~Csg }+~0V]@zQ4AOQ;ٱ#9{Uv'*w]A"~eTOɧB;rMi%v`ڨ}\9I=Fw`ӎ?Nv'R3c~ͨ݅*% . @ Р&T/-lM.r3U..,,dǮ߼ 4y0O7ʻy4+!wQo4yz3^7׭!!c i7݅Nvi"/j~u/^HԶGtCA4}ϊh los/s%|2NfIѨ*7g%a@=vMT͖4 o]Xќ@țoN]oIeS .z]uJ֙&ƒ̮N!Cojd'w\'WN災N6_1,KdZŝ̖_ le7<5ٹ+[YFVSU84ױW_LI~Y}:uowxދNY7R<)nQay4OJYA;fn!u뉮gz[|CinI̓`D4=$)RToam_29VY=l-%&[$fha}lshQ#Gӏ׾=zlHu[&R0d4ZÇ;o'' 'Sgg xr评ڬmEGN魇й uUPKza4]HŦ8hjl,ш).Ѩ7}:qO;ylߏVo\չFI+ޱ؂{ܸi^Kׯ_=َ?q:IbL4'5^f ΠtzkF#$\p* ).iiPvt:57BRt'}?(}ZGJRP?$$E)DHpN` 2(u:GB)*=S%5*Le3qD ;-kȉ'悳rtkD j[j=JafE\  :lvpC)X|μ•otêI:lpwN5C9RU御OڅL$=Z,Ə ˸x<\qb}Vx[ vD1!O/;?%17q#R84MZkR$l@٧CЛЩCm-jqBT4B+1HG#1 k&ÓKb!6i]7]tהϞ|qс_ް펥 ʓ״\Ӟ~+n?̮=E^7A%j'h R>3Ϸ)qkfWhhl9 $Y9DZR. ja6 (NiXZGy{"T.!;c$Yʱ':o5Atc҅| l_ҭ[]4G)S wL;>7 #тSt4CIø逃;ZKHD wް%E%0 u? ;ou{?zhH[ytWFkJ癛}|պ~]z ==yxg<݉<{$}T8]jKA舳䉈VbBl䍌}@ ,f3Oml+v*` ԝT xF-[:Iv *A{Ʌf[=DΑ|TO vp{<$L02R$15T4j_"[AG?N.OVO3rs ^ _Hz-wZO8ABHUc)7˜ek0 _%bDaRDy2H}6[!*w+*h%ja{/lާYhjK(qV#uXCo[oa 3O[QWWR PWRx,EP1E% (IA x}_"I~&R0DWUEW#'}@T<} bZPp+8ЬJElBȻJ h5Qjk!XAzCl5)+eomI!:8}7+`r`U,_^Y5bL _D8|&LZ[mR1pwF7 8֛DYHJBs ]\Nn"vs #nN8pHI%Œ]P`0aHɉ!$ QPc xs \ީTMAJL[lspmsqv\[ӌ(dѕ$p`2#@APTNˁbGGPL'$:ű7(q%U?0b˄p^ߏW-υ&:PUί)}"VpK VFgxM=@|;O923?52g%qW ,q no.V4/>D9|]y53"h (oq1@d-˒(^i-< GphS|l-H% Oyl?~3#xlFhI_vaoreY+S}pk7>װjǛ?,XZ ;vz9H?2lAI91|zQӳcaȢ4FܵPݩyAPD5sE#b[$*$' _!$\2pCfJ0# UTRvQ\hHK'֖IB~=)C SIʷ_"deW5+4deivT(kpe `ҟ,-muo1٪~Ba} w}55'D LH#]xouq);1rVGuowط䶭3L;zDz76EʻJFU EGsG[sS8Qvj[.&ђDLKO'VM5y!}\~=z4]{k(*QWG[DbhVἒG#(I(#$a缩B[,G#aDY>)|{-;*VtHo@ uء)V)LV*^Ūın;&@SSzD$bCYu]*s k̵5F,c l9]yaʘd=rQlj$L: f}0mzYq] M{t79|WUZw~eK(KC|y̦[0*x~#pUMNCnF56)aѢ{+P2I@!{=aGFNRf%X8Ja%BY`qE:1~׏$ 7/]5*(hbBEm +{#Ԕ b/ti%ۗՋ3eۃjik9bex֠ N#@<e0%khT=DĠ(Q7Ś7V6hW,CwzZɧ{ifNV/SUԛ-7A@^zGK dFCIacs*'[{ߒs- .9xA"cmR>/׬[-.2vVa!5#b8܊:y< p8a&D8xL &@~rg/5|j_`QBQA`'<&<7֝;J#ZrdWF`npx렉lj TGU ԸQ ,IA" %͸7!Դ<~R%enXf.{͂b딦7 Az@M Hʵ/炲/I*m|Gj/O 1>L.]!߾C4pX|iudczJD&OY 7:eg#[f if ([wDnvx݊QΎOfY1 ~033K8;J| A?}Zݬ6Wοux=3D™QU-o(SlN7 O r g˰N.5[H^(];̘6y-s36i {WߘI͜zhBݦu+gkSn)0_n4r1 $2h2\I3jV0@s ǤVp[Q؋l$$JmxcgU6+G{L?3A2]~@$aJ8%UZR~4j*O_f8 uueFFAgeڰG3w`]E5îReX?'P%GLE (Dxkўk_(/83Ӯ~uׂ֮޸aP){pwݸ:OS<+*OMk;-0J_05IP9mmM@Wl4D}i1?w9+!v ãNemRzb+0K$<5DDn<ftp]]1ĊzәBг;Od6^5uZkm^8=~=g؝aRZ|\n9sWX^\|[m趏誕s hJz6IZM//zm Q] *Q}LD6s13af!bO3V(!qʢoLbZ6p'9ͦؐϼ9<+rIbB+3XM@`388X<Э[dd,a>D{%(9k:;ソ\:nkOߵysnhS}s%g7G^;zִƤT^qW>Pz>-=NP8k(܇LQJ-kTEz=(߮冗/cea-VE%LPTD*c11v}FOjCyL8H)r8:8^/x[Uww NH&|cs,u~ZQ¾8!('l @aaՃ8}vz?mk!i Zo M&N2E겷"aԨ׸ѦN5VTe7yw)+6-\ؒ6>ɛ1s픰mwk5);qIbz}q>9ccd(qD1W-IF>3Ny˸Ύhm6,v#@tؙ'RxA<:8ʼn^ gʩMSFl"N;ZЭawO5f >-!5v!M"9^D~zR*UOZP4U1)KstujlGzt1i' | B?c])[m?+3GW=;䑑 <+͎i:l|+O H*5,,xէGZ}-XceKdSu5Da2*Ngĵo,Jo_`MNEhSMusdȗᥝ"d>I XE%_e} uk*CVPMt kP'Ⱦ& s#s=xNeJ`].N=bgR~4ZdGїS+ꃚͣ+ༀ> hPH]r n*5.3t@emcUo뾾DXaV 0e"Yud=j/ɚ}xE>0K9yءE#h25mIڝ脅ZSnp5WVP6 h%f|bNUSk.?3G3Ҧ0 jlb2͆ZNfr4;'JP  8H:Ⅻ$2Y(U tJxW &56`7N8XYz#@?CU&N x=>S]V10Mx_S}MVk._Iщ럝8ީҗpoxhѿq v y]h]7=Oy;%H ]" IOD/1\8lGՠNfZ>d͚d{2B@š !PT@J5UK5").-ڴ^նV~Xk-K~y, .}>pxy>9r޳}WA|[K.*i<RWϓ:&uxzeEr({~qq_zVlʴWMķ`J\u0+9^;Zv|?sw^RL?eEa$KL\7((Q*®.II:KGMX&['&n l*22qe%S<|yQ)F,/LtnmMK\aڹ}JlVg;sW[е^g- ?mo+N>%ً7š-V%d"/5'i抎K98Sx19eIHa8SSK:G[ãòZo*OMnwʊq:rX:-QKބƘ #NrWc`FIg>tE ٞs8;oqwEK+D;Z&%2ŬZ{f/JmVc~۴=Lt?K!G=VBp% r/A%/8=8L)gd*8Pbı9cǨ{,o'wo=NqȌ#K^[>R'̔~+$BLoo9l9-Efψj7ovxp2٬SiIHK%I>"Ѱpbsٽoltq}_xF7y6IiKAIrGyOb2U2.DW:S)EዕK>O\=R%v$G;Q"cF_|E"JUS-cvn-9.*v4-:ut0M3QnWzM1[9 jIwӗy|Fpf/m4դ\{5,vi[׭)ō4mTͤR1ƝO=WVkpsWDOgL:.nr\oa7ep`cQ=~0gw{-uoݒ'9g[T[?Jt^BDj5Fʩr5)сsXF+5%>R51jMqSKd z3VS$қIY[u[c՗$[>م:mAn "feBTTqeo<'W}cqPTϽg|FI<{c',cDzs^v/mX8aC#Ԯ^> d7|aXiԸԴ t({.M]li;P2=L/MY<&ѰA_RLNGD#ˉǔ([FqQ2`>箆2O)yrWO|va:sNllJ4)=TaTmo[kO_Ѱtѭ}+|edv<[jUn%:#U%;Rz>FplBM@u-6p yYE>RJ|Y.E2ۊHxhzম֩INF#IE5؜6OfeGb!JA<~Re?o{lo\rr?x!qH >Տ~[*89/eX[UEscJ{d>۰9G?g5;3s&߿{G#N8,.2*9fsGYZYviN}㵊npVk V6n}+؜T(͊m"R)eq#-O17cY?b?\SYUm4O*ٵEUiyEE^8[_EtD%2am,;?t'Gۧ45r1 #)̎XbnO`閰ꅮƬky.mVlV^g6GxB0PRxlrNQ IR_NKSv;34Z6vy)fɌuQRB:w9nte"g]m>{W\ܔe),帔?u6N|1f /K{8_b77/N;!%iSww=Iv/.aRFe:W_i*rh;'K;S|4uc0PdG #]IJprx3ƧeÔAڢmvnlҔR2#cYjȊ}JD(>ztzbϟɷESc=ٓs[n~x/ы i9$v|GfH;I4ڷZ(1:]Ldvp8^+zbw[x W8!@Ӌs`kJvMz9SNe'D$ "}HO$̰lA;gf.v/${}Ť)es˖Ieǥd_l ,] Aŷ /l+`rW gqO*0woq!&gȔL;e%e";b&׼ײi?)˄=#z͹A2)M JrT/0+ӽ)9yŞ0CAE/ϛ>ijlQYk$n÷HsxtQbfao# М3j ZS̎jZ>%=٬]MlA6YĖr>&MZsIH 6$>ב$MໍO.LTbϠL|-;PJ:}UVfenN`^nm:!;&L_52ϤC)2*gʔҖGjfY62I/ܞIlSlkR$R=sqT$,VuB+d K vkoV[ruɊZ=#Q2+GKo$T'dBbKdTfuMIɓRbZ֨)e/Exݾ8fSӄ>Jy.58'E<E7j0G5Q%H?Ⱥg.iGJ&/yAW~ey_Tb5&ңQ+IJTCݬJI'x2NiYVV>7|n;m\)EN"Q?9;l6LqoOyN˻L|2 )Ŕt5]MWt5]MWt5]MWt5]MWt56]Ob kn~e1:;\4νsb W+ky*'؀k2 }z8ENl'ʚ*nĪ>5WR Z+rYHql*|8e_BoAg l^o͓kAyA@@g^SϚzyN`oM{ܳ^n;kW}]_or-K =+u dzES 5*Mg7uijM=+]]=+r8 l\=zs䖞}rC{gw@.(/*\ܷA^ӾYް> tC>i_/ tq' Oon~qsÊWݳ{B[=+:tOY6{;Ѫ+@dyf9'SyR_Q$Auv؄|W  pξMBvE@ } k7 ȝܸ^W+0z9~#jzB/_E;kmK6|UiPtHzZzVz+O_9CWRM uwT诔DL45I¯ɯ9FwҫfbhiBf-HSUnYN]DbsVV@G?B?"F+|\w5=󭑘V{IkE>/d[DJ䷭Yf5yHE>wyD|-B=JH8@IH4u,;q'q7vLŞ9zB"#9JN-r|Nh ͡t& tC~&RFLV)Sg*eڣJC)Sʒה(_&|R#:ۉNx%'+ԲK-_W'gMo5}جQw4k>\ĵx[j[)W cf,Z8OiȢrPn` [XVF.mMjkH4(KrM)PVde7Q-A~ϼO4V9t9=Hc l[nA 8;#1)NʒRVIkW (<*6=Zv6qOt][z$_^V_ep ^vA+ M~SzӐ-l5073m1Y,-Y>ӅUm v(X{4%&Sg7 >ԍ+⡡"Z*,x+ HQU {Uڼ!"V#N׈k Q xGbB׉)8,,+"!]FfE-G^pG􂈻++.kG BHJK.:}/峃h%EF@\r1cxhoH/(//.8GDr)y&/,OZBZrR@`^j6DP^,/zOG~G?zaXX93!WXRevH & Gf,b#,!%b~]:c6 ͠ eDf=)cB,:9PPQƇ{餒ef||`\~-itܿo@Pz=hҽ^t/A@Ҽ'iL@v1h/󨍵cY~ށ_Q]7!ݛfP/`~|n& pFa=XC! kؑe7 j_ko^5[/aab}9[()\_&SGm7wn~C ٣8<[ݐr78솔-"eɡ A;^ FAhw%2CAyAyAyTAu=ipסR'E| Dހ̱P&tMBCh>;́Q.?%enjI֋rS*B|Րp8\0лl) m&$-XuNeMdD7Z/@Ca sl1q]e}u7c_昨/wAthw:y)<,]b%CUl7BkCױ͡#WM]CP? 0Rt2Yf AV71ikY;6CgƷw!ݻ.#xV0ds\0uCCg*R5o@DcS-?nc<Iޅ$BxgC؎%ev@7`5 ԋrVF>G<[!O*'y #m+FIվ;Bd(.UԭܫX؀덀kC$Im[zr=u Guz߉Q|6!Ax;y:k]W槐$l- ]ոY-{)|h!^!n\ 갇.Y)nrY5lY]/5ASj/#'Eo _1߈уyiE-ӭ0:̅/#E2BרGuAi|.Q1aD`q#)1Dc^U x!I9 Ds~ VylKbh>'vZH?'M?x$0(0-ӒDga$E_;Y,őla2a),4FY&$^=:RX)dŬϭl2)aS0ӔZVK 6LfuL6LaMLg-lZz։'f>*4l=Y6k`;2v3,jNhTq#+iؒnBZ~-ߎ]J5~ChrUaܦ^Bء\V?PA:8-i;8 pNUQ@ViA^? pT؍-y@qۘ|cz垅o}0y&|?0$XF}G!0+Ago w\Ym.2( ;9U'v,0 |NcG6L-AGm 9 ;7iB78t_l3ڬG@-)d 5oǂb V8k~\?>#`RۡHpcېȏ.X"υvm{˄~_Eې'8h/x ]BUL8@|5ߏz(yy:D4/Ɔ(\ dcB- D/(Gv l!ZحP,@=|V( 25{8L;"!dF\hw BK#/t{4Sz@}F azg}`I߉F±8@8Gkc[NLʎ-)iZ߆xdpd^]fΡfˢehQ[//m/ü xWF:h҇5mU½lFx|~Lz2QK3,/"V >b*1 j#^+f)<>|;B,2$ ,dEb z,D#  Fan`(:n8lC'DP!q}(r]a֠gqkU)>=R BeyBF3sgH8})·ޏqBF,U|_FF|нX/-0ٷ>8eƶrBOc;|yg˘M#qUJKJ_svKc}{m:SNݪw@*|Ү'H1Oځu'v!cG9II1 a%Gnwz:{mMmM]ihSLӀmik;4Ғvi%mi%ѻ&[6G5]hYTO_+qi7{e6]GDu-;n6]o?nvdzb5j)QMQͶT¨P<$Zm3MOZGԦE]MdKR>ˆ7m+oZP3 4hA'E?z_мhd' Y! |C`l7" F}cho\:MJ %eRd4]ŮnI7c7}ҝ߬4Ic3\4=bEyliǞ72UU9lj55Zii|#ٍhYc~8'z G}^iA*g!:Y(~x7Lj?Ng$VzֈhShcğTwHO/'"yQ:3#3x6gYC{Z?!TOSEz~3? Wpϊcg <oxBBRzJ>H)ψ {VwM>$ơ g0.c\SGG{n@-o'98SƑ#菱qw?Fv ߶xA>'|N&p'#+jMiįC[򉶒l|^kʑOGSExC>N2ȷy%ޏ|kYx}$<Ś Tg|*lk&|.o*4܋|);-f?gaOgZmȷo;ڴW/_=#x) DZ$`hd7;Әҟ Zy>e8Q%+e>^HL|v`Dqp˥Die*;pZB}:op(nNI곭/g4pefS*݁S-閹82ε,$:--##-9DLC"i=o܇F-{kNtH=J]I?DB: qb4c0>0qzO?146i LJè cǹu4_>eܧrnkk)©ũ0$ RR/͵l{YX.%S~pp 06_/U>]>[Q<ͼ7r|!_2~#ME+R)aƥSW& kZ•0Wʕ2M79oQwG3\l +,{k`k9:5Sq[E(6 wN)if`Nw=Y&'g'/*V~NL{޴'G>/|';|=/ܞ]|Oy?C?V>̏2us)}JTޟLJs`Owo==Þ=VGe68Xd)]gllwzՀ~CO:i0L.ӗL_bu/jٻ:S-a &&<)Ƽ?0u1m_wIrKa?8 ge(0?ʟ'%~3}~ sU"X_ ȩȫ(VWV[8PQ_!T*xEGš.H=}C+V\\1R1V1^1o|'{^2m.b>~ ?GJLLJMLo055sTfB! @/<4n =E4sgͩ2 kΒRf)yo;t]+C;XѝҶd=֮iI;}ڸ"Z Ẏ+AV*cZ m<>vqlZ6.G%ǍѮ6 ~UGuPFWr4]jzƳKP_v$$ەN%&".UmOY?/mWۋBEۇE+$W_ u?v:_N S bkr[Y?CaG ma7 m5d2vf05;jgMn[r>b/^w? S"u=>dϷ׺7w2& #u{sk=5(=꾴<9 LI(%ڕ=C eg Z5HJH0 q=>hWBeP&p`61}{޳s J`=cGq0OJwM ;EfE`ogr^P{ i͠QMϤ.?@\NYNϸlaӀ5x'{hlazO{E?~=Gt$GjXG<c3{gru-rg:yv+ybE@={gq+ 58b pĘ<5op:,zb'z'Gq s~a^XpOϭ AU9AdOq34kxm1۽ U,fbG=ӾlsFրiNX/ b-g9-󽼷[d{={yoě=={ B$ݓ^=Vu{{kbzyCcS3wŷ/NH +-nw`0X<I2ـ@`J{Nu>6X{ucT4J2 R۾Rӵt?CC0Ɣ9U&T]\\USu]k-u6EUӀYu $zPx>0}~Y]TQtڗҍ\@>P+LKcR>^}U@ZnP|ҩ'RQi:! }Ml lxeTUBVvVNV^V%+Ir)gܟA2&o0 [CX #KK'z h86@+<`s J+Xj0c7NB:ƉO7T'ieM H+r@ӧU[J6+DZ"[mWF_f5q毙2K5֚G,=f1֙Oڮ0ns v6y*uH5lzD o;kеkм$G.ut)tSRy`@4 1/$鱲}|kK)6PaV;@4A†1 ׄM %w.K3Uns7X7 8n`ޠfѷv?sųz~@"Z.;25:o lvpVA\ oTnFm"6u!^K֝F֝}#I8FsH9ߕő+}o1Qtq̣\NUu>jO ǨmTwHE]5Uvqj/c'/NVd0a 0T_=)NS_z٤nS96:NRUZ8e˨7hߌ_NAKRh-UB.Hk,O+NgXG THiDMr%Pu!J b00u{UHs't_S+R_C#Ʃf2Be'4WuJCT4 tӸNⒼIH̦?Hd@sHo~ 37C^^nT.3*jjmzCL@}fzR!ϥ\& ʙ7;Њr)N?F31{z47z`~`3)(.-0Xu-53YVe̎@nYma=ŻjX- u{v"Cnn)?CsUp?87wNp tW, Z-wsc']xf>wd1Dk Nߟ߀m۔[ 8Tssa㲺JL <.+6BivYNv&}]v&}]u?W[_:! J}{itR^v n-v !{ϐ3n#~ Y㯭Dݺk{6}O'=]_ ko=gWqKOPoKaXZvYJau:9<4o3oK9N6o^eWAc]:J.H}jCi$G']Y7TIP7ndغt!fm2 XiV~00h `Y2*zE-vJFJ锥>%Oɀ+ X.J2tHMJK4ѡ#ӵK鞒gd~3}0Ԑ`58`P@{-;Uj.@o^B!@0s=I[4O[{ $(wkut3֤Qh3J Z_;(H{\<(,HNN BvؗX;vQ߿z6T!O] OUtT;UI)r? i%̵Æ!2t=6,&k8֬xhxYj&gS hkUH;\<(,(/v kbڳ=9ʴN K}_g(~eAs&fu8|%ɸ`P9']ĝw|Uw=' -)B'pR"{!@$t! RbDAT@.b4]D^i"^{˽}y~g߬Yf̚s?}gWgۂ?8{;;9pJxA9J6'GDJS) >¼O,j]4t cM9TpzJŒ U0-+PP+do\k5 l핿=7Xd.hWAϟ`H~0,qΪkXds*3O\ѴۂjW6m]]i3θGv]%7V_V+sfۺ*hؽ{ʊlް)'MU5kҮRdWDU C< ߶]Vga5Gtk&s. 1GZY~DJoO^M$/Z)tJ c|hL;)`F?f_{ 0/C$ hu45eؙ< , #z˯M:ȧWjF'%M?=03IH]ACASJ|ݪ_?Rk^{3ƹQdCY,FY_(̡rn6v7gYfYSpu4VK(<̵N-6-}J*(h A~Ejcku!߅JׇI&4U/UbMhτק,ܤSP_1 KlY_jeZX/%'\4eEe3Sdړ,Jae WL? S4riS,_vr |A+ka skgk i WO$JoZuPZtC)(rMfyiɽd #{Ь #敿Pܩ)?T+yCm+BMO\w=dٙOi? ga]БV>Og\ZAc#5aԕyjHU\0Xl Cia*ꕎ`uO Mf^Vkp{,8Lb]rcvV}r2)._B)N`!N83n%&I { i4UJGUflyչ^A5ۑY-cOlO"9:d&x,JeO|P+%X/kџ VJmZw|ms[VxJ꼗y>@Y3rї\+>ϖsgL[F hp 8J*90ip& tR1h> c g4ZN)r.ӍMxJ^ur)ފ'LxW(Lͫ' onXG\䬕*h6 ؁?ƀMRz^@J,yfmp;LO#qIL(u74EW{VaFVb[sJ4r],Os|\3 1Dp˓]2: usO92$٬63 1&;ӈpO6z?ݰ'DuK߭،wOvFzZ {$Ys p~Rϙ\064J 419 )uWŦj46 ?4QAa,dٝVFRvȿySNu]camX0'?үuΨ@d/ gPW4FS%єB8GTDi. <\ k ^0Fn/Qr9 ˜EɛR~[fN4?-&A ?L'@zflfxp%J`c$QjNn;YC&IV Rǂ^줈l`=bՕΜCvô-rGɨ~nԽJp.+zh*ķT=FG#Ϳ Vޫ6BЏ,ikMʃD Ֆq#h"pEoNn_&abgҗ8'%Ѵ\ Uo$JOX]Z직 {2ӌĭuZӕS"hQZ v<Ý4Lh"gwb]+0V,x:.rH-aTԜWOfNS1ΙZ9ڜh+y7enxt+Ρ9X|RG 2jE<|]0 | ɐ7Ln~r3a}#XaUœdx`|ށNW%ՍV~DӣQY`F+#Iy Z$v(GrjD@3Jg07R9edv=r88Kp8;O rhN ,p65;&1&6l}d4RZ ӊ2rG)s'yh_¤MPqsSAꮡ0OTK?BgZ/Us Σ^/0EWC'a`j 0 ׃9`fȗɇ.IȌN dD?/L~ ӌYEkkaXh[`,I3 >g}_Mz_An#+FM~uάP[7rG6;#pQ#.Uh蟀NLFmi*rgQS8=ެhr>qtlQ˜l( h\-,|>J,'π_..Yԍ SxTU6EiJܕ%v&Y]_Y/cQ XNc b"MϠV[,XSE(ѯ1^ )瑠BfFAO/JNZgkG]^|9Y\D=օAǠV27Bfkr9PY;ȕudxdr4+Sła!vy3͛;A+p.-h69L ^y3L$ d[ :ZyH-,RAaO9m[5WOܕBSp>MI`uNM& pSyLamprnw,h XU)-sAPAoAǂPO_X)N26-L' z0M`S5t?( f2uǂxt(ZgGZ/J.p0`0f3rI0LoG~k@?Vz ` S0ڰ) ` ѻ`,@[yB ߑ;/cgN Ua ω~yj]ُ,42chzK^Xm}4}0VXp"c oCsMxbhmD#'Uxgq'رzt4SZi% W[|JF +CAn垱ŇDt榴/Sz| ~XOمYG>n$Z ! gaNE?`;p4ae]>L{yq1@G] 뗐[0#]S:>f,fF)3HZ8vFW4 ?'&S#c9u\EqgM 'M EUi3yyWsa4qyj :OR}BlOOal)r9hf.ty26aSq5\+YOi˔.4[5匉̣~3y_Zt%p_(0߽xַ ?D?}f bc6wy o̐Γ5VFOs:r21r($e4gzcƗg-fYZi}/^Er2~|A'¦Tn`w%:cuf{0ϳEh1FdCw`UŌe^7dN]oje-m><=nF5JS8w3˜E',G֌Z4{ s;YHXˬ#h!ka}z$jݓi5䗗8C_l/10 ,k@ޚSFɮ&h {k_,Tk *]^Ԉ6[1ZwZҒ8ҴJmvvZj=uR3!Ӽz:^)5.zĺQfa}CU^[x=b]uCinwG-^Yy=luף=}ĺUx=d=#TG)"+uojGyLZON\l͉;q '"DĶضDJDl?'"gʼnՉM"bgw"bp"b:s:s9R,"vn'"v'"v;;;Dq"bnd ),3uSčOQ7.ܸ)FnDJ)MDʸ)Fp7"݈T7"U۫NSu}nD"܈Dr#F"F*nDFU"RݍknDj3u725bvSǍO]7>ܸ4ݸ4pЍK#7.nDiFnDZnDڸiF 7"܈'"1nD:FX7"H7"]݈ts#ݝ1=dr#F&ލLo'2{7'*g/JS5b{arqHo*.ޕVRR^Hϕ[.aZykݥMe$m̖d40A- l)!!-%Ւ[JhUhW6Rōqʣ%ez4,ӣLFfz4*ӣh|Gəܪՙ1ɽb&G/Y<5k}/Fz=Z7ԇ˩f ߯$cf")ϔdJ"lՐ3 gPv(SptT*8JN6~V8^ 6=cf*ƱLKgJ3LTt:S:)EՈVVإZB[J cT\fnc4c_h,r-XNGkZ.cA79V+INer򺿁*Xb,Q6*},A(+cږ_ӖWٰ9w=Øe Z!e{0~btOn~x{EYZ*:#߲3#~yNWPTʩ3gMw\(t)Sd/)N/qԉCB%lpŸtTQ ]eF{zԖ\Э6Vr/1W@ο*k8<Ա\yɘ{;^II *T8Ʃ|+$+lLZ!seD5++_O-L>cBu#F I 񷸕I)$GiG -ze+O;?{3Pm--c۰Cb,k3TJ}*ތH Sl?aZ`ڍV[Z?vvp{e-65߶_,صڧZȃ׍Zڥ8t6xĦ+?<򗝹Io{=o/YrJ,_>)d+7ߤ|oBmii7vY dֻsqWU=}>\o}>xE|VAn4v42犀I^ix?+ɢC^.ڦoAK,"2:22**Ȣ3ƿ\u?QosB=.5zeo _ZN|{͔_*OtNZ[ުNQ'n[SkU*-n.vاVyc>'/`wm(%pU#2wL]hnYg5O{+J ^TH7|ixpU>ʕ~訤{뱵x2˿W8{u?[>m`7N$Rz2ȶϝ1ًe)}cǶ;L94f{,5{U!JLTDbB5_V,L︌B[{Y뾯TWWGykXb#»ݽ{TxJmJ=z*FFEGw pOΫ wU.]Y}§R`J[ Pe5$;T|)vҿw *}#_lRow9ӯӷ#7 :Y~;{6L,s?6IJ_jzol[—-[FV&oѷꢰf:NMzC 5[]}y>ǿ;9 [/ښ |F#Ρx}5# +ZTGF\xzG\Ѱ{v{dV{|މ>гڽgo}wMu?[~:ٛT什Q%B8EsJ/KlG?s\"}ez`@۳{R\haI}'MI2SȈQ*Eo#=?[?jՠ729{oь؂|=՝jߓkscڝܨWBׇǗN|7^Y4ܖeMۉGs*WeڽQo\ޜ/vW஧>-hJeu u>US_fn[ ѥN?LoOJCH_Vx;/'Vp꽓^=9*8POz86rгrg OL],de[4Foqj6_Yf[k<f™+`(/Ӆ M?@Lf?bգꙇ'O={c:ޘ9kh] ;m'ob*;;gp7ԟuqu$:NW{pz&=X!t?m>ӗt?;d_=[r_9/ĭee9ӯkq vᩆ6 ':&L0ki0Wݵ_(NqI3ܠ-{0x k2[ע-E8淼 8K6A{n_/WhX~f} n}&sJ!> +WCd9kG@." 3 o^%4OMkz-X֧8 ^)Z`zf/-}2Зq^Iat.sw]Zԓ#鴟p̻Uw%PmOX3{DǣwWOz7jgS>2T۟'3x?*#7/hꎅsuJѭ`]C2C[" lr ?ĕ~GM۩Jp;S+RcŹD.fgZf]?[[0%gϕoWIT%i_4[ӄ\*餭\|:;o~MKV;Z,VmS,g ';oTl'jI(N<% /_qF 5-Waݛ9UF6weg7Tٶ1˶saY▼r (gӿ'zO+.d>ŧ[7JRzQ/`͔ K+Vo^0TvR%}y {T/xrJk9y>Θ]{"ijW˧3w4:憯녊e^װY312 45נ闓ِyېYVid1Jzyr+7]i7)HZx Bh5h02d2$31JB* tx"PPAgf-,O/J,ȨGTXo&ۥI[ќ:DMYvI=_p+MՊo:9dIGgI3JWS0BمB|[V?ՙeΟU?WmFO%꒮-v%~8$oג"Sw6dKD)Xe70 rkqvLE"%3۾ρUi[zsEݚ؏sA #VyijqSگ;ݴ61i41 ͰI($N} >#&c $$7bfh9\Ր2fhahal``";Bvnh:|%`ܸC󏡕נW耟'='\aᅡ莯lEB0O#~]SUz>4j6W.1/E>[tu & /:ͼAJrMW.lumm_<~,}m3:zi\tY%ÛOG^-RhȔZlӬ_+l?V endstream endobj 17 0 obj <>stream x}n0E /E !%X~Cj8 j̝qT7Ff-X:H% p=",BrR$rv-&R4zsٚnbD/FL7u븽h#(KcRUT =uFAmKl7}@ I;Sg eNE˓;%n{TLN]v'q1@I(cHRT# )'2JHyp`?Cd,]vŚvmvF 4cGNbViѯ$~1'l߇[d endstream endobj 18 0 obj <>stream h|Rj0$Э!eۅ&ݥ[zpb1ٿH)yX3sfF:#%P [Ҁdj!C-Ehj\C(q.W{ uh0 99:ed|ؘp(/ӌy9 !R J$R)LtC4B.'7,8{c]b^Ld6;[zbKZo1ėw2c_C}o,Eg`EqE#4E%*6P\cM endstream endobj 19 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 8/Tabs/S/Type/Page>> endobj 20 0 obj <>stream xZ[o:~/GH'4ubvc[J-)ݳߙd)H"^]ܳfr=exO'훋g\Y؎pYD6|aׇo>[ˁkMnҺ^ => ]]w\Z7o\U^`;Qgk3ќ};ڰPZkP E?v }k OmH2&q貄=zp՜IcWȳeXȟn cm3dw싕&5N-~Ț |.4!oIRMܰt0 hP|N-qXz0۷!&pZ ȵ֗6t,?,{^;^9 0_X`ȹ:|͒ |9o<;\]SpC[J]\]L{؞ۇk2tIۏjK:n"Y*^J ;Ax I4C+1u [B 8]^Tm%|crmp < 8Eҁ>sjA v-/C: }öž#ɉ3S//ֱfp7ڸ3K X c;Hvh=U^9$4?1h05pxx>jgA&=KV%w{ۦ8 ,(v KMj->1H+m\mgƁdA+)qp7~LAt ?2?Mp w ]`"S?'w7q/ )hszAp bδ#2D(6TO*NԆ94 %mLOdGdFQ3QFFJhw7 U tmt;&>H'dg4 <-qee-9ĝ~*%"]JM␯19CMYuK+\#]B$,B^`%t @G%s S" 4@r(,JZUi7 |˸/=/'.ӹucL;f$!X3`/0԰\Y)؊_@ف E܍ _:6L.4`3 #\0}yFڰEktoԸu_j#7s:CVNk՗b>P̈& R׼¯ l  I+uPab-ፉ`j SE*0 ! taFxE[TM@]&Է],•TEO0\@yT^pw0Nt?A R1k-UjZvy)zt}杓4KR) vG)t;2j=r6'Dˤ]{h|}|+I%$G㾇pGG:? _קqV9w!߻r+'x(FGin!Md̑[+rZwo8WBM^3""up:O`ɫ!کOecOd #23 ZU`6Z)7٥hX 0k%0f+jyǬ#k J]fm fl 80{?Vol;j;`5C#-U贐]u;RBZ pV\rLC1 y9h}ba ^jfE uɃ-ewJPR*vY;qt_`'\aoW}P]퓔Dl++ؙjp0'`.dդcWh{F^k{^6`2O7ćV;W(`gï9sQ{T3UM)(~_-/rk OV@:f4bĥcϸ趡Hf}Sx װPTDj,)/ؚhۓ>G*M6VnWJ۹臼Pgy9CBan8 4C0ESK)45& ۺa>{rf3Dxdj\|wx 5Q:abCяuѺNzMdST`]c=8 4È+Q 7R":^o'Dh9lmpZ “9 j4kh-v3rhdCC ZWoAY_8[D2;Y5>S1.̹@jI A!Qii)ZYUUOE_B"02fr{`JAL nȉPqqh,mO T?r~܃|G0>Z1@ ubsYT8 jM}`(0j͕@:/pӪ쌚b*N EPۧ6<Қ"cT{,k̓<^-K:ty.Qَ/C?Bv&nþma=IpAdRխ=:(t6U4I}Gi ^-ѯĹwhUX`FhսdwW=rzts=ߍ=m\"3[Ĝ S*Ý>S:cL-RroEzucR$[3~{<]03|Òu.oء. {JxM6kylH]JA1 endstream endobj 21 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 9/Tabs/S/Type/Page>> endobj 22 0 obj <>stream xZs۸L|^1:eWsv݇θ`qbbyf|_߿c0]8я㉄_߿fўG ֨#i4nZvyXcq#8dT1!Yc5JWιeh:*ա-c9zq2|z!=tDk2Kl< G(]>l-"%,d%*xfi`eZHOb=bxk'VcX#Xab1.*c|``I2Fl'? "ۮ~pYC͚&҅ r{:io\YQϟuU`K|⒍:rYk- ^Kv׷c!M+2|u kaK &ۣ?HG:Šх>j 77N$\/T#m@xc"xvg: /P&DlIs{i;L \0TC3f"c/~r{֨ީk)n  DVMâv0lOvVL 0lP9! b.\lc9 gL\=ǏVZ)\)C5:mjcBʟ 'c@J#^s"]3*ļCA Q|[d @6p(uЄ/i'7X"ÆI7:Bfus#_MkleK#䨌7hx뚻SafH2E Uv.A$RBb -9#uwdL{鯮p [ӸC=ݢ]+:%$ĈbOcˍA9 gf8 DljhO C.T6m@ћ v~(5UlUs^>gn1@^tL.Շ6BٜW`oܖhqmG ,tL^cq 46`Y@&̾}pi[j۴T"@pMIQ1_17('K X&"GJѓ Ec<k* )la0A\`oef̕i-(vFv*VڛNF81[ e/"U:WKQdٗ[asHn;uϋd١d>ufB^[s5b,գ,wwa]musL)nfQZʱǫ^vV Ba_bQZeg6Qy YV*{\3}Q=VPPI 'XopNLPU{;Ǖ 0%4ceJܭKy(bR6 2;08hw,Pv,A4٧C#l;顤B*N:CP:5A)mڃlj`XIfCFLؐC{~AA;BO(wu{」DwmZ: e'tjOsҦ-ӱ*7˒#p*d#u|d,M׈ 1(߈"ׂ: { K`qwCWpeaIi3. kgNY"yOH wu@::1^ d&%y :zB.h`'AӸJiR|9ʓ6~?Lh9t<_w8_\||{s0/C>=ƽb)аk6_n]~BjtD}:R~XROy&!1˘"l/usYwOsL.+\;0%g(Tpx.@%ifQdFtjU*^0\k[L m&T.DT+>wwSvY֦}~Y&U-n$wh2xvBoyY6!B"z7|;A&O6ΉpB38WݗnD耋B%L[UN5kk* ]^Jzon'ܒ*)LWP ?H\]stcAM%!XF9TI/Vu2_H; S!. WmW=}26S4daX(EћwEâdSýhN/EoC=V endstream endobj 23 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 10/Tabs/S/Type/Page>> endobj 24 0 obj <>stream x[mo8^mYj-vMNlڒגa3%Q6ĎDr33Y8;{nJj"._Bzb|J I"v^l^r~PÑ7x};OgQ< b Q8푞) O9[L~Z[?}subxK1ۉ3Rb1靯EXda%r ѥ @v'a /}'ȷGme Z_jx@UCĻWS%@U

KoHJ"}ª6ɠegl~@=ƶt2 [趵:Dbb[Zt@V:aivY=*gPfe)+ãٞcbm 6A%lwc(8υަ t*_,k)ReM]h =2kC !,hw%AA1塲8q?= ASzu8ʘqs^#֔r0lE{L  4OB.M:}]4օtʶBo 1e`LUԀ>>QÛXvTI:k[Gr@IӜfa\d_PE(`oͻK&ISbI\RW;,(Vvk.z#tFѱL~cUo$X j<1G]N3xbKN׌Žac/@6|֚ Lj|ִ1lw/bMmfXGj}BeI뚫Jϯ|3vi |cBkzLMG?R(:Sj4/Tsor./wh+Jڅbs.8ܝ~nXGx4ep׳|8Mo/>,~/+g(J 7 @+)G0zIl|65Ĩ}U"dcde=pqbHf/J%pzCC!k')| ݻmTpU-főbPVYĎ|^kl=*6f`i*) ƃRVɓ[^:=ƌh Gye&3T(d||VT'$J= iA+V V)8CiE~6<4at;)޽Qajڢx*0PZ6 [wM.^`f38l:iչv`*uDnp/meǫbCs[l]T6Lբd;so]ˀϜՇG/sz=č |4>eD/NEm< TQn?p5Z;< Pʰ+~1Z,_;kwwmo[֜뫍55]ux杦Ōhc̶{L'|dv92E[[43:^RPkB;Av*qP_mZ]hw\QC\Yͷ|p-KF6y'm_d XJ.y?) /nLi+FWbdh/R'ԀsZ]c\W +wDIltJInSi8:PWg;K6/൮ofh6S "h2Isʨʍ0K@a;£)N3P؃<@iU>X endstream endobj 25 0 obj <>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 11/Tabs/S/Type/Page>> endobj 26 0 obj <>stream xZo8/2zV/Q \{=l,v#lld{w RIJ=\ ǎ<3r>Ð???ݒl6#7srx}A(#wd2K3&.]F⏿_*nD157yŻ;aT0[ίg-O)Ms]4Xy 3m"a'_? >,BYf.g/xG{BŋeʔKw{nu#ѧ:D^ʔ孀uz`̥2 c9 iBBpF"@D ,vJl? ƯD%U`IU*E6]DYʋ."ILyku8Fe#ɖ>4rf.J7*fhSm7]$t7| ;+443'<^ PB0)/E3 ʉ_Yz!|# +&sVukz 9SMog0$jK*ߑ2XD -?{eKC.KPb=Zh&_Լmt G2 R>ϳ5aUg&S{iIޚJM'}S ߬E7ɒ4+u`:}M9jө#O+uL\uVIGQY'|L=1O,xBlZrӜ P G!Y^flB=(˼'{mZfI]m'SJ/hGTbv`ՈlOpe.uUI醳bIDU;--mFw z=6>]Bu jm03fi΢G%6Лeй.+&+PiX7Ziu(+9{-`.:aq2iƎ\gOvqx e7nQ#iZ$yDeO[}D`5Pi>d[`@~IF*iN#Ci5nmu"q"=nµXj3.( on蜱s)i(qU3`uqhOQ' 8u릛ρT[k±$B͓Dx& ="5Bجmer]xem\w ᳵWHxw۪ȍ=Vm>ւXx!SAqd^>[-s^eQ%Ϊ=2[Ũsk݊50Igp8#<`b/)FZ8æܣWV/_]qeuuapJc\=4:|XҔۀjbߝkx'x;Fĸ3rK5uą~۰K@߅ISAGӮI\ =!syQ1@@Σʁ+)EX/ʔrD4wF 1RFp#efR*J A)d2L婈24G-mF>/MediaBox[0 0 612 792]/Parent 398 0 R/Resources<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 12/Tabs/S/Type/Page>> endobj 28 0 obj <>stream xRMk@{p3nLIT* ZMVh}'A!;}|7w`C H+Ԑ?GB_Ca¦n]g.R([iŗ3bJCTҁK}WstQQ1YBߢaMRx=N;ؾoM2ߏo/˪eY$GI$ |KXxtzdd ,ŶBvL6W.g{/~ǹ֕tOe'Ə{AulG3dB_Ƹ62b!Ej6'Y&)Ρf endstream endobj 29 0 obj <>stream xn0fħ$/|jT]cבf b \Wu3qLk׫Ե5>Zx endstream endobj 30 0 obj <>stream x `T{띙L&$dNXB0Y@ QDIX"bJ7Z[*._djtR[*.n='={};7d2wH" 4v}aA5b$ya׮qJ*>@4/Ũ;;Z־x(/D3vTD{6= hioy3oa-(O;NN"W$]}p?JҝDY}0z7S!O=k}4H*Լ+ϹbӞD/oޕ/6IױFKcŶZ}Ƌ688jU`qgbsWJ0dv齨?}  {YUב\k!ac"DA|Uk\Jw{.UU gv.zӐ]/Lmfv3߾T2L3`4޾*iIYjK^!Jt*.CQΖ%-۴U ?i';%,V++NEulk*}@%)HlOI!e'7Jym2Q.g!tR)TԄ4?e[R{#2? U{*.B"_yu3DA(r诧b)̢\@g}lL I7AC/@?tKy n z?}1=@_~ij 5Fw&A 8ݍo=oWѽЇ{iBẋHICG4%vASz4 MAПi_з%_ѷit/g },= }~CAя@K?Mn \3牟ЗЗWWOWi/5z:Cl'tAIL GMBF^H-:}^CKHޣ z*.韼k5]\?O5k?=tKFRMdH(|k| FNg4jt`B ޠOyGGZNkH17εZ^k`#(W$sʎηf*D!~8@ Dck,Vz6ʨ׳Qo6l,)+VdKd @0XLG][h`2bieBѡ ɵ+ʚ1'bm%8 qB&.ٚ5!@ L4\ T,RŪDF!-7]h l1Zd3Q3MCFuaee`98k+{Ɯ􊵕( i(N8d{d @0Ѩ~J"?nme1-|mZMf<2_V][)+V8!M ';@ Ƒg}m>Ǥѡ4 }X,fͪ3Z̪jbmr@tdXG^g4X{mHYo(,X[M #oC@ h\vj;𱵕V՚F!-,jY-vd8mvVe.a"ɨ3வXUXeumJYӘ^8nU8Ҵ"8FdWd @0Ѹ*V,#Ḅ}l7;l.jSݞf.a&٤7: (sNYcHG8Vֱ]LjOv@ MFt:}r>Ǥ3Qȡ:2Z\᲻VQKXl5-V=Y.j5 Vb12 قpn.cDɨ@ &47,}IolKiiNmin;Lse(6-F@vCf[Fͅ5ָ)@=[pcmEp(i@ DSak+&> 0 3-v9=&{+qU;vf6V]ek զ\42kX[ qΉCS3!@ L4h& ,}`6QȌ%<;-#Ӭf}̴LQE%fQFrNՉ٩zTu\VE`c HpL(N84d @0umk+;'=##=-3Jgdef83<~T&GQ[NGumHYǘ%VpkC@ &y9d4?{D-Fkݝϛfzrr̐7Ǔu&M]E[&rrN[Y,6.Ǻf"Q9g8ϛ@ &pgf[ra-QF|9ٙd2r=ٹ\_vr7<.c K'q4k\An$HpTc5qQphÝ@ DS4D=9d-V(dm_ BNOWyC,ԔrSZf͓V OffӞ {wmU1PL$8 qBfO\'@ DYYHV#9dc:Qȁ%ByP ЕY P$'Gɤt53F^kqvfv edi̯=`S7iǿ&.]dd @0L[&͙|$v?wrb~fa0(PUa8.E`r/ed89vʱdd9ނ,g\;orޏu#񭯂r.cD?md @0l,#vˮB./1 Å2ONYau,T&.HCYJ>җgy\윌q][~CNNǺq@ (N85';@ )pxwKO'r;\yP:AeeSdM)S9xJe>j+*KQn~'/EA״ܬIq&E`c0'*Q≋pd @0Ѵ\C.Wf|sLL`ʤ*:|YfMMp< |vyxvq8\V)o&]&,SW&;@ fp y<,ê*|4=cnKei-3Zf/oUYTVU^UUU7Qxc HpZ=qQpXOv@ 'Pff 9 2ّQ(@3𠖆Ym #m g,5+[ZꓣD4/RMً#եɑHw]#u#Dr u哓@ %IGQBN6ih;PS5,%Kkh]K'A"o?Qiʫ^+hW⅏|wbn9pE*1ttUe"k-Ϛ-Dvt=Y^! b(8\RZV^QyRjiӫg̜Z7RܖΧ -<Ӻ ZtTfcRٳf̨>uJUʊҒpqQaA~(rsYtwP6l2:F%*m 6c=1MA@EȌ=a(<3T,UVo cO5ҒE]_^6Vt7enǤSM=nlj62ҠɌ'?(yj%=M52*lleY1%we}QWS7.+I +cK 5t 1=ߌ ?X:2pݰJ{J,++{vŔn G l:~;`WhXgŁ틺>`ݍ1WohƦAlck]1 lUrVXM1X\=pv-8ʊL&@gW0 v6f⋇2SUGx\#GVbO # ɪjXQ 7-Wl%51cCπZY6_ $^pMoFI,Γ#G󱒒X8N}SXSJ/~>jDZ|p۲+Yro%1Oa-[F[t Lc#?v5մ&&Ld{kGuђ.@Oضv~l>Җ\ ]WNd[qR.= ]&?:~RpVS{Zm p0RajJ>\³ (XS v.0}W栿ygw8eyЯv*J@S3:xZonjgLAEQ%];U\˯˒S=B[N?.V>RJ~VV gz\6&(ުbX"^ghŰSy`/ή>u]F4X,q'21}:U-H2١s!)\%j񋪢0'9;i:qU%F4!OFU,-/5:9#iU⠹ڡƦddumʹWBُEGځtIT)%FH/PejT|U!U )ԣ1bc\"ݡѓFc:N 5HrnEʎ<ߔQ!P!ӽ̴df(\_gB1k0ཆ#@YR#$Z!5 [S":U#SiIs7i3 ؆C&[D!#mARh;T(?4Jg!nw~S!5#^Rrgv#u&^A9S#>.v>*,W;򲲖u^1e=U =2Z#[,0vsŇ%kTya{_UP:v+~7Kw+ۻ g 3CV[dΨ 72TP:DqP_@Tu^:Լ(^IKkhy >>WHw qwL(S/ uK6%q]^sSH2^Rn໲u(:2n}:\&9n=`[jxsS=͍<2T_bMWRZq,TW8e UD*w) XqW&4Ǎa`4rǒƫKR/I%v5~KoU[N}x7Ś3+tzN],NV#7r ޖod·qne4ɊOIf-eh6'!>F KA}90ora&3J>HݎW + `mspr7VG5U, k0`C0_Ia̝r}7|9wf[h6*Jny|^o976fm)5ڃYҠ3[07FԎAEy)M#ύCJMi؜O(xnp䑛+KEMKm=?J! +ɍ5xYOJmI<(G<̼x{\2SDҶ|bܷkS㾷)[CWۖ6xȷj}χ( p;vr},ַܷ`} zo5\⻥`98_Ŷ_컼286];m[^[9 }V #>3c*߇>G'򆖾žfD9yA1La))[Xڂt~\Rr}o >WfpT`1 Π1268-aMө4L5\+5pZt{raā Fvu- `2)`A7/z(dY$> m-E)DVb6 6B]{ؖ~ SO,Yb5bW5>56RWSg`WtUc|vtvS{he}h[Ve1elj}Dyyyl[m-.j]\/w aif^-=@w}__:3zѐtKc`}̊ĚX^Ҭ4jʸtft_IE#XO34gظcaCXg$64v8lDn#ȳצ7SR % ]mmMkywI*)InM5Y^lSF >~s=j=moϾ=eʔئ%Dを -oFa6k *9ҽ̆dKv0/(WRko v>OK-AޛxG8p%S| &z/A?ƼI*.H j^0klvrZdt"5e弐y,賴]x._HkOR!͗Zi'f-M|$0_SЭô~&-NOdɴ.[NzJWK#mr:_K.H-Pl{7im)u4"{ȉH}њN$wJ [ ]I}Jv) /c_Uu}f2yddLV=H ,2lDWD%Z;V[P E)Uh)ֶ[%oM?/79=s$]88]ɝƑ } 'bѵB̓{Ig]d*< Pbaވ>8_10xKr/_C/1.JQ(?⿑ss_ M~<اY!Fѻ58M>|y|~"C|"z%R EP `l{qxN)8K 5QRZGәt- =(7{%5ZmWxJ뎞}h-ݟ{h}QD+@Ր1sInJ ut-ja9yE#㚼l-OH(Sny+2-s`6]ka=Kp.appc1pJ"f?JNiz)4+BFG{bnAyLWpo{a'`>Y%qе-ŎQ})F}җ@Ũ|~J%3Zc6/PDŽ ӱA_9C~C/,G擽kC8aM]rb1MЕ(<-3$F>F߿&@N~Vj x?y#_!y31&C}Ip5dm^1FCXgh4[Y4 *G-d'zF &oZ|_l!Ĺmt ^nr;O qӹqHiy0t+H(vEt!IށIb>rc2 s!ġOX)l/ oUDChߑ~d0\ }} 3v9νDGa ,Ƹ=u0-y܉xچXL~q#/8 Woxf>)$ tc=2'1r jrAX_1,;ԑIX};J@bȮc}s7,$H%e t1 -U @Jay 'L$sp& ې} N !CN-CZ7 Hd GD)"G8b#@:Q8Ba4ѣ."|yy=Lڰ/Ŧ2b@'gܡ@!a?=d7DwJ!A=,U}.qSBZvL.Qr@[>ʬP z9IL̩1Yї&ȝ :NgH[鶪J1DmM]tHȱU9L*9~ڀ>{v{Yp`O>zY{fwhǙf~;j!`$Z\jµֻ}~CoN LU56~P|L:wAjcj XS3s}=֩ז kU6*һQj;Z[i= W$ݦ0Lf tX%&IYzWe/*Xz?sL_AƍUU d)Jdv&M&EUʩd{&KRgܵ3j7삱Փ3{QlJ+nZfvG P:ZY IeȤr\Ypz_LrtudZ(u1鼋ڋܳ30:G.gνydLn3iQ4ڻL\gƪFH`]LL@ 6͌LښDTNpb L6ME4)6Nl3?aTR"n}~LO/l|J>M*q9kgi#Q.1J={MK׳Ϣ) 2vιsFuv{O6G *r5@N&NZƿtܚ +7ȯ{ 1Ѷ\8(,zʼn񃧸"`Őח%v=%zIt, E-,gPD%jLaæF踕inUB+-`V 5foٗg?\}VXQQ d=j>ƚ/vx Ż渇<( GB*Z-hÉ`84YbMG6<(X j*G<.%{jkDͤz!Y(}MZ_<dvv norQKY$ٚ~wʷ+sGyCې}kC[*o|͏~| a~UaOف/r'SnJ/%hU7EbB-}liDaY;#t6bjRbA'd9aX&YZwZ9aX^CPX04wQm/—I$lkMW#m5 8}5;4P:g a7;n,NjǮgUD±SqFjv3 h0=. P`0g½ ~cb4\lE_Ap5Z7<LƵ)A2TsCWh~i{ ڴkO4a5P~-DjFӕ@wDܤxM>=g3|ts^HmZ|'n[ מdz ۀzLcjH9os=Tp)v@[:th=".B}chz;qO٧Z8`O@0<#Ռ`}R"lV7}B(d[6BIyF~$[cLחsjz[|cwut"## LRSs;\%8NmqY*8K?E@N0a GBe7ޗ-Z*Mft*Kէ&8/&Q@F:G9N҇4܏a~:8!Ʃ7!cXɣ(!j{s[2&Pa*lP A/ST1mrF$=Xxi{%;"aas݂?am>uthܖPWuy\[ͭe 1RtBk1wpеE N̕K5'צ'$Η蛘O܇5M$d"f8'w_'K؛/pfxS-8 }r)Gjd DS$e|H؊11y$bƆ k4y$\JM%=a+QfMѲ1uWT<5=U,, ~xlsۃN\t\Aݐė<Ch8h0U#{*چ,Hm%IOL0=H)2|^IҷTg$t!3F)Hyǥ(1|~븧ywk8F%Гl۔Q<8g' d58IV"836Ӵ(:!š}Q*zwcY>Y}Tu9JbIbYfݳYKu|Z$mM1M_bt &R`tiv%jsj^6ωfQʪ*7q&vVzsM)²Qzzo9,K?W0v$5B狿^K*k[ k'퍒Enȯ C՗̽>]q! .3>qWq{|go~H:)!+;HnW.N*p qc>+Xr<-:I v !"[y(@">W:MfV_LХ<}aȈC-8+y8>/O#rwa"Wɿ}'bnT{$P۫ˋݹ  PZ;rZ9p14!.JE6+U^y]i~Y߼L!DF#1hpG?';[ImՋyxJnٕJ|ʶ̼vuŌW5ùsz~Ƀ'1-A\zCM ߋC{31n:jjzmo $]k\o _(4T$V++ J=$3hls؍Šs~Z捹ل%= 'b'z1K)!C0 ֖LlQ 2(ڙU,i+)ajQ郪<Õ˿?߂7>:%+w|܇zՒay5Vf+\~_$ՙ5(kd$Ysi"ϥ-%bRb?'$ [- iKU0As^= +қO+~azn ܓ1tI՜` f׽;i.(A$'WU, &o A1(QI2NWtqnmOyK e2yJG'JViD۰(픎IJIɃIZlKNLN.Mޔܘ|4K"68OMCX!35F!Мc\ӳIk933 vÇ, QZ'_l̠i[4E7vyM3fMo^!'s jFM~o./o,FO)&4lsɏF7[:kOnriQ< g:t)dBnGADxS㍂(1aȍ5L4.443X-ٔ5ʿj8͟6 ނSQʲX(@njBo2oA0)Q$%iN8}R"`ZBji ZIcBkaa[ph1cEsXDcԩ+O0V&YXO;͢2h]|ZhV_fgXg0o2f #IG"s\'тMyS1`הX'h\1028[s׭ՏU+2xB 4\ ▒kBnRCtLR]Y$-22^RCGtlZ[T؜x 1I/oH-V.@AL-x~, -\ {ҁrtG}ߤD<.bsG5-ޱdܒF`~*:Ц0S ִEb#Hߎ VpPb#DmafJJB%;K(FiFMJT6𼴤qQ:1:ښq9:v;g6"~OAe_/"Lϙ2\ވzYP;bbovG>G6[𩫣R#h靹߇z[k;:{w}x<_WEA-0A(pЮ(prc8hSvY!? jѶ4eC~66 G؋~DEEheD̎Q;*:>961m dOA9L]'~i)Lu:h֪OVãF0fa ;,mx@ / &7nL4G)|Ь]=(}9'v/jm"DKXtU{;uBcil2ٔL+N95enaVXal.敤l--Yxɔ5orط"ܩ&h5O24#&ڔJU[^:[]R&f*M z00 q%j`kPEMbvX,fdfKw8ML֩ D"u%DS[*d*BEz|NN'57EdR۝Jf,7ȯ)OZ-@X(:Ⱥf]Vj  J̴bP[SQ ]]U4^43F܁ Fxc&jq5Ι|79p<.JW@oi|ϻ xte0ėDH`cFjOوGcָUG)btT%ySu}oH-Zıe $ܟifC /k"ݙߜ7B77iDsz.ߴb[5Z=5ӤE:./d+cB^WH+:&5SiYÉ B9&Z`uđ15*P P*7ݮ` _;?#I4mvap.b" +AuUNmD0"6-@9B$b S4"˶ xSJ.k뻄ZBLyo+ |;1lPv"vӢX9Kڡzs!F\v@|* `dXjд2W jֈOWƏN~~?%LXZ6H)hKC4 7 83~nl.o\~~%A&oٽ?KXO}7ѦITWSz$bEVX}Љ{lVICb$-i_&d!׎8P")^|yu>C>XYE "':QۚmfnSpSt/H: )XrTj8M˰8@RbEdA*+5Tx!= 8_JRDolBDO@LHFS-I!)D2ӓN? G"GnΕ [D| 1]C@-Gփ,ңS%%O/rtUH;]96xmgr.?縅YɸNV8 Y O@(}Hӎ^ٷe^v5U\OuE}bo=MW!PCL{PsUiվ+(Zrl YjNdʵpC#!! Ձ'T>=Ra>'pd?#mEdnx `Hk:uHvdĠH2/9՟Ё"ƐHM.~mHglx9@W>r]wk y*M"zlW  5,@lcmpm交y<.½Y`}z]q^aq3 7S?u);.p%s58HauC Alv;9F{an/,جnJo+ ޴.q}i:aHA-,)7GM(h;H53(p;,sLgoZ6'0b]|<1V/+#aˑ r"N(24.DƥPQdJ hIIȨaK/'G!^L6P.xfVU?|PKE8@ C?rqZp\A-@ig {7bOcT7ҭK>dλC0~_׿ܭ7? 9CuI(یڒP1?j 472W2rj4XJu=; t6x6D,7Jwk- Ņ+lR 4uv?\L"wq~uLT(!j>% E/T{'BB h9!G~-RI3V_~>O OG&p"fumHgA!QM?LeM!dN#c}0 39j涌R H#6r7Bb@11aE69{sp`yz~d{2$o Vy}_Cɓ8,UP0R8Ÿ晒ċn]U򉦶\[{sWFsG+9:"ˬ9TrJ1J y*"nH Q`<)R(6IHkw6۟mxed'MÕ2Hj/(`YG 4~Wɱ(BBhN~h"5iDf2BHgiwrđ6 ¼&!(("(Tox_f[2;mw6)^&D^1#I,.Z?s b]ߧ3:EMr<--} XDu-ΔtWsW\5AM`\(i3t HR ӚۣJ2OXhܦ5AĚ}X3пz)ͺ\ύR(EHtD 27`ШNKȠЬ3 kHRn'sOy7 g% q!oT޹tpf5(K#cY .$ [ P4r@t $2y©8-Tx[x* %8\UZ~oyx)*9[/^x=UФչhUp__S? .rgjQj5r#}T7+/Y)ufD‰leQb_8re+l!;v6}K'˒~1'=ߔ7%MٮW˔<-˿*.;6Ak[Y v -3[X ա|)9]w-{]'%#,6HOHcC-IKH$H$7M&KӬL>)'Blmlv$a ѽ4WwYLm2 y]h'[hCKV6Пd6~z5mӧ-ƠyO_tzp|0eC=rq:'OML<YՅj~L-8IQ$Pʙe&O:RՔ+bUcqƀ]4KgQMdFZ1H<|jF>jb}¬j0vn^Q*\(Y[2M;. Z_a3Z{}ߺ ٨GL; ?ją4GAu%mE-S*(ggbooh'oHMdwvɶ>}o<;;{7&KPqj8 H Ľ II)5kq.ʣ FZ5|.DOT9BFZϡP&_Xib;/sѩ!lN ]8`:Y &񌓨Sv>s><<x<,b(l{C37Q)F]8O#(OQr({rx]pxa@HG ZQ7988_Nn.~UC,NtNМAI>c^6!DZpE@r J5&Zd<)3wT9at!DF`"C }sw17יMvmcvkncν}M^l:&*,J F%/2Fy˱RD@n5]SyƒS?a´s7Y{W\iJ3v_z f-;7%kKݽlк@4'B{)1?VcYm_+&ϒooL:< 7},K]J6ݮ?8?rd6[R0'0 2)aW7`JziZl;8\\[U'EUSEhhcO*Xj8(Nc ecL>%7'Ltv n܃f&̀U#Lj/1w8D?l+ȣEqSMZRV?501i[1ʮ Go[t~'-*Nͼ"|SO&{i,f렆/:`r*3ՒCēu NNW^ไl}C :õ0unf-;ຳ ~Zp -!e?)#KpEeU!t~ Iqc<}ӓ%Ĩ7lKE8nJ\s 1SEG@bbpj CWOhi(b Y\vQ{ j#ȣ< +\-F)̸X,ie7R7@HWpl>3T?\}il/qwvrx`~G_[WAuM_H}L[5\FwfEh\rRq^}Gy}nzbtn|Aw,Lõ !O_vTqrB!~[ei& $TIv x0 5Jp鄬j-!;5-ύLBn4_%5\N;+ۀ-ט=5zUfؤ3`&`kʻ^{}K ^EspԋLt_d> i=|7\P9 r4O@OO)tk{;?-&A%gC MȮ\_yNx B.$q_|*CBq 54]Fh{Լn?Xcmz%ÙM ‰^2]돬k&xZ-u5AM$%:tCEK9/5z= "/@l[nCDd"=L΄FMJȑW?!\J[\64xdo8('|<>c9hQI^^(UEQIq돑rlull8fc؃pp|$O Pȓ JrY_X$ق\$P&D aGb9o&8wAOtQB/'dMr i q91~Q/F#>,FE$Enc\C<:?21!%ZoI^%Voځ}x5$.1#7 7bYpͅVώeOf-٠^8j3!:ĩ 3xpqiLPYnT|acg]<@nomg^^xkŝk~zTteц~~{=pM&k{]RI.a-@eͪ2eO yƮai!A`Xbz F@dh;1H+VnP8ډzC9:M*{{=yJ Ŋ+'2iT1iq 36r^tN񨷮B r!%#X;{.bF{ڃ 7J~pP-$ >'!wi*fӣÚ r'9mFBiVKe%nX9LWg&{ 0[S+D㽖^(.yυp A>$\* (`,|Lr;ٞуcT9C9Czs{GFhC/>_XT?ejC#j&5T (DȬjkR%pᤙR*j1XP pNi03ThWϻv#+MaciZӄg<ս'{IKp}A}b[x/=c`, dw="kF&{B.4_o/4{tmPLlߌWi o/s-Gz^ {|h~Y-#Ù ߋa@=/]ѿ=/=NokCIZF//ۯ1,'lL"OZ^Gƀ.eY_4ĊI>^3ERäwA뚗]B\,G| 7c EMC,_2iqEy=,(X52e&_1Jv3v&~>((w}AK>+}Fkl !!C҇aK|Pra@ꅍPm ,4$C TYhB] Qe!v9Xzxj,E2Հ)N&*`y8Ѥp#y8z~aɮ rY.”))L#LLaJ{SB 4|Cg<% +o P$ӭɇO }kTm=`]uӬaPD\n'{E[y$H2ɼLI!B !DPH LP\tYŷr\YvuYuY\?֫(,Hgs9>WUWWU_qS:6R2\ba9Gmb$*[6)Ldԛ 0!P~s,^Y ~-֟?3ǟVϸƑ5F{CF )582cQ9"XD&&XKOGyKi-6 ^7h\$o<\D籠-b E5EE\YQ-.F5CڣZQ8KiE+MjZ@ۅp@ `Que^WtrQv*:N_gC<4bg; v;;W46@a8mLN73#T0WTqXO6SE(6N%G%Wɾ|4{% I/`sT Qg{yEڈNuIG֓9Q_+ F^8^ϐ5)9sMt Ƭ '7ߟ?'?f2~[o#畻q͖-s f*Y!}_n9Ψ-CEʇZٔ[̋V/+t9XP4qȠp+E%5%nZi*+.+MPΕK3V{0dG}YOr-Xȫ1r)׵3ioy~*78{ e,O=|Rg8Ik }edmߡ.GZreҟJHTͧSܩwDWP^e0Z #FhAHLj"F[ 1fH3XJ%ϧ#! c5XC$&g ӿ ?R,!1[>/Lc ]Q!lo8 ?`2`,B;}CJt?g?\ə/[it=B^9 A O:9E""ed#aPwﱖQBą="9rHp${&1de-2X7> 畖VSR]C?á%%[H+7 PrcgF&G6?a8!U5rʐ5UX+R+lR)\mFټ:uѵ½o9u)+P2\p^u TƘ1M & @0q*f!fT/&{-n'ܢ-Hx7]`tqRWgSe269y.#$kwPtaM^oi| <%Re)l;(Yib-63+pMNc5G"R'<7W; :Zg[ 㒝jv7$@t/G^&xŪvCeHq 0@(KUYl@8QuYR qqUfO __ [4{+cZN)( }<38`Hԃ>b6-1n!oA` x9:HM~wptv ~7L7F.ѭ-|)šV?P{ʨ4DkTJ2V(π֠~K&CZCCLhqT^1?sجˆ&)؇Cn}'/tػטw/չ:;5{* ؠ3 ΍:w"|wAU|9J{=î5*g!J/Lrh $Ðy*cמн.ڛytNяkle]]AiuI35*"&Җ/Ik$ .*h9ttAߵJ<.f50=a.6+2t{I{^Jcf/CU)hu!_Kg,)k5rJk.#m 4}%ZJUJ_\z=|ǡPu!6J7Huw)97(/57% C*t::4RrԸ̐ӡi2%B^B 2xORb(x'n*:^ts:kv*!%¤p!jS䈁p2^ "Q; FsY'`.Pb, &$LLJC A#yw2J2[{Vfl١*ϊkX4D*>o*޼`p$U*=-ϼLm,sh;ND_$=My"i~AAJ>V(y3 j1bSُٯYN70QTYљAΫhK$Lt#-aa lNnvku6[iU2Fޫ=0!UH-Ds~U McZNnZj0NfNFB@{@вJ몰F=Pe&MJm2 ZQmݧ{\OwDwJn2:ZF*A=:AF3m7l]b#Ȋd`%՚0+䘃tQZ_Wato''6ל,<;Y㺂sqQ. vhNy>O@p:-I!& wj6H@[߆0 lAmq7zT,xTԨƼsyr(ř1_2Stob tkbvSZϜؘ;=:T37TXͰpk5ԤqCWTh13=yJ7(_!}K; ˴ׅf Yua4YjWĜ0$!FR| O0g/Q0gnjx8M &edif}t9dj3edU/j_G=~vr~(mUB`SgGS{!ߝ!9ϝ*tIU$2a߷سw59B#-jYۿkKmXdQJ[}tڊ;c=2a³r.Ģ̗N&ӝ _Q 1$1J<@S%7̀sK\s?>z3-ϼ}vvf0e +,x?TS6^/^|E"kgƮn ^]˱kƮkƮkƮkƮ1E"=' xˇ!+]/b)0 lpJ/7d !N©^Fyrʗq8w;Q%'7 &_3(R^LTһUϤϧx!uYG"ʯ6$]e)e9PO!6&3eR\<Jj3jȍ2~ \aV 3B07Qgx&|R%ො|9 C9 ưB#,Sޭxŋς 4 i i<ҐBNϦ.S\Kuzo| Ch7)^Bo{䷊rd5 6˘E踌9ʘm]-cF+њd8*TmXz71 Ui8˘#d QLq [Fs(:Cq*q1W{)vP2ohԻd e(.2QQ%eJPj)rIh2p4se h VըWJjTkG׎*m\B"*P€jQ3j9uvNj3 L݀ oL r>ح1CMM Q[G]u]$]r(FnȽn:Њ]2rxL O:9, eC-h9$n1{#O7'8\^$i!E4ƃ%{'?n+|9KB:>FETMt;؉2/ fKN/-KR2r9!hs'M{܍EJ\D˨ߘ\fj{ԝN4{}Yˁ_]hn;7pGJɕFY-r尤ԓ,^qZ-P"˒ϺR/ Hru'FczcSz?GcVѐj&Vqr]J/R?{WM%&si\ WEIlOi6I-.|u6wB~_5؄>`=`z-[ I g?+XDdL*O 4Uq(uSE3wja!ʳ+H u|J3?dG,h0~yCCf(sg_&Y3 ka`gfo݀v#{7Ǹb^.܏'OP!W#V1N1pX1p9_0?gs/^x ^^1V6wS8_*X. F5hKUA;zhF!V ـsq@~e0? u!FxC§`J8 _ !|%(Y-Ҿ G Y=3 39t$9<IsX[)Wt͇ժ TT"TˁPu_WToVm[UޢMuw|/ɥr0AyBR( MaRtERAxJY $H4om)dC7ʌA'ZT];SD 4{YkDMvc!HKwSn!1OT]49,kIbH!6_ ^KFb)!;r 'JC鈜~~dǐq^$ @ =zݍCh:1:>E7ZٸWj\n?wg~[|߆c7B bRwX'qSb$ÏKrI=$HrF$Ad0Wxd\xH6N) i/Ke\*cl\ 4a \;AP<5D)? Dr<Y _ | hyD9HeҹS{VOlR.DY&L)7 aYGݥe9RP/\S23B5 5n#QW)a~R%Wt~?r}iJ2%l߷"Jv;).&uN(Ye~Hk?1_n4v~Yd}||KP=)gF wmdۥLo#v7c(s&ԛ_K(I2nvpOO'ns''3gQKk:+ A|WU ? h>=ШvB}cԎi[[/rJ)ѨO(ШxztCZñ3s%yկ~s? {>۟;}oţ||s {%rvҥ^76펯'4b;DG(A\eF(7폝tp˄ֶ+hr7 ^%ũ?7M@}y@]v.f^6lmbn Qo%B|4f% `͈Bw&&ψj*3A #[l-.@N4[YTQͰc 8blƧdd7mUd|\gC_>;D']?[0oŏ|~LP js__ZmO S22EaxdFFv]A¨kR au͝2\YeM wn͕dG io4òOi-koSPYEhڈ$t V!krWqWeWi5mst'o_Uvy|880!uAabA0 Bt7Mq4Ƹe)g,k{t_lLzu{=NÔyqCG-f`w̷Zʁ0O'[Lc-tٖΘ[zZr [[ 2i0jd;lXRӒ lkl~cnj5?ր`x7ͽpZ5i`J׵$7kn_4Kw ¾Ii$o!//__Usi}aK@`3ŚP'҂mY v@?Q~%. h]"6 /Gq*`MQ>cˌvͶ<.ڭ][k]n]b`P'5w7Ҵ;|h9O>>>"?o7ll!e1[ɲo,Zd9,yI+.d.'k)CN|-)l?p&  u>vdvr{zN{Pc3$6*53ZXa sNy"IP$('.N{U$^j&s?iʿ;_ou$^,KI[r[\7waw2RW777_7?JNhHI80+$X|ʴPf '$Km}dmd RbNOr;55UZڜڝ::,qYᲊeeͦ%)4i|ZCځ8=7GO3s\QxD$)#NH %G#=Kηѓt=EGϾt=ev:Ls\=cEOɢ㶰ssGO̝oa\v^gI9zN.⢧䖳 |\=5z6\'5zfgD._P =GOeف3p[,R3([I23=EOB#=G=FOQiГm\[dWى6zMt*lp|l [)3vn47Bg$_{FQ=0 %p_tzۈw(yL~ YxC*'y:eGI-FIZqww $SJ{%_Gτ^xf.`Eny F$?-zۀdxa[~Kr_WD x*hgk$yfF~^f#yoWOէS'r/^  Ma3GfKH ${ }uoCy=Kb=>/bQ xLa͠vٌY?@<ꅶ>zh#c蠁*֢m]8pPJA 88 §1jȟًcz:K^4:fx/󙈷__CGAmFa+(b(F~ibGl?Nb(Qp9JR@#PT>@ z~ĭ D au6׆d?™#'+dG=q+\iۊۨuh+#r{3n' 1ހz7&h=TaN'bgAmP5.È qGi0icgY C\~r:A:6s%]$*HǙ0K5]:ᗹz4y#8܊cvGH22 wb`߂DJgY>, Ә tُY0K=f{*1v=TGâVYW=/3Bn݈mp4^@rBg4$?QKs,er `+QKj0%X`=#YЉyP*hXS1(+sPm; +E"?bGT.P h$$y|ѓo3G)yT?av11 puLǹ@Ƽ?;I."n7l:l:١&˧p[cGvz;7\ uWU={ܽ h7HR4t+6`6LȢoo2?{=| -b d(x1~+<-DA=l$#*E"*G HaGE Z^4VwIV+>}!Р}0W_E#`zfQ`A1E lJ3U=|Q6Is1*0fz5!WLQHcR~یЬ&F}֗܍O0}Xw5\ ̢ׯsd7 W9>{0E)'s=/Y>ji4¨踏iOH)r鯣=#:3ȓIbqVճܲH=Ƿ/cfj.xn •E+F[s Q?ctS4cFc݇麇0ӟ 6:^C 30OiQ A?^)ɋҝm; d,lMvNBa!$Z'JO6p;t-Avx•%W`'sUR3@e\WGvp\=ӝ\#g&z..ąH-}"I Bi"0lvO1!#@-݀Cm[A ngEvL$g۾{.Z/|qʉH'Q^ $%򳾨L3*eF~2P902#4ZоڹԈ, 0JoFܔF/Y}fpm5;Ba[PmY^|*Ty:C[MGP@K}۾BSBk[}*X-k0 /xwc a_[C>`PG;ti.vm;cmcu`xG0 ZMiFnw{aaG0Qkm:QGpm(''cXgI8#~ΒqßC1OC]gX;f%^>8eJѲ ."-\R\}.pkUx+Οk*y>Vq7DzU.rUNt <\`~Ud,*W?q{viݖ W(cTi>%=,\~2-<@ʎ9Z)(k+4cͮuZb]a1kZz5uXxdMv ]~Ko-w\v6c=z+!oop UaԺ5Qw4a5Ey,H!ǚGcg^?5Ԏ*UI%rݦ=Pj?fYRo`g\uk^xh3QQ(?amt=YnNژVϺj ?nuAV̰vg=CD)k;zԝ?k`zQ=XOBK 1a::/Y0;zƝ sg"f$KK w.p;ڸ N7w*Suzuƥ_1|DulR}5ٽEyddA-ݽ͔M_MkG `e"OV2Gb*b ifhz-]lqO-T϶uLp L4ilrwm VnF<Fي́FwmLm]]@p > -!DۀG9v%K#$]m!l(-⽖ɫg*o ~hc?0䡧jk LKQRw(=8g+wljX#h13>qݧ&>+hmvy`(pvS8d6mOx{i?x 'Wd;m#n7'zδy8}׻M[]ɎVߝA 7ݵvv=Z8{ڕ*pLR8u.8;WtDhP.csu ?h^C188D".md`!bx皮jǵ:΂ձqSש2[4Y.d9 sK%m#bFady "9fcǼkKp<eQ±Yutu;;u], >wֹ͙3S\:Jm5ܒ.fu'uE 9Ԟ9֞\d".U$^pQ97z-y..o\L:&ύvg20پs7{&۾3^ L< [4zZ4P:ko[$Nʠ k:}Õȵ= ʵ߻.sl>o?- 3Bv-j?oh?55R\냥4ޟi?m +/xAC%'X~GAK׽MLᠽwPC <>1muYy;<ynFl^ '{o9r[d_}걟X>,5U\7зHYh,Mt$0v fDeyDcUTԫ)~ULRO [8C>F4@'3m$IFBg~+}!fۏ7C MCW-O}=B@'\ag^uuι@EC]o:&"%NUQF]m5WeT΁%{U;Γ]7:3ykYy1l輌4F9uilo$]S4MO~..r5!tʎ2FFdKX+H]A梑bZp:'ICλRg_\wjb<՝:<޹FE]@W:O RȾ9Dyt^r cwQ!Nw 9 _!'=+'ҟJ K_H_ɤdI$Y,Kr\+H&I=ܲϽI'WGeͤOnqy_+x _Fx/~(?Y̶$$\"ȳ_sy\!&np NA8NͩIIWU)WƕA$q]dW˽OnyrVl+KwY)etf_Z>A]nP7gݨnL7!utyީ{22˲r6m*Sm)˶Ujʚ,e2_YlYɳq-%Zʎ(;UvlKeWˮ*S=f=7hss~NB1k2?6)+)Klc:zOdk7eoJedL.*Yd eE"b|Gf.Y"!IT˫I![.Dznŭqzcֻ[lۺ^ʧJ>k9>_B|9_o[y;> ?).ܻb楸]1( ηDb.E'Eyu#OۻҚ t"- 7*'an: !NE4=}E6Qoh\-S5Y=`1Xs'NQRz' ?߽da{9ÁEZE51z/&1g  XY2W/ʛD~^!ѶjCmi؇yЯ2s s=R} u*~5KjGl;:_E9b}3a8k7 ;' '.bcaxٔ ùe31&RÍELjԧWX0Vΰ E'Q R}1U53Y/5PUk|R`hfSbŔV4eP2b)j)ǔG/PLD۫0߸0ȳ97m:a\<$Ҝ4/:U2DNT5ULC<FˍY=O c`\Ǡ( &cVѱK[/x"v}3ؚ+B5q [|S4OCF~`Q>?ƃ֘ږ7vkcooTFm"{ƑX}G1xgVhYf]aW^m|Xk|D{KWUWm?uB\/cעk2_O\hnyWU&bhK%bK?Q6z`I-,I_olQ/查卥1Lݪhٻ-%SeUq{ {17P2S?j2-0b-S~wUM4iܳohҫcjww&s84-;SMNYOT=6ib] MGYF:8Cǐlꣻ& MLqsc$đ0}GC Jr}Aƾ}AM79Ӳ"7wOww_"E2w5HZ]$NNĭǎ89擤tÛl>˛'6<36/(BHU+V*9u HU* FQhR* "ا8UVS *#QyŘb\qMqVrXw (_/%mxB r ;(J$*~"߫0RBdƕ6l\Quڍh-XbXA|jcFFjpl Wcx|$_֠pK#q$%䓷HYO6`DRP^$]pN2szLbCyxPVʫd% B^Ioqyɺ>9nR,QەzyZYlW*Jҥ!er@ByR9<<'^P^d_WPNzW9^SyrO /+䳘GzJU9 ~VTRH__WLDj(UYcVjJ\?PW6FK7++G0bA\i/+U"$ҀTvUT/2 "B7x;$UU 49'(hSS, uFQh,QP SNT o 2bzU' /QiQ@#iOzTs{՛T*EcigX ]Y9(AyzjH5+Q",w~wcqZuSu[af~:ɏ+TLzMi u&f cŃC#ţNJNjo2OZP|uvCQ<QURUT O6QFCD>[8dOF@7 ֗(ϬW4̀8+![39#?UN3Xk&9PNh& V@W5S2Ӝ,t,4(վubyqhqQtr)/nRj[Şr uڤU7 4q߬jz{}#yrP=bOOOB&J:-4E`U?V?kz*jr 4hh8HSQh4N]e5՚:AQӨ1Ө4aJ g"~qiMrqll6+>YO(uMG5wƊoWkUcJ@N|VEki+a>ߞBcH1@I6RjiTRb^JZRE@EL#QM)"""RLZߙ'ٟz֬Yf;ǮtQvPUfݛƓ۵\Wumk;m괩k5Lʮtu\>|Kv"4k\sι%?qc&Wį_5ɾbbz^[2d"u`oxDнOMYE j\Pz-.lњmIu-js9H׻ߎ. ݘޘg{. GSLזr-3,yF&!%:;FG[˵Wӱ6IF-K\b$m˚FMT^'\3oQnI{ $tiao3z4Ŗ3u)vWŻ͍v7]ңE[e[ֻe:vy-㚦2Kde-#3?5>?kϟ^k?5nF?}Z~hiھZ ?Ŏ\28EfSIeYyXA%c˚t))u:Op8?Hޒ%[-sܦLk33ɥgnZ>mmK6}giq\tOlkg]RooU-}6iߢ}/˚cq-;'u,aǻ{/˲/U_Yn}-u޲v)rSƹYm.tuq\ֱ(oβg'VV^ּnJ)B{>gMote)NHȒ+Bc.!qG E6\0EzJ(K5Z!|k\u;7!Wp4(_e2|Kސ7&o2HHN~$ccLz$ݜ-NSdbrzP0VV$iZCl, !sE9Zjݯ6gHA:,*Zm-؝-[Ih]QpsN-'#[*rri>-vXx9}:3gtwk ^+9S"wʥlk `'6ZkOdObMjSmjG8`ڕ3`s$D1 KJ;/Bm%/s3g&??dҒH~Cz@eRz-[M7Yے|*7Os9nA3˵oLn]>nkT8̵)rh<~.=ڗ)+ z==NOOӧL4i u)[F۲/;3N|3Y*gL_G,n(3 3=6?9"9aZ a@ ?& e$2|Yz 6=CNwqnF;SrW;{IShMQ_겚6_w$XlG G%×f);i6q;y]n-:0'kڙ7,j5^ ߝS9>;4>}į'dJvKگ߬WfICI?WM94.i}>s֤97+o#o'l?I;Z n_{; x^?x}kבf!f3^]~mjpE3^Gu=YSy^+x*/T9)k3'S ;dLϵ s3w2wx-["9c-1/S)teJk$1Sޟ,}k`io{3q&i=*.L0_tfsWLvf@lDlPJxB'Ǧ ==16CYy. P8#$mq:J~Ɏ³TM&ԤG gHk\jL~{Pߍ55&h.?tѠ40\0KQhShP$hAB~ \kW&}#Хx,kFo֓e7Mdi ;*h眐PoC=i-Qtꂺp`q-xB\4I5S9K#WJl{K45鑼u!r NH|\W?ݚ6e d =%XNJw&8A.,1rH _.Z.NީT.ՔWᬕr7ɔ݄#LOϨ/%LPw,zhM75<=Gpb:EcC}Vg{sev^w{Iv?od>TI_M߇~k:psp` v(0X^r6 8`#y=eeDW^QLP*D?6W1V='WbS}dD{N4)mR&hj1ۛmkxWp Xs̥*Bf6^-Ca--~a8Ʌs<_V\z&xKgxs=*?f+1_ &+`r ӑR?oh뷫2Z^ûھ/Z $ګ>QUJ9cBmPNb4xkV>Je#Wm@?"Uu*-ѽB^:/8S1z@%ǕbHv/z8%t$߄s}x*pU>\_.!X/m;(UՂc@l 9X+rJ9 `a=QpKpw"_Y8/KW+%Áuς~=гz620= -Sڿ N_V[Vio}HK"+I8Z+_ ',PZt}xT{D~zh=丯z #UC?|ZwPwJ(߻`ԆW45O_$t]!=s.~k}#f v}-i;,U:O>9u}rIQG{OzQ:'2?~|K@[h @flq=|}lg_ ΢ 戆sU[C}wߏ 6oHF4dk+( 5: tpm #/Yk>lځ=u,{p1~o  _X+e)ε{!zwy`iftvvzYݦCBUv_fybC 뾚|!wQ4p׉ݸ֔rfՁwG3*K*͗AapRrye r9EVӞ T2Xՠ=;z_é-<g*J4bS==`ۮ*KY+ټhNRr/sОאߡO'_e<%wf څ9K僿s72 u?ЎAv 38keh8m7繊qZhbHST_Za)hOj=H^g>O;b*E^SCo2ւRl>Yg%0ObOUez(>B{Q9L|O'9N><_^)_֌D6'CR07!Y ΣV¿ό[Hn` ̈NQV1QE.zq=5~Wz&=Bj4{zIEp t>GI)VMp@נjmRǤm(X@/;? *x8 6j(}lRѬTx3ȉx2׹ p6x;xISPO}Fz=Ծ'SƱ|).-U(clI 81| :M:3.%~[y p 4~3I2VՔ5͇j`U9Е=/B_J? >?D3kA;`p5z^'ȠĶXop,t9I}oCWR~N,IɅ~Q1Mi$=!A)qR/o'|, A$,אI|$zE^ SБ.}u,3t]B1ܧ(gCORL Ac2 1畳輔Cߊ\ gN"'mJuO;8 ppr_TLeC@=IH?Nj4Umz#Ϟ˰F| wDs@Uy`g۱<;>3ԣ kع peOx=AdOx=AdOx=؝-%{f}/P Bo*z3H- zNop Ű Zh= tBiɥ"R1k@7>V z@_'[MuS{ ٯ|Wio8-}0hxtr`e.wjTFNjtGw1oǓ>O ¯k!@oV: '{Tf+uEjQ|,rRCC" ,reZ,R--6GKP-]㫇91ݙc[{E-4WƛABG_ʣRBd% wi׶Zf~G+p-r{LNarYJj;t>ϩdPL7:?֨#/کж{ =աt&Y詪~7jc`/d<"p;8o!_ 'hbiۼ[B}J~ ˩Q ~!p&84zPdp:U~؞\@dnbѕ/Z'x\p=HP3(^e/ڱ='B/mL-f&Ʉ?=ߡkg9L?LGQ_hgW)c|f GPMPo?aw}SE>z)7agj{FK T& _eb3VLLRNJG;Q}S5Pw{c3>+~^)hs$Wt A?V3z? Xxq]®^ߗ먴̷~W82TTo~,l/r+Gs7CK5.ZY, '+FwCoY 5RAZ0~p> ZpǓm}uꪧt~!ݶD{TƧt$9p0< Qw_\aR(BdN z^z@1Z T1KyXq42c?y)[̩fRQQ&8%l p_w)'2CfT8r=JL8@^(AWuh~ڽ>䯅7­:WGQ/Rڡѹ"e8|_g9\6%Z Gzoĺ)GRp_y2w=eeZ_ڢß2>'6k3`ʉgkX>s!_VsBrZGȿc5/P4Vk!^cl|~\¨/74W A/r Σzj-%ԥ\ Ն`ʝ ' Wӣ 9Z51;N"};@ia>Г!Y1GuIl]OK^r*t}|ͷ b?r‡Fe <|>vzH+QZ! Ē! =:^WaFCDf۬c?Ҷ[(_gل7~.+u<#1|Q[!mJQDb_I[|I1Q#Kvʧ@fz@4ƙэDd7U2 븜Y3:;HwM!vV:)+r֗' lok }0WWа}}wG @}v c7R;Xm {y_o-jۆ?g9x{_3ᔒ zؙᏀ^?y)zˡ 8L"E 0Ef}JS\h DS 89h@#o{'y{)eoCO#~mΒwp^RN=ŖSAt.h=[c!?߽YnľmoQʯ(wۡ/[#9Rhe \. LІ/9.ETRGéEὕ"p;oʁ>ٶՂA덾Huė"V$X!PVd 'S=ֿHpJbzP {M!Ť@O6IC X[}ʐwnrBw(;7 am"6'O:iiŇxَ_GOcvvC&CZ^h+A3FCw,`Irs2FQB7'2Nϻ1~lx?]{7=h~`\(bshjL7Wڱ~| | Xǘy? .7+}S_J &yjSWc4[l'<̐oOu5b;7C[ J4馕im2zdsL5Y[ESihLz[QХE&۴L0,ph16GY 3~d|y̤3["xy;35r9(ɞy4!}RL&LL`V A'-32Lar 1H3L6ffoccG"qB3`%_Ӻ)J(zik\ٹ6n=W%\/U-;~E}` |U-=k |\c3Œ5Tsxnyǔcv`)6MlM҂V}A ۿ 6s+(q48KNj-qO!=)~nQYk=. BкJ,AS-znג}ׄZubA*u!I1%ReߏRdKn =.n ;Bк' B! lk}}>Se3<Ö(βMTo-J-mTNUS5@MTUdQCHz @Їs"}-okqV;vQXlyH5QMlmmj5Y@ҢYғ`8*Fj#Pc}{{ildГX^B[hQBd8BKzCxKJHBR Χ#eC (g`K*D9V5qƁԀBs8 b.ZX7JX wp?<4</xކa;|z_؋1G"w䉼(BP8@Q,JDP:Y(h!*@ThZ֡  *բz#W:ԂZMt=D =G=-z>ҀhLr=VhmzGF mFh ڊAigڕOGT^n#w?0%JXa-!6 6;a7}q cp$q8 =Šs4PP`MA@ Z< @ . 8,@.b2 HUlI5p  `*X(]pP(=pa=L82lM`(<x <Exë*Ѐu -xڰ >Sn W0k`ƀ>0b#;dLr 93\ܐ!̑K F`8 CaC &k-J@ `$Ja.v( {2FD3g4.-@ GB"-GˁZVQh5Z |Z VmhP9*y@ڎPTjh: 5F` Xt $: "tG0]FDt]QȾ btĢC#:Q'H@ݨ$WHBoޡw  0 }A_dҢ(H4Ҵ4ȠeiY0A&=C! VU4Zٴ V_3h}ZІ!I`mJ4C3`mN%m rịmi[G;O;N`>Bt$ Qtȧ8P@gҙ[ϭ  QPFcqKbI bY+bECJU*5j< kk666%[R<#veM{xq8J#V<OU8ǂj6v< O;X?P BZ·FXG7x6+ނwC! # 4EQ4G(MAPmhڃAd4:.Vv=C/Q/}@ii Z v!?Z j*dz8Ԥ'ұt"bccu)6ñ-v.`8<^e:! dQi0M jфWWbWWW\%L$I$E$M$C$K$G$O@HD4pi0%e¥H*HHjH666Z6ڄ6:6mt mm m m mm mLL 9!!%!pBkBB#    \\  <<  |FuHDL4B4J4;(4(4(t QXqDDDB'N$z"z&z!z%z#z'zL zL$zL"zL&zL!zD811h07jBh-`) mcl|ex ބwv "V}Q EcP$Bq( MF( @Q%F;nedqt C5:Cm1z^רO4F8- ;/Ȫo(=BYkC'6>&XAx(V3vx,q#!c`Ȏ;F3c `?-v)](dO`LvLf?x@<|$9,a蹂ZV BkZobw8@g@l`G,A  j;)'Bu,%xCt% 6Jg=g-6f v,w,}_?32^0+p#|/\i߽[I L2rn(tV$cEO#8&؛E""I"q@ @r1|7'5lvqqIAJ&09"5)arT*;bT2ă,AhLDS\w=dSZK9_EN2|R`[ܘ5k$/#)-N G<#+HKGOMJNKJO0RLQy8"ȑWKL᚞ɨ CMN7 ɊNtufI,x쏹95ƱI+\d+5d\y`3kR-59#)>S-]=֕4`l{1_HW9Z?aϑlp@Ci;V-dfʗCU/p]ȵWnN3]l ɰ}*<?:w=^SsZ>] f[~yNAx#~ 2fRv#X[sK9}*{78o9ˮcl'ޏ}x^A["du5[%R[O_'W*yP#*xX5OAqʒ=Qr~j=R]V3 _JGο/WxgʫHq_2_2 aos;UJ((m{{{^=ђnַ%1-2Qm` N Fu'PAu?f]Yakf94{;ƦeLJedM͚j&lFA+FdҔ-ŒXa"$2>4C};v9wf$b$DbzO eUѹ7 pMD䮞G(+ƶ/C>}6mKM?h,y7fS^gc8"c*`ǸYbQݳ &N<e_a֫&sޕ5:-i>w#{xZjEIA)q3XZ('V=tPTIvNQJ;2)g66~]Toիǧ|QwրJcY=g1dH,2rץy ,ͯWq\FHrbO1θgl:.+}dp#ёFN[<)7s9+FūjZ˔MZ`v|^l3?%:l`T2Ϗn*kmRjOi o?}xx9^h-;lOofS.;M;$!6zɂb++.>RJڿvMǰbՅ l ay+$-tIoWM$_hUqgdo]87уxPOÉi u߾~ za_2f@lgIkw1GŦE!]3wz\8=jЦ ׈O׾l{G12s8_DُS`*-"F`>#G( 8fyƖsV]ޒ(U5٠O2ަ%[(ūI-'s?m%k&xmM5zNm;r=FyG9׹<ѐsKR4gqK>jٚsŷJ5wKFnܝ4ΞT*Ci)=yf%wM x^TxRǷR$m.h(v=çEY~o$Kokƒame:<`p_{swVΞd:ѩ Aځ ב~yuU,FC[zEC]V^f5=_$*NJd}Ϣf :eoU?,T}鿥vůLsEzěw=B<0ի;@LZLه75tiE/!7{Y=:y> z*7/x1zgNjB x徶LB7Q̛\`U>UJr.i ҏN~.lg@o-# ߼L^[5|Z Zߩcފʛ?CkkuOFB6Ns)'ȏSo5%"ttֲrE1© tj?gLJ*'%Wl?L-j QkeGgqyǟ§+ u21c;#˖N\sbDSARb"/plU6od2geY(!DҞu/=ee4a˱#s.ZC25_2ψ Pj`˜Aa]e'׌m#3c ^UXӕc٫{g_vmx|ξG[gY?5E[N7k\4e‘:ij]ќIIr|vקFOj6ne>WKggao(;oޔE˾~QEvtcZ|=rOA"s Merqɞth>Ww>qF(ju6 Y]W5cWCiʿ,ef],il\^ҝPk8bH\<=Tx;jV4vz-"ei.oސ5`IR]1'Ͱ[`eX-攦E♪c :Y]יȿ.U$gׯmCx1b56+lS;\ZJU?tijU%#kҗ9Mx%}M|JS:Sl,ʥ^H?$7+='ugó`޸,VY(z޿#W~ӿZ+JsO8ޮh/x#^y~w =moqifX$Sr'םG.;^ TVHɆ>e.{lh>Iv}zV8O4M:7Ow(<Ȗ?R@rbRw<{(ӑj2UQ̸'Tbd?fmK%xJ.8<]7Ʋgo^QO9NV׊Niq3)OߗMx:z endstream endobj 31 0 obj <>stream x}j0y,oh[.Pm .Cm & b·oXK m@cΙ̰m=Iir0O'v0hCҌ*-Fs) ^Bqn5upEؓSnk?`iBʒ*CaبP~9Ϸu@9r/#'0" }8%~ճz.NHw*$#)v>stream x|y|TE{;{B-4IFGv@:v klΈK\(2*AqE*#:j (O ';{>oyZΩ[TMu(3tdb=\_0SxT9/) >ZXZ7$b4yYjcܾwDR]Tp.D>jAŒ2:Ag-ߞG4z Qh faD}D!̪Zb( wCq3=9+ UfII|?`6›&RS(z!o Py=(iHO;Կ4riЍ֒Ft!qI\z|D4ci~Ϛb0Bi-!h0.*ꪟG.ĉTAgByK#)Dє޴Uߥ;hjP!ͦܦ}YBm#n+0:i/F^/R8pX+L"R$x\<$,b0Q># +BmW`JMQ*1. ##1Lߩ 0HG)|9l_ eJeH9%x#1!V0};i,f۴^ Nv(bU1KRh/~ZC UJYt+e#)ڏFKrON'P~L?D(}OC1 \`$rZ!s7"0k`>sf5,30\2~_~OGyFdz2//+{qNl0/^ ĖJZi$Jv􂝎D`?PwM Ч*w}hs0 `L %T܍\h:Ы Xr8dGP2)LB E) ԓ%Ha,㧿Wbd7 z#TQ([bXﯩ4SG6^7# n9{|1CX,<xm˯6q`loTBɷ $7AL絘*/23[^Cr̓=΃WėxۘexG1qlx8~oc%[Qk8Y"ֺ"oqG9و^W<1+kXQ- Fxr/koa hFAΔYu"L}xx_"ISMQ+jaV Mt7"˰gyLL#ȹ!D!"%Ԋ6ϗStբsjqi! g;|HG aK0$2R.~Zwh3d3x=E/шə[W_/XpJ|R,-:T_኱[bOxQ%|gb^><'V4>Y;| kK' W";@l@x>rESĭ-#}#<~?xV1*8ao0Ɋߡ}tR++p&,v;C݈q^=Lro_I3~;GMS'Ut7d \ яRĞ~@\alRs,i.{\c!H ϻEExc#BM$FK{!LG `FȷcOKn^di׆3>z!MM2:q4!zBY?mmEu3a&ލ"]]V . z|)s.‰fx;щ1X֬+bʧ@+Y8n'pKl &v'J q0Nm 8qΕg8Y ""4Kj˒ӗrs8@,YA֌d ;m"^4($Xm+" ($FrNdJ"UBA>c/L810~H`g X;mΛIa7Q~.-@5梴z۱N<;wllp 9݀ov:9a7זqVvl!ϿM3LUzs+ps Or \[yGCw^d@ MTamYťI+j[H6,BP"`HIQb{mSEU '">N q3 :A8)ع~q( RwS8ao|~l<?tm'V Eom%|g+_m.GZϫ9ƿk!B'Jul۠=zo=]C7z:Q|[hzDܴ͟W(AGHo__fW&5Nߥ/i~e;mw誮6&tWs}N˸h V-,y ]_U$P sAi%cu5:9\8{CN` #XcOc^n=ZQLߢoJ8K-%)FcFqO D“Y#'V 8@r;h숢q글yawǙI;:3P읺P'p,sW[G_cqܝzxclb6ɂ}w]q2ROg)9dJ`$J=o$S"8o`m Ğz駩R*)Rf xI < JCx؉;h8Frh8 _p ixe7G0psM1ح}3d'g2PVR2*S!Nc~ ;"p%8O1'4O!'x*\E%iөT֫2p5L*N#%ϡ /=N\Gu/lB&dOoX+? 4 2/8H+hwgW29:t=fPoiu̷|v$߁w.Z t# |~G7cV7*0= o51oof~~ ~no ~։;[ݩ ~)yݣi=x;kݟ^t_+/U_>~Iz]oS47 gp|>M(tL? ޙ}z ç[W|zo66WO>}0t;t;!ӳӳ٧;اOa>=}z|_}>Oo!ïӣاGO}j~>=}z2^SاOOէ/|e=Dw_~\0oh];xxvxaJ#oJC*a `aeu _9]P V+]*L?Ŀx`ɊBWm ` ϙ. VN=Xz&&%Jt"[&g /1rThY<Ǎ 8*kUgަctqe%c׎=lhAL[Ԕ^I= )Gn]ctԱC{ctȈА J/w$fH!UHjH޶fvq1sےyYI0(+#\`5k1alηV~ !  j bg52h×ή)pC^}Dx5:<##p;uA2Lҥ^PhZuh] XP5C+[QgTfk"ouF\-:PтVc#Cwӛjj04WZ 댪IZU)uO|ˊOb/=BxZƩ5s6V7uEre%d8U3kCCdeW|uf-̚k]s /[F%-ngt+0הUX-Zv*{}')YܵmNFzo4Eo"ZTwE%-)d#1 4t3ZRaEGID5JZ 9ZXh鲾hk^ڦTSgI2ҴT9/B"a?#}irhF T0|w68hc+|f!-RS\2)ӹ\ TwY1}wwBZ~1 f5ȮZN0Ըc[Tɗ?%u̫Pr.f⤖"R3$'g򌆐PLEN5ǕUVjOZ]ofOk9Kg]쫯E\ϻƖ`㑐 8y3hh:C@ @7vڲ>9;r|?Ƿux?R<Y?'l&O{J椨1p.s1Sj:@@ $&0ڥScnS,7N=r? 3YZЀ&'9ǡނs ɸ0&ڄZPkT0(pR!R'Ø? l@&}W-J9 "]}\9jw;Z1@Af>\-3^e]&kj9JaEb#1TH M$s$'j#1#"1#"1"1"1GuhP{zN*"6 R6NIU٬T_QLS냃L!!SC!Clթ8U9ޜ`N6 F1lL7O͙\8Uyw([k#ͬ ;\|\wu`-dɃ @temf8G*ǕjT!GځL嘲lUޡ8*(ðLQOhSE2Dxu0ь׹WXӐ@y}SޔYuZ`EiYT5JZCF`9 FY ,8epX)sy|)9uHqCG5pC:fnpC:ܬ npCu np7t n1 :F`9K2NY,q\`0psl`p Yo|;˷CogvȷC,vȷC]q9:ءvV`c6(A l6(Aؠ6(ؠ6 mo||/{! ^|/{!|/{Y|/BekYHہ\k SPL㔉$`20S@%0SJ2ǯ~]=լ =nqC =nq7 =n7z7YT虪l %e:0frTT8e"0 L@P LR,Uhʚ䄦Q MNhrB59 MNhr&'49 MN&'49ɚDd=cwӁ@50. )Id` *J`e@90,Je6A :l6Auؠ6谱tؠ6atؠ:B:e^B: ^Bux ^/tx ^CY)Tn`%`-a56`#a+3`3aԑE`@Qy0/c\lwt)z88]588jxq89LQSGQVGݺ:jQrWG嬎:j(+3?|d= )Yfx剢qc~XX!3O'FLA<D%dy7tEXμ?ppG'n ˘,39Y<¼c,g\yzǣJh>(S Yt}!w1 ILc]{|/_2ro1K8nvO§xx oĿşE3 W\V)UYIU.V*'jf6:}8c ]cp~fw'<pϧn;%6`3`7NwSǗaE0D$y2,z>DWɻlqf**[Ncnd oxjˤ\* ʤSVި$ׇAAkRxh>xHi,|=`}{jO|_c`^!IY=<_'7br>nFІ?%[_3|N&APځ0 %w"mE-@6| ZFQ]ߴ@Ś3A.܃?l<sz v"G<҉ .h=hm$n9Rq/Hz.uǧ6 ~6H0cx)ý&VvG$|~NB=oF zcb|ƺ5*^1o-|M\,dT8oB9.9>[}[[ԦXs\,TxM&i5NUcd?edafomamПrfSbZ' KINJD}dFVJ[\.Ym{?)W ?|||0gKrFq7[! 1A~z.À$BUF_p~'zTR"4W;zG]pеaZ `JS&gAd(XCc,,+W%T܉mh-nFN&Nt$ Y﬜Y>SjN}4ѕjj/#yF3 :3W;ܱtxq7XD`nT+~޿E'|̾}|>+ǰ7' &hL،~2 yי8ErIı;Ƚ}i~lkʈ{9Dx@OQ(* ~PJ^h@$Dr|keT l{,vgO02c\ט1]5\.E.HZ/\4cآndvDz8)`FFCldJ M$ߔ.ىHFRϴcǎ9(~u=wiK,G<0X)Aj$U,vh;a괖1R-UENpc@-@ٶ|[^NKl]F菸;3:#cQ- /z/.c֭/96_k<#2'NOXj ^-\~86FĚr.pSWA zk'^T5EC4@<֙WJy[B! {u&j͜5N"Fy+-" qs\.+l4 uu6{}k-c#汵^-9gY@ ];|YG6^;K~qp\0BOD>sKvy]L+"g[Ya FSb]~yP2{ᅤգu)u6l&lR IL֏/ڎ4}2q@Š0Y,jn=p{H7j@w7ZRZ, 2z zT*,pnk+SF^y=t>Z$BK@7f^3ќ_t8.?L].x]065Ф-M9hZZ^uB r!.|0p0x0t07SEYRv>#b݊Oi!d'm$@7)+.[f d&5]ze -ֺ~T2>#)ڕEr9t(,~蝑]N*XʥF؀Ҏ Ȧ}8T  -$ۏzWf-]D65rk B/k:feFUw>9φɶg%7^tݒ.cҭtN]~ũHPmo X?1 sHtv נk5r5{%Цh5pLT"]P;R/^ èb0ZUbA3߁jm;]b`/r`dQhQPK&cք ,kZH"!SˀGzq[&#t  Dnշ8D˵ ſqj1&e AyWӟ!˫h)qlxOC)o3՚A7f#ge~=2.20Yn?? 39b<s9:݃o ?xɽ҅d"bTJ|QE(R #:ya+qs)>|E Λěkckf ovbx;po&s|s@)Jwws "w/] {y_׶F_]YǷzb9)1yloW$ocBmUER }=uFh6%1c%sm4cHCT4 *VmR̰,,\gZvȍ[î{ P9daN㏶_AĢIO;VQ]Qnȟij6WK2$ںpkwĐ-k!g!31z="2"lEK=gq/urQڄ (t>]9% ٛ;cc]]{m.Wg%'3]s{3KMlO-bfqݚfwA"/l|WrXbL@vN4Z29,5)=>DmEAg$}~@kz%i@nR$FEFE>H}p `M:b-6Vkyh_h c8li!e)(POxM! k(wJ]8woG|ajҹcWu6+ӋkBT]wA\sox:OX[~{9SVΡ0 0'{Zk9gT]* k(%dbeHok$ZLk.G]5#!7lѰĞlsf޻;pEF^t xD@Y!p,gׅutV0UIIom6&J#n0gVC?X2H\K@2IX"|*/g5BwP8Lp6%*a@fXpRfeәEgfN}fv [ ފ89lx{X2XKa % [@5:7q#@S$A;$5䐤6vɝMi6Ӧy,զJ$W@O%:Ԫdnhk/ v~ jfڃYARۦJj sl=wU'P-s lz VeWc+ND) ˇgӥOۓii SLmjADŽ!NNP/ĉT `,qT%HV* 9oaVR^t BEwx -GZw.n0"e0]CqũBd}lZwዑNu n2g9J`X.%S7]gv~ E 0䚔iN_A=ځRmP*JY'!eHmR[F3&TNz2t`2Hv_ʭL;Dʇ&.)<z xk7xT3)|! r3l1TʡNz}5R墂1{!.)Ngv)7R ,#\`|R %d1:v.Rƈm$u4HL# Y# #5 ,ᗸG@_Z3t.!G?δ/mRYg6sBg@.]io&)efdf472> =m8c9nN|De^8dH ѣIq%z5 EKvGF)ebPRUWKלlr cQFrr:Byh!އ 2]5Uee߷X:rw\'ʚoC !}I?:41ѴdHT5II 3ňE[mE#j`NvDnYU:V[x=SlRgz)daAgp]N )AfB4' )6!x2Azӎ*懢<%,9/s{X}N6BD, xfoGAr'W>ёK;:rP!=R9/BpM:{u1{ )#(H) DAJrÚ>8ЭBRwȬCRkk3O'SE{S8>spKdnw272r|3}$򝬣pUETL:deMͪ Ydi*uAQM*=)4AӔɦ).JY:Jpe&gp2H Cdvh`wS;NIAh r`OgV۳YWIp M(ùlYӕbRLT\l7>KKe6ǹG:#I>CrdmAwue>D+IY)@ĒL$)?>A?A~_jGE>jE2,%X894nB*U`sI+:[_ܠHAPm[)$ GuxtQh|\-BH8Q )Eo)Gf%e~Ē&,RJ("$Yv8Qj!YЬN唻d&jR-4-Yijf$۳RFxZ H$E ؎ts4PbJ4e[χb%T `GB9G74b(f/pk/!wr 93?î MIɬ=<'pfR˂:<3!kaّg$;TRCGV5F̈́=Q:O;=VVLc+rDC[_[(U,oF5H[BOMvF[c|ζ1U^O3oG ~p|6k%%MCw8y^PrDWJiO>s11[=J$°oΆm/%QCH/h,%t F\ǽ]NWsy4no!9M^sNQj_^qc.pV~ޖp]tLӍ8p/?|[V~ C ؖuqes{ʯWPdwإj'ZiqēL|*mKOLN|/7oNo3ZDK\ bN / >]z]'qҢ.QƒP0)rF[ 9*Q7ыg{R![[;hd&_9%IOzNaY>z.{dXUJcy F+{N Ry'Ӛn%ڼ+)\C; XIE'RGU|*Q Kl/n>ݙ? &uWo8_+9o{~!43=uAEG5i}@V+7I. *e%!ո-4ziR%vDYGgXv\P=6VNȉ>Iʔ 7YjJzbf4FYCә,*p3 FA 1HuYW) mtC,Ud<NmBn.}cd<4ͷP0Brjt/|n`ǔ?ݷp]S{?lrOt2~|| w^F&t$Z1MgyJW2O o4 byiagoSo [[&R=i %N{U==gH8jk倫MMH1ԏO;K=L"R~x|jp ё5ф@=PUJΆR.R$cY4:߽j_==#4B+b`LkS·4X[F0R2$=,gi$`C_38oILֶD]/~dFd6TW~k̑9t)sv:r`=z!Bh% D:ųrw}F jcTyŨV /pP)uy6eN]kF]~T6T(K6;mשu\5c?{ P=!3{TsS\g[#dع:#gȤ^mr pWk4<^-5`00;?z W q$$CǑc''|oo]=V+i%aI+ɖezْؠ $ ?0W$7ݖM6@ː4M6MڤM'pz( Ih-'M07+[ޏ=0ٙ~lyI9Y ҺPYzSOF*J Q,m%rILsq AҠ25CA׀yn)o֠ +tE*E.ٕv:ue®B2':꒸J-WkrA7D 1mR,LjR oU!]0xd}8Zp yՊ4[X4WDⅻr-g] KzPH@N”D+s\$c#[tܓD~.wоw6dF~#j)*p߾wu_*p @J[פ7ߪloV.VrSbA:sYJDnok2øE+6ґXGL{&Eh:增\)ZGGgG ZBvERʛ`(hW1Y^"bmPEe ~;y_.I_q'8.p.vm$|S4ח+N5 o~jql)+AgPesʙwTS곝?/dBoմk -+7OfU6ȅ'Awٴrs@}%R+P/\sf7(+^O<,~,oI[PSMl2Q3sKbHWQrXT("0͖j3W%fxCSv}$t] ztTFj4*V=qS#d9-zo~|J_g5VUc/^L,1{.̀^G4lǕxsY Hп?$_zWϥ ~s[v|3h𻑿{~5;ZTOUV42jdNv=a(6n+3حb2\aW{XZ,(0&C! 0rf&lSdN$GʳG썖oFt"9H.s0D:<=L4q[CB E ܚSC(4 #vf?Seؤ = ` x ~傁:GE)_#|nos6}&b#[8[7/%guWf)5!,\^ײqA/rӻB_[WMqE1#:D90vR"eL(c"R!<^Ũ޾qz\=7[./7<`ʻb!?w&PgFt݊ݽ=ֻB'3FO0!o.m $Wt^eɂL[#9$C &0?* M'4֣G(Bo! 'N"eȮMbua]YؘHY9ׅǖWxp*GtkZq]:>8beB;~\j4x&ҥx%O w( J&,=ca~eO3f}-^YTt\IFLê>Cdn%RSRJ~   4KQ*1kOf݆=LJĴ_>9Ƴݾdj(#D}eOm`XR:ދg|ѼS2%#?:oN J8L;3/eyǍXeEUD+{HW4F:1 \4P*DMzhlqt##LA!iM28OCQ"Vm N5Aի,8bLC7Hc4C הghBwzZU~2y( ̕?2G3U밀ÚORNwx#T7؛ܞܙܝ<<4e'3yf'SB`͢l~)M?fvg &X[ 6mW6/H[X%ԤjϘ/kjbW6L!n0Cf+*&h[h'J]Jm*e}d LJWkuI $$矬G!j.4ѳQne/:3E3QLrڇI"4v7bÍGO6^7k'|Q>#84s.y-X } x_6zf5GL/FܸA3-'Iϟa^U M!_Dmn'\Z]$t..k+DQ;ODՅ6̞5={ol,8Zd:q1q%e #hKoYw׏`F^'♦_ɓj'-C<])Oʍ4FRHG9 y1ɧA!Izj!D9(qcQ&NT^K\^00 eڴÑ"Ga$R>''v}J&>K#9bnܒ*{fV/*VgWGlهQ;AJz42&KӉd2uW`yyTV8qO#TR'NDس>rhTSW9^>ǼwR)Lp0S_GUG۸po3U۲f88|LKH6*O]1wâ,v6;_kQƙؤe#7 )mPjS1ҳk\3m7ܯ{*{7S} |C{cN2Y2mwRb8H)&D$#CO3!KOic5?1x# t |N<'!=P%"iKDiY¹ ko9sgю/v빫uہg׭'7{'|ۇ_\oߖ?,,>OTIJ>Sy2BP՛%AM(gOUsd]0>xQGm?k 4{hGy<\7rŭ#iYeɢ,GdneoAѿFf񊶐aM2rz\t*Z} |D?Mj{j+PU"Up:PubxgCWa:SMGk#\"$}e/ՔL]#jZet7A6& $ ыuT\sj tg4]y\w-43w%ñ=jfݱSKi1l`Ns2~MI65/z~7{`$ _zlS7g[Df|Wdу[ηM#yv @hɉT֦L ^"kz S%9OJ,_ YMQn7iFo#IݨZ C"`P<:Q8ڲH=g`u=aE -D]^.t D@"r6iCHL!h|:t];PƣKBSSC8i-ٚ zzF^:G}Ms(9ޮyܚ&O>|1)') tPKקVIZd8 =!oB6F&iUs>"\jNj-{2"&Z%]j,~wMۧl-;;)뱆iKqKZLC.'$eh4,dGK6kBrʾ)9л ]gMZHﷴ!upy@ (晹4Dh {+SX4(I)NI? f3xVsߘ:I_ҫDoGB, CL 2$D/A'w{#^6f/SάT`\cdmpVv?SH .n./: ΪԴmNZ}{`m.'/iZkKXX=ŋ;yMz(O|#ADb%Z6%||UmyvoKM͝2+ܪ&@ߠ>14)  E+*z.d3y#%p刅ЪMVxp"ۥRWzN:"L"D!I'y09TcYvx!Eak=s4Өhw0 #ơ#u]۴lsVo\5ʙëT f8C3M?~ro@MQ VG'%k6u˟Ⱥ*dc,1CO3<"am!;]cQ` o<0j5f b-03ξf9c0+7idI\5?9,^ͩy]-[%`co. ˅ۄ_5 ݫ4@h\3 c`^eխ d_o[|WwufnX,ͦR 1xбסs8*nTUAGnk8V!O -vM;0XZnH$z$QAlA@/55$_Y.1Ο%L"hKғm\7Y Pumt!@|#ada0+p2/dlKR#%|ʖyG^;mfospV8`H$DuG6h2U8o?v~(>GTU` z [};glA _`0@orGXBC(F(M #(ܫ~q hb- XǢ!'Cax?(T?s}HϚUu9At]q]RUTð[$GBCbXh~ˀ`9~jT"~ģoiKJ$d)("^XtRZE8Zpof-OD4/'gt|}n՝Vɷl`cHJ\<9Q)=4Ib`d"gkGUz̷atͪF.8)dA C5-e{73=] b1$+pzQJ!wkȞC::n[܈w73ܟhԋM&k>Mf(0*y,rȎs+a{wǷ8qԉq'; FF;k/_ xF^:y?4*<H)_eZ)[;&tֲf~ 9ӉE0!mXi3p=Ҟ8ufD=⼸`us΋ЭyxfEAU咭? zm( _q3 x)ѕQZmh֕ T/wCYFsi^ Fj=s mW+鳅 z@ѝ>]4GMwUIP-?tҴw}pGwuk9>y_NRP $w]\;iNk!n)w<\Eu@DAUo}|y/ ZӫjFAH>IJ~Mh>$em\NO[{7^%X5ݻ))Ou]7Y^Եk`kWgrfya6{JXٵqwE7ɃpoNy.xxSgw@;-!BS5s֮$\2cݫz7(^{i_ O.׻m@!Uצ,^޻j9]%wm<5צB &޴V յni=ky5ĺ-]IS t[;{m]UR(*Pۣ-һeoˠٵ{uI/HLµȸTh .x)PZ9H{?c f I-M9f:Rzxn@@]Jsya?L+yWS5rsAnɜMs qW x қ.Z&lCd#0 _{\jTB#k*""!=K73@WĽ Ef`C,s?s?o29 0SV0g e0ςDX ֆκ -7c}2~$v·쵀c׳f?|0YH/ \ p,J9x r. KNs\p< x5n^qm۹skzo䮅qq]%º.X]~:y7[/DR倗֯G~~{ooI66Hs*Z? FNw{.%q7uU9{ad" "AMdJJ/D$#+ 335445SBS4S33355322423333zL[{0nz?okQZx" sT`DhrA9VUĉPN7]$"z*RQ-z&.AyݸOHգ:$iృw700G雖h_,c)Y*0DMu/T;Tg_]>*: EDKD9)6$̏`%9ʧוF #N#&#0t8b,i,pb詖;I`+\8\b 9S~#ڋaijlk=gā߭( pZ8l*jTOζ[#媣Fވyn:()6zomYKOtmQQkHhRKy=]{Z%ѕٱ'N:µ.b+ }鱧1eJPF9q#./l#6OANt#棓,]bp,Ðb/: ^HG7ߪn^tŝXtV%wh*4U3,c5@SiϟEf7J憦2P/*6=m tBV&I_Z0#% %"@JEB1f"G fh3F#ڌq&@x fh3F#ڌmƈ6cD{1^h/F#ڋx^OP¸XmˮɡKƼ!jrɧ|&ZnùةIkNyDB+=Gv,@ ԕJ*u:ԿAL}M} {&*@Or fӕ Acl"%,RZXCAx#Mtvuݬ_7'W;|_PBP 5BP؀P(BOD[vS-{ h*(.B7KYYW]jH,)AU''AFj,YnSN dN^[>utu׿}It)"^=ٟJE'|a6^)ۍtz9 .cYNzk˳OSk=0=a: Ft# 6  =fMr6flo&9o蝠SHo;NJKZ0Ĺ쒖N(4Ŀeko6iҤ&41Ҥ' nZ[==SgvL;¨џ)=la`*9hS}ui*z+&lv}mr,Wa1PZ !wIS6Ļ̑=-auiYlc#o lJڋՁ' @o%ǬH87w\?$+q#'%vuv;s.1D{&QJM7]]*c>79"v{h:^5%\O_N#5Ӱ׻ZOT%Nk91LYX05Uի2ER%wIV[~#S>sRx+TU5wZ.ñ@J]>`Ϫ8fpÑ@PBx@<ՏՏzH=^a04VPWa@& 0 #oyn_}9텷9[[BN)uoRZ+Y J#h륹+zi*\L4< ^p:ug\upe_gO;NziLQ/#|iғKQh>>(nĭB?Rz%%.W_2q,yuٵ<vz#䛁4p?U8ݝzw)WW/g(Yz: cA$(s p'QOi]Y~mg?Aօl}#YrVM6`\YNcJ|a ;Winio&U~${P?~R-=i;{9i{2Uדז/rz+H\s$WzEr[T^CGɏ՞#(W֮5$ܒ˲'JCCEme[c?knZ(7A(JzX]ruqp s- S+bH *كZ!=Z1RI*Yl {ÞK=jZ=_ ꭷr/\`5PI=ik'~>]OE5*3yr餃=r /o'>4L yqğ$F$_K|2Mr,lB(#<@}@D>KsI~ɩ$g!9*}, "~KiȗOciRG#:Zgvp)nZe]|jo'Yz=4=:yK_jG'U#i8 UBdI $WlpYLYf$\L'R1yS;NNrr9v &ʒ "ﮗVmGx#_D3@ޓd-;d:w#|tr Z1TRj}Uz`eW ~a^+[I:Cr~&@xyѽ%(//&oOv켌x)d.٤x"ժ{1DBr_~.tQvQ]Ie֡Ե%kE_bhMS$>` o42MwܠOpW{*Şm{| ]7r8L620&^22d!,"^:1y,86ߜ7fHl'CsFBc#ɟvb9q7k.Å3\րv׹70W׾ +pġbp A֞%p=_XFg_ |zB<<5$Ui+]XB = {{1o#Iw9$)pJwa i4PTո(m g1\ĚRGr  /p?`ܘ$,B2w.wWL,^{ɸ^Ys5CM œ+JtSR:-/$SjU'}NCT$RȘTS T#gjqz.Էϣ2SwK}xaXrzȩSt)}攎8ϝQS:FZsx=lyl=jy]z q/Ɩ`|/.Q+0uSq䛪+dյZhW_/Uu#x- `қ@} ܈噺 zoZBgGD1߿ї-hAg,nY[͗=#-K}hxWU,X8`fe-+bS46`Y1+a"l5[ֲlĶl};8;N3,;jtu}y15o6~ʻ<{`>~??G?$>?O'S|?ß|_WM ?k-W5EZSk5Zh!ZfZK-RҢNݦݮ i/DY"Gy@1YL 1["DbX+6Mb.vB~1\΂pý ca233jDH>Q, 8a16 )l c1hg;{==ɞD/2O4{gp5ylxl!4fϳ^"{|* K^f/CS {k`o@sm@ {{=h>`g!}>P)s|_/Ⱦf_}˾3''DwВ}ϾVDRu`ѥ![/6nx-y{l;Ж'DhǓx<:T y:ON<wTn^w|,$B^]8>C'@w>O|2 w"^|* )|=t>z|xgِЇ!/⋠/_—@?^ˠ?_W@_=|& -| d;`w}|7 Yh0WJU j^ 9?C~c ' OS0g (~_<~_ :t 45j^qC%0[i1Fbx戇C0W<*g$1 Jc1'|x,X 9P`X(sy<,/yxUb,/T"^k5(o7`&rSmX!JBb6.l.[Rl3vݬU*V#;N<.Nv~'^?Cp>B<|0wCƿ_o?<̯S`L2,-GA"[ "_x1QL3E( bQ*rFfU=Qɀo%Gmz,a5a=ކޖPގPޞPށPޑPމPO(P@(PޙP~ NBy"+.By;n$RS= ބ4B^B^:!/!!?!/w!om -v/m>B[m0-6ЖChJhFhNhAhI,YKZ)6=˞cK2^go]>}>a/Wi4v^Ǟy»<>ga</zo[G|?(?O,e^˾5wykZ,@>m? {`1TAxB<%ψgsbX&V:x])đB w-wB }apBg" }VHBE }6B_ /ךq6vtHHDH'$FHL $NHLH؅x'!1ؕ؍x!1؝؃x7!1)Ǟ^Tcoc3=3ُٟٗ{ { B ل!BPB0BpBBHBh.!t!4:OC- OKo{8y2 pNA \ .gdwoDm߬ >tiP'~\}Goꓓx&ګ+Ǐ.οr~_5ݛw{6+LMMyHwծ`c3n=_j{U{W ̃KW(Ee+bvn}kϿΧ*goĢ3h:gyPT}ˈǽF^xD79uf ;3g| w^GqWv([s'cŒwng=*9-BC/u?m S1F֔~bᗳ~جhWC5a̧M;m-/ ^5'x-Oyb[6 TSf锩^_dهW>Dm {~miuXiѺsx>ox![>=wJoXGVDEE+mv>-mm {VFNl?.mi|_qx˶)?|S0M/uthtǘLΖ;-HB}[U,+= F)m>&8tYyo[H\zo>q+O7\+ݰ5}g&QB'ɮz/*LPnOrͤ\ TWSRF(1MzkюWF=pJ- +ի0Y<'+Xmh{Q>lS&Vt5J7=@ۃ-qnӜ\no4|w{`0tnv< d"3%ۺeEEQ"N_P$v-nx_F%Y@ }\C@Gރursj=D.ע-4&Q]76d}āFUd嚞7^8Q@3C+a'-UkB=;:ip82 [U`cv ZS+7M Hx8f@Gy\آɆ :0>ix~=m ނ#/TdȠu$$?A9Y[8]yySS. O5?P@[%$VMsi'8qvݐ8GݍEvh+ֳʮ-d=' ̞eNN ^n #1o٪w ?4V )5:oς =Ւr'6k0hg!Ns3x<6)݅%s`mA.S[!T6ʘxЬwP RyI$dw-Bc1CCΆb. it:*8|M DCEDy(BRD5r-Ư hrC cA+?ɨ:hխ>eAL@V^v3U T釲F16 adv&s R{XU}8RɂL5#{$D@b[XXeI Y9*R>TZJm`u*ƗjyXFuσ`YKgG9֩7e7h8,PD7)`eѫjU;aS o@/wYjO=) f +$jN>Ѣ/_1:k^JL,2ГpUy|<#<"yO ؓGRL&1?],'?dl=PDE_CU_[(-&,%-(,&#?͉9 NCu[B!%=Ww^6)ci0jm-$[yFviV eЋjeMBAo|7>-j߈ń0'ZbLPrsy|G7wf7rB>x`Gיn%H=bP*1= GT|k Y_Ҡ 4rLz' +xn6gsInūfh更(%YH'~6w9vkAA U1ڷT+#Lc0R7^|Sդ/d" a?o#@B~>/&)!|;~4,2%Q MLh/itk-57M S݉~?*#E YQ$oE3DAʯJ'^J 0;f6D 09wwIkf =۫!=^"㓭GJBOXwn0{_Uu zX@蛆І+✙uQ=So5amE&ArmX@5UW  S_ qkAެS~+%(QM:ݛ' x~?Ylh?[;C 琿ƔnxOY\rq~Fd@ό!RC[J̑z']aMxWLx\ !c`eZE:CP|E| ^ꑿң Q5s+S M\7. endstream endobj 33 0 obj <>stream hWmo6+K-)E;/k. kG2lekHIe;u%N|;J9`/@st4]` jpL6q-p)9wc010G{FMH|(4*"V( ~ Rs .mHmc@L‡џy.Ży^E>Ŧ^̫yZO(v~8 rH)k&ьu‘TD[J&6A϶m8K%cmPdopFFS'eBNO û} %ۭɞ̯D ʬK6ōf*x7%SV6eSO7(B- W\~VQ|.Vu&є*pmG3/ꝟ<+ki#:>v Z,* TAP:2[Cx4g1+#(al1/56p&bFGrR$A3R/.9dOIcZolYg?׍ppv/oMkh':<9DkNpo$݌_ݳvj{[XyW;'8›߂kVrStb/u>OY_-2} ц-'">2z5!8#}M=(ϸ]#‘#K f' Qj۴A?*\#d_A jэh5MpSK;VQ4CQ9Mp.AdzqyuE.uا1T{Y]L:@Ҏik!grF5}BbɅDa!I|j[i-m;D[a!4azr>stream hߎ\E_ޠ+Hh%BH\rId4j:L%7p3]iIR⏒rjRk[Kd)5%%IJ[R$wKv)#XN&mERoIGvͮJR$7KElid%6W-n#O#Q,7MUsc]ɩRXW̶47֕j^WsE\q岮r]W\+Wn+uŕc]q5f[[cVq7 3pQOdO窉^Ƙ*Jkh^ԼDK(!ʞI7\Rp&ٕ[γ2])kٕ ՋҗjV7f\_f??I.nPW^g[Hg{ln^evEfd ŕKs2;K+:]tvVm2}\ٷ%<'奺o8u7MOcv7>s,mvs͞/}{MGOvO0{+==:4q>鰻:<[\?_/VJ2yNbaiI4vur;՘_1] jwt<ϲF?vWgݗ͏{7Ox?7~y8ϻn/N׻on^9{￾{ʇ? M/ouw{swzɚ ퟝ4no67ۍ\-kc Q[Ɩ%hz^ov)<񼔀,i<;O=AO==AOГQMAEPTAgzg\ݞ)&NӼW^epwݫ|}{x%WئLdFd2e"D,Y^FW+ z`A XV+`%^EWk5z ^ZnRJnB\'r]vMMp'%0% MMMMMMMMMMMMMMMMMMMM/))))))))))))))))))((((((((((膈FFFFFF " " " " " " " " " " " " " " " " " " "hi|ˆˆˆˆˆˆˆˆ b b b b b b b"O F F F F F F F F F F F FL3611111111F D D D D D D D D D D D D D D D D D^* ########׈]S11111111111111 'כ6Z,s6abk%Aboԏ 1?'g6wmg:6>͙-}#[bbQ]~~L5IxC{wϏޤb 9D7;/iH@K$vG#C5p5\s \5p5\s \5p-\G1w{ט{)Z`]%XX VV`m%X C1Jrp 5&8(1Jr3Qt"Ci(: E'b=FaQc=FaQc=HaR؃ =HaR# < endstream endobj 35 0 obj <>stream hޔU@ AcwW:]GEs:рQCwh8/zf+,7Oix<>yQ۰v,m 6B fsiƕjܲm[ոc]vw܎~)NA1h(/|6vc8 0 ^ۻodhɞ1E%◈"~jj.j>jNCu: iNCuP4TCu:TC۪o[;sb@1w ܁;Psj@5w܁;Psj@5w܁;Psj@#8Nq8S)Gp#8Nu:STGp#8Nu:S>stream hޔI D_]+!HF@"ٕbޞlPsjz˭6.hcww7Yo`Mg'mtGm ^߯}aa+>L}zaꧩ_~cqÅ.p19\Ntڿet%.tIK:]钖KfOS/S?L4oSLuyـ]"qå.p9 :\NNt%.tIK:]rI%-dcD9FdcD9FdcD;FcD;FcD;FcD;FcD r/i   endstream endobj 37 0 obj <>stream hޔJ1_ $ݰAvEUY5z*4_U C%sQtH#6v r(w|0炔Uj 5NxƒLE%[L!ہ]4 pؐ VBMoe"Vڗ酤Lt(|}>stream application/pdf Gerald Muething Preliminary SPEC for WINMORcodec 2015-07-01T03:23:14-04:00 Microsoft® Word 2010 2015-10-05T14:25:19+02:00 2015-10-05T14:25:19+02:00 Microsoft® Word 2010 uuid:14027327-4024-4f2c-b0fe-b247e0345854 uuid:e6e2d3bb-641a-4a6f-a4ae-81c469068f69 endstream endobj 39 0 obj <>stream h2P0Pw/+Q04L)610 )I0i1PPy%2(72PDT$S endstream endobj 40 0 obj <>stream ht @_J,90~o,C%yEof?;j4nFqVyGS D &21wofSxsOHe&Oo̬q~avt77)~VC?4Ǔ&cuT/> endstream endobj 41 0 obj <>/Filter/FlateDecode/ID[<0BAF2BE1EC018C4DBC66AD3357A877D4>]/Info 399 0 R/Length 203/Root 401 0 R/Size 400/Type/XRef/W[1 3 1]>>stream hbb&FF L n w: 8H@1,"$*["R`%0[D -_Az3u5IJ>fH*}8X#?\Vsd&C)X$D.y a= bHr\ V vc`Al0hO$Qr8sGaMWhdzv!@ !K endstream endobj startxref 116 %%EOF wl2k-go-0.9.0/fbb/000077500000000000000000000000001414214701500135325ustar00rootroot00000000000000wl2k-go-0.9.0/fbb/b2f.go000066400000000000000000000372701414214701500145430ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bufio" "bytes" "errors" "fmt" "io" "log" "mime" "strconv" "strings" "time" "github.com/la5nta/wl2k-go/transport" ) var ErrOffsetLimitExceeded error = errors.New("Protocol does not support offset larger than 6 digits") const ( ProtocolOffsetSizeLimit = 999999 MaxBlockSize = 5 // Paclink-unix uses 250, protocol maximum is 255, but we use 125 to allow use of AX.25 links with a paclen of 128. // TODO: Consider setting this dynamically. MaxMsgLength = 125 ) const ( cmdPrefix = 'F' cmdPrompt = '>' cmdNoMoreMessages = 'F' cmdQuit = 'Q' cmdPropAnswer = 'S' cmdPropA = 'A' cmdPropB = 'B' cmdPropC = 'C' // Wl2k extended B2 message cmdPropD = 'D' // Gzip compressed B2 message (GZIP_EXPERIMENT) ) const ( _CHRNUL byte = 0 _CHRSOH = 1 _CHRSTX = 2 _CHREOT = 4 ) func (s *Session) handleOutbound(rw io.ReadWriter) (quitSent bool, err error) { var sent map[string]bool // Send outbound messages if len(s.outbound()) > 0 { sent, err = s.sendOutbound(rw) if err != nil { return } } // Report rejected now, they can safely be omitted even if an error occures for mid, rej := range sent { if rej { s.h.SetSent(mid, rej) delete(sent, mid) } } // If all messages was deferred/rejected, we should propose new messages if len(sent) == 0 && len(s.outbound()) > 0 { return s.handleOutbound(rw) } // Handle session turnover switch { case len(sent) > 0: // Turnover is implied case s.remoteNoMsgs && len(sent) == 0: s.pLog.Print(">FQ") fmt.Fprint(rw, "FQ\r") quitSent = true return // No need to check for remote error since we did not send any messages default: s.pLog.Print(">FF") fmt.Fprint(rw, "FF\r") } // Error reporting from remote is not defined by the protocol, // but usually indicated by sending a line prefixed with '***'. // The only valid bytes (according to protocol) after a session // turnover is 'F' or ';', so we use those to confirm the block // was successfully received. var p []byte if p, err = s.rd.Peek(1); err != nil { return } else if p[0] != 'F' && p[0] != ';' { var line string line, err = s.nextLine() if err != nil { return } err = fmt.Errorf("Unexpected response: '%s'", line) return } // Report successfully sent messages for mid, rej := range sent { s.h.SetSent(mid, rej) if !rej { s.trafficStats.Sent = append(s.trafficStats.Sent, mid) } } return } func (s *Session) sendOutbound(rw io.ReadWriter) (sent map[string]bool, err error) { sent = make(map[string]bool) // Use this to keep track of sent (rejected or not) mids. var checksum int64 outbound := s.outbound() if len(outbound) > MaxBlockSize { outbound = outbound[0:MaxBlockSize] } for _, prop := range outbound { sp := fmt.Sprintf("F%c %s %s %d %d %d", prop.code, // Proposal code prop.msgType, // Message type (1 or 2 alphanumeric) prop.mid, // Max 12 characters prop.size, // Uncompressed size of message prop.compressedSize, // Compressed size of message 0) // ? s.pLog.Printf(">%s", sp) fmt.Fprintf(rw, "%s\r", sp) for _, c := range sp { checksum += int64(c) } checksum += int64('\r') } checksum = (-checksum) & 0xff s.log.Printf(`Sending checksum %02X`, checksum) fmt.Fprintf(rw, "F> %02X\r", checksum) var reply string for reply == "" { line, err := s.nextLine() switch { case err != nil: return sent, err case strings.HasPrefix(line, "FS "): reply = line // The expected proposal answer case strings.HasPrefix(line, ";"): continue // Ignore comment default: return sent, fmt.Errorf("Expected proposal answer from remote. Got: '%s'", reply) } } if err = parseProposalAnswer(reply, outbound, s.log); err != nil { return sent, fmt.Errorf("Unable to parse proposal answer: %w", err) } if len(outbound) == 0 { return } if r, ok := rw.(transport.Robust); ok && s.robustMode == RobustAuto { r.SetRobust(false) defer r.SetRobust(true) } for _, prop := range outbound { switch prop.answer { case Defer: s.h.SetDeferred(prop.mid) case Reject: sent[prop.mid] = true case Accept: if err = s.writeCompressed(rw, prop); err != nil { return } sent[prop.mid] = false } } return } func (s *Session) handleInbound(rw io.ReadWriter) (quitReceived bool, err error) { var ourChecksum int64 proposals := make([]*Proposal, 0) var nAccepted int Loop: for { var line string line, err = s.nextLine() if err != nil { return } // Ignore comments and empty lines if line == "" || line[0] == ';' { continue } // The line should be prefixed F? (? is the command character) if len(line) < 2 || line[0] != 'F' { return false, fmt.Errorf("Got unexpected protocol line: '%s'", line) } switch line[:2] { case "FA", "FB", "FC", "FD": // Proposals for _, c := range line { ourChecksum += int64(c) } ourChecksum += int64('\r') prop := new(Proposal) if err = parseProposal(line, prop); err != nil { err = fmt.Errorf("Unable to parse proposal: %w", err) return } proposals = append(proposals, prop) case "FF": // No more messages break Loop case "FQ": // Quit quitReceived = true break Loop case "F>": // Prompt (end of proposal block) // Verify checksum ourChecksum = (-ourChecksum) & 0xff their, _ := strconv.ParseInt(line[3:], 16, 64) if their != ourChecksum { err = errors.New(fmt.Sprintf(`Checksum error (%d-%d)`, ourChecksum, their)) return } // If we didn't get any proposals, return if len(proposals) == 0 { return } // Answer proposal s.log.Printf(`%d proposal(s) received`, len(proposals)) nAccepted, err = s.writeProposalsAnswer(rw, proposals) if err != nil { return quitReceived, err } if nAccepted > 0 { break Loop // Session turn over is implied after receiving the messages } // Continue receiving proposals if all where rejected/deferred return s.handleInbound(rw) default: //TODO: Ignore? return false, fmt.Errorf("Unknown protocol command %c", line[1]) } } if quitReceived && nAccepted > 0 { return true, errors.New("Got quit command when inbound proposals were pending") } // Fetch and decompress accepted s.remoteNoMsgs = true for _, prop := range proposals { if prop.answer != Accept { continue } s.remoteNoMsgs = false var msg *Message if err = s.readCompressed(rw, prop); err != nil { return } else if msg, err = prop.Message(); err != nil { return } if err = s.h.ProcessInbound(msg); err != nil { return } s.trafficStats.Received = append(s.trafficStats.Received, prop.MID()) } return } // The B2F protocol does not support offsets larger than 6 digits, the author of the protocol // seems to have thrown away the idea of supporting transfer of fragmented messages. // // If we ever want to support requests of message with offset, we must guard against asking for // offsets > 999999. RMS Express does not do this (in Winmor P2P anyway), we must avoid that pitfall. func (s *Session) writeProposalsAnswer(rw io.ReadWriter, proposals []*Proposal) (nAccepted int, err error) { answers := make([]byte, len(proposals)) seen := make(map[string]bool) for i, prop := range proposals { if seen[prop.MID()] { // Radio Only gateways will sometimes send multiple proposals for the same MID in the same batch. // Instead of rejecting them right away, let's defer the dups until we know we have sucessfully received at least one of the copies. s.log.Printf("Defering duplicate message %s", prop.MID()) prop.answer = Defer } else if prop.code != Wl2kProposal && prop.code != GzipProposal { s.log.Printf("Defering %s (unsupported format)", prop.MID()) prop.answer = Defer } else if s.h == nil { s.log.Printf("Defering %s (missing handler)", prop.MID()) prop.answer = Defer } else if prop.answer = s.h.GetInboundAnswer(*prop); prop.answer == Accept { s.log.Printf("Accepting %s", prop.MID()) //TODO: Remove? nAccepted++ } seen[prop.MID()] = true answers[i] = byte(prop.answer) } _, err = fmt.Fprintf(rw, "FS %s\r", answers) return } // Parses the proposal answer (str) and updates the proposals given (in that order) func parseProposalAnswer(str string, props []*Proposal, l *log.Logger) error { str = strings.TrimPrefix(str, "FS ") var c byte for i := 0; len(str) > 0; i++ { if i >= len(props) { return errors.New("Got answer for more proposals than expected") } prop := props[i] c, str = str[0], str[1:] switch c { case 'Y', 'y', '+': if l != nil { l.Printf("Remote accepted %s", prop.MID()) } prop.answer = Accept case 'N', 'n', 'R', 'r', '-': if l != nil { l.Printf("Remote already received %s", prop.MID()) } prop.answer = Reject case 'L', 'l', '=', 'H', 'h': if l != nil { l.Printf("Remote defered %s", prop.MID()) } prop.answer = Defer case 'A', 'a', '!': idx := strings.LastIndexAny(str, "0123456789") if idx < 0 { return errors.New("Got offset request without offset index") } prop.answer = Accept // Offset is not implemented as a ProposalAnswer prop.offset, _ = strconv.Atoi(str[:idx+1]) str = str[idx+1:] if prop.offset > ProtocolOffsetSizeLimit { // RMS Express does this (in Winmor P2P for sure) prop.offset = 0 if l != nil { l.Printf( "Remote requested %s at offset %d which exceeds the binary protocol offset limit. Ignoring offset.", prop.MID(), prop.offset, ) } } else if l != nil { l.Printf("Remote accepted %s at offset %d", prop.MID(), prop.offset) } default: return fmt.Errorf("Invalid character (%c) in proposal answer line", c) } } return nil } func (s *Session) writeCompressed(rw io.ReadWriter, p *Proposal) (err error) { s.log.Printf("Transmitting [%s] [offset %d]", p.title, p.offset) if p.code == GzipProposal { s.log.Println("GZIP_EXPERIMENT:", "Transmitting gzip compressed message.") } writer := bufio.NewWriter(rw) var ( title = mime.QEncoding.Encode("utf-8", p.title) // Word-encode the title since this field must be ASCII-only offset = fmt.Sprintf("%d", p.offset) length = len(title) + len(offset) + 2 checksum int64 ) writer.Write([]byte{_CHRSOH, byte(length)}) writer.WriteString(title) // Max 80 bytes, min 1 byte writer.WriteByte(_CHRNUL) writer.WriteString(offset) // Max 6 bytes, min 1 byte. Highest supported offset is 1MB-1B. writer.WriteByte(_CHRNUL) writer.Flush() if p.compressedSize < 6 { // lzhuf's smallest valid length (empty) return errors.New(`Invalid compressed data`) } buffer := bytes.NewBuffer(p.compressedData[p.offset:]) // Update Status of message transfer every 250ms statusTicker := time.NewTicker(250 * time.Millisecond) statusDone := make(chan struct{}) go func() { for { select { case <-statusTicker.C: if s.statusUpdater == nil || buffer == nil { continue } // Take into account that the modem has an internal tx buffer (if possible). var txBufLen int if b, ok := rw.(transport.TxBuffer); ok { txBufLen = b.TxBufferLen() } transferred := p.compressedSize - buffer.Len() - txBufLen if transferred < 0 { transferred = 0 } if s.statusUpdater != nil { s.statusUpdater.UpdateStatus(Status{ Sending: p, BytesTransferred: transferred, BytesTotal: p.compressedSize, }) } case <-statusDone: if s.statusUpdater != nil { s.statusUpdater.UpdateStatus(Status{ Sending: p, BytesTransferred: p.compressedSize - buffer.Len(), BytesTotal: p.compressedSize, Done: true, }) } return } } }() defer func() { close(statusDone) }() // Data (in chunks of max 250) for buffer.Len() > 0 { msgLen := MaxMsgLength if buffer.Len() < MaxMsgLength { msgLen = buffer.Len() } if _, err = writer.Write([]byte{_CHRSTX, byte(msgLen)}); err != nil { return err } for i := 0; i < msgLen; i++ { c, _ := buffer.ReadByte() if err := writer.WriteByte(c); err != nil { return err } checksum += int64(c) } if err = writer.Flush(); err != nil { return err } } // Checksum checksum = -checksum & 0xff _, err = writer.Write([]byte{_CHREOT, byte(checksum)}) err = writer.Flush() // Flush connection buffers. // This enables us to block until the whole message has been transmitted over the air. if f, ok := rw.(transport.Flusher); ok { err = f.Flush() } statusTicker.Stop() return err } func (s *Session) readCompressed(rw io.ReadWriter, p *Proposal) (err error) { var ( ourChecksum int buf bytes.Buffer ) var c byte if c, err = s.rd.ReadByte(); err != nil { return } switch c { case _CHRSOH: // what we expected... case '*': line, _ := s.nextLine() return errors.New(fmt.Sprintf(`Got error from CMS: %s`, line)) default: return errors.New(fmt.Sprintf(`First byte not as expected, got %d`, int(c))) } if c, err = s.rd.ReadByte(); err != nil { return } headerLength := int(c) // Read proposal title. title, err := s.rd.ReadString(_CHRNUL) if err != nil { return fmt.Errorf("Unable to parse title: %w", err) } title = title[:len(title)-1] // Remove _CHRNUL // The proposal title should be ASCII-only according to the protocol specification. Since RMS Express and CMS puts // the raw subject header here, we need to handle this by decoding it the same way as the subject header. p.title, _ = new(WordDecoder).DecodeHeader(title) // Read offset part var offsetStr string if offsetStr, err = s.rd.ReadString(_CHRNUL); err != nil { return fmt.Errorf("Unable to parse offset: %w", err) } else { offsetStr = offsetStr[:len(offsetStr)-1] } // Check overall length of header actualHeaderLength := (len(title) + len(offsetStr)) + 2 if headerLength != actualHeaderLength { return errors.New(fmt.Sprintf(`Header length mismatch: expected %d, got %d`, headerLength, actualHeaderLength)) } // Parse offset as integer (and do some sanity checks) offset, err := strconv.Atoi(offsetStr) switch { case err != nil: return fmt.Errorf("Offset header not parseable as integer: %w", err) case offset != p.offset: return fmt.Errorf(`Expected offset %d, got %d`, p.offset, offset) } s.log.Printf("Receiving [%s] [offset %d]", p.title, p.offset) if p.code == GzipProposal { s.log.Println("GZIP_EXPERIMENT:", "Receiving gzip compressed message.") } statusUpdate := make(chan struct{}) go func() { for { _, ok := <-statusUpdate if s.statusUpdater != nil { s.statusUpdater.UpdateStatus(Status{ Receiving: p, BytesTransferred: buf.Len(), BytesTotal: p.compressedSize, Done: !ok, }) } if !ok { return } } }() defer func() { close(statusUpdate) }() updateStatus := func() { select { case statusUpdate <- struct{}{}: default: } } for { updateStatus() c, err = s.rd.ReadByte() if err != nil { return err } switch c { case _CHRSTX: c, _ := s.rd.ReadByte() length := int(c) if length == 0 { length = 256 } for i := 0; i < length; i++ { c, err = s.rd.ReadByte() if err != nil { return } buf.WriteByte(c) ourChecksum = (ourChecksum + int(c)) % 256 if i%10 == 0 { updateStatus() } } case _CHREOT: c, _ = s.rd.ReadByte() ourChecksum = (ourChecksum + int(c)) % 256 if ourChecksum != 0 { return errors.New(`Bad checksum`) } else if p.compressedSize != buf.Len() { return errors.New(`Length mismatch after EOT`) } else { p.compressedData = buf.Bytes() } return default: return errors.New(`Unexpected byte in compressed stream: ` + string(c)) } } } wl2k-go-0.9.0/fbb/b2f_test.go000066400000000000000000000022251414214701500155720ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import "testing" func TestParseProposalAnswer(t *testing.T) { tests := map[string][]*Proposal{ "FS YLA3350RH": []*Proposal{ &Proposal{answer: Accept}, // Y &Proposal{answer: Defer}, // L &Proposal{ answer: Accept, offset: 3350, }, // A3350 &Proposal{answer: Reject}, // R &Proposal{answer: Defer}, // H }, "FS +=!3350-+": []*Proposal{ &Proposal{answer: Accept}, // + &Proposal{answer: Defer}, // = &Proposal{ answer: Accept, offset: 3350, }, // !3350 &Proposal{answer: Reject}, // - &Proposal{answer: Accept}, // + }, } for input, expected := range tests { got := []*Proposal{&Proposal{}, &Proposal{}, &Proposal{}, &Proposal{}, &Proposal{}} if err := parseProposalAnswer(input, got, nil); err != nil { t.Fatalf("Got error from parser func: %s", err) } for i, exp := range expected { if exp.answer != got[i].answer { t.Errorf("Test %d: expected %c got %c", i, exp.answer, got[i].answer) } } } } wl2k-go-0.9.0/fbb/handshake.go000066400000000000000000000143201414214701500160070ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bufio" "errors" "fmt" "io" "os" "regexp" "strings" ) var ErrNoFB2 = errors.New("Remote does not support B2 Forwarding Protocol") // IsLoginFailure returns a boolean indicating whether the error is known to // report that the secure login failed. func IsLoginFailure(err error) bool { if err == nil { return false } errStr := strings.ToLower(err.Error()) return strings.Contains(errStr, "secure login failed") } func (s *Session) handshake(rw io.ReadWriter) error { if s.master { // Send MOTD lines for _, line := range s.motd { fmt.Fprintf(rw, "%s\r", line) } if err := s.sendHandshake(rw, ""); err != nil { return err } } hs, err := s.readHandshake() if err != nil { return err } // Did we get SID codes? if hs.SID == "" { return errors.New("No sid in handshake") } s.remoteSID = hs.SID s.remoteFW = hs.FW if !s.master { return s.sendHandshake(rw, hs.SecureChallenge) } else { return nil } } type handshakeData struct { SID sid FW []Address SecureChallenge string } func (s *Session) readHandshake() (handshakeData, error) { data := handshakeData{} for { if bytes, err := s.rd.Peek(1); err != nil { return data, err } else if bytes[0] == 'F' && s.master { return data, nil // Next line is a protocol command, handshake is done } // Ignore remote errors here, as the server sometimes sends lines like // '*** MTD Stats Total connects = 2580 Total messages = 3900', which // are not errors line, err := s.nextLineRemoteErr(false) if err != nil { return data, err } //REVIEW: We should probably be more strict on what to allow here, // to ensure we disconnect early if the remote is not talking the expected // protocol. (We should at least allow unknown ; prefixed lines aka "comments") switch { // Header with sid (ie. [WL2K-2.8.4.8-B2FWIHJM$]) case isSID(line): data.SID, err = parseSID(line) if err != nil { return data, err } // Do we support the remote's SID codes? if !data.SID.Has(sFBComp2) { // We require FBB compressed protocol v2 for now return data, ErrNoFB2 } case strings.HasPrefix(line, ";FW"): // Forwarders data.FW, err = parseFW(line) if err != nil { return data, err } case strings.HasPrefix(line, ";PQ"): // Secure password challenge data.SecureChallenge = line[5:] case strings.HasSuffix(line, ">"): // Prompt return data, nil default: // Ignore } } } func (s *Session) sendHandshake(writer io.Writer, secureChallenge string) error { if secureChallenge != "" && s.secureLoginHandleFunc == nil { return errors.New("Got secure login challenge, please register a SecureLoginHandleFunc.") } w := bufio.NewWriter(writer) // Request messages on behalf of every localFW fmt.Fprintf(w, ";FW:") for i, addr := range s.localFW { switch { case secureChallenge != "" && i > 0: // Include passwordhash for auxiliary addresses (required by WL2K-4.x or later) if password, _ := s.secureLoginHandleFunc(addr); password != "" { resp := secureLoginResponse(secureChallenge, password) // In the B2F specs they use space as delimiter, but Winlink Express uses pipe. // I'm not sure space as a delimiter would even work when passwords for aux addresses // are optional (according to the very same document). fmt.Fprintf(w, " %s|%s", addr.Addr, resp) break } // Password is not required for all aux addresses according to Winlink's B2F specs. fallthrough default: fmt.Fprintf(w, " %s", addr.Addr) } } fmt.Fprintf(w, "\r") writeSID(w, s.ua.Name, s.ua.Version) if secureChallenge != "" { password, err := s.secureLoginHandleFunc(s.localFW[0]) if err != nil { return err } resp := secureLoginResponse(secureChallenge, password) writeSecureLoginResponse(w, resp) } fmt.Fprintf(w, "; %s DE %s (%s)", s.targetcall, s.mycall, s.locator) if s.master { fmt.Fprintf(w, ">\r") } else { fmt.Fprintf(w, "\r") } return w.Flush() } func parseFW(line string) ([]Address, error) { if !strings.HasPrefix(line, ";FW: ") { return nil, errors.New("Malformed forward line") } fws := strings.Split(line[5:], " ") addrs := make([]Address, 0, len(fws)) for _, str := range strings.Split(line[5:], " ") { str = strings.Split(str, "|")[0] // Strip password hashes (unsupported) addrs = append(addrs, AddressFromString(str)) } return addrs, nil } type sid string const localSID = sFBComp2 + sFBBasic + sHL + sMID + sBID // The SID codes const ( sAckForPM = "A" // Acknowledge for person messages sFBBasic = "F" // FBB basic ascii protocol supported sFBComp0 = "B" // FBB compressed protocol v0 supported sFBComp1 = "B1" // FBB compressed protocol v1 supported sFBComp2 = "B2" // FBB compressed protocol v2 (aka B2F) supported sHL = "H" // Hierarchical Location designators supported sMID = "M" // Message identifier supported sCompBatchF = "X" // Compressed batch forwarding supported sI = "I" // "Identify"? Palink-unix sends ";target de mycall QTC n" when remote has this sBID = "$" // BID supported (must be last character in SID) sGzip = "G" // Gzip compressed messages supported (GZIP_EXPERIMENT) ) func gzipExperimentEnabled() bool { return os.Getenv("GZIP_EXPERIMENT") == "1" } func writeSID(w io.Writer, appName, appVersion string) error { sid := localSID if gzipExperimentEnabled() { sid = sid[0:len(sid)-1] + sGzip + sid[len(sid)-1:] } _, err := fmt.Fprintf(w, "[%s-%s-%s]\r", appName, appVersion, sid) return err } func writeSecureLoginResponse(w io.Writer, response string) error { _, err := fmt.Fprintf(w, ";PR: %s\r", response) return err } func isSID(str string) bool { return strings.HasPrefix(str, `[`) && strings.HasSuffix(str, `]`) } func parseSID(str string) (sid, error) { code := regexp.MustCompile(`\[.*-(.*)\]`).FindStringSubmatch(str) if len(code) != 2 { return sid(""), errors.New(`Bad SID line: ` + str) } return sid( strings.ToUpper(code[len(code)-1]), ), nil } func (s sid) Has(code string) bool { return strings.Contains(string(s), strings.ToUpper(code)) } wl2k-go-0.9.0/fbb/handshake_test.go000066400000000000000000000023231414214701500170460ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "fmt" "io" "reflect" "testing" ) func TestParseFW(t *testing.T) { tests := map[string][]Address{ ";FW: LA5NTA": []Address{AddressFromString("LA5NTA")}, ";FW: LE1OF": []Address{AddressFromString("LE1OF")}, ";FW: LE1OF LA5NTA": []Address{AddressFromString("LE1OF"), AddressFromString("LA5NTA")}, ";FW: la4tta": []Address{{Addr: "LA4TTA"}}, } for input, expected := range tests { got, err := parseFW(input) if err != nil { t.Errorf("Got unexpected error while parsing '%s': %s", input, err) } else if !reflect.DeepEqual(got, expected) { t.Errorf("Expected %s, got %s", expected, got) } } } func TestIsLoginFailure(t *testing.T) { tests := map[error]bool{ fmt.Errorf("[1] Secure login failed - account password does not match. - Disconnecting (88.90.2.192)"): true, io.EOF: false, io.ErrUnexpectedEOF: false, } for err, expect := range tests { if got := IsLoginFailure(err); got != expect { t.Errorf("'%s' - Expected %t got %t", err.Error(), expect, got) } } } wl2k-go-0.9.0/fbb/header.go000066400000000000000000000114421414214701500153130ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bytes" "errors" "fmt" "io" "io/ioutil" "mime" "net/textproto" "sort" "strings" "unicode/utf8" "github.com/paulrosania/go-charset/charset" _ "github.com/paulrosania/go-charset/data" ) // This file contains code from from net/http/header.go // Common Winlink 2000 Message headers const ( HEADER_MID = `Mid` HEADER_TO = `To` HEADER_DATE = `Date` HEADER_TYPE = `Type` HEADER_FROM = `From` HEADER_CC = `Cc` HEADER_SUBJECT = `Subject` HEADER_MBO = `Mbo` HEADER_BODY = `Body` HEADER_FILE = `File` // These headers are stripped by the winlink system, but let's // include it anyway... just in case the winlink team one day // starts taking encoding seriously. HEADER_CONTENT_TYPE = `Content-Type` HEADER_CONTENT_TRANSFER_ENCODING = `Content-Transfer-Encoding` // The default body charset seems to be ISO-8859-1 // // The Winlink Message Structure docs says that the body should // be ASCII-only, but RMS Express seems to encode the body as // ISO-8859-1. This is also the charset set (Content-Type header) // when a message reaches an SMTP server. DefaultCharset = "ISO-8859-1" // Mails going out over SMTP from the Winlink system is sent // with the header 'Content-Transfer-Encoding: 7bit', but // let's be reasonable... we don't send ASCII-only body. DefaultTransferEncoding = "8bit" // The date (in UTC) format as described in the Winlink // Message Structure docs (YYYY/MM/DD HH:MM). DateLayout = `2006/01/02 15:04` ) // A Header represents the key-value pairs in a Winlink 2000 Message header. type Header map[string][]string // Add adds the key, value pair to the header. // It appends to any existing values associated with key. func (h Header) Add(key, value string) { textproto.MIMEHeader(h).Add(key, value) } // Set sets the header entries associated with key to // the single element value. It replaces any existing // values associated with key. func (h Header) Set(key, value string) { textproto.MIMEHeader(h).Set(key, value) } // Get gets the first value associated with the given key. // If there are no values associated with the key, Get returns "". // To access multiple values of a key, access the map directly // with CanonicalHeaderKey. func (h Header) Get(key string) string { return textproto.MIMEHeader(h).Get(key) } // get is like Get, but key must already be in CanonicalHeaderKey form. func (h Header) get(key string) string { if v := h[key]; len(v) > 0 { return v[0] } return "" } // Del deletes the values associated with key. func (h Header) Del(key string) { textproto.MIMEHeader(h).Del(key) } // Write writes a header in wire format. func (h Header) Write(w io.Writer) error { var err error // Mid is required if h.get(HEADER_MID) == "" { return errors.New("Missing MID in header") } // Write mid, this is defined to be the first value _, err = fmt.Fprintf(w, "Mid: %s\r\n", h.get(HEADER_MID)) if err != nil { return err } // The rest should be printed in a stable order to ensure reproducibility keys := make([]string, 0, len(h)) for k, _ := range h { if !strings.EqualFold(k, HEADER_MID) { keys = append(keys, k) } } sort.Sort(sort.StringSlice(keys)) for _, key := range keys { for _, v := range h[key] { v = textproto.TrimString(v) _, err = fmt.Fprintf(w, "%s: %s\r\n", key, v) if err != nil { return err } } } return nil } // WordDecoder decodes MIME headers containing RFC 2047 encoded-words. // // (See DecodeHeader for mime.WordDecoder differences). type WordDecoder struct{ mime.WordDecoder } // Decode decodes an encoded-word. // // If word is not a valid RFC 2047 encoded-word, word is decoded as raw ISO-8859-1 as a work-around for RMS Express' non-conforming encoding of the Subject header. func (d *WordDecoder) DecodeHeader(header string) (string, error) { i := strings.Index(header, "=?") if i > -1 { return d.WordDecoder.DecodeHeader(header) } // If there is no encoded-word, the data may be ISO-8859-1 or UTF-8 depending on how CMS decoded it. // // It turns out that if CMS receives a Q-encoded subject it decodes it and forwards it as UTF-8. // If CMS on the other hand receives an SMTP email from gmail, it is enocded as ISO-8859-1. if utf8.Valid([]byte(header)) { return header, nil } r, err := charset.NewReader(DefaultCharset, bytes.NewReader([]byte(header))) if err != nil { return header, err } decoded, _ := ioutil.ReadAll(r) return string(decoded), nil } func toCharset(set, s string) (string, error) { buf := new(bytes.Buffer) w, err := charset.NewWriter(set, buf) if err != nil { return s, err } fmt.Fprint(w, s) w.Close() return buf.String(), nil } wl2k-go-0.9.0/fbb/header_test.go000066400000000000000000000026661414214701500163620ustar00rootroot00000000000000package fbb import "testing" func TestSubjectDecode(t *testing.T) { raw := []byte{0x74, 0x65, 0x73, 0x74, 0x20, 0xe6, 0xf8, 0xe5} // test æøå // RMS Express compatibility test (encodes subject as ISO-8859-1) msg := &Message{Header: Header{"Subject": []string{string(raw)}}} if decoded := msg.Subject(); decoded != "test æøå" { t.Errorf("Subject with no word-encoding not decoded as ISO-8859-1.") } msg.Header["Subject"] = []string{"=?utf-8?q?=C2=A1Hola,_se=C3=B1or!?="} if decoded := msg.Subject(); decoded != "¡Hola, señor!" { t.Errorf("Subject with Q-encoded utf-8 not decoded correctly.") } msg.Header["Subject"] = []string{"=?ISO-8859-1?q?Test_=E6=F8=E5_abc?="} if decoded := msg.Subject(); decoded != "Test æøå abc" { t.Errorf("Subject with Q-encoded ISO-8859-1 not decoded correctly.") } } func TestSubjectEncode(t *testing.T) { msg := &Message{Header: make(Header, 1)} msg.SetSubject("Test æøå abc") if msg.Header["Subject"][0] != "=?ISO-8859-1?q?Test_=E6=F8=E5_abc?=" { t.Errorf("Subject not Q-encoded using ISO-8859-1.") } msg.SetSubject("Test 123 foo bar") if msg.Header["Subject"][0] != "Test 123 foo bar" { t.Errorf("ASCII-only subject modified on encode.") } } func TestSubjectRoundtrip(t *testing.T) { msg := &Message{Header: make(Header, 1)} str := "Hello, æøå" msg.SetSubject(str) if msg.Subject() != str { t.Errorf("Subject encode/decode roundtrip failed. (%s)", msg.Subject()) } } wl2k-go-0.9.0/fbb/helpers.go000066400000000000000000000032151414214701500155240ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bytes" "fmt" "io" "strings" ) type ByDate []*Message func (d ByDate) Len() int { return len(d) } func (d ByDate) Swap(i, j int) { d[i], d[j] = d[j], d[i] } func (d ByDate) Less(i, j int) bool { return d[i].Date().Before(d[j].Date()) } func ReadLine(rd io.Reader) (string, error) { var lineBuffer bytes.Buffer for { buf := make([]byte, 1) n, err := rd.Read(buf) if err != nil { return ``, err } else if n < 1 { continue } if buf[0] == '\n' || buf[0] == '\r' { if lineBuffer.Len() > 0 { return cleanString(string(lineBuffer.Bytes())), nil } continue } else { lineBuffer.WriteByte(buf[0]) } } } func (s *Session) nextLineRemoteErr(parseErr bool) (string, error) { line, err := s.rd.ReadString('\r') if err != nil { return line, err } line = cleanString(line) s.pLog.Println(line) if err := errLine(line); parseErr && err != nil { return "", err } else { return line, nil } } func (s *Session) nextLine() (string, error) { return s.nextLineRemoteErr(true) } func errLine(str string) error { if len(str) == 0 || str[0] != '*' { return nil } idx := strings.LastIndex(str, "*") if idx+1 >= len(str) { return nil } return fmt.Errorf(strings.TrimSpace(str[idx+1:])) } func cleanString(str string) string { str = strings.TrimSpace(str) if len(str) < 1 { return str } if str[0] == byte(0) { str = str[1:] } if str[len(str)-1] == byte(0) { str = str[0 : len(str)-2] } return str } wl2k-go-0.9.0/fbb/helpers_test.go000066400000000000000000000015151414214701500165640ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import "testing" func TestErrLine(t *testing.T) { err := errLine("*** Unable to decompress received binary compressed message - Disconnecting (88.89.220.254)") if err == nil { t.Errorf("Expected error, got nil") } else if err.Error() != "Unable to decompress received binary compressed message - Disconnecting (88.89.220.254)" { t.Errorf("Unexpected error message, got '%s'", err) } err = errLine("FF ***") if err != nil { t.Errorf("Expected no error, got '%s'", err) } err = errLine("* foobar") if err == nil { t.Errorf("Expected error, got nil") } err = errLine("*") if err != nil { t.Errorf("Expected no error, got non nil") } } wl2k-go-0.9.0/fbb/message.go000066400000000000000000000367001414214701500155130ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bufio" "bytes" "encoding/json" "errors" "fmt" "io" "mime" "net/textproto" "strconv" "strings" "time" ) // ValidationError is the error type returned by functions validating a message. type ValidationError struct { Field string // The field/part of the message that is not valid Err string // Description of the error } func (e ValidationError) Error() string { return e.Err } // Representation of a receiver/sender address. type Address struct { Proto string Addr string } // File represents an attachment. type File struct { data []byte name string err error } // Message represent the Winlink 2000 Message Structure as defined in http://winlink.org/B2F. type Message struct { // The header names are case-insensitive. // // Users should normally access common header fields // using the appropriate Message methods. Header Header body []byte files []*File } type MsgType string const ( Private MsgType = "Private" Service = "Service" Inquiry = "Inquiry" PositionReport = "Position Report" Option = "Option" System = "System" ) // Slice of date layouts that should be tried when parsing the Date header. var dateLayouts = []string{ DateLayout, // The correct layout according to Winlink (2006/01/02 15:04). `2006.01.02 15:04`, // Undocumented layout seen when RMS Relay-3.0.27.1 was operating in store-and-forward mode. `2006-01-02 15:04`, // Undocumented layout seen in a Radio Only message forwarded with RMS Relay-3.0.30.0. } // From golang.org/src/net/mail/message.go func init() { // Generate layouts based on RFC 5322, section 3.3. dows := [...]string{"", "Mon, "} // day-of-week days := [...]string{"2", "02"} // day = 1*2DIGIT years := [...]string{"2006", "06"} // year = 4*DIGIT / 2*DIGIT seconds := [...]string{":05", ""} // second // "-0700 (MST)" is not in RFC 5322, but is common. zones := [...]string{"-0700", "MST", "-0700 (MST)"} // zone = (("+" / "-") 4DIGIT) / "GMT" / ... for _, dow := range dows { for _, day := range days { for _, year := range years { for _, second := range seconds { for _, zone := range zones { s := dow + day + " Jan " + year + " 15:04" + second + " " + zone dateLayouts = append(dateLayouts, s) } } } } } } // NewMessage initializes and returns a new message with Type, Mbo, From and Date set. // // If the message type t is empty, it defaults to Private. func NewMessage(t MsgType, mycall string) *Message { msg := &Message{ Header: make(Header), } msg.Header.Set(HEADER_MID, GenerateMid(mycall)) msg.SetDate(time.Now()) msg.SetFrom(mycall) msg.Header.Set(HEADER_MBO, mycall) if t == "" { t = Private } msg.Header.Set(HEADER_TYPE, string(t)) return msg } // Validate returns an error if this message violates any Winlink Message Structure constraints func (m *Message) Validate() error { switch { case m.MID() == "": return ValidationError{"MID", "Empty MID"} case len(m.MID()) > 12: return ValidationError{"MID", "MID too long"} case len(m.Receivers()) == 0: // This is not documented, but the CMS refuses to accept such messages (with good reason) return ValidationError{"To/Cc", "No recipient"} case m.Header.Get(HEADER_FROM) == "": return ValidationError{"From", "Empty From field"} case m.BodySize() == 0: return ValidationError{"Body", "Empty body"} case len(m.Header.Get(HEADER_SUBJECT)) == 0: // This is not documented, but the CMS writes the proposal title if this is empty // (which I guess is a compatibility hack on their end). return ValidationError{HEADER_SUBJECT, "Empty subject"} case len(m.Header.Get(HEADER_SUBJECT)) > 128: return ValidationError{HEADER_SUBJECT, "Subject too long"} } // The CMS seems to accept this, but according to the winlink.org/B2F document it is not allowed: // "... and the file name (up to 50 characters) of the original file." // WDT made an amendment to the B2F specification 2020-05-27: New limit is 255 characters. for _, f := range m.Files() { if len(f.Name()) > 255 { return ValidationError{"Files", fmt.Sprintf("Attachment file name too long: %s", f.Name())} } } return nil } // MID returns the unique identifier of this message across the winlink system. func (m *Message) MID() string { return m.Header.Get(HEADER_MID) } // SetSubject sets this message's subject field. // // The Winlink Message Format only allow ASCII characters. Words containing non-ASCII characters are Q-encoded with DefaultCharset (as defined by RFC 2047). func (m *Message) SetSubject(str string) { encoded, _ := toCharset(DefaultCharset, str) encoded = mime.QEncoding.Encode(DefaultCharset, encoded) m.Header.Set(HEADER_SUBJECT, encoded) } // Subject returns this message's subject header decoded using WordDecoder. func (m *Message) Subject() string { str, _ := new(WordDecoder).DecodeHeader(m.Header.Get(HEADER_SUBJECT)) return str } // Type returns the message type. // // See MsgType consts for details. func (m *Message) Type() MsgType { return MsgType(m.Header.Get(HEADER_TYPE)) } // Mbo returns the mailbox operator origin of this message. func (m *Message) Mbo() string { return m.Header.Get(HEADER_MBO) } // Body returns this message's body encoded as utf8. func (m *Message) Body() (string, error) { return BodyFromBytes(m.body, m.Charset()) } // Files returns the message attachments. func (m *Message) Files() []*File { return m.files } // SetFrom sets the From header field. // // SMTP: prefix is automatically added if needed, see AddressFromString. func (m *Message) SetFrom(addr string) { m.Header.Set(HEADER_FROM, AddressFromString(addr).String()) } // From returns the From header field as an Address. func (m *Message) From() Address { return AddressFromString(m.Header.Get(HEADER_FROM)) } // Set date sets the Date header field. // // The field is set in the format DateLayout, UTC. func (m *Message) SetDate(t time.Time) { m.Header.Set(HEADER_DATE, t.UTC().Format(DateLayout)) } // Date parses the Date header field according to the winlink format. // // Parse errors are omitted, but it's checked at serialization. func (m *Message) Date() time.Time { date, _ := ParseDate(m.Header.Get(HEADER_DATE)) return date } // SetBodyWithCharset translates and sets the body according to given charset. // // Header field Content-Transfer-Encoding is set to DefaultTransferEncoding. // Header field Content-Type is set according to charset. // All lines are modified to ensure CRLF. // // Use SetBody to use default character encoding. func (m *Message) SetBodyWithCharset(charset, body string) error { m.Header.Set(HEADER_CONTENT_TRANSFER_ENCODING, DefaultTransferEncoding) m.Header.Set(HEADER_CONTENT_TYPE, mime.FormatMediaType( "text/plain", map[string]string{"charset": DefaultCharset}, )) bytes, err := StringToBody(body, DefaultCharset) if err != nil { return err } m.body = bytes m.Header.Set(HEADER_BODY, fmt.Sprintf("%d", len(bytes))) return nil } // SetBody sets the given string as message body using DefaultCharset. // // See SetBodyWithCharset for more info. func (m *Message) SetBody(body string) error { return m.SetBodyWithCharset(DefaultCharset, body) } // BodySize returns the expected size of the body (in bytes) as defined in the header. func (m *Message) BodySize() int { size, _ := strconv.Atoi(m.Header.Get(HEADER_BODY)); return size } // Charset returns the body character encoding as defined in the ContentType header field. // // If the header field is unset, DefaultCharset is returned. func (m *Message) Charset() string { _, params, err := mime.ParseMediaType(m.Header.Get(HEADER_CONTENT_TYPE)) if err != nil { return DefaultCharset } if v, ok := params["charset"]; ok { return v } return DefaultCharset } // AddTo adds a new receiver for this message. // // It adds a new To header field per given address. // SMTP: prefix is automatically added if needed, see AddressFromString. func (m *Message) AddTo(addr ...string) { for _, a := range addr { m.Header.Add(HEADER_TO, AddressFromString(a).String()) } } // AddCc adds a new carbon copy receiver to this message. // // It adds a new Cc header field per given address. // SMTP: prefix is automatically added if needed, see AddressFromString. func (m *Message) AddCc(addr ...string) { for _, a := range addr { m.Header.Add(HEADER_CC, AddressFromString(a).String()) } } // To returns primary receivers of this message. func (m *Message) To() (to []Address) { for _, str := range m.Header[HEADER_TO] { to = append(to, AddressFromString(str)) } return } // Cc returns the carbon copy receivers of this message. func (m *Message) Cc() (cc []Address) { for _, str := range m.Header[HEADER_CC] { cc = append(cc, AddressFromString(str)) } return } // Implements ReaderFrom for Message. // // Reads the given io.Reader and fills in values fetched from the stream. func (m *Message) ReadFrom(r io.Reader) error { reader := bufio.NewReader(r) if h, err := textproto.NewReader(reader).ReadMIMEHeader(); err != nil { return err } else { m.Header = Header(h) } // Read body var err error m.body, err = readSection(reader, m.BodySize()) if err != nil { return err } // Read files m.files = make([]*File, len(m.Header[HEADER_FILE])) dec := new(WordDecoder) for i, value := range m.Header[HEADER_FILE] { file := new(File) m.files[i] = file slice := strings.SplitN(value, ` `, 2) if len(slice) != 2 { file.err = errors.New(`Failed to parse file header. Got: ` + value) continue } size, _ := strconv.Atoi(slice[0]) // The name part of this header may be utf8 encoded by Winlink Express. Use WordDecoder to be safe. file.name, _ = dec.DecodeHeader(slice[1]) file.data, err = readSection(reader, size) if err != nil { file.err = err } } // Return error if date field is not parseable if err == nil { _, err = ParseDate(m.Header.Get(HEADER_DATE)) } return err } func readSection(reader *bufio.Reader, readN int) ([]byte, error) { buf := make([]byte, readN) var err error n := 0 for n < readN { m, err := reader.Read(buf[n:]) if err != nil { break } n += m } if err != nil { return buf, err } end, err := reader.ReadString('\n') switch { case n != readN: return buf, io.ErrUnexpectedEOF case err == io.EOF: // That's ok case err != nil: return buf, err case end != "\r\n": return buf, errors.New("Unexpected end of section") } return buf, nil } // Returns true if the given Address is the only receiver of this Message. func (m *Message) IsOnlyReceiver(addr Address) bool { receivers := m.Receivers() if len(receivers) != 1 { return false } return strings.EqualFold(receivers[0].String(), addr.String()) } // Method for generating a proposal of the message. // // An error is returned if the Validate method fails. func (m *Message) Proposal(code PropCode) (*Proposal, error) { data, err := m.Bytes() if err != nil { return nil, err } return NewProposal(m.MID(), m.Subject(), code, data), m.Validate() } // Receivers returns a slice of all receivers of this message. func (m *Message) Receivers() []Address { to, cc := m.To(), m.Cc() addrs := make([]Address, 0, len(to)+len(cc)) if len(to) > 0 { addrs = append(addrs, to...) } if len(cc) > 0 { addrs = append(addrs, cc...) } return addrs } // AddFile adds the given File as an attachment to m. func (m *Message) AddFile(f *File) { m.files = append(m.files, f) // According to spec, only ASCII is allowed. encodedName, _ := toCharset(DefaultCharset, f.Name()) encodedName = mime.QEncoding.Encode(DefaultCharset, encodedName) // Add header m.Header.Add(HEADER_FILE, fmt.Sprintf("%d %s", f.Size(), encodedName)) } // Bytes returns the message in the Winlink Message format. func (m *Message) Bytes() ([]byte, error) { var buf bytes.Buffer if err := m.Write(&buf); err != nil { return nil, err } return buf.Bytes(), nil } // Writes Message to the given Writer in the Winlink Message format. // // If the Date header field is not formatted correctly, an error will be returned. func (m *Message) Write(w io.Writer) (err error) { // Ensure Date field is in correct format if _, err = ParseDate(m.Header.Get(HEADER_DATE)); err != nil { return } // We use a bufio.Writer to defer error handling until Flush writer := bufio.NewWriter(w) // Header m.Header.Write(writer) writer.WriteString("\r\n") // end of headers // Body writer.Write(m.body) if len(m.Files()) > 0 { writer.WriteString("\r\n") // end of body } // Files (the order must be the same as they appear in the header) for _, f := range m.Files() { writer.Write(f.data) writer.WriteString("\r\n") // end of file } return writer.Flush() } // Message stringer. func (m *Message) String() string { buf := bytes.NewBufferString(``) w := bufio.NewWriter(buf) fmt.Fprintln(w, "MID: ", m.MID()) fmt.Fprintln(w, `Date:`, m.Date()) fmt.Fprintln(w, `From:`, m.From()) for _, to := range m.To() { fmt.Fprintln(w, `To:`, to) } for _, cc := range m.Cc() { fmt.Fprintln(w, `Cc:`, cc) } fmt.Fprintln(w, `Subject:`, m.Subject()) body, _ := m.Body() fmt.Fprintf(w, "\n%s\n", body) fmt.Fprintln(w, "Attachments:") for _, f := range m.Files() { fmt.Fprintf(w, "\t%s [%d bytes]\n", f.Name(), f.Size()) } w.Flush() return string(buf.Bytes()) } // JSON marshaller for File. func (f *File) MarshalJSON() ([]byte, error) { b, err := json.Marshal(struct { Name string Size int }{f.Name(), f.Size()}) return b, err } // Name returns the attachment's filename. func (f *File) Name() string { return f.name } // Size returns the attachments's size in bytes. func (f *File) Size() int { return len(f.data) } // Data returns a copy of the attachment content. func (f *File) Data() []byte { cpy := make([]byte, len(f.data)) copy(cpy, f.data) return cpy } // Create a new file (attachment) with the given name and data. // // A B2F file must have an associated name. If the name is empty, NewFile will panic. func NewFile(name string, data []byte) *File { if name == "" { panic("Empty filename is not allowed") } return &File{ data: data, name: name, } } // Textual representation of Address. func (a Address) String() string { if a.Proto == "" { return a.Addr } else { return fmt.Sprintf("%s:%s", a.Proto, a.Addr) } } // IsZero reports whether the Address is unset. func (a Address) IsZero() bool { return len(a.Addr) == 0 } // EqualString reports whether the given address string is equal to this address. func (a Address) EqualString(b string) bool { return a == AddressFromString(b) } // Function that constructs a proper Address from a string. // // Supported formats: foo@bar.baz (SMTP proto), N0CALL (short winlink address) or N0CALL@winlink.org (full winlink address). func AddressFromString(addr string) Address { var a Address if parts := strings.Split(addr, ":"); len(parts) == 2 { a = Address{Proto: parts[0], Addr: parts[1]} } else if parts := strings.Split(addr, "@"); len(parts) == 1 { a = Address{Addr: addr} } else if strings.EqualFold(parts[1], "winlink.org") { a = Address{Addr: parts[0]} } else { a = Address{Proto: "SMTP", Addr: addr} } if a.Proto == "" { a.Addr = strings.ToUpper(a.Addr) } return a } func ParseDate(dateStr string) (time.Time, error) { if dateStr == "" { return time.Time{}, nil } var date time.Time var err error for _, layout := range dateLayouts { date, err = time.Parse(layout, dateStr) if err == nil { break } } return date.Local(), err } wl2k-go-0.9.0/fbb/message_body.go000066400000000000000000000030111414214701500165150ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bufio" "bytes" "github.com/paulrosania/go-charset/charset" _ "github.com/paulrosania/go-charset/data" ) // StringToBytes converts the body into a slice of bytes with the given charset encoding. // // CRLF line break is enforced. // Line break are inserted if a line is longer than 1000 characters (including CRLF). func StringToBody(str, encoding string) ([]byte, error) { in := bufio.NewScanner(bytes.NewBufferString(str)) out := new(bytes.Buffer) var err error var line []byte for in.Scan() { line = in.Bytes() for { // Lines can not be longer that 1000 characters including CRLF. n := min(len(line), 1000-2) out.Write(line[:n]) out.WriteString("\r\n") line = line[n:] if len(line) == 0 { break } } } translator, err := charset.TranslatorTo(encoding) if err != nil { return out.Bytes(), err } _, translated, err := translator.Translate(out.Bytes(), true) return translated, err } func min(a, b int) int { if a < b { return a } return b } // BodyFromBytes translated the data based on the given charset encoding into a proper utf-8 string. func BodyFromBytes(data []byte, encoding string) (string, error) { translator, err := charset.TranslatorFrom(encoding) if err != nil { return string(data), err } _, utf8, err := translator.Translate(data, true) return string(utf8), err } wl2k-go-0.9.0/fbb/message_test.go000066400000000000000000000050351414214701500165470ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bytes" "reflect" "testing" "time" "unicode" ) func TestParseDate(t *testing.T) { tests := []string{ "2016/12/30 01:00", // The correct format according to winlink.org/b2f. "2016.12.30 01:00", // RMS Relay store-and-forward re-formats date headers in this undocumented layout. "2016-12-30 01:00", // Seen in a Radio Only message via RMS Relay-3.0.30.0. // Extended format support to ensure we support common email formats. "Fri, 30 Dec 2016 01:00:00 -0000", // RFC 5322, Appendix A.1.1. "Fri, 30 Dec 2016 01:00:00 GMT", // RFC 5322, Appendix A.6.2. Obsolete date. } expect := time.Date(2016, time.December, 30, 01, 00, 00, 00, time.UTC).Local() for _, str := range tests { got, _ := ParseDate(str) if !got.Equal(expect) { t.Errorf("Unexpected Time when parsing `%s`: %s", str, got) } } } func TestAddressFromString(t *testing.T) { tests := map[string]Address{ "LA5NTA": {Proto: "", Addr: "LA5NTA"}, "la5nta": {Proto: "", Addr: "LA5NTA"}, "LA5NTA@winlink.org": {Proto: "", Addr: "LA5NTA"}, "LA5NTA@WINLINK.org": {Proto: "", Addr: "LA5NTA"}, "la5nta@WINLINK.org": {Proto: "", Addr: "LA5NTA"}, "foo@bar.baz": {Proto: "SMTP", Addr: "foo@bar.baz"}, } for str, expect := range tests { got := AddressFromString(str) if !reflect.DeepEqual(expect, got) { t.Errorf("'%s' got %#v expected %#v", str, got, expect) } } } func TestEncodeNonASCIIFileNames(t *testing.T) { msg := NewMessage(Private, "NOCALL") msg.AddFile(NewFile("æøå.txt", []byte{})) if h := msg.Header.Get("File"); IsIllegalHeader(h) { t.Error("Non-ascii character in encoded File header") } } func TestDecodeNonASCIIFileNames(t *testing.T) { msg := NewMessage(Private, "NOCALL") msg.AddFile(NewFile("æøå.txt", []byte{})) samples := []string{ msg.Header["File"][0], // Word encoded (round trip) "0 æøå.txt", // UTF8 "0 \xE6\xF8\xE5.txt", // Latin1 } for i, v := range samples { msg.Header["File"][0] = v var buf bytes.Buffer msg.Write(&buf) decoded := new(Message) decoded.ReadFrom(&buf) if msg.Files()[0].Name() != "æøå.txt" { t.Errorf("Sample %d failed", i) } } } func IsIllegalHeader(str string) bool { for _, c := range str { if !IsGraphicASCII(c) { return true } } return false } func IsGraphicASCII(c rune) bool { return c <= unicode.MaxASCII && unicode.IsGraphic(c) } wl2k-go-0.9.0/fbb/mid.go000066400000000000000000000011601414214701500146300ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "crypto/md5" "encoding/base32" "fmt" "time" ) const MaxMIDLength = 12 // Generates a unique message ID in the format specified by the protocol. func GenerateMid(callsign string) string { sum := md5.Sum(midPayload(callsign, time.Now())) return base32.StdEncoding.EncodeToString(sum[0:])[0:MaxMIDLength] } func midPayload(callsign string, t time.Time) []byte { return []byte(fmt.Sprintf("%s-%s", time.Now(), callsign)) } wl2k-go-0.9.0/fbb/proposal.go000066400000000000000000000114471414214701500157270ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bytes" "compress/gzip" "errors" "fmt" "io" "strconv" "strings" "github.com/la5nta/wl2k-go/lzhuf" ) type PropCode byte const ( BasicProposal PropCode = 'B' // Basic ASCII proposal (or compressed binary in v0/1) AsciiProposal = 'A' // Compressed v0/1 ASCII proposal Wl2kProposal = 'C' // Compressed v2 proposal (winlink extension) GzipProposal = 'D' // Gzip compressed v2 proposal ) type ProposalAnswer byte const ( Accept ProposalAnswer = '+' Reject = '-' Defer = '=' // Offset not supported yet ) // Proposal is the type representing a inbound or outbound proposal. type Proposal struct { code PropCode msgType string mid string answer ProposalAnswer title string offset int sent bool size int compressedData []byte compressedSize int } // Constructor for a new Proposal given a Winlink Message. // // Reads the Winlink Message given and constructs a new proposal // based on what's read and prepares for outbound delivery, returning // a Proposal with the given data. // func NewProposal(MID, title string, code PropCode, data []byte) *Proposal { prop := &Proposal{ mid: MID, code: code, msgType: "EM", title: title, size: len(data), } if prop.title == `` { prop.title = `No title` } var ( z io.WriteCloser buf bytes.Buffer ) switch prop.code { case GzipProposal: z, _ = gzip.NewWriterLevel(&buf, gzip.BestCompression) default: z = lzhuf.NewB2Writer(&buf) } z.Write(data) if err := z.Close(); err != nil { panic(err) } prop.compressedData = buf.Bytes() prop.compressedSize = len(prop.compressedData) return prop } // Method for checking if the Proposal is completely // downloaded/loaded and ready to be read/sent. // // Typically used to check if the whole message was // successfully downloaded from the CMS. // func (p *Proposal) DataIsComplete() bool { return len(p.compressedData) == p.compressedSize } // Returns the uniqe Message ID func (p *Proposal) MID() string { return p.mid } // Returns the title of this proposal func (p *Proposal) Title() string { return p.title } func (p *Proposal) Message() (*Message, error) { buf := bytes.NewBuffer(p.Data()) m := new(Message) err := m.ReadFrom(buf) return m, err } // Data returns the decompressed raw message func (p *Proposal) Data() []byte { var r io.ReadCloser var err error switch p.code { case GzipProposal: r, err = gzip.NewReader(bytes.NewBuffer(p.compressedData)) default: r, err = lzhuf.NewB2Reader(bytes.NewBuffer(p.compressedData)) } if err != nil { panic(err) //TODO: Should return error } var buf bytes.Buffer if _, err := io.Copy(&buf, r); err != nil { panic(err) //TODO } return buf.Bytes() } func parseProposal(line string, prop *Proposal) (err error) { if len(line) < 1 { return } else if line[0] != 'F' { return } prop.code = PropCode(line[1]) switch prop.code { case BasicProposal, AsciiProposal: // TODO: implement case Wl2kProposal, GzipProposal: err = parseB2Proposal(line, prop) default: err = fmt.Errorf("Unsupported proposal code '%c'", prop.code) } return } func parseB2Proposal(line string, prop *Proposal) (err error) { if len(line) < 4 { return errors.New("Unexpected end of proposal line") } if !(line[1] == Wl2kProposal || line[1] == GzipProposal) { return errors.New("Not a type C or D proposal") } // FC EM TJKYEIMMHSRB 527 123 0 parts := strings.Split(line[3:], " ") if len(parts) < 5 { return errors.New(`Malformed proposal: ` + line[2:]) } for i, part := range parts { switch i { case 0: if len(part) < 1 || len(part) > 2 { return errors.New(`Malformed proposal 0`) } else if part != "EM" && part != "CM" { return fmt.Errorf(`Expected message type CM or EM, but found %s`, part) } prop.msgType = part case 1: prop.mid = part case 2: prop.size, _ = strconv.Atoi(part) case 3: prop.compressedSize, _ = strconv.Atoi(part) case 4: default: return errors.New(fmt.Sprintf(`Too many parts in proposal: %+v`, parts)) } } return } // precedence returns the priority level of the message. Lower precedence value is more important // and should be handled sooner. // // See https://www.winlink.org/content/how_use_message_precedence_precedence. func (p *Proposal) precedence() int { const ( Flash = iota Immediate Priority Routine ) switch { case strings.Contains(p.title, "//WL2K Z/"): return Flash case strings.Contains(p.title, "//WL2K O/"): return Immediate case strings.Contains(p.title, "//WL2K P/"): return Priority default: return Routine } } wl2k-go-0.9.0/fbb/proposal_test.go000066400000000000000000000015011414214701500167540ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "reflect" "testing" ) func TestParseProposal(t *testing.T) { tests := map[string]Proposal{ "FC EM TJKYEIMMHSRB 527 123 0": Proposal{ code: Wl2kProposal, msgType: "EM", mid: "TJKYEIMMHSRB", offset: 0, size: 527, compressedSize: 123, }, } for input, expected := range tests { got := Proposal{} err := parseProposal(input, &got) if err != nil { t.Errorf("Got unexpected error while parsing proposal '%s': %s", input, err) } else if !reflect.DeepEqual(got, expected) { t.Errorf("Got %#v, expected %#v while parsing '%s'", got, expected, input) } } } wl2k-go-0.9.0/fbb/secure.go000066400000000000000000000020301414214701500153420ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "crypto/md5" "fmt" ) // This salt was found in paclink-unix's source code. var winlinkSecureSalt = []byte{ 77, 197, 101, 206, 190, 249, 93, 200, 51, 243, 93, 237, 71, 94, 239, 138, 68, 108, 70, 185, 225, 137, 217, 16, 51, 122, 193, 48, 194, 195, 198, 175, 172, 169, 70, 84, 61, 62, 104, 186, 114, 52, 61, 168, 66, 129, 192, 208, 187, 249, 232, 193, 41, 113, 41, 45, 240, 16, 29, 228, 208, 228, 61, 20} // This algorithm for generating a secure login response token has been ported // to Go from the paclink-unix implementation. func secureLoginResponse(challenge, password string) string { payload := challenge + password + string(winlinkSecureSalt) sum := md5.Sum([]byte(payload)) pr := int32(sum[3] & 0x3f) for i := 2; i >= 0; i-- { pr = (pr << 8) | int32(sum[i]) } str := fmt.Sprintf("%08d", pr) return str[len(str)-8:] } wl2k-go-0.9.0/fbb/secure_test.go000066400000000000000000000014321414214701500164060ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import "testing" func TestSecureLoginResponse(t *testing.T) { type test struct{ challenge, password, expect string } tests := []test{ {challenge: "23753528", password: "FOOBAR", expect: "72768415"}, {challenge: "23753528", password: "FooBar", expect: "95074758"}, } for i, v := range tests { if got := secureLoginResponse(v.challenge, v.password); got != v.expect { t.Errorf("%d: Got unexpected login response, expected '%s' got '%s'.", i, v.expect, got) } } } func BenchmarkSecureLoginResponse(b *testing.B) { for i := 0; i < b.N; i++ { secureLoginResponse("23753528", "foobar") } } wl2k-go-0.9.0/fbb/wl2k.go000066400000000000000000000277171414214701500147560ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // fbb provides a client-side implementation of the B2 Forwarding Protocol // and Winlink 2000 Message Structure for transfer of messages to and from // a Winlink 2000 Radio Email Server (RMS) gateway. package fbb import ( "bufio" "errors" "fmt" "io" "log" "net" "os" "sort" "strings" "time" "github.com/la5nta/wl2k-go/transport" ) // ErrConnLost is returned by Session.Exchange if the connection is prematurely closed. var ErrConnLost = errors.New("connection lost") // Objects implementing the MBoxHandler interface can be used to handle inbound and outbound messages for a Session. type MBoxHandler interface { InboundHandler OutboundHandler // Prepare is called before any other operation in a session. // // The returned error can be used to indicate that the mailbox is // not ready for a new session, the error will be forwarded to the // remote node. Prepare() error } // An OutboundHandler offer messages that can be delivered (a proposal) to the remote node and is notified when a message is sent or defered. type OutboundHandler interface { // GetOutbound should return all pending (outbound) messages addressed to (and only to) one of the fw addresses. // // No fw address implies that the remote node could be a Winlink CMS and all oubound // messages can be delivered through the connected node. GetOutbound(fw ...Address) (out []*Message) // SetSent should mark the the message identified by MID as successfully sent. // // If rejected is true, it implies that the remote node has already received the message. SetSent(MID string, rejected bool) // SetDeferred should mark the outbound message identified by MID as deferred. // // SetDeferred is called when the remote want's to receive the proposed message // (see MID) later. SetDeferred(MID string) } // An InboundHandler handles all messages that can/is sent from the remote node. type InboundHandler interface { // ProcessInbound should persist/save/process all messages received (msgs) returning an error if the operation was unsuccessful. // // The error will be delivered (if possble) to the remote to indicate that an error has occurred. ProcessInbound(msg ...*Message) error // GetInboundAnswer should return a ProposalAnwer (Accept/Reject/Defer) based on the remote's message Proposal p. // // An already successfully received message (see MID) should be rejected. GetInboundAnswer(p Proposal) ProposalAnswer } // Session represents a B2F exchange session. // // A session should only be used once. type Session struct { mycall string targetcall string locator string motd []string h MBoxHandler statusUpdater StatusUpdater // Callback when secure login password is needed secureLoginHandleFunc func(addr Address) (password string, err error) master bool robustMode robustMode remoteSID sid remoteFW []Address // Addresses the remote requests messages on behalf of localFW []Address // Addresses we request messages on behalf of trafficStats TrafficStats quitReceived bool quitSent bool remoteNoMsgs bool // True if last remote turn had no more messages rd *bufio.Reader log *log.Logger pLog *log.Logger ua UserAgent } // Struct used to hold information that is reported during B2F handshake. // // Non of the fields must contain a dash (-). // type UserAgent struct { Name string Version string } type StatusUpdater interface { UpdateStatus(s Status) } // Status holds information about ongoing transfers. type Status struct { Receiving *Proposal Sending *Proposal BytesTransferred int BytesTotal int Done bool When time.Time } // TrafficStats holds exchange message traffic statistics. type TrafficStats struct { Received []string // Received message MIDs. Sent []string // Sent message MIDs. } var StdLogger = log.New(os.Stderr, "", log.LstdFlags) var StdUA = UserAgent{Name: "wl2kgo", Version: "0.1a"} // Constructs a new Session object. // // The Handler can be nil (but no messages will be exchanged). // // Mycall and targetcall will be upper-cased. func NewSession(mycall, targetcall, locator string, h MBoxHandler) *Session { mycall, targetcall = strings.ToUpper(mycall), strings.ToUpper(targetcall) return &Session{ mycall: mycall, localFW: []Address{AddressFromString(mycall)}, targetcall: targetcall, log: StdLogger, h: h, pLog: StdLogger, ua: StdUA, locator: locator, trafficStats: TrafficStats{ Received: make([]string, 0), Sent: make([]string, 0), }, } } type robustMode int // The different robust-mode settings. const ( RobustAuto robustMode = iota // Run the connection in robust-mode when not transferring outbound messages. RobustForced // Always run the connection in robust-mode. RobustDisabled // Never run the connection in robust-mode. ) // SetRobustMode sets the RobustMode for this exchange. // // The mode is ignored if the exchange connection does not implement the transport.Robust interface. // // Default is RobustAuto. func (s *Session) SetRobustMode(mode robustMode) { s.robustMode = mode //TODO: If NewSession took the net.Conn (not Exchange), we could return an error here to indicate that the operation was unsupported. } // SetMOTD sets one or more lines to be sent before handshake. // // The MOTD is only sent if the local node is session master. func (s *Session) SetMOTD(line ...string) { s.motd = line } // IsMaster sets whether this end should initiate the handshake. func (s *Session) IsMaster(isMaster bool) { s.master = isMaster } // RemoteSID returns the remote's SID (if available). func (s *Session) RemoteSID() string { return string(s.remoteSID) } // Exchange is the main method for exchanging messages with a remote over the B2F protocol. // // Sends outbound messages and downloads inbound messages prepared for this session. // // Outbound messages should be added as proposals before calling the Exchange() method. // // If conn implements the transport.Robust interface, the connection is run in robust-mode // except when an outbound message is transferred. // // After Exchange(), messages that was accepted and delivered successfully to the RMS is // available through a call to Sent(). Messages downloaded successfully from the RMS is // retrieved by calling Received(). // // The connection is closed at the end of the exchange. If the connection is closed before // the exchange is done, ErrConnLost is returned. // // Subsequent Exchange calls on the same session is a noop. func (s *Session) Exchange(conn net.Conn) (stats TrafficStats, err error) { if s.Done() { return stats, nil } // The given conn should always be closed after returning from this method. // If an error occurred, echo it to the remote. defer func() { switch { case err == nil: // Success :-) return case errors.Is(err, io.EOF), errors.Is(err, io.ErrUnexpectedEOF): // Connection closed prematurely by modem (link failure) or // remote peer. err = ErrConnLost case errors.Is(err, net.ErrClosed): // Closed locally, but still... err = ErrConnLost default: // Probably a protocol related error. // Echo the error to the remote peer and disconnect. conn.SetDeadline(time.Now().Add(time.Minute)) fmt.Fprintf(conn, "*** %s\r\n", err) conn.Close() } }() // Prepare mailbox handler if s.h != nil { err = s.h.Prepare() if err != nil { return } } // Set connection's robust-mode according to setting if r, ok := conn.(transport.Robust); ok { r.SetRobust(s.robustMode != RobustDisabled) defer r.SetRobust(false) } s.rd = bufio.NewReader(conn) err = s.handshake(conn) if err != nil { return } if gzipExperimentEnabled() && s.remoteSID.Has(sGzip) { s.log.Println("GZIP_EXPERIMENT:", "Gzip compression enabled in this session.") } for myTurn := !s.master; !s.Done(); myTurn = !myTurn { if myTurn { s.quitSent, err = s.handleOutbound(conn) } else { s.quitReceived, err = s.handleInbound(conn) } if err != nil { return s.trafficStats, err } } return s.trafficStats, conn.Close() } // Done() returns true if either parties have existed from this session. func (s *Session) Done() bool { return s.quitReceived || s.quitSent } // Waits for connection to be closed, returning an error if seen on the line. func waitRemoteHangup(conn net.Conn) error { conn.SetDeadline(time.Now().Add(time.Minute)) scanner := bufio.NewScanner(conn) for scanner.Scan() { line := scanner.Text() if err := errLine(line); err != nil { conn.Close() return err } log.Println(line) } return scanner.Err() } func remoteErr(str string) error { if !strings.HasPrefix(str, "***") { return nil } idx := strings.LastIndex(str, "*") if idx+1 >= len(str) { return nil } return fmt.Errorf(strings.TrimSpace(str[idx+1:])) } // Mycall returns this stations call sign. func (s *Session) Mycall() string { return s.mycall } // Targetcall returns the remote stations call sign (if known). func (s *Session) Targetcall() string { return s.targetcall } // SetSecureLoginHandleFunc registers a callback function used to prompt for password when a secure login challenge is received. func (s *Session) SetSecureLoginHandleFunc(f func(addr Address) (password string, err error)) { s.secureLoginHandleFunc = f } // This method returns the call signs the remote is requesting traffic on behalf of. The call signs are not available until // the handshake is done. // // It will typically be the call sign of the remote P2P station and empty when the remote is a Winlink CMS. func (s *Session) RemoteForwarders() []Address { return s.remoteFW } // AddAuxiliaryAddress adds one or more addresses to request messages on behalf of. // // Currently the Winlink System only support requesting messages for call signs, not full email addresses. func (s *Session) AddAuxiliaryAddress(aux ...Address) { s.localFW = append(s.localFW, aux...) } // Set callback for status updates on receiving / sending messages func (s *Session) SetStatusUpdater(updater StatusUpdater) { s.statusUpdater = updater } // Sets custom logger. func (s *Session) SetLogger(logger *log.Logger) { if logger == nil { logger = StdLogger } s.log = logger s.pLog = logger } // Set this session's user agent func (s *Session) SetUserAgent(ua UserAgent) { s.ua = ua } // Get this session's user agent func (s *Session) UserAgent() UserAgent { return s.ua } func (s *Session) outbound() []*Proposal { if s.h == nil { return []*Proposal{} } msgs := s.h.GetOutbound(s.remoteFW...) props := make([]*Proposal, 0, len(msgs)) for _, m := range msgs { // It seems reasonable to ignore these with a warning if err := m.Validate(); err != nil { s.log.Printf("Ignoring invalid outbound message '%s': %s", m.MID(), err) continue } prop, err := m.Proposal(s.highestPropCode()) if err != nil { s.log.Printf("Unable to prepare proposal for '%s'. Corrupt message? Ignoring...", m.MID()) continue } props = append(props, prop) } sortProposals(props) return props } func sortProposals(props []*Proposal) { // sort first by ascending size, then stable sort by descending precedence sort.Sort(bySize(props)) sort.Stable(byPrecedence(props)) } type bySize []*Proposal func (s bySize) Len() int { return len(s) } func (s bySize) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s bySize) Less(i, j int) bool { if s[i].compressedSize != s[j].compressedSize { return s[i].compressedSize < s[j].compressedSize } return s[i].MID() < s[j].MID() } type byPrecedence []*Proposal func (s byPrecedence) Len() int { return len(s) } func (s byPrecedence) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s byPrecedence) Less(i, j int) bool { return s[i].precedence() < s[j].precedence() } func (s *Session) highestPropCode() PropCode { if s.remoteSID.Has(sGzip) && gzipExperimentEnabled() { return GzipProposal } return Wl2kProposal } wl2k-go-0.9.0/fbb/wl2k_test.go000066400000000000000000000134411414214701500160020ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package fbb import ( "bufio" "fmt" "net" "strings" "testing" ) //[WL2K-2.8.4.8-B2FWIHJM$] //Brentwood CMS > // ;FW: LA5NTA // [RMS Express-1.2.35.0-B2FHM$] // ; WL2K DE LA5NTA (JO39EQ) // FF //FQ func TestSessionP2P(t *testing.T) { client, master := net.Pipe() clientErr := make(chan error) go func() { s := NewSession("LA5NTA", "N0CALL", "JO39EQ", nil) _, err := s.Exchange(client) clientErr <- err }() masterErr := make(chan error) go func() { s := NewSession("N0CALL", "LA5NTA", "JO39EQ", nil) s.IsMaster(true) _, err := s.Exchange(master) masterErr <- err }() if err := <-masterErr; err != nil { t.Errorf("Master returned with error: %s", err) } if err := <-clientErr; err != nil { t.Errorf("Client returned with error: %s", err) } } func TestSessionCMS(t *testing.T) { client, srv := net.Pipe() cerrs := make(chan error) go func() { s := NewSession("LA5NTA", "LA1B-10", "JO39EQ", nil) _, err := s.Exchange(client) cerrs <- err }() fmt.Fprint(srv, "[WL2K-2.8.4.8-B2FWIHJM$]\r") fmt.Fprint(srv, "Foobar should be ignored\r") fmt.Fprint(srv, "Test CMS >\r") expectLines := []string{ ";FW: LA5NTA\r", "[wl2kgo-0.1a-B2FHM$]\r", "; LA1B-10 DE LA5NTA (JO39EQ)\r", "FF\r", } // Read until FF rd := bufio.NewReader(srv) for i, expected := range expectLines { line, _ := rd.ReadString('\r') if line != expected { line, expected = strings.TrimSpace(line), strings.TrimSpace(expected) t.Fatalf("Unexpected line [%d]: Got '%s', expected '%s'.", i, line, expected) } } fmt.Fprint(srv, "FQ\r") srv.Close() if err := <-cerrs; err != nil { t.Errorf("Session exchange returned error: %s", err) } } func TestSessionCMDWithMessage(t *testing.T) { client, srv := net.Pipe() cerrs := make(chan error) go func() { s := NewSession("LA5NTA", "LA1B-10", "JO39EQ", nil) _, err := s.Exchange(client) cerrs <- err }() fmt.Fprint(srv, "[WL2K-2.8.4.8-B2FWIHJM$]\r") fmt.Fprint(srv, "Test CMS >\r") expectLines := []string{ ";FW: LA5NTA\r", "[wl2kgo-0.1a-B2FHM$]\r", "; LA1B-10 DE LA5NTA (JO39EQ)\r", "FF\r", } // Read until FF rd := bufio.NewReader(srv) for i, expected := range expectLines { line, _ := rd.ReadString('\r') if line != expected { line, expected = strings.TrimSpace(line), strings.TrimSpace(expected) t.Fatalf("Unexpected line [%d]: Got '%s', expected '%s'.", i, line, expected) } } // Send one proposal fmt.Fprintf(srv, "FC EM TJKYEIMMHSRB 527 123 0\r") fmt.Fprintf(srv, "F> 3b\r") // No more proposals + checksum propAnswer, _ := rd.ReadString('\r') if propAnswer != "FS =\r" { t.Errorf("Expected 'FS =', got '%s'", propAnswer) } fmt.Fprintf(srv, "FF\r") // No more messages if line, _ := rd.ReadString('\r'); line != "FQ\r" { t.Errorf("Expected 'FQ', got '%s'", line) } if err := <-cerrs; err != nil { t.Errorf("Session exchange returned error: %s", err) } } func TestSessionCMSv4(t *testing.T) { client, srv := net.Pipe() cerrs := make(chan error) go func() { s := NewSession("LA5NTA", "LA1B-10", "JO39EQ", nil) _, err := s.Exchange(client) cerrs <- err }() fmt.Fprint(srv, "[WL2K-4.0-B2FWIHJM$]\r") fmt.Fprint(srv, "Test CMS >\r") expectLines := []string{ ";FW: LA5NTA\r", "[wl2kgo-0.1a-B2FHM$]\r", "; LA1B-10 DE LA5NTA (JO39EQ)\r", "FF\r", } // Read until FF rd := bufio.NewReader(srv) for i, expected := range expectLines { line, _ := rd.ReadString('\r') if line != expected { line, expected = strings.TrimSpace(line), strings.TrimSpace(expected) t.Fatalf("Unexpected line [%d]: Got '%s', expected '%s'.", i, line, expected) } } // Send some CMS v4 ; lines fmt.Fprintf(srv, ";PM: LA5NTA TJKYEIMMHSRB 123 martin.h.pedersen@gmail.com\r") fmt.Fprintf(srv, ";WARNING: Foo bar baz\r") // Send one proposal fmt.Fprintf(srv, "FC EM TJKYEIMMHSRB 527 123 0\r") fmt.Fprintf(srv, "F> 3b\r") // No more proposals + checksum propAnswer, _ := rd.ReadString('\r') if propAnswer != "FS =\r" { t.Errorf("Expected 'FS =', got '%s'", propAnswer) } fmt.Fprintf(srv, ";WARNING: Foo bar baz\r") // One more CMS v4 ; line fmt.Fprintf(srv, "FF\r") // No more messages if line, _ := rd.ReadString('\r'); line != "FQ\r" { t.Errorf("Expected 'FQ', got '%s'", line) } if err := <-cerrs; err != nil { t.Errorf("Session exchange returned error: %s", err) } } func TestSortProposals(t *testing.T) { props := []*Proposal{ mustProposalWithSubject("Just a test"), mustProposalWithSubject("Re://WL2K O/Very important"), mustProposalWithSubject("//WL2K R/Read this sometime, or don't"), mustProposalWithSubject("//WL2K P/ Pretty important"), mustProposalWithSubject("//WL2K Z/The world is on fire!"), } sortProposals(props) // Flash if props[0].Title() != "//WL2K Z/The world is on fire!" { t.Error("Flash precedence was not in order") } // Immediate if props[1].Title() != "Re://WL2K O/Very important" { t.Error("Immediate precedence was not in order") } // Priority if props[2].Title() != "//WL2K P/ Pretty important" { t.Error("Priority precedence was not in order") } // Everything else is Routine, so goes by increasing size if props[3].Title() != "Just a test" { t.Error("Routine precedence was not in order") } if props[4].Title() != "//WL2K R/Read this sometime, or don't" { t.Error("Routine precedence was not in order") } } func mustProposalWithSubject(subject string) *Proposal { p, err := proposalWithSubject(subject) if err != nil { panic(err) } return p } func proposalWithSubject(subject string) (*Proposal, error) { msg := NewMessage(Private, "N0CALL") msg.AddTo("N0CALL") msg.SetSubject(subject) _ = msg.SetBody("Satisfies validation") return msg.Proposal(BasicProposal) } wl2k-go-0.9.0/go.mod000066400000000000000000000002451414214701500141100ustar00rootroot00000000000000module github.com/la5nta/wl2k-go go 1.11 require ( github.com/albenik/go-serial/v2 v2.3.0 github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c ) wl2k-go-0.9.0/go.sum000066400000000000000000000060231414214701500141350ustar00rootroot00000000000000github.com/albenik/go-serial/v2 v2.3.0 h1:3/PiNDdOI55JZ02ARpr8us2Az8W9lihdKNxKv+IvcuY= github.com/albenik/go-serial/v2 v2.3.0/go.mod h1:JUrQKdczCMB0FlXt2rlJJ8zbfFzmjTIAkLPyyVfr5ho= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c h1:P6XGcuPTigoHf4TSu+3D/7QOQ1MbL6alNwrGhcW7sKw= github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c/go.mod h1:YnNlZP7l4MhyGQ4CBRwv6ohZTPrUJJZtEv4ZgADkbs4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= golang.org/x/sys v0.0.0-20210223212115-eede4237b368 h1:fDE3p0qf2V1co1vfj3/o87Ps8Hq6QTGNxJ5Xe7xSp80= golang.org/x/sys v0.0.0-20210223212115-eede4237b368/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= wl2k-go-0.9.0/lzhuf/000077500000000000000000000000001414214701500141315ustar00rootroot00000000000000wl2k-go-0.9.0/lzhuf/.gitignore000066400000000000000000000000071414214701500161160ustar00rootroot00000000000000jnos2/ wl2k-go-0.9.0/lzhuf/COPYRIGHT000066400000000000000000000110441414214701500154240ustar00rootroot00000000000000This is a Go port of the lzhuf compression code from JNOS 2 (lzhuf.c). This file holds the licensing information on the (now deleted) lzhuf.c code that this Go port was based on. Martin Hebnes Pedersen 2016/07/19 ------------------------------------------------------ This file holds information about the origin of lzhuf.c and lzhuf.h. The files have been copied from b2229b973b4094a1c697f480926bf61c21ef4def@github.com/mlangelaar/jnos2. Maiko Langelaar, the maintainer of JNOS 2, gave approval to copy and patch these file for the wl2k-go project after a request by Martin Hebnes Pedersen 2015/10/30. Be aware that these files have not been released under any particular license. Although Maiko has kindly allowed me to copy this code, he does not hold copyright of all the work in these files. For more information on the license of the original code, see email from Russel Marks below. Martin Hebnes Pedersen 2015/10/30 ------------------------------------------------------ Email from Russel Marks on lzhuf.c licensing: (from https://groups.google.com/forum/#!topic/comp.compression/u-YZjDzdF3A) Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!btnet-peer1!btnet-peer0!btnet!news5-gui.server.ntli.net!ntli.net!news6-win.server.ntlworld.com.POSTED!not-for-mail Newsgroups: comp.compression Subject: lzhuf.c licence update From: Russell Marks Lines: 55 User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Message-ID: Date: 15 Aug 2001 11:31:54 +0100 NNTP-Posting-Host: 62.252.9.134 X-Complaints-To: ab...@ntlworld.com X-Trace: news6-win.server.ntlworld.com 997871522 62.252.9.134 (Wed, 15 Aug 2001 11:32:02 BST) NNTP-Posting-Date: Wed, 15 Aug 2001 11:32:02 BST Organization: ntlworld News Service Xref: archiver1.google.com comp.compression:6683 Recently I posted asking about the authors/licence of `lzhuf.c'. I've contacted most of the authors since, so I thought I'd post the results. My main question to them was whether I could use lzhuf.c in a GPL'd program, but I did also try to clear up the original licence for those who might want to use it in BSD-licenced programs, or whatever. [1] Kenji Rikitake said, "my contribution to lzhuf.c is very little and I will not claim any objection for the usage". Haruhiko Okumura (or should I say, Professor Okumura :-)) said, initially referring to the "Permission granted for non-commercial use" comment that Kenji asked to be added in 1989, "I was unaware that Kenji had added that phrase. I (and as far as I know, Yoshi) have never been that strict; LHarc and LHA have been included in many commercial software packages. There should be no problem if you take LZHUF.C as ether GPL'd or LGPL'd." When I asked what licence I should say lzhuf.c was under, suggesting his old terms for (among others) lzari.c which are "Use, distribute, and modify this program freely", he agreed. Haruyasu Yoshizaki (Yoshi) has proven difficult to contact. I've emailed him at an address Prof. Okumura suggested might be worth trying, but from what I've read on the web about how busy he's said to be (and how he doesn't really want email, which explains why an email address for him was difficult to come by), I don't expect a reply. So, since lzhuf.c is significantly based on Okumura's lzari.c [2] (which has always had the above licence), I'm going to go with his opinion on the matter, and assume that Yoshi would not object. (Not least because Prof. Okumura said `I can assure you that his intention has always been "try it, and improve it."') In summary: The authors I've been able to contact agree to the licence "Use, distribute, and modify this program freely" - "freely" here meaning `without restriction', and not being a reference to price. The remaining author I've not been able to contact, but the licence appears consistent with his intent, and was also the licence on the original program which he modified (lzari.c). -Rus. [1] But note that LZH compression is unfortunately patented (US patent no. 4,906,991 covers it) - decompression isn't, so I don't expect this to affect my program. And unless you have a specific need for LZH like I did, something like zlib would generally be a better choice anyway. [2] The version of lzhuf.c referred to by the `author' of the CP/M port made this rather clearer: * LZSS coded by Haruhiko OKUMURA * Adaptive Huffman Coding coded by Haruyasu YOSHIZAKI * Edited and translated to English by Kenji RIKITAKE wl2k-go-0.9.0/lzhuf/bit_reader.go000066400000000000000000000037461414214701500165720ustar00rootroot00000000000000// Copyright 2011 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package lzhuf import ( "bufio" "io" ) // bitReader wraps an io.Reader and provides the ability to read values, // bit-by-bit, from it. Its Read* methods don't return the usual error // because the error handling was verbose. Instead, any error is kept and can // be checked afterwards. type bitReader struct { r io.ByteReader n uint64 bits uint err error } // newBitReader returns a new bitReader reading from r. If r is not // already an io.ByteReader, it will be converted via a bufio.Reader. func newBitReader(r io.Reader) bitReader { byter, ok := r.(io.ByteReader) if !ok { byter = bufio.NewReader(r) } return bitReader{r: byter} } // ReadBits64 reads the given number of bits and returns them in the // least-significant part of a uint64. In the event of an error, it returns 0 // and the error can be obtained by calling Err(). func (br *bitReader) ReadBits64(bits uint) (n uint64) { for bits > br.bits { b, err := br.r.ReadByte() if err == io.EOF { err = io.ErrUnexpectedEOF } if err != nil { br.err = err return 0 } br.n <<= 8 br.n |= uint64(b) br.bits += 8 } // br.n looks like this (assuming that br.bits = 14 and bits = 6): // Bit: 111111 // 5432109876543210 // // (6 bits, the desired output) // |-----| // V V // 0101101101001110 // ^ ^ // |------------| // br.bits (num valid bits) // // This the next line right shifts the desired bits into the // least-significant places and masks off anything above. n = (br.n >> (br.bits - bits)) & ((1 << bits) - 1) br.bits -= bits return } func (br *bitReader) ReadBits(bits uint) (n int) { n64 := br.ReadBits64(bits) return int(n64) } func (br *bitReader) ReadBit() bool { n := br.ReadBits(1) return n != 0 } func (br *bitReader) Err() error { return br.err } wl2k-go-0.9.0/lzhuf/crc.go000066400000000000000000000062031414214701500152300ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package lzhuf type crc16 uint16 type crcWriter struct{ sum crc16 } func udpCRC16(cp int, sum crc16) crc16 { return ((sum << 8) & 0xff00) ^ crc16tab[((sum>>8)&0xff)] ^ crc16(cp) } func newCRCWriter() *crcWriter { return &crcWriter{} } func (w *crcWriter) Write(p []byte) (int, error) { for _, c := range p { w.sum = udpCRC16(int(c), w.sum) } return len(p), nil } func (w *crcWriter) Sum() crc16 { sum := w.sum for _, c := range []byte{0, 0} { sum = udpCRC16(int(c), sum) } return sum } func crc(p []byte) crc16 { var sum crc16 for _, c := range append(p, 0, 0) { sum = udpCRC16(int(c), sum) } return sum } /* * 16Apr2008, Maiko (VE4KLM), After analyzing my raw data, it seems that * Airmail and Winlink 2000 are using the Xmodem variation of CRC-CCITT * to do checksums. This is a bit different from our FCS table values. * * YES !!! Airmail did a successfull decode of my SEND_YAPP !!! */ var crc16tab = [256]crc16{ 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0, } wl2k-go-0.9.0/lzhuf/lzhuf.go000066400000000000000000000216061414214701500156150ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package lzhuf implements the lzhuf compression used by the binary FBB protocols B, B1 and B2. // // The compression is LZHUF with a CRC16 checksum of the compressed data prepended (B2F option). package lzhuf const ( // LZHUF variables _N = 2048 // Buffer size _F = 60 // Lookahead buffer size _NIL = _N // Leaf of tree _NumChar = 256 - _Threshold + _F // Kinds of characters (character code = 0..N_CHAR-1) _T = (_NumChar * 2) - 1 // Size of table _R = _T - 1 // Position of root _MaxFreq = 0x8000 // Updates tree when the _Threshold = 2 ) type lzhuf struct { // Frequency table. freq [_T + 1]uint // Pointers to parent nodes. // // Expect for the elements [T..T+N_CHAR-1] which are // used to get the positions of leaves corresponding to the codes. prnt [_T + _NumChar]int // Pointers to child nodes. son [_T]int dad [_N + 1]int lson [_N + 1]int rson [_N + 257]int textBuf [_N + _F - 1]byte matchLength int matchPosition int } func (z *lzhuf) InitTree() { for i := _N + 1; i <= _N+256; i++ { z.rson[i] = _NIL // root } for i := 0; i < _N; i++ { z.dad[i] = _NIL // node } } // TODO: Should not be exported func newLZHUFF() *lzhuf { z := new(lzhuf) for i := 0; i < _NumChar; i++ { z.freq[i] = 1 z.son[i] = i + _T z.prnt[i+_T] = i } for i, j := 0, _NumChar; j <= _R; { z.freq[j] = z.freq[i] + z.freq[i+1] z.son[j] = i z.prnt[i] = j z.prnt[i+1] = j i += 2 j++ } z.freq[_T] = 0xffff z.prnt[_R] = 0 return z } // Delete from tree func (z *lzhuf) DeleteNode(p int) { if z.dad[p] == _NIL { return // not registered } var q int switch { case z.rson[p] == _NIL: q = z.lson[p] case z.lson[p] == _NIL: q = z.rson[p] default: q = z.lson[p] if z.rson[q] != _NIL { for z.rson[q] != _NIL { q = z.rson[q] } z.rson[z.dad[q]] = z.lson[q] z.dad[z.lson[q]] = z.dad[q] z.lson[q] = z.lson[p] z.dad[z.lson[p]] = q } z.rson[q] = z.rson[p] z.dad[z.rson[p]] = q } z.dad[q] = z.dad[p] if z.rson[z.dad[p]] == p { z.rson[z.dad[p]] = q } else { z.lson[z.dad[p]] = q } z.dad[p] = _NIL } // Insert to tree func (z *lzhuf) InsertNode(r int) { var i, p, cmp int var key []byte var c uint cmp = 1 key = z.textBuf[r:] p = _N + 1 + int(key[0]) z.rson[r], z.lson[r] = _NIL, _NIL z.matchLength = 0 for { if cmp >= 0 { if z.rson[p] != _NIL { p = z.rson[p] } else { z.rson[p] = r z.dad[r] = p return } } else { if z.lson[p] != _NIL { p = z.lson[p] } else { z.lson[p] = r z.dad[r] = p return } } for i = 1; i < _F; i++ { cmp = int(key[i]) - int(z.textBuf[p+i]) if cmp != 0 { break } } if i > _Threshold { if i > z.matchLength { z.matchPosition = ((r - p) & (_N - 1)) - 1 z.matchLength = i if z.matchLength >= _F { break } } if i == z.matchLength { c = uint(((r - p) & (_N - 1)) - 1) if int(c) < z.matchPosition { z.matchPosition = int(c) } } } } z.dad[r] = z.dad[p] z.lson[r] = z.lson[p] z.rson[r] = z.rson[p] z.dad[z.lson[p]] = r z.dad[z.rson[p]] = r if z.rson[z.dad[p]] == p { z.rson[z.dad[p]] = r } else { z.lson[z.dad[p]] = r } z.dad[p] = _NIL // remove p } func (z *lzhuf) reconst() { // collect leaf nodes in the first half of the table and replace the freq by (freq + 1) / 2 for i, j := 0, 0; i < _T; i++ { if z.son[i] >= _T { z.freq[j] = (z.freq[i] + 1) / 2 z.son[j] = z.son[i] j++ } } // Begin constructing tree by connecting children nodes for i, j := 0, _NumChar; j < _T; i, j = i+2, j+1 { k := i + 1 z.freq[j] = z.freq[i] + z.freq[k] first := uint(z.freq[j]) for k = j; first < uint(z.freq[k-1]); { k-- } last := int(j - k) // Number of elements to move right copy(z.freq[k+1:], z.freq[k:k+last]) z.freq[k] = first copy(z.son[k+1:], z.son[k:k+last]) z.son[k] = i } // Connect parent nodes for i := 0; i < _T; i++ { k := z.son[i] if k >= _T { z.prnt[k] = i } else { z.prnt[k+1] = i z.prnt[k] = i } } } func (z *lzhuf) update(c int) { if z.freq[_R] == _MaxFreq { z.reconst() } // Swap nodes to keep the tree freq-ordered c = z.prnt[c+_T] for { z.freq[c]++ if z.freq[c] <= z.freq[c+1] || len(z.freq) <= c+2 { if c = z.prnt[c]; c == 0 { break } continue // Order is ok } l, k := c+1, z.freq[c] for k > z.freq[l+1] { l++ } z.freq[c] = z.freq[l] z.freq[l] = k i := z.son[c] z.prnt[i] = l if i < _T { z.prnt[i+1] = l } j := z.son[l] z.son[l] = i z.prnt[j] = c if j < _T { z.prnt[j+1] = c } z.son[c] = j if c = z.prnt[l]; c == 0 { break } } } /* * Huffman coding * * table for encoding and decoding the upper 6 bits of position */ // for encoding var pCode = [64]byte{ 0x00, 0x20, 0x30, 0x40, 0x50, 0x58, 0x60, 0x68, 0x70, 0x78, 0x80, 0x88, 0x90, 0x94, 0x98, 0x9C, 0xA0, 0xA4, 0xA8, 0xAC, 0xB0, 0xB4, 0xB8, 0xBC, 0xC0, 0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 0xD0, 0xD2, 0xD4, 0xD6, 0xD8, 0xDA, 0xDC, 0xDE, 0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, } var pLen = [64]byte{ 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, } // for decoding var dCode = [256]byte{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1A, 0x1A, 0x1B, 0x1B, 0x1C, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1F, 0x1F, 0x20, 0x20, 0x21, 0x21, 0x22, 0x22, 0x23, 0x23, 0x24, 0x24, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, 0x29, 0x2A, 0x2A, 0x2B, 0x2B, 0x2C, 0x2C, 0x2D, 0x2D, 0x2E, 0x2E, 0x2F, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, } var dLen = [256]byte{ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, } wl2k-go-0.9.0/lzhuf/lzhuf_test.go000066400000000000000000002272721414214701500166630ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package lzhuf import ( "bufio" "bytes" "io" "io/ioutil" "os" "path/filepath" "testing" ) var testdataPath = "testdata/" func TestRoundtrip(t *testing.T) { files, err := ioutil.ReadDir(testdataPath) if err != nil { t.Fatal("Unable to open testdata directory:", err) } for _, fi := range files { if fi.IsDir() || filepath.Ext(fi.Name()) == ".lzh" || fi.Name()[0] == '.' { continue } t.Logf("Running %s...", fi.Name()) file, err := os.Open(filepath.Join(testdataPath, fi.Name())) if err != nil { t.Fatal(err) } var orig bytes.Buffer // Compress (and tee to orig for comparison) var compressed bytes.Buffer w := NewB2Writer(&compressed) io.Copy(w, io.TeeReader(file, &orig)) w.Close() r, err := NewB2Reader(&compressed) if err != nil { t.Errorf("%s: Unexpected NewB2Reader error: %s", fi.Name(), err) continue } rd := bufio.NewReader(r) for i := 0; orig.Len() > 0; i++ { c, _ := orig.ReadByte() d, _ := rd.ReadByte() if c != d { t.Errorf("%s: Byte idx %d not matching. Skipping rest of compare.", fi.Name(), i) break } } if err := r.Close(); err != nil { t.Errorf("%s: Unexpected Close error: %s", fi.Name(), err) } file.Close() } } func TestReaderUnexpectedEOF(t *testing.T) { lz, _ := NewReader(bytes.NewReader(samples[2].compressed[:10]), true) if _, err := io.Copy(ioutil.Discard, lz); err != io.ErrUnexpectedEOF { t.Errorf("Read: Expected io.ErrUnexpectedEOF, got '%v'", err) } if err := lz.Close(); err != io.ErrUnexpectedEOF { t.Errorf("Close: Expected io.ErrUnexpectedEOF, got '%s'", err) } } func TestB2ReaderInvalidChecksum(t *testing.T) { data := make([]byte, len(samples[0].compressed)) copy(data, samples[0].compressed) data[0] = 0x1 // Invalid checksum lz, _ := NewB2Reader(bytes.NewReader(data)) io.Copy(ioutil.Discard, lz) if err := lz.Close(); err != ErrChecksum { t.Error("Did not receive ErrChecksum from Close") } } func TestReaderShortRead(t *testing.T) { // With crc16 checksum lz, _ := NewB2Reader(bytes.NewReader(samples[4].compressed)) io.CopyN(ioutil.Discard, lz, int64(len(samples[4].compressed)-1)) if err := lz.Close(); err != ErrChecksum { t.Error("Did not receive ErrChecksum from Close on short read with crc16", err) } // Without crc16 checksum lz, _ = NewReader(bytes.NewReader(samples[4].compressed[2:]), false) io.CopyN(ioutil.Discard, lz, int64(len(samples[4].compressed[2:])-1)) if err := lz.Close(); err != ErrChecksum { t.Error("Did not receive ErrChecksum from Close on short read without crc16", err) } } func TestReaderInvalidHeader(t *testing.T) { var err error _, err = NewB2Reader(bytes.NewReader([]byte{0x0})) if err != io.ErrUnexpectedEOF { t.Error("Expected io.ErrUnexpectedEOF on too short crc16 checksum, got:", err) } _, err = NewReader(bytes.NewReader([]byte{0x0}), false) if err != io.ErrUnexpectedEOF { t.Error("Expected io.ErrUnexpectedEOF on too filesize header, got:", err) } } func TestReader(t *testing.T) { for i, sample := range samples { lz, err := NewReader(bytes.NewReader(sample.compressed), true) if err != nil { t.Errorf("Unexpected NewReader error: %s", err) continue } var buf bytes.Buffer _, err = io.Copy(&buf, lz) if err != nil { t.Errorf("Unexpected error: %s", err) } if !bytes.Equal(buf.Bytes(), sample.plain) { t.Errorf("Sample %d failed", i) } if err := lz.Close(); err != nil { t.Errorf("Sample %d failed on close: %s", i, err) } } } func TestWriterTestdata(t *testing.T) { files, err := ioutil.ReadDir(testdataPath) if err != nil { t.Fatal("Unable to open testdata directory:", err) } for _, fi := range files { if fi.IsDir() || filepath.Ext(fi.Name()) == ".lzh" || fi.Name()[0] == '.' { continue } t.Logf("Running %s...", fi.Name()) file, err := os.Open(filepath.Join(testdataPath, fi.Name())) if err != nil { t.Fatal(err) } // Compress (and tee to orig for comparison) var compressed bytes.Buffer w := NewB2Writer(&compressed) io.Copy(w, file) w.Close() f, err := os.Open(filepath.Join("testdata", fi.Name()+".lzh")) if err != nil { t.Fatal(err) } rd := bufio.NewReader(f) for i := 0; compressed.Len() > 0; i++ { c, _ := compressed.ReadByte() d, _ := rd.ReadByte() if c != d { t.Errorf("%s: Byte idx %d not matching. Skipping rest of compare.", fi.Name(), i) break } } file.Close() f.Close() } } func TestWriter(t *testing.T) { for i, sample := range samples { var buf bytes.Buffer lz := NewWriter(&buf, true) _, err := io.Copy(lz, bytes.NewReader(sample.plain)) if err != nil { t.Errorf("Unexpected error: %s", err) } if err := lz.Close(); err != nil { t.Errorf("Close error on sample %d: %s", i, err) } if !bytes.Equal(buf.Bytes()[0:2], sample.compressed[0:2]) { t.Errorf("Sample %d failed: checksum mismatch", i) } if !bytes.Equal(buf.Bytes()[2:6], sample.compressed[2:6]) { t.Errorf("Sample %d failed: length header mismatch", i) } if !bytes.Equal(buf.Bytes()[6:], sample.compressed[6:]) { t.Errorf("Sample %d failed", i) } } } type sample struct { plain []byte compressed []byte } var samples = []sample{ sample{ []byte("\n"), []byte{0xe, 0x8f, 0x1, 0x0, 0x0, 0x0, 0xcb, 0x0}, }, sample{ []byte("foo"), []byte{0xb6, 0x47, 0x3, 0x0, 0x0, 0x0, 0xf9, 0x7e, 0xf1, 0x0}, }, sample{ []byte("The quick brown fox jumps over the lazy dog\r\nThe quick brown fox jumps over the lazy dog"), []byte{0x76, 0x25, 0x58, 0x0, 0x0, 0x0, 0xf0, 0x7d, 0x3e, 0x3a, 0xcf, 0xe8, 0xf, 0xd7, 0xdf, 0xf7, 0xc2, 0xf7, 0x7f, 0xbf, 0x60, 0x7f, 0xab, 0x7f, 0x2b, 0xa0, 0x4b, 0x7f, 0x6c, 0xf, 0xcf, 0xf3, 0xff, 0x55, 0x60, 0x2c, 0x3b, 0xba, 0x80, 0x23, 0x3, 0xdf, 0x8f, 0x68, 0x30, 0x2d, 0x3f, 0xa, 0xff, 0x3c, 0xce, 0x5b, 0xf2, 0x2c}, }, sample{ []byte("bar"), []byte{0xc7, 0xef, 0x03, 0x00, 0x00, 0x00, 0xf7, 0x7b, 0x7f, 0xc0}, }, sample{ // from wikipedia []byte("Unicode is a computing industry standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. Developed in conjunction with the Universal Character Set standard and published as The Unicode Standard, the latest version of Unicode contains a repertoire of more than 110,000 characters covering 100 scripts and multiple symbol sets. The standard consists of a set of code charts for visual reference, an encoding method and set of standard character encodings, a set of reference data computer files, and a number of related items, such as character properties, rules for normalization, decomposition, collation, rendering, and bidirectional display order (for the correct display of text containing both right-to-left scripts, such as Arabic and Hebrew, and left-to-right scripts).[1] As of June 2014, the most recent version is Unicode 7.0. The standard is maintained by the Unicode Consortium."), []byte{0x3f, 0x3e, 0xbd, 0x3, 0x0, 0x0, 0xf0, 0xfe, 0xbe, 0xbe, 0xff, 0xdf, 0xc3, 0xe3, 0xac, 0xc3, 0xff, 0xdf, 0x7b, 0x6e, 0x61, 0x60, 0xfe, 0x7f, 0x80, 0x20, 0x16, 0x71, 0x3e, 0x77, 0x6d, 0x57, 0xc0, 0xb7, 0xbd, 0xb6, 0xff, 0x2, 0xd1, 0x4e, 0x95, 0xe5, 0x9a, 0xb3, 0xac, 0x2a, 0xd1, 0xf2, 0x9f, 0x26, 0x8a, 0xdf, 0x4b, 0xfa, 0xa0, 0x8e, 0x5a, 0xf2, 0x41, 0x14, 0x39, 0x62, 0xa2, 0x6c, 0xb3, 0x83, 0xa8, 0x42, 0xdd, 0xc3, 0xa7, 0xbf, 0x70, 0xdc, 0x10, 0x4a, 0x9, 0xd4, 0x92, 0xa, 0x53, 0x3f, 0xb9, 0xa1, 0x9b, 0xa7, 0x5b, 0x1c, 0x7e, 0x2a, 0xa4, 0x5b, 0x14, 0xce, 0x92, 0x30, 0x48, 0x5, 0xd1, 0x11, 0x22, 0x47, 0xe3, 0x46, 0x12, 0x75, 0xd7, 0x2c, 0xc0, 0x9c, 0x40, 0x64, 0xc4, 0x90, 0x1b, 0x8c, 0xc5, 0x2d, 0xb3, 0x2b, 0x9b, 0x9a, 0x69, 0xac, 0xbc, 0x3d, 0x39, 0xc9, 0xf5, 0x68, 0xdd, 0x37, 0xa0, 0x50, 0x22, 0xa9, 0x7d, 0x5e, 0x24, 0x62, 0x72, 0xe3, 0xec, 0xa4, 0x6a, 0x94, 0x94, 0xd, 0x46, 0xe9, 0x50, 0x22, 0x33, 0x4e, 0x7f, 0x32, 0x19, 0xe3, 0x90, 0xc7, 0xfc, 0xf5, 0x45, 0x1, 0x25, 0xa4, 0x30, 0x7f, 0xdf, 0x31, 0x22, 0xe7, 0xb2, 0xc3, 0x25, 0x82, 0xe8, 0x70, 0x9e, 0x1c, 0x13, 0x10, 0xca, 0x1f, 0xd0, 0x5, 0xf1, 0xaa, 0x74, 0xd1, 0x32, 0x74, 0x8e, 0x9, 0xea, 0x63, 0xd, 0xc9, 0xe, 0x63, 0x53, 0xa9, 0x1e, 0x11, 0x46, 0x63, 0xda, 0x76, 0x27, 0x42, 0x66, 0x4e, 0x79, 0xe4, 0x65, 0x45, 0xb4, 0xa4, 0xe0, 0x2f, 0x1e, 0x80, 0xe4, 0x88, 0x1c, 0x71, 0xb0, 0x39, 0xb6, 0x94, 0xf1, 0x1a, 0x50, 0x8c, 0x2b, 0xf1, 0xd1, 0xf, 0xcd, 0x45, 0x26, 0x31, 0x36, 0x35, 0xd9, 0xb5, 0x9a, 0xcc, 0xf9, 0xd8, 0x5c, 0x9e, 0xc3, 0xfe, 0xac, 0x74, 0x81, 0xf1, 0x9f, 0xab, 0x40, 0xb8, 0x7, 0x51, 0xaf, 0xf4, 0xa3, 0xa2, 0x57, 0x35, 0xee, 0xb7, 0xc7, 0xd2, 0xcc, 0xcd, 0x88, 0xb1, 0xec, 0x90, 0xb9, 0x6b, 0x99, 0x49, 0xa6, 0xe2, 0xe, 0xc1, 0x1d, 0xc6, 0x5f, 0x8a, 0xf, 0x5, 0xfe, 0x61, 0xdb, 0xdf, 0x5b, 0x8f, 0xd3, 0x9f, 0x2d, 0xd3, 0x6f, 0x7e, 0xc2, 0xf1, 0xea, 0xf7, 0x16, 0x62, 0x9a, 0xf1, 0x9b, 0x6e, 0xe4, 0x52, 0x80, 0xe0, 0x1f, 0xa5, 0x93, 0xb8, 0x6a, 0xaf, 0x81, 0xa1, 0x5b, 0xe3, 0xbe, 0x51, 0x37, 0xa1, 0x1f, 0xae, 0xfa, 0x5e, 0x9b, 0x94, 0xf8, 0xac, 0x47, 0x95, 0xe4, 0x2, 0x79, 0x6b, 0x7a, 0xef, 0xe, 0xbe, 0xf4, 0x64, 0x27, 0xa4, 0x5d, 0x15, 0x71, 0x2d, 0x52, 0x2c, 0xce, 0x9e, 0xeb, 0xdb, 0x97, 0x29, 0xae, 0x7c, 0x62, 0x8f, 0x90, 0x61, 0xa1, 0x3e, 0xfe, 0x50, 0x78, 0xf7, 0xa0, 0x83, 0xd6, 0xf2, 0xf0, 0xd2, 0x4f, 0xef, 0x6b, 0x90, 0xde, 0xae, 0xc7, 0xbe, 0x28, 0x53, 0xed, 0x58, 0x70, 0x34, 0x7, 0x74, 0xda, 0xd8, 0x61, 0xdb, 0x43, 0x30, 0x8d, 0x34, 0xc2, 0xc7, 0xb0, 0x5d, 0x75, 0x31, 0xd9, 0x5f, 0x8e, 0x38, 0x69, 0x4e, 0xe3, 0x65, 0x79, 0x65, 0xbe, 0xc6, 0xb8, 0x84, 0x8, 0xf4, 0x4c, 0xd9, 0x84, 0x92, 0xa0, 0x8d, 0x68, 0x79, 0x9c, 0x2, 0xa0, 0xd2, 0x2a, 0xc5, 0x19, 0x2a, 0x1e, 0x14, 0x9b, 0xb5, 0xe7, 0x3f, 0xa6, 0x6a, 0x61, 0xe7, 0x86, 0xd0, 0xed, 0x2e, 0x32, 0x3a, 0x28, 0x19, 0x75, 0xfb, 0xcb, 0x72, 0x8d, 0xa6, 0x29, 0x4b, 0xd3, 0x7d, 0xf7, 0xef, 0xc5, 0x9b, 0xb, 0x2c, 0x34, 0x6c, 0x7b, 0x58, 0x6a, 0x4d, 0xe3, 0x6c, 0xe3, 0xba, 0x9c, 0xeb, 0x2a, 0x66, 0x3b, 0xb3, 0x15, 0x5f, 0x26, 0xe5, 0xa9, 0xbe, 0xd, 0x2f, 0x62, 0xd8, 0xd6, 0xe6, 0x7d, 0x64, 0xce, 0xd3, 0xdd, 0x79, 0x6f, 0xb7, 0x1, 0x6d, 0xb8, 0x26, 0xfc, 0x2b, 0x7d, 0x79, 0x8c, 0x5a, 0x1f, 0x7d, 0x4e, 0xa8, 0x86, 0x9a, 0xb6, 0xe, 0x8d, 0x58, 0xb, 0x81, 0x65, 0xcd, 0x26, 0x56, 0x72, 0xec, 0x51, 0x80}, }, sample{ []byte(`UTF-8 encoded sample plain-text file ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Markus Kuhn [ˈmaʳkʊs kuːn] — 2002-07-25 The ASCII compatible UTF-8 encoding used in this plain-text file is defined in Unicode, ISO 10646-1, and RFC 2279. Using Unicode/UTF-8, you can write in emails and source code things such as Mathematics and sciences: ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫ ⎪⎢⎜│a²+b³ ⎟⎥⎪ ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪ ⎪⎢⎜⎷ c₈ ⎟⎥⎪ ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬ ⎪⎢⎜ ∞ ⎟⎥⎪ ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪ ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪ 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭ Linguistics and dictionaries: ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ] APL: ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈ Nicer typography in plain text files: ╔══════════════════════════════════════════╗ ║ ║ ║ • ‘single’ and “double” quotes ║ ║ ║ ║ • Curly apostrophes: “We’ve been here” ║ ║ ║ ║ • Latin-1 apostrophe and accents: ║ ║ ║ ║ • ‚deutsche‘ „Anführungszeichen“ ║ ║ ║ ║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ║ ║ ║ ║ • ASCII safety test: 1lI|, 0OD, 8B ║ ║ ╭─────────╮ ║ ║ • the euro symbol: │ 14.95 € │ ║ ║ ╰─────────╯ ║ ╚══════════════════════════════════════════╝ Combining characters: STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑ Greek (in Polytonic): The Greek anthem: Σὲ γνωρίζω ἀπὸ τὴν κόψη τοῦ σπαθιοῦ τὴν τρομερή, σὲ γνωρίζω ἀπὸ τὴν ὄψη ποὺ μὲ βία μετράει τὴ γῆ. ᾿Απ᾿ τὰ κόκκαλα βγαλμένη τῶν ῾Ελλήνων τὰ ἱερά καὶ σὰν πρῶτα ἀνδρειωμένη χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά! From a speech of Demosthenes in the 4th century BC: Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι, ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿ εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι, οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον. Δημοσθένους, Γ´ ᾿Ολυνθιακὸς Georgian: From a Unicode conference invitation: გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში. Russian: From a Unicode conference invitation: Зарегистрируйтесь сейчас на Десятую Международную Конференцию по Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. Конференция соберет широкий круг экспертов по вопросам глобального Интернета и Unicode, локализации и интернационализации, воплощению и применению Unicode в различных операционных системах и программных приложениях, шрифтах, верстке и многоязычных компьютерных системах. Thai (UCS Level 2): Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese classic 'San Gua'): [----------------------------|------------------------] ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่ สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้ ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ (The above is a two-column text. If combining characters are handled correctly, the lines of the second column should be aligned with the | character above.) Ethiopian: Proverbs in the Amharic language: ሰማይ አይታረስ ንጉሥ አይከሰስ። ብላ ካለኝ እንደአባቴ በቆመጠኝ። ጌጥ ያለቤቱ ቁምጥና ነው። ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው። የአፍ ወለምታ በቅቤ አይታሽም። አይጥ በበላ ዳዋ ተመታ። ሲተረጉሙ ይደረግሙ። ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል። ድር ቢያብር አንበሳ ያስር። ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም። እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም። የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ። ሥራ ከመፍታት ልጄን ላፋታት። ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል። የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ። ተንጋሎ ቢተፉ ተመልሶ ባፉ። ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው። እግርህን በፍራሽህ ልክ ዘርጋ። Runes: ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ (Old English, which transcribed into Latin reads 'He cwaeth that he bude thaem lande northweardum with tha Westsae.' and means 'He said that he lived in the northern land near the Western Sea.') Braille: ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞ ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎ ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂ ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙ ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑ ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲ ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹ ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕ ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹ ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎ ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎ ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳ ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ (The first couple of paragraphs of "A Christmas Carol" by Dickens) Compact font selection example text: ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა Greetings in various languages: Hello world, Καλημέρα κόσμε, コンニチハ Box drawing alignment tests: █ ▉ ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳ ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳ ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳ ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳ ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎ ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏ ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█ `), []byte{0x2c, 0x55, 0xa0, 0x36, 0x0, 0x0, 0xf0, 0xf8, 0x3a, 0x5b, 0x9e, 0x26, 0xb3, 0xe3, 0xfa, 0xf7, 0xfe, 0xfe, 0x17, 0xf7, 0x78, 0x1f, 0xff, 0x6f, 0xe7, 0xf9, 0xf8, 0xb3, 0x66, 0xde, 0xda, 0xe7, 0xeb, 0x7d, 0x84, 0x1, 0x68, 0x12, 0xc2, 0xcf, 0xca, 0xc6, 0xb4, 0xf9, 0x66, 0xe0, 0xc4, 0xaf, 0x8, 0xb, 0xf0, 0x2, 0xab, 0x8f, 0xd9, 0x99, 0xfe, 0xfb, 0x80, 0xdd, 0x45, 0xd7, 0x9e, 0xfa, 0x4a, 0x8b, 0xce, 0xae, 0x29, 0x71, 0x45, 0x58, 0xfe, 0x7e, 0x48, 0x5a, 0x34, 0x8f, 0x61, 0x4c, 0xe, 0x4d, 0xf4, 0xc9, 0xc8, 0x9c, 0x7d, 0xd, 0xd7, 0x1b, 0x76, 0xc6, 0x7, 0x0, 0xaf, 0x75, 0x7b, 0x59, 0xa5, 0x9a, 0xee, 0x59, 0x30, 0xf9, 0xe4, 0x58, 0xcd, 0x82, 0x9e, 0xfc, 0xd1, 0xdf, 0x70, 0x5d, 0xf2, 0x8d, 0x55, 0x52, 0x40, 0x67, 0x2d, 0xe3, 0x52, 0x86, 0x44, 0xf8, 0x6d, 0x5b, 0x38, 0xd2, 0x15, 0x2c, 0x45, 0x9, 0x23, 0x9b, 0xdf, 0xe7, 0xf5, 0x4e, 0x50, 0x55, 0xe0, 0x90, 0x97, 0x29, 0x4f, 0xbb, 0xdc, 0x92, 0x72, 0x93, 0x95, 0xc3, 0x39, 0xa4, 0x58, 0xeb, 0x29, 0xf8, 0x4, 0xa4, 0xa6, 0x63, 0x7f, 0x8b, 0xa8, 0x1, 0x21, 0x22, 0x29, 0x57, 0x1e, 0x7f, 0x7c, 0x45, 0x8a, 0x92, 0x7d, 0x55, 0x5d, 0xb8, 0x41, 0x95, 0xf9, 0x1a, 0x37, 0xad, 0x10, 0x48, 0x2, 0xff, 0x47, 0x7, 0x9c, 0x63, 0xb5, 0x5c, 0x93, 0x61, 0xaf, 0x73, 0xc7, 0xc6, 0x56, 0x2f, 0xa5, 0x65, 0xa0, 0x61, 0x4f, 0x49, 0x64, 0xe8, 0xaf, 0xc2, 0x7c, 0xad, 0xfd, 0xe4, 0x77, 0xf0, 0x4e, 0x89, 0xa7, 0x3d, 0x7f, 0x41, 0x98, 0xea, 0x7a, 0x11, 0x79, 0x7, 0xae, 0x7a, 0xc8, 0x30, 0x1e, 0x12, 0x58, 0x6e, 0x51, 0x72, 0xca, 0x71, 0x66, 0xd4, 0x79, 0x8b, 0xb7, 0x8e, 0x1b, 0xc0, 0x81, 0xb2, 0xef, 0x4c, 0xf1, 0x29, 0x32, 0xb3, 0xf5, 0x15, 0x5b, 0x95, 0xc6, 0x22, 0xbb, 0xb2, 0x1, 0x99, 0xf3, 0xa4, 0x10, 0x2, 0x7b, 0xd9, 0xd2, 0xe6, 0xef, 0xb5, 0x43, 0x3e, 0xe1, 0x3b, 0x35, 0xfb, 0x67, 0xe9, 0x52, 0xff, 0xd, 0x82, 0xcc, 0x28, 0x1c, 0x28, 0x58, 0x21, 0x5e, 0x80, 0x20, 0x1e, 0x74, 0x3f, 0x8e, 0xbf, 0x9a, 0x83, 0x38, 0x31, 0x51, 0x33, 0xff, 0x68, 0x2a, 0xe1, 0x6, 0x66, 0xf3, 0xd1, 0x10, 0x37, 0xf5, 0xe5, 0x3d, 0xc5, 0x6b, 0xe8, 0xd0, 0xde, 0x26, 0xae, 0xae, 0xd3, 0xd7, 0x1, 0x4, 0xd9, 0xe3, 0xf2, 0xc6, 0x62, 0xf3, 0x7a, 0x67, 0x9d, 0x9, 0xff, 0x91, 0xe6, 0xf5, 0xb0, 0xf1, 0xd7, 0x36, 0x53, 0xa2, 0x49, 0x43, 0xbf, 0xca, 0xd3, 0xbc, 0x48, 0x7f, 0x6b, 0x5c, 0x62, 0x1d, 0x4a, 0x70, 0xc, 0x24, 0x5e, 0xee, 0x19, 0xb4, 0x3a, 0x7b, 0x93, 0xe1, 0xec, 0xfa, 0x5e, 0xb2, 0x4e, 0xa5, 0xa5, 0xdb, 0x97, 0x41, 0x39, 0x41, 0xe, 0xe1, 0xb1, 0xf3, 0x9e, 0xc1, 0x7, 0x0, 0x55, 0x3, 0xff, 0x13, 0x5a, 0x4c, 0x4f, 0x51, 0xf5, 0xe4, 0x6a, 0x33, 0x86, 0xbb, 0x7a, 0xb3, 0xd7, 0x5a, 0xcd, 0xee, 0x68, 0x27, 0x0, 0x48, 0x88, 0xb1, 0xb1, 0x87, 0xc7, 0xe0, 0xf4, 0xa6, 0x7, 0x1f, 0x5c, 0x31, 0x5d, 0xdc, 0x9f, 0x10, 0x7b, 0x2b, 0x5, 0x77, 0xf4, 0xdb, 0xaa, 0xe, 0x81, 0xf1, 0xb7, 0x12, 0xad, 0x64, 0x7e, 0x9a, 0x80, 0xf6, 0x7b, 0x71, 0x49, 0x97, 0x94, 0xe0, 0x57, 0x66, 0x6c, 0xf, 0xc2, 0x64, 0x81, 0xf6, 0xc8, 0x41, 0xe8, 0x9b, 0x2e, 0x1c, 0xf9, 0x43, 0xa1, 0x88, 0x28, 0x4c, 0x80, 0xf9, 0xf5, 0x2d, 0x17, 0xcf, 0x9c, 0xe6, 0x35, 0xdc, 0xf1, 0xe, 0xf9, 0x6f, 0x23, 0xdd, 0x28, 0x9a, 0xe0, 0xb6, 0xd7, 0xf5, 0x4a, 0xf6, 0xc0, 0x2f, 0x85, 0x60, 0x60, 0x15, 0xd9, 0x6a, 0x44, 0xb, 0xca, 0x90, 0x76, 0x67, 0x80, 0x25, 0x3d, 0x58, 0xad, 0xbb, 0xef, 0xb5, 0x16, 0x4c, 0x98, 0xa0, 0x30, 0xd2, 0xde, 0xd5, 0x37, 0x7e, 0xb9, 0x6e, 0xc1, 0x1, 0xca, 0x62, 0xc9, 0xf6, 0x74, 0x6e, 0x64, 0xff, 0x38, 0x73, 0xc0, 0xb1, 0x48, 0xdd, 0x7a, 0x76, 0x18, 0x94, 0x2, 0x68, 0x8, 0xb9, 0xb7, 0x20, 0xb1, 0x7a, 0xdb, 0xc6, 0xba, 0x9c, 0x6, 0x1c, 0x1, 0x92, 0x41, 0x3, 0xd6, 0xaf, 0xcd, 0xa4, 0x44, 0xe7, 0x34, 0x5e, 0x76, 0x5a, 0x59, 0x2d, 0x21, 0xf1, 0xd2, 0x86, 0x4e, 0x53, 0xcb, 0x9b, 0x15, 0x3e, 0x19, 0x84, 0x9a, 0x98, 0x4a, 0xa3, 0x1d, 0xd9, 0x3c, 0xe2, 0xc4, 0xc0, 0x84, 0xb6, 0x51, 0xfa, 0x59, 0x0, 0xf, 0x72, 0x92, 0x61, 0xfa, 0x36, 0x50, 0xe4, 0x87, 0xc, 0x6b, 0x81, 0xe0, 0x7, 0x2b, 0xba, 0xf6, 0x64, 0x92, 0xd7, 0x18, 0x77, 0xcd, 0x36, 0x20, 0x38, 0x46, 0x95, 0x58, 0xa0, 0x66, 0x86, 0x26, 0x56, 0x7b, 0xb5, 0xc1, 0x96, 0x70, 0x8d, 0x8d, 0x1c, 0x68, 0xc7, 0xc1, 0x7, 0xe8, 0x41, 0x30, 0x78, 0x85, 0xad, 0xe8, 0xae, 0xe1, 0x4d, 0xd3, 0x5f, 0xd0, 0x5d, 0x54, 0x1c, 0xf2, 0x80, 0x7f, 0x71, 0xb1, 0xbd, 0x22, 0x65, 0x42, 0x76, 0xc3, 0xbb, 0x1d, 0xa, 0xa1, 0xa4, 0xb8, 0xc2, 0x4e, 0x61, 0x6a, 0x9b, 0xa9, 0x7a, 0xf1, 0x30, 0xeb, 0xe0, 0x5a, 0x7f, 0x3c, 0xd1, 0xaa, 0x46, 0xf3, 0x6f, 0x1, 0xa0, 0xee, 0x27, 0x62, 0x1, 0x4, 0x51, 0x5d, 0x45, 0xb4, 0x15, 0xd6, 0xd8, 0xb4, 0x17, 0x9b, 0x5b, 0x6, 0x83, 0x6c, 0xb7, 0x60, 0x5f, 0x0, 0x5b, 0x3f, 0xbf, 0xd8, 0x2b, 0x2f, 0x88, 0xda, 0xf0, 0xf0, 0xf3, 0x5a, 0x67, 0xaf, 0x9a, 0x5, 0xa2, 0x18, 0x2f, 0xb7, 0xd0, 0x6f, 0xdd, 0xb7, 0x7d, 0xd8, 0x3b, 0xc5, 0x85, 0xd2, 0xb3, 0x7f, 0xde, 0x5e, 0x56, 0xb8, 0xea, 0x46, 0xcc, 0x32, 0x3c, 0xec, 0xc5, 0xb5, 0x50, 0xb6, 0x18, 0x9c, 0x2a, 0xbe, 0x31, 0x28, 0x56, 0xee, 0xbd, 0x17, 0x75, 0xa9, 0x84, 0x8a, 0xb9, 0x9b, 0xb3, 0xff, 0xf3, 0x2b, 0xe3, 0xee, 0x6, 0x68, 0xb, 0xb0, 0x2, 0xee, 0x2, 0xac, 0xc7, 0x31, 0x81, 0x60, 0x8a, 0x29, 0xbf, 0x1d, 0xce, 0x19, 0x78, 0x4c, 0xb7, 0x60, 0x3a, 0xc2, 0xdb, 0x2f, 0x72, 0xb0, 0xd, 0xbe, 0x22, 0xc3, 0x40, 0xbc, 0xb2, 0xce, 0x8d, 0x1b, 0xba, 0x80, 0xab, 0x22, 0x6d, 0xef, 0xe, 0x4, 0x54, 0xeb, 0xe6, 0x3c, 0x75, 0x8a, 0xf0, 0x3e, 0x64, 0x6d, 0x27, 0x9d, 0xca, 0x79, 0x50, 0x49, 0x11, 0x29, 0x28, 0xda, 0xc9, 0xac, 0xb1, 0x94, 0xeb, 0x2f, 0x9f, 0xca, 0x8f, 0x4a, 0xad, 0xb6, 0x39, 0xd6, 0xcf, 0x28, 0xbc, 0x4b, 0x2b, 0x73, 0x15, 0xbf, 0x1d, 0xdd, 0xcd, 0x3f, 0xf2, 0x1c, 0xe2, 0xbc, 0xb8, 0x47, 0x79, 0x4, 0xe9, 0x52, 0x1b, 0x2e, 0xab, 0x11, 0x52, 0x42, 0xc5, 0x50, 0x55, 0xd3, 0xfc, 0x73, 0xc9, 0x63, 0x6b, 0x1d, 0x21, 0xb4, 0xa3, 0x90, 0xd3, 0x8d, 0xe7, 0x78, 0xec, 0xc9, 0x5f, 0xfe, 0xf0, 0x9a, 0x90, 0x69, 0x9f, 0x82, 0xf8, 0xf9, 0x26, 0xe0, 0x58, 0xcf, 0xa1, 0x61, 0xb0, 0xf6, 0x18, 0xea, 0x72, 0xea, 0x2, 0x44, 0xad, 0x2, 0x74, 0xac, 0x13, 0x87, 0xfb, 0xab, 0xfe, 0xca, 0xf0, 0xaa, 0x6c, 0x30, 0xfd, 0x59, 0xcc, 0xb, 0xbb, 0x15, 0xf0, 0x7b, 0x93, 0xe0, 0xcf, 0xb2, 0x40, 0x80, 0x2e, 0x78, 0x8d, 0x2, 0x93, 0x72, 0x89, 0x1, 0x12, 0x53, 0xd9, 0xad, 0xa4, 0x95, 0xbf, 0x91, 0x9, 0xe5, 0x88, 0x7a, 0x7a, 0x98, 0x27, 0xe5, 0xc7, 0x9d, 0x5a, 0x3e, 0xaf, 0xb9, 0xd, 0x60, 0x74, 0x94, 0xfe, 0xe3, 0x3f, 0xee, 0xb1, 0xf2, 0x63, 0x90, 0x5e, 0xb2, 0x13, 0x2e, 0xba, 0x3f, 0x98, 0xd7, 0xe4, 0x1a, 0xbd, 0xde, 0x9c, 0x8, 0x5b, 0x3f, 0xeb, 0x7b, 0x19, 0xb0, 0xdb, 0x3d, 0xe8, 0xc7, 0xda, 0xd2, 0x89, 0xfb, 0x1, 0x79, 0xb0, 0x6a, 0x11, 0xb, 0x3a, 0x1b, 0x2a, 0x68, 0x18, 0x6a, 0x68, 0x1a, 0xfb, 0xd7, 0x9, 0x9a, 0xa6, 0x40, 0x24, 0x4, 0x6b, 0x25, 0xfb, 0xf4, 0xe0, 0x32, 0x3e, 0x33, 0xb3, 0xd3, 0x60, 0xed, 0x6a, 0xaa, 0xe5, 0x4d, 0xcd, 0xc6, 0xcf, 0xab, 0x65, 0xf, 0xba, 0x61, 0x69, 0x15, 0xb9, 0x50, 0x64, 0xcb, 0xe3, 0xe6, 0x47, 0x67, 0xfe, 0xc, 0xcf, 0x3e, 0xcf, 0x62, 0x38, 0xfd, 0x87, 0xbc, 0x12, 0x87, 0x80, 0xbc, 0xa9, 0x19, 0xbc, 0xe, 0xe1, 0x3b, 0xe3, 0x98, 0xa8, 0xfb, 0xf0, 0x21, 0x45, 0x69, 0x5d, 0xb7, 0xdc, 0xab, 0x5f, 0xfa, 0xb5, 0xd, 0x29, 0xdb, 0xde, 0x95, 0x3b, 0x33, 0x80, 0xf1, 0xc2, 0x21, 0xf7, 0xcb, 0x87, 0xe8, 0x39, 0x5e, 0x5e, 0x5d, 0xb3, 0x1d, 0xae, 0x9a, 0x7f, 0x53, 0xea, 0x7d, 0x98, 0xa6, 0xc3, 0x7f, 0xe9, 0xea, 0x7, 0xb9, 0xcb, 0x86, 0x8b, 0xea, 0x67, 0x15, 0x14, 0x65, 0xc4, 0xdb, 0xa2, 0xd3, 0x41, 0xe6, 0x3e, 0x6e, 0x9e, 0x67, 0x43, 0xef, 0x32, 0xd0, 0x8a, 0xca, 0xc7, 0xb8, 0xbe, 0x59, 0xa2, 0x73, 0xa9, 0x7d, 0x1f, 0x9, 0x31, 0x9a, 0x57, 0x3c, 0x86, 0x59, 0xc9, 0x77, 0x46, 0x3c, 0xfe, 0x31, 0x5d, 0xb9, 0x1e, 0xe, 0xf0, 0xcb, 0x2b, 0xa7, 0x8f, 0xdf, 0xc6, 0xc3, 0x7, 0xc7, 0x15, 0xa3, 0x92, 0x81, 0x35, 0x36, 0xe, 0x6c, 0xcd, 0xe, 0x41, 0x59, 0x21, 0x14, 0xe5, 0xb0, 0x65, 0x20, 0xb, 0x14, 0xbc, 0x5c, 0xb9, 0x1f, 0xc1, 0x47, 0xc0, 0x8a, 0x33, 0x1c, 0x73, 0x29, 0xb9, 0x7c, 0xde, 0x9e, 0xb4, 0xd8, 0xc9, 0x20, 0x69, 0x12, 0x64, 0x4e, 0x99, 0x4b, 0xb4, 0xe3, 0xdd, 0xd8, 0xa9, 0x93, 0x74, 0x89, 0x64, 0x7b, 0xa9, 0xe0, 0x18, 0x21, 0x8b, 0xf8, 0x31, 0xb8, 0x68, 0xc8, 0x92, 0x82, 0x38, 0xbe, 0x1a, 0xff, 0xa2, 0x3d, 0xa1, 0x82, 0x90, 0x4, 0x75, 0x3c, 0xd7, 0x2, 0x3, 0x0, 0x92, 0x9c, 0x41, 0x44, 0x4b, 0x12, 0x65, 0x61, 0xe, 0x89, 0x5b, 0xce, 0x68, 0x5e, 0x6b, 0x6c, 0x6a, 0x1a, 0x41, 0xa8, 0xc, 0x8f, 0x3d, 0x14, 0x6b, 0xe8, 0x4e, 0xa4, 0x25, 0x14, 0x83, 0x2b, 0x5f, 0x2d, 0x0, 0xab, 0xcc, 0x8a, 0xb8, 0xe2, 0x1, 0x3a, 0x22, 0x84, 0x14, 0xb0, 0x43, 0x43, 0xc5, 0x59, 0x51, 0x49, 0x98, 0xa, 0xb5, 0x42, 0x4e, 0x4e, 0xa9, 0xea, 0x9b, 0x8c, 0x40, 0x45, 0xca, 0x45, 0x6, 0x1b, 0x15, 0xe5, 0x81, 0xd, 0x66, 0x64, 0x99, 0x95, 0x66, 0xa0, 0x20, 0xc7, 0xb8, 0x8b, 0xad, 0x9c, 0x6e, 0xe9, 0x96, 0x73, 0x15, 0x76, 0xec, 0x98, 0xad, 0xd9, 0x63, 0x6f, 0xb0, 0xce, 0xc2, 0xcc, 0x66, 0xe0, 0xc1, 0xfc, 0xb2, 0x52, 0x8a, 0x11, 0x7e, 0x9a, 0xe6, 0x53, 0x9e, 0xbc, 0x5e, 0x9d, 0x5e, 0xef, 0x47, 0x8b, 0x88, 0x6a, 0x86, 0x6b, 0xd7, 0x41, 0xd7, 0xb6, 0xaf, 0xfd, 0x68, 0xe7, 0x95, 0x58, 0xd5, 0xa4, 0x2f, 0xb5, 0x7d, 0x9a, 0xcf, 0x31, 0xd3, 0x6, 0xd1, 0x81, 0x94, 0x21, 0x66, 0x66, 0x34, 0xb0, 0x8, 0x67, 0x90, 0x17, 0x5a, 0x1b, 0x19, 0x3a, 0xd8, 0x57, 0xb, 0x3e, 0x14, 0xe1, 0x2a, 0x59, 0x26, 0x3a, 0x14, 0x2a, 0x59, 0x42, 0x53, 0x28, 0x35, 0x38, 0x61, 0x1d, 0xff, 0x5a, 0x76, 0xdc, 0xc8, 0xde, 0x2, 0x31, 0xd7, 0x44, 0x9d, 0x4a, 0xf2, 0x97, 0xa5, 0x17, 0x50, 0xf5, 0x6d, 0x9f, 0xf6, 0x26, 0x62, 0xc9, 0x6b, 0xca, 0xea, 0x58, 0x2d, 0x64, 0xc1, 0xc6, 0xb4, 0x48, 0xbf, 0x2, 0x5e, 0x5f, 0x67, 0x4d, 0x72, 0xe6, 0xeb, 0x2e, 0xbd, 0x3e, 0x79, 0x2e, 0xb4, 0xdc, 0xbd, 0x5e, 0xf0, 0xd2, 0x97, 0xf5, 0xf5, 0x5c, 0x4, 0x84, 0x55, 0xa3, 0x65, 0xf5, 0xc4, 0x35, 0xce, 0x57, 0xc2, 0x17, 0x30, 0x89, 0x64, 0xef, 0x3b, 0x18, 0x7b, 0xc0, 0x48, 0x65, 0xee, 0xb7, 0x7a, 0x81, 0xb1, 0x2c, 0xb, 0x61, 0x1, 0x23, 0x36, 0x97, 0xfc, 0x97, 0x32, 0x30, 0xf8, 0xf2, 0x21, 0x12, 0x2f, 0x29, 0x9b, 0x85, 0xbb, 0x5e, 0x8f, 0xa8, 0xc4, 0xee, 0x16, 0x76, 0xab, 0x61, 0x17, 0x0, 0x8c, 0xca, 0xd6, 0x5e, 0x85, 0x22, 0xaa, 0xb4, 0xa3, 0x8a, 0xd0, 0xe, 0xdf, 0x4f, 0x1e, 0x95, 0x33, 0xc, 0x62, 0xd, 0xba, 0x9b, 0x19, 0x27, 0xec, 0xa1, 0xc7, 0xff, 0xb7, 0xc, 0xae, 0xb0, 0x67, 0x1f, 0xcb, 0x6f, 0xbd, 0x94, 0x19, 0x55, 0x20, 0x7e, 0x8a, 0x72, 0xe, 0xff, 0x50, 0xf4, 0xaa, 0x26, 0xf6, 0x1e, 0xd5, 0x57, 0xd2, 0x9b, 0x34, 0xab, 0xf5, 0x61, 0x64, 0x65, 0xf6, 0xc8, 0x9d, 0x41, 0x3a, 0x51, 0xfc, 0xf6, 0xb9, 0x1a, 0x5b, 0x32, 0xb9, 0x19, 0x78, 0xa9, 0x3d, 0xd4, 0xa9, 0x20, 0x8f, 0x82, 0x7e, 0x83, 0xd1, 0xad, 0x52, 0xdb, 0x87, 0xd6, 0x49, 0x10, 0x4, 0x92, 0x1b, 0xf7, 0x8, 0x82, 0x1, 0xca, 0xd7, 0x16, 0x73, 0xf6, 0xa3, 0xdc, 0x7d, 0x1d, 0x3f, 0x47, 0x23, 0xc2, 0x1e, 0x88, 0xba, 0xa2, 0x75, 0xbb, 0x99, 0x85, 0x60, 0x52, 0xfd, 0x3d, 0x75, 0x74, 0x4d, 0xc3, 0x34, 0xcb, 0x9d, 0xfd, 0x30, 0x7e, 0xd0, 0xa6, 0x9b, 0x58, 0x7, 0x93, 0xdd, 0x73, 0x7b, 0x26, 0xfa, 0x78, 0x3d, 0x3c, 0x74, 0x8d, 0x72, 0x1e, 0x60, 0xda, 0x83, 0xd0, 0xf9, 0xe1, 0xf9, 0x97, 0xbc, 0xd9, 0x47, 0x94, 0x71, 0x1a, 0x66, 0x6a, 0xa7, 0xe9, 0x0, 0xf2, 0x4f, 0xd3, 0x2d, 0xf6, 0xfb, 0xf6, 0x96, 0x64, 0x8c, 0xef, 0x83, 0x66, 0xf4, 0xa3, 0x42, 0xa1, 0x3a, 0x7c, 0xcb, 0x42, 0x46, 0x90, 0x47, 0x72, 0xce, 0x9d, 0x66, 0x0, 0xf9, 0xd3, 0x41, 0xaf, 0x6a, 0x83, 0x88, 0x19, 0x42, 0xe6, 0xf4, 0x81, 0x32, 0xcf, 0xa1, 0xa7, 0xb6, 0x1e, 0x59, 0x92, 0x15, 0x22, 0xb3, 0x48, 0xf8, 0x26, 0xa4, 0xc7, 0xba, 0x52, 0x22, 0x4a, 0xd0, 0xa7, 0xb7, 0xa1, 0xd7, 0x81, 0x83, 0xa2, 0x7, 0x96, 0x9f, 0x45, 0xa3, 0x47, 0xd2, 0x5b, 0xc, 0x56, 0xe4, 0x88, 0x57, 0x91, 0x7f, 0x4e, 0x39, 0x25, 0x4d, 0xe7, 0x6, 0x61, 0x50, 0x1c, 0xeb, 0x9c, 0x7d, 0xe5, 0x5e, 0xe5, 0x2e, 0xe3, 0xac, 0x67, 0x64, 0x24, 0xc5, 0x7e, 0xe, 0xaa, 0x78, 0xa4, 0x69, 0xe7, 0x41, 0xa6, 0xa2, 0x5c, 0x75, 0xa0, 0xc0, 0x2d, 0x2a, 0x44, 0xe9, 0x3a, 0x6b, 0xa4, 0x50, 0x48, 0xec, 0xd5, 0x11, 0xe7, 0xd4, 0x54, 0xd9, 0x88, 0x75, 0x97, 0xe6, 0xfd, 0x7d, 0x5a, 0xc0, 0x8d, 0x96, 0x11, 0xa8, 0xcf, 0x3c, 0x10, 0x9f, 0x30, 0xfb, 0x4a, 0x0, 0x6d, 0xd6, 0xb8, 0xa4, 0x5b, 0x8d, 0xee, 0x93, 0x75, 0x50, 0xdf, 0x6d, 0x51, 0x93, 0x5e, 0xcb, 0x8b, 0xfd, 0xa3, 0x9d, 0xf9, 0x45, 0xf3, 0xee, 0xfb, 0x54, 0x54, 0x13, 0xdb, 0xa, 0xdf, 0xe2, 0xa7, 0x1e, 0xad, 0xfc, 0x8c, 0x57, 0x22, 0xe4, 0x36, 0x16, 0xc5, 0x34, 0xb2, 0xc4, 0xbf, 0xe, 0x64, 0x69, 0xff, 0x61, 0x4b, 0x81, 0x1d, 0x2d, 0xad, 0x31, 0x54, 0x5b, 0xb6, 0x2c, 0x52, 0x1, 0x29, 0x45, 0xf4, 0xe6, 0xfd, 0xb1, 0x5e, 0x96, 0x12, 0x6b, 0x83, 0xa0, 0x81, 0x2b, 0x9a, 0xae, 0x29, 0xb3, 0x2, 0x85, 0xf9, 0xc1, 0xeb, 0xef, 0x8f, 0xff, 0x73, 0x4d, 0x7b, 0x62, 0xac, 0x79, 0xdd, 0x57, 0x84, 0x30, 0xf6, 0xc6, 0x47, 0x8, 0x71, 0x7d, 0xd9, 0xf5, 0x6d, 0xe3, 0x49, 0x6a, 0x8f, 0x17, 0xd7, 0xfc, 0x88, 0x27, 0x15, 0xd0, 0x90, 0xf6, 0x2c, 0x85, 0x66, 0xe0, 0xd1, 0x33, 0x95, 0x2d, 0xb5, 0x1e, 0x5, 0xeb, 0xbe, 0x16, 0x44, 0xca, 0xb8, 0x30, 0xcb, 0x53, 0x89, 0xf8, 0xd4, 0x6b, 0x27, 0xb6, 0x3a, 0x91, 0x71, 0xf9, 0xe0, 0x51, 0xfd, 0x32, 0x72, 0xa7, 0x2d, 0x8c, 0xf1, 0x87, 0xe6, 0xb6, 0xeb, 0x13, 0xaa, 0x45, 0x56, 0x7f, 0x61, 0xcb, 0xee, 0xeb, 0x44, 0x37, 0x52, 0x44, 0x58, 0x63, 0x83, 0xaa, 0x55, 0xe9, 0xec, 0x20, 0x25, 0xd, 0x80, 0x64, 0x67, 0x6b, 0xcc, 0x70, 0xc2, 0xd3, 0x9c, 0xe7, 0xab, 0xc9, 0x5c, 0xca, 0x39, 0x3e, 0xbd, 0x57, 0xde, 0x6, 0x85, 0xb7, 0x7c, 0x2, 0xba, 0xd5, 0x7b, 0xee, 0x88, 0xf2, 0xab, 0x75, 0x66, 0xf6, 0x75, 0x7a, 0xa4, 0x7c, 0x8c, 0x62, 0xad, 0x17, 0x2e, 0xb1, 0x9a, 0x51, 0x1, 0xa4, 0x1f, 0xb, 0x7c, 0x66, 0xca, 0x57, 0x89, 0x1f, 0x14, 0x79, 0x94, 0x4c, 0x28, 0xf4, 0xec, 0x93, 0x58, 0x6f, 0xbb, 0x2a, 0xdf, 0x25, 0x3b, 0x45, 0xe5, 0xbe, 0xad, 0xe2, 0x9a, 0x23, 0x4d, 0x49, 0xb1, 0x27, 0xd4, 0x75, 0xe6, 0x1f, 0x3e, 0x73, 0x91, 0x1c, 0x39, 0x9, 0xcd, 0x6d, 0xa7, 0x30, 0x25, 0xeb, 0xd1, 0xe6, 0xa6, 0xee, 0xa9, 0x1e, 0x8f, 0x35, 0xa, 0xac, 0xb3, 0x81, 0x71, 0x55, 0xdb, 0xc8, 0x4f, 0x58, 0x6a, 0xe2, 0x1a, 0x6e, 0xcc, 0x88, 0x2e, 0x46, 0x73, 0x4f, 0x8b, 0x2, 0x97, 0x6, 0x32, 0x53, 0xa7, 0xcb, 0x96, 0xbf, 0xac, 0xe3, 0x3c, 0xd4, 0x9d, 0x57, 0xf1, 0xc3, 0x5e, 0x1c, 0x92, 0x58, 0x35, 0xdc, 0x6e, 0x44, 0x74, 0x77, 0x94, 0xf9, 0x73, 0xd, 0x17, 0x45, 0x1e, 0xda, 0xfa, 0xe8, 0xe7, 0x8e, 0xe9, 0x34, 0xd1, 0x7e, 0x95, 0x7e, 0xd6, 0x73, 0x6, 0x0, 0x47, 0xb8, 0xfe, 0xd6, 0xf9, 0xe0, 0xa3, 0xbf, 0xf8, 0x2f, 0xa3, 0x95, 0x41, 0x27, 0xfe, 0x73, 0x53, 0xfb, 0xce, 0x63, 0xa8, 0x1, 0x60, 0x25, 0x5f, 0xb0, 0x7c, 0x37, 0x60, 0x80, 0x12, 0xfd, 0xf0, 0x4a, 0x1, 0x88, 0xd, 0x81, 0x5b, 0xdc, 0x15, 0xc8, 0xa0, 0x2, 0x48, 0xf0, 0x81, 0x1, 0x8f, 0xe1, 0xf1, 0xb3, 0x1d, 0x8, 0x81, 0xb, 0xf3, 0xc1, 0x55, 0x92, 0xfe, 0xab, 0xf1, 0x0, 0x18, 0x67, 0xba, 0x30, 0x4, 0x48, 0x2c, 0xa4, 0x96, 0x23, 0x42, 0x51, 0x92, 0xc, 0x91, 0x24, 0x24, 0x47, 0x5e, 0x8f, 0x49, 0xc2, 0xe, 0xfc, 0x92, 0x19, 0xe9, 0xc7, 0xec, 0xe8, 0x53, 0xef, 0x52, 0x8b, 0xc6, 0xe8, 0xb0, 0x81, 0x48, 0x3a, 0x32, 0x9d, 0x4b, 0x3e, 0x58, 0x8, 0xe6, 0x4f, 0x48, 0x20, 0x92, 0x84, 0xcf, 0xcb, 0x5f, 0x38, 0x69, 0x7a, 0x53, 0x52, 0x4c, 0x96, 0xc6, 0x7e, 0x4, 0xc7, 0x29, 0x9, 0x3e, 0x30, 0x23, 0xa8, 0xf1, 0x38, 0x2, 0x90, 0xc9, 0xc0, 0x21, 0xc6, 0xdb, 0xbb, 0x58, 0x31, 0x2d, 0x42, 0x3f, 0x6, 0x9e, 0x94, 0x9c, 0x42, 0x6e, 0xa9, 0x7b, 0xd0, 0xe3, 0x6a, 0xb4, 0xc, 0xc8, 0xf1, 0x6, 0x89, 0x40, 0x58, 0x52, 0x54, 0x92, 0x4d, 0x28, 0xc2, 0x43, 0xe4, 0xfd, 0x52, 0xbe, 0x90, 0xfc, 0x8d, 0x9c, 0x1a, 0x28, 0x49, 0xd2, 0x44, 0x92, 0x4, 0x3f, 0xc9, 0xff, 0x12, 0x11, 0x2b, 0x19, 0x69, 0x58, 0x72, 0xd4, 0xb5, 0xa5, 0x55, 0xf9, 0x4f, 0xa9, 0x14, 0x20, 0xb5, 0x9f, 0x2b, 0xa2, 0x40, 0x57, 0xbe, 0x1d, 0x8d, 0x67, 0x33, 0x8b, 0x25, 0x66, 0x22, 0x54, 0xb9, 0x4a, 0x8b, 0x96, 0x9c, 0xf5, 0x7c, 0x55, 0x93, 0xcf, 0xa2, 0x22, 0x94, 0x2f, 0x91, 0x5a, 0x16, 0xcf, 0xe2, 0xc6, 0x8b, 0x61, 0x25, 0xdc, 0x9c, 0x8f, 0x4d, 0xe0, 0x4a, 0x11, 0x39, 0x49, 0x89, 0x4c, 0x41, 0xd4, 0x37, 0xa2, 0x42, 0x31, 0xc2, 0x41, 0x5a, 0x2d, 0x11, 0x88, 0x37, 0x65, 0x5, 0x20, 0x55, 0x6c, 0x10, 0x52, 0xd5, 0xa1, 0x1e, 0x6c, 0xc4, 0x7f, 0xd9, 0xb9, 0x68, 0x69, 0x5f, 0xb1, 0xd1, 0x45, 0x82, 0x31, 0xfb, 0xc5, 0xaf, 0xa5, 0x4c, 0x95, 0x1d, 0xff, 0x3a, 0xe8, 0x9d, 0xaf, 0xfd, 0xa4, 0x27, 0xbc, 0x41, 0x50, 0x17, 0x33, 0x7b, 0x55, 0x20, 0x92, 0x84, 0x8f, 0x22, 0xfa, 0x1c, 0xc9, 0xdd, 0xca, 0xbf, 0xf9, 0x57, 0x0, 0xd5, 0x70, 0x45, 0x1a, 0x38, 0x65, 0x6f, 0xa6, 0x5, 0x1d, 0x64, 0xca, 0x4a, 0x2b, 0x91, 0x7b, 0xdd, 0xa2, 0x8f, 0xd4, 0x5c, 0x9, 0xa4, 0xe3, 0x65, 0x1f, 0x7a, 0x3f, 0x39, 0xaa, 0xb9, 0xaa, 0xd4, 0x33, 0x34, 0x7b, 0x12, 0x3a, 0xb3, 0xd4, 0xe2, 0x91, 0xec, 0x9d, 0xcd, 0x93, 0x77, 0xc2, 0x3e, 0x49, 0xd9, 0x4, 0xb0, 0x59, 0xcb, 0x53, 0x1, 0xce, 0xf5, 0xd7, 0x6d, 0xce, 0xec, 0x50, 0x1c, 0xc2, 0xdd, 0xd0, 0x81, 0x8a, 0x99, 0xef, 0x85, 0x1b, 0xbd, 0xb2, 0x96, 0xaa, 0x67, 0xf1, 0x8a, 0xfe, 0x54, 0xc2, 0xcd, 0xdb, 0x8d, 0xed, 0x48, 0xa7, 0xfe, 0x3c, 0x5e, 0x38, 0x37, 0x34, 0x76, 0x58, 0x40, 0x2d, 0x72, 0xb5, 0x1f, 0x64, 0xd6, 0x46, 0xbb, 0xec, 0x16, 0xaa, 0x54, 0xa2, 0xb1, 0xbd, 0xb5, 0x87, 0xda, 0x7a, 0x82, 0xd0, 0x30, 0x8a, 0x36, 0x81, 0x30, 0xd8, 0x7a, 0x1c, 0xa0, 0xc1, 0xa, 0x33, 0xf4, 0x53, 0x99, 0xd1, 0xef, 0x51, 0x82, 0x7e, 0x1a, 0xdb, 0x50, 0xbb, 0x13, 0xb4, 0x4d, 0x60, 0x1d, 0x90, 0x80, 0x63, 0x60, 0x11, 0x8d, 0x58, 0x75, 0x90, 0x3b, 0x1e, 0x52, 0x6f, 0x5c, 0xd7, 0xd, 0x58, 0x58, 0x33, 0x3c, 0xd2, 0xb3, 0x22, 0xa0, 0xa4, 0xe3, 0x6d, 0x46, 0xca, 0x66, 0x31, 0x94, 0x1c, 0x1, 0xd9, 0xbd, 0x90, 0xae, 0xa6, 0x49, 0x6e, 0x13, 0x6, 0xb2, 0xbd, 0x41, 0x99, 0x33, 0x7a, 0x20, 0x38, 0x2c, 0x57, 0xe0, 0xcc, 0x63, 0xb9, 0xe6, 0x51, 0xb2, 0xa6, 0xba, 0x15, 0x53, 0xe5, 0x4, 0xfb, 0x36, 0x6f, 0x33, 0x3c, 0x2, 0x22, 0x1b, 0xf2, 0xcf, 0x58, 0x2a, 0xd9, 0xa3, 0x8d, 0x6, 0x2e, 0x64, 0xc, 0x1f, 0x94, 0x58, 0x5f, 0x7, 0x84, 0xfc, 0xb4, 0x63, 0x16, 0x6a, 0xdd, 0x41, 0xd0, 0xc0, 0x94, 0xb5, 0x29, 0x19, 0xd6, 0x2b, 0xe9, 0xf7, 0xd8, 0x29, 0xda, 0x7, 0x3e, 0x22, 0xe5, 0x41, 0xb2, 0xf3, 0xd6, 0xc6, 0xfa, 0x4c, 0xdc, 0xfa, 0x90, 0xc2, 0xc8, 0x38, 0xc3, 0x5, 0x78, 0x33, 0xed, 0x92, 0xff, 0x37, 0x19, 0x68, 0xd0, 0x86, 0x4b, 0x65, 0xb2, 0x5a, 0x4, 0x8c, 0x9a, 0xab, 0xec, 0xb9, 0xed, 0x26, 0xbe, 0x47, 0xe4, 0x97, 0x7d, 0xfe, 0x88, 0xe5, 0x76, 0x5f, 0xdd, 0xc9, 0xd3, 0x26, 0x5, 0x45, 0xa9, 0x89, 0x5b, 0x15, 0x19, 0xa8, 0xca, 0xb9, 0x3e, 0xba, 0xe8, 0x94, 0x3c, 0x8d, 0x47, 0xa4, 0x6a, 0xcf, 0x1f, 0x63, 0x51, 0x6d, 0x57, 0x30, 0xff, 0xc0, 0x54, 0xa3, 0x8b, 0x5, 0xda, 0xd8, 0x40, 0x5, 0x2d, 0x64, 0xfc, 0xca, 0x92, 0x1d, 0x24, 0x72, 0x97, 0x85, 0x97, 0x77, 0x85, 0x27, 0x74, 0x70, 0x7b, 0xb5, 0x83, 0x41, 0x5e, 0x41, 0x9e, 0x78, 0xb2, 0x68, 0x55, 0x2f, 0xb6, 0x44, 0xb2, 0x3d, 0xb6, 0xae, 0x69, 0xb6, 0x95, 0xd9, 0xbd, 0x7c, 0x8a, 0xa6, 0x73, 0x26, 0x58, 0x58, 0x30, 0xd5, 0x87, 0xdd, 0x6b, 0x22, 0xe9, 0x88, 0xb1, 0x4b, 0x38, 0x7e, 0xa0, 0x31, 0x63, 0x1, 0xf, 0xfc, 0xc0, 0x20, 0x41, 0xc9, 0x97, 0x14, 0x8d, 0x13, 0xcc, 0x69, 0x42, 0x57, 0xf4, 0xa5, 0x35, 0xcc, 0xf, 0xb2, 0x1a, 0x94, 0x2d, 0x3, 0xd9, 0xf5, 0x4b, 0x62, 0x89, 0x64, 0x7a, 0x68, 0x4c, 0x92, 0x64, 0x25, 0x95, 0xd4, 0x8b, 0xe6, 0xd1, 0xa6, 0x5c, 0xf0, 0x36, 0x1b, 0xaf, 0x65, 0xc, 0x9, 0xb, 0xb7, 0x22, 0x76, 0x59, 0xd9, 0xd1, 0xb0, 0xe4, 0x5b, 0x39, 0xf9, 0xd3, 0xfe, 0xbb, 0x4b, 0xdf, 0x96, 0x5f, 0x45, 0xe5, 0x8d, 0xb, 0x73, 0x69, 0x52, 0x2, 0x12, 0x43, 0x8d, 0x9d, 0x74, 0xad, 0x6, 0x7b, 0x46, 0x93, 0xed, 0x9b, 0xbb, 0xad, 0x8b, 0x6e, 0x88, 0xa1, 0xad, 0x9f, 0xb5, 0xd3, 0x13, 0xe, 0x97, 0x7c, 0x7c, 0x3a, 0xd6, 0x6f, 0xb9, 0xaa, 0x0, 0x3b, 0xec, 0x86, 0x34, 0x30, 0xec, 0xa3, 0xff, 0xf9, 0x3f, 0x33, 0xbf, 0x7e, 0x7d, 0x88, 0xfa, 0xd8, 0x82, 0x30, 0xc2, 0x8b, 0x3c, 0xcd, 0x6b, 0x6b, 0xe8, 0xf4, 0xe5, 0xdb, 0x5e, 0xcb, 0xff, 0x48, 0x3, 0x76, 0xa8, 0x4c, 0x4, 0xb9, 0xb1, 0x3c, 0x78, 0x40, 0x96, 0x0, 0x0, 0x2c, 0x6b, 0x6, 0x0, 0x8c, 0xd8, 0xdf, 0x4, 0x56, 0xa7, 0x55, 0x80, 0xfa, 0x10, 0x38, 0xc5, 0x94, 0xf1, 0xaa, 0x43, 0xae, 0x37, 0xaa, 0x4b, 0x1d, 0xf3, 0x93, 0x24, 0x44, 0xf8, 0x20, 0x87, 0xb4, 0x4f, 0xd9, 0x10, 0x53, 0xba, 0x27, 0x6d, 0x76, 0x58, 0xf2, 0x9, 0xff, 0xc1, 0xd8, 0xa, 0x5c, 0x54, 0x8, 0xf, 0x4e, 0xfb, 0x2b, 0x40, 0x6c, 0xac, 0x81, 0x9f, 0x82, 0xd8, 0xf9, 0x87, 0x58, 0xc9, 0x81, 0x7b, 0x36, 0x32, 0x20, 0xfc, 0x5f, 0x64, 0xe7, 0xd0, 0x1c, 0xc9, 0xfd, 0x6a, 0x2f, 0x89, 0x79, 0xfc, 0x79, 0x59, 0xb, 0x75, 0xec, 0x10, 0xcb, 0x17, 0x7f, 0x62, 0x5, 0x64, 0x4a, 0x39, 0xce, 0xf8, 0x74, 0x1d, 0xcb, 0x22, 0x32, 0x74, 0x21, 0x16, 0x8, 0xbe, 0xac, 0x21, 0x93, 0x67, 0x2, 0x8, 0x65, 0xcd, 0x15, 0xc5, 0x5a, 0x2, 0x58, 0x18, 0x6f, 0x5c, 0x4a, 0x16, 0x6e, 0xb1, 0x93, 0x2a, 0xaa, 0x3e, 0x64, 0x6d, 0xa4, 0x25, 0xb4, 0x29, 0x15, 0xc, 0x3b, 0x74, 0x8c, 0x7e, 0x4, 0x8a, 0xba, 0x9d, 0x8c, 0xd7, 0x64, 0xb, 0x22, 0x99, 0x21, 0x8a, 0x47, 0x65, 0xd2, 0x98, 0xfe, 0x39, 0xc, 0xbd, 0x70, 0xa0, 0x84, 0x66, 0xc4, 0xa8, 0x89, 0x51, 0x77, 0xe4, 0xa5, 0x49, 0xa8, 0x99, 0x22, 0x24, 0x42, 0xa, 0x92, 0x69, 0x8f, 0xe5, 0x35, 0x68, 0xe9, 0xa2, 0x41, 0x99, 0xca, 0xc8, 0x86, 0x48, 0xb0, 0x5b, 0x34, 0x34, 0x89, 0x21, 0x64, 0xa5, 0x38, 0x80, 0x5d, 0x17, 0x5b, 0xd0, 0xaa, 0x46, 0x46, 0x35, 0xa2, 0xce, 0x46, 0x7c, 0xb2, 0xe9, 0x28, 0x8f, 0xc6, 0x40, 0x30, 0x8b, 0x56, 0xcd, 0x64, 0x44, 0x91, 0xd, 0xaa, 0xc2, 0xae, 0xe2, 0x9b, 0x84, 0x59, 0xfe, 0xd5, 0xec, 0x51, 0x51, 0x8c, 0xaf, 0x32, 0x72, 0x5c, 0x95, 0xd4, 0xb6, 0x86, 0xd0, 0xc6, 0xd2, 0x78, 0x12, 0x50, 0x7b, 0x19, 0xa, 0x11, 0x20, 0x71, 0x80, 0x45, 0x19, 0xd, 0x3b, 0xa9, 0x5a, 0x5a, 0xe0, 0xa1, 0xb9, 0x9d, 0x18, 0x21, 0x29, 0xb2, 0x3b, 0x89, 0xaa, 0x46, 0xeb, 0x8, 0x14, 0xcc, 0x8b, 0x62, 0x67, 0x72, 0x72, 0x2d, 0x4b, 0x77, 0x5a, 0x8e, 0xcd, 0xe1, 0xd3, 0x10, 0x48, 0xd4, 0x8c, 0x10, 0xe7, 0x4, 0x29, 0x63, 0x1f, 0x81, 0x4d, 0x5e, 0x9c, 0xc9, 0x86, 0xaf, 0x5b, 0xe9, 0xe6, 0x6d, 0x1a, 0x95, 0x34, 0x22, 0xa1, 0x45, 0x1c, 0x8a, 0xf1, 0xbc, 0xf8, 0x11, 0x82, 0x98, 0xfd, 0xa3, 0x82, 0xc6, 0x49, 0xd6, 0x98, 0x64, 0x9c, 0x37, 0x9, 0x78, 0x61, 0x26, 0xb6, 0x64, 0x86, 0x52, 0x6, 0xdc, 0x8c, 0xb9, 0x55, 0x21, 0xa5, 0xd6, 0x54, 0x52, 0xb0, 0x51, 0xb7, 0x30, 0x2e, 0x7f, 0x7b, 0x26, 0x38, 0x6f, 0x2, 0x6c, 0x15, 0x58, 0x80, 0x54, 0x4d, 0x4f, 0x59, 0xd, 0xd3, 0x54, 0x38, 0x63, 0x73, 0xce, 0x3a, 0xa9, 0xcc, 0xda, 0xcb, 0x68, 0x91, 0x76, 0x19, 0xfd, 0xa, 0x4a, 0xb7, 0x7a, 0x82, 0x59, 0x8, 0xa8, 0x6e, 0x63, 0x9c, 0x1b, 0x5b, 0x8, 0xee, 0x71, 0x44, 0xc, 0x3b, 0xc, 0x8b, 0x13, 0xce, 0x26, 0x58, 0xa1, 0x1, 0xaa, 0xb, 0xb0, 0x14, 0xd6, 0x8e, 0x62, 0xfc, 0x3d, 0xaa, 0xb7, 0x6c, 0x41, 0xa0, 0x5b, 0x20, 0xd0, 0xe5, 0xa4, 0x5b, 0x74, 0x48, 0x21, 0x9a, 0x11, 0xd4, 0xac, 0xa4, 0xed, 0x52, 0xc8, 0xf3, 0x66, 0x92, 0x23, 0xb7, 0x71, 0x56, 0x1d, 0x28, 0xf4, 0x20, 0xab, 0x3f, 0x53, 0x63, 0xa0, 0x5a, 0xd, 0x60, 0x8a, 0x89, 0x49, 0x9a, 0x66, 0x6a, 0x11, 0xb8, 0x5, 0x62, 0x4d, 0x74, 0x76, 0x48, 0x49, 0xe6, 0xda, 0xb4, 0x82, 0x2b, 0x7c, 0xdc, 0x99, 0xee, 0x1f, 0x73, 0x95, 0x79, 0xd8, 0x2d, 0x65, 0x5, 0xaa, 0x41, 0x9a, 0x73, 0xed, 0x74, 0x6d, 0x36, 0xda, 0xaf, 0xa5, 0x4d, 0x9f, 0x1a, 0xd6, 0x77, 0x2, 0xac, 0x1c, 0xc1, 0xfa, 0xe9, 0x2c, 0x24, 0x15, 0xb8, 0x92, 0xc1, 0xc5, 0x5f, 0xd, 0x16, 0x14, 0xa2, 0x2d, 0x3b, 0xd, 0xf6, 0x2c, 0x7b, 0x29, 0x36, 0x50, 0x29, 0x9, 0x49, 0xfd, 0xce, 0xf0, 0x44, 0x39, 0x46, 0xe5, 0x5f, 0xf0, 0x41, 0x40, 0x5c, 0x3c, 0x72, 0x45, 0xa9, 0x37, 0x2e, 0x69, 0x63, 0xbc, 0xe3, 0x7a, 0x45, 0x13, 0x5d, 0x3d, 0x99, 0xcb, 0x3c, 0xd5, 0x38, 0xaf, 0x96, 0xab, 0x6, 0xb3, 0xd5, 0xc, 0x61, 0x22, 0x52, 0x9a, 0xdf, 0xba, 0x58, 0x93, 0xed, 0x62, 0xf5, 0x8, 0x22, 0xeb, 0x42, 0x22, 0xd6, 0x75, 0x67, 0x0, 0xcd, 0xb7, 0xab, 0x34, 0xc3, 0xad, 0xcf, 0x26, 0xdd, 0x62, 0x7f, 0x41, 0xe2, 0x6b, 0x25, 0xac, 0xce, 0x78, 0x9e, 0x29, 0xe3, 0x47, 0xf0, 0x5, 0x0, 0x89, 0x6f, 0x2f, 0x3a, 0x8, 0x82, 0xbc, 0x1d, 0x5a, 0x19, 0x61, 0x45, 0x4e, 0xdd, 0xc9, 0x21, 0x46, 0x7f, 0xd8, 0x76, 0x5e, 0x2f, 0x4f, 0xfb, 0xb9, 0x4f, 0x6b, 0xd3, 0xfa, 0x66, 0xb7, 0x3a, 0xa9, 0x20, 0x22, 0x2f, 0xae, 0x30, 0x17, 0x0, 0xc9, 0xcf, 0x7d, 0x0, 0x6c, 0x3a, 0x42, 0xa1, 0x2b, 0x80, 0xe8, 0x64, 0xc8, 0x68, 0xe5, 0x42, 0x96, 0xa4, 0x42, 0x28, 0x1e, 0x4f, 0xac, 0xb1, 0x82, 0xf8, 0x7e, 0x6, 0xb4, 0x86, 0x60, 0x9f, 0xca, 0x1e, 0x1a, 0x8f, 0xc, 0xc5, 0xeb, 0xf5, 0xef, 0x8a, 0xc4, 0x15, 0xec, 0x61, 0x7, 0x4c, 0x13, 0x30, 0x13, 0x28, 0x5a, 0x6a, 0xce, 0x3c, 0x8d, 0x4e, 0x1b, 0x87, 0x89, 0x78, 0x5a, 0x69, 0xdc, 0x26, 0x9a, 0x10, 0x83, 0xc3, 0x62, 0xad, 0x48, 0x78, 0x4b, 0xd4, 0x2b, 0xa3, 0xd8, 0xae, 0x2f, 0xb2, 0x37, 0x23, 0x9f, 0xaa, 0x25, 0x3a, 0x6, 0x2, 0x59, 0x3a, 0x12, 0x12, 0x60, 0x48, 0xf0, 0x28, 0x3d, 0xe0, 0x47, 0x8c, 0x50, 0x8a, 0x36, 0x7f, 0xc3, 0x2b, 0x14, 0x2d, 0x45, 0x98, 0x4, 0xcb, 0xb6, 0x50, 0x38, 0xfd, 0x7e, 0x4b, 0x56, 0xb2, 0xa1, 0xbe, 0x41, 0x6, 0xce, 0x11, 0x6f, 0xfd, 0xd0, 0x48, 0x6c, 0xc, 0xa4, 0x1e, 0xb0, 0x44, 0x7, 0x9, 0x53, 0x2f, 0x44, 0xa2, 0x3a, 0x9, 0x65, 0x4d, 0xe2, 0xb5, 0x49, 0x15, 0x5d, 0x11, 0x4a, 0x38, 0x9a, 0xce, 0x53, 0xca, 0x92, 0x99, 0xe3, 0x1c, 0x2a, 0x28, 0x59, 0x6c, 0xde, 0xa2, 0x8e, 0x56, 0x5f, 0x82, 0xd0, 0xb3, 0x4f, 0xbb, 0x1a, 0x5c, 0x9, 0xb5, 0xeb, 0xcf, 0xca, 0x2c, 0xa4, 0x74, 0xe4, 0xc6, 0x44, 0x4e, 0x7e, 0x73, 0x27, 0x76, 0xc, 0xda, 0x8a, 0xc, 0xf9, 0xd1, 0xb5, 0x27, 0xb, 0xae, 0x6a, 0xd2, 0x67, 0xea, 0x9, 0xc3, 0xb2, 0x96, 0x74, 0xf6, 0xa5, 0x98, 0xe, 0xc6, 0x37, 0xa0, 0x5d, 0xc4, 0x32, 0xa9, 0xd0, 0x40, 0x91, 0xfa, 0x9, 0xec, 0xe5, 0xb5, 0x2b, 0x20, 0xe7, 0xf8, 0x6f, 0xf0, 0x8c, 0x8d, 0x4f, 0x20, 0x39, 0x93, 0xc1, 0xaf, 0x13, 0x77, 0x3b, 0x1d, 0x8, 0xa6, 0x15, 0x4b, 0xc2, 0xa7, 0xdd, 0x2a, 0xa9, 0xb4, 0xc5, 0x27, 0xdf, 0x30, 0x2f, 0xea, 0x8c, 0xf3, 0xe2, 0x61, 0x16, 0x69, 0xab, 0x1a, 0x71, 0x53, 0x62, 0xc, 0x1a, 0xf, 0x83, 0xcb, 0xfa, 0xb1, 0x4e, 0x6b, 0x5e, 0xb, 0x48, 0x4, 0xba, 0x99, 0xa, 0x16, 0x72, 0x15, 0xa4, 0x27, 0xc9, 0x35, 0x1e, 0x32, 0xa2, 0xac, 0x78, 0x1a, 0xea, 0xe6, 0x42, 0xfb, 0x6f, 0x82, 0xc6, 0xa7, 0x12, 0xa8, 0xed, 0x7, 0xbf, 0x56, 0x55, 0x95, 0xec, 0x85, 0x7d, 0xc, 0x7, 0x8c, 0xde, 0x8, 0x2a, 0xa8, 0x6a, 0x23, 0xb, 0x56, 0x4, 0x7f, 0x8d, 0x7f, 0x7a, 0xa0, 0xe6, 0x18, 0xd4, 0xab, 0xbb, 0x8c, 0xa8, 0x18, 0x43, 0xf8, 0x66, 0xb1, 0x6a, 0xda, 0xdf, 0xbb, 0xc4, 0x1d, 0x71, 0x74, 0x7b, 0x52, 0xea, 0x84, 0x53, 0x23, 0x7a, 0x94, 0x33, 0x79, 0x91, 0x32, 0x65, 0xdc, 0x2d, 0x7f, 0x43, 0xcc, 0xb5, 0xa3, 0xc1, 0x51, 0x50, 0xae, 0x90, 0xe1, 0x3a, 0x2, 0xaa, 0x52, 0x8e, 0xea, 0x87, 0xad, 0xf5, 0xcb, 0xa6, 0x29, 0xac, 0xe3, 0x40, 0xb1, 0x88, 0xea, 0x40, 0x92, 0x27, 0xf8, 0xb9, 0xaa, 0x77, 0xf9, 0x48, 0x6b, 0x10, 0xa6, 0xba, 0x92, 0x3e, 0xfa, 0x66, 0xd5, 0x61, 0x45, 0x70, 0xe6, 0xf3, 0xd6, 0xed, 0x7a, 0x16, 0xc, 0x4b, 0xda, 0xca, 0x7b, 0x34, 0x68, 0x53, 0x1c, 0xa5, 0x11, 0x58, 0xe5, 0xd0, 0xb2, 0xa5, 0x9b, 0x84, 0xb2, 0x23, 0x25, 0x9c, 0x1f, 0x46, 0xe6, 0x66, 0xfe, 0x5d, 0x10, 0x14, 0xbd, 0xb, 0x0, 0xe7, 0x3e, 0x5d, 0x79, 0x78, 0x4b, 0xa4, 0x27, 0x25, 0xb6, 0x8d, 0x7, 0xd, 0xd9, 0xc2, 0xf0, 0xb4, 0x2d, 0xc9, 0x94, 0xc5, 0xcf, 0x19, 0x37, 0x6a, 0x7a, 0x0, 0xd8, 0xaa, 0xa7, 0x63, 0x79, 0x45, 0xe6, 0x23, 0x99, 0xe, 0x69, 0x53, 0x21, 0xe9, 0x2, 0x25, 0xa3, 0xe7, 0x53, 0x3, 0xe2, 0x43, 0x48, 0xd7, 0xf9, 0x1a, 0xaf, 0x7, 0x7a, 0x30, 0xbb, 0x4a, 0xeb, 0x5c, 0x9, 0x57, 0xd2, 0x81, 0xa2, 0x66, 0x20, 0xc9, 0xa3, 0x68, 0xcc, 0x12, 0x93, 0x80, 0x57, 0xe1, 0x32, 0x2, 0x56, 0x91, 0xea, 0xe7, 0x9c, 0x83, 0xf7, 0x46, 0xcb, 0xcc, 0xd2, 0xdf, 0xff, 0x94, 0xe6, 0x9c, 0xaa, 0x1c, 0xf8, 0x8c, 0x9e, 0x61, 0xb9, 0x43, 0xa2, 0xba, 0x90, 0xec, 0xcc, 0xc7, 0x8d, 0xe4, 0x65, 0xac, 0x4d, 0x3e, 0x5b, 0x9, 0x2a, 0x29, 0xfd, 0x27, 0xf9, 0x5b, 0x4a, 0x31, 0xa4, 0x26, 0x49, 0x2c, 0x9c, 0xcb, 0x69, 0xc5, 0xe6, 0x96, 0xdc, 0xaf, 0x1, 0x58, 0x30, 0x5b, 0x97, 0xd5, 0x6b, 0xea, 0x3f, 0x92, 0x4b, 0xdf, 0xe7, 0x82, 0xf0, 0x1b, 0x96, 0x2e, 0x4b, 0x28, 0xbb, 0x71, 0x48, 0xc3, 0xe6, 0xb8, 0x19, 0x7a, 0xa0, 0x4f, 0xea, 0x6d, 0xc0, 0x3a, 0x40, 0xd7, 0x9c, 0xd0, 0x8e, 0xc3, 0x36, 0xb7, 0x85, 0x46, 0xfb, 0x57, 0x94, 0x38, 0x89, 0x2, 0x58, 0x3a, 0xc7, 0x6b, 0xcf, 0x4b, 0x4, 0xfa, 0x88, 0x17, 0x10, 0x47, 0x66, 0x82, 0x26, 0x58, 0x80, 0x40, 0xf7, 0x5, 0xf, 0xe8, 0x85, 0xc3, 0x1a, 0xa, 0xda, 0xf9, 0x2a, 0xbd, 0x3d, 0x8, 0x15, 0xee, 0x5d, 0x22, 0xc6, 0xa, 0x5d, 0x58, 0x2f, 0x59, 0xc7, 0xa4, 0x23, 0x1, 0x2f, 0xef, 0xd4, 0x95, 0x83, 0x81, 0x58, 0x56, 0xb5, 0x9b, 0xbd, 0x0, 0x47, 0xf6, 0x9e, 0x86, 0xb9, 0xad, 0x20, 0x41, 0x6f, 0x79, 0x78, 0x8, 0x1b, 0xda, 0xc6, 0x61, 0x32, 0x17, 0x15, 0x87, 0xac, 0xb2, 0x49, 0x98, 0x5f, 0x78, 0x86, 0xe2, 0x5a, 0xf8, 0xbc, 0xe0, 0x96, 0xc6, 0xc2, 0x57, 0xc1, 0xca, 0x7, 0x3b, 0xe1, 0x56, 0x67, 0x81, 0x63, 0x7c, 0x9b, 0xcd, 0x6d, 0xd1, 0xd2, 0x27, 0xfd, 0x95, 0xfa, 0x12, 0xe3, 0x9, 0x84, 0x66, 0x76, 0xc7, 0xab, 0x4, 0xbc, 0xd6, 0xc0, 0xcb, 0x9, 0x25, 0xfe, 0xf6, 0x29, 0x90, 0x8f, 0xb8, 0x50, 0xd5, 0x7e, 0x13, 0x11, 0xfa, 0xfa, 0x4c, 0xe8, 0x5c, 0xa5, 0xf4, 0xa1, 0x12, 0xf5, 0x91, 0xd0, 0x98, 0x91, 0x18, 0x92, 0x4b, 0xa2, 0x92, 0x2a, 0x42, 0xb1, 0x78, 0xd4, 0x6e, 0x9f, 0xf5, 0xe8, 0x41, 0x16, 0xd4, 0x18, 0x69, 0x2e, 0xdd, 0x4b, 0x81, 0x67, 0x1c, 0x67, 0x5d, 0xb8, 0xec, 0x7b, 0x39, 0x69, 0xfb, 0x51, 0xcb, 0xdb, 0xea, 0x3, 0x20, 0x72, 0x17, 0xbc, 0x70, 0x21, 0x84, 0xe8, 0xf1, 0x5e, 0xb, 0xc2, 0xa6, 0xd2, 0x15, 0xbe, 0x7a, 0x9b, 0x7, 0x60, 0xab, 0xae, 0xa6, 0xf7, 0x4a, 0xa9, 0x4f, 0x74, 0x74, 0x50, 0x11, 0x61, 0xef, 0x1d, 0x7, 0xb8, 0x4d, 0x65, 0x6c, 0x40, 0x9e, 0x22, 0xb0, 0x22, 0xcf, 0x81, 0xf0, 0x2c, 0x36, 0xc1, 0x62, 0x48, 0x16, 0x63, 0xab, 0x86, 0x97, 0xa2, 0xd7, 0x74, 0x26, 0xac, 0xb1, 0x2f, 0x80, 0xdc, 0xe, 0x98, 0x58, 0x27, 0x24, 0x8, 0xa7, 0x46, 0x38, 0x7f, 0xca, 0x83, 0x78, 0x3c, 0x9d, 0x9e, 0x3c, 0x28, 0x4a, 0x62, 0x37, 0x10, 0xd8, 0xf2, 0xf0, 0x62, 0x4f, 0x16, 0x38, 0x3d, 0x84, 0x97, 0xdc, 0x1f, 0xc7, 0x47, 0x43, 0xf0, 0x92, 0x72, 0x48, 0x18, 0x84, 0x2d, 0x31, 0x33, 0x92, 0xc9, 0x19, 0xe4, 0xb, 0x83, 0xa7, 0x2d, 0x5, 0x6e, 0x20, 0x4c, 0x14, 0x53, 0x84, 0x78, 0x90, 0x46, 0xb7, 0x43, 0x14, 0xb6, 0x20, 0xa6, 0xb6, 0x3d, 0xf1, 0xab, 0x7, 0xe8, 0xba, 0x52, 0xfa, 0xa, 0xc, 0x33, 0xca, 0x9b, 0x1f, 0xd8, 0x41, 0x82, 0x59, 0x4a, 0xe3, 0x8f, 0x1f, 0xef, 0x4f, 0x28, 0x22, 0x29, 0x4e, 0x5, 0xb1, 0x67, 0x89, 0x1c, 0x91, 0xe1, 0xe6, 0x45, 0x31, 0x73, 0x83, 0xf8, 0x4b, 0xa, 0xa5, 0xaf, 0x48, 0x5f, 0x25, 0xb8, 0xb8, 0x8d, 0x4c, 0x6c, 0x86, 0x49, 0xf9, 0x98, 0xfe, 0x4d, 0x32, 0x39, 0x8d, 0x3c, 0x3e, 0x94, 0xc3, 0xa7, 0x36, 0x9, 0x66, 0x45, 0x80, 0x59, 0x32, 0x94, 0xfc, 0x82, 0x3f, 0x30, 0x32, 0x85, 0x41, 0x49, 0x40, 0xad, 0x2d, 0xc0, 0xe, 0xc4, 0x6e, 0x92, 0x85, 0xe5, 0x15, 0x91, 0x79, 0x3c, 0xf8, 0x5b, 0x26, 0x51, 0xfe, 0x2a, 0x24, 0xe2, 0xca, 0xfa, 0xda, 0xa3, 0x91, 0x7c, 0x8b, 0xf5, 0xd6, 0x81, 0x8e, 0xbf, 0x1f, 0xfe, 0x22, 0x65, 0x45, 0xf2, 0xa8, 0xb1, 0x33, 0xc5, 0x19, 0xcd, 0xcf, 0x28, 0x7b, 0x1c, 0xc6, 0xea, 0x76, 0x2a, 0xba, 0xf2, 0x49, 0x89, 0x5c, 0x7a, 0x4a, 0x63, 0x53, 0xb7, 0xc4, 0xce, 0x55, 0x52, 0xd8, 0x3f, 0x19, 0x96, 0x67, 0x80, 0x55, 0x4, 0x89, 0xf2, 0x27, 0xe8, 0x2d, 0x9a, 0xee, 0x5d, 0x99, 0x5b, 0x95, 0xf0, 0x82, 0x13, 0x9, 0xc6, 0x4, 0xef, 0x7c, 0xfd, 0xbc, 0x8d, 0x65, 0xbe, 0x99, 0x11, 0x40, 0x79, 0xa2, 0x58, 0x52, 0x62, 0x6b, 0x1f, 0x38, 0x4e, 0xc1, 0xcb, 0x22, 0x1b, 0x88, 0xcb, 0x22, 0xda, 0x4a, 0x64, 0xe9, 0x95, 0x5d, 0xf7, 0x12, 0x39, 0x7, 0xcc, 0x83, 0x4b, 0x5d, 0x8e, 0xea, 0x62, 0x45, 0xc3, 0xbc, 0xdd, 0x72, 0xa9, 0xf, 0xfa, 0xa6, 0xba, 0xe, 0x66, 0xbe, 0xcd, 0x54, 0x86, 0xb, 0x49, 0x5, 0xdc, 0x47, 0x8c, 0x3e, 0x43, 0x1a, 0xd6, 0xbe, 0x44, 0xfe, 0xf5, 0x5e, 0xe9, 0x44, 0xca, 0xdf, 0x4e, 0x1e, 0x7b, 0x3e, 0x11, 0x76, 0xed, 0xd9, 0x1f, 0x1e, 0x6e, 0x75, 0x68, 0xc4, 0x6e, 0xd3, 0xdb, 0xe5, 0x1f, 0x6f, 0xf0, 0x75, 0x50, 0xb7, 0x9f, 0x3d, 0xca, 0x72, 0x63, 0xd0, 0xad, 0xec, 0x70, 0xbd, 0x25, 0x6e, 0x7a, 0xfb, 0xe6, 0xa5, 0x4f, 0xb5, 0x75, 0xdb, 0x57, 0x3e, 0x69, 0x23, 0xa4, 0x73, 0x6d, 0x91, 0x58, 0xf7, 0x73, 0x34, 0x84, 0xd5, 0x12, 0xab, 0x83, 0xd1, 0x36, 0x5c, 0xeb, 0x53, 0x6f, 0x70, 0xda, 0xa6, 0xd9, 0x40, 0x5c, 0x88, 0x6f, 0xb1, 0x53, 0xcd, 0x43, 0x29, 0x29, 0x65, 0xa7, 0xff, 0x25, 0xe7, 0x81, 0x45, 0x84, 0x9e, 0x50, 0x15, 0x12, 0xe6, 0xd7, 0x1d, 0x3c, 0xd8, 0x76, 0xa6, 0x0, 0x8f, 0x39, 0x1e, 0x54, 0x81, 0x7f, 0x55, 0x55, 0x64, 0x4a, 0xf7, 0xcb, 0xe8, 0x8b, 0x61, 0x2b, 0x4a, 0xc, 0x28, 0xe3, 0x35, 0xf9, 0x9c, 0x8f, 0x55, 0x60, 0x8a, 0xf0, 0xae, 0x92, 0xd3, 0x6d, 0x4d, 0x6e, 0xe9, 0xd5, 0x9, 0xc7, 0xf5, 0x1c, 0xf, 0x8c, 0x29, 0x9b, 0x46, 0x6b, 0x1a, 0x58, 0x84, 0xe8, 0x82, 0xe4, 0x8, 0x8c, 0x9f, 0x2a, 0xa1, 0x8a, 0x58, 0xed, 0x74, 0x8f, 0x55, 0x76, 0xad, 0x93, 0xbb, 0x4a, 0x9e, 0xb6, 0x32, 0x48, 0x35, 0x65, 0x26, 0x77, 0x89, 0x35, 0xb6, 0x47, 0xf9, 0x57, 0xe6, 0x78, 0x58, 0x31, 0x71, 0x28, 0x9f, 0x58, 0x23, 0x53, 0x6a, 0x9, 0xa, 0x3f, 0x79, 0x1d, 0xd2, 0xf5, 0x4a, 0xa, 0x38, 0x5c, 0xd, 0xb1, 0x90, 0x1a, 0x3e, 0x75, 0x9e, 0xc2, 0x6e, 0x27, 0x1d, 0x6e, 0xfc, 0x14, 0xee, 0xc5, 0xee, 0xd7, 0xe7, 0x28, 0x2b, 0xa6, 0x2f, 0xe7, 0xaf, 0xc4, 0x41, 0x4c, 0x8a, 0x94, 0x76, 0x94, 0x12, 0x37, 0x99, 0xda, 0x58, 0xca, 0xde, 0xc7, 0x7, 0x9, 0x71, 0x37, 0x8d, 0xa2, 0x97, 0x97, 0x1c, 0xc, 0x51, 0xde, 0xe5, 0xb7, 0xb8, 0xda, 0x92, 0xa3, 0xef, 0x17, 0x99, 0x6a, 0x1b, 0xf9, 0x9a, 0xbd, 0xcb, 0xfe, 0x5c, 0xc3, 0xf6, 0xda, 0xb1, 0x86, 0x16, 0x30, 0x97, 0x47, 0x27, 0x14, 0x30, 0x92, 0xc1, 0x80, 0xcb, 0x46, 0x27, 0xdb, 0x3d, 0x9d, 0x1d, 0x9a, 0x6, 0xb6, 0x83, 0xc6, 0x12, 0x94, 0x77, 0x36, 0xda, 0xc5, 0xb0, 0x85, 0xa8, 0x5b, 0x10, 0xc1, 0x90, 0xbd, 0xb5, 0xc5, 0x83, 0x51, 0x13, 0x24, 0xb, 0x12, 0xb8, 0x3f, 0xdf, 0xd9, 0xa2, 0xf1, 0x77, 0xfc, 0x7d, 0x46, 0xcf, 0x38, 0xa2, 0x78, 0xff, 0xda, 0x3c, 0x20, 0x3d, 0x5, 0x9e, 0xe4, 0x7a, 0xe, 0x30, 0x1, 0x56, 0xfc, 0xa2, 0x43, 0xcc, 0x27, 0x6f, 0x49, 0x9b, 0xe8, 0x65, 0xc9, 0xe7, 0x65, 0x82, 0x4e, 0xc8, 0x2c, 0x0, 0x79, 0xb7, 0x70, 0x0, 0x1, 0x77, 0x2d, 0x34, 0x46, 0xea, 0x34, 0x95, 0xc4, 0x26, 0xdd, 0xff, 0xa, 0x7f, 0xcb, 0x48, 0x8, 0xd, 0xb1, 0x17, 0x40, 0xaf, 0xb3, 0x73, 0x76, 0xa2, 0x81, 0x18, 0x87, 0x6d, 0x7d, 0x4b, 0x6b, 0xa, 0x15, 0x68, 0xbd, 0xc7, 0x22, 0xea, 0xea, 0xc2, 0x4, 0xb, 0x1a, 0x81, 0x43, 0xf9, 0x85, 0x75, 0x38, 0xde, 0x2a, 0x7a, 0xb8, 0xb3, 0xbf, 0x4d, 0xa6, 0x3d, 0x14, 0x33, 0xc4, 0x6c, 0x1c, 0x26, 0x1c, 0xb1, 0x33, 0xc2, 0xf5, 0xd6, 0xd9, 0x11, 0xf8, 0x54, 0xb6, 0xa8, 0x4, 0xa, 0x77, 0xf7, 0xb7, 0xf2, 0x53, 0x2e, 0x21, 0x6e, 0x84, 0xc4, 0x9c, 0x26, 0xe0, 0x72, 0x9f, 0x70, 0xca, 0xa8, 0x8e, 0x55, 0xdf, 0x19, 0x97, 0xf1, 0x4c, 0xeb, 0xe3, 0x53, 0xab, 0x25, 0x4f, 0x2e, 0x6c, 0x5a, 0x1c, 0x72, 0xde, 0x57, 0x7c, 0xf2, 0x3b, 0xbb, 0x2b, 0x81, 0xed, 0xb0, 0x7f, 0xac, 0x5f, 0x76, 0x1f, 0x5c, 0x20, 0xf7, 0xa8, 0x56, 0x52, 0xad, 0x53, 0xa8, 0xaf, 0x43, 0x5e, 0xe6, 0xff, 0xdf, 0x92, 0x8e, 0x24, 0xfb, 0x45, 0x7d, 0xa6, 0x78, 0x87, 0x44, 0xcf, 0xda, 0xac, 0xe3, 0x5b, 0x5a, 0xe6, 0x91, 0xcd, 0xfb, 0xa1, 0x29, 0x26, 0x2d, 0x3f, 0xae, 0xe4, 0x3d, 0x77, 0xb9, 0xda, 0xba, 0x6b, 0x6f, 0x47, 0xe5, 0xde, 0x3d, 0xd7, 0x51, 0xab, 0x71, 0xeb, 0x36, 0xd6, 0x1, 0x9e, 0x5c, 0x1b, 0xdc, 0xbc, 0x51, 0xf9, 0x7f, 0xe2, 0xf4, 0x6b, 0x4d, 0x87, 0x77, 0xde, 0xcf, 0x38, 0x9c, 0xfc, 0x70, 0xee, 0xf5, 0xca, 0x97, 0xeb, 0xe4, 0xb8, 0x14, 0xb, 0xf8, 0x2c, 0xdd, 0x30, 0xde, 0xdf, 0xc1, 0xa5, 0xd0, 0x54, 0xde, 0xdd, 0x7e, 0x84, 0x29, 0x51, 0x45, 0x45, 0x4e, 0xeb, 0x9f, 0xb, 0xb5, 0xac, 0x5a, 0x58, 0x71, 0xd0, 0x66, 0xf7, 0x50, 0x3f, 0x9e, 0x56, 0x2a, 0x40, 0x4d, 0xc6, 0x98, 0xb5, 0xb6, 0xef, 0xa, 0x56, 0x28, 0x50, 0xa5, 0x59, 0xe7, 0xba, 0x4, 0xb, 0x15, 0x98, 0x4, 0xc, 0x18, 0x69, 0x56, 0x1f, 0xa1, 0x2b, 0x30, 0x46, 0x90, 0xcd, 0xa4, 0xd4, 0x6f, 0x7e, 0xe9, 0xac, 0x16, 0x6d, 0xf4, 0x69, 0xfa, 0x42, 0xc9, 0xe6, 0xc2, 0xab, 0x7f, 0x98, 0x58, 0x60, 0xc7, 0xe7, 0x7a, 0xd5, 0xb2, 0xe3, 0xeb, 0xc8, 0xae, 0x2e, 0xaa, 0x2f, 0xdd, 0xcb, 0x89, 0x63, 0xc8, 0x91, 0x72, 0xd, 0xef, 0x3d, 0xf1, 0xf3, 0xee, 0x4b, 0xd5, 0xc1, 0xcb, 0xdf, 0xc4, 0xb0, 0xa, 0xa1, 0xb9, 0x96, 0xae, 0x49, 0x10, 0x51, 0x4b, 0x17, 0xe4, 0x3f, 0x37, 0x25, 0x6f, 0x69, 0x4e, 0x6e, 0x28, 0xa4, 0xa3, 0x52, 0x1d, 0xc7, 0x6, 0xfe, 0x65, 0xfd, 0x5f, 0xb9, 0xd6, 0xf4, 0xfb, 0x26, 0x24, 0x0, 0xb, 0x43, 0xe6, 0xbb, 0x6c, 0xf0, 0x1, 0x51, 0x13, 0x8f, 0xb, 0x7a, 0x15, 0x7b, 0x61, 0x80, 0xb3, 0xbf, 0x1, 0xe, 0x3a, 0x16, 0xf7, 0x1a, 0x2f, 0xe7, 0xe6, 0x2, 0x57, 0xfc, 0x4, 0x36, 0xc0, 0xb7, 0x9, 0xc3, 0x42, 0xce, 0xdc, 0x63, 0x7, 0x5, 0x83, 0x66, 0x44, 0x1f, 0x44, 0xc0, 0x5e, 0xdf, 0x81, 0x5, 0x10, 0x16, 0x4, 0x22, 0xbc, 0x93, 0xe, 0x2c, 0x42, 0x23, 0x31, 0xcc, 0x80, 0x20, 0x17, 0x45, 0xdc, 0xee, 0x4, 0x46, 0x5e, 0xe8, 0x99, 0x63, 0x7, 0x3d, 0xc7, 0xae, 0x17, 0x8, 0xb2, 0xb1, 0x1, 0x2, 0xfd, 0xf4, 0x4, 0x67, 0xeb, 0x2e, 0xa7, 0x4e, 0x86, 0x7b, 0xa7, 0x1d, 0x8, 0xc1, 0xfb, 0xc0, 0xa, 0x2f, 0x81, 0xea, 0x23, 0x42, 0x3a, 0x85, 0xbe, 0x86, 0x16, 0xfa, 0x1a, 0x51, 0xa6, 0xcc, 0x2c, 0x56, 0x64, 0x25, 0x38, 0xe8, 0x17, 0x71, 0xa8, 0x59, 0x18, 0x44, 0xdf, 0x36, 0xa4, 0xd9, 0x64, 0xd0, 0x8a, 0x3a, 0xc5, 0xca, 0xc4, 0x5e, 0x6e, 0x2, 0x43, 0xa7, 0x83, 0xf0, 0x0, 0xdf, 0xa0, 0xb9, 0x3f, 0xcb, 0x8, 0x1b, 0x34, 0x83, 0xb1, 0x91, 0x2e, 0xa4, 0xc0, 0x66, 0x19, 0xfa, 0x29, 0x40, 0x90, 0x93, 0x10, 0xde, 0xa0, 0xb6, 0xf5, 0x99, 0xa0, 0x55, 0x8, 0xd3, 0xd0, 0x5a, 0x78, 0xdc, 0x7f, 0xd4, 0x9e, 0x4e, 0x41, 0x10, 0x3e, 0xa9, 0xf9, 0xe, 0xf4, 0x21, 0x4d, 0x7d, 0xc0, 0x6d, 0x11, 0xb, 0x84, 0x8a, 0x6b, 0xb5, 0x12, 0xd3, 0xd6, 0x88, 0x4a, 0x69, 0x74, 0x60, 0x67, 0x8e, 0x11, 0xb, 0xfd, 0x48, 0x8e, 0x20, 0xd7, 0xed, 0x31, 0x63, 0x65, 0x77, 0xda, 0xc6, 0xa8, 0x4b, 0x4f, 0x99, 0x1a, 0x15, 0xd0, 0x4b, 0x72, 0x39, 0xa7, 0xcf, 0x13, 0xa7, 0x4d, 0xc8, 0xa, 0xee, 0x5d, 0xfc, 0x64, 0x5e, 0xb3, 0x48, 0x2f, 0xea, 0xa, 0xfa, 0x19, 0x86, 0x6e, 0x54, 0x7b, 0x74, 0xec, 0x83, 0x8, 0x97, 0xca, 0x9d, 0xea, 0xdb, 0xa1, 0x9, 0x50, 0x15, 0xd1, 0xfd, 0x2, 0xee, 0x16, 0x67, 0x98, 0x70, 0xb3, 0xa4, 0x16, 0x41, 0x6d, 0x11, 0xde, 0xe9, 0x21, 0xb1, 0xa1, 0x2c, 0x6a, 0xad, 0xf8, 0x11, 0x1b, 0x41, 0x2b, 0x96, 0xb1, 0xb3, 0xd4, 0x47, 0xac, 0x29, 0x93, 0xb1, 0xde, 0x5b, 0x35, 0x5e, 0x74, 0x4, 0xe5, 0x54, 0x95, 0xb5, 0xf9, 0x77, 0xe1, 0x64, 0x2, 0x97, 0x61, 0x96, 0xef, 0xcb, 0x64, 0xfe, 0x31, 0x5c, 0x3c, 0x24, 0x21, 0xbb, 0xae, 0x17, 0x35, 0xc2, 0x6d, 0xd2, 0xe1, 0x9a, 0x6e, 0xc0, 0x21, 0x2, 0x1, 0x27, 0x10, 0xb, 0x8e, 0x1, 0x63, 0x5d, 0xa6, 0x5e, 0x46, 0xcc, 0x3c, 0x9e, 0x2d, 0xed, 0x92, 0xc, 0xd8, 0xcd, 0x33, 0xb4, 0xf2, 0xc5, 0x30, 0xff, 0x2f, 0xbc, 0xfd, 0x7, 0x8e, 0x1f, 0xfa, 0x9d, 0x43, 0xf6, 0x43, 0x87, 0x2b, 0xb3, 0x2, 0xa4, 0x3b, 0x85, 0x18, 0x43, 0xf6, 0x1f, 0xe5, 0x40, 0x28, 0x5b, 0xda, 0x70, 0xff, 0xb2, 0xf5, 0x97, 0xf8, 0xb0, 0xff, 0xa4, 0xdf, 0xa1, 0xf8, 0x2a, 0x3d, 0x1d, 0x7d, 0x3, 0x6f, 0x7e, 0x34, 0x74, 0x9e, 0xd2, 0x6, 0xa2, 0x95, 0xa9, 0x65, 0x28, 0x51, 0xcb, 0x6e, 0x1f, 0x1a, 0x8a, 0x73, 0xc7, 0x53, 0x9d, 0x37, 0xf1, 0x10, 0x5a, 0x0, 0xdc, 0x37, 0x82, 0xd3, 0x2, 0xbd, 0x45, 0x22, 0x23, 0xd1, 0x4a, 0xe4, 0x9d, 0x74, 0x95, 0x3, 0x38, 0xa8, 0x50, 0x75, 0x4b, 0x2c, 0x2a, 0x60, 0x82, 0xa6, 0x88, 0x52, 0x38, 0x9d, 0x56, 0x21, 0xa4, 0x5, 0x8a, 0x7f, 0x38, 0x9d, 0x32, 0x3a, 0x31, 0x52, 0xfa, 0x25, 0x57, 0x4b, 0xf, 0xb5, 0x53, 0xa7, 0xc2, 0xe1, 0x55, 0x20, 0xf4, 0x61, 0x74, 0x50, 0xab, 0xa9, 0x18, 0x9b, 0x39}, }, sample{ // From danplanet.com (I agree Dan. Radio amateurs should use well defined open standards, not LZHUF... It's 2015!). []byte(`Winlink 2000 is a hot topic in the amateur community right now. It provides a mechanism to access Internet email over several different transports, including an Internet connection, local V/UHF packet radio, and long-distance HF Pactor. The idea is great, and in practice, it works reasonably well. There are a lot of complaints to be made about the design and implementation of the system, but at the end of the day, those guys put in the time, effort and money and made it work. One of the (many) complaints I have is their use of the ancient B2F forwarding protocol. It’s fine to use that over slow Pactor links (I suppose), but why aren’t we just using something like POP3 for the Internet hops? Rather silly, I think. Anyway, one of the design points of the B2F protocol is the use of an even more ancient compression algorithm called “lzhuf”. The algorithm and code for this was written in Japan in 1988 to run on a 16-bit machine. The source, and many disparate alterations since then are sprinkled around the Internet and are easy to find via google. However, most people use either the command-line LZHUF_1.EXE file that has been around forever, or the DLL-ized version that the Winlink applications deliver and use. This effectively limits its use to Windows machines (and dosemu-installed Linux boxes). When I tried to compile several of the variants under Linux, I found that the code makes a bunch of assumptions about type sizes and thus crashes and/or fails to decode compressed text as a result. In fact, depending on where it fails, sometimes it runs off in an endless loop writing garbage to the output file until you kill it! After spending a lot of time trying to find someone who had fixed the code to compile on a modern 32-bit system, I finally found a copy of the source that would compile on my system with g++ and actually run properly. I found the updated source code here and have archived a copy of the source on my system, as well as a static Linux binary in case you don’t want to compile it yourself. If you run the binary with no arguments, it will print a usage message. Now, you might ask “Dan, why does Winlink 2000 use this old, unmaintained, fragile, and obscure compression algorithm?”. Well, in the days of freely available code, algorithms, and libraries to do advanced compression, encoding, etc, I can assure you that the top notch Winlink engineers have a good reason. ...Right? I figured that this obscure gem from the golden age of 4MHz PCs must be an undiscovered compression miracle, one that makes the extremely slow Pactor connections able to transfer data as efficiently as possible. So, I decided to compress some test files with lzhuf, as well as the freely-available-and-well-regarded gzip and bzip2 algorithms and compare the results. As input, I used the lzhuf source code itself, which is about 19KB in size. That’s a pretty good sized email even with a potential file attachment. Below are the results: ... So there you go: with bzip2, you’d get almost a kilobyte less data to transfer than you would using lzhuf. Does a kilobyte really matter? Well, Pactor-I is 200 baud (at most), with very small block sizes. Yes, I think I’d rather save that kilobyte. So, I ask the Winlink 2000 developers: Why not move to bzip2 compression? It’s free. It’s widely available. It’s considered one of the best. You put “2000″ in your name to sound like the system is new, fresh, and modern, why not use a compression algorithm to match? `), []byte{0x75, 0xfb, 0xd8, 0xd, 0x0, 0x0, 0xf1, 0xfd, 0x7f, 0x5f, 0x8c, 0x4c, 0x3f, 0xbe, 0xb3, 0x7d, 0xbc, 0xbe, 0xb9, 0x81, 0x73, 0xff, 0x6f, 0xdb, 0x73, 0xe9, 0xfb, 0x0, 0xae, 0xc6, 0xd3, 0xf9, 0x77, 0xdf, 0x5d, 0x36, 0x2b, 0xab, 0x6b, 0xf1, 0xae, 0xdb, 0xf3, 0x3e, 0xad, 0x40, 0xf, 0xfa, 0x55, 0x33, 0xe9, 0x65, 0x52, 0x58, 0x9e, 0x40, 0x58, 0xcd, 0xcf, 0xf3, 0x95, 0x24, 0x60, 0xa2, 0x7, 0xba, 0x8c, 0x7a, 0xb2, 0x46, 0xca, 0x13, 0xc0, 0x53, 0xfc, 0x1f, 0x55, 0x47, 0x94, 0x20, 0xc0, 0x99, 0x4d, 0xf5, 0xdb, 0xb7, 0x6e, 0x20, 0xa0, 0xc4, 0x45, 0x58, 0x70, 0xfa, 0x12, 0x8f, 0x48, 0xc4, 0x77, 0x9d, 0x41, 0xba, 0xdb, 0x4b, 0xc2, 0x36, 0x23, 0x48, 0x91, 0xa4, 0x57, 0xe0, 0x2b, 0x6b, 0x8e, 0x31, 0x3f, 0x22, 0xd4, 0x2c, 0x81, 0xa8, 0x2c, 0x98, 0x70, 0x6a, 0xa2, 0x61, 0xa1, 0xaf, 0xb8, 0x6c, 0x5c, 0x22, 0xdd, 0x21, 0xf4, 0x1a, 0x5c, 0x82, 0x7b, 0x28, 0xf9, 0x56, 0x4e, 0x93, 0xaa, 0x33, 0xfc, 0x95, 0xc1, 0x7, 0xff, 0x41, 0x1e, 0xc0, 0xb7, 0x70, 0x1e, 0xa7, 0x48, 0x57, 0xff, 0xf6, 0x8, 0x64, 0xef, 0x9f, 0xac, 0x3f, 0xe1, 0x8b, 0x18, 0xf6, 0x40, 0x3a, 0xa0, 0xdb, 0x9f, 0xa7, 0x60, 0x22, 0xe7, 0xa6, 0xe, 0x84, 0x4c, 0x41, 0x7a, 0x3f, 0x7c, 0xe8, 0xed, 0x40, 0x76, 0x87, 0xf8, 0x75, 0x11, 0xfd, 0x2a, 0x2f, 0xd9, 0x88, 0x3c, 0x8, 0xc3, 0xd4, 0xa7, 0x9f, 0x61, 0x11, 0x9f, 0xf3, 0x8, 0xbd, 0x1f, 0xa5, 0xbf, 0xfb, 0xb7, 0x8f, 0x10, 0x3f, 0xc7, 0xfb, 0x2b, 0xbb, 0xbc, 0xd7, 0xb8, 0xf3, 0xdc, 0x11, 0x21, 0xf7, 0xd7, 0x52, 0x1d, 0x40, 0x3c, 0x14, 0x83, 0xf0, 0x39, 0xc2, 0x29, 0x5e, 0x9a, 0x5a, 0xda, 0xaf, 0x14, 0xd3, 0x2e, 0x6e, 0x3d, 0xda, 0xfe, 0x32, 0x1e, 0xa5, 0x2, 0xdc, 0xac, 0x6d, 0x15, 0xbb, 0x52, 0xf4, 0xd5, 0x9e, 0x42, 0x97, 0x62, 0x9c, 0x7f, 0xda, 0x59, 0x7d, 0x68, 0x27, 0x21, 0xe7, 0xc1, 0x7, 0x1a, 0xfc, 0x53, 0x13, 0xa2, 0xf7, 0xd6, 0xc6, 0x17, 0xeb, 0x19, 0xe3, 0x68, 0x19, 0x60, 0x3b, 0xfa, 0xfd, 0x55, 0xb6, 0x26, 0x8f, 0x19, 0xf6, 0xaa, 0xf0, 0xf9, 0xf7, 0x4d, 0x89, 0x75, 0xcc, 0x5e, 0x93, 0xbb, 0x67, 0x6e, 0x7e, 0xe5, 0x71, 0x5a, 0x40, 0x13, 0x6c, 0x23, 0x6c, 0xe3, 0xac, 0x9, 0x84, 0xc3, 0xc4, 0x41, 0xcf, 0x7f, 0x6d, 0x13, 0xe, 0xd9, 0x2c, 0x91, 0xed, 0x4c, 0x2b, 0x6d, 0x3e, 0xa9, 0x5c, 0xf5, 0xb8, 0x76, 0xf5, 0xa7, 0xd8, 0xb7, 0x67, 0xfd, 0x2c, 0x4f, 0x57, 0xb8, 0xa5, 0x57, 0x30, 0xb1, 0x95, 0xf4, 0xe8, 0x63, 0x60, 0xe2, 0x34, 0x67, 0x62, 0x94, 0x2d, 0x75, 0xe5, 0xb1, 0x46, 0x6d, 0xf1, 0x86, 0x70, 0xa1, 0x48, 0x70, 0x44, 0x65, 0xf4, 0x6d, 0xbd, 0xad, 0x29, 0xb1, 0x42, 0xc9, 0xf5, 0x3, 0xb9, 0x65, 0x74, 0x16, 0xa3, 0x64, 0x8a, 0xd, 0x9a, 0xaf, 0xa5, 0xb5, 0xf2, 0x21, 0x78, 0x6d, 0x15, 0x39, 0x3a, 0x1e, 0xc8, 0x6f, 0xa, 0xca, 0x61, 0x37, 0x43, 0x1e, 0xc, 0xdf, 0xdc, 0x85, 0x70, 0x65, 0xd7, 0x5a, 0xce, 0x99, 0x39, 0xb, 0x81, 0x4a, 0x96, 0xd9, 0x79, 0x21, 0x81, 0x5f, 0x4, 0x4, 0x5d, 0x45, 0x39, 0x29, 0xda, 0xbe, 0x46, 0x24, 0xea, 0xb, 0xf4, 0x3d, 0x24, 0x5a, 0x8a, 0x41, 0x68, 0x9e, 0xd4, 0xd8, 0xfb, 0x62, 0xc2, 0x11, 0x54, 0xea, 0xb9, 0xf4, 0x21, 0x30, 0x57, 0x4c, 0x1c, 0xe8, 0x5d, 0xc6, 0xd1, 0x56, 0x4, 0xa9, 0x8c, 0x32, 0xd0, 0xcc, 0xc3, 0xd1, 0x6e, 0x22, 0x78, 0xf9, 0x28, 0x2a, 0x41, 0xc8, 0x45, 0x63, 0x28, 0x95, 0xc5, 0xf, 0x30, 0x6, 0x61, 0x5b, 0xa5, 0x6e, 0x19, 0xba, 0xd9, 0x52, 0x7, 0x6e, 0x83, 0xa8, 0xb6, 0x76, 0x8d, 0x19, 0xac, 0x34, 0x6e, 0x6a, 0xd3, 0x25, 0x41, 0x29, 0xec, 0x62, 0x63, 0xf1, 0xdb, 0x65, 0xdd, 0x52, 0xc3, 0x4a, 0x37, 0x36, 0xdb, 0x65, 0x7d, 0x9d, 0xf8, 0xe4, 0xc4, 0x4a, 0x70, 0xd4, 0xbe, 0x58, 0xe0, 0xe8, 0x4c, 0xaf, 0x4c, 0x11, 0x90, 0x1d, 0xf, 0xdb, 0x45, 0x1d, 0x40, 0x6d, 0x8a, 0x2b, 0x79, 0x63, 0xe0, 0x8d, 0xc7, 0x11, 0xc4, 0x1d, 0x4a, 0x5a, 0x43, 0x2b, 0xdd, 0x4f, 0x94, 0xa9, 0x28, 0xd5, 0xb6, 0xa2, 0xbd, 0xa9, 0x49, 0x1b, 0x3d, 0x4a, 0x48, 0x28, 0x96, 0x58, 0x18, 0x35, 0x43, 0x31, 0xdb, 0xa3, 0x42, 0xf9, 0x50, 0x2a, 0xb1, 0x27, 0xcd, 0x87, 0x9a, 0xff, 0x26, 0xe2, 0x9f, 0x49, 0x7d, 0x4c, 0x2e, 0x42, 0x3d, 0x51, 0xfc, 0x8, 0xf8, 0x80, 0x97, 0x88, 0x14, 0xfb, 0xe, 0xb8, 0x91, 0xe8, 0x7, 0xd9, 0xd6, 0xad, 0x37, 0x1c, 0x6e, 0x12, 0x88, 0xfb, 0xed, 0xe6, 0x8, 0x6b, 0x9e, 0xcb, 0x4d, 0x71, 0x2b, 0xce, 0x77, 0x8e, 0xa0, 0x5c, 0xc5, 0xdf, 0xe2, 0x13, 0x7e, 0x87, 0xd4, 0xa7, 0xb2, 0xe7, 0x64, 0xf1, 0x15, 0xff, 0x55, 0x7e, 0x82, 0x48, 0x1b, 0xc6, 0xdd, 0xde, 0xe8, 0xb4, 0x41, 0x42, 0xe1, 0x4b, 0xbb, 0x3b, 0xb1, 0xfe, 0xfe, 0xd4, 0xa, 0xee, 0x72, 0x8f, 0xe4, 0x4a, 0xfe, 0x26, 0x81, 0x1c, 0x5, 0x89, 0xdd, 0x21, 0x61, 0x3a, 0x29, 0xb6, 0xa6, 0x9f, 0x63, 0x14, 0x29, 0x3f, 0x64, 0xb7, 0x96, 0xcb, 0x12, 0x38, 0x74, 0xee, 0x2b, 0x9d, 0x83, 0x94, 0x51, 0x5f, 0x65, 0xd5, 0xe1, 0xed, 0x6d, 0xbf, 0xdb, 0xd5, 0xae, 0x1d, 0xbf, 0x55, 0xdf, 0xe9, 0x24, 0xf1, 0xae, 0x59, 0xaa, 0x5b, 0xd4, 0x85, 0x8, 0x11, 0xf2, 0x6b, 0x84, 0xf3, 0x9, 0x20, 0xe5, 0x1a, 0xeb, 0xec, 0x4e, 0x37, 0x4c, 0x99, 0x81, 0xba, 0xf0, 0x6, 0x6c, 0x2a, 0xbf, 0x2b, 0xff, 0xd5, 0xfa, 0x1f, 0x55, 0x6b, 0x8, 0x45, 0xc6, 0x44, 0x60, 0x84, 0x39, 0x19, 0xd8, 0xc4, 0xa, 0x42, 0x51, 0xa9, 0xaa, 0xd9, 0x9, 0x41, 0x4, 0x8f, 0x15, 0xfe, 0x8f, 0xf1, 0x4, 0xc5, 0x77, 0x8b, 0x24, 0x3e, 0x6f, 0xec, 0xd, 0xd2, 0xa8, 0xb9, 0x29, 0xdd, 0x45, 0xbc, 0x6b, 0x5b, 0xdc, 0xed, 0x79, 0x58, 0x17, 0xb7, 0x68, 0x64, 0xae, 0x32, 0x6c, 0x26, 0x42, 0x76, 0xf, 0x52, 0x9, 0x7a, 0x8, 0x86, 0xac, 0xe4, 0x32, 0xb6, 0xdd, 0x56, 0x82, 0xbd, 0x54, 0xe4, 0x85, 0x4f, 0xe0, 0x63, 0x57, 0x3b, 0xbd, 0xa3, 0x4a, 0x52, 0x77, 0x2c, 0x9, 0x44, 0x54, 0x89, 0x8, 0x62, 0xcd, 0x28, 0x47, 0xf1, 0x5, 0xd2, 0x3f, 0xb0, 0x85, 0x4, 0xcb, 0x36, 0x3, 0x6c, 0x3a, 0x54, 0x40, 0xd8, 0xd9, 0xf3, 0xb, 0x85, 0x1d, 0x39, 0xb1, 0xce, 0x34, 0x4d, 0xdb, 0xa4, 0x30, 0xe6, 0x9d, 0x83, 0xdb, 0xbb, 0x19, 0x18, 0x66, 0x6c, 0xd, 0xd, 0x62, 0x69, 0xcf, 0xb2, 0xd6, 0x57, 0x2f, 0x1d, 0xeb, 0x90, 0xbe, 0xad, 0xc8, 0xc1, 0x5e, 0xe6, 0x20, 0xd3, 0x5f, 0x55, 0xbf, 0xa0, 0x77, 0xe4, 0xd7, 0x7, 0xe1, 0x5f, 0xe4, 0x68, 0x68, 0x6c, 0x17, 0xc7, 0xb5, 0xad, 0x97, 0x11, 0x18, 0x26, 0xbf, 0x15, 0xfe, 0xa3, 0x7d, 0x1d, 0x2d, 0xe0, 0xac, 0xd2, 0x7d, 0x5, 0x5a, 0xf8, 0xdd, 0xeb, 0x1f, 0xe7, 0x0, 0x5c, 0xad, 0x5f, 0x78, 0x8c, 0xd5, 0x96, 0x11, 0x36, 0xf1, 0x79, 0x63, 0xdd, 0x26, 0x14, 0x18, 0x26, 0xa1, 0x83, 0xc7, 0xb5, 0x90, 0xad, 0xf6, 0xb8, 0xb9, 0x85, 0x6, 0xb, 0x80, 0xc1, 0x42, 0x81, 0x39, 0x9b, 0x51, 0xab, 0x77, 0xcd, 0xd9, 0x50, 0x4c, 0x11, 0xa9, 0xeb, 0x10, 0xe2, 0x61, 0x5e, 0x49, 0x9d, 0xac, 0x29, 0xec, 0x7a, 0x87, 0xe1, 0x79, 0x27, 0x53, 0xed, 0xa5, 0xb0, 0xa, 0x45, 0xcd, 0x5f, 0x39, 0x98, 0x45, 0x9e, 0x16, 0xb4, 0xfc, 0x21, 0x71, 0xfe, 0x4a, 0x97, 0xe6, 0x3b, 0xc6, 0xb8, 0x6e, 0xb3, 0x61, 0xe, 0x49, 0x5f, 0xfe, 0x62, 0x17, 0xbc, 0x5c, 0x6a, 0xee, 0xc0, 0x7f, 0xd4, 0xfd, 0x25, 0xd8, 0x79, 0x97, 0xc4, 0x82, 0xcd, 0x6b, 0xa4, 0x8d, 0x2f, 0xce, 0xf0, 0x6, 0x7a, 0xad, 0xa5, 0xa7, 0x3a, 0x40, 0xe6, 0x55, 0x50, 0x1f, 0x89, 0xef, 0x9b, 0x9a, 0x78, 0x4d, 0x71, 0xe5, 0x17, 0x3, 0x6e, 0xdc, 0x2, 0xeb, 0x59, 0x94, 0x39, 0x8c, 0xf3, 0x29, 0x78, 0xe7, 0xbd, 0xd1, 0xa3, 0xc4, 0x94, 0x4d, 0x3d, 0xe3, 0x9d, 0xe2, 0xe7, 0x34, 0x23, 0x68, 0xd7, 0xad, 0x2b, 0x1e, 0xc2, 0xd2, 0x31, 0x2a, 0xea, 0x6a, 0xae, 0xda, 0xfb, 0x81, 0x74, 0x15, 0x44, 0xf1, 0xd1, 0x18, 0x4f, 0xa5, 0xbe, 0xfa, 0x55, 0xc6, 0x6c, 0x4b, 0x17, 0x54, 0x5, 0x60, 0xa3, 0xe4, 0x3a, 0x52, 0x64, 0xd6, 0x4d, 0x16, 0xcc, 0x9b, 0x17, 0x4d, 0x99, 0xd9, 0x76, 0xcc, 0xcf, 0x1a, 0x91, 0x1d, 0x16, 0xb9, 0xf8, 0x76, 0xd9, 0x1c, 0xfb, 0x81, 0xe6, 0x1b, 0x4a, 0x6a, 0xf8, 0x14, 0xa2, 0x2b, 0x6, 0x6d, 0x45, 0xdf, 0x96, 0xcc, 0xd8, 0x97, 0xa1, 0x57, 0x9b, 0x69, 0xbe, 0xe5, 0xac, 0xe3, 0x3e, 0x69, 0xc0, 0xf3, 0x85, 0x27, 0x52, 0xd1, 0x83, 0x57, 0x61, 0x77, 0xda, 0x24, 0xcd, 0xd1, 0x61, 0x38, 0x98, 0x60, 0x3a, 0x30, 0x6e, 0xf3, 0xd3, 0xb3, 0x77, 0xb, 0x57, 0xd, 0xda, 0x9b, 0xc, 0x9d, 0x4c, 0x8e, 0x76, 0xfd, 0xfe, 0xcd, 0xb7, 0xb9, 0x9a, 0x6a, 0x5a, 0x1c, 0x6c, 0x20, 0x93, 0x27, 0xaa, 0xbe, 0x3e, 0x67, 0xab, 0xcf, 0xf5, 0x3c, 0xa4, 0x8f, 0x51, 0xac, 0x4e, 0x9d, 0xd6, 0xcb, 0x35, 0xd2, 0x3b, 0x88, 0xab, 0xe4, 0xdb, 0x85, 0xb7, 0x3c, 0x9b, 0x29, 0x1a, 0x5e, 0x50, 0x62, 0x68, 0xd1, 0x69, 0x90, 0x28, 0xcd, 0x29, 0xe5, 0x84, 0xcb, 0x8a, 0x20, 0xf6, 0x41, 0x48, 0x9, 0xeb, 0x7, 0x79, 0xb8, 0xc9, 0x8, 0x79, 0xad, 0x96, 0xb2, 0xeb, 0x7, 0x26, 0x75, 0xfa, 0x92, 0x26, 0x8b, 0xf5, 0x27, 0x3b, 0x5d, 0x57, 0xd5, 0x1d, 0xa2, 0x2d, 0x2b, 0x36, 0x6, 0xe2, 0xf6, 0xa4, 0xd5, 0x98, 0xf9, 0x16, 0x6a, 0x93, 0x1e, 0x92, 0xd3, 0x9b, 0xfe, 0x3a, 0xb3, 0x98, 0xd1, 0x78, 0x46, 0x65, 0x24, 0x75, 0x28, 0x9a, 0x14, 0xf3, 0x89, 0xf1, 0x95, 0xff, 0x73, 0x34, 0xe6, 0x42, 0x44, 0x7d, 0x56, 0x91, 0x7a, 0xd5, 0x81, 0x5a, 0x34, 0xfc, 0x83, 0x2f, 0xbd, 0xf3, 0xb1, 0x10, 0x8e, 0xd6, 0x7c, 0x65, 0x23, 0x44, 0x67, 0xa, 0x69, 0xf1, 0x65, 0xce, 0x73, 0x23, 0xd1, 0x10, 0x98, 0xc7, 0xcd, 0x4c, 0xed, 0x6d, 0xdc, 0xa8, 0xa2, 0x37, 0xb3, 0x50, 0x96, 0x4b, 0x4a, 0x2c, 0x33, 0xaa, 0xcb, 0x33, 0x2e, 0xb6, 0xf1, 0xa3, 0x29, 0x18, 0x65, 0x2f, 0x5f, 0x65, 0x2a, 0xed, 0x31, 0x9a, 0x93, 0xbb, 0xc7, 0x93, 0xc4, 0x7a, 0x2c, 0xa4, 0x4b, 0x77, 0x91, 0x7e, 0x99, 0x4, 0x25, 0xb8, 0x29, 0x19, 0x26, 0xc5, 0xe2, 0x59, 0x96, 0x99, 0x92, 0x7a, 0x2b, 0xb4, 0xde, 0x11, 0xcb, 0x15, 0x75, 0xa9, 0xa5, 0x34, 0xf9, 0xb3, 0x7c, 0xa9, 0xe4, 0xce, 0xbd, 0xaa, 0x1a, 0x79, 0xe5, 0x13, 0x58, 0xb9, 0x8f, 0xd9, 0x39, 0x45, 0x12, 0x46, 0xbc, 0x36, 0x59, 0x69, 0x6f, 0xbc, 0x8d, 0x2e, 0x1b, 0x30, 0xcb, 0x82, 0xe, 0x3, 0xba, 0xd3, 0xce, 0x13, 0x27, 0x71, 0x54, 0xfa, 0x65, 0x5e, 0x75, 0x4, 0x17, 0x71, 0xdb, 0x33, 0xd9, 0x7f, 0x9a, 0xe4, 0x89, 0x59, 0xe, 0x7a, 0xc2, 0x8d, 0x61, 0xab, 0x6e, 0xd6, 0xf2, 0x6d, 0x53, 0xe5, 0xcf, 0xdc, 0x1e, 0xb3, 0x36, 0x8b, 0x30, 0x58, 0x93, 0x65, 0x70, 0x75, 0x64, 0xbb, 0x22, 0x4a, 0xab, 0x57, 0xb8, 0x5e, 0x6e, 0xe6, 0xbe, 0xbe, 0xb8, 0x57, 0xd2, 0x6b, 0xf4, 0xdb, 0x9d, 0x5e, 0x66, 0x9e, 0x2b, 0x2e, 0x5b, 0x6d, 0x95, 0xdb, 0x88, 0x44, 0xc0, 0xda, 0x34, 0x3a, 0xd6, 0x1b, 0x62, 0xfe, 0x78, 0xb8, 0xe9, 0xb6, 0xd5, 0xb4, 0x89, 0x44, 0x71, 0x15, 0x55, 0xca, 0xb8, 0x38, 0x5e, 0x47, 0x1e, 0x31, 0xdc, 0x46, 0xec, 0xb6, 0xd7, 0x26, 0x51, 0x6e, 0xaf, 0xfe, 0x86, 0x77, 0xfc, 0x22, 0xd4, 0x6a, 0xea, 0xd9, 0xe7, 0x78, 0x65, 0xdb, 0xb, 0xef, 0xdd, 0x8, 0xa3, 0xb1, 0x12, 0xb, 0x4d, 0x59, 0x30, 0x54, 0xc3, 0xaa, 0x35, 0xd6, 0x69, 0x73, 0x6e, 0x6a, 0xa1, 0xb6, 0xed, 0x2c, 0x83, 0x92, 0xa3, 0x5b, 0x76, 0xcd, 0x66, 0x5d, 0xf6, 0x87, 0x5c, 0x2a, 0x1d, 0x11, 0x23, 0xaf, 0x96, 0x4b, 0xb6, 0xf8, 0xf6, 0xf, 0x4c, 0xa4, 0xe7, 0xcd, 0xc9, 0x99, 0x5, 0x61, 0xbf, 0xd7, 0x9c, 0x54, 0xef, 0x69, 0xec, 0x33, 0x96, 0x5e, 0xa6, 0x75, 0x43, 0x18, 0xfd, 0x4e, 0x59, 0xde, 0x9e, 0x47, 0xb2, 0xbd, 0xca, 0xad, 0x7b, 0x94, 0xc1, 0xc8, 0x5a, 0x3, 0xfa, 0x51, 0xb0, 0x32, 0xbd, 0x99, 0x2d, 0x99, 0xcc, 0x1c, 0xe3, 0x2e, 0xf6, 0x38, 0xd6, 0xaa, 0xe5, 0x3d, 0xb6, 0xcc, 0x5d, 0xca, 0xce, 0xcc, 0x60, 0x29, 0xd1, 0x40, 0xff, 0x3b, 0xfd, 0x23, 0x99, 0x7e, 0xc8, 0xe1, 0x9, 0x66, 0x18, 0x10, 0x50, 0x1f, 0x30, 0x1f, 0x4c, 0x5f, 0x3d, 0xd5, 0x6a, 0x55, 0x5f, 0x2e, 0x1e, 0xfe, 0xe2, 0x4c, 0x9a, 0xd9, 0xaf, 0x2f, 0xe6, 0x27, 0x18, 0x5e, 0x41, 0xc1, 0x97, 0x2e, 0x99, 0x3a, 0xbf, 0x2e, 0x33, 0xb3, 0x1f, 0xa2, 0xaf, 0xc8, 0xd7, 0x20, 0xd0, 0x34, 0x29, 0x1a, 0xa3, 0x8b, 0x10, 0x67, 0x48, 0x51, 0xb0, 0x73, 0xe5, 0x4f, 0xe4, 0xf9, 0xeb, 0xac, 0xb, 0x44, 0x2f, 0x41, 0x75, 0x7e, 0xfe, 0x3c, 0xf5, 0x7b, 0xfd, 0x70, 0xdb, 0xed, 0xd3, 0x5f, 0xea, 0x47, 0xed, 0xb2, 0x88, 0x77, 0xc6, 0x98, 0x7e, 0x1, 0xe1, 0x4e, 0x22, 0xfa, 0x6b, 0xf, 0x61, 0x57, 0x3d, 0x4, 0x37, 0x59, 0xf6, 0x8c, 0x87, 0x7, 0xaa, 0x94, 0xef, 0x18, 0x60, 0xb3, 0xbf, 0x40, 0xfe, 0xcb, 0x7f, 0x4, 0x35, 0xe2, 0xc0, 0xbc, 0x97, 0xcc, 0x36, 0x5f, 0x49, 0xce, 0x90}, }, sample{ []byte{}, []byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, }, } wl2k-go-0.9.0/lzhuf/reader.go000066400000000000000000000111351414214701500157230ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package lzhuf import ( "bytes" "encoding/binary" "errors" "io" ) // ErrChecksum indicates a checksum or file size mismatch on decode. var ErrChecksum = errors.New("lzhuf: invalid checksum") // A Reader is an io.Reader that can be read to retrieve // uncompressed data from a lzhuf-compressed file. // // Lzhuf files store a length and optionally a checksum of the uncompressed data. // The Reader will return io.ErrUnexpectedEOF when Read reaches the end of the // uncompressed data. The checksum is verified on Close. // // Clients should treat data returned by Read as tentative until they receive the io.EOF // marking the end of the data. Data consistency should then be verified by calling Close. type Reader struct { r bitReader z *lzhuf err error crc16 bool crcw *crcWriter header struct { crc crc16 // 2 bytes (only in B2 mode) size int32 // 4 bytes } state struct { pos int32 r int buf bytes.Buffer // Buffer to hold decoded but not yet Read } } // NewB2Reader creates a new Reader expecting the extended FBB B2 format used by Winlink. // // It is the caller's responsibility to call Close on the Reader when done. func NewB2Reader(r io.Reader) (*Reader, error) { return NewReader(r, true) } // NewReader creates a new Reader reading the given reader. // // If crc16 is true, the Reader will expect and verify a checksum of the compressed data (as per FBB B2). // // It is the caller's responsibility to call Close on the Reader when done. func NewReader(r io.Reader, crc16 bool) (*Reader, error) { d := &Reader{z: newLZHUFF(), crc16: crc16, crcw: newCRCWriter()} d.state.r = _N - _R for i := 0; i < _N-_F; i++ { d.z.textBuf[i] = ' ' } if d.crc16 { err := binary.Read(r, binary.LittleEndian, &d.header.crc) if err != nil { return nil, err } } // Copy every byte read into our CRC writer (for checksum) r = io.TeeReader(r, d.crcw) d.r = newBitReader(r) return d, binary.Read(r, binary.LittleEndian, &d.header.size) } // Close closes the Reader. It does not close the underlying io.Reader. // // If an error was encountered during Read, the error will be returned. // ErrChecksum is returned if the filesize header does not match the // number of bytes read, or a crc16 checksum (B2 format) was expected // but did not match. // // If no error is returned, the file has been successfully decompressed. func (d *Reader) Close() error { switch { case d.err != nil: return d.err case d.r.Err() != nil: return d.r.Err() case d.crc16 && d.header.crc != d.crcw.Sum(): return ErrChecksum case d.header.size != d.state.pos-int32(d.state.buf.Len()): return ErrChecksum default: return nil } } // Read reads uncompressed data into p. It returns the number of bytes read into p. // // At EOF, count is 0 and err is io.EOF (unless len(p) is zero). func (d *Reader) Read(p []byte) (n int, err error) { switch { case d.r.Err() == io.EOF && d.state.pos < d.header.size: d.err = io.ErrUnexpectedEOF case d.r.Err() != nil: d.err = d.r.Err() case d.state.pos == d.header.size && d.state.buf.Len() == 0: return 0, io.EOF } if d.err != nil { return 0, d.err } n, err = d.state.buf.Read(p) var i, j, k, c int for n < len(p) && d.r.Err() == nil && d.state.pos < d.header.size { c = int(d.decodeChar()) if c < 256 { p[n] = byte(c) n++ d.z.textBuf[d.state.r] = byte(c) d.advanceState() continue } i = (d.state.r - d.decodePosition() - 1) & (_N - 1) j = c - 255 + _Threshold for k = 0; k < j; k++ { c = int(d.z.textBuf[(i+k)&(_N-1)]) if n < len(p) { p[n] = byte(c) n++ } else { d.state.buf.WriteByte(byte(c)) } d.z.textBuf[d.state.r] = byte(c) d.advanceState() } } return n, nil } func (d *Reader) advanceState() { d.state.r++ d.state.r &= (_N - 1) d.state.pos++ } func (d *Reader) decodeChar() (c uint) { c = uint(d.z.son[_R]) // Travel from root to leaf, // choosing the smaller child node (son[]) if the read bit is 0, // the bigger (son[]+1} if 1 for c < _T { c += uint(d.getBit()) c = uint(d.z.son[c]) } c -= _T d.z.update(int(c)) return c } func (d *Reader) decodePosition() int { var i, j, c uint // Recover upper 6 bits from table i = uint(d.getByte()) c = uint(dCode[i]) << 6 j = uint(dLen[i]) // Read lower 6 bits verbatim for j -= 2; j > 0; j-- { i = (i << 1) + uint(d.getBit()) } return int(c | (i & 0x3f)) } func (d *Reader) getBit() (c int) { return d.r.ReadBits(1) } func (d *Reader) getByte() (c int) { return d.r.ReadBits(8) } wl2k-go-0.9.0/lzhuf/testdata/000077500000000000000000000000001414214701500157425ustar00rootroot00000000000000wl2k-go-0.9.0/lzhuf/testdata/.gitattributes000066400000000000000000000000111414214701500206250ustar00rootroot00000000000000* binary wl2k-go-0.9.0/lzhuf/testdata/LPE5NXDVLVSQ.b2f000066400000000000000000000752241414214701500202620ustar00rootroot00000000000000Mid: LPE5NXDVLVSQ Body: 104 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 Date: 2016/07/20 19:21 File: 31028 1469042410710.jpg From: LA5NTA Mbo: LA5NTA Subject: 73 fra Brekke To: LA4TTA Type: Private Hei! Liten kveldstur innover Hausdal med radioen i kveld, prver meg p sende et stemningsbilde:D  2!=,.$2I@LKG@FEPZsbPUmVEFdemw{N`}s~|;!!;|SFS||||||||||||||||||||||||||||||||||||||||||||||||||RX" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?Eu {2/QG2 x]X\F=VEe{ѢĽ& :nWuou&Cc *N\|)_/gD9(B!IoHArq~UcI/… ڣbA-?`S##Ny |t\VcwXѼ 95S.dU`bp79+r<gDz"HO9;)r#=sJ̱ۏzt.Y`7^41JϿ)p1œe,Jgfr3z[( "H{Oygժm9r wC-XݳRۈ2ؕsZu\N2 =NS"%G\j&Rq֫%')TUA(\/봅9;eH&0nY#_g$1X;lt(:cU,~qnҗmdcTO FcsdⰣy)}K1V5?Ӟ(l!H`2qqгȪJA<~^<.ߓzUqz0͠LYx]>=˅&)9qqҺ']}#<8b[J^ }p3y'l._cG8#~tjn;d?ªm1vUaƒGFc J69.XFgCZPV8i_ΥR6nw Yjn`s2tדD@L6FXoc,rrCK 4K.ؚJߟҙrwG<9bC>Q02DAè?1Y$^>^=ꀹY$G˗8Jθ`$sW֛)f >v?,`0jд$[Ia>R9UX\u~dmP~#/$k`>*ke ceLPvʀH嫲]n SE&,CI˻r],rp>x2<`v>]xYN (@\8LiUF,8ۭ[$=1OPi\V+Ej"u!'VŠ((((()VyC@6K{);Z݉H~Mg<7R8g+"0jPc^$[gUi<n?P^<댐xDq;UrFsHcP5VI;@A棖H0ڋ~[N?"2sڢݡ$9MjOsɨ*b5ģRM5Ÿ:GQ a؎M/:cm$A8.E Q&^ױjpڠr?W6K) h1A~ojCHTO 7斀+5XJ#sY˦BI~^𭒠Z_#$  LMIն 9Ed\57]9b=zƩ ;p?9 EEGOƪn\ +LUK#'W4D2أu [Q)ܑ[K`78'ɘ Օ մ\J0p*)Tޏq1R H XyY}0jɍYsǡ\*<?C"XR[#Enl5) oک\]1hݕ?N̛.VWϒ!#ێi-v`A_js0#k?B* _l|短>`(E,rNK&_N@;A>Ҫ'lqN*ٞHi#0LdZ992/I=*|7^wX}F**zfɭ)Dk?kr>oddQ`5j\¾c>`Zʛ c!1?QPE%H񼁓U%.3n:ݴ W\՟7UHmZ~N6>o#C4y d\kn.ض = M>[9F=kI8>¤uZTH2G%̓60qޝSϽXa aTʥwU;Va$C~= gtTROSb1,l2Icsʲ+q 0=hP8AUm*G"R]6=habo utj.%h*~?JeN,*Cq :#jba= x0?X O|rMfVV:ӣEVDev( TMO1Y0zgbbdw3hZ]L9R 4'.*eu`@dB#tA)ź*LQϟ8qXE@ÂsHda pbj8| :)"!P@&*4wԍ4asW"P -. }aH꥽jwB2SʖۥX3\+e*>jZ`8WTl.;NTHQ8gnvm@1nTԘȓ䝗/?ҫ|^bf"_g8Q"лyt`BzKk,/2 m'ՔsYPIH41ޤ.쀿ڙ~,QF{԰^kb1Mȁ0GP2Ž#2/U"?/J𮻽)?5#3v{>(<ѨA۹.Ք}M-B*h_ᾆ&SR|9C1ȧ`5耗`$b;4{$''V5Xb$U9$C* :~wBʇqW0O8qǥZ[nsPE aUYބ(5fXjmnx1Y1@AgMc?򧖌G'RXںdLj#jU^`bp ;!03V TL6CvJψ0O"<;`WxSfZ4$vFDi [qhB[pjZoʳŎ$U#oҴ"ud@KEu F]F@#9ckҟ[zƎ@J44^1M4Kmm'mcު6~h68sIS<g$g,ϧۇ"ŬټۋU)U$X}x X~_zuچea'y4FSi\ŰJ PŽ'_8ѣc$}Wz*әHp ~Rlv!v30/SV#ؑȪU%'סi z.+K4 }ߡ71NxwGZS3,*yVDb OګYf3 9؄OҀnZOݏҞHp$mROڟj-93tj*1uC*nF#oV8 5SJtu5!R~b]1f :*q!|"A1E FW> Aڹ]ǷҮ2I;Iɨmb10r!bˍ>0y㓎ic)sx uQ Wq>'_ 2jAc5]H '֧Å}Uq)KbQO84y2K51"j4@,!<T.$1cW8k5DTNi&ceeH[Tb \9>G' @Ҧ7JW_C"g,>1U՘qOW M1X^=ju0G$)fLrwh` z@ID a$3=?6V2|=)%I'̀}o6%=LXTh6qT7XڒU x2K p P. 򧹭ŗ>ՍWMZ+ c,GU4{O*KYRF1Y$geZ÷pO$+ĖE 0;SB[nj7D}?QL2pZcsqTȶ} 뚚#ÍTx)gJrc8qS1R-Yu2F24u;1N!Jp1=i!8== G4љ =1P%sNHOLs޴'Q$:k=:I5iIG@z`HUa]˅dp?Zt#`Ҧ2ƠH+Ÿn<Njf/'sϿX2'qWL㕢ؤpjFݡ8 'cᗚ Q%rܓ҆$,Y}Rɖ@Î+uEBJBHHcCqҚWۼsیj†$E*7~ b:tc#'N*ߧ[<b }*6^9x Q{S:򞆚`0!#tds3H6ΘqؚیQc)7sҪ$2+7Pa= b<ٌVG=¨kj`nNR\IUCO$g+Fwy! ?4bӢ.{秷C%Twb cqVbfuP {dmo tw$̖o߅WkQLS1BL(Idx9ljhJkdb2w<U$ (k *P#=j!-2WcLr9L\$&F9s?ʌv:nf/%59xK O-z8X"ٷؤ,Z[;D?19e_C|)9%}z>/ƑV-,e޲fZ61U34?wiXw6>1TSY>Ƴ. )rWOQS4d73pNAҝqFs /ϝ~ Z!l SPe0F3g} 12CbL{TGU3Wu$ƍ{/i;-Gͻn%aW Wd+$~Z?1hـ#}÷LrN(:D7,:c֝FyGGnF%wt#"klk3*&6{-H ?_Js zdr{:v3Pf#ydPqJn ,m\WPaH995y%;Vċ4HꭞZRdHP\Cg;.wbzdjùtχuo{p~Y<sΩtpp2_[X3H|~QzKhR8dgWա!cgB?ƩJ p3҉ #\s׎0ր-Şبnƛ-ыg:MzG> 6%"F'Hc#,F_>Bike!6"& aɡ;p08nF{T0=z̙~)pu2K-bH*|tϯJV9qU.7JN/Rk>ko\LK%=>_VXXV#vri zהcurp}cOp-Bq fATEVKp #l{x *J㌃m`w37ST N@>m#]&p\Fѻm|FIGT7#cRy=zW[n)$6{;=_lM*{W<8jQ3̮T#udj{ˢ#*lx4rr)4)e x3VJү$+ܐxͶGpRl'^cP CI=}O )SG$Gsj*9>.8?F ;}KfeFSߎiЁypM"'&{@͆$YeS>ש/vmܤ*?_΍|[Y9?CKi-ăA (?Y9:#2p(#LTŒAo< .v_O[(G. 4Ne7 09th6+Hj.05[(-61IL? f5 foYvw.(L cK$bA~S(FlJaRH{ԕZ|olzMXfTR@5A%.Nkv>R1RČlAv 6WǀO5^UÔa3yJӑQwE91nWa9ܑIv aaUvlׁco01Zr],,jqz?+[%W8.XQ#9ГfcXEcag8MF 3?jaijmsPՙh,nHߦ*7-A ^0C?5#EqZ;n걲 bO\bFO)9wYvTX.mMh;A>^0ke?{'VWhb9Qd_-Yʕ6wN0}:qUHؤBzc}*Kc+C{sޡ>j|r8,`j*MDDa^}fv%#!p=5IXM$Oz#xR{b2AJK2zCd c r })A}h/%_Zw(~e!9 7=wp=N;9fO.vArKg./G>8'9C $Hv|~*b9 3Œe1s(`2@ƒ֥!%FNTw@\0Nxj|!{}jl2L2UQc79ycީ vzzT!ɛprPЅ'k5 wg\c4ǖssʻc?^3E`o Iryv鏛2*[Cr7lzP!#oA֑0v R@ېfTj@*12$zjR9sJWr Eۏ5,@P! a=ȸ8P{j[b8C/m^LT0٨.&2wyp2S҇ERzygJNHӷY6I'o9ԝO_JM^cEmi ֓ DJ;ԗI42$=067AlЁFC~oJn@#i3c;0<_ZUϭ( ;1)v!c2:R݉*7J1Drs s`.o#w9 (A'MTvߟZB%P$M[jVӰEMso O_2Wqy<UcRCsC,3vA>U &dtSYOw%ą,I猓)sA2&TF5R[ w9Z'&꜓*d8Ʊ1 ̷NP?™o4FM+noZ[vHYaHh3f%@:3֝!SnNp0A꿙b@;0#@2L$;sMf 1۟MnfO?)2TA<7ߟR#bBjr ڤ ى#`WT"L7aO|SЩz  r{L(_JD|ԛ#*uɨ$ V.C>j0dҐ6!<^y90Ns֋lv53FT 1nqN #c>=Vh'7p qJ# 6T5K3qBp9'ӃR@M{ @ q@)펔L]LgJ.1I*Pp֓vs' Jw>\d@$NEqwcQ\.Fy IJ1Q{ 1w+p=(EV4F x89#iId)s L͍+0:<49<⑗ԹO60cS$k ""cލ3SbIޣd$ei Àޕy\Nx8jQ= ",G"DZv& b@=T^o@1V”hG>#ڂJ.+~^X#CH'=a01xp;6=-2']Ap8m͎3LhBHIǮjH˂ A98oʠu(JcChlj3(wE"I4r .Lu#Lcڝ8su9%Q09CS*<0x8F1 >2j`Z@Io@h109Ӛt1NGצ:T;2]TsOF9!Jzwv+tFOTSF[xvCB14 ;)$R98;l N9S֟ޗG+d} 5AϽ9zc'g{Q(=h}iI<)`NE0P<FVb8;`@DːzUA#ԼN ǭ8*@SȤ?vf,-0p1Қ`c.sRaO$r9?JFdOj]RvűURNy ~$z Aq| Y'h9z[ϡb$ӌ983LN9g7ۊ@ĠSiƮHvgJ EF0{zS۱Rg͊f]րA44JRP2@PS|bc'R|޿'+Z6jqYܑY2m=ዧ=F9p2~R<q 6E,Aw¡^qX0+ا[s9 ЊKA:*?6EEC˭#$N@vgnBNF U=AS(q~8"ۜc(qڙ;zci~ Qҝ"MoMqK3Mrw7ȪGҜqȨHj\ST`7 Ч6@RP~4ngF{xJv #Ӛs$N n7=cF]G"PUuwJq`SH[oU=lvJ FjgP+LX7 0JW(308).s841Ddg?A@(Ҥ5W| ye 8:hdTJfr*}>0jrCǥRZ\cpx(lqH JK(RNNGQBNY erH\`sSVܸ`w1۽=~s(ۻ9LޮOPLHQusTwQ˵_/E}O>,?)?_ŸN;*XAR4 0799.R@rNr?J{b3Of")W((Fx=jѪm Tu4}p4ڸ=(?f@{Rr%]*P{H1dT{##6s@($FGLAWڤ5#p4 `  !`si0xU%LV  JyG-A!2 F>M!>Y%@ɫm۴Uf#'c`X&~8fIWsӯUNcP@''ڤx7I0W|ʃ=WGˌ}i0$rw+P<\g&=sI[*C 'gݒ?5$a<9TkG>fu$?zkA" *Ip WGۀ'z9EA֥~f@fJ0dpm sޘnJåFs*|zvȁUf;֠e #9 ҡzrBgr99nԞfXn i1\rvbNJha23AmWwU݌S|u8HJ Bց6HHnv T$8\jVK̹\G=3l&bUW짩Tm}ÿZM"0}{ 4աn5mzTxsQQҞ=h>n֋h6g?Zvq{R 8={Tʼn$`sJ` AÑKJCM6I t)zdr:S.I)#rJr)oQB+Pr9H`&3{bG9@ag>ʹ= hC)#TSy*Sk-LL8Pw!9+\,Fx铑Nߖ)jso00P=ZǔπG$#~5ı\cI)KRw'RyASǠJIrǞ3~lyR7ϵSdQrHrKD#'h&w $k>?*#|68B8P$6񩘌9ҫƻIy9rz4~lp qQ+<:cx99&9f@mYG)펾EF?ʑց|8~ן;YOҍ;˴P* vcՅ+]Ѝw`'\$'.ıcVV5/bU[h qˑJ_BarLS*f` 4*awFEVsNFW>=錢>Wor`$GJ[wN TRs;vד@$Ą&zw6HqZ\:"cHc)? 秭A- 1f 1Ɛ #eTj|<}F+ _O͊Q&9 ] tJGRNxJځ4$zTeT9 I*$e^j'!x>+L - ;1ޡF0r{% ?}ˑL\3zE@֜ra-F;gl1Ѹe)L{Jv)ZP0uM0Lt_lrN:*c*PG8\OQclnh1+(g\:p 4߷5OUEU=MBeYAR)30$VL#dN$J2:5&*0HDuv=zi:l)lƩ3]TҢT'sQːއ֢N%R?Z^JsgcFssR/+{*@>V,jbrSAobV .)$ZI;{53vdoPq@ źUQrV^Ա `zbl#M!oUr=3*IUzzUL28^'#Q:ۓi\p"ne֫LyVS 0 GO]4$U e'#9cԏʮD.Cr8' ͡;Lc <3sӽlRPte"Y J}=A+w+19F Gی8Rf:֑Tdp8+saO䍛SL J~s=M "U1iUG׮*@pXhi $杇aQle"m8 "IRI <.9_/ҥy G5.}) |N6\& wzqV1?+rx!.Bv֫|NF2r2:lsd*+ħST~?Q)d``u&c?R|`Z,L3B d@Z`aI,iۂ gJñ, >'I#+Qف'L8IJdl`'#rz#}'S Q68#4($8` $XOzt$ $>\?:z(FIiـȷV' %pmi"p7g~V+ncӒ9G+9FxPmU*dc㚈R<"?\M0}*%pdC aSEgcדQ4ODam<`l=V3Ua4=)bUOR3I pHiY}򠑨A׽3*>'8SœIX)8ehh`pfz8!>&H їXRlz#O w62vr= wc;6|s )Mف 3`St`g sP^sOqI)Pw sۭ:C7F;{RʣoAzЄ'נ1$I'B3#mQ>* +~cڳ畦w*ʞ-L{$#q8Aӹ ASAH5hJ6EC?ƫ!y@yzIعqPH楱 c*Xq;I="( ס=8|>rT+ya\X޽i&âf :x28Ȭ"8lcҰB` q`tqiq Cy*p)uD&Bd8=y>RPzCI( #,mTYw\Hcė#r:Y`|wA늎L(d)`̛z~@AԒb5*zz2;|beR2gd@4󑓚zѺ9" c߾jY o tNO֚H9J-rx;g9=MF%օr  *H@5>bSz~Bs:FN:iM0c;;LڿOʅ4^ܢ!~hP\1TJoq֛,ɀ& kLH '#|Pv9#4$ڐ*?M1`?xB:!c"m U±1Rd(j@2no-\mv͖*7U 9 7=iR7@2gT8QR?)8;FcPX*p+ˌ3KAl(N|:w+;;|F8E< F>nl2XIŞA2QJ3qޛp2Cg篸sE C?7;9ddf5E^ MH \i`#*ԓE6#|H򤆑Uw(=1R~cUcq|T鴎Oh)) '!&e玣i۔nrI\(Hc֜<[I44?׿>`)A B؀28sOxUGV_cE$c' M XJna!zd rKmJ+)yR Res*II}2(CHvwMAm2\wZPX c޲&dG =i)3u&I Wfi-nE0u5M/Jp)I ӓPL(+#>^E0sڝn#Zy+288q8Xȁ.|MgF2sڑE˸1E`qu'ȨQqE'֒)iшIyC;u>jI)J%ʆhr $crǶ}j2Hs1@Ȯ; FF9 v3O+cM\L`zՈuϽ@3׌RR05!*yҫ'=1GQM GqR Gl>q5XY=@=X8^C -JqGSO` TS<T<Ҡ`?N.ըeTQޟ:E,\r0}E;1.%jb"Ϸ%FߺO m8sxfN1]{ʄ2']T7Add1e!}QX9NH')"\eNq>X.V+@۔nw -yv$O|6o*>[ppjpW'ҺvqF d_$~T jK JA9AY|K@Jv?\ ͅh+A|j=j2$?ޫ#)fB[x1Lh\1^S?5Y7 rx[p]{5Un\߅ _yx'jD`qldfqI5%xwM:V6K{r̤&n[کO3KɩmC:ֻ\q0HO [SP]SzFE/1GTn`;9ӟ֛njhAAH$`9eEGAO`ydn{fpz nI;U4F⯃ӡHġ ThX;3q&,cGCm$:a ?xsU[iV'!2'e>HF ڠIϠUVR@*O5i ~io"gC'5Su5$R(@O8G4,N?NN*(c1ڛ|Y1ȓt@ JjtNⴤ퐘֧0IR\q8ٰFL3R<1vJ*ڛnLd1? ym7wEhȧcg}5<_?`zR]4exd;BF@$+~u 6$En<0Q7Prhj.6fݱ;^;S"|^H?LS|1M' g9l?ʱ1ƲlW!WߜRKrve@k0bW{A2 ‹/yOTuq)K|(=U$`p:\ĕgvg֡rI%P7͏vi#rVa'HZ6rwݏTNfҊRVLPdVl c~ʺ?OԚCٟb?4saĒ>\g?VyI*~x]"ء;Uє.z){1C& `z;5$vJBsZ nDG6YV z{S"MFX ޠ̐ *Aq pv m䳀 g?(Tբ=+=\Un⪙(-XcU䚫ZS4tt4wGj/R`g40G *bH ea1R`0izkQ8_CV]0(`HzT*c)Jw<?J9O?#L_isk`Tb#̀gsOIvfЖxzsgyʶ3glUbᓿcڋf4Xt[xI:Ożg#/2@S,nU |8$r=i@͜Lm`r|8@JfPd'hTs'A.*8L>Pa@JImK' rdj(\+}(* PT,xnJсV95iܒ|FvO* h0@(sc*9F`I^1w@WwFϜ1"_$s3]6MQL`2vJM\Y_$72f%p[ޡ{*һ {}@+*ރʢ2>v $ֵB}jEpUE 5Aj̰g Bő$ à)X 9`9R\03Jl| o3` AVd!e@@=)1;qWʁsP,jz  lkAiޤߺ#ʪqz֒<:91@viZ G=(bc1&(N@iRt@Po$!?yf=@M:UpW?:k/u=*D,[t5\޹sjg;W8 xcaM0"S<R w#UܹFp1)8P`.x5!c*9S8#*Bp+\t'A$$m2sЛcv ޥ@SU4ʀh݌3S]Y7wFZ%ʃLcZX==&]t9m~ئΏWRXBnAsO $3C@9S1 秵3x#H*8;7zsRnb8j>)wt#2Ȁb?B:@R_84 apAVXgT v<ɯcEP0֪ Y*"3d+Q#G``֔zBY90knD FSsVcԭd#avmt.QN|+{NeLdW^gVH:en˃SWĒ yr²ՙ`yj0I!EQ3֟W*<dGl.wW @Bec !- $`)Ve ¯d}c AVEaa nr<eMKLmoQ<胓 Xr~գ7ql.O8?J)QC_`1nPw*Qqӹ=4ï5*.#lz*zM (^SV;KGj%98RnaQҳn-[sRɆQ8S$f8Fi`q@H@_1;N48xp(5i(hRJ>BU֝m bU$O]6BBnbZ.k.0: FGLZ]?Q>?'#K%tZd'\~Tx9OPdg4Ұ+#tc68" ` F zS2.L@fGR@<0;7j6w0G$5$ll8B??@}傹*I8BqTWA6Np) 6ޖ'#hq߀~P9Ni𻔑l?xԮAV,HQ;*9[ rppsB ml`Pϰap}Qy* 㨠GCqʒ2 F>ZP9CaO9=iӵH=R♃C5C2WUnjV:VuŒ曽y>\)!9x%S9;AgzWCP`}inF\ _zNV>[ q=ۏ0ROcқ~ M!Ԗ<-4Nz0m Av92vbU aހg!*J=︜BW0>GخT(֧&f`; ֖ r{T`P1dp L{g>nCU9<g$zR6 m>]1:S.cX̛H@" vD،NAҜjHӚ !!d1aSq |:싷$ 4B#H^*4cTHM>!O`gȠr (>e:*`T6a#' @ʧ<OVmGX"ͻ)f:)s(#I;*kDImoSڭ fbya7ˠswE/Ve.nMf)ӸX+He³tU|ӃQpG5< &#<y9ArӸkl=` ~E sgNhB4\,j1 Y\y끊~Of*k7Ew>^{52%H |V7'jT=jɶC1_j ݁ڢQi 4p:z [Q.rx?JīksZ&͡NNGsҙ's a}x<*Ijn+;%6d1>4F#GfWJ$|3m >-ڟ;Yy sPypg5M$'A;22Tp^uR+qӵ YASJP#sBFJ9*ֈZ4ܪy|Hy< mO֚v$rxJ1$o4^|,)mmŏ-#r?w",ywvS`A$ L BG8sI т;Z_/U&3i7F?vj9?{it$SZ'ovTj ;}*M~MONVO֎-1 d?7~ێSE%?Jo/NoMidUz?Th"r })nJ|'TS g?ZSQ=jYן$=eUC,lvɿQ}kRxm֭}uC=?Խ:/iQБOԶ4OԶ&61ɧO?Zdx4ʓi}mt"A-B~RCNzu0nN;?P[ZkEC ?'Ɲ;'6>dx:XVܙl]L X'5^/*ŷCU{/H*xKAƗQ_'->klH{[}> 3A@, EKE>_Q/ ROP}S?).SߎcUYPQeKsIeS!;sU?=?ݿި_4+ D+ K%P_M?C.5 3v8}*wT%YcSK簪Z( ŹsVmʪ}juGb* 3J>}L՟VnFԴ wl2k-go-0.9.0/lzhuf/testdata/LPE5NXDVLVSQ.b2f.lzh000066400000000000000000000747511414214701500210620ustar00rootroot00000000000000 ^z~mgcsx`X;ןgn|lʮ|H~seq=`_ʐ?K.;4_G{ոS{ŃbuGj]jgG 9~9+_\bZd%Jʷ.ez'5%Jxap墕bmBwCǁۿ4qܭixQ=zQj(vKץ?oMyIKW<`(9{ iqU!<<7Gٷ\vO|6Ÿ iUiu: =Z.i:jw#Wg?gf3yyXZtIXSrL9X b_B Y ;gMؤm)ss#*W0| bc oK%R_M- O>y=g@v<[Ǚ66/Edy\?17\5w%x:wlZn9>qXFkز|phqb( yn  V$7[_/[{{lBYZ-[-ieDaĘ"H!u!fXiHRT%)烁He1̡ި}")E"(Seb*"3 gVE6R)0U굳 &K(Ût|o+vgs)oAȖvw odbnlk柡ޛG9 #z !o+T[]mQw_uct7duv:F.;|tSzYym/F?8RX7~[lWbbӼ54Iլt҃p5% So"nK+pJ[lfgmV c{;^Y|7i11oXϞMyp0kcP޳!rj$j?Us kJ ޗ8|;9 9/] MB!<+^ II=EqӿDPiW ]Ux~IQ$Dn\64Hܢ7g+Ϳr;;O-#z\޴%p1Ԫ)O^a,=QC]ȕ/"J^+B? 9e[%~]ːr^ֺKs 4jґa>Sx{4|ƤuCnmr3^y森4%\p1 4yX%Hiuv;3"VIMki㹥 ݲPp@;^S~CKM_sGWB|Sl<2_gT-rƉS95g V;` U[8gjJ Gcr_,[\uRF/VPvcS(6 W &󐘙^tV2?Ll޼}ղ|՝|w=@ipI-@|>#[_7d!~tTקѪ.% 7#JoFw =(CEлjw{]=xCQ:ħꈧ i jx}Ev}AocPmi,I\zr  3ơZQ"*dūFN{It8V| _&Lz|lƟܿ'ӉuGֱ X_#! |qPgu e=_K=}=.O(a.SmGRs٪+j츜5E攏-w=h۝xF$6(x+tW*3Gmh|_$84{(5֏#vg-#q1g:<$:Ӟl+r0 YBV:W~YYcǽ|_wmxO\Tn{>oEtr8Eg#JaF@]eKo@o KAR۠:žgs47/GHWkcNE,RS> ?XbI˭ v5 c)F@M[8w8z5P|AZy(ݝ]Z`\Rlí[%X8S-қyWDݾ+WmZn%_6Do[7M U3Nڱ.Gh& 2g~%hw+jha'_a{T3 [t4`rZ8AE`$j}U{k}e/V'8eJǦ Qfݘyt w^8ȰG4+)F!yD뵩Q6e]._\f.Hx/=OܸmEqO9MNj"uGtJZ _}BVӫ}S i}TsR$v;zrm 1Vf_Ս&Am`/4m`n ݿsPMU/P~ J}UUrbw g<{,EcLy1E3o2xBoX|Q5uV__H7F8A 2nuLB,^i>@YMobUsh)ySSfBw/+s#TVwȵ 0hə%![ wסь2}t$}Xe'uVј ,ú]niwIn|çl9?BU)d0!<:>eLFau$ve㧀ӹPeՌ=5閏({ (|a?Qf` ;{=ߴ"3RGjѸT}<`Dg({s >d^wDpfk^?m&F) yV[Tk~@';֡EjmKF-&cӱ7W#j1\l({7fL~Qt2t7WrK}e k1FRϪuA~\E@L^NִBT^ A_4;zū6U4,m1-E􍲒r'F6p~@?]>P7Ū2hzYQ#Z P6ߥb &(eU|YVᤂzp2 -\\xZ(JiC_03 jc%+j2gh$Ew *s{[ ģ|nw(׹G[p"_ƫSE@M7Y3(3U6?-j7n NVld<tJRv Ꭵ_ZzT4은d'>ٶˡ܃8̦ޣؘ;تD4 mľ]C]Ս.,zQnD!CԘ./C%)2L9ƶڎR|E_3*^VMbAΟcGBEUo{N3rPۛV\&Y+y{}3b߭ °)^{h^l[Fw'iۍLU^=޽p]*?LYerFt钉~sDz1TrG. )tq4G|&ꖺ &0r+o}!יhZ0AVED݀)~cswA:-YM:QXbiD=3cMr=`DICMChbKo+[ެ"zV,<ݔO] %?9m⏽M챩Z~_[^jb9˙a.]Hj+ jjiw8-nԞw~"tWrA}f*yI?%/\ߧ o~F'7 hzw^+d}|›ko[a-$rJ&jdiẠ[ f06!/kS+qv۷J "w@ qjPLC[+!!)\ےON'nGT"k(ۻ5EslyY:F1jE)";a~pLRv!V4ҷ2ژW.'n^1 Z1{evQ۫r4,Uy"GUh$>!rDeSaI sn)єUo5  ]n}H.ԇa@;c ڎ_NaߺY.Eʳ.>ZkOXzrʥjеaɑ(̮ ۺ! +^ AvqT~mz0p)Oz |%|%[S:V[g52![sRF_Iל)F 4%mvܤ?QM~#q&:`z!C9y@\Aj+6?0!>@UK=mw ίDy(1#Vd< ].ؖX[ ˲|w~B=f״jb1=TX0me]T0 ?0~GD)FaXP)Ӧ? 4O蹳|^ Y\Q@iV|/oh.תO /~X|ưaBf6eHy RĻS ىE5^W7*`w)]\#}57,GN/Qrf}5KqpFj,o311#Ap6=3g( fbpz.c|Kŷ/'#ߜ>8vιOвQig8$h.FլnYg͗/>j*05ӧkVзW^iCvGdSp;w4rg킻3^+uඟN2WUfSܓjs,-qfzYg嘰{ eq > ?4{0):jɸedRWa}:a:y nH1Һb#XO"]xEv?zEGҾ!eMNqc:4rtOI|y7ź㾫Feġ ]4PZi0{~Ȧ?;qaaÇdə'!yC̕N+Ucf ʌ/7M%_9_V9UMtwV&:-]-<=LF۽CӹO3;*Wen4ik|bg[P&(btƝeBhGF-+1Ji?CԙyFYKqߙG%*%n}g߻0r|ޟ 82qFWv/ڇU%ɎV%g1x'Ѐ "$=sھ2%]gxV#THOOM3uL~Pܢ{ JzU{fQou;hx^}9Q%a!o Ӄ~oq$;7s>G&^x1DR?S)@RhS@~3QĈ+[1VJ>ϑ? K(E3^]vhZqO Qa-& ɉS&R{d;E@K*NHK YBcƫoQ!;#Z^H{j(H '%@Qw1r-[4E@ۼSj>)E 9ؘe_.X{WX7: +'N'D~ڔbsAQ ꟯EUdR,C\HxϽƌ+;Wn}'E<'DG~R_ŶpM[߹`XzJ5~ 6{>WP,xtl "nSUoFx%o͏{&l=]Dc }_"{BTs"iFonѷgXi~$}?f}LǒҮ&>s'{{gtV~~&}^%V{z=vէaFο("ځ9Ҫt6y]fIP0R?b%')¯\Kurh8KBYcctwbZ<:6"a'-K+*O_!BOaJqؐqء@#OJ"ۨ]]ɒuVQ>t[)d!I`_졌  >1 LI(ШtrY3Qh␊_zlO: d*SR:s(y?#`/{>ŜoS^zD/vGk?NXu,a휰FVgF\lrZ iFzh,BϜbmQlyd{|cC3 ԨV[gĢ%iuGEx9;|NK=-K~JnmL"bNpY-ֲxG>6lJߡOWVbϜfښG]T9 m; ICUÙ?,5V3E댑Gў`7W_qcڈ#;]rnY}d="Pj`Gcغ6h17ROx65n4ɚg=3˘I+5r#dg}kvBtxa;j%u1.K> *\[gC]լTSMk X@{6Z'h*AU@cjv֯7S.6iRhOW{0h%U{Q"PcAT.l5Y޶!J`KT|A4z|=btCю2m$Qo_S/DOޟ:hi 9\zb-p;~?3b[pJLpƞEK"97nh8"J--)f"37sW{4bdB68 ӮoO5r'2ǘOһmQ%^nu"$}Y^otB;p]%&.^3+/)45&GY캰57vaqx6A9ܷB7nRBJb :vSyOKЃ[U3 2qokVw_-X%IJNQG`?n/{/a_zw(ǃDai׵F2>1[E}u{s| ?z%Z#YFHdLׄ $htcZσ/Y'-/:WdSjK;m:EV 7i&juݪ4 ;S=RrtxhOK; ֧Л 2k5p̅،rDDL'zC#Do*sыMCy)aj<Q0f{T[ȧug(@c܋Dd g=9jW=D,ZKGp+At+{'/:7E{clӤwLAּ>E76 Шk{+ E,Xͽ$eX}-[llʫ?fF7Xy %s< ěwp-l%}~[1y>}L9tÛk_V`>FDwVemݼ(]v.HFuJ6L;gǎ;B<l=k\7jb H2)o,N%].{)Cuԟ8tş,o*mWH/UO;S 7D־"ǭt x4Ucܣ ;V1zu-V2mTp]}wg<V%6y |n~Za{_G'S~ o>$lt2|P;.Npۖ5H2%J Q>j6%/p7'Gv/okJrciA[)໿]^!*5<p%?`rٲUlzb͹N[iBKfcx?!-Mfb{.9l!O>F v MwgcR2uκzƊ{1Y+r_zMoܘ@Ĉ|.թWzX;1D7(R^־޽v1k~? ۜr?SZ'=315%T\Ɯz3[ؗ"|^])K ϼ1#Q^QRiX޺6OG #T=\Uά<'P=-I=Tۨl;z.Fyuv(YR!F4z,ls7hoNf+(ew̞M7!s»F?=_aw~Yl8 oKm)l?7YIj2y uiM]'՟&U KkJ/&?& bE DsӯEQ?~榝C=he=Z+#~4SG)Fqq}M36bwM'-,#DºUƿj3:UTm,垪G#|&zbC`d0V98 Z4߳}7m۔qw.%kM\7YegЛ1)^Bܖf [jFَr~֣@ .e1j)rex-YYhXpgn)}3Wѹk ОJU"nRvyj@%K{M䦃EȹS-x1vJ,$?z8^ rcTdu_dcr2Vme[4G{GNYsMO&T3fFHd>So7"(z Ȋݤ񝂤0tK7}lO&ij-J(խ8)s|6y)nBk 0;uv2OB:,?f瑵#F]d̎/V*js.V-X}JdBhG3p{@BJm \?8~PQ= ٻAjqMG2[ԙRZaK>%RvUhaY/n)&bX!2.l:v#=aI>ߟc>-{KB|qp:B&kJ?@L ABA뵀nS?lf]'[ yHnM[>`Ry&zu߼r%1K]Ygw)Gn-iiq!~7ԻPdƒh#_yzeK_м63p# 1ϻ6myߗf\%>~;OZk4YvBt, m]{qʻz /4`vM׍`XA`^nkܙ/|d[2UgIOglQvk‚#-U ~SAg*e1‘涏ĝx2}T >}L:B%ݥ2hmbCpf@Mۛ{%oQC_|t\yk~DW[Q+Rn"/ޗF,Y+ͲF8)dL6ФV'7C&["!ŗĞ\/C;Kwf#K15S]u7 Oi  =Vİ?J;Q0M1-;ZKCBwx"bM[oWtwP571jp eڤZf.Cm^Wn ݙ0!N+U{:R/O+uH|Hu2`WLtohxY{ Y׏&y#s-ۉ~9#JaYrj8Qe̘{*8_+.9ص-B%Nv#=B(׃p̎pQ"_'ic@l8ź>9@=#h,&ܴ*+xpjae8I`JyS4xv^tuj9#Ю\J(KoAȯ&vU*j ǡR;,pUg0+Alc1v t;:{wBit,w+sd0 ?-NBIcELEcSt79?G_CƯ8BPU4J'?vmey,.u#YDrPE 2owxg⼊F;x{KгR$f8 ? 煭w Lyx]޳r<Υ`5Z6mjӵ Ck ըzKMBQ,?W;C5ݔ0à?,߻14rD Uu}/WYn4)R ;7o(jyH2w$]IN KaGۋj;rW+ld+'~QVCЪO$5^1|x.dbpe [Yߓq9kSv8@Kd7tΌMV픗{I) kvגm8IY-2 \5SY-/ZGM3lZܞȿ͢(_97h =~\(rxrWu2)?t*}pηvOű4N9Amʤ3߆|N/7УO,$~a;dHdFa#lE~o˅kb,zp{{ Y u_YOLjJ *oatO]d\>{uW^3 £WmKƒ ggNX^öUV}g 3{y/Mh^8A~Qq%a1VHsI`kעT:̚O8}TLĐտcc/~CvqXc93OžO,`SHzh29k:tW@?Mݤ덉i1m P0 "~B#0TIs!m]Utb- * sx ^ mBi()c>aiĤi'eX?w>Vp>WI2+gG,i\nW0ij4L_[ \F:- [՛m0 j94>nH3a.3`M0{ {%z(^Gw1-UOl?6ͺ>C|`CNi EL]B \f*4R8 꿲epbifppb%HɔmP&/;1+Pq6_r^Tد;XKN}\;k*w$󼈬%Oy͙я9͙/uQƜͯ\E*c[|Mf6+3mfզŹF^J3`rm.uƌ$pZDs?lZraBO/ҶՍWdFˊKȝv6~PLOO$|ܷ5uٿ\w)'{ +n6i'ۍNm"SFdy0z|҉`/JEB{$ZkWI!qI4AD{Ρñc|Q*ux<'m^]t,'H܌oj2͍w6X&aQSGj[fHxF5$-Y39rWE/7Fj2pMm^"T}i*]3<fW6{5 V)_(grT !m$1i Q[pTpvj3mjfv]NW9׼ &zrݿ\;ƩIVVw&6_5X*eb01|6ngVۯ"#tG>/ص-a +# UMIn`:Ǝ(Da,dp>~yĭ(yܝ)H\yBx.$ ][h1<ΫJ38]J_cq}m mO9ig9k/ zE=Whr0O:=g:J|Y[L0b]ZB' AV137K>12u hR/S6W U]epa0qg}a[]wB=:}4vӚY믕p>鬿\Xղ+zOi4^GәBB69 {l=@8P_-{#ZjnnRjAƥ) `K}h]]BuɝIE*hkyUNq(n36k8ڵpzD8/$un"A3?n-6Wr!Anw1f [B޿Osݎ>_O}}ORA3G>Wm̐rj{_o̷8ٍSEo.T2F__T$vɇO%,fx9 RW%3Pu}"~NXW<ݴ /R_ D$ ?0.+-hek_^Rݞ\-TO8?럨YǢE955B]%/.LJdtπwhecʩX$^J8^Dq0ݓ53z9v׀]31B$@}~W^Ro>f=S4 * X]#~,0\ ax ӶOL2]Y2G](q[䒚KJTEw3mͣ'}8+2mT>7/' wOa>+k Z̃Xa{=]oꍠGPݾٲ`?uD=Ѕt/ֵH+o҉&o,[U<v/do8հ{XG F0 Rhg:/u UtCg˕t+ ߳=s$=]>TKE0vA3겫 Ť,(G=`Ra.uvF^W|me ev$4"Őʞ!G)oVxmwq{꧳ nb]r8OM N3@33@؅seis$Bv䓾? wX*SC}67?trzJqJy2ӶWxP35xvG@_\=AS/%jooheD`|9,1iVMN,6V~T ?]Pf8 ڿ4kT46T,Tsuirwa'H1n GG>;jݍ?ÌB;ԱՉ% x_eaDD ԯ;): h=uo*~Wpݪ=Szgm+=q?~ba24 z}mFz CpsQ~/%(^#bEJ@#z@acƳ7e5 ENӵeo (e} ) HOvOLDTH{_3*xn4G|Q. -+YrKK(^^987Q\Véf TgsYm`T%iTn6c{e( 5^;~&Z#oJ-]7n [{l+#ߡI,wI0c &??$7{H4$?3 y b,QwHsVoyjz|o=\,8 ߬ɩШaIZRl/3?U8>>72u-0hW/K`l"4)е%=}/FmQx߷3h\^FnBq&宼zg_/=uw7󟛇X; NY+'*Թ P~n"+Ё4Nbř^;cXz"/OSmO v]J(=s d=u%FӇsa5C~)ݝ pb'{+V"eхo-Wep}-OƒᵄЂQTm a#ϙmc^n`#'-^!Y 4DcP+ڳ' ȬaH~߮T)O+NywV Y&\KŖހnL]Fݞ;_Xm-,#DQ|] ?LsC,⥚xv;]qlt!U@3\yzIDU6OwxG(gV~^;c3s]qI,:AIe( v~=}w1gv,cEgsyOjM6*Ɩ"6 ;2Ư'N{rh_h߉y% rd¥:+H?wq0oA3 vYM +9Pt&5e@QfPtסlQi ]41K>3IPA  {e;fIrZoN@I}Ou_{]X  ATټR [* w(ߺ;q/.Lv7KԿHKsX4,spyc'd=0j$65g۫du?6P8eGDsXMCCąq)6Qt 3^8u }1NXo8˿/ I A~fݻ[&/(I$l-ʄuh.~JO5-Z4(v K7É*ԍs2?|~dU[YLS6~kK|U~nv9*TA>'l8=tq!8%I,´ܮ!)OtZr%>u)L{Sy==b|89=_7K.:"hs8 ;uC@bxd.74XfJI!ᓹ׸cVuw2Y|dS3ŀޟsJxpsmR\Gc`A9/D9M)Z/߃CY`eR#'(pqnx!#0GX'wpsP8ID?/aRtu;Ӿ=~]aL?ܰ2֪zVϦƙOg<|:8(~pR m/HKvjo w6˘VyKJ^h@jh fa&_3W+7 {`b߷Qc7ljr;ȾdOHw[f0R(*A 08Yz6[.@l'cIpJBͷ5 ?Щޢf~CL7-u_Od?EzGڻ7<0A:;%TO2 3eB4PRҠ@Lq{N'}[j^Zqi8bV+u{v=;B_@3zy?2Ve!29ë= U% ,&h1Y9㼿wq \ML lԗ<nGvr4OQW&WJˮC$%9q×oqj!]~;MDUu#ӔB0ڇ)͇ 6 y^0G[2)ifh^>k!1(Yz:\Ƕ> 6#E_U=+OS !=k_xbz?{'4|&%J&ioRS*9XRC ׉bJ,(^,Ta;K{$fߣe}4P)ίHP~};٩M=@)l٨-v\x]Rgu9`qnawEm{.ڮ- djIzSNxJddˌe۸آ,g\;k-1l-sbG+8{)\|"^#;t?EWϴN2jy_64מ$aolX[ky䲸VCX?z̶vzmm'Qξ'8d,ڔ}ۃ&}:lHNNˑ ,lIA5|mx#KbKT)Wu:=q^mLx ~KR^跦6*as\~-PdZlG"NH+(<$* xX>ju“Ak;v.ݝ6}3+\u3n$9:6%%e1iЀϫ+1@~Z: Km`D$ڿMQy'!-xYʑSOO$hؖc08y2۸82ɓYYZJ"F/dt>PH,eba YtޝÕ*}AAr\?*o ؏ #츿&*5=㟏f};Psg0a? `vw94sw=_oY\V?M7[}GK"Ϡ>k8pG3S-9`f8]Z@Xkxj5GHnZȆ'G,;=WBdpYѰu'IWGm9o~2"X +aԜVW?&5$ԃ}{5. 0j} 3&UxF9%u){yC_ŤR`MU˭MPRo9-XjyALfũ7vM\_}7!Pۢ+ʑOfV!60 +?Q4jJ}g3kӲ蟣RR>pC ' u%wlXpk%KW J77]?WT\HB9 qMv ƼF%[Mxc'Xڂj=vy.%C,可p.~1ƆDg(0bZf(5<,YIQqq!~>ft\M);izFf"N)/JJ)okK8_4dLh4흀fШNqΖE6h#ӷ^;k=O b b"e,Q6yߋݗA4J:Rl{[wj >d3o2s.=ǻrRz;eIJ̻z.C> [YiQq8VYOxP޶`syF01ry?0|lC](.\ۑ̿O|uѶS3jlQj冒x`߲;}4T,9F6%U>A:)+LJބ, -N!~+_@7K|4, 5]f[gK: ?WRQ]zd(Ϭbd3SL_Ijj 1nz"|tL!і _>U\_-F{"#CG  )hW47C3M_{lM_ l:}JE~-1D,r=5 H]V*ٯck3CG NaWs?*g?Wy,L㖥5и ݠ'd.&♦Z '7G4Y2u&a)a[efjܗߞm洚fN>U8*hMJld#Fy8uelrzf __W1ja]zda[LrN!x̙;RG?[m:AJ9'< k_VR[3仱nJb~8?W6Ŵ ҟQ p`8D?>fv'|.+ri#vfVKr#TFr}cprIqۣCEpF#I6{ca TZ.&HP3gf27\*uPG+1>iQC}Cqs_(`tJD .5^$rS*REm5Uc<;hw)d) Dגs}?#To3ރn-<= [ l8>:4}hXc?7H8fR}$mxuugi9fJw0T{.v-Os%˄Kc_ݦrTL5`zc꘰ǹ0t<8nL4wT5knIC0jhT7ӕ9 8/_4V𨵶OL`K1[iJmL]^HfD]z~86?LjXcV(ة%y3Y_b-UH'-;f˾szpNI ~`*C(KgR2{{'sptoxZ޴*\1PKԋkW1yI)ܻۑr4>n6̮n섽- wsQpUA#7 g G "" w5{70r[|+̂[ߵ=g+x~yGZկ!t.8:+eןVJ-V[#7c0˅Z`KhG?Z(U$KUf'6NHb8vPA|FLs诚 &ihI{iiF9@zpY{Rb&d™z9u4^mLgp}53ĺOZ "{!vTҳYO3e0盝+uX\ݡ5EtC5$h.RiuvV+*-ajz*~.QHy&՟I(iJmo/-|ʺjmfZ&)q@j62J3MIu kI鸝G!Dr̈́C ݣù:+&bzI67{0vt Np S"q a(EޖELU'RQrj{dbl'sҖS^WV=i,Sw -d;arQ?:טMT۾,8͊:`+}rYTEμ[qA<=o4UU)Z9Fކ}h,4/@|:{d%U/պyhL%|ջ)JXqNܯITijEҿ8wh~U- b4暕ȟ[ւ*?U^M<.'{<8X6n̗n9cH f2zې|Ŋ4{]2F`Rlҭ`) Iɘ tvkwϥX8H>elݪKWHm+w@%9qzr(M "kmR 1*`%&Z$bӼQ ro_wˮzyjxldқɾO8e'DX:1bOؑWKcNwSC^#ǐM#,؉d 5R(u[IDbVp[q}HOoq2 +js5#3حM8mTSOw<:63(;W}Rr!U~d{})3D~)}ЫeY ں+ %VGGXu}L苷)?ȎܿЍx|-MQcI2O5gvnz:~|g𩸻5$O9f/Yf[L0FBY|d2ˢu'1?v`:XwsW@hgB }"A!HrwNo'n3MO;63#HmYƓt)=?D!jߏ!~#kT۬9I\ {6#CJ*"c[7%NKbʋ7J>xsh*&2)n ] xJ3פ$9ܽ>1ڕk el :<0(yo|Uvm^/Ѩ9RtM? BObC)>sz#T^)zyRïTx&縸C~VHtO9 IsRGq&蘍K`Ԑda]Mޱբdf] m?/5usc@OknWYݾ߶C?C_:l$Rp#f }:RTl:o;lW۱龽ۚsYNcV7Ys:}% 6_RU唟ɪ]D!E] j{˨f[7vl1S_kZ,VPhԶKB~xZ uCV /N2johL H(إ$E+Q2!X1A_YڝrLewu+uي:*=,ҕ¡gX^p 71N GfY1WYP囥k!X#Xy\T>=8WE_ 0鞧ob1[(w299UbqW]r(O=wKʿyoOCc *s w;ݟ>4 s;@f&*fSzxy˸>3DՙaqDɻCM?ë+K\ջ` YykWͮL3V7@ɧ740_ ^vsa3']|k8J(k;= % 5uߣ1)3mnBú:dt,g}&f꺥uCw,2UH25mhc>v; "'#P>LLv8E5J;mO m!/LjNҡ5=Vi؂OǓ&*P+4Ni@_"*]I1a2-Vɢ䘹ס9rWQДb$}w\>i~~ɫDh*qd2 LUN6cnk"R'f/n d6AǠt42k(ˆhU{q(8DY݊ ^9 +`R)a^Xn?9G܎8 4"Dԡ]Yo$QHzbԐSx@/Q~+V:+FsaH"or<柕阮iLH]ۯy@b,Wd wK+'v-ndm5gA s+o^#7^ybjymvpWy &b tL(k%>̡JY3L,/TEŪ|xi~2lN8hP~]F283+-P $Ϝ ʔaijQ>Z1 1gi{Ō;_0y¶rݮ][ X.WQ MPbtbL&vrݭñCX뮤[qf~i8S)8'$`fx⤗d z%#:$OvadN&lFjANZyqۡahi|oq ,b.`SqԀ 'K.2ͯ#1Fr0hLcO5!V>Km|& e!ʜv!tڸ}*d;Ϫ.6Z]6DU5N'&f=e/#LܜTI) n=s*O1Mr.u&%!&ܒ/.WT&_WnT^ztw`յ5rw 5,2\ab^\jL *~ @\x%[je=v ?trkwïd(?ӌud jhܳeǛcXiL0Zu˶>u8L kBdj9>C*n8/k?v%L$wWfb6*"/:ZDlx} tG*}w#0.Ԝ v߶{.،xdْbڸ_Q{Ee_Ts+ٗKަde?Z0| ٴ`=cŠnۗ%kr:6eA:O8/FмLj-.faЪ?LiE3c;뚩*2ƫȈkk Y!pkV&Sr^5jۗlZÞYJK4{<,0 ApB7߆|3Q$QڲFvnY6XQVb3W]h:PRcNYQI>o{/rϵ25.P)ʑkV[Z3WRp$sQ ^D׹?](7|G g/\7[ - /cHz{fb a2u&䛕eNT6xǜ36!r6m3Ȟ#N!p,&nꬸ)&&|_|#Z 5N%26G}!1*yⓒ(8ùE2GrlBb2Olئ1[B1]Ap)@d3Imkv3Wd"Vfba&+jpǼ܂a>Hì`x_?&nfuoL6[.@ᥙKh>9 v#Gx ϸ*ݘiq3Fd ̇qNg5/1"rw[:I ;wQ\eꞙ.iJ -3DZbkT%{#4ln{ wwi~5ZŅ7ʼK;Tt>as_p$bZiҌ3!U`QPxs_yY|veW;mTJ^h9P$Q@h~A̕#!㒾",0ǴוF*<:7/yq#b4?7m(/MvT{v&E^SCZ(F-zFNůNlY݇~*V>4XpLx -Faw)Lw@ijx3Q9,׈E?:s4$'ۑ3,e@eyr/Vrs9s/xklfb :A,d0G9jvmO1i %Mp=ڡtEͭ ;9UgDx_0dOS<Mv)ѐOV6puyPR0Ehs5NܹN̞5틔r+?no.e@0k#'npPo%:*6o{9k0vZfox{ጷB)-*Y#VPpa" - A6l:,DnoI(12U7mY2^©)L+5W E8g9|=|3/Wlpƨ5W':|$Fk8E핳赊pAwiZI$x#bNIhٰ6-=R_F9?Vy%+ n+6!6{\s\NnJ+/!{ΰ OE kx~4>ts ,=µS ېFh%-XN.f~X$ũ..nA^6 0B_bQ"[̹k.7IwΩhL4R rWh=1!^mD]&iuG",feX uiۍvqDžg+I7.M06 0pG#}\N2>f[Vopʬmw2ɍ5AQUP'rz5f3] ̋ mrJF5H@Z[Y"!HʮV/"us~]v?5`p{z 9yf2NjsIʁ+ 1M:!%;˒1 ˭q)a>2`>u7D?-O5qMkƫ;➼ &9d+)ZQf) eKǕy[fɰث̅DU#q=nl܁0x$ pxt.BQ Y<MycL6f*?UlCxB&.? 7a]k aᴓ5s*Q69PA3% Y)t5y0-mqWOEu"߲)nF ynL%n *'%7!EqsZvxN<,S,Ogf3lV]]_joΉ19nDUdͲq< 7^&@eC=HS^w8ކw dޥOYږq.3Mј ͛? kHٙ1. {) S{%Rùw 3ca9g7ڮtx=Z~hưVFxr[efo?_OL+pAOln8AAdGZM0ܱxShRALOklŇ.mS: 5h2ONx)i~pj.p ֞TPr+!_ NtE '.*\'j4E1nD7})~Xw~/WZ>QzT?*vů~~ԪfZU:qo<Qgb)Q^Q#.xsR( )r+P5G#n>gLn0^N9g#@&H&Ҹ-GBS9'\>Ŭqg{3.@*GstL8Uy[kQM{9F2#i&uD[[;ͶyrCzO()#}j,Xs|Qz\Xd@̓(X"30(|ө)TŴe(s jNM%j [m{|g>E ّ&96yA;C/_L1voXjhsglZgl9R,~r`\9Cf/ݶk MriDXXk"g9Rl̫ox9)|]en0X8vBۼyjY 뿎 <~ 5R#Źo+:n*" ?JF1"] 5(Dx\A]+o ' !"T.Y%Mr/lsGCMjiXƗ]ņc9{TVZ+zrid mqXLebt,Ļ85ywn7Q|LRu8nKsle95|n&%,X(StvpM̥2yZs6I`Ya}Τ}ғ+yƱZ0c׶^@':IVx($mjn6xDF铣$ϗТc77ܳcaYA!Ӝ-t͹uHaCyŎEo#tѳ"WOhK%OLf:R8N}MY)]p̟ Љ16b~WPUG>bk2frZt60(u q nI:sdͯ V?I&sɨffkOۛm +jQ F"lf1-:ۥ*˙Z.1jevJW4Zyw]fD@oH2]{?Y&<#*eylƚC;rW/zmy~?IG(ÎK#o=_m $uVbZ]h Kʨ qw0qb^F3 anXs0+rcX*xUkM ƮxB'oqYۃ̤"06E9(^ў[-.eϕ˹`\pyFXM~_ȍn"&훮^ N \ʮ*va V<(bkFaK$ʎXo H׵fNk,1A{UpC7#3,O.{p1XWNvGs%H䗰Z\&d뇬G 9mlrmhW%KC6=0c2Šk)f憇*m]/HZLo,Ca=5;$n{ ? F$')jj̪ (n[8Tn4{ vUpBoL;/R1.60yr20l'J(p 6и 6Qٲ{r?U =_5.[ , /5~EՊG2Ǐ#E6SX&oDѲ( 麼ۨ|eHZYF\Z3dܰ]ߐƉ9~]\䓘x^Ӗp' ŎksQ cZ|=eBx,N*V7>p#3"?F3ted"e^\P2[,drsRlfƠ!/"{Zv YM }K"yyh:gsMv|FmP% >HY[29f ^yP.>5{ؤ8 DM _;[k=M뤋7m(y#6\jYIw~.Z`i^pjWXڅ oEm+«-$a$&hLLĖQ6\u!(fF>ޥJV<b~›;2c| 9 Y?M?xy Vm4̠'%ٿȕ哓PƂw-g`[jxSXE|h%&+hm«^+5tSAD u|ci3fG+@m k*!͕J(Lg&7m \1Mwτ`pbiQܫ_ZգEkIFB8Cl%;3?u{խ-r,7mP:7(5%n_]m743JIMy2qm\fT 7cLK 8s?Wv;:ʳ,Oކc+WbW^7$\'w" g^ls 8g_dq VډɜVZHҵ_lf,r5:,ewL Ru@<%;]r[Xut˹㭧3rgEsTWӌ`dw?ޘ=))nlZ?.pjֳ⯓u ϊOLKtί%g0$ +փD4g`䛑lS}iVt5dgi&s7b%IkUt @䄶BŔ &J㚣wk^Cc{ڴݍ֥9O4 n01Pѧ84 &Iy0m_2 Yckk`br \{"숧ig c+oЛ e܊$D'LZ(6uAZGCcw5yUoѬ_Kוd \x2./#L*z6]&5 Iߖ37v0OWǷqqj {km+9WtE~2e#nG<ԇ(ƶltPVݖnJױˬ $[%YkyqwFwO ḡUkx> R{V)p)̮7kD]'L7ًLrooaƳgNoM[hBF|`#uו-c om݆>rmmPj\4Нlf8ժr+[ϳ"(Un՟98ѕbّ{]͵+"f0Z$O_Uf؃rt$fcLоasfZG͕@"ݳ bDcN9v@ùXێwr-NQٵÊfs 4?ENRf"% j :Dhy- bozw]UJaFE8t~my:-OU,]wJw_zE7WNuE2k7f34 ez[AdZzEa.fPe*Mآs;_Zȇ9 ZݣCeإ1lN1aGyѶ^ݾكA_3*9kA5{PSNazpٗ 7vKhf|Gb{i8[@X2]̿Iw;]T5xXwpJNyy ؐmY#UOP~6X.\u^a ^3pгo0.q{/_7<᫗ғP۩)E 9 #wF^Nee+ f1c:Y]bq{S8f?0gDDvwmn]وG!ۯFyf@f٧Fuaz#;u3 w_3_c:16!jGx\culJ(=?H*1]7CL|G_ShXW|e?.F6BU`'-(7#XVfI [-LQ`fMZ9ܓ\alOߑ#&gX aȍq2e]n^4'E&]V֋) =rސo+|YP| <\ՊVFǸ!6ڰGe%/M'AM8-R ֡ \ nlv;4<V{fpg%ͩ#[M}YrȬ#03Ne+23.!54E9˫ח\\3q;c`qvBʗTYb0ՅVjDicNS[aA0$a'M ƚj2q_i>('(IddޞnR\kةuhwq䜼\&3et*e;j\4cUi,hv[wpWyT[w695V x2u}V0lM`k/]2Vd6ydjwa*E+3^+iAwkvM!"9~K)>|EƒَU{]-嬿lMFb47lCD2tgiءDϱzRp'qVB _݂W7CyFw6kޯ屢lj %9ҭ*\81khI*ANE k5B2CCL)HDLؖ'|qk*di{AfQs ,㛚IM փqc%P.4Ӽ31Z/1+RRhZw%1ޠy3*E=61~;ؗjjM1#Ntv;A[mF! i̦vgJkkU[Xޥ(Nj n베(C"n=T.GfʼnMNVyt(NiFu_骷ɔf^!V {0; рil3r^ţ٠Md#(`o੘)ZS|ۅ2H͘V!@|sX!ryI0[,mz fryxR7OezJZpm7#N@̖N tpoó JVq9 N&W1? .p.1rb'~ O.gnȹ袝so$%Z$[jUӭ66Hv.%c7֙2x]A,mߗŻJdn%+LzSGjAҩjlkgzwM9n*ܪ R~j!$;NLkܕ6.vGUd,9J-x9~)5ho<[jpLvǃ;#K-G.67 ]9"p|\o2/qvIo,ӎIFHڇiy_w/kELg~хq] ~o<%ܗH4nk]ylK(`mkF-siz\jVG2x.BI'yuoW #HKJ Y׾ue9! T,6_[H+\FSk:ow31X iZQiZ2F33?|Sz^L}ly#=5mW x3aCi'xɲFuBU;hMNxcw\f`=htet[`*S^"Ѯx'٘, %wٖ\\ܾi /c.)œ{<꓈+0ͦ;4O׮l_YYmu=_UV*DY1Y"ہuR^.aⳒMpAݵ o8\ ,1&o$<pJ DF& mUUUJ1`kK0b€j;k]ygʆ'xI \)X2͗Yy]c=1Pf6[o6wn6̵ߠm,twA8lKvBbh%V'Hycŋb{PX/-c LvNm,l3He֜ݺSz3p'y*i@^ݼ51Xુiṟls^_uxdnZќ nZ}szP|ϸ.$aI$0y*r ~62rm`>ڽ+qe`Q; b!E7#Xj-tz-q[!%W.u̫mWZ,Ws7}]Qz}XMqnԯ}5}| #(1V˖=IoP1QAy糭MiU`͡@^IӢ3ZC7#\\R/ pp,MZҮj8t[bے* 2Jc:ms\_h4Hf`+$6yR65##ٚY6]}jYe1wŇi>Vl.+;%ڶG6T~Jwm^8+,/&x鴤Kܴ qO;2C逺NOX6UC[V-8d&%(l)o: g8^pIʉ"1yVBirAa!ٜ^mɞM xs1&3ɟt|Δwyg8jkKYdE9wy^2 Jv@%̼NgKR(`Dߜ\s(f%PҒ>@_."TgoC3"Ch$F̪ۏ,m͵cyRox٥7)u\ cEoPw,BV= P;v=./YG޽fPX/-շ$8_(rd/V2(SsDL7,*jFqF arϽ5xw<"Y]0򋖓#Y2;I-?#ڮ 蚧]8aKIm8lX%A\+rWQ]6-=56Wvy:zx-41Kw`;k'Wsi˰LK`` ujX׶<=-b7 c)42$.CA΋£%ޥdl2wϺ_]خxu#٤/Xl0W2W;/s gUfkkqaogwohȍ4/1iW+phm+-sXsvc,ูٿwiacA^\^o/tdf̚3;᠁oJ?2@Z.Gk?9´l]7TEĥkC-sd$)gYVbqhH2Y&0-=M<qZHF6"Z޽{ii! sQ&n6]>&kvs)A6+SońD0{q5ezeĮNގ" KmعZkZtӚ6=}abM6L5hN*V"xK Ќrm1/k8rŕ}g@mCbaS1xN/Vcֻ\Z#?{\,giAv:f0i@#^;EܢÇ4JsGVTn/u2(o O)N  :L%Zn^O!n{tBW YlG1x?LHmY9@N.k}'Uݛd+e,ǖ낍C.75t6DYjpnqQS}p6a=q]i S2{2E@t ,re%pMkdi-,3'wkIg`ӣ1 խ[0R&sXA] !hlg/ g؂򛠯QUcYo5^XvnsB.O`wy}|YԺe y(6#lc%?>To ҳ_N13ENYnk3cpڧ,hbB7&ufAz\˷7jT 7%-C)%85E;?,DrAuCn׬I0)Rْ7${]TlM(']:2ci׀,:D3M#4ywQdvi{~FTyYwɮR1Cc p Rsl,ȓ:ܿn$#W JvUR98FeqYNrTA\$U*V'湱klز#5K&/-zP Vf`d`7+㸤S A( bk7WpYTFCa]C[X4ƪ m;ra<~%K91%kl-h v`vw[~o5>&%+Ws>*xEbܻ<GHW/|ꇛ(w(9W<@YfBѫOyKn[7ﶰMY"j=}uyyǚ OxT#VwqTs^Qrk*iZ̑S[~`2i}\Qs2XlNJT4kˬ4V>xw7\˘}/:5U}~rcW v;.?^;{0`C~%)d57-ʅ?]l0ry30c%KjL Xbߦ޻iy/.w/5mv3UMe\*!3trgB~Ev!ϩxA=Qp((X73-fHM3oSm[[d -O.1%Sƅ -ҹ) ߅U7}@69i\,J3krfEzL,.Iп|C!-M,Fo㉼g;udsPnT3͉Kʫ":乖PKwa|Ep0eJOM:tpˮuf;f*Ē";e^w<5jwPLݵ`.]jwm|EO6IL$a{e»b}=N4Gڤfm+9 K\æ,P=N/LᤠP$p)|ILø̓k3O^D 2/gу&$݇aIúdͭ^(*SN[e{[\426X4hY)J%&!Mr ?G(3]E}͑_0OEkGv#Fno9 ]_4U(tݞAZg` S8I}ouPfᓂ͇:F-% 01%5eŵ%/"ծ퓘VVaߐᝍ3t^jIok67.$FZ‹2#ڵ߳8sӉ`UW[&Ŝj%~8+|h{Kͭ͝e a?•5ud7iA fu}1X~f=T{RW;)N* oBu4I?qP2V4uVjֳ![Fl9}{CaE-_o|FV:i$Eg㾼's¥6.Q`νpO—(l\<_x[FS ET۷ܢDȎ*X5G5}^o@!czb3Cjߏ6]a?ek'큚vc Uλok[)! vfJ J9@e9&Lɬᑌ UaHZWnr6WsSadºK-ZNAxG[(Ì#<^A3A}r'JU_*/Nd,xYWȳadXLԒƅeÍut'թ{ꥬYm|2Ҁ,oBYw->/+1ge*Y2_^8#n28 UoscjQ+Qc[)nP}bǐ^> Vk(g5+qo¾@vTe [q%ӌl=B$G;S_2rjhS>F ɭޒW3m; giy;3P&iȶݚr2mFk0c&T‡6}lU74Z_%1[&OT]d22M cZ.(1fmc-\5Ld|o1=W@4ͧot\hx!ESYdҦ1QʺрL=<+gFRw,c}wQ {rsZxV'ػxuTaS &9ڧgI58ohWEy΃CcAme1˖ZIC*VTI'nE͍Ttgq˓*{[ړk6iq;f[nOi.\ uTmo1Z7*W.W3^\^|N$_x mg&tk]nu%L F5lTT|l?twW-(ec-e+M%7LOt9Ys \zrOVWLaluﶖ>DqS$@:ϼL+eDW ho-j؟[L9ܫ$ly%. ,5 P&nx I0c+Nf]_XK<'j8+Ez*G%BszgLv [bWs{/P]qސ@ ^v_0&*q%xsS tUmuḫ,^~-C'^xpsdկU:VN|2X2ϑQB3'Zus!o.1dQLG됽>v{< W2Op>PS1[Wk7̟=G?iԑs;..ɫll{>+iN;4w?i| ,ȍW[ ObZXs6ue-WqњH"Nz3KDʯWK8yȄᘙ߃V 7?I+oc$AgL+R @+aJ=k[o rsK--omrav%4!{.ۊR l[?_nk+6U͋YB BHkWz]&p7*`)&hҕXk:Y'Cxxߝ.مCjKR.7M?SwvaA c 8<(ܲqɿM;n r}oDќrw6S5Lth$ligy8˛KCC kϿsdJ}>DǑ|R=ҢxnjYY>uF8,HIߵ=R'ܷ\ R,Fw`3$k+'մ {w#}թm/jet.`69]\go &(gF nW0l2S89s˘`t :m`乯'eXa幛 Av}}'FRLԙ^W6v칁|xH));qzf0Ҽ]ҧ{g\ƕQ]#˸(f/_n 2 cF`/s?9Ү K2f<|U͔n1:L}iO؆ۃI7@IfʷY-"-jҌjY}Դt./{拚cOk1,}%iyo-iR*lZ{dDnb ʄc\ X6ʹٹk7uT%WgUc Ud,LB)Qͱ UR44hl׆5I9vRڷrMl}' _I#d4\EK4%OߥK7]˛9Lof GV 0ebC7 +^ x4Fzq5[7o0m%9 p.v-Dkr[m4Bvugpy|曃LyZ= 13jͿ*F/y)W74}ڌrrS6uc{8r_B],|S2kG1O+H\s-xש;C"QLj./Cva@5(k3)J ZVRl/jv_NҦU3K5;^u&Zޅ0︫Y[KבU`$𴊔ͦZK?k->lCfh9zk.{\Pw=y 6˵p K "MkU-!Ͼ9ۼ7p4īpt#X"UnJ/[Ѿӱ}:^Ͳ2bLi&U)[]Oo\Pr?AY^ x É@!-"z4::Yeb6M#Fu8߹ź֍04=DTaz0WmZ(K&S/Žq*͚"[W^uыͅK:Wr+˵Uk5ڢ|*r3"e1Sx|̟.{ %'l%؜gގEޏ82m#58?u̮n ޔǚRKu7.]n1zg~6n@wqFF_9$󌕊-nW5YX&-L# g=.'qX ۫\qPj9\xӜp$:k:\pRnZ l<0'~V5qp {ikp1WcE޼Yd ٖo= y=UV+ I fK׭ʳVV332>ktU^,w[^.V3%%&LYeItY0jۭFC?|m4 :RUi48D5n0m5Vl q^ܛK5E{BA`\?ǧC6 scͤrOoj*=Js# k!+Ÿp}9I6V5TO75ۨb q\aa%*|69nV5Mb|,kGD̼B6`QY7[Cf󋍜Ϙ2J5Q6Kw%)D>9I jPHpz.DyCW հ"3狖QYذeaVs# enˬzb2}ӛkfZm=,QIkO3\ȼ@e"Y-3(C 熡&1XV33p箋J/@uUSEFAljY8Q_5TtT{s~÷"OAL8M4 b&zppL~EiY U'ȼ(_ۏ&  ?̖YʟeiƼ//xۚ.t$eRf;weV̸ ja2Gypj8lr3ffM.oT-)[lF;-sl]}g6d.I_$y.8j[@YPv4OiWSҶrm8Nה-3 =jՆqNO -Q'Z$_eD918K\A7P&܃hLHK,*GMJ5-73!?LTtܫ#!gқEHQ-Q/RaD%MUh56U62b/v5>]\w:`lh nPxc&1 uqt}5I'g:YtSB++|2J+4aڰS-!.m2WˣWe)a/%=ts\Z`[[< I6Ri%w]CKu޾rlBO'Zcn ^.뷕t`JXf FA҃6YV꿐1ۖ~_5@k?&]pOjާ/g /4 ʍ"** L,@{bjï8cBm@N+Z}&NB3B8Ep ,{+r%~ҸRDlV-Smɺi"S \cl>3z*\&aƱ.qϛ˂8{vt.:>ZQD#_ɗ$Hm7Igqx6 npKm?]1I i"4!:n\].ow4ƗyDԅ8ˏ8ֺ1WcZc uCgu8Ydż@mȹȧA1˒w(\nɾ01hms{T#Tn+I+n'%{zߏ9-2q>^pwO-9Ò_UEuypRgD<զj۟CK Ky`k*iP {> NKk{n mqe2w--eZklH\1x޴Y yb.4BED /zkOp*vyݶvA!:J9u޸9{ȅ#>k"$m}rVn,D )Z;gZ6YNsAIɷ/7L*fvEzm̦Ĺ{˔zbD?;8PըNoTDGumXFߧ*\Yv'mUmr˨{PVIաlt*AU\K;ͿcK90p`>_89TrK(fG))$qbdiWz{BLL)O'#sT˿r8`(QHF"*k"MǽEo_!e?\4)U!!v{K>X%O7yO)*sc$n.\KFmj\k/fLZ%Ǘ1:G$Z59gTm[rb4s ѱ[O:KŦ7e G!"Pcog?GA*[3\pN|fy|nJjm-t櫋]׫4uӍ^A?0Z8͞MbNd68 ='/CJDT`%{|sEralryl'cۥJY+Zo/FC}uo/e%g֞L3PG ۅ)Y{鰋+yͼ/-R6~ی{'EOIQ+kh$-O恪b+k'IlGʒ2E6`#{T/1I)%f&i㮺{Im]l!.;m.LJudkO 5:.VHN>mF`g+e1);3pT9RՈb%;R%~qmbY`GE?OgY #.Y1/kJRᤚ۸f8?v_j]Ƙх`W;mQȥZ%k)rhVniLnek_R{%uD5umTm+h \ߛXRm#?2~(TsDMǶ~'iAz߆gH+>W-7UtzzOj7Ɍz-?jMti>85.\u)/L90{X6Yu]ik7LWh0 Dj1E ݆Ӭ^5;j0o[N̙/8+L3!Uw1%[hâѣk*4WkP}J&i.3.+faTϐQC=w8,Rvg[n[nF3[夻Ue<-8Zk`6=UM~}ˌX}B?]m!7cſ"HbpK0c[tݽf6gq4=̂ps-74'K, 9Px2. iҞ\NU0JbWֈmK3gRE)jŮf/r[sh1wᲭyб_&f' ).RF%񂗨fإtN:Mxls=MfNqnVU$\9Ŧb]q@LೄW8%7ND ;8Wp v$W$48%_Xez83X@A\{-!vQgKK¹Yv/@P榮v ļ1E-}3|nC.0q-r;ס;yVs wQce|>VVuxL^F+Utc[YF`ru_(f*^5Gԕ7\zDUm0~~t>X$9 ^fJz[5 *SD:wd߁etk#i&RrBmGpܟB7c;[:8I|l lٵ[:븠dFu0k_t ]ʹ՜[}*^^v8[\&wn_k%1e_q:of"yL5ǟDTNKtyLg_^nA1j'[1388F3m=YҲm\Չ:6[\CWv"(l l"&IR/r2ƭo sqOjK=W,2HCxaan;N@R"yk+?']q>9ӣjT\J2jzFk>(ZVV^c4YbتZ"z}t9Ee)^Cr Ŧ|w'};_]÷R.uC\3ANzפ.Gޏ1z8^$]y~F)aT-M׶f%pͽ0 "7(Xcs ܘ.a{ӡ*Y-;%05vNs|쉃r}WghIx񪺭؟m"rŖyR>Aj$MݞBs5]Rjg|[O ,_m9Sʮ+VMu zsEd E85{Zλ9#:h 5.=J[԰ƺw)핒kGfVS7$.]e)xkjVαrҋ rTMJ/u6s\deϲ^m2q S }阢YE*B2[8~9 Cy'!f ' tV"Ԯ\I [Ai''}Bݞ7J 2.X֏a)j&u,Vnttx .'"n_f_?b$8Z$A=UY{a9{|O$Ta%`>atĠligGI JPձd#mQrw>w$8<}8@XJ/2 n紊 ͙O`q};qwn6vxā\36]lJ|p{6e#Фx0QP/5%zˬ8Yd ]'@k}lʾ8QM5ϖ6,9{tl5yE͝Z~^It4cTo3U_6_%\ [WIQ)t\!ˋʧϾ k)Fq~q{ػ\d9S:c!)ݖ(VĻlتõčC70S^8Ed--FZFh5ߑT|-Biw2sP mrC*̞6['z-/ 7oFّpWEzSc0TCq[uMcxiۣtN&i8LheR _"o'v{\k(xg.B^vb 1raN[4P&[r%r?:ۥ$ >p8H}Wއ=>sg°n+Fj Yƹ7WCljTsw"*(kܿAdi]q|SUAmUe⺶qxw aSQ[ٴbVTg5nk*t.-K%b5>C%ί[Egάیl miFykcMmnsnO v}Żڵn jUVWW/o(-өfjeYeztRT=;pK42 *-Pr@+jx=PYEJwEm9TCΰ`AI *1z8g|:s鱓cECS/ c&R7 [t>O+{<| 85o{8<,-5 N}wM}XYC#;G] {E#ƻFשi;}wդٿjk%EŞ뽱cᇎ[H 7/vk|Vmc?C٫*SXK@(k$ |Tчjh5LSu(bJ+`bȂ<" ԁ(OBKB &&HtGF$Jg A~1ªmHj`0DZt0؂0ߤhCCQbI"E8ƣI bzM`R KVsaO1H6?9UN듨n€2> ŀ ~y ;Zmxnn<5#ˮr׺<*Mަ-M "=rDCdY)A;"{ ~%dds]#>YQքy.i>]ԩCdkISzU V '0ZHrMCq#wQ3\&I-rf%76P6BOmA(' jŞL8Xg0%u6#9eZe"ǚ-w=6,RG 9ڼhDtSy71]JΖ2Mi2Ҍ(XdW2ڪ*y#['Jt Ƽ3YQPAzt!0JBOW‰>'+6'Oz=%SuQܬ@+>7鵓 ) Z|WzTэmJ*DZ?urgʓhh{1/8 DhyS"׷ޭ&$BXxCdblke͗,|WU)\C7=OjtWVj ,RuK"*iOD^y(z:c;.cĊ)%ȥNTyvu,h=WPkѕ6MLi…:(zNdJ=C.]Ss" [-j/ v%plaj<s]z95c]-eݾ%6 ?L|f:,hV"ZBB^iX KD͓pte=[h(̥T6UiENoc_zjD iEQȳH]i9aHv [ E3(`/$,nj RdD_s4:,]Af^x#B;,,xT`hXz՚JNw*=$LO:|mM2+LB:38ZoPnj4&ǽq10'= ؙjZs(b^*S2";9zhK L"$Pȋ i*04\4]i#Y@z *% rMM:PIYeF ,Ce;-N^9Y׳20WWIe*G%ΑW^Zz:\k3=46,f1F^v [1^<&p^2˜cArGlL+2w` Moe+>8OA@ c ^= 2S)*R Q:>OS"Z#(.][Ԇ&VkY>Fd.{܇"p㿨6*:DE@p'J*?d:#(I0L`ȌQ 2şj~i vCDk`9wUNy9%TޛسȈW52XY5o'93A,*E},i!)Bs*[5IPfC)O_*ѕ$zOT?eW!]:=={cA(mli:/%7xiNqY/gf*JQ22K^g1KS@2N3|&#,lG6o,F[}'Mw|R?@ b19j%Ȫ 6x쇱{rAQK*Qwf /fV`duX^(Ur$K*X~?ET%&4>e&X6kRnωa>sO/s(ܗt9@tz jzՔ \eƦΒ*eeUU,3,&6OY}&~EXq;3@,y@8 #k qvH.1J' ~YQO pY*;χ~T9YTYA*_]|d^Jdr)fftwrUT20 WY1}#; C#HS[$^J¿2-춢xL- o_5`H [tdWplBT9 eP5ky:] I\SJ1نltş\ijQVm|i, C_KmtեA׾g3:ԪgJf KD))9|I.3X`|'D@w&`Oô÷] oo6I,WZTõ+R܏"YOf@̧<_LmeXtT9 F ު'}O `y+ف" 000(q>VMZQ[䤯!tF#Wu|ۍUÂIX|M۴ow},U"N*ztc`|9w US\ܟ%}LƭV,IU;=[: ;+.bJoh=rA{&7Q-ɮa18ѣMu_‛r(ɺe2b#` ncd PbYR%Vz|r.dX[(x![u)^NQzsk~Wy`à5LV7.a7cR> ߰KWays(Ir5 VU-w|ZTXh1ys]J6֖Yok8WI V*ۯc,Q;ܮA&cn# iiRs/:x͖ܹ8 q|FD3le"Zka[+NN-9h`댼fz$-=Rn:aI($,ŊH}&#SB@X4fkBϦYemm:;Ռd;#=fhK.wuV-DP>)ڣn5MڽΥwW,`i׈k9!Ej,U"RqsӇ>U޸fZKr mtf=ʞ2>46ZZUDd;ўd<C4G`N^9+UX%lm^P(9[z0R%dʓ7?̎4I4k#Z_P-VU}#+["7*vfȷMU\\ `&oܧ- [ ^P⟾iԶKqj-`P{) wDYq?0xҏ\FS- wt ~3CtoeQ ~WިC-Y8$Rp,ΧP:DcGCZhA < ݰ|JkrHy ek#n.aK9P5c9~9,tAͧ\a^ZB@A#Vu7NRBjz%CHkrOVXw̗$ Doq7JLsߟܟg-L uJ dOVYnZo7ޞw( ~㹙6?Bӱ2TUӥ=X/m I> iP{Vs 6oÇ&Y"fvMSeͅ8T"jo{V!TGP5k̭V=[ ģ䣉}L{Lx:ՉK_X76V%16Ww%yXgU.sJMw t:H?Ak&yѿdc{ʼ ;vu.#&T1a!sT+ZXvtIrI{:Z͖@@G[mGv?*Xow#p~owV$q#qf˯Z< >>s쓗3Uo>[6D&zh 3,_B!'47YxWg]KE~4:~٘lN~;lWZ^hy\m*7k}{F4 G̮vuaV& Ls+=$Uڟ6U0MmCJŪ|X7MC6L\Y"3?xVprul2Ѧ+c#U<5Zź n hŋT8oՕ-^cQjuB͕VRK2,#!ѫg[cG3^-Z̧]_Jh9mDa8:^nd\dn[_խ8Njn+kWj',e,]3ֳ}a\,#A‼@(K|}yPm\.=~5fǂCOgJ{W%/ :*G˯"`͋𑅶cs'qLOP"׍4So'S'R+x)&J%pGI/#%W@C.;t8O!IܶWduq\c6kİV2s;Yi?0O.m('(E՘/0pQATt)O-0zp9h;ԖKYv6\Tw˶F'yu#<~<7"˗0i.ޞx:  Y|^fٚ~,o^Hm-&Y}d'vS_dc=!˝0Tȫsttϐ!fv\CkbT8~_iv)w*x'8wv,V[rY8lI9_2k(db2-%fϖu$Zq\+E%K[5$UEzu瞗M5yMh+MƧz=h/vrk2ΒKi<Y~NxS0uQ[;ȎYw)H&ft: qbۡv|Ytf+MlˉLF|bjlotL8~ݕL g'ya֧n9& pW8[c}x}FMo SvyY}ir2q6 JpYonfWehY\ Y(sA Us:k"^V;hEGZHt3$}\a`-q. Pݍ-<4]T/ILFHgZ cܔm/ގe1sBKqH.qwld]Pw%|}98TPrH>P}V^N3ۡrs5Jn^iekyx{EQ̠iy-|+@aV*Ҹ)1Rn-^<(gvZy9#u_0v{2uuw3e}8ϙPoW 2?i ՞ZOo5s+>ti̞V.$03A#+'w(B/ T>gxwȁjFLABշiGVg/;x>ͲaiWXxh|m5ix\X#V>(q]. CK+NlvBnSW|na?.I]{PU.SYGJYZsOs '~U`[)E,W@JBF~G:gk4},q\|/A50Fq/l]Xc7M,F򉑌K|n9bzɵm+,\1fr0Α$@n/d{z5JgNئl͆]m[)6HLw^ 9 WnK x{sﳊwom$U)mb,sBr-\_5 (tsO;|lț;aiZv8Kƽ}5`v1.,sYg[Tfb up;;5:ɶ ͌eo"Mt\[Sk v9Q0I_ 8щ$&N4Լg"EJ{GQҤG'cf毇dgC岚E6dSq(h8œڰռN M'fmt\Q 1Wij#PibdHYohߵg;]s,.ʀPӲў\<<>˗gu_gwQ,SfSi^!=~Nݸ^ur엄NPgjW*Dq2 ,æ#r!μZVWo׃q;Lf{~!)ͫb J:hqֵh>E=OwZvSa/07ޟ4/R+jj`Muɓ XEZѐ)WYI.KG,f@mxpj뚩y}#wO19fs֦)י>bdpI&'X\ _~UMd%0k4GiʋDT ]p e۠su4mKD*WvLphÙ!#MNE%zs5/3]!yCZ;j -YZ$('4ıI+U` K /t +a54NlM_\ (F['C[1ݨɬfknGf ,][d$mSN'cz;C"^Qnns|RhÏNQ5 NŞu|kх 1Ňyz @-cv B8Ws ^EKp;ۘe65SNl=Խk|R`Y3*AY{p&4L\O,\44O9)=qn b077n&8{Lj M>Y=*̝n1*B޾V)H `H沣d lO%P\8 x\^-r w*F,w=_(LdpLrOy"MʊM*Ւ%ԟỜ=p?(ӣ\jNnUm1Yѝ[ٷ";`gv@E#^ep{LS0ӗE}'H^bwI͎ ;Ebi9hx/0J%*UWT7"Y;j>I.jȥ,Ӈ./l ά;yCӰ;ţzXߒFyxIz5[{t˦I@m<"˥}?bS)1nsA8F{oi< p K#TֲۭynsjLn5\`(tMkV7P.qS$|&яAI0SM!fngk*3>/!ͣ"mp3|W=Y R6qEW8ղw^۵x_Yw D'7Igl&(}[J96;#wPewT8{hTMnn:;dGjj5ʛ6403/O[蠏 MT+&^΄6ݣ"ܛNn uu5+s|e|0au]w>yß }?̾C) qv4;Z<&KUNJ*r+kTK0yl.6Kqs.ucLȗs;nMrt_WR4l ]_ ;mɣG3 lY[;+? \t%2K=գvtU;k5zi'NܦemݙPӡMMnkt] l3i5zKsu*c+\e?_|: y&eϑ.fmI6AmV‹ Q{^^Jy}`Y[=Y=.!Ex\{c7~sqr;}qpT:dw̦?xר4՞[lNnxuCGmLI̲:u= ǁJ>'I1}Y(,bjb}cG%m]n}[}"{xb}r\0kYt}]^56yʒv =Q0 n6]J|{:pKտhVh0xqr.vI|A U jᢳV誟 4[7lBR&Qy3FYu8.o RyǬ7 juMՑ khjUM&ra}ɼ{F/j?jeV1i0iEK ;#p*/]5[9H:jOZĵl#Ndž.tEi!Ţ^u,ni:[ʎbfӣh_*Ϧ+糘 o@-a.IwBNq$ZGNsg'$ى :'K/E2| #;$e5+ӶJ g}gGǐx͑v j/~ZWuR:4x%{XE Es4z:ܡ} NZWX,+ Fzj֬4id3%:x2K㺯ȶ8mM59Q]6C+Q,\{G"ͤL rh2˲[LA!#(dD&s?. r'kB'i}Zq3lk䚨x=J5)Mnkϗ8u>3{D2-'IޮQSBJwc[&9xJ6ѭ`Nժ.[©3o.Ey+Vwv׸fθ5 -^?s7u%5ripf]bfDN,]Ny3c6Y%pu{> MJXYS8Ho\]ߌy` 䛁~As<^[|hv%;jn8 hՂa*y~4`r:5b^<7^I6610dq[tkD*frUŗu oqwk[t~7n<و|aL̀D)w)Eһݏ?Ue6ۮZOׯt/QM5hـ 9NO(nP=?.Nm+0 [/N5^Ys͞GT]| i3-&l_%Sq.lꇒRS}F[>l 㵈*90XcQp.ޮ|qdnQq0+~oTZh>LI~0uK>+8|{!wN5_Lr ֏uc=fK),o`$ʾc2Rqj`eKD8@گO䇌>ǼN b[2*(jIˡ0Jd@xV \mlwyS]{]n"E,t85fs{N͢uo&4w򳤫˺!9h G0WYN"2H4v1Ǹ䨾}Jq ĆOGZ9p'wryXM0G5jnqKa3)_CT0Gn|ߊ@rs9/pZ> s*ζnĩn4E}Qr)zI0Mc+V S Iod]װCaV0 Oe)syɦv?N"o8 f~yLýeހ4 s>%ɯwhS> {7iG&Ёsb|1$p\ٍDLU.e.o0ZLa`oDQC{ `L h.Y-͇ +EU+`2;vUxkU˨EW^+݊9e'a`axt "=.և#5Gx$+(& >z 7#g5?8^^ק([͕w:9+<5V$ &H. @Du`V9I r pV+k}wuzMUPsCeSv+ wE8$fv K^b=OUmM{w儽mQjGcI9s5v;i`(i M=M|pqɯ(CUQ]kRe:L]Fm2lJ,@GZOOަp1Nl@gQ335;LK1RTza« %j! ֬41l1/89T=:LӎNg$Cn V,Xa??<ѓK=.d&hэ !kr@X|R*P&YXŵzqb֯thxOVW!ebsi,Ljl)~T[ʾ;$q F a T;ɿn1,t}]9s+ܧI6RɉTF΃/AiV)9E:\22Nșg8 Ļ& .ƄNҵzbA7ș%'m ^<Ҥz]1KeEYŒ3x{iHppzmr/Ë)>c.qndqp]l-5x)9mIjR냰^uneY\+`2ɳ}lJ0Hc4r_^M+[5J[p 0uhCK/e=w/V;rP; Mr rv"BwP,?C Mq?JM76Rb9b__o87M+Y!wDuĨXfH kFҜ&.;u& ƮLHƜ7$rsz۳T6vUl# o&E낮:v-`03z!Udz?Y8fv{wZŋ&cknozGdn 1b]}:*G9AF#HB&>)$9L$EyE<;է;.0nJSj޽DSߎ4i^'d}-p`V$6 qh7X:u;+гHlbc71y'3W^"[yg/3GM݀> Jaꬒ]eb)#|7qyYR<+0{g&8Dl JHE̕^[Y,ePW8̕@jvyru-3P[bQTk Y`.JjM姆xٙ\7XG\TaB,\mB*J*s4Fs$kT$>O]f}׃i9[hg )#j,$K( } Ni6od[k/%Dɕ[o\ʔ&>Pw'ʭrОlb筍[WDG=oЈ(f䮃ko(n)rVM6(b2E+[@ƌ٥=SY/ᅲf흷+ 6bGȷS#=]U T=y4m'8dẤGACpKqߐtf:)%ofcH9`-y5<rܭ+o7vU8dZ,.F)]F(_~R8]k_+%{S9ɕpi90vR2WՌʱ}Զzϛ0WeF3snbwW;QS/·LBy*RvTZ3uǚ3h12#P" ƽ h`c҃M.'uJl ePb!m*YmS僇yr5L_ж5# M=w\y:'f1N\ p[o(&qZ_$?3s vL/TZ.m74Yqj MUaT5kr>V~}N$|/10 6+_ِaVz-JpzPSȎ 3 ^Ex9a>dTgU20U/kl;1]SDfw7uä2bfw3{3$ܯZ=Xi)NxCe0VÇ'7u \H69m8Trf,CtX5-fYO3 <2pa-V}BkL# ei}kUKj͍wp?Lzla\e]%cǵݮp8jr2@W-sCT3;oYdPRjU4j3'mqǬa͉&7YPď' ?2q<틆f`U"'$7r \M0IU=njYv/TiJ0@hϾUr[[~g]mq Fפ,GhC,3䕼9%8Kѧ,Ij)>I*3#\[s7z=;{MƬ4W_X#/TS-9s0X+/MB;ex]ļ#(ҊtًR5! ujnB\r.1鎩oW]aBM]~Cu:BXG%薓cHn{cnH|uA0b~Hk%#9W9!LqVNw=ذ=0Ҿ\7+S:Z ̮X/A*>22)B4뺺Z0@oY1\=ém\0F2AoVG\V$DsWXpͶXj4r1eP\ᯁKTXvaTT gSMG#z\e_jeƟJ>iQ#ǦqM5Mz;^5.RlLVyWk"o^ݐ6͗+NKJYd.?nhν*RY)Wb$rn)31"r9ɝ\ ]!/+$o%ڛ.5\$JV>sOK<٦2rhc v,-l?M45[y[1rl 6 erD 9q(Þkm97ݹ}r\>y3xa_tYH:g'Eq WCi,şr ӣiqYj]f9.pK\L|Qhc+{$k1:LEaq! Vܟ1%,2H]ng6AGnMT*2@V,g.ƅo<`yv;6~uqW<һʬT*՞S]NݟU_k nls}sW=uu񏛗̖/%5cF 'ɵ[&#p8eq/mq; QW.OkjƢI좎Rhz>P>6|hGnyS?=\$[~˩cxծ;*qx>k}(V\ל(?N^\'/6=^cPބ%;Xfm`h`eپ6VǭQp)fs :)k[\"= uyjSYfW+c:As3q(^Sc|9Yڙ7O7!5qø^Vu1px7ƾ3#c o^۹vO_ +cYMjڽ˅yaiLbMHKj4oeO r\Xr/˶o[+|H%dYM+gָ}1~=EٌLMt85Syos_l@@&r>S[} -ڎDu5Y($w=?au ybvb͐ yX7 \Gyꄿ9/z\3[~ّ ٻ7`Ԗ ^sg!ir}d3,3y6xܯhW^![p'^Ѣ4fSܚXe}ڃFdyVҮ'nY鴝XLW]EkPCБ7BF.WRSS5@C!aU,-/۵Cws_Ԟy-?m/?Vۛ6j0a!JQ2s Xj'Ȧ/+iX֙Q[|hD,-^G-fM8\B*ۙƶ^>Y\.v{nbUґ䭻㈯ .SF{~|lph~2-R__p,aU!ze&^{4g3P[׾@6uͮ ZZ䱞vx5m-Tc./lRlo\2,odV`4{S~LApU"aħd2rW :WpG XS]uY˥KMTg"A-g:ɶX8k%k+~J3k|Nj|rZ fḼs x֚\sa`LDȞ5c}Kj3`paz2q)x  Yj498{Q%7;1ˬT\6 atd>ֻx=^R&Eho7tee*>V,Æv(3;b*۩gRՁ&5b@MoVFyȿ3Dre857jco#'f hq ò2'j=!))EÖ7E(e^uBޅ! 7U _V}kР-孎)ps偹s- j[Lm286EBkMyͫ , RamfnCNs[vJA:[ܹf۫׎<-Jχ {{y٠EfC`]g-ʸعդz-ᙔO>xEqR1vLāfl$SvYڝJֵ1NVØA__w_7k{"4bBF^ ipAug+!oV#98&;&cޒWcm~;j{9[s|]?hF疤.mKnדl D<[ t״V*ʝ,Hn߭:"wsaյ7k^69l옟r0ʎ+g2OD%C[kͨ9$%;cI_k lp&sG_TU&e푎xN5}ۭC8<~"8ƻQu;?'vQB qP]x'(8Uݗ.p#|)]Bkv]E/ۉG]|jG˅ NQ9i`~,DcsJL%YC1=asOeSx =C]Z)8cRM:KA`B vPѪi2[>XΎ땫$˜UIAGr73(vʵD[ 6QA%#5Wv޳7?'lRxjNLN8` / 1 LfpY^x^#mdDR7IG1& uKnV7dvfDqb'5Ha!ʡ5!7\ٺI_F>܅f69\ćLg33л8Bpԡ8|͏ p/KZR9H;3m"ڪy]0?ѿ,5Gxg4`eLևf6fB%MiX?8Jf3nG{5+yV6wkY~0ĝlpK:`.[󙀗sxb㶎R_1(Lc‹%w_L\EIy{sdeV <`9D]Tv1M9tQޝqG|WVH*uNaZ2 ϋFmknukʬݮ{Z,q᭫o X[T0шXp)}l +XW#|y~[w׵kBMRWjhB360ݶdD23#]c.]M9uK3f ̉V44O[FSػ8S9hž+}J~r5OI5VΰVҢqpJ5p16Xj gw5ʫ!ɣO`Y!o5L!#te~L(o[,UZ"U]vIr;۔2[[qTU5a=tv$M (ùi[,;z:sdwSʡԗ,tMg;oߖׇ#EB>^-N z)C7pSM$l>]{3Y:!\N>W1z ^.ca8^8g(k~:Hίtݏ20;FP͚5Eic6׷)H+³j\ΰcmLskΚ "}*٩"Ѯ_s~܏K+5Erg@D>zgTtֺ&V\ïƗ9n\)^:1"UĒ+n<ݓf*g_(, =`.W;Q0[k5k"wQ68pUF[/>OWtɗ sP 3BUO.Bΰ9'Bh9;Mk9=%uj[ͷK@X( ÝiD䦀W^]JUӺ,)&nٶ}neR ogs#9vţKk:6!JA\[9|1m*<\FkbU=Z.%MLm'uAg f=__4xe8/c*$hK)j:. =ĝ[ṋ%"u=C7:ekS+ytHp,FoV Vͼ:cS9yfNZakaTZ-Ⲣd%Y &%3ܳ.U,)x { cZf2+q2?NaEY^o1)2z[-|~)nBg9V>DAc^f)n FJK=1zxjVȓ|&'#>q͍ISmw2e )x6˸J܋;) eb2.GW D}m K y9p엃 Z)NJn`n Kۯzu2 ^ Q{Uu= 8 Ė—)|R\Z \>Cͫ7yL|mRFmBx˛A]Mm Zc.Qc/kFEg7krM2Wr< 5]m͇[kk:mm A.qTYˀ.8Poknm$kr?-7fXɂw=ij==Z%iM͖djs{ cwV]5כm煐mڪ7Җ׹~l 蓈7+k@5YxP˘cCX'26 ,*1#4nɌV(u/^TD?nu3}|~Kfˉi7sK, Z rrGo@O,·BW֌ ֑ !t|ShB5CKmdl8Hg㍮f|6g "wZWV-K^o+f˽gXrd8\8n-YS]KZ{5݊J,В;q<Ƚ$c.ݺ}MR 2p =<~-@[o;3hl%ra^v怕*g[m0sH\/@RSVͶiɊj` Z a RZs#arZSY<`&Qu^TrWAu!51mUU7Ÿ60R-ìV֖w_99e|e Apy0UީU ?܆:MD6ֶ4G6xz(RF9PLO01>3g eŽ燅{om&9QJ}WlO]Bu+xI=ʏ.LdRtDdAqmY)26b6Έ<ً c>.A׵%뚡rgs K&‹9gf"fsYJ kv3$=d3&ƍo*2D*vxan[ː8vgXAɄݕL:%k:w&ıF^. rz)r[;wdTZJp(ƿvWٸl|En;LqvԳZoL4VcCbӵ"K9/q]XFd\tmvIpӰ =f+,EjbJ 01uU̱/N_d4rV1 \6H TM7R"x.!1r`K3|@3WқAPh0e72JYw F3e_zc8n yjbQVW|ko. l3K=pA.eI98kU ӝsș Yc#,ث4ge$X$OUն¢} YFӛNl4vڵ'{'#pI ;# f0#ꌍ#iCݎf.#!eèvL9g#E|,x>Fגc*%O`x]~ BφtuΞ˩ͰpͿZ~¥[%xl ie{P<[!^'\ܘ[o-aTugnUS5 m&<+K6IWܕvkqzy&]cTIb|qcwqoU̢,kCNq#odA,ǺmrZc2:&[K{e 1ċg1Dw7V6Պj'c$]iֲe4<ǭK '\[㮦JߣUyCA5O-Ӧ8EXxRfld-u. |8/ڮW{jL W }g)&ODqjr&mqv ֠#ZOfϴTYM6XW4{0Rƀ/W"VwP6b|Vgʞ]hHe9釻7x;ZahKNgL[R3rY#o r<=~ԚyV̰6kVˮ/!Vt<ÐwtݏgQS3Jbr> цc:J@p97}L`̣N+L!dlr6nR?f`6(4 VYV2gtfX^$ UX/ f3 {&WV*L^V*6ѕ#3{{.,p܏icvm7=M3c'\ ϝ♙x=уئ(ˮc!P913-Sa+m>gt35 Yc,=̶KIW֌\tfMҫ8wLzscؾ*{*I}nu_ aqھZrg+vA5KeoTً7ʽ\ Yc9>M5Q$4̬YR^$,MsB2GnĂ4c#%|)"Wˌɰ6q^ pw'\mdjB.?hq; 'zl,Lr81 b3FܤXk69>U7xI4eA٘8uUr;}|{kC*Ǜ˒V'j^k$ 6Z;tryX1ttf*G?Y8i|> zXZqr\a+[ _7!gO7QQ]?k739klB1d喕f9b[+yKWDΜeJ9%l٭ LA ꛇ%'Ŀ 8ٔ T*>.:e=$?__pҼ'qAFqnboi^ж 8fFf&oc-nƤp.K]6;ctU| _Uk~V 0ᯑ 0Or_52_&[ms-s9(x%&68 b;˖y"NRܑiVy3G bTvڕWpǦ3{2:hvBW* ~iNKJg?2:dD 'Xa_UqΆp(il~ aDo4gfY%׃7zDK-Ef : {$^M|:d2YBgo/d 8I^^fZ)>7~ u^d^Zש7[%bpqY旙F6.ËVÚUG3X#{x:$Ly$P&dhOLP|ճU㊛9 P#wUEx\X?@M{v-bT!8/K0m>9ؓۆ8g"k/^i^p D<%н;h-ʅQNS ׶KFjTnRjdXl\VO89>h$6,Dg>i<pQYd(Ľne]u2BL]ŝlF$oh=TE nfu%z_dӛK.V;w %+'HcFj)h1n[pt_x†K㿘9,wyu ZVSaG!U- AV*[q/aOO:](gs; eRAF z&p.x1aOq F<hKhIHly`c-ݧ;]L^ |޵_r_2`w)5q''󴌺gZV_?y3S'L$rG#^߼cZPhNm.}jHON 3BXS$ͩv-k ^1Faʌuy%Z̖' !,F2*K..5E5c⬵.u ѩ\Bވ.DRz-Q\IS!5SDӨ^^nu8)uhs6Va3Ot#!&oge&4|SQ0w8Bdؕ,‹Ls)ፇT01~Ԗ4?\e DdPR.^wM]9/k4n&F nքCNu:ɎX[?zsRzcu/f=C 5,rBCخĦHC'e; EMtkB1y`Do0W'&Rqܔ,Ѕ;ˬgv5l95l7HGz.JlEEG$Rt(b*yUF ʩS__+z=6LꏛnxBλBdz1@I!ɖԏ(Z21*lHĮ=UX$jǛJʢe2)K/Wf*OIeb,QGy7qOG>Ui];rw41+upeK|؋O]p[fdb3|`BO,tچ5%cxc"#*I^47.(rDu1dl5 qʤ2iSFR' vw5k6sm&9yD:nݭ15öJ ij⊣FXԘ/ؤidzjDfrڠdHf{A|1kI4⴬}4LP ^j&WaIi9׺)yp?J3O*wjBG' ~)\N2؜uIbLJm 8&ILDdYrUֽF%2$չmuy}YYQnjKe"di*\B^i_;O';uY&3<'CJYtda x6G[+#Sr6@"287Nk_Q3sm؎kYSCFV;yOˉNdhJLDWE%83jwYj̵<~(͈b#BĎq^vA,[G$OzS;AssFr%G'U744X6ۣ =yUfڭnk0lyIк6;.6Z3Y/%sղBulY4}.%nEkg[x w*bMk3OZ6O^)q/KIY]QsT1l@,8[sޠ ^_;$ȅ|j;\j~g[:jo.4N Ѯ=O9 þWjۈ1M_0e)V/K{/C:F1`ψMl`9^t7;}7ɏŷ"\Lks"V0#]̭YF.GJ|})5B6^6)7ˮۓës5wL݅ZڶJpQ'j>.SL0Rr 0mg[kp*wɛ߫21_j@}?b-Itkic'aHlAk]vY|?gf;96K["t\DZo2#339sb!SSۓ\nVNn&4ӹ#+R2XwG[HVÕb/D\Lp:䗶ZִLS'L;/YRAR2ډ.yT 8^,G2xT4 \lنN=RnjDÍ ѻ|oRTXNfI'g&)uc(YbܛJ0|B.&i߷'*/ZR+Jx7\[3wblL/bt{8F ֈf7%a6JUcYŞ5e8ADv tIx=m %<?n2dNa\ޖ'ڮOhe* YLjl0W2ő݌i&}k%&{lB-=S]d6%-\axbnlV ue?IZֻ0B+ҫ/J@͔Gj͠*`p;n,{;S kp%+VIԵ <%NRH'ow_̖۵[|>$8ℓ6g _˩P"E:S2.f,xkY)y[ܭ^Ol"^ bwryLb!sCqغSB[OB/~'84ň3iq'P̙.֛U}}Zcf,>QOo(BUU9& ^< 10 6INa6a4"Ro392ח<xd[NW +zTI8ɋ8h'si WRTٖz;' VhrGv`Qk\#Kn9u1LheVVw]n\ kK%Zo2n7ɳNhXd_,aA˞! NY[>7ojMz |5퐱OAW!gz7혠 \q~ t̶w$;/U2<ٯ)6%ɚӇ2w6L9u˝D$0Ed2TCV#?dܾ8ȣvMŋ0f5+Sxa"ܼsb!v+~,gig|H7|si“$op%8kSЖEUp*Wse:0e& gfLed5xq3(sop6]hn[Ш&U3Gǘhն2;L"Nnk~*<7zx6㪔{.GQO$յ82o:ƱnNAݳ뻧5ݢm m=Je[ S{}u+W7SݜP ǭGqnK@ W0L;e.wJ2"KO +ZMfS P ʹ'iM+,k2kr1,=(nys݈n$&@/no6 &h G{ѻRUrYfpLP`aFN1L({ǂZDCw鿬$;&fĚڦ^0Uy[ܳ- eyXťNBa96噱qmf萊A*/4<\x+qeVcJ[^V=skbԚ1.:g~4weM%6_/,R,S\~™%y nHZثMM}y2+{"۽;jf31@l,) 噈OY{E*-+=tam:w7G$}Sf %1KgdKC辟9Ǿ/Pib.v(ۭŘCZq8xu'4f]/tܲ7NJ㫇(VMk6'(_e?5L 0Q)u.)VTN1jzmTgۈl^y%Z s#|RIb&r6sߑR]_)Xn`:7%M t#ݳQ 1ru05}]8MyOg$m5׉y& \q ͇SX[U{Ԏ!oV 9|RtK`y9g!5m\pUS&ُ4FfJNQ~k(W]RwD?Ja>/"~rl9fuޖ(Mf<@ln/}nB\FKOcbq$xq ,rUir=<zީ</$4sPʷMr84ҬῙL~iƹ؏v#&;0 ^;壃b.D mɔ\.mDڮ}憧ӹ\$ 82<\A>ؚg٘L,x\2Ⱥ6I Ad]<;ͶrrwKLB͙|_z0cUn"f7 /2O) >p$3#26<חX1iK^k6x+HjMVcWT ՀO4\M!n0"gx1 l[;:gNTj瑝\7hKу&pl(2˕{2zV wھ{8BHDoT¦cqh_I1dlEIfZy+GcoMbs͕!y9^?A6֣vƖ1{-ZiMԷ[g |eֿs'ё);KNT-ekClHuYy.qߣ[`5jRX մ.'4a0Q츳ڊ̍cuJEYL{żol_1^*jvqs`LT&AYj.1FXu!j6yˮ]ӟ.\!lX{%\]wNA@U*_oȼ`\.fVx-ParMj =vqbs/tV{6Ld.g,,^gQogRb˼`>Iv?w\oNmwu\aZ6[5@ Oمv-U903 "F<`ou3FN&* 4?馟9PT1[RZx;踾N!}ac}&Z Sh9œKm^&omrY7wL*16By~X*rO hϹRGJ M yg{81Am>O43ruĐXgW z5?z/3Vx:[ zd駄7"+)7C;ߥ̹k˥?IE۰iGtyY̹,g.oQOvFuJF݋N z߸e.r?+/ubGwύT6sx,h2|2y5'}'Y%o;0rMՉXA9]84۵?uxƝK9VgV>!޸P񵡾+9n0. {f1]'A..-]Z+ߔ7rcsfbJ"`ޝv?Ƕe Z 3.g7sF( BJjf}%e@Z\Y$ɒb)M`9.HrdWXtgp\XR\j3V~6\ڴEylx&kݬLbԟXCƓ1@2|_mtLTߣ,+xV_o5/ZZEIX$;1nef[{8!8 Ċ͌O. ;zGEp/#࠺CRtiTlޛ:;H  y53us֨iQ?L{YN:(Qjpƨ06cVYZY Quvcuâ:o>4 БT:Zx=0X8Gg{5욜"SeējPyٰ+s nڿrH63Ix_*.^[;:o(ZFtī)>49,$K8Ѧ[g=Ծ Б˓ݑ6;ru9V8n *w=rcSMXv2z3hbٲUbW|זveeܟ7fFY䕶$7`[)-lO/,BUTd=߯$acXZν3ՙ 7+tH܆ZL'Ud5{]C鳝'xgW|ɟ qsl9:]ib0:8,%noA9/EP\mIEUf3mvRZi%db L!8ͧHO'oʴ[ОN847 8ǝO[ \<>a3xF|IӞvRT4ktX0m,xY EFnt-O 7ڕ[0g~bsbwNg_Sz#r9.zg+q05ۇ5fs Z03]{NWNx35aW)?J6D{f&{-] $fLRQl_sI*ܼnH{֋damr \J^9Kȵ$e<(WmV_* 1<3fFvY3^k)tᓅhH\>&|AFI݉Z]R1dHfAݯT[61cXŢɾ lWrgsi}zovW2Kiw!׃++gz-"㲹C6[z&N+7SLl}nG:)\Nu3z GvWu, 9~[t<6àXeS[q}nW{XtIronNJǬm'Rb1vp.6( ZsݪC 4uNra6I}+ZbԿhJGbSPhmP~fYys|p,Up^>Ŗ)KW4\9{hCޢ Rң4ҫ"|I4->5ĞnG)/"f1a1e[vt<"-Z>~YlP^49C/RrVG6u.* E%.~4k[ͻ"Tre>z^=X#3B,uRR㒧>y nyIMBxgBkL/zuQ77G䭭m?s\զ\*ɬ}h iZp4SE8V}" )E&5DZNTb~ohMsCz6ŭW͚- g/ڍg9y , h<77:x%}׼3mփFk;l%c p}fh&oL2+f8jcc-=*b_zϭ#m*<5pv#bUfd%Gzz'o]HFsi"uyUC2uC`1+WL:ঠBVKlYO)M-3@yΘs \Mp_䦈aa <lq3l/`t0UWg~ x-3/9׆%d$iJ%ҟ sY|I™u=kS&8)y:oCLpd4Ö]Xl܎#6T[! Mfx>,`ܝLc!5'A0# tK."E6([X4>W?BlC[|ڭj^$ڕ8Z`x+e7UM ~%36_keY5A`|q0LC]'ZC\C) Zԩo.K~;=2Ra@/ӆу,吩ޒZ<*۾WJo_Vk˽ZF5I__lٜL&& 2[zFzij_uhfSAX)ϳ\m4y9Nq <,C#"VG0<:w}X 9&QL;o$^fuה`)9/ Xw4FO)TWWIFrhiyeL|:mZL18v\doDETM?D70Vuq=͒Y%`\oaZ/"_8!W3*{_X{dbu(A4;xV5i?FKT^trJ(!bryjpʭ ;0^M|C 'n4sWhWMͿ*IFSYyӖnyսd`q٣C|o"/NYx^[{!-ݶ嗔W6[Ħ9<22gwTX2PYuߴM$oXZǘ7\R>XJd \%I&f.Q-/ێ >P6/3/)ӖֽW"oY|)d=ػgdW2I}nw ɠE^R|0vxto.즶̝YU}/}g gI ߧ$ܙܕ꺍K/]MV1-YMPJnF"2 e'\*$ sz7մw u3Ğg88ץ-rβ&rY9}]*9;sHj k`u 7ss}>nrdY޶6&ޠqħ&y| ٠m1r<֏N"rsnm-CecuNuncFZYS[Z &ɧ*8_/UoKPY|ϵٜ]mf{}E?71h[l$sEM{3^TCqxV#LsZe#PPvj{ql'SXs1:)V]ԥO q<(^P)U.7bXΆ'&fʡ(Az:ߐB|,Pg7;Yp0|Ko>~;-Eh_`,{ErhښvO Y ąqdј5o-fo6gbX7}TS&<di׮ qͿ<p)6e/xTcm74ՙK5Å!ǷtɹIR2QW#054$z0n5ep)IZ9C5RTe@ܒXԌ`k?q:qzXk .lIXﬦ yZ{\r)K5uT]+ܡe)c= Kfj̔,U5(ԫC"Ym)?sY({jVkZ.7َmнQj˛Hw[ɬMt'XFUm ?(cB[cjx&gP*ͼ|Dng! jztS\kU`^ޱwdžݵ+TgtK^^'}z{3hpQ}"I8-74 XT60㨊%`Z7n4NG 6`G4gG*^Ώa!9q7h> V=4y`N x[Ԭh H;ezxRĪƵC|\rK]Ҏ|ceZyno/rC(c)PJoz`V:Jy (-Iח69. 5B9=/r^.@nոʛІ61X>Wʎڠ4-dK!\b;\4aove":#]PmyYF(Y-TY̶VM~PEbQ:ۺTUWۙ{7 okogĢ5ʼ&m>aFcZVU6j3a9(ɖX{? o\+C'rtHM|*?OѼ!SqbƛU%HqJ5}1Q \~"-s8>ѝ%1.Nra]3q:X?+[Mԝke9lvNsX޳lo<u h̥gCk:n֘K&}yNʾ3Z[w{6ZK+ KaxM^F;6f꾆XE+?Z QLL3[KИH&[YO'fL.$-RR]?3MM-LS2]N'z^mL=F+WWyU &Sii792X>G۾S6EkκKV/fy̬#ifs#(jZCGkoA8`5b"\];Ƞ^◇AK]6r`+t2@DdV4[`䣇 JFE[p9`zD7q_l͑^V_0w' kcvM$fZ:㚔H]>xȕN0vy&gh^n;5ZP#\;nUa?%Z;ZY>{.[{!t9x\R;Yȶ?n8{+Foa6־s%,~F;̡i ;C Wb'_Şsses~XŸ `DD4}b`ob?g9_tVMkU_&Kמ{2go4тrSnDpw5LM}R&Xi#J >`uI|v|v^:O#)06o)S6ܜq<Ǯs 7(t3~\RZ!,S̄Y6[4dz^E2oWs3 ( >Ѧq2n^_c%Z~̱  s`\ 9Tl:2"&itmZI^M2"B.."A'gܛD T`R_]sKZ?m`c' *no]۰+r / P0gj/C79Aȇw|y3㜨p;I:C|-uw6MG}dQE2My@ñyHw pdNT-/4BR~J@z/9Or9T ^pvR]Rh۵(y:z`3Pȶ#ծ7$3;xU\'W&ABR0Ʃp(.HD1+hlx~`L1˺cF]oX,dj#?1O&jKP4-).c@O]HB4N+ekoڭFZ˒NOfMۆ ASc%sk8{W5 Y^Y!nF?uzcvfJ,#|=`W\~a98zt`^WNk b \T4 k JԜ0=l(7C;hY .̦ 3W-#!ی8]*ݫ)t.,-r9e ,:Bl5-ox2Z_C?8.6+&W]a d{K ܀wl2k-go-0.9.0/lzhuf/writer.go000066400000000000000000000111751414214701500160010ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package lzhuf import ( "bufio" "bytes" "encoding/binary" "io" ) // A Writer is an io.WriteCloser. // Writes to a Writer are compressed and writter to w. type Writer struct { w *bufio.Writer z *lzhuf err error crc16 bool buf *bytes.Buffer // Encode data here and then write header and copy buf to actual writer putbuf uint putlen uint8 len, r, s int lastMatchLength int preFilled bool fileSize int32 } // NewB2Writer returns a new Writer with the extended FBB B2 format used by Winlink. // // It is the caller's responsibility to call Close on the WriteCloser when done. // Writes may be buffered and not flushed until Close. func NewB2Writer(w io.Writer) *Writer { return NewWriter(w, true) } // NewWriter returns a new Writer. Writes to the returned writer are compressed and written to w. // // If crc16 is true, the header will be prepended with a checksum of the compressed data (as per FBB B2). // // It is the caller's responsibility to call Close on the WriteCloser when done. // Writes may be buffered and not flushed until Close. func NewWriter(w io.Writer, crc16 bool) *Writer { wr := &Writer{w: bufio.NewWriter(w), buf: new(bytes.Buffer), crc16: crc16} wr.z = newLZHUFF() wr.z.InitTree() wr.r = _N - _F for i := 0; i < wr.r; i++ { wr.z.textBuf[i] = ' ' } return wr } // Write writes a compressed form of p to the underlying io.Writer. The // compressed bytes are not necessarily flushed until the Writer is closed. func (w *Writer) Write(p []byte) (n int, err error) { if w.err != nil { return 0, err } for !w.preFilled && n < len(p) { // Pre-fill lookahead buffer w.z.textBuf[w.r+w.len] = p[n] n++ w.fileSize++ w.len++ w.z.InsertNode(w.r - w.len) w.lastMatchLength = 1 w.preFilled = w.len == _F } for n < len(p) { w.advance(&p[n]) n++ w.fileSize++ } return n, nil } // Close closes the Writer, flushing any unwritten data to the underlying // io.Writer, but does not close the underlying io.Writer. func (w *Writer) Close() error { if w.err != nil { return w.err } // Write remaining data from the lookahead buffer for w.len > 0 { w.advance(nil) } w.encode() w.encodeEnd() var lengthBytes bytes.Buffer binary.Write(&lengthBytes, binary.LittleEndian, w.fileSize) // Write checksum (2 bytes) if w.crc16 { sum := crc(append(lengthBytes.Bytes(), w.buf.Bytes()...)) if err := binary.Write(w.w, binary.LittleEndian, sum); err != nil { return err } } // Write filesize (4 bytes) if _, err := io.Copy(w.w, &lengthBytes); err != nil { return err } // Write compressed data if _, err := io.Copy(w.w, w.buf); err != nil { return err } return w.w.Flush() } func (w *Writer) advance(c *byte) { if c != nil { // Add to lookahead buffer w.z.textBuf[w.s] = *c if w.s < _F-1 { w.z.textBuf[w.s+_N] = *c } w.len++ } // Process one byte from lookahead buffer w.z.InsertNode(w.r) w.lastMatchLength-- if w.lastMatchLength == 0 { w.encode() } w.z.DeleteNode(w.s) w.s = (w.s + 1) & (_N - 1) w.r = (w.r + 1) & (_N - 1) w.len-- } func (w *Writer) encode() { if w.len == 0 { return } // Encode from lookahead buffer if w.z.matchLength > w.len { w.z.matchLength = w.len } if w.z.matchLength <= _Threshold { w.z.matchLength = 1 w.encodeChar(uint(w.z.textBuf[w.r])) } else { w.encodeChar(uint(255 - _Threshold + w.z.matchLength)) w.encodePosition(uint(w.z.matchPosition)) } w.lastMatchLength = w.z.matchLength } func (w *Writer) encodeEnd() { if w.putlen == 0 { return } w.err = w.buf.WriteByte(byte(w.putbuf >> 8)) } func (w *Writer) encodeChar(c uint) { // travel from leaf to root i, j := uint(0), int(0) k := w.z.prnt[c+_T] for { i >>= 1 j++ // if node's address is odd-numbered, choose bigger brother node if k&1 != 0 { i += 0x8000 } if k = w.z.prnt[k]; k == _R { break } } w.putCode(j, i) w.z.update(int(c)) } func (w *Writer) encodePosition(c uint) { var i uint // output upper 6 bits by table lookup i = c >> 6 w.putCode(int(pLen[i]), uint(pCode[i])<<8) // output lower 6 bits verbatim w.putCode(6, (c&0x3f)<<10) } // Output c bits of code func (w *Writer) putCode(l int, c uint) { if w.err != nil { return } w.putbuf |= c >> w.putlen w.putlen += uint8(l) if w.putlen < 8 { return } w.err = w.buf.WriteByte(byte(w.putbuf >> 8)) w.putlen -= 8 if w.putlen >= 8 { w.err = w.buf.WriteByte(byte(w.putbuf)) w.putlen -= 8 w.putbuf = c << uint(l-int(w.putlen)) } else { w.putbuf <<= 8 } } wl2k-go-0.9.0/mailbox/000077500000000000000000000000001414214701500144345ustar00rootroot00000000000000wl2k-go-0.9.0/mailbox/syncdir.go000066400000000000000000000167231414214701500164470ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package mailbox provides mailbox handlers for a fbb.Session. package mailbox import ( "fmt" "io/ioutil" "log" "os" "os/user" "path" "path/filepath" "strings" "github.com/la5nta/wl2k-go/fbb" ) const ( DIR_INBOX = "/in/" DIR_OUTBOX = "/out/" DIR_SENT = "/sent/" DIR_ARCHIVE = "/archive/" ) const Ext = ".b2f" // NewDirHandler is a file system (directory) oriented mailbox handler. type DirHandler struct { MBoxPath string deferred map[string]bool sendOnly bool } // NewDirHandler wraps the directory given by path as a DirHandler. // // If sendOnly is true, all inbound messages will be deferred. func NewDirHandler(path string, sendOnly bool) *DirHandler { return &DirHandler{ MBoxPath: path, sendOnly: sendOnly, } } func (h *DirHandler) Prepare() (err error) { h.deferred = make(map[string]bool) return ensureDirStructure(h.MBoxPath) } func (h *DirHandler) Inbox() ([]*fbb.Message, error) { return LoadMessageDir(path.Join(h.MBoxPath, DIR_INBOX)) } func (h *DirHandler) Outbox() ([]*fbb.Message, error) { return LoadMessageDir(path.Join(h.MBoxPath, DIR_OUTBOX)) } func (h *DirHandler) Sent() ([]*fbb.Message, error) { return LoadMessageDir(path.Join(h.MBoxPath, DIR_SENT)) } func (h *DirHandler) Archive() ([]*fbb.Message, error) { return LoadMessageDir(path.Join(h.MBoxPath, DIR_ARCHIVE)) } // InboxCount returns the number of messages in the inbox. -1 on error. func (h *DirHandler) InboxCount() int { return countFiles(path.Join(h.MBoxPath, DIR_INBOX)) } func (h *DirHandler) OutboxCount() int { return countFiles(path.Join(h.MBoxPath, DIR_OUTBOX)) } func (h *DirHandler) SentCount() int { return countFiles(path.Join(h.MBoxPath, DIR_SENT)) } func (h *DirHandler) ArchiveCount() int { return countFiles(path.Join(h.MBoxPath, DIR_ARCHIVE)) } func (h *DirHandler) AddOut(msg *fbb.Message) error { data, err := msg.Bytes() if err != nil { return err } return ioutil.WriteFile(path.Join(h.MBoxPath, DIR_OUTBOX, msg.MID()+Ext), data, 0644) } func (h *DirHandler) ProcessInbound(msgs ...*fbb.Message) (err error) { dir := path.Join(h.MBoxPath, DIR_INBOX) for _, m := range msgs { filename := path.Join(dir, m.MID()+Ext) m.Header.Set("X-Unread", "true") data, err := m.Bytes() if err != nil { return err } if err = ioutil.WriteFile(filename, data, 0664); err != nil { return fmt.Errorf("Unable to write received message (%s): %s", filename, err) } } return } func (h *DirHandler) GetInboundAnswer(p fbb.Proposal) fbb.ProposalAnswer { if h.sendOnly { return fbb.Defer } // Check if file exists f, err := os.Open(path.Join(h.MBoxPath, DIR_INBOX, p.MID()+Ext)) if err == nil { f.Close() return fbb.Reject } else if os.IsNotExist(err) { return fbb.Accept } else if err != nil { log.Printf("Unable to determin if %s has been received: %s", p.MID(), err) } return fbb.Accept } func (h *DirHandler) SetSent(MID string, rejected bool) { oldPath := path.Join(h.MBoxPath, DIR_OUTBOX, MID+Ext) newPath := path.Join(h.MBoxPath, DIR_SENT, MID+Ext) if err := os.Rename(oldPath, newPath); err != nil { log.Fatalf("Unable to move %s to %s: %s", oldPath, newPath, err) } } func (h *DirHandler) SetDeferred(MID string) { h.deferred[MID] = true } func (h *DirHandler) GetOutbound(fws ...fbb.Address) []*fbb.Message { all, err := LoadMessageDir(path.Join(h.MBoxPath, DIR_OUTBOX)) if err != nil { log.Println(err) } deliver := make([]*fbb.Message, 0, len(all)) for _, m := range all { if h.deferred[m.MID()] { continue } // Check unsent messages that are addressed to one of the // forwarder addresses of the remote. if len(fws) > 0 { for _, fw := range fws { if m.IsOnlyReceiver(fw) { deliver = append(deliver, m) break } } continue } if len(fws) == 0 && m.Header.Get("X-P2POnly") == "true" { continue // The message is P2POnly and remote is CMS } // Remove private headers m.Header.Del("X-P2POnly") m.Header.Del("X-FilePath") m.Header.Del("X-Unread") deliver = append(deliver, m) } return deliver } // Deprecated: implementers should choose their own directories func DefaultMailboxPath() (string, error) { appdir, err := DefaultAppDir() if err != nil { return "", fmt.Errorf("Unable to determine application directory: %s", err) } return path.Join(appdir, "mailbox"), nil } // Deprecated: implementers should choose their own directories func DefaultAppDir() (string, error) { usr, err := user.Current() if err != nil { return "", fmt.Errorf("Unable to determine home directory: %s", err) } return path.Join(usr.HomeDir, ".wl2k"), nil } func ensureDirStructure(mboxPath string) (err error) { mode := os.ModeDir | os.ModePerm if err = os.MkdirAll(path.Join(mboxPath, DIR_INBOX), mode); err != nil { return } else if err = os.MkdirAll(path.Join(mboxPath, DIR_OUTBOX), mode); err != nil { return } else if err = os.MkdirAll(path.Join(mboxPath, DIR_SENT), mode); err != nil { return } else if err = os.MkdirAll(path.Join(mboxPath, DIR_ARCHIVE), mode); err != nil { return } return } func UserPath(root, callsign string) string { return path.Join(root, callsign) } func countFiles(dirPath string) int { files, err := ioutil.ReadDir(dirPath) if err != nil { return -1 } return len(files) } func LoadMessageDir(dirPath string) ([]*fbb.Message, error) { files, err := ioutil.ReadDir(dirPath) if err != nil { return nil, fmt.Errorf("Unable to read dir (%s): %s", dirPath, err) } msgs := make([]*fbb.Message, 0, len(files)) for _, file := range files { if file.IsDir() || file.Name()[0] == '.' { continue } // Warn if we find a file that matches the old filename structure (TODO: Remove) if isOldFilename(file.Name()) { fmt.Fprintf(os.Stderr, "Mailbox: Ignoring message file with deprecated file name (%s). Fix manually by renaming the file to '%s'.\n", file.Name(), file.Name()+Ext) continue } if !strings.EqualFold(filepath.Ext(file.Name()), Ext) { continue } msg, err := OpenMessage(path.Join(dirPath, file.Name())) if err != nil { return nil, err } msgs = append(msgs, msg) } return msgs, nil } func isOldFilename(str string) bool { if len(str) > fbb.MaxMIDLength || filepath.Ext(str) != "" || strings.ContainsAny(str, "#~.") { return false } return true } // OpenMessage opens a single a fbb.Message file. func OpenMessage(path string) (*fbb.Message, error) { f, err := os.Open(path) if err != nil { return nil, fmt.Errorf("Unable to open file (%s): %s", path, err) } defer f.Close() message := new(fbb.Message) if err := message.ReadFrom(f); err != nil { f.Close() return nil, fmt.Errorf("Unable to parse message (%s): %s", path, err) } message.Header.Set("X-FilePath", path) return message, nil } // IsUnread returns true if the given message is marked as unread. func IsUnread(msg *fbb.Message) bool { return msg.Header.Get("X-Unread") == "true" } // SetUnread marks the given message as read/unread and re-writes the file to disk. func SetUnread(msg *fbb.Message, unread bool) error { if !unread && msg.Header.Get("X-Unread") == "" { return nil } if unread { msg.Header.Set("X-Unread", "true") } else { msg.Header.Del("X-Unread") } data, err := msg.Bytes() if err != nil { return err } filePath := msg.Header.Get("X-FilePath") if filePath == "" { return fmt.Errorf("Missing X-FilePath header") } return ioutil.WriteFile(filePath, data, 0644) } wl2k-go-0.9.0/rigcontrol/000077500000000000000000000000001414214701500151635ustar00rootroot00000000000000wl2k-go-0.9.0/rigcontrol/hamlib/000077500000000000000000000000001414214701500164175ustar00rootroot00000000000000wl2k-go-0.9.0/rigcontrol/hamlib/common.go000066400000000000000000000030051414214701500202340ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package hamlib provides bindings for a _subset_ of hamlib. // It provides both native cgo bindings and a rigctld client. // // Use build tag "libhamlib" to build with native C library support. package hamlib import "fmt" // RigModel is the hamlib ID identifying a spesific tranceiver model. type RigModel int // Rig represents a receiver or tranceiver. // // It holds the data connection to the device. type Rig interface { // Closes the connection to the Rig. Close() error // Returns the Rig's active VFO (for control). CurrentVFO() VFO // Returns the Rig's A-VFO (for control). VFOA() (VFO, error) // Returns the Rig's B-VFO (for control). VFOB() (VFO, error) } // VFO (Variable Frequency Oscillator) represents a tunable channel, from the radio operator's view. // // Also referred to as "BAND" (A-band/B-band) by some radio manufacturers. type VFO interface { // Gets the dial frequency for this VFO. GetFreq() (int, error) // Sets the dial frequency for this VFO. SetFreq(f int) error // GetPTT returns the PTT state for this VFO. GetPTT() (bool, error) // Enable (or disable) PTT on this VFO. SetPTT(on bool) error } func Open(network, address string) (Rig, error) { switch network { case "tcp": return OpenTCP(address) case "serial": return OpenSerialURI(address) default: return nil, fmt.Errorf("Unknown network") } } wl2k-go-0.9.0/rigcontrol/hamlib/experimental_ptt.go000066400000000000000000000005741414214701500223400ustar00rootroot00000000000000package hamlib import ( "log" "os" "strconv" ) // Experimental PTT STATE 3 (https://github.com/la5nta/pat/issues/184) func init() { if experimentalPTT3Enabled() { log.Println("Experimental PTT3 enabled (https://github.com/la5nta/pat/issues/184)") } } func experimentalPTT3Enabled() bool { ok, _ := strconv.ParseBool(os.Getenv("EXPERIMENTAL_HAMLIB_PTT3")) return ok } wl2k-go-0.9.0/rigcontrol/hamlib/helpers.c000066400000000000000000000007531414214701500202320ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build cgo // +build libhamlib #include void setBaudRate(RIG *r, int rate) { r->state.rigport.parm.serial.rate = rate; } int add_to_list(const struct rig_caps *rc, void* f) { rigListCb(rc); return 1; } void populate_rigs_list() { rig_load_all_backends(); rig_list_foreach(add_to_list, 0); } wl2k-go-0.9.0/rigcontrol/hamlib/libhamlib.go000066400000000000000000000125301414214701500206720ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build cgo // +build libhamlib package hamlib /* #cgo LDFLAGS: -lhamlib #include #include void setBaudRate(RIG *r, int rate); int add_to_list(const struct rig_caps *rc, void* f); void populate_rigs_list(); */ import "C" import ( "errors" "fmt" "net/url" "strconv" ) var ErrUnknownModel = errors.New("Unknown rig model") // Rig represents a receiver or tranceiver. // // It holds the data connection to the device. type SerialRig struct{ r C.RIG } // VFO (Variable Frequency Oscillator) represents a tunable channel, // from the radio operator's view. // // Also referred to as "BAND" (A-band/B-band) by some radio manufacturers. type cVFO struct { v C.vfo_t r *SerialRig } var rigList []*C.struct_rig_caps func init() { C.rig_set_debug(C.RIG_DEBUG_BUG) rigList = make([]*C.struct_rig_caps, 0, 250) C.populate_rigs_list() } //export rigListCb func rigListCb(rc *C.struct_rig_caps) { rigList = append(rigList, rc) } // Rigs returns a map from RigModel to description (manufacturer and model) // of all known rigs. func Rigs() map[RigModel]string { list := make(map[RigModel]string, len(rigList)) for _, rc := range rigList { list[RigModel(rc.rig_model)] = fmt.Sprintf("%s %s", C.GoString(rc.mfg_name), C.GoString(rc.model_name)) } return list } // OpenSerial connects to the transceiver and returns a ready to use Rig. // // Caller must remember to Close the Rig after use. func OpenSerial(model RigModel, path string, baudrate int) (*SerialRig, error) { rig := C.rig_init(C.rig_model_t(model)) if rig == nil { return nil, ErrUnknownModel } // Set baudrate C.setBaudRate(rig, C.int(baudrate)) // Set path to tty C.strncpy(&rig.state.rigport.pathname[0], C.CString(path), C.FILPATHLEN-1) err := codeToError(C.rig_open(rig)) if err != nil { return nil, fmt.Errorf("Unable to open rig: %s", err) } return &SerialRig{*rig}, nil } // OpenSerialURI connects to the transceiver and returns a ready to use Rig. // // Expects a valid URI with path to a tty or COM-port. // Additional query parameters: // model (integer) // baudrate (integer) // E.g. "/dev/ttyS0?model=123&baudrate=9600". // // Caller must remember to Close the Rig after use. func OpenSerialURI(uri string) (*SerialRig, error) { u, err := url.Parse(uri) if err != nil { return nil, fmt.Errorf("Invalid address format") } modelStr := u.Query().Get("model") if modelStr == "" { return nil, fmt.Errorf("Missing model parameter") } model, err := strconv.Atoi(modelStr) if err != nil { return nil, fmt.Errorf("Invalid model format") } baudStr := u.Query().Get("baudrate") if baudStr == "" { return nil, fmt.Errorf("Missing baudrate parameter") } baudrate, err := strconv.Atoi(baudStr) if err != nil { return nil, fmt.Errorf("Invalid baudrate format") } return OpenSerial(RigModel(model), u.Path, baudrate) } // Closes the connection to the Rig. func (r *SerialRig) Close() error { C.rig_close(&r.r) return nil } // Returns the Rig's active VFO (for control). func (r *SerialRig) CurrentVFO() VFO { return cVFO{C.RIG_VFO_CURR, r} } // Returns the Rig's A vfo. func (r *SerialRig) VFOA() (VFO, error) { return cVFO{C.RIG_VFO_A, r}, nil } // Returns the Rig's B vfo. func (r *SerialRig) VFOB() (VFO, error) { return cVFO{C.RIG_VFO_B, r}, nil } func (r *SerialRig) SetPowerState(pwr PowerState) error { return codeToError(C.rig_set_powerstat(&r.r, C.powerstat_t(pwr))) } // Enable (or disable) PTT on this VFO. func (v cVFO) SetPTT(on bool) error { var ns C.ptt_t if on { ns = C.RIG_PTT_ON } else { ns = C.RIG_PTT_OFF } return codeToError(C.rig_set_ptt(&v.r.r, v.v, ns)) } // GetPTT returns the PTT state for this VFO. func (v cVFO) GetPTT() (bool, error) { var ptt C.ptt_t err := codeToError(C.rig_get_ptt(&v.r.r, v.v, &ptt)) return ptt == C.RIG_PTT_ON, err } // Sets the dial frequency for this VFO. func (v cVFO) SetFreq(freq int) error { return codeToError( C.rig_set_freq(&v.r.r, v.v, C.freq_t(freq)), ) } // Gets the dial frequency for this VFO. func (v cVFO) GetFreq() (int, error) { var freq C.freq_t err := codeToError(C.rig_get_freq(&v.r.r, v.v, &freq)) return int(freq), err } // SetMode switches to the given Mode using the supplied passband bandwidth. func (v cVFO) SetMode(m Mode, pbw int) error { return codeToError(C.rig_set_mode(&v.r.r, v.v, C.rmode_t(m), C.pbwidth_t(pbw), )) } // GetMode returns this VFO's active Mode and passband bandwidth. func (v cVFO) GetMode() (m Mode, pwb int, err error) { var cm C.rmode_t var cpwb C.pbwidth_t err = codeToError(C.rig_get_mode(&v.r.r, v.v, &cm, &cpwb)) return Mode(cm), int(cpwb), err } // Returns the narrow (closest) passband for the given Mode. func (r *SerialRig) PassbandNarrow(m Mode) int { return int(C.rig_passband_narrow(&r.r, C.rmode_t(m))) } // Returns the normal (default) passband for the given Mode. func (r *SerialRig) PassbandNormal(m Mode) int { return int(C.rig_passband_normal(&r.r, C.rmode_t(m))) } // Returns the wide (default) passband for the given Mode. func (r *SerialRig) PassbandWide(m Mode) int { return int(C.rig_passband_wide(&r.r, C.rmode_t(m))) } func codeToError(code C.int) error { if code == C.RIG_OK { return nil } return errors.New(C.GoString(C.rigerror(code))) } wl2k-go-0.9.0/rigcontrol/hamlib/libhamlib_consts.go000066400000000000000000000021371414214701500222650ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build cgo // +build libhamlib package hamlib //#include import "C" type Mode int const ( NoMode Mode = C.RIG_MODE_NONE AM = C.RIG_MODE_AM CW = C.RIG_MODE_CW USB = C.RIG_MODE_USB LSB = C.RIG_MODE_LSB RTTY = C.RIG_MODE_RTTY FM = C.RIG_MODE_FM WFM = C.RIG_MODE_WFM CWR = C.RIG_MODE_CWR RTTYR = C.RIG_MODE_RTTYR AMS = C.RIG_MODE_AMS PKTLSB = C.RIG_MODE_PKTLSB PKTUSB = C.RIG_MODE_PKTUSB PKTFM = C.RIG_MODE_PKTFM ECSSUSB = C.RIG_MODE_ECSSUSB ECSSLSB = C.RIG_MODE_ECSSLSB FAX = C.RIG_MODE_FAX SAM = C.RIG_MODE_SAM SAL = C.RIG_MODE_SAL SAH = C.RIG_MODE_SAH DSB = C.RIG_MODE_DSB ) type PowerState int const ( PowerOff PowerState = C.RIG_POWER_OFF PowerOn = C.RIG_POWER_ON PowerStandby = C.RIG_POWER_STANDBY ) wl2k-go-0.9.0/rigcontrol/hamlib/not_libhamlib.go000066400000000000000000000011001414214701500215410ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build !cgo, !libhamlib package hamlib import "errors" var errNotAvailable = errors.New("Not available in this build") // OpenSerialURI is here for compatibility (use build tag 'libhamlib'). func OpenSerialURI(uri string) (Rig, error) { return nil, errNotAvailable } // Rigs is here for compatibility (use build tag 'libhamlib'). func Rigs() map[RigModel]string { return map[RigModel]string{} } wl2k-go-0.9.0/rigcontrol/hamlib/rigctld.go000066400000000000000000000123101414214701500203730ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package hamlib import ( "errors" "fmt" "io" "net" "net/textproto" "strconv" "strings" "sync" "time" ) const DefaultTCPAddr = "localhost:4532" var ErrNotVFOMode = errors.New("rigctl is not running in VFO mode") var ErrUnexpectedValue = fmt.Errorf("Unexpected value in response") // TCPTimeout defines the timeout duration of dial, read and write operations. var TCPTimeout = time.Second // Rig represents a receiver or tranceiver. // // It holds the tcp connection to the service (rigctld). type TCPRig struct { mu sync.Mutex conn *textproto.Conn tcpConn net.Conn addr string } // VFO (Variable Frequency Oscillator) represents a tunable channel, // from the radio operator's view. // // Also referred to as "BAND" (A-band/B-band) by some radio manufacturers. type tcpVFO struct { r *TCPRig prefix string } // OpenTCP opens a new TCPRig and returns a ready to use Rig. // // The connection to rigctld is not initiated until the connection is requred. // To check for a valid connection, call Ping. // // Caller must remember to Close the Rig after use. func OpenTCP(addr string) (*TCPRig, error) { r := &TCPRig{addr: addr} return r, nil } // Ping checks that a connection to rigctld is open and valid. // // If no connection is active, it will try to establish one. func (r *TCPRig) Ping() error { _, err := r.cmd(`dump_caps`); return err } func (r *TCPRig) dial() (err error) { r.mu.Lock() defer r.mu.Unlock() if r.conn != nil { r.conn.Close() } // Dial with 3 second timeout r.tcpConn, err = net.DialTimeout("tcp", r.addr, TCPTimeout) if err != nil { return err } r.conn = textproto.NewConn(r.tcpConn) return err } // Closes the connection to the Rig. func (r *TCPRig) Close() error { if r.conn == nil { return nil } return r.conn.Close() } // Returns the Rig's active VFO (for control). func (r *TCPRig) CurrentVFO() VFO { return &tcpVFO{r, ""} } // Returns the Rig's VFO A (for control). // // ErrNotVFOMode is returned if rigctld is not in VFO mode. func (r *TCPRig) VFOA() (VFO, error) { if ok, err := r.VFOMode(); err != nil { return nil, err } else if !ok { return nil, ErrNotVFOMode } return &tcpVFO{r, "VFOA"}, nil } // Returns the Rig's VFO B (for control). // // ErrNotVFOMode is returned if rigctld is not in VFO mode. func (r *TCPRig) VFOB() (VFO, error) { if ok, err := r.VFOMode(); err != nil { return nil, err } else if !ok { return nil, ErrNotVFOMode } return &tcpVFO{r, "VFOB"}, nil } func (r *TCPRig) VFOMode() (bool, error) { resp, err := r.cmd(`\chk_vfo`) if err != nil { return false, err } return resp == "CHKVFO 1", nil } // Gets the dial frequency for this VFO. func (v *tcpVFO) GetFreq() (int, error) { resp, err := v.cmd(`\get_freq`) if err != nil { return -1, err } freq, err := strconv.Atoi(resp) if err != nil { return -1, err } return freq, nil } // Sets the dial frequency for this VFO. func (v *tcpVFO) SetFreq(freq int) error { _, err := v.cmd(`\set_freq %d`, freq) return err } // GetPTT returns the PTT state for this VFO. func (v *tcpVFO) GetPTT() (bool, error) { resp, err := v.cmd("t") if err != nil { return false, err } switch resp { case "0": return false, nil case "1", "2", "3": return true, nil default: return false, ErrUnexpectedValue } } // Enable (or disable) PTT on this VFO. func (v *tcpVFO) SetPTT(on bool) error { bInt := 0 if on == true { bInt = 1 } // Experimental PTT STATE 3 (https://github.com/la5nta/pat/issues/184) if experimentalPTT3Enabled() { bInt = 3 } _, err := v.cmd(`\set_ptt %d`, bInt) return err } func (v *tcpVFO) cmd(format string, args ...interface{}) (string, error) { // Add VFO argument (if set) if v.prefix != "" { parts := strings.Split(format, " ") parts = append([]string{parts[0], v.prefix}, parts[1:]...) format = strings.Join(parts, " ") } return v.r.cmd(format, args...) } func (r *TCPRig) cmd(format string, args ...interface{}) (resp string, err error) { // Retry for i := 0; i < 3; i++ { if r.conn == nil { // Try re-dialing if err = r.dial(); err != nil { break } } resp, err = r.doCmd(format, args...) if err == nil { break } _, isNetError := err.(net.Error) if err == io.EOF || isNetError { r.conn = nil } } return resp, err } func (r *TCPRig) doCmd(format string, args ...interface{}) (string, error) { r.tcpConn.SetDeadline(time.Now().Add(TCPTimeout)) id, err := r.conn.Cmd(format, args...) r.tcpConn.SetDeadline(time.Time{}) if err != nil { return "", err } r.conn.StartResponse(id) defer r.conn.EndResponse(id) r.tcpConn.SetDeadline(time.Now().Add(TCPTimeout)) resp, err := r.conn.ReadLine() r.tcpConn.SetDeadline(time.Time{}) if err != nil { return "", err } else if err := toError(resp); err != nil { return resp, err } return resp, nil } func toError(str string) error { if !strings.HasPrefix(str, "RPRT ") { return nil } parts := strings.SplitN(str, " ", 2) code, err := strconv.Atoi(parts[1]) if err != nil { return err } switch code { case 0: return nil default: return fmt.Errorf("code %d", code) } } wl2k-go-0.9.0/tests/000077500000000000000000000000001414214701500141435ustar00rootroot00000000000000wl2k-go-0.9.0/tests/session_test.go000066400000000000000000000061001414214701500172110ustar00rootroot00000000000000package tests import ( "io/ioutil" "math/rand" "os" "testing" "time" "github.com/la5nta/wl2k-go/fbb" "github.com/la5nta/wl2k-go/mailbox" "github.com/la5nta/wl2k-go/transport/telnet" ) type Station struct { Callsign string MBox *mailbox.DirHandler path string } func (s *Station) Cleanup() { os.Remove(s.path) } func (s *Station) ListenTelnet() (string, <-chan error, error) { errors := make(chan error, 10) ln, err := telnet.Listen("localhost:0") if err != nil { return "", nil, err } go func() { defer ln.Close() conn, err := ln.Accept() if err != nil { errors <- err return } defer conn.Close() conn.SetDeadline(time.Now().Add(time.Minute)) s := fbb.NewSession(s.Callsign, conn.(*telnet.Conn).RemoteCall(), "", s.MBox) s.IsMaster(true) if _, err := s.Exchange(conn); err != nil { errors <- err return } close(errors) }() return ln.Addr().String(), errors, nil } func NewTempStation(callsign string) (*Station, error) { path, err := ioutil.TempDir("", callsign) if err != nil { return nil, err } mbox := mailbox.NewDirHandler(path, false) mbox.Prepare() return &Station{ Callsign: callsign, MBox: mbox, path: path, }, nil } func TestMultiBlockAllDeferred(t *testing.T) { alice, _ := NewTempStation("N0DE1") defer alice.Cleanup() bob, _ := NewTempStation("N0DE2") defer bob.Cleanup() // Add 6 outbound messages msgs := NewRandomMessages(6, alice.Callsign, bob.Callsign) for _, msg := range msgs { alice.MBox.AddOut(msg) } // Fake msgs already delivered bob.MBox.ProcessInbound(msgs...) // Start alice as telnet listener addr, errors, err := alice.ListenTelnet() if err != nil { t.Fatalf("Unable to start listener: %s", err) } // Connect to alice from bob via telnet conn, err := telnet.Dial(addr, bob.Callsign, "") if err != nil { t.Fatalf("Unable to connect to listener: %s", err) } defer conn.Close() conn.SetDeadline(time.Now().Add(time.Minute)) s := fbb.NewSession(bob.Callsign, bob.Callsign, "", bob.MBox) if _, err := s.Exchange(conn); err != nil { t.Fatalf("Exchange failed at connecting node: %s", err) } select { case err, ok := <-errors: if !ok { break // No error occurred } t.Fatalf("Exchange failed at listening node: %s", err) case <-time.After(time.Minute): t.Fatalf("Test timeout!") } if alice.MBox.OutboxCount() != 0 { t.Errorf("Unexpected QTC in %s's mailbox. Expected 0.", alice.Callsign) } } func NewRandomMessages(n int, from, to string) []*fbb.Message { msgs := make([]*fbb.Message, n) for i := 0; i < n; i++ { msgs[i] = NewRandomMessage(from, to) } return msgs } func NewRandomMessage(from, to string) *fbb.Message { msg := fbb.NewMessage(fbb.Private, from) msg.AddTo(to) msg.SetSubject(RandStringRunes(10)) msg.SetBody(RandStringRunes(100)) return msg } func init() { rand.Seed(time.Now().UnixNano()) } var letterRunes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") func RandStringRunes(n int) string { b := make([]rune, n) for i := range b { b[i] = letterRunes[rand.Intn(len(letterRunes))] } return string(b) } wl2k-go-0.9.0/transport/000077500000000000000000000000001414214701500150355ustar00rootroot00000000000000wl2k-go-0.9.0/transport/ardop/000077500000000000000000000000001414214701500161425ustar00rootroot00000000000000wl2k-go-0.9.0/transport/ardop/CONTRIBUTORS.md000066400000000000000000000001371414214701500204220ustar00rootroot00000000000000# Contributors (alphabetical) * LA3QMA - Kai Günter Brandt * LA5NTA - Martin Hebnes Pedersen wl2k-go-0.9.0/transport/ardop/addr.go000066400000000000000000000005261414214701500174060ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop const network = "ardop" type Addr struct{ string } func (a Addr) Network() string { return network } func (a Addr) String() string { return a.string } wl2k-go-0.9.0/transport/ardop/ardop.go000066400000000000000000000056141414214701500176040ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package ardop provides means of establishing a connection to a remote node using ARDOP TNC package ardop import ( "errors" "fmt" "os" "strings" "time" ) const ( DefaultAddr = "localhost:8515" // The default address Ardop TNC listens on DefaultARQTimeout = 90 * time.Second // The default ARQ session idle timout ) const ( ModeARQ = "ARQ" // ARQ mode ModeFEC = "FEC" // FEC mode ) // TNC states const ( //go:generate stringer -type=State . Unknown State = iota Offline // Sound card disabled and all sound card resources are released Disconnected // The session is disconnected, the sound card remains active ISS // Information Sending Station (Sending Data) IRS // Information Receiving Station (Receiving data) Idle // ?? FECSend // ?? FECReceive // Receiving FEC (unproto) data ) var ( ErrBusy = errors.New("TNC control port is busy.") ErrConnectInProgress = errors.New("A connect is in progress.") ErrFlushTimeout = errors.New("Flush timeout.") ErrActiveListenerExists = errors.New("An active listener is already registered with this TNC.") ErrDisconnectTimeout = errors.New("Disconnect timeout: aborted connection.") ErrConnectTimeout = errors.New("Connect timeout") ErrChecksumMismatch = errors.New("Control protocol checksum mismatch") ErrTNCClosed = errors.New("TNC closed") ) // Bandwidth definitions of all supported ARQ bandwidths. var ( Bandwidth200Max = Bandwidth{false, 200} Bandwidth500Max = Bandwidth{false, 500} Bandwidth1000Max = Bandwidth{false, 1000} Bandwidth2000Max = Bandwidth{false, 2000} Bandwidth200Forced = Bandwidth{true, 200} Bandwidth500Forced = Bandwidth{true, 500} Bandwidth1000Forced = Bandwidth{true, 1000} Bandwidth2000Forced = Bandwidth{true, 2000} ) type State uint8 // Bandwidth represents the ARQ bandwidth. type Bandwidth struct { Forced bool // Force use of max bandwidth. Max uint // Max bandwidh to use. } // Stringer for Bandwidth returns a valid bandwidth parameter that can be sent to the TNC. func (bw Bandwidth) String() string { str := fmt.Sprintf("%d", bw.Max) if bw.Forced { str += "FORCED" } else { str += "MAX" } return str } // IsZero returns true if bw is it's zero value. func (bw Bandwidth) IsZero() bool { return bw.Max == 0 } var stateMap = map[string]State{ "": Unknown, "OFFLINE": Offline, "DISC": Disconnected, "ISS": ISS, "IRS": IRS, "IDLE": Idle, "FECRcv": FECReceive, "FECSend": FECSend, } func strToState(str string) (State, bool) { state, ok := stateMap[strings.ToUpper(str)] return state, ok } func debugEnabled() bool { return os.Getenv("ARDOP_DEBUG") != "" } wl2k-go-0.9.0/transport/ardop/command.go000066400000000000000000000256611414214701500201210ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import ( "log" "strconv" "strings" ) type command string const ( cmdPending command = "PENDING" // Indicates to the host application a Connect Request frame type has been detected (may not necessarily be to MYCALL or one of the MYAUX call signs). This provides an early warning to the host that a connection may be in process so it can hold any scanning activity. cmdCancelPending command = "CANCELPENDING" // Indicates to the host that the prior PENDING Connect Request was not to MYCALL or one of the MYAUX call signs) This allows the Host to resume scanning. cmdCRCFault command = "CRCFAULT" // Prompt to resend last frame cmdAbort command = "ABORT" // Immediately aborts an ARQ Connection or a FEC Send session cmdARQBW command = "ARQBW" // <200MAX|500MAX|1000MAX|2000MAX|200FORCED|500FORCED|1000FORCED|2000FORCED> cmdARQTimeout command = "ARQTIMEOUT" // ARQTIMEOUT<30-240> Set/get the ARQ Timeout in seconds cmdARQCall command = "ARQCALL" // cmdBuffer command = "BUFFER" // <[int int int int int]: Buffer statistics cmdClose command = "CLOSE" // Provides an orderly shutdown of all connections, release of all sound card resources and closes the Virtual TNC Program or hardware cmdCodec command = "CODEC" // Start the Codec with True, Stop with False. No parameter will return the Codec state cmdCWID command = "CWID" // <>[bool]: Disable/Enable the CWID option. CWID is optionally sent at the end of each ID frame. cmdDisconnect command = "DISCONNECT" // Initiates a normal disconnect cycle for an ARQ connection. If not connected command is ignored. cmdCapture command = "CAPTURE" // cmdDriveLevel command = "DRIVELEVEL" // Set Drive level. Default = 100 (max) cmdGridSquare command = "GRIDSQUARE" // <4, 6 or 8 character grid square>Sets or retrieves the 4, 6, or 8 character Maidenhead grid square (used in ID Frames) an improper grid square syntax will return a FAULT. cmdInitialize command = "INITIALIZE" // Clears any pending queued values in the TNC interface. Should be sent upon initial connection and before any other parameters are sent cmdListen command = "LISTEN" // Enables/disables server’s response to an ARQ connect request. Default = True. May be used to block connect requests during scanning. cmdMyAux command = "MYAUX" // cmdMyCall command = "MYCALL" // Sets current call sign. If not a valid call generates a FAULT. Legitimate call signs include from 3 to 7 ASCII characters (A-Z, 0-9) followed by an optional “-“ and an SSID of -0 to -15 or -A to -Z. An SSID of -0 is treated as no SSID cmdPlayback command = "PLAYBACK" // Sets desired sound card playback device. If no device name will reply with the current assigned playback device. cmdProtocolMode command = "PROTOCOLMODE" // PROTOCOLMODE Sets/Gets the protocol mode. If ARQ and LISTEN above is TRUE will answer Connect requests to MYCALL or any call signs in MYAUX. If FEC will decode but not respond to any connect request. cmdTwoToneTest command = "TWOTONETEST" // Send 5 second two-tone burst at the normal leader amplitude. May be used in adjusting drive level to the radio. If sent while in any state except DISC will result in a fault “not from state .....” cmdVersion command = "VERSION" // Returns the name and version of the ARDOP TNC program or hardware implementation. cmdStatus command = "STATUS" // ? e.g.: "STATUS CONNECT TO LA3F FAILED!" cmdNewState command = "NEWSTATE" // <[State]: Sent when the state changes cmdDisconnected command = "DISCONNECTED" // <[]: Signals that a connect failed. Duplicate state notification? cmdConnected command = "CONNECTED" // <[string string]: Signals that an ARQ connection has been established. e.g. “CONNECTED W1ABC 500” cmdPTT command = "PTT" // <[bool]: PTT active or not cmdFault command = "FAULT" // <[string]: Error message cmdBusy command = "BUSY" // <[bool]: Returns whether the channel is busy cmdTarget command = "TARGET" // <[string]: Identifies the target call sign of the connect request. The target call will be either MYC or one of the MYAUX call signs. cmdCaptureDevices command = "CATPUREDEVICES" // Returns a comma delimited list of all currently installed capture devices cmdPlaybackDevices command = "PLAYBACKDEVICES" // Returns a comma delimited list of all currently installed playback devices. cmdAutoBreak command = "AUTOBREAK" // <>[bool]: Disables/enables automatic link turnover (BREAK) by IRS when IRS has outbound data pending and receives an IDLE frame from ISS indicating its’ outbound queue is empty. Default is True. cmdSendID command = "SENDID" cmdFrequency command = "FREQUENCY" // If TNC Radio control is enabled the FREQUENCY command is sent to the Host upon a change in frequency of the radio. The frequency reported is the DIAL frequency of the radio. cmdInputPeaks command = "INPUTPEAKS" // Async info sent by ARDOPc // Some of the commands that has not been implemented: cmdBreak command = "BREAK" cmdBusyLock command = "BUSYLOCK" cmdRadioTuner command = "RADIOTUNER" cmdRadioAnt command = "RADIOANT" // Selects the radio antenna 1 or 2 for those radios that support antenna switching. If the parameter is 0 will not change the antenna setting even if the radio supports it. If sent without a parameter will return 0, 1 or 2. If RADIOCONTROL Is false or RADIOMODEL has not been set will return FAULT cmdRadioCtrl command = "RADIOCTRL" // Enables/disables the radio control capability of the ARDOP_Win TNC. If sent without a parameter will return the current value of RADIOCONTROL enable. cmdRadioCtrlBaud command = "RADIOCTRLBAUD" // <1200-115200) cmdRadioCtrlDTR command = "RADIOCTRLDTR" // cmdRadioCtrlPort command = "RADIOCTRLPORT" // COMn cmdRadioCtrlRTS command = "RADIOCTRLRTS" // cmdRadioFilter command = "RADIOFILTER" // cmdRadioFreq command = "RADIOFREQ" // cmdRadioComAdd command = "RADIOCOMADD" // 00-FF> Sets/reads the current Icom Address for radio control (Icom radios only). Values must be hex 00 through FF cmdRadioISC command = "RADIOISC" // Enable/Disable Radio’s internal sound card (some radios) cmdRadioMenu command = "RADIOMENU" cmdRadioMode command = "RADIOMODE" // USB,USBD, FM> cmdRadioModel command = "RADIOMODEL" cmdRadioModels command = "RADIOMODELS" cmdRadioPTT command = "RADIOPTT" // CATPTT|VOX/SIGNALINK|COMn cmdRadioPTTDTR command = "RADIOPTTDTR" cmdRadioPTTRTS command = "RADIOPTTRTS" cmdSetupMenu command = "SETUPMENU" cmdSquelch command = "SQUELCH" cmdState command = "STATE" cmdTrailer command = "TRAILER" cmdTuneRange command = "TUNERANGE" cmdLeader command = "LEADER" // LEADER<100-2000> Get/Set the leader length in ms. (Default is 160 ms). Rounded to the nearest 10 ms. cmdDataToSend command = "DATATOSEND" // If sent with the parameter 0 (zero) it will clear the TNC’s data to send Queue. If sent without a parameter will return the current number of data to send bytes queued. cmdDebugLog command = "DEBUGLOG" // Enable/disable the debug log cmdDisplay command = "DISPLAY" // Sets the Dial frequency display of the Waterfall or Spectrum display. If sent without parameters will return the current Dial frequency display. If > 100000 Display will read in MHz. cmdTrace command = "CMDTRACE" // Get/Set command Trace flag to log all commands to from the TNC to the ARDOP_Win TNC debug log. cmdFECid command = "FECID" // Disable/Enable ID (with optional grid square) at start of FEC transmissions cmdFECmode command = "FECMODE" // FECMODE<8FSK.200.25|4FSK.200.50S|4FSK.200.50,4PSK.200.100S|4PSK.200.100|8PSK.200.100|16FSK.500.25S|16FSK.500.25|4FSK.500.100S|4FSK.500.100| 4PSK.500.100|8PSK.500.100|4PSK.500.167|8PSK.500.167|4FSK.1000.100|4PSK.1000.100|8PSK.1000.100|4PSK.1000.167|8PSK.1000.167|4FSK.2000.600S|4FSK.2000.600|4FSK.2000.100|4PSK.2000.100|8PSK.2000.100|4PSK.2000.167|8PSK.2000.167 cmdFECrepeats command = "FECREPEATS" // <0-5> Sets the number of times a frame is repeated in FEC (multicast) mode. Higher number of repeats increases good copy probability under marginal conditions but reduces net throughput. cmdFECsend command = "FECSEND" // Start/Stop FEC broadcast/multicast mode for specific FECMODE. FECSEND will abort a FEC broadcast. ) type ctrlMsg struct { cmd command value interface{} } func (msg ctrlMsg) Bool() bool { return msg.value.(bool) } func (msg ctrlMsg) State() State { return msg.value.(State) } func (msg ctrlMsg) String() string { return msg.value.(string) } func (msg ctrlMsg) Int() int { return msg.value.(int) } func parseCtrlMsg(str string) ctrlMsg { // Work around for ARDOPc trailing space in NEWSTATE str = strings.TrimSpace(str) parts := strings.SplitN(str, " ", 2) parts[0] = strings.ToUpper(parts[0]) msg := ctrlMsg{ cmd: command(parts[0]), } isEchoBack := len(parts) > 1 && strings.HasPrefix(strings.ToLower(parts[1]), "now ") if isEchoBack { parts[1] = parts[1][len("now "):] } switch msg.cmd { // bool case cmdCodec, cmdPTT, cmdBusy, cmdTwoToneTest, cmdCWID, cmdListen, cmdAutoBreak: msg.value = strings.ToLower(parts[1]) == "true" // Undocumented case cmdInputPeaks: // (no params) case cmdAbort, cmdDisconnect, cmdClose, cmdDisconnected, cmdCRCFault, cmdPending, cmdCancelPending, cmdSendID: // (echo-back only) case cmdInitialize, cmdARQCall, cmdARQBW, cmdProtocolMode: // State case cmdNewState, cmdState: msg.value = stateMap[strings.ToUpper(parts[1])] // string case cmdFault, cmdMyCall, cmdGridSquare, cmdCapture, cmdPlayback, cmdVersion, cmdTarget, cmdStatus: msg.value = parts[1] // []string (space separated) case cmdConnected: msg.value = parseList(parts[1], " ") // []string (comma separated) case cmdCaptureDevices, cmdPlaybackDevices, cmdMyAux: msg.value = parseList(parts[1], ",") // int case cmdDriveLevel, cmdBuffer, cmdARQTimeout, cmdFrequency: i, err := strconv.Atoi(parts[1]) if err != nil { log.Printf("Failed to parse %s value: %s", msg.cmd, err) } msg.value = i default: log.Printf("Unable to parse '%s'", str) } return msg } func parseList(str, sep string) []string { parts := strings.Split(str, sep) for i, p := range parts { parts[i] = strings.TrimSpace(p) } return parts } wl2k-go-0.9.0/transport/ardop/command_test.go000066400000000000000000000032461414214701500211530ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import ( "reflect" "testing" ) func TestParse(t *testing.T) { tests := map[string]ctrlMsg{ "NEWSTATE DISC": ctrlMsg{cmdNewState, Disconnected}, "PTT True": ctrlMsg{cmdPTT, true}, "PTT False": ctrlMsg{cmdPTT, false}, "PTT trUE": ctrlMsg{cmdPTT, true}, "CODEC True": ctrlMsg{cmdCodec, true}, "foobar baz": ctrlMsg{command("FOOBAR"), nil}, "DISCONNECTED": ctrlMsg{cmdDisconnected, nil}, "FAULT 5/Error in the application.": ctrlMsg{cmdFault, "5/Error in the application."}, "BUFFER 300": ctrlMsg{cmdBuffer, 300}, "MYCALL LA5NTA": ctrlMsg{cmdMyCall, "LA5NTA"}, "GRIDSQUARE JP20QH": ctrlMsg{cmdGridSquare, "JP20QH"}, "MYAUX LA5NTA,LE3OF": ctrlMsg{cmdMyAux, []string{"LA5NTA", "LE3OF"}}, "MYAUX LA5NTA, LE3OF": ctrlMsg{cmdMyAux, []string{"LA5NTA", "LE3OF"}}, "VERSION 1.4.7.0": ctrlMsg{cmdVersion, "1.4.7.0"}, "FREQUENCY 14096400": ctrlMsg{cmdFrequency, 14096400}, } for input, expected := range tests { got := parseCtrlMsg(input) if got.cmd != expected.cmd { t.Errorf("Got %#v expected %#v when parsing '%s'", got.cmd, expected.cmd, input) } if !reflect.DeepEqual(got.value, expected.value) { t.Errorf("Got %#v expected %#v when parsing '%s'", got.value, expected.value, input) } } } wl2k-go-0.9.0/transport/ardop/conn.go000066400000000000000000000110361414214701500174270ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import ( "bytes" "encoding/binary" "errors" "fmt" "io" "log" "net" "sync" "time" ) type tncConn struct { dataLock sync.Mutex ctrlOut chan<- string dataOut chan<- []byte dataIn <-chan []byte eofChan chan struct{} ctrlIn broadcaster isTCP bool remoteAddr Addr localAddr Addr // The flushLock is used to keep track of the "out queued" buffer. // // It is locked on write, and Flush() will block until it's unlocked. // It is the control loop's responsibility to unlock this lock when buffer reached zero. flushLock lock mu sync.Mutex buffer int nWritten int } //TODO: implement func (conn *tncConn) SetDeadline(t time.Time) error { return nil } func (conn *tncConn) SetReadDeadline(t time.Time) error { return nil } func (conn *tncConn) SetWriteDeadline(t time.Time) error { return nil } func (conn *tncConn) RemoteAddr() net.Addr { return conn.remoteAddr } func (conn *tncConn) LocalAddr() net.Addr { return conn.localAddr } func (conn *tncConn) Read(p []byte) (int, error) { if len(p) == 0 { return 0, nil } data, ok := <-conn.dataIn if !ok { return 0, io.EOF } if len(data) > len(p) { panic("too large") //TODO: Handle } for i, b := range data { p[i] = b } return len(data), nil } func (conn *tncConn) Write(p []byte) (int, error) { conn.dataLock.Lock() defer conn.dataLock.Unlock() //TODO: Consider implementing chunking if len(p) > 65535 { // uint16 (length bytes) max p = p[:65535] } var buf bytes.Buffer //"D:" + 2 byte count big endian + binary data + 2 byte CRC // D: if !conn.isTCP { fmt.Fprint(&buf, "D:") } // 2 byte length binary.Write(&buf, binary.BigEndian, uint16(len(p))) // Binary data n, _ := buf.Write(p) // 2 byte CRC if !conn.isTCP { sum := crc16Sum(buf.Bytes()[2:]) // [2:], don't include D: in CRC sum. binary.Write(&buf, binary.BigEndian, sum) } r := conn.ctrlIn.Listen() defer r.Close() L: for i := 0; ; i++ { if i == 3 { return 0, fmt.Errorf("CRC failure") } conn.dataOut <- buf.Bytes() conn.mu.Lock() conn.nWritten += n conn.mu.Unlock() for { select { case msg := <-r.Msgs(): if msg.cmd == cmdBuffer { conn.flushLock.Lock() break L // Wait until we get a buffer update before returning } else if msg.cmd == cmdCRCFault { if debugEnabled() { log.Printf("conn.Write: Got CRCFault. Retry %d", i) } continue L } case <-conn.eofChan: return n, io.EOF } } } return n, nil } func (conn *tncConn) Flush() error { select { case <-conn.flushLock.WaitChan(): return nil case <-conn.eofChan: return io.EOF } } func (conn *tncConn) signalClosed() { close(conn.eofChan) } const flushAndCloseTimeout = 30 * time.Second //TODO: Remove when time is right (see Close). // Close closes the current connection. // // Will abort ("dirty disconnect") after 30 seconds if normal "disconnect" have not succeeded yet. func (conn *tncConn) Close() error { if conn == nil { return nil } // Flush: (THIS WILL PROBABLY BE REMOVED WHEN ARDOP MATURES) // We have to flush, because ardop will disconnect without waiting for the last // data in buffer to be sent. // // We also need to timeout the flush, because ardop does not seem to switch from IRS to ISS // if we only write one simple line (*** error line). (autobreak). // if tnc.state == IRS { // tnc.Break() // Break not implemented by ARDOP_Win yet. // } select { case <-conn.flushLock.WaitChan(): case <-time.After(flushAndCloseTimeout): } r := conn.ctrlIn.Listen() defer r.Close() conn.ctrlOut <- string(cmdDisconnect) timeout := time.After(flushAndCloseTimeout) for { select { case msg, ok := <-r.Msgs(): // Wait for TNC to disconnect if !ok { return errors.New("TNC hung up while waiting for requested disconnect") } if msg.cmd == cmdDisconnected || (msg.cmd == cmdNewState && msg.State() == Disconnected) { // The control loop have already closed the data connection return nil } case <-timeout: conn.ctrlOut <- string(cmdAbort) return ErrDisconnectTimeout } } } // TxBufferLen returns the number of bytes in the out buffer queue. func (conn *tncConn) TxBufferLen() int { conn.mu.Lock() defer conn.mu.Unlock() return conn.buffer } func (conn *tncConn) updateBuffer(b int) { if conn == nil { return } conn.mu.Lock() defer conn.mu.Unlock() conn.buffer = b if b == 0 { conn.flushLock.Unlock() } } wl2k-go-0.9.0/transport/ardop/crc16.go000066400000000000000000000014621414214701500174120ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop // CRC-16-CCITT (Reversed reciprocal, 0x8810 polynomial) with 0xffff initial seed const polynomial = 0x8810 func crc16Sum(data []byte) (sum uint16) { sum = 0xffff // Initial seed for _, b := range data { // For each bit, processing most significant bit first for mask := uint16(0x80); mask > 0; mask >>= 1 { divisible := (sum & 0x8000) != 0 // Most significant bit is set // Shift left sum <<= 1 // Bring current data bit onto least significant bit of sum dataBit := uint16(b) & mask if dataBit != 0 { sum += 1 } // Divide if divisible { sum ^= polynomial } } } return sum } wl2k-go-0.9.0/transport/ardop/crc16_test.go000066400000000000000000000011541414214701500204470ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import "testing" func TestCRC16Sum(t *testing.T) { tests := map[string]uint16{ "RDY\r": 55805, "voluptatem accusantium": 24749, "hagavik": 44843, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor": 50066, } for data, expected := range tests { got := crc16Sum([]byte(data)) if got != expected { t.Errorf("'%s' crc16 checksum failed.", data) } } } wl2k-go-0.9.0/transport/ardop/ctrl_broadcast.go000066400000000000000000000053631414214701500214660ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import ( "log" "time" ) type receiver interface { sendChan() chan<- ctrlMsg doneChan() <-chan struct{} } type StateReceiver struct { cs <-chan State msgs chan ctrlMsg done chan struct{} } func (r StateReceiver) States() <-chan State { return r.cs } func (r StateReceiver) Close() { close(r.done) } func (r StateReceiver) sendChan() chan<- ctrlMsg { return r.msgs } func (r StateReceiver) doneChan() <-chan struct{} { return r.done } type rawReceiver struct { msgs chan ctrlMsg // read from this to receive broadcasts done chan struct{} // close this to unregister } func (r rawReceiver) Msgs() <-chan ctrlMsg { return r.msgs } func (r rawReceiver) Close() { close(r.done) } func (r rawReceiver) sendChan() chan<- ctrlMsg { return r.msgs } func (r rawReceiver) doneChan() <-chan struct{} { return r.done } type broadcaster struct { msgs chan ctrlMsg // send on this will broadcast register chan receiver // send on this will register } func newBroadcaster() broadcaster { receivers := make([]receiver, 0, 1) b := broadcaster{ msgs: make(chan ctrlMsg), register: make(chan receiver), } go func() { defer func() { for _, r := range receivers { close(r.sendChan()) } receivers = nil }() for { select { case r := <-b.register: receivers = append(receivers, r) case msg, ok := <-b.msgs: if !ok { return } for i := 0; i < len(receivers); i++ { r := receivers[i] select { case <-r.doneChan(): // the receiver is done, remove it close(r.sendChan()) receivers = append(receivers[:i], receivers[i+1:]...) i-- //REVIEW this case r.sendChan() <- msg: // Message sent case <-time.After(500 * time.Millisecond): // This is a hack - some of the clients don't close properly if debugEnabled() { log.Println("Receiver timeout!") } close(r.sendChan()) receivers = append(receivers[:i], receivers[i+1:]...) i-- //REVIEW this } } } } }() return b } func (b *broadcaster) Listen() rawReceiver { r := rawReceiver{ make(chan ctrlMsg, 3), make(chan struct{}), } b.register <- r return r } func (b *broadcaster) ListenState() StateReceiver { cs := make(chan State) r := StateReceiver{ msgs: make(chan ctrlMsg), done: make(chan struct{}), cs: cs, } go func() { for msg := range r.msgs { if msg.cmd == cmdNewState { cs <- msg.State() } } close(cs) }() b.register <- r return r } func (b *broadcaster) Send(msg ctrlMsg) { b.msgs <- msg } func (b *broadcaster) Close() { close(b.msgs) } wl2k-go-0.9.0/transport/ardop/dial.go000066400000000000000000000017761414214701500174150ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import ( "fmt" "net" "github.com/la5nta/wl2k-go/transport" ) // DialURL dials ardop:// URLs func (tnc *TNC) DialURL(url *transport.URL) (net.Conn, error) { if url.Scheme != "ardop" { return nil, transport.ErrUnsupportedScheme } return tnc.Dial(url.Target) } func (tnc *TNC) Dial(targetcall string) (net.Conn, error) { if tnc.closed { return nil, ErrTNCClosed } if err := tnc.arqCall(targetcall, 10); err != nil { return nil, err } mycall, err := tnc.MyCall() if err != nil { return nil, fmt.Errorf("Error when getting mycall: %s", err) } tnc.data = &tncConn{ remoteAddr: Addr{targetcall}, localAddr: Addr{mycall}, ctrlOut: tnc.out, dataOut: tnc.dataOut, ctrlIn: tnc.in, dataIn: tnc.dataIn, eofChan: make(chan struct{}), isTCP: tnc.isTCP, } return tnc.data, nil } wl2k-go-0.9.0/transport/ardop/frame.go000066400000000000000000000053251414214701500175700ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import ( "bufio" "encoding/binary" "errors" "fmt" "io" "regexp" ) type frame interface{} type dFrame struct { dataType string data []byte } func (f dFrame) ARQFrame() bool { return f.dataType == "ARQ" } func (f dFrame) FECFrame() bool { return f.dataType == "FEC" } func (f dFrame) ErrFrame() bool { return f.dataType == "ERR" } func (f dFrame) IDFrame() bool { return f.dataType == "IDF" } type cmdFrame string func (f cmdFrame) Parsed() ctrlMsg { return parseCtrlMsg(string(f)) } func writeCtrlFrame(isTCP bool, w io.Writer, format string, params ...interface{}) error { var prefix string if !isTCP { prefix = "C:" } payload := fmt.Sprintf(format+"\r", params...) _, err := fmt.Fprint(w, prefix+payload) if !isTCP && err == nil { sum := crc16Sum([]byte(payload)) err = binary.Write(w, binary.BigEndian, sum) } return err } func readFrameOfType(fType byte, reader *bufio.Reader, isTCP bool) (frame, error) { var err error var data []byte switch fType { case '*': // !isTCP fType, err = reader.ReadByte() if err != nil { return nil, err } reader.ReadByte() // Discard ';'. (TODO: Use reader.Discard(1) when we drop support for Go <= 1.4). return readFrameOfType(fType, reader, isTCP) case 'c': data, err = reader.ReadBytes('\r') case 'd': // Peek length peeked, err := reader.Peek(2) if err != nil { return nil, err } length := binary.BigEndian.Uint16(peeked) + 2 // +2 to include the length bytes // actual data data = make([]byte, length) var n int for read := 0; read < int(length) && err == nil; { n, err = reader.Read(data[read:]) read += n } default: return nil, fmt.Errorf("Unexpected frame type %c", fType) } if err != nil { return nil, err } // Verify CRC sums if !isTCP { sumBytes := make([]byte, 2) reader.Read(sumBytes) crc := binary.BigEndian.Uint16(sumBytes) if crc16Sum(data) != crc { return nil, ErrChecksumMismatch } } switch fType { case 'c': data = data[:len(data)-1] // Trim \r return cmdFrame(string(data)), nil case 'd': return dFrame{dataType: string(data[2:5]), data: data[5:]}, nil default: panic("not possible") } } // Data example: " LA5NTA:[JP20QE] " var reID = regexp.MustCompile(`(\w+)[:\s]*\[(\w+)\]`) func parseIDFrame(df dFrame) (callsign, gridsquare string, err error) { if !df.IDFrame() { return "", "", errors.New("Unexpected frame type") } matches := reID.FindSubmatch(df.data) if len(matches) != 3 { return "", "", errors.New("Unexpected ID format") } return string(matches[1]), string(matches[2]), nil } wl2k-go-0.9.0/transport/ardop/frame_test.go000066400000000000000000000020711414214701500206220ustar00rootroot00000000000000package ardop import "testing" func TestParseIDFrame(t *testing.T) { type test struct { dFrame call string grid string } tests := []test{ { // Format from early versions of ARDOP_Win dFrame{dataType: `IDF`, data: []byte(` ID LA5NTA:[JP20QE] `)}, "LA5NTA", "JP20QE", }, { // Format from ardopc dFrame{dataType: `IDF`, data: []byte(` LA5NTA:[JP20QE] `)}, "LA5NTA", "JP20QE", }, { // Format from HB9AK (BPQ32 and ARDOP_Win 1.0?) dFrame{dataType: `IDF`, data: []byte(`ID:HB9AK [JN36pv]:`)}, "HB9AK", "JN36pv", }, { // Not actually seen dFrame{dataType: `IDF`, data: []byte(` LA1B:::[JP20QE] `)}, "LA1B", "JP20QE", }, { // Not actually seen dFrame{dataType: `IDF`, data: []byte(`ABC1DEF[JP20QE]`)}, "ABC1DEF", "JP20QE", }, } for i, test := range tests { call, loc, err := parseIDFrame(test.dFrame) if err != nil { t.Errorf("%d, Unexpected parse error: %s", i, err) } if call != test.call { t.Errorf("Unexpected call: %s", call) } if loc != test.grid { t.Errorf("Unexpected locator: %s", loc) } } } wl2k-go-0.9.0/transport/ardop/listen.go000066400000000000000000000047131414214701500177740ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import ( "fmt" "io" "net" ) type listener struct { incoming <-chan net.Conn quit chan struct{} errors <-chan error addr Addr } func (l listener) Accept() (c net.Conn, err error) { select { case c, ok := <-l.incoming: if !ok { return nil, io.EOF } return c, nil case err = <-l.errors: return nil, err } } func (l listener) Addr() net.Addr { return l.addr } func (l listener) Close() error { close(l.quit) return nil } func (tnc *TNC) Listen() (ln net.Listener, err error) { if tnc.closed { return nil, ErrTNCClosed } if tnc.listenerActive { return nil, ErrActiveListenerExists } tnc.listenerActive = true incoming := make(chan net.Conn) quit := make(chan struct{}) errors := make(chan error) mycall, err := tnc.MyCall() if err != nil { return nil, fmt.Errorf("Unable to get mycall: %s", err) } if err := tnc.SetListenEnabled(true); err != nil { return nil, fmt.Errorf("TNC failed to enable listening: %s", err) } go func() { defer func() { close(incoming) // Important to close this first! close(errors) tnc.listenerActive = false }() msgListener := tnc.in.Listen() defer msgListener.Close() msgs := msgListener.Msgs() var targetcall string for { select { case <-quit: tnc.SetListenEnabled(false) // Should return this in listener.Close() errors <- fmt.Errorf("Closed") return case msg, ok := <-msgs: if !ok { errors <- ErrTNCClosed return } switch msg.cmd { case cmdCancelPending, cmdDisconnected: targetcall = "" // Reset case cmdTarget: targetcall = msg.String() case cmdConnected: if targetcall == "" { // This can not be an incoming connection. // Incoming connections always gets cmdTarget before cmdConnected according to the spec continue } remotecall := msg.value.([]string)[0] tnc.data = &tncConn{ remoteAddr: Addr{remotecall}, localAddr: Addr{targetcall}, ctrlOut: tnc.out, dataOut: tnc.dataOut, ctrlIn: tnc.in, dataIn: tnc.dataIn, eofChan: make(chan struct{}), isTCP: tnc.isTCP, } tnc.connected = true incoming <- tnc.data targetcall = "" } } } }() return listener{incoming, quit, errors, Addr{mycall}}, nil } wl2k-go-0.9.0/transport/ardop/lock.go000066400000000000000000000021251414214701500174210ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import "sync" // Lock is like a sync.Mutex, except: // * Lock of locked is noop // * Unlock of unlocked is noop // * Wait() is used to block until Lock is unlocked. // The zero-value is an unlocked lock. type lock struct { mu sync.Mutex wait chan struct{} } // Locks if unlocked, noop otherwise. func (l *lock) Lock() { l.mu.Lock() defer l.mu.Unlock() if l.wait != nil { return // Already locked } l.wait = make(chan struct{}) } // Unlocks if locked, noop otherwise. func (l *lock) Unlock() { l.mu.Lock() defer l.mu.Unlock() if l.wait == nil { return // Already unlocked } close(l.wait) l.wait = nil } // Blocks until lock is released. Returns immediately if it's unlocked. func (l *lock) Wait() { <-l.WaitChan() } func (l *lock) WaitChan() <-chan struct{} { l.mu.Lock() wait := l.wait if l.wait == nil { wait = make(chan struct{}) close(wait) } l.mu.Unlock() return wait } wl2k-go-0.9.0/transport/ardop/state_string.go000066400000000000000000000006101414214701500211740ustar00rootroot00000000000000// generated by stringer -type=State .; DO NOT EDIT package ardop import "fmt" const _State_name = "UnknownOfflineDisconnectedISSIRSIdleFECSendFECReceive" var _State_index = [...]uint8{0, 7, 14, 26, 29, 32, 36, 43, 53} func (i State) String() string { if i+1 >= State(len(_State_index)) { return fmt.Sprintf("State(%d)", i) } return _State_name[_State_index[i]:_State_index[i+1]] } wl2k-go-0.9.0/transport/ardop/tnc.go000066400000000000000000000341521414214701500172620ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop import ( "bufio" "errors" "fmt" "io" "log" "net" "runtime" "strings" "time" "github.com/la5nta/wl2k-go/transport" ) type TNC struct { ctrl io.ReadWriteCloser dataConn *net.TCPConn data *tncConn in broadcaster out chan<- string dataOut chan<- []byte dataIn chan []byte busy bool state State heard map[string]time.Time selfClose bool ptt transport.PTTController // CRC checksum of frames and frame type prefixes is not used over TCPIP isTCP bool connected bool listenerActive bool closed bool beacon *beacon } // OpenTCP opens and initializes an ardop TNC over TCP. func OpenTCP(addr string, mycall, gridSquare string) (*TNC, error) { ctrlConn, err := net.Dial(`tcp`, addr) if err != nil { return nil, err } dataAddr := string(append([]byte(addr[:len(addr)-1]), addr[len(addr)-1]+1)) // Oh no he didn't! raddr, _ := net.ResolveTCPAddr("tcp", dataAddr) dataConn, err := net.DialTCP(`tcp`, nil, raddr) if err != nil { return nil, err } tnc := newTNC(ctrlConn, dataConn) tnc.isTCP = true return tnc, open(tnc, mycall, gridSquare) } func newTNC(ctrl io.ReadWriteCloser, dataConn *net.TCPConn) *TNC { return &TNC{ in: newBroadcaster(), dataIn: make(chan []byte, 4096), ctrl: ctrl, dataConn: dataConn, heard: make(map[string]time.Time), } } // Open opens and initializes an ardop TNC. func Open(ctrl io.ReadWriteCloser, mycall, gridSquare string) (*TNC, error) { tnc := newTNC(ctrl, nil) return tnc, open(tnc, mycall, gridSquare) } func open(tnc *TNC, mycall, gridSquare string) error { if err := tnc.runControlLoop(); err == io.EOF { return ErrBusy } else if err != nil { return err } runtime.SetFinalizer(tnc, (*TNC).Close) if err := tnc.init(); err == io.EOF { return ErrBusy } else if err != nil { return fmt.Errorf("Failed to initialize TNC: %s", err) } if err := tnc.SetMycall(mycall); err != nil { return fmt.Errorf("Set my call failed: %s", err) } if err := tnc.SetGridSquare(gridSquare); err != nil { return fmt.Errorf("Set grid square failed: %s", err) } tnc.beacon = initBeacon(tnc) return nil } // Set the PTT that should be controlled by the TNC. // // If nil, the PTT request from the TNC is ignored. func (tnc *TNC) SetPTT(ptt transport.PTTController) { tnc.ptt = ptt } func (tnc *TNC) init() (err error) { if err = tnc.set(cmdInitialize, nil); err != nil { return err } tnc.state, err = tnc.getState() if err != nil { return err } if tnc.state == Offline { if err = tnc.SetCodec(true); err != nil { return fmt.Errorf("Enable codec failed: %s", err) } } if err = tnc.set(cmdProtocolMode, ModeARQ); err != nil { return fmt.Errorf("Set protocol mode ARQ failed: %s", err) } if err = tnc.SetARQTimeout(DefaultARQTimeout); err != nil { return fmt.Errorf("Set ARQ timeout failed: %s", err) } // Not yet implemented by TNC /*if err = tnc.SetAutoBreak(true); err != nil { return fmt.Errorf("Enable autobreak failed: %s", err) }*/ // The TNC should only answer inbound ARQ connect requests when // requested by the user. if err = tnc.SetListenEnabled(false); err != nil { return fmt.Errorf("Disable listen failed: %s", err) } return nil } func decodeTNCStream(fType byte, rd *bufio.Reader, isTCP bool, frames chan<- frame, errors chan<- error) { for { frame, err := readFrameOfType(fType, rd, isTCP) if err != nil { errors <- err } else { frames <- frame } if err == io.EOF { break } } } func (tnc *TNC) runControlLoop() error { rd := bufio.NewReader(tnc.ctrl) // Multiplex the possible TNC->HOST streams (TCP needs two streams) into a single channel of frames frames := make(chan frame) errors := make(chan error) if tnc.isTCP { go decodeTNCStream('c', rd, tnc.isTCP, frames, errors) go decodeTNCStream('d', bufio.NewReader(tnc.dataConn), tnc.isTCP, frames, errors) } else { go decodeTNCStream('*', rd, false, frames, errors) } go func() { for { // Handle incoming TNC data var frame frame var err error select { case frame = <-frames: case err = <-errors: } if _, ok := err.(*net.OpError); err == io.EOF || ok { break } else if err != nil { if debugEnabled() { log.Printf("Error reading frame: %s", err) } continue } if debugEnabled() { log.Println("frame", frame) } if d, ok := frame.(dFrame); ok { switch { case d.ARQFrame(): if !tnc.connected { // ARDOPc is sending non-ARQ data as ARQ frames when not connected continue } select { case tnc.dataIn <- d.data: case <-time.After(time.Minute): go tnc.Disconnect() // Buffer full and timeout } case d.IDFrame(): call, _, err := parseIDFrame(d) if err == nil { tnc.heard[call] = time.Now() } else if debugEnabled() { log.Println(err) } } } line, ok := frame.(cmdFrame) if !ok { continue } msg := line.Parsed() switch msg.cmd { case cmdPTT: if tnc.ptt != nil { tnc.ptt.SetPTT(msg.Bool()) } case cmdDisconnected: tnc.state = Disconnected tnc.eof() case cmdBuffer: tnc.data.updateBuffer(msg.value.(int)) case cmdNewState: tnc.state = msg.State() // Close ongoing connections if the new state is Disconnected if msg.State() == Disconnected { tnc.eof() } case cmdBusy: tnc.busy = msg.value.(bool) } if debugEnabled() { log.Printf("<-- %s\t[%#v]", line, msg) } tnc.in.Send(msg) } tnc.close() }() out := make(chan string) dataOut := make(chan []byte) tnc.out = out tnc.dataOut = dataOut go func() { for { select { case str, ok := <-out: if !ok { return } if debugEnabled() { log.Println("-->", str) } if err := writeCtrlFrame(tnc.isTCP, tnc.ctrl, str); err != nil { if debugEnabled() { log.Println(err) } return // The TNC connection was closed (most likely). } case data, ok := <-dataOut: if !ok { return } var err error if tnc.dataConn != nil { _, err = tnc.dataConn.Write(data) } else { _, err = tnc.ctrl.Write(data) } if err != nil { panic(err) //FIXME } } } }() return nil } func (tnc *TNC) eof() { if tnc.data != nil { close(tnc.dataIn) // Signals EOF to pending reads tnc.data.signalClosed() // Signals EOF to pending writes tnc.connected = false // connect() is responsible for setting it to true tnc.dataIn = make(chan []byte, 4096) tnc.data = nil } } // Ping checks the TNC connection for errors func (tnc *TNC) Ping() error { if tnc.closed { return ErrTNCClosed } _, err := tnc.getString(cmdVersion) return err } // Closes the connection to the TNC (and any on-going connections). func (tnc *TNC) Close() error { if tnc.closed { return nil } if err := tnc.SetListenEnabled(false); err != nil { return err } if err := tnc.Disconnect(); err != nil { // Noop if idle return err } tnc.close() return nil } func (tnc *TNC) close() { if tnc.closed { return } tnc.closed = true // bug(martinhpedersen): Data race in tnc.Close can cause panic on duplicate calls tnc.beacon.Close() tnc.eof() tnc.ctrl.Close() tnc.in.Close() // TODO: This may panic due to the race mentioned above. Consider using a mutex to guard tnc.closed. close(tnc.out) close(tnc.dataOut) // no need for a finalizer anymore runtime.SetFinalizer(tnc, nil) } // Returns true if channel is clear func (tnc *TNC) Busy() bool { return tnc.busy } // Version returns the software version of the TNC func (tnc *TNC) Version() (string, error) { return tnc.getString(cmdVersion) } // Returns the current state of the TNC func (tnc *TNC) State() State { return tnc.state } // Returns the grid square as reported by the TNC func (tnc *TNC) GridSquare() (string, error) { return tnc.getString(cmdGridSquare) } // Returns mycall as reported by the TNC func (tnc *TNC) MyCall() (string, error) { return tnc.getString(cmdMyCall) } // Autobreak returns wether or not automatic link turnover is enabled. func (tnc *TNC) AutoBreak() (bool, error) { return tnc.getBool(cmdAutoBreak) } // SetAutoBreak Disables/enables automatic link turnover. func (tnc *TNC) SetAutoBreak(on bool) error { return tnc.set(cmdAutoBreak, on) } // Sets the ARQ bandwidth func (tnc *TNC) SetARQBandwidth(bw Bandwidth) error { return tnc.set(cmdARQBW, bw) } // Sets the ARQ timeout func (tnc *TNC) SetARQTimeout(d time.Duration) error { return tnc.set(cmdARQTimeout, int(d/time.Second)) } // Gets the ARQ timeout func (tnc *TNC) ARQTimeout() (time.Duration, error) { seconds, err := tnc.getInt(cmdARQTimeout) return time.Duration(seconds) * time.Second, err } // Sets the grid square func (tnc *TNC) SetGridSquare(gs string) error { return tnc.set(cmdGridSquare, gs) } // SetMycall sets the provided callsign as the main callsign for the TNC func (tnc *TNC) SetMycall(mycall string) error { return tnc.set(cmdMyCall, mycall) } // SetCWID sets wether or not to send FSK CW ID after an ID frame. func (tnc *TNC) SetCWID(enabled bool) error { return tnc.set(cmdCWID, enabled) } // CWID reports wether or not the TNC will send FSK CW ID after an ID frame. func (tnc *TNC) CWID() (bool, error) { return tnc.getBool(cmdCWID) } // SendID will send an ID frame // // If CWID is enabled the ID frame will be followed by a FSK CW ID. func (tnc *TNC) SendID() error { return tnc.set(cmdSendID, nil) } type beacon struct { reset chan time.Duration close chan struct{} } func (b *beacon) Reset(d time.Duration) { b.reset <- d } func (b *beacon) Close() { if b == nil { return } select { case b.close <- struct{}{}: default: } } func initBeacon(tnc *TNC) *beacon { b := &beacon{reset: make(chan time.Duration, 1), close: make(chan struct{}, 1)} go func() { t := time.NewTimer(10) t.Stop() var d time.Duration for { select { case <-b.close: t.Stop() return case d = <-b.reset: t.Stop() case <-t.C: if tnc.Idle() { tnc.SendID() } } if d > 0 { t.Reset(d) } } }() return b } // BeaconEvery starts a goroutine that sends an ID frame (SendID) at the regular interval d // // The gorutine will be closed on Close() or if d equals 0. func (tnc *TNC) BeaconEvery(d time.Duration) error { tnc.beacon.Reset(d); return nil } // Sets the auxiliary call signs that the TNC should answer to on incoming connections. func (tnc *TNC) SetAuxiliaryCalls(calls []string) (err error) { return tnc.set(cmdMyAux, strings.Join(calls, ", ")) } // Enable/disable sound card and other resources // // This is done automatically on Open(), users should // normally don't do this. func (tnc *TNC) SetCodec(state bool) error { return tnc.set(cmdCodec, fmt.Sprintf("%t", state)) } // ListenState() returns a StateReceiver which can be used to get notification when the TNC state changes. func (tnc *TNC) ListenEnabled() StateReceiver { return tnc.in.ListenState() } // Heard returns all stations heard by the TNC since it was opened. // // The returned map is a map from callsign to last time the station was heard. func (tnc *TNC) Heard() map[string]time.Time { return tnc.heard } // Enable/disable TNC response to an ARQ connect request. // // This is disabled automatically on Open(), and enabled // when needed. Users should normally don't do this. func (tnc *TNC) SetListenEnabled(listen bool) error { return tnc.set(cmdListen, fmt.Sprintf("%t", listen)) } // Disconnect gracefully disconnects the active connection or cancels an ongoing connect. // // The method will block until the TNC is disconnected. // // If the TNC is not connecting/connected, Disconnect is // a noop. func (tnc *TNC) Disconnect() error { if tnc.Idle() { return nil } tnc.eof() r := tnc.in.Listen() defer r.Close() tnc.out <- fmt.Sprintf("%s", cmdDisconnect) for msg := range r.Msgs() { if msg.cmd == cmdDisconnected { return nil } } return ErrTNCClosed } // Idle returns true if the TNC is not in a connecting or connected state. func (tnc *TNC) Idle() bool { return tnc.state == Disconnected || tnc.state == Offline } // Abort immediately aborts an ARQ Connection or a FEC Send session. func (tnc *TNC) Abort() error { return tnc.set(cmdAbort, nil) } func (tnc *TNC) getState() (State, error) { v, err := tnc.get(cmdState) if err != nil { return Offline, nil } return v.(State), nil } // Sends a connect command to the TNC. Users should call Dial(). func (tnc *TNC) arqCall(targetcall string, repeat int) error { if !tnc.Idle() { return ErrConnectInProgress } r := tnc.in.Listen() defer r.Close() tnc.out <- fmt.Sprintf("%s %s %d", cmdARQCall, targetcall, repeat) for msg := range r.Msgs() { switch msg.cmd { case cmdFault: return fmt.Errorf(msg.String()) case cmdNewState: if tnc.state == Disconnected { return ErrConnectTimeout } case cmdConnected: // TODO: Probably not what we should look for tnc.connected = true return nil } } return ErrTNCClosed } func (tnc *TNC) set(cmd command, param interface{}) (err error) { if tnc.closed { return ErrTNCClosed } r := tnc.in.Listen() defer r.Close() if param != nil { tnc.out <- fmt.Sprintf("%s %v", cmd, param) } else { tnc.out <- string(cmd) } for msg := range r.Msgs() { if msg.cmd == cmd { return } else if msg.cmd == cmdFault { return errors.New(msg.String()) } } return ErrTNCClosed } func (tnc *TNC) getString(cmd command) (string, error) { v, err := tnc.get(cmd) if err != nil { return "", nil } return v.(string), nil } func (tnc *TNC) getBool(cmd command) (bool, error) { v, err := tnc.get(cmd) if err != nil { return false, nil } return v.(bool), nil } func (tnc *TNC) getInt(cmd command) (int, error) { v, err := tnc.get(cmd) if err != nil { return 0, err } return v.(int), nil } func (tnc *TNC) get(cmd command) (interface{}, error) { if tnc.closed { return nil, ErrTNCClosed } r := tnc.in.Listen() defer r.Close() tnc.out <- string(cmd) for msg := range r.Msgs() { switch msg.cmd { case cmd: return msg.value, nil case cmdFault: return nil, errors.New(msg.String()) } } return nil, ErrTNCClosed } wl2k-go-0.9.0/transport/ardop2/000077500000000000000000000000001414214701500162245ustar00rootroot00000000000000wl2k-go-0.9.0/transport/ardop2/CONTRIBUTORS.md000066400000000000000000000001571414214701500205060ustar00rootroot00000000000000# Contributors (alphabetical) * LA3QMA - Kai Günter Brandt * LA5NTA - Martin Hebnes Pedersen * Colin Stagner wl2k-go-0.9.0/transport/ardop2/addr.go000066400000000000000000000005301414214701500174630ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 const network = "ardop2" type Addr struct{ string } func (a Addr) Network() string { return network } func (a Addr) String() string { return a.string } wl2k-go-0.9.0/transport/ardop2/ardop.go000066400000000000000000000042221414214701500176600ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package ardop provides means of establishing a connection to a remote node using ARDOP TNC package ardop2 import ( "errors" "os" "strings" "time" ) const ( DefaultAddr = "localhost:8515" // The default address Ardop TNC listens on DefaultARQTimeout = 90 * time.Second // The default ARQ session idle timout ) const ( ModeARQ = "ARQ" // ARQ mode ModeFEC = "FEC" // FEC mode ) // TNC states const ( //go:generate stringer -type=State . Unknown State = iota Offline // Sound card disabled and all sound card resources are released Disconnected // The session is disconnected, the sound card remains active ISS // Information Sending Station (Sending Data) IRS // Information Receiving Station (Receiving data) Quiet // ?? FECSend // ?? FECReceive // Receiving FEC (unproto) data ) var ( ErrBusy = errors.New("TNC control port is busy.") ErrConnectInProgress = errors.New("A connect is in progress.") ErrFlushTimeout = errors.New("Flush timeout.") ErrActiveListenerExists = errors.New("An active listener is already registered with this TNC.") ErrDisconnectTimeout = errors.New("Disconnect timeout: aborted connection.") ErrConnectTimeout = errors.New("Connect timeout") ErrRejectedBandwidth = errors.New("Connection rejected by peer: incompatible bandwidth") ErrRejectedBusy = errors.New("Connection rejected: channel busy") ErrChecksumMismatch = errors.New("Control protocol checksum mismatch") ErrTNCClosed = errors.New("TNC closed") ) type State uint8 var stateMap = map[string]State{ "": Unknown, "OFFLINE": Offline, "DISC": Disconnected, "ISS": ISS, "IRS": IRS, "QUIET": Quiet, "FECRcv": FECReceive, "FECSend": FECSend, } func strToState(str string) (State, bool) { state, ok := stateMap[strings.ToUpper(str)] return state, ok } func debugEnabled() bool { return os.Getenv("ARDOP_DEBUG") != "" } wl2k-go-0.9.0/transport/ardop2/command.go000066400000000000000000000266071414214701500202040ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import ( "log" "strconv" "strings" ) type command string const ( cmdPending command = "PENDING" // Indicates to the host application a Connect Request frame type has been detected (may not necessarily be to MYCALL or one of the MYAUX call signs). This provides an early warning to the host that a connection may be in process so it can hold any scanning activity. cmdCancelPending command = "CANCELPENDING" // Indicates to the host that the prior PENDING Connect Request was not to MYCALL or one of the MYAUX call signs) This allows the Host to resume scanning. cmdCRCFault command = "CRCFAULT" // Prompt to resend last frame cmdAbort command = "ABORT" // Immediately aborts an ARQ Connection or a FEC Send session cmdARQBW command = "ARQBW" // ARQ bandwidth, in Hz. 200|500|2500 cmdARQTimeout command = "ARQTIMEOUT" // ARQTIMEOUT<30-600> Set/get the ARQ Timeout in seconds cmdARQCall command = "ARQCALL" // cmdBuffer command = "BUFFER" // <[int int int int int]: Buffer statistics cmdClose command = "CLOSE" // Provides an orderly shutdown of all connections, release of all sound card resources and closes the Virtual TNC Program or hardware cmdCodec command = "CODEC" // Start the Codec with True, Stop with False. No parameter will return the Codec state cmdCWID command = "CWID" // <>[bool]: Disable/Enable the CWID option. CWID is optionally sent at the end of each ID frame. cmdDisconnect command = "DISCONNECT" // Initiates a normal disconnect cycle for an ARQ connection. If not connected command is ignored. cmdCapture command = "CAPTURE" // cmdDriveLevel command = "DRIVELEVEL" // Set Drive level. Default = 100 (max) cmdGridSquare command = "GRIDSQUARE" // <4, 6 or 8 character grid square>Sets or retrieves the 4, 6, or 8 character Maidenhead grid square (used in ID Frames) an improper grid square syntax will return a FAULT. cmdInitialize command = "INITIALIZE" // Clears any pending queued values in the TNC interface. Should be sent upon initial connection and before any other parameters are sent cmdListen command = "LISTEN" // Enables/disables server’s response to an ARQ connect request. Default = True. May be used to block connect requests during scanning. cmdMyAux command = "MYAUX" // cmdMyCall command = "MYCALL" // Sets current call sign. If not a valid call generates a FAULT. Legitimate call signs include from 3 to 7 ASCII characters (A-Z, 0-9) followed by an optional “-“ and an SSID of -0 to -15 or -A to -Z. An SSID of -0 is treated as no SSID cmdNegotiateBW command = "NEGOTIATEBW" // enable bandwidth negotiation cmdPlayback command = "PLAYBACK" // Sets desired sound card playback device. If no device name will reply with the current assigned playback device. cmdProtocolMode command = "PROTOCOLMODE" // PROTOCOLMODE Sets/Gets the protocol mode. If ARQ and LISTEN above is TRUE will answer Connect requests to MYCALL or any call signs in MYAUX. If FEC will decode but not respond to any connect request. cmdTwoToneTest command = "TWOTONETEST" // Send 5 second two-tone burst at the normal leader amplitude. May be used in adjusting drive level to the radio. If sent while in any state except DISC will result in a fault “not from state .....” cmdVersion command = "VERSION" // Returns the name and version of the ARDOP TNC program or hardware implementation. cmdStatus command = "STATUS" // ? e.g.: "STATUS CONNECT TO LA3F FAILED!" cmdNewState command = "NEWSTATE" // <[State]: Sent when the state changes cmdDisconnected command = "DISCONNECTED" // <[]: Signals that a connect failed. Duplicate state notification? cmdConnected command = "CONNECTED" // <[string string [string]]: Signals that an ARQ connection has been established. e.g. “CONNECTED W1ABC 500 EM56” cmdPTT command = "PTT" // <[bool]: PTT active or not cmdFault command = "FAULT" // <[string]: Error message cmdBusy command = "BUSY" // <[bool]: Returns whether the channel is busy cmdTarget command = "TARGET" // <[string]: Identifies the target call sign of the connect request. The target call will be either MYC or one of the MYAUX call signs. cmdCaptureDevices command = "CATPUREDEVICES" // Returns a comma delimited list of all currently installed capture devices cmdPlaybackDevices command = "PLAYBACKDEVICES" // Returns a comma delimited list of all currently installed playback devices. cmdAutoBreak command = "AUTOBREAK" // <>[bool]: Disables/enables automatic link turnover (BREAK) by IRS when IRS has outbound data pending and receives an IDLE frame from ISS indicating its’ outbound queue is empty. Default is True. cmdSendID command = "SENDID" cmdFrequency command = "FREQUENCY" // If TNC Radio control is enabled the FREQUENCY command is sent to the Host upon a change in frequency of the radio. The frequency reported is the DIAL frequency of the radio. cmdInputPeaks command = "INPUTPEAKS" // Async info sent by ARDOPc cmdRejBW command = "REJECTEDBW" // Remote side rejected connection due to bandwidth incompatibility cmdRejBusy command = "REJECTEDBUSY" // Connection rejected due to channel busy // Some of the commands that has not been implemented: cmdBreak command = "BREAK" cmdBusyLock command = "BUSYBLOCK" cmdBusyDet command = "BUSYDET" // <0-10> gets or sets busy detector threshold cmdCQ command = "CQ" // Reports receipt of CQ cmdEnablePingAck command = "ENABLEPINGACK" cmdPing command = "PING" // Request to send, or receipt of, an ARDOP PING cmdRadioTuner command = "RADIOTUNER" cmdRadioAnt command = "RADIOANT" // Selects the radio antenna 1 or 2 for those radios that support antenna switching. If the parameter is 0 will not change the antenna setting even if the radio supports it. If sent without a parameter will return 0, 1 or 2. If RADIOCONTROL Is false or RADIOMODEL has not been set will return FAULT cmdRadioCtrl command = "RADIOCTRL" // Enables/disables the radio control capability of the ARDOP_Win TNC. If sent without a parameter will return the current value of RADIOCONTROL enable. cmdRadioCtrlBaud command = "RADIOCTRLBAUD" // <1200-115200) cmdRadioCtrlDTR command = "RADIOCTRLDTR" // cmdRadioCtrlPort command = "RADIOCTRLPORT" // COMn cmdRadioCtrlRTS command = "RADIOCTRLRTS" // cmdRadioFilter command = "RADIOFILTER" // cmdRadioFreq command = "RADIOFREQ" // cmdRadioComAdd command = "RADIOCOMADD" // 00-FF> Sets/reads the current Icom Address for radio control (Icom radios only). Values must be hex 00 through FF cmdRadioISC command = "RADIOISC" // Enable/Disable Radio’s internal sound card (some radios) cmdRadioMenu command = "RADIOMENU" cmdRadioMode command = "RADIOMODE" // USB,USBD, FM> cmdRadioModel command = "RADIOMODEL" cmdRadioModels command = "RADIOMODELS" cmdRadioPTT command = "RADIOPTT" // CATPTT|VOX/SIGNALINK|COMn cmdRadioPTTDTR command = "RADIOPTTDTR" cmdRadioPTTRTS command = "RADIOPTTRTS" cmdSetupMenu command = "SETUPMENU" cmdSquelch command = "SQUELCH" cmdState command = "STATE" cmdTrailer command = "TRAILER" cmdTuneRange command = "TUNERANGE" cmdLeader command = "LEADER" // LEADER<100-2000> Get/Set the leader length in ms. (Default is 160 ms). Rounded to the nearest 10 ms. cmdDataToSend command = "DATATOSEND" // If sent with the parameter 0 (zero) it will clear the TNC’s data to send Queue. If sent without a parameter will return the current number of data to send bytes queued. cmdDebugLog command = "DEBUGLOG" // Enable/disable the debug log cmdDisplay command = "DISPLAY" // Sets the Dial frequency display of the Waterfall or Spectrum display. If sent without parameters will return the current Dial frequency display. If > 100000 Display will read in MHz. cmdTrace command = "CMDTRACE" // Get/Set command Trace flag to log all commands to from the TNC to the ARDOP_Win TNC debug log. cmdFECid command = "FECID" // Disable/Enable ID (with optional grid square) at start of FEC transmissions cmdFECmode command = "FECMODE" // FECMODE<4PSK.200.50|4PSK.200.100|16QAM.200.100|4FSK.500.50| 4PSK.500.50|16QAMR.500.100|16QAM.500.100|4FSK.1000.50|4PSKR.2500.50| 4PSK.2500.50|16QAMR.2500.100|16QAM.2500.100> cmdFECrepeats command = "FECREPEATS" // <0-5> Sets the number of times a frame is repeated in FEC (multicast) mode. Higher number of repeats increases good copy probability under marginal conditions but reduces net throughput. cmdFECsend command = "FECSEND" // Start/Stop FEC broadcast/multicast mode for specific FECMODE. FECSEND will abort a FEC broadcast. ) type ctrlMsg struct { cmd command value interface{} } func (msg ctrlMsg) Bool() bool { return msg.value.(bool) } func (msg ctrlMsg) State() State { return msg.value.(State) } func (msg ctrlMsg) String() string { return msg.value.(string) } func (msg ctrlMsg) Int() int { return msg.value.(int) } func parseCtrlMsg(str string) ctrlMsg { // Work around for ARDOPc trailing space in NEWSTATE str = strings.TrimSpace(str) parts := strings.SplitN(str, " ", 2) parts[0] = strings.ToUpper(parts[0]) msg := ctrlMsg{ cmd: command(parts[0]), } isEchoBack := len(parts) > 1 && strings.HasPrefix(strings.ToLower(parts[1]), "now ") if isEchoBack { parts[1] = parts[1][len("now "):] } switch msg.cmd { // bool case cmdCodec, cmdPTT, cmdBusy, cmdTwoToneTest, cmdCWID, cmdListen, cmdAutoBreak: msg.value = strings.ToLower(parts[1]) == "true" // Undocumented case cmdInputPeaks: // (no params) case cmdAbort, cmdDisconnect, cmdClose, cmdDisconnected, cmdCRCFault, cmdPending, cmdCancelPending, cmdSendID, cmdRejBW, cmdRejBusy: // (echo-back only) case cmdInitialize, cmdARQCall, cmdARQBW, cmdProtocolMode, cmdNegotiateBW, cmdEnablePingAck, cmdBusyDet: // State case cmdNewState, cmdState: msg.value = stateMap[strings.ToUpper(parts[1])] // string case cmdFault, cmdMyCall, cmdGridSquare, cmdCapture, cmdPlayback, cmdVersion, cmdTarget, cmdStatus: msg.value = parts[1] // []string (space separated) case cmdConnected, cmdPing, cmdCQ: msg.value = parseList(parts[1], " ") // []string (comma separated) case cmdCaptureDevices, cmdPlaybackDevices, cmdMyAux: msg.value = parseList(parts[1], ",") // int case cmdDriveLevel, cmdBuffer, cmdARQTimeout, cmdFrequency: i, err := strconv.Atoi(parts[1]) if err != nil { log.Printf("Failed to parse %s value: %s", msg.cmd, err) } msg.value = i default: log.Printf("Unable to parse '%s'", str) } return msg } func parseList(str, sep string) []string { parts := strings.Split(str, sep) for i, p := range parts { parts[i] = strings.TrimSpace(p) } return parts } wl2k-go-0.9.0/transport/ardop2/command_test.go000066400000000000000000000033741414214701500212370ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import ( "reflect" "testing" ) func TestParse(t *testing.T) { tests := map[string]ctrlMsg{ "NEWSTATE DISC": ctrlMsg{cmdNewState, Disconnected}, "PTT True": ctrlMsg{cmdPTT, true}, "PTT False": ctrlMsg{cmdPTT, false}, "PTT trUE": ctrlMsg{cmdPTT, true}, "CODEC True": ctrlMsg{cmdCodec, true}, "foobar baz": ctrlMsg{command("FOOBAR"), nil}, "DISCONNECTED": ctrlMsg{cmdDisconnected, nil}, "FAULT 5/Error in the application.": ctrlMsg{cmdFault, "5/Error in the application."}, "BUFFER 300": ctrlMsg{cmdBuffer, 300}, "MYCALL LA5NTA": ctrlMsg{cmdMyCall, "LA5NTA"}, "GRIDSQUARE JP20QH": ctrlMsg{cmdGridSquare, "JP20QH"}, "MYAUX LA5NTA,LE3OF": ctrlMsg{cmdMyAux, []string{"LA5NTA", "LE3OF"}}, "MYAUX LA5NTA, LE3OF": ctrlMsg{cmdMyAux, []string{"LA5NTA", "LE3OF"}}, "CQ LA5NTA JP20QH": ctrlMsg{cmdCQ, []string{"LA5NTA", "JP20QH"}}, "VERSION 1.4.7.0": ctrlMsg{cmdVersion, "1.4.7.0"}, "FREQUENCY 14096400": ctrlMsg{cmdFrequency, 14096400}, } for input, expected := range tests { got := parseCtrlMsg(input) if got.cmd != expected.cmd { t.Errorf("Got %#v expected %#v when parsing '%s'", got.cmd, expected.cmd, input) } if !reflect.DeepEqual(got.value, expected.value) { t.Errorf("Got %#v expected %#v when parsing '%s'", got.value, expected.value, input) } } } wl2k-go-0.9.0/transport/ardop2/conn.go000066400000000000000000000110371414214701500175120ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import ( "bytes" "encoding/binary" "errors" "fmt" "io" "log" "net" "sync" "time" ) type tncConn struct { dataLock sync.Mutex ctrlOut chan<- string dataOut chan<- []byte dataIn <-chan []byte eofChan chan struct{} ctrlIn broadcaster isTCP bool remoteAddr Addr localAddr Addr // The flushLock is used to keep track of the "out queued" buffer. // // It is locked on write, and Flush() will block until it's unlocked. // It is the control loop's responsibility to unlock this lock when buffer reached zero. flushLock lock mu sync.Mutex buffer int nWritten int } //TODO: implement func (conn *tncConn) SetDeadline(t time.Time) error { return nil } func (conn *tncConn) SetReadDeadline(t time.Time) error { return nil } func (conn *tncConn) SetWriteDeadline(t time.Time) error { return nil } func (conn *tncConn) RemoteAddr() net.Addr { return conn.remoteAddr } func (conn *tncConn) LocalAddr() net.Addr { return conn.localAddr } func (conn *tncConn) Read(p []byte) (int, error) { if len(p) == 0 { return 0, nil } data, ok := <-conn.dataIn if !ok { return 0, io.EOF } if len(data) > len(p) { panic("too large") //TODO: Handle } for i, b := range data { p[i] = b } return len(data), nil } func (conn *tncConn) Write(p []byte) (int, error) { conn.dataLock.Lock() defer conn.dataLock.Unlock() //TODO: Consider implementing chunking if len(p) > 65535 { // uint16 (length bytes) max p = p[:65535] } var buf bytes.Buffer //"D:" + 2 byte count big endian + binary data + 2 byte CRC // D: if !conn.isTCP { fmt.Fprint(&buf, "D:") } // 2 byte length binary.Write(&buf, binary.BigEndian, uint16(len(p))) // Binary data n, _ := buf.Write(p) // 2 byte CRC if !conn.isTCP { sum := crc16Sum(buf.Bytes()[2:]) // [2:], don't include D: in CRC sum. binary.Write(&buf, binary.BigEndian, sum) } r := conn.ctrlIn.Listen() defer r.Close() L: for i := 0; ; i++ { if i == 3 { return 0, fmt.Errorf("CRC failure") } conn.dataOut <- buf.Bytes() conn.mu.Lock() conn.nWritten += n conn.mu.Unlock() for { select { case msg := <-r.Msgs(): if msg.cmd == cmdBuffer { conn.flushLock.Lock() break L // Wait until we get a buffer update before returning } else if msg.cmd == cmdCRCFault { if debugEnabled() { log.Printf("conn.Write: Got CRCFault. Retry %d", i) } continue L } case <-conn.eofChan: return n, io.EOF } } } return n, nil } func (conn *tncConn) Flush() error { select { case <-conn.flushLock.WaitChan(): return nil case <-conn.eofChan: return io.EOF } } func (conn *tncConn) signalClosed() { close(conn.eofChan) } const flushAndCloseTimeout = 30 * time.Second //TODO: Remove when time is right (see Close). // Close closes the current connection. // // Will abort ("dirty disconnect") after 30 seconds if normal "disconnect" have not succeeded yet. func (conn *tncConn) Close() error { if conn == nil { return nil } // Flush: (THIS WILL PROBABLY BE REMOVED WHEN ARDOP MATURES) // We have to flush, because ardop will disconnect without waiting for the last // data in buffer to be sent. // // We also need to timeout the flush, because ardop does not seem to switch from IRS to ISS // if we only write one simple line (*** error line). (autobreak). // if tnc.state == IRS { // tnc.Break() // Break not implemented by ARDOP_Win yet. // } select { case <-conn.flushLock.WaitChan(): case <-time.After(flushAndCloseTimeout): } r := conn.ctrlIn.Listen() defer r.Close() conn.ctrlOut <- string(cmdDisconnect) timeout := time.After(flushAndCloseTimeout) for { select { case msg, ok := <-r.Msgs(): // Wait for TNC to disconnect if !ok { return errors.New("TNC hung up while waiting for requested disconnect") } if msg.cmd == cmdDisconnected || (msg.cmd == cmdNewState && msg.State() == Disconnected) { // The control loop have already closed the data connection return nil } case <-timeout: conn.ctrlOut <- string(cmdAbort) return ErrDisconnectTimeout } } } // TxBufferLen returns the number of bytes in the out buffer queue. func (conn *tncConn) TxBufferLen() int { conn.mu.Lock() defer conn.mu.Unlock() return conn.buffer } func (conn *tncConn) updateBuffer(b int) { if conn == nil { return } conn.mu.Lock() defer conn.mu.Unlock() conn.buffer = b if b == 0 { conn.flushLock.Unlock() } } wl2k-go-0.9.0/transport/ardop2/crc16.go000066400000000000000000000014631414214701500174750ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 // CRC-16-CCITT (Reversed reciprocal, 0x8810 polynomial) with 0xffff initial seed const polynomial = 0x8810 func crc16Sum(data []byte) (sum uint16) { sum = 0xffff // Initial seed for _, b := range data { // For each bit, processing most significant bit first for mask := uint16(0x80); mask > 0; mask >>= 1 { divisible := (sum & 0x8000) != 0 // Most significant bit is set // Shift left sum <<= 1 // Bring current data bit onto least significant bit of sum dataBit := uint16(b) & mask if dataBit != 0 { sum += 1 } // Divide if divisible { sum ^= polynomial } } } return sum } wl2k-go-0.9.0/transport/ardop2/crc16_test.go000066400000000000000000000011551414214701500205320ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import "testing" func TestCRC16Sum(t *testing.T) { tests := map[string]uint16{ "RDY\r": 55805, "voluptatem accusantium": 24749, "hagavik": 44843, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor": 50066, } for data, expected := range tests { got := crc16Sum([]byte(data)) if got != expected { t.Errorf("'%s' crc16 checksum failed.", data) } } } wl2k-go-0.9.0/transport/ardop2/ctrl_broadcast.go000066400000000000000000000053641414214701500215510ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import ( "log" "time" ) type receiver interface { sendChan() chan<- ctrlMsg doneChan() <-chan struct{} } type StateReceiver struct { cs <-chan State msgs chan ctrlMsg done chan struct{} } func (r StateReceiver) States() <-chan State { return r.cs } func (r StateReceiver) Close() { close(r.done) } func (r StateReceiver) sendChan() chan<- ctrlMsg { return r.msgs } func (r StateReceiver) doneChan() <-chan struct{} { return r.done } type rawReceiver struct { msgs chan ctrlMsg // read from this to receive broadcasts done chan struct{} // close this to unregister } func (r rawReceiver) Msgs() <-chan ctrlMsg { return r.msgs } func (r rawReceiver) Close() { close(r.done) } func (r rawReceiver) sendChan() chan<- ctrlMsg { return r.msgs } func (r rawReceiver) doneChan() <-chan struct{} { return r.done } type broadcaster struct { msgs chan ctrlMsg // send on this will broadcast register chan receiver // send on this will register } func newBroadcaster() broadcaster { receivers := make([]receiver, 0, 1) b := broadcaster{ msgs: make(chan ctrlMsg), register: make(chan receiver), } go func() { defer func() { for _, r := range receivers { close(r.sendChan()) } receivers = nil }() for { select { case r := <-b.register: receivers = append(receivers, r) case msg, ok := <-b.msgs: if !ok { return } for i := 0; i < len(receivers); i++ { r := receivers[i] select { case <-r.doneChan(): // the receiver is done, remove it close(r.sendChan()) receivers = append(receivers[:i], receivers[i+1:]...) i-- //REVIEW this case r.sendChan() <- msg: // Message sent case <-time.After(500 * time.Millisecond): // This is a hack - some of the clients don't close properly if debugEnabled() { log.Println("Receiver timeout!") } close(r.sendChan()) receivers = append(receivers[:i], receivers[i+1:]...) i-- //REVIEW this } } } } }() return b } func (b *broadcaster) Listen() rawReceiver { r := rawReceiver{ make(chan ctrlMsg, 3), make(chan struct{}), } b.register <- r return r } func (b *broadcaster) ListenState() StateReceiver { cs := make(chan State) r := StateReceiver{ msgs: make(chan ctrlMsg), done: make(chan struct{}), cs: cs, } go func() { for msg := range r.msgs { if msg.cmd == cmdNewState { cs <- msg.State() } } close(cs) }() b.register <- r return r } func (b *broadcaster) Send(msg ctrlMsg) { b.msgs <- msg } func (b *broadcaster) Close() { close(b.msgs) } wl2k-go-0.9.0/transport/ardop2/dial.go000066400000000000000000000020011414214701500174550ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import ( "fmt" "net" "github.com/la5nta/wl2k-go/transport" ) // DialURL dials ardop2:// URLs func (tnc *TNC) DialURL(url *transport.URL) (net.Conn, error) { if url.Scheme != "ardop2" { return nil, transport.ErrUnsupportedScheme } return tnc.Dial(url.Target) } func (tnc *TNC) Dial(targetcall string) (net.Conn, error) { if tnc.closed { return nil, ErrTNCClosed } if err := tnc.arqCall(targetcall, 10); err != nil { return nil, err } mycall, err := tnc.MyCall() if err != nil { return nil, fmt.Errorf("Error when getting mycall: %s", err) } tnc.data = &tncConn{ remoteAddr: Addr{targetcall}, localAddr: Addr{mycall}, ctrlOut: tnc.out, dataOut: tnc.dataOut, ctrlIn: tnc.in, dataIn: tnc.dataIn, eofChan: make(chan struct{}), isTCP: tnc.isTCP, } return tnc.data, nil } wl2k-go-0.9.0/transport/ardop2/frame.go000066400000000000000000000053261414214701500176530ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import ( "bufio" "encoding/binary" "errors" "fmt" "io" "regexp" ) type frame interface{} type dFrame struct { dataType string data []byte } func (f dFrame) ARQFrame() bool { return f.dataType == "ARQ" } func (f dFrame) FECFrame() bool { return f.dataType == "FEC" } func (f dFrame) ErrFrame() bool { return f.dataType == "ERR" } func (f dFrame) IDFrame() bool { return f.dataType == "IDF" } type cmdFrame string func (f cmdFrame) Parsed() ctrlMsg { return parseCtrlMsg(string(f)) } func writeCtrlFrame(isTCP bool, w io.Writer, format string, params ...interface{}) error { var prefix string if !isTCP { prefix = "C:" } payload := fmt.Sprintf(format+"\r", params...) _, err := fmt.Fprint(w, prefix+payload) if !isTCP && err == nil { sum := crc16Sum([]byte(payload)) err = binary.Write(w, binary.BigEndian, sum) } return err } func readFrameOfType(fType byte, reader *bufio.Reader, isTCP bool) (frame, error) { var err error var data []byte switch fType { case '*': // !isTCP fType, err = reader.ReadByte() if err != nil { return nil, err } reader.ReadByte() // Discard ';'. (TODO: Use reader.Discard(1) when we drop support for Go <= 1.4). return readFrameOfType(fType, reader, isTCP) case 'c': data, err = reader.ReadBytes('\r') case 'd': // Peek length peeked, err := reader.Peek(2) if err != nil { return nil, err } length := binary.BigEndian.Uint16(peeked) + 2 // +2 to include the length bytes // actual data data = make([]byte, length) var n int for read := 0; read < int(length) && err == nil; { n, err = reader.Read(data[read:]) read += n } default: return nil, fmt.Errorf("Unexpected frame type %c", fType) } if err != nil { return nil, err } // Verify CRC sums if !isTCP { sumBytes := make([]byte, 2) reader.Read(sumBytes) crc := binary.BigEndian.Uint16(sumBytes) if crc16Sum(data) != crc { return nil, ErrChecksumMismatch } } switch fType { case 'c': data = data[:len(data)-1] // Trim \r return cmdFrame(string(data)), nil case 'd': return dFrame{dataType: string(data[2:5]), data: data[5:]}, nil default: panic("not possible") } } // Data example: " LA5NTA:[JP20QE] " var reID = regexp.MustCompile(`(\w+)[:\s]*\[(\w+)\]`) func parseIDFrame(df dFrame) (callsign, gridsquare string, err error) { if !df.IDFrame() { return "", "", errors.New("Unexpected frame type") } matches := reID.FindSubmatch(df.data) if len(matches) != 3 { return "", "", errors.New("Unexpected ID format") } return string(matches[1]), string(matches[2]), nil } wl2k-go-0.9.0/transport/ardop2/frame_test.go000066400000000000000000000020721414214701500207050ustar00rootroot00000000000000package ardop2 import "testing" func TestParseIDFrame(t *testing.T) { type test struct { dFrame call string grid string } tests := []test{ { // Format from early versions of ARDOP_Win dFrame{dataType: `IDF`, data: []byte(` ID LA5NTA:[JP20QE] `)}, "LA5NTA", "JP20QE", }, { // Format from ardopc dFrame{dataType: `IDF`, data: []byte(` LA5NTA:[JP20QE] `)}, "LA5NTA", "JP20QE", }, { // Format from HB9AK (BPQ32 and ARDOP_Win 1.0?) dFrame{dataType: `IDF`, data: []byte(`ID:HB9AK [JN36pv]:`)}, "HB9AK", "JN36pv", }, { // Not actually seen dFrame{dataType: `IDF`, data: []byte(` LA1B:::[JP20QE] `)}, "LA1B", "JP20QE", }, { // Not actually seen dFrame{dataType: `IDF`, data: []byte(`ABC1DEF[JP20QE]`)}, "ABC1DEF", "JP20QE", }, } for i, test := range tests { call, loc, err := parseIDFrame(test.dFrame) if err != nil { t.Errorf("%d, Unexpected parse error: %s", i, err) } if call != test.call { t.Errorf("Unexpected call: %s", call) } if loc != test.grid { t.Errorf("Unexpected locator: %s", loc) } } } wl2k-go-0.9.0/transport/ardop2/listen.go000066400000000000000000000045561414214701500200630ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import ( "fmt" "io" "net" ) type listener struct { incoming <-chan net.Conn quit chan struct{} errors <-chan error addr Addr } func (l listener) Accept() (c net.Conn, err error) { select { case c, ok := <-l.incoming: if !ok { return nil, io.EOF } return c, nil case err = <-l.errors: return nil, err } } func (l listener) Addr() net.Addr { return l.addr } func (l listener) Close() error { close(l.quit) return nil } func (tnc *TNC) Listen() (ln net.Listener, err error) { if tnc.closed { return nil, ErrTNCClosed } if tnc.listenerActive { return nil, ErrActiveListenerExists } tnc.listenerActive = true incoming := make(chan net.Conn) quit := make(chan struct{}) errors := make(chan error) mycall, err := tnc.MyCall() if err != nil { return nil, fmt.Errorf("Unable to get mycall: %s", err) } if err := tnc.SetListenEnabled(true); err != nil { return nil, fmt.Errorf("TNC failed to enable listening: %s", err) } go func() { defer func() { close(incoming) // Important to close this first! close(errors) tnc.listenerActive = false }() msgListener := tnc.in.Listen() defer msgListener.Close() msgs := msgListener.Msgs() var remotecall, targetcall string for { select { case <-quit: tnc.SetListenEnabled(false) // Should return this in listener.Close() errors <- fmt.Errorf("Closed") return case msg, ok := <-msgs: switch { case !ok: errors <- ErrTNCClosed return case msg.cmd == cmdCancelPending: remotecall, targetcall = "", "" case msg.cmd == cmdConnected: remotecall = msg.value.([]string)[0] case msg.cmd == cmdTarget: targetcall = msg.String() } if len(remotecall) > 0 && len(targetcall) > 0 { tnc.data = &tncConn{ remoteAddr: Addr{remotecall}, localAddr: Addr{targetcall}, ctrlOut: tnc.out, dataOut: tnc.dataOut, ctrlIn: tnc.in, dataIn: tnc.dataIn, eofChan: make(chan struct{}), isTCP: tnc.isTCP, } tnc.connected = true incoming <- tnc.data remotecall, targetcall = "", "" } } } }() return listener{incoming, quit, errors, Addr{mycall}}, nil } wl2k-go-0.9.0/transport/ardop2/lock.go000066400000000000000000000021261414214701500175040ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import "sync" // Lock is like a sync.Mutex, except: // * Lock of locked is noop // * Unlock of unlocked is noop // * Wait() is used to block until Lock is unlocked. // The zero-value is an unlocked lock. type lock struct { mu sync.Mutex wait chan struct{} } // Locks if unlocked, noop otherwise. func (l *lock) Lock() { l.mu.Lock() defer l.mu.Unlock() if l.wait != nil { return // Already locked } l.wait = make(chan struct{}) } // Unlocks if locked, noop otherwise. func (l *lock) Unlock() { l.mu.Lock() defer l.mu.Unlock() if l.wait == nil { return // Already unlocked } close(l.wait) l.wait = nil } // Blocks until lock is released. Returns immediately if it's unlocked. func (l *lock) Wait() { <-l.WaitChan() } func (l *lock) WaitChan() <-chan struct{} { l.mu.Lock() wait := l.wait if l.wait == nil { wait = make(chan struct{}) close(wait) } l.mu.Unlock() return wait } wl2k-go-0.9.0/transport/ardop2/state_string.go000066400000000000000000000006531414214701500212650ustar00rootroot00000000000000// Code generated by "stringer -type=State ."; DO NOT EDIT. package ardop2 import "strconv" const _State_name = "UnknownOfflineDisconnectedISSIRSQuietFECSendFECReceive" var _State_index = [...]uint8{0, 7, 14, 26, 29, 32, 37, 44, 54} func (i State) String() string { if i >= State(len(_State_index)-1) { return "State(" + strconv.FormatInt(int64(i), 10) + ")" } return _State_name[_State_index[i]:_State_index[i+1]] } wl2k-go-0.9.0/transport/ardop2/tnc.go000066400000000000000000000352041414214701500173430ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ardop2 import ( "bufio" "errors" "fmt" "io" "log" "net" "runtime" "strings" "time" "github.com/la5nta/wl2k-go/transport" ) type TNC struct { ctrl io.ReadWriteCloser dataConn *net.TCPConn data *tncConn in broadcaster out chan<- string dataOut chan<- []byte dataIn chan []byte busy bool state State heard map[string]time.Time selfClose bool ptt transport.PTTController // CRC checksum of frames and frame type prefixes is not used over TCPIP isTCP bool connected bool listenerActive bool closed bool beacon *beacon } // OpenTCP opens and initializes an ardop TNC over TCP. func OpenTCP(addr string, mycall, gridSquare string) (*TNC, error) { ctrlConn, err := net.Dial(`tcp`, addr) if err != nil { return nil, err } dataAddr := string(append([]byte(addr[:len(addr)-1]), addr[len(addr)-1]+1)) // Oh no he didn't! raddr, _ := net.ResolveTCPAddr("tcp", dataAddr) dataConn, err := net.DialTCP(`tcp`, nil, raddr) if err != nil { return nil, err } tnc := newTNC(ctrlConn, dataConn) tnc.isTCP = true return tnc, open(tnc, mycall, gridSquare) } func newTNC(ctrl io.ReadWriteCloser, dataConn *net.TCPConn) *TNC { return &TNC{ in: newBroadcaster(), dataIn: make(chan []byte, 4096), ctrl: ctrl, dataConn: dataConn, heard: make(map[string]time.Time), } } // Open opens and initializes an ardop TNC. func Open(ctrl io.ReadWriteCloser, mycall, gridSquare string) (*TNC, error) { tnc := newTNC(ctrl, nil) return tnc, open(tnc, mycall, gridSquare) } func open(tnc *TNC, mycall, gridSquare string) error { if err := tnc.runControlLoop(); err == io.EOF { return ErrBusy } else if err != nil { return err } runtime.SetFinalizer(tnc, (*TNC).Close) if err := tnc.init(); err == io.EOF { return ErrBusy } else if err != nil { return fmt.Errorf("Failed to initialize TNC: %s", err) } if err := tnc.SetMycall(mycall); err != nil { return fmt.Errorf("Set my call failed: %s", err) } if err := tnc.SetGridSquare(gridSquare); err != nil { return fmt.Errorf("Set grid square failed: %s", err) } tnc.beacon = initBeacon(tnc) return nil } // Set the PTT that should be controlled by the TNC. // // If nil, the PTT request from the TNC is ignored. func (tnc *TNC) SetPTT(ptt transport.PTTController) { tnc.ptt = ptt } func (tnc *TNC) init() (err error) { if err = tnc.set(cmdInitialize, nil); err != nil { return err } tnc.state, err = tnc.getState() if err != nil { return err } if tnc.state == Offline { if err = tnc.SetCodec(true); err != nil { return fmt.Errorf("Enable codec failed: %s", err) } } if err = tnc.set(cmdProtocolMode, ModeARQ); err != nil { return fmt.Errorf("Set protocol mode ARQ failed: %s", err) } if err = tnc.SetARQTimeout(DefaultARQTimeout); err != nil { return fmt.Errorf("Set ARQ timeout failed: %s", err) } // Not yet implemented by TNC /*if err = tnc.SetAutoBreak(true); err != nil { return fmt.Errorf("Enable autobreak failed: %s", err) }*/ // The TNC should only answer inbound ARQ connect requests when // requested by the user. if err = tnc.SetListenEnabled(false); err != nil { return fmt.Errorf("Disable listen failed: %s", err) } return nil } func decodeTNCStream(fType byte, rd *bufio.Reader, isTCP bool, frames chan<- frame, errors chan<- error) { for { frame, err := readFrameOfType(fType, rd, isTCP) if err != nil { errors <- err } else { frames <- frame } if err == io.EOF { break } } } func (tnc *TNC) runControlLoop() error { rd := bufio.NewReader(tnc.ctrl) // Multiplex the possible TNC->HOST streams (TCP needs two streams) into a single channel of frames frames := make(chan frame) errors := make(chan error) if tnc.isTCP { go decodeTNCStream('c', rd, tnc.isTCP, frames, errors) go decodeTNCStream('d', bufio.NewReader(tnc.dataConn), tnc.isTCP, frames, errors) } else { go decodeTNCStream('*', rd, false, frames, errors) } go func() { for { // Handle incoming TNC data var frame frame var err error select { case frame = <-frames: case err = <-errors: } if _, ok := err.(*net.OpError); err == io.EOF || ok { break } else if err != nil { if debugEnabled() { log.Printf("Error reading frame: %s", err) } continue } if debugEnabled() { log.Println("frame", frame) } if d, ok := frame.(dFrame); ok { switch { case d.ARQFrame(): if !tnc.connected { // ARDOPc is sending non-ARQ data as ARQ frames when not connected continue } select { case tnc.dataIn <- d.data: case <-time.After(time.Minute): go tnc.Disconnect() // Buffer full and timeout } case d.IDFrame(): call, _, err := parseIDFrame(d) if err == nil { tnc.heard[call] = time.Now() } else if debugEnabled() { log.Println(err) } } } line, ok := frame.(cmdFrame) if !ok { continue } msg := line.Parsed() switch msg.cmd { case cmdPTT: if tnc.ptt != nil { tnc.ptt.SetPTT(msg.Bool()) } case cmdDisconnected: tnc.state = Disconnected tnc.eof() case cmdBuffer: tnc.data.updateBuffer(msg.value.(int)) case cmdNewState: tnc.state = msg.State() // Close ongoing connections if the new state is Disconnected if msg.State() == Disconnected { tnc.eof() } case cmdBusy: tnc.busy = msg.value.(bool) } if debugEnabled() { log.Printf("<-- %s\t[%#v]", line, msg) } tnc.in.Send(msg) } tnc.close() }() out := make(chan string) dataOut := make(chan []byte) tnc.out = out tnc.dataOut = dataOut go func() { for { select { case str, ok := <-out: if !ok { return } if debugEnabled() { log.Println("-->", str) } if err := writeCtrlFrame(tnc.isTCP, tnc.ctrl, str); err != nil { if debugEnabled() { log.Println(err) } return // The TNC connection was closed (most likely). } case data, ok := <-dataOut: if !ok { return } var err error if tnc.dataConn != nil { _, err = tnc.dataConn.Write(data) } else { _, err = tnc.ctrl.Write(data) } if err != nil { panic(err) //FIXME } } } }() return nil } func (tnc *TNC) eof() { if tnc.data != nil { close(tnc.dataIn) // Signals EOF to pending reads tnc.data.signalClosed() // Signals EOF to pending writes tnc.connected = false // connect() is responsible for setting it to true tnc.dataIn = make(chan []byte, 4096) tnc.data = nil } } // Ping checks the TNC connection for errors func (tnc *TNC) Ping() error { if tnc.closed { return ErrTNCClosed } _, err := tnc.getString(cmdVersion) return err } // Closes the connection to the TNC (and any on-going connections). func (tnc *TNC) Close() error { if tnc.closed { return nil } if err := tnc.SetListenEnabled(false); err != nil { return err } if err := tnc.Disconnect(); err != nil { // Noop if idle return err } tnc.close() return nil } func (tnc *TNC) close() { if tnc.closed { return } tnc.closed = true // bug(martinhpedersen): Data race in tnc.Close can cause panic on duplicate calls tnc.beacon.Close() tnc.eof() tnc.ctrl.Close() tnc.in.Close() // TODO: This may panic due to the race mentioned above. Consider using a mutex to guard tnc.closed. close(tnc.out) close(tnc.dataOut) // no need for a finalizer anymore runtime.SetFinalizer(tnc, nil) } // Returns true if channel is clear func (tnc *TNC) Busy() bool { return tnc.busy } // Version returns the software version of the TNC func (tnc *TNC) Version() (string, error) { return tnc.getString(cmdVersion) } // Returns the current state of the TNC func (tnc *TNC) State() State { return tnc.state } // Returns the grid square as reported by the TNC func (tnc *TNC) GridSquare() (string, error) { return tnc.getString(cmdGridSquare) } // Returns mycall as reported by the TNC func (tnc *TNC) MyCall() (string, error) { return tnc.getString(cmdMyCall) } // Autobreak returns wether or not automatic link turnover is enabled. func (tnc *TNC) AutoBreak() (bool, error) { return tnc.getBool(cmdAutoBreak) } // SetAutoBreak Disables/enables automatic link turnover. func (tnc *TNC) SetAutoBreak(on bool) error { return tnc.set(cmdAutoBreak, on) } // Gets the ARQ bandwidth func (tnc *TNC) ARQBandwidth() (int, error) { return tnc.getInt(cmdARQBW) } // Sets the ARQ bandwidth func (tnc *TNC) SetARQBandwidth(bw int) error { return tnc.set(cmdARQBW, bw) } // If negotiate bandwidth flag is set, peer bandwidths other than the // ARQBandwidth() are acceptable func (tnc *TNC) NegotiateBandwidth() (bool, error) { return tnc.getBool(cmdNegotiateBW) } // Enable or disable bandwidth negotiation func (tnc *TNC) SetNegotiateBandwidth(negotiate bool) error { return tnc.set(cmdNegotiateBW, negotiate) } // Sets the ARQ timeout func (tnc *TNC) SetARQTimeout(d time.Duration) error { return tnc.set(cmdARQTimeout, int(d/time.Second)) } // Gets the ARQ timeout func (tnc *TNC) ARQTimeout() (time.Duration, error) { seconds, err := tnc.getInt(cmdARQTimeout) return time.Duration(seconds) * time.Second, err } // Sets the grid square func (tnc *TNC) SetGridSquare(gs string) error { return tnc.set(cmdGridSquare, gs) } // SetMycall sets the provided callsign as the main callsign for the TNC func (tnc *TNC) SetMycall(mycall string) error { return tnc.set(cmdMyCall, mycall) } // SetCWID sets wether or not to send FSK CW ID after an ID frame. func (tnc *TNC) SetCWID(enabled bool) error { return tnc.set(cmdCWID, enabled) } // CWID reports wether or not the TNC will send FSK CW ID after an ID frame. func (tnc *TNC) CWID() (bool, error) { return tnc.getBool(cmdCWID) } // SendID will send an ID frame // // If CWID is enabled the ID frame will be followed by a FSK CW ID. func (tnc *TNC) SendID() error { return tnc.set(cmdSendID, nil) } type beacon struct { reset chan time.Duration close chan struct{} } func (b *beacon) Reset(d time.Duration) { b.reset <- d } func (b *beacon) Close() { if b == nil { return } select { case b.close <- struct{}{}: default: } } func initBeacon(tnc *TNC) *beacon { b := &beacon{reset: make(chan time.Duration, 1), close: make(chan struct{}, 1)} go func() { t := time.NewTimer(10) t.Stop() var d time.Duration for { select { case <-b.close: t.Stop() return case d = <-b.reset: t.Stop() case <-t.C: if tnc.Idle() { tnc.SendID() } } if d > 0 { t.Reset(d) } } }() return b } // BeaconEvery starts a goroutine that sends an ID frame (SendID) at the regular interval d // // The gorutine will be closed on Close() or if d equals 0. func (tnc *TNC) BeaconEvery(d time.Duration) error { tnc.beacon.Reset(d); return nil } // Sets the auxiliary call signs that the TNC should answer to on incoming connections. func (tnc *TNC) SetAuxiliaryCalls(calls []string) (err error) { return tnc.set(cmdMyAux, strings.Join(calls, ", ")) } // Enable/disable sound card and other resources // // This is done automatically on Open(), users should // normally don't do this. func (tnc *TNC) SetCodec(state bool) error { return tnc.set(cmdCodec, fmt.Sprintf("%t", state)) } // ListenState() returns a StateReceiver which can be used to get notification when the TNC state changes. func (tnc *TNC) ListenEnabled() StateReceiver { return tnc.in.ListenState() } // Heard returns all stations heard by the TNC since it was opened. // // The returned map is a map from callsign to last time the station was heard. func (tnc *TNC) Heard() map[string]time.Time { return tnc.heard } // Enable/disable TNC response to an ARQ connect request. // // This is disabled automatically on Open(), and enabled // when needed. Users should normally don't do this. func (tnc *TNC) SetListenEnabled(listen bool) error { return tnc.set(cmdListen, fmt.Sprintf("%t", listen)) } // Disconnect gracefully disconnects the active connection or cancels an ongoing connect. // // The method will block until the TNC is disconnected. // // If the TNC is not connecting/connected, Disconnect is // a noop. func (tnc *TNC) Disconnect() error { if tnc.Idle() { return nil } tnc.eof() r := tnc.in.Listen() defer r.Close() tnc.out <- fmt.Sprintf("%s", cmdDisconnect) for msg := range r.Msgs() { if msg.cmd == cmdDisconnected { return nil } } return ErrTNCClosed } // Idle returns true if the TNC is not in a connecting or connected state. func (tnc *TNC) Idle() bool { return tnc.state == Disconnected || tnc.state == Offline } // Abort immediately aborts an ARQ Connection or a FEC Send session. func (tnc *TNC) Abort() error { return tnc.set(cmdAbort, nil) } func (tnc *TNC) getState() (State, error) { v, err := tnc.get(cmdState) if err != nil { return Offline, nil } return v.(State), nil } // Sends a connect command to the TNC. Users should call Dial(). func (tnc *TNC) arqCall(targetcall string, repeat int) error { if !tnc.Idle() { return ErrConnectInProgress } r := tnc.in.Listen() defer r.Close() tnc.out <- fmt.Sprintf("%s %s %d", cmdARQCall, targetcall, repeat) for msg := range r.Msgs() { switch msg.cmd { case cmdFault: return fmt.Errorf(msg.String()) case cmdRejBW: return ErrRejectedBandwidth case cmdRejBusy: return ErrRejectedBusy case cmdNewState: if tnc.state == Disconnected { return ErrConnectTimeout } case cmdConnected: // TODO: Probably not what we should look for tnc.connected = true return nil } } return ErrTNCClosed } func (tnc *TNC) set(cmd command, param interface{}) (err error) { if tnc.closed { return ErrTNCClosed } r := tnc.in.Listen() defer r.Close() if param != nil { tnc.out <- fmt.Sprintf("%s %v", cmd, param) } else { tnc.out <- string(cmd) } for msg := range r.Msgs() { if msg.cmd == cmd { return } else if msg.cmd == cmdFault { return errors.New(msg.String()) } } return ErrTNCClosed } func (tnc *TNC) getString(cmd command) (string, error) { v, err := tnc.get(cmd) if err != nil { return "", nil } return v.(string), nil } func (tnc *TNC) getBool(cmd command) (bool, error) { v, err := tnc.get(cmd) if err != nil { return false, nil } return v.(bool), nil } func (tnc *TNC) getInt(cmd command) (int, error) { v, err := tnc.get(cmd) if err != nil { return 0, err } return v.(int), nil } func (tnc *TNC) get(cmd command) (interface{}, error) { if tnc.closed { return nil, ErrTNCClosed } r := tnc.in.Listen() defer r.Close() tnc.out <- string(cmd) for msg := range r.Msgs() { switch msg.cmd { case cmd: return msg.value, nil case cmdFault: return nil, errors.New(msg.String()) } } return nil, ErrTNCClosed } wl2k-go-0.9.0/transport/ax25/000077500000000000000000000000001414214701500156145ustar00rootroot00000000000000wl2k-go-0.9.0/transport/ax25/ax25.go000066400000000000000000000070351414214701500167270ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package ax25 provides a net.Conn and net.Listener interfaces for AX.25. // // Supported TNCs // // This package currently implements interfaces for Linux' AX.25 stack and Tasco-like TNCs (Kenwood transceivers). // // Build tags // // The Linux AX.25 stack bindings are guarded by some custom build tags: // // libax25 // Include support for Linux' AX.25 stack by linking against libax25. // static // Link against static libraries only. // package ax25 import ( "bytes" "errors" "fmt" "io" "net" "strconv" "strings" "time" "github.com/la5nta/wl2k-go/transport" ) const ( // DefaultSerialBaud is the default serial_baud value of the serial-tnc scheme. DefaultSerialBaud = 9600 ) const _NETWORK = "AX.25" var DefaultDialer = &Dialer{Timeout: 45 * time.Second} func init() { transport.RegisterDialer("ax25", DefaultDialer) transport.RegisterDialer("serial-tnc", DefaultDialer) } type addr interface { Address() Address // Callsign Digis() []Address // Digipeaters } type AX25Addr struct{ addr } func (a AX25Addr) Network() string { return _NETWORK } func (a AX25Addr) String() string { var buf bytes.Buffer fmt.Fprint(&buf, a.Address()) if len(a.Digis()) > 0 { fmt.Fprint(&buf, " via") } for _, digi := range a.Digis() { fmt.Fprintf(&buf, " %s", digi) } return buf.String() } type Address struct { Call string SSID uint8 } type Conn struct { io.ReadWriteCloser localAddr AX25Addr remoteAddr AX25Addr } func (c *Conn) LocalAddr() net.Addr { if !c.ok() { return nil } return c.localAddr } func (c *Conn) RemoteAddr() net.Addr { if !c.ok() { return nil } return c.remoteAddr } func (c *Conn) ok() bool { return c != nil } func (c *Conn) SetDeadline(t time.Time) error { return errors.New(`SetDeadline not implemented`) } func (c *Conn) SetReadDeadline(t time.Time) error { return errors.New(`SetReadDeadline not implemented`) } func (c *Conn) SetWriteDeadline(t time.Time) error { return errors.New(`SetWriteDeadline not implemented`) } type Beacon interface { Now() error Every(d time.Duration) error LocalAddr() net.Addr RemoteAddr() net.Addr Message() string } type Dialer struct { Timeout time.Duration } func (d Dialer) DialURL(url *transport.URL) (net.Conn, error) { target := url.Target if len(url.Digis) > 0 { target = fmt.Sprintf("%s via %s", target, strings.Join(url.Digis, " ")) } switch url.Scheme { case "ax25": return DialAX25Timeout(url.Host, url.User.Username(), target, d.Timeout) case "serial-tnc": // TODO: This is some badly designed legacy stuff. Need to re-think the whole // serial-tnc scheme. See issue #34. hbaud := HBaud(1200) if i, _ := strconv.Atoi(url.Params.Get("hbaud")); i > 0 { hbaud = HBaud(i) } serialBaud := DefaultSerialBaud if i, _ := strconv.Atoi(url.Params.Get("serial_baud")); i > 0 { serialBaud = i } return DialKenwood( url.Host, url.User.Username(), target, NewConfig(hbaud, serialBaud), nil, ) default: return nil, transport.ErrUnsupportedScheme } } func AddressFromString(str string) Address { parts := strings.Split(str, "-") addr := Address{Call: parts[0]} if len(parts) > 1 { ssid, err := strconv.ParseInt(parts[1], 10, 32) if err == nil && ssid >= 0 && ssid <= 255 { addr.SSID = uint8(ssid) } } return addr } func (a Address) String() string { if a.SSID > 0 { return fmt.Sprintf("%s-%d", a.Call, a.SSID) } else { return a.Call } } wl2k-go-0.9.0/transport/ax25/ax25_linux.go000066400000000000000000000236251414214701500201510ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build libax25 package ax25 /* #include #include #include #include #include */ import "C" import ( "errors" "fmt" "io" "net" "os" "syscall" "time" "unsafe" ) type ax25Addr C.struct_full_sockaddr_ax25 var numAXPorts int // bug(martinhpedersen): The AX.25 stack does not support SOCK_STREAM, so any write to the connection // that is larger than maximum packet length will fail. The b2f impl. requires 125 bytes long packets. var ErrMessageTooLong = errors.New("Write: Message too long. Consider increasing maximum packet length to >= 125.") var ErrPortNotExist = errors.New("No such AX port found") type fd uintptr type ax25Listener struct { sock fd localAddr AX25Addr close chan struct{} } func portExists(port string) bool { return C.ax25_config_get_dev(C.CString(port)) != nil } func loadPorts() (int, error) { if numAXPorts > 0 { return numAXPorts, nil } n, err := C.ax25_config_load_ports() if err != nil { return int(n), err } else if n == 0 { return 0, fmt.Errorf("No AX.25 ports configured") } numAXPorts = int(n) return numAXPorts, err } func checkPort(axPort string) error { if axPort == "" { return errors.New("Invalid empty axport") } if _, err := loadPorts(); err != nil { return err } if !portExists(axPort) { return ErrPortNotExist } return nil } // Addr returns the listener's network address, an AX25Addr. func (ln ax25Listener) Addr() net.Addr { return ln.localAddr } // Close stops listening on the AX.25 port. Already Accepted connections are not closed. func (ln ax25Listener) Close() error { close(ln.close); return ln.sock.close() } // Accept waits for the next call and returns a generic Conn. // // See net.Listener for more information. func (ln ax25Listener) Accept() (net.Conn, error) { err := ln.sock.waitRead(ln.close) if err != nil { return nil, err } nfd, addr, err := ln.sock.accept() if err != nil { return nil, err } conn := &Conn{ localAddr: ln.localAddr, remoteAddr: AX25Addr{addr}, ReadWriteCloser: os.NewFile(uintptr(nfd), ""), } return conn, nil } // ListenAX25 announces on the local port axPort using mycall as the local address. // // An error will be returned if axPort is empty. func ListenAX25(axPort, mycall string) (net.Listener, error) { if err := checkPort(axPort); err != nil { return nil, err } // Setup local address (via callsign of supplied axPort) localAddr := newAX25Addr(mycall) if err := localAddr.setPort(axPort); err != nil { return nil, err } // Create file descriptor var socket fd if f, err := syscall.Socket(syscall.AF_AX25, syscall.SOCK_SEQPACKET, 0); err != nil { return nil, err } else { socket = fd(f) } if err := socket.bind(localAddr); err != nil { return nil, err } if err := syscall.Listen(int(socket), syscall.SOMAXCONN); err != nil { return nil, err } return ax25Listener{ sock: fd(socket), localAddr: AX25Addr{localAddr}, close: make(chan struct{}), }, nil } // DialAX25Timeout acts like DialAX25 but takes a timeout. func DialAX25Timeout(axPort, mycall, targetcall string, timeout time.Duration) (*Conn, error) { if err := checkPort(axPort); err != nil { return nil, err } // Setup local address (via callsign of supplied axPort) localAddr := newAX25Addr(mycall) if err := localAddr.setPort(axPort); err != nil { return nil, err } remoteAddr := newAX25Addr(targetcall) // Create file descriptor var socket fd if f, err := syscall.Socket(syscall.AF_AX25, syscall.SOCK_SEQPACKET, 0); err != nil { return nil, err } else { socket = fd(f) } // Bind if err := socket.bind(localAddr); err != nil { return nil, err } // Connect err := socket.connectTimeout(remoteAddr, timeout) if err != nil { socket.close() return nil, err } return &Conn{ ReadWriteCloser: os.NewFile(uintptr(socket), axPort), localAddr: AX25Addr{localAddr}, remoteAddr: AX25Addr{remoteAddr}, }, nil } func (c *Conn) Close() error { if !c.ok() { return syscall.EINVAL } return c.ReadWriteCloser.Close() } func (c *Conn) Write(p []byte) (n int, err error) { if !c.ok() { return 0, syscall.EINVAL } n, err = c.ReadWriteCloser.Write(p) perr, ok := err.(*os.PathError) if !ok { return } switch perr.Err.Error() { case "message too long": return n, ErrMessageTooLong default: return } } func (c *Conn) Read(p []byte) (n int, err error) { if !c.ok() { return 0, syscall.EINVAL } n, err = c.ReadWriteCloser.Read(p) perr, ok := err.(*os.PathError) if !ok { return } //TODO: These errors should not be checked using string comparison! // The weird error handling here is needed because of how the *os.File treats // the underlying fd. This should be fixed the same way as net.FileConn does. switch perr.Err.Error() { case "transport endpoint is not connected": // We get this error when the remote hangs up return n, io.EOF default: return } } // DialAX25 connects to the remote station targetcall using the named axport and mycall. // // An error will be returned if axPort is empty. func DialAX25(axPort, mycall, targetcall string) (*Conn, error) { return DialAX25Timeout(axPort, mycall, targetcall, 0) } func (sock fd) connectTimeout(addr ax25Addr, timeout time.Duration) (err error) { if timeout == 0 { return sock.connect(addr) } if err = syscall.SetNonblock(int(sock), true); err != nil { return err } err = sock.connect(addr) if err == nil { return nil // Connected } else if err != syscall.EINPROGRESS { return err } fdset := new(syscall.FdSet) maxFd := fdSet(fdset, int(sock)) // Wait or timeout var n int var tv syscall.Timeval for { tv = syscall.NsecToTimeval(int64(timeout)) n, err = syscall.Select(maxFd+1, nil, fdset, nil, &tv) if n < 0 && err != syscall.EINTR { sock.close() return err } else if n > 0 { // Verify that connection is OK nerr, err := syscall.GetsockoptInt(int(sock), syscall.SOL_SOCKET, syscall.SO_ERROR) if err != nil { sock.close() return err } err = syscall.Errno(nerr) if nerr != 0 && err != syscall.EINPROGRESS && err != syscall.EALREADY && err != syscall.EINTR { sock.close() return err } else { break // Connected } } else { sock.close() return fmt.Errorf("Dial timeout") } } syscall.SetNonblock(int(sock), false) return } // waitRead blocks until the socket is ready for read or the call is canceled // // The error syscall.EINVAL is returned if the cancel channel is closed, indicating // that the socket is being closed by another thread. func (sock fd) waitRead(cancel <-chan struct{}) error { pr, pw, err := os.Pipe() if err != nil { return err } done := make(chan struct{}) go func() { select { case <-cancel: pw.Write([]byte("\n")) case <-done: return } }() defer func() { close(done); pw.Close() }() fdset := new(syscall.FdSet) maxFd := fdSet(fdset, int(sock), int(pr.Fd())) syscall.SetNonblock(int(sock), true) defer func() { syscall.SetNonblock(int(sock), false) }() var n int for { n, err = syscall.Select(maxFd+1, fdset, nil, nil, nil) if n < 0 || err != nil { return err } if fdIsSet(fdset, int(sock)) { break // sock is ready for read } else { return syscall.EINVAL } } return nil } func (sock fd) close() error { return syscall.Close(int(sock)) } func (sock fd) accept() (nfd fd, addr ax25Addr, err error) { addrLen := C.socklen_t(unsafe.Sizeof(addr)) n, err := C.accept( C.int(sock), (*C.struct_sockaddr)(unsafe.Pointer(&addr)), &addrLen) if addrLen != C.socklen_t(unsafe.Sizeof(addr)) { panic("unexpected socklet_t") } return fd(n), addr, err } func (sock fd) connect(addr ax25Addr) (err error) { _, err = C.connect( C.int(sock), (*C.struct_sockaddr)(unsafe.Pointer(&addr)), C.socklen_t(unsafe.Sizeof(addr))) return } func (sock fd) bind(addr ax25Addr) (err error) { _, err = C.bind( C.int(sock), (*C.struct_sockaddr)(unsafe.Pointer(&addr)), C.socklen_t(unsafe.Sizeof(addr))) return } type ax25_address *C.ax25_address func (a ax25Addr) Address() Address { return AddressFromString( C.GoString(C.ax25_ntoa(a.ax25_address())), ) } func (a ax25Addr) Digis() []Address { digis := make([]Address, a.numDigis()) for i, digi := range a.digis() { digis[i] = AddressFromString(C.GoString(C.ax25_ntoa(digi))) } return digis } func (a *ax25Addr) numDigis() int { return int(a.fsa_ax25.sax25_ndigis) } func (a *ax25Addr) digis() []ax25_address { digis := make([]ax25_address, a.numDigis()) for i, _ := range digis { digis[i] = (*C.ax25_address)(unsafe.Pointer(&a.fsa_digipeater[i])) } return digis } func (a *ax25Addr) ax25_address() ax25_address { return (*C.ax25_address)(unsafe.Pointer(&a.fsa_ax25.sax25_call.ax25_call)) } func (a *ax25Addr) setPort(port string) (err error) { C.ax25_aton_entry( C.ax25_config_get_addr(C.CString(port)), &a.fsa_digipeater[0].ax25_call[0], ) a.fsa_ax25.sax25_ndigis = 1 return } func newAX25Addr(address string) ax25Addr { var addr C.struct_full_sockaddr_ax25 if C.ax25_aton(C.CString(address), &addr) < 0 { panic("ax25_aton") } addr.fsa_ax25.sax25_family = syscall.AF_AX25 return ax25Addr(addr) } func fdSet(p *syscall.FdSet, fd ...int) (max int) { // Shamelessly stolen from src/pkg/exp/inotify/inotify_linux.go: // // Create fdSet, taking into consideration that // 64-bit OS uses Bits: [16]int64, while 32-bit OS uses Bits: [32]int32. // This only support File Descriptors up to 1024 // fElemSize := 32 * 32 / len(p.Bits) for _, i := range fd { if i > 1024 { panic(fmt.Errorf("fdSet: File Descriptor >= 1024: %v", i)) } if i > max { max = i } p.Bits[i/fElemSize] |= 1 << uint(i%fElemSize) } return max } func fdIsSet(p *syscall.FdSet, i int) bool { fElemSize := 32 * 32 / len(p.Bits) return p.Bits[i/fElemSize]&(1< import "C" import ( "fmt" "net" "syscall" "time" "unsafe" ) func NewAX25Beacon(axPort, mycall, dest, message string) (Beacon, error) { if err := checkPort(axPort); err != nil { return nil, err } localAddr := newAX25Addr(mycall) if err := localAddr.setPort(axPort); err != nil { return nil, err } remoteAddr := newAX25Addr(dest) return &ax25Beacon{localAddr, remoteAddr, message}, nil } type ax25Beacon struct { localAddr ax25Addr remoteAddr ax25Addr message string } func (b *ax25Beacon) Message() string { return b.message } func (b *ax25Beacon) LocalAddr() net.Addr { return AX25Addr{b.localAddr} } func (b *ax25Beacon) RemoteAddr() net.Addr { return AX25Addr{b.remoteAddr} } func (b *ax25Beacon) Every(d time.Duration) error { for { if err := b.Now(); err != nil { return err } time.Sleep(d) } } func (b *ax25Beacon) Now() error { // Create file descriptor //REVIEW: Should we keep it for next beacon? var socket fd if f, err := syscall.Socket(syscall.AF_AX25, syscall.SOCK_DGRAM, 0); err != nil { return err } else { socket = fd(f) } defer socket.close() if err := socket.bind(b.localAddr); err != nil { return fmt.Errorf("bind: %s", err) } msg := C.CString(b.message) _, err := C.sendto( C.int(socket), unsafe.Pointer(msg), C.size_t(len(b.message)), 0, (*C.struct_sockaddr)(unsafe.Pointer(&b.remoteAddr)), C.socklen_t(unsafe.Sizeof(b.remoteAddr)), ) return err } wl2k-go-0.9.0/transport/ax25/beacon_other.go000066400000000000000000000004651414214701500206000ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build !libax25 package ax25 func NewAX25Beacon(axPort, mycall, dest, message string) (Beacon, error) { return nil, ErrNoLibax25 } wl2k-go-0.9.0/transport/ax25/dynamic_linux.go000066400000000000000000000003741414214701500210120ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build libax25,!static package ax25 /* #cgo LDFLAGS: -lax25 */ import "C" wl2k-go-0.9.0/transport/ax25/heard_linux.go000066400000000000000000000025571414214701500204560ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build libax25 package ax25 //#include //#include //#include import "C" import ( "io" "os" "strings" "time" "unsafe" ) const MheardDataFile = "/var/ax25/mheard/mheard.dat" // Heard returns all stations heard via the given axport. // // This function parses the content of MhardDataFile which // is normally written by mheardd. The mheardd daemon must // be running on the system to record heard stations. func Heard(axPort string) (map[string]time.Time, error) { var mheard C.struct_mheard_struct f, err := os.Open(MheardDataFile) if err != nil { return nil, err } heard := make(map[string]time.Time) for { data := (*(*[999]byte)(unsafe.Pointer(&mheard)))[0:unsafe.Sizeof(mheard)] if _, err := f.Read(data); err == io.EOF { break } else if err != nil { return heard, err } port := C.GoString((*C.char)(unsafe.Pointer(&mheard.portname[0]))) if !strings.EqualFold(port, axPort) { continue } from := (*C.ax25_address)(unsafe.Pointer(&mheard.from_call)) fromAddr := AddressFromString(C.GoString(C.ax25_ntoa(from))) t := time.Unix(int64(mheard.last_heard), 0) heard[fromAddr.String()] = t } return heard, f.Close() } wl2k-go-0.9.0/transport/ax25/heard_other.go000066400000000000000000000004631414214701500204320ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // +build !libax25 package ax25 import "time" func Heard(axPort string) (map[string]time.Time, error) { return nil, ErrNoLibax25 } wl2k-go-0.9.0/transport/ax25/kenwood.go000066400000000000000000000075141414214701500176200ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ax25 import ( "fmt" "log" "net" "os" "strings" "syscall" "time" "github.com/albenik/go-serial/v2" "github.com/la5nta/wl2k-go/fbb" ) // KenwoodConn implements net.Conn using a // Kenwood (or similar) TNC in connected transparent mode. // // Tested with Kenwood TH-D72 and TM-D710 in "packet-mode". // // TODO: github.com/term/goserial does not support setting the // line flow control. Thus, KenwoodConn is not suitable for // sending messages > the TNC's internal buffer size. // // We should probably be using software flow control (XFLOW), // as hardware flow is not supported by many USB->RS232 adapters // including the adapter build into TH-D72 (at least, not using the // current linux kernel module. type KenwoodConn struct{ Conn } // Dial a packet node using a Kenwood (or similar) radio over serial func DialKenwood(dev, mycall, targetcall string, config Config, logger *log.Logger) (*KenwoodConn, error) { if logger == nil { logger = log.New(os.Stderr, "", log.LstdFlags) } localAddr, remoteAddr := tncAddrFromString(mycall), tncAddrFromString(targetcall) conn := &KenwoodConn{Conn{ localAddr: AX25Addr{localAddr}, remoteAddr: AX25Addr{remoteAddr}, }} if dev == "socket" { c, err := net.Dial("tcp", "127.0.0.1:8081") if err != nil { panic(err) } conn.Conn.ReadWriteCloser = c } else { s, err := serial.Open(dev, serial.WithBaudrate(config.SerialBaud)) if err != nil { return conn, err } else { conn.Conn.ReadWriteCloser = s } } conn.Write([]byte{3, 3, 3}) // ETX fmt.Fprint(conn, "\r\nrestart\r\n") for { line, _ := fbb.ReadLine(conn) if strings.HasPrefix(line, "cmd:") { fmt.Fprint(conn, "ECHO OFF\r") // Don't echo commands fmt.Fprint(conn, "FLOW OFF\r") fmt.Fprint(conn, "XFLOW ON\r") // Enable software flow control fmt.Fprint(conn, "LFIGNORE ON\r") // Ignore linefeed (\n) fmt.Fprint(conn, "AUTOLF OFF\r") // Don't auto-insert linefeed fmt.Fprint(conn, "CR ON\r") fmt.Fprint(conn, "8BITCONV ON\r") // Use 8-bit characters // Return to command mode if station of current I/O stream disconnects. fmt.Fprint(conn, "NEWMODE ON\r") time.Sleep(500 * time.Millisecond) fmt.Fprintf(conn, "MYCALL %s\r", mycall) fmt.Fprintf(conn, "HBAUD %d\r", config.HBaud) fmt.Fprintf(conn, "PACLEN %d\r", config.PacketLength) fmt.Fprintf(conn, "TXDELAY %d\r", config.TXDelay/_CONFIG_TXDELAY_UNIT) fmt.Fprintf(conn, "PERSIST %d\r", config.Persist) time.Sleep(500 * time.Millisecond) fmt.Fprintf(conn, "SLOTTIME %d\r", config.SlotTime/_CONFIG_SLOT_TIME_UNIT) fmt.Fprint(conn, "FULLDUP OFF\r") fmt.Fprintf(conn, "MAXFRAME %d\r", config.MaxFrame) fmt.Fprintf(conn, "FRACK %d\r", config.FRACK/_CONFIG_FRACK_UNIT) fmt.Fprintf(conn, "RESPTIME %d\r", config.ResponseTime/_CONFIG_RESPONSE_TIME_UNIT) fmt.Fprintf(conn, "NOMODE ON\r") break } } time.Sleep(2 * time.Second) fmt.Fprintf(conn, "\rc %s\r", targetcall) for { line, _ := fbb.ReadLine(conn) logger.Println(line) line = strings.TrimSpace(line) if strings.Contains(line, "*** CONNECTED to") { fmt.Fprint(conn, "TRANS\r\n") return conn, nil } else if strings.Contains(line, "*** DISCONNECTED") { logger.Fatal("got disconnect ", int(line[len(line)-1])) } } } func (c *KenwoodConn) Close() error { if !c.ok() { return syscall.EINVAL } // Exit TRANS mode time.Sleep(1 * time.Second) for i := 0; i < 3; i++ { c.Write([]byte{3}) // ETX time.Sleep(200 * time.Millisecond) } // Wait for prompt time.Sleep(1 * time.Second) // Disconnect fmt.Fprint(c, "\r\nD\r\n") for { line, _ := fbb.ReadLine(c) if strings.Contains(line, `DISCONN`) { log.Println(`Disconnected`) break } } return c.Conn.Close() } wl2k-go-0.9.0/transport/ax25/tnc.go000066400000000000000000000052121414214701500167270ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ax25 import ( "strings" "time" ) const ( B9600 HBaud = 9600 B1200 = 1200 ) const ( _CONFIG_TXDELAY_UNIT = time.Millisecond * 10 _CONFIG_SLOT_TIME_UNIT = time.Millisecond * 10 _CONFIG_FRACK_UNIT = time.Second _CONFIG_RESPONSE_TIME_UNIT = time.Millisecond * 100 ) type tncAddr struct { address Address digis []Address } func (a tncAddr) Digis() []Address { return a.digis } func (a tncAddr) Address() Address { return a.address } type HBaud int type Config struct { HBaud HBaud // Baudrate for packet channel [1200/9600]. SerialBaud int // Baudrate for the serial port. TXDelay time.Duration // Time delay between PTT ON and start of transmission [(0 - 120) * 10ms]. PacketLength uint8 // Maximum length of the data portion of a packet [0 - 255 bytes]. Persist uint8 // Parameter to calculate probability for the PERSIST/SLOTTIME method [0-255]. SlotTime time.Duration // Period of random number generation intervals for the PERSIST/SLOTTIME method [0-255 * 10ms]. MaxFrame uint8 // Maximum number of packets to be transmitted at one time. FRACK time.Duration // Interval from one transmission until retry of transmission [0-250 * 1s]. ResponseTime time.Duration // ACK-packet transmission delay [0-255 * 100ms]. } func NewConfig(hbaud HBaud, serialBaud int) Config { switch hbaud { case B1200: return Config{ HBaud: B1200, SerialBaud: serialBaud, TXDelay: 120 * time.Millisecond, PacketLength: 128, Persist: 128, SlotTime: 50 * time.Millisecond, MaxFrame: 6, FRACK: 5 * time.Second, ResponseTime: 100 * time.Millisecond, } case B9600: return Config{ HBaud: B9600, SerialBaud: serialBaud, TXDelay: 100 * time.Millisecond, PacketLength: 255, Persist: 190, SlotTime: 50 * time.Millisecond, MaxFrame: 6, // Everything but 1 is outside range on TH-D72 FRACK: 5 * time.Second, ResponseTime: 0 * time.Millisecond, } } return Config{} } // TODO:review and improve func tncAddrFromString(str string) tncAddr { parts := strings.Split(str, " ") addr := tncAddr{ address: AddressFromString(parts[0]), digis: make([]Address, 0), } if len(parts) < 3 || !(parts[1] == "via" || parts[1] == "v") { return addr } parts = parts[2:] // Parse digis for _, dpart := range parts { addr.digis = append(addr.digis, AddressFromString(dpart)) } return addr } wl2k-go-0.9.0/transport/ax25/tnc_test.go000066400000000000000000000010641414214701500177670ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package ax25 import "testing" func TestTncAddrFromString(t *testing.T) { tAddrParse(t, tncAddrFromString("LA5NTA-2 v LA1B-10"), "LA5NTA-2 via LA1B-10") tAddrParse(t, tncAddrFromString("LA5NTA"), "LA5NTA") } func tAddrParse(t *testing.T, a tncAddr, expect string) { ax25Addr := AX25Addr{a} if ax25Addr.String() != expect { t.Errorf("Expected '%s', got '%s'.", expect, ax25Addr) } } wl2k-go-0.9.0/transport/dial.go000066400000000000000000000026001414214701500162730ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package transport import ( "errors" "net" "sync" ) var ( ErrInvalidTarget = errors.New("Invalid or missing target callsign") ErrDigisUnsupported = errors.New("Digipeater path is not supported by this scheme") ErrMissingDialer = errors.New("No dialer has been registered for this scheme") ErrUnsupportedScheme = errors.New("Unsupported URL scheme") ) // DialURL calls the url.Scheme's Dialer. // // If the URL's scheme is not registered, ErrMissingDialer is returned. func DialURL(url *URL) (net.Conn, error) { dialers.mu.Lock() dialer, ok := dialers.m[url.Scheme] dialers.mu.Unlock() if ok { return dialer.DialURL(url) } return nil, ErrMissingDialer } var dialers struct { mu sync.Mutex m map[string]Dialer } // RigisterDialer registers a new scheme and it's Dialer. // // The list of registered dialers is used by DialURL. func RegisterDialer(scheme string, dialer Dialer) { dialers.mu.Lock() if dialers.m == nil { dialers.m = make(map[string]Dialer) } dialers.m[scheme] = dialer dialers.mu.Unlock() } // UnregisterDialer removes the given scheme's dialer from the list of dialers. func UnregisterDialer(scheme string) { dialers.mu.Lock() delete(dialers.m, scheme) dialers.mu.Unlock() } wl2k-go-0.9.0/transport/doc.go000066400000000000000000000005651414214701500161370ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package transport provides access to various connected modes common in amateur radio. // // The modes is made available through common interfaces and idioms from the net package. package transport wl2k-go-0.9.0/transport/interfaces.go000066400000000000000000000016101414214701500175050ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package transport import "net" type Flusher interface { // Flush flushes the transmit buffers of the underlying modem. Flush() error } type TxBuffer interface { // TransmitBufferLen returns the number of bytes in the out buffer queue. TxBufferLen() int } type Robust interface { // Enables/disables robust mode. SetRobust(r bool) error } // A BusyChannelChecker is a generic busy detector for a physical transmission medium. type BusyChannelChecker interface { // Returns true if the channel is not clear Busy() bool } type PTTController interface { SetPTT(on bool) error } // Dialer is implemented by transports that supports dialing a transport.URL. type Dialer interface { DialURL(url *URL) (net.Conn, error) } wl2k-go-0.9.0/transport/telnet/000077500000000000000000000000001414214701500163305ustar00rootroot00000000000000wl2k-go-0.9.0/transport/telnet/dial.go000066400000000000000000000050161414214701500175720ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package telnet provides a method of connecting to Winlink CMS over tcp ("telnet-mode") package telnet import ( "bufio" "fmt" "net" "strings" "time" "github.com/la5nta/wl2k-go/transport" ) const ( CMSTargetCall = "wl2k" CMSPassword = "CMSTelnet" CMSAddress = "server.winlink.org:8772" ) var DefaultDialer = &Dialer{Timeout: 30 * time.Second} func init() { transport.RegisterDialer("telnet", DefaultDialer) } // DialCMS dials a random CMS server through server.winlink.org. // // The function will retry 4 times before giving up and returning an error. func DialCMS(mycall string) (net.Conn, error) { var conn net.Conn var err error // Dial with retry, in case we hit an unavailable CMS. for i := 0; i < 4; i++ { conn, err = Dial(CMSAddress, mycall, CMSPassword) if err == nil { break } } return conn, err } // Dialer implements the transport.Dialer interface. type Dialer struct{ Timeout time.Duration } // DialURL dials telnet:// URLs // // The URL parameter dial_timeout can be used to set a custom dial timeout interval. E.g. "2m". func (d Dialer) DialURL(url *transport.URL) (net.Conn, error) { if url.Scheme != "telnet" { return nil, transport.ErrUnsupportedScheme } var user, pass string if url.User != nil { pass, _ = url.User.Password() user = url.User.Username() } timeout := d.Timeout if str := url.Params.Get("dial_timeout"); str != "" { dur, err := time.ParseDuration(str) if err != nil { return nil, fmt.Errorf("invalid dial_timeout value: %w", err) } timeout = dur } return DialTimeout(url.Host, user, pass, timeout) } func Dial(addr, mycall, password string) (net.Conn, error) { return DialTimeout(addr, mycall, password, 5*time.Second) } func DialTimeout(addr, mycall, password string, timeout time.Duration) (net.Conn, error) { conn, err := net.DialTimeout(`tcp`, addr, timeout) if err != nil { return nil, err } // Log in to telnet server reader := bufio.NewReader(conn) L: for { line, err := reader.ReadString('\r') line = strings.TrimSpace(strings.ToLower(line)) switch { case err != nil: conn.Close() return nil, fmt.Errorf("Error while logging in: %s", err) case strings.HasPrefix(line, "callsign"): fmt.Fprintf(conn, "%s\r", mycall) case strings.HasPrefix(line, "password"): fmt.Fprintf(conn, "%s\r", password) break L } } return &Conn{conn, CMSTargetCall}, nil } wl2k-go-0.9.0/transport/telnet/listen.go000066400000000000000000000026031414214701500201560ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package telnet import ( "bufio" "fmt" "net" "strings" ) type Conn struct { net.Conn remoteCall string } func (conn Conn) RemoteCall() string { return conn.remoteCall } type listener struct{ net.Listener } // Starts a new net.Listener listening for incoming connections. // // The Listener takes care of the special Winlink telnet login. func Listen(addr string) (ln net.Listener, err error) { ln, err = net.Listen("tcp", addr) return listener{ln}, err } // Accept waits for and returns the next connection to the listener. // // The returned net.Conn is a *Conn that holds the remote stations // call sign. When Accept returns, the caller is logged in and the // connection can be used directly in a B2F exchange. // // BUG(martinhpedersen): Password is discarded and not supported yet. func (ln listener) Accept() (net.Conn, error) { conn, err := ln.Listener.Accept() if err != nil { return conn, err } reader := bufio.NewReader(conn) fmt.Fprintf(conn, "Callsign :\r") remoteCall, err := reader.ReadString('\r') if err != nil { return conn, err } remoteCall = strings.TrimSpace(remoteCall) fmt.Fprintf(conn, "Password :\r") _, err = reader.ReadString('\r') //TODO return &Conn{conn, remoteCall}, err } wl2k-go-0.9.0/transport/url.go000066400000000000000000000041651414214701500161740ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package transport import ( "net/url" "path" "sort" "strings" ) // URL contains all information needed to dial a remote node. type URL struct { // TNC/modem/interface/network type. Scheme string // The host interface address. Host string // Host username (typically the local stations callsign) and password information. User *url.Userinfo // Target callsign. Target string // List of digipeaters ("path" between origin and target). Digis []string // List of query parameters. Params url.Values } // ParseURL parses a raw urlstring into an URL. // // scheme://(mycall(:password)@)(host)(/digi1/...)/targetcall // Examples: // - winmor:///LA1B (Addresses LA1B on WINMOR). // - ax25://mycall@myaxport/LD5SK/LA1B-10 (Addresses LA1B-10 via LD5SK using AX.25-port "myaxport" and "MYCALL" as source callsign). // // The special query parameter host will override the host part of the path. (E.g. ax25:///LA1B?host=ax0 == ax25://ax0/LA1B). func ParseURL(rawurl string) (*URL, error) { u, err := url.Parse(rawurl) if err != nil { return nil, err } // The digis and target should be all upper case u.Path = strings.ToUpper(u.Path) via, target := path.Split(u.Path) if len(target) < 3 { return nil, ErrInvalidTarget } url := &URL{ Scheme: u.Scheme, Host: u.Host, User: u.User, Target: target, Params: u.Query(), } if str := url.Params.Get("host"); str != "" { url.Host = str } // Digis url.Digis = strings.Split(strings.Trim(via, "/"), "/") _ = sort.Reverse(sort.StringSlice(url.Digis)) if len(url.Digis) == 1 && url.Digis[0] == "" { url.Digis = []string{} } digisUnsupported := url.Scheme == "winmor" || url.Scheme == "ardop" || url.Scheme == "ardop2" || url.Scheme == "telnet" if len(url.Digis) > 0 && digisUnsupported { return url, ErrDigisUnsupported } return url, nil } // Set the URL.User's username (usually the source callsign). func (u *URL) SetUser(call string) { u.User = url.User(call) } wl2k-go-0.9.0/transport/url_test.go000066400000000000000000000032601414214701500172260ustar00rootroot00000000000000// Copyright 2016 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package transport import ( "net/url" "reflect" "testing" ) func TestParseURL(t *testing.T) { tests := map[string]URL{ "ax25:///LA5NTA": {Scheme: "ax25", Target: "LA5NTA", Digis: []string{}, Params: url.Values{}}, "ax25:///la5nta": {Scheme: "ax25", Target: "LA5NTA", Digis: []string{}, Params: url.Values{}}, "ax25:///LA1B-10/LA5NTA": {Scheme: "ax25", Target: "LA5NTA", Digis: []string{"LA1B-10"}, Params: url.Values{}}, "ax25://axport/LA5NTA": {Scheme: "ax25", Host: "axport", Target: "LA5NTA", Digis: []string{}, Params: url.Values{}}, "ax25://0/LA5NTA": {Scheme: "ax25", Host: "0", Target: "LA5NTA", Digis: []string{}, Params: url.Values{}}, "serial-tnc:///LA5NTA?host=/dev/ttyS0": {Scheme: "serial-tnc", Host: "/dev/ttyS0", Target: "LA5NTA", Digis: []string{}, Params: url.Values{"host": []string{"/dev/ttyS0"}}}, "telnet://LA5NTA:CMSTelnet@server.winlink.org:8772/wl2k": { Scheme: "telnet", Host: "server.winlink.org:8772", Target: "WL2K", User: url.UserPassword("LA5NTA", "CMSTelnet"), Digis: []string{}, Params: url.Values{}, }, } for str, expect := range tests { got, err := ParseURL(str) if err != nil { t.Errorf("'%s': Unexpected error (%s)", str, err) continue } if !reflect.DeepEqual(*got, expect) { t.Errorf("'%s':\n\tGot %#v\n\tExpect %#v", str, *got, expect) } } if _, err := ParseURL("ax25:///"); err == nil { t.Errorf("Expected error on no target") } } wl2k-go-0.9.0/transport/winmor/000077500000000000000000000000001414214701500163505ustar00rootroot00000000000000wl2k-go-0.9.0/transport/winmor/addr.go000066400000000000000000000005301414214701500176070ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor const network = "winmor" type Addr struct{ string } func (a Addr) Network() string { return network } func (a Addr) String() string { return a.string } wl2k-go-0.9.0/transport/winmor/command.go000066400000000000000000000151231414214701500203170ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor import ( "log" "strconv" "strings" ) type Command string const ( cmdRobust Command = "ROBUST" // <>[bool]: Force the most robust mode (2x4FSK) for the entire session cmdPrompt Command = "CMD" // <[]: Seems like a command prompt cmdCodec Command = "CODEC" // <>[bool]: Activate sound card (can never be turned off?) cmdNewState Command = "NEWSTATE" // <[State]: Sent when the state changes cmdState Command = "STATE" // <>[State]: The getter to get current state cmdConnect Command = "CONNECT" // >[string]: Connect to the given callsign. Failure response is "FAULT Connect Failure". cmdDisconnect Command = "DISCONNECT" // >[]: Disconnect the current session cmdDirtyDisconnect Command = "DIRTYDISCONNECT" // >[]: "abort" connection cmdDisconnected Command = "DISCONNECTED" // <[]: Signals that a connect failed. Duplicate state notification? cmdConnected Command = "CONNECTED" // <[string]: Signals that a connect was ok. Duplicate state notification? cmdPTT Command = "PTT" // <[bool]: PTT active or not cmdClose Command = "CLOSE" // >[]: Closes the TNC cmdBuffers Command = "BUFFERS" // <[int int int int int]: Buffer status? cmdFault Command = "FAULT" // <[string]: Error message cmdOffset Command = "OFFSET" // <[int]: Offset cmdMyCall Command = "MYC" // <>[string]: My callsign cmdGridSquare Command = "GRIDSQUARE" // <>[string]: set/get grid square cmdMaxConnReq Command = "MAXCONREQ" // <>[int 3-15]: Number of connect requests before giving up. RMS Express sets 10 before connect. cmdDriveLevel Command = "DRIVELEVEL" // <>[int]: Set/read the drive level (TX audio drive) cmdBusy Command = "BUSY" // <[bool]: Returns whether the channel is busy cmdCapture Command = "CAPTURE" // <>[string]: capture device cmdPlayback Command = "PLAYBACK" // <>[string]: playback device cmdTwoToneTest Command = "TWOTONETEST" // >[bool]: Enable two tone test cmdCWID Command = "CWID" // <>[bool]: cw id cmdMode Command = "MODE" // <>[string]: Current data mode cmdMyAux Command = "MYAUX" // <>[string,string...]: Auxiliary call signs that will answer connect requests cmdVersion Command = "VERSION" // <>[string]: Returns the TNC version cmdListen Command = "LISTEN" // <>[bool]: Enables/disables server’s response to an ARQ connect request. cmdResponseDelay Command = "RESPONSEDLY" // <>[int]: Sets or returns the minimum response delay in ms. (300-2000, documented as 0-2000). cmdBandwidth Command = "BW" // <[int]: Used to answer a incoming call. Sets inbound bandwidth (500/1600). Only when in "server" mode. cmdMonitorCall Command = "MONCALL" // <[string]: sent when a station id is heard. cmdTarget Command = "TARGET" // <[string]: The newly connected station's call sign (in "server" mode) // Not implemented in parser cmdCaptureDevices Command = "CAPTUREDEVICES" // <>[string,string...]: List of all available capture devices cmdSuffix Command = "SUFFIX" // <>[string]: ? cmdAutoBreak Command = "AUTOBREAK" // <>[bool]: ? cmdBusyLock Command = "BUSYLOCK" // <>[bool]: ? cmdBusyHold Command = "BUSYHOLD" // <>[int]: This defines the time the software waits after the Controller has reported the channel free before considering it free cmdBusyWait Command = "BUSYWAIT" // <>[int]: This changes the time the software will wait for a clear channel before failing a connect request cmdVox Command = "VOX" // <>[bool]: ? cmdFECRcv Command = "FECRCV" // <>[bool]: ? cmdShow Command = "SHOW" // <>[bool] ? -- not settable? cmdSpeedTest Command = "SPEEDTEST" // <>[int]: DSP speed test cmdSendID Command = "SENDID" // >?[int]: delay parameter 0-15 required ) // Buffer slice index // // "BUFFERS <1m avg throughput in bytes/minute>" const ( BufferInQueued = iota BufferInSequenced BufferOutQueued BufferOutConfirmed BufferAvgThroughput ) type ctrlMsg struct { cmd Command value interface{} } func (msg ctrlMsg) Bool() bool { return msg.value.(bool) } func (msg ctrlMsg) State() State { return msg.value.(State) } func (msg ctrlMsg) String() string { return msg.value.(string) } func (msg ctrlMsg) Int() int { return msg.value.(int) } func parseCtrlMsg(str string) ctrlMsg { parts := strings.SplitN(str, " ", 2) parts[0] = strings.ToUpper(parts[0]) msg := ctrlMsg{ cmd: Command(parts[0]), } switch msg.cmd { // bool case cmdRobust, cmdCodec, cmdPTT, cmdBusy, cmdTwoToneTest, cmdCWID, cmdListen: msg.value = strings.ToLower(parts[1]) == "true" // (no params) case cmdPrompt, cmdDisconnect, cmdDirtyDisconnect, cmdClose, cmdDisconnected: // State case cmdNewState, cmdState: msg.value = stateMap[strings.ToUpper(parts[1])] // string case cmdConnect, cmdFault, cmdConnected, cmdMyCall, cmdGridSquare, cmdCapture, cmdPlayback, cmdMode, cmdVersion, cmdMonitorCall, cmdTarget: msg.value = parts[1] // []string case cmdMyAux: msg.value = parseCommaList(parts[1]) // []int (whitespace separated) case cmdBuffers: // <1m avg throughput in bytes/minute> v, err := parseIntList(parts[1], " ") if err != nil { log.Printf("Failed to parse %s: %s", cmdBuffers, err) } msg.value = v // int case cmdOffset, cmdMaxConnReq, cmdDriveLevel, cmdResponseDelay, cmdBandwidth: i, err := strconv.Atoi(parts[1]) if err != nil { log.Printf("Failed to parse offset value: %s", err) } msg.value = i default: log.Printf("Unable to parse '%s'", str) } return msg } func parseIntList(str, delim string) ([]int, error) { strSlice := strings.Split(str, delim) ints := make([]int, len(strSlice)) for i, p := range strSlice { n, err := strconv.Atoi(p) if err != nil { return ints, err } ints[i] = n } return ints, nil } func parseCommaList(str string) []string { parts := strings.Split(str, ",") for i, p := range parts { parts[i] = strings.TrimSpace(p) } return parts } wl2k-go-0.9.0/transport/winmor/command_test.go000066400000000000000000000040241414214701500213540ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor import ( "reflect" "testing" ) func TestParse(t *testing.T) { tests := map[string]ctrlMsg{ "NEWSTATE SENDID": ctrlMsg{cmdNewState, SendID}, "PTT True": ctrlMsg{cmdPTT, true}, "PTT False": ctrlMsg{cmdPTT, false}, "PTT trUE": ctrlMsg{cmdPTT, true}, "CODEC True": ctrlMsg{cmdCodec, true}, "CONNECT IN PROCESS": ctrlMsg{cmdConnect, "IN PROCESS"}, "STATE Disconnected": ctrlMsg{cmdState, Disconnected}, "foobar baz": ctrlMsg{Command("FOOBAR"), nil}, "CMD": ctrlMsg{cmdPrompt, nil}, "DISCONNECTED": ctrlMsg{cmdDisconnected, nil}, "FAULT 5/Error in the application.": ctrlMsg{cmdFault, "5/Error in the application."}, "OFFSET -1": ctrlMsg{cmdOffset, int(-1)}, "BUFFERS 0 723 3 31 453": ctrlMsg{cmdBuffers, []int{0, 723, 3, 31, 453}}, "MYC LA5NTA": ctrlMsg{cmdMyCall, "LA5NTA"}, "GRIDSQUARE JP20QH": ctrlMsg{cmdGridSquare, "JP20QH"}, "MAXCONREQ 10": ctrlMsg{cmdMaxConnReq, 10}, "MODE FSK4_2CarShort": ctrlMsg{cmdMode, "FSK4_2CarShort"}, "MYAUX LA5NTA,LE3OF": ctrlMsg{cmdMyAux, []string{"LA5NTA", "LE3OF"}}, "MYAUX LA5NTA, LE3OF": ctrlMsg{cmdMyAux, []string{"LA5NTA", "LE3OF"}}, "VERSION 1.4.7.0": ctrlMsg{cmdVersion, "1.4.7.0"}, } for input, expected := range tests { got := parseCtrlMsg(input) if got.cmd != expected.cmd { t.Errorf("Got %#v expected %#v when parsing '%s'", got.cmd, expected.cmd, input) } if !reflect.DeepEqual(got.value, expected.value) { t.Errorf("Got %#v expected %#v when parsing '%s'", got.value, expected.value, input) } } } wl2k-go-0.9.0/transport/winmor/ctrl_broadcast.go000066400000000000000000000053641414214701500216750ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor import ( "log" "time" ) type receiver interface { sendChan() chan<- ctrlMsg doneChan() <-chan struct{} } type StateReceiver struct { cs <-chan State msgs chan ctrlMsg done chan struct{} } func (r StateReceiver) States() <-chan State { return r.cs } func (r StateReceiver) Close() { close(r.done) } func (r StateReceiver) sendChan() chan<- ctrlMsg { return r.msgs } func (r StateReceiver) doneChan() <-chan struct{} { return r.done } type rawReceiver struct { msgs chan ctrlMsg // read from this to receive broadcasts done chan struct{} // close this to unregister } func (r rawReceiver) Msgs() <-chan ctrlMsg { return r.msgs } func (r rawReceiver) Close() { close(r.done) } func (r rawReceiver) sendChan() chan<- ctrlMsg { return r.msgs } func (r rawReceiver) doneChan() <-chan struct{} { return r.done } type broadcaster struct { msgs chan ctrlMsg // send on this will broadcast register chan receiver // send on this will register } func newBroadcaster() broadcaster { receivers := make([]receiver, 0, 1) b := broadcaster{ msgs: make(chan ctrlMsg), register: make(chan receiver), } go func() { defer func() { for _, r := range receivers { close(r.sendChan()) } receivers = nil }() for { select { case r := <-b.register: receivers = append(receivers, r) case msg, ok := <-b.msgs: if !ok { return } for i := 0; i < len(receivers); i++ { r := receivers[i] select { case <-r.doneChan(): // the receiver is done, remove it close(r.sendChan()) receivers = append(receivers[:i], receivers[i+1:]...) i-- //REVIEW this case r.sendChan() <- msg: // Message sent case <-time.After(500 * time.Millisecond): // This is a hack - some of the clients don't close properly if debugEnabled() { log.Println("Receiver timeout!") } close(r.sendChan()) receivers = append(receivers[:i], receivers[i+1:]...) i-- //REVIEW this } } } } }() return b } func (b *broadcaster) Listen() rawReceiver { r := rawReceiver{ make(chan ctrlMsg, 3), make(chan struct{}), } b.register <- r return r } func (b *broadcaster) ListenState() StateReceiver { cs := make(chan State) r := StateReceiver{ msgs: make(chan ctrlMsg), done: make(chan struct{}), cs: cs, } go func() { for msg := range r.msgs { if msg.cmd == cmdNewState { cs <- msg.State() } } close(cs) }() b.register <- r return r } func (b *broadcaster) Send(msg ctrlMsg) { b.msgs <- msg } func (b *broadcaster) Close() { close(b.msgs) } wl2k-go-0.9.0/transport/winmor/dial.go000066400000000000000000000100411414214701500176040ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor import ( "errors" "fmt" "log" "net" "sync" "time" "github.com/la5nta/wl2k-go/transport" ) type tncConn struct { net.Conn tnc *TNC remoteAddr Addr localAddr Addr // The flushLock is used to keep track of the "out queued" buffer. // // It is locked on write, and Flush() will block until it's unlocked. // It is the control loop's responsibility to unlock this lock when buffer reached zero. flushLock lock mu sync.Mutex buffers []int nWritten int } func (conn *tncConn) SetRobust(r bool) error { return conn.tnc.SetRobust(r) } func (conn *tncConn) Write(p []byte) (int, error) { n, err := conn.Conn.Write(p) conn.mu.Lock() conn.nWritten += n conn.flushLock.Lock() conn.mu.Unlock() return n, err } // TODO: Maybe wait if out buffer queue is larger than some value (maybe 128?) func (conn *tncConn) Flush() error { conn.flushLock.Wait() return nil } // bug(martinhpedersen): Should check for connection error instead of returning nil // TxBufferLen returns the number of bytes in the out buffer queue. func (conn *tncConn) TxBufferLen() int { conn.mu.Lock() defer conn.mu.Unlock() if conn.buffers == nil { return 0 } // We don't use BufferOutQueued, because it may be outdated (not updated since last Write call). return conn.nWritten - conn.buffers[BufferOutConfirmed] } func (conn *tncConn) updateBuffers(b []int) { if conn == nil { return } conn.mu.Lock() defer conn.mu.Unlock() conn.buffers = b if b[BufferOutConfirmed] >= conn.nWritten && b[BufferOutQueued] == 0 { conn.flushLock.Unlock() } } // DialURL dials winmor:// URLs // // Syntax: winmor://mycall@/targetcall (mycall part is optional) func (tnc *TNC) DialURL(url *transport.URL) (net.Conn, error) { if url.Scheme != "winmor" { return nil, transport.ErrUnsupportedScheme } if url.User == nil { return tnc.Dial(url.Target) } currentCallsign, err := tnc.MyCall() switch { case err != nil: return nil, err case currentCallsign != url.User.Username(): if err := tnc.SetMycall(url.User.Username()); err != nil { return nil, err } tnc.onDisconnect(func(tnc *TNC) error { return tnc.SetMycall(currentCallsign) }) fallthrough default: return tnc.Dial(url.Target) } } func (tnc *TNC) Dial(targetcall string) (net.Conn, error) { if err := tnc.connect(targetcall); err != nil { return nil, err } time.Sleep(200 * time.Millisecond) // To give WINMOR time to listen dataConn, err := net.Dial("tcp", tnc.connAddr) if err != nil { return nil, err } mycall, err := tnc.MyCall() if err != nil { return nil, fmt.Errorf("Error when getting mycall: %s", err) } tnc.data = &tncConn{ Conn: dataConn, remoteAddr: Addr{targetcall}, localAddr: Addr{mycall}, tnc: tnc, } // Try to minimize read/write buffer on connection. tnc.data.Conn.(*net.TCPConn).SetReadBuffer(0) tnc.data.Conn.(*net.TCPConn).SetWriteBuffer(0) return tnc.data, nil } func (conn *tncConn) Close() error { if conn.Conn == nil { return nil } conn.Flush() // TODO: Timeout and return error here? r := conn.tnc.in.Listen() defer r.Close() conn.tnc.out <- fmt.Sprint(cmdDisconnect) for { // Wait for TNC to disconnect select { case msg, ok := <-r.Msgs(): if !ok { return errors.New("TNC hung up while waiting for requested disconnect") } if msg.cmd == cmdDisconnect { // The command echo } else if msg.cmd == cmdNewState && msg.State() == Disconnected { // The control loop have already closed the data connection return nil } case <-time.After(15 * time.Second): // Sensible timeout // Timeout if debugEnabled() { log.Printf("conn.Close(): timeout while waiting for newstate. Sending %s", cmdDirtyDisconnect) } conn.tnc.out <- fmt.Sprint(cmdDirtyDisconnect) return nil } } } func (conn *tncConn) RemoteAddr() net.Addr { return conn.remoteAddr } func (conn *tncConn) LocalAddr() net.Addr { return conn.localAddr } wl2k-go-0.9.0/transport/winmor/listen.go000066400000000000000000000060661414214701500202050ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor import ( "errors" "fmt" "net" "time" ) var ( ErrInvalidBandwidth error = errors.New("Invalid bandwidth. Supported values are 500 or 1600.") ErrActiveListenerExists error = errors.New("An active listener is already registered with this TNC.") errClosing = errors.New("use of closed network connection") // From the net package ) type listener struct { incoming <-chan net.Conn quit chan struct{} errors <-chan error addr Addr } func (l listener) Accept() (c net.Conn, err error) { select { case c, ok := <-l.incoming: if !ok { return nil, errClosing } return c, nil case err, ok := <-l.errors: if !ok { return nil, errClosing } return nil, err } } func (l listener) Addr() net.Addr { return l.addr } func (l listener) Close() error { close(l.quit) return nil } func (tnc *TNC) Listen(bandwidth int) (ln net.Listener, err error) { if tnc.listenerActive { return nil, ErrActiveListenerExists } else if bandwidth != 500 && bandwidth != 1600 { return nil, ErrInvalidBandwidth } tnc.listenerActive = true incoming := make(chan net.Conn) quit := make(chan struct{}) errors := make(chan error) mycall, err := tnc.MyCall() if err != nil { return nil, fmt.Errorf("Unable to get mycall: %s", err) } if err := tnc.SetListenEnabled(true); err != nil { return nil, fmt.Errorf("TNC failed to enable listening: %s", err) } go func() { defer func() { close(incoming) // Important to close this first! close(errors) tnc.listenerActive = false }() msgListener := tnc.in.Listen() defer msgListener.Close() msgs := msgListener.Msgs() var remotecall, targetcall string for { select { case <-quit: tnc.SetListenEnabled(false) // Should return this in listener.Close() return case msg, ok := <-msgs: switch { case !ok: errors <- fmt.Errorf("Lost connection to the TNC") return case msg.cmd == cmdNewState && msg.State() == ConnectPending: remotecall, targetcall = "", "" if err := tnc.set(cmdBandwidth, bandwidth); err != nil { errors <- err } case msg.cmd == cmdConnected: remotecall = msg.String() case msg.cmd == cmdTarget: targetcall = msg.String() } if len(remotecall) > 0 && len(targetcall) > 0 { // Give TNC time to listen on data port time.Sleep(200 * time.Millisecond) dataConn, err := net.Dial("tcp", tnc.connAddr) if err != nil { errors <- err remotecall, targetcall = "", "" continue } dataConn.(*net.TCPConn).SetReadBuffer(0) dataConn.(*net.TCPConn).SetWriteBuffer(0) tnc.data = &tncConn{ Conn: dataConn, remoteAddr: Addr{remotecall}, localAddr: Addr{targetcall}, tnc: tnc, } tnc.connected = true incoming <- tnc.data remotecall, targetcall = "", "" } } } }() return listener{incoming, quit, errors, Addr{mycall}}, nil } wl2k-go-0.9.0/transport/winmor/lock.go000066400000000000000000000021261414214701500176300ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor import "sync" // Lock is like a sync.Mutex, except: // * Lock of locked is noop // * Unlock of unlocked is noop // * Wait() is used to block until Lock is unlocked. // The zero-value is an unlocked lock. type lock struct { mu sync.Mutex wait chan struct{} } // Locks if unlocked, noop otherwise. func (l *lock) Lock() { l.mu.Lock() defer l.mu.Unlock() if l.wait != nil { return // Already locked } l.wait = make(chan struct{}) } // Unlocks if locked, noop otherwise. func (l *lock) Unlock() { l.mu.Lock() defer l.mu.Unlock() if l.wait == nil { return // Already unlocked } close(l.wait) l.wait = nil } // Blocks until lock is released. Returns immediately if it's unlocked. func (l *lock) Wait() { <-l.WaitChan() } func (l *lock) WaitChan() <-chan struct{} { l.mu.Lock() wait := l.wait if l.wait == nil { wait = make(chan struct{}) close(wait) } l.mu.Unlock() return wait } wl2k-go-0.9.0/transport/winmor/state_string.go000066400000000000000000000007421414214701500214100ustar00rootroot00000000000000// generated by stringer -type=State; DO NOT EDIT package winmor import "fmt" const _State_name = "UnknownOfflineDisconnectedConnectingConnectPendingSendIDISSIRSIRSToISSIRSModeShiftISSModeShiftFECReceiveFEC500FEC1600" var _State_index = [...]uint8{0, 7, 14, 26, 36, 50, 56, 59, 62, 70, 82, 94, 104, 110, 117} func (i State) String() string { if i+1 >= State(len(_State_index)) { return fmt.Sprintf("State(%d)", i) } return _State_name[_State_index[i]:_State_index[i+1]] } wl2k-go-0.9.0/transport/winmor/tnc.go000066400000000000000000000271771414214701500175010ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor import ( "bufio" "errors" "fmt" "io" "log" "net" "runtime" "strconv" "strings" "time" "github.com/la5nta/wl2k-go/transport" ) var ( ErrBusy = errors.New("TNC control port is busy.") ErrConnectInProgress = errors.New("A connect is in progress.") ) var errTNCClosed = fmt.Errorf("TNC closed") type TNC struct { ctrlAddr string connAddr string ctrl net.Conn data *tncConn in broadcaster out chan<- string busy bool state State selfClose bool ptt transport.PTTController heard map[string]time.Time connected bool listenerActive bool closed bool disconnectDefer []func(tnc *TNC) error } func Open(addr string, mycall, gridSquare string) (*TNC, error) { ctrlAddr, connAddr, err := parseAddr(addr) if err != nil { return nil, ErrInvalidAddr } ctrlConn, err := net.Dial(`tcp`, ctrlAddr) if err != nil { return nil, err } tnc := &TNC{ ctrlAddr: ctrlAddr, connAddr: connAddr, in: newBroadcaster(), ctrl: ctrlConn, heard: make(map[string]time.Time), } if err := tnc.runControlLoop(); err == io.EOF { return nil, ErrBusy } else if err != nil { return nil, err } runtime.SetFinalizer(tnc, (*TNC).Close) if err := tnc.init(); err == io.EOF { return nil, ErrBusy } else if err != nil { return nil, fmt.Errorf("Failed to initialize TNC: %s", err) } if err = tnc.SetMycall(mycall); err != nil { return nil, fmt.Errorf("Set my call failed: %s", err) } if err = tnc.SetGridSquare(gridSquare); err != nil { return nil, fmt.Errorf("Set grid square failed: %s", err) } return tnc, nil } // Heard returns all stations heard by the TNC since it was opened. // // It returns a map from callsign to last time it was heard. Each call // returns a new copy of the latest map. func (tnc *TNC) Heard() map[string]time.Time { slice := make(map[string]time.Time, len(tnc.heard)) for k, v := range tnc.heard { slice[k] = v } return slice } // Set the PTT that should be controlled by the TNC. // // If nil, the PTT request from the TNC is ignored. func (tnc *TNC) SetPTT(ptt transport.PTTController) { tnc.ptt = ptt } func (tnc *TNC) init() (err error) { if tnc.state = tnc.getState(); tnc.state == Offline { if err = tnc.SetCodec(true); err != nil { return fmt.Errorf("Enable codec failed: %s", err) } time.Sleep(100 * time.Millisecond) // Give it some time } if err = tnc.SetMaxConnReq(10); err != nil { return fmt.Errorf("Set max connection requests failed: %s", err) } if err = tnc.SetRobust(false); err != nil { return fmt.Errorf("Disable robust mode failed: %s", err) } if v, err := tnc.get(cmdBusy); err != nil { return fmt.Errorf("Failed to get busy indication: %s", err) } else { tnc.busy = v.(bool) } // The TNC should only answer inbound ARQ connect requests when // requested by the user. if err = tnc.SetListenEnabled(false); err != nil { return fmt.Errorf("Disable listen failed: %s", err) } return nil } // onDisconnect defers a function that is called after NEWSTATE DISCONNECT // // Useful to reset connection-spesific global state (e.g. mycall). func (tnc *TNC) onDisconnect(fn func(tnc *TNC) error) { if tnc.disconnectDefer == nil { tnc.disconnectDefer = make([]func(tnc *TNC) error, 0, 1) } tnc.disconnectDefer = append(tnc.disconnectDefer, fn) } func (tnc *TNC) runControlLoop() error { // Read prompt so we know the TNC is ready tnc.ctrl.SetReadDeadline(time.Now().Add(3 * time.Second)) rd := bufio.NewReader(tnc.ctrl) _, err := rd.ReadString('\n') if err != nil { return err } tnc.ctrl.SetReadDeadline(time.Time{}) var selfDisconnect bool go func() { scanner := bufio.NewScanner(tnc.ctrl) for scanner.Scan() { // Handle async commands (status commands) line := scanner.Text() msg := parseCtrlMsg(line) switch msg.cmd { case cmdPTT: if tnc.ptt != nil { tnc.ptt.SetPTT(msg.Bool()) } case cmdDisconnect: selfDisconnect = true case cmdMonitorCall: //TODO: the format is "N0CALL (JP20qe)", so we could keep the locator and return it in Heard() callsign := strings.Split(msg.value.(string), " ")[0] tnc.heard[callsign] = time.Now() case cmdBuffers: buffers := msg.value.([]int) tnc.data.updateBuffers(buffers) case cmdNewState: tnc.state = msg.State() switch msg.State() { case Disconnected: // Close ongoing connection if tnc.data != nil { tnc.connected = false // connect() is responsible for setting it to true if tcpConn := tnc.data.Conn.(*net.TCPConn); !selfDisconnect { tcpConn.CloseRead() tcpConn.CloseWrite() tnc.data.flushLock.Unlock() } else { tcpConn.Close() selfDisconnect = false } tnc.data = nil } // Run defered functions (onDisconnect) go func() { for _, fn := range tnc.disconnectDefer { fn(tnc) } tnc.disconnectDefer = nil }() //TODO: We really need some mutexes here! } case cmdBusy: tnc.busy = msg.value.(bool) } if debugEnabled() { log.Printf("<-- %s\t[%#v]", line, msg) } tnc.in.Send(msg) } tnc.in.Close() close(tnc.out) tnc.closed = true }() out := make(chan string) tnc.out = out go func() { for str := range out { if debugEnabled() { log.Println("-->", str) } fmt.Fprintf(tnc.ctrl, "%s\r\n", str) } }() return nil } // Ping checks the TNC connection for errors func (tnc *TNC) Ping() error { if tnc.closed { return errTNCClosed } _, err := tnc.getString(cmdVersion) return err } // Closes the connection to the TNC (and any on-going connections). // // This will not actually close the TNC software. func (tnc *TNC) Close() error { if tnc.closed { return nil } tnc.closed = true if err := tnc.SetListenEnabled(false); err != nil { return err } if err := tnc.Disconnect(); err != nil { // Noop if idle return err } tnc.ctrl.Close() // no need for a finalizer anymore runtime.SetFinalizer(tnc, nil) return nil } // Returns true if channel is clear func (tnc *TNC) Busy() bool { return tnc.busy } // Version returns the software version of the TNC func (tnc *TNC) Version() (string, error) { return tnc.getString(cmdVersion) } // Returns the current state of the TNC func (tnc *TNC) State() State { return tnc.state } func (tnc *TNC) SetResponseDelay(ms int) error { return tnc.set(cmdResponseDelay, ms) } // Returns the grid square as reported by the TNC func (tnc *TNC) GridSquare() (string, error) { return tnc.getString(cmdGridSquare) } // Returns mycall as reported by the TNC func (tnc *TNC) MyCall() (string, error) { return tnc.getString(cmdMyCall) } // Sets the grid square func (tnc *TNC) SetGridSquare(gs string) error { return tnc.set(cmdGridSquare, gs) } // SetMycall sets the provided callsign as the main callsign for the TNC func (tnc *TNC) SetMycall(mycall string) error { if !tnc.Idle() { return ErrConnectInProgress } return tnc.set(cmdMyCall, mycall) } // Sets the auxiliary call signs that the TNC should answer to on incoming connections. func (tnc *TNC) SetAuxiliaryCalls(calls []string) (err error) { return tnc.set(cmdMyAux, strings.Join(calls, ", ")) } // Set the TX audio drive level func (tnc *TNC) SetDriveLevel(l int) error { return tnc.set(cmdDriveLevel, l) } // Set the number of connect requests before giving up. // // Allowed values are 3-15 func (tnc *TNC) SetMaxConnReq(n int) error { return tnc.set(cmdMaxConnReq, n) } // SetRobust sets the TNC in robust mode. // // In robust mode the TNC will only use modes FSK4_2CarShort, FSK4_2Car or PSK4_2Car regardless of current data mode bandwidth setting. // If in the ISS or ISSModeShift states changes will be delayed until the outbound queue is empty. func (tnc *TNC) SetRobust(robust bool) error { return tnc.set(cmdRobust, robust) } // Enable/disable sound card and other resources // // This is done automatically on Open(), users should // normally don't do this. func (tnc *TNC) SetCodec(state bool) error { return tnc.set(cmdCodec, fmt.Sprintf("%t", state)) } // ListenState() returns a StateReceiver which can be used // to get notification when the TNC state changes. func (tnc *TNC) ListenEnabled() StateReceiver { return tnc.in.ListenState() } // Enable/disable TNC response to an ARQ connect request. // // This is disabled automatically on Open(), and enabled // when needed. Users should normally don't do this. func (tnc *TNC) SetListenEnabled(listen bool) error { return tnc.set(cmdListen, fmt.Sprintf("%t", listen)) } // Disconnect gracefully disconnects the active connection // or cancels an ongoing connect. // // The method will block until the TNC is disconnected. // // If the TNC is not connecting/connected, Disconnect is // a noop. func (tnc *TNC) Disconnect() error { if tnc.Idle() { return nil } r := tnc.in.Listen() defer r.Close() tnc.out <- fmt.Sprintf("%s", cmdDisconnect) for msg := range r.Msgs() { if msg.cmd == cmdDisconnected { return nil } } panic("not possible") } // Idle returns true if the TNC is not in a connecting // or connected state. func (tnc *TNC) Idle() bool { return tnc.state == Disconnected || tnc.state == Offline } // DirtyDisconnect will send a dirty disconnect command to // the TNC. func (tnc *TNC) DirtyDisconnect() error { return tnc.set(cmdDirtyDisconnect, nil) } func (tnc *TNC) getState() State { v, err := tnc.get(cmdState) if err != nil { panic(fmt.Sprintf("getState(): %s", err)) } return v.(State) } // Sends a connect command to the TNC. Users should call Dial(). func (tnc *TNC) connect(targetcall string) error { if !tnc.Idle() { return ErrConnectInProgress } r := tnc.in.Listen() defer r.Close() // Manual book keeping of state because winmor does not // send async state update after issuing a connect command. tnc.state = Connecting tnc.out <- fmt.Sprintf("%s %s", cmdConnect, targetcall) for msg := range r.Msgs() { if msg.cmd == cmdConnected { tnc.connected = true break } else if msg.cmd == cmdDisconnected { return ErrConnectTimeout } } return nil } func (tnc *TNC) set(cmd Command, param interface{}) (err error) { time.Sleep(100 * time.Millisecond) r := tnc.in.Listen() defer r.Close() if param != nil { tnc.out <- fmt.Sprintf("%s %v", cmd, param) } else { tnc.out <- string(cmd) } for msg := range r.Msgs() { if msg.cmd == cmdPrompt { return } else if msg.cmd == cmdFault { err = errors.New(msg.String()) } } return errors.New("TNC hung up") } func (tnc *TNC) getString(cmd Command) (string, error) { v, err := tnc.get(cmd) if err != nil { return "", nil } return v.(string), nil } func (tnc *TNC) get(cmd Command) (value interface{}, err error) { time.Sleep(100 * time.Millisecond) r := tnc.in.Listen() defer r.Close() tnc.out <- string(cmd) for msg := range r.Msgs() { if msg.cmd == cmd { value = msg.value } else if msg.cmd == cmdFault { err = errors.New(msg.String()) } else if msg.cmd == cmdPrompt { return } } return nil, errors.New("TNC hung up") } func parseAddr(addr string) (ctrlAddr, connAddr string, err error) { idxPort := strings.LastIndex(addr, ":") if idxPort < 0 || len(addr) < idxPort+1 { return ctrlAddr, connAddr, errors.New("Missing port") } host, strPort := addr[0:idxPort], addr[idxPort+1:] if len(strPort) < 2 { return ctrlAddr, connAddr, errors.New("Invalid port") } else if len(host) == 0 { return ctrlAddr, connAddr, errors.New("Invalid host address") } port, err := strconv.ParseInt(strPort, 0, 0) if err != nil { return ctrlAddr, connAddr, err } ctrlAddr = fmt.Sprintf("%s:%d", host, port) connAddr = fmt.Sprintf("%s:%d", host, port+1) return } wl2k-go-0.9.0/transport/winmor/winmor.go000066400000000000000000000043411414214701500202140ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. // Package winmor provides means of establishing a connection to a remote node using WINMOR TNC package winmor import ( "errors" "os" "strings" ) type State uint8 // The default address Winmor TNC listens on const DefaultAddr = "localhost:8500" var ( ErrConnectTimeout = errors.New("Connect timeout") ErrInvalidAddr = errors.New("Invalid address format") ) //go:generate stringer -type=State const ( Unknown State = iota Offline // Sound card disabled and all sound card resources are released Disconnected // The session is disconnected, the sound card remains active Connecting // The station is sending Connect Requests to a target station ConnectPending // A connect request frame was sensed and a connection is pending and capture/decoding is in process SendID // Sending ID ISS // Information Sending Station (Sending Data) IRS // Information Receiving Station (Receiving data) IRSToISS // Transition state from IRS to ISS to insure proper link turnover IRSModeShift // Supplying Packets Sequenced information to the ISS for a requested mode shift ISSModeShift // Requesting Packets Sequenced information from the IRS in preparation for a mode shift FECReceive // Receiving FEC (unproto) data FEC500 // Sending FEC data 500Hz bandwidth FEC1600 // Sending FEC data 1600Hz bandwidth ) var stateMap = map[string]State{ "": Unknown, "OFFLINE": Offline, "DISCONNECTED": Disconnected, "CONNECTING": Connecting, "CONNECTPENDING": ConnectPending, "SENDID": SendID, "ISS": ISS, "IRS": IRS, "IRSTOISS": IRSToISS, "IRS MODE SHIFT": IRSModeShift, "ISS MODE SHIFT": ISSModeShift, "FECRCV": FECReceive, "FEC500": FEC500, "FEC1600": FEC1600, } func strToState(str string) (State, bool) { state, ok := stateMap[strings.ToUpper(str)] return state, ok } func debugEnabled() bool { return os.Getenv("WINMOR_DEBUG") != "" } wl2k-go-0.9.0/transport/winmor/winmor_test.go000066400000000000000000000030451414214701500212530ustar00rootroot00000000000000// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved. // Use of this source code is governed by the MIT-license that can be // found in the LICENSE file. package winmor import ( "net" "testing" "github.com/la5nta/wl2k-go/transport" ) func TestImplementsRobust(t *testing.T) { var conn net.Conn conn = &tncConn{} if _, ok := conn.(transport.Robust); !ok { t.Errorf("winmor conn does not implement transport.Robust") } } func TestParseAddr(t *testing.T) { // Default address ctrlAddr, connAddr, err := parseAddr(DefaultAddr) if err != nil { t.Errorf("Failed to parse default address: %s", err) } if expected := "localhost:8500"; expected != ctrlAddr { t.Errorf("Expected %s as control address, got %s", expected, ctrlAddr) } if expected := "localhost:8501"; expected != connAddr { t.Errorf("Expected %s as connection address, got %s", expected, connAddr) } // IPv6 address ctrlAddr, connAddr, err = parseAddr("::1:8500") if err != nil { t.Errorf("Failed to parse default address: %s", err) } if expected := "::1:8500"; expected != ctrlAddr { t.Errorf("Expected %s as control address, got %s", expected, ctrlAddr) } if expected := "::1:8501"; expected != connAddr { t.Errorf("Expected %s as connection address, got %s", expected, connAddr) } // Some invalid addresses if _, _, err := parseAddr("localhost"); err == nil { t.Errorf("Expected error while parsing 'localhost', got %v", err) } if _, _, err := parseAddr(":8500"); err == nil { t.Errorf("Expected error while parsing ':8500', got %v", err) } }