From f51679193adae084fb5b4b9be840108761f0cb08 Mon Sep 17 00:00:00 2001 From: Julien Riou Date: Wed, 6 Oct 2021 18:59:11 +0200 Subject: [PATCH] feat: Initial release (1.0) Signed-off-by: Julien Riou --- .gitignore | 3 + Makefile | 17 +++ README.md | 101 ++++++++++++++++ VERSION | 1 + client.go | 135 +++++++++++++++++++++ config.go | 59 +++++++++ db.go | 22 ++++ flexassistant.yaml.example | 20 ++++ go.mod | 12 ++ go.sum | 37 ++++++ main.go | 239 +++++++++++++++++++++++++++++++++++++ miner.go | 74 ++++++++++++ notification.go | 123 +++++++++++++++++++ pool.go | 45 +++++++ static/screenshot.jpg | Bin 0 -> 201055 bytes utils.go | 68 +++++++++++ 16 files changed, 956 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 README.md create mode 100644 VERSION create mode 100644 client.go create mode 100644 config.go create mode 100644 db.go create mode 100644 flexassistant.yaml.example create mode 100644 go.mod create mode 100644 go.sum create mode 100644 main.go create mode 100644 miner.go create mode 100644 notification.go create mode 100644 pool.go create mode 100644 static/screenshot.jpg create mode 100644 utils.go diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..487e7a2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +bin +flexassistant.yaml +flexassistant.db \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b1cc0df --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +APPVERSION := $(shell cat ./VERSION) +GOVERSION := $(shell go version | awk '{print $$3}') +GITCOMMIT := $(shell git log -1 --oneline | awk '{print $$1}') +LDFLAGS = -X main.AppVersion=${APPVERSION} -X main.GoVersion=${GOVERSION} -X main.GitCommit=${GITCOMMIT} +PLATFORM := $(shell uname -s) +ARCH := $(shell uname -m) + +.PHONY: clean + +build: + go build -ldflags "${LDFLAGS}" -o bin/flexassistant *.go + +release: + go build -ldflags "${LDFLAGS}" -o bin/flexassistant-${APPVERSION}-${PLATFORM}-${ARCH} *.go + +clean: + rm -rf bin \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..a445c5d --- /dev/null +++ b/README.md @@ -0,0 +1,101 @@ +# flexassistant + +[Flexpool.io](https://www.flexpool.io/) is a famous cryptocurrency mining or farming pool supporting +[Ethereum](https://ethereum.org/en/) and [Chia](https://www.chia.net/) blockchains. As a miner, or a farmer, we like to +get **notified** when a **block** is mined, or farmed. We also like to keep track of our **unpaid balance** and our +**transactions** to our personal wallet. + +*flexassistant* is a tool that parses the Flexpool API and sends notifications via [Telegram](https://telegram.org/). + +

+ +

+ + +## Installation + +*Note: this guide has been written with Linux x86_64 in mind.* + +### Binaries + +Go to [Releases](/releases) to download the binary in the version you like (latest is recommended). + +Then extract the tarball: + +``` +tar xvpzf flexassistant-VERSION-Linux-x86_64.tgz +``` + +Write checksum information to a local file: + +``` +echo checksum > flexassistant-VERSION-Linux-x86_64.sha256sum +``` + +Verify checksums to avoid binary corruption: + +``` +sha256sum -c flexassistant-VERSION-Linux-x86_64.sha256sum +``` + +### Compilation + +You will need to install [Go](https://golang.org/dl/), [Git](https://git-scm.com/) and a development toolkit (including [make](https://linux.die.net/man/1/make)) for your environment. + +Then, you'll need to download and compile the source code: + +``` +git clone https://github.com/jouir/flexassistant.git +cd flexassistant +make +``` + +The binary will be available under the `bin` directory: + +``` +ls -l bin/flexassistant +``` + +## Configuration + +*flexassistant* can be configured using a YaML file. By default, the `flexassistant.yaml` file is used but it can be another file provided by the `-config` argument. + +As a good start, you can copy the configuration file example: + +``` +cp -p flexassistant.yaml.example flexassistant.yaml +``` + +Then edit this file at will. + +Reference: +* `database-file` (optional): file name of the database file to persist information between two executions (SQLite database) +* `max-blocks` (optional): maximum number of blocks to retreive from the API +* `max-payments` (optional): maximum number of payments to retreive from the API +* `pools` (optional): list of pools + * `coin`: coin of the pool (ex: `eth`, `xch`) + * `enable-blocks` (optional): enable block notifications for this pool (disabled by default) +* `miners` (optional): list of miners and/or farmers + * `address`: address of the miner or the farmer registered on the API + * `enable-balance` (optional): enable balance notifications (disabled by default) + * `enable-payments` (optional): enable payments notifications (disabled by default) +* `telegram`: Telegram configuration + * `token`: token of the Telegram bot + * `chat-id` (optional if `channel-name` is present): chat identifier to send Telegram notifications + * `channel-name` (optional if `chat-id` is present): channel name to send Telegram notifications + +## Usage + +``` +Usage of ./flexassistant: + -config string + Configuration file name (default "flexassistant.yaml") + -debug + Print even more logs + -quiet + Log errors only + -verbose + Print more logs + -version + Print version and exit +``` diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..9f8e9b6 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.0 \ No newline at end of file diff --git a/client.go b/client.go new file mode 100644 index 0000000..674b8f4 --- /dev/null +++ b/client.go @@ -0,0 +1,135 @@ +package main + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "net/http" + "sort" + "time" + + log "github.com/sirupsen/logrus" +) + +// FlexpoolAPIURL constant to store Flexpool API URL +const FlexpoolAPIURL = "https://api.flexpool.io/v2" + +// MaxIterations to avoid infinite loop while requesting paged routes on Flexpool API +const MaxIterations = 10 + +// UserAgent to identify ourselves on the Flexpool API +var UserAgent = fmt.Sprintf("flexassistant/%s", AppVersion) + +// FlexpoolClient to store the HTTP client +type FlexpoolClient struct { + client *http.Client +} + +// NewFlexpoolClient to create a client to manage Flexpool API calls +func NewFlexpoolClient() *FlexpoolClient { + return &FlexpoolClient{ + client: &http.Client{Timeout: time.Second * 3}, + } +} + +// request to create an HTTPS request, call the Flexpool API, detect errors and return the result +func (f *FlexpoolClient) request(url string) (result map[string]interface{}, err error) { + log.Debugf("Requesting %s", url) + + request, err := http.NewRequest("GET", url, nil) + if err != nil { + return nil, err + } + request.Header.Set("User-Agent", UserAgent) + + resp, err := f.client.Do(request) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + jsonBody, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, err + } + + json.Unmarshal(jsonBody, &result) + + if result["error"] == nil { + return result["result"].(map[string]interface{}), nil + } + return nil, fmt.Errorf("Flexpool API error: %s", result["error"].(string)) +} + +// MinerBalance returns the current unpaid balance +func (f *FlexpoolClient) MinerBalance(coin string, address string) (float64, error) { + response, err := f.request(fmt.Sprintf("%s/miner/balance?coin=%s&address=%s", FlexpoolAPIURL, coin, address)) + if err != nil { + return 0, err + } + return response["balance"].(float64), nil +} + +// MinerPayments returns an ordered list of payments +func (f *FlexpoolClient) MinerPayments(coin string, address string, limit int) (payments []*Payment, err error) { + page := 0 + for { + response, err := f.request(fmt.Sprintf("%s/miner/payments/?coin=%s&address=%s&page=%d", FlexpoolAPIURL, coin, address, page)) + if err != nil { + return nil, err + } + + for _, result := range response["data"].([]interface{}) { + raw := result.(map[string]interface{}) + payment := NewPayment( + raw["hash"].(string), + raw["value"].(float64), + raw["timestamp"].(float64), + ) + payments = append(payments, payment) + if len(payments) >= limit { + // sort by timestamp + sort.Slice(payments, func(p1, p2 int) bool { + return payments[p1].Timestamp > payments[p2].Timestamp + }) + return payments, nil + } + } + page = page + 1 + if page > MaxIterations { + return nil, fmt.Errorf("Max iterations of %d reached", MaxIterations) + } + } +} + +// PoolBlocks returns an ordered list of blocks +func (f *FlexpoolClient) PoolBlocks(coin string, limit int) (blocks []*Block, err error) { + page := 0 + for { + response, err := f.request(fmt.Sprintf("%s/pool/blocks/?coin=%s&page=%d", FlexpoolAPIURL, coin, page)) + if err != nil { + return nil, err + } + + for _, result := range response["data"].([]interface{}) { + raw := result.(map[string]interface{}) + block := NewBlock( + raw["hash"].(string), + raw["number"].(float64), + raw["reward"].(float64), + ) + blocks = append(blocks, block) + if len(blocks) >= limit { + // sort by number + sort.Slice(blocks, func(b1, b2 int) bool { + return blocks[b1].Number < blocks[b2].Number + }) + return blocks, nil + } + } + page = page + 1 + if page > MaxIterations { + return nil, fmt.Errorf("Max iterations of %d reached", MaxIterations) + } + } +} diff --git a/config.go b/config.go new file mode 100644 index 0000000..553ed33 --- /dev/null +++ b/config.go @@ -0,0 +1,59 @@ +package main + +import ( + "io/ioutil" + + "gopkg.in/yaml.v3" +) + +// Config to receive settings from the configuration file +type Config struct { + DatabaseFile string `yaml:"database-file"` + MaxBlocks int `yaml:"max-blocks"` + MaxPayments int `yaml:"max-payments"` + Pools []PoolConfig `yaml:"pools"` + Miners []MinerConfig `yaml:"miners"` + TelegramConfig TelegramConfig `yaml:"telegram"` +} + +// PoolConfig to store Pool configuration +type PoolConfig struct { + Coin string `yaml:"coin"` + EnableBlocks bool `yaml:"enable-blocks"` +} + +// MinerConfig to store Miner configuration +type MinerConfig struct { + Address string `yaml:"address"` + EnableBalance bool `yaml:"enable-balance"` + EnablePayments bool `yaml:"enable-payments"` +} + +// TelegramConfig to store Telegram configuration +type TelegramConfig struct { + Token string `yaml:"token"` + ChatID int64 `yaml:"chat-id"` + ChannelName string `yaml:"channel-name"` +} + +// NewConfig creates a Config with default values +func NewConfig() *Config { + return &Config{ + DatabaseFile: AppName + ".db", + } +} + +// ReadFile reads and parses a YAML configuration file to override default values +func (c *Config) ReadFile(filename string) (err error) { + yamlFile, err := ioutil.ReadFile(filename) + if err != nil { + return err + } + + err = yaml.Unmarshal(yamlFile, &c) + if err != nil { + return err + } + + return nil +} diff --git a/db.go b/db.go new file mode 100644 index 0000000..ada9ce8 --- /dev/null +++ b/db.go @@ -0,0 +1,22 @@ +package main + +import ( + "gorm.io/driver/sqlite" + "gorm.io/gorm" +) + +// NewDatabase creates a SQLite database object from a file name +func NewDatabase(filename string) (*gorm.DB, error) { + return gorm.Open(sqlite.Open(filename), &gorm.Config{}) +} + +// CreateDatabaseObjects creates database relations +func CreateDatabaseObjects(db *gorm.DB) error { + if err := db.AutoMigrate(&Miner{}); err != nil { + return err + } + if err := db.AutoMigrate(&Pool{}); err != nil { + return err + } + return nil +} diff --git a/flexassistant.yaml.example b/flexassistant.yaml.example new file mode 100644 index 0000000..7320ac4 --- /dev/null +++ b/flexassistant.yaml.example @@ -0,0 +1,20 @@ +--- +database-file: flexassistant.db +max-blocks: 10 +max-payments: 5 +miners: + - address: 0x0000000000000000000000000000000000000000 + enable-balance: true + enable-payments: true + - address: xch00000000000000000000000000000000000000000000000000000000000 + enable-balance: true + enable-payments: true +pools: + - coin: eth + enable-blocks: true + - coin: xch + enable-blocks: true +telegram: + chat-id: 000000000 + channel-name: MyTelegramChannel + token: 0000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..5aba9cd --- /dev/null +++ b/go.mod @@ -0,0 +1,12 @@ +module github.com/jouir/flexassistant + +go 1.16 + +require ( + github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.0.0-rc1 + github.com/leekchan/accounting v1.0.0 // indirect + github.com/sirupsen/logrus v1.8.1 + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b + gorm.io/driver/sqlite v1.1.5 + gorm.io/gorm v1.21.15 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..e520815 --- /dev/null +++ b/go.sum @@ -0,0 +1,37 @@ +github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +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/go-telegram-bot-api/telegram-bot-api/v5 v5.0.0-rc1 h1:Mr8jIV7wDfLw5Fw6BPupm0aduTFdLjhI3wFuIIZKvO4= +github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.0.0-rc1/go.mod h1:2s/IzRcxCszyNh760IjJiqoYHTnifk8ZeNYL33z8Pww= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.2 h1:eVKgfIdy9b6zbWBMgFpfDPoAMifwSZagU9HmEU6zgiI= +github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/leekchan/accounting v1.0.0 h1:+Wd7dJ//dFPa28rc1hjyy+qzCbXPMR91Fb6F1VGTQHg= +github.com/leekchan/accounting v1.0.0/go.mod h1:3timm6YPhY3YDaGxl0q3eaflX0eoSx3FXn7ckHe4tO0= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/mattn/go-sqlite3 v1.14.8 h1:gDp86IdQsN/xWjIEmr9MF6o9mpksUgh0fu+9ByFxzIU= +github.com/mattn/go-sqlite3 v1.14.8/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +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/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24 h1:pntxY8Ary0t43dCZ5dqY4YTJCObLY1kIXl0uzMv+7DE= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/technoweenie/multipartstreamer v1.0.1 h1:XRztA5MXiR1TIRHxH2uNxXxaIkKQDeX7m2XsSOlQEnM= +github.com/technoweenie/multipartstreamer v1.0.1/go.mod h1:jNVxdtShOxzAsukZwTSw6MDx5eUJoiEBsSvzDU9uzog= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +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= +gorm.io/driver/sqlite v1.1.5 h1:JU8G59VyKu1x1RMQgjefQnkZjDe9wHc1kARDZPu5dZs= +gorm.io/driver/sqlite v1.1.5/go.mod h1:NpaYMcVKEh6vLJ47VP6T7Weieu4H1Drs3dGD/K6GrGc= +gorm.io/gorm v1.21.15 h1:gAyaDoPw0lCyrSFWhBlahbUA1U4P5RViC1uIqoB+1Rk= +gorm.io/gorm v1.21.15/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= diff --git a/main.go b/main.go new file mode 100644 index 0000000..d25d02d --- /dev/null +++ b/main.go @@ -0,0 +1,239 @@ +package main + +import ( + "flag" + "fmt" + "os" + + log "github.com/sirupsen/logrus" + "gorm.io/gorm" +) + +// AppName to store application name +var AppName string = "flexassistant" + +// AppVersion to set version at compilation time +var AppVersion string = "9999" + +// GitCommit to set git commit at compilation time (can be empty) +var GitCommit string + +// GoVersion to set Go version at compilation time +var GoVersion string + +// MaxPayments defaults +const MaxPayments = 10 + +// MaxBlocks defaults +const MaxBlocks = 50 + +// initialize logging +func init() { + log.SetOutput(os.Stdout) +} + +func main() { + config := NewConfig() + version := flag.Bool("version", false, "Print version and exit") + quiet := flag.Bool("quiet", false, "Log errors only") + verbose := flag.Bool("verbose", false, "Print more logs") + debug := flag.Bool("debug", false, "Print even more logs") + configFileName := flag.String("config", AppName+".yaml", "Configuration file name") + flag.Parse() + + if *version { + showVersion() + return + } + + // Logs and configuration + log.SetLevel(log.WarnLevel) + if *debug { + log.SetLevel(log.DebugLevel) + } + if *verbose { + log.SetLevel(log.InfoLevel) + } + if *quiet { + log.SetLevel(log.ErrorLevel) + } + + if *configFileName != "" { + err := config.ReadFile(*configFileName) + if err != nil { + log.Fatalf("Cannot parse configuration file: %v", err) + } + } + + // Database + var db *gorm.DB + db, err := NewDatabase(config.DatabaseFile) + if err != nil { + log.Fatalf("Could not create database: %v", err) + } + + if err := CreateDatabaseObjects(db); err != nil { + log.Fatalf("Could not create objects: %v", err) + } + + // API client + client := NewFlexpoolClient() + + // Notifications + notifier, err := NewTelegramNotifier(&config.TelegramConfig) + if err != nil { + log.Fatalf("Could not create notifier: %v", err) + } + + // Limits + var maxPayments int + if config.MaxPayments > 0 { + maxPayments = config.MaxPayments + } else { + maxPayments = MaxPayments + } + + var maxBlocks int + if config.MaxBlocks > 0 { + maxBlocks = config.MaxBlocks + } else { + maxBlocks = MaxBlocks + } + + // Handle miners + for _, configuredMiner := range config.Miners { + miner, err := NewMiner(configuredMiner.Address) + if err != nil { + log.Warnf("Could not parse miner: %v", err) + continue + } + + var dbMiner Miner + trx := db.Where(Miner{Address: miner.Address}).Attrs(Miner{Address: miner.Address, Coin: miner.Coin}).FirstOrCreate(&dbMiner) + if trx.Error != nil { + log.Warnf("Cannot fetch miner %s from database: %v", miner, trx.Error) + } + + // Balance management + if configuredMiner.EnableBalance { + // Balance have never been persisted, skip notifications + notify := true + if dbMiner.Balance == 0 { + notify = false + } + + log.Debugf("Fetching balance for %s", miner) + balance, err := client.MinerBalance(miner.Coin, miner.Address) + if err != nil { + log.Warnf("Could not fetch unpaid balance: %v", err) + continue + } + log.Debugf("Unpaid balance %.0f", balance) + miner.Balance = balance + if miner.Balance != dbMiner.Balance { + dbMiner.Balance = balance + if trx = db.Save(&dbMiner); trx.Error != nil { + log.Warnf("Cannot update miner: %v", trx.Error) + continue + } + if notify { + err = notifier.NotifyBalance(*miner) + if err != nil { + log.Warnf("Cannot send notification: %v", err) + continue + } + log.Infof("Balance notification sent for %s", miner) + } + } + } + + // Payments management + if configuredMiner.EnablePayments { + // Payments have never been persisted, skip notifications + notify := true + if dbMiner.LastPaymentTimestamp == 0 { + notify = false + } + + log.Debugf("Fetching payments for %s", miner) + + payments, err := client.MinerPayments(miner.Coin, miner.Address, maxPayments) + if err != nil { + log.Warnf("Could not fetch payments: %v", err) + continue + } + for _, payment := range payments { + log.Debugf("Fetched %s", payment) + if dbMiner.LastPaymentTimestamp < payment.Timestamp { + dbMiner.LastPaymentTimestamp = payment.Timestamp + if trx = db.Save(&dbMiner); trx.Error != nil { + log.Warnf("Cannot update miner: %v", trx.Error) + continue + } + if notify { + err = notifier.NotifyPayment(*miner, *payment) + if err != nil { + log.Warnf("Cannot send notification: %v", err) + continue + } + log.Infof("Payment notification sent for %s", payment) + } + } + } + } + } + + // Handle pools + for _, configuredPool := range config.Pools { + + pool := NewPool(configuredPool.Coin) + + var dbPool Pool + trx := db.Where(Pool{Coin: pool.Coin}).Attrs(Pool{Coin: pool.Coin}).FirstOrCreate(&dbPool) + if trx.Error != nil { + log.Warnf("Cannot fetch pool %s from database: %v", pool, trx.Error) + } + + // Blocks management + if configuredPool.EnableBlocks { + + // Block number has never been persisted, skip notifications + notify := true + if dbPool.LastBlockNumber == 0 { + notify = false + } + + log.Debugf("Fetching blocks for %s", pool) + blocks, err := client.PoolBlocks(pool.Coin, maxBlocks) + if err != nil { + log.Warnf("Could not fetch blocks: %v", err) + } else { + for _, block := range blocks { + log.Debugf("Fetched %s", block) + if dbPool.LastBlockNumber < block.Number { + dbPool.LastBlockNumber = block.Number + if trx = db.Save(&dbPool); trx.Error != nil { + log.Warnf("Cannot update pool: %v", trx.Error) + continue + } + if notify { + err = notifier.NotifyBlock(*pool, *block) + if err != nil { + log.Warnf("Cannot send notification: %v", err) + continue + } + log.Infof("Block notification sent for %s", block) + } + } + } + } + } + } +} + +func showVersion() { + if GitCommit != "" { + AppVersion = fmt.Sprintf("%s-%s", AppVersion, GitCommit) + } + fmt.Printf("%s version %s (compiled with %s)\n", AppName, AppVersion, GoVersion) +} diff --git a/miner.go b/miner.go new file mode 100644 index 0000000..980d841 --- /dev/null +++ b/miner.go @@ -0,0 +1,74 @@ +package main + +import ( + "fmt" + "strings" + + "gorm.io/gorm" +) + +// CoinLengthETH represents the size of an ETH address +const CoinLengthETH = 42 + +// CoinLengthXCH represents the size of an XCH address +const CoinLengthXCH = 62 + +// Miner to store miner attributes +type Miner struct { + gorm.Model + Coin string + Address string `gorm:"unique;not null"` + Balance float64 + LastPaymentTimestamp float64 +} + +// NewMiner creates a Miner +func NewMiner(address string) (*Miner, error) { + miner := &Miner{Address: address} + coin, err := miner.ParseCoin() + if err != nil { + return nil, err + } + miner.Coin = coin + return miner, nil +} + +// ParseCoin deduces the currency given the miner address +func (m *Miner) ParseCoin() (coin string, err error) { + if m.Address == "" { + return "", fmt.Errorf("Miner address is empty") + } + if len(m.Address) == CoinLengthETH && strings.HasPrefix(m.Address, "0x") { + return "eth", nil + } + if len(m.Address) == CoinLengthXCH && strings.HasPrefix(m.Address, "xch") { + return "xch", nil + } + return "", fmt.Errorf("Unsupported address") +} + +// String represents Miner to a printable format +func (m *Miner) String() string { + return fmt.Sprintf("Miner<%s>", m.Address) +} + +// Payment to store payment attributes +type Payment struct { + Hash string + Value float64 + Timestamp float64 +} + +// NewPayment creates a Payment +func NewPayment(hash string, value float64, timestamp float64) *Payment { + return &Payment{ + Hash: hash, + Value: value, + Timestamp: timestamp, + } +} + +// String represents a Payment to a printable format +func (p *Payment) String() string { + return fmt.Sprintf("Payment<%s>", p.Hash) +} diff --git a/notification.go b/notification.go new file mode 100644 index 0000000..a4e3713 --- /dev/null +++ b/notification.go @@ -0,0 +1,123 @@ +package main + +import ( + "fmt" + "strings" + + "github.com/leekchan/accounting" + + telegram "github.com/go-telegram-bot-api/telegram-bot-api/v5" + log "github.com/sirupsen/logrus" +) + +// Notifier interface to define how to send all kind of notifications +type Notifier interface { + NotifyBalance(miner Miner, difference float64) error + NotifyPayment(miner Miner, payment Payment) error + NotifyBlock(pool Pool, block Block) error +} + +// TelegramNotifier to send notifications using Telegram +// Implements the Notifier interface +type TelegramNotifier struct { + bot *telegram.BotAPI + chatID int64 + channelName string +} + +// NewTelegramNotifier to create a TelegramNotifier +func NewTelegramNotifier(config *TelegramConfig) (*TelegramNotifier, error) { + bot, err := telegram.NewBotAPI(config.Token) + if err != nil { + return nil, err + } + log.Debugf("Connected to Telegram as %s", bot.Self.UserName) + + return &TelegramNotifier{ + bot: bot, + chatID: config.ChatID, + channelName: config.ChannelName, + }, nil +} + +// sendMessage to send a generic message on Telegram +func (t *TelegramNotifier) sendMessage(message string) error { + var request telegram.MessageConfig + if t.chatID != 0 { + request = telegram.NewMessage(t.chatID, message) + } else { + request = telegram.NewMessageToChannel(t.channelName, message) + } + request.DisableWebPagePreview = true + request.ParseMode = telegram.ModeMarkdown + + response, err := t.bot.Send(request) + if err != nil { + return err + } + log.Debugf("Message %d sent to Telegram", response.MessageID) + return nil +} + +// NotifyBalance to format and send a notification when the unpaid balance has changed +// Implements the Notifier interface +func (t *TelegramNotifier) NotifyBalance(miner Miner) error { + ac := accounting.Accounting{ + Symbol: strings.ToUpper(miner.Coin), + Precision: 6, + Format: "%v %s", + } + convertedBalance, err := ConvertCurrency(miner.Coin, miner.Balance) + if err != nil { + return err + } + message := fmt.Sprintf("💰 *Balance* _%s_", ac.FormatMoney(convertedBalance)) + return t.sendMessage(message) +} + +// NotifyPayment to format and send a notification when a new payment has been detected +// Implements the Notifier interface +func (t *TelegramNotifier) NotifyPayment(miner Miner, payment Payment) error { + ac := accounting.Accounting{ + Symbol: strings.ToUpper(miner.Coin), + Precision: 6, + Format: "%v %s", + } + convertedValue, err := ConvertCurrency(miner.Coin, payment.Value) + if err != nil { + return err + } + + message := fmt.Sprintf("💵 *Payment* _%s_", ac.FormatMoney(convertedValue)) + return t.sendMessage(message) +} + +// NotifyBlock to format and send a notification when a new block has been detected +// Implements the Notifier interface +func (t *TelegramNotifier) NotifyBlock(pool Pool, block Block) error { + precision := 6 + if pool.Coin == "xch" { + precision = 2 + } + ac := accounting.Accounting{ + Symbol: strings.ToUpper(pool.Coin), + Precision: precision, + Format: "%v %s", + } + + convertedValue, err := ConvertCurrency(pool.Coin, block.Reward) + if err != nil { + return err + } + verb, err := ConvertAction(pool.Coin) + if err != nil { + return err + } + url, err := FormatBlockURL(pool.Coin, block.Hash) + if err != nil { + return err + } + + message := fmt.Sprintf("🎉 *%s* [#%.0f](%s) _%s_", verb, block.Number, url, ac.FormatMoney(convertedValue)) + return t.sendMessage(message) +} diff --git a/pool.go b/pool.go new file mode 100644 index 0000000..d69947e --- /dev/null +++ b/pool.go @@ -0,0 +1,45 @@ +package main + +import ( + "fmt" + + "gorm.io/gorm" +) + +// Pool to store pool attributes +type Pool struct { + gorm.Model + Coin string `gorm:"unique;not null"` + LastBlockNumber float64 +} + +// NewPool creates a Pool +func NewPool(coin string) *Pool { + return &Pool{Coin: coin} +} + +// String represents Pool to a printable format +func (p *Pool) String() string { + return fmt.Sprintf("Pool<%s>", p.Coin) +} + +// Block to store block attributes +type Block struct { + Hash string `gorm:"unique;not null"` + Number float64 `gorm:"not null"` + Reward float64 `gorm:"not null"` +} + +// NewBlock creates a Block +func NewBlock(hash string, number float64, reward float64) *Block { + return &Block{ + Hash: hash, + Number: number, + Reward: reward, + } +} + +// String represents Block to a printable format +func (b *Block) String() string { + return fmt.Sprintf("Block<%.0f>", b.Number) +} diff --git a/static/screenshot.jpg b/static/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74cd6c3ea3b603a309e8c61860a52e554a6812ba GIT binary patch literal 201055 zcmeFZ1yEdFw0@4h#0rfRCDW_O))*4bm#n|aUmD-Db<@|oyBggcj{x2P z2tXB}cnAMKTK?rv_d)ug$2=^(EdQYl z?%f&N&JF-LMFIe%#sC2IH~>Iw^0%V@YWuHP{10q>a@Xe3ot^G?KYM@+z!vZX00OuH ztO0y?kPtusAP5lqvjk8AU}ODN{yJm-Rd8|sI^*Hu;^5-r;p6|~ARr>dCmd=l#D9@4W4i%A$+dBJ`Cf>R4> z>(LFL#Ptk6PfgFTi6|L+r=%5rXP0`eZ0-NP8>wa!Vi4B5c5)~9(OqY|Q|qrT_jkd< z#m4zd@Eul;^3JI^IM{gDI0Sc|{7d~iy>KbtZNNaIAM2{!i*Y-j4%Je`B95 z&wLa;{!esq`ml?sk7{>PYac6c#QMy2$R8yf#68-r_I>vcsiNhp|B#wFbNmmf=Q#aR z+$;I72bjKi7j`TX9NbaM%vJ}IuOgSooDDnvA$*+tZwAbxkyj3n@9dB{gLUl62j;m* zR+^tb?$B<0{7mL=2H}5mJR5Pk`iBR$8(xmTzL1-L1vvSe!QUKN#{Q|&$HkdL3AI-k z*_xkNyX94#WWoQ?>SVO-Jz9H#@x2aJ1W8K5>adLgLCbD)Q$6rBtblBXcb{i?1u#+iHZhw2{rtO%Xg+GA6I2XCM z{yVO{i>e2@2jS9ge3SB4aW(<}j+HF(xP0?ZcP)APCfv~6xoas39XDTe=hJ^8$sCqt z^R7xSdv*z8eV5IOU-#bSL*x1(%O&Ss68??+Tk=n=jhv5r**k-xo~t-YRPce*kwuXZc^Uk?em-F^T^b8^1A0{?EPj-zr5~N~IR z{3W$in*X2Zf8Pb+ywahy zWvDXw#Y&D_d?kTLE56uf=Q zdry2#{|@Ef8DL!*BJghE@4J7`huB7nZUWoCvm^X(W>WJ?|0CAkxh>99L|k5_+u;=~ z&;J1O3D>y5u*lg$s5Vs*N^qS5n<4}d!VF+0d`759LEwUL{HR*Ne4o@xHp8)hMV*vG zpI6~Y(6%fH;AEZV#`tps%M4cjqlCHr3CIz>5NOkEn~ZrQYvZXK`<$7U!8Hq)nGlOm z5uix%mLlZI|7$moB~g;b+v?OVY@Z*G=*-H+zh!P>D>>u@`l_W2?Qh`BenkhJO!lUt znfr#^Sh;}oTpXnz-kCy+RLl5`Sx%i!GUeyMHoNu=PwshG=eYbHRsWsxhN4gCMiHZ4K&Y(uB1A&~80R=A$OKV2F)c{l zG>5j)5+pBCQ)A(xm!h<3@~bt~PDy2ISEhxg;;szX^(r#?nEVYoytTO^mBm&z&8hi9 zj%mcgv?8!%{C5GkxkZeiJ^i&pb?BSD-Ug0EF6#`r2=6}dn;688K2$H zziIm-up9Jphf0viZ3#Kedw+si(%M{zoZYwB)X#G}9i;sMBkre_zpG#PmcC4`C8Wmd ztK-s{->WV*BRi`jBv_xP1VNL;!IM~+k!m`PA%>EZNjU*9QfDqR(hKXtkw&g!Km3jR zhYkYwvR*8v;U1pwLjy1y zU(`$sZNwp|SI^dyI#n&wUPjD3d9g~SpA%!U!#VW^V%+a{kmmPwjY2}@*{nn3p|t(Z z+v6o-gD77}Ev2?j85tHIaGf z_50-6wGk?#+-wY`n?k!-d>17pdcl=I6#Mjw5K^mWG3oTo>xh-NDbw>FO>-z~C>w~C zLV-Z((bug2`1Vd8E4A1Dl<}W^>_2rlY)UIzc^4(A~9rkkOq4IIG}4PaJ6Wt7}3 zXiI%rHCXpCxZz$y8sz$8$Az%0!eDm3wk?v9@bjiHFSvSH9Txo^%RW#7dmp82x8aonTRnxbs(`kF zXw2>N0j~-nnInk_h{@w6N`?Y^KS){zy=(s*IX-F?rdPf-SO_^E95C#r1ok{4?bC4b zf>%84{&_gq>fth05~1N`GZcF4Mtg+Q*3n!ky1ydlFr}3Pu3x}iI#3kn}S7pMB}PW#>N?hBzeTe8x`+dKLJ!nPc`!lX@YPh!O<;c z(PbzzUYQ8PBrlrpWjdNK8ssj*sb7y!mOjrSsj#5ZkkIX3kQhB7z zfzsk)QJLz|gg%Qf;M}Yho#$21pNdE)_0;2vK^kJ%)l)1Jc0Btc6X$==e^4AfLhuWT zEX7qZ;U4pH&75xOas}Gjl&=vcTBed)RSC~&HigUw7&Rjk^rCAG`1n^|bjOTz4EsSc6E6cOVz0;rx~K%*zGS1) zTdMJ1mYO)|CF|9)FiH5|Y5SFIe1CkADH!+@H(rBRmV8z%u z@hc$6y}d?i6oVy2&V^wznxND2TB1$cbx&R+bW7^Kkourp{^6Qwq?5`-%iJjR?E^-+ zxgtUpk5VzV&!K*A~+=`=Oh5 z5ZIq)pZ;-~vh7%OifXY;t$`O+7LiQmjz3gr)^KWR5;gTw(@!gN_XT0d)3x7*sc*U} z-09x@u-E?sXzMS}lC3`-atb(zv&N=~2Txasl)VL6Qp>b@D z0T+oaS4!nD^C0swU-jaOO}XaN@;d1ffgwb!Zwcrcx>C0Cj`tb*9{+wg^XBL~o-AQK ze{`DtgL{?6ZTnPSSrMrhRJkE#uj@@~fmDfg1CU@UQ}`?-1RKG|0ucq`4AEu-LevG2 zfRj1KZ6vFQJYLn(z)x=nulx~|n&p_2_)d;1 z>n;ttE|iAj-AU~GcN^X8=|lB5G7kfq^!=^v^xSWpVi(18%clq z7iOw#?vDq~{oslba@?BNd+qi%h@P`L-^wmw9e7w|aDZ~5840J>36B3;QK@H?4ysRU zRm)9g9Lw-trwOvivIw*UEO7PFOidm$D|5R#=nyL=<|}{z!GwbS|K;lx<*;HZC@nP$ zrw=?xK2|#So026qibCEp^Y%P%y^IZxt4I-I_us$0)B@RM6e(ZKvi$qINiFpSMzk7zjyT)?far?BNoGgQSJEmGVafhO)|FL5sh0M6cT?tk+y`BcaRCf>pYQ z5#G@9+^?{0-jGR~Ilc^i1Z$~y!4p~zf5t<h9z~ zr2%pf?%iQK8;S^dKYf3DJvJLki8QF4CrxDMB3u$(be*L~r|xVYBU*gQquV}`Zc@&*!l#{QleWftdxCv)lI#uk4J&&1!^`SlT?=-V zT|a=vhaUX_ym+RSdEtq>SNvKEx!y(jdRRskPCxP5RlHY{r*|mGWTRy6(b{>B+#i6- zlJ<;@q_@3SCY-C3gNccz@aNA8`lkcASPR$Dz5A1^Sw*c=A}`tNO^YGsaIj2qo#Oc5 zpbrF1phZvR^TFWps+ckntzCBMLn&9cyPnj*WSRB|s59Zf(;Tlb@wqtWRy?pl%9%lH z(JWa}E4;wZV*C!Mttl9U{N!M)`3|k@lin=YB7jDL%Q;^9(R&4z36M821^?tLE@B%ygZ}}1`We;WE$L-5^}_eDo!5Bdrqczt65vp> z1?CEJRwqvZeL+L&f@$z$sXt!4qu=@M+#}L8oAct$G1u{HG39V$vy9Q)ZXU_OgPh$c z_)rg)E9kjFPP{NEWhEie&mVn1xNA4iv0dsS`rdErS zHI};i_wtstf8OIKs=TpCe@%1DkEPMM6LfVP=ze@!yw|q+VM==?Cn&*q>)7t-Wxb(0 zNgF_@-f!6lPDNi)ugNnYr7#}0&BW>2O^!`fgiKRI*DkT8Kd4uA!Xx09Z0_Q4e~G=4 zSu*1`u*gWzv6`3SnIO12V5wamoYJ}&$4Q1sRtXc{5Wk)9Ww(H4x!-FP{nq>Uz9(!18ggMgr4Wq4Dl(dP2jHUCzjhL$Z(XiE{50qJ6g(E=ZF(GU78L%sdSxF!YfN zflSkiQW%%!LvZ*7tCUEmOLFYB86x(ko)FO0Icv7G!WjlgaejN=i>7OHJm^}aez~5a zgy-6x|CQf#Iz!B^Y`VX6$htklhiWp{b7gk%DE>CE>xu=7%)4bt_Vi zQtkq0qeqQP`4oP{O=zjTV&yZ+q>4#fU>BFmwkkHCx|~}+5t6<`66EBqDSEFp$HXT_ zrGS{#Np#9+Np6N|*Iu+madc%VRik>XGDaMyhD+NNh(s(0-3R6tkepO?GXs#oc*BI$1Gw_qxgu&|T?BGUktq zV>F?`T17_LwIO4p7s%Ru$HPOLrVj?&ApU+Xx7r~ADzFs9G@Tj0p)`uEXv=Tp!(oEdBw!E@pB~~wgYMuI_@BB66XO_-kvuLyt zVzjSVSj%nHUJ7@5x`g$ds-a7!*6GC>ee_l{1 znanc4q)u6+qHI+2nMXGbT;X&MxVGMkbj;XbZ%M4C&Hox51W)nRty zH+X-5<{&H3f5LIl6ZH(f!Y}3HTInO@Uh0e_wYFTDc2hazp&Lm_i)&VLD%7Ow;1^jj z&(cmKavhv5k4CuTBHx4&^b}t{Rk+4Id^mEX-Prdc?o@pXvyG<9%c^>+ z5{P`FQQVV@RhqcS&H!{&AE$1nZ6{z9iFgD5bZa&r@SBM4Zg3m=^vC?l3huVGWXpKI zt+q(|8z<<))(NStHj^flb8=vsI6wQZfv?~dn5nC#$U2r92}ox>UyVloKQVdInlwN2 z+#-N!h>y$sx~wOaJKfSleImshG^VMoscZ4P6_KHnZcxR=&{n2ygHz48hBVbls3lF4 zTo}Q-@G;%*4TAa>Sg(!JYfh(WnE^G6IXWg6jTJl_Av^e!YwK0g+3?ua_llDnIw8)D zEt-}bQ)#)n-E;e^CVOWoxOt>9jji8nKjF63WM(D=AJIL`2EuEc(~(3p&Wm)Sy6@THixSBKaPaXqBy z2jsAo&34>wJ5_&x76B$umRM&z>4Z=$QY7L+0%RA{(lvy8%i!{lJcWwB8E{B%&OwJs4g)$kw&7A{~P=8uYvVf<4nB_RH*RO7-_>J^}^#s=zA}((vxfm z)emsC!LF2pxWYODt4|z5Zj3DN`5tiEnUj9wyY|{bl6!Ao1ywY5l79BO^7^L9_V*h) z$t-=ZCbzAZBHlFn#Mv3@PTR=BTGeES*IGK2&PtQJXKZ{=P%LLU>ja5>_d-_S?ezye zebGZpdS%F23~dRQkK=R!5N7(!wj^6khuNe&$75H4>1ng7cT*uO45jg~LZ?KdN0=tC zkZt=BlXL~E8mfWunT+DVI)U*w7R0CaahG2OE^Cc7512TrfSc!tfa{-I2zT|?o-_BW zo>B466He8q6pamBKHLU}y5hxG({LSPV2 zW8qheY(LJftrGj=pBtDrH;wAQ`?xEthRGzigSShjYlE*cn#;T@iKLw4YKCkHAs2*L zXjV_%)9Vf1n%1n^A+eNMfx!2nS9bT8^_3$6*$k}E`;~G(o0&UyEM9e-`q1+dt+KN6 z`@f^>&kSm`!Uua^9Ei4TFJ<~FYif^UMnoXXzfiioGE|@y=`Rpyjus}q00rPYIWEOG ztw3|$h$T6S6)$S92-jO$sQdAyNWTG=8H0M+=jv5#?BgEnw+VTe_YE8wmMj(+I6>bK zn>9VJXuY>QIoR?Pje53=e5BMVKB&l`NcAjIo1+bKMil1XpoQFsWrw=$1FOX{)FZ(g zZ#t8E$S6|e7MEv0oVcY$X1%O52`FOC6SOK0A8BE;rj@-oaC*bDb%f%JVJVdx>qt$` z>Gn4TmVmw-lP@s*GG-7&F`TaV7w$q{hKzPA&U}%TzQE}O(&=`<$Ltgw@1~{CBpj(| zL8KSCLZFGiD+A4!=(o@b9FaAD{C+Iu{GflSiRAQppnqyMMo%?wLvZ`nJ?fHrP}FqPku1nVi+H--*|qSZK%f zg_e%MsR?-rT|E9#HG*__L|f}uip1n>(&-V)Oq{gu5Ph!n$4I1Mr=8#U8NBvsmTyl@yzhHK!OZTNj ziPO}5moJXP=D54IZGUTuA?S;|~^Vu$M}M2qNl z!0&alT^7ve@rSHhqY$gEF<;bP_u0zs~9S&zIa&z z19db|%wSx+w`g>*!itjf6FkPXn1z>%7TGcay)d)D^5`ql2`%5kNvC9~TLte*O(Dcv z^b;wNBaFJWn6hB1!ih}d;1;zk`F3D^U#*SyNI>Um>03|ybWP@>AcaBNRA~U*_i`E)B_y*A8qPW4^`CW*XUH78g=T#6oNM=S#9>1axP!FnI3J@BG`*mk7-Y$3PN zEZ>wkHw{_#LAP~9O7D%zk^@F@qHwV1ZG2r_z7NzU_iM`ztXD>|F;i=^IHy76pbbRN z#^#P7Q20sz>{gMhEExs<{X5!ske74I63G#EayJV;+`Ok>PC_b&Zc+ganr_LKbG@v- zrhN@!W7v+QUO6DXO}9={Av2^~8;h~^n{%l0iPhE#*AHC= zQ<_qv`S6;4Hf8y>8R`=R&4yzlJ9Xi$PJ z=C&*b^Bx`W>gv9X`_Pnaw)YR{;+tU3C4+L*ZW?9t%N!Xn@9C^L{aC^4?HFERv&Iy> z2I#O&8qu1qOkn0o^xDFUzJ7I_dwep!i`Jsh=A(xs?}TQ3nIIukVV+_0N>Q)+(l^KR z5fx9oj+yHRN*(Zi_w{Vr+=n?{LyD zPaQRfn0e7_=@~F=#cZiY+Dk^0*~O{8u5_2VIrgh-Au!d8NPniI z_XQ4OX6fa+6(l{f^JYt|K+M(p(bh|+OOfW7<`xc2?NVJlZw@zP4L&E_$iOoA{AZpgJ(rMj%=^z-PPTYojVWGM2n`7R9k^4dEZ)&Jm= z8#6k%N;;VNf-#zFl>KYa<<1-al=k`!*2?(aCJ#wqYho#s0I^NGdd5547~i15gEc4; z9HduD8B&{`<$P%mIv5@C_LYs&%gU>DTXZa6m=Yc$4m7J-Q<~J`3~CU{&v}r)suYt{ z)>K5c!4`b4X1+F8c~e+kESJ^Lsn2|}*>wBjfTn{%Q_j`_+Y%NJu>3Z)d2!TOBL}s( zo$^(E^ik#rY$w!R$erci&xe}vD}P?lx@7Vp^Vtf$)2<$WtW>328*(7VL3MA#X53o# zrC^O7m2lE~vKinHIE1=DE!!SDQS4varIH!*8eo6yBehz$k zBtQIm@v!I={c?5R*KWP5oI9t*IXi)8VlRet2f8TAOjb}dr9~=c-;PE+V->q+ukEE5hL&PfVieZ* zRuiLk*D2-_(koM2RZ{048D)LULF5Pt`U5Cqlw|x4x{N%8_LxQ23B42-GhS=x(x@=0 zbLBg4a}sjQg0>GX5fkZ5`%PmKAx(^a0ffY0Y;uYfcpb9!;plx%yUFRH*M3!zyl3`S zY{oPMcH5OGNy&(Z5%mM=yKFF5BuuYN$yw=x9Cyeu=?Yo-Nfu3&hDYyG(L;Bl&^G# zq0As1TuurFzz540wi)3~ajdg)%8j9O0)GI+dofdo>Lm%h-b?5by+W>o;mYmoG}S+V zB#qB)H}AtR#MIZV*_hGhR(d)T%1jMciw)y#NV2g305wbA|ON`a+_ERN=YGrG@j`3}CIsf=; z`GvuK+r-;3-tzZ8`?OE3z~*h-Jf|2(H+`xYF2X=xBLr`;geb$$G?5dZ4e}cE{%tF9 z?d1a4sgY|)OV~*0=i~@_o8sssE$%Q38(n60=8U;j%FrJGuELv)j)6D7+bX2~0G54@ ze>n-&HKl6sEQr_OF!CM<46}wk9aw?D+1M|N2gQ1X-KRe{JQ5jqvOLe#ewGMXn@|YC z!e>Kw8_CPfnT;5BxMiknd1w$IF*5{6`y3q2s~lrbr&}l8*iMRwC;!!22_K{PH)M0i z#eV>_x~u)lALMHeU;orT(Whz+W+qe={?BvB|8WJ!9R_P&ks@X!z4$*5=?^e5rqN&P z|5Bop3;SzG-+>@?ZlL)Q5dr+!Zb7NMU`+J^qIh`K$k4o>{+2K2Zn*&PL(;u3L->=^ zA@!D=CqeJr9%v^!yp?*3W01<5WAa&gGRbnus}~b$S2&!UrF51Jx4c^fDH+peVr1rJ z3$u$b>Hg_GBW;(bX_aM|Km_0vn^)zYSwH4B#BPsbWg>oZ{g`$Uwm&=eJhU4DH{gSM zojlYc6~(`ie8b;K?)dG;G8jGirf1OgWyK$W&B9lMn%t|8<#UK=&SbvH$GWtUU>Fcg zrBzHJe{OG1{7C1u!*Fz2;cTCj9_=DdcGMbRRL?Fs*TCWn{BdqfV5$TY{ab%k4(`;P z^2li-=hi5RG{pUReu3{q@L*LMi5RW$iU5UEs;4z$a(-U#;};0FE1XL*XXcYDL^YCw zuG-vUw90vdD?u_k^BkkNL0)Hi=#yc?upkR}$X95=xn7HoE4oz?4H-^66dk+1GBiXx zfTj>Uo;-KqT#ZI?t)q8aEeNSYp?l30d#Yr0NR;zw_7Noyh@Mk;mG zO`~oh{nug>e4<{^)-sbX5>KlV=G(rWz_+mm`3-Vn7&O>>XN^De zYih^fTVA7E5UgOF&Q0@b%L$GT?Xl#IQPLF4(Fx_&B7Rc-Zlf9}Qo>Kwn!YwR$!*<@ zQ&iQeR!3cwB)4YGv*kJC8_r5?!+6qX8=I7S=kg0z06jfw6OEC5Zc_EFGk2w1rGU8#un;VA6JZb ze{wquVN%Sk2_JvI6^m=!Tpjr%#nt%CSRt*~fO}T77Opw0rxD#MNrdcRy^AE0}9&cbdv@)W!ta&H=*3K6Og%%ymj_JuZ&!Hsm(= z>P@XuwbT%RB3f{1gK?*2C#LIZp{o>gdbvS(9MvBLuQ9*X4!ZvUrh0dNLpA>Z7F9+B z1IA zxY<}8OP5p@G%K4L`^(FQ2KrP_PwaFMkI_pNz}K%M3t0HN^In@#olc(aJFIj*%Tp+c%^J%2R>ouYa(7jm)QWzS z=fz-7NXyP}$#`_Z?8%a_NTyAPa@MI^#`C~9RnzSD;V4LAqZ-eee!WwRW=Ey7O5&N&ETh;6LeF$15iDbM1J1HU z*}DHq&D^4*o~^SsZ4;=!P16W>Wv|*U+i5ta4-LD~A8=xg0pxtN z3^+k-GXOXd@X?C|$z7Q2^w?n$_b*0>e4OwD4lnXQ0RA5Xw>x@o7MG(1mgIAPJzeC@ z?n%$4YT^T%Q7k5keBy?K)oVrXCO5z{ZG1OhR%G(WkM}=*r<9uqHIM^*U#!2n4cyo& z@YmnsE4x=5Bip8!$1SkoCh{{|*F$5t2HQtx%BOUHlajxHaqtho?ag7mwfoih+zm~; z8xFSoO~usLZ`d1u09Ac)z6o{)y`%U21*wJR?Lp;g<8F(C?0a=7v-D1`Xd>S%=4tfC z2ha?`W~Gv%M4#VU)rx7caodA!U!Upk$CTL}t3AXG&6yP)PoGVOOwR>*IrC+VU$IKs z95bo1S0tXV@ID)*Lq1L`fq z=nnk{w1y{nDwGQ6%IeN%$6L~Di+2{%;iPQNiqJJBCn92q0;^NLM4z4O!QxyRBTAO$ z4}j$&<)!X*)Y?~)v%V}2{vp5P_t$)?9VL0IQyq_1S68M2q}-i+{1{_KmL$tMD`cZn zV_k%L!|Ku+48lX8;ONSl&F=BXt`Pw~T4)jl@YX{`JF;B@ec`sP7+13W4JH~ty(9*; zJaNhGu7mZ+`Msv9i-j)NmbXS-Hd^NX=I8rK5Fzwl^3x*4fNtns>K36=CGYdnI>Zw^ zlsXA+DYr1=lKk>_m^iSW#KESf;}zSPRQHxZX7=!@-53*83W=lU?T;}7M>b4jv`wvX zH+x7?ZDzGQ;{H*gmnC*}so5gAJthfJZ>Mrh$6jgF3b3uH>FE(FfT2r{5bd-;F_sk_ z%Ui$uz8;H4P2q=`DNM^!ld zdrg8rl`PS~?nUlhb};F4`P!l&9jB;_oN3e*O_h`b#k)^jxRvT7uTmK&!XCcZHZAt@ zMn5JkOA~DZA^m|-o>Q9-^T?*eiS^iIfv1U&6e(~VVSW)R7-$?#rG^YewC$14u4wD% z{5`Jh;z>I@;}UU`%+l5#Hc-lo2_$Um5z8h=G92yBh<_HrXrp|w;_=4Nm+4Kgiu`H{ zVcTBE_~^iJ(N`agifWzW1u(*(w7_ty=UF}1IdXoOCVusdtg`qCEoHmE z3c=yXqWrrXO<``Q4JMq$CbOp*O0}6qnzepvL+YI^A)}gd(2${Fxx|>caZw21N`1GqQ2fq@oGSb2aLl}s0xx2wA~i8tqcmrd`0bMmQqhD5p>rAgQg4_I zIw6N;q*~^cYyldERZ{N_u%9?lr^XBt zDgKN_VXk_F@uDY_MDQS3M<~ffr!4UztlGYOj!k)5jLlAEqY}MHXbk%RvdP(u<^4X( zxw}w~`5IB66++|LU{9$|+TQNjziC{!-TCabembexpYkV6n>xZ8*B#)=S)fAOyLa2Sq6VFT74?L!1Hs{k2Cf5xeW`Tta_F9p}zXr;2E=uKJjS*TQ3Sm zLH3Q5?KyVkp-9Z-w6zwcce}YZX|JUHiYxc>Tna2vr|z|%GJ8>+ee<`&PrX3Wp7fV5 z@eae|Th#HFp0|GlUu>3Ga2dN_2t~Y^EtE+J)2CO4C4BLRr3rI?75b8%dYnoVtDoZB zx(>$);7}?I$0>eQ6;-&_;bwf(eNf&duZJ3G5!K1fFgX1h-~@zC2W=)=3s;U58tV>g zF-+9VIWU~`f) z52`Q-WVjwg&zzbFT5;tX$3k&Lu$Cse=%-Yr6;C(l>w~5}Zvu4Hb2}?0z~ZoyYVh8q z&l*Ubq1nsp@?5o()J~dF=t4IT75t;fuqjO#`AU>U`1-*Y44+7)iASsyEo%a5s*2}f zkk6>WD^KFpk0fn$&JELsn1i9h>=ZVXP0TmwO>|u{vjRF)0-Eoq2wJ-z6P0n8Y1916fSg+i2X z^$m}SqstK2TLJM!z|a7l#P#V)LIMx`#6m2C%S;vD|C~{x|2r8qXT#0uudLd=aByWW z5LWX$?BxC}>FiaEuPyNkZc#YrS59%N)m8~~`OD|bCi6)?rdN3TUfQbR?br->lJ8udAcu%ThSPtMxdg3?$gQV91&s=C9;&2-lYDBIn*ol@i` zP>tJQ&yd#nbUJV#rqS~#VU?!xljj$U{#L_L4nn7{DY`gsbz_dvT+T!= zPFnJ+S7y_6FSV5Vc|EGi@fo^!c_NhxA7kpLiBom-eNJ;aMiGF!ucFSJW@qANyV5uP zjf`K@PeDd2AyZc5K>Rn_MfVS2Rs9d3w=i?$_Bes0QzbY$}TIo1$;#IGd-eR9hS7RU%`y7gEC~B z6rHMVbZd|VF4GSg?i)n^+&hKj^0Zae4~V?=`BtS_nDbQtt~x~j2hhm(GIFTd=4c4q zB&>;=Dxvxn{VS=r$;gvKr?}J;SHPoKmZW#JqXr8;LK6xT>p-%h<=dcvpv#?tj|A40( zzBla<3d}?~B~^0hbeEX8ZYNgCXYUoYa6$NTX6=HfFxqCMLKgq4xKL{(*-JO=LTTFbJJyDv$>A zXuGntCE_#3m*6l2;^K^vZB;7Z!)=g>xVQ<>s{rChb2{?2$t>_porDH%$`{`&3kDG= zH)94RsKgUPt2LkL;O>W|FGM$OzwlJ7jcQJTQtJl}j{$$i=gcmuVR1U5F@8EBxCj=# zPb?6v;t3SDD>t~@oj4K>Y{==LF_e8}!ao%=TUici$q^^^N$NXdNZLRaJ~xm|y}&Pr z8*aKr(v;=pqO?T0*}JtLFnU@Ns@(#gyl!6W4NY!;-qX%Ja-VU1mRAkBeOL}VFEQZu z@-gUKNt(Z|Q4QAjB)yQ{s$jJWmk|rA| zEBq+m88!VGn@~<8rB5>@Bk_}Il<|_{e##I8Wx47;D9SoQRU~l!D&aU2=HdZ4XU}lcp zg*odGO8efEnZ>~6{NSm8>!xC0O3>_!30+_8y1uosYoy1De z6bCCw4#I0c^9Nf^ve8Byp+Ykv^2Yg#Gq6xi=4X{WBV9a8K*Ov6hBIl-vbyWz}i4!CcLld1|0apg1?=U>+O)}zB82TXkM5*BLK zw$&87_$rs9yC&Yu+iIN^j$0V(%fC5-g*IL>mOx;n2$SP+a(e}ZS%agj1oTcWN)kU zovTh}g*iO642x`nHtukpQH{h074QiuoVg=MSsn{dG^%oEDTrCX9{Tj{likv7*bB1> zviS;w6TQ*|WxgEyr8c#l@VjZK)ACv;oS5HPMTonuHJbegu)aF->&usI0ur{RQX$(J z7SE+A?bP`SHD1u&)cIRBVq&mCIDm~rQ7e*RKrfq2NOuONuN4Z-C^RT$O36-o<)S$_ z+^Dm`SD*}3O!P-Q3nr9(uHtd3WnGTutFRf*4JE)#e*4}_f8L~1$A}7*SM&) zmewUKH;KTh&e>Kx6^Ir4tDB7WCDUU&62T1V4oAZVk!jeOTrgx<7bbLb&t8bB|>>npGi-nUMDZryuG*;W(jsPBXbJS zKaG_*I>7_sDQKzU5!5^59`I-_k%rCdhBaiAb)Yz+g56@|#X`dEQOSGZ91NZx0f6Su zr9c2cJT_DLdIe%tRvm*lou#I}Iau(2r5SJ9EEQJr*yJoqDuAYB`{6A}!+N`4X6qZD zLVdmF@b-&ClhkUB!g1g|J+?|?BFBhgtzj`bl9lvV$+-BbKUjHkp!gwF&lwyp9UTH@ zMlYXkzn(3bw%Ic@bL5BEIvqAflpyFWQN9q232Z#&)RjdirIajRL)&w{xXAaV@$7FS z>FnVy+qsS;etDlLxTvvCC9!;VE^7F9BD?ytUzk}Dq=u%bK9|p|*(<8hbE1a9#{26g z)9y5XeWZwvQ(?*4sC*RLI&}H?s(3nxyY_U>-W zA55`CLZ6to8~*N82}2sBcsFjZT$}1b(-W;yt>@I77BP(?dQcvt*5J-OQ&yk@SFTCM zWp!Eta}#aB*9yZ)MQLR;yiV>0tQu9XmbCr=9Nhq$b_U~3E<8Rhyd+xLY+QB1Yb~G` zn7IL@Cx_-%V$tW^`bQP?@k1AKp^%P~5`?VoYtXrI zVN(SaMZfh)^Bu)$KJTIy@hl@>87gBH0hvZ20r#|uDiI~nd|7={o9$`IbGOQu8h$p41 zpaexKHc%u77oD+sOjTE0`tw`9;Qh*ptaWF|ZM4&q9cXwuLpgVC=Lhk-wh2!CkwQ+# zC=NgU$XH@45ZGJKWiSe~l$l;=bh{R3N=nKzIGfaJy!+1y!({AA0xCGTIT!bm&LYf6 z*Y1T^J#F+ksC8d2#ak=iq^>^9jJ!Fy6xE-j9ZkK?-&Z1oOB}C+ zr))DKK!=3OsVbPL%^%Cy{_Z??8z`PVl96oky2^||ElW2FAcmgqQjrbo+S@pjji_s& zaLhr|lBfQj)1>~?)c`WNN)lJwhGGOrii;IaH#p2z%Og!TQEkNzsVcS*_hL1*E#VkQ z$v_NoYhJ-pAc}b&9`qP23;+YE&@+M=D7`(#_G@arcq^m&uL&r|10SPc)prZ@C&vZ9 z^q*Jde^8`|{`l`3i2tjJDPM{Zf8BBC`=s`FQxVvbja>)lU3(TMw2ugPOx)O7H|vt$ zNW}gh?7e4HliT+$3X0MZX-bveLFpZ(lh8wGp{umeq=eo?igXPLy_3*8gbpfIxi+4_TrALR`5h)A6 zEzHPL@<;5$7op`I7(m8~_m^#Z7V?ISsMU>I(|(+^uL!=A@XbWH9S;njTZ-;RMV*Yo zMg$zjhO|6TqoNj;`a6C@jR|WtmG|O`-dNR1_isl~CATN%Gi#V`O;^c9ZNQ3;_)iZm zXPtyZTjtQM<}NT+TIvFgcNF)xt~FM(pY|GuMs_AmK4_(mTL4jgi}B2|qBFFt%TS<0 zRu5@4WJ{~;1rJ}1884D-ae}v8uHP-3G08Lq*{6b2GlXic=?SK5}`08b7aKpFrlr`o@P?&l?E)CTfHKrgSA$V+=lAh|F z-wxohd(Q`e!?mB$0SB8ITV9pJ)~mMNUGfT4g?zFX=^@7?UhUdn=vZNC%mVt z>8p>*)_tQ=;gdUXCn@xF1$SnTsJA|U|ER>$R|m4X4Kv=%%_uuA@y2fP(6uC-;!#!^ zsFs6|idCu#y`84;G@XC(_?o5FK8|>R?Lo2xU!*WtV6mS?N4S=xEI{McartXOIhNug ziz_mK;X6rQEw0sMdsC{>Qg+2V#}wK%m$0vS4Y#OE)(aXq1__=WF~YyLm3=cg%2-@d z4|t&q@eHulZSKIkZNv-r#=}3sr(#fl`Xcf!B9@u)fv}8|`grpsxiJf|tKzd<#@f@S-PA2tJjD*}@drG& zoxn5)?HOQ`FJB;CmS&7n4QS((H*?WC5xXnm7nr&Z`JTLRjS)P{Imu7$Mol7c6>2xF zkbF0NNAeFM#${8p7Ue;yoDGOuUm553BqqZck~d-lsrS9(QmLvK6IYy*-{n^63=c@P z6zvQ6L!V6!tiA72obh?QhQ8wEo2g=-E`txS#yHIdl^^QQYxYBVezX4&T z-Uv4O|7VJX1LDb;BsFGjKhB(bqWNV_ty}VFpmO+^0-EG9T&?2|qOf_@t{AJ7a!~}I z(!JN~4M88IPu?D|e>mPh>0hFih2sJF#fWd05F(zgGb}3H-O#nAG&1IYQ&#*W^hUO$ zc7GMx1l7K2?Wj4P6M*{@z5WHMoKJr0R_!7$WPAw7Z8B+OF(){_fBQSe9K#*5WHsye zuRtU520P(D_}W#YjFPYX|A96VAF$)EmVNk-=I>M1|AG3uQ2$cB-E9RBY>Sv2I#vJu`JLB9)z|+vAC{jt%v1<0+;76GVWY*R zG4tQxO1VkSKTel*|H12rLF)loA~N^#%nU+}-y z8I^3i1jhaWNB?WxQBYdV|6i~~*~k6zf7Mtr96Agb|K;0@{%B{*zX!3~QP5G%Yju9c zS?4cn-w&NJe|OgPP6AO?kR0T{ri8iD=kGZn&#TR+9s3vDjj5XcufB@2xBLtC^TGUQ zP9?+pB1{zj0pFvTZiD<+U%$j|{|o-t`aCJaeT!fJfaU+O&ZzW4Ss?cxaP+^{|Bvf* z;;;5#^Ojt7r7fsP{7((p;85_h#qud;204RZl`9@Z==vk_ld9HxIgCp4Ge>5vYZt6C z+*Covn6(hkpxWvFqKgwE_uMD(ufGwUt|;2FC||GPok!r$y!{_YVgA=W9sY0x8zYhX zEy_e4_M9@*B^Uk|-aU*zT=wf+v;muD33%)T)xyW@%=7H2g;zqdF(|ZfC?Vhs((#_# zHVU1gMJ9^!Uczj@uH~R z75y6#ZF-vimnp6q9D-|DwjVVV3=6E;Vtz4U*V)=Jo6^O&L6rJrpCwu7Z0e{x4VDB* zx!n8t+?>e$9lJ$$MS%8S{!#pQ^&HH@_l5syCK=io>rqPx;GjL7_xW{hJsQ7pn6L}M zDfSLEJ59I7S>~pUSz%SVd|Gj-UHzA;q2ip3ID(JGwS~X_1`NLDyjeAWdm2KP~lFUL@We=m}M1hm<3i{$q|=+5nHeEK#+x=)aKNxW-{uY#g@yzY1r9URHI?lI=~VJ&PO zdd!%VP9Ejnh)k--G_xO_Hl`@MBlys^dh2Y-d$Ot%gN&yXnMZuuayL1?~do;{bym&yRJo5C%Cj$H5|IH)5T{@^}B4C&YTq*k~bNG3CR*D5;5}xGL zIX`IBKSHOf{J4>7Bv?!HckBc>bo>t<(I`{e-xXZOnYEk$Hk8LdN;`$Qy zYMnYr@qP946t=;#!77uvW>frmJ2eV4yMg1=$S#x^$;v~iJ9U9afRvv#&r=IXisTZs1fa?c{`pE!;n)Irxo&XCBFxAlB zu^|K8t;L(+D1JBEFn_fOt+ADmJyAEL*7%)&sVi2#B)x2W#}%j-9cCRtRZ03u$$}&X zga}%<7S0$q{Zv2Sp<4F+&lE8M^9W_3$Y!1v&_Z_3sFU-{3m57HS75;S}50ANEi zz;>a|rXWw`r*i4q5>M|Sl}{-LS0?0~cFr^mZ;%X!D-vLGt^pG%h%4GNf{P<43{T;O z!7<|b_~#=c(2o})sW&liQw+WL8X}Xda*Fl0?0i+T)gtb&<>;*N>y{E5f7ptR9qK86 zzLK6@qCK%?H=>-iQK_EIJ@G(5mc$QAlV|oL%p|TIp9znNV~+~K-83FpI9HVrkn_g2Ub22JTMw>VBrL7CMa7_rq#@I0BYwEGgxJ<;%u&B=HVP9yOp%uk&U%Xe~` z{&Uv|AZ1r%XJu$8`YkWtRT>ULmGZo0{VP17vG3)eFs_2}aoL=I{y{Oue*0C<1l)Ei zo60&MQ!whCUbYtBvy;+i{x420mWVbfH&vW;7GzY>KRepq#yqeiYaAy>d-3aMy0BCl zibqeiDgv3@!?3D6$;d=9*7!E`0n7Y=X}w+b1yjD>FK%dB>>DwPC7P(I9lQ;It)-CH{MV5>MSt+Fna?zvL{rAnj>X8zPX(3Q3F<;rJoAx)(9tUC z3D2`Ix&@eAVhxkIW?H(I;FBRo0gr7969P6qg5;j$0uaet!nV-$$vJ7 z!;JuC<}e2DB~fqf!7*T^)-zZ!9>GrIq7pD1OcKz*$8A>k`g%ueJ7n66HBmDQNHtkj zG&p5tN0kg3NP%pb1*Y&RDLL`4mdJ*Il*8CxG`5yEh!$u16Z*hK)RWt19Dr@=X!Git z7J6Ao5jWMmIa#F*t$Z}La+B|64v)?k&P1|j5q4V~2ZHmqQ7O!AZ;b@+=;(s>N&o}; zXxB?@!|CEsy-?}&2lk0Ucy6#62rCO|QoNc#5 zKCQ|~>1TOXJ&@-e9uO0yFM<0RJ@{tMf7Bh=ing&n#~v~?X=HhV%7LX?eCaVJ3kJXi z4-!1|vjifM;FpDV6#gfF@c7R{g_|W0a3Rg(^t9G;v4qc)ps)MNmfqpV(RiQ!p+TKDGO@l@6azDd^Djt3Dh=zQJGtNJ;1Y(3^#xW$w?Sxh9U=@E ztMRZ~6QBNdUEoWFZuF+ScbqM5O-(t)&dYQ7N(RGfEt} zdh%pwN3InquJ$>6Z?#{^%7HhsphnTB+5l_@aPO0r?Ro6Gt&C!S*~mhFxdGh*whzi6 zaoh9?$`ZR`kq4btWm8+wdSjhQ1=X}ttvYiz9E%=b!J0mRkAx3?DdiQK6}3Vkn*5-|2Q5 zgk^G`R3Jykp00Cpz+T>>8L~+(dj0u)t{&b#VRwXy@xuguUDC}pOX>FC6;KAumJWRHw-HH(uB(GnM)yRi%(JqZcT#nita(yee{eCleMpt=Xv6V3u2|hX zxZA;v&W2}r>f9`yTYw%kf7Qn_Q^W#Tld_n}0w;En{7br42^#ML+}vDG>jeaa=ggC& z3#brW9I*%h9)3?U)q&Gck)+)`nnSa%LLsZE2&!GVOXom0_n3_b24sviF<|wGYvOL1 z?XswyZ)hPk7XU*#ITeh|gDxsYN}rph8dHTYK&X%eC8%Slv;JMw-iriRJ6+#Sou2lF z4#TlN1>KR6L(Mt=>G2cB-Kg4=T;=>>A7hbBeiJU)iM}#|4%v`WUFy2{p|K{Ba`QcP zRHG&#?mv`v(IIgqX)mVk4_!^bX zCqvh0&Y~)r(?Nb)o>GA0-q9`tWkDG777?eaiO3xJ2%Qls*`jw?5|*Ko7&UHDtj!KJ z4BEK`ZX6Jz(hZZQZV$jDS$y8k6{XK>XK8UCR?0!Z1%7)rl~TJ6eICez5lGUm3yfmE z@m`$bk+sk6$NucIsnpgOl9ZdauhL?ZoUmN3?6m$y(2SOBgs+|P0pY$A#N&71s2x}$ z5}gxMGIPyEzNaG(z(h@q2{1h#-m+YF&Vb$Pota(B7zX(R+FzXvT_<>|t9{KG9Nt++ z*Yxf_>-KRHFKz6G8=5d(+R;8q#-bWvzTOE$2G4-638>g(8r;&aNKT5Dy=j0QVj86q zQrtYKi4y^HEmGYptvdn$R%mj!W?el;PS9uj@b3YeA4Kj3fHbQw2A5GfZI3y)Ut=j} zP2#I%XW9$5zu?J8I%^l91u7?;3oIO#Izwxx+XJ#SXq_ARDq6I%0=fEsD%3N-TO7B8 z03?Pjx*g0=(mSrSgWg@-XsOXKE-e@MIOopo*K+;krp1LX0+~Imeht%>zP+&T4;Y>r zc*#Al)i%{Mbn`Wprf7P?!V1j?(!ErYWvv5eQ`A-uF$|Wk3EgOPx0&JZ?rmCGW$Td= z+-W^2b!E7SDr4xa)X;58;HN$GYOH#d3!d!XYWZ4T43(lPheR$*f%+gjlV;bsr2<30 zjYO`*C5j!>IHIYMIp-W79DLsmS5$Ra6duv!^XO>mw)Nc3lT{n=KX4hd%U8DavHFOf z_7``T<5RB^U*Bc1r0f_uIpOfjWfgHhWaw|ndOv$U{miq{BxL!yaujxR#j5D>`>ZV3 z(ldaEEFY;xZe;+Ts@9x@V>+fWrH0pPghWa=Wq`(+a(~kSs>*Qz$t5fM zmF8V)5cRP;U-|&wG|gm%baKJF2Hrbd&%U!JsCvApZ~rEcOL;Vya1vl_RWem}lBffA zD55P}hC%s3NtrQwOn6_ViCTO@Ho0U<`Xs!1fB&d;RhQ=roXYk}b}dzf=8gWr!$Zn6 z=T{ZNh&@6x^ViH5fXBNAg-btv?ES$TSgeLI%4tB_`W{H1om%IrR5wWm+js7MOs(hA z>VA@`7ArquWJFwssu$+hiKujwPci=bsu+f$*~xwAXjsAlv69?!Du+X&O>cmYvXGTTz-T1D$THSj3u07RIu95cS$|yQ6<_^gY`1l33i3e0ZLM(A zD{?n}^(s5@_Ce>UqOGgX<2Wq}NYS_hBZVf`jUGG5?L=7Wnzy(1P6IdNQ@2aFWd%RK zBo%KlDk@s*4Uz>p4!)8UXlOy{0J&c7P+?fVi37gMs1}2~8G8QUK^2{Un9zy=V75cP zFlFFO1GH*<*INdF#0b-T+E|1+0`Q#;W6Vf6^s}*vw*-aWw-h#49jK-cSV@7GT3p(e z-%CB_(5+}Mp5(uzH;i??ql#!)*L+2DJI_=}H=;a{cg_*%{uG~i(0{&YzB^SnZD*y0 zs&j_VOyI)xRo^y24mk9}q0Fj}Ol>S>ILtmtqM>)u&mj78+}uMa;}G}vRaXYljpPMg zJ7~&NtQocXF>@SD>+gw~of+$Qle4UO zTxJh^!cucn?`Q_b?Ttlg%pyfr?p5YB&O_cQ89LhOWKVbtKw>d$oM6nvjzOXE)=xQ` z^HrGV>6nYJ(9#}q-vsSymoUZA_89r_a=kMUM^2PZjyuC2?4{0b&W#@MjG{xxSQP3M zLCui7JGUbh#h$@&J0S%889_1%B$8#$?q%t1_Nzp;wh1UKymYiv)dNEEy{jGUd=q|{CtL7o6zh(Nz6f8CIC+!CBvrgN zO1E0ka7I#MNhRiPV)szkQ@0ZRE3p}gM;A%Kk(kA9cwNk#_w-bW<2P6{bV02tH}m(e zA!C5(x7X+7E8sk^z3Ze=MOl)8kI~0YB_s`>PAMmj0*dg)q@wSY;>%4-IRKo3`!e|&?q~)XKWNY+CpUL0OrGy zn>FdM=X1k~U6v(g4z>0k!Z$-Ndu}L{Ej}1zWA=_Q5IDKo@P_nNIaO`zP0^|k0gn7EDsgF33;b2@Jo`thZkDfdYl(b1z_JbGZFHl#xLn0oj+CV7Bh4Lr;^xv*P+KIsBbcA& zWHV-&6$_KdpGd8oluartjJ}V6<*>L=td4tuO!H++}axtUlVI%G3!qca1Eh_Bh;&I2a!BspanmH8fs4kFj4! z50Y)fG60SJ>D1dcX!on)zl#jSiYw&Ok5_$F^AbzgoL+lhBQ%FE2WoW&?G_KFkiZd@ z$)YIwY;Z#uJt=2e(R!$yO+7N?1)x&Ae_+l$n&P>oG6f;CM2z_6um{(f3}w>{O50XL`! zuq}qJa{Q&P9 zv+~LSz zN_C_3V#-gPKR6pG{eGY9o(OyL#WVD;MJg5$mRqKk?leo;yjOVpfO^c6yc5BL{C0OqmY`GHYutOG4j zMl83v&%-i@#ablqTKz)f4n4e`6*pYlbUz_f@FNtobd1D*8_GKG{(%+bi5!ElwnF`rBUr0NLw2r7K*sg;AcJyF@Xs_5lm3cUu^MC>)yb~18J%q|K365H5yGq!Y^Rl zDiA}a{&K+gshl;G%2jW0V;QESIAP%mY%3|{;%7)u$|iVqe7{29Ot`Bs(X6xUni(7& zEaAC!hdo<-^eC_9U>)F{d!S;cdi}9)F%Yd#BvU?k?p%>|fAC!1#APe3_KtCThQMc_ zJxf}qe`D8ATzW9od{X*sBH+_&9D~tM*T~=XW@E>FF@NxaV;e*5=>nWuO5g+X%eRKf z^h!V@>c-P*J~#aay&-?TA5B$k8>^Xjy_IHomX2(WADXzv37H(~lNNZ|v)HHxsCT zU)|dZY{b>bn^kOIyue)+(%E}cYv`CWVKMK@-yQ#`r($kdV#snJX7?&FTS78XZO+Mw zXPMYb^%kgDe?ojF@z=42oSWkG;t#u+}(i0sW*F>geO8ksRWaCr@k!JhFkGN2`Ijg)B;b|!ZblJ zPW*KW*|c^0a)+u{#~Nx)Ze-(M7aFrFXRYWiiv&Po0+}1|`K)oOv1XK8wE2u5&*tly zF7ETYHudHWL%6*6H~v|Dz{6idv#<4v4LA3N(LICpGBScOXgsRBk&P2zz4y(-qx+e( z8P)bS34gewBEJxN7p<$ianjzvNSY?!SwEzFTwdxBZCPv)6RgF8R$p zU0d`WG5&H(l8VoDQL3F;wPdZAR#vd)KxxM2LV|KwjXeO9K#dv~`;E{+y5ZE@mT_aQ!Qmj))XI2&3o9CBvzBl-U02C5z9 z`*}nIOWCG;Z-0*R8#z7C712X9zGSQhLp+Ui+McZ2aht(4v8a;c7{FH`{yORfqqDg# zp}BD^@HK!%h0$^DDVJIE6JUO*6~<0yNy^gf-k9RPtuVV1%F}aQX#)g5zRohL#u09C z&A=X!?NVba*;*#MQ;U`c zQzf_k?k(=&WBcT+=mXjhhgvFLe&TFhJOP6C#0PA|{T?Au#V1{_9iTDi5Z-*NvZv!~*7q#=xy4U}_y)R~*!fRo2)^AOc5;I_KBUE^i+M9$o1GanqE}1(Oo^UwDON**jHfB_o zxAg7*aFZ4?-H^>cpO|Ee8U(MBwIZ3y#{w)W%S7T|WUbn+C+ej*FEh4GxmXoKem*jx znV79vF&c6`9U6!=?Tw-5uUKtgYJ1~H{R*_d534$<1edKkxw1J4EI$J^#lEA-mUc9% zPF4Y^mZ8J_a<#jrMLu0g`k9@;V3RM)kHlJsPKXH*#a0T>eoX2pG3*iDH@$)_S799}BD%n#BD#0s0nGztqWv$paql#RpA-4F+zx=_GNI3dr%cG2^R(OUq?p+z zXqY;sWI6_oyv;iwU6kA!B9En09Ltidl2|QoG>C&;l!Bv>5`xpoM*bh)^uxAODD!7f zyX#$oN83uoy1g5G9I<6hYz8OUXGyaN zv}tcol9|u@;)G3ajl-YbFcFQ)6vMB>rJ_=SK}f&09@;y2pjV_einD^h>>odc)5C^C zB!;b04rkO#T2smpyDw!p#Ds)f5Umq)u6J0Yu;FjYy!B;o;l~#)TwJM5ST8_wccBu# z|Fg%DUvhR@&wp)#lH%oH-~Zs~NGC7an)A=3Cnr_DPP7@FI zy-(R_Kf_=-H*I|#<%PD#q)wuJR!$U+3veJzs2D-fxNAy^Mb+d{#7;c%%&q4jomvu* zL%fG-Whth%BrH1ia&%lj`uYQ`U9^2Y7Q`odm3tB-TUa|pw{+8L*55N1#6A=p~lM?v=2Ebj8$QrZZ))!3vRN=oRkC-1H_x%a;8K zxOSV!fb2=d&|rfl5dMYfO`MtLvfM~mo>X{+?$(TxkAv8@&6>`e^ebd$EZXKN&?nuC z->8VYC@uS2jhVj?8?S-O;2v^^MkPYP@{8^xUo#np9;l>~%k|WtK6jB2|7J!n6|`uQ z#1I4{c8Z=Ekk0?aRH)ZzP?gzB;Z(I77uRy{)3r9HBFmxo3O=0szVXO+N7U!c*fo3s zMraqrTAHY3or3V~X07mREeV4G!=e*VC(TnnQ|=3o`#*edvc_?|`0x(i`DBF=5S?MJ zHqR`=a%NKuj7@GC4-E^#_(+vVfSs?D;>Ms&hpFo;zs#%u;5Ern4%gZXP)Utltr$IJX+?P!0CThLscx{{X9)v7bnIbE0Lk|{h zcjZj4c!aaS%|EIRLsr{sS*()Wjf$!O#oTDSSrvD|y1f+e^bdPmk|hpl{_d9Y z+u+q`!DB`zU#5}Dr^*_BAgz3icoF^5IKL@uY4d(n-oc@3y#CfO-}UGE#GThSjPT^?;J*$bdGJ09O}OHc%hOouMS} zeZQ~v4_-0w=}(aL&GQ#^eS#{8-XQJrHKv63nvHX1!_nsXU(jzv;bClii%z%0HR7sw zxn&m~U3%m4DqviH@TR#HLr|N3Ifsi?!TySo81=Ekg?>Ff4;n(3rnE!EN(?i(X~d|ma{1W!gt zwsnfW$#dSgV+cEaMd+sBj|l=&t4tl>&`#Yk-x7=ERXAR#R((3b{W zLVQvC)p-8Q#`_j=PzCc%Cw|TSaZ-*j5wB-0scWjkHq>0n%Ey<=Cc%jUt_%q_}seu6-pC;!!d=Y}q z3iECFK+0=}2;AThyW+7Wf;t}VJOsntU zQ$C*qdA&lwgX96BD=KzPLTKm33!Y}zgm+Wr!Fz@WB`e1^+Hr7?y2xAeU|jVO$@|V* zB!=zT-^a1c2(5a5LyM>GsZ*_GPE8z1A^O z`dE-4pB0{%5j4JAC1BW`fV`gWZF8GCUzHd(arYWFA1`$mSRhjPgQt5qb~L0HqxkL1 z(Dg+*M~l~R_CSJJOe435@>R=>;2B+?n=>4a0$}(ji7W=26O19C29U`o74=`VX(>d{ zLq-nsBu+QCjs}I~NQL?9wbYs*jrI)qdT1^s`Er*!8D)GvmC8yI4jtuKr7E9kn={WZ zBlXQa*t+ce74LLFDM_4_7{7mv&*q{d@2eSDW7b7?UXn0kRM{o4oKg%KbsDH_G{ep1 zcEJ$QopAet-pS$1)hLy0m@5W$mQ9!M4VQUSfWT`Ru-AfU?Q)ru7iVT)szIx`8916s#Mva2Tg{OKC5?Zi;qYOg|I*D+juK!PO7;0weu8g`SBI`zC^v7 zl|3$x6JR;XOl@yHeBR<=cwg``!C#z_-ztuKlfo=D8(GRLiD{NGG1p{6HV?4Ei9z1` z6V2@>QngL@h36B_0_)psbNNlb-$;iafmgaSgTgCNw)H z@%9_*XHuvA3&h8lK~&X`zj3*P)*{e%Xdj~=ms!@QG+TxMxJT~Ij|`{&yj%Hu%Tq*- zvn4!b@V7&yg+rN^?3rw)bYt0YjRXYE;^fi_dMX3ZinMu!%_CQJN#^lgR^IoQ>D}8R zw82cN*P=?32Rllp08_%yywAmzdR$2QCK6!UvgUY?U%#csV1lQ8-~PbOzK4NPay)nQ zVGJj*lGYz`J(1&ScU(Jwa2EX?#$!-ax)u;G0THdOt*_Rtuqdq($qA`iB{Y1kPYmFfNQRT9$DaHYgFxelwtYolJQ%=mPzzUSPV$zY z6o^0}z9-JG(GwvC)fFJ737J}5*}CmeuR&zZ0mM>COiWj?aXOXTS_uAb!4-K8H!Ni+ zx5NtIS7vGS#tWup6q(Iz_PWVh@@A(N89hoiz6=79Ahvb zm3mrrWZD;enZ75P5t)-9YuKy{Po#T*z2e=LKHr7UVRlc81M{GDry3g%&2hw$hdS-E zCi_29AHHq~hq`&m|H?R6i!p7ult;Yz%xqF#e@XYw=W?pmj|WVNIp>;}UJDd|Ft=21o?=-_ zDK12S=j|3$>%hy|PLNE)urtRF-8W?@nw?(`uWhW-E;a_iOzfM3yS;>O0M4T8f$&^dnc!^ z8cH@LT&bOANPT)S4P>_MIYYg% zFTPPe%y!2TQt8IUrttF4{bOy@+NtU@auAKM4VqqF0^>2)zRp(-?>K*NTkPc7jLD48 z%ZyuGX*C^X2)!$_X2r7Dto7EYLZlt7A^{=S*`?p$+{-b*AmDHfnrsQeK_W%dowc2L z4*!LpzkNJdwlG_ir|=`Lp~e#puxt@!6kS6uuYjxS{g3+<#-^@OGe;uU4Ozln`@n#< zS2GR7?|^@Bwlx1YJSL9*RI$-tr-%MhotY^n%O56!a2Gp6&EvJHE*#5;OBzfqX=ur)AK(a2uQcOO*zl<@a)e&|se zt8M;g${6H#l{); z)HB#kM{fCJAm&8i13WgYSH1D?B~Z6782BV?1I+jo^nF&@cv{Cswuyu+Q5Ky?vS$ z&8$-OW|QJ=xXVOWw8sZWZgN|=DMh_O4-~ZhPQ7)oUNm}3akGitYpUVTz%(q>&yAP zW<6qNE#D@tkTr`m9vx0OC}KpuiS@AUh(6<$(}=aUh~)9Hd4HAjD+kzca@241X10H^XN!^1HH)>rG3a^FNPmFE zF`~>1L%cf?IWnTng{s{2bJg$-4jeL${Q~tCc^?>5Z&DY4?Ld9!kWCM0b&ppnn58yi zB)-%d#po5u$Xd9fWFfgW;g$#|;8c_NGxdx;LrQXk1I=!iJxl+~hT7YljoKJpjKhfU zrjJ|Q<>sy^_NRWMwVTH&TCJgVeoDpYxi< z!MbRZ5zAydJybcwqXC_x>$J^f;aaS|W^SMrUvl*8qkti8=MatYljxSVz5|<~WVfQ5 z+<^8?P`(c5$WThAZ8iw?>$Bh>t^7Mh00bdjk~R^{l7zb#RkVTRjxaReAU9ow3IuZD zn<=t_gzL}af}faDRlIk&yI$D?YR4Hpj^b(!nd%CoQ$j|9m_PCRuxws{x3+l2uufCj zCs{QO%|$s7IH_7OBGq_4c6tpP4PI*sV~9+c@>M>jCF7c-MYexfSJP>U2NqYQ@XOa< zqx#_9Y9b2jECTpH(Gw;YJ-25VjKX*5v$99sXk=o|&1#N4`ocGb%z)WGuW0r^mGVFw zujds{c&sxdX&X-NND|wd%RCS|%+kiyI@2v(>8Q{^dplIKRXnllg0s(@*uYJRt#EXR zftBb~(VMV>!1wY($TIuK4@CMra6z!SHh$fA3;VKM^$Oxv1}Dzwr`4Z{Px@-b3}RK7 zyky=s567V8!Gobgq1# zlO@P-Pc_-^3GtNIMBuCdUIG2VLpY~l8T3?*>I*9bkN!P~#v#H5VYN=`^xOZd|&&AyCQr$}v zr+j}xG+*uYdfDG|E-rm>SEsJX0zvKMW`o*mm~ax-$>SKi08B{3a#%Dc;x#-2=?50K zR#no_n9O@TOpd~!DMaav1HNuM0~}VAG*b9Y6n0T)Yp(ai&?d$1o zM?}5C9BYP^64DhNiMR`=)$-df1tBlg{DzD(C~n0ZseW%XE=?P@=qGM`ipH@%Cmp{RV(?xge1cWc1)V6>@ zPRaM=^lW=MOIsk|H=?3fS9#=X=@{~7x54FM36O&?U8x>Tj*?`n8T1qw{hk2Owtjw9 zUBz(z&)=KH9O73MOvXM(^LJcq-%#U&Qlgj!zct>Y(b3T!mS4TVIBJCwho(B;$(u3~hTF&eD{4RW2H>VdVuTS7 z&9rgt9AX3hQEnp)xO}EVT6Aj7|&iFR8UMJ*C?+22aH)`$C z!Gd*%;kBLmtE<;vaK&kP|EX-Fco|S>rF8ifeL?uWzXC7uxJwsfVzQOW@e7>$(%XZ( zh6|ih!~>S*QzE{x(7RN9feSqHD&I#@F>!YfHVQq5-6kt}N!)s77DERv{B)-`0{JNI z7T_Yn%~txJ&#Hp@`{2#r8Ecz6IMN{QT>>~am${P=TJ84cEktM%L^+#4`d*{i6hgom=$MAtaFC01qOPFVq+L=F6Ikb^=bF#-cBx6Lh!O_Yuu* z5d&QFs>pQN;ma~79DRCSq+5N}8zbHw*o?2${q<`d>mFkXwm_7+#5tcjrs0>7lOFN9 zyjHRF*5i9jIs0AkdQ4NPhcV!3j&|i>UGY3U>11;qycc7rjnW!~fx{VN`c>#Dk{Ebc68s>VFrg$3+-G91Z z{i9yi$hYKtgap#t(2c5BFK9(I|2pQk?b%^6*<0O+S4&Gz%L+C$bg!JTFc9$QrRCEY z1?(q@6#O^#?mMWduhAPlDoRn5uJm3)mrg)bkQN|7=v{j6gpQz6q>2y-y$1+gdPlkt z2uMP2(wlSvDdNrVJm);;ecn6s&N+AP+;{FfzyJ1Z_TICycCuJ|t-U_qH)y_}3qHU} zxKVwfZ7mO7lGdoSFISY(tm;~vQlEMM!pmmS>e_E1!-I4^veP(EIUT_ke-Txw4fr@H z+fdxwl$z?{ps|+51CEx{NMnCU>kp;OCReej52Ug`mc)3DV)oLa-zj(&vkpSf(tta4 z#qq_aGLfTsJ0IFS?I$?CIUXlRtQ!PFYWdrqq+3hQh4Tko{SN65Xfa@d1{Yu_N|A~#Yrsdydj3_K@1-f`0JEBU+$EQ}I`-9k~OZ0a; zKk#zS=DTiFT4H}I(r65pRi(rxij8@x4CkKCc13#IE z>Sy(gV!gdSovUG;bta{stcNaW4JcL^myx>imDVHrHd!NKMH1kwW>3ELtZ21@j+*C} zxATrdyBlYkQUis_;X4B@sH@CHV1k{$D-|;nseMX<)BIP}O& zY0~`i=DDBKlA{(T;een+vGXKbVuW@fOen%I$axaIblm3U>$Xu=AmICp7##c&@0U~8 zb!QMR2CW@+Ea4iHnep_14-GF4Ix<*`l{Jtxz7ykW?ho1&)&DJ(& zz1i&CNCu6u0H}u3BYqFi;eZx&DKlnkpBA0 zH&Kh@BgJqwQ^k`Hw5RVR74to~=#RV}dqfwcK6ur+BgQ*arbi`(3U}LAqsh(HT%nAU zdNzU$!?!0TO-Q)?f=v0T%bC)jahXC1{$a2gTC1a}2S!K&8CZbu{nJD0tBv zrEkow8u=<2K)e8nVyPp+588e#UnAm#Nqo^wn+BD2+#){G8P&E6KE?jFC!qj9@WeQN^~=vwB{IVn|w!2*4rY zel$T)9)nGv`@%BgO!vsEMdzwn{@F5))&THZC(zh7HpTIt1%FL&` zhAC$UPH~SzSDS}QUMbNuRO@WIH+bEtNqehf!rjP2XzX<`u9pm!#r322kqvXIAkFWH zt@>?jT|cuNP*+Bw6#E|RAkpK%!F7R1%FyUZ*Oe;Doz(zHNl@O>2j*3?6YGL|w+?k)2>BC_=VQUMi-B3-oC~CG<+;3Vd_*;TT9zem1x;jb!L?V@GC?$ zONomh0+*jR`Fk~!K7GWt!b6XLIZVPH{KNBLRxWF0Khx1}Q*n+0A5RqmgiWo%8U zOG5kjBOmYi-WS{vXE!Dp;wg|Xsg-6;+kPcG$}{^esV)2+rP!TKhS%?IG4QcYsP2{~ z6w|0ihqyIL@nAmJBX|;H{gLN^NAD$gGQh&gF$XcV!gS9nF5AZ-()(2^*{Uj826%3K zfa=Z+g^KQbnQHpYg|p@XtMT+~x7h`HqJfXsu!Gq96I&3RHEZ6ak zmOjbT6f&R6cBEd>_qCLOx^#*vi+il_9+dhc=xcA5YK_e;n z<454hA_QS!s}>ZHktBET1GtjK!OKIIM@NDhmL>6FOp&#l$I$Vy9))KCpIzxr&QQ=} zLGLS5x%4>uP5R<*RT0f1_n(NDsz`)+{h~_B>>NL=jM4>t(=Ac%NJbB{I4qcLyAYC; z6!!^`*Y95^Cf<5d6=@I^uq<|<-s=o(Dgua=zWVYe=Q)q!mFn30FFTZpM4-f%pu~Ja z=1&ZKY`hiVS6_WPkOfNOiMtV$<)&hi74CFMuiKJV5 zAVg%*?(uA!$axcQ@$JBKwF}c;)Tb*H*%{xo#9d2!cC`s7xHW7Z)de5|pHzOMMA#?b zVGr>Lw|Jk8-Kg0iDLh3-BAWC8!ar+2z|+Ny951L~3Ca7v9=O?i195@w<%*?wWMN># zv{nZ3&k%7v)ARKa{V&v2-ita8hI%FnhQeOt0;&}g2o^_&5hM2&2}~}qZf3Q$(9(>} zjJH=!u5xK#3jr9a)Uz!mE>@Ok>P7lbNDYeTuu`}4Ht@-ZM^dXjq>&I8yCx+Sryx5Py?5tp3nVV=3@Ei{?wg znxI5OgOlSl*iF}{BugiYpeOs`Lz(M>@viQ3=Ch2q>)a$g$U7gR<;a+uYA-UP;{&~X z18f_Rc3#1#23J$8mJHWY*2WxpIZAwqf3R`LK0zUk!Gj@$@k`xTVC8M|G>ezdi9)tw;0Tfvcu$)1l~x87CsAyn`H1W*pCw;T%(oX@*KWz)?m zBOmqR?vt6{hwwU5ZolN)IpsAngTvN!k-J1B$rs9T3f*i(Nr~Uli~e5s>j-E!o}!*U zmiJ1&{WS%Fu{OfN$%vO6!pD2$zGO)DMBM8XAXq^^;1@0|^qG&M%jW{;>h9K_hj3W0 zIYuJf13A-@exRjBQZsj}P&Fksw*MD?OU2&uZwmEA+Kj1-!nV9Wcsnn9LXH!2{@}gs zM_4>y^&I(N2Y0!_+Zg40EMQ(eWi#_%k8*BM zcDIL9O-;}qgt5eu+Tz@`STDi`uu0(4J?B;q5nstnss}G6T+^e{>VTUkA7HE3`=J9r zLw@|htB&OeV}7tW18>l{FgA4WEvINa{w@HTWC5gpQEfdv>ynyoQn++`5A znxM=cWQVg9nV_OKUctT_EoF8*i@IY!idkNYX#?45;V@f6lE`N9#$O_B;1$1;!{cw3n8V?cWI zwF-T=6XhZbJ@9!^O%VKh*A<3ohTX*dcV@*loE~QllP@f5C+U?d3nxHfa-C8}02Ntt z8tW}z2=4=u0lHQ^K>{~pagdy)%{BoCy<>iN%DZp?&r}~onMGLz%f!NHkk+2yJkEjZ z@%F=kw-F_ih^UjK-{hfB@w9+2+~W%eu`u@gLv z;TLP)-#k&XDqI|L8>5^e~jr;(0 z5pMU!wtHb&#C|!l?H)GYeOy1&?)6JsPM6G{WvFRPaisbW8bccvKsw*?5%SR*j0A&t zdKdLKNZx^~y3I>`?t)cA=|CXqw*XSQBn#suJ%uYkpSpUZ8^U6Rsu`S{EyLF>1 z&pDaec}K8@HalTM^>;({s&mJc65IjIZw~y3;q(VTWP40F?RfoO8mSw8mgN$d3-2I7 zk8r8exkcS20%(wxT&H`pA5bVM)OxLbeA)nQe(t0HW6;Oip(b7(4CEQ#<#r+B(Zb_P z$|VS;?Ni5NrTOrRcJ;MC2juxhGKFO50w&+5<8lnD>bQm(82R!CFUJ7QKoSa^Jk$7mw|m4<`P*|sOiU;}iXQ5g5| zl)Czje};z#G{-TZBdT4>v~g#UA?v1$WU^ssHbxqW`svMO?%Q%&tO1ihxEV7i>I<6986=5m`fg7TKkV>!$$m zho%^F*BDmF>>s>r29*be(2qYlUwoip&r(?lK!5(3k(r*8s)Jn}^5|pa;ksTDx+vJB z%dZao&y@pfa-<*T->$ygARY4$Bf?WcY6)pDbHD#`t1w_ordy_)ol%t0f`lMdDOHjG zegFGmmfRD<6T;qq?tSsktyA8U7mVPo-P_Ly@poQ?v1%*-^G~n#3E~J+85=o^wIRxf4QSd=GGprRJdKwd?z*|F53IBBiwcWI`;p~t&iTY zY<$Aguv-WJQBIho6UnLn_eU=OsFq#ahme@q41HGjkIJsZeF$9H@y>8J1y}!!tve?@ zxU%1w`^S9>I4B$a@0@;nH09absSlwt|6XlE{~NYsy2(C!|I6=>fK`SfcT#2`f1>IZ z?f6$2auqCY$T(D~mHc1?NRwjY%6G~^gdGqFmrt!!_vFv&|JFAkdck(X$yqm~7RM3V zo53O@W0TFJb&~W1WbmB~5XjSZ=?g=-;4%&+H){>9{s%=dF7Ust95R;6RxsXn{EJ2W zX!ajoVDJAQwZS`)$u*Md|Ar|3r5wt&NL5_w6#vCZ#yh=92K?nuPT~+n;;oIwZAi{v zh~j@7Kw*IM@puc;mk^-8;LCp=pl*Tl@hbo0?4JKP;Ir7@mpA+Ie^TWP)VS|ANzx!q zpEv5aQb_(yYVQ9pTL4ze-m03!LY89hWARN2oDHcj!6wDL$%eBblmD_IuPjj?VLxIK z3gN0?A?o*Q`bnFN_Jiv0>cV^)`D;#z#&#Wf;f6=l0pmgaz>?{7dqUik>_6tv9+kqY zZZWbD_VC}rM}RaziiL-G{ucDR7GcBshzw1vXU6QCw^i3Tp4Cns(WqRMuf0(9c7Xv z$C$oiAte3x{>%RqGXB4fiVU(_ODh>{<`Bw)tSHL>JNzo`IOsoRc&Z=3a8BgO_Iivk z%i}pB%ML`L!%$r^)5*tQita(*8AMqKXK}s8zvT5xTt511B|EziHP0nncrTgOq>_!@ zA3U|hB}7QC4$}*89-(6O-zenYDCFNLOvm~1H?sf_xSFx#>2)0af>X9E z&7t}Gz>5m><wI>O>{*UXz#lyJ4y(?}+vm8Yf1A(uSfxf)2eM=?9@}X21fMK1 zJ~=p--c7-IF6+>x#T%5VWySE%$i}Z>Q!?wt1C0!-dSjE+2SE2AkFY7(>y8I;H`?)I zOqa}`a93l0zL)o}k|XbR;zj&T)BUCEGF--OU2M$^XRJd%y+g?=C!bZ^bSvFMhasfy z1f;nrndfK!N{q5Qz=lVT9L}h3mYMjHmIv5CDN1+MG!_m_3qBWk?0a@5Wfb1uSv(7B z+tKdct3SRHY;BJ6JAq$oqtvgNbIg|kVz+dyqy zU}jrEGBBpA*Iw++v%UuY*o>&izK-eUjtW74w|MF4@YG-?RoK=r; zP^XX-k2||@tU{GqmO%$qu`baQ-PaScMHmdB+o|~ZEf{WCCPfP`q;?-aQB51lJ-Yy%Y4rdV565)#QAzV7!Gf$ z0EChw!&Ha&Re|3b9KV4Z+x%d4pRk`0NPCm=AKcUGFZ$`F3sga?uF?X!SUt|Q@#4Y> z(V-1oi_vvtWBp~p#i+Q0kq4p-NqTT7WO4Uue&5BZ=L&#Y^yS;bX24&!ih=V?eqIbt zCQ=~3r7ZG5<;$QIrxe%+7HU6W>*5|eP(`g7|0rLbxgRn!a&ty1#GpjKcZ6f_d&y`{ zYMdMw0{|IH)o6GWO-@JUCDm!*pr!yV)u5-E21q9AythU#B^#1Bl;N=^nK-RNm(j@% z%jWWS3!`4V=VH=Q>O&vxu(v>23LRSI6DN<@WPB-)X1_JrXrNt;E~d1Yw|XZq;I-Xw z&n8SwEXiRUPEMJ%+Yz0VM|*V7SLc-&P^MlX#ZcNOuA-mhX=D)9- zM%CZ>_0(m^7{+Gz#rmU@Z^~JFh&&*zCM6~hC3v;c79gpKkY5kg@R6H-TXb$vBhTEP zPhAz6^VSp+G!$8R+O@`E0!AA16>3ti9A<}OXVT>FR&U=xgBQNsFJTl<-|aDdn02G; zV`w)gZ4fLG-TWH0Hi2>bIssQpL$Wq%z(BSMbFP5uG-L#}f^^p!_AZA`9g0unGsB;k z%%6XOE??1Qg)Ump&0(GHsRtAi-J67_K{T{KR{3MTkS5MPY)g%MzalGR8S(XIGvqE{ zn$2g}*e@<>LXpQsmnOwQ163<&iUe+~A|c?!-@5`(6`&;Wqc)%W>&BC3a~2`xlU~=K z^Fx-bXhq22YSu&X{MbV-rXTxm3*Od3rCBVxME=RDk!kXKj?KRGZo1+tRJmHr+)jno zg2xwUO}N!kh(H`xhzZ&Mrl?=(+_Q-hft=D6)k^rS$g=3Itx<@cxa7@TAR-V3DkKPQ zWg=AvERM7-E=lG4)J4`aEY_=L(rV+($6LMonBUXixW+qxL~N$H`0MV1Lm?7`LFFz# z20wEyoxPKMP3t8@6N(B3P1Mb%TN)0)2fn7$p5IRk)Rhu0Q`!oHfr-<n+U5_FEL`h`68!+geqtR-C6L>1@t=InYRfPYiF%rSzl#3}L)>Fd#+g)K z;DUe=c(klt{mmO25*7{Ft6{)HZnu&=k^@)#hNPk+_I@+vRr=JI86!D{-CvVkA#v$y zad@%n9?_8v*IABxJ1G-a@ z%M;Zo5dGzzBXkhI`a1KQ*IR+eOcSK}kdbC?etx}Eep5oPts30xr2Z_A6MJ2$zNv%R zgVto0pswUS9Bk32MrURS?u z8b?RFGv*bQDhr3KPweU5bnq@s&YiP%!e{SfZku#JPu~zB^WY*Ya_CmrZR&V0j(k09 zOya1W3tl15zEcvkK_7p=>R(!q>KnUOXTj5SbV!P*#?=q=IV$m}J&uv0@p8$oYtTs6 zs!9EPYIaW3Hb&ci%`_z?G59-N^aTeGl!Q&)@8Bc5SHtR_3;Kp^kEc^8P{1&ynP1g% z!Zw3>LOe+*tgiVzJ8HB!Pvxjt36?Z)!t(Wdm-Fn81$4GTNu5)qm>>5#0^qJLEvV$N zb1G{;+%zkfc}uwVAvb?(#kPN-yoAb{)$Ew4m5C%J zeofcB#cXfv!tv^YE_Qgo`Lki^ne$=KJ&t)E>b|hw>SK?hBe^!P?{YBBtTVrf$z)>P z9rXk<9@)iv97*u$#%>r&3jN%m)zlU)tsg5Lj^Vae-A0k3su1h@$+uRRcl<~+2oVK7 zO^YAbboMp)>BNvd{LeppEoRi&N^W1KE!_!c8!azTV4D39arm;ZS*AG-&sR zwV;eW2^o(bzDYxbfd1fpD3J}##!ddeRs{dp=~7eb@PL%5QeH#{A!?Zy0`f75r7km( zbO7PuL`4LL5)7nqTk{bE+mkt?S$E)U9Ylv17j!$PIC#M`()CXF{^e;IkLz~J&eu2o z=f*@Hep-F{en!BSm?3ZPS_z+$D&aOa#@#t+J%^pJMR@0n^N zKg|we0N{K8)>)tsY2VM%Y4rXEW@oH;LHFg&rsl(*k*2wba3 z^;W@`YXryhY)Ya95dl%-)Q8YW0Svc;L6BKY` z`)E&~+vL{p-fw=7^`b_T{1t5D32b4|4pd&`qpPyEkP^g<0GB@`GSW!$P9(&bQ8`P@ zT)jO_!`%V_-pkc0jJZxbI0v9gt_%+*P-w{ASb0mJ)dl)EM(w(lst}4*iPg`2re3JK z6fA%qY@oBBc-+Nda_<~a6zS*qFk1+_OB;d~W3#(wA)*cNx5}2*;X`Q5i9L2DYPn0P z4*YqgtdgWUsCc#mBOce!<0Z*s6lh&tx*2}%WCTujQBtZNx8ZS*Fa^cyZng{PO+4v; zigvF)8sI{S9gxiLGze-{1b!@wc5pUuD_w86v{~!pv+Rvc)^lHUUFd2fY63t{Tc-Rc zOLg7r8WQS~510YQeagh(Oi`Yx!MwtJT}YRVMv;ZnlkdMXWcV&xTDEI+&uJEHF2de{ zw5u3%{kDs8(qsm!q#%G*t!n3~OdQ=~3zCmAC#T{|r$64roxFrD zO#9EH4Gi*LYn)g3V7h;ZRBCP1O?^s*W#)H;Z=X;)UFO%$T}4hdj8!BVxYT(OJLJt| zI2u8!FO3zi;vhQ!2V?_P>tvDbdt3lDIj#5MisksoeP!QfuOg1#+xJZQ@8q3CI21B1 zj|0FPku(+bv)1}lKK533@*VZk_{FUeCK%msjwQx!dGrCZX##?Q5fKiwPz8>$MQA%p z+^iy#0=3V($JAHY$imuehtz3-4dIdhL{j=r$XW0_Pc6Qq^323~g2w7|5`%!+w>2dy zF9{zG`^?VIvO8rFCYqe4?@)Zz{RQQsDD^s7+g{B;J6Ad{n~1*qOm=8GecHo`Iqtre zYiy}JC_TkVrL^t)%hi?>6rtwsxcAXAwXauhSh3|X<)=Pf6i(z(g7;j>A>J(#ii_kgsUqf!Nze^nj-)uD{qx4JHx@PTczQ3`X_fQ*@h z%*>QB_cZNAchnXXLU%oR)8y6DLTBhI0Yp5wG&$21;&-6{$-C7|&eTC7k8=hev}`=5 z-4Imu+0DnAs_KHgYv@0vrNB*wOdXsX-X+L8zI-_WpZfO6kpybu&34#;#?R8 zD>-;a*Apu`TD1N~wgzGK`2|+!bn13|^@t5sRFNJ=q*8i=W4B*l-L9Orh`Tc9ZTbX# zjUI0UbYwMha&zXnEWpF-(yRnUBaK}KIe;mcAp&FX^1C|_15E-2hbK}RGoQkD_LH-Q zlMO|Qqe-YoE~t~hs)*>v>QxdzN_ z^Foo*LL6y&q3kVJC_nLTNwT(jc8Yw(Qf5ZD-Ms)0^v!n^W(-zuq@7n<);N zC)W6xQ~vx>wy>cnfKj$QKlDi84n<@lFimTL!Nq4d9()A+HWUFlNOBk*o>s}DD=&0o*!ZGJ*QLkhrR%=e? z!BA+cfzPM;+ENl=+zmER&`)BPZmP;Hu1BrqnYAlobfOJ!9M`!iw5gLlM=Ybnv>n0$ zNMKl9&+b~L=J$B5;yLaq^_57`Deu0%`N;1#oJNyik(J+rwi;jOe5HTVNC%XOce%8@ zujwGw8Q`cwfuxrc^khtRUH}m<lfAHqAKG+)6lBl4vW;C03ezDjuDQ6e^mO7jV zONsEIvbA{EH7Os)9Qi^|D5&`hh$f?94OQlH^~1%)!XELP+dI~$cbJZ5duF(dd*>o) z_h(|F&wGm;V8p#6gQ9Em6`c;V$ox{$XX_p>lQ4JhmNd?=X}HC&9ryCVo>s zo$iYU9|e^fOELQFm?TKe50=IhL#Qf`lV7b+xa+5q-Q5@^3IC;rLkj$ApM?pUe4b@D7za&&cxSQ;>9>>+S#@kNj zO z-!8wpW2JjCmZ;r~d>EGd>c#Xcbj=@p#jKN+&g+FG4ZMTk@j#-8KreAhRD5TY1yA~^ zL7z=SXN?piO{PUI1eQ&%aaDsJypC74vn}h9s?W$*uPf5en4fzo-3#}BqyLIGls+ZP z)G>Ch*@f3^bMRS@vvWj+@c|^qM)40`(rs&#q&OHi^?331Yn`}5Qb^X?K}3Av`wHHj zzBZx$gAxP%->qVxa>#~G?{8U;8aS=N$pssRH#gR8MIQNp0VP%E}0#=75?eVljd9#)DdyFPNL_qNn-D0@bAvgs=d_TuBEYT zy7lxb3T<7h44sY5;ly{@5%O}tu9zIIV=0!b^r{CNlde(X<7sAYUM~0tk;DKJ*2#?fysQ@R`d#R)n)wA*;9W1J}3d)KqP)MY|kdku6afV(6CR!FXlm-^0J zkAFErB3Q1wb8n_p*AgyV#I=1A2WuK1$ocw`UM?c<#XBPWC(CkTe3cBkcP0DkhlULo zVR?bhNU0`}iYz00=Rsc0T*`R;eo)f9c>h<&iH=jinU33q5U0YR23!+M#?<{sso4=LV2hCV@m-Q@v>C(upBDZPqA& zgPMe?-<_{JjYez6T02X;Di9^J4~F!&q63m*Cf`u)v4zmsQ;=}Z62 zbKA2q+Dp$9UmNPIa5$AAB7d&JScC+xcswyTTercGJ`WF;H#r$jR+Oi}JSFWU6wqvM zJ2P+TXb2uVXi+P~hAULjB+K-+dhUx-N;?V;n z2F1x)^uN81t*hM%-XvmpAwJu3iGGiw6BHvpoLYBT8?Y{pXee6C*oC9bwN0~g+yo!> z@1j$F^#JxA6c8AifhPlC@I4_LB}$=Uk=kZ`$Mlx^FVQ^^ojmTvce(IJogO5?T6ms= z7Iy376N;528n&#AmYJ_-#>fn5_jlEp^SfFpJASpMFuiF1De`1aO~&eEyd26cd1Yq? zf8D<1kNzX5MN^;8CQZl>DZz?u=_JX53Q3-kd?@q~7Di_@PhVD1NIEocouGn`1VXn> z%=|N^=RUw)6ffI_KS%2l*Be0xTVhX65y@@GSRDidPx?cy5_`Atfd$t>@SMT+3BSTV8vJy?Y zRBb{;CM!iIII;q=)H98BZ4GEEARk2=OaV-pg^2EINk`3l`Qj=`tp_a7w#=1NuRGO7 zI|T;gI)m$GSjWO0xR|E3_GEG5Q0!bdhngF^{fdlLWx={)vxpUR?dG(pq;#;K!o;UH zkwY)Kt>TS?hLrGy!P<~mTF48E5{%B#Gez188iVPXsbW0=ovA0I&-GpJB^gOfO~H5| ziE&D3j{(e55|2oGtpsT;OH{3Y$zU)j&VLTxOhsVB!TUgHRhtJ7ScqKbsOJFPeMNN_ z0fK=1l$;V`!$3A{j1_!}BZy^iv6-0EI%wL5Um!Ovt(eK!Ni|6@Wl-6rVdzE$fQ{3w z+@T7cM6<2*Q>&?K^X(q5G%^Ulz$gsQ$HB5-S-^b|Wj32Sp^W0E6lvzej@{lM6xeov zVwb|H(fu+*OajuhE5c($pKj7J2cldJOLi4)WYEIy@3WaoBvk^Ti#h(~a^?K9C2JX| zOMPEHE7{*_r*!Iaql#I8c`g;D`}cQ(VP2Vm-h-xl#tLFt`I4cO$vnoLfYM-oQc7si z5Y=`S36$rzN8kp9lQ={$;FNK>QCLHxt=PI`1jOoi^I%_DoJgM;MOT%(r2}=ROvEQ9fy+ZPS zcJ$>xD8AdBWSSVv7)W>PzehH{eFBec6d+%ra(dtf&>YcwuN|Q1PXsK6x!AB5e(K{= ze|h}wQHrpLRXn|!ezre5T?T4e{gnwhursx!=Qeu9C1s%(L6{l;43lPT58qV zhee;?fAF$0m6|L3!=ACXMtSbFeVcfQ3}Xqe;2I*H)53QL;zC>L&Ft$Ac={BJHt7*@ zC>r$RVtKQSjAyQhEP#~uEF$8he)9?H)C7jDYwKO>=HPf@T-j0`k?z6)GKw0*BOq5< zE_8k*?uz#Mzp6-z2WYQbO#2pbFM78Dd&y z7%k590@K@C#bPC~eVjKV>YK`%xpTv9)Dt9#cf^pqKBRZ{!(n&h9Tk^$a>~4t;h_y< zS`lb$a;*OVY7*!3PG&E@vB4BLi;K-$qzpu3xarBm4)35O&W!m;kjAHL~)yl^Gxa zj5PACWdeY{O}HWeTyJZoZP54DrtoKHk@cS&wyF1?lAsNqc<8{1Q;}+9?E<^UJ7X;? zUnkPE*XRpcOTeE#&_R5VR`Hmi*PHw+t1x5E*kg?C4Ef1jHSIYWDLdt{XTo*cZOilo z(Fw4_r`V)Qbc*v4o72NLT2T^|c||9s^=xiN-riL(%F=)w64lRDn`QnJO|{r!21C5t zc%yH20}c}l7X2vTE%)bR<2s$Nr9_|Pnm8Ud3-WcbZKxH5GG&?hO`NIiV#|yrCAGY! z%w3SQuIyt)#SH#NEF=<|7EbIJc*^YkT~`%>;EjaQk+=Z#*Cv3N3|9)QSpCxq|8_v^ zWwvwBHpPRIYjhDq_m<^GPr1ytgyRj-+zwoT6S6C20*6P20@EPdVco91+H+>o%OksqbXOG$I zSz$V*U)B54WPJQRysI=vtdU`<4le@A+)a}80N8+_7O3{g!*Uj)i-=-~2A&w#3!=Do zm)E_oQ}}_xy5>2Sv4D z+j*Opb^Jy1skW~pbyAG6bu%g;aw%}Nm~O2E8*Cxpu(WtRz>8-3bCF|R)L^NL?xjS? z@qudNP@4M`-zfPsG~mFUB%5H67_Def^&oBI-6@LWK)5+=POjxghAtI|`mUU@>9&7e zgHAPHtiFhhn2T_@u6A5 z+j<^$3d~CHgI{yFg!A80f#}IWv{o&OJy%01uZ?HbJb0Sb9}QXbWl8I&7~O#Evb8;( z-^mnvTAY4->daWp#?hLkDvU^M&uV@<`zZEDyGp~Z_vDoPs}%|9(`YLSyJTlZ-iO2L z$ArJf=a``%sscapuFN28eW?yF-#9ev)Ms!)Jk!IoC|4mE8$tYw(UTq}aQiJ;d9rC= zg`6DI#+k=MdhUY6KDVq}=K4@GLoI2YPZ>8eovGAB3QU)|S5l#lHn3b#300SOOZZJH z?gKuFHdkC%>J1vjPMo@jV7czLz2wINLkc{GMS<%L8)Sl#yL41+y?ra1e^F(SECEBi|)T_}*NRTzP4RN+I6MF@SUPsMA_M=kye0`eH z-P^b>WXb4oUK9WzPPvN_M_%I?2!nR?BAz3)gzm!quR20-YdyW= zKX`Fe;u}wSvRe#Fjz^D^XjQ&Z_MXT3l@lz&Rm?X@ADKAl-Osi4^p$GT+yJ=P_6!ct z-iOuO@IYt2Xjk1U%yK9=vA-J5dSgGWhZ&}v=16m1Gihw_5c%zA?7JuSK&y=UlpIQe z(vGdQxK$VqSp@EY{%?$8o5=u8KLIXz>jx4j?^eE*GW_$KztTu0?52~MYm~NkL=o`7 zV|asgRhScYEPz_6(0Ax7${^Z|6Dr@d6}yRks1=y~Lky+95NPA|Ok!{0 zgRtmYhTcL(NnKGfCv1oG&igKY$1nuQDAa@C6~hB3SJEh!48whpd+vPmbf-sv1>LYw zlaKZ6(HphiA9K>txRD?`KHU0#x{bJy%~7h%0s0>+Xnr1VH8HbZP%kzkcSm}9r0I#W z?CUW(rC~P5b~J(iI?7hS&I=(vl;)|aj%a?DREkk4Y!(mw_?=UErak%4GU;@sDkTQyX#NE;3!}?+oE+1yrCN#q+7~ z<`8YtKHAT2T6UWA^^z!YQd(tQ{?$qZNPnGbmEXu-l9;QRqI<@u$m*#VJ?HcdobRvt ztXj(*RezlPKQN!V(QNc0(m3XGemq-YDrll~PZB{<%E`q5efCCuB9tJ3&=)u11hOV* z4k}TvXJe}?AZH9dC!gc1*Kz64AC;F+37Ts)-HpiE z(Mp_?6jMo;Zxat`)NA9o^8+Q-ro`UEV&ssE71Z=*GYv?*t3dd*fv#tG@_YS)Hx~)_ zS>Lj)_BAWAEWkV=B^yp;l#(olJZd!7Cs&#BeqVGL8}O-kbb=EfA+E3;`GH-u$HtMF zL}kq5JM*JhR;4iN8n+<5hP}r$_gxE&lP!LJDp|ws$el8}ELd*#KNy%k69DM{D6``8 zvlC%cDV63#o#+kSkKr%#cm+$4)zsGveL6`7=nGO!?!CmeTWUY7m~&PgI_8AT6`!|) zv(|ZoRq%HzfleE@xjZjE^*Bo-R5Yst@%A>mIq1ZAD%M%Kii*qu^hN0a7Q#g=o+PQ* zw`ZDnB?#M&I_7%X6j7&K!ak;OfQyc)kSb|{k%pC;UjF>f?$SgRB=lJT$jm+x09JlDQ9GdRTBMZQv!ov7k!@ z-&ttV&?+?d4=HMD4iI~WBx-rd9u=jBbMCcXT)aRqmq5euKKDA&W(}%$MW$?6a@YE$ znW%GS@0eLcqtf@aH}u}60U4kRQ(=BM1781#Do)vKn=CFkTC2iEmdZ%G+i#S78!Z*n zGr-kySXjR2vSXr~sIi&E>zTcd%Umfp6~XXhm|P8>NvY>}b9i2o=*WGzWlzgQ?+^U4 z6YDXnQhx5a56I6=6u_@oV$I}zEY3S41{1}p<9ghjI+lTJCx?H*^^L-A$M+XW+yyX@O}1aHYs zc~U096PN;!XyHj(7x&<1C%wnq`+?T7=<{r-f3tvOh~q%bDTid1Zzr1wr2GDT3SQm7 z+iC9V&)rnP9St*nRIZ%XpDTCt>Ns%V-s&2*SDb4mwSUOW;%Pu$v`#Ev-b^{T2IY`v zT!ADXId%zi!vnts5#ev)O$|<}-J|4IoJ|k&KR3+i$`)IHT)KI!hl0ynHTQob zn|2lZqB|JqfS=rq2aB}!aBrJ3r%;+2f0Q*_qggZ#S0?DC{ zR&%jt3f!~rp5SxobF*Vyz{la6L#OrqKX_=rmK$%&{SoKAKX|+Y5}!Y(fW}G5 z4}nz?TVlw`iDvy~#|j=Z-SOx7zIC+@>tCm|+E(thzm6v>$y6DTG3lGPEZMk2CU_YK zIxd|E2YW6XUnSkM=cbelX9H_^L0N9m;^VWk<0arj$Rw4;XPU07eGSgIQ6sr9bgp&($@89~Nzm30Ue*4v{Z^;{eGu>f|fC+LiE$l5o8bxm~rXO(K=~G!yb|Gni+544eS%DKibaV0LY*f*ACb|iqpIQ1> zeFq1b)}D6WIX@3NhX-{u`ZMZ#&=>8WWz0oQse3bM;o)?Vp1~NEa^Yz-r$f<+QB1(T5o5ry`t5;j6^c1qJ>9oG^E@!=pJYM77n#~E0AEmnyq5^^Z! z2>$%_xP4o6Za(`gO=+7YQ%%KWr~kJ1v^b&$mV=UM@*(W4>3&p=W0&j4|=dO#|lpb}sr(dS*v0 zaL#?_V_v!DGEX&*&IkV&dG8$!SNs0^OQaw{)Tjwjhv;1-(V5Xl?@@;6b<_}DbjIkN z8H^geOQObTF$U42cVZCH^8DucJkMF{e9!uwwSH%vf6iIIzpiC%%ii~8-+SNtzOMJ{ zJv1s&ak@uL)`S+#^E>pcpr9CVsiKiu;LH8IU;0M>F$o_!jCSGbG!3bnRAd7UtZ-?@ zVBnH~0KNbypU{U#iD_CCj!i6+*&09RfWSWvwwsebH`6p7%EeRBni~DDqkj6*1-)PV zZ5RkXru|a$Qlo03j6y^!@6GSg*3?ZIYM9tvF6}~9mM}%T>iY}ZJ;E|IRgESV^sywS<{J=zpj_9C(&lNmljQoN$nrY%2T5DaUq@Hl<$ zS_{=^o-+YQ-xW}*)kKyG-F}o{m>s!zjjdFZ+-~RinL#uUDKl~S=~2RDU%9(H{4UEX zq(dvO`J<;Pzd!N|i3PwILo5$aMZIFoNpT^F;NS(*(ms;WdrIMOC*g+Rwt`5L1o2P1 zxpIuKTv|d%}fTx?D@aX8U zr%tPT6cMd8uj9thv9UmJVRAnD!#^s{4Xc{w0lYs4Rl!uAOLRZC0?(rbI8iQ#YRQ(o z9bH|emtvEe%pPi1{a5Ba!?R?Hy0v~Sl>jF%3cf_v4p6o z5jBA?cM*UA@M^*Q!5FA<-^BrhD0$)-v~>Mu6kR$QkF>s8-5-e>cM7icrcS)7#Mr|y z_67uu!z9iEn-fm%p=DGwhYsQyORa0sM4!#rdL5M+R&bIpT<6!_MiIQ`gJ$xKnk&-W zMcfPpaQ$9&NQ8N1t)o7wRf;3Onmy;j!L~$2c9MHaSI3Q+$_3w*{bkW=`k6(mM&P6e zBUud~R>Ltx@M+mNI;9(P%JNe>l06KJNCqRy!-&|Gt(hyobH#g7*4R_AO^>da!L9fn z#O61O?xC1vkpoyn5`QQr4>-YAAs9trF|OD7F)jfRBv9cXb}8I{m;rgu!Bcmc@gMrB zjrG7Z>X#tK>mDvB1a8Jvtc6s~%}1h0@;rDL0IGcWo6DGqWbE=9-`E>rHH613Ve=b^ zlpnX_@3GYX#z3W?b(qe6$MjZ(e)qBkx6G+%LjQ}-1xC`W^>dy?hUTS5_v)eAcyDJ( zD$3)HWT?PbE_VQ&wO~7T;>BRKNxW|an|c36Kh}yNiRZzC=Ev*KEe$PA@I{Vjt_=K( zNr>LKUe`gtq5g`I_xFnKuoGQ0xWaTZO`U8ZrnDlRde;ov_Z+QGY48Znd|UJICpJvc zI`>)K+j->CqR56X6~D^SbCvH6Zx(1`3R6V%Ys_J~UIKRz952Q?6v1i5vV^*y3D^p& z&J`|%@(~(eC&d|7%n-wvv1b-$R75CKNZHx#d(ZW& z&KmnJXNXx6m~>70>mVV<9yGQ?BdTruEe7yNRGFAV&-Sur$nK%gYirxoT9aaj2D1T!Tb*q-Vs3P1`=g(W93b&;@v@62 z=rvJ_Ve>+NEPLxlK0dTOxV}GUl_Je4(&ji^RAD|W46%UXB5)4SY0fNdg$;tco%7-F zRgiL-xuHCrBICU|;+E|Fk!ifthjm)F{zm1CI=3mloS7gG?fzXp97eOWmF!T8%mg>_ zx)5^&f$(@q{SZBSl<=9qaqM;Yi6`GkGiuh@xUjcYm|EgnGzl%Ej%Fcukt|isZsWJ( zBFcx0bHHX-RK8iqcVkeGOqWnZrk5>8mrL7&LagG2RpCgnULBu6`#kqD>s_8Dlb)d| zK>V`^7Gi#~)kD@FPXO8;1;jOm+vgljx{kpqIvJDx8OczF@Gn3%JrtK7iU)vyaJxv2 zZ8vbVg(JX+>KFTEjYom2DLhe(wZeVz^ID;U{pxEZ9#QBfnG{nLbHH(eG9ET6KG9?TZ+S1c-DiIAc=$c8%;l&>^dP$Zg#+ckF{5rxQe5i!0m_f@{2 z?8}CiO4`(X-LvkB#XM(`u<-Cc?^%5N7SlJ0iw*inmQ#p?bQhMC)`fMbi6iV79mcpp z7Dg>gjRAKl_$8c-u^H45K)EsF9*^PU0wa)oo;Jf_2)yXka~r*9cwBmV4!=*g&F1hP zteV%(6ej^m^JvZBXXL3BE;aGTmU+MG#d|y7Z}FBhSj8YhsKeV~xu0Q&QR0Cs9Qyla z!*+v}%8?&xBT+O>B;JMT(15gR0X4K|1@z-+M;KRd>zy)Ol3xPby(C8ur7d(R z-m5Rs43ydJI&~=tiVr*AOW`*W7GeBBx!ckbeX1eh=jdj+3ByJIMS!|b`WFEj^#0F% zhO`L5m|=0&eDjvyggG)F&Dw%{%`*&MG3dLJovQh!@lYP@P}hJ!P;`8n!m zS-%vU8CvQ&bw7#{l*=(PY!(`MHY??^KiE{i4ffVCOmcEdGZM?s3k%saTUUmqbOio@Rw+_{#YG`%i*(cHXQ6CI@PK z#=-BcU_<*TlXNNUldYL%b_lj}Y~Cv%tcEPyyB1HlCMsE8vmA)!W8TG9YnB3Ze#-$nRa+x?Pj zP=(i6?J<~blcblJq;rjFovOyXA-ikXaMw@Wc>2aiK7YSUYN-E(wn>;C90gds#R7wB z&y3u9Ekrm#Y~3Y6RyU9rXXwI=4hK)xj*O^*sGE^|eb3$4pAbUTNC-n#N{cy%MmWtY zXC7>K)HiVbnB76vxcXSMUv6OxiuDdJ*n&)8zED-16GF~C=>a!gLcr+vb27F`mz{{= z_H5^o!wPFh2lhLSX7?32%rwuLy}#X7r4WOC6}L*T>^dY76Hil+{}(QIJ+S^M=L|O3CR(-`y~R z)*45kX~PoC{s)zQTkeTS^JIkR}QIrRXeE{Lf(nxNi2fzI*Cie-EB`1SkJ*eEqRHkJ1EI;g4V zmzlkMU+8bsq)88xar}0FGvjx$a59@To^MG4cp_H?k`}pi`?*a0Zx9ZpVWC3Z{+s2< z5k!9@@!Kty`JX^98~YF7F~(B)y~ZEL)#!ghl=idi|3EFD8BP>TzK{A{^lyL@;hC3z z6Ft*T?N66iy1Bjo36R@>e?XQ0%O}ut|B7cVKXLer0Jlu-x83(^=gcjZUN-LE>(Wx@ zYSF5Er~SWiAhx`$oO}im@b~b$9^Xj)J^X(Hy==_Cr*TulJ1Ga_$Nz7{C&1*N1ei{| zpDg%00sjOzQTjg#NI$ha-TFHL{{+Zwj(-#I|Ho4#vB^RS6dQ{1O@gmUj}`t~I$si4dMVFFSAd%4~J{O$iM zPhp3A^gqqWJGuY&5t1JNof3+50i-iIA-DPdohC0CgT(%xiT{LuCcI2v!nIT`2$+EqZCHOG zr`0SSkVk@2eLY@}1mO6%^a^GesnnTN|BJfpwl_o1OX})?5+fO^S}NwqI*^j}$A!w} zZv&O?{-1Hd-Gpa@mdt;cLYxwJrIGq&)9MP_#Kn)IzA?D4vXD|HixQ}0$_xG%%Y>Z8lsPDJv8_ZuF*6yD|7$TCfQz8&=qrdNW$8(J^1s3sDblSXt^ zYW>N>O6cZOIncLveNR~W3J8y+nIk`dXGlL|$63;!KtzNC9wTYjAjCl*6{$z zQCNMS)o3~nWOiO)X*^!a(KO!!>k?I3P;M$w0vCDI5|6kGn8M)U9o@wQGEnA#Y$%Tf z6RM&;j(UEnJ~iGzYS7sJW$FOQ>o_MJgE4_!GnrSG<4Q@M$OdQL;YStxnCEexj%A`F z^_$GrI$awajrigPe%n;*3B}Y1dSpml3h&RfrX^Y*Z3^Y!kq`YAMy?ZI+~7`jFsy;^ zWj-=#p>bVHbp1dZ}AoCy01;*#lO?4KLo|l}}?2c0(uD3V%=U*CIzX&1o`E zn7^lXpv2ceTG)NdIP8&3>kI22c1ex{&RzzCZ9);2I{{rP8-|*a?*?}RVXJ)n29{3- zJ3D@ENLxJi{pmIyuIc_xfFC^H_FC^aZBZlW{&Mvtsc75r>^Mv$y z^P1x%I*mj2di6g0-pYT_rn)E@0%kjL6^?}_7uL*=*`Ky*AMzzTprswjb<11$QGm!^8|29(T%W(EnYZTtc|GMlMwb?agHVn&2Q|E`J{=^)Z5tPEZv;~7mwst zlBTt;fMo1x3W-7YP2gexhH{`!-u_(QXr|ExM;P9X27D;)cuKo_YO)AuYRuTc?j-(94quoRW69DyfALe9lx#%{8Mefz*n9Ps$kfX%N#%uEz^{Xf=bO0CIH+ zKEY<#YLBd{4)L9xUR|0-f(WBFi($U292p%tooJ}E9(=p>lg#yj!#QI*Bt3)&44-$> zUPXki=JPP@Jn`&Le{mvC*Bt+(H=vrw1Pa!raw@3o-1Dri|275EQE)QCf32>bl{+Df z%j~@j?Y?e#^_=6qtvMVs(y_T%WI~+4tZ-XI5a+C7<7EAIroxvd6zg=;qS1YgmGb)v z(_*(@n7!`Zo1qb)e?Umi*Vf);UHaP&Bo8b`ww7$1+zCbTNZ$zovfQ>&cNl|;D?xJX z4e})2QhWCBo_=QjqeBTNu(;_Y8_NuRo=P#JlHYPI0M^lgNi<(qFB)G4)edNNpt+Nq zyQu6@5%fxbW*P4x+WW8&<;tg`hy*YJxnv3UgzCGR0v!(%R9DsNBD+Q(RFE_Q>;&3Q zA|QXBI(rWQ=Y1K#7fkUHMdxo;f4fCLLyiK4Wnk0P{>kR^@^ufFd$QtNPXlhR?T;YGh-d~qQ}1IXfO;W8ao{T-MG#!dbn0we7$_P za#VTj3zvo8xR&7s+ap$bK-Or6(NzXseA=N=IpJpdl8EfJdDEueQJ}c$twBaM^HI&5 zZC=&M0YJP{JpX=8m7{a*nc0YguB2`0 z_U`Q_wg*`!Nw%55Q{zCx{Ds?yBX)QJhWP$h8&slg3AdVa2KUZ@4qPvF<%6=0_AiZ1 z9%MRkE@ql{`sP^{pRhBOL#l-C}|92Q#6t|-0A-Los5OZT!zv;{63b63P8lXiBqlAxXYWr zb@}N~_;e${N(R)TLf61Yr5E{B4C6Ntbi9{{G}_D7+w%ui4Ey~WFAboZAX3_Z-xSb? zkFIz2_uJ?qP~zBZG#7vDbx$T7l-jSVysKBHcb}>~ZvudF%kZiL$$>U@mHqeA$j)hW6IVuA+qZ_ z*G{}2hF?&S&Wu)-&emgIFwDcj7=mS{&Rd72UdpjtJap@v6sV$vu0&j&SyqS|@A^m_ zR8S3@x4)jqQ)g@Iy~g{MfRB?u3gYH-DyMneqHGcD**vDPuPg;s8DJ%a`2IZt&gWH| z>jM`1+SUSnl>SISEFLJrd3 z{O|I*I7kC{?tfqjBYO4r;xm!T zvov6Zp(FUzgjw9$$I}7Z#0%g-=R&ury@^3!VsOk40*1`tD$ehQjW(2m#T|()t`tqt z=?PtK8V2@`zhguzJZJd$(Mw*QdaPd3hb+l@7%=pS=&k6F5uOgz0ZqLI>4o0_ULuo| z4Mf(OAdN`rlf!B`0KO@b1Ej-(e|)mvBJe1pzX-V*RmSGJHq*85rjxc<4Ue+$TUcDx z()*{egvjYqj=ow`NgDFt*8aAeLMIS7mpaY7V^~+=1)HQ2H9_>n_w{9COU+IB0Zo9r za_k5=jF@0sxezMLZ1#Ulrj>2iORR!@MJ7WgrQp3~)r_tfhx7T=f-c8Y;i$qWIsVQb z<8;4jL^j8J9kv?dfRp zPGL=!T88zpt7bEFi}6+3AWF*mi%F!90dTzuT+`VInndV%OTQ34RNoSz9a+@pvUR{-dDaPu2+t=pGMVH)$Z)yE@<jJwM7HbsoysQ(@)FQ^fwdu zH7&cQf0MOC6i~(>FaasIv22j-`YetuXNw1#*i#ZIDi}(>o!D&ZcTEKXb;|@>L*4dJl+gKbi~Nhh&2YL`cg* z4G;z5b?kJ5M9SJ$!9!-lt2Ofcq$Q$p*`p~RU9g%wb|xsjEY}i2j`Z}YA<-D9c=Z-d zYu*-BMd*xXE8*jnf9!GoN4)$8jq9(DUETL`ONezY{)P&;{Lg_TClRa+pA-KgAbW4m ze6wA<#wks7^mFT%$MRC_A7SgKvKshSK!UBg^M{LN?jSSIhmC6(*JwtygGly*+@~i` zS=XqXx$6QvI}PRGMXkNH)VL-H)=USoMa$^qS8I+dqlWKHL%A#{%#l1MVT|~yjkhYH zxmLFDiM^|yknmbR`ZQrnGpB5L_OwqwC&fJ^+L4#B{&RA$L2lVEgg;T-1LMZY>R%S4 z%5i@FK*Yv}(vx|~u@{U7-m#aFP%zw*l#3((v01R6-%#BJ)4gWyOkLL>O%2Z{sl?Ct zEi^UXRQjeb68bk4@R#|81q^*V`-!R}WEJ_o>@!vIo60P$%tD;m6(T+fCDwMBjP*26 z6`cIcWq{5l0eHyBCn7xJ)cAiF#;awB@ga6w`6L zyUot=c}y^=t{zP@7B9cbljy1*hjLO&uX;OJ1gv#pV*>eCP2aA7@lJ49qllvkls} zH?x_k3D#;_k7?WB&r!>1>g+WT$~J?xw<3<|sEYln2!dVjRXAG^{_FD2qkBcNA8zb_ zY?<~kXz*NaI2z1|#O9*fW1&nILNAj&VOq6QQSW^9k4cx(!v5*0U&l;`M$305HB{y;x^{P3a;Z(B5(mi1gP}Un(2V-LCTNPoxKe+GqLef`c1w{GsEz-w=VuWxdqkg5vxjdkypaF4bzS?T|O@DUNz3- z=;^}ScJ}Ou4G0E$Gk@6l{bHI;IS5mu^FF2JZNC~7w`jNga=-tb1#ql9fs4owobG6X zG}atsX?Rq`$Thk!8l17vZQ{#;()9sVDt=jzs?fDJlIAzxamW@K^5FU^r(AfkO5RKv zt}s{fadT)K8LjECdsDm6(ewecK(v1*L)b_j^+X1QzE#l)dv~%!G<-GtFW3*TE zz>?4okzqF9#8UGv={447+SP=`q!$t%4+J0YZJ_%vVje?03w_bBj3-2lF{9T41xfG47;>hi-EB@QL?DoI zirkOX)qYLAdF6(?$)#6wdy(}aqi=o;We3FOv~tjHv5&w?IkQ}ixlLW7dh~{47v<%l z?)gnToHwKP2OTST78pavpS`R&uJ-<$`Z%X+a^2TUVygM;HsR&nftk){6M}QopWJs( z8r|q~Dm;}?0WSeV>1L^pR%z09c1-?==6Ma|D=BQADlv%;!L07$*JfwBIvRc0D09fo zK$gp~lCa2!G~ITmp_t-?1F;{}#!m~CKmY2m)1nuyuFIm!2z?wrebXzX+=6m3KuW5E zLc@NVT=)DRaY-QAs%shx@ z9nbo(8&ZJJwC1i@>F;mwYT3OiWuu;i?Mu$7Q){mDc zM?%PdJrk#C7P;dSwaRbeV%FmPr9@0F)qiz#TpO|AdFpEmfE}<>;)Hj>-w>=ln&(_a z#BW&grjqTSvpaqg>l((_XBo-uJ)RN?TzOGtm8$Vw>~cIa-jUAEQN^ayd-;NISnCwkFuveQv!(f$+jS}Es&a9PtDw`7*LvGHe1&iqdHB`DoLX*N98Xx`B#@H8NgXEU|MteM~BAtpoM zRr+IHa+ab#1Vs4%T)>*?@&o+hKF$nM^W+IcnT=LNRCa1_^wQEf%dyExWG3 z4sd2>(B>RukO5%q(kRqPQL_vGg`kW`aq#8w|1x4{^<3S!$JxDKx_U;l-lBM9K2_{u zkh63{aqIp4tc?X7lk92zdN`#ou|YOrq0Eo8`0VJp>MO|a^FOqBSFeMyex*oB2TvPL zwuz6;-}FABX6#b{&+IMM=g4>~{Y{whrDEE{DYton!B0P1EdL^K_2E|LDCN}C;p1;1 zVo06?ehV(2S93i}OWSrtb=dUwo{4*;B;**!4(mUrKFo=-o|B;QBHw)LlL~|8>ojjZ z#imJjeQ8Z@6o#(V(%DMbZCZPNjaTbBG>&u8->rG7F;UF{G-y+v5d9NN0yPa!RW)_- zSoP-QHYTRW6F_HWUJM=H^gq;5Fhw~ZWl8BpdN2nT&58xL+zBwn>3-L(!?X#axKdxn z{LUXKrcD28g4h6O+km^Nl-gVYwwAuGgSz2v(5SUC{}PpccH_+L(=WFk7DB}_ zRK+H;I1U!FhG}5@;&%@ZGZE@s{ia$}26L|+A9h54zCcGfUZ(ozmgSwJkIcN2RpNO8 z5!S!7j=gv!^~Ef_M5ThVK2gYUyd%l-@0sy~KlTSJU;4J3=bT(8<%`%=YWF4-W@%Tx z*&OE`E*X4VkIt^Ka%%MV7cr81oqMGSqb;QBrbUz=a(v7Cp`y}zx_*( zK-nit`b-?jz1}&}QQ>G6oeXZCPA!HN;(4$v;Zq1Re=~k?8j(fKyIo_^JF4!_-nE(^=b*b3;eHy?Voa9(Ild$Z zXQ;Ng#11~qbPtE6^)`EO!r85LRfFS;(1b*NM>>y2DjphVrr8aDZ@&XtV_p3bKA$83 zPA4L+lY+M}dF*Z99&8$OUprMNQSWFreCn$UL2tXckA`y>pS$!t=BN;<(HZq*g8d0g zWN7bK#Q>)(+rJ119rAvTN&ND60=x^%x9-`f9W-CFJ1DC85pM2Au;$w{3N^*MG?~>zW-yFOvBtP&O&1dW7?e)|IF- z6)$)opZ`XAG$A6X6EM`OvlYhQI;N1Ch9HqKHtKv@Nwt>=Ci(|~8qdVo95=M+;W@_s z8=d$@rj%OgH02_r@)7;r$+1z5QJI!f{7Qk>V~ZLDZ{j`%$FRfvU^Z;c?huRF0meCG zqTfR4hTtF>ofvPntIJbZt_NWdWx*_ADGnpX!NOJDm$_Y6@+>pb*51*E%ZJKUAOG}l z;atx4cE!Q8Sfn%ZSlmgQ_0im1OQ4=$MX(M(h+^ijVaNPb0EJ4IBldBr53|66=jR##Sr3^O`iS6w(>i zH;}qq>x?UKS4dDS?)TJyhPQ@qmR11dI> zo*v}7Bfe%eDCF~Gr#@Ibim`uGn(zFSRoBVr&hG6-Y4^mYv$@>UtDJm8ES$b`F?;Cw(7ibh(?hFkz6`zOS->?|xPf7|1ey)wQL$-B=!}@|qprrfR2l!ss+{ zO!%1ldw87K&IV9>d%Ci-F|RueGd!s!>34*)l4AveI$eoY4f5ckH_A^~4PVS;0PKAX zm`ryrY6Kl?%N-_v?lphE{@Tmv(~07k!M$7WduWP2oqGCmN*!eqP#=?XELtHCCuyU1 zh=v(~n^t{IJnj_i1LMQzE)ptwi8}&WS_Ln+f4P*%rs-R2>hy$5UQTw-yHVgU>F3PS z*DX(Yv^fAm^NSUw8V46|e^N*G(_WEON@}mB$jg5*A8ybTupEf__zX3Zz>f z@h(^zqjaGRh|&y~@dpAj?oI}w?uITV*rq{egHqHKF&At<_Y~ff?H_#~oZOfUR>`Hi zz*dNn^ebD}8sz&px;kuhiHHcUm?lXUVAj9CHck`gn!3@6u7}ql;;9|65Xru+B?9M893GDGeh0k zo{8QNooV=W`uzF-%FCVh*K*QsO#NR3owb+q#}NjvPj^)Q?5h1mP^E5n_}?GGG`F|5 z{v7S&QRCq!7SJ>vYinvLT6J=mOk{%32Y0d&mNe8m{F*YsA;3q{IFz1$b`Gh2MU0hZ zmJ~!XdG8C+T{UhwaEmPaPT`%OiS-og<3=tbE}S#_^nFZpz5A*ApZkGr4|$5`S1MDy z9i0yVy0^L*GRi75T*|01+L4l7x71>xjD7GFW-ZT-4|KCybM#_Szg#>EE2T^9u$)IE z+E6>~d*Rj=Z%Wpq70?bJySrwn^Ss%WKj98C%&bRU1txy--hPg%I2$s{Tt}>LOcraW z;Fh5F;TkNCNXg>cveZfs6i)nsiRT%~n?~D@T?wk)*FV?w!cXLq~yt`7*p{xG*bk2bNGwJ#FMXCUYUW*Iz zy^}q@Y1#^>@#7?m6%G&mGCm zMuxYT<%OrsG0(?Ha5%r<@}1edO<$^7Y|gE~%2$%^W%!^1Ot}aARu=Qpl%q{#FY}@I zp__+|#6@b&*AauG6`hg^BuW$u8b%MPkBg{K9W7<>m^cg(=_F3JlG1$jI?J1MM%zo z2HlL5RFYl(&Q(+8Pix#N+sjU+->zwA?}vRikCb!?hdY%$a`2|$jjGp2dD^;MNZFaD zi422OUu*zKS^3~qiF$5DFTU6(CkSsvzq-<|Tix@bJYfs4)+hs_)Oo*%N*UO1H~M=s zgG{W7TBC`yNYBz*3uPd518T3p%QZ{bHpb0W&m2&0#m7av>aW!spy6t4bitx3I2{Z_ zzP-hzLBPJlI5^AN?D=c1El%Q|T*F0#fxc^ouc=59c%c-N3u(Dvk9^5ul1$B@r*9eon)upc^Z3s7D;83DmNURfhjF}afm_o=A~HT0 zm*6kCa$n+K4ZRw9sF#!6Q^D8G(DqolbPSUw$T)!t2x#+}^U&ZR(vAB@-CCy82?SDL z&v{!z6W}*RsYY&gGdv^>72+=Pu0N6Y4Il(>#W^-fUa5M^l;%9xTl4_V$SdNDxcsxw zf#=h!H&1VWe1^`hHA@>x1ZirTOLGuE<=Zmw6UE%C(2d3a|J7aZ(+V*PcFITt*I(C;SE)5iJGa%kFbw)~)%rduS$PT9efdFxXJK92 zM3t9PL)x1d+J{sE%_!%P7_YU`XxYwif8S_S5y5tn_ELAfFlps_EMZnN?$)~a%JdzN zbuc6d0$9TCLQSyn1id=?n`Uy!-!D_%b%LDrzuuK?P(!HU{J!`MOXgdYiGO^6aq@Ty zm?0v`WDC=6;}-=Pg#5bKAX5*KH5kqNt4mB$gXpE#y&jSY7SQxv}5Fie@ zYoiy^trBXT)z;G81QZ1L1Y{9II^R+43F?i_Nt#-e-dHZY&4Tyd;zjYN{y)0{49;en z!Si32ZhcRmrq^}k=PBT@Ea^Nwvos{h&Cb--YGyP=q~+btsE9F*)8S+uRCE%dI)2R{ zMD}q_a{Pm@l4mg3>hr2=Y~#q}NJmW^_Ej;WQl|*_bB)4p;m_iT_?P&f&SO0XwclN= z(AxX~Nq%aJfH$N&F%F43X~Mgond&z-=hwfjFu?gtei9R^Q}DtbgxgQkyhym%>|p{Z z76w&JKf}=HxhUu?^|&;3tKvd1X0I#60gK?xRLXMW@AV%8$%JUz6w?c>*1S@8N~WKr zlc|r6ekwO|PzY4cv<-Xj^WL0rVQNL*L&S+R&m^e6^!Xf(Njr`J%gmwAJ^Q+7wt4Cj z%qHa%yE)u8)6ozU0K%^v&PQiHG?IKMHWLf*9tBcv3@JwWi}%uS<`63%?o2f978XO< zQ}J{T2m1>S5qf-|)J)5TzSLg?4$QiK4YBcyiI!EXkk7GeBT;$Pob|tROhkzn1l*3` z+wcUjNm-eRkLo|xqP-G~@CXth`X1N~WXGXC37$ggRBGufc2@P|$?8^aIJy=dwsaR# zN8XlY@JMj!TMvKpf}lp-e=woK&rPoNIA9kwvE5T-T#42))75M&-B{1(b7NHlXdgui zeNGY>eIkCdxlHH8s4v8`T<2l8g23>VXq5~NVR#!T5AKRRL+5kwRgoT=yWRGl2{}=k zT1Z&Y6!&NP~jIZ(mBA+$s1-upE zK{Xo+>!JasB`_Do(3w`59+CI$)BWLI_I5oz^u7|AP44>|9mU=1Bm497JClE-RlfX< zR*Cg$tL%wbwVP&?ZoGo18#nSaLDz4UOM@zO>fb9gxKy4ZlsykeYR*%)5h$~ zk8)}$-qPGsY;`={$%b)Y*NYWoa;#!gH6luUy|?F}+B(uOpnb~s33k_UiD$aJFVX4r zE8+YV2KE%GO44^9wWPh4Jb=Er@Lr!|8*L}}z)Vix0S`=X;d0f+seCx0Y9emlKx|CB zFj~U16(}Q;uIr}tWN$oP9o8RK`jUQhBk)Ap=uU8`rkY)!c80rhml{}rEG#s22>oEP z3ghgQz+>sLkMF{P+7ZuGA4T|sXd8+twa5xt$R9-n3ih7xM{#7~r`@sk9FXgbh;W+X z@QNJWUdm}~>I6K-FP~L*g?9ewet-0LgW?BQ)<2_SS5vPC^wf(PKfG_y2tLy~PNVNV zystncFCL0FTE^Q7ymF7gGdGr3#`o7gbqm`@Qx_o^t(v4reIUN~Q7ITYeX1I)pJY6g_ zG}8lfC^&Cqhr$j^m{isATw}&!Ajs#QandO`ozC}qt`%kJFS4yspl-ou`l7o{q!DW9 zuZ?+94nFhi$qCZ2;WqAwYsAkanl+Ma(lhSu>^w`hV_UHl$2U})#-J8iHh5#(t~`LU@N;0Y3dFSzuCimHG^cge_qX#cR`^h_}|@8_A~ zrR7#b7;Jo2JFHIBKt&Rkc9dN*jAf_bw2~8K6JHTn`_RrcOLhw3N;vE^R6o*y#iA7` zi{5x}n@0C@eVyxcl_uTpWiDk5`e~9svc#|f140?Xv`d-W*wf+CDWxIe^)N<)3r*ao zI`wxL>T8Af8h!!;Cf=2}J$bq7IM1Sox@Mh0?mR__56lyJnG1{w%*u>Atoa zW%h$uI1=a+B-cD`PehW+<9-+oj(n_~vji{!#lrG>V{C+))YWUpTQVPX@04qAA`47C zsdwvRj$p4jkr~9x1ZR6EPl^zVf<9$YaA)0OeIcLuyvq59T1fp^+wdNLts6T=R6?L*#)AxC+e4LICWapDD%ewq*A)jO3*# zSAY+W^@HY^`D>aUZ)~Jjn=a3spl^%4vS89OQ?c3o1zP($YM*{#W`&%6g%@GV^ka|= z9dGIqpGplMUbzP+HN3iYXbvb$eEN0kEnc*hcXBXglW?`Gn22#o;y3f6)|18(28ht$Q`>D% zk<&{?z3d?V+4P_odIxXGwd^ADPFxSRMGwhcwbxrt@N8|!XUTcl*7P|L9Ytw1z^Lbf z{Uq}S7UjcK|cxm9_CUdC6hzu(^s)ZqEro7O{zb?=>v z=kQy8*zxlOu;6=kdUW4)xSe=X*20q_ZAblG_QrY2`i$q5N5E{`Eo2$jmqZLb?DO@5v4}ydL3HbI6cJ3t4lPxl$Mx; zP&S`XUj3X+hVk?K#g!7qa^9q1$5G7pzd96bdj+-FOVDG{amF(JGSaTl*MRI{hntnfNB ztID#&dg+y};2pK?j-%7;5?1p@s94&nY^WG-{zZ`=f5Ee4a zYDcg0iex1YA1)2M);4M$XZsv$Xj};&p{DcSqVj*k^*W0-7;fF|)&chktm7P)W`-#r z1|C+4EXVxP>o1C=^MI^eox}smDzU#T^YZO=N>A>d;WYBQd0cFvVMNnnS?&uhG>h(I z<}La@o=E-j(Kaz{l-3ApYtzysHhnLVJB`m#hrJvIl>W?Ea#+~xw)vX&7=s->yltfs za9sMru|=-Uwz|S5wLzG?PVgkYyVL}f%hwtcmiGfjX?*-)Nwc}ka|-r+cq908zl^~M z?PI-aVyA;$5!y5UE}k}ra~*ary}i8*qX!Q4cF7dow+vPjb2<-CB6t*`U(L{hp>I=oejHHIc**IcVNc5kQe#r;U8d?cwrPRGS7CFJ&B%myCiHg2}i z;nKXZ0!(z3AmF&(&dr8++t3|#4h=VC06}+2XUc%I^Jg3V$;@ldj=Dd;lgrQsZfdcv z4SMNF(MC|?^>78$!GWL833MASOJb6k?Wkp@$Oa{u;@d@iS*h8swTOHX%b%wNzY?*N zTAGu~#>?1$%Ym9}OiUlY9DE~U-ubYfx$KtD8@5!CwsJxQio7h^qChmz-tg@ohx+p< zIuQZa1^57ePU(P#&!JvFJunL#XPN~lyWZSub zWRA71YIW3PcucdrNl2 z&Lm1&E1A+9-*(B^6Ke~(zN+8nKme?WRVRplNU}p!EN$=-HTe5O#HY)?LBpp3`bw8d zV3X?S@W&8Kh0*9+03J|SRQp?RtV&vfA63|&5M$#9VdAOx`uYXX1_Qvjf}!YLIEN@~@6HaQC$*1=E# zkoj4x9uMg&*HpD5VxNNx!#NiXT%4Ew{e15<$9l;}qLb0-Jac?@)vg8{{3LgQ7g9U) z5$eEEbi4K%S&^KoiJl}sK?WYU8syYeN zPyBr=cGk6zzEiA!Sm)A3-njps8JO7G3xN-$*tnW>k%)5G#EH((ZSP#$`KQ0U8 zV5MpTInMh}-NH>%7S9@v!8uv{)8>k@Mh0ictx^*)e7qJ`H6X_XM>JoG@XYmm4WFa2 ziV-(ZUXLvH|KaXEfST&|et()$lwPD4AwWWt-W3oj0Rn{HL^_0Cf`Fii6zLEWdQ}n# z5Rei&HkyRqr7KlK6A%#V&2!%KymRin=Rfn_ng6{r_hvGa?3KOtT3I`5@2p?>d<`?w z>%L0e{OmMc3-sT*9l-xU^yEnqoc@t{OE}6$PrW^K1(mTc>HcJXuM-m}j|*B-0Tn2c z2(l>E6qYJcXs=L`=iNvNC~Ah%zBY{FIVRaqgpy-0nylZi&GqUk_xe`#FQp2}^(WFm zsz#OfYSj6mCVYMuG(@5xlUB;4ucB{ABQVGeWI8l%Fml}$5@0oz#0jUP)0wL12T@Vb ztka|o;#-%u*}FXNF7~H^nq(knU>z|Sa<=uPhH|S8aHpxEMBF$O_X@rW?83I2bYpU@ z1^nP@HUd3w{`AA%n8sB05N~xZpHgf1^bkx~;w*#^cO*?NK-R5&!y zSfiLB7=6E(9S%}K^0It%5U(;KwsF%e)k<2yD0S-*kRYR8EcnZHr)0mfDrHqlZ{|1+cXfweV;+fHw;KVh5|IQ!DK?;X#?Ri|n+Vx2pB|(JT8ONGA zm^^#oz_7;6!lJ^+Kob+=aWHPM*c=3%c@CKciy#cw4bvoo`@7dm;2vOeQliHUB5JI0 z9b|PRiU#Eb`RG9d8GswN#5;_7)!co0qXNJnRVZTYCRbZ=$#(5!S#>d$o)nIUru(Uo zOuuQdlG;VfK|8tGnKo00n%n(y?+mVJNtKwrq^>^I>ylSaKjVM}`i5Ij9%J=-&nI%O z7i!i!gw2Zb1q(IZhVBu2qRkY{)dt5YLpxI5lRwUT>0Gz;aJAsMb5jn>X>wul^W6du zMkA2j9hA~B6N2fP-ZA?IoTzfg#dFmL!oLE&)}P~)kFok}VNgI~{WQP_oD65g1-|i< zuJBG=&pz(FP?Q74v&<$(pahUZ8DQ&j|#+S0z}xX8^$p}7nmIIoBU z?r`S}_JOHK*+pSz@!QJEA!$qPPwaCrOH*U$p$DF8xsrwnRhw8BFmy!_9w`2JE=y6C z<5a<4t*Ily&N6sg)|dBecs$TeA|+}LZMXzM`e1{BK(CB%wuc9BOY>`I$oLRqTB!gzl zC2>*=s|&pp)lb~DANg;+-xW9R%a2IgOExF?4NulDX%U$NoS?86Y*;n1vZWFW0vm3$ z<2EU=v{VS+1tQ1kK5^-;5^{A5Fa|g}Amt3yOC126>?)Tz<~fe?kKV=(fU;C1W*bn= zf|&6bX(@+p?1|*X-g@7OZ+#d(68Ofxh$msn8liE!h;OZ)2WG z8L#e0u%2L}poewP3NxRRutMhuqqac8%V}63(xI?gc!AOHHQ zbJ()|&(5NQy4u+}aYz0AIK-pU8U<#;xqkz8I&kizxf?rby zS0dO(>bu7H`0ghXt*SKcSZlg&omllPL$W(+QQwz|+r-%@WYO3yh2xAGd!)tp79ttx zLG!-s#Qul=txq;ouZ9S(eoOF14Z>4fV2uWal@c^To{lC)QaQ3x0kcoi4@IgXMP_N} zxQU8XFts$DAr0;yue+PK8RbzOKLTZJ<%3s4zjjcnnxoo$ASTjwv0-brTI%JcWc(nF z%T@6@m@UzN=4%Y^wPRL2X4r7}%1_Y$h-ukQD_SVS`|`Is&NtAF(b;p1`gBc|$jCsE z9e`4MhY-h3+sI3KJZ3-{)f&S|?YlbUoVzirs6G9jU6mxbu@Dg*RV!ROj_$TEv1){2UFJBP6XS)$QxE$mk^w|{Da zSy#HeHI^X9liTV~`@JlpBAR8ncZASna1oyx`w$g50;?qpMs(#x2eveB&z4Wsz>SnX zBI~9$ebZDni<;%e&~qJ@EgQa2ovEB>);YcPlDvP&c6PayGToXZpA6bd^+4)mweu=v z#r(iG`<{pF;byCJU;Y?g1x31-{8ITs!MVvkN418qwM#z>5VJ%hzv4UK(=|Etf-vjk z$lMjE)-i%f*Z+BE?^}u7i`si$dDd~MFbs+QdUwXjoR~YKisVKd7`(EF~qg=5>7vtInpVwEGiI|pZRQDjq6?&5s8h2-$@*5FOB zWeYugb(-<0G%r=%QK@uwy2G6oN$npNFoLTp?8`e_JwGoIwz|{qjLd#C*6wVennM0yv&0G+N|5mlAPg+zIuBLC z;Hx}X>*6DJ+tbv%Q5)7^HNEY6o88dbqFO5=G*IQ|G(imuGdCqpSN}C}gk2wv`tFlX zafKtxA2Kn}AF^+C!Ml8O(vvm)*I`+8LT?I!6(w7Z`|w@X49eYzlFb}TlIU~w40AQ{ zh8-{a++a_0KD?=c@nDf{4yyV&Xa$wKmfvC5$y3$7T;vasB6xf7K@oXZ>V3P(rK3x^ zizd@w@!V{XNN3q6Ee-6`p|u(;bn^xd&GHNl1hn}n6p4oC^ySYK-_Lh`Wci|sWq;ZH zxrKi~&HIXaI@GBW~H@zxY>Hv+qTw%{R#=ak{cz+fC z0H2~jk~;)f_ALUBO#rPPx9fo}n5irZvy%OZzlMuKdga*zgQG*AdP(!f2Lj@)v(h06 zftYO5s>KkCt6)I+kA`b>o&qr*{lFEHxe(n#KUpCr@FABnQdx7kYr67_sYGPq7~IEO z7tfJ9EZO~GQtEmcKv7c`d%|?W{fEr=WT3!HOq3{}F(bBZeL}hf@JIFs0)5SAs&nQH zX9kQvh|cc4-Rc##8PNJd9B8_PekxJs^v0nCGbUYUyx9dkI8ZC7Y@!w+Fe!T2)5GU& z2gI2Iayp*0dvkUndEadkpw%Vl-VTs)3 zsIo!Dtx|njiH5b&Id&tb>Y2D%m4b5I)Pfc-nFcsBg>}QXYe2QYaa3BxeV!X=dyzLh zy9nqvgd&mTw(ha2Qhym^L%e>Fl2V_>demtS{khnBmo^k zAq+wV&_b4_mc+{R6!qrv`h#p<`P@+U###Xo^fCPeE(Ok2&|ej6Jbf^tk@e6;WKwv? zv{W%Wvqi&wz%RTf`0<{2$N9lPZe}{OBpULHU%IDw$@@gT`5MFSx4_tl zz$BE91EQr6r4zDWIc{uB%|fs@^0DmRprwyRXaU8nYBS==vjzUkgwqd+c!P_=Tw8Zy z&|bv(GLX{c>%?p@o>)euB{wHUC^Cy|K8f?wbB*TbD@;50H7)|%<$6+VA0#4EE)lTK zv?hx)QK_s&b;fu(Bp}eVGZxWm#zx10oe7$^ef=Im|Ni{e@Nd1647;K+)?<%kbc97W z{{+B-qR3$F9_997avRgl7&pU7WO(@8$h-Fr>NQ;o{;6t&ye0|9SMd_hij+U*QBEfp z28HyTz6)NVf28$0sdp=4GBpd(9IW}Sl$*e7IZ*eo#t49^R>G@g%$z*YLXO_t8-6X2 zZ>V7U*%+21a0DFj8ho(C=|o4@c|b&YXg`v$!&V8X{rs)rtSY>?Tc8nlkMAU}o4Khj zIR*ZEW4CtBw`FJ$Msg(HJ>!jAEc9tP5VNX^!GFTD!1+m9x_YXD?=+FNX2H!qqI53D zlikzpNsyAF!23=Yk@~tzL%;lAG=ATZcu>=AMGB!@X?RqB z(TL7EFm=Vp3$bXWH4IsWQdvsmt~~LWy>mamnN_jy)YSve)Hnnf;MBSN_!%C-7G_QZ zDZh}_`JWMRUoKH|th5z&)^og9STd!=sq%!ElY$e6&neTC6_qv4jxIpKR6;!pLTY@p z6L44!0>EkbKL(W z*yB*eAJW+$)$R~R3b`UG0sXl)?PL?j9%^LdtMew%t8QC)E_Wl+ZIynd`kTypLEn~I zb{7F)Mn2P40ykzJHxxgf({;$lCFh66tGFoV{-moed{(szZn)B{MRiPaN>+H8{^Ari z(VjNZ0`H@X+1Qx}p{)MfF9J$`%yey+$f#>ov49sH`WSRs;L|BIB46kxO1TH& znMm$4PTM9fx8BvEOSx-o-=pAd#-l~@!Bhyu8BE_UG{vwubfJDu&^s%F@W<>abD1%#e`oCq1Z+-|P zc}TtggFivJL!+bknB}K3!XhM;mB<}ZO9OfSPHp_+57{VlijxwoRwWsz3q$jZL1_6y zPwu2cvONn#X42Y^xV0$F=TCmOC*LGLix=Xg7$xwFxcuhWKud4*b9te3BHPen+i3f> zC`0M;N@Jm0#b#k5krv$=jV&0ZWshDl+n^P?h0?tKrKj&IC#!(q5W9k~toyo)D|+bL ziCBZxW7b~VXrtfS;3yzGpu)G!$p~iueK!P4Osh+nrY- zzsAO<97lIv?kbKrcNFGTDKzoA892ur5;1blb++bgtD z!bNwtdq&Q!a{TnKXIfXA!KUy8V?ur*BLDXBxG;`ENZZit7ZoLM#GU8H?i(VLDkG44 zM^_Y7YBkerpVdUwDqb%1Keh1LA6D*Mq+nhzr#CR5j3AN#an$kG9sIWnW^18%ebw$( zAsSuoJ|P_|>6PwjMmR2ybkAsP7nr45QAGg{ZzAbq-2if_c=>Tt1M^a8{ zNlw@DAB5_ii(#s?$k$20m27ns;ZmdU%|i5a!OvR(YvA+Zk}O=vw6t;qlxu~%E>rYq z+F26H6f4!;x6NXG*v~EHOjDX)HMO^J+1($D64N*E#qN{zLSK_be9AJQ%I3R&?6U3k zJC9iQdaaASPVj1J-}3C5pU1PlY6q2p1jiGZ(bNQ%=CpcuK`9sBS~uupOd;%YW7>^) zvXtYkG81r*?2UxDSX>|T7VXD(5Y3nPiXWU2R^*uL@y)jE-8aq4|1E~ zU<(6~&1bbinPN8nrJPgb1J~www-ydB6>-frv0d@A-hU}qiW}LvMBTdi%Y*-YXxx*f zkcUl~e%3*W6L!TP%FmX|>Ygt#1erYuFr72sPZ?ucydwX1WtTBJM*pGj1kFafw>;XO z|5;h}jrM*A>GIJkp>o?>a_sNQNq@KA??vN(so?L*FaERjx{vhb&Hq`M_wUx(i-rEz zx}Ns$`=a&lzd!lE?fCygJA)1X{TWXFzu;8Gb>0*0`$ED%m|8B{(HC`!h=szn*JWN=EmNu37Sx=Bg z?dIQ=8UJoQWszB3+x^?$dujaLjD)w|UHgCE8%8OLe|!9-+{gd+K(~jr{(bki%55`O ztiN`G^Q?XB;fb?7zti0+ajsnUSJ?Exa9-yy_`}EhziCo+0NR2N)OIsf?#A>>`ToPi z>h@Oc51C~|CQyy@9sieqVz6|`E`axfc-30d%&`|&8oT3qC_x14O zL-A5_wwcJjzdm}Idb8xGOh3avU;a0jUlqLL!ty3zlR1 zPej%KPKn%qcR08H>p*$@zgHwqds#E?F)`Wj?MW5gjzFoydWOO(k5vKWXYrCL^QKzm zZ(PJ}aXu>H&&tB;kVidLTe*urAKz~HDj*rXuJt!C_#YvYq*ZJuX)^uIcl-}^vVX!J zBf%{nqMk1^MWsc5pykyi{~8|wew_Ii_>z3^FTP2<@B$|H2iBz$fvyG!j~SCMF6Q>4 zE)X022DyH}&E0VN=fZ!;>X|ii5U8qQ4Adlc$(tVpz4d+WW>|`^LQ1IRnOc!4yU%eZ z@(Q-R`$h4UA@iH4%A=T%+FqBfgWJeW& z|9zudeWwqwc5=mA%!Y?&?~}?Q`Rw=a&qdzc)gg;h{1+1QUjqv!lD^9bjm|#@`Co!m zNyASrNEH4opz{4MGCVauN#l(|T|yK2Duf_(+ld$So6Pj5FfL%{i8po1>mDdPfGC62nJ_O>7l zOWqf20M$<`(JN-?_?Yzmex3uh;@tjlQp6qKsfA$lh*6K}^Ba>Z7T{?eWV#BAaR2UI zh2}}=l^$3K!S2i}d{DdnRmJu+;!UM87aT!}19G1RiW!`y*X=v?U#0X(=^uT{>2Fd$ zenS`6Abuo;X3Y>msYJ@rA&^y2mCVWNbjy*RHC6`W5CgsMgf<>XGK9oc7R;DSs_S)Z zwqbgb=8V-hYs@XP8AdjZlOU~&;xu}FLFyfOi*J}+W-KAJ|!c^iYnQ}mk{b7HWbNOf9k6P_YQM} z#~|zPuGLzJih3?V6T6EBoKOlVI6YIF#!GJo6E_{1z2AG&qtc_bzsuaVm6o#(qlP8I zp9Gs>W@RB*02MW50FcJao-U_5p@NRwP|aIgfz=-R{Sz9+iN_|zn ze)xP7K`3|>?4j}8LyINBr&@%vg8MO9Pz6W5QONz&g`*Ko9w|;ipLCmA$x)5v6`0F_ z`&OY#LN~s)Y*(CL=s29#{Y5>4ppX@t3@73asKdPBX}2rQiSzXK z_D{6XBjcu!5us$&zm#gnJMmQL79l|tP&bx^TqKK1E$e?Tl?`wfy56a_kE1SEB_S5CIoejDh#0N|-w!b$9 zU!B@2jtWT#fQ+==?0Hjzc+2l09;xNK9*Fje1zQ?05jZ_tKJt&teQh4j%l9#9UnDr{ zOjnR}4rny>ZAbUg&TlQ8j_YakJ>8j;16`v!+i-P-=BA7^) zRV^Y)T#NG-&A8;3`x>gmp#V-(w0;z%TOF(7YIdRG^HvmoqZVS02D2uBDI~CsZ00zif=-Zy zoGd?n>3Das!IH3@9lGhTvM4p->)=7(Ojuq?Baf#kp5Il&kB$hD2eeG3JP9bz?kX2EF}BL0 zU`BGSE=Uzb$9}-)WN_|=+SR{vuGR7WO5lTfe4YcNh?dA&IBXJ322&Z3 zdHw%!KeRg4i^oGeohY@Ib`2=E&6$tDrytyMoPU*+{5sn?N(&YaXVv_KsTKgf-63Z-v2kDPMD;Hm>(|mE(Y(Q}3cR=0+*K~Z1iH@cn zU|5gIEqy22LV6j97js=!%1- zjV!iN_Lo55O!`M+y~9HI%@$8`PRy_pj}z8Wd$=m++z< zwKGvULLHr^#A3E<(8PRLtRAb5=mQ@*3@f&_863#U}Sn(!l}0k>_Ibq6#`pnboBR zzhqoJf$O5Q=SsO_AQ#1tnt{ufjy?7=&|0?n4&|+4xtXshz}?%OXvPU+p9geGpZ9Hg zi;j!JhCRnN+vB@8U?E9Ci8~%%Io*mL{y3^njqAiXRC=@(WkvddOTu98u)fP(?&X5l z6?7yI*gZ{5SCbZ@{STSsV5A{chRHLI1_H;}lTps9Sk(^)j()~A&mAK|6Iy?@Il4wR z8`aN!`5oi;?p3!k-x^#RfIxZQ?xY`8Zc8jov$-v5$2VP4=IQ(cwApy`YXu$5HT5XAiEv+DsBd8k=+mMxIqwl@{a{SWX+? zSY2mn;|`{QInf2f)`H>_)ZiMr*K`D+zcA-Q9l22p#w!lW9O~?GV>MZ>=_-3KLQQjq zOJo~NBLnpmvN~I-`Q8U?!O%&n7W46=oUyH$C)V&f+q6FE?+Q#=`J6T zfL!Ywve?SR`;pD z8R8x_8tNfhgFFwJj~LJSDCQdXeYqA0l(D*ubJ5U1O)`=jyR4 z0GnAo5~ck0yXw1c(aCbJv1il$-6!vwe>VhqE$v*l*@_t;tOdfh{>j_&A6~pb0j#p^&-fxnSAxTKcV3 zw8Ss;rwXOLofDPmF7OdGz4yh_E^+JAOlw$~|D=ECUSE876IGXyG~0`o!%j37EG=Ob zOvaRjOdcMib_KLF-`n))dkrmPa zBgip=MEA|Ab0utBHO{N%51G74))?sDSkNBTeiYOls{bcK^dI|n5 zeagCJ*&)D>A~n1!+FDw@)YT-kf@e(GsOrVy6Cbfn;zv6nW4`m0_ zDAh_$@@}3Ihe*1Q@u74P5L}#}r}Onf^NS9f{`gSjHv#EaBH#X=es`KA+*H zlpLe*grF(UtNm(qi!@g(7?71jL^<2y6p9oVS9wXKbeu~Gvs1+p%4ac>6Is~v>C`Y~ zBWETO^Red=b4{FF89p#sv0#o#sCOO#IL-It4bE8aZiB3no*qOZ&=Ucu+3LhRTG z=34bD@cCI8<0|%Oq*Nao><}MJ-->F0h)@yT)MPR?y%bv>XfL9l6kg$Iv-81yoe~3{ zgqWyR%*DTYUL3vj&OofLGB`cOLs|OUB+BGz?l%8s_*m8hb_v`2Kud&W-?Sv!s-}=T z+|_?jK!{Efu*G(XNas9kPFl2;$Cr8$Gs>$h8egFCZ!j*@zy3W8U_g5PDC=91F|f(rEDQG4?>U zJhEk|r2*6u3csxMYK8f_5qY?UhYc_!@Yo|)q|`#l{#rDbUVu}7*{w_sT9SHt-Oy!T z)zpiTx6#tNg=Hp>n5&y)T9LaKVq*42@ju^O(*60mPueh2>DEe^%W04PC5M3Bv8Ss%8tV0w(|{2>~%!}9_T^Kk>WM}C`rE?xlqg5=ETvPN7N~v zqC28=h)2J8B+HJTTfK0iB>F$-2pl#^S51D8DoeA&wAARanq9H9D?kDa@`@s>oC*pI zG>u?ZXc2yH+UHx`X;fop;f>EVE;8#q8QJO!&UuTmDqRnAvHcw02p8w<+&oC95>spm zSWCi8LJg}sFcJO;VT3$ z7{aCPw_#m*yr98umq;RNI$&;#Rm!F;tlnew91DR`rrIY%htsIAx;fqDY;Zx&*DI(c zy*;VId6SJ)QZ(K4(dC003lH~wYGSiVQ$HtqkmJXXtt#GCn@uhH0~QLr?eR|i%wWdd zt|GsV50R)%v4H-iLlZ*BI<}=A?1?!N9^-e=%2a!96y!vG`>RE>7c9f;#4U@L;8i5s z++wH7BdrsYYMmSa{jq9)XGqN=Cx8kIbEwDl%1V~;^^>=kOq5tP?AR;c@<}dkxG!pD zUt?>GwqUIZ_=KXrl3ZN(%(nXTe2*~5;Nt0tUcTTHrP1XVA5VMSR#i4ii+&;cS?TvE z#l@Tig~(SfhR`CVJnua32$l&x*hv%VPn+JC=>Xx2@3#lv;ua6{O~lEX8&6vix_cB$ zzri7w7w>*|pilob6aPtpjAkeu=@1;`=GkfzFmkz!un#77`rfDNcdB`UO0*Et*iFAN z>~9P(knm}p80!>K?KZqnUrZ}m*jSNSPlTOVXb&?4z7T!uI^U;O;~lmz9A)is+1l0p z*iTVzdHV3WM;k|_0**53nsSR^KyUlU=O*uy@--gx6CK!$Z3lk5{DjDTl$VQa53s|| z72Xf4LW22&wLvS;#4p^R42}op&kR4@rS|JwI5A%mDEJ|z*fsU>vIWil{Di7mo+Sp| zOBM(HIW>jP(*m%(TQwcFwFc~0y}N`%`B$^5kUtK?RC+6~`^-8(vSM$C@clf_m;1c_ zNVFigbXlM<4*5HvDuBmHDd|J&I}MJvd%#{l-ses#PmIcw9TgEcqa5MDp<%gYY^gm| zdktvdL+gij4|yI#yLv@-Vp=*P^bqgBFWn|9Bd3fJSqv*gzU^kcjq-e$s-LGlgT`?4 zJPnHfvS#OyLOEcbcDL=5)$Z!2>{joPddMv3WS=n9+*7lb4|kz~R1whP^rofCMNPN; zw)XL%906CKc%9JH)vQP#w0iNQJ510j!-27&;-L%RRT}PBO%OYV4sm!6|MWT?NJgeGZf`#pVR-Ujboe zGM$R{kPjHZ>HV(a1kH=NQmEp}nh|2iz>Yh1JyuP8mvHc`5peD0%)+i6_NAHKoD@Hz z^&C%+>+8_OleVDRT-z6nZk}s+_54%8A zhw~8vy-ONm-(PE;`i1Npwh!@T1h%)1+HY4(a{3Qq-0ub#EMPs&)+f@f`GU#V0YJKA zA6Cs42QSgHChjjWjU@f8T}ZY zAgA36w6b%IuiM4k)5tylsT=qLbq%V*luJl5Pgh*O65gx4A6x`@+X<3jy`J^VaLxv0 zBLdfWsCVcXXbRi1@9^de4ZW2){duk+Ho0qYOYOdiQH7);qpb3QrP5 zfcQ2u5Nof6UUPB(K90YUJ-2mZ{iLA_7&GfL#&377LwSs-0dimF2gdX>!R-scrW86Y z!U=O0?@`IE2fV|#hE$#F2^MCb1cXex6CeL_`2HqD;4(3!3+TDW^S-^9Xu61yk61_x znR-dVt{P)Wz${rz$<^?KdL@Se7Lamp%blmDRBWFIuboKcUybRz9~{ahoAR+eK-m*@ zqY$T4yctj255yjElBTFo(fZUxia%*-;htZNo9 zr&pss+g2F8L=>oKFJ>GsrS>wtcUNSqS3@1J3 z_MoFQFvP_XJcU45b>m>awU&%Uck>v1QNk(zq!pa=MYF_y<1al6`}!rQ8$)SfQ%JBZPJkF1%p?)Uq?m1){)x1`S8VN5o}VNHAg(pFH0qe?ey_B)y0PCQOU}bv?Q-F zW%Ee(Fx~$!k0m>i9DQ6Q*WOWEnixJ)tF!*c74U(kmJ$-+-M<#NwHvW(?o6ijX z%LZe)q__@qEOQo*9BvW*Kw0SrUMXc#l!Hi}6aDG^{Pra5SCrnZ{vXYS)%}bDOLdxR zxkhqPt?V=Sz{B+EQH{R0HxE#d16LJHoFuU@vwRo|10mSTP{>4nyYe#)wHNn z1jChEB-Zc055=6fY_wa(qn+R9aMIr%@FQ$4deH<;-?#{_mK96LV}}GJ%L2+ns+acK zITra0EFf&x=+39$D;HYcR$Rl-p5R+da&K(hq-^|fN?${?r6({Lrs=1L@lp~NUh zLFl6dq{0-++ui58X63Qf?3YW+t zu!caM#cEQt*~Z=ZqDogMoCO0EuGA~ZdLit)? zPBL$G##h2iOmkvoAKkMFJ1UEQd9S1*cFvR8kBu) z3W0)1(S~ejK}47V?{!1-gJz}dF@m(c16>fz1ZGH^pW9lK;C=Brq_Xl48I5cTLF|c3 zk)u_>X4^fv@XBC1I|5LvDPVO@)u>Pwce%>epAURBmn84>JW-%)Zqt zFL@N7`7w=s;5TteGe0}2nInM9B_YRkMhq}B(?4hma}DrGx2Uk}bhh(HN2W||mzpqg zqC<1qo-1E`CM+ITWJJJ|t~_twe1hpRuAJeiq297Y0e+hgZQ%(rcK}|9i6onHL%~GO z@yjz^xqrwOYuj(VHSztG0#^LBjI&emh3^BatqzlYY>3FKD%GZ>Y<~sz4mD2?P6u4h z%(};FG`-3JPXC=N`WBs4<I!xN$hJ3`eZ?Kun$I;TIN&b-}!*2wbs#yKV5kWrgu;2o|BE{TC8)$1Lo zhuF=K0!~uKS4Pd&b{^`%ao3Ge{~-GyFe2|UxceC#J7j|4q5G2OxqatT$K#jHLeSzqwdSvcD1V0Idti05 zVDh0Eg>}gHMGs&^!es@2tEN~UW**8=?kke=RBuo9g$*GC7~5%ywS&yuRwdElC3kDh@ydxYHXxnF$tzMs()Z24OcL40o(jPolfcf+G2^Z3 z&KO3ih(Lg?gTph-`p&8c-E<0KP%`Hv)=_x8?#9HJF?>nZci;3a&*JQxp6B1jWg~~V z*sc6QPb{P~MetJe&pf1nQcC5mvz?1?V~OBIteF_?v$vy{VZn#0oNb!v3u%3-!x66Q3W-sm)FT;Y+YtP(8Vi7V`9@R6Sd ziVmj_M}V!1zt+q^X>_asE08KJ(oz8L!)6m|l-)JYA)gH>E*gmYb&K&vlQk@2-fL+S z?F9n6__YvtZOI+8?APocPx2xtp007vJKR$G?L{dR0U2|C-zL@deE=yPA)O9yIhTTf zXDl)KG5B|trU37RQVO|pQW>GAEXnAns5`VTy^({zV)zGxKpA^e6qAnpo@ERMsj)<LM(| zCcLvnc$9`Un;l1~LkgnroiP&X8-ndo9q92X_bkU4r+tUKT9w%NIJ7vSAx4nGQj0<{ zIcpi|IuLy#6?pG5m&3_eo2I!}v6Uxa2$pWT#@jtTJb@+`r(2=B@LkcGsir~t?JedM zniRC*z?-kt&`KdFCnKMBDThR-Km*ed_XE{u90{#N9VF#bvky2nHWfYF4QjYyiTc31 zQhboxWyz}=rPvCe;&vZIrpcHRS|r0fi}=LQcHRtKG5)PD#FW}?#mF;!yjz~pWpnr{ zOiDU4-kO+To@_(zpAtW1Pn)L($6`G>e_c8idwf~ZnRhs4y}@brVz+)5XJT0cS8Wrm zQKbExp!Rk6KpYp)j%TsPiz6%zMG$UVM#Xp3&@$%XrF~PjF$^GUZ}HYIhSb3>A}l#G zVS=9`m|3(tdR|FgZS#vD44CTf2&-VQSpwbwf&7-Qu|J4Dw#0b92V1F-Y_w+%Pn%n0I~3^O>! zMmsM07v?=`X{0#B@25YlT80-{@4C!l?m$?o)MvMIQ7s(LEGs2qdcaQ&pvdQ*o_U=< z_ljF_0eXsMM!g?$1Vo5bGvTJUrCl1~sk;b~}GgvyVAQ0zTd z(ZvE@i$M}5Go$OgGRM#C*f#1w-JIhJ zR<~{3!QGiEsW%YmkbIl_sSst4Q~}6ToE}J2AM5(o7k=*Wbx4&6zH>(xC0=59Gh&?g z$$jmGfp@E{!}qT4cLlmigmh2%|sHI9}961%7^WGDUA820QS1)#9{reA>TkI06&--tpplu*JA8l-IVU-bB zE$f*wIO}WY8v~J8Gf2@}xi!~S9&05Fzo~(AOytvNJ=)k6w(x>R@6+&(Yuol7(zGT# zwsd@_O5e$-ajh&Lc&aS)K8(XPi+>0+Y)VFZyh&wb_5%7buqp$W20_s z7W{DZ|6uPuqni5OeP2+JA|M^5C`b=QdIzPG009yR5Q@?z^j-u+X;MW9H54f!1PBO( z-jpg;I#QJ`UAh$Y=C{w@|FiEM``mF}oIA!nMfQrV-0iucpjRCa5=%)6AXDSEH&)r>Nm(lWA|WChN_0v&SM zBIOXpR6S*gaLoj19j)OC?^nyYv7>i|uZW+#89T9>{XWN*om-F@*~_^B|4Z~UJX!6X zMgjEeL9m}7Ir1JiW4|W|3oo!jx@9N!B>{#IPl0q_H>pH^Zq5G#9c8L8959> zukGuZSdDJSEG&xXazE`aV4KU+SG??*9j;Tq>u>jEfrWLfYhP-TT!u49DULEVmTxcn9{Z*PF_Oa>~FhADK9A z7)JiFd#(ebef3EY1d$_8s>oSp%lmo}WN`&QQ&|xm+O@(J43_n$NSvKqZx1ZEoA&^0 zv!t;rK@=sE#L2!S`bvn~irlL( z6_eS0#dYtjPdVr7&zw)s*nESs3$YB0{o4**!pGy1<6qoUVhjgy!uvSt#*{RSrcACM zYs7=$KhNDOHa1w7hj8b1^RVCEKY|*zk7SU=UG!j;^pv?gU61yol)8P=M}4EEY0oLd z_EqcMx2j0?E$5zvQMpkKwgDV})Qq_+En2%HJM)cmioYTpVGhnuctv&wxey8@k32aj z8xa}&vm!%$LE^8oA{vRG8JO^4oY>q8jP+`+22%P}q`D_Qy5r}d*cCq*3QKTaTY8~* zw(g|sq+CAc7A39KBAoOKIt0(KZ>el}h)zLgnZmtj#9ND6At2Obn!ATUYLK0ipHW`R z{&?8Lr<_M0er`eaMMS3sYeYvzq;w`i3okDi@3#Y-!}O)b*^3RRF3(jnC6iq<%o?py z67b7ztcVQ-R`sHfzH&S9_ZwM_--rfNl;sozXPgZ^ zW-t)m#<0Wt0Y)kiJD$UrE|vC&8JyG8BZ#Rqd#J0fO%sW(fzeiN;^anT$)UFBYO1cY z#h|G`+jMGKIJYl?>s2Z1?4}86f!#s3 zl0(U@Kr_l;%QoaTO_{yipo>2jU(yLNcqc`a9yov%KNmZ%QIqh5eAF}|*LcM~7=Zfo zAZ7De&QJ4fk4}|4g6kL5%N_j(zgn)Ex2mXpr{z4uCF1rgZ4v{xOzM`EGbFXp16I4b zFCXj0I65)k6nfPBUW!t2S@C`H4XqqGDmzSvh>%M6wp8&6mx(mfFw8M z5HziUntLu`Gy461XxRvYYeJ0d#6DA!g9#AHy#X7;k~yh+CdAyTCD6MT&!7CBo1PUi z;&6(_B)yhzYQ$JHh(yKw+7WUGjqS*~sXUu5F3w(?59*C03Kcl=@L;H-R|OYuVPl@P z^L-zV0hEY8A~tU>VNx8ZQ(AZKm1k~%$g61Z6pV0|_wFoB^fL&5GurR~h_qxXBK9(| zb9Lzni4s}}^Li#N=!;W{zKaB|bbvEnAmiW!8X8m$yajg10CQxJ?T$M&hBcd=4lv=8$O2KWIOl2XR$S30i zY5C~#`Dxj~qEa6BoXaWdFOd}S(5HmS#jnFJb(fiKbCHd1I|YY)Y+-qWx+$4HJ~aXxdv&NcK$wP5_73?M|3u zi8yT5R)hX>pMs}`%=$2t^<|#K^lWyCkn>)UAOtj}1)^1Dx1yI=`_ndBaG5|1vvv1* zbVd1>D68fJ$6V;G$%c(7elGotk{Y}|Z=E}~j}f0H6!O}SgoAvhcS^fr*dgE9ba!4? zBAtmY+a9;jIbQ)qLyLqB>UGSYaHwjE-r;M_JBKGgrPE8y%7?2J?g+S=;{WhC|hz9r?QSA{D}OuoBM3ww7m({W1+WcBuW%f# zllx5{w2|%C&jNcrH$5Ip%Byn-JW8Ug{H&eU_)|N2Ur3=HJgai(_R`UBxe8&JG^14I zoArUpd_FbMmWgv5Edrc={b`+&u!`C0vbuA>_O4$-)2p`Xypr81?`Qa~BoAiVWnT3P z(gy-FNx4>5!8d7jG;xnQoA19>KATL*sCv4OXrA`FJ@5ix@K*Cu>&RVB~)V z2E*de;5Rp9FY&$hTa)vTa^(=NGiOlFlPs@Fu$gzPYc9ddwCXOk5_BUjWlW~oJuavX zD&@@a>sw@GT=Ls^))k5=bTlb(M`+z3R4SLG&Z)*BRsuzi@4{IHBr`= zXWKR{l31ngXYHMxKo+a+fl8r%of+p;tRra7lRqt6b>T1^K&fybq=rnEm&ERjo1_l` zKVV#Mr;6TfAY>Uy4-^kg2m!Q8F<&qNelEwn7Kz(|cW7TfF?yIm5NOGK8Y$jyv^W!AogbH=FzfG8BShN zTsZ9q;{>YTLQqAuzx4eB{+qM{Pwr8_kt2@!H5{zBQo?Mvp08U7E1_DuPW%KpaBlXA zR~*5laQCwHXn5(YzUQG{y*JD!WG+46*YNtQzFZT^aU>P0KgpQ5^p_|bmQyqrR7Vog z1*v=2rOtTGNfLsPOq^J=%JWQ|CS=LwwJF40bMMg(9&NY>h22W_6s(^q9|V3!-{HK7 zxqPVsGJlpNx3cI3mctpN>48U?r;*%&|EX&x`~!E1|2LlNe++v4^LibnIe$FWexs$E z9Ln`TS!Y`;dNgF2Tr2%2p>I!9xYfOsh-TonG9taHp+^M%`RDVUM_)LOL=|rI9=SlW zA1HNdU+Te01cF?<_% z5rLt5@WhX`SAsAe*b=%mVV39hBOE*ax8wgJP|Phr7(OJ(2yPh09-L})0|gTk#^r;b zg_ASb5Ai#T>;@OF-jJy*)oku0#$wp1bW=a|P=h+2{3S{VDD8p^=+JGJc>-FhzY)%^fN6iT%ew#FkI~^SAyS_Y6Zt zefH?~yOU@KNqmX`chDoDh00(5RUy5cx-i|yf7EI-mPR(dsWNtdS7({(|F8c4dyT_! z*GZMk`U-WWaaFzfueUL|^WL+!zAkDfO&xfH7MjH8))}&AvFEnx?%kX1Y3Ta<6n%W;z}n!*TO&2{imJ}Kc=I$d|p1!_vaCdHsfAo9c>f!*kjo5`roel z*hNn5=Kpxe@GivNZPdRt6j!9y2KiqiZ7Bl~>T>JcW^9;YyyQ=F=+|U5Lc5*#Xq;d> zD)aq0*vFIs9y^%DSQ0|}{MXmBWs|%t%H~Jw|Mn#`+(zsc^re-`t_~MN^OOI&qW^X0 z6FZ{E0l))ze7}nRNz|QVXAWM+(ekm;r%;>eCzH)H9N)$j`Ys>7yg|%LSE~H18~ee; zGgf-tSr!mwf^~cTs%Im0GJiK__*lbHhA;b{K{S~*lADw8CG|i~jZTkzufk)i#Ps^* z3P2(AzaJBQC?I@lX^Y0FRaj2>3&{MI-s+#l+~8f$RD~=U9TDHJLs(8R7oYO^>9d%b zt4C#|toU&R3-UxS zq8He^JIG->J9Llj?h+VfT>KOL7TuwDnd{2+zz+)0DJiUJe$lDlhaBLG*O0-`-#~`r zqyWS~9>4H{%{PEjka_2i5H9-uYx?ducdCi%OT=q=oH4Egh%7BQ5xUqza=EA_(;O+8 zyrvAFQ7_i`{!5}<3&-veZ*KndPGcn3O|$=tB*DL-?*GrNg#HH<;=dMI#LK;-I|%3Q zDBdSgJQu2Qb9Dw%&E-ezzHUxF)@>8rFHt%*g>-M+qIdcYC;Bpgk2|%mxgBIrpK&m9 zk$?F2$@HR=mWLP{_w1)JiGMvHwt3y}&zIluA`DL|HfgE*PxkuDzQ07U(m@JNvk#Hn zw4e`&LzC3dYRJZMnugwoT~v*pAkgo55NVw^!ho?#&6oQNvwm8{g-KiW{&3e|2NS@b z`bHfDYAOxG_K&bCDi*&lPhsT+nNh5OzZ*iriFzKXRZfYN)iMnT&t+z1SRadGDmbJb zZ#>?NXSpG)nh>BMkQQem3d+3N1D1J7EM#9Tuaihczfm&9e&c>auGUZY!+BBh8x3rH zF}G-?Apf2v@SHNb3{&`|JzvHJjny$zRa_wAQtx@QVRMjR-?*!5yI45B!Jz!cII`N; zC`t@qb1_R6AlrxuB6*$rWa71UicCqX2!6i$`L9O?4p~4rBZ?l`pJx!k`{7-)?`pH} zZ*BF>>5itFdm2N(2YvhJnLvrvKJ!d{M$U_RGA2td5*578K{dX97?9js@yWZ_^UIIt zPIWmT6@FQAV^l2rxmc!U*CJWTCB+sP3q*i=?YG#m|cUI8!w5x2lHL(j85>R}+ zU(Yx+Xdn>&0Zkp;`MMQCynGj>*25MTcf>a#$S*55NNEcXcCKT|Rt0LI`XK=yfup1c z#9gZI-{LJ6;oIrk8@&kM^&$AC(2;wGtBzcZfyH8@35##W3kx@h4(aS=3P=L)NahI(h>nk5OSLO4@@RD=j_^ZQv5_* zFamIb@IYSag(e2<`zzb|DlY&sRfd@2;wvm7FYVDT)IHtI+nx7^zevm8u#;G|ain~z zc!YcxVvZcR6cp;JQ?b7~GHD9$_cg%0^g%9uTLd?|G)s?5+r%}x_vWfe{q0f~cW>7Wikc2@Y@4HpZGJ~-Wo8fqtO)l?27m548Z%Ut+Q#q zhbtJE9m(t$mn3Qg6gx%PqZ+3V0M2G%F)2g%T5=(aN`Y`BFLx|YG7*P;?{fCO)}tUL z1^rd;&DUC5g;TU(V?pZW?OeTS1G0gk?<%FB^Y3RI1*jISj()^J=v3$A#l)$xY-oHt-W0H`qC?5Wqj8x;=bj+wVo}_KP|#QA$c)2f>s_VphR+p$+K` z#&4Mf)u3eqy=ZO|ic`fVsX@0Ho1p=-rsHyB_aLn%*)sY`XW3%5tkIvAE$$h#DXQPC zdG4sZyQfYy*7|UGFhIvcXmX0>C9XyX(He4GV@A{Zmf2W`#D&@I>XcEj=rDtjegl&HDC<$@QwD#YWEU+qORV^pfFd1)OUKk zdm3FUo>~t<%FO#?{U}F56Q|^!drS)sAA2N#5XsFv{#R@ZE6vP&>AXO4xT~>gkx}8dYaODt{YERI% zs3i2DT;@+ofxIj1ZaS47=Rjq_K>ZOtx&TfQ-C(JPf10>bq)#J~lEJ^3uW}dY@SV?3 z+=Ar8hS63qDdr6mT>oBdR+Pf3_mIBayfb8~$DWrP5}1iy`7?*Ra`<)rhk55O(cVap zW)!m(H=Wo0L_5=}V7~@_<2;Sl;oyo7S}I+vVrY0(#L}yvv6H`iEbbAbw+ z#oI;QeR&0LZlJ$J11$r(cuxWezjorc@9yIK$1RV|rJ|-o$?kCmnGIf&SE?e}R{2&Z z`soDA4a5l{4CwD@t17Wx=RG3ZNCdCD&)2-O9w#$hFM4}!J-HUApgVC2Dqi(QUflED zUOkX|kL2PW`NuUh=RZ46QGkZ^b@XMGxg}N~Nqo0>Bvq5f^=zAw;8difO4njpUtc>7 zfMD2FrTgmXFltRrtz%nLSm9yJmv+4=JI7nrVluIOt%sX{jOUgN<6D97NtslM>l%|u zSQUrv(Q9=Z)`-HX84hLz*T&@JPuQWJ^*bEcU-<~Ag+-cq5DXGKt2KHf9Y>2MqhweW zB$2^m-hhf237X+Q+V|xLJ5L(<0d??*p4quXH5+j2<(ExC1W)SZ<0m&HCv45CY|@(I zGS}Z|4urAmT71^Kp4X*Rlv}OVpy1DR6CZxhU>CxeEcPM{7zPJA zx35BedY|4|YPRZF$sO6^t7R9ddQ^DuTaU617ytUK$zFH|oO1FTf|Xl9t7us%G+vDe z@RI8sr_nyPbcC{rNgTey1En|L${V++eb39#?VK*aXJxFXR2J3+Za+oRvyo47FjqEq z);m2&&C^%Q*-6>Q|L}^r=NTpS-VX?hp;etwpXrnjaG3Xf8o<839Bj#u2FIzc?Cxn5 zh+(WlosN-p^uX;0?}^zh6yp_5_#qitqO%?k3fKQ&5JyXATYUrN>wWF?BVkW(pGeel z$XM#=Je%CGJ&H-1yf&y4#Nh@iTFV7Bc8i`9>%!hZBBCe`k+0d{&~9F%H(np~V{O}_ zVH*IubS@UbUtR<+U&&)ARxmv~(^=POVd?uy@+@43^)N_qhf|CBJ2OjD(%n6Tja22a zKx3t#IX`T6vSu(Te5JReN$aSiCn*|j=K)EpgVW9en!qZVf%;B4649toFEDzTE%qQ$ zSo%>~dY;^XXhNCmO!HwMO>WBx2iPjUI=NddMmB=LQoP6{~N-8*I|_5PKuIO|%A_*o2L zh$$Lo3+pNZ*73WItxs=U&nJ);M~_m#)|#`_v?4JkTSp1DBAXFrebF_ECgQg#-CaUs zkT)5m%NV=Mn1erpa@ABH7YbXJQ_B?NR^2uPyaZ)M+YXbMDeG%GCb7LM0V)>x;&Jm6 z^*)3BJ>7$pn5fJscvtW+BwtZp9jnMIO$eQ?ujhExF_zZ1-8%9k`+O(o<~>5riiBs_ z&LBs5=5^pOKJR|DpWLPWI>5IiJ{Y~39G+n+mbg+fw=Oji{#eSUpC=c{|5QFP(oLvS z*dq5+2+6=c!*Xty=a2<6#Bs-al2wwB0VSAzS8bXV)F5r)!~b^wZMM+!v*}YCFE0g) zN&4=f?Qb0NTPf4kK0YA-v(fVE;kNPBLd(jkGS?0H4L;O~$@=+Q)XhKerj#{Uv^3d1^MOV+%!sdmohzqov^ zvnuKkz)0;Zu0wJUrWjhIzn@Cp_X)LGPV_c;G_fh9W{VcZZ)c#N>C=lJYcm&cGSeR6ug1!DrZD(v3vcDk0+IRX5sp5A<4$4=&eMio%>Wu zlo58MCe1*#%Rni(Ya3z8e@@G7oF=2f{aNt+xB$uqH$buc?KE2T1S`_`CTh;7fQe`zE$ zG=g_h97RJnk{ax3WMG~s1>@UZ*wezaAl?CGm_^`zBbrM$!#dZZKS+S+G!pkLq=>_+ zS<3IhVr9m?`Hn~a`&lQwFP^O(Os|*xIXZ6Y-OIG_KkcjZTIl(j_npSPx?EB=p)M;@ zMrse}p@P(#yh%x)0#tTaIYZ%!X_UYiEN2RFw%dbG+m2*TS{F6XC4dN=@$K3Q6&ShXBD(GiLI|NPX#oQB4=V*o5}E05Uy2ree=;B||Z@5a8+hJFt}%Obt@H#9nTio&d5`{VP)AV8;5d1PJoH7#|SP? zLgk!)i7v-QJPZlkLtA&Bvo)RV!v5{=e5RiHRQqhvwqI*fWi8U*kL9BTg7iLgGJhC1 zX)2q~QhMndG8Q5Ght9U1QD2rjPR{9R{n86-&9Xg?3r%^9^#K5R5LUYTwDXI8Hu{$) zFB5xzllRZsu~lr}hunP(ndu?QGN+ocsPhX4EcpJfKBu|NmvPebqP^{AO{FJuabGc} z>&eIll~E-Q9T1Y}vBcZ0Hy>cmSdnZ=1@y*qyq9>(*;g&ZO_+)8O2}V8d+7 z0`;V=Qjc~tU!Lx5Lo#2v@D$%EXV!Oydu8)Xc5V~}W@dtEJC0j;vCdHplfFe-zq7OT zWiB|e`a<4mQPnw`7Fkaj9W|q5P1If6WQjinSK*_*w`$Ym7MrxIoi4ub1V^(wk4NfC z)J_^drSRgeh=ytRi^s^xc%@p(`eD4knp%N-TYsc7&b6_IZn5GN+}dUw9O33}z3Hiw z#W-G`pl-jzcURVjw+4DRN*bqvZB}>NfMFL|HnFju^0Euhcw?-94+KP}a|{i?zsCjc zRMlH&?36C#B4)ZVp-V=CkR{KyNDn3OLt9xq(o)CdqJk#O;7Z>2KM29n zMup3jnLmzwB2O=W{Olk&2?GBTtsG*%4(cbM6v|#`)xHCLDEGeOLqEGvVN0@2p>x3V zs2fSi0oD_~)kmu)Z;}`!Nozp*1@H3Aq^|Z#Ky>5Fg~IdmoYwB^NL&jr1kQSo%S~hCmW2pfOv^!OB@PXv1rI^Q zZo+tN8hzZ_4|ehKjTkrTPl@vi!umOlz*mD^E&fxf$!S$nJe3nN<*`^tatOzBP;EbY zHsYHQ+s@Q88g47gBnf+)eRqkeBq;#y!NV(3q9t^(>v@P%CCpo#Q^=!^j&Kmq~uUWc>S zGC=8t25>cBiHYkao+#xx{2+Is++3(un3QET?)I2+@zo~f|{=LG`&$l2dAQ8SN`BudA4&GU0RO@GYs z82&>;HMW{3Y9!`#JN-)t&@w}jxNj5vYILXo-8{gWq4XqZhOX@+S_nuPpT4?}_}O>w z=MpZ+bz@G|-gX`KW+@fPmmy%d+Kga3zydKTos-0iG@LxS(r~R}V?{)LkJ-H1a~LzF zL-1^~805DwBge)Dz2z3|F zWuQcl+==E#KD3!OzAvtLSJ~Wm$3iebU-miDEr}C*+6L9 z{%-AowAc#6DzgD!8}T9~ELNdEaXf(Em+hEF#MNu)KIc$}R_7$dKKT?A`V9xl>?vr_?O*GXmH0XWc!XA#wpnX~cGf-~^#NtcQP;5-9(zyn`Hyf!5%O-L5?;{5f)`8EjLEcaxx zS26v%a$LOO@$uI&-wD=i%(6p$Gcwy6Tp$fh3uvu*v#p5B${<$ObtCa&O@Ph4LtT|C zX03L3l{Hy;yJsvnY)z+G!cs_A&}7jIRdD!KCguYqJ2-LHw~T_3vaop<+in zD)IW%xUZ)0EVuOiGO1Dr2qFN|nWO98IydX1KiL{X3Br>KE`b{#v1QNx7B}gxT>tU_ zm!o#W5#>I$^QM7La+Q~$wUDo}wBH5?%WcP;Y4m12i%_YNfcgneJ5OHt5u6&fEo{;! z%F^pN=#!O-Q*OO$xO&?Js(0n%NsVnW*wgh!_$3)N!P_$DNi~SuX)Ups5JJbjIXqS2 z(&7kXY)PC~^K_!7|7-#Ml?d|oBUOk1ba(PSSpG{?&&mJmn# zqKT8#cAt}mSMpb;Pk2M(4jhzt$7jNj3Wd4?GwH0}ky|T2Jd^0SBRm-0*9R%w0p*Me zx2AWP!-Abh7bvtYbTKf(hy^VO!Bow<$)!RuTxOfwtAfTWYG7op8Zq88xD&U z%Af`BGNyvjAHJ)1hZk0s)ehBNq+hA5+IZLJL_u0)QgQ=j`Bp_9ptQf)?;LAuE)v<6 zH&)f5nE4sxIMNCXfTL^Ua?z2+sniPj4R;uhOM8{pJVVZMc5z*c`4Y@(!t9%)Uhd_= z#(eAZ=y@b;);QaY>emj`CzUk~d%`QorSJnsG5TiB&2^T%Esg$eNZgXGc^e>O!e<|l z`^Y7W*g&H+eTlb=pcdPT4S%K%nx;!>XNfVTq~1z9=?@up#rqFk zv5jYimgdp6Q3i#wN?101|E3`5dMt9_eZWk}d)WaM(Bpz~eWm8DyHK{;If|uOi+$^# zE~F&YX_*~RkE5dkwz6;8(5X#OU#d2(^vp4m^Q%@WfzeO?SFnlbzsJ6~%o4BUW)3v| z65TVBegoqU8QXa9w*3aoxF!rC<102@zS#Hx1 zizhP`1(7m1vUebbz!Ig+xGL#kS#{hCwD4pha!Fw?A>CRL{q5_?pL_NA<|a?qsOB0S z4C|e#8@|!VAW7So3ZD6qK0rZ;k6ikUroh$&&7NM(!D-w&pVs%Z2P3rwBxFw%&@^;? zueMF$2E+Hr(t4JdUr@tm!{0X!?bbe%HSwh0OrZ&HBpM4LJ5lZa<2eI;Kyhdq zO=wF1=WMOWF43){*`V51Hh6HSY-e;fA#7z%_%jkFTemm!rgvA&JzP|NCCU!GMST5AIWyusLVcVcT(YBq!AcCb2^A%YP(BV9E zNos%gBvE_y{zOHMwb?h_c5yPn6IXB=+9FNCr6PWv{TjbSLSv#y z3>Z_N4I6&>{Ey6d5w)!TxQ*I$j^`xjm=X{>C0J#*msVGv z>+Rka)C78LpjbUL@{*Z{nP$V%F##}Gv3}x3JiXz3isiLTzfPDgbNj|b zUw2DNiRQ}DT$TItJm&4)%4W9PiqG_;Ty}rX3dUM!dqFbUvYXH)JM=&N6qA(oFuVl$ z=!q&we)gmNQ&KXxiX98z$J_Nkx(Pe>{vu1q8}4<1-!dE!RWbzyVa`Xl%YP$o34pg+ zSSu>Z?NPU75YNih@(r+c!fR8?bqCDPk@$ip#~l7xQ9Y7JFK{5Fxsm}}U(@(+^mIpa z2LEMG_u1`AYFL1De*HnrU!n!X!BwTBaNZ8f*?>sZPi4Y022MS!-*@T&RUk&n0H{auIslU`&RI_$L9LYVo^SzG?>WWBK>^L3D!r=qDloNs3S z=*rcI-BZ+U{*m5da>njqJTw?+9jFp@NAy?(`I78M0s)7UPNtf0qy2d0^C-)|*TR3O z0gi2w4-_}`cJ81+IT7>U5)bR^2i`w{mu2yWjNcHAm4KoWDX(loo zwg2E;J*E3~nZA|(Ur#U!-bjE2CN0^uM2{JVj}OM?|pn_c8$-=5`uvR^bN>RxYC zH{Q5Jh_udSW)p9uylVayBIB!&{C#JU)viZTNJenK))9Tp`mve=v{+(ucW(4Q*8GS!!A0@&0p(leJ@|RvH8@D=tpdjb5NaNPYM|m zlJf@mkdtTPo=|Umk>fsL@wMc5m~OqPiSyNm&qU2FdYMr84Gf7jfuClW1IQh~GAk(| zju*V|!yy`qudnxOC7E8D9y>X%$2Jdj$>3TXYT+i*4M^6k(qTP4&Q^Rx;Q*@x{(UYe zU|~Z4nE5Y}H(4ypI%2B#TBLl@r&i|lmhCG=t>X4WsD#0ApoX5v`!H>RyH0^LB=0$- zd9q@Bb*s4$Rc|n~tctMNQ zufb)Dx(QUFTFGbSVY6Y%e~F@+{}NsKR2$ih(A%azn*3I11LlD31N&j}L0NDP@mUP3 zOCWzJ(2a+{;7|UXeAD3ne=caUtRlOzL^{pqPW7OhGPgxhp3r@vQvFH#?sct9jRr^$ zo(EIRB2z3dK&AhAAEd3TqO?Jmt;MMzOK4Eb)>S!Gr*n?xmQ}5+=3#8Ke}ks&D=};n zkdLmAaYvQyGtk=v%^ye|q_1uE7N~@G1bm!*EE|msx!vOEjyhmq5H~Fp_ZR}W!}3MH z3P5or9$f4dHRJ&HAVUqGvo{-?l5%XW&qi1+?#?_dS>UJUEo%r_!*9`y=@iA z(j@lto>k>3?U4=lI*Q5O@zlQK*6La{;SNlYN7M$4=#C_xtR7puQYvenYOK$@d6IcP zm6xGD?DplC?<&o=;iSCl*8InXb?`rs?#Ho4Upff;WJ%0aw9R`$C0&grIJTw5+~O%7 zOY+>3NeATMuF#VJSX6j1L7tLso$kQyFA*5|a=*Cavb*!FZGS_T`f4 zZ?|6`e|+KScreA_@Rum)>1o62oujMBH+><`8^m4>j^uj8zb=kdg_SY%OMr{1$p+x~ zMKwQST>^ZV>&H<=H<9Z>YaAI|pK+qi(B;Ra-8G33jg=u}-RRf6M8&C?IF?T^x!$Nd zD6pU}z%L~5hOU3k0E#ei!I_SVtgDjq8iy|Z`E9~x*}3vRZd0AwQ9rUkVBxqeX0UbD`j^_cLkP8x&IzUu#*C&f3uPJZP?@-#!h0jO)G=6z&u1CW-VthX$3 zP~ien(c^`%CzM7y;ByWIxX_fdB~GRFapX~Pb}vgn%O8xa#qSB&>^39dk+e+@CZ~PS z<2MyqWjoppJw~RS+@{qGv|pfMngExpn&Dqi_K&zTNG@FS8aJ zgyf>#6p32=e4#DK-+WveVMDDnt9pcBXAOII?`92)P-gz?UlH)(UL`}viWX3W>#)qi zaOVJ;Ma;Arw#oOMl9~%&nwES631MjK(*t20>Ad9!a)x=UAL22^F_q@>nz`d8Q%czI z@z%NG{rqveju+Mz!UvVpfc?#S+w87ByDzgwNmqkx+SwL?2eDE|wF|?zf~>RD0hPy# z{xqhpalTO(rk42O(@+z825~V)EKHYve9Mz@pEpnA*T*802aKgyBdUJzZG^dKdrUc8fA-sDtimj;i|+ie_o z6h*=J3UmW)e1rUyPHJ&QUUx*ur&M|I=sM5q>{%{2g2ebr`p7xKtRbrfc9dUTh8(n= z!s$)}PMafBzS;quZhm&4G$VF_k0SRm5PDEjxF!mPa}JDB%L{4J6?|0J(_U4(S}p{i z`|-A`W!r8j!E^o!newBhGWg-W{E8N+cLs`epAEi>ERtE322k>agw8spu)to9H-WLM zb-QX`nOjnbi!ZO1ZuwSaO;!GxFT`DVW07X9Rsmn;x31r8|CBMicv!hUUwu!iLDyw1 z1-a8-fKbO$c-?-o0(zy#!j);*YjM_rA=$(vbUHKm#R6Oh-;*khy$hO#;p9jKb17~P z=+J%LE$Vj!%zhnvgi`XZ->8^Z8%#!_G!}dNk;W5o8D6;WF;5_HHRgufktEy5S8ZkZ zVh_C)8UI*)C;I7hzy4c~>_-N~TbkE;tggV)ju4H^E^kGBT$1w+fi7MuM(&FpcdqLRO8@rf&>FqdcbF_d2S6x`M( zSV=_snbW+>Dc#h*?XU(Z#D6oMF=@Gq)Z=pbOSBFu;yV#jXL^FcaK0OU}h8_Cv+2%7YVF^QLqo&)_sO|^oPTvm8P2~Jn*GkRFB zA8bj#oz8Fvi{=7HHWG`-%;gwaXEW`SY^&k1BBEQrGWISl&)xSL-AzP+rs_FA&o6`@O|5E|4Q_7#s(@roB_Fuoj zy}2HWR?NAAr-tSipHMAfkIVQ5{~UGfc=S?$^Z*d&CcI2kdd_VMFU5WZ4qxs8mFFXi z|9S4B@sy<4Jp97qcFl!ekebu$2`h}%+GcVNpP))Z_!%iXy`s=rsbehmGK|mTj@%A> zU2HQ|_crHYehfcl*nPC%32<{&xZ}{kH7}r=5m=|zCOD0PjBly$S>Q|hLK?|fm@yY7 z{7)B((T~M<;;T5b4jXGxzKSVB+vC`oG?}e;ArM5W)Y)9<9sKyBNL305TE!QIr77m^ z7P%P}0@d#B;&&kZ!J*heDb{NN-k{Okc#taL%%q!)Zz2KC_SbL%g zfZ=1F^wHPa$+-_zlM~+9g^f{t(s_1^Tt_M+eI|6q1)3cTS9%RYHc4%<>ySEw2)5o> zpw13YkjuKJwXt#g;+F^azMuMw;w!Mt9sX1KIo=^PlJ7!Z%uyuO$T5Xa9|oOMTH|1j zkOE$<)Foo5rIvrRV976$JI=~^-;6St;o!}7tcxVv%v1|d4l zc=twQ{7&&)3dq8l9|#-i7^5j!8#+yWI}bRjNr-U`?Vskhl+{NVi9XF7<8>TTLMz~( zW9|is?6*j$aw$gE38xnN`2=E&()80>49lRY(q+@y)sD8dHa#7(veM5-MBGI*u)1($ zB0-`CsE`7T%he5~@`E7JOoH&#?$l`;7I#p6;6}%D=}%7^BpPDeX71NJ|3Fo=NkVOn zvV0qjS+%YPbwuS1KOmFZdKli5#D%Rl2&Mb=J$}A$(q~_0+%#jqO>cnF9BdySV0Tmh z3@J_y^P*QhDuw{+F7b7@qQGI^{{A-fN8Two7WUAoQeJX3Xb*^BDMiDRxd?mwW&DiT zH3+lbJD%^5@Ul-P$9uIDq;Pw34fj4PgZ{lAMY@A?`tyi_pq}PDG&#B@M=#d=6ji@G z7m!u(2;7y!>2Q%PylBK$p$v5>+^LPRrgS%|Vt;wzP_H^w!%cOT>6CpicMr9bFD^?Q zW}SYuxathCHvCJ}k54x)5FLpKH=hDmfl2#d+SCsfYJwlWjwiTbpV>=vq*a9Gbhpkq zq?j_hHHc)z3M$(ATboa#axI1g831~n#u3eP_jQ&lE2)*Lr(IVYBxZx0BB*zVmL^cy zUCqNG(0#r<>|?&KckruvA|4;`BE@_*u2>MI4h3*YvAGwzm-00?QQl!#@6>?b+`4&3 zPS*;F44%_3=T?SG%|tfSi3?xW5fp)1V>m!Lis(nYg8aVW+^P2WG>6?SWpdZ%>1uXr ziks43{K?X1pqUV4u2V4x5+&so<@Np{2n7qlCa+$kQejoq^`RXX3oTd{-VT2g0a?_Y zI-xp8Hu9LVXKs5ZjC#*LHrVtGT59lf+-!_75r6{vNl=Gv5RyVr^&(H#^8Vkp2gMkT_L&HRj38-PC7`mS`^P;o??VY7)czvrZ&)K)Do_tLIRmM@Iw(8zC3b1dWu=H=KvR-M|H8#rfbRfC(~d{V>+7T=AY z6O8!v?eVJ-2fp7``nr=-BH#*(Y5e4(O7ZlCt`D`IRFo7O#MfxaP=HKxKlw=>G5$Ah z#&~4Z>MgzehuOUZKM)P$yugjaPG^u(n{vZFg17fJ2UU2nsJSj^@*_Oc;w4gtR{${M z-%Fj&L|yP}N<47o^+NHp(>M5$r*)fFYjhIy@~WKkm?vo>+(A7N7kqU_Tp*7ZiihcA z9(Hei`e6fSa??C)J;FAbs3-MiIl5&ITT>FTk*{;rQXlb*t1W;_*OAC5j+4@5e+|X= zu4B8GgNcuXf2qFy>S0t2bt>5y)@tEWX==)Fybmpd#yPs-Ify~GV($a!X^LI$R!05| z^`GA3#X7xUaGnhwL^nw4eB70R+Y6UTE2z5GLj8)p9|q!+Zy3^*yK)=QwJVUy6(>~g zr||@nefBr4F;K&_7mpP~cDwZIjoBERU0YKaJ94$0msG5#v@3NL(F<3O4Kj^B8T_97 zln(0$LhV{8qwG|Sao6}!e30_bZCQ-5?C57Nbwe#I>+6Su^GyxhV)7D0yiR;~`R!&W zkj*6=vdeM9ws2>kBOfR>OD&!k8!409t4omhWLl*MzYk|mhUE@-P3}_9wq>_|6>!&s z7UzEpymR+qmQE&0=fSFe-pz`wW33E3@3xUxwButZ8fR|?waQu{e@ow{O>9Mbo9sIy zG(eRmTxSV%-+?&H-H3Iom7Cb}sols}h<#tI9;ue`fkl{`373coZUMH|jg!e7wcbgk z(Zg|}xwuWJdjuNE-Z1J+2YwEvj?!t7Oix`@(bgOFC>1!3~3=#XZn3{RdT4Vh&B~~KURGVl2(BaI!yCPon$IBvb-O%+2>~)J% zMK78&V%wFwDWNmniw#kCYa=s5^kF|9ar$K!f|kf)OueM~$-Q}V_+DsUZX-%ocxd6< z*MPWr!HR3$s<{UC9vXBoOz{T5b1E~ABZ8-1i}(?cVuSD)jXsjk2LmcmudL?|S7B2l!L27NbBK)lE1K2~X7>%WWX|!fB5QE?q zBBHxnOESG-&w#8qRI_A%Vd`h{_%t(oA#0PfL9D{M%Gi9kz0Q2i24FpQ2Q?j?qG-fs zS@z@8)8@_%i-#{O>hB~n?5TbOLfXWDsd3o~yq}e2DrWkt>;%_SQX_Mw`d&(^tb03& z54&vAcLpy90S8Tg{DXqsdW>b`-t1dx;t=u_$tMlq&1+`TrJ3TkHDjF!+zg+F#=69* zdS8WN|CDVf@pWUwOFkuUNt0RiKu}obJSW?h1itT8GislK(7~4=!yW0rQVJf)xcmug zTHRl)4+wg*IxW0kUjJF_N29l3JRR_7waKpZBP>gXML5htl4m`SqsfM#a)**&75-c~ zZQ(vB$)w+_Z)T1h@O`IY&_o)=ssk!_Emv2YjpZHqGpmI^yrSekaignwZHg)`_toruPjG}j_q3~fifeZnGQkm@n z>oKC*ZT?M^oJzN5Us}ZA6uVbsxc?m!9N;qE<)fP1=QLJqvM|@5`Ka?uakatbmzGeJ zNg}T`q5`(*Hr4&DG_LRbGV1ks*SCGoWXfm&q2jOessOu5?{C&kKMw%ET(H-}-v-fB zobcWDI%-lt`-b>KR_j-0`lY1dRF`=OGa3ptS)*KSo;hRdKhIva zH2OOmkutHdsQ3IntlpRJd8iTECt@Rnv@o&uUw)KkQ}RXbM2AzYM#-|UR;mRf>IC|< zHjlA*S`L~AX$U9{D$3NA>ZXX+(KfoPtEek^JXK03vfit!eL!C-_!xmULg>>T@y17& z&Ve$v@2GpI`gJL_e8W6wUGHT{wKG$BSr}Z3Vs$l>gE^I!Vq#PfaD@q5i^Q!semel( zU*S{>x<&Ql;3DZlIV+3ZWIiX~RX@OxxSV>zXdVaxfWFj$)Y$^Iuzyj#%G7<~Dm`km zhRf`#dN=6j1Eu*0S22PI9ldYsRf_aorCH2hg|Kxbo}IHiFOM;)ZVl`ORtTJGq*qvR z3PPS$?x4*oj5mI&JPbV7`?0?9i$|Oa;dj4GEd02&mlxA`kpVgKU=-PFf$#o>lYR1X zuaBUbyR%uMmgb1bui9F{&mJ{M{2=1opse#cd|lt9Jvyxt>wDQ_bvajm(C2Lvz)*eV z!7F&NNlM47D@Oq23j~DdD>YKc8UE7L9%8+n3~;iicS(4Nekh8X=0TaoZsX3mHBI7z z^aZ~U`1rpL0a{$C=n!V3e;kS}1U6TN(9_%cQ-gjy-r9B#AeWitAuw&^AUfgjd*aIN zC*JDU%p&}AH{blEr!CgQ?0`z%u&A;XUZp`1uaT1aHc-|5qdG~9ll=a=LkG=`%k$}f zo7Jr=TBeAijJ71CjQ&S5*Kd_X)0eyXvsyXE;pA_EDU{O3gMGu@8oX}w+~Z@!9j7kJ z#5=M>h3pfbwOJquOh0l>@Yu3$uIekTb|}h}_OvwxL|7JbZi_ON^utATe;A8*3C^SW z(Y*QE96O=D=<_PbT@~1pL;*8~@8fgY>~~JGV3D@dYbfm74=$e6M4K#3cwK*8oiY;zh ztn4(OUjZ=rS?gG`&lXo)yJ)r6v*zn{xsINNUG-P%RnAnf`Xb3ycXb~=;<9mnRe86P zfD4msSG&L0Ju&TA16=ur*%JU2v^RILc-mEb;X+fF!sT$9S11W-K0I#h zU4|T&QYV4|n8+zA4DNHK9f?Xy@=GmllnsKXv*;&3n#XIr!&9S-@2jQ-nOkHPeW)4^ z-GZRutoj1lKl$TN@i0Gjy|H@7S5f8=a2E!Wy8eE0pfXlZ($d_6@sBI}_#mC9k50EiJ z)l3u-8@?)4`rvh2|5FZkl{$fnulVJkS()y3*f`lhvw z7~$lOjW@4;OG9cyrQeLcIu{+u@VJ#?<;a#(eSJJ>pVyevvuw?8@y;^8a1SbggG9gv zbGS?v!Wz=>wu1f@549-(n^PyX+c@d&Y9e9jvMoOM{`g)YYp$>HWd$Jrq?}Zo&D_G%*)}B&&VzQhv#!GLaYPZz9?<->89= z73A@(9N%%SA4&EP;4V}FX7%1oIH@U#2`VX@B0W;xZEQ62GW*RKt?&yB=_rYA8=L@) zm&ely2tVQ3K`nUyz$$k>_hUgukAB-X#|P=(p^K$w_)49MaPYTCYkRZicDwJFH?LcJ z?f!EMav~-n9Q#kN$u6U#Vs7JGxQ~g{WC|VA6E0Whth{D^mw8x)((0aNb`EfSK84(T zc`f<9nJ?8-4T2H9@WZI4@-4EV+-}^~3+85IK(%1*PphA|Z37B}hAjO7GSFdXS`H zG*rW%2_)d)t*eWUehYoqrEtm|*i;4j>{Od%x<8LKwnOX4b4xiCo4E2?WkEdr$R&kt z>gKYU2l3}KnZmIr=24P-lz(lcIyDKbST4n7-Z=JLZATv}7uHIe)?mY@%9Xbu7Y~v# z19i}*q)h=BmRFGJnBaLNWz>%#Ud!&Jma>!?f1h@{HrDDX6TZb#zJhEpdfH~j?~W+1 zAb}5C$!3Z|chc{Qlo=C?8nLCCX%8xt8%9t`93^GurPcqX1aeM|XQDS}rwY%O?lr z8uGgNb8d6neMiW9d4ru12djfIO1d39TPn<=!UOf4h(o+^Xx=cfG>D_{i64>1^u)xv zryxj25M&TdwV6Vhh%>LUE<=L!2QDJ?1ivG+@+u4jHG}OQW^|9BbN9PZG;$j?;#_D^ zk#TR^8Kj85O7y#m$I#TZzX^cYGD@$%w)15$h3T|jFM8t!=B;fX=rieOZSu;$o8r}% zf_}g&rtDAHG`JAawn!At3><1w#m}x+2YbS=kFXhuVL*nhvKcitG~oT3P1DItGfId; zoq0Z;dAf#6;G#z`!U^B1baiEzvt@C*G=`iU;NDFhg)bA00)28CG7I)gb4@$?{i-SV z_wt#Qv6*2WmgiQY)&JW|;smp3+$|9``UvB8^)MOcS7=iz2^WJ1@9 z9q?>wd5d1DFpGJi#ktC?$pB&1S-)OLujI9lnv4)XmUQ*@PPctuRyvaOt!=I0%C9E;Bhee9%k#_A%mQCE!+4{XhMK|xo@M6p3$#3m8yf@_ z2DTh91>0ee`e)PdCY;$o#xzhKFq!=M*RX12fLWdp5K?X3OI%d;fqMHLcmh2LM62V- zCMKSSJnQkvbbpn^RS@lcyBUeTNs+U8B6aM3yHL@VqBfX}ciR>Dc=Zim|KVm;IiTEf zMuF(FXr;iV2N6H}>*Q{Ys!=?+;WPow_i12D&DDoR`k5cVE@wCVm4Asr`Vl}e<^B-x z)awWt-d1g7dHlnQo*4=?CN}O|5Y)ln-edWXPmGPa#B|ND721QDUqXxiZ$ zZ8N7amh36T9AI|DQn{86vCa&8N*!cXubx^YE)jEtATW^FQC}X%rIL<&)hI1c8Tie$MsIXo6y!woX11)QWCD$OiWHMsI37%tG*l=} zu^{Txf}FL(9Zf_y(>zQdgI=Y!8V*NEEICegG!#e5>(%Hk^C02nX@M3E0N({kOcjAiU?)9R?o~!n0An2`}9C zpttQ-01Hlb{&mLY9NEJ*eZV9l>(xCztLTzO5ps1uN8Rx>yc)&~D)M`)p0ioj{$wy& zkZ%fU0jJ_O%a*Nf%;{ zlM8&Gfn?J#WhO^I!vm?G@AjM2w6Ky8`s6$uaPIW*qjsh{qlym-Z~Bp|u2F%TRKCe@ zMmD9&JQIxqkU#`=cv2N|qBSUqx(PlX(Mx?vz}mk0YXKpnTeBS6UwLk3g4nuV@&rQ! zZJ|TnGG#4m{fQYRN=YO{{?g3355Xff5>ubgB(hr%h3lFa^bJrLK3lN4UedvK^L?=W!MCiA-6E{IIOaPer|7)!cJYx{ejy_Fn~>in~0O* zzSU6e%wDsZzxP(Fut|_mriM!Z%{f!_U}2=oW+l>FVQm03ji3g`{ex7(!%6V+zHw98 zb}bh@#N^RwMKWn4ST?UHTFAd^1~K+{D^#X|-nJk!=!G{Ycc1`|pOObaZtP4m|K*!n zd=1*%c?TW=*+-+n@JwXj=G#HeykUMdJL(0SV*pQ8)I>E#tQE#9m&9h6Ezt1I{5&voN`vB}qvNO%1ztD1|W z8gYWMOZ!@yjaQ!mU6l7$vh~X_ql5O8i@zUbx4Xz4phHDBZJ}ESxWKNhp}I9YH#{!g zW&}4*%91zP*85D8+9@@fgY?ikKr!i3y?5^6tD(lNgvdR_r)w!XmkETME=edt<}hhQ zW-koch*Ubn5hh1#6SJM{(FZ(9Xl#GguZ%HUs9B46WG+;d;pEUsADcSyh_8!sp5U3g zL7WZ~KZ@&L9Jn0vRn<1BkNzegK3myCti4YN;kPVtcC_2}o2s4Pex*A$cjhmZ98zC% znu6{#g}Tq1YL$?!1+pmpAdBaDZ^3tPIZ)`YC46OJj-_{K}31$ zE#SG{zgm}qXr~s=_f^tpN;C9xEfK?mI|xyo7wL?az{fqW=hNxd)~6bSmgph6-Ev9& zPjm}5uqzQJThl}N@p}fRBueZuwo?TKzL)5xuOAwct?P__C za6!Me4;v#8s-0+XGENfZa+UcmGknm=hW(Hc2jP^Np%eKTMGGvKHNY9*=+&2mxnrZ> zAx|kqyi(9X9;$*1UIG|3<4;?OpZLwHqtX07e~)tic4lAmiDLLF`;MVe_>IkoqC8)B zm8+B41SJxw38T%}Ae+>r_(YpF&D8_@ETw7LYW5MbUhp%MYUX-#Pc45eWP((=&rYnO zmvrVW2P-l8`f2f_a~%EeWV6D~+(M zq-y}4bN^ z+11CcoKB-utJCD8FZc)yN2fBZbDzzKepeH*JSvVNvj*3fro%u={dX!)n&W5-2tFEc ziHNmEr;KFjsCAY7O~8;(O@K|6Im@XLV|t4+cjc$VpET{v{ps;#?=Jsbmn}t1_U{ic zU=S=bVurWEUWt>!y?%>`((rQqJqh6=5mlwqd+c+rM_wzV6SMlNsEK9p-RBA^S?{)# z&Qt!h^hYLKO@V^UGy!TD5pjnzlJ1AB!`v0yo5=YOQ;QdlV?!p5kE$?-J$GB818;5` zm5r|23ilN+J%UTlL!Qk3pWgrKaVU@op-e6+%Bt{Sw+LAJpeAa7Rjt`>d-(t5?qY|m z5+$<#z5xSp(+AIfQG|c$CiWr0DV}=)l4(&N{wt ziVjlwXDi^Jll|wX=Ds*@p8$Yo?6@mAOJ)DCa>J`v8X13P3GN)ZemjBEp~m)3BWqXV zjJ;Ts4g%%6AC#Fak@>wqoWpP4Z5r;XZGDWEIlX*cPSr|^hxuv!^)EUdVm8WX3qs1b zL@)wuVF>{z_0SuNyTj$)t!v-gWp&A6B!6b{ECS`|+2BehCPy{Jh{&H#v%)Q!3B$T3 zb)C0kVJtn3%ECvB7iE+dMhTB|vMO96t_y!E#(4x=tYD7R>9AbATfE3Qhsf;?3MXq= z=EY(7_`M*K&!PW1;@LkhxnrjxV*k$(|Gb3Y|4jP-cuX1j{}QhJzdpdy5RU&S*w6g` z!>1+xUuLlJ;rq&j2mjnf_YypkQ4TA$%ds0|S5%GxY}5N+zBqJHIL|L-U+i6!U>h@N$^U$T)BSN{|eo^*Y}r#h~y@d*g2oUcW;#X0al+XHYi;M4@0`a zOwhxfPiorPe-qSD3E}^_@QBHge+zELoA}26&<=9ckyZ1Pb5I9aJ`K@O@Q}HCv%#?I zq#5f_KNfjraq^v^i4^-kj2ixp?(kodQU8%5@&Aoah&;|4^CL2+1rLZ?-R z7LmFw48O?xlKe5bC*k22x5C@4+VxUNA{=G(ow>PRN&Z(YE(Zz0b`<)0KD4JbM4Y5R zAhZ!_i%&9B1AY)B^IB`hLjb#^9{DsM!ClZ1-6MZ*@TS2rvEc-fjzsVe40_?0@g69C z1n3H;0AdVsy#z5?1pweUIxO9!redHXPozxutEtwtTCJ;H`=8=5JdGYj)DE~Dt%^&B#`Wx5Z<}^BevDJ(m zD$u3hJ7_e6f$N%>#NIqJ|NR40{FErPuho+=#9&}^+v^AGq-=Ht*k^t=XWmV8YDI=G z#w_=KIlYSpeluA|xO2c%j7muam4t*}f3<134FHLVNcnV0&D`tN2`&owo;VA^G{3aH z*KD`mTGsNz{A7=bO>+H4c8&Exk44S$a#;b!<}r=QPKIIAt5>SIm9K(hn%^UWK6iD9 zHuCcQ`CtGt_MEFOFKQcm_Lv)!-@P!e(GTs(U2uh-+(4j+Yo-puv9ix&0q7p_;{mR2Ii#I1!uc&4m*W!i; z)71}uhi98Kqv58Ze6D=7#)G27n&i6HNafSdr+>|%8z@^*HfIh8s8v6nv(8yR( zXUDaHd3~{7x2>Q+6B^n&JM=Qk&Bc>;7bVg=aZct9v|B^wGDgdMFsjHXkJF7aUK%gT zpd|T>%h}Y=_-n46^s^`uDFneg5*wgyZq-%SYnqaG>m6ewgS_-tJwJIx z^2nlJ#tsbQ#bvUL8x5aqWPiVf?5V}Q=yV+vlK;%$P$aVgiiOdpvVQBo z&!X`^z0I{|m9q~g+9F}h*2+fy%vcM@?*|zs z#|dTbO9^hPv5}v%DSWS%vfxIQmf2QmaL`8nqASP>*-yEk!}c7(L7>tl`05Txhg^h9 zeBX$wj44{ruxje1Xe%93*`{jbdm*GbbwMRhoy@Nh{%Vvk$dK}pg>AUk%@AE&-hNm? zog_WltbD-~Pui?E%SGtP#l_~j`3ZjamTS1FpsG#ixjVJ-MOz_10LslBqnK$ zHoz*Z$A+N>cIPsu{$3?Q-@BIKg6D)JOX{lf_h^%JCVjwuK@Njuj|Ib-55*1+1VX0} zO{$x$Bm=kjsm)sj*MdtgMWsG3z2eS9)7`Vo#L?zhOvTjvB<27>ZA}AyCqtcp^(=}kNA=TQ)15R zXG9p|zmiR>cpdiO8iB4$?rk=8p6g+bf}}!%T1en{9kd$GW-LYvMZAdOhTl91ZLAy= z1H1GB6eEj%Y>87@9U2&?zkg-o=b^fIoufvwUp-`A5@GkVO)O1XV0g;9c(|ax{tWCG zE!rE+YoJg^9Ub+m@|p^Y0vcrX8lSxM#H=0elx*3w zZMcWZc)~$-lb-fS08la>w{cv*W7mP*nFC7tK@no{!s2Y@4>hEtuIBc#9`?S7@nn+= zaSF0VNP9Qfq32{zIwYXcnY3l52zM)>Ip~o3zwzLjpK{MUrYcO= zHgMhrFb5Xe&nJT*e~p)>p5hO-$R>?@QY5*bF($?43VwscWmM5fD)xNw5t6yxTK}50 z;~mrVM&LAW2_iKrK=G8sm}eK&=|_k6=DlciBWY+7X)$5R%)hwm!_rE9nsu#6r z`925|QGR{c3H6Sl#k7)P8xR0t<&l!Q;&cSH?1t$nIrQQ3s+lKcQ?SE1bTRA97Ol~T zd0dskuc2XNE}z=y9%9kC?qRgZOAHbdr&v)4O1^P(jjVqCCK)0AJGuJ}z-v@~eRs^@ z%abbxVUok@M77ovvfJ`i*k?U4bJP^y2G1tDpQy*xG$nOu9ifVI4@@R;vU+3BbxWTy zyQw}msj&+6+bDvNh?lW@^7i86}<<%@lt2Si%Wmdw zDzA~j2%gv9Dlgxu;i|*a13Jr)n%qPJQB33KSj zmr|w@`YAnUpa>={dyS_^Arnz_+=pdjh;7*@6p=LEX?)i#%D7+0<)O6or)Ul$ZUH&< z4W@SuZblT%1}A+hBBeNN_t zuBGgyvHJlvGyZc>y;BGG9%r#*xSG+5=vd1HttluDd7mkdfLB+*rAGk43s5f3nVN>w z4SdX%8-^@oy*7o^l3NEo6S_XVIyKQ3B=yUUJzsBG*M;=#_1t?K$kDSwH_YwSCijbH z^^crOQ;6!q)06KvLSHd~NYj2x6TQ(XW(xm^W0uedy841+15J0m6;3;W_|!m$h-j)Z zb#R=K_XBR%;6Sk+Ctk9wjl~Y7O~|r_BL{-BpCK>ZakH@#&S@Z3HgNhD$#0aw$p3J% zfg96fL%83Ss9xh3bP2GH@n5LI+lEn#v6}WwQXnggbbbU{>tI96ToesvgR)*L48};S zgxd!&8+Qv^cgET`i(2dG1{^i4JxKEJ)oWi{3L>c1mHO@{z&vQAJn(!YxxChqIjBWW zaDQk_%f4pca`rq=H~B~F{+xle|2RheW1cw<8yhOWiP&PWDS1HN8Zr+`YwPX<1#xrh zAS2RA(Vsq`Y zW@x3`(YfFv$9dFLpNeUw)F*6v_nDY{XQ45Km%IrU9zpWG-mNR3H042@-ToX$52)yIpXmQlbD@pO#*_t7P+f9O^tu9I@o zo^`2+HI)lLrt3FxEz&LrR+x2Oqey|Tj&-m&(?C*!bakS>8Q}$%Un*Y5jqauqsLO?# z0uA)!q|`yPYe`oR%2a1r7j&9IL*_+`ymRpY>|0{Z!A9t>v4Q2`c5X8WmU(gi!KPSd zgPL2Uim45OhhTbiwgq9LMAiCI0CMQJA-dco-n;8sJX!%Njg{YeFnnw2!S%<3`@3Gsz2@LUPdh5*WgIWVfG$Qc_ zueefBmM^{aytJ8!c0uJ3WA^rNT^57mS3c&unKl5Wy0TIhro9rHbYDjnZogTFy1SVD zzG`)ZqdDz?M5k~woxhhZ2uypm^u$nK>8Uc3?co{Wt8)Uq;Fhz`{4bg;PVNi~_urOY zY*zWn3Soz!c`*MxHeCZkqdFQrZjC$KiCS9ZVj9xQU{w=2*B__*51d`M+z(mIYnSN2 zaUMg`=cI0VX*wHJVyR5f7cs5tsJoz>vdhTMbUIg@PiY|?J#aAH5QliKMcMh|Fj zKtV=&vb4xzb2#rk_-C<+*sJA`O*&tnu|A#`Ge0?*A9mTLTLq)Nv@voeYvo+a)bb)I zx0nt<#mFF6-c_2BzLKRv<`8nqN6+V;cMDAWPK7Or>^9yx^549a|Br@-AJrW?tUzR7 z9pDe$qu8C(;Tz+&sN%}ZUWV5Dm5sHrwxL=VKR$969?x* z5k7Kz9^V0~zD_ekF`Zii%b=fa%dMG{{QS(R)S3-~1KF%f)c5lcqGh2|;<5Q}@1jcK z5avT7I)rk+{$|jlg1*;Y{R8LCl5du0-=2TxwJ)C#B%c(R3Y8n<+o-c6 zzt(&(l3o0rJlWm!Ct@S73|h$i$F-~=q%R=Fxx}&5Y|6tY-o|O#f${LT?d-#3$tO36 zr*-6VTDROh(7g_{FUzsfLL@;+)4CS;<0*k>1z|?_0M%}F-0Wp}QTxGzUsJgVxn9rA zrbDIhcgT6Svw9tGC#$d1^u|aQ5SoPBzOs+diRU20FOjmhl-G50Q2=3DXeHoBydj5R zA5jT;e0B&^0Ov6HJZ+hvGpx{S6RLw@F&LyaUWz(W^Q8==6|2Vedj)txygy@uR0els zre`vp_;{7IN|_|sx+TiaUY8g7mcgg%YwrnQ;}Z-g1^*^^Zy4xRXAunA%3Ckp>gcT* zXcrM$;`$H@7-%`8Nr*@rz!91n9dr0_oYPeDsyILN!j1APMNd=@gwAzAkq=AaU*+0x zs>k@hECKo$8Pe{~FrN%hlWws~&JguI+9Jz`7$49YHtiRbO&|;PerVI`HPOl%6P&Ci zkqUChCE0IlGoSfn=s6etHGkK9lOl0I%w~!?a>0e9asa1c$5Q?W_YTi~l)*oIebQUS zAMBK`LX0OX=lAjug3B#}gS0e76BF0)Ute`^zb9ldo^%AS_n1OTuAAnKn#(uJ6rZ#= zk5WU{lbLmTnGVUFMrwU(_AnC5&7AsAb!>lb%J$6zjPEER)$brV9u@SsioDhw8FfB! zoyn>5yGw^NBYQqSj)@Pupqz{$dtgvP%Cu8VS5a_xBYy2ka%n@aRph;aZuXJH?bH3x zaEstwJfKUmZ9#40)^u}B0;_`diXZBewDZ&u7`A*Bs#mSD^-k*aoX7;ZdCtydV>)5W zKm7iR+njZ($>>UAB&j}M*Bi==STkd8-!o{Kj?=f+6z~as?t5>*MS|dot6g`0axS7E zUP$lGYjFo@e#PjV|1eK02H$YN(nQ(jc2f)N58d6Bt$UkW5o%Q>Qo>`Z1>W}ym zZw?P+(?e54CKN)s^AhZg-!6@)8h=TD=H8)9Q-$ri{SrfaZYvG6ehM)o3>CaT+5x0M z8dhACB;Cv^zJoiTS0t7$+89h$S2ZC$bw{Mo&khGCUCg9wN8>77nf@mDXn%QxPVDU$z%Ju-ckXrwOhjLT_D~cQ_3+izjRa-PYEktfGnZ!wY`{3! zzs#XcEIvld@7x3PVW!vyPwfx{;H#nH9GPrp_n<0#W2%v&woU7vnWhVkc@g@%y~b`P z;*uTWTxSP|XdTPD5u`I8sH*kk_FjtLl?&RYPI;Fb5!TYm^M@T^?jU;=&dW_%(2hR_UbAi#nl3}leK+&fn~Pdn+ZF&Iy1zSc!44-IJ!F?5cy zq5MVYTC;?7%(AYhQVX($Vp!dTem>N8^(g&zN$8??|B{Y7T;G&w5&NzZtC`f?g)pwz z7jbNTeLc(vt}@Pr*6r#9)s>qXp;bXaK!XplNH+JWl>klS!u0vom%2cG(Wb2(x<1$R zOm|i_@G<)SI(qRA1^uy|M)RIV}>~nO}7>|(Y#W?-Y zbsnr2jG~9>Jb=8QCg6X`$axqbb>ZmJn>c^)vQIEUt4NY-@f00s&V(46$nmAnmp(Hf zEWK*ZxTL=zGt~&mDg`Nze42%LuVn{@WGho|WqUSWR1mG|N&r`SF6`>4eL zeQv$|%`wKJVTnPMh*f8#(B9UH{5O_Lr2p;Fw~VQ;qs;S%yZv?w{X5bw!9%Yx`z?K_ zEs?qF=g1IKL^lML32Lq|;}#f--<%IZM!`qK&6-;pl35MKQy5AP9?Ewm)VKEKv>wF6 zlqxt!8f`&)sdWT}-z6A$%vALHKxCMDse0`G zd?9jl$tgw88v+oLI(664t%aVfAq0UW%Zut$+yYI?8^i*kfGQ_3=?!N|h{J41962a2 zL&L+%5S1;>I*;e%t_ILJB@so)od!~PmP~42U-~_3w^!R1yX0yQEic` zm5LsqR+=1A-mH3m`LnpM?th+n<252X^u+x|P-%Rx28??pBT=kOT(o8M%DAKbYWz`R zu?$hpX9!uQu$Dyf_U_&lU5%Roj1&lOs&z2Lj8F)j%NV+>y;uY`2_UyO@ZUYKqRuj&FX^ z%OCM$zR^TPfLBP#2VXecKe5||%Nn*8FU^nOy-*!03M#xc%*DbGkju6=cA9LTwjGm7Z6HaS{(2^E#i~!P2-qdQK?P9l0_1S(c|tiWEj&a zy%D2j5QBRE?hd&UIzKx;({lO|E9clbi_&~1o|{w0E0BFFl>GA?8Ei8YM81;_tui-n z^uyzhQ-SFXnb1=gj@}iDz7caXPPs#gU%l0uUkbxt)3$31&uC5-JYGF*2B-{(u^TAg z9DBZ-QM54K1)8*%hJa-5I!GkjsV4Z_PCioBg^!uCE-y!b_C=?B1PX=5X^=|i=lxta z^}-54ug!h0)-{Zci>F+{le-XWxXKU;{DNIz8IZs(lsntEpFeEAB}-*e zak~06YFFzhQT|P7t%KSlnNXY&{4m%S(Cf1OKr~Xjv`Xnq%nF1~(9v1^!TH7zYi4lJ zLWYP+kKXbYU#`5T^`Vgs6#i|RS?Xx2=z$o21~^P0T^&M{!q6Is?%a!(>r0=Li_6w=8*AV@?6XJKN-P3nU{P^m5y=~;Y$5&?;&Hx;sBH$ z4ul5r8D(#NBObamAbesr#Uy=0t|T5rK5N(pLC@KBq-~0NntxbFncH|C4C$6rhg(P7 z4yAZRu(Q+~!(=zNiM+@f{hvK@PfxD~?NY;s1{Ea+*=?#Uh-6XblVO$b$~Yd0I2Q_U z+*O$6_EZjcGQVrKft1==$t%kC%Wc~He%-9smas8-o8G{#;$n`yxn3)$az^)Nt8`>q z0bF*$_{vZOTwcvGKg<{pp*TLt*I+c!xrc|bPa35XnO~~}$8Yh?54$wR{;r6p%Ws`- z^Vpvdl9K1S+BP37H)n!uExtm!FIi`_!$M5ci%n{x4G_B8m}w7C6)1c$Z&24`KZ{*d zEE?R{m=B?cdC07O)>KhBj93_ZzGA<{MgSNm3_2s3D<5CX-EyO^en>yGb$9jUlC@TE zU3xtHd%lykt)5^L1F4wm8a3jbSR*B=(WWeSA5}cF-m%c~kXC?j(=?kdpH_xkZrBKy zaa!ri?(R^1cn}c+i)mGg3eisIeuXF+UR!@0T6#WwuZuZ7TUTEaSRh4S`}B12dDEJ$ z)$PPPRrhThY{Nw66l^{Ng7~>!KeTyuGP|>A(mn-4ALPdat&yH>*j7FX8`b)+q_ zt{gsmPPp$8*y{ZofRb7_@vr3BAzaS39*;64pna;UbNI{KF+%xqJ?6u7jH{VAK;F_! z3*49lf)7ej_no0%;b0|F90tv|mA9i-pmi1I} zAeb%E$#)!>*FBs&6HhdsG;K~T-l^68W!#qdI z&=rSbqG_8luGk*d{w!6pLj;BnvV}`Z0Yk}vGrqaeF_EiV`9Z|EYHf>DC6R+SO26&6 zIie7y=c&0yhKG!SD)m?C^NFS~kChXHn_GLgzX`l!T8vBnCLpVH-o>N%uFiRxL7yf} zNX}-$O?E`$Lah_`WaErx5?Ya2sb_HT)TN7Zd6A5fSy-?A57e-QHyM2R=g;-QFmHdq zbA`Q80UQD^>OwwG2k?WO1%FLW!%?|MXaEo`WG5G+pOs7cL|243P;IR>Cw3#8qvc(J z5Z=5o_r!Y^YL;mm;!I4;??i4BA6T7rb|pmHz53qH2otdkMnk$*F$RjQ&{NFMEUyzk+#fm7QoB zn5W3Ds_h~&W~F|T%xn0IV~`t|Pi?iBMG^2N{s2-x8qfeyM^}7=seVrX6wu0Y?ir_!c!Z9?RZ7=pzpCBidUdLUEKhT);6r$nGU5>+%w<43-hP|r66ZioL zEipoeKXuCEql}JC%`R{bnu`&EnX*`?o7NO7Xmu&0$l5z;U;MH@eg7=&z!i+ICBRvAHL!pmsRmI(ugee8##90RXBI;Sc1Iqv zY%yj9kr2$(LbdV}Zi!=czb$+2_(2y?P}>ru1;@gYwZq8_rwshKQTUJmHGzUM!AB@C`Z?*a z^c)+S^Z+kpvtr`K(xS z3-roFM+{=_U|EU^z}+?QLvVkhsZF5N)C--1wa;j4R?aM!6Ohw%QLU~VjB;amMAM(5 zDx{LG+)Bs-rfaMM;Kv)C`ccg{`T35K{bj+c(H&&^?$l@0uyg+H<;Bai8!lE~N$l5= zj6FyZv#*16^*o^G>mv*fuqOg5Qy2A=;^wNDd0(| zjZEp9%?tpUJtGoBscKAW@}}|*9e)5KCc_feSV6&;A;to2oJG#?4;Zw?d1!9UTP(Eq zANOh6XS2#n+f9=zW|wEkbF24+S^;EyLDv3Bx(`6wqkITki{VnoMX?V7OZrYd$uyG^ zx^DK5RRyQfRqmyqrFF7SjNsf>WMQVnj|NKZJ)hzagJsXOWJBbHF&T~9k7%Ce_)(+a zGny^}{F;Nmh1{d7MiqU(-g0R3x7zk-`y`>|VfSnnvS5S>I_{On9N!uh0xz4luxdJz z9v6H$R?-36eW$(JIrj~)-63xpmgi& zuW{&cyi3uw-Dj#rr3Uu?!R|C$q*7Z- zhZ}|I`T3H+H2$}--goWcr+zcbN;fztK&_PXf~0$?gE7Cx)fv3Sqb6-- z+sieGLSc(_eW(}fK|Bq=b#NzJ(cRIPAvb?%d4z~RG~=%;%ELwU;j$r$+Nru;nBGq~ zxKPx~-KpMAym>dF?4yK>pQA!+Bj4j`Dna%bF+p6_S2qxy#MLs#%~g&3ow~UGy8gv2 zS9ysk(s%sQ!HRa-Wh3Y8Y+ClYB2S;Z)NkEkS512og)@6HC}%Iw5(l$slgMVNGN_Nu z`tZllWF(5Aun4coDAC?X6T_~(x#f4DP+%=$8M0;kGJ2oWmF0N*x% zgIW8X18fv#k)sz9jB&1~K?Ww@Eo)J+A6~^S=)n}hq%)Nv${OlFmeozQx0-)3U~I=KHca-b+1xc}VkfuAzwN__A+sE`$+H#g{l>j{>TTzI-e-AXW|{dU0>Xw^y~$4qHXrH6kZOL4PG`=|3B5#QZ1FbZ zNxq=xfv}-S+U7S08csiRQa7obXEUwqeP}(hV1cq6g{qpgqly*T>aV}2=XM>!&&c1- zA$wFPyH)Od!fV=8k1LG@&z15sN-j%;u4YZ*7hmzmkE3M>z;NYc39y;JNm5kfpi-*R zz|&QBf!RMk*N8-{>)!;TA;H$(D&(JcOs~5Nav5<5&VX3Q@=#MzN0zc)RVgE*AmXTD z&nTYvs%?3C0$RKW4h?&?O^A9|o2jt9%1I-gEGc*XpNa}Gj|xa?e(kLl_a0RJ9t(?!sVlm6&UkXmuG*ypQtkv3GdZeeFrGU(Hles7zwtK(uc zY7W8^yXDFj34VFAS@AECkNDq~*gx(~CP^EWN zs`MIqkq)6Z6#>0@-upi9ea>Cy+`G=Yrexvi7#g(%+2$a)cTTwCw)X|gEggOLh5*2pES zyPud5jqsvq;bt6#k(}4e%U$o-l@dWsM>bVHfcNz)heWF7pU=}v_kNm?y@)9PPJ%!i z@1;(BKQZ*{5AvrC)8rJr`=giD3?I(@4|ES@3_Yu@`d@sT|o*jdplVLPe(>vuj}F)sOQthSTIE!@5RdM#c{Gu8^pRN<5#9L@c0 zr#^Loy!vRVBRBvEnlA(j#lkMHk{zLr5rQRM4n_RA#^UaypJGxzJmoTNd+>vcI7l*F zAW(BUSi?U<_5gt5+i&Y`jfMSqNy;8j6zoe)tK+!6Ll7Mi9c=|nhdKDe&u{7c|L z0P&2|YfLF0wybk$eOns^a@12X?~iGGCB{?HJC=eHRBOYJCVdIg%h-ujs+oUyRV~N- z5ifM5EZ4ZncKulx7GE-_e{@%wL`8`3e_ySWJ&t&sPW8C!$=vqmpt4^(@ArYnUl9Um z2{AO$Cu;p&gQs{y>OX`Iut~>?`2tBpwnivqAi~k~ABlrO0=BK4XvV*6G zt;NS7VRy}s$^?4?S7 zw}SN#oMONvdvj=QmFqW2(n(WVUogQVZVTEEBH<*ZRaR%Kl|xx{vHtE*evEMzauF>9 z@_RBmOqusEliMrY=bi!6;K#HXu&(kFm~x$egDE zC1+fkZ^nJY80IHmGfnY>r+i~>AlvOybbo#unZxmCG^4uDFh0M*$#S-5(mYMma`k~65>(uY*ezhf-81nz+TXzzXwoqcZa;X0 zpKUDdwBk$%ZkX|0X!Kyq=nFU;9sl9<`Kq#R^e=&oyylI%wCHxT+;FQ&vCMNu-d5fe zmzjEru7>^AZd#^@(f}R{t*88YgOs&1YyG{oxQxExO%L+aH`wy2HMLE6tdHcm`I+gk z@_>Z{6DfsujJkpa1v>|!@Zlla3qY9vKJ?vt(;u`;r)KXWXL{@wswPcPlVxzStQwz` zQZR@tD+s~u%q;*00+}MIrtGF=1vZu*`k7`}`jC5mAourORrNj}2t>L!nifq?QO1DW zN_8p#mY#mn5abli#*xYBBOdht!1KD6nV;Z|zXWDY*N1C~Pu8Yotw9|pWwh>s9Ze0C zoqICsu-_5$nHsI{pD5J}p#XTpJw>2e-hH3ctbMlHJIuB`&=a2NMwM)Xd`sl8iiUPj zS6OtD!$xCi{Yhf>t51Clj2i=q|CdW&t{*78jA)MSj*#6fY~8^ZnCEcS_wb4Z3fvZB_^DDg)Y&>Q7An|1*OBAUQRtF-bd8;X(-!zNq1mvDQ4#43V?{4iQv!qNVY znV21t+iPsm+j}mr8cAX4ML9GG-7pLSSP*!1p+1iAr(GLLl>&D}b z`fb!aj>0XI6FJB5y+UhkDB)Cse(Wbrwvrbw=Xp%z;X>}lzg#cZds}VZyqvVOoGdp- z$nfwMPryrd@u?tDs4OPphxaeXs9JIYqS!X&nMFT4Y)${hCuqD}n|!z#>0pBoy=bkB z?@U?JOBS8jd>%@&-eIXaU`EO4q5eNa(n+J_-w=>W%P0E5g3J;5RbAIfJ8r>lk4&4wX56knZ$+KemmFe1$BNPo+rb2LU-B(v!M$zatE&nbqUCLX z5oV0U{;f~H(0`d-iXIK79D@OBZ?9<@;xs@q+4_h*r^NX4J#r&j1JMs8xqh1PvD;$0{?G;}K%?AbB1U`3p;ZE3Z zjg@oR3%SR=U8Zdp+RZ}rWf(WG%9~Ew7HZyYPP~#W4YoN@k_DINcRk5BnuTpPg zwIwU|T;lV;#DH|)Yd25#c%ME4n`3AVZFXBg05Ta$O%`4X4d(Bm=~$p?P& z-#EB5O~clTdDnW>V|)4S6oWUj((IGdGOMN^WqTE02rPnf!LdddUga*Zj<49nlpk3@ zOHpOR@qFOx+3(vfEuq@10@AIQ!1Ag?hhF;zfMXW<5isJ#Qsw4_Ysad!09r5Or4C1- zALx+_2)J_lEQyS6rqplgp~k3CzSSjJdgZpNoX>=RM5IW>IZ7bue9wKTr4a-)q$oj$ z0yWlQw@gq%IGPrjPh}6zQZt8yKT5%7<=(aOPi;|BJ<*5O;L;s9&kW}KL3f9e9?Qg} zW8-E=4cyD(WV5WBR$OhAjWa*i66OSVQrAB6v+?BZ(+Z2-RNZA1z0!LuxlZp4p$ z1a@0CHy?B^8h=Rp1>1H-bjr)^=3W$s^xSm*T6qTw;YA;w5Z7yqNosA-Ua(#tor!j*ONN!cDR z7Cht&FMoBd6JM2C>t(MB3dE=j!BW<@1+z2CY6tlqDyb9;Hjj;1o#zyAXcs8*gNhUZ z3$-E@6Dbf?DE|uBuxa5L0;3IxI84}QDqpYvDwPp5G-QaH6o&Z!^4>()g1Ch{FkO;x zYQPu6+vl35|M&MWUL&9d#SccSOo)gUpVpi%TsYDLtj$cyyaKrSr_2J)fWe%0bLWHi zmdE0tE2BJm+~c0@21Qc5ewI2q(mb<%)nDKx3D(a{dFos-Brq+qyJq1pIUT2E$4)vE z5;KzOkoI#83OGTdNhHk<(r83G*SL;|-vUMG0!ph7&zVXh<<;um7w?U?`WpNZkIZ_}4a`2`$LjlIBET^Oq* z4r0~O;%aY;%2bO@8)MWHnKEESrS|74#c>couSx?u2QGUg2+z{@jyu@xbF>UX_PB|U zYK-*>{Jis6%60aFsi>U?yq@#oaPV7A!k3e~8>eMtV9+_qCfGC|^!`xn%>Iw7=-Pfj zq2TkphPHubkh=Q^$x*%r;~v6k_$P3M$$Bw&LMS_JD z0f$CKd-r2}S^c<$sSQ%QPj1H>MP5W=K`9-@i$!NGPY}7YuU@puQ>aYj$eK-o#1f_Z z9iG0b^ma^qCeH2q61NusXr9PRuH~1`j_AZd=9;&b(*1r~SX%B;U{p7RT~wbT>FXcR zx+m=Gw4FJ5oA{umvdM^2(zA5eGJBMOn>(r$O}D-GIBgohX;Ydu#T>F%y9k38>!f)s++k=7CT<5o1L7&JsB91G)&2%B zEh*=E?I@4&P#Q#FZfOKwOOH^RL3PAZNPFAX4-5Y^urz9YZ#b?_43l1N-7`Xm6VScr zrC%=={~mu;FZ8&F?4W7CH|OkoY-&8}2GFd=by%g(a}3a&q!YVh_Ug3Fh_~s1Ui2+* zWH{omGHkH78W9CVhxvITJ4`(n<-6{CCnKq6E$f2rM?ZtFz89Wb<0-X-#x|Ndt49le zR`lIc9~uX4p8<+Kngg#@TI=*azS7d>w|F3Z>}dV8T;{AdVEalq=u2)_YXEPv&{vlz z(ar=dXJejCL9qBr3fKz-q4GIDAx_=2$C1fAXSjIfx#H#+8mo$S;`&R5}tZIj9 z4i!!Wo^LBYH+o%AWP@$`C>TITrv1KOx^}OxaK|ic069-}XtP=GOZ zf4IPXrv*PfJLudImNr)>_{Suu?iJP8&m<7P!hg8G94 zqukEIm?x5v5dbn$AlY3=4xn%=YfW%ZI~suH=8mdvzHp7cq`i1@-)w22#1Ku=hR!J~ z484E#NJ2GnF0XX5EO7U=NV^mWX-WIjR6h;5kp+GW&tZTO;GO|;be?gLteRAqv}*zq z8m>Cf!3j(z=U9LjP-HN|O}{y~v)GFq>Hs)QPZfFmtp<7l7kUehrjOd7)*mgx)!i^% zah7ty^dIC}t6nd~!M9)*7+bF%?72XMkriPiPLQ88xYXm_0(yw_(4AH_Zi@ z)0~}l+64QLHS=IT=!nzOGJAO+vRBA|VV%&Lx=mGDZ&CKVblB9jUM^;CcP{d?oSgLU zY`>o-g{Y?bl9YOWwUk0Xt`vJcIq3|ET3!bpz=2k?2#)@~jr1mQoOsp~F-TrhZXk#I z&_lIWK5g9!wUU}$fl0N9OCZ5I>c+v;bN+XQEp}p33o|A#DLEg@=qXGZ8V#9zBfvr{ zlj5snmh>X+<=O4DmI{?-W zX^U_K2QFd&HLtetK`ch@$k$m3+uEMXIpyji&qUC@hdyP@`(;p>`i9LGZlI_y;uEr2ODIpreE%N zsyHq-;tmISTsW<%anu29x53ZM*x3}l*oW?i*5+lF+WWF}IYLicb`vTD)gPlRJo}H{ zm6#)e6m;*V3Uf4bIqzj7O~ww2eA`A2Y&3ii7-hDELzH%l;#91AFJ&D0r~1a$=vA7E z+SaUniJgrGiE{Z9-om!#DiW`BE91pR)1K{k&qiyMo9P%8Z@OH>n6OZ<{w#JVP9AKE zDCg6~EBI(3kZmAjN7YBv9DTr5BgCR24T{V*8Bt9}|0Sr#+KZF4%{H7H3W&^XD!V_-=*vo~s@y|cmzsZKK(LCXEP0Wgm9&7Ywgi}` zj|yu`%RTEdsakNN#Q4r-MDy2Q@*udyhqA<5TtxS5b!8WX0Z3{{9;*d>M=HZ2P4Qv# z^qlG|K{}BE(AnJtw@MSF7HXJ#v%f^V!Hm>ktznb;Y_wt}$=X*sr2>qCe!kJKH1)4k@m`ysHN@cj?_x-{2}d&~Ye z($`gb9L_YSOwFWti zMWOOCHfBUjfMeYHHIu;?w|02Lc|>%JZbqla_PU!Sf(qG#CHK8|4K%Wbqhf#7lLDD&f)2)e7wP+L)IY7* zRob|337k!za-*x+yiEhTg)v5ijd&7aupJDm%ikW51ed8Ie(Na}Vkw& zuHX}Tc75M9IN)YHl)?FUuTfVQ1B!h2}48n2EkH%K$XBGddu}< zqWOo2mFOACoZS~o#saL4**^vK%fP(ZX&DI5TQUoNHT03r`jpD+4`U>RXvH*E5J$49#NwxbiJTc+E_TxK?UUMBlODtd(?y|6qVv{+Il!;Fae4=Ak# zIV~Vz{4jC>bECup0O4l5Qk*<>ZGHB>Qyq`!6@!mY%#6b=FIc5}wD$^@@ls}LzH`iE z@Q9y`-vXSk1)zN^`@Y;xOU9vwLc;vTVW7{0jK?_c?L$3Jfn;%`;=}!Sl9%>p$&%=> zXsro1U9+KLdv4Frp>}Qii~XhWUG71~)>2QyY3;@4X)U>Lj|K^jzFpdfRK=_0Ydh}B zr;-Eo25Ry0QArt27qtX&jU0WKvo8_ii&KkZGyQ8nn-gSL8WSw3o|I0ro5JZ7t;=+# zcp(q)pivC=0zdWik(xzuXym16%3!H&1ML>s&j#W7RnO@i`inU^Zf*k+X(rE(E)nj= zfGk3?<-3sZ)UF5>c4hb#^)V*fejf8St!OAC6eHg*g$5gyu-$iPhxMXUjixNYB&fU{Oy*>&l6_lAZx5eZ_h@j;_vVE9dt963}=++xu)VO)MCbGAyqX z&(<_GHSOLAM%y!@hytQda5n|N3X8#G{y7D`jT2^cH!eKxWfvJ@>VmD`iSHnbCMmyW zrYqZa{0dS9H?W zx`l(MkalzzyNNFY5;)!c>ncPc*v=kH7>fz>N zAx3z2QQsh4MB zQ+>gHLR}@#3na=28EPW8m z0sk5MeL_XcHpvO$#TZvhSE}RRM)3#kJsE151Z(vKMb1j0HY`dWnS8fMxF|KE2ML}t zuA=Y=7IU)$og{a2)AokN9_5Cp@L}n+pQF3u-Mrh2H)2|Wj@9$EPu;8BY%V*L^IsI- zpH0my4mO#?V_y&yw6j4%?(eqN5FbwLItHbw1ev`2bD+Zs^Y%m|Cd&d#6az8^Ht4f} zCiX`hW=dMOI&*V!zT7M1v4DDw`>effgtK@e2EhhOuPY4%FHq~7YWC-5jM+V3<7e9q zn_u2P5HJM_Fq7)xEa9#O33s=SSWVHXVftLA$G85~EhqI}g9E@)MfBi?r3D-ok@u^2 zAj}iMr$Y6DM1}Ge)dq(K<-lDg$_S%dyn#MCkQ`Q{N?vu{Cx%srnuLEs!=gCp+iN8} z^(eqbLXoeHm!4i~j{bRHo#E2Jq05^ZkCqJdE$StGgI&zKMZTkLTq>$G8cIe<;Cd5K0vhv`jkWtHe? zHz|`-7v*yo^u2vA0C4?s5>FIi+*H%piUt_3q4iw&RkVF=05T5|h`9>@{cqF(iqsG# zq@J_PZigQf#{N_o-i zJAz%OXyf$KjxvIT62HL7LGtfQqW?dCp!YYaE}Z_#T-j>XvLQfoZ|Wc@)2+p2m;xCcp0tGcqmJlvWAkYtFngiM zEM4~FZj6pb4OPD!w$>quR^37TgDakGCgkN1=_PHFoD>F1&FI(WX+*}j&YUM3{ zi!NLjyBMxxEXZ)oH9vWEOWGpcKD<#e12$R8a@dliQ@5n6(~!o!K`^dcV7ci4B7X5J zKk()?-*hEDXoX$tHrV%e`4=`8FA8b2l>sRTU-aN^2||aTVFf;n?mY7v20t*<`u=o? zC;*u=zc@jsg=%eEF*-zJp3i>B8nKgL-tDP0qm1BmrrM9V)CumJ;P`}x0}`zEEhEMF z1q~hTf*}e6^yC%EmB%-CE0ypxuB_S^`gICa8h@>pibjkI)3e(b#F~x3sYfc=SCS#) zcOnSob^-5pjPe{m1heuQgp&E}j~}TqQ4(zz;T{y|g=Q-5_~s~|^N-eQwo^JkqsdJz zQHqrN;rz2;!td@FT4|W=T)BWiFIX@CH|_S^$K~k%b?E=uZirI^>F7Uy)v^EREbL=Z zQ~%?(k8jvHkXnO%{?V=3tM^yZm<@PYxyNqq``|e7ebo1u}WHf=yUI7~57V#Qy>QxdDeL{+b*Axp%>TY!K1OY{0Yh&%OU296rWS zhsHf+=XJE)1=W#iQOl!(kx;deancBf8utJCdH%QCv+rpYQdI>F->8L*?Xtz}_=Fj< zovS3Dss%-Td+RcxNHeze=N}jMLG4`bGydv1JpU8hZT@g;MWhPr27ylR(o#PiF84)b zwN&8^G46LP6k!r2ch7Tc|GdYoGWJqEQ=yFi@{ekE_mS*x4IzB3F@K+hgQWD|-kF*K z&#Iw*a2}TnQb$@Tasw>rk?7g$^xH)d`VODAmK_L`*n(`pXvx0>8p+@O7q;}@K(GHZ zQd`H<4E_hFrW)cONVPBGp2|Ab=t{{kMBpNs6j!czSxyhFGDxbvSF zR+fL#T7!v0NIo_HJBBs-pS0HHHw2pfR9n1j-|G8}C616ss{bUPdOQnP;l1u}kpIta z)t{9V4 z{?;5(O2WtK5q3pz(0+;FJmBElxZVTnT%)r|SOE2koDPu6NVvxLX3vb*0&no`^8_1OZ)9Kuj3Z5TU>fEFK@z(m8KDc^O{w{lvh}4b;RNZno5#aa;vSK6 zla)$EqF@#9K#r1h+*nEetCRpxV)8u3$>9Mxc8d0MjBZ=s196}bpRH|2v+i$}Z7*wR za{hXHzvr~<>zhAhd&I{%X8r!9W6)#NcrK(gJI%l3aP5&VCG|vDjp5TRg?k}3vZQe) zf*0MU`_0|e?i~xp_?T}&+rsU0DUU>A0U}DxY}evyr0;&NjsFPYl7xA%f7(q&OhU2u zlJ%L2v$1&+)YcKgeNN1co_r5MR8r|5UPnbFbCmVp3M zOBTV21u)oS$9I#PzCClm<*Mym%v(OAO|iX5C`bpG)8IH?psz2Yr&rwY-er3%XOn|> zu**hKQ=RZsFFVVJ?8!pqPKo&x=yu{1zfQ*iu&}O3n+y#M#X z{j#XQH^yZO!%RRw`QUkV%@jvFTXmMgF<*nJ`qI>v`#+O*fQc0*yTD#6si{>LCSjNc z892@`GlY9WL>oE!T3*EG-5VKXRz-XR&=Eh1)ypg#vVLMvyn$L4$Vg6C)$$_?0yx8) z5Ufk2mtq8QY?wsIoB~DGmn`b}%#>oRpe_VgH9B?s5U}UGq+-+(L6H3A!u49rN?CF7 z`*_*H?lhLabD|heMRRwRU0D(;x{>#zOxW5aZ+_FyW9yw2Wp?3j?I0F@* z!XYHJYsF-^CJ#A^D%C+0k+Lc(aJ_ISaGl9<$cDr^1KO9>gC-IJ?{NE`u~qZQ5p7N-&_Mg*{%Ogikw9~uMB6qGLJM(c;OiJ29nmg^ zH(p-_+@D{fq2-o6*kCDPn5(T#T>Jd}o#k2_FvIdNHkNDXyvq&a)_=P9eTMJTop$J? z7Z*S9u}9-=z6_QAD9_E~D&B{yrDI#dK|#14zG)f*NtaE)>AlY)QoKQRl80;k7D2ke zaUkJhyr*sVzdS-<@0x@9r%ioa4SJ_*1>ZDW>}1}S-u=ka&c${leu6n|&4v8|w!gZ1 z`yjko>M2Q!bi!=IYX+x1M$hdB6?0H^vd9>}3?_9EV0*6vcV@O1MctbX5SZZh&|_pc zW!$9Gv{|{^MM@59CAR>rydqWOc{d z;qpXuj)kTDq2XA3-h2jJh_8P{$kJbfy4~0tjD`j5&zDZR1UVd9_g)b5Y28-4&lcDx zD2^?8ZW<~wSfn!`A!Sk`!7H?XJ#S`9?qy4AlqeKYz@96hs3Or?UFG0^P#W65{*GK8 z_prgM8U3R^SFeF8`{KH4zpWpaYPW@c=q|YS3s(2bF4Y;D0S*2(?Rn~Z!ikuvlj4@R5c9VZS9)k7a*SF~$(X~g4)jZ5$K z56VB4PGeA6G*f}B$8qp!@y32Ih{slKhB<8ML$V%9$+mhuf7k^>chP34LI#bdHCl5; z4rAFIT01nNQ#D%D1%;*Sad7xYhRRBPa;3rVc>#-&Emd+PH`sn3}wNwt86ASsYZBpl_yej4Lhgc2m8VtC51;xfbZ>f@Fz z#yc}ee>KAlYVte6VRKXVc+$*ulSJdW!?x3Fdc$KSQ>o^|9=R-$;SwT&H|ps8K$TJi z#nzOR$~SU+-aUvG#o5PA%9Q&j%iay#%h)~JFnsgc%mQvaOsdzpQM#leuLxA^Lg%pd{8MUNX`m9SzcGPSJpjv_^Tl>f9 zNBw1Y1xEL%9ZRRv5BwF=lR|6Z8fvy^+ic+?4-vqBt@-j zV*XdG*^+*ISpB2Ihna2_?5HgjbG${PrY9H8+%L5`B5OYMF+!t&u?PB+Tp+{Z>wt(T zjN!AZI5s4K1@*YAab#~-W5-ZCE5AY;1WBoFn`agv6)@zqQP*dmdp3MXXHre>gf|+Q z>-Kv{4NM8SCI>g2`f_m-+Xs=GMEivtN~0(`4g4Oj9Uq)Un;rG~JK_5Je&N7>3EuC^ zoTm+~zgEgV-#c3=c>5_4f}pMjS4hCV89nkZ5R=Ssd^s_`X>y8aVJ6*M767=+lsjU5 zxa3&+rO;X#qq$s*#$^-LTs)}`=8*)TI=$#1E3!HRaFEKniy;{)s1a0%NXzgFMsdII zRkX^beqw|3|Dh)q1V@dlJJjA;WgLfYw6X_%&&R&>R*rcnT>Hw1%UBYN4tB>h7f<-k z7`8nV;0Ic;*lguvSd?Y`R6AXNeD84-1%aZ9tg2=dDETMvqiSMCOjCq0AP)ZV7jJ=M z&UWr~Wm(oAVl+ZoY>Zy#aalkcWO07ir4ZZzZzs{t8j;jm;#SaV{Y!A)rfv=OP->)yyY>9y2VYos8b3yMSox&A=inw( zafmD;)afOfzxIPsDRrfom9*1REE3-P`)tP}5BM#F5;sJZdqv z=lnl-LZ4)`{tot%#Q8bUJ=ivH-sIyJmJuy=P6-H7T1~o zehe>8V#RlZrwvUJ)CrJ^mMa}^AZ9X0P#f=H#Ak;uBvb&B=;!OWob_E(gj0fc=ZX2U zK0HYWw!=t!28OIJ<~D$n7JdXCyrC8q6FJ{WT<%j#0*uZRqLfRtv$K_I536`G~Q6hp2aj_QnRQiEpWD7GvE2UrW%|%tJmFE?i5mW0`fHe&$m}@ zSC;*>Uv?A34t9!$Q^GjnzP@Y`ccl$G;`#sy)gDk*s zaJxJEPb}K+2}J1-2alpfI&5xn({JJ4vUmx?9Jna%oTipqJ|L}rMB}BA@wP!RPw}ar zi69BeXa`o?a+MnAlS)BZAwyz%%Q#;zB87m5k;tE_F{mPTLBKzF_8gEn!*VdSc?8rL(;tkUS5BQn`7RWa)3`~hohHyO!n@%dOuh);etwMUp*eGndDn7!Vl67fu?(p3o`XSciTgV$7LgNEoH=qi9#axGSQIR()_p?!KGim|88k^2{U7d!ABKpPQSzG^N6PCw zi9P7C%A%giR99-$H=5K-(!*)KQ}~jr_>6|NQehuBD~z~)=0kS!m%zFG61u1hsu$nn zL0c6^r%Z;!g(4>LAs|}oRLSqOlj29__2I)AO$x2IX6KqS<)i7!eyUs8S=0>OsF-gR zf#ry_i|(KpINY0X;Zr5f6HWK;@PznCLpHk{Iz4-rzb>k@xn8vPTA;+Nwz)Pw#t+H} zFZV0E2x-?9bTsB%s#`Iioy0Im-H>Q>i6UR7S(jN-9qN_@V%|4KBn%2sajLh4iPcPz4F-F^Y*-v}5_&Wiv1jDRx^@i9*?_@H_T6J42k6G+A6gKqyX9K&U zFVGZI7pv+!AZ4Rl+aGfo!QI2pbdff87w73(Fhvod#94QI@HsDtr(}~i3NMf=*=9Y- zUZ34Db4K`CWUZym)+2jE+C;8b&v)Dy7c8dp8jC!K8&Wcb;H?x|aw3HHh=>lGa%3r= zG3|aSIzCkkc75!xub=9p*82$w;H!Ns)naw4aDO z)UeN*~eWbz8P>>W$=Nsrf7Nqe!bT|Qg4Hzhy1>Zy}Nvi zkBJCTr#Wcl@s^f)&5FM)TDX0nAJ#dqNt@u%7XMfkc1r)Ej} zZ9!~tTYCk@*%|oGc05(#WRd*Ubjdd(A1lI3A905s6z8C1BAeD$;SA)3jE_FtVLREHKOtwWzec*rESNI5Zf@J7Q<1 zk@f?y`GB-`G%wCnxM_aVSo***&nVanVm>uE8l_D`uqbH1!!>{u*kgc0@{nN&UDf0w+`>nwgfQ$9Mi0J0>o5oj9|E!ya zE%}JO{Au>N!4MYq2Iq9ui=kOe>@|MAG$gHA*8Hm8i+ZTnGO8b6+L6_7ds|_9+2ESOvjxi9ID{=<+Jf$hqY@apvvX^c( z7mKwUM-OQ=DwJ8%MPaReBTmvmHY{84Z3L{R2zmcSFw+@zT;n@~%vnmiGROEq)`vGz;Yq80>U$}vx zg~p`#XFt%$ZA7{*BPR5QMEi}Za%m&Wq}HUooKLUQ**)>nIC_t~*p|!2;nTYU0#=_x zPPr~TeWHG}ws_6xiT%DeXI--*5+Wj2+8ihSdR)L7%kQ}WML{Zdv04M-Yt4Ag(+iA* zHWqd$%o%MoxZcYbqDpaGxPMq(EYfO+*28@Bftk{_Z17|SMd}9Yko zUSu%HhdgcGnzK%6yMtbl*Onk^bd~tpfG+iEH2XNooCOBOw`EdO?``wlTsNhu0zdU4z-KaUSJIhhC?a-h*`$bfQ|xDN1N+O{{}pQrku?H!&2MpzV;E|E zbq!&dn2pEv#wlq=BLkmagC`S{r6^>^Yzpp6H}^_5?iReuQ@|`bv_D09wAE=6lgr2v-x-MpGen?Nwf+WBV0B! zc_DEm7-(I)efM-JuBkdYD6`qABDRN)zNg1~#Ij2AKuG70zF*YUlAss#Nn>S37!0IrMHryj-gO_jhszpZQ(kK3tzl4b}>PY5$TN>p--TJJ3& zGiuar-ay*X=yb)|HcM{_yQpUExR-RipQ$Qd0@JONGge?W=f*fVBUoi|gwu*vb9-5q zu8uxIKJ}u*NDuNjssx)Y^e=xPza6llk(mV(C|v;=#E-)hv-%9~SD&|dwxDY1<93Qy zfT5!`+e=QLjkf%FT`XU_ugn-~mIuXq4X)3vS4Uoctf|2`Oz(6qw5X+8Bvv!yGaW5`C2Qbix<96h%HBp(>RWjU{flY! z@@Jm$^FwWW4+^1jpMky99q4lECqs`Rpo2_wp5~6@;mQYGOwC_{wyNI?CvV1c0&Oj^Rpg)bxj>p4?MklMjB7jeL0Q}OGA|n7d8i}OouWP3TvP-|! zjJF0rsqyZ?QYU-n8V@ncjIWqjFvXXQms9F`d4rL6$WhE4qDy~b+h1KPjHfqoB&2&Z z2qYT}ZaE6YfVlq>fIhY>LaozImsEqfPy$#)g%#K&rHHzyg4;nMLrW~6tGd=0p{3gz zuUPF$<*}W+Li~hk;9}f&oA}qOiV1yj?dZwGzXS?Q-~C36u>dgqh%aX*jnqVG? z<1)?e4#=d~^$isJi?#Bc(KTl?rK8vvNz-)IAiLL11}|C+Th}R8cFJZ(yN20<;r#MB zNNO+hpw7YP$vdSZRjUCD>L4?-!Ooi?@jeIZ9RH2M2Vyib%`wHg^V6+x`b~ausi>jW z3#ZP(n2mXxSgs^yWzJra94S&R+cZD zDk`IGQNxIzChCYsPvfv(DWHhD#7vf}P2qjCLHrC*o`vpp||(I*ZjVDn%L@BJo>3&rR(&obPhyF@|3 zaV!clK?o#2k(}Zpr0W=EEo_cysAYuNcJQx7Iv&N!sjcfuI zGA2bwyw+H*5?XvR1_nHS=$8pEoyz^mQkk8UD*$#w5Agt*8(qi3c+vX~5XZF?-5c}6Pfa%2KV<{AQ|@6mJCLjUc3(4dM6x=lq47;qi>0Ih zf=1MI9ee5*VoLoK`Sz^z=XyQ+hqf05<_PTx-Dx_*Oqe|cBOc!@NnNlBf)9W-ksbC-W4SuYi1jN<3U;w&BJL#jSS@|_5f@N0A!{k9u!$g&rVb8Yosl7kpR zt&LXK6ETJL)96s3Iw`p-DfNpywj9r!f{K@vf0t2VH}1#DKOgCMsP&B<UfA^f3bLY%&=KM*9tXX>{*?aB1*5~y$&i;#J zvDlN&`DIVV!{1@ue>!zE73dNI1#*oFIw>WHYeU*r4Y^qGNNM~;W3A+GHKOs)N&<&J z!!{-e$fmzNYm||b3rO?5sNWAbsrPL6jFdbmb_?>lm0E$Ezd-{gQ;X>7338i0r04-$ z&U!edy=Q`M!ulD`gBJIyvB!maZ<(7H7qQIqfXoif-VQgIhmUKnn3G8c{4pHTSQ$;8=IY{E zSN7DI${Cj01%;Aofobvs-`r2gPU)*~6xiZ9?GLqSeu$`E_9Ku7VEIg324|aQ!ten0 z!n~}}s@vlMtcT1YPx(xDda)8Rra>k1ZMZXw3?Y5b{P!p?mO=WmI0FK?ArSgG)})tW z*5PM!ddG{FcWTWlD=}{+3w{((9>rmu?q!+=>T?JY>oaMtMZ{qA>@q9V@|747^%;Bo z`a-9l=QP@Vrm-_q7+6`o(PvE$C;F(a<+xM*Zl#cWW}UV*-bRiB%{Rf0At64SN-}b? z#9Gd6IyiW?kp^0#&6S1~%V{Tf&zbr3&K83^H4jq>$vQyD*!GO~Hg3x}}d zSyI^Pn1(-^b$8!9>Z$2A&n{#*jC*EkG#D_(b!!o*ah&566oni8%$3&mNdd12PB(wl zI$l6$(?zRmpUHmGFfF(>(Ha_msH)iM0%WR=nfm|)o=keN3h2kb%6R{I4rTu5mJXyX zD1J+zW2L#dQreB4_`KzjOGbitnD)p3*4fj`~2lRvG2(4=T2 zdazjO{#F!Vpi<4*WMmuXWd+T-8usL=2c=?b#SBnFf3);PV`(rC1(so7%v3=?cc()w zsiE+cw+d#ZIG7PzVA|wlS@~p=)I66X&+K81Ou@`W%qXOV7*FRricy@&uNU!Qj0BC! z*LI5=eH10#n3#3}tuB+n;=g|+vWlIrOwt0JnlM@Ok4)oqlm{AlO>l(F3hvL@IZr&W zYNa25%PT=|M=4PGQlOUJx~~q^vL4a{HqNGkt(x`aU!~i}PO~!kZF7d!hh(Z>&!@i% zWW0UBeJ@4VQJUaU_UUdq1u1NZGUKkJ+H9HlMl#0=bgpNqyrr6!hN#WTIWe=x#l3$2 zc8F8`dRgX<=b7W(L!ChZ6>;;YK7Nd%zip@|_8%a7TqHd18A=Ji*KOmW#cZ`?L`H6z z#FO8PV_#NUH3)U$_5I;h>j(;x-W@b8qc~KvRLrd|tLzr7FJHfSz@H)0xF??^b-!$% zERZvhKtC*Y##qIJ6Lb-7&@$r*h90Zm@4MHz%<1!DdQ{DrT--W6uXZv^Xh;WA0H-V> z$(Yu|XyK(LuV{6qPae)@jJONt4CEKLh{TE?FIDi0Jw~3ak;7+=;*h$!-hYvNYFNE8 zyjv`St)<#ugXJX#e25$93H?5-Q5F|{V@Jm&$GH@;MF71dOA7n6Xdp2ZZR%dODRcY# z9@fd!f14*yyy=}fa%nn^8ZgIju=rd#sM4QX02ug$k(FyR7H$-OxT2tq{q>U9fJ(x_ zW?3F+YsqUcGkr7y5-b!GQW5$6Dk)$!Iu6n=2yFJo$K&RQliLA0NQJhYgWiuW%!(Z_ z_Ds@K8S2J5toeK8?MUG)HfVNe?}LVA)>124FZzzPytJ$eJ$i&T_+rndq(pm7zd%YX zJx{*W?v|72Hkqf=*W1f7o2;oSZ6#?RN5<;#C!BA-!-C!{$iQnuA=mqfKSjTs|Y2 zhE&~dh1OU=m&@qMrTASYxea@PIj)IlO&{l{#|dgk`9`W6uflTsf^{9F?T@ZfLqopV z_6=BAjHP$KZpn3@BJjeHEv{3DF-Zos<#eGj*@+w%VJ{(!nN^W2ZWRmA+pL|Y`e|=} zG|+FJz&BU5dCKVk4i3{B_?>ev+a+3hVM|Y0&jz5D<5D(U?HhukZ>&tFk&`{phq-Kv zWmVeP|3%_KxJuIQg$e)Gdz(yfZI>QSzt6YS*9$pni#az~d`;SX!r5nhA}V?OCSxY4 zw7F|KZwSNc>81)Bl?TR&=oXs|RaFGHg=!H%eDdbb0FZoRRZ3JoIT*fl3!v-T*On}4 z$Gwucf#yhhGxN_RHDIn?;p#y()6T>L~R$OGqFUZ>m;LP7{e z1%{qhF24KFndzaq&09=Qw2fgk$RsTT#`OjZ$NhhXd_(j%W8Bm>tBm+&+N<^E zHn~U6gb~mfR+neao;IpnB2RGCEH@k+=RK;MZV8*#nJfGZpZ?S=$}{%V*N;{b#bD@z zOIt%<-wZ5)$$T(QyeLG%x`f*nUpZiNs|f4TFY38XN0fyn1W!l(l!PZRh7W^uL^Bqi z3h4|>t|totCa;xwdJ>tVyKKds%B1}?3~^u!iTP2Mb>H+V4a2#$^c_Pj!L z*x$XQi)Hh#?Bg_;w&^D+s4|!zUB2@Mb!zoLW3qK;xIwx`@7q}hx1K_?@>j(s;F2FtWkzKG} zt?1IUO>D3V{jyryWJToCw18lz=rQ-^0wh_sC}SdO4_f*+0V%_oK_Svxz1_{3yd5d_ z^8o!+tR+{^B7@m9ZHV9xV|ayQ*2k*?fy~*~*Q7ix=&(TkqyzGKI}yDG9%<}W$Nk)$UA{3^%R~kX&-PFLCVS)mv%g_v1p159Rj{vF`I3r&euyk~1{ii8*9fR3MJ0+t&m-+kTac zg}VL`pUW=%8Ux6r^_M1rVcj~oP1Ag?kCs-oX#Gfggk4Is*+^`9Y)3@l#D`q1Ub{_W zg~nwI$kcnsb-Pl+ZMY^mw{=~;7;72b9{L~-`&+kWW2!mE!h}B#ifvVW zfxNX|2l+kWxzcH03fN@l&4t(Kl|wu_mjgeg`E|4C?+6W7g|`d~?^V)l*WgN#Rmy2T zp7{B!Ko0&Ub8U{+?AXE_Qx!Rve~dfZzi-^DiQ~@v_qf+mU;j2vA}HTTKGxy1gP{M1 z+?&e(JL`YRz4wW7??AdjPv}I!g#=UWLKa56b!q;Kvb7PP1E%_9u^g+tU+kfi5mF=8 zp@`DGas5Z7NvusE+&o_w+BY0X!Pjcr3mvn7&&yksH1Cm5&c~+Usq(tn9@#|&cFt|_ zw_On;vN!}}uW`E&LN-oX6rq;BR+iChlOIP&uWDmq3XGOSA^u6!<7crZhA-DTmJZUR zJzEvq{Bz1MM)=|e@u`p@@JCRW{XTYLhbo37x#zxoFLRR}NMw4>toESU3e!}Q4s|T_ zv?MZyQ8)sZVB}nTb%DvXyLU2eGj7^8Q78|aBsr_FFAY65bC!)Y@!zeE^QnVW=LN#& z^tsfZ-{7DTuqGF|7@MiGX4q`o=;wJg;ae$hsdn!pd;YEOH=R_mWHU(`rEgwwzKb$3 zfu|?>_Vbf_=E6oE=d4a<@18fIbA$FVad<3u7@YByMycL&;*RmheR;fnijQ$TuirE^ z^o!f{rAy$Cu+&^EWNH&YnBs3*Oa|w>e^pufzb!;Y{zn%gNs`*!3B|+D1DGb>-8xCr zjRux4xDgj5=>q%uhPC|=hF4SOIxe6tC_pLXdeu^;DP00_R(%-HJ<7Fz5>Sz(2b;jd zm3F2gme{H&SH4GiDH{vW?Xe;kWBdW?sE!(fnq~sVWtDXJsYbD?m5# z$kSx`?Z_$DHUjR^A-2zF{`imBAH9Ubdqh>zltL+|Nl<66&?Gn$Tvh?DaW1pezr;V; zWGL=)CDFI0;WQ2u{#5nU=^^0PYr9nzteNB7WD%_`z%0s8{#39Leb5r3mHs#Ipu zF1ppmFQd(8Cn)Y0;^(RYqnpF6x%RN%p)8G#Gw;;OV#)>rK^0#2EMh@;IP$oV)){ziB6PH4Q%0vDd2E@TK4E_{r5Nm_cbH{K<@p)Qh>(d<0?w#a>MBE4HrE8~SbUdlb@QB|LVflOW>l+`dw{?DIn*G_c zDBOR*mcL}!e`z*&7i;`k$~LJ#aE_tpp{3&vuG=6NqBZApb9)wz#Qg0#*4#;39rN{j z5jp$3*PUzBifdtZ2NF+r*Y~_!YsgC$?tM(rk#P#^5}SUT@o@dRVz%MZZ1`dq+g~I; zmEA|JS#_aR){A^i-S1B&uGXPRKC9LIw&4_($G;*YKfSeT6gYn4LzCX_`tCAn9biVz zaPJ2>aEdM+z;(TkhWa{lp6S4n(_njcbA$_RmrZ%Ax{6Kk+J>AO~qq{`Y)0e!pfP&h;22y6Rpg{ zT3gKBT7Ah+Z~e^qHUd2sBhCu*QkgUIG7w)C%P#e9eN9-~?bS-K`Hyt=UgmY4sdiMD zO^feolN-6u=V=#VXw@RkXPmZpGdXx4LC8t?(0Kp6Vrf}LJkd!bOuY2B<>Bc{XOnC0f9E=oFNuq4MpvIfGC0qwhyst|x=K z7HuNHUK$sqBQ9WW%M~Itj0T#SQjG|?-XS-ep`m(((**Iz{o>44{NPaW#d11x$+b;z z=qy5gq`%oL1ky#5@2`XPcp{&Q{SLdcPN1O3RmTtdMknFBDPJlE&ACko=D4|qz!SvF zHu_E$!09Yg}GCtggsklYvx!>s`XwIX*b(SXj~QKFBk(y?j?yiFeGFflp?E z&9PHFj24w&i%4-;ma3dnt4A#*) z*@3}5Q5XXxie;+w{OrA6QSbu(u&WF|_E)Pbea$gNJNJ)Y-$v?s>6prznmRjWJ>-U9+XTNt>Y<=mf#^<}f z&_g%s8)25RgNjwS6^>|dw^Q7D9(WuEuMn)MR*XHsjf#(S)Bi zpK(Vj`Eab6AK$fvy8v&Oy!~_kL(|0Svx(){dcQC@@e({N3ppkGUA4AHFE>}_$O5bG z7TqulF;Qtmn_&T#vg7P~p<6%4J1FvSGTwe_2DLrt}Jv!T;#ec1|?G@Uy z6bZv>{5-$G^=9wuCA9C-q`cOoUr@8gqTYAJSA5#&ckhp6$I0)Vl2oaS{#zO{AbF3Xo_pYre;PCb7PT zpQDlPE0%A`qX;;I&Q}Z6_(^Z`$Jfs^y1^0Gep@uqK|ZhN8u#uY%o0L@3U_5P1w1)N z+|c+g!B`vmXpfTM<3#J$%yj7Xk-r`q@LZzCL=9GQPZrKa%0ir7#5q}ihn=81ebd}r zUzS->IatbAbQJ$GkFPymp+ucYU1ex{)X2ro=ZrD#n~VnuPZfPWL(Lpol`XpXb)<=3 zBuBa8XkJ0zB^&G!*Qis}v=Y+97Fi_pqR&u0qMmcUzZ+M)tJ5JE-8!Colk#Zl1~k{# z*XJK^lJ67bj}kQ#ME)JvZFJ*oE|@myfXQRq-&*Bi*z<0<8+JO6+rf|zom6KLw&|B9 z6%g!jZTlm%KT!VBa6wuF7r>tv4S>dC%mW+Tz0%@pCTQ7@&ol+{)f$z_%31Pi2rBl@*8w zriApg?1-reQb>#jIK1=B%3*zIhaP{1!C2z`^KB-DBdby95+F@b0lQDUch|c%EZBHv z5m^xU?6`iBI`M&%O}QBabC)qrLu_DP5c4&COn36*E%oZed`r)5V|mE2v;)s{N|q6S zu8iVhJyqAfj@t{HM!v9U9G^4I+HCP!(qv~`W`X+=aLj+J{`C_Cgw~}4VuBe`?7U;s zOyX&2?>37EFTB~G=@X&--uv)-Suj0?SwG|Hz&=;@O9~^F7lQk9LuepC^H-5NjOVKn zs(iY+J|U6)%=dVy(=@3p&2$dy6Uq%3^;osx`^{tsrq5;Zc0fC^yzT zBc^XyZ?s|msd^RKm82~yWjblULrxm6_L?g!Ab11cioi#kE3{5!*b*7Yljcd)vN2uh zR&>|iUDrS#a(TWYT-oB>3s?VdB-g4Q_AL1iSlllRKu4JrTQ;*~O?QRe2m2tqF~)pR z`Gnn#&$qRH+m@-=dCKZah$Vc&S+!g&r3o&Zm93Ay)0#lC=g-h?E?+n4YRnf}4wst> z543RbSpM_XI*iULp+dm=J%8oL-8`j>my5fHh}HK?2Rc(fQ-IslH1plq{7kqW zN<{su>%JR60J!*hItcZ;i2wbkoYfe6v5T9g&@$R}?jf&X+%p{{ny~B=UH-?%S-`t6 zFUdBY(k$BCWzni1FP?FUi9xT_SY&!i=FC*v_&IPt(ohhcg}n95t9oQv|JAWc(Oh;# zeT2%^#U494UH`rBBXHSP{&MkI<)P-&8G-Y3PRJzJdQ_(U zJLtP<__A_rCJ1_E?rQ3B7M40<{b5A=z4=cs3Ln=6qsQ%!7j<${pws#cQ|m51w_l*K zx1q#v@7)?!v0(R#`Q{fMawEM#5?&U120PGf5ppZ3%~$B5kKBFIU_AAS<}5m@i1m7W z`UfuN(2kmfx%-~Ct4CBj_|q4vdJMAT^Bs#eW_pVOWLl79EYN_Agi@b`B>Bf3iMwxG zL(4&gZ`90QcUfIadQ8jp%pOP*#D>bI0uizFf@|bcWHZ;xZz&SIgk~}`^E>P3ZevQf z&fP`_j(+VH+P$2=#IsK5Dh)qVaSHgz+<-UB@+7DrTE7}uN$vup?ORguO%csgJHjt_ z3r&Da^2HoNZ`q8e^GCa8cgZxJwnZ7@7X_P$H5A6nBI+ngZIyA>C!B2E8RiXszyBin z-b^H`8ed+Fglz|;cu-@tJ3-~!(~LaaTZ|B|cYgpz8L{_@)DWobq&w_8s$bwq7P&#Z z3gQ7^yXu()#8L6{&2>)$lX^hi4|?s3xa|mrgAe{Xbx{oqGr$C41Wr;*ADKcWZ#`=i zNLf=c%VH@c8J~X*C!tqfoOx{`^AlW8mZtc_(_r4Gn{l_u9Q8%z+$v@SvR@1&WQ^oh zYGupk^*5V_82SmaDkKP%dyxc11fjk&K8(@T)dlIw$w>cRh7;1;_T%}%GawWZh1AdB zMNl4iDB?eJc{I;YW-iUzXK287Y8GZNSyhX7Du&;EgAUV_=Q#y$ax*t{^kr$Qf`N!S z)YqV*-T;+@#?}C{nIj=gC`eDbFRhMGLT}*&kb~@)nfB_4mfYxRrN=Q>6nqsTF7 z*Lrga5s9pW50-%l`?+pzA%oaYc6uxG(4Qp|0lnFLVcWpHc@bvT;C0QY2ljs&431fL$(S5=b zCeGn;;+(qSI(-=+{nD&@zU8Hx-f**woKXReY(4{xOuE_-eGdRPYkg^Ex}J=QNtIv7 zELbYvyv}{x&MNJ?OgW3SF|&<6=M~L_C~ti;AGy6aDbn#HPG7JgT#vFyG+zVjWf}A~ zFLBw9@+PcW&@t`4uo*a)vLfB8lecU$@Kz3QDtzkIt;m=h@Aw7I8`=G}Z1&JU(^b#Q z=W6hKSQ96E-C_QN5Tj+DJ>mAQvJD5~5jvMae+hi>1Se0^?mFzwMz2#0qr3Bm$~~*~7QV+o+g~{u6KAEm zUL8-1`8hCUJjWG-hb(gMamay?d=LH8yy!>QlaV9Ducx;Jm9 zmw$mu4c(&eEJ{qbM2m?Bv1@CJyurcksRM9hC#^sd^N6*1B%ExO=aMkQLb?0y zU&FLaoV@(D(aOc=O3G?7O{e{>knwvasi%{O zE=7NP!AMm*4_4E4Hb2BRU$PYr;Dyb)jUQAwZ@nVVzKWeX> zZZvCz!RPU4Fj}&CiS5tzLfXH=&?OUZ+ZTf%kkj$V;2yy8Z{O5DW^7D zcL4b1B0D5waDTp?bV?^fA`tqev?{aJuPVhaMJ0oDCG~jV%=%&UlZ?@+KpqDF{B$R~ zKhB;SQ*n&M$IAuN+pq69v|?L}Yts6^`Z4-+doeaWwl=DIQp3j|(hkcm2bHtl+|Gwo z?*AFm;F1l^&iiP?O$;J&2aM2vbvJM9S;b8V?brDNfkhVXlB+L>+Y~&%N?)Vzpu&>! z#@>l~5()Upy$X>XY=qnt(#{sY00)M+flwF&Mdso9FNL`wrb;hMhaXV;@5YbVN)tj3 z>qSH@o~1g2`RxC=Ld(*Xi&Rwe*)PAm<$B)r$aakXdHw?7D$*p=+e~UcAkQV9P-_~l z=FuRePzkiMaWNs+W`E_+zGIj0V&!ZLU|B!+hvzdPG`SPvEeFOKSAfR!Myt5E0CV}^ zj8!r%#_|FZYA%K3K?sqI(SU7KGF9ge?R|bEr&S7ZK54(@Fe##4#t|tc8qxdW+i?uq zlMZWEK$1?2f!ZRibCp##X^1fiw|}hcqrZ?-anW~Z_UYi4(ep+L$pOB(&oVc#4PR=8 z8j`f<;3|Ac{^as0B#b*GZ!WdG=jgsJv9}oeuM&c$F>``gxGtGvKB1AW9HR+FouU=} z=b}h`4UE0bgXvp$gX%KpGs+2@&r*2}Z^&B!i95mY#(mN>WHUkCBKqkAweOj!sWdWQ^r|Md8os!g8L~auBa@JPgE%W1=1!pU^ajijP)a zLp~SBW_vR<)*VAi^gpsY-=?P|nfPiK4@I$T@I_(}Bo{OG1*HUQjO@N}tAJ?POcRn} z0T0zEItB28SbZL8$CwZkYmUrnJwY|vrPF|uc)B_l{~UTL@u}k_j7XQ71}d#3AI@7D zlatji+b!OBrDrmK)t~woiTVsFaDJwhe|Z^L3eD%s$is^E^?aCy-}M0)&JDfKYV!MP zffHeK5)33q@628zQH@l2EAhh=*#Waa8d)DOQfhyaJ={6ofF`XYt(ZmAq`mBiQjAHy zdWw^niD-L7qi(uxy9}jxb*ttUqdwS*#JO}9KJ%UHm6ZJJ1rrIlh5eAjrq{AX)p`@x zOv7n6(cVQ4yUihO1e9Fvs9jnHd0{@%+)^GeT4-tIHN|`Kj89g@2{;lmGc(bPC)q}s zbgh|j)Ix*l>x#Qn;@V2uTC4BV;#2D}h6K{^#1Vf+DT6EeuSc|ma^!gTz zSj|vzmOn9ANX{{&Zj7sV7OHu_LjRg<1nIGco#kSnm|4%e%-BcbjgErZfL)uF>BiQw zJzAQhdun}HJ~C&YFD2y3Io}lRNIB>|1#w5aW9dQI=^UT|V);RGQvaqyzza}x7dF&I z4eFwE-zo6T!?c%co#PTAwnm$V)dVMIVci*iKVa}69SF5o`p2_;m*dW|Mv_1XFrTly z-(M#xULtQ#$G^bj6*q4%ubO=FyC`=t3yDmN8e?JCT;i6XdMOpzbHZ-xP_+EoFJ~!m z9B-5l#~oULoMM+r6vwsyN>1uoetMO2<2#N0>N(+7@~B=Z1uMr~;T%6LGsJ$fWD)u% zj-6MXMT_e@^W)kml7zOWw7#Wpe(LcgB?jDdjW$OOJvQ!T@YCg{O)7FumyQ0mqGW%B z0CkDpAk`xB(KQqyJ?$!Y_e@kWnZP)JfF*$bBBJYmVw?T|=1lg%kdz%({@F51e zMSl3RjM>h$sQve}o9w~1_z#K1gW11ROY;Hu5z3O+?s9wp$w#`7yEMuSdp!VVAX3lO zciZS^Y>5ZM=r(xzJt18xF?kt$OaLy|hb{Vfyo(y0E>ENRA%27fkYMkI4iGJ#8B*+C zyz9N2*-2SnH9K(?j`TJ!D%x)5YxwBvXmy`#!B|Pm(H{Kp-ua*sj?=SDMZA~c*PaSx=+)C9648E~* zfmNixdUM{f#VOX6XSVtJj+*pqHm&o)DH64NuVlT6;j4eUTzgBM6?AlDnoOIUgF_y` ziP96cUoT4(W^Cbfm}3O(^K&&YLM8F>{X5tE{>6Zm|EK@@Mw0#CRzY9!D*cm}eflr7 zY@`}V-pN0CS*m~1vL%%N-Spqy?tkfkaB|iC+aF}y!s~yV4F3P)>xzlG#R3(ef1t+< zO1a0qt~b{I$*xZ93dipF75=TJ+EAAN+b*kgkzSilF_C_oA%0x{gj>~l?k&8Q{+D;l z|MMU2Wj%GhvG||R{C$2v#J|bYCN`=6ANu)!e*JYEoto6we-N-NoRdmaUPK}H4Om(0 zt?2wcJ$cQN5ayM?4=#15AXbK`(y9yJ`>%UlXQdB&58;5V0a!g*i_ko8Oir#3G}`A( zHGiFsT0S98Hb|Eje}!`J5||+qCcLg!_@F_7@yq$RF6^L+W0n4o8vpeY<(L)Y>m;{9izp8m5xoSAnVBIEwqsg!@|&}Pr0=W9Xaai69NstfHEZ>k@-=o{I&zj%Z2vO(CBUf5jTZNr%u7Vzj5FEEzp-DwPB(3vgqPv47WiX z1aZ@BA0)n(18?NemIv@N-m{zKeURR?3^RlrmtS*0?Z1DiuAh5yUP8^l$<0MP&wcz? z5^WsAqwsO1i&5)Abxqr6G1m3t;XjPOPm+L&iD<1RJocyhPxd9;;*?(%o-@_w96O&M zEa%9iYMw0c1oWEy+jVddRm*716b~E)<6^llwooH@HEUuN)Q+b#BJho()DIR-77Ev5 z4cw?E2x;yjGgz|O{qewfO2p&Dc`r?82-)N$5T_hhU8z(*Q^j!y34Isw1GOrpz{qQo zK?lScErgY%Nk_|DdJq?>J`e!=jD`FmF<4&n9>8Q%jn5-sp1GlE&_R9TpQ?l&!PCvX zd>N$U4=J@yh>Vm#P^)^);+8QS%m?A~wfxo@=3kYL`bKi^2JBwgBa8VZGd}rBrYXdk zehcw->m89MCu%u=N1)szWRO;mYSJEgIY~EX2%bBn1boqn9Sy^ z*={3W`s1rPeGEiTObRxG$e(#7wXD_*yY_K~(?9B(Z3GY*eY04dk45$N8!;~j;aJ@c zA07~J3p+XT7AeZsgG@%6_QvvGV_vK8PO591aG49 z;Htu|8Av2HjF>xgXO+&%PE>$~U!a#+xQ)NA&Zyv9b}4}$B4H0~;m*i>_!*YNcMOV1 zJ#N`8t8HR1YuZ0K51|#`$ttQgMGhCI6;YCqGemB1>b;C&t!E3lWgtZHLHKuFZS`nM zxw#ZR#|r5dI!JMR$0O6kEX*-a+pFqckwzirIQ;bmct%mIV%BU5&NuZ(cHCK#=V;?HGI%&VUq%I- z`xNb7Vr8+j9>;g1+=tPbs%W33nqdJsn^!SW9dAzmpbVfBPVhO)vxrP1LF>pDYkx;B z0E1G%n)l16By?!SU3?C_2k~P7ixVJjJ*pXwfi`ct(an21ax>@IqbYPLzaRzge+YT? zj*R3USTv2wTSme-3^5(caC2%SZz|Bj*C^A}W+rt88VD}Z9A_&&x!a~JR-1H`oDcNd z^w4WOxSG=ln_t>xr7u-8c9CB(D=_P|;O<>tRRz67 z#PXL)h$4^BKuD$G1XYn@4~LkGErYHEXEcmrfXBMU`%3vOU)i*TP`lsN=8Zx*ipMIzgi<98ygqGjTjoo$hSVESISAI1U%&@s_c zJ!)a7Uuy>C8HsB+^lmS?I(U+9KS>G>G|kp=UF_e#s~}y4(2ZUNNniDgj^)OLm~syp zYqPipSc2GD!gaH*{HLW9pU?cHv&o-NdRXkadNYo5MXJ4|RX`gx{C$!L1f$D7Ot9QK z9>9E*68o*3f8^byZ)O5Mt}qQRC@1V@94DLxinz8BpE@qy4nAJsiJ*ZteDy?ga9WaF zk8*>wdf{b2j}8k)q(10wI%nxUlW-S$j;z4RGW1nw?J3~MFd@GHsE5mC*S25~iJw$5 zOAUZNT|=SV-;M4DpWVI9ed*3&g$62l6x%P5sqax`lu>U-HHHR`VOzl-T-&GMQmSUh z(EXlgwwm2?^nuMUGA=!zBB!lK=K^2$eU9r|y7e=#F;C8?J{s!hmTP9Q6!r<6#AhUD z+}!@D@WF3tj_#p9`k|JJ9>3Pz1%_uSw$fabawC3S*y>nhbON)D142@zf0RG1bS=2R zAohr@GtfdB${H z)Uy7Xd)vZ2T(42KCgl@3SZi1Obqvd>~@1oCbaiEIULH1rOwKHkk$sh_kMR?1aSGA-4U5iqQ031&tu^&w}A zn=VYY4#YDOTPxICXweAVCn72b6ReMI}omq_+OVHgzU0-v2#aGYcIEA(& zjHUbutMf;uL8qf0q2w&;CsuF|GY5iIHP<`-Gbv?Tw2EoAnrg7`ln4D|OQcsa2Rj#l z)Dxgi8+;Jb>ydf!D>CaUONM4ztcOrre+`V>p&{A3UcndC-BcMq zAFlKlNpu^LO!2EVSXDn_g7~l|sU*^cB&p5029sB7gDuFiLoC8jO+du8?g6$kX-Iq? z(l7B$YRsH{GjV;Q?Wgl|VFtSxaSKS$s(TI&?rMCK zIt9MUx+wAP0r~ecHi4&%hcEA#!AA29s*O--(ie9)>Y~_vlY|5qACSNLyxux!Smh94 zEuxo~!JuDj&MLZcN9`f7#&{Wc7VQ6Ifl-;suawcYuiDX`+i z9f`a&9b6Lcp?HEe`#LP)ZgDWfyJ&H6%mXwR0v4PbXkWA8)(qyNyfdeD7LX%VMc~Zf7b1YPg(!TPv7h&`h3!C*ydheRBa4}ec*_-=k9 zul}LwIVoKXSNu4T6%zZrAe@G^^!VSoV-T zn-8nR*TpM>pEb>5Xgg3COHz4Ctu_C*BAz&*MhX}ZN^Tsh zBl0gd8Um3k*NJxq^CZr96WDhb>ob_s4(UH6B%crEXDU5kW2q5j%WGK40&i}^wfVHP z!D(%s{oKMbt!>>INq5AeTl8Pa5|XR+B_dmFOj_x6DRW+-v;m*bHf5S+PR^1_pzShhf6v;L zYgJYZ@dynXSfLiuWb$sq!pB~m%PypMNbUd(T9DP^@0y+byh`8d+AT(sRN+~~x7v3D zHeI*UONPd09%bfKfr?!nwHvFr^#$4K=}k$i?6KP1-Lz6= zo97^BtCnxWRk{742a?lc`Vb~x-!!#L`w~SFgG)%_(hg)x+)JsRtI$6&wU;?((+ePb zTXUpq!m&ciH6Q;eV752jt-@pQ9ylGml1M5Mle2PpV^1!h;H+(MuXeo_mz>S2`^E7dagN2@ShOizHOf|yq`>DM9FrTVO6<4hfz^2hM^U5DtY2v{tDI0l~TG|aKK=fSa^+01QCGckA_t8nK#fQ_755wNfuQA4#1h+<7Cun zR+|J_U7@sTNPR({>E5%)J4L`ctNaQxiQ#OTQFtc9!lK9Mdns-gAR>i~i%M+Hy{Y${ zLUTNvZHj+tD8LL@a;i5|<$4Y6u$<+*yLnmZF_4?(`XJCBC+x!Ssb_cJaDUKfz5j-~7t;1)kxBV#*rQG0o@ilfESN z71AP2OwD?li8-^HQ-t>&aUPQI+=zjfz0IQCbbR6(9y$D5&1l}m+o~0+d_wg1BGzc4 zo6x8f)DFG6hixBY2D?+&Pl+^sb2?*(U2)2^4`talOhas9a8Tt*)u3tpgL@USJ_TXQ z(`;9kprbi?uvcA7&xm*?a*wkw%h zUD!GlcY{Bz5Drflo6E#Ln3y~SyfH~iY`DBxJjt*;q+<5X6p?+C<>;5`(>#o+mKXe) z=Er+sli8oJdh?C-1*kEKrB7@Ui87ZBr63ExQ@JAzm}!5JpfpWj$~=dvDrsXmxAtf6 ztQ@TcSOLS~k!rR}*~6OQP8I#nTBH(wk{FrspTqu2zja<|upTlt2`3mU{7UBy5ZzC5a~>Go-~Z~Co4(jqQQ8b1ef$#sXj z;J_(WPzz(*O%M8Yw~ACzel@R7-Pp&$R@R|@h~@pypTGO>&qdh}44N{lhAL$c)bM3` zy4u4)(2t}6$hkBsQ*bRXPw9y-8h6{&0F>%H=`9~E*X-#yY^hYwDHN#SBR{Vn&+?V} z4vP4tZU$5DC%T$y8rL_sekzvJ9}Y6nS7IgJ8JvU;CwLrrCo1-5X4LkYUWujULWc*m z16)@9B({yb-k=lapJzYqZtwQ&00> z<{H_-=|wow86B*k(EniXJ)@fJx_xg%K|n=7K&eV6^j-pj0#X752t70@p#*}ofFM|? zB0Ug#=ph6MNbhn>5$Om4q)V63lqz63x%YmaecoNpc+WX+`E)*HjErPt&ULM|GOu;5 zHRtc&_GhLO|^4@2f+SP~pc;MY*iJz@2Lj2{!`S#Cql#W_{=KRcV*GZ}7 zBH!XxkgKgVRWXqdi#BJ4G6&QU{@t-Nv5lWi11j=%GM~q@qL}f5A6@O>S18c{a%CO2 zMv-cYfwmT#b)5q_k*g8YVP5%o?N{fcM#6an1U;Czk_TZJj068(HB>-1le(0)icEVb zYbw1=!bTTIhALgUS!LN`t@@M`ZnL~{GslFrBJE`4T14uY9&KcrLcB9jUv1)u&tXnDbIJ;=rjg-Ns30NM{Nj@+I z966_T;UD~X&%inZk}71@b6%?l*!I1JBz!*yt--F6EQcA+QExroDBQ2rcd@_XOzj}S zRs8HxwQ^1nm3Zls>&wZ#WJupJzxk1tN`E4O@F-C zr4}6M;ICIN$|~T8h|bdK5Ca~&+!yy)xaI$3APYA(OQhs7`1zrVxe%nA<%QLv2z6pY zCe+^)%23dhMLt~**}#hwh;JQzjuwKS>C)k)uOrR;u2x#pOGN9$A$Ai{6~ z!Zt=md(CLiHL+&->3;gva%DE>8TI7KM3>p5eDT_e29Lg~lG=4#6tQm!w!*20ES=Z9 zhL|p8{!9;``Y`JugzPeVYV{O`>WIzp_?CCr)EMfBejj-U51+U~jK{*JId1Z!($lvo z;jkDO@ht~*4r1p;;Qt1otGpo0EgoY=(zzTfPetPVQlj1SOJrL$UE!|JJzAoY1lv%x z{d|>Il9XP@_~G~@B;6!Tx+H~D#sx*73+fcZ1&hxotDu}3bW0MJWX?p>P)NIrV zW&hH;8}chDfLK{kmAQt7BpHW*u>5;DLk4mU3ajvmXgtL1=GTN4NA3P!Idk$daZg;A zyj+HzmRt53X9MG+17dMDVoD`fwaRTAKV(RqGeGQY5(^`l7?5AEU!up(k8?bBoqOks zG}2=S9?5cw)R{sIlObo`rDVx-`Q=qHCDr-RPj%c|SH&{V@}F5!9U@cp6{=%Tq#9iz zY;`5``I(Om#c?@VOgm9ZB?La-M*smjw?}*5B4|ib)qEyUF?4jAU^vzQJvZ$c? zwfR+H&k~6+j3JzWpkYI)Uvl;14c1L zatSh2+Yd0-5o>5Cj2AG`P~OO2$W*2oQW$k>Eb=Num79DeDstK_yNnLCZ}Ja%Uoqh7 zoA>qGuW8Ro8sJ-IRjxbn^7r2@*7Xo|CX zNg5V?l#uq5;B?|&Ls}Yaq_H98RZVYnQBKjg>b>fn!4WUb!|LH!(dw5JEX)yC8xa-J zN6l;E*FbTykn%}4_O#N8wJg&lgLf<893C{BW@JeSiWR+tzTxtoJ#Rnu?9godq}S(F z0ZH;Qm1o(jKVQ*mEz9!KT4omekKwu^Sn@MO*yr`SZMWxx5w8{O(2B-AMB)~+-m_W1 z70i?$@(I;2P~h^0oyxGZ3?(J~7xh-~kw>_q-h#9R?%Ok-8K(g|I6+>;Okca$DmynA zd|z6Y2kd11q#f&Pny9RL@Ft0gaNw-(d#zAxS1eAu`t@xrcX!j=wS2;)z#6}C6;|~y z7IAr7So=t}8%4i))%6%YTkHSuWyXVYTeBv?60~k}MXErLTuEaSDljGM}t8(m_*h^&kyn?5z#PB{vR=XPLQi&H+;nzMB*h zCsoP-+TfOS4;IqVgkj^k;vAJn9=F0?jFB|=)1JhQ+jLevcI5${rLJbpIlRLaQ{yk> zMNQq4_0&4LH^0gMcT&*EaBJ~Uk5qog>5o@7L~oS_p0h8lIDY5q7r08 zc31N~2QLh@YPbZMw9Mhse{^4zydN#i)N?n-YItu;R@{1em~{*fkG`?4d8=v=KJyk& zYyma2ITM9k$a7C!ZVNG$4Pkwl31WT-WIZ)v{wmbG1D8;Uin>si@$?S5f1A9laq7Zn z&FkbDd}$QDRy8Vf2SVyE1*M41^}`%R==?uCB>Dmq_^$n-K*!a`o&WVc{|`m9yu$^} zti>!F-3Le`#rhu#5p!iKT?=@%v4A)Gvyb8g+#Ot-vO+lO5}m=a7lRHx@OuQ!I9V_g z^h|rILgtXt^{#VcRR2vy^Oc}RZQK2x8s)*4N zFH2ZDRH`+kBFyPmwOMwB@g)C3=OauW`bOIly+VvDr|!fnUGY~NB7BM27^K4N0u<^& z1%lL*ck@u8DNXH(5YB;yYQ$rDK7El#Su^}*9GC!#S-1QLHhAlU8@p2tKPMIB$Cz}o zzT0s*ZR=Fr5PWf-DJdguw2g`Y+gJv+u1*LMz7doxn$rXf)l3&goF{!pqz*^9V$+!x zCfljoZ$&BaAjO+k*GWSsQyirW;>3ut6}p%z`fJ7 z$EMcgLiKc1rcSFPS=p0qk3IfMr2Pa2M^-@f?!|>H{ z`MXcwRh~Zr4fF?_eVelt`-1yEC~CFf=OBt6vKLofuaH(q(L)!3(zC*9R{15LnH7G* zL7IrVL?%9S<=;*IeUZV@x!s&9Jr%7T2qIf1rs1r40JV&AXCiTHm0wzNxyh#Ea2p9t z2w0i$gD^{5hWH^?sloge^0A zKkpvS7(y_6NXyb57J@$ZJR+Hon0|0jKD8gMS%=$bOqM;Wiv2!!KfmQ%dU%(oe93QE zFBN$&@-bDCl>A}C7o5)77%yLB(hCXamN88CbndtGd!GZ$O=qe8YMQhz=8+iS(w%

BeR}Iw`{;{PJCFR|-hoNyZ@eC7_+fL_9o3#xT`!w&um`8a68(PhG;w_b zRD8sGm+*5_w20wf8d-}gD1D2c*5ux>SToE*Bz24;gX9{b8HGX?k21Ug6eK+;uKW^H zec%xvB&{B{1PRR<$ybiM+A`vCyz?Zte0WHFlXRPEQ0ii&5)T&pfdvW03i(%lkT|t& zsY&}b!nvj~kd4R!YE>)m>FK%b6<#y8t&ac-J-~eE88{{DgcWy3!qok-7y5)3NC~6k zxEQafY3d4f+xyWoV`UI)ou8^mYcGf`Z)(Z4(q)6g{Sjs~R`^ zeGyY6dLE$>y5zL2^=aK<@tV)Fbt;@&7AzI@5z>e0V)41X8s3vBPODlG$g4qCnj@mY z8Oo33&5htyIPivzSLuBv0xg8)y_U@61;bhdZ4t9rf{E#~B!#uwv|ig4jy2**w*mE5sX+x;48On;x~T}g|jHVLvkl^=x6%6rer zD>oS`WJT4|VF!gVJqLBE*glFwydJI4V1G$4@3%cwb(k#e#p2{|d3%`*^$SIrnx=_s zUh%`QeHn<^09GLz4@Zm|B^y4>$`YtZlQH$W%Hf*<^{ISm#yp$8Vir*yC-eDx-KtoQ zjO)H_ht*6(MyE8GAkJsjX)z1wD#3D?4)-@LmidmHf)A@x-qkjsZ@uTar~UNK+RtCR z7QbqLKKny)4f%)SWYdW)U98T$P8~@U2WksJEo!%p_Abm8mdwqHCFxCs=QU7K@JOtQH97pD@D3EdvxE@wt+)+Q$td;x1v+J{5D_;`pWcqoQEKzM>Nj>0 zG-vIIbG>Lh*~gwqbC#O|;-C*qu#GIa zi6N_}miKzzd;C=(xG*WPjZ2H>F!?=uzp-K%WWD=%#Li>Fuyr9R3gzTg|F%GI>C;V5 z+$Q&lM$$>w{oUS0jOOTb%X6Q2wY`=PmZz#L4W-2nAMJzAQ`3Ggfs-zLoCBpDbEoK? zU=G)DRUw8jlGb0a0W6(+CqN3sMA%5z0L3KWj90EB8`Y1tbbgb_>&;37r0=X1S)vwu z_X02ZyGDB1qZzcNR4I0Jw07zbNvMMaKVAQ=?fvfnHe770O{?ccUY+}*zZ-u#QQJpf zuVCM;cV%IrvVMavl;5XTZY5a*zw=WP{vwRO&A;m-8W82dRn5>n@|{YzG#zRk2IPxf zo;g$F#wp}%N??xn)aywFT) z@_rVi%-(R4PzF_=tDILwboCHBJGq8~R~n-3M_Cp7Ifj8eB!_H}X9G6-Sm4#$66dob zmp{@zRIgI0WF0C6!e(Y8egI-+Pe|qOQy?-b`JbtVb+dD7;8}qY+hvJ`@97Rf4e|*~ zt3upeQ7Wy|0XtK|ASJuv796H?ZE(1@rTjz2A*0oxxk%M7y76LJ5z^XLB0j|mdFHxk zIza`zO(DU2g$r^mV>B!g{G`Hrs;TnqmAVn`sflE#GH@w=^dmdh8pd1?8BrdsGdE;h(w3)kRFM|B7FLY>l32Wl4%1^Jfm6W zo@(aNU0Ar3^RHLI~E2H2FVF@N@EBu}?ca>uggr+H>tPS21A!Iu6b zsMKC>VA!x9Ej32c(0`*+e1tr6TI&7z-cj3I_REIEYTGf~{1t>C)BQEsOTrbJIdBVnWt>Av5i25z`zLKwC@WQK`mLql)D|i{#x|~v z0{R$?vG>FTz^x^C!vrRd2hcR^G4q%8rOfS<&7t;14}k?O>|eV?QB*AGO^VoxJ-yr* zNkoGZl6c?4h`aggK>JYzhm~DBF~P9kO+solW-H_KrgqeQ=s77c?uRL^;oTe4WBX>i z{*j3ac;Mt{G{3Hq9K=;rH`goWy>3|aq8|72Yrh$sD`wWcz;-i>-E?LVkGy4rKqF=R z&s}O{Mb+`*!oSOgR6l&Vk-ja097FHK0$|hT75sIdnt+xxdKl%o@K7Z zK3xQSJ;oA#i_5QhFLkOqEB|`-SjQU6b?sY%`h6YOA^)~Jzf{r!r$hD1ba$EX(_XEE zwMbDYBrVos%Tm#zXMjzs%M1lfL#@1c$S9dNi$HUJoJ~73_yN0NDbQ_@ew}x@v9#r? zAd}K>&&uX8ev~mML^1ZBkR2b(rnhsJZC@3sw{6klWzL7M>)XiwG;uG}oZtmB0)>z- zEs)=bf}ipMF+Q#1L~w)JwMyjkr5Df)EM7GjWa!b_Y7Na&g;-EPXeSPHAg{KUtHK*Z z3D7;#N=I&x24q8A==)LUo>hfs2^4BG){)--L6pg`+TfS|1*^CIVV1`VtD9GQqsz49 zL8d>x<9KvG28M8EZwqHxCJU;)5XqdePoO_9Z0@X-W5V8PhJ9 zPFzh+vNnpGK6dU|Zl&85>Ki(d_U~y89fsC&cpGAoa<&4{=BHR1i-@NQs_$_A9E0Z# z(|URh-&2WO=_BMUs)xt%kQYj8dkPPB0^1uS=J%bcC5T-0KA5H4pJ05nJHr1`lxjQUyg;=(hR#RAtZ@PJz#?=9) zSI#fYpYB&5#4VS$$;=|^L{)=vT_I}V1H|iQx2QXJwQzM36~6e`jg9g`3Wm9#@im}3 zpyuds^nmC=B0wt==YY&x>sBVRYc2TUvb;pRp&;wN4Ngg7J%|B?z58=w=(_(wfOLep zas24#x!RD}292Y4yW0`mCN6_B0oEQR)E==pnYn(B-i35DrU@@6U`4hTC8Wl_8@t;4 zEAmD0>OCU6(F-Av@@xTD_(OSMNKi~A#3MJBYKD0l``g0pgyrL%icFd9t_p_tx)mi%Z=<6 zyxm#V3rM+0p0QS!l75@GZOUTqw;9sYrH2gft%%Xh_Wy7ud#mmV8fPT5hW)I*s-;$P zBEOV6=&f-u{DIZ_SbMw$TE%C)wqaaVG*`D%_~7TP@P{7q@yuRGMV{FGZuHGfki>08 z)tTu(6#DYUxf(xSc#4qUYskk&S-mpt@-lAx4u0Lmg=zFWKw4|(TEyDa?ia3w>lh1A zD(2MhyYbls@6IcXHa?J!9((RS>t13B$e?;O6~sp0A~mOPD&7jsf=zEQta^fwR~QIP zm(=d;JXZI2jI6tp-|%LT5Ur1zg0T|pF&wQg(*`6=YC~u5EA&r~TzSwqzB)7_fI#$C zn$%TYg|u?5Oe&yN#P(Uau(d;Zhb~C>o!T^-159X5O(YY6|nWSe;t*^w zGOR|hI2<&AOck#SXrV$ku4N?uP*i!gEAzRcAz!l5|CtG{isLF1f(kDSdOkOJZp7$D`rpYsXLStSO9oWSG)ef*54ty8>@A1 zLfo1A8{ah!R<$CHS2z&EG!|QA0J!q~F+m}iKMUO2VCGp&x+~Z6bFN82fZQp2lTBt| z*@XmNva@xgOw%(!ETYxc;WlfBWovd@%lpwP#Dl!xxs_F0cya3Y!f?!V9$Y$mD5cox-Ic1cLu9t5 zCn7dNNO)*_Sy%)p_p`hUM5~gd*p8u&1>$CobGJwD1=lwCtGJr>{GoUy$U14Cj04>= zNe-rJiS?`I5jFvsToLHufpRVIxn=EqsKj}N%)qQ>^fGL%Q15Cqe%x$&Znkw1B@^w= zBU?R0O)RNxkeU_9eq7d^c7@=wN9r(L+ZH`d43L%dSdadTple!w>UD@3Pd$F{?$p^g zh8yxXsBny@0eP7!o*JPe`}AVI#|{36!e23SB4~*iH-M9vn5M$&6q9MA`1a`Wb~K*W6QetV%+DH3ihoP^QP8d?uVx%bL7x~$%d`OZ9yiK zj@VAz6SX@0g4qBQmH@>+{X-F>!Vvgu=QE)uY0lKY6Fxmt2+V4^4lJqbf0Me4Su6BH zm%Ac?d!zw&4R9Xt4c)6Q!|EK9y$;+RGVIR(qsfM_)eE@P8amdiy=4FG!0UCvJlaXs zwzk)k00Cir_Xk1&c&*rx8&N^(&qPH(i@$n;P=Du>n%A_h{rc#`4Xcm&>5s7uC55ta zA&wp%ID29w0Q56e0Q5=U3gkhm>f@@Lshho~F?8ZDrEUCivWAjOG&Ve(MQzK?YWgG4 zZwJMP38ATwWj!(w(1iBqx^U{Nz~`TS72FAfn^xM~24)uP6n$FDPQ^kzGTIMi4*YgY z1R8S?^pS`7^n?^E9U2AQzQjeu2F>{Mh}!E80sQFmZ59Frl3(^uj|Ts``mGNg;? zRWmYHg37f?^xug$oOM58au9W7*=<$uXtd&E!folGm)+44shSElw>keR$@@m0&O#mG zXS~;YT65JTSx{B)q{Ds4ay(w0E#_S~Nkj?y`orfs&+Ui02O?JlndNT`4FP+Km{fZW z+sQJ?WNFBe=>WHSXZpj4*v~=XN*GO4Jz{PH2Wnd15LX67#d>(4-=c4`hGU=jJ)2Ff zPPpCa#}#$UFP&P^Imb`|=T-L!X_-S)Eg zJf)VmNNL-3rqyi0f3pf#2BxaNs+kLCCdz)?q!x0OeZo4fN_-S*6n~&)Ap5DAriR(gr1+ zjTfrJh7_UM0$F}98oAwx-26-O2H+m(ZvjilmE&%kZ2SlX;Q{hAjr8Lz6qYC5Vwa`& z`_bY?64&>g5jN|=iCnH_>##kGM3AqRE|?sb{@l!WVUHX4)}j4wzzy@o|fB?*cjhW9C!X&{OakM zC*usuk7R28^gy%8Zo;UzzOgdo`GL8t%p64mbbHb_AjsiPrO2I*2rC{*<5k^860#p} zR#E+KgWVBZ_Tp!1!E>}Ws~2}yU0jZpkKdbJbux*@GOx;@3}@D`C{u0NShw-B!tm0s z6h_rOw6C2~Rzvi+BB^B?Rs?mb2F!&-%Y@JIxv7vi+?+q2N-v{w=N63y|EpU&oP*H< z&Rz}LI4?a#ad4>~;p`1YGwix>iDy5L9;hi@8}~qt!j~`l?VSP6G-p;phbAt+Ppx}r z_*T2S^sd=B(-9K8y8=FNEC@mY2}g2}CT)$l1u1&J)>W!jEH=SPd&vUncFfnbV-#NG z!f!v)(hpi18J82#+yq`;n-aaVFKlM3-E)TbbXvffZ;zU;GYjy;jMv_0kXM!7ygH8})oIE`vQnsEV9}e1m!Atkj)0+^PmF?kY8<$jiVFa$H&YF@v$t7xTo`f0 zZ?}a{!FN|GUZX1)j%h808wW=POqsqS+#wsb5BTeu87QVTK)22-Y&(}bqTVQWr*H5& znGp!QZ~Uu^o_pwmY<&gpDO`I4did#)tr0``)ms!gm7YwyJvrI-qqV|GW+Jj6o>KP9 zWk|f%SEghoG!sRfb$rtNp}+P*>W6sskY$Pp?*^Z3*>}LX3IFw<3l8e(BIU4thwh7T z!N0PRVw8aTsJK*PhCpFpr0( z#gwZGA0(xg=JeV>pgnlNoq@pme$L=rC=PmLTSQy<)Pu=?`w3WIh*I1T@u zTJg|A`(sgWi@nZjeb+%$8Q*ivNbB2-5SY+wh|O5CdgItupP^Epe?51DcKIsFW$VyT zUD2QbG+^P%c3DSo+ycwZZHz9stB@Vco7b|pU36SlS{-D23kfKZiZ+!7p66O2XlX%6 zwFg(fkwW@k3S{qn_|Jjz*LzYFwiWhuD#m6rWgRg6Xe@If&T zmMyfyJ4d@9ME`mGYTeEDBAk6# zR|7$(67@9oux~)2y9;`M_()#mBE-MFZxSLkiVUoX~z z8YKknKO^iiTf9iysMI=0;-K2^S1?4goR!L7+trt=b1&cZ5@_GMxOVGn20AW~H^wRz zuh7EYUEGsqZLu$0&0;T12mGcg|HVm}<``WLUYW6(e1@<5C5axjzkiVn1j$vYuDz?0 zx%j>ZC1Y_tr?2^Q_|E-^drcNWXp)!8jskT&z-S&!NE+}1JLsP4(V6J!Q6vCgj*EO{ zG7CyW@_*;=lGk9svD^_8_!Pp2=+&L72J|{A=C%ATVu*C{`0u66I*S?R_)j9&C(9bx zVwGEv`!(_+2RXhCWKo0Uhi5&ZJQP8efqW}mzpc$rpIdmk+ImR9k9A6ec{YrMi`&kN zvE+%lNbKBiyD^<#Qw?ok^B1PcvJ))XX+iSYQO3bJx?{hDZji+aVq^Pb1UHs!s#TnU-@014+oA_(_-WJ&f z8P-}L+R~rr*`B$Ad=XEcW4h!M-!U@gemT4y4x<@%(ifTv3<<%?wUGXv5v>Hf;8VJ( zx=sG?(g%^eoVj_{0O3l$Z9et;`Zotp%!om8F*WEVGHEn#|@?OXPAkIlAa5#QDxE%#pI2JSS@D%P5-oOVh{G z)cjC8lNXP?!M+HA7bW}&&ef4xLQ1N=U$QiA zS)uyZr)`6KRS%=|O++B%NtIV?@HCQ_;|U(X|2C;Z0dHCi<}KDK>lBq*I#OKEGxaq3 z3en|NofMgbuaU~l%X53yy84o&<<4`VouD*5>ApzVhLQLDH|O>4z#Ts_`GwkvA@b74 z(n%80&Egj?URt=x+7w)6eXL+H8~x@XfX^)Duf$@`ry74(-!slZ6@Q&RHdMLqxY!WF zH+qj}6VD<9OJC73HbFc{>G>v2?4npRFF%I=(jyHA;-yuTr8>@HTbhWgRTU#xVN~%U zxf>X+){WkmBIRWw^`XspPm7Y@DCa4%@ug2Srnhzn!v?{NJt0R?fZZ><3ZS#QRrl%|rfB$o~{wwh23T<6CNv5f~6}@XOwld1!{!=L?Zhqk)1YDT2>%(gHrcyxWgz4o zZILWE(iK|T0w{T#Qe*>7#+VoU{z%WBtjGU~w_CroA#=XX>BikVt~a1gBPDcb%1)(Z zJU)oh&XU*eO#j;2(HQC}2Kfo-oCf`zkQEHa`lyEt}iix@ycM88sr-X8xn{tjYAJuBnlFVy^g(i!zk6^3j>u&{L_h0=csXS&yipi0)G>a zQ3gk)p8Oi3{_Ltn$#>ulqf3m!jozW|gJ}Ete5|odhNOO8R;n)^hjU~#a7RaBgaF9o;1UY~6pR#! znAp2{i__fCg?Uqd;tJR1A?LWLP26=*fKt$Ij#=p65)Q&-SF)J(+@38tmbFF zsdqF1WzVjJOuwhlUuL97-+Y_|{lPO{xWl;ZaOIL@q!!TZe)xUQFEOB)w>pGShAZ#> zkE#E!`wGnQpL<#J`hOm=>r(%D$fVx?=P~R4|JU3J7{KEBha&kUSzK=A9gSnS4NYu7 z!84kW>2CV8n~pc3KOCcJy?6!2U+wU0J6s1E-;ccSxg32*;O*-S(ABpwgixui2PX{2 z)zNnzr+4w%33GRmXKXk2@@LJdcX$3L&Be~#(|2T)_=mrLxKhw%`mCk@4@3WG(hby= zMn-@2BXI(Xo2DHcT*IVW20W9qC=rBvkU6z{n ze8)8Xrm0umg6!Viv3yESh8Ig+6|F$4ef;W3vxs`rMaJ>y{s+1ZnO^+=4u6MF>F96s z|9$!UAI&oEET!Lfp6L|3wEG{N3Lwe9bp3Z}y*C3wQ@EYG{zmYTzxyv3LfXA!|KJNH zm4vQt{mmQVRMKEHAb)tZ&JcJJ3ri<92!Bm0f$PP>ZrupaG3fO@rqpha(5X1ecl*}o z=wfqYoWEBC@z&K|yIto(5%u*J_yPx@@ics`ULl@0#Rs?^eqCuMc3yN;Ni(=*9aCHC1xKs9dsg(Cm&fU#_GVT&>@BP@$J=4-f;6Yc~$%huS_7^YDQu}@ZZ%%W0>AoH2F+ZjKIrE6|71xuvFR4AfBD3fyS|wry^K`3X*VIPQ(Bq{wXEQ#&L&n-Z zdF!AGy8ECca0>=x)=~^t-T5p10sDT-fI@g${sK~4c}TwvAhlMpMQh^;up)BNdtudQLh%j#7r~s2iesz^_(!1U z+q$cC{x>}CDm_D_DJ8!Z>_YW)U;YIbBiH|h5UNb%n2IXy^PfUfR}0f#Od zPhFd$qS_S)&+aTz_r_wg9cOMUMg`@+sxk5P>Kf_+sD8qvv~}Z;f!3GBK1N&x8#tx+Kd(_TjxJ{9m7*y}$aJ_x}FN>Z6cZ19vEKLFv~FDY%nyZsEi3 zWUlYk2`>6@hRA2#BX7au{dfHu5;OR#*p{Pt$JndP?F~BQ8>J=Qc2}zwQ8LWrK1+oX zb!owor~r!04qr*S@3%SHa%|k_-lmUYs^^iF9Z<3HvZIZrr7RzPQzGQmx(eRp7sZFn zw@HqylLm&JTa73`tV3f?Rt`dPx=Ox52yic9x&2@YyU&oa>RkYEGh{+JGrK@-5P|HX zt{4e)VkRJzSY@CYk4Nn_GlerJqbbeMqIN0gOnZ5C zJW-z=>kd-WK)s8@(DPP!eIFa@CjU?aK(NYW<}|gc3^Wzlh z`|;$qbp$RxKA4aP_C_ElC-rih%1u2p?YIj+5;jnSgOlDes|eKqUl5e})Aux1N+CXK zpCIWUZZWsL2M2!Hle*6ZzzC%{D-G9j=5%`>emy+~%z6oitY>)GxA{)}5oYkkuKE1k zWx!hF4reEm3VGolWCKAyd%esgJc~B24FlwaZY&=_ROLYz2mBXCUXM;+0VF#7~sR4$SrdzF; zjr6E{!utX#5qdre*+FtMLIYC)-<_Gu*b3jDU3&+P@}4LKh#48Y`<#yKTL2N2Z!>@k z@A*!b%M`Qtoz5?L^$&5qhr9Y2#wG3%%;xjqQ-L|^W~mJ>+&l)LgX?G>paO(oFQHlx z^b*9Jay_1%FY<{xSv^-QVnzD_iQ_?Im`%X!<$CyK%WJ&zVW0G?A@Wq~e%JV=NbHbY zDxRwr#3&quPRhY??_&c(`2%}{|1J2$QLapF3yZC(+4>a&Vree1fp>sNqm2ipuN(=` z&{9yYn5Ap8MKC0s+bcTw^=Gu3W)28UMxJDo8kyls~oFu6TI$pFPQsVuxD!08@-D@gAMYm zho{>h2%N#=v>?`(d7_Kj#*TX;r{YhmI|p}GkPF@*{2 zp^2=nMtT8dt_#2Cs(|n`cvEgdxBQsJwVCTGa$uhmSsC#Jz#d zz-`aQG>ohhl&s7|hChXwAS!%&i;7Ju^g$oR?*b&1NXFr6VJp1A)UkdPwgxeYQ0Sgdv_w7E)^zRlq64X3HSAK|DBqo|dQCYqgU02`0sgk{*K(_;xjn_)W+Cl5eXRn|PqXN4%|>Y>`te)+QD~)$5n+P2a9#s|oKscOgLE#e z!PIkz`*pv1N)dVHdRfja>dKC3|$D?Hca2{^VJI^vhpNq~*h#a*tW>?79q9F}N_T%uG7k z1cst>0?NInJUvPcemE}6)B~0WX_KekAnI$8F29XTrdKs{>1ABceV1BH8ukO$cPsJs zEO3pDXCrR6n0LIskth8=GHs3w2JA>7-DS1;HUT4h_wU8 z5&fWs>UBYTfq(0wuWaRrmWuZlL1=#^p=Z$TRl#1&hL%fM{HmV#LcTV_w4+ zJ;CYHR;9-75j;PMsWgeZjWJAc*b;%cMJ;O^xP*P1yQX6r_&ki{?vHf=~*tPNG5 z9d1poGOVwkf#@gRi)e?;g0V1W)`5Uy@3`f9h8`t25sddx*e(~eqL?uodz=d+O5aIfkT$sF;&t3DqvLLYc1CPIo!f zo-AIYP|MI$`2jy|G(f3yiJALzrMV~DNr5wRU*fxOiG#mcqwTLbze_T-d>erDE1|R6 z6AH2}-E37i!aql7{WT3ZP;9(!28SH50OtqRGt+PYT`ZxOP%l2rFkxE7hvdhD`EOiW zr0=c}c|jkOlq*idxMm^`e{!Bykr3jMc~BR=rD5I5@u`xe<)O%-#yd|-gKZKH0D5=(mRD$ z>V;C9YFESUM)N*fllE+DKV{@})A-UsqJQpEVimR%l(yXgdPo|BoxxiiZy$~&=~qgxB+|Dn zqTVa&;;G-yn^po#2R>CZMS1V@pFs*jYZ|w77UZ`{?O)35L)N`-5XYjfHk&Rq?#Y5YAiWZGs|S{j&d(4%L$>GJ++ z#u_wTQn4>4zC_IT@O#3`AYEmbzM+fRX33n&Z0m+lqnfBXndD)N;M&h_N)LqU{KpIz zK(BxY#~Xm2uqjY7C{kC)Br2HgbABU^R+8@d==}X=pCD#&59anEwDl$g9rc9T;;1Dn z6E=es^9CRQ5(Q~!BvxdCYtGZM(xwXMvLJU1GW&XbwFC}{yO-|D?rYc_u0yGT(xK<% z^KYX+sPWrL?hXabn$~OB?I@NS%ofFZ+o0?E%{Gm3Ihp=vM9fk9YP{5(q3~7Ob-Mr7 z-dRSq8FhO;)Q}b_(jtWd#oeJmaZB*vUL1nEw3L=2g%%I)kO09gSdpSFS|lkh#oeW7 zC%x@EGxzO#*P3-_*35jkDfW-YBpY=B)&v11k+1A%zo48w*o;JK73VX*7!gWPDZ2WXgA4WAGYU}% zo%13SH-7%F^gx`X#1yB;XN`so!O?@vruCzbTs}JM>Q@uZ_NF&kedZ!3dtu5oq^C?a z@j_-Ytq>8cg}7r(5q0Whl(y4PhQBQg4N~k8C6~wgr$P|bcBR9WOiR!T1eI9D!g^ie z$C#p@fMRqOqA`EHk&cd2SeS1^yPTrSH~VqVoAO8)xV5)yQvT|>@7JGz4$AVYU@+QW zUU#loRl@-_wp0Mi*W(sr7V1s&3e(6n->eKN51nhMe{{)y**-l6X>$g>Zws>IWmPEPN-C#Wv zzpcB1sQH*0a}+$}l&a+jELClSmN05@iRFySh&Ilj-)ayDc<15$;p!*AIJ4v25N5}% z%VeAjwTzg;E1q7$aC&QYJ;NEfxM&b_Zct|g1s|P$a*ADQElA+$?@Y+_j~Fb1Nk811Ax*)hOxC*zmG&cn?JLDr|F z^kyw4vd&mJxL$Pjifd^0C#%d~sqnwFI97gsknbkUmXhXg=)cvmKwO0S=mhJh6*q7r zcyI(lCG0>;7|0k+c~EX$&+3Vf-q;9G%V=LX_dL)mAgU-JRwvv7HD1MfNF@wrEdCfx zx1^rQIjI?0et9f7vsFLD+~<3|*&+BIM@CX6OI%W&%ZB+rU&{1}!PAI#Yo+`JB&Hpr z{Q!6Xq?c$J0FJ}YID!a=ZlIU%7dt37mQHFa)Wg~IFz>J%C%BbtRZM|;dUJ^Uo&F{XK1o*!barMc1zdy*C((%WTKT^@3M@QRmLoSLN-gL zx~g!PX^ZL;!qTXvKrZhLchlC0v(fs3HTOYy&-&9B{)XuVMnE)h`P*Smh2jk#;9~)c zRK5-dF?YVOB#ynU&bZ0QP+vb*DNN02yHgDWPdi02Vw9QqGb^hI7~tn5^aHG0svS4D zM#n}kcu~o0RmQVTQ><53SD9aDZk~XYm`2*bWs@~h5$dcJEhk9|dotRIy`*)zq{I)# zaZUGU1_D}NXdI-4O>m0|@V)gJVUHgjsX3R|6zZR}VQ`uhkDCHp`*|kNsk2l}8K(kS zq+Cm2J0Wf_pqHET)>L=6nxf|PbR^z;tIiVYIelZ!Ql_D_u+TLLqqLWc(mX+PBBb^s z9s!l;@Mx=p#1dv{=RdobCvCRBxV!s7uhn^SnZ_P`3`q}>K?ue3yv;p+rI|SHX7p*p z5G}elreVo?Q7lk#(*NG8yZbY?M0rhs1n->I*l-TIs>Oubk8-K>VeYBYC5I-#@H0V{z1w!+ zcOW3i#$!v)L;UK`4d)YQX3&oQvlUCCa%1V_SZ51wlV0f5D6V5P83-buwQ6<0i^Xds zS0pH>o8J;YFqYWTTy^i8LZqs%u50RvYAyTAhQKB5k4x+=lB@+U56)fu1V%$+m7SP( zyf~e*&q}ifIb+lAl-etofq{LYIvaq(nwHZUCs;*vv%|$nBJZ1uj?>)jqh#k*Vp*idx}vjqG^l{TZ!eyC&7*QhVCb2 zsw#!}+6{@z)>C$m_o-Z@4=-25m$iNZ8r!sg0swVM`x|bd&HXJXW47LzKDVV!o>NbF ztFvi>wvLlS5NrRTYUUc;iAiI5F2Z4#TB6#2@7R*i%8G#j?zEn29D`$_ z9KUOI(DPh8Hws9@YXGjpG%FX~4tw}9zUgV#qc)VA;=My>JKsRF5-#|_NvWqwKag)T zq)WL^h4H8s=0=A^w33N6h6$i`K6^e)QF;5k%%IRn*ge+Xkc=u(T6_IPC{jKq(Q8s5 zI08(SH+j6(&RoKZ_vt1#-imAPcubiw zpCBCzjHlM>l%$XKE-s;{MhK?KD)o~?(gM#MQLllYZi5dRjN+qu? zDSIUnzORhmPDdD}!9FoqYIzz;2c3DALV@miHH5YcLPoYXmSPH~!4HOO8P|^~mU@4@ ziVNQ9eaf^jm~qrjJn3_%_;zq(jI@RdlVZbNB%(g55jmPk5oO8CSCE-#Gb}4e!X_x5 zl5E_bBJ+CQWa-PiI+JKHw>xOJ(SKk^wc5jW{z{J%6V09Va`1=iLtrc(=|#)%d@3j_ z`@9HQWydP^prz*hq$xX|YFk|bn}qiywoY@rTCmY|oTQKBNtygL6NYb}KLOe!SwR6H zkWa=C0@pPIO|2cee}~bN_hnkvPCjJeQ=fuf1zyCYrYa;wlD9F$RoxG$1y2F^y)+1u zJm)P7h$mO(jl2NusS~DH)rTyQVuC9b89wkO5x&cqm%Ea6A44y~%410}=BSxoPd6xUjC4Yi=!{u9`jYiZZ8h67}o z%H{UmZZV6z0K6whn-9L$+LCU3E5MElcR!#qI^+t5S7pDR;!MJW%7m-f;`B9yU!hF7 zdluACxbKBBGzo<*#!-#@+i-t)-88p4_sZ-{y5r+*sb`vHc0KpVs-0&_KdM-5PlGxQ zjBF6^Phm?lYPE;P)$U?n{4HbcZv*G(@Ixu3HBblk-y~jWRk12ejHdPG8`_aqpch%0 zm7!S>_$n^ZPrwlKWxGHdRpR((ulb#!t9bJG%8lbr(SSOCTtxVkVrvGb0ep&apH{!b zq~PsY1+To`+8}kNnk?4Q5GdD5_g>!}exQw(-L=^FE@pg33Y5+&d4X=GAsfitIG5-m zo}(&Me-;F40ViTfDb3E_o6jt8nYkr8Yj^^(wq=Ote;H|jfV{*MI$`!w7MPUL4^URx zxP7+mDWQ3&kncX1xMe+%&pTZ47|XFCV!OvE&|O#OO)jO>nM-4JTYikVHK#FvCIG7^ zpfY980}>iAp4l!Z@lh>VAGvpifFi1e5+r=`Q9**z0js!x$oWY_JS?eqGZI=S$}^a% zHE!A!?qc9-8@HA-m%NYX8Ze(ec&Be8|Q>qHmN7D9G#7Y$-9uK5PUEawhuADeh*%iZ^?e-A-D4eVJuMLwkv5+ zm_H6}EIwtTwUGY;UREd&b_oojFek6liq^K znP&lMQZo2dSf>b8uo2ZNa6VXM_zj^7Wa4@MbV9XX_p{@K<`(d!SAz3td|hg(lJR(; zW@?hVG(Uz>idQa@RikSU<~Et7ih5H{Os|X0wCM4$`m4y9@I;@=#939?9Wwo*nG#Ol z(g?hI`fzr)<+b}UC?09L!Q$#xxix(U6 zMwS}Vdc2;&_Myn@#a)#Ge}h%xu@BRQ`@LSX*PZJHX3GWJ?ANU?O);rX__EjEgucc* zqHWaLcHDV=MD*K|i+ewMf5SBOaxg~sMOj$5r}dVZ#&e|DrW+W^lNjfPv(knX#&*hy z$G0IIe*&yNicnx03#hL$6E1I`U!5E+LrfCcM?AW&R(rhKtxa8N-QUx?5UEoO4t>^n zQo}9=ZE6)xh%mJ+TQ|aj2J<`h>5xv@*^$x6af*sipyd*S8u&Z3_b5G+)Li(Vy!%n- zxaiDd$@tlSS_q2C>^9hJthziOzo+8UPKoCSqHEF8Aq~1yB;h+<`^ug9`KgSELDqZVIWH78+nd##!;l@a{CBkrwTKA^kOEX^tZwW{AfF>_uP$a&QF-|AvuKr_ zYAqWh)VjBQ2eFnBM^!NVhMP7o*vpWBG9?cAcq{y%YcX~@eBR9CtBrBW@+5X-?Tk8+ zjh%~D$pv^a&8P^hE0fq?=*QW>%d;*+WV|#o#WFXm34-R7sNhUexoHR$4|~5~KviY> zTN0BQ)x+Ul1{Mm|5c?AYN=O;V08Ll9yfku8v;|vcXeW-lVYAO6lMZa7xa8DmLY%~m zxcquYxxe`671;Vq(~Gzg&b@Be$|sK?w^?IqTsNC^4^wXmTpmp+%S1%$Ey41!*O&($ zzCvAv{s=+dHENUpc}$7MW-ZI1R5&4 zRk%KEi5_@E{dKl~Gmp{t#e2`GY98N;j=~0}wLZYelwWRp7TAl;Jl}v_7R#UWv$572 zIcXJ|N%ej<=CcpK&wwrB)!mA{8p0saRU2^^7iExOp*oo_ zV(_kgHwO$WQT#Fe(fM~85P!6Owq^4x({RTH&fBDUu7ezO5uS(Y*o>(2uebQJO=J>% z8I`3qaq;N4`fc3@Qqtx78Er26gfLNRS%Mw^KBTCsLbY~^vyGamIr?c2w3=(<@ig8r zyUdX*KuMvAx#4cX?brxmWNV#=`SEJ%2b*dJyYccj>_y@;HZhY^7SDTn`9*(#@S-9m z*(&0K)D{PJnWb~pq8B~?Q;aTW+a1FRlJ)}L&!Wld!4`@wl=Zv>(aa*llu@VJi^f&& z4)4^VUOl&TrwXhcSh=7#sHx+5$W~X%mBiv`!-iaxluk@%Pk9Bg#!=#eL3e6<)!x2Y zzV%$#!zTornEShkY@oE^kJIB+octXcXa-;(isP$O5FNUc)=17V z($4E}CCa$KCukVN-M-c!)h)$7=FrYHbQXv8u97%e&Vu0PXxZIc;wjP7*XBm`<;W~N zMlvSqgzT?sW6au$cYB*A~w6IOUB>QPrU)xrblvxFl9IU3Nnli zMyDyx`Pv`KA5O=b%Q$l^SqSm=(;|wE2;*soo&=d?rrQH`TVAQDem^I*G?|#_(y@$k zb5ke3^%L+C>285<`buYeUOLI$4J{C(xDwh+Eb*Lf+FRo6f7Mksr}PHZwR^u^#pbBX zhTOT%?o%V{Zx!SVW_Sn&c{)Keuy6L_d~#md#Uo(ewyK0g3%7FGfs2q6P}0q^rL?&1 ztTe@ZL&>5iGeb0NA0sXd_D!Am-%J?Z+e#n+vWkXcRsz2Qp+U zN@@w#b;Fg$R6UgrrKpAY%qLybNQ%k5Qya2KQ_2)u?><8 zlb-jHk!KUQsb#eK`M`BlRq57-lt8-G3GRI4J`@x@YhIZu4<11^zUcn~Uhmy4V48Ci zL)_JpR;`&MS!9)sijAthNW4-zjPpKB_BT!9)pA6e#48j#g@`-_zsXr3*2x~)9|6p3 zE!jZgx3m~Wf{r?R?6d2LUu)+A&>&hY#3lpQ^7~8|&T(qXfxEU3J)SYDmPe8Zs>3v9 zGa{CiTBBZ@ezXyM2R$Z4~1s{znSVq3~REt{Y+vM9$*$J&|XnTR8&L~-^rFgJA9_=xG|8(9TPlC1w zm2#D{&uN2Zo*7n)ekFL)pG_L40JF=MrrmthMACP(!>+~V18?&JO?j8zBg7k9O=Sn^ zdJg9g;c#(mWCEh0qP=nV@`SuLoEn@a8oXk?Eg%*>aejiJ;Lf}cVKy|Z;Fw8cEcu!> zPfTaW`vuzG$+Pf@r<@&kxibBPHV^rA41?kXxH%a}cm0kCVS(?m1h9s`9dy|mC+eu3 z_RVr5eIlrgOHHB2tUXU_Qz+v$h^mXjhe%K&H*=VSwcK2+3|G@@54okx!wBiL3BL>q zF1aCVaG7)$Kud(ICLMGcfCxd0c%}9r^VS)tYkmIEuXW$ zX3LemzXiGqayXp~j3`V%5xtYS-}F0vxsXjee!*l_7l7!5-kZiKH@+FOkEW8yC!||K#-0^C=<0>lqx&)>@-k#>U^Hy z0F#aU-iSH5)a5%3N1bVXA{E3uQ<^)rtxB7qU;ri3rGKA&@P6EoZ| zra`1_c6?~V6glP}$CZ5RTdeJL{>(X((N^X$WvOTgT{k*s#!#EMCW9b^c0Yp2lBuD( zeKVf0)bZA!RS0M_XRIKrj*b7o4p`GsQtpS&0qO4PgJW*`M;O~vm8EtH5Ur?|!!Vu3gI=imI*YYm+9}DH18_V^GPB)y{OeX4o=f zEaS?sxUc6YVC91jTe%8dCZ%tj;v?+Lw4i#~M?Ch8 zc8p!MkJ>t|SSK?@SzKUWHbSgPe0aG1e?kSQ6N>$2A24d@al9`pP{_bxA%P-R8E0mm zSq4-Qq+{b-mIh-D)|b6V+$(A@{a8k^0Xxjbwq@gY2tdCUpe(hDFBr6Ziz7w7ToC>v z!Cd(nqooD4cSQg2H}h0glXa^`&rzK_s2laJi_`+09fvMu5c}o&#rN!PpGh&*_%nbE z$8j$!*Kx3@uc*j)C8q19Yqqx(%ay>Hvjn47#e_(%=G}y1dkx^2RyhIh(0|A{kUVM% z?AwmLIvH)9G|nb^B6$9qXHier{*#ykRxO~hk+JBzQYBlHH8iMS~2 zb#2+A532Eda)9=1GdH{N!0#xrzNr8!Ecxo+1VPWHyrbDwi-sYf+02|VM&*M+b}76d z>087A?5Hs5LQ$L>Ix(9OM-DXhwNBJyD=f#l`BY`24~v$kla_QriEkGo33h^`sz07} zQnnJ?qYRxH#?~Jo2(;jv@hYRrwlDmGn`-I`vbt_?u&uar`>>ECt~?s|E`<)rSB0;? zH;rPP^TRG>98h~({tggL7cn^0u%W9urrKn;X07GfaFV|~$}@Xm?Nq{Xn~()XD7;RD z-K#KF&*rt_S4|sAYGM?Ipc8c{AD}_v1-PS1n^h5@eyt5+Zm9U^>)K5& zhJEZ_9A3uGE$60vMN+-@$lJ=JMN?a4CY~@vMVlQ19grcx1%JqkAq$;Nvfi{ejXtUt zd-c5ejVqd520UY0>ayEZDjLz`BzUlvF}!jEuw8io$?;xVB-rhjHOy#0YroP3dt=}v zk<@}H?GTPkb^yE-cg$pacaY(H!GplUS&_q`J0|WT(OSVGMc=6sk%XyG$!ThytAFK; zgV=YV*u8Wp7dCBWL-_U~dw?M28Y&B&)@h+PC{ZLc*po6oJ4%hfvg<5}|Io#-45WhT zQ?#@J^-pi*WEF{`#lBy-acln;H7>Q>yBoGKn=%&7$*fcvdsO*G;Bpk3hqJ3JD?TU7 ztmeG9_04nQyd_>k3+tho?RV&l9?TCxv0-Yu<9$>THTcu@4SKhLmF|N^$BFc3H6>H- zU-Q0ZK-_DQ{LLR$Gq~8bie8!L=e=QYji>_1IgrqR?Bfp3_l+(-y$X)~3D}fNq!mV+ zkckdkCqSmF{CHl582VLE$dNHyZ$(M`z37}7U${6whjVe!DiFm%fO(kkmcFt@&31$S#)bB07GCzE| zF98BWgW;lBpRiE$|DX^5kcY1s_ul=3KKuhQ0+QP4|A37DfEaI>;k^3;GX8-WX>niv zm#Olg|Lj_YY5WZrs*(Tg3-afGJHtHaFK^I={_PG7^7of(|1X=P>FJ^`4Ll&C47}89 z!|;@UA%i?^f0KY6|AH92_cvMiADVmAdHUrtfdW@Tbro|J@;a)h)K?F(#?j0}WpCnC zB`kf#T=Ele&nk!3=hSPhzt|xkOf&0e{Kyactz|zU^d}(isFRN|X-4|BbWz-p)u(6(IP-CE|~;T9bszeifaF0H&zB~8&EdLHv(O(oza@`znB21gbG3(FsImc94>pU*?8m=5}V3=+yP^ZWD^FCY*Oy!7}H7=d}` ziAK1vqM6F8#|vS<VGN?6^&Y}ErrCC<(Eega7Uq2gce@d@L^c?KM{{#yCp^2>lL$2+;`yj}QD0O7t2 K4d%l?C;l629)+U- literal 0 HcmV?d00001 diff --git a/utils.go b/utils.go new file mode 100644 index 0000000..fa57434 --- /dev/null +++ b/utils.go @@ -0,0 +1,68 @@ +package main + +import ( + "fmt" +) + +// WeisToETHDivider to divide Weis to ETH +const WeisToETHDivider = 1000000000000000000 + +// MojoToXCHDivider to divide Mojo to XCH +const MojoToXCHDivider = 1000000000000 + +// ConvertCurrency divides the smallest unit of the currency to the currency itself +// Example: for "eth", convert from Weis to ETH +func ConvertCurrency(coin string, value float64) (float64, error) { + switch coin { + case "eth": + return ConvertWeis(value), nil + case "xch": + return ConvertMojo(value), nil + default: + return 0, fmt.Errorf("Coin %s not supported", coin) + } +} + +// ConvertWeis converts the value from Weis to ETH +func ConvertWeis(value float64) float64 { + return value / WeisToETHDivider +} + +// ConvertMojo converts the value from Mojo to XCH +func ConvertMojo(value float64) float64 { + return value / MojoToXCHDivider +} + +// ConvertAction returns "Miner" for Ethereum and "Farmer" for Chia +// Because Chia is farmed and not mined +func ConvertAction(coin string) (string, error) { + switch coin { + case "eth": + return "Mined", nil + case "xch": + return "Farmed", nil + } + return "", fmt.Errorf("Coin %s not supported", coin) +} + +// FormatBlockURL returns the URL on the respective blockchain explorer given the coin and the block hash +func FormatBlockURL(coin string, hash string) (string, error) { + switch coin { + case "eth": + return fmt.Sprintf("https://etherscan.io/block/%s", hash), nil + case "xch": + return fmt.Sprintf("https://www.chiaexplorer.com/blockchain/block/%s", hash), nil + } + return "", fmt.Errorf("Coin %s not supported", coin) +} + +// FormatTransactionURL returns the URL on the respective blockchain explorer given the coin and the transaction hash +func FormatTransactionURL(coin string, hash string) (string, error) { + switch coin { + case "eth": + return fmt.Sprintf("https://etherscan.io/tx/%s", hash), nil + case "xch": + return fmt.Sprintf("https://www.chiaexplorer.com/blockchain/coin/%s", hash), nil + } + return "", fmt.Errorf("Coin %s not supported", coin) +}