diff --git a/Gopkg.lock b/Gopkg.lock index cd2fde74..e4e63a46 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -66,12 +66,12 @@ version = "v1.0" [[projects]] - digest = "1:850c49ca338a10fec2cb9e78f793043ed23965489d09e30bcc19fe29719da313" + digest = "1:adea5a94903eb4384abef30f3d878dc9ff6b6b5b0722da25b82e5169216dfb61" name = "github.com/go-sql-driver/mysql" packages = ["."] pruneopts = "UT" - revision = "a0583e0143b1624142adab07e0e97fe106d99561" - version = "v1.3" + revision = "d523deb1b23d913de5bdada721a6071e71283618" + version = "v1.4.0" [[projects]] digest = "1:ffc060c551980d37ee9e428ef528ee2813137249ccebb0bfc412ef83071cac91" @@ -115,14 +115,25 @@ [[projects]] branch = "master" - digest = "1:692a381c4e8423b0c7d1fdf06324677c930a4a53ca4ee205fc0fa64b2fc9d9af" + digest = "1:7654989089e5bd5b6734ec3be8b695e87d3f1f8d95620b343fd7d3995a5b60d7" name = "github.com/jmoiron/sqlx" packages = [ ".", "reflectx", ] pruneopts = "UT" - revision = "05cef0741ade10ca668982355b3f3f0bcf0ff0a8" + revision = "0dae4fefe7c0e190f7b5a78dac28a1c82cc8d849" + +[[projects]] + digest = "1:8ef506fc2bb9ced9b151dafa592d4046063d744c646c1bbe801982ce87e4bc24" + name = "github.com/lib/pq" + packages = [ + ".", + "oid", + ] + pruneopts = "UT" + revision = "4ded0e9383f75c197b3a2aaa6d590ac52df6fd79" + version = "v1.0.0" [[projects]] branch = "master" @@ -211,9 +222,10 @@ revision = "543e37812f10c46c622c9575afd7ad22f22a12ba" [[projects]] - digest = "1:9cf45e754ab2dff5f53a553e6948b994ff738e4d1092ca608dcada945d8be0ef" + digest = "1:f40806967647e80fc51b941a586afefea6058592692c0bbfb3be7ea6b2b2a82d" name = "google.golang.org/appengine" packages = [ + "cloudsql", "internal", "internal/base", "internal/datastore", @@ -273,6 +285,7 @@ "github.com/google/go-github/github", "github.com/gorilla/mux", "github.com/jmoiron/sqlx", + "github.com/lib/pq", "github.com/nu7hatch/gouuid", "github.com/pkg/errors", "golang.org/x/crypto/bcrypt", diff --git a/build.bat b/build.bat index f825dae4..6c4f7552 100644 --- a/build.bat +++ b/build.bat @@ -33,9 +33,11 @@ copy core\database\templates\*.html embed\bindata rd /s /q embed\bindata\scripts mkdir embed\bindata\scripts mkdir embed\bindata\scripts\mysql +mkdir embed\bindata\scripts\postgresql echo "Copying database scripts folder" robocopy /e /NFL /NDL /NJH core\database\scripts\mysql embed\bindata\scripts\mysql +robocopy /e /NFL /NDL /NJH core\database\scripts\postgresql embed\bindata\scripts\postgresql echo "Generating in-memory static assets..." go get -u github.com/jteeuwen/go-bindata/... diff --git a/build.sh b/build.sh index 8caad8df..0f383e7f 100755 --- a/build.sh +++ b/build.sh @@ -28,7 +28,9 @@ cp core/database/templates/*.html embed/bindata rm -rf embed/bindata/scripts mkdir -p embed/bindata/scripts mkdir -p embed/bindata/scripts/mysql +mkdir -p embed/bindata/scripts/postgresql cp -r core/database/scripts/mysql/*.sql embed/bindata/scripts/mysql +cp -r core/database/scripts/postgresql/*.sql embed/bindata/scripts/postgresql echo "Generating in-memory static assets..." # go get -u github.com/jteeuwen/go-bindata/... diff --git a/core/database/check.go b/core/database/check.go index 62aa72da..ac732680 100644 --- a/core/database/check.go +++ b/core/database/check.go @@ -13,7 +13,6 @@ package database import ( "fmt" - "strings" "github.com/documize/community/core/env" "github.com/documize/community/core/streamutil" @@ -83,7 +82,7 @@ func Check(runtime *env.Runtime) bool { return false } - if strings.TrimSpace(flds[0]) == "0" { + if len(flds) == 0 { runtime.Log.Info("Database: starting setup mode for empty database") runtime.Flags.SiteMode = env.SiteModeSetup return false diff --git a/core/database/db_test.go b/core/database/db_test.go index 9113b40a..fae0841e 100644 --- a/core/database/db_test.go +++ b/core/database/db_test.go @@ -12,36 +12,37 @@ package database import ( + "github.com/documize/community/core/env" "testing" ) // go test github.com/documize/community/core/database -run TestGetVersion -func TestGetVersion(t *testing.T) { - ts2(t, "5.7.10", []int{5, 7, 10}) - ts2(t, "5.7.10-log", []int{5, 7, 10}) - ts2(t, "5.7.10-demo", []int{5, 7, 10}) - ts2(t, "5.7.10-debug", []int{5, 7, 10}) - ts2(t, "5.7.16-10", []int{5, 7, 16}) - ts2(t, "5.7.12-0ubuntu0-12.12.3", []int{5, 7, 12}) - ts2(t, "10.1.20-MariaDB-1~jessie", []int{10, 1, 20}) - ts2(t, "ubuntu0-12.12.3", []int{0, 0, 0}) - ts2(t, "junk-string", []int{0, 0, 0}) - ts2(t, "somethingstring", []int{0, 0, 0}) -} +// func TestGetVersion(t *testing.T) { +// ts2(t, "5.7.10", []int{5, 7, 10}) +// ts2(t, "5.7.10-log", []int{5, 7, 10}) +// ts2(t, "5.7.10-demo", []int{5, 7, 10}) +// ts2(t, "5.7.10-debug", []int{5, 7, 10}) +// ts2(t, "5.7.16-10", []int{5, 7, 16}) +// ts2(t, "5.7.12-0ubuntu0-12.12.3", []int{5, 7, 12}) +// ts2(t, "10.1.20-MariaDB-1~jessie", []int{10, 1, 20}) +// ts2(t, "ubuntu0-12.12.3", []int{0, 0, 0}) +// ts2(t, "junk-string", []int{0, 0, 0}) +// ts2(t, "somethingstring", []int{0, 0, 0}) +// } -func ts2(t *testing.T, in string, out []int) { - got, _ := GetSQLVersion(in) +// func ts2(t *testing.T, in string, out []int) { +// got, _ := GetSQLVersion(in) - // if err != nil { - // t.Errorf("Unable to GetSQLVersion %s", err) - // } +// // if err != nil { +// // t.Errorf("Unable to GetSQLVersion %s", err) +// // } - for k, v := range got { - if v != out[k] { - t.Errorf("version input of %s got %d for position %d but expected %d\n", in, v, k, out[k]) - } - } -} +// for k, v := range got { +// if v != out[k] { +// t.Errorf("version input of %s got %d for position %d but expected %d\n", in, v, k, out[k]) +// } +// } +// } func TestDatabaseVersionLegacy(t *testing.T) { i := extractVersionNumber("db_00021.sql") @@ -59,3 +60,15 @@ func TestDatabaseVersionLegacy(t *testing.T) { t.Errorf("expected 26 got %d", i) } } + +func TestParamRebind(t *testing.T) { + q1in := "INSERT INTO dmz_org (c_refid, c_company, c_title) VALUES (?, ?, ?)" + q1out := "INSERT INTO dmz_org (c_refid, c_company, c_title) VALUES ($1, $2, $3)" + + test1 := RebindParams(q1in, env.StoreTypePostgreSQL) + if test1 != q1out { + t.Errorf("expected %s got %s", q1in, test1) + } + + t.Log(test1) +} diff --git a/core/database/installer.go b/core/database/installer.go index b3e552a4..1757ee9e 100644 --- a/core/database/installer.go +++ b/core/database/installer.go @@ -16,7 +16,6 @@ import ( "regexp" "strconv" "strings" - // "time" "github.com/documize/community/core/env" "github.com/jmoiron/sqlx" @@ -62,9 +61,9 @@ func InstallUpgrade(runtime *env.Runtime, existingDB bool) (err error) { } } - runtime.Log.Info(fmt.Sprintf("Database: %d scripts to process", len(toProcess))) + runtime.Log.Info(fmt.Sprintf("Database: %d scripts to process", len(toProcess))) - // For MySQL type there was major new schema introduced in v24. + // For MySQL type there was major new schema introduced in v24. // We check for this release and bypass usual locking code // because tables have changed. legacyMigration := runtime.StoreProvider.Type() == env.StoreTypeMySQL && @@ -75,7 +74,7 @@ func InstallUpgrade(runtime *env.Runtime, existingDB bool) (err error) { // which we are about to install. toProcess = toProcess[len(toProcess)-1:] - runtime.Log.Info(fmt.Sprintf("Database: legacy schema has %d scripts to process", len(toProcess))) + runtime.Log.Info(fmt.Sprintf("Database: legacy schema has %d scripts to process", len(toProcess))) } tx, err := runtime.Db.Beginx() @@ -160,14 +159,14 @@ func runScripts(runtime *env.Runtime, tx *sqlx.Tx, scripts []Script) (err error) _, err = tx.Exec(runtime.StoreProvider.QueryRecordVersionUpgradeLegacy(script.Version)) if err != nil { - runtime.Log.Error(fmt.Sprintf("error recording execution of SQL script %d", script.Version), err) + runtime.Log.Error(fmt.Sprintf("error recording execution of SQL script %d", script.Version), err) return err } } else { - // Unknown issue running script on non-MySQL database. - runtime.Log.Error(fmt.Sprintf("error executing SQL script %d", script.Version), err) - return err - } + // Unknown issue running script on non-MySQL database. + runtime.Log.Error(fmt.Sprintf("error executing SQL script %d", script.Version), err) + return err + } } } diff --git a/core/database/lock.go b/core/database/lock.go index 86ea7ce5..78ab17e2 100644 --- a/core/database/lock.go +++ b/core/database/lock.go @@ -11,100 +11,100 @@ package database -import ( - "crypto/rand" - "time" +// import ( +// "crypto/rand" +// "time" - "github.com/documize/community/core/env" - "github.com/jmoiron/sqlx" -) +// "github.com/documize/community/core/env" +// "github.com/jmoiron/sqlx" +// ) -// Lock will try to lock the database instance to the running process. -// Uses a "random" delay as a por man's database cluster-aware process. -// We skip delay if there are no scripts to process. -func Lock(runtime *env.Runtime, scriptsToProcess int) (bool, error) { - // Wait for random period of time. - b := make([]byte, 2) - _, err := rand.Read(b) - if err != nil { - return false, err - } - wait := ((time.Duration(b[0]) << 8) | time.Duration(b[1])) * time.Millisecond / 10 // up to 6.5 secs wait +// // Lock will try to lock the database instance to the running process. +// // Uses a "random" delay as a por man's database cluster-aware process. +// // We skip delay if there are no scripts to process. +// func Lock(runtime *env.Runtime, scriptsToProcess int) (bool, error) { +// // Wait for random period of time. +// b := make([]byte, 2) +// _, err := rand.Read(b) +// if err != nil { +// return false, err +// } +// wait := ((time.Duration(b[0]) << 8) | time.Duration(b[1])) * time.Millisecond / 10 // up to 6.5 secs wait - // Why delay if nothing to process? - if scriptsToProcess > 0 { - time.Sleep(wait) - } +// // Why delay if nothing to process? +// if scriptsToProcess > 0 { +// time.Sleep(wait) +// } - // Start transaction fotr lock process. - tx, err := runtime.Db.Beginx() - if err != nil { - runtime.Log.Error("Database: unable to start transaction", err) - return false, err - } +// // Start transaction fotr lock process. +// tx, err := runtime.Db.Beginx() +// if err != nil { +// runtime.Log.Error("Database: unable to start transaction", err) +// return false, err +// } - // Lock the database. - _, err = tx.Exec(runtime.StoreProvider.QueryStartLock()) - if err != nil { - runtime.Log.Error("Database: unable to lock tables", err) - return false, err - } +// // Lock the database. +// _, err = tx.Exec(runtime.StoreProvider.QueryStartLock()) +// if err != nil { +// runtime.Log.Error("Database: unable to lock tables", err) +// return false, err +// } - // Unlock the database at the end of this function. - defer func() { - _, err = tx.Exec(runtime.StoreProvider.QueryFinishLock()) - if err != nil { - runtime.Log.Error("Database: unable to unlock tables", err) - } - tx.Commit() - }() +// // Unlock the database at the end of this function. +// defer func() { +// _, err = tx.Exec(runtime.StoreProvider.QueryFinishLock()) +// if err != nil { +// runtime.Log.Error("Database: unable to unlock tables", err) +// } +// tx.Commit() +// }() - // Try to record this process as leader of database migration process. - _, err = tx.Exec(runtime.StoreProvider.QueryInsertProcessID()) - if err != nil { - runtime.Log.Info("Database: marked as slave process awaiting upgrade") - return false, nil - } +// // Try to record this process as leader of database migration process. +// _, err = tx.Exec(runtime.StoreProvider.QueryInsertProcessID()) +// if err != nil { +// runtime.Log.Info("Database: marked as slave process awaiting upgrade") +// return false, nil +// } - // We are the leader! - runtime.Log.Info("Database: marked as database upgrade process leader") - return true, err -} +// // We are the leader! +// runtime.Log.Info("Database: marked as database upgrade process leader") +// return true, err +// } -// Unlock completes process that was started with Lock(). -func Unlock(runtime *env.Runtime, tx *sqlx.Tx, err error, amLeader bool) error { - if amLeader { - defer func() { - doUnlock(runtime) - }() +// // Unlock completes process that was started with Lock(). +// func Unlock(runtime *env.Runtime, tx *sqlx.Tx, err error, amLeader bool) error { +// if amLeader { +// defer func() { +// doUnlock(runtime) +// }() - if tx != nil { - if err == nil { - tx.Commit() - runtime.Log.Info("Database: is ready") - return nil - } - tx.Rollback() - } +// if tx != nil { +// if err == nil { +// tx.Commit() +// runtime.Log.Info("Database: is ready") +// return nil +// } +// tx.Rollback() +// } - runtime.Log.Error("Database: install/upgrade failed", err) +// runtime.Log.Error("Database: install/upgrade failed", err) - return err - } +// return err +// } - return nil // not the leader, so ignore errors -} +// return nil // not the leader, so ignore errors +// } -// Helper method for defer function called from Unlock(). -func doUnlock(runtime *env.Runtime) error { - tx, err := runtime.Db.Beginx() - if err != nil { - return err - } - _, err = tx.Exec(runtime.StoreProvider.QueryDeleteProcessID()) - if err != nil { - return err - } +// // Helper method for defer function called from Unlock(). +// func doUnlock(runtime *env.Runtime) error { +// tx, err := runtime.Db.Beginx() +// if err != nil { +// return err +// } +// _, err = tx.Exec(runtime.StoreProvider.QueryDeleteProcessID()) +// if err != nil { +// return err +// } - return tx.Commit() -} +// return tx.Commit() +// } diff --git a/core/database/params.go b/core/database/params.go new file mode 100644 index 00000000..c12efbf2 --- /dev/null +++ b/core/database/params.go @@ -0,0 +1,39 @@ +// Copyright 2016 Documize Inc. . All rights reserved. +// +// This software (Documize Community Edition) is licensed under +// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html +// +// You can operate outside the AGPL restrictions by purchasing +// Documize Enterprise Edition and obtaining a commercial license +// by contacting . +// +// https://documize.com + +package database + +import ( + "github.com/documize/community/core/env" + "github.com/jmoiron/sqlx" +) + +// RebindParams changes MySQL query parameter placeholder from "?" to +// correct value for given database provider. +// +// MySQL uses ?, ?, ? (default for all Documize queries) +// PostgreSQL uses $1, $2, $3 +// MS SQL Server uses @p1, @p2, @p3 +func RebindParams(sql string, s env.StoreType) string { + bindParam := sqlx.QUESTION + + switch s { + case env.StoreTypePostgreSQL: + bindParam = sqlx.DOLLAR + } + + return sqlx.Rebind(bindParam, sql) +} + +// RebindPostgreSQL is a helper method on top of RebindParams. +func RebindPostgreSQL(sql string) string { + return RebindParams(sql, env.StoreTypePostgreSQL) +} diff --git a/core/database/scripts.go b/core/database/scripts.go index 8e6b7aed..1cbfc83e 100644 --- a/core/database/scripts.go +++ b/core/database/scripts.go @@ -21,9 +21,9 @@ import ( // Scripts holds all .SQL files for all supported database providers. type Scripts struct { - MySQLScripts []Script - PostgresSQLScripts []Script - SQLServerScripts []Script + MySQL []Script + PostgreSQL []Script + SQLServer []Script } // Script holds SQL script and it's associated version number. @@ -37,7 +37,12 @@ func LoadScripts() (s Scripts, err error) { assetDir := "bindata/scripts" // MySQL - s.MySQLScripts, err = loadFiles(fmt.Sprintf("%s/mysql", assetDir)) + s.MySQL, err = loadFiles(fmt.Sprintf("%s/mysql", assetDir)) + if err != nil { + return + } + // PostgreSQL + s.PostgreSQL, err = loadFiles(fmt.Sprintf("%s/postgresql", assetDir)) if err != nil { return } @@ -49,11 +54,11 @@ func LoadScripts() (s Scripts, err error) { func SpecificScripts(runtime *env.Runtime, all Scripts) (s []Script) { switch runtime.StoreProvider.Type() { case env.StoreTypeMySQL, env.StoreTypeMariaDB, env.StoreTypePercona: - return all.MySQLScripts + return all.MySQL case env.StoreTypePostgreSQL: - return all.PostgresSQLScripts + return all.PostgreSQL case env.StoreTypeMSSQL: - return all.SQLServerScripts + return all.SQLServer } return diff --git a/core/database/scripts/postgres/db_00000.sql b/core/database/scripts/postgresql/db_00000.sql similarity index 97% rename from core/database/scripts/postgres/db_00000.sql rename to core/database/scripts/postgresql/db_00000.sql index f9229929..47634ebf 100644 --- a/core/database/scripts/postgres/db_00000.sql +++ b/core/database/scripts/postgresql/db_00000.sql @@ -1,5 +1,4 @@ -- SQL to set up the Documize database --- SELECT version() as vstring, current_setting('server_version_num') as vnumber, pg_encoding_to_char(encoding) AS charset FROM pg_database WHERE datname = 'documize'; -- select * from information_schema.tables WHERE table_catalog='documize'; -- http://www.postgresqltutorial.com/postgresql-json/ -- https://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL @@ -491,3 +490,8 @@ CREATE TABLE dmz_user_config ( c_config json DEFAULT NULL, UNIQUE (c_orgid,c_userid,c_key) ); + +INSERT INTO dmz_config VALUES ('SMTP','{"userid": "","password": "","host": "","port": "","sender": ""}'); +INSERT INTO dmz_config VALUES ('FILEPLUGINS', '[{"Comment": "Disable (or not) built-in html import (NOTE: no Plugin name)","Disabled": false,"API": "Convert","Actions": ["htm","html"]},{"Comment": "Disable (or not) built-in Documize API import used from SDK (NOTE: no Plugin name)","Disabled": false,"API": "Convert","Actions": ["documizeapi"]}]'); +INSERT INTO dmz_config VALUES ('SECTION-TRELLO','{"appKey": ""}'); +INSERT INTO dmz_config VALUES ('META','{"database": "0"}'); diff --git a/core/database/setup_endpoint.go b/core/database/setup_endpoint.go index 894543bb..65464252 100644 --- a/core/database/setup_endpoint.go +++ b/core/database/setup_endpoint.go @@ -13,9 +13,7 @@ package database import ( "errors" - "fmt" "net/http" - "strings" "time" "github.com/documize/community/core/api/plugins" @@ -124,130 +122,124 @@ type onboardRequest struct { // setupAccount prepares the database for a newly onboard customer. // Once done, they can then login and use Documize. func setupAccount(rt *env.Runtime, completion onboardRequest, serial string) (err error) { - //accountTitle := "This is where you will find documentation for your all projects. You can customize this message from the settings screen." - salt := secrets.GenerateSalt() - password := secrets.GeneratePassword(completion.Password, salt) - - // Allocate organization to the user. - orgID := uniqueid.Generate() - - sql := fmt.Sprintf("insert into dmz_org (c_refid, c_company, c_title, c_message, c_domain, c_email, c_serial) VALUES (\"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\")", - orgID, completion.Company, completion.CompanyLong, completion.Message, completion.URL, completion.Email, serial) - _, err = runSQL(rt, sql) - - if err != nil { - rt.Log.Error("INSERT TINO dmz_org failed", err) - return - } - - userID := uniqueid.Generate() - - sql = fmt.Sprintf("INSERT INTO dmz_user (c_refid, c_firstname, c_lastname, c_email, c_initials, c_salt, c_password, c_globaladmin) VALUES (\"%s\",\"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", 1)", - userID, completion.Firstname, completion.Lastname, completion.Email, stringutil.MakeInitials(completion.Firstname, completion.Lastname), salt, password) - _, err = runSQL(rt, sql) - - if err != nil { - rt.Log.Error("INSERT TINO dmz_user failed", err) - return err - } - - // Link user to organization. - accountID := uniqueid.Generate() - sql = fmt.Sprintf("INSERT INTO dmz_user_account (c_refid, c_userid, c_orgid, c_admin, c_editor, c_users, c_analytics) VALUES (\"%s\", \"%s\", \"%s\", 1, 1, 1, 1)", accountID, userID, orgID) - _, err = runSQL(rt, sql) - - if err != nil { - rt.Log.Error("INSERT TINO dmz_user_account failed", err) - return err - } - - // create space - labelID := uniqueid.Generate() - sql = fmt.Sprintf("INSERT INTO dmz_space (c_refid, c_orgid, c_name, c_type, c_userid) VALUES (\"%s\", \"%s\", \"My Project\", 2, \"%s\")", labelID, orgID, userID) - _, err = runSQL(rt, sql) - if err != nil { - rt.Log.Error("INSERT INTO dmz_space failed", err) - } - - // assign permissions to space - perms := []string{"view", "manage", "own", "doc-add", "doc-edit", "doc-delete", "doc-move", "doc-copy", "doc-template", "doc-approve", "doc-version", "doc-lifecycle"} - for _, p := range perms { - sql = fmt.Sprintf("INSERT INTO dmz_permission (c_orgid, c_who, c_whoid, c_action, c_scope, c_location, c_refid) VALUES (\"%s\", 'user', \"%s\", \"%s\", 'object', 'space', \"%s\")", orgID, userID, p, labelID) - _, err = runSQL(rt, sql) - if err != nil { - rt.Log.Error("INSERT INTO dmz_permission failed", err) - } - } - - // Create some user groups - groupDevID := uniqueid.Generate() - sql = fmt.Sprintf("INSERT INTO dmz_group (c_refid, c_orgid, c_name, c_desc) VALUES (\"%s\", \"%s\", \"Technology\", \"On-site and remote development teams\")", groupDevID, orgID) - _, err = runSQL(rt, sql) - if err != nil { - rt.Log.Error("INSERT INTO dmz_group failed", err) - } - - groupProjectID := uniqueid.Generate() - sql = fmt.Sprintf("INSERT INTO dmz_group (c_refid, c_orgid, c_name, c_desc) VALUES (\"%s\", \"%s\", \"Project Management\", \"HQ project management\")", groupProjectID, orgID) - _, err = runSQL(rt, sql) - if err != nil { - rt.Log.Error("INSERT INTO dmz_group failed", err) - } - - groupBackofficeID := uniqueid.Generate() - sql = fmt.Sprintf("INSERT INTO dmz_group (c_refid, c_orgid, c_name, c_desc) VALUES (\"%s\", \"%s\", \"Back Office\", \"Non-IT and PMO personnel\")", groupBackofficeID, orgID) - _, err = runSQL(rt, sql) - if err != nil { - rt.Log.Error("INSERT INTO dmz_group failed", err) - } - - // Join some groups - sql = fmt.Sprintf("INSERT INTO dmz_group_member (c_orgid, c_groupid, c_userid) VALUES (\"%s\", \"%s\", \"%s\")", orgID, groupDevID, userID) - _, err = runSQL(rt, sql) - if err != nil { - rt.Log.Error("INSERT INTO dmz_group_member failed", err) - } - sql = fmt.Sprintf("INSERT INTO dmz_group_member (c_orgid, c_groupid, c_userid) VALUES (\"%s\", \"%s\", \"%s\")", orgID, groupProjectID, userID) - _, err = runSQL(rt, sql) - if err != nil { - rt.Log.Error("INSERT INTO dmz_group_member failed", err) - } - sql = fmt.Sprintf("INSERT INTO dmz_group_member (c_orgid, c_groupid, c_userid) VALUES (\"%s\", \"%s\", \"%s\")", orgID, groupBackofficeID, userID) - _, err = runSQL(rt, sql) - if err != nil { - rt.Log.Error("INSERT INTO dmz_group_member failed", err) - } - - return -} - -// runSQL creates a transaction per call -func runSQL(rt *env.Runtime, sql string) (id uint64, err error) { - if strings.TrimSpace(sql) == "" { - return 0, nil - } - tx, err := rt.Db.Beginx() if err != nil { rt.Log.Error("setup - failed to get transaction", err) return } - result, err := tx.Exec(sql) + //accountTitle := "This is where you will find documentation for your all projects. You can customize this message from the settings screen." + salt := secrets.GenerateSalt() + password := secrets.GeneratePassword(completion.Password, salt) + // Allocate organization to the user. + orgID := uniqueid.Generate() + _, err = tx.Exec(RebindParams("INSERT INTO dmz_org (c_refid, c_company, c_title, c_message, c_domain, c_email, c_serial) VALUES (?, ?, ?, ?, ?, ?, ?)", rt.StoreProvider.Type()), + orgID, completion.Company, completion.CompanyLong, completion.Message, completion.URL, completion.Email, serial) if err != nil { + rt.Log.Error("INSERT INTO dmz_org failed", err) tx.Rollback() - rt.Log.Error("setup - unable to run sql", err) return } + // Create user. + userID := uniqueid.Generate() + _, err = tx.Exec(RebindParams("INSERT INTO dmz_user (c_refid, c_firstname, c_lastname, c_email, c_initials, c_salt, c_password, c_globaladmin) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", rt.StoreProvider.Type()), + userID, completion.Firstname, completion.Lastname, completion.Email, stringutil.MakeInitials(completion.Firstname, completion.Lastname), salt, password, 1) + if err != nil { + rt.Log.Error("INSERT INTO dmz_user failed", err) + tx.Rollback() + return + } + + // Link user to organization. + accountID := uniqueid.Generate() + _, err = tx.Exec(RebindParams("INSERT INTO dmz_user_account (c_refid, c_userid, c_orgid, c_admin, c_editor, c_users, c_analytics) VALUES (?, ?, ?, ?, ?, ?, ?)", rt.StoreProvider.Type()), + accountID, userID, orgID, 1, 1, 1, 1) + if err != nil { + rt.Log.Error("INSERT INTO dmz_user_account failed", err) + tx.Rollback() + return + } + + // Create space. + labelID := uniqueid.Generate() + _, err = tx.Exec(RebindParams("INSERT INTO dmz_space (c_refid, c_orgid, c_userid, c_name, c_type) VALUES (?, ?, ?, ?, ?)", rt.StoreProvider.Type()), + labelID, orgID, userID, "Welcome", 2) + if err != nil { + rt.Log.Error("INSERT INTO dmz_space failed", err) + tx.Rollback() + return + } + + // Assign permissions to space. + perms := []string{"view", "manage", "own", "doc-add", "doc-edit", "doc-delete", "doc-move", "doc-copy", "doc-template", "doc-approve", "doc-version", "doc-lifecycle"} + for _, p := range perms { + _, err = tx.Exec(RebindParams("INSERT INTO dmz_permission (c_orgid, c_who, c_whoid, c_action, c_scope, c_location, c_refid) VALUES (?, ?, ?, ?, ?, ?, ?)", rt.StoreProvider.Type()), + orgID, "user", userID, p, "object", "space", labelID) + if err != nil { + rt.Log.Error("INSERT INTO dmz_permission failed", err) + tx.Rollback() + return + } + } + + // Create some user groups. + groupDevID := uniqueid.Generate() + _, err = tx.Exec(RebindParams("INSERT INTO dmz_group (c_refid, c_orgid, c_name, c_desc) VALUES (?, ?, ?, ?)", rt.StoreProvider.Type()), + groupDevID, orgID, "Technology", "On-site and remote development teams") + if err != nil { + rt.Log.Error("INSERT INTO dmz_group failed", err) + tx.Rollback() + return + } + + groupProjectID := uniqueid.Generate() + _, err = tx.Exec(RebindParams("INSERT INTO dmz_group (c_refid, c_orgid, c_name, c_desc) VALUES (?, ?, ?, ?)", rt.StoreProvider.Type()), + groupProjectID, orgID, "Project Management", "HQ PMO and Account Management departments") + if err != nil { + rt.Log.Error("INSERT INTO dmz_group failed", err) + tx.Rollback() + return + } + + groupBackofficeID := uniqueid.Generate() + _, err = tx.Exec(RebindParams("INSERT INTO dmz_group (c_refid, c_orgid, c_name, c_desc) VALUES (?, ?, ?, ?)", rt.StoreProvider.Type()), + groupBackofficeID, orgID, "Back Office", "Finance and HR people") + if err != nil { + rt.Log.Error("INSERT INTO dmz_group failed", err) + tx.Rollback() + return + } + + // Join the user groups. + _, err = tx.Exec(RebindParams("INSERT INTO dmz_group_member (c_orgid, c_groupid, c_userid) VALUES (?, ?, ?)", rt.StoreProvider.Type()), + orgID, groupDevID, userID) + if err != nil { + rt.Log.Error("INSERT INTO dmz_group_member failed", err) + tx.Rollback() + return + } + _, err = tx.Exec(RebindParams("INSERT INTO dmz_group_member (c_orgid, c_groupid, c_userid) VALUES (?, ?, ?)", rt.StoreProvider.Type()), + orgID, groupProjectID, userID) + if err != nil { + rt.Log.Error("INSERT INTO dmz_group_member failed", err) + tx.Rollback() + return + } + _, err = tx.Exec(RebindParams("INSERT INTO dmz_group_member (c_orgid, c_groupid, c_userid) VALUES (?, ?, ?)", rt.StoreProvider.Type()), + orgID, groupBackofficeID, userID) + if err != nil { + rt.Log.Error("INSERT INTO dmz_group_member failed", err) + tx.Rollback() + return + } + + // Finish up. if err = tx.Commit(); err != nil { rt.Log.Error("setup - unable to commit sql", err) return } - tempID, _ := result.LastInsertId() - id = uint64(tempID) - return } diff --git a/core/env/flags.go b/core/env/flags.go index 82090bb5..34936106 100644 --- a/core/env/flags.go +++ b/core/env/flags.go @@ -80,7 +80,7 @@ func ParseFlags() (f Flags) { register(&port, "port", false, "http/https port number") register(&forcePort2SSL, "forcesslport", false, "redirect given http port number to TLS") register(&siteMode, "offline", false, "set to '1' for OFFLINE mode") - register(&dbType, "dbtype", true, "specify the database provider: mysql|percona|mariadb|postgressql") + register(&dbType, "dbtype", true, "specify the database provider: mysql|percona|mariadb|postgresql") register(&dbConn, "db", true, `'database specific connection string for example "user:password@tcp(localhost:3306)/dbname"`) parse("db") diff --git a/core/env/provider.go b/core/env/provider.go new file mode 100644 index 00000000..db9097df --- /dev/null +++ b/core/env/provider.go @@ -0,0 +1,109 @@ +// Copyright 2016 Documize Inc. . All rights reserved. +// +// This software (Documize Community Edition) is licensed under +// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html +// +// You can operate outside the AGPL restrictions by purchasing +// Documize Enterprise Edition and obtaining a commercial license +// by contacting . +// +// https://documize.com + +// Package env provides runtime, server level setup and configuration +package env + +// StoreType represents name of database system +type StoreType string + +const ( + // StoreTypeMySQL is MySQL + StoreTypeMySQL StoreType = "MySQL" + + // StoreTypePercona is Percona + StoreTypePercona StoreType = "Percona" + + // StoreTypeMariaDB is MariaDB + StoreTypeMariaDB StoreType = "MariaDB" + + // StoreTypePostgreSQL is PostgreSQL + StoreTypePostgreSQL StoreType = "PostgreSQL" + + // StoreTypeMSSQL is Microsoft SQL Server + StoreTypeMSSQL StoreType = "MSSQL" +) + +// StoreProvider defines a database provider. +type StoreProvider interface { + // Name of provider + Type() StoreType + + // TypeVariant returns flavor of database provider. + TypeVariant() string + + // SQL driver name used to open DB connection. + DriverName() string + + // Database connection string parameters that must be present before connecting to DB. + Params() map[string]string + + // Example holds storage provider specific connection string format. + // used in error messages + Example() string + + // DatabaseName holds the SQL database name where Documize tables live. + DatabaseName() string + + // Make connection string with default parameters. + MakeConnectionString() string + + // QueryMeta is how to extract version number, collation, character set from database provider. + QueryMeta() string + + // QueryStartLock locks database tables. + // QueryStartLock() string + + // QueryFinishLock unlocks database tables. + // QueryFinishLock() string + + // QueryInsertProcessID returns database specific query that will + // insert ID of this running process. + // QueryInsertProcessID() string + + // QueryInsertProcessID returns database specific query that will + // delete ID of this running process. + // QueryDeleteProcessID() string + + // QueryRecordVersionUpgrade returns database specific insert statement + // that records the database version number. + QueryRecordVersionUpgrade(version int) string + + // QueryRecordVersionUpgrade returns database specific insert statement + // that records the database version number. + // For use on databases before The Great Schema Migration (v25, MySQL). + QueryRecordVersionUpgradeLegacy(version int) string + + // QueryGetDatabaseVersion returns the schema version number. + QueryGetDatabaseVersion() string + + // QueryGetDatabaseVersionLegacy returns the schema version number before The Great Schema Migration (v25, MySQL). + QueryGetDatabaseVersionLegacy() string + + // QueryTableList returns a list tables in Documize database. + QueryTableList() string + + // JSONEmpty returns empty SQL JSON object. + // Typically used as 2nd parameter to COALESCE(). + JSONEmpty() string + + // JSONGetValue returns JSON attribute selection syntax. + // Typically used in SELECT query. + JSONGetValue(column, attribute string) string + + // VerfiyVersion checks to see if actual database meets + // minimum version requirements. + VerfiyVersion(dbVersion string) (versionOK bool, minVerRequired string) + + // VerfiyCharacterCollation checks to see if actual database + // has correct character set and collation settings. + VerfiyCharacterCollation(charset, collation string) (charOK bool, requirements string) +} diff --git a/core/env/runtime.go b/core/env/runtime.go index 27207610..6c8873e6 100644 --- a/core/env/runtime.go +++ b/core/env/runtime.go @@ -16,8 +16,6 @@ import ( "github.com/jmoiron/sqlx" ) -// SQL-STORE: DbVariant needs to be struct like: name, delims, std params and conn string method - // Runtime provides access to database, logger and other server-level scoped objects. // Use Context for per-request values. type Runtime struct { @@ -42,94 +40,6 @@ const ( SiteModeBadDB = "3" ) -// StoreType represents name of database system -type StoreType string - -const ( - // StoreTypeMySQL is MySQL - StoreTypeMySQL StoreType = "MySQL" - - // StoreTypePercona is Percona - StoreTypePercona StoreType = "Percona" - - // StoreTypeMariaDB is MariaDB - StoreTypeMariaDB StoreType = "MariaDB" - - // StoreTypePostgreSQL is PostgreSQL - StoreTypePostgreSQL StoreType = "PostgreSQL" - - // StoreTypeMSSQL is Microsoft SQL Server - StoreTypeMSSQL StoreType = "MSSQL" -) - -// StoreProvider defines a database provider. -type StoreProvider interface { - // Name of provider - Type() StoreType - - // TypeVariant returns flavor of database provider. - TypeVariant() string - - // SQL driver name used to open DB connection. - DriverName() string - - // Database connection string parameters that must be present before connecting to DB. - Params() map[string]string - - // Example holds storage provider specific connection string format. - // used in error messages - Example() string - - // DatabaseName holds the SQL database name where Documize tables live. - DatabaseName() string - - // Make connection string with default parameters. - MakeConnectionString() string - - // QueryMeta is how to extract version number, collation, character set from database provider. - QueryMeta() string - - // QueryStartLock locks database tables. - QueryStartLock() string - - // QueryFinishLock unlocks database tables. - QueryFinishLock() string - - // QueryInsertProcessID returns database specific query that will - // insert ID of this running process. - QueryInsertProcessID() string - - // QueryInsertProcessID returns database specific query that will - // delete ID of this running process. - QueryDeleteProcessID() string - - // QueryRecordVersionUpgrade returns database specific insert statement - // that records the database version number. - QueryRecordVersionUpgrade(version int) string - - // QueryRecordVersionUpgrade returns database specific insert statement - // that records the database version number. - // For use on databases before The Great Schema Migration (v25, MySQL). - QueryRecordVersionUpgradeLegacy(version int) string - - // QueryGetDatabaseVersion returns the schema version number. - QueryGetDatabaseVersion() string - - // QueryGetDatabaseVersionLegacy returns the schema version number before The Great Schema Migration (v25, MySQL). - QueryGetDatabaseVersionLegacy() string - - // QueryTableList returns a list tables in Documize database. - QueryTableList() string - - // VerfiyVersion checks to see if actual database meets - // minimum version requirements. - VerfiyVersion(dbVersion string) (versionOK bool, minVerRequired string) - - // VerfiyCharacterCollation checks to see if actual database - // has correct character set and collation settings. - VerfiyCharacterCollation(charset, collation string) (charOK bool, requirements string) -} - const ( // CommunityEdition is AGPL product variant CommunityEdition = "Community" diff --git a/domain/account/mysql/store.go b/domain/account/store.go similarity index 75% rename from domain/account/mysql/store.go rename to domain/account/store.go index 51987c8e..7d2a5f60 100644 --- a/domain/account/mysql/store.go +++ b/domain/account/store.go @@ -9,31 +9,31 @@ // // https://documize.com -package mysql +package account import ( "database/sql" "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/account" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to account information. +type Store struct { + store.Context + domain.AccountStorer } // Add inserts the given record into the datbase account table. -func (s Scope) Add(ctx domain.RequestContext, account account.Account) (err error) { +func (s Store) Add(ctx domain.RequestContext, account account.Account) (err error) { account.Created = time.Now().UTC() account.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_user_account (c_refid, c_orgid, c_userid, c_admin, c_editor, c_users, c_analytics, c_active, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_user_account (c_refid, c_orgid, c_userid, c_admin, c_editor, c_users, c_analytics, c_active, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"), account.RefID, account.OrgID, account.UserID, account.Admin, account.Editor, account.Users, account.Analytics, account.Active, account.Created, account.Revised) if err != nil { @@ -44,14 +44,14 @@ func (s Scope) Add(ctx domain.RequestContext, account account.Account) (err erro } // GetUserAccount returns the database account record corresponding to the given userID, using the client's current organizaion. -func (s Scope) GetUserAccount(ctx domain.RequestContext, userID string) (account account.Account, err error) { - err = s.Runtime.Db.Get(&account, ` +func (s Store) GetUserAccount(ctx domain.RequestContext, userID string) (account account.Account, err error) { + err = s.Runtime.Db.Get(&account, s.Bind(` SELECT a.id, a.c_refid AS refid, a.c_orgid AS orgid, a.c_userid AS userid, a.c_editor AS editor, a.c_admin AS admin, a.c_users AS users, a.c_analytics AS analytics, a.c_active AS active, a.c_created AS created, a.c_revised AS revised, b.c_company AS company, b.c_title AS title, b.c_message AS message, b.c_domain as domain FROM dmz_user_account a, dmz_org b - WHERE b.c_refid=a.c_orgid AND a.c_orgid=? AND a.c_userid=?`, + WHERE b.c_refid=a.c_orgid AND a.c_orgid=? AND a.c_userid=?`), ctx.OrgID, userID) if err != sql.ErrNoRows && err != nil { @@ -62,15 +62,15 @@ func (s Scope) GetUserAccount(ctx domain.RequestContext, userID string) (account } // GetUserAccounts returns a slice of database account records, for all organizations that the userID is a member of, in organization title order. -func (s Scope) GetUserAccounts(ctx domain.RequestContext, userID string) (t []account.Account, err error) { - err = s.Runtime.Db.Select(&t, ` +func (s Store) GetUserAccounts(ctx domain.RequestContext, userID string) (t []account.Account, err error) { + err = s.Runtime.Db.Select(&t, s.Bind(` SELECT a.id, a.c_refid AS refid, a.c_orgid AS orgid, a.c_userid AS userid, a.c_editor AS editor, a.c_admin AS admin, a.c_users AS users, a.c_analytics AS analytics, a.c_active AS active, a.c_created AS created, a.c_revised AS revised, b.c_company AS company, b.c_title AS title, b.c_message AS message, b.c_domain as domain FROM dmz_user_account a, dmz_org b WHERE a.c_userid=? AND a.c_orgid=b.c_refid AND a.c_active=1 - ORDER BY b.c_title`, + ORDER BY b.c_title`), userID) if err != sql.ErrNoRows && err != nil { @@ -81,14 +81,14 @@ func (s Scope) GetUserAccounts(ctx domain.RequestContext, userID string) (t []ac } // GetAccountsByOrg returns a slice of database account records, for all users in the client's organization. -func (s Scope) GetAccountsByOrg(ctx domain.RequestContext) (t []account.Account, err error) { - err = s.Runtime.Db.Select(&t, ` +func (s Store) GetAccountsByOrg(ctx domain.RequestContext) (t []account.Account, err error) { + err = s.Runtime.Db.Select(&t, s.Bind(` SELECT a.id, a.c_refid AS refid, a.c_orgid AS orgid, a.c_userid AS userid, a.c_editor AS editor, a.c_admin AS admin, a.c_users AS users, a.c_analytics AS analytics, a.c_active AS active, a.c_created AS created, a.c_revised AS revised, b.c_company AS company, b.c_title AS title, b.c_message AS message, b.c_domain as domain FROM dmz_user_account a, dmz_org b - WHERE a.c_orgid=b.c_refid AND a.c_orgid=? AND a.c_active=1`, + WHERE a.c_orgid=b.c_refid AND a.c_orgid=? AND a.c_active=1`), ctx.OrgID) if err != sql.ErrNoRows && err != nil { @@ -99,8 +99,8 @@ func (s Scope) GetAccountsByOrg(ctx domain.RequestContext) (t []account.Account, } // CountOrgAccounts returns the numnber of active user accounts for specified organization. -func (s Scope) CountOrgAccounts(ctx domain.RequestContext) (c int) { - row := s.Runtime.Db.QueryRow("SELECT count(*) FROM dmz_user_account WHERE c_orgid=? AND c_active=1", ctx.OrgID) +func (s Store) CountOrgAccounts(ctx domain.RequestContext) (c int) { + row := s.Runtime.Db.QueryRow(s.Bind("SELECT count(*) FROM dmz_user_account WHERE c_orgid=? AND c_active=1"), ctx.OrgID) err := row.Scan(&c) if err == sql.ErrNoRows { return 0 @@ -114,13 +114,13 @@ func (s Scope) CountOrgAccounts(ctx domain.RequestContext) (c int) { } // UpdateAccount updates the database record for the given account to the given values. -func (s Scope) UpdateAccount(ctx domain.RequestContext, account account.Account) (err error) { +func (s Store) UpdateAccount(ctx domain.RequestContext, account account.Account) (err error) { account.Revised = time.Now().UTC() - _, err = ctx.Transaction.NamedExec(` + _, err = ctx.Transaction.NamedExec(s.Bind(` UPDATE dmz_user_account SET c_userid=:userid, c_admin=:admin, c_editor=:editor, c_users=:users, c_analytics=:analytics, - c_active=:active, c_revised=:revised WHERE c_orgid=:orgid AND c_refid=:refid`, &account) + c_active=:active, c_revised=:revised WHERE c_orgid=:orgid AND c_refid=:refid`), &account) if err != sql.ErrNoRows && err != nil { err = errors.Wrap(err, fmt.Sprintf("execute update for account %s", account.RefID)) @@ -130,8 +130,8 @@ func (s Scope) UpdateAccount(ctx domain.RequestContext, account account.Account) } // HasOrgAccount returns if the given orgID has valid userID. -func (s Scope) HasOrgAccount(ctx domain.RequestContext, orgID, userID string) bool { - row := s.Runtime.Db.QueryRow("SELECT count(*) FROM dmz_user_account WHERE c_orgid=? and c_userid=?", orgID, userID) +func (s Store) HasOrgAccount(ctx domain.RequestContext, orgID, userID string) bool { + row := s.Runtime.Db.QueryRow(s.Bind("SELECT count(*) FROM dmz_user_account WHERE c_orgid=? and c_userid=?"), orgID, userID) var count int err := row.Scan(&count) @@ -152,7 +152,6 @@ func (s Scope) HasOrgAccount(ctx domain.RequestContext, orgID, userID string) bo } // DeleteAccount deletes the database record in the account table for user ID. -func (s Scope) DeleteAccount(ctx domain.RequestContext, ID string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteConstrained(ctx.Transaction, "dmz_user_account", ctx.OrgID, ID) +func (s Store) DeleteAccount(ctx domain.RequestContext, ID string) (rows int64, err error) { + return s.DeleteConstrained(ctx.Transaction, "dmz_user_account", ctx.OrgID, ID) } diff --git a/domain/activity/mysql/store.go b/domain/activity/store.go similarity index 68% rename from domain/activity/mysql/store.go rename to domain/activity/store.go index 4f35b6a2..1e626691 100644 --- a/domain/activity/mysql/store.go +++ b/domain/activity/store.go @@ -9,32 +9,32 @@ // // https://documize.com -package mysql +package activity import ( "database/sql" "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/activity" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to user activity information. +type Store struct { + store.Context + domain.ActivityStorer } // RecordUserActivity logs user initiated data changes. -func (s Scope) RecordUserActivity(ctx domain.RequestContext, activity activity.UserActivity) (err error) { +func (s Store) RecordUserActivity(ctx domain.RequestContext, activity activity.UserActivity) (err error) { activity.OrgID = ctx.OrgID activity.UserID = ctx.UserID activity.Created = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_user_activity (c_orgid, c_userid, c_spaceid, c_docid, c_sectionid, c_sourcetype, c_activitytype, c_metadata, c_created) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_user_activity (c_orgid, c_userid, c_spaceid, c_docid, c_sectionid, c_sourcetype, c_activitytype, c_metadata, c_created) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"), activity.OrgID, activity.UserID, activity.SpaceID, activity.DocumentID, activity.SectionID, activity.SourceType, activity.ActivityType, activity.Metadata, activity.Created) if err != nil { @@ -45,19 +45,19 @@ func (s Scope) RecordUserActivity(ctx domain.RequestContext, activity activity.U } // GetDocumentActivity returns the metadata for a specified document. -func (s Scope) GetDocumentActivity(ctx domain.RequestContext, id string) (a []activity.DocumentActivity, err error) { - qry := `SELECT a.id, DATE(a.c_created) AS created, a.c_orgid AS orgid, - IFNULL(a.c_userid, '') AS userid, a.c_spaceid AS spaceid, +func (s Store) GetDocumentActivity(ctx domain.RequestContext, id string) (a []activity.DocumentActivity, err error) { + qry := s.Bind(`SELECT a.id, DATE(a.c_created) AS created, a.c_orgid AS orgid, + COALESCE(a.c_userid, '') AS userid, a.c_spaceid AS spaceid, a.c_docid AS documentid, a.c_sectionid AS sectionid, a.c_activitytype AS activitytype, a.c_metadata AS metadata, - IFNULL(u.c_firstname, 'Anonymous') AS firstname, IFNULL(u.c_lastname, 'Viewer') AS lastname, - IFNULL(p.c_name, '') AS sectionname + COALESCE(u.c_firstname, 'Anonymous') AS firstname, COALESCE(u.c_lastname, 'Viewer') AS lastname, + COALESCE(p.c_name, '') AS sectionname FROM dmz_user_activity a LEFT JOIN dmz_user u ON a.c_userid=u.c_refid LEFT JOIN dmz_section p ON a.c_sectionid=p.c_refid WHERE a.c_orgid=? AND a.c_docid=? AND a.c_userid != '0' AND a.c_userid != '' - ORDER BY a.c_created DESC` + ORDER BY a.c_created DESC`) err = s.Runtime.Db.Select(&a, qry, ctx.OrgID, id) @@ -76,9 +76,8 @@ func (s Scope) GetDocumentActivity(ctx domain.RequestContext, id string) (a []ac } // DeleteDocumentChangeActivity removes all entries for document changes (add, remove, update). -func (s Scope) DeleteDocumentChangeActivity(ctx domain.RequestContext, documentID string) (rows int64, err error) { - b := mysql.BaseQuery{} - rows, err = b.DeleteWhere(ctx.Transaction, +func (s Store) DeleteDocumentChangeActivity(ctx domain.RequestContext, documentID string) (rows int64, err error) { + rows, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_user_activity WHERE c_orgid='%s' AND c_docid='%s' AND (c_activitytype=1 OR c_activitytype=2 OR c_activitytype=3 OR c_activitytype=4 OR c_activitytype=7)", ctx.OrgID, documentID)) return diff --git a/domain/attachment/mysql/store.go b/domain/attachment/store.go similarity index 74% rename from domain/attachment/mysql/store.go rename to domain/attachment/store.go index 62a95a3b..3f411103 100644 --- a/domain/attachment/mysql/store.go +++ b/domain/attachment/store.go @@ -15,27 +15,27 @@ import ( "strings" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/attachment" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to document/section attachments information. +type Store struct { + store.Context + domain.AttachmentStorer } // Add inserts the given record into the database attachement table. -func (s Scope) Add(ctx domain.RequestContext, a attachment.Attachment) (err error) { +func (s Store) Add(ctx domain.RequestContext, a attachment.Attachment) (err error) { a.OrgID = ctx.OrgID a.Created = time.Now().UTC() a.Revised = time.Now().UTC() bits := strings.Split(a.Filename, ".") a.Extension = bits[len(bits)-1] - _, err = ctx.Transaction.Exec("INSERT INTO dmz_doc_attachment (c_refid, c_orgid, c_docid, c_job, c_fileid, c_filename, c_data, c_extension, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_doc_attachment (c_refid, c_orgid, c_docid, c_job, c_fileid, c_filename, c_data, c_extension, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"), a.RefID, a.OrgID, a.DocumentID, a.Job, a.FileID, a.Filename, a.Data, a.Extension, a.Created, a.Revised) if err != nil { @@ -46,14 +46,14 @@ func (s Scope) Add(ctx domain.RequestContext, a attachment.Attachment) (err erro } // GetAttachment returns the database attachment record specified by the parameters. -func (s Scope) GetAttachment(ctx domain.RequestContext, orgID, attachmentID string) (a attachment.Attachment, err error) { - err = s.Runtime.Db.Get(&a, ` +func (s Store) GetAttachment(ctx domain.RequestContext, orgID, attachmentID string) (a attachment.Attachment, err error) { + err = s.Runtime.Db.Get(&a, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_job AS job, c_fileid AS fileid, c_filename AS filename, c_data AS data, c_extension AS extension, c_created AS created, c_revised AS revised FROM dmz_doc_attachment - WHERE c_orgid=? and c_refid=?`, + WHERE c_orgid=? and c_refid=?`), orgID, attachmentID) if err != nil { @@ -64,15 +64,15 @@ func (s Scope) GetAttachment(ctx domain.RequestContext, orgID, attachmentID stri } // GetAttachments returns a slice containing the attachement records (excluding their data) for document docID, ordered by filename. -func (s Scope) GetAttachments(ctx domain.RequestContext, docID string) (a []attachment.Attachment, err error) { - err = s.Runtime.Db.Select(&a, ` +func (s Store) GetAttachments(ctx domain.RequestContext, docID string) (a []attachment.Attachment, err error) { + err = s.Runtime.Db.Select(&a, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_job AS job, c_fileid AS fileid, c_filename AS filename, c_extension AS extension, c_created AS created, c_revised AS revised FROM dmz_doc_attachment WHERE c_orgid=? and c_docid=? - ORDER BY c_filename`, + ORDER BY c_filename`), ctx.OrgID, docID) if err != nil { @@ -83,15 +83,15 @@ func (s Scope) GetAttachments(ctx domain.RequestContext, docID string) (a []atta } // GetAttachmentsWithData returns a slice containing the attachement records (including their data) for document docID, ordered by filename. -func (s Scope) GetAttachmentsWithData(ctx domain.RequestContext, docID string) (a []attachment.Attachment, err error) { - err = s.Runtime.Db.Select(&a, ` +func (s Store) GetAttachmentsWithData(ctx domain.RequestContext, docID string) (a []attachment.Attachment, err error) { + err = s.Runtime.Db.Select(&a, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_job AS job, c_fileid AS fileid, c_filename AS filename, c_data AS data, c_extension AS extension, c_created AS created, c_revised AS revised FROM dmz_doc_attachment WHERE c_orgid=? and c_docid=? - ORDER BY c_filename`, + ORDER BY c_filename`), ctx.OrgID, docID) if err != nil { @@ -102,7 +102,6 @@ func (s Scope) GetAttachmentsWithData(ctx domain.RequestContext, docID string) ( } // Delete deletes the id record from the database attachment table. -func (s Scope) Delete(ctx domain.RequestContext, id string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteConstrained(ctx.Transaction, "dmz_doc_attachment", ctx.OrgID, id) +func (s Store) Delete(ctx domain.RequestContext, id string) (rows int64, err error) { + return s.DeleteConstrained(ctx.Transaction, "dmz_doc_attachment", ctx.OrgID, id) } diff --git a/domain/audit/mysql/store.go b/domain/audit/store.go similarity index 74% rename from domain/audit/mysql/store.go rename to domain/audit/store.go index 681a55ec..a7be245f 100644 --- a/domain/audit/mysql/store.go +++ b/domain/audit/store.go @@ -15,18 +15,19 @@ package audit import ( "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" + "github.com/documize/community/domain/store" "github.com/documize/community/model/audit" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to audit log information. +type Store struct { + store.Context + domain.AuditStorer } // Record adds event entry for specified user using own DB TX. -func (s Scope) Record(ctx domain.RequestContext, t audit.EventType) { +func (s Store) Record(ctx domain.RequestContext, t audit.EventType) { e := audit.AppEvent{} e.OrgID = ctx.OrgID e.UserID = ctx.UserID @@ -40,7 +41,7 @@ func (s Scope) Record(ctx domain.RequestContext, t audit.EventType) { return } - _, err = tx.Exec("INSERT INTO dmz_audit_log (c_orgid, c_userid, c_eventtype, c_ip, c_created) VALUES (?, ?, ?, ?, ?)", + _, err = tx.Exec(s.Bind("INSERT INTO dmz_audit_log (c_orgid, c_userid, c_eventtype, c_ip, c_created) VALUES (?, ?, ?, ?, ?)"), e.OrgID, e.UserID, e.Type, e.IP, e.Created) if err != nil { diff --git a/domain/block/mysql/store.go b/domain/block/store.go similarity index 70% rename from domain/block/mysql/store.go rename to domain/block/store.go index 2db23aac..89079040 100644 --- a/domain/block/mysql/store.go +++ b/domain/block/store.go @@ -9,32 +9,32 @@ // // https://documize.com -package mysql +package block import ( "database/sql" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/block" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to section template information. +type Store struct { + store.Context + domain.BlockStorer } // Add saves reusable content block. -func (s Scope) Add(ctx domain.RequestContext, b block.Block) (err error) { +func (s Store) Add(ctx domain.RequestContext, b block.Block) (err error) { b.OrgID = ctx.OrgID b.UserID = ctx.UserID b.Created = time.Now().UTC() b.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_section_template (c_refid, c_orgid, c_spaceid, c_userid, c_contenttype, c_type, c_name, c_body, c_desc, c_rawbody, c_config, c_external, c_used, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_section_template (c_refid, c_orgid, c_spaceid, c_userid, c_contenttype, c_type, c_name, c_body, c_desc, c_rawbody, c_config, c_external, c_used, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"), b.RefID, b.OrgID, b.SpaceID, b.UserID, b.ContentType, b.Type, b.Name, b.Body, b.Excerpt, b.RawBody, b.Config, b.ExternalSource, b.Used, b.Created, b.Revised) if err != nil { @@ -45,8 +45,8 @@ func (s Scope) Add(ctx domain.RequestContext, b block.Block) (err error) { } // Get returns requested reusable content block. -func (s Scope) Get(ctx domain.RequestContext, id string) (b block.Block, err error) { - err = s.Runtime.Db.Get(&b, ` +func (s Store) Get(ctx domain.RequestContext, id string) (b block.Block, err error) { + err = s.Runtime.Db.Get(&b, s.Bind(` SELECT a.id, a.c_refid as refid, a.c_orgid as orgid, a.c_spaceid AS spaceid, a.c_userid AS userid, a.c_contenttype AS contenttype, a.c_type AS type, @@ -55,7 +55,7 @@ func (s Scope) Get(ctx domain.RequestContext, id string) (b block.Block, err err a.c_created AS created, a.c_revised AS revised, b.c_firstname AS firstname, b.c_lastname AS lastname FROM dmz_section_template a LEFT JOIN dmz_user b ON a.c_userid = b.c_refid - WHERE a.c_orgid=? AND a.c_refid=?`, + WHERE a.c_orgid=? AND a.c_refid=?`), ctx.OrgID, id) if err != nil { @@ -66,8 +66,8 @@ func (s Scope) Get(ctx domain.RequestContext, id string) (b block.Block, err err } // GetBySpace returns all reusable content scoped to given space. -func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (b []block.Block, err error) { - err = s.Runtime.Db.Select(&b, ` +func (s Store) GetBySpace(ctx domain.RequestContext, spaceID string) (b []block.Block, err error) { + err = s.Runtime.Db.Select(&b, s.Bind(` SELECT a.id, a.c_refid as refid, a.c_orgid as orgid, a.c_spaceid AS spaceid, a.c_userid AS userid, a.c_contenttype AS contenttype, a.c_type AS type, @@ -77,7 +77,7 @@ func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (b []block. b.c_firstname AS firstname, b.c_lastname AS lastname FROM dmz_section_template a LEFT JOIN dmz_user b ON a.c_userid = b.c_refid WHERE a.c_orgid=? AND a.c_spaceid=? - ORDER BY a.c_name`, + ORDER BY a.c_name`), ctx.OrgID, spaceID) if err != nil { @@ -88,9 +88,9 @@ func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (b []block. } // IncrementUsage increments usage counter for content block. -func (s Scope) IncrementUsage(ctx domain.RequestContext, id string) (err error) { - _, err = ctx.Transaction.Exec(`UPDATE dmz_section_template SET - c_used=c_used+1, c_revised=? WHERE c_orgid=? AND c_refid=?`, +func (s Store) IncrementUsage(ctx domain.RequestContext, id string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_section_template SET + c_used=c_used+1, c_revised=? WHERE c_orgid=? AND c_refid=?`), time.Now().UTC(), ctx.OrgID, id) if err != nil { @@ -101,9 +101,9 @@ func (s Scope) IncrementUsage(ctx domain.RequestContext, id string) (err error) } // DecrementUsage decrements usage counter for content block. -func (s Scope) DecrementUsage(ctx domain.RequestContext, id string) (err error) { - _, err = ctx.Transaction.Exec(`UPDATE dmz_section_template SET - c_used=c_used-1, c_revised=? WHERE c_orgid=? AND c_refid=?`, +func (s Store) DecrementUsage(ctx domain.RequestContext, id string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_section_template SET + c_used=c_used-1, c_revised=? WHERE c_orgid=? AND c_refid=?`), time.Now().UTC(), ctx.OrgID, id) if err != nil { @@ -114,10 +114,10 @@ func (s Scope) DecrementUsage(ctx domain.RequestContext, id string) (err error) } // RemoveReference clears page.blockid for given blockID. -func (s Scope) RemoveReference(ctx domain.RequestContext, id string) (err error) { - _, err = ctx.Transaction.Exec(`UPDATE dmz_section SET +func (s Store) RemoveReference(ctx domain.RequestContext, id string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_section SET c_templateid='', c_revised=? - WHERE c_orgid=? AND c_templateid=?`, + WHERE c_orgid=? AND c_templateid=?`), time.Now().UTC(), ctx.OrgID, id) if err == sql.ErrNoRows { @@ -131,12 +131,12 @@ func (s Scope) RemoveReference(ctx domain.RequestContext, id string) (err error) } // Update updates existing reusable content block item. -func (s Scope) Update(ctx domain.RequestContext, b block.Block) (err error) { +func (s Store) Update(ctx domain.RequestContext, b block.Block) (err error) { b.Revised = time.Now().UTC() - _, err = ctx.Transaction.NamedExec(`UPDATE dmz_section_template SET + _, err = ctx.Transaction.NamedExec(s.Bind(`UPDATE dmz_section_template SET c_name=:name, c_body=:body, c_desc=:excerpt, c_rawbody=:rawbody, c_config=:config, c_revised=:revised - WHERE c_orgid=:orgid AND c_refid=:refid`, + WHERE c_orgid=:orgid AND c_refid=:refid`), b) if err != nil { @@ -147,7 +147,6 @@ func (s Scope) Update(ctx domain.RequestContext, b block.Block) (err error) { } // Delete removes reusable content block from database. -func (s Scope) Delete(ctx domain.RequestContext, id string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteConstrained(ctx.Transaction, "dmz_section_template", ctx.OrgID, id) +func (s Store) Delete(ctx domain.RequestContext, id string) (rows int64, err error) { + return s.DeleteConstrained(ctx.Transaction, "dmz_section_template", ctx.OrgID, id) } diff --git a/domain/category/mysql/store.go b/domain/category/store.go similarity index 76% rename from domain/category/mysql/store.go rename to domain/category/store.go index b92f692b..683c9e76 100644 --- a/domain/category/mysql/store.go +++ b/domain/category/store.go @@ -9,33 +9,31 @@ // // https://documize.com -// Package mysql handles data persistence for both category definition -// and and document/category association. -package mysql +package category import ( "database/sql" "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/category" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to space category information. +type Store struct { + store.Context + domain.CategoryStorer } // Add inserts the given record into the category table. -func (s Scope) Add(ctx domain.RequestContext, c category.Category) (err error) { +func (s Store) Add(ctx domain.RequestContext, c category.Category) (err error) { c.Created = time.Now().UTC() c.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_category (c_refid, c_orgid, c_spaceid, c_name, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_category (c_refid, c_orgid, c_spaceid, c_name, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?)"), c.RefID, c.OrgID, c.SpaceID, c.Name, c.Created, c.Revised) if err != nil { @@ -47,8 +45,8 @@ func (s Scope) Add(ctx domain.RequestContext, c category.Category) (err error) { // GetBySpace returns space categories accessible by user. // Context is used to for user ID. -func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (c []category.Category, err error) { - err = s.Runtime.Db.Select(&c, ` +func (s Store) GetBySpace(ctx domain.RequestContext, spaceID string) (c []category.Category, err error) { + err = s.Runtime.Db.Select(&c, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_name AS name, c_created AS created, c_revised AS revised FROM dmz_category WHERE c_orgid=? AND c_spaceid=? AND c_refid IN @@ -58,7 +56,8 @@ func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (c []catego SELECT p.c_refid from dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid WHERE p.c_orgid=? AND p.c_who='role' AND p.c_location='category' AND (r.c_userid=? OR r.c_userid='0') )) - ORDER BY name`, ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) + ORDER BY name`), + ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) if err == sql.ErrNoRows { err = nil @@ -71,10 +70,10 @@ func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (c []catego } // GetAllBySpace returns all space categories. -func (s Scope) GetAllBySpace(ctx domain.RequestContext, spaceID string) (c []category.Category, err error) { +func (s Store) GetAllBySpace(ctx domain.RequestContext, spaceID string) (c []category.Category, err error) { c = []category.Category{} - err = s.Runtime.Db.Select(&c, ` + err = s.Runtime.Db.Select(&c, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_name AS name, c_created AS created, c_revised AS revised FROM dmz_category WHERE c_orgid=? AND c_spaceid=? AND c_spaceid IN @@ -84,7 +83,8 @@ func (s Scope) GetAllBySpace(ctx domain.RequestContext, spaceID string) (c []cat SELECT p.c_refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid WHERE p.c_orgid=? AND p.c_who='role' AND p.c_location='space' AND p.c_action='view' AND (r.c_userid=? OR r.c_userid='0') )) - ORDER BY c_name`, ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) + ORDER BY c_name`), + ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) if err == sql.ErrNoRows { err = nil @@ -97,8 +97,8 @@ func (s Scope) GetAllBySpace(ctx domain.RequestContext, spaceID string) (c []cat } // GetByOrg returns all categories accessible by user for their org. -func (s Scope) GetByOrg(ctx domain.RequestContext, userID string) (c []category.Category, err error) { - err = s.Runtime.Db.Select(&c, ` +func (s Store) GetByOrg(ctx domain.RequestContext, userID string) (c []category.Category, err error) { + err = s.Runtime.Db.Select(&c, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_name AS name, c_created AS created, c_revised AS revised FROM dmz_category WHERE c_orgid=? AND c_refid IN @@ -108,7 +108,8 @@ func (s Scope) GetByOrg(ctx domain.RequestContext, userID string) (c []category. SELECT p.c_refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid WHERE p.c_orgid=? AND p.c_who='role' AND p.c_location='category' AND (r.c_userid=? OR r.c_userid='0') )) - ORDER BY c_name`, ctx.OrgID, ctx.OrgID, ctx.OrgID, userID, ctx.OrgID, userID) + ORDER BY c_name`), + ctx.OrgID, ctx.OrgID, ctx.OrgID, userID, ctx.OrgID, userID) if err == sql.ErrNoRows { err = nil @@ -121,11 +122,10 @@ func (s Scope) GetByOrg(ctx domain.RequestContext, userID string) (c []category. } // Update saves category name change. -func (s Scope) Update(ctx domain.RequestContext, c category.Category) (err error) { +func (s Store) Update(ctx domain.RequestContext, c category.Category) (err error) { c.Revised = time.Now().UTC() - _, err = ctx.Transaction.NamedExec("UPDATE dmz_category SET c_name=:name, c_revised=:revised WHERE c_orgid=:orgid AND c_refid=:refid", c) - + _, err = ctx.Transaction.NamedExec(s.Bind("UPDATE dmz_category SET c_name=:name, c_revised=:revised WHERE c_orgid=:orgid AND c_refid=:refid"), c) if err != nil { err = errors.Wrap(err, fmt.Sprintf("unable to execute update for category %s", c.RefID)) } @@ -134,11 +134,11 @@ func (s Scope) Update(ctx domain.RequestContext, c category.Category) (err error } // Get returns specified category -func (s Scope) Get(ctx domain.RequestContext, id string) (c category.Category, err error) { - err = s.Runtime.Db.Get(&c, ` +func (s Store) Get(ctx domain.RequestContext, id string) (c category.Category, err error) { + err = s.Runtime.Db.Get(&c, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_name AS name, c_created AS created, c_revised AS revised FROM dmz_category - WHERE c_orgid=? AND c_refid=?`, + WHERE c_orgid=? AND c_refid=?`), ctx.OrgID, id) if err != nil { @@ -149,17 +149,16 @@ func (s Scope) Get(ctx domain.RequestContext, id string) (c category.Category, e } // Delete removes category from the store. -func (s Scope) Delete(ctx domain.RequestContext, id string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteConstrained(ctx.Transaction, "dmz_category", ctx.OrgID, id) +func (s Store) Delete(ctx domain.RequestContext, id string) (rows int64, err error) { + return s.DeleteConstrained(ctx.Transaction, "dmz_category", ctx.OrgID, id) } // AssociateDocument inserts category membership record into the category member table. -func (s Scope) AssociateDocument(ctx domain.RequestContext, m category.Member) (err error) { +func (s Store) AssociateDocument(ctx domain.RequestContext, m category.Member) (err error) { m.Created = time.Now().UTC() m.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_category_member (c_refid, c_orgid, c_categoryid, c_spaceid, c_docid, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_category_member (c_refid, c_orgid, c_categoryid, c_spaceid, c_docid, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?)"), m.RefID, m.OrgID, m.CategoryID, m.SpaceID, m.DocumentID, m.Created, m.Revised) if err != nil { @@ -170,61 +169,51 @@ func (s Scope) AssociateDocument(ctx domain.RequestContext, m category.Member) ( } // DisassociateDocument removes document associatation from category. -func (s Scope) DisassociateDocument(ctx domain.RequestContext, categoryID, documentID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DisassociateDocument(ctx domain.RequestContext, categoryID, documentID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_category_member WHERE c_orgid='%s' AND c_categoryid='%s' AND c_docid='%s'", ctx.OrgID, categoryID, documentID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // RemoveCategoryMembership removes all category associations from the store. -func (s Scope) RemoveCategoryMembership(ctx domain.RequestContext, categoryID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) RemoveCategoryMembership(ctx domain.RequestContext, categoryID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_category_member WHERE c_orgid='%s' AND c_categoryid='%s'", ctx.OrgID, categoryID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // RemoveSpaceCategoryMemberships removes all category associations from the store for the space. -func (s Scope) RemoveSpaceCategoryMemberships(ctx domain.RequestContext, spaceID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) RemoveSpaceCategoryMemberships(ctx domain.RequestContext, spaceID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_category_member WHERE c_orgid='%s' AND c_spaceid='%s'", ctx.OrgID, spaceID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // RemoveDocumentCategories removes all document category associations from the store. -func (s Scope) RemoveDocumentCategories(ctx domain.RequestContext, documentID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) RemoveDocumentCategories(ctx domain.RequestContext, documentID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_category_member WHERE c_orgid='%s' AND c_docid='%s'", ctx.OrgID, documentID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // DeleteBySpace removes all category and category associations for given space. -func (s Scope) DeleteBySpace(ctx domain.RequestContext, spaceID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DeleteBySpace(ctx domain.RequestContext, spaceID string) (rows int64, err error) { s1 := fmt.Sprintf("DELETE FROM categorymember WHERE c_orgid='%s' AND c_groupid='%s'", ctx.OrgID, spaceID) - b.DeleteWhere(ctx.Transaction, s1) + s.DeleteWhere(ctx.Transaction, s1) s2 := fmt.Sprintf("DELETE FROM dmz_category WHERE c_orgid='%s' AND c_spaceid='%s'", ctx.OrgID, spaceID) - return b.DeleteWhere(ctx.Transaction, s2) + return s.DeleteWhere(ctx.Transaction, s2) } // GetSpaceCategorySummary returns number of documents and users for space categories. -func (s Scope) GetSpaceCategorySummary(ctx domain.RequestContext, spaceID string) (c []category.SummaryModel, err error) { +func (s Store) GetSpaceCategorySummary(ctx domain.RequestContext, spaceID string) (c []category.SummaryModel, err error) { c = []category.SummaryModel{} - err = s.Runtime.Db.Select(&c, ` + err = s.Runtime.Db.Select(&c, s.Bind(` SELECT 'documents' AS type, c_categoryid AS categoryid, COUNT(*) AS count FROM dmz_category_member WHERE c_orgid=? AND c_spaceid=? @@ -247,7 +236,7 @@ func (s Scope) GetSpaceCategorySummary(ctx domain.RequestContext, spaceID string FROM dmz_permission WHERE c_orgid=? AND c_location='category' AND c_refid IN (SELECT c_refid FROM dmz_category WHERE c_orgid=? AND c_spaceid=?) - GROUP BY c_refid, type`, + GROUP BY c_refid, type`), ctx.OrgID, spaceID, ctx.OrgID, spaceID, ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, spaceID) @@ -263,13 +252,14 @@ func (s Scope) GetSpaceCategorySummary(ctx domain.RequestContext, spaceID string } // GetDocumentCategoryMembership returns all space categories associated with given document. -func (s Scope) GetDocumentCategoryMembership(ctx domain.RequestContext, documentID string) (c []category.Category, err error) { +func (s Store) GetDocumentCategoryMembership(ctx domain.RequestContext, documentID string) (c []category.Category, err error) { c = []category.Category{} - err = s.Runtime.Db.Select(&c, ` + err = s.Runtime.Db.Select(&c, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_name AS name, c_created AS created, c_revised AS revised FROM dmz_category - WHERE c_orgid=? AND c_refid IN (SELECT c_categoryid FROM dmz_category_member WHERE c_orgid=? AND c_docid=?)`, ctx.OrgID, ctx.OrgID, documentID) + WHERE c_orgid=? AND c_refid IN (SELECT c_categoryid FROM dmz_category_member WHERE c_orgid=? AND c_docid=?)`), + ctx.OrgID, ctx.OrgID, documentID) if err == sql.ErrNoRows { err = nil @@ -282,8 +272,8 @@ func (s Scope) GetDocumentCategoryMembership(ctx domain.RequestContext, document } // GetSpaceCategoryMembership returns category/document associations within space. -func (s Scope) GetSpaceCategoryMembership(ctx domain.RequestContext, spaceID string) (c []category.Member, err error) { - err = s.Runtime.Db.Select(&c, ` +func (s Store) GetSpaceCategoryMembership(ctx domain.RequestContext, spaceID string) (c []category.Member, err error) { + err = s.Runtime.Db.Select(&c, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_categoryid AS categoryid, c_docid AS documentid, c_created AS created, c_revised AS revised FROM dmz_category_member WHERE c_orgid=? AND c_spaceid=? AND c_spaceid IN @@ -294,7 +284,8 @@ func (s Scope) GetSpaceCategoryMembership(ctx domain.RequestContext, spaceID str WHERE p.c_orgid=? AND p.c_who='role' AND p.c_location='space' AND p.c_action='view' AND (r.c_userid=? OR r.c_userid='0') )) - ORDER BY documentid`, ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) + ORDER BY documentid`), + ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) if err == sql.ErrNoRows { err = nil @@ -307,8 +298,8 @@ func (s Scope) GetSpaceCategoryMembership(ctx domain.RequestContext, spaceID str } // GetOrgCategoryMembership returns category/document associations within organization. -func (s Scope) GetOrgCategoryMembership(ctx domain.RequestContext, userID string) (c []category.Member, err error) { - err = s.Runtime.Db.Select(&c, ` +func (s Store) GetOrgCategoryMembership(ctx domain.RequestContext, userID string) (c []category.Member, err error) { + err = s.Runtime.Db.Select(&c, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_categoryid AS categoryid, c_docid AS documentid, c_created AS created, c_revised AS revised FROM dmz_category_member WHERE c_orgid=? AND c_spaceid IN @@ -318,7 +309,8 @@ func (s Scope) GetOrgCategoryMembership(ctx domain.RequestContext, userID string SELECT p.c_refid from dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid WHERE p.c_orgid=? AND p.c_who='role' AND p.c_location='space' AND p.c_action='view' AND (r.c_userid=? OR r.c_userid='0') )) - ORDER BY documentid`, ctx.OrgID, ctx.OrgID, ctx.OrgID, userID, ctx.OrgID, userID) + ORDER BY documentid`), + ctx.OrgID, ctx.OrgID, ctx.OrgID, userID, ctx.OrgID, userID) if err == sql.ErrNoRows { err = nil diff --git a/domain/document/mysql/store.go b/domain/document/store.go similarity index 70% rename from domain/document/mysql/store.go rename to domain/document/store.go index cbdbc754..4b0f1ff9 100644 --- a/domain/document/mysql/store.go +++ b/domain/document/store.go @@ -9,34 +9,34 @@ // // https://documize.com -package mysql +package document import ( "database/sql" "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/doc" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to space category information. +type Store struct { + store.Context + domain.DocumentStorer } // Add inserts the given document record into the document table and audits that it has been done. -func (s Scope) Add(ctx domain.RequestContext, d doc.Document) (err error) { +func (s Store) Add(ctx domain.RequestContext, d doc.Document) (err error) { d.OrgID = ctx.OrgID d.Created = time.Now().UTC() d.Revised = d.Created // put same time in both fields - _, err = ctx.Transaction.Exec(` + _, err = ctx.Transaction.Exec(s.Bind(` INSERT INTO dmz_doc (c_refid, c_orgid, c_spaceid, c_userid, c_job, c_location, c_name, c_desc, c_slug, c_tags, c_template, c_protection, c_approval, c_lifecycle, c_versioned, c_versionid, c_versionorder, c_groupid, c_created, c_revised) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`), d.RefID, d.OrgID, d.SpaceID, d.UserID, d.Job, d.Location, d.Name, d.Excerpt, d.Slug, d.Tags, d.Template, d.Protection, d.Approval, d.Lifecycle, d.Versioned, d.VersionID, d.VersionOrder, d.GroupID, d.Created, d.Revised) @@ -48,15 +48,15 @@ func (s Scope) Add(ctx domain.RequestContext, d doc.Document) (err error) { } // Get fetches the document record with the given id fromt the document table and audits that it has been got. -func (s Scope) Get(ctx domain.RequestContext, id string) (document doc.Document, err error) { - err = s.Runtime.Db.Get(&document, ` +func (s Store) Get(ctx domain.RequestContext, id string) (document doc.Document, err error) { + err = s.Runtime.Db.Get(&document, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_userid AS userid, c_job AS job, c_location AS location, c_name AS name, c_desc AS excerpt, c_slug AS slug, c_tags AS tags, c_template AS template, c_protection AS protection, c_approval AS approval, c_lifecycle AS lifecycle, c_versioned AS versioned, c_versionid AS versionid, c_versionorder AS versionorder, c_groupid AS groupid, c_created AS created, c_revised AS revised FROM dmz_doc - WHERE c_orgid=? and c_refid=?`, + WHERE c_orgid=? and c_refid=?`), ctx.OrgID, id) if err != nil { @@ -66,42 +66,6 @@ func (s Scope) Get(ctx domain.RequestContext, id string) (document doc.Document, return } -// // DocumentMeta returns the metadata for a specified document. -// func (s Scope) DocumentMeta(ctx domain.RequestContext, id string) (meta doc.DocumentMeta, err error) { -// sqlViewers := ` -// SELECT MAX(a.c_created) as created, -// IFNULL(a.c_userid, '') AS userid, IFNULL(u.c_firstname, 'Anonymous') AS firstname, -// IFNULL(u.c_lastname, 'Viewer') AS lastname -// FROM dmz_audit_log a LEFT JOIN dmz_user u ON a.c_userid=u.c_refid -// WHERE a.c_orgid=? AND a.documentid=? -// AND a.userid != '0' AND a.userid != '' -// AND action='get-document' -// GROUP BY a.userid ORDER BY MAX(a.created) DESC` - -// err = s.Runtime.Db.Select(&meta.Viewers, sqlViewers, ctx.OrgID, id) - -// if err != nil { -// err = errors.Wrap(err, fmt.Sprintf("select document viewers %s", id)) -// return -// } - -// sqlEdits := `SELECT a.created, -// IFNULL(a.action, '') AS action, IFNULL(a.userid, '') AS userid, IFNULL(u.firstname, 'Anonymous') AS firstname, IFNULL(u.lastname, 'Viewer') AS lastname, IFNULL(a.pageid, '') AS pageid -// FROM audit a LEFT JOIN user u ON a.userid=u.refid -// WHERE a.orgid=? AND a.documentid=? AND a.userid != '0' AND a.userid != '' -// AND (a.action='update-page' OR a.action='add-page' OR a.action='remove-page') -// ORDER BY a.created DESC;` - -// err = s.Runtime.Db.Select(&meta.Editors, sqlEdits, ctx.OrgID, id) - -// if err != nil { -// err = errors.Wrap(err, fmt.Sprintf("select document editors %s", id)) -// return -// } - -// return -// } - // GetBySpace returns a slice containing the documents for a given space. // // No attempt is made to hide documents that are protected by category @@ -109,10 +73,10 @@ func (s Scope) Get(ctx domain.RequestContext, id string) (document doc.Document, // // All versions of a document are returned, hence caller must // decide what to do with them. -func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (documents []doc.Document, err error) { +func (s Store) GetBySpace(ctx domain.RequestContext, spaceID string) (documents []doc.Document, err error) { documents = []doc.Document{} - err = s.Runtime.Db.Select(&documents, ` + err = s.Runtime.Db.Select(&documents, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_userid AS userid, c_job AS job, c_location AS location, c_name AS name, c_desc AS excerpt, c_slug AS slug, c_tags AS tags, c_template AS template, c_protection AS protection, c_approval AS approval, @@ -129,7 +93,7 @@ func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (documents ) ) ) - ORDER BY c_name, c_versionorder`, + ORDER BY c_name, c_versionorder`), ctx.OrgID, ctx.OrgID, ctx.OrgID, spaceID, ctx.OrgID, ctx.UserID, ctx.OrgID, spaceID, ctx.UserID) if err == sql.ErrNoRows { @@ -143,8 +107,8 @@ func (s Scope) GetBySpace(ctx domain.RequestContext, spaceID string) (documents } // TemplatesBySpace returns a slice containing the documents available as templates for given space. -func (s Scope) TemplatesBySpace(ctx domain.RequestContext, spaceID string) (documents []doc.Document, err error) { - err = s.Runtime.Db.Select(&documents, ` +func (s Store) TemplatesBySpace(ctx domain.RequestContext, spaceID string) (documents []doc.Document, err error) { + err = s.Runtime.Db.Select(&documents, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_userid AS userid, c_job AS job, c_location AS location, c_name AS name, c_desc AS excerpt, c_slug AS slug, c_tags AS tags, c_template AS template, c_protection AS protection, c_approval AS approval, @@ -160,7 +124,8 @@ func (s Scope) TemplatesBySpace(ctx domain.RequestContext, spaceID string) (docu SELECT p.c_refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid WHERE p.c_orgid=? AND p.c_who='role' AND p.c_location='space' AND p.c_action='view' AND (r.c_userid=? OR r.c_userid='0')) ) ) - ORDER BY c_name`, ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) + ORDER BY c_name`), + ctx.OrgID, spaceID, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) if err == sql.ErrNoRows { err = nil @@ -176,12 +141,13 @@ func (s Scope) TemplatesBySpace(ctx domain.RequestContext, spaceID string) (docu // PublicDocuments returns a slice of SitemapDocument records // linking to documents in public spaces. // These documents can then be seen by search crawlers. -func (s Scope) PublicDocuments(ctx domain.RequestContext, orgID string) (documents []doc.SitemapDocument, err error) { - err = s.Runtime.Db.Select(&documents, ` +func (s Store) PublicDocuments(ctx domain.RequestContext, orgID string) (documents []doc.SitemapDocument, err error) { + err = s.Runtime.Db.Select(&documents, s.Bind(` SELECT d.c_refid AS documentid, d.c_name AS document, d.c_revised as revised, l.c_refid AS spaceid, l.c_name AS space FROM dmz_doc d LEFT JOIN dmz_space l ON l.c_refid=d.c_spaceid - WHERE d.c_orgid=? AND l.c_type=1 AND d.c_lifecycle=1 AND d.c_template=0`, orgID) + WHERE d.c_orgid=? AND l.c_type=1 AND d.c_lifecycle=1 AND d.c_template=0`), + orgID) if err == sql.ErrNoRows { err = nil @@ -199,17 +165,17 @@ func (s Scope) PublicDocuments(ctx domain.RequestContext, orgID string) (documen */ // Update changes the given document record to the new values, updates search information and audits the action. -func (s Scope) Update(ctx domain.RequestContext, document doc.Document) (err error) { +func (s Store) Update(ctx domain.RequestContext, document doc.Document) (err error) { document.Revised = time.Now().UTC() - _, err = ctx.Transaction.NamedExec(` + _, err = ctx.Transaction.NamedExec(s.Bind(` UPDATE dmz_doc SET c_spaceid=:spaceid, c_userid=:userid, c_job=:job, c_location=:location, c_name=:name, c_desc=:excerpt, c_slug=:slug, c_tags=:tags, c_template=:template, c_protection=:protection, c_approval=:approval, c_lifecycle=:lifecycle, c_versioned=:versioned, c_versionid=:versionid, c_versionorder=:versionorder, c_groupid=:groupid, c_revised=:revised - WHERE c_orgid=:orgid AND c_refid=:refid`, + WHERE c_orgid=:orgid AND c_refid=:refid`), &document) if err != nil { @@ -220,8 +186,8 @@ func (s Scope) Update(ctx domain.RequestContext, document doc.Document) (err err } // UpdateGroup applies same values to all documents with the same group ID. -func (s Scope) UpdateGroup(ctx domain.RequestContext, d doc.Document) (err error) { - _, err = ctx.Transaction.Exec(`UPDATE dmz_doc SET c_name=?, c_desc=? WHERE c_orgid=? AND c_groupid=?`, +func (s Store) UpdateGroup(ctx domain.RequestContext, d doc.Document) (err error) { + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_doc SET c_name=?, c_desc=? WHERE c_orgid=? AND c_groupid=?`), d.Name, d.Excerpt, ctx.OrgID, d.GroupID) if err == sql.ErrNoRows { @@ -235,10 +201,10 @@ func (s Scope) UpdateGroup(ctx domain.RequestContext, d doc.Document) (err error } // ChangeDocumentSpace assigns the specified space to the document. -func (s Scope) ChangeDocumentSpace(ctx domain.RequestContext, document, space string) (err error) { +func (s Store) ChangeDocumentSpace(ctx domain.RequestContext, document, space string) (err error) { revised := time.Now().UTC() - _, err = ctx.Transaction.Exec("UPDATE dmz_doc SET c_spaceid=?, c_revised=? WHERE c_orgid=? AND c_refid=?", + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_doc SET c_spaceid=?, c_revised=? WHERE c_orgid=? AND c_refid=?"), space, revised, ctx.OrgID, document) if err != nil { @@ -249,8 +215,8 @@ func (s Scope) ChangeDocumentSpace(ctx domain.RequestContext, document, space st } // MoveDocumentSpace changes the space for client's organization's documents which have space "id", to "move". -func (s Scope) MoveDocumentSpace(ctx domain.RequestContext, id, move string) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_doc SET c_spaceid=? WHERE c_orgid=? AND c_spaceid=?", +func (s Store) MoveDocumentSpace(ctx domain.RequestContext, id, move string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_doc SET c_spaceid=? WHERE c_orgid=? AND c_spaceid=?"), move, ctx.OrgID, id) if err == sql.ErrNoRows { @@ -264,8 +230,8 @@ func (s Scope) MoveDocumentSpace(ctx domain.RequestContext, id, move string) (er } // MoveActivity changes the space for all document activity records. -func (s Scope) MoveActivity(ctx domain.RequestContext, documentID, oldSpaceID, newSpaceID string) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_user_activity SET c_spaceid=? WHERE c_orgid=? AND c_spaceid=? AND c_docid=?", +func (s Store) MoveActivity(ctx domain.RequestContext, documentID, oldSpaceID, newSpaceID string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_user_activity SET c_spaceid=? WHERE c_orgid=? AND c_spaceid=? AND c_docid=?"), newSpaceID, ctx.OrgID, oldSpaceID, documentID) if err != nil { @@ -277,63 +243,61 @@ func (s Scope) MoveActivity(ctx domain.RequestContext, documentID, oldSpaceID, n // Delete removes the specified document. // Remove document pages, revisions, attachments, updates the search subsystem. -func (s Scope) Delete(ctx domain.RequestContext, documentID string) (rows int64, err error) { - b := mysql.BaseQuery{} - rows, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) +func (s Store) Delete(ctx domain.RequestContext, documentID string) (rows int64, err error) { + rows, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) if err != nil { return } - _, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section_revision WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section_revision WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) if err != nil { return } - _, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_attachment WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_attachment WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) if err != nil { return } - _, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_category_member WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_category_member WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) if err != nil { return } - _, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_vote WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_vote WHERE c_docid=\"%s\" AND c_orgid=\"%s\"", documentID, ctx.OrgID)) if err != nil { return } - return b.DeleteConstrained(ctx.Transaction, "dmz_doc", ctx.OrgID, documentID) + return s.DeleteConstrained(ctx.Transaction, "dmz_doc", ctx.OrgID, documentID) } // DeleteBySpace removes all documents for given space. // Remove document pages, revisions, attachments, updates the search subsystem. -func (s Scope) DeleteBySpace(ctx domain.RequestContext, spaceID string) (rows int64, err error) { - b := mysql.BaseQuery{} - rows, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section WHERE c_docid IN (SELECT c_refid FROM dmz_doc WHERE c_spaceid=\"%s\" AND c_orgid=\"%s\")", spaceID, ctx.OrgID)) +func (s Store) DeleteBySpace(ctx domain.RequestContext, spaceID string) (rows int64, err error) { + rows, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section WHERE c_docid IN (SELECT c_refid FROM dmz_doc WHERE c_spaceid=\"%s\" AND c_orgid=\"%s\")", spaceID, ctx.OrgID)) if err != nil { return } - _, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section_revision WHERE c_docid IN (SELECT c_refid FROM dmz_doc WHERE c_spaceid=\"%s\" AND c_orgid=\"%s\")", spaceID, ctx.OrgID)) + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section_revision WHERE c_docid IN (SELECT c_refid FROM dmz_doc WHERE c_spaceid=\"%s\" AND c_orgid=\"%s\")", spaceID, ctx.OrgID)) if err != nil { return } - _, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_attachment WHERE c_docid IN (SELECT c_refid FROM dmz_doc WHERE c_spaceid=\"%s\" AND c_orgid=\"%s\")", spaceID, ctx.OrgID)) + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_attachment WHERE c_docid IN (SELECT c_refid FROM dmz_doc WHERE c_spaceid=\"%s\" AND c_orgid=\"%s\")", spaceID, ctx.OrgID)) if err != nil { return } - _, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_vote WHERE c_docid IN (SELECT c_refid FROM dmz_doc WHERE c_spaceid=\"%s\" AND c_orgid=\"%s\")", spaceID, ctx.OrgID)) + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_vote WHERE c_docid IN (SELECT c_refid FROM dmz_doc WHERE c_spaceid=\"%s\" AND c_orgid=\"%s\")", spaceID, ctx.OrgID)) if err != nil { return } - return b.DeleteConstrained(ctx.Transaction, "dmz_doc", ctx.OrgID, spaceID) + return s.DeleteConstrained(ctx.Transaction, "dmz_doc", ctx.OrgID, spaceID) } // GetVersions returns a slice containing the documents for a given space. @@ -343,14 +307,14 @@ func (s Scope) DeleteBySpace(ctx domain.RequestContext, spaceID string) (rows in // // All versions of a document are returned, hence caller must // decide what to do with them. -func (s Scope) GetVersions(ctx domain.RequestContext, groupID string) (v []doc.Version, err error) { +func (s Store) GetVersions(ctx domain.RequestContext, groupID string) (v []doc.Version, err error) { v = []doc.Version{} - err = s.Runtime.Db.Select(&v, ` + err = s.Runtime.Db.Select(&v, s.Bind(` SELECT c_versionid AS versionid, c_refid As documentid FROM dmz_doc WHERE c_orgid=? AND c_groupid=? - ORDER BY c_versionorder`, + ORDER BY c_versionorder`), ctx.OrgID, groupID) if err == sql.ErrNoRows { @@ -365,17 +329,15 @@ func (s Scope) GetVersions(ctx domain.RequestContext, groupID string) (v []doc.V // Vote records document content vote. // Any existing vote by the user is replaced. -func (s Scope) Vote(ctx domain.RequestContext, refID, orgID, documentID, userID string, vote int) (err error) { - b := mysql.BaseQuery{} - - _, err = b.DeleteWhere(ctx.Transaction, +func (s Store) Vote(ctx domain.RequestContext, refID, orgID, documentID, userID string, vote int) (err error) { + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_vote WHERE c_orgid=\"%s\" AND c_docid=\"%s\" AND c_voter=\"%s\"", orgID, documentID, userID)) if err != nil { s.Runtime.Log.Error("store.Vote", err) } - _, err = ctx.Transaction.Exec(`INSERT INTO dmz_doc_vote (c_refid, c_orgid, c_docid, c_voter, c_vote) VALUES (?, ?, ?, ?, ?)`, + _, err = ctx.Transaction.Exec(s.Bind(`INSERT INTO dmz_doc_vote (c_refid, c_orgid, c_docid, c_voter, c_vote) VALUES (?, ?, ?, ?, ?)`), refID, orgID, documentID, userID, vote) if err != nil { err = errors.Wrap(err, "execute insert vote") diff --git a/domain/group/mysql/store.go b/domain/group/store.go similarity index 63% rename from domain/group/mysql/store.go rename to domain/group/store.go index 805d712e..f70d1788 100644 --- a/domain/group/mysql/store.go +++ b/domain/group/store.go @@ -9,31 +9,31 @@ // // https://documize.com -package mysql +package group import ( "database/sql" "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/group" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to space category information. +type Store struct { + store.Context + domain.DocumentStorer } // Add inserts new user group into store. -func (s Scope) Add(ctx domain.RequestContext, g group.Group) (err error) { +func (s Store) Add(ctx domain.RequestContext, g group.Group) (err error) { g.Created = time.Now().UTC() g.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_group (c_refid, c_orgid, c_name, c_desc, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_group (c_refid, c_orgid, c_name, c_desc, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?)"), g.RefID, g.OrgID, g.Name, g.Purpose, g.Created, g.Revised) if err != nil { @@ -44,11 +44,11 @@ func (s Scope) Add(ctx domain.RequestContext, g group.Group) (err error) { } // Get returns requested group. -func (s Scope) Get(ctx domain.RequestContext, refID string) (g group.Group, err error) { - err = s.Runtime.Db.Get(&g, ` - SELECT id, c_refid AS refid, c_orgid AS orgid, c_name AS name, c_desc AS purpose, c_created AS created, c_revised AS revised +func (s Store) Get(ctx domain.RequestContext, refID string) (g group.Group, err error) { + err = s.Runtime.Db.Get(&g, s.Bind(` + SELECT id, c_refid AS refid, c_orgid AS orgid, c_name AS name, c_desc AS purpose, c_created AS created, c_revised AS revised FROM dmz_group - WHERE c_orgid=? AND c_refid=?`, + WHERE c_orgid=? AND c_refid=?`), ctx.OrgID, refID) if err != nil { @@ -59,17 +59,17 @@ func (s Scope) Get(ctx domain.RequestContext, refID string) (g group.Group, err } // GetAll returns all user groups for current orgID. -func (s Scope) GetAll(ctx domain.RequestContext) (groups []group.Group, err error) { +func (s Store) GetAll(ctx domain.RequestContext) (groups []group.Group, err error) { groups = []group.Group{} - err = s.Runtime.Db.Select(&groups, ` + err = s.Runtime.Db.Select(&groups, s.Bind(` SELECT a.id, a.c_refid AS refid, a.c_orgid AS orgid, a.c_name AS name, a.c_desc AS purpose, a.c_created AS created, a.c_revised AS revised, COUNT(b.c_groupid) AS members FROM dmz_group a LEFT JOIN dmz_group_member b ON a.c_refid=b.c_groupid WHERE a.c_orgid=? GROUP BY a.id, a.c_refid, a.c_orgid, a.c_name, a.c_desc, a.c_created, a.c_revised - ORDER BY a.c_name`, + ORDER BY a.c_name`), ctx.OrgID) if err == sql.ErrNoRows { @@ -83,12 +83,12 @@ func (s Scope) GetAll(ctx domain.RequestContext) (groups []group.Group, err erro } // Update group name and description. -func (s Scope) Update(ctx domain.RequestContext, g group.Group) (err error) { +func (s Store) Update(ctx domain.RequestContext, g group.Group) (err error) { g.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec(`UPDATE dmz_group SET + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_group SET c_name=?, c_desc=?, c_revised=? - WHERE c_orgid=? AND c_refid=?`, + WHERE c_orgid=? AND c_refid=?`), g.Name, g.Purpose, g.Revised, ctx.OrgID, g.RefID) if err != nil { @@ -99,26 +99,25 @@ func (s Scope) Update(ctx domain.RequestContext, g group.Group) (err error) { } // Delete removes group from store. -func (s Scope) Delete(ctx domain.RequestContext, refID string) (rows int64, err error) { - b := mysql.BaseQuery{} - _, err = b.DeleteConstrained(ctx.Transaction, "dmz_group", ctx.OrgID, refID) +func (s Store) Delete(ctx domain.RequestContext, refID string) (rows int64, err error) { + _, err = s.DeleteConstrained(ctx.Transaction, "dmz_group", ctx.OrgID, refID) if err != nil { return } - return b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_group_member WHERE c_orgid=\"%s\" AND c_groupid=\"%s\"", ctx.OrgID, refID)) + return s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_group_member WHERE c_orgid=\"%s\" AND c_groupid=\"%s\"", ctx.OrgID, refID)) } // GetGroupMembers returns all user associated with given group. -func (s Scope) GetGroupMembers(ctx domain.RequestContext, groupID string) (members []group.Member, err error) { +func (s Store) GetGroupMembers(ctx domain.RequestContext, groupID string) (members []group.Member, err error) { members = []group.Member{} - err = s.Runtime.Db.Select(&members, ` + err = s.Runtime.Db.Select(&members, s.Bind(` SELECT a.id, a.c_orgid AS orgid, a.c_groupid AS groupid, a.c_userid AS userid, - IFNULL(b.c_firstname, '') as firstname, IFNULL(b.c_lastname, '') as lastname + COALESCE(b.c_firstname, '') as firstname, COALESCE(b.c_lastname, '') as lastname FROM dmz_group_member a LEFT JOIN dmz_user b ON b.c_refid=a.c_userid WHERE a.c_orgid=? AND a.c_groupid=? - ORDER BY b.c_firstname, b.c_lastname`, + ORDER BY b.c_firstname, b.c_lastname`), ctx.OrgID, groupID) if err == sql.ErrNoRows { @@ -132,8 +131,9 @@ func (s Scope) GetGroupMembers(ctx domain.RequestContext, groupID string) (membe } // JoinGroup adds user to group. -func (s Scope) JoinGroup(ctx domain.RequestContext, groupID, userID string) (err error) { - _, err = ctx.Transaction.Exec("INSERT INTO dmz_group_member (c_orgid, c_groupid, c_userid) VALUES (?, ?, ?)", ctx.OrgID, groupID, userID) +func (s Store) JoinGroup(ctx domain.RequestContext, groupID, userID string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_group_member (c_orgid, c_groupid, c_userid) VALUES (?, ?, ?)"), + ctx.OrgID, groupID, userID) if err != nil { err = errors.Wrap(err, "insert group member") } @@ -142,9 +142,9 @@ func (s Scope) JoinGroup(ctx domain.RequestContext, groupID, userID string) (err } // LeaveGroup removes user from group. -func (s Scope) LeaveGroup(ctx domain.RequestContext, groupID, userID string) (err error) { - b := mysql.BaseQuery{} - _, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_group_member WHERE c_orgid=\"%s\" AND c_groupid=\"%s\" AND c_userid=\"%s\"", ctx.OrgID, groupID, userID)) +func (s Store) LeaveGroup(ctx domain.RequestContext, groupID, userID string) (err error) { + _, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_group_member WHERE c_orgid=\"%s\" AND c_groupid=\"%s\" AND c_userid=\"%s\"", + ctx.OrgID, groupID, userID)) if err != nil { err = errors.Wrap(err, "clear group member") } @@ -155,15 +155,15 @@ func (s Scope) LeaveGroup(ctx domain.RequestContext, groupID, userID string) (er // GetMembers returns members for every group. // Useful when you need to bulk fetch membership records // for subsequent processing. -func (s Scope) GetMembers(ctx domain.RequestContext) (r []group.Record, err error) { +func (s Store) GetMembers(ctx domain.RequestContext) (r []group.Record, err error) { r = []group.Record{} - err = s.Runtime.Db.Select(&r, ` + err = s.Runtime.Db.Select(&r, s.Bind(` SELECT a.id, a.c_orgid AS orgid, a.c_groupid AS groupid, a.c_userid AS userid, b.c_name As name, b.c_desc AS purpose FROM dmz_group_member a, dmz_group b WHERE a.c_orgid=? AND a.c_groupid=b.c_refid - ORDER BY a.c_userid`, + ORDER BY a.c_userid`), ctx.OrgID) if err == sql.ErrNoRows { diff --git a/domain/link/mysql/store.go b/domain/link/store.go similarity index 79% rename from domain/link/mysql/store.go rename to domain/link/store.go index a9f4e43e..5adc4b27 100644 --- a/domain/link/mysql/store.go +++ b/domain/link/store.go @@ -9,7 +9,7 @@ // // https://documize.com -package mysql +package link import ( "database/sql" @@ -17,26 +17,26 @@ import ( "strings" "time" - "github.com/documize/community/core/env" "github.com/documize/community/core/uniqueid" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/link" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to space category information. +type Store struct { + store.Context + domain.LinkStorer } // Add inserts wiki-link into the store. // These links exist when content references another document or content. -func (s Scope) Add(ctx domain.RequestContext, l link.Link) (err error) { +func (s Store) Add(ctx domain.RequestContext, l link.Link) (err error) { l.Created = time.Now().UTC() l.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_doc_link (c_refid, c_orgid, c_spaceid, c_userid, c_sourcedocid, c_sourcesectionid, c_targetdocid, c_targetid, c_externalid, c_type, c_orphan, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_doc_link (c_refid, c_orgid, c_spaceid, c_userid, c_sourcedocid, c_sourcesectionid, c_targetdocid, c_targetid, c_externalid, c_type, c_orphan, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"), l.RefID, l.OrgID, l.SpaceID, l.UserID, l.SourceDocumentID, l.SourceSectionID, l.TargetDocumentID, l.TargetID, l.ExternalID, l.LinkType, l.Orphan, l.Created, l.Revised) if err != nil { @@ -47,14 +47,14 @@ func (s Scope) Add(ctx domain.RequestContext, l link.Link) (err error) { } // GetDocumentOutboundLinks returns outbound links for specified document. -func (s Scope) GetDocumentOutboundLinks(ctx domain.RequestContext, documentID string) (links []link.Link, err error) { - err = s.Runtime.Db.Select(&links, ` +func (s Store) GetDocumentOutboundLinks(ctx domain.RequestContext, documentID string) (links []link.Link, err error) { + err = s.Runtime.Db.Select(&links, s.Bind(` select c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_userid AS userid, c_sourcedocid AS sourcedocumentid, c_sourcesectionid AS sourcesectionid, c_targetdocid AS targetdocumentid, c_targetid AS targetid, c_externalid AS externalid, c_type as linktype, c_orphan As orphan, c_created AS created, c_revised AS revised FROM dmz_doc_link - WHERE c_orgid=? AND c_sourcedocid=?`, + WHERE c_orgid=? AND c_sourcedocid=?`), ctx.OrgID, documentID) if err != nil && err != sql.ErrNoRows { @@ -69,14 +69,14 @@ func (s Scope) GetDocumentOutboundLinks(ctx domain.RequestContext, documentID st } // GetPageLinks returns outbound links for specified page in document. -func (s Scope) GetPageLinks(ctx domain.RequestContext, documentID, pageID string) (links []link.Link, err error) { - err = s.Runtime.Db.Select(&links, ` +func (s Store) GetPageLinks(ctx domain.RequestContext, documentID, pageID string) (links []link.Link, err error) { + err = s.Runtime.Db.Select(&links, s.Bind(` select c_refid AS refid, c_orgid AS orgid, c_spaceid AS spaceid, c_userid AS userid, c_sourcedocid AS sourcedocumentid, c_sourcesectionid AS sourcesectionid, c_targetdocid AS targetdocumentid, c_targetid AS targetid, c_externalid AS externalid, c_type as linktype, c_orphan As orphan, c_created AS created, c_revised AS revised FROM dmz_doc_link - WHERE c_orgid=? AND c_sourcedocid=? AND c_sourcesectionid=?`, + WHERE c_orgid=? AND c_sourcedocid=? AND c_sourcesectionid=?`), ctx.OrgID, documentID, pageID) if err != nil && err != sql.ErrNoRows { @@ -91,11 +91,11 @@ func (s Scope) GetPageLinks(ctx domain.RequestContext, documentID, pageID string } // MarkOrphanDocumentLink marks all link records referencing specified document. -func (s Scope) MarkOrphanDocumentLink(ctx domain.RequestContext, documentID string) (err error) { +func (s Store) MarkOrphanDocumentLink(ctx domain.RequestContext, documentID string) (err error) { revised := time.Now().UTC() - _, err = ctx.Transaction.Exec(`UPDATE dmz_doc_link SET + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_doc_link SET c_orphan=1, c_revised=? - WHERE c_type='document' AND c_orgid=? AND c_targetdocid=?`, + WHERE c_type='document' AND c_orgid=? AND c_targetdocid=?`), revised, ctx.OrgID, documentID) if err != nil { @@ -106,11 +106,11 @@ func (s Scope) MarkOrphanDocumentLink(ctx domain.RequestContext, documentID stri } // MarkOrphanPageLink marks all link records referencing specified page. -func (s Scope) MarkOrphanPageLink(ctx domain.RequestContext, pageID string) (err error) { +func (s Store) MarkOrphanPageLink(ctx domain.RequestContext, pageID string) (err error) { revised := time.Now().UTC() - _, err = ctx.Transaction.Exec(`UPDATE dmz_doc_link SET + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_doc_link SET c_orphan=1, c_revised=? - WHERE c_type='section' AND c_orgid=? AND c_targetid=?`, + WHERE c_type='section' AND c_orgid=? AND c_targetid=?`), revised, ctx.OrgID, pageID) if err != nil { @@ -121,11 +121,11 @@ func (s Scope) MarkOrphanPageLink(ctx domain.RequestContext, pageID string) (err } // MarkOrphanAttachmentLink marks all link records referencing specified attachment. -func (s Scope) MarkOrphanAttachmentLink(ctx domain.RequestContext, attachmentID string) (err error) { +func (s Store) MarkOrphanAttachmentLink(ctx domain.RequestContext, attachmentID string) (err error) { revised := time.Now().UTC() - _, err = ctx.Transaction.Exec(`UPDATE dmz_doc_link SET + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_doc_link SET c_orphan=1, c_revised=? - WHERE c_type='file' AND c_orgid=? AND c_targetid=?`, + WHERE c_type='file' AND c_orgid=? AND c_targetid=?`), revised, ctx.OrgID, attachmentID) if err != nil { @@ -136,25 +136,22 @@ func (s Scope) MarkOrphanAttachmentLink(ctx domain.RequestContext, attachmentID } // DeleteSourcePageLinks removes saved links for given source. -func (s Scope) DeleteSourcePageLinks(ctx domain.RequestContext, pageID string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_link WHERE c_orgid=\"%s\" AND c_sourcesectionid=\"%s\"", ctx.OrgID, pageID)) +func (s Store) DeleteSourcePageLinks(ctx domain.RequestContext, pageID string) (rows int64, err error) { + return s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_link WHERE c_orgid=\"%s\" AND c_sourcesectionid=\"%s\"", ctx.OrgID, pageID)) } // DeleteSourceDocumentLinks removes saved links for given document. -func (s Scope) DeleteSourceDocumentLinks(ctx domain.RequestContext, documentID string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_link WHERE c_orgid=\"%s\" AND c_sourcedocid=\"%s\"", ctx.OrgID, documentID)) +func (s Store) DeleteSourceDocumentLinks(ctx domain.RequestContext, documentID string) (rows int64, err error) { + return s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_doc_link WHERE c_orgid=\"%s\" AND c_sourcedocid=\"%s\"", ctx.OrgID, documentID)) } // DeleteLink removes saved link from the store. -func (s Scope) DeleteLink(ctx domain.RequestContext, id string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteConstrained(ctx.Transaction, "dmz_doc_link", ctx.OrgID, id) +func (s Store) DeleteLink(ctx domain.RequestContext, id string) (rows int64, err error) { + return s.DeleteConstrained(ctx.Transaction, "dmz_doc_link", ctx.OrgID, id) } // SearchCandidates returns matching documents, sections and attachments using keywords. -func (s Scope) SearchCandidates(ctx domain.RequestContext, keywords string) (docs []link.Candidate, +func (s Store) SearchCandidates(ctx domain.RequestContext, keywords string) (docs []link.Candidate, pages []link.Candidate, attachments []link.Candidate, err error) { // find matching documents @@ -162,7 +159,7 @@ func (s Scope) SearchCandidates(ctx domain.RequestContext, keywords string) (doc keywords = strings.TrimSpace(strings.ToLower(keywords)) likeQuery := "LOWER(d.c_name) LIKE '%" + keywords + "%'" - err = s.Runtime.Db.Select(&temp, ` + err = s.Runtime.Db.Select(&temp, s.Bind(` SELECT d.c_refid AS documentid, d.c_spaceid AS spaceid, d.c_name AS title, l.c_name AS context FROM dmz_doc d LEFT JOIN dmz_space l ON d.c_spaceid=l.c_refid WHERE l.c_orgid=? AND `+likeQuery+` AND d.c_spaceid IN @@ -175,7 +172,8 @@ func (s Scope) SearchCandidates(ctx domain.RequestContext, keywords string) (doc ) ) ) - ORDER BY title`, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) + ORDER BY title`), + ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) if err != nil { err = errors.Wrap(err, "execute search links 1") @@ -200,7 +198,7 @@ func (s Scope) SearchCandidates(ctx domain.RequestContext, keywords string) (doc likeQuery = "LOWER(p.c_name) LIKE '%" + keywords + "%'" temp = []link.Candidate{} - err = s.Runtime.Db.Select(&temp, ` + err = s.Runtime.Db.Select(&temp, s.Bind(` SELECT p.c_refid AS targetid, p.c_docid AS documentid, p.c_name AS title, p.c_type AS linktype, d.c_name AS context, d.c_spaceid AS spaceid FROM dmz_section p LEFT JOIN dmz_doc d ON d.c_refid=p.c_docid @@ -214,7 +212,7 @@ func (s Scope) SearchCandidates(ctx domain.RequestContext, keywords string) (doc ) ) ) - ORDER BY p.c_name`, + ORDER BY p.c_name`), ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) if err != nil { @@ -240,7 +238,7 @@ func (s Scope) SearchCandidates(ctx domain.RequestContext, keywords string) (doc likeQuery = "LOWER(a.c_filename) LIKE '%" + keywords + "%'" temp = []link.Candidate{} - err = s.Runtime.Db.Select(&temp, ` + err = s.Runtime.Db.Select(&temp, s.Bind(` SELECT a.c_refid AS targetid, a.c_docid AS documentid, a.c_filename AS title, a.c_extension AS context, d.c_spaceid AS spaceid FROM dmz_doc_attachment a LEFT JOIN dmz_doc d ON d.c_refid=a.c_docid WHERE a.c_orgid=? AND `+likeQuery+` AND d.c_spaceid IN @@ -253,7 +251,8 @@ func (s Scope) SearchCandidates(ctx domain.RequestContext, keywords string) (doc ) ) ) - ORDER BY a.c_filename`, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) + ORDER BY a.c_filename`), + ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.OrgID, ctx.UserID, ctx.OrgID, ctx.UserID) if err != nil { err = errors.Wrap(err, "execute search links 3") diff --git a/domain/meta/mysql/store.go b/domain/meta/store.go similarity index 81% rename from domain/meta/mysql/store.go rename to domain/meta/store.go index 9dc3c0cf..49680dff 100644 --- a/domain/meta/mysql/store.go +++ b/domain/meta/store.go @@ -9,25 +9,26 @@ // // https://documize.com -package mysql +package meta import ( "database/sql" - "github.com/documize/community/core/env" "github.com/documize/community/domain" + "github.com/documize/community/domain/store" "github.com/documize/community/model/page" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to space category information. +type Store struct { + store.Context + domain.MetaStorer } // GetDocumentsID returns every document ID value stored. // The query runs at the instance level across all tenants. -func (s Scope) GetDocumentsID(ctx domain.RequestContext) (documents []string, err error) { +func (s Store) GetDocumentsID(ctx domain.RequestContext) (documents []string, err error) { err = s.Runtime.Db.Select(&documents, `SELECT c_refid FROM dmz_doc WHERE c_lifecycle=1`) if err == sql.ErrNoRows { @@ -42,15 +43,15 @@ func (s Scope) GetDocumentsID(ctx domain.RequestContext) (documents []string, er } // GetDocumentPages returns a slice containing all published page records for a given documentID, in presentation sequence. -func (s Scope) GetDocumentPages(ctx domain.RequestContext, documentID string) (p []page.Page, err error) { - err = s.Runtime.Db.Select(&p, ` +func (s Store) GetDocumentPages(ctx domain.RequestContext, documentID string) (p []page.Page, err error) { + err = s.Runtime.Db.Select(&p, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_userid AS userid, c_contenttype AS contenttype, c_type AS type, c_level AS level, c_sequence AS sequence, c_name AS name, c_body AS body, c_revisions AS revisions, c_templateid AS templateid, c_status AS status, c_relativeid AS relativeid, c_created AS created, c_revised AS revised FROM dmz_section - WHERE c_docid=? AND (c_status=0 OR ((c_status=4 OR c_status=2) AND c_relativeid=''))`, + WHERE c_docid=? AND (c_status=0 OR ((c_status=4 OR c_status=2) AND c_relativeid=''))`), documentID) if err != nil { @@ -61,7 +62,7 @@ func (s Scope) GetDocumentPages(ctx domain.RequestContext, documentID string) (p } // SearchIndexCount returns the numnber of index entries. -func (s Scope) SearchIndexCount(ctx domain.RequestContext) (c int, err error) { +func (s Store) SearchIndexCount(ctx domain.RequestContext) (c int, err error) { row := s.Runtime.Db.QueryRow("SELECT count(*) FROM dmz_search") err = row.Scan(&c) if err != nil { diff --git a/domain/organization/mysql/store.go b/domain/organization/store.go similarity index 74% rename from domain/organization/mysql/store.go rename to domain/organization/store.go index d46a1e67..63434239 100644 --- a/domain/organization/mysql/store.go +++ b/domain/organization/store.go @@ -20,23 +20,24 @@ import ( "github.com/documize/community/core/env" "github.com/documize/community/core/streamutil" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/org" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to organization (tenant) information. +type Store struct { + store.Context + domain.OrganizationStorer } // AddOrganization inserts the passed organization record into the organization table. -func (s Scope) AddOrganization(ctx domain.RequestContext, org org.Organization) (err error) { +func (s Store) AddOrganization(ctx domain.RequestContext, org org.Organization) (err error) { org.Created = time.Now().UTC() org.Revised = time.Now().UTC() _, err = ctx.Transaction.Exec( - "INSERT INTO dmz_org (c_refid, c_company, c_title, c_message, c_domain, c_email, c_anonaccess, c_serial, c_maxtags, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + s.Bind("INSERT INTO dmz_org (c_refid, c_company, c_title, c_message, c_domain, c_email, c_anonaccess, c_serial, c_maxtags, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"), org.RefID, org.Company, org.Title, org.Message, strings.ToLower(org.Domain), strings.ToLower(org.Email), org.AllowAnonymousAccess, org.Serial, org.MaxTags, org.Created, org.Revised) @@ -48,15 +49,15 @@ func (s Scope) AddOrganization(ctx domain.RequestContext, org org.Organization) } // GetOrganization returns the Organization reocrod from the organization database table with the given id. -func (s Scope) GetOrganization(ctx domain.RequestContext, id string) (org org.Organization, err error) { - stmt, err := s.Runtime.Db.Preparex(`SELECT id, c_refid AS refid, +func (s Store) GetOrganization(ctx domain.RequestContext, id string) (org org.Organization, err error) { + stmt, err := s.Runtime.Db.Preparex(s.Bind(`SELECT id, c_refid AS refid, c_title AS title, c_message AS message, c_domain AS domain, c_service AS conversionendpoint, c_email AS email, c_serial AS serial, c_active AS active, c_anonaccess AS allowanonymousaccess, c_authprovider AS authprovider, - coalesce(c_authconfig,JSON_UNQUOTE('{}')) AS authconfig, c_maxtags AS maxtags, + coalesce(c_authconfig,` + s.EmptyJSON() + `) AS authconfig, c_maxtags AS maxtags, c_created AS created, c_revised AS revised FROM dmz_org - WHERE c_refid=?`) + WHERE c_refid=?`)) defer streamutil.Close(stmt) if err != nil { @@ -75,7 +76,7 @@ func (s Scope) GetOrganization(ctx domain.RequestContext, id string) (org org.Or // GetOrganizationByDomain returns the organization matching a given URL subdomain. // No context is required because user might not be authenticated yet. -func (s Scope) GetOrganizationByDomain(subdomain string) (o org.Organization, err error) { +func (s Store) GetOrganizationByDomain(subdomain string) (o org.Organization, err error) { err = nil subdomain = strings.TrimSpace(strings.ToLower(subdomain)) @@ -86,14 +87,15 @@ func (s Scope) GetOrganizationByDomain(subdomain string) (o org.Organization, er } // match on given domain name - err = s.Runtime.Db.Get(&o, `SELECT id, c_refid AS refid, + err = s.Runtime.Db.Get(&o, s.Bind(`SELECT id, c_refid AS refid, c_title AS title, c_message AS message, c_domain AS domain, c_service AS conversionendpoint, c_email AS email, c_serial AS serial, c_active AS active, c_anonaccess AS allowanonymousaccess, c_authprovider AS authprovider, - coalesce(c_authconfig,JSON_UNQUOTE('{}')) AS authconfig, c_maxtags AS maxtags, + coalesce(c_authconfig,`+s.EmptyJSON()+`) AS authconfig, c_maxtags AS maxtags, c_created AS created, c_revised AS revised FROM dmz_org - WHERE c_domain=? AND c_active=1`, subdomain) + WHERE c_domain=? AND c_active=1`), + subdomain) if err == nil { return } @@ -101,14 +103,15 @@ func (s Scope) GetOrganizationByDomain(subdomain string) (o org.Organization, er err = nil // match on empty domain AS last resort - err = s.Runtime.Db.Get(&o, `SELECT id, c_refid AS refid, + err = s.Runtime.Db.Get(&o, s.Bind(`SELECT id, c_refid AS refid, c_title AS title, c_message AS message, c_domain AS domain, c_service AS conversionendpoint, c_email AS email, c_serial AS serial, c_active AS active, c_anonaccess AS allowanonymousaccess, c_authprovider AS authprovider, - coalesce(c_authconfig,JSON_UNQUOTE('{}')) AS authconfig, c_maxtags AS maxtags, + coalesce(c_authconfig,`+s.EmptyJSON()+`) AS authconfig, c_maxtags AS maxtags, c_created AS created, c_revised AS revised FROM dmz_org - WHERE c_domain='' AND c_active=1`) + WHERE c_domain='' AND c_active=1`)) + if err != nil && err != sql.ErrNoRows { err = errors.Wrap(err, "unable to execute select for empty subdomain") } @@ -117,7 +120,7 @@ func (s Scope) GetOrganizationByDomain(subdomain string) (o org.Organization, er } // UpdateOrganization updates the given organization record in the database to the values supplied. -func (s Scope) UpdateOrganization(ctx domain.RequestContext, org org.Organization) (err error) { +func (s Store) UpdateOrganization(ctx domain.RequestContext, org org.Organization) (err error) { org.Revised = time.Now().UTC() _, err = ctx.Transaction.NamedExec(`UPDATE dmz_org SET @@ -134,14 +137,13 @@ func (s Scope) UpdateOrganization(ctx domain.RequestContext, org org.Organizatio } // DeleteOrganization deletes the orgID organization from the organization table. -func (s Scope) DeleteOrganization(ctx domain.RequestContext, orgID string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.Delete(ctx.Transaction, "dmz_org", orgID) +func (s Store) DeleteOrganization(ctx domain.RequestContext, orgID string) (rows int64, err error) { + return s.Delete(ctx.Transaction, "dmz_org", orgID) } // RemoveOrganization sets the orgID organization to be inactive, thus executing a "soft delete" operation. -func (s Scope) RemoveOrganization(ctx domain.RequestContext, orgID string) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_org SET c_active=0 WHERE c_refid=?", orgID) +func (s Store) RemoveOrganization(ctx domain.RequestContext, orgID string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_org SET c_active=0 WHERE c_refid=?"), orgID) if err != nil { err = errors.Wrap(err, fmt.Sprintf("unable to execute soft delete for org %s", orgID)) @@ -151,7 +153,7 @@ func (s Scope) RemoveOrganization(ctx domain.RequestContext, orgID string) (err } // UpdateAuthConfig updates the given organization record in the database with the auth config details. -func (s Scope) UpdateAuthConfig(ctx domain.RequestContext, org org.Organization) (err error) { +func (s Store) UpdateAuthConfig(ctx domain.RequestContext, org org.Organization) (err error) { org.Revised = time.Now().UTC() _, err = ctx.Transaction.NamedExec(`UPDATE dmz_org SET @@ -168,8 +170,8 @@ func (s Scope) UpdateAuthConfig(ctx domain.RequestContext, org org.Organization) } // CheckDomain makes sure there is an organisation with the correct domain -func (s Scope) CheckDomain(ctx domain.RequestContext, domain string) string { - row := s.Runtime.Db.QueryRow("SELECT COUNT(*) FROM dmz_org WHERE c_domain=? AND c_active=1", domain) +func (s Store) CheckDomain(ctx domain.RequestContext, domain string) string { + row := s.Runtime.Db.QueryRow(s.Bind("SELECT COUNT(*) FROM dmz_org WHERE c_domain=? AND c_active=1"), domain) var count int err := row.Scan(&count) @@ -177,7 +179,6 @@ func (s Scope) CheckDomain(ctx domain.RequestContext, domain string) string { if err != nil { return "" } - if count == 1 { return domain } diff --git a/domain/page/mysql/store.go b/domain/page/store.go similarity index 75% rename from domain/page/mysql/store.go rename to domain/page/store.go index 24038b2c..496841c9 100644 --- a/domain/page/mysql/store.go +++ b/domain/page/store.go @@ -9,23 +9,23 @@ // // https://documize.com -package mysql +package page import ( "database/sql" "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/page" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to organization (tenant) information. +type Store struct { + store.Context + domain.OrganizationStorer } //************************************************** @@ -33,7 +33,7 @@ type Scope struct { //************************************************** // Add inserts the given page into the page table, adds that page to the queue of pages to index and audits that the page has been added. -func (s Scope) Add(ctx domain.RequestContext, model page.NewPage) (err error) { +func (s Store) Add(ctx domain.RequestContext, model page.NewPage) (err error) { model.Page.OrgID = ctx.OrgID model.Page.UserID = ctx.UserID model.Page.Created = time.Now().UTC() @@ -47,7 +47,9 @@ func (s Scope) Add(ctx domain.RequestContext, model page.NewPage) (err error) { if model.Page.Sequence == 0 { // Get maximum page sequence number and increment (used to be AND pagetype='section') - row := s.Runtime.Db.QueryRow("SELECT max(c_sequence) FROM dmz_section WHERE c_orgid=? AND c_docid=?", ctx.OrgID, model.Page.DocumentID) + row := s.Runtime.Db.QueryRow(s.Bind("SELECT max(c_sequence) FROM dmz_section WHERE c_orgid=? AND c_docid=?"), + ctx.OrgID, model.Page.DocumentID) + var maxSeq float64 err = row.Scan(&maxSeq) if err != nil { @@ -57,10 +59,10 @@ func (s Scope) Add(ctx domain.RequestContext, model page.NewPage) (err error) { model.Page.Sequence = maxSeq * 2 } - _, err = ctx.Transaction.Exec("INSERT INTO dmz_section (c_refid, c_orgid, c_docid, c_userid, c_contenttype, c_type, c_level, c_name, c_body, c_revisions, c_sequence, c_templateid, c_status, c_relativeid, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_section (c_refid, c_orgid, c_docid, c_userid, c_contenttype, c_type, c_level, c_name, c_body, c_revisions, c_sequence, c_templateid, c_status, c_relativeid, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"), model.Page.RefID, model.Page.OrgID, model.Page.DocumentID, model.Page.UserID, model.Page.ContentType, model.Page.Type, model.Page.Level, model.Page.Name, model.Page.Body, model.Page.Revisions, model.Page.Sequence, model.Page.TemplateID, model.Page.Status, model.Page.RelativeID, model.Page.Created, model.Page.Revised) - _, err = ctx.Transaction.Exec("INSERT INTO dmz_section_meta (c_sectionid, c_orgid, c_userid, c_docid, c_rawbody, c_config, c_external, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_section_meta (c_sectionid, c_orgid, c_userid, c_docid, c_rawbody, c_config, c_external, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"), model.Meta.SectionID, model.Meta.OrgID, model.Meta.UserID, model.Meta.DocumentID, model.Meta.RawBody, model.Meta.Config, model.Meta.ExternalSource, model.Meta.Created, model.Meta.Revised) if err != nil { @@ -71,13 +73,13 @@ func (s Scope) Add(ctx domain.RequestContext, model page.NewPage) (err error) { } // Get returns the pageID page record from the page table. -func (s Scope) Get(ctx domain.RequestContext, pageID string) (p page.Page, err error) { - err = s.Runtime.Db.Get(&p, ` +func (s Store) Get(ctx domain.RequestContext, pageID string) (p page.Page, err error) { + err = s.Runtime.Db.Get(&p, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_userid AS userid, c_contenttype AS contenttype, c_type AS type, c_level AS level, c_sequence AS sequence, c_name AS name, c_body AS body, c_revisions AS revisions, c_templateid AS templateid, c_status AS status, c_relativeid AS relativeid, c_created AS created, c_revised AS revised FROM dmz_section - WHERE c_orgid=? AND c_refid=?`, + WHERE c_orgid=? AND c_refid=?`), ctx.OrgID, pageID) if err != nil { @@ -88,14 +90,14 @@ func (s Scope) Get(ctx domain.RequestContext, pageID string) (p page.Page, err e } // GetPages returns a slice containing all published page records for a given documentID, in presentation sequence. -func (s Scope) GetPages(ctx domain.RequestContext, documentID string) (p []page.Page, err error) { - err = s.Runtime.Db.Select(&p, ` +func (s Store) GetPages(ctx domain.RequestContext, documentID string) (p []page.Page, err error) { + err = s.Runtime.Db.Select(&p, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_userid AS userid, c_contenttype AS contenttype, c_type AS type, c_level AS level, c_sequence AS sequence, c_name AS name, c_body AS body, c_revisions AS revisions, c_templateid AS templateid, c_status AS status, c_relativeid AS relativeid, c_created AS created, c_revised AS revised FROM dmz_section WHERE c_orgid=? AND c_docid=? AND (c_status=0 OR ((c_status=4 OR c_status=2) AND c_relativeid='')) - ORDER BY c_sequence`, + ORDER BY c_sequence`), ctx.OrgID, documentID) if err != nil { @@ -106,14 +108,14 @@ func (s Scope) GetPages(ctx domain.RequestContext, documentID string) (p []page. } // GetUnpublishedPages returns a slice containing all published page records for a given documentID, in presentation sequence. -func (s Scope) GetUnpublishedPages(ctx domain.RequestContext, documentID string) (p []page.Page, err error) { - err = s.Runtime.Db.Select(&p, ` +func (s Store) GetUnpublishedPages(ctx domain.RequestContext, documentID string) (p []page.Page, err error) { + err = s.Runtime.Db.Select(&p, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_userid AS userid, c_contenttype AS contenttype, c_type AS type, c_level AS level, c_sequence AS sequence, c_name AS name, c_body AS body, c_revisions AS revisions, c_templateid AS templateid, c_status AS status, c_relativeid AS relativeid, c_created AS created, c_revised AS revised FROM dmz_section WHERE c_orgid=? AND c_docid=? AND c_status!=0 AND c_relativeid!='' - ORDER BY c_sequence`, + ORDER BY c_sequence`), ctx.OrgID, documentID) if err != nil { @@ -125,14 +127,14 @@ func (s Scope) GetUnpublishedPages(ctx domain.RequestContext, documentID string) // GetPagesWithoutContent returns a slice containing all the page records for a given documentID, in presentation sequence, // but without the body field (which holds the HTML content). -func (s Scope) GetPagesWithoutContent(ctx domain.RequestContext, documentID string) (pages []page.Page, err error) { - err = s.Runtime.Db.Select(&pages, ` +func (s Store) GetPagesWithoutContent(ctx domain.RequestContext, documentID string) (pages []page.Page, err error) { + err = s.Runtime.Db.Select(&pages, s.Bind(` SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_userid AS userid, c_contenttype AS contenttype, c_type AS type, c_level AS level, c_sequence AS sequence, c_name AS name, c_revisions AS revisions, c_templateid AS templateid, c_status AS status, c_relativeid AS relativeid, c_created AS created, c_revised AS revised FROM dmz_section WHERE c_orgid=? AND c_docid=? AND c_status=0 - ORDER BY c_sequence`, + ORDER BY c_sequence`), ctx.OrgID, documentID) if err != nil { @@ -144,12 +146,12 @@ func (s Scope) GetPagesWithoutContent(ctx domain.RequestContext, documentID stri // Update saves changes to the database and handles recording of revisions. // Not all updates result in a revision being recorded hence the parameter. -func (s Scope) Update(ctx domain.RequestContext, page page.Page, refID, userID string, skipRevision bool) (err error) { +func (s Store) Update(ctx domain.RequestContext, page page.Page, refID, userID string, skipRevision bool) (err error) { page.Revised = time.Now().UTC() // Store revision history if !skipRevision { - _, err = ctx.Transaction.Exec(` + _, err = ctx.Transaction.Exec(s.Bind(` INSERT INTO dmz_section_revision (c_refid, c_orgid, c_docid, c_ownerid, c_sectionid, c_userid, c_contenttype, c_type, c_name, c_body, c_rawbody, c_config, c_created, c_revised) @@ -157,7 +159,7 @@ func (s Scope) Update(ctx domain.RequestContext, page page.Page, refID, userID s ? AS userid, a.c_contenttype, a.c_type, a.c_name, a.c_body, b.c_rawbody, b.c_config, ? AS c_created, ? As c_revised FROM dmz_section a, dmz_section_meta b - WHERE a.c_refid=? AND a.c_refid=b.c_sectionid`, + WHERE a.c_refid=? AND a.c_refid=b.c_sectionid`), refID, userID, time.Now().UTC(), time.Now().UTC(), page.RefID) if err != nil { @@ -181,8 +183,8 @@ func (s Scope) Update(ctx domain.RequestContext, page page.Page, refID, userID s // Update revisions counter if !skipRevision { - _, err = ctx.Transaction.Exec(`UPDATE dmz_section SET c_revisions=c_revisions+1 - WHERE c_orgid=? AND c_refid=?`, + _, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_section SET c_revisions=c_revisions+1 + WHERE c_orgid=? AND c_refid=?`), ctx.OrgID, page.RefID) if err != nil { @@ -195,16 +197,14 @@ func (s Scope) Update(ctx domain.RequestContext, page page.Page, refID, userID s // Delete deletes the pageID page in the document. // It then propagates that change into the search table, adds a delete the page revisions history, and audits that the page has been removed. -func (s Scope) Delete(ctx domain.RequestContext, documentID, pageID string) (rows int64, err error) { - b := mysql.BaseQuery{} - rows, err = b.DeleteConstrained(ctx.Transaction, "dmz_section", ctx.OrgID, pageID) - +func (s Store) Delete(ctx domain.RequestContext, documentID, pageID string) (rows int64, err error) { + rows, err = s.DeleteConstrained(ctx.Transaction, "dmz_section", ctx.OrgID, pageID) if err == nil { - _, _ = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section_meta WHERE c_orgid='%s' AND c_sectionid='%s'", ctx.OrgID, pageID)) + _, _ = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section_meta WHERE c_orgid='%s' AND c_sectionid='%s'", ctx.OrgID, pageID)) } if err == nil { - _, _ = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_action WHERE c_orgid='%s' AND c_reftypeid='%s' AND c_reftype='P'", ctx.OrgID, pageID)) + _, _ = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_action WHERE c_orgid='%s' AND c_reftypeid='%s' AND c_reftype='P'", ctx.OrgID, pageID)) } return @@ -215,7 +215,7 @@ func (s Scope) Delete(ctx domain.RequestContext, documentID, pageID string) (row //************************************************** // UpdateMeta persists meta information associated with a document page. -func (s Scope) UpdateMeta(ctx domain.RequestContext, meta page.Meta, updateUserID bool) (err error) { +func (s Store) UpdateMeta(ctx domain.RequestContext, meta page.Meta, updateUserID bool) (err error) { meta.Revised = time.Now().UTC() if updateUserID { @@ -236,13 +236,13 @@ func (s Scope) UpdateMeta(ctx domain.RequestContext, meta page.Meta, updateUserI } // GetPageMeta returns the meta information associated with the page. -func (s Scope) GetPageMeta(ctx domain.RequestContext, pageID string) (meta page.Meta, err error) { - err = s.Runtime.Db.Get(&meta, `SELECT id, c_sectionid AS sectionid, +func (s Store) GetPageMeta(ctx domain.RequestContext, pageID string) (meta page.Meta, err error) { + err = s.Runtime.Db.Get(&meta, s.Bind(`SELECT id, c_sectionid AS sectionid, c_orgid AS orgid, c_userid AS userid, c_docid AS documentid, - c_rawbody AS rawbody, coalesce(c_config,JSON_UNQUOTE('{}')) as config, + c_rawbody AS rawbody, coalesce(c_config,`+s.EmptyJSON()+`) as config, c_external AS externalsource, c_created AS created, c_revised AS revised FROM dmz_section_meta - WHERE c_orgid=? AND c_sectionid=?`, + WHERE c_orgid=? AND c_sectionid=?`), ctx.OrgID, pageID) if err != nil && err != sql.ErrNoRows { @@ -253,18 +253,18 @@ func (s Scope) GetPageMeta(ctx domain.RequestContext, pageID string) (meta page. } // GetDocumentPageMeta returns the meta information associated with a document. -func (s Scope) GetDocumentPageMeta(ctx domain.RequestContext, documentID string, externalSourceOnly bool) (meta []page.Meta, err error) { +func (s Store) GetDocumentPageMeta(ctx domain.RequestContext, documentID string, externalSourceOnly bool) (meta []page.Meta, err error) { filter := "" if externalSourceOnly { filter = " AND c_external=1" } - err = s.Runtime.Db.Select(&meta, `SELECT id, c_sectionid AS sectionid, + err = s.Runtime.Db.Select(&meta, s.Bind(`SELECT id, c_sectionid AS sectionid, c_orgid AS orgid, c_userid AS userid, c_docid AS documentid, - c_rawbody AS rawbody, coalesce(c_config,JSON_UNQUOTE('{}')) as config, + c_rawbody AS rawbody, coalesce(c_config,`+s.EmptyJSON()+`) as config, c_external AS externalsource, c_created AS created, c_revised AS revised FROM dmz_section_meta - WHERE c_orgid=? AND c_docid=?`+filter, + WHERE c_orgid=? AND c_docid=?`+filter), ctx.OrgID, documentID) if err != nil { @@ -280,8 +280,8 @@ func (s Scope) GetDocumentPageMeta(ctx domain.RequestContext, documentID string, // UpdateSequence changes the presentation sequence of the pageID page in the document. // It then propagates that change into the search table and audits that it has occurred. -func (s Scope) UpdateSequence(ctx domain.RequestContext, documentID, pageID string, sequence float64) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_section SET c_sequence=? WHERE c_orgid=? AND c_refid=?", +func (s Store) UpdateSequence(ctx domain.RequestContext, documentID, pageID string, sequence float64) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_section SET c_sequence=? WHERE c_orgid=? AND c_refid=?"), sequence, ctx.OrgID, pageID) if err != nil { @@ -293,8 +293,8 @@ func (s Scope) UpdateSequence(ctx domain.RequestContext, documentID, pageID stri // UpdateLevel changes the heading level of the pageID page in the document. // It then propagates that change into the search table and audits that it has occurred. -func (s Scope) UpdateLevel(ctx domain.RequestContext, documentID, pageID string, level int) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_section SET c_level=? WHERE c_orgid=? AND c_refid=?", +func (s Store) UpdateLevel(ctx domain.RequestContext, documentID, pageID string, level int) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_section SET c_level=? WHERE c_orgid=? AND c_refid=?"), level, ctx.OrgID, pageID) if err != nil { @@ -305,8 +305,8 @@ func (s Scope) UpdateLevel(ctx domain.RequestContext, documentID, pageID string, } // UpdateLevelSequence changes page level and sequence numbers. -func (s Scope) UpdateLevelSequence(ctx domain.RequestContext, documentID, pageID string, level int, sequence float64) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_section SET c_level=?, c_sequence=? WHERE c_orgid=? AND c_refid=?", +func (s Store) UpdateLevelSequence(ctx domain.RequestContext, documentID, pageID string, level int, sequence float64) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_section SET c_level=?, c_sequence=? WHERE c_orgid=? AND c_refid=?"), level, sequence, ctx.OrgID, pageID) if err != nil { @@ -317,8 +317,8 @@ func (s Scope) UpdateLevelSequence(ctx domain.RequestContext, documentID, pageID } // GetNextPageSequence returns the next sequence numbner to use for a page in given document. -func (s Scope) GetNextPageSequence(ctx domain.RequestContext, documentID string) (maxSeq float64, err error) { - row := s.Runtime.Db.QueryRow("SELECT max(c_sequence) FROM dmz_section WHERE c_orgid=? AND c_docid=?", +func (s Store) GetNextPageSequence(ctx domain.RequestContext, documentID string) (maxSeq float64, err error) { + row := s.Runtime.Db.QueryRow(s.Bind("SELECT max(c_sequence) FROM dmz_section WHERE c_orgid=? AND c_docid=?"), ctx.OrgID, documentID) err = row.Scan(&maxSeq) @@ -335,14 +335,15 @@ func (s Scope) GetNextPageSequence(ctx domain.RequestContext, documentID string) //************************************************** // GetPageRevision returns the revisionID page revision record. -func (s Scope) GetPageRevision(ctx domain.RequestContext, revisionID string) (revision page.Revision, err error) { - err = s.Runtime.Db.Get(&revision, `SELECT id, c_refid AS refid, +func (s Store) GetPageRevision(ctx domain.RequestContext, revisionID string) (revision page.Revision, err error) { + err = s.Runtime.Db.Get(&revision, s.Bind(`SELECT id, c_refid AS refid, c_orgid AS orgid, c_docid AS documentid, c_ownerid AS ownerid, c_sectionid AS sectionid, c_userid AS userid, c_contenttype AS contenttype, c_type AS type, - c_name AS name, c_body AS body, coalesce(c_rawbody, '') as rawbody, coalesce(c_config,JSON_UNQUOTE('{}')) as config, + c_name AS name, c_body AS body, coalesce(c_rawbody, '') as rawbody, + coalesce(c_config,`+s.EmptyJSON()+`) as config, c_created AS created, c_revised AS revised FROM dmz_section_revision - WHERE c_orgid=? and c_refid=?`, + WHERE c_orgid=? and c_refid=?`), ctx.OrgID, revisionID) if err != nil { @@ -354,9 +355,10 @@ func (s Scope) GetPageRevision(ctx domain.RequestContext, revisionID string) (re // GetPageRevisions returns a slice of page revision records for a given pageID, in the order they were created. // Then audits that the get-page-revisions action has occurred. -func (s Scope) GetPageRevisions(ctx domain.RequestContext, pageID string) (revisions []page.Revision, err error) { - err = s.Runtime.Db.Select(&revisions, `SELECT a.id, a.c_refid AS refid, - a.c_orgid AS orgid, a.c_docid AS documentid, a.c_ownerid AS ownerid, a.c_sectionid AS sectionid, a.c_userid AS userid, +func (s Store) GetPageRevisions(ctx domain.RequestContext, pageID string) (revisions []page.Revision, err error) { + err = s.Runtime.Db.Select(&revisions, s.Bind(`SELECT a.id, a.c_refid AS refid, + a.c_orgid AS orgid, a.c_docid AS documentid, a.c_ownerid AS ownerid, a.c_sectionid AS sectionid, + a.c_userid AS userid, a.c_contenttype AS contenttype, a.c_type AS type, a.c_name AS name, a.c_created AS created, a.c_revised AS revised, coalesce(b.c_email,'') as email, coalesce(b.c_firstname,'') as firstname, @@ -364,7 +366,7 @@ func (s Scope) GetPageRevisions(ctx domain.RequestContext, pageID string) (revis FROM dmz_section_revision a LEFT JOIN dmz_user b ON a.c_userid=b.c_refid WHERE a.c_orgid=? AND a.c_sectionid=? AND a.c_type='section' - ORDER BY a.id DESC`, + ORDER BY a.id DESC`), ctx.OrgID, pageID) if err != nil { @@ -376,8 +378,8 @@ func (s Scope) GetPageRevisions(ctx domain.RequestContext, pageID string) (revis // GetDocumentRevisions returns a slice of page revision records for a given document, in the order they were created. // Then audits that the get-page-revisions action has occurred. -func (s Scope) GetDocumentRevisions(ctx domain.RequestContext, documentID string) (revisions []page.Revision, err error) { - err = s.Runtime.Db.Select(&revisions, `SELECT a.id, a.c_refid AS refid, +func (s Store) GetDocumentRevisions(ctx domain.RequestContext, documentID string) (revisions []page.Revision, err error) { + err = s.Runtime.Db.Select(&revisions, s.Bind(`SELECT a.id, a.c_refid AS refid, a.c_orgid AS orgid, a.c_docid AS documentid, a.c_ownerid AS ownerid, a.c_sectionid AS sectionid, a.c_userid AS userid, a.c_contenttype AS contenttype, a.c_type AS type, a.c_name AS name, a.c_created AS created, a.c_revised AS revised, @@ -388,7 +390,7 @@ func (s Scope) GetDocumentRevisions(ctx domain.RequestContext, documentID string LEFT JOIN dmz_user b ON a.c_userid=b.c_refid LEFT JOIN dmz_section p ON a.c_sectionid=p.c_refid WHERE a.c_orgid=? AND a.c_docid=? AND a.c_type='section' - ORDER BY a.id DESC`, + ORDER BY a.id DESC`), ctx.OrgID, documentID) if len(revisions) == 0 { @@ -403,9 +405,8 @@ func (s Scope) GetDocumentRevisions(ctx domain.RequestContext, documentID string } // DeletePageRevisions deletes all of the page revision records for a given pageID. -func (s Scope) DeletePageRevisions(ctx domain.RequestContext, pageID string) (rows int64, err error) { - b := mysql.BaseQuery{} - rows, err = b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section_revision WHERE c_orgid='%s' AND c_sectionid='%s'", +func (s Store) DeletePageRevisions(ctx domain.RequestContext, pageID string) (rows int64, err error) { + rows, err = s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_section_revision WHERE c_orgid='%s' AND c_sectionid='%s'", ctx.OrgID, pageID)) return diff --git a/domain/permission/mysql/store.go b/domain/permission/store.go similarity index 78% rename from domain/permission/mysql/store.go rename to domain/permission/store.go index 128df6f0..81fd6666 100644 --- a/domain/permission/mysql/store.go +++ b/domain/permission/store.go @@ -9,32 +9,31 @@ // // https://documize.com -// Package mysql handles data persistence for space and document permissions. -package mysql +package permission import ( "database/sql" "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/permission" "github.com/documize/community/model/user" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to user permission information. +type Store struct { + store.Context + domain.PermissionStorer } // AddPermission inserts the given record into the permisssion table. -func (s Scope) AddPermission(ctx domain.RequestContext, r permission.Permission) (err error) { +func (s Store) AddPermission(ctx domain.RequestContext, r permission.Permission) (err error) { r.Created = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_permission (c_orgid, c_who, c_whoid, c_action, c_scope, c_location, c_refid, c_created) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_permission (c_orgid, c_who, c_whoid, c_action, c_scope, c_location, c_refid, c_created) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"), r.OrgID, string(r.Who), r.WhoID, string(r.Action), string(r.Scope), string(r.Location), r.RefID, r.Created) if err != nil { @@ -45,7 +44,7 @@ func (s Scope) AddPermission(ctx domain.RequestContext, r permission.Permission) } // AddPermissions inserts records into permission database table, one per action. -func (s Scope) AddPermissions(ctx domain.RequestContext, r permission.Permission, actions ...permission.Action) (err error) { +func (s Store) AddPermissions(ctx domain.RequestContext, r permission.Permission, actions ...permission.Action) (err error) { for _, a := range actions { r.Action = a @@ -61,10 +60,10 @@ func (s Scope) AddPermissions(ctx domain.RequestContext, r permission.Permission // GetUserSpacePermissions returns space permissions for user. // Context is used to for userID because must match by userID // or everyone ID of 0. -func (s Scope) GetUserSpacePermissions(ctx domain.RequestContext, spaceID string) (r []permission.Permission, err error) { +func (s Store) GetUserSpacePermissions(ctx domain.RequestContext, spaceID string) (r []permission.Permission, err error) { r = []permission.Permission{} - err = s.Runtime.Db.Select(&r, ` + err = s.Runtime.Db.Select(&r, s.Bind(` SELECT id, c_orgid AS orgid, c_who AS who, c_whoid AS whoid, c_action AS action, c_scope AS scope, c_location AS location, c_refid AS refid FROM dmz_permission @@ -73,7 +72,7 @@ func (s Scope) GetUserSpacePermissions(ctx domain.RequestContext, spaceID string SELECT p.id, p.c_orgid AS orgid, p.c_who AS who, p.c_whoid AS whoid, p.c_action AS action, p.c_scope AS scope, p.c_location AS location, p.c_refid AS refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid - WHERE p.c_orgid=? AND p.c_location='space' AND c_refid=? AND p.c_who='role' AND (r.c_userid=? OR r.c_userid='0')`, + WHERE p.c_orgid=? AND p.c_location='space' AND c_refid=? AND p.c_who='role' AND (r.c_userid=? OR r.c_userid='0')`), ctx.OrgID, spaceID, ctx.UserID, ctx.OrgID, spaceID, ctx.UserID) if err == sql.ErrNoRows { @@ -87,10 +86,10 @@ func (s Scope) GetUserSpacePermissions(ctx domain.RequestContext, spaceID string } // GetSpacePermissionsForUser returns space permissions for specified user. -func (s Scope) GetSpacePermissionsForUser(ctx domain.RequestContext, spaceID, userID string) (r []permission.Permission, err error) { +func (s Store) GetSpacePermissionsForUser(ctx domain.RequestContext, spaceID, userID string) (r []permission.Permission, err error) { r = []permission.Permission{} - err = s.Runtime.Db.Select(&r, ` + err = s.Runtime.Db.Select(&r, s.Bind(` SELECT id, c_orgid AS orgid, c_who AS who, c_whoid AS whoid, c_action AS action, c_scope AS scope, c_location AS location, c_refid AS refid FROM dmz_permission WHERE c_orgid=? AND c_location='space' AND c_refid=? AND c_who='user' AND (c_whoid=? OR c_whoid='0') @@ -98,7 +97,7 @@ func (s Scope) GetSpacePermissionsForUser(ctx domain.RequestContext, spaceID, us SELECT p.id, p.c_orgid AS orgid, p.c_who AS who, p.c_whoid AS whoid, p.c_action AS action, p.c_scope AS scope, p.c_location AS location, p.c_refid AS refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid - WHERE p.c_orgid=? AND p.c_location='space' AND c_refid=? AND p.c_who='role' AND (r.c_userid=? OR r.c_userid='0')`, + WHERE p.c_orgid=? AND p.c_location='space' AND c_refid=? AND p.c_who='role' AND (r.c_userid=? OR r.c_userid='0')`), ctx.OrgID, spaceID, userID, ctx.OrgID, spaceID, userID) if err == sql.ErrNoRows { @@ -113,13 +112,13 @@ func (s Scope) GetSpacePermissionsForUser(ctx domain.RequestContext, spaceID, us // GetSpacePermissions returns space permissions for all users. // We do not filter by userID because we return permissions for all users. -func (s Scope) GetSpacePermissions(ctx domain.RequestContext, spaceID string) (r []permission.Permission, err error) { +func (s Store) GetSpacePermissions(ctx domain.RequestContext, spaceID string) (r []permission.Permission, err error) { r = []permission.Permission{} - err = s.Runtime.Db.Select(&r, ` + err = s.Runtime.Db.Select(&r, s.Bind(` SELECT id, c_orgid AS orgid, c_who AS who, c_whoid AS whoid, c_action AS action, c_scope AS scope, c_location AS location, c_refid AS refid FROM dmz_permission - WHERE c_orgid=? AND c_location='space' AND c_refid=?`, + WHERE c_orgid=? AND c_location='space' AND c_refid=?`), ctx.OrgID, spaceID) if err == sql.ErrNoRows { @@ -133,10 +132,10 @@ func (s Scope) GetSpacePermissions(ctx domain.RequestContext, spaceID string) (r } // GetCategoryPermissions returns category permissions for all users. -func (s Scope) GetCategoryPermissions(ctx domain.RequestContext, catID string) (r []permission.Permission, err error) { +func (s Store) GetCategoryPermissions(ctx domain.RequestContext, catID string) (r []permission.Permission, err error) { r = []permission.Permission{} - err = s.Runtime.Db.Select(&r, ` + err = s.Runtime.Db.Select(&r, s.Bind(` SELECT id, c_orgid AS orgid, c_who AS who, c_whoid AS whoid, c_action AS action, c_scope AS scope, c_location AS location, c_refid AS refid FROM dmz_permission WHERE c_orgid=? AND c_location='category' AND c_who='user' AND (c_refid=? OR c_refid='0') @@ -144,7 +143,7 @@ func (s Scope) GetCategoryPermissions(ctx domain.RequestContext, catID string) ( SELECT p.id, p.c_orgid AS orgid, p.c_who AS who, p.c_whoid AS whoid, p.c_action AS action, p.c_scope AS scope, p.c_location AS location, p.c_refid AS refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid - WHERE p.c_orgid=? AND p.c_location='category' AND p.c_who='role' AND (p.c_refid=? OR p.c_refid='0')`, + WHERE p.c_orgid=? AND p.c_location='category' AND p.c_who='role' AND (p.c_refid=? OR p.c_refid='0')`), ctx.OrgID, catID, ctx.OrgID, catID) if err == sql.ErrNoRows { @@ -158,11 +157,11 @@ func (s Scope) GetCategoryPermissions(ctx domain.RequestContext, catID string) ( } // GetCategoryUsers returns space permissions for all users. -func (s Scope) GetCategoryUsers(ctx domain.RequestContext, catID string) (u []user.User, err error) { +func (s Store) GetCategoryUsers(ctx domain.RequestContext, catID string) (u []user.User, err error) { u = []user.User{} - err = s.Runtime.Db.Select(&u, ` - SELECT u.id, IFNULL(u.c_refid, '') AS refid, IFNULL(u.c_firstname, '') AS firstname, IFNULL(u.c_lastname, '') as lastname, u.email AS email, u.initials AS initials, u.password AS password, u.salt AS salt, u.c_reset AS reset, u.c_created AS created, u.c_revised AS revised + err = s.Runtime.Db.Select(&u, s.Bind(` + SELECT u.id, COALESCE(u.c_refid, '') AS refid, COALESCE(u.c_firstname, '') AS firstname, COALESCE(u.c_lastname, '') as lastname, u.email AS email, u.initials AS initials, u.password AS password, u.salt AS salt, u.c_reset AS reset, u.c_created AS created, u.c_revised AS revised FROM dmz_user u LEFT JOIN dmz_user_account a ON u.c_refid = a.c_userid WHERE a.c_orgid=? AND a.c_active=1 AND u.c_refid IN ( @@ -174,7 +173,7 @@ func (s Scope) GetCategoryUsers(ctx domain.RequestContext, catID string) (u []us WHERE p.c_orgid=? AND p.c_who='role' AND p.c_location='category' AND p.c_refid=? ) GROUP by u.id - ORDER BY firstname, lastname`, + ORDER BY firstname, lastname`), ctx.OrgID, ctx.OrgID, catID, ctx.OrgID, catID) if err == sql.ErrNoRows { @@ -189,10 +188,10 @@ func (s Scope) GetCategoryUsers(ctx domain.RequestContext, catID string) (u []us } // GetUserCategoryPermissions returns category permissions for given user. -func (s Scope) GetUserCategoryPermissions(ctx domain.RequestContext, userID string) (r []permission.Permission, err error) { +func (s Store) GetUserCategoryPermissions(ctx domain.RequestContext, userID string) (r []permission.Permission, err error) { r = []permission.Permission{} - err = s.Runtime.Db.Select(&r, ` + err = s.Runtime.Db.Select(&r, s.Bind(` SELECT id, c_orgid AS orgid, c_who AS who, c_whoid AS whoid, c_action AS action, c_scope AS scope, c_location AS location, c_refid AS refid FROM dmz_permission WHERE c_orgid=? AND c_location='category' AND c_who='user' AND (c_whoid=? OR c_whoid='0') @@ -200,7 +199,7 @@ func (s Scope) GetUserCategoryPermissions(ctx domain.RequestContext, userID stri SELECT p.id, p.c_orgid AS orgid, p.c_who AS who, p.c_whoid AS whoid, p.c_action AS action, p.c_scope AS scope, p.c_location AS location, p.c_refid AS refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid - WHERE p.c_orgid=? AND p.c_location='category' AND p.c_who='role' AND (r.c_userid=? OR r.c_userid='0')`, + WHERE p.c_orgid=? AND p.c_location='category' AND p.c_who='role' AND (r.c_userid=? OR r.c_userid='0')`), ctx.OrgID, userID, ctx.OrgID, userID) if err == sql.ErrNoRows { @@ -215,8 +214,8 @@ func (s Scope) GetUserCategoryPermissions(ctx domain.RequestContext, userID stri // GetUserDocumentPermissions returns document permissions for user. // Context is used to for user ID. -func (s Scope) GetUserDocumentPermissions(ctx domain.RequestContext, documentID string) (r []permission.Permission, err error) { - err = s.Runtime.Db.Select(&r, ` +func (s Store) GetUserDocumentPermissions(ctx domain.RequestContext, documentID string) (r []permission.Permission, err error) { + err = s.Runtime.Db.Select(&r, s.Bind(` SELECT id, c_orgid AS orgid, c_who AS who, c_whoid AS whoid, c_action AS action, c_scope AS scope, c_location AS location, c_refid AS refid FROM dmz_permission WHERE c_orgid=? AND c_location='document' AND c_refid=? AND c_who='user' AND (c_whoid=? OR c_whoid='0') @@ -224,7 +223,7 @@ func (s Scope) GetUserDocumentPermissions(ctx domain.RequestContext, documentID SELECT p.id, p.c_orgid AS orgid, p.c_who AS who, p.c_whoid AS whoid, p.c_action AS action, p.c_scope AS scope, p.c_location AS location, p.c_refid AS refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid - WHERE p.c_orgid=? AND p.c_location='document' AND p.c_refid=? AND p.c_who='role' AND (r.c_userid=? OR r.c_userid='0')`, + WHERE p.c_orgid=? AND p.c_location='document' AND p.c_refid=? AND p.c_who='role' AND (r.c_userid=? OR r.c_userid='0')`), ctx.OrgID, documentID, ctx.UserID, ctx.OrgID, documentID, ctx.OrgID) if err == sql.ErrNoRows { @@ -240,8 +239,8 @@ func (s Scope) GetUserDocumentPermissions(ctx domain.RequestContext, documentID // GetDocumentPermissions returns documents permissions for all users. // We do not filter by userID because we return permissions for all users. -func (s Scope) GetDocumentPermissions(ctx domain.RequestContext, documentID string) (r []permission.Permission, err error) { - err = s.Runtime.Db.Select(&r, ` +func (s Store) GetDocumentPermissions(ctx domain.RequestContext, documentID string) (r []permission.Permission, err error) { + err = s.Runtime.Db.Select(&r, s.Bind(` SELECT id, c_orgid AS orgid, c_who AS who, c_whoid AS whoid, c_action AS action, c_scope AS scope, c_location AS location, c_refid AS refid FROM dmz_permission WHERE c_orgid=? AND c_location='document' AND c_refid=? AND c_who='user' @@ -249,7 +248,7 @@ func (s Scope) GetDocumentPermissions(ctx domain.RequestContext, documentID stri SELECT p.id, p.c_orgid AS orgid, p.c_who AS who, p.c_whoid AS whoid, p.c_action AS action, p.c_scope AS scope, p.c_location AS location, p.c_refid AS refid FROM dmz_permission p LEFT JOIN dmz_group_member r ON p.c_whoid=r.c_groupid - WHERE p.c_orgid=? AND p.c_location='document' AND p.c_refid=? AND p.c_who='role'`, + WHERE p.c_orgid=? AND p.c_location='document' AND p.c_refid=? AND p.c_who='role'`), ctx.OrgID, documentID, ctx.OrgID, documentID) if err == sql.ErrNoRows { @@ -264,70 +263,56 @@ func (s Scope) GetDocumentPermissions(ctx domain.RequestContext, documentID stri } // DeleteDocumentPermissions removes records from dmz_permissions table for given document. -func (s Scope) DeleteDocumentPermissions(ctx domain.RequestContext, documentID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DeleteDocumentPermissions(ctx domain.RequestContext, documentID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_permission WHERE c_orgid='%s' AND c_location='document' AND c_refid='%s'", ctx.OrgID, documentID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // DeleteSpacePermissions removes records from dmz_permissions table for given space ID. -func (s Scope) DeleteSpacePermissions(ctx domain.RequestContext, spaceID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DeleteSpacePermissions(ctx domain.RequestContext, spaceID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_permission WHERE c_orgid='%s' AND c_location='space' AND c_refid='%s'", ctx.OrgID, spaceID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // DeleteUserSpacePermissions removes all roles for the specified user, for the specified space. -func (s Scope) DeleteUserSpacePermissions(ctx domain.RequestContext, spaceID, userID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DeleteUserSpacePermissions(ctx domain.RequestContext, spaceID, userID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_permission WHERE c_orgid='%s' AND c_location='space' AND c_refid='%s' c_who='user' AND c_whoid='%s'", ctx.OrgID, spaceID, userID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // DeleteUserPermissions removes all roles for the specified user, for the specified space. -func (s Scope) DeleteUserPermissions(ctx domain.RequestContext, userID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DeleteUserPermissions(ctx domain.RequestContext, userID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_permission WHERE c_orgid='%s' AND c_who='user' AND c_whoid='%s'", ctx.OrgID, userID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // DeleteCategoryPermissions removes records from dmz_permissions table for given category ID. -func (s Scope) DeleteCategoryPermissions(ctx domain.RequestContext, categoryID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DeleteCategoryPermissions(ctx domain.RequestContext, categoryID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_permission WHERE c_orgid='%s' AND c_location='category' AND c_refid='%s'", ctx.OrgID, categoryID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // DeleteSpaceCategoryPermissions removes all category permission for for given space. -func (s Scope) DeleteSpaceCategoryPermissions(ctx domain.RequestContext, spaceID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DeleteSpaceCategoryPermissions(ctx domain.RequestContext, spaceID string) (rows int64, err error) { sql := fmt.Sprintf(` DELETE FROM dmz_permission WHERE c_orgid='%s' AND c_location='category' AND c_refid IN (SELECT c_refid FROM dmz_category WHERE c_orgid='%s' AND c_spaceid='%s')`, ctx.OrgID, ctx.OrgID, spaceID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } // DeleteGroupPermissions removes all roles for the specified group -func (s Scope) DeleteGroupPermissions(ctx domain.RequestContext, groupID string) (rows int64, err error) { - b := mysql.BaseQuery{} - +func (s Store) DeleteGroupPermissions(ctx domain.RequestContext, groupID string) (rows int64, err error) { sql := fmt.Sprintf("DELETE FROM dmz_permission WHERE c_orgid='%s' AND c_who='role' AND c_whoid='%s'", ctx.OrgID, groupID) - return b.DeleteWhere(ctx.Transaction, sql) + return s.DeleteWhere(ctx.Transaction, sql) } diff --git a/domain/pin/mysql/store.go b/domain/pin/store.go similarity index 65% rename from domain/pin/mysql/store.go rename to domain/pin/store.go index 8ad6baed..2240b658 100644 --- a/domain/pin/mysql/store.go +++ b/domain/pin/store.go @@ -15,21 +15,22 @@ import ( "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/pin" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to user permission information. +type Store struct { + store.Context + domain.PinStorer } // Add saves pinned item. -func (s Scope) Add(ctx domain.RequestContext, pin pin.Pin) (err error) { - row := s.Runtime.Db.QueryRow("SELECT max(c_sequence) FROM dmz_pin WHERE c_orgid=? AND c_userid=?", ctx.OrgID, ctx.UserID) +func (s Store) Add(ctx domain.RequestContext, pin pin.Pin) (err error) { + row := s.Runtime.Db.QueryRow(s.Bind("SELECT max(c_sequence) FROM dmz_pin WHERE c_orgid=? AND c_userid=?"), + ctx.OrgID, ctx.UserID) var maxSeq int err = row.Scan(&maxSeq) @@ -41,7 +42,7 @@ func (s Scope) Add(ctx domain.RequestContext, pin pin.Pin) (err error) { pin.Revised = time.Now().UTC() pin.Sequence = maxSeq + 1 - _, err = ctx.Transaction.Exec("INSERT INTO dmz_pin (c_refid, c_orgid, c_userid, c_spaceid, c_docid, c_name, c_sequence, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_pin (c_refid, c_orgid, c_userid, c_spaceid, c_docid, c_name, c_sequence, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"), pin.RefID, pin.OrgID, pin.UserID, pin.SpaceID, pin.DocumentID, pin.Name, pin.Sequence, pin.Created, pin.Revised) if err != nil { @@ -52,12 +53,12 @@ func (s Scope) Add(ctx domain.RequestContext, pin pin.Pin) (err error) { } // GetPin returns requested pinned item. -func (s Scope) GetPin(ctx domain.RequestContext, id string) (pin pin.Pin, err error) { - err = s.Runtime.Db.Get(&pin, `SELECT id, c_refid AS refid, +func (s Store) GetPin(ctx domain.RequestContext, id string) (pin pin.Pin, err error) { + err = s.Runtime.Db.Get(&pin, s.Bind(`SELECT id, c_refid AS refid, c_orgid AS orgid, c_userid AS userid, c_spaceid AS spaceid, c_docid AS documentid, c_name AS name, c_sequence AS sequence, c_created AS created, c_revised AS revised FROM dmz_pin - WHERE c_orgid=? AND c_refid=?`, + WHERE c_orgid=? AND c_refid=?`), ctx.OrgID, id) if err != nil { @@ -68,13 +69,13 @@ func (s Scope) GetPin(ctx domain.RequestContext, id string) (pin pin.Pin, err er } // GetUserPins returns pinned items for specified user. -func (s Scope) GetUserPins(ctx domain.RequestContext, userID string) (pins []pin.Pin, err error) { - err = s.Runtime.Db.Select(&pins, `SELECT id, c_refid AS refid, +func (s Store) GetUserPins(ctx domain.RequestContext, userID string) (pins []pin.Pin, err error) { + err = s.Runtime.Db.Select(&pins, s.Bind(`SELECT id, c_refid AS refid, c_orgid AS orgid, c_userid AS userid, c_spaceid AS spaceid, c_docid AS documentid, c_name AS name, c_sequence AS sequence, c_created AS created, c_revised AS revised FROM dmz_pin WHERE c_orgid=? AND c_userid=? - ORDER BY c_sequence`, + ORDER BY c_sequence`), ctx.OrgID, userID) if err != nil { @@ -85,7 +86,7 @@ func (s Scope) GetUserPins(ctx domain.RequestContext, userID string) (pins []pin } // UpdatePin updates existing pinned item. -func (s Scope) UpdatePin(ctx domain.RequestContext, pin pin.Pin) (err error) { +func (s Store) UpdatePin(ctx domain.RequestContext, pin pin.Pin) (err error) { pin.Revised = time.Now().UTC() _, err = ctx.Transaction.NamedExec(`UPDATE dmz_pin SET @@ -101,8 +102,8 @@ func (s Scope) UpdatePin(ctx domain.RequestContext, pin pin.Pin) (err error) { } // UpdatePinSequence updates existing pinned item sequence number -func (s Scope) UpdatePinSequence(ctx domain.RequestContext, pinID string, sequence int) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_pin SET c_sequence=?, c_revised=? WHERE c_orgid=? AND c_userid=? AND c_refid=?", +func (s Store) UpdatePinSequence(ctx domain.RequestContext, pinID string, sequence int) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_pin SET c_sequence=?, c_revised=? WHERE c_orgid=? AND c_userid=? AND c_refid=?"), sequence, time.Now().UTC(), ctx.OrgID, ctx.UserID, pinID) if err != nil { @@ -113,19 +114,16 @@ func (s Scope) UpdatePinSequence(ctx domain.RequestContext, pinID string, sequen } // DeletePin removes folder from the store. -func (s Scope) DeletePin(ctx domain.RequestContext, id string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteConstrained(ctx.Transaction, "dmz_pin", ctx.OrgID, id) +func (s Store) DeletePin(ctx domain.RequestContext, id string) (rows int64, err error) { + return s.DeleteConstrained(ctx.Transaction, "dmz_pin", ctx.OrgID, id) } // DeletePinnedSpace removes any pins for specified space. -func (s Scope) DeletePinnedSpace(ctx domain.RequestContext, spaceID string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_pin WHERE c_orgid=\"%s\" AND c_spaceid=\"%s\"", ctx.OrgID, spaceID)) +func (s Store) DeletePinnedSpace(ctx domain.RequestContext, spaceID string) (rows int64, err error) { + return s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_pin WHERE c_orgid=\"%s\" AND c_spaceid=\"%s\"", ctx.OrgID, spaceID)) } // DeletePinnedDocument removes any pins for specified document. -func (s Scope) DeletePinnedDocument(ctx domain.RequestContext, documentID string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_pin WHERE c_orgid=\"%s\" AND c_docid=\"%s\"", ctx.OrgID, documentID)) +func (s Store) DeletePinnedDocument(ctx domain.RequestContext, documentID string) (rows int64, err error) { + return s.DeleteWhere(ctx.Transaction, fmt.Sprintf("DELETE FROM dmz_pin WHERE c_orgid=\"%s\" AND c_docid=\"%s\"", ctx.OrgID, documentID)) } diff --git a/domain/search/mysql/store.go b/domain/search/store.go similarity index 80% rename from domain/search/mysql/store.go rename to domain/search/store.go index 4100f4b4..662559b8 100644 --- a/domain/search/mysql/store.go +++ b/domain/search/store.go @@ -9,17 +9,17 @@ // // https://documize.com -package mysql +package search import ( "database/sql" "fmt" "strings" - "github.com/documize/community/core/env" "github.com/documize/community/core/streamutil" "github.com/documize/community/core/stringutil" "github.com/documize/community/domain" + "github.com/documize/community/domain/store" "github.com/documize/community/model/attachment" "github.com/documize/community/model/doc" "github.com/documize/community/model/page" @@ -29,16 +29,17 @@ import ( "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to space information. +type Store struct { + store.Context + domain.SearchStorer } // IndexDocument adds search index entries for document inserting title, tags and attachments as // searchable items. Any existing document entries are removed. -func (s Scope) IndexDocument(ctx domain.RequestContext, doc doc.Document, a []attachment.Attachment) (err error) { +func (s Store) IndexDocument(ctx domain.RequestContext, doc doc.Document, a []attachment.Attachment) (err error) { // remove previous search entries - _, err = ctx.Transaction.Exec("DELETE FROM dmz_search WHERE c_orgid=? AND c_docid=? AND (c_itemtype='doc' OR c_itemtype='file' OR c_itemtype='tag')", + _, err = ctx.Transaction.Exec(s.Bind("DELETE FROM dmz_search WHERE c_orgid=? AND c_docid=? AND (c_itemtype='doc' OR c_itemtype='file' OR c_itemtype='tag')"), ctx.OrgID, doc.RefID) if err != nil { @@ -46,7 +47,7 @@ func (s Scope) IndexDocument(ctx domain.RequestContext, doc doc.Document, a []at } // insert doc title - _, err = ctx.Transaction.Exec("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)"), ctx.OrgID, doc.RefID, "", "doc", doc.Name) if err != nil { err = errors.Wrap(err, "execute insert document title entry") @@ -59,7 +60,7 @@ func (s Scope) IndexDocument(ctx domain.RequestContext, doc doc.Document, a []at continue } - _, err = ctx.Transaction.Exec("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)"), ctx.OrgID, doc.RefID, "", "tag", t) if err != nil { @@ -69,7 +70,7 @@ func (s Scope) IndexDocument(ctx domain.RequestContext, doc doc.Document, a []at } for _, file := range a { - _, err = ctx.Transaction.Exec("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)"), ctx.OrgID, doc.RefID, file.RefID, "file", file.Filename) if err != nil { @@ -81,8 +82,9 @@ func (s Scope) IndexDocument(ctx domain.RequestContext, doc doc.Document, a []at } // DeleteDocument removes all search entries for document. -func (s Scope) DeleteDocument(ctx domain.RequestContext, ID string) (err error) { - _, err = ctx.Transaction.Exec("DELETE FROM dmz_search WHERE c_orgid=? AND c_docid=?", ctx.OrgID, ID) +func (s Store) DeleteDocument(ctx domain.RequestContext, ID string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("DELETE FROM dmz_search WHERE c_orgid=? AND c_docid=?"), + ctx.OrgID, ID) if err != nil { err = errors.Wrap(err, "execute delete document entries") @@ -93,14 +95,14 @@ func (s Scope) DeleteDocument(ctx domain.RequestContext, ID string) (err error) // IndexContent adds search index entry for document context. // Any existing document entries are removed. -func (s Scope) IndexContent(ctx domain.RequestContext, p page.Page) (err error) { +func (s Store) IndexContent(ctx domain.RequestContext, p page.Page) (err error) { // we do not index pending pages if p.Status == workflow.ChangePending || p.Status == workflow.ChangePendingNew { return } // remove previous search entries - _, err = ctx.Transaction.Exec("DELETE FROM dmz_search WHERE c_orgid=? AND c_docid=? AND c_itemid=? AND c_itemtype='page'", + _, err = ctx.Transaction.Exec(s.Bind("DELETE FROM dmz_search WHERE c_orgid=? AND c_docid=? AND c_itemid=? AND c_itemtype='page'"), ctx.OrgID, p.DocumentID, p.RefID) if err != nil { @@ -115,13 +117,13 @@ func (s Scope) IndexContent(ctx domain.RequestContext, p page.Page) (err error) } content = strings.TrimSpace(content) - _, err = ctx.Transaction.Exec("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)"), ctx.OrgID, p.DocumentID, p.RefID, "page", content) if err != nil { err = errors.Wrap(err, "execute insert document content entry") } - _, err = ctx.Transaction.Exec("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_search (c_orgid, c_docid, c_itemid, c_itemtype, c_content) VALUES (?, ?, ?, ?, ?)"), ctx.OrgID, p.DocumentID, p.RefID, "page", p.Name) if err != nil { err = errors.Wrap(err, "execute insert document page title entry") @@ -131,10 +133,10 @@ func (s Scope) IndexContent(ctx domain.RequestContext, p page.Page) (err error) } // DeleteContent removes all search entries for specific document content. -func (s Scope) DeleteContent(ctx domain.RequestContext, pageID string) (err error) { +func (s Store) DeleteContent(ctx domain.RequestContext, pageID string) (err error) { // remove all search entries var stmt1 *sqlx.Stmt - stmt1, err = ctx.Transaction.Preparex("DELETE FROM dmz_search WHERE c_orgid=? AND c_itemid=? AND c_itemtype=?") + stmt1, err = ctx.Transaction.Preparex(s.Bind("DELETE FROM dmz_search WHERE c_orgid=? AND c_itemid=? AND c_itemtype=?")) defer streamutil.Close(stmt1) if err != nil { err = errors.Wrap(err, "prepare delete document content entry") @@ -152,7 +154,7 @@ func (s Scope) DeleteContent(ctx domain.RequestContext, pageID string) (err erro // Documents searches the documents that the client is allowed to see, using the keywords search string, then audits that search. // Visible documents include both those in the client's own organization and those that are public, or whose visibility includes the client. -func (s Scope) Documents(ctx domain.RequestContext, q search.QueryOptions) (results []search.QueryResult, err error) { +func (s Store) Documents(ctx domain.RequestContext, q search.QueryOptions) (results []search.QueryResult, err error) { q.Keywords = strings.TrimSpace(q.Keywords) if len(q.Keywords) == 0 { return @@ -211,7 +213,7 @@ func (s Scope) Documents(ctx domain.RequestContext, q search.QueryOptions) (resu return } -func (s Scope) matchFullText(ctx domain.RequestContext, keywords, itemType string) (r []search.QueryResult, err error) { +func (s Store) matchFullText(ctx domain.RequestContext, keywords, itemType string) (r []search.QueryResult, err error) { sql1 := ` SELECT s.id, s.c_orgid AS orgid, s.c_docid AS documentid, s.c_itemid AS itemid, s.c_itemtype AS itemtype, @@ -261,7 +263,7 @@ func (s Scope) matchFullText(ctx domain.RequestContext, keywords, itemType strin return } -func (s Scope) matchLike(ctx domain.RequestContext, keywords, itemType string) (r []search.QueryResult, err error) { +func (s Store) matchLike(ctx domain.RequestContext, keywords, itemType string) (r []search.QueryResult, err error) { // LIKE clause does not like quotes! keywords = strings.Replace(keywords, "'", "", -1) keywords = strings.Replace(keywords, "\"", "", -1) diff --git a/domain/setting/endpoint.go b/domain/setting/endpoint.go index d0f74c65..ec561c3e 100644 --- a/domain/setting/endpoint.go +++ b/domain/setting/endpoint.go @@ -80,16 +80,16 @@ func (h *Handler) SetSMTP(w http.ResponseWriter, r *http.Request) { var config string config = string(body) - ctx.Transaction, err = h.Runtime.Db.Beginx() - if err != nil { - response.WriteServerError(w, method, err) - h.Runtime.Log.Error(method, err) - return - } + // ctx.Transaction, err = h.Runtime.Db.Beginx() + // if err != nil { + // response.WriteServerError(w, method, err) + // h.Runtime.Log.Error(method, err) + // return + // } h.Store.Setting.Set("SMTP", config) - ctx.Transaction.Commit() + // ctx.Transaction.Commit() h.Store.Audit.Record(ctx, audit.EventTypeSystemSMTP) diff --git a/domain/setting/mysql/store.go b/domain/setting/store.go similarity index 53% rename from domain/setting/mysql/store.go rename to domain/setting/store.go index b4225b9b..dd7c2f97 100644 --- a/domain/setting/mysql/store.go +++ b/domain/setting/store.go @@ -9,33 +9,30 @@ // // https://documize.com -package mysql +package setting import ( "bytes" "database/sql" "fmt" - "github.com/documize/community/core/env" + "github.com/documize/community/domain" + "github.com/documize/community/domain/store" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to user permission information. +type Store struct { + store.Context + domain.SettingStorer } // Get fetches a configuration JSON element from the config table. -func (s Scope) Get(area, path string) (value string, err error) { - if path != "" { - path = "." + path - } - - sql := "SELECT JSON_EXTRACT(c_config,'$" + path + "') FROM dmz_config WHERE c_key = '" + area + "';" +func (s Store) Get(area, path string) (value string, err error) { + qry := fmt.Sprintf("SELECT %s FROM dmz_config WHERE c_key = '%s';", s.GetJSONValue("c_config", path), area) var item = make([]uint8, 0) - - err = s.Runtime.Db.Get(&item, sql) + err = s.Runtime.Db.Get(&item, qry) if err != nil { return "", err } @@ -49,16 +46,33 @@ func (s Scope) Get(area, path string) (value string, err error) { } // Set writes a configuration JSON element to the config table. -func (s Scope) Set(area, json string) (err error) { +func (s Store) Set(area, json string) (err error) { if area == "" { return errors.New("no area") } - sql := "INSERT INTO dmz_config (c_key,c_config) " + - "VALUES ('" + area + "','" + json + - "') ON DUPLICATE KEY UPDATE c_config='" + json + "';" + tx, err := s.Runtime.Db.Beginx() + if err != nil { + s.Runtime.Log.Error(fmt.Sprintf("setting.Set %s", area), err) + return + } - _, err = s.Runtime.Db.Exec(sql) + _, err = tx.Exec(fmt.Sprintf("DELETE FROM dmz_config WHERE c_key = '%s'", area)) + if err != nil && err != sql.ErrNoRows { + tx.Rollback() + s.Runtime.Log.Error(fmt.Sprintf("setting.Set %s", area), err) + return err + } + + _, err = tx.Exec(fmt.Sprintf("INSERT INTO dmz_config (c_key,c_config) VALUES ('%s','%s')", + area, json)) + if err != nil && err != sql.ErrNoRows { + tx.Rollback() + s.Runtime.Log.Error(fmt.Sprintf("setting.Set %s", area), err) + return err + } + + tx.Commit() return err } @@ -66,15 +80,11 @@ func (s Scope) Set(area, json string) (err error) { // GetUser fetches a configuration JSON element from the userconfig table for a given orgid/userid combination. // Errors return the empty string. A blank path returns the whole JSON object, as JSON. // You can store org level settings by providing an empty user ID. -func (s Scope) GetUser(orgID, userID, key, path string) (value string, err error) { +func (s Store) GetUser(orgID, userID, key, path string) (value string, err error) { var item = make([]uint8, 0) - if path != "" { - path = "." + path - } - - qry := "SELECT JSON_EXTRACT(c_config,'$" + path + "') FROM dmz_user_config WHERE c_key = '" + key + - "' AND c_orgid = '" + orgID + "' AND c_userid = '" + userID + "';" + qry := fmt.Sprintf("SELECT %s FROM dmz_config WHERE c_key = '%s' AND c_orgid='%s' AND c_userid='%s';", + s.GetJSONValue("c_config", path), key, orgID, userID) err = s.Runtime.Db.Get(&item, qry) if err != nil && err != sql.ErrNoRows { @@ -91,7 +101,7 @@ func (s Scope) GetUser(orgID, userID, key, path string) (value string, err error // SetUser writes a configuration JSON element to the userconfig table for the specified user. // You can store org level settings by providing an empty user ID. -func (s Scope) SetUser(orgID, userID, key, json string) (err error) { +func (s Store) SetUser(orgID, userID, key, json string) (err error) { if key == "" { return errors.New("no key") } @@ -101,16 +111,16 @@ func (s Scope) SetUser(orgID, userID, key, json string) (err error) { return err } - _, err = tx.Exec("DELETE FROM dmz_user_config WHERE c_orgid=? AND c_userid=? AND c_key=?", orgID, userID, key) + _, err = tx.Exec(s.Bind("DELETE FROM dmz_user_config WHERE c_orgid=? AND c_userid=? AND c_key=?"), + orgID, userID, key) if err != nil { fmt.Println(err) - fmt.Println("ccc") } - _, err = tx.Exec("INSERT INTO dmz_user_config (c_orgid, c_userid, c_key, c_config) VALUES (?, ?, ?, ?)", orgID, userID, key, json) + _, err = tx.Exec(s.Bind("INSERT INTO dmz_user_config (c_orgid, c_userid, c_key, c_config) VALUES (?, ?, ?, ?)"), + orgID, userID, key, json) if err != nil { fmt.Println(err) - fmt.Println("ddd") } if err == nil { diff --git a/domain/space/mysql/store.go b/domain/space/store.go similarity index 74% rename from domain/space/mysql/store.go rename to domain/space/store.go index 1d6c9920..a8f9e393 100644 --- a/domain/space/mysql/store.go +++ b/domain/space/store.go @@ -9,67 +9,66 @@ // // https://documize.com -// Package mysql handles data persistence for spaces. -package mysql +package space import ( "database/sql" "fmt" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" - "github.com/documize/community/domain/store/mysql" + "github.com/documize/community/domain/store" "github.com/documize/community/model/space" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to space information. +type Store struct { + store.Context + domain.SpaceStorer } // Add adds new folder into the store. -func (s Scope) Add(ctx domain.RequestContext, sp space.Space) (err error) { +func (s Store) Add(ctx domain.RequestContext, sp space.Space) (err error) { sp.UserID = ctx.UserID sp.Created = time.Now().UTC() sp.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_space (c_refid, c_name, c_orgid, c_userid, c_type, c_lifecycle, c_likes, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_space (c_refid, c_name, c_orgid, c_userid, c_type, c_lifecycle, c_likes, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"), sp.RefID, sp.Name, sp.OrgID, sp.UserID, sp.Type, sp.Lifecycle, sp.Likes, sp.Created, sp.Revised) if err != nil { - err = errors.Wrap(err, "unable to execute insert for label") + err = errors.Wrap(err, "unable to execute insert for space") } return } // Get returns a space from the store. -func (s Scope) Get(ctx domain.RequestContext, id string) (sp space.Space, err error) { - err = s.Runtime.Db.Get(&sp, `SELECT id, c_refid AS refid, +func (s Store) Get(ctx domain.RequestContext, id string) (sp space.Space, err error) { + err = s.Runtime.Db.Get(&sp, s.Bind(`SELECT id, c_refid AS refid, c_name AS name, c_orgid AS orgid, c_userid AS userid, c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes, c_created AS created, c_revised AS revised FROM dmz_space - WHERE c_orgid=? and c_refid=?`, + WHERE c_orgid=? and c_refid=?`), ctx.OrgID, id) if err != nil { - err = errors.Wrap(err, fmt.Sprintf("unable to execute select for label %s", id)) + err = errors.Wrap(err, fmt.Sprintf("unable to execute select for space %s", id)) } return } // PublicSpaces returns spaces that anyone can see. -func (s Scope) PublicSpaces(ctx domain.RequestContext, orgID string) (sp []space.Space, err error) { - qry := `SELECT id, c_refid AS refid, +func (s Store) PublicSpaces(ctx domain.RequestContext, orgID string) (sp []space.Space, err error) { + qry := s.Bind(`SELECT id, c_refid AS refid, c_name AS name, c_orgid AS orgid, c_userid AS userid, c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes, c_created AS created, c_revised AS revised FROM dmz_space - WHERE c_orgid=? AND c_type=1` + WHERE c_orgid=? AND c_type=1`) err = s.Runtime.Db.Select(&sp, qry, orgID) @@ -86,9 +85,8 @@ func (s Scope) PublicSpaces(ctx domain.RequestContext, orgID string) (sp []space // GetViewable returns spaces that the user can see. // Also handles which spaces can be seen by anonymous users. -func (s Scope) GetViewable(ctx domain.RequestContext) (sp []space.Space, err error) { - q := ` - SELECT id, c_refid AS refid, +func (s Store) GetViewable(ctx domain.RequestContext) (sp []space.Space, err error) { + q := s.Bind(`SELECT id, c_refid AS refid, c_name AS name, c_orgid AS orgid, c_userid AS userid, c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes, c_created AS created, c_revised AS revised @@ -101,7 +99,7 @@ func (s Scope) GetViewable(ctx domain.RequestContext) (sp []space.Space, err err AND p.c_location='space' AND p.c_action='view' AND (r.c_userid=? OR r.c_userid='0') ) ) - ORDER BY c_name` + ORDER BY c_name`) err = s.Runtime.Db.Select(&sp, q, ctx.OrgID, @@ -123,15 +121,14 @@ func (s Scope) GetViewable(ctx domain.RequestContext) (sp []space.Space, err err } // GetAll for admin users! -func (s Scope) GetAll(ctx domain.RequestContext) (sp []space.Space, err error) { - qry := ` - SELECT id, c_refid AS refid, +func (s Store) GetAll(ctx domain.RequestContext) (sp []space.Space, err error) { + qry := s.Bind(`SELECT id, c_refid AS refid, c_name AS name, c_orgid AS orgid, c_userid AS userid, c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes, c_created AS created, c_revised AS revised FROM dmz_space WHERE c_orgid=? - ORDER BY c_name` + ORDER BY c_name`) err = s.Runtime.Db.Select(&sp, qry, ctx.OrgID) @@ -147,19 +144,18 @@ func (s Scope) GetAll(ctx domain.RequestContext) (sp []space.Space, err error) { } // Update saves space changes. -func (s Scope) Update(ctx domain.RequestContext, sp space.Space) (err error) { +func (s Store) Update(ctx domain.RequestContext, sp space.Space) (err error) { sp.Revised = time.Now().UTC() _, err = ctx.Transaction.NamedExec("UPDATE dmz_space SET c_name=:name, c_type=:type, c_lifecycle=:lifecycle, c_userid=:userid, c_likes=:likes, c_revised=:revised WHERE c_orgid=:orgid AND c_refid=:refid", &sp) if err != nil { - err = errors.Wrap(err, fmt.Sprintf("unable to execute update for label %s", sp.RefID)) + err = errors.Wrap(err, fmt.Sprintf("unable to execute update for space %s", sp.RefID)) } return } // Delete removes space from the store. -func (s Scope) Delete(ctx domain.RequestContext, id string) (rows int64, err error) { - b := mysql.BaseQuery{} - return b.DeleteConstrained(ctx.Transaction, "dmz_space", ctx.OrgID, id) +func (s Store) Delete(ctx domain.RequestContext, id string) (rows int64, err error) { + return s.DeleteConstrained(ctx.Transaction, "dmz_space", ctx.OrgID, id) } diff --git a/domain/store/context.go b/domain/store/context.go new file mode 100644 index 00000000..58631832 --- /dev/null +++ b/domain/store/context.go @@ -0,0 +1,107 @@ +// Copyright 2016 Documize Inc. . All rights reserved. +// +// This software (Documize Community Edition) is licensed under +// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html +// +// You can operate outside the AGPL restrictions by purchasing +// Documize Enterprise Edition and obtaining a commercial license +// by contacting . +// +// https://documize.com + +package store + +import ( + "fmt" + "github.com/documize/community/core/env" + "github.com/jmoiron/sqlx" + "github.com/pkg/errors" +) + +// Context provides common stuff to store providers. +type Context struct { + Runtime *env.Runtime +} + +// Bind selects query parameter placeholder for given database provider. +// +// MySQL uses ?, ?, ? (default for all Documize queries) +// PostgreSQL uses $1, $2, $3 +// MS SQL Server uses @p1, @p2, @p3 +func (c *Context) Bind(sql string) string { + // Default to MySQL. + bindParam := sqlx.QUESTION + + switch c.Runtime.StoreProvider.Type() { + case env.StoreTypePostgreSQL: + bindParam = sqlx.DOLLAR + } + + return sqlx.Rebind(bindParam, sql) +} + +// Delete record. +func (c *Context) Delete(tx *sqlx.Tx, table string, id string) (rows int64, err error) { + result, err := tx.Exec(c.Bind("DELETE FROM "+table+" WHERE c_refid=?"), id) + + if err != nil { + err = errors.Wrap(err, fmt.Sprintf("unable to delete row in table %s", table)) + return + } + + rows, err = result.RowsAffected() + + return +} + +// DeleteConstrained record constrained to Organization using refid. +func (c *Context) DeleteConstrained(tx *sqlx.Tx, table string, orgID, id string) (rows int64, err error) { + result, err := tx.Exec(c.Bind("DELETE FROM "+table+" WHERE c_orgid=? AND c_refid=?"), orgID, id) + + if err != nil { + err = errors.Wrap(err, fmt.Sprintf("unable to delete row in table %s", table)) + return + } + + rows, err = result.RowsAffected() + + return +} + +// DeleteConstrainedWithID record constrained to Organization using non refid. +func (c *Context) DeleteConstrainedWithID(tx *sqlx.Tx, table string, orgID, id string) (rows int64, err error) { + result, err := tx.Exec(c.Bind("DELETE FROM "+table+" WHERE c_orgid=? AND id=?"), orgID, id) + + if err != nil { + err = errors.Wrap(err, fmt.Sprintf("unable to delete row in table %s", table)) + return + } + + rows, err = result.RowsAffected() + + return +} + +// DeleteWhere free form query. +func (c *Context) DeleteWhere(tx *sqlx.Tx, statement string) (rows int64, err error) { + result, err := tx.Exec(statement) + + if err != nil { + err = errors.Wrap(err, fmt.Sprintf("unable to delete rows: %s", statement)) + return + } + + rows, err = result.RowsAffected() + + return +} + +// EmptyJSON returns database specific empty JSON object. +func (c *Context) EmptyJSON() string { + return c.Runtime.StoreProvider.JSONEmpty() +} + +// GetJSONValue returns database specific empty JSON object. +func (c *Context) GetJSONValue(column, attribute string) string { + return c.Runtime.StoreProvider.JSONGetValue(column, attribute) +} diff --git a/domain/store/mysql/mysql.go b/domain/store/mysql/common_query.go similarity index 100% rename from domain/store/mysql/mysql.go rename to domain/store/mysql/common_query.go diff --git a/domain/template/mysql/store.go b/domain/template/mysql/store.go deleted file mode 100644 index e69de29b..00000000 diff --git a/domain/user/mysql/store.go b/domain/user/store.go similarity index 80% rename from domain/user/mysql/store.go rename to domain/user/store.go index 7c7955f7..ccf15fc3 100644 --- a/domain/user/mysql/store.go +++ b/domain/user/store.go @@ -9,7 +9,7 @@ // // https://documize.com -package mysql +package user import ( "database/sql" @@ -18,24 +18,25 @@ import ( "strings" "time" - "github.com/documize/community/core/env" "github.com/documize/community/domain" + "github.com/documize/community/domain/store" "github.com/documize/community/model/user" "github.com/jmoiron/sqlx" "github.com/pkg/errors" ) -// Scope provides data access to MySQL. -type Scope struct { - Runtime *env.Runtime +// Store provides data access to space information. +type Store struct { + store.Context + domain.UserStorer } // Add adds the given user record to the user table. -func (s Scope) Add(ctx domain.RequestContext, u user.User) (err error) { +func (s Store) Add(ctx domain.RequestContext, u user.User) (err error) { u.Created = time.Now().UTC() u.Revised = time.Now().UTC() - _, err = ctx.Transaction.Exec("INSERT INTO dmz_user (c_refid, c_firstname, c_lastname, c_email, c_initials, c_password, c_salt, c_reset, c_lastversion, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + _, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_user (c_refid, c_firstname, c_lastname, c_email, c_initials, c_password, c_salt, c_reset, c_lastversion, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"), u.RefID, u.Firstname, u.Lastname, strings.ToLower(u.Email), u.Initials, u.Password, u.Salt, "", u.LastVersion, u.Created, u.Revised) if err != nil { @@ -46,13 +47,13 @@ func (s Scope) Add(ctx domain.RequestContext, u user.User) (err error) { } // Get returns the user record for the given id. -func (s Scope) Get(ctx domain.RequestContext, id string) (u user.User, err error) { - err = s.Runtime.Db.Get(&u, ` +func (s Store) Get(ctx domain.RequestContext, id string) (u user.User, err error) { + err = s.Runtime.Db.Get(&u, s.Bind(` SELECT id, c_refid AS refid, c_firstname AS firstname, c_lastname AS lastname, c_email AS email, c_initials AS initials, c_globaladmin AS globaladmin, c_password AS password, c_salt AS salt, c_reset AS reset, c_lastversion AS lastversion, c_created AS created, c_revised AS revised FROM dmz_user - WHERE c_refid=?`, + WHERE c_refid=?`), id) if err != nil { @@ -63,16 +64,16 @@ func (s Scope) Get(ctx domain.RequestContext, id string) (u user.User, err error } // GetByDomain matches user by email and domain. -func (s Scope) GetByDomain(ctx domain.RequestContext, domain, email string) (u user.User, err error) { +func (s Store) GetByDomain(ctx domain.RequestContext, domain, email string) (u user.User, err error) { email = strings.TrimSpace(strings.ToLower(email)) - err = s.Runtime.Db.Get(&u, `SELECT u.id, u.c_refid AS refid, + err = s.Runtime.Db.Get(&u, s.Bind(`SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, u.c_password AS password, u.c_salt AS salt, u.c_reset AS reset, u.c_lastversion AS lastversion, u.c_created AS created, u.c_revised AS revised FROM dmz_user u, dmz_user_account a, dmz_org o - WHERE TRIM(LOWER(u.c_email))=? AND u.c_refid=a.c_userid AND a.c_orgid=o.c_refid AND TRIM(LOWER(o.c_domain))=?`, + WHERE TRIM(LOWER(u.c_email))=? AND u.c_refid=a.c_userid AND a.c_orgid=o.c_refid AND TRIM(LOWER(o.c_domain))=?`), email, domain) if err != nil && err != sql.ErrNoRows { @@ -83,16 +84,16 @@ func (s Scope) GetByDomain(ctx domain.RequestContext, domain, email string) (u u } // GetByEmail returns a single row match on email. -func (s Scope) GetByEmail(ctx domain.RequestContext, email string) (u user.User, err error) { +func (s Store) GetByEmail(ctx domain.RequestContext, email string) (u user.User, err error) { email = strings.TrimSpace(strings.ToLower(email)) - err = s.Runtime.Db.Get(&u, `SELECT u.id, u.c_refid AS refid, + err = s.Runtime.Db.Get(&u, s.Bind(`SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, u.c_password AS password, u.c_salt AS salt, u.c_reset AS reset, u.c_lastversion AS lastversion, u.c_created AS created, u.c_revised AS revised FROM dmz_user u - WHERE TRIM(LOWER(u.c_email))=?`, + WHERE TRIM(LOWER(u.c_email))=?`), email) if err != nil && err != sql.ErrNoRows { @@ -103,14 +104,14 @@ func (s Scope) GetByEmail(ctx domain.RequestContext, email string) (u user.User, } // GetByToken returns a user record given a reset token value. -func (s Scope) GetByToken(ctx domain.RequestContext, token string) (u user.User, err error) { - err = s.Runtime.Db.Get(&u, `SELECT u.id, u.c_refid AS refid, +func (s Store) GetByToken(ctx domain.RequestContext, token string) (u user.User, err error) { + err = s.Runtime.Db.Get(&u, s.Bind(`SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, u.c_password AS password, u.c_salt AS salt, u.c_reset AS reset, u.c_lastversion AS lastversion, u.c_created AS created, u.c_revised AS revised FROM dmz_user u - WHERE u.c_reset=?`, + WHERE u.c_reset=?`), token) if err != nil { @@ -123,14 +124,14 @@ func (s Scope) GetByToken(ctx domain.RequestContext, token string) (u user.User, // GetBySerial is used to retrieve a user via their temporary password salt value! // This occurs when we you share a folder with a new user and they have to complete // the onboarding process. -func (s Scope) GetBySerial(ctx domain.RequestContext, serial string) (u user.User, err error) { - err = s.Runtime.Db.Get(&u, `SELECT u.id, u.c_refid AS refid, +func (s Store) GetBySerial(ctx domain.RequestContext, serial string) (u user.User, err error) { + err = s.Runtime.Db.Get(&u, s.Bind(`SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, u.c_password AS password, u.c_salt AS salt, u.c_reset AS reset, u.c_lastversion AS lastversion, u.c_created AS created, u.c_revised AS revised FROM dmz_user u - WHERE u.c_salt=?`, + WHERE u.c_salt=?`), serial) if err != nil { @@ -142,10 +143,10 @@ func (s Scope) GetBySerial(ctx domain.RequestContext, serial string) (u user.Use // GetActiveUsersForOrganization returns a slice containing of active user records for the organization // identified in the Persister. -func (s Scope) GetActiveUsersForOrganization(ctx domain.RequestContext) (u []user.User, err error) { +func (s Store) GetActiveUsersForOrganization(ctx domain.RequestContext) (u []user.User, err error) { u = []user.User{} - err = s.Runtime.Db.Select(&u, `SELECT u.id, u.c_refid AS refid, + err = s.Runtime.Db.Select(&u, s.Bind(`SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, u.c_password AS password, u.c_salt AS salt, u.c_reset AS reset, u.c_lastversion AS lastversion, @@ -153,7 +154,7 @@ func (s Scope) GetActiveUsersForOrganization(ctx domain.RequestContext) (u []use a.c_active AS active, a.c_editor AS editor, a.c_admin AS admin, a.c_users AS viewusers, a.c_analytics AS analytics FROM dmz_user u, dmz_user_account a WHERE u.c_refid=a.c_userid AND a.c_orgid=? AND a.c_active=1 - ORDER BY u.c_firstname, u.c_lastname`, + ORDER BY u.c_firstname, u.c_lastname`), ctx.OrgID) if err == sql.ErrNoRows { @@ -168,7 +169,7 @@ func (s Scope) GetActiveUsersForOrganization(ctx domain.RequestContext) (u []use // GetUsersForOrganization returns a slice containing all of the user records for the organizaiton // identified in the context. -func (s Scope) GetUsersForOrganization(ctx domain.RequestContext, filter string, limit int) (u []user.User, err error) { +func (s Store) GetUsersForOrganization(ctx domain.RequestContext, filter string, limit int) (u []user.User, err error) { u = []user.User{} filter = strings.TrimSpace(strings.ToLower(filter)) @@ -177,7 +178,7 @@ func (s Scope) GetUsersForOrganization(ctx domain.RequestContext, filter string, likeQuery = " AND (LOWER(u.c_firstname) LIKE '%" + filter + "%' OR LOWER(u.c_lastname) LIKE '%" + filter + "%' OR LOWER(u.c_email) LIKE '%" + filter + "%') " } - err = s.Runtime.Db.Select(&u, `SELECT u.id, u.c_refid AS refid, + err = s.Runtime.Db.Select(&u, s.Bind(`SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, u.c_password AS password, u.c_salt AS salt, u.c_reset AS reset, u.c_lastversion AS lastversion, @@ -185,7 +186,7 @@ func (s Scope) GetUsersForOrganization(ctx domain.RequestContext, filter string, a.c_active AS active, a.c_editor AS editor, a.c_admin AS admin, a.c_users AS viewusers, a.c_analytics AS analytics FROM dmz_user u, dmz_user_account a WHERE u.c_refid=a.c_userid AND a.c_orgid=? `+likeQuery+ - `ORDER BY u.c_firstname, u.c_lastname LIMIT `+strconv.Itoa(limit), ctx.OrgID) + `ORDER BY u.c_firstname, u.c_lastname LIMIT `+strconv.Itoa(limit)), ctx.OrgID) if err == sql.ErrNoRows { err = nil @@ -199,10 +200,10 @@ func (s Scope) GetUsersForOrganization(ctx domain.RequestContext, filter string, } // GetSpaceUsers returns a slice containing all user records for given space. -func (s Scope) GetSpaceUsers(ctx domain.RequestContext, spaceID string) (u []user.User, err error) { +func (s Store) GetSpaceUsers(ctx domain.RequestContext, spaceID string) (u []user.User, err error) { u = []user.User{} - err = s.Runtime.Db.Select(&u, `SELECT u.id, u.c_refid AS refid, + err = s.Runtime.Db.Select(&u, s.Bind(`SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, u.c_password AS password, u.c_salt AS salt, u.c_reset AS reset, u.c_lastversion AS lastversion, @@ -214,7 +215,7 @@ func (s Scope) GetSpaceUsers(ctx domain.RequestContext, spaceID string) (u []use UNION ALL SELECT r.c_userid from dmz_group_member r LEFT JOIN dmz_permission p ON p.c_whoid=r.c_groupid WHERE p.c_orgid=? AND p.c_who='role' AND p.c_scope='object' AND p.c_location='space' AND p.c_refid=? ) - ORDER BY u.c_firstname, c_u.lastname`, + ORDER BY u.c_firstname, c_u.lastname`), ctx.OrgID, ctx.OrgID, spaceID, ctx.OrgID, spaceID) if err == sql.ErrNoRows { @@ -228,14 +229,14 @@ func (s Scope) GetSpaceUsers(ctx domain.RequestContext, spaceID string) (u []use } // GetUsersForSpaces returns users with access to specified spaces. -func (s Scope) GetUsersForSpaces(ctx domain.RequestContext, spaces []string) (u []user.User, err error) { +func (s Store) GetUsersForSpaces(ctx domain.RequestContext, spaces []string) (u []user.User, err error) { u = []user.User{} if len(spaces) == 0 { return } - query, args, err := sqlx.In(` + query, args, err := sqlx.In(s.Bind(` SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, @@ -248,7 +249,7 @@ func (s Scope) GetUsersForSpaces(ctx domain.RequestContext, spaces []string) (u UNION ALL SELECT r.c_userid from dmz_group_member r LEFT JOIN dmz_permission p ON p.c_whoid=r.c_groupid WHERE p.c_orgid=? AND p.c_who='role' AND p.c_scope='object' AND p.c_location='space' AND p.c_refid IN(?) ) - ORDER BY u.c_firstname, u.c_lastname`, + ORDER BY u.c_firstname, u.c_lastname`), ctx.OrgID, ctx.OrgID, spaces, ctx.OrgID, spaces) query = s.Runtime.Db.Rebind(query) @@ -265,7 +266,7 @@ func (s Scope) GetUsersForSpaces(ctx domain.RequestContext, spaces []string) (u } // UpdateUser updates the user table using the given replacement user record. -func (s Scope) UpdateUser(ctx domain.RequestContext, u user.User) (err error) { +func (s Store) UpdateUser(ctx domain.RequestContext, u user.User) (err error) { u.Revised = time.Now().UTC() u.Email = strings.ToLower(u.Email) @@ -278,8 +279,9 @@ func (s Scope) UpdateUser(ctx domain.RequestContext, u user.User) (err error) { } // UpdateUserPassword updates a user record with new password and salt values. -func (s Scope) UpdateUserPassword(ctx domain.RequestContext, userID, salt, password string) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_user SET c_salt=?, c_password=?, c_reset='' WHERE c_refid=?", salt, password, userID) +func (s Store) UpdateUserPassword(ctx domain.RequestContext, userID, salt, password string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_user SET c_salt=?, c_password=?, c_reset='' WHERE c_refid=?"), + salt, password, userID) if err != nil { err = errors.Wrap(err, "execute user update") } @@ -288,8 +290,9 @@ func (s Scope) UpdateUserPassword(ctx domain.RequestContext, userID, salt, passw } // DeactiveUser deletes the account record for the given userID and persister.Context.OrgID. -func (s Scope) DeactiveUser(ctx domain.RequestContext, userID string) (err error) { - _, err = ctx.Transaction.Exec("DELETE FROM dmz_user_account WHERE c_userid=? and c_orgid=?", userID, ctx.OrgID) +func (s Store) DeactiveUser(ctx domain.RequestContext, userID string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("DELETE FROM dmz_user_account WHERE c_userid=? and c_orgid=?"), + userID, ctx.OrgID) if err != nil { err = errors.Wrap(err, "execute user deactivation") } @@ -298,8 +301,9 @@ func (s Scope) DeactiveUser(ctx domain.RequestContext, userID string) (err error } // ForgotUserPassword sets the password to '' and the reset field to token, for a user identified by email. -func (s Scope) ForgotUserPassword(ctx domain.RequestContext, email, token string) (err error) { - _, err = ctx.Transaction.Exec("UPDATE dmz_user SET c_reset=?, c_password='' WHERE LOWER(c_email)=?", token, strings.ToLower(email)) +func (s Store) ForgotUserPassword(ctx domain.RequestContext, email, token string) (err error) { + _, err = ctx.Transaction.Exec(s.Bind("UPDATE dmz_user SET c_reset=?, c_password='' WHERE LOWER(c_email)=?"), + token, strings.ToLower(email)) if err != nil { err = errors.Wrap(err, "execute password reset") } @@ -308,7 +312,7 @@ func (s Scope) ForgotUserPassword(ctx domain.RequestContext, email, token string } // CountActiveUsers returns the number of active users in the system. -func (s Scope) CountActiveUsers() (c int) { +func (s Store) CountActiveUsers() (c int) { row := s.Runtime.Db.QueryRow("SELECT count(*) FROM dmz_user WHERE c_refid IN (SELECT c_userid FROM dmz_user_account WHERE c_active=1)") err := row.Scan(&c) @@ -325,7 +329,7 @@ func (s Scope) CountActiveUsers() (c int) { } // MatchUsers returns users that have match to either firstname, lastname or email. -func (s Scope) MatchUsers(ctx domain.RequestContext, text string, maxMatches int) (u []user.User, err error) { +func (s Store) MatchUsers(ctx domain.RequestContext, text string, maxMatches int) (u []user.User, err error) { u = []user.User{} text = strings.TrimSpace(strings.ToLower(text)) @@ -334,7 +338,7 @@ func (s Scope) MatchUsers(ctx domain.RequestContext, text string, maxMatches int likeQuery = " AND (LOWER(c_firstname) LIKE '%" + text + "%' OR LOWER(c_lastname) LIKE '%" + text + "%' OR LOWER(c_email) LIKE '%" + text + "%') " } - err = s.Runtime.Db.Select(&u, + err = s.Runtime.Db.Select(&u, s.Bind( `SELECT u.id, u.c_refid AS refid, u.c_firstname AS firstname, u.c_lastname AS lastname, u.c_email AS email, u.c_initials AS initials, u.c_globaladmin AS globaladmin, @@ -342,7 +346,7 @@ func (s Scope) MatchUsers(ctx domain.RequestContext, text string, maxMatches int u.c_created AS created, u.c_revised AS revised, a.c_active AS active, a.c_editor AS editor, a.c_admin AS admin, a.c_users AS viewusers, a.c_analytics AS analytics FROM dmz_user u, dmz_user_account a - WHERE a.c_orgid=? AND u.c_refid=a.c_userid AND a.c_active=1 `+likeQuery+` ORDER BY u.c_firstname, u.c_lastname LIMIT `+strconv.Itoa(maxMatches), + WHERE a.c_orgid=? AND u.c_refid=a.c_userid AND a.c_active=1 `+likeQuery+` ORDER BY u.c_firstname, u.c_lastname LIMIT `+strconv.Itoa(maxMatches)), ctx.OrgID) if err == sql.ErrNoRows { diff --git a/edition/boot/runtime.go b/edition/boot/runtime.go index 4bba21a3..5ee07366 100644 --- a/edition/boot/runtime.go +++ b/edition/boot/runtime.go @@ -55,8 +55,8 @@ func InitRuntime(r *env.Runtime, s *domain.Store) bool { storage.SetMySQLProvider(r, s) case "percona": storage.SetMySQLProvider(r, s) - case "postgres": - // storage.SetPostgresSQLProvider(r, s) + case "postgresql": + storage.SetPostgreSQLProvider(r, s) case "mssql": // storage.SetSQLServerProvider(r, s) } diff --git a/edition/community.go b/edition/community.go index 58cb9578..a1d4002e 100644 --- a/edition/community.go +++ b/edition/community.go @@ -23,7 +23,6 @@ import ( "github.com/documize/community/embed" "github.com/documize/community/server" "github.com/documize/community/server/web" - _ "github.com/go-sql-driver/mysql" // the mysql driver is required behind the scenes ) var rt env.Runtime diff --git a/edition/storage/mysql.go b/edition/storage/mysql.go index cbf4daad..68fd437d 100644 --- a/edition/storage/mysql.go +++ b/edition/storage/mysql.go @@ -15,59 +15,129 @@ package storage import ( "errors" "fmt" - "os" "strconv" "strings" "github.com/documize/community/core/env" "github.com/documize/community/domain" - account "github.com/documize/community/domain/account/mysql" - activity "github.com/documize/community/domain/activity/mysql" - attachment "github.com/documize/community/domain/attachment/mysql" - audit "github.com/documize/community/domain/audit/mysql" - block "github.com/documize/community/domain/block/mysql" - category "github.com/documize/community/domain/category/mysql" - doc "github.com/documize/community/domain/document/mysql" - group "github.com/documize/community/domain/group/mysql" - link "github.com/documize/community/domain/link/mysql" - meta "github.com/documize/community/domain/meta/mysql" - org "github.com/documize/community/domain/organization/mysql" - page "github.com/documize/community/domain/page/mysql" - permission "github.com/documize/community/domain/permission/mysql" - pin "github.com/documize/community/domain/pin/mysql" - search "github.com/documize/community/domain/search/mysql" - setting "github.com/documize/community/domain/setting/mysql" - space "github.com/documize/community/domain/space/mysql" - user "github.com/documize/community/domain/user/mysql" + account "github.com/documize/community/domain/account" + activity "github.com/documize/community/domain/activity" + attachment "github.com/documize/community/domain/attachment" + audit "github.com/documize/community/domain/audit" + block "github.com/documize/community/domain/block" + category "github.com/documize/community/domain/category" + document "github.com/documize/community/domain/document" + group "github.com/documize/community/domain/group" + link "github.com/documize/community/domain/link" + meta "github.com/documize/community/domain/meta" + org "github.com/documize/community/domain/organization" + page "github.com/documize/community/domain/page" + permission "github.com/documize/community/domain/permission" + pin "github.com/documize/community/domain/pin" + search "github.com/documize/community/domain/search" + setting "github.com/documize/community/domain/setting" + space "github.com/documize/community/domain/space" + user "github.com/documize/community/domain/user" + _ "github.com/go-sql-driver/mysql" // the mysql driver is required behind the scenes ) // SetMySQLProvider creates MySQL provider func SetMySQLProvider(r *env.Runtime, s *domain.Store) { - // Set up provider specific details. + // Set up provider specific details and wire up data prividers. r.StoreProvider = MySQLProvider{ ConnectionString: r.Flags.DBConn, Variant: r.Flags.DBType, } // Wire up data providers! - s.Account = account.Scope{Runtime: r} - s.Activity = activity.Scope{Runtime: r} - s.Attachment = attachment.Scope{Runtime: r} - s.Audit = audit.Scope{Runtime: r} - s.Block = block.Scope{Runtime: r} - s.Category = category.Scope{Runtime: r} - s.Document = doc.Scope{Runtime: r} - s.Group = group.Scope{Runtime: r} - s.Link = link.Scope{Runtime: r} - s.Meta = meta.Scope{Runtime: r} - s.Organization = org.Scope{Runtime: r} - s.Page = page.Scope{Runtime: r} - s.Pin = pin.Scope{Runtime: r} - s.Permission = permission.Scope{Runtime: r} - s.Search = search.Scope{Runtime: r} - s.Setting = setting.Scope{Runtime: r} - s.Space = space.Scope{Runtime: r} - s.User = user.Scope{Runtime: r} + accountStore := account.Store{} + accountStore.Runtime = r + s.Account = accountStore + + // Activity + activityStore := activity.Store{} + activityStore.Runtime = r + s.Activity = activityStore + + // Attachment + attachmentStore := attachment.Store{} + attachmentStore.Runtime = r + s.Attachment = attachmentStore + + // Audit + auditStore := audit.Store{} + auditStore.Runtime = r + s.Audit = auditStore + + // (Block) Section Template + blockStore := block.Store{} + blockStore.Runtime = r + s.Block = blockStore + + // Category + categoryStore := category.Store{} + categoryStore.Runtime = r + s.Category = categoryStore + + // Document + documentStore := document.Store{} + documentStore.Runtime = r + s.Document = documentStore + + // Group + groupStore := group.Store{} + groupStore.Runtime = r + s.Group = groupStore + + // Link + linkStore := link.Store{} + linkStore.Runtime = r + s.Link = linkStore + + // Meta + metaStore := meta.Store{} + metaStore.Runtime = r + s.Meta = metaStore + + // Organization (tenant) + orgStore := org.Store{} + orgStore.Runtime = r + s.Organization = orgStore + + // Page (section) + pageStore := page.Store{} + pageStore.Runtime = r + s.Page = pageStore + + // Permission + permissionStore := permission.Store{} + permissionStore.Runtime = r + s.Permission = permissionStore + + // Pin + pinStore := pin.Store{} + pinStore.Runtime = r + s.Pin = pinStore + + // Search + searchStore := search.Store{} + searchStore.Runtime = r + s.Search = searchStore + + // Setting + settingStore := setting.Store{} + settingStore.Runtime = r + s.Setting = settingStore + + // Space + spaceStore := space.Store{} + spaceStore.Runtime = r + s.Space = spaceStore + + // User + userStore := user.Store{} + userStore.Runtime = r + s.User = userStore } // MySQLProvider supports MySQL 5.7.x and 8.0.x versions. @@ -163,27 +233,27 @@ func (p MySQLProvider) QueryMeta() string { return "SELECT VERSION() AS version, @@version_comment as comment, @@character_set_database AS charset, @@collation_database AS collation" } -// QueryStartLock locks database tables. -func (p MySQLProvider) QueryStartLock() string { - return "LOCK TABLE dmz_config WRITE;" -} +// // QueryStartLock locks database tables. +// func (p MySQLProvider) QueryStartLock() string { +// return "LOCK TABLE dmz_config WRITE;" +// } -// QueryFinishLock unlocks database tables. -func (p MySQLProvider) QueryFinishLock() string { - return "UNLOCK TABLES;" -} +// // QueryFinishLock unlocks database tables. +// func (p MySQLProvider) QueryFinishLock() string { +// return "UNLOCK TABLES;" +// } -// QueryInsertProcessID returns database specific query that will -// insert ID of this running process. -func (p MySQLProvider) QueryInsertProcessID() string { - return "INSERT INTO dmz_config (c_key,c_config) " + fmt.Sprintf(`VALUES ('DBLOCK','{"pid": "%d"}');`, os.Getpid()) -} +// // QueryInsertProcessID returns database specific query that will +// // insert ID of this running process. +// func (p MySQLProvider) QueryInsertProcessID() string { +// return "INSERT INTO dmz_config (c_key,c_config) " + fmt.Sprintf(`VALUES ('DBLOCK','{"pid": "%d"}');`, os.Getpid()) +// } -// QueryDeleteProcessID returns database specific query that will -// delete ID of this running process. -func (p MySQLProvider) QueryDeleteProcessID() string { - return "DELETE FROM dmz_config WHERE c_key='DBLOCK';" -} +// // QueryDeleteProcessID returns database specific query that will +// // delete ID of this running process. +// func (p MySQLProvider) QueryDeleteProcessID() string { +// return "DELETE FROM dmz_config WHERE c_key='DBLOCK';" +// } // QueryRecordVersionUpgrade returns database specific insert statement // that records the database version number. @@ -213,8 +283,20 @@ func (p MySQLProvider) QueryGetDatabaseVersionLegacy() string { // QueryTableList returns a list tables in Documize database. func (p MySQLProvider) QueryTableList() string { - return `SELECT COUNT(*) FROM information_schema.tables - WHERE table_schema = '` + p.DatabaseName() + `' and TABLE_TYPE='BASE TABLE'` + return `SELECT TABLE_NAME FROM information_schema.tables + WHERE TABLE_SCHEMA = '` + p.DatabaseName() + `' AND TABLE_TYPE='BASE TABLE'` +} + +// JSONEmpty returns empty SQL JSON object. +// Typically used as 2nd parameter to COALESCE(). +func (p MySQLProvider) JSONEmpty() string { + return "JSON_UNQUOTE('{}')" +} + +// JSONGetValue returns JSON attribute selection syntax. +// Typically used in SELECT query. +func (p MySQLProvider) JSONGetValue(column, attribute string) string { + return fmt.Sprintf("JSON_EXTRACT(%s,'$.%s')", column, attribute) } // VerfiyVersion checks to see if actual database meets @@ -245,6 +327,9 @@ func (p MySQLProvider) VerfiyVersion(dbVersion string) (bool, string) { // VerfiyCharacterCollation needs to ensure utf8/utf8mb4. func (p MySQLProvider) VerfiyCharacterCollation(charset, collation string) (charOK bool, requirements string) { + charset = strings.ToLower(charset) + collation = strings.ToLower(collation) + if charset != "utf8" && charset != "utf8mb4" { return false, "MySQL character needs to be utf8/utf8mb4" } diff --git a/edition/storage/postgresql.go b/edition/storage/postgresql.go new file mode 100644 index 00000000..df0076fe --- /dev/null +++ b/edition/storage/postgresql.go @@ -0,0 +1,292 @@ +// Copyright 2016 Documize Inc. . All rights reserved. +// +// This software (Documize Community Edition) is licensed under +// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html +// +// You can operate outside the AGPL restrictions by purchasing +// Documize Enterprise Edition and obtaining a commercial license +// by contacting . +// +// https://documize.com + +// Package storage sets up database persistence providers. +package storage + +import ( + "fmt" + "strings" + + "github.com/documize/community/core/env" + "github.com/documize/community/domain" + account "github.com/documize/community/domain/account" + activity "github.com/documize/community/domain/activity" + attachment "github.com/documize/community/domain/attachment" + audit "github.com/documize/community/domain/audit" + block "github.com/documize/community/domain/block" + category "github.com/documize/community/domain/category" + document "github.com/documize/community/domain/document" + group "github.com/documize/community/domain/group" + link "github.com/documize/community/domain/link" + meta "github.com/documize/community/domain/meta" + org "github.com/documize/community/domain/organization" + page "github.com/documize/community/domain/page" + permission "github.com/documize/community/domain/permission" + pin "github.com/documize/community/domain/pin" + search "github.com/documize/community/domain/search" + setting "github.com/documize/community/domain/setting" + space "github.com/documize/community/domain/space" + user "github.com/documize/community/domain/user" + _ "github.com/lib/pq" // the mysql driver is required behind the scenes +) + +// PostgreSQLProvider supports by popular demand. +type PostgreSQLProvider struct { + // User specified connection string. + ConnectionString string + + // Unused for this provider. + Variant string +} + +// SetPostgreSQLProvider creates PostgreSQL provider +func SetPostgreSQLProvider(r *env.Runtime, s *domain.Store) { + // Set up provider specific details and wire up data prividers. + r.StoreProvider = PostgreSQLProvider{ + ConnectionString: r.Flags.DBConn, + Variant: "", + } + + // Wire up data providers! + accountStore := account.Store{} + accountStore.Runtime = r + s.Account = accountStore + + // Activity + activityStore := activity.Store{} + activityStore.Runtime = r + s.Activity = activityStore + + // Attachment + attachmentStore := attachment.Store{} + attachmentStore.Runtime = r + s.Attachment = attachmentStore + + // Audit + auditStore := audit.Store{} + auditStore.Runtime = r + s.Audit = auditStore + + // Section Template + blockStore := block.Store{} + blockStore.Runtime = r + s.Block = blockStore + + // Category + categoryStore := category.Store{} + categoryStore.Runtime = r + s.Category = categoryStore + + // Document + documentStore := document.Store{} + documentStore.Runtime = r + s.Document = documentStore + + // Group + groupStore := group.Store{} + groupStore.Runtime = r + s.Group = groupStore + + // Link + linkStore := link.Store{} + linkStore.Runtime = r + s.Link = linkStore + + // Meta + metaStore := meta.Store{} + metaStore.Runtime = r + s.Meta = metaStore + + // Organization (tenant) + orgStore := org.Store{} + orgStore.Runtime = r + s.Organization = orgStore + + // Page (section) + pageStore := page.Store{} + pageStore.Runtime = r + s.Page = pageStore + + // Permission + permissionStore := permission.Store{} + permissionStore.Runtime = r + s.Permission = permissionStore + + // Pin + pinStore := pin.Store{} + pinStore.Runtime = r + s.Pin = pinStore + + // Search + searchStore := search.Store{} + searchStore.Runtime = r + s.Search = searchStore + + // Setting + settingStore := setting.Store{} + settingStore.Runtime = r + s.Setting = settingStore + + // Space + spaceStore := space.Store{} + spaceStore.Runtime = r + s.Space = spaceStore + + // User + userStore := user.Store{} + userStore.Runtime = r + s.User = userStore +} + +// Type returns name of provider +func (p PostgreSQLProvider) Type() env.StoreType { + return env.StoreTypePostgreSQL +} + +// TypeVariant returns databse flavor +func (p PostgreSQLProvider) TypeVariant() string { + return p.Variant +} + +// DriverName returns database/sql driver name. +func (p PostgreSQLProvider) DriverName() string { + return "postgres" +} + +// Params returns connection string parameters that must be present before connecting to DB. +func (p PostgreSQLProvider) Params() map[string]string { + // Not used for this provider. + return map[string]string{} +} + +// Example holds storage provider specific connection string format. +// used in error messages +func (p PostgreSQLProvider) Example() string { + return "database connection string format is 'host=localhost port=5432 sslmode=disable user=admin password=secret dbname=documize'" +} + +// DatabaseName holds the SQL database name where Documize tables live. +func (p PostgreSQLProvider) DatabaseName() string { + bits := strings.Split(p.ConnectionString, " ") + for _, s := range bits { + s = strings.TrimSpace(s) + if strings.Contains(s, "dbname=") { + s = strings.Replace(s, "dbname=", "", 1) + + return s + } + } + + return "" +} + +// MakeConnectionString returns provider specific DB connection string +// complete with default parameters. +func (p PostgreSQLProvider) MakeConnectionString() string { + // No special processing so return as-is. + return p.ConnectionString +} + +// QueryMeta is how to extract version number, collation, character set from database provider. +func (p PostgreSQLProvider) QueryMeta() string { + // SELECT version() as vstring, current_setting('server_version_num') as vnumber, pg_encoding_to_char(encoding) AS charset FROM pg_database WHERE datname = 'documize'; + + return fmt.Sprintf(`SELECT cast(current_setting('server_version_num') AS TEXT) AS version, version() AS comment, pg_encoding_to_char(encoding) AS charset, '' AS collation + FROM pg_database WHERE datname = '%s'`, p.DatabaseName()) +} + +// // QueryStartLock locks database tables. +// func (p PostgreSQLProvider) QueryStartLock() string { +// return "" +// } + +// // QueryFinishLock unlocks database tables. +// func (p PostgreSQLProvider) QueryFinishLock() string { +// return "" +// } + +// // QueryInsertProcessID returns database specific query that will +// // insert ID of this running process. +// func (p PostgreSQLProvider) QueryInsertProcessID() string { +// return "" +// } + +// // QueryDeleteProcessID returns database specific query that will +// // delete ID of this running process. +// func (p PostgreSQLProvider) QueryDeleteProcessID() string { +// return "" +// } + +// QueryRecordVersionUpgrade returns database specific insert statement +// that records the database version number. +func (p PostgreSQLProvider) QueryRecordVersionUpgrade(version int) string { + // Make record that holds new database version number. + json := fmt.Sprintf("{\"database\": \"%d\"}", version) + + return fmt.Sprintf(`INSERT INTO dmz_config (c_key,c_config) VALUES ('META','%s') + ON CONFLICT (c_key) DO UPDATE SET c_config='%s' WHERE dmz_config.c_key='META'`, json, json) +} + +// QueryRecordVersionUpgradeLegacy returns database specific insert statement +// that records the database version number. +func (p PostgreSQLProvider) QueryRecordVersionUpgradeLegacy(version int) string { + // This provider has no legacy schema. + return p.QueryRecordVersionUpgrade(version) +} + +// QueryGetDatabaseVersion returns the schema version number. +func (p PostgreSQLProvider) QueryGetDatabaseVersion() string { + return "SELECT c_config -> 'database' FROM dmz_config WHERE c_key = 'META';" +} + +// QueryGetDatabaseVersionLegacy returns the schema version number before The Great Schema Migration (v25, MySQL). +func (p PostgreSQLProvider) QueryGetDatabaseVersionLegacy() string { + // This provider has no legacy schema. + return p.QueryGetDatabaseVersion() +} + +// QueryTableList returns a list tables in Documize database. +func (p PostgreSQLProvider) QueryTableList() string { + return fmt.Sprintf(`select table_name + FROM information_schema.tables + WHERE table_type='BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'information_schema') AND table_catalog='%s'`, p.DatabaseName()) +} + +// JSONEmpty returns empty SQL JSON object. +// Typically used as 2nd parameter to COALESCE(). +func (p PostgreSQLProvider) JSONEmpty() string { + return "'{}'::json" +} + +// JSONGetValue returns JSON attribute selection syntax. +// Typically used in SELECT query. +func (p PostgreSQLProvider) JSONGetValue(column, attribute string) string { + return fmt.Sprintf("%s -> '%s'", column, attribute) +} + +// VerfiyVersion checks to see if actual database meets +// minimum version requirements.`` +func (p PostgreSQLProvider) VerfiyVersion(dbVersion string) (bool, string) { + // All versions supported. + return true, "" +} + +// VerfiyCharacterCollation needs to ensure utf8. +func (p PostgreSQLProvider) VerfiyCharacterCollation(charset, collation string) (charOK bool, requirements string) { + if strings.ToLower(charset) != "utf8" { + return false, fmt.Sprintf("PostgreSQL character set needs to be utf8, found %s", charset) + } + + // Collation check ignored. + + return true, "" +} diff --git a/embed/bindata.go b/embed/bindata.go index b8b1f1b6..29b5c00e 100644 --- a/embed/bindata.go +++ b/embed/bindata.go @@ -15,8 +15,8 @@ // bindata/mail/share-space-new-user.html // bindata/manifest.json // bindata/offline.html -// bindata/public/assets/documize-78bde9efe167caa18caf472582023f8b.js -// bindata/public/assets/documize-fa9bb4d957702a968245808b3b9bec0f.css +// bindata/public/assets/documize-3643799468e1b2a266d840a1dad5e25c.css +// bindata/public/assets/documize-c5ca96bc6e367ed06247e94fba7fb20d.js // bindata/public/assets/font/icons/MaterialIcons-Regular.eot // bindata/public/assets/font/icons/MaterialIcons-Regular.ttf // bindata/public/assets/font/icons/MaterialIcons-Regular.woff @@ -653,6 +653,7 @@ // bindata/scripts/mysql/db_00023.sql // bindata/scripts/mysql/db_00024.sql // bindata/scripts/mysql/db_00025.sql +// bindata/scripts/postgresql/db_00000.sql // DO NOT EDIT! package embed @@ -736,7 +737,7 @@ func bindataCrossdomainXml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/crossdomain.xml", size: 585, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/crossdomain.xml", size: 585, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -756,7 +757,7 @@ func bindataDbErrorHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/db-error.html", size: 2985, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/db-error.html", size: 2985, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -776,7 +777,7 @@ func bindataFavicon32x32Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/favicon-32x32.png", size: 1174, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/favicon-32x32.png", size: 1174, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -796,7 +797,7 @@ func bindataFaviconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/favicon.ico", size: 4414, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/favicon.ico", size: 4414, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -816,12 +817,12 @@ func bindataFaviconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/favicon.png", size: 1174, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/favicon.png", size: 1174, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _bindataIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x97\x59\x73\xea\x3a\x12\xc7\x9f\x73\x3e\x05\x43\x55\x9e\xb8\x2c\x96\x31\x4b\x15\x9c\x29\x07\xcc\x92\xb0\xf8\x00\x0e\x84\x97\x94\x2c\xc9\xb6\x88\x2d\x39\x96\xcc\x92\x5b\xf7\xbb\x4f\x19\x07\xc7\x21\xc9\xcc\x3c\xa5\x24\xfd\xfe\xad\xfe\x77\xcb\x9d\xa4\xf3\xaf\xfe\xbc\xb7\x7a\x32\x8d\x82\x27\x03\xff\xf7\xaf\x4e\xfa\xe3\xa6\xe3\x11\x88\x7f\xff\xba\xb9\xf9\xd5\x09\x88\x84\x05\x06\x03\xd2\x2d\x62\x8e\xe2\x80\xbe\x91\x2a\xe2\xcc\xa1\x6e\x95\xb0\x3d\x8d\x38\x0b\x08\x93\xc5\x02\xe2\x4c\x12\x26\xbb\xc5\xdb\xe6\xdd\x2d\x00\x01\xc7\xb1\x4f\xcc\x88\x38\xf4\x78\x0b\xc0\xad\xaa\xdf\x02\x70\x09\x90\x6c\x80\xde\x2d\x00\x21\xc7\xd3\xff\x06\x56\x43\x8e\x45\x46\xfb\x1c\x41\x49\x39\x5b\x9d\x42\x92\xa1\x30\x96\x3c\x23\x72\x19\x65\x40\x18\x71\x1c\xa3\x44\x97\x61\x11\xe7\xd2\x5a\x4c\x32\xa4\x9a\x9d\xc0\x90\x8e\xb8\xf8\x10\xe7\x0f\x66\x30\x20\x22\x84\x28\x77\x77\x48\x33\xe0\xdd\xff\x92\xa0\x38\xa2\xf2\x64\x72\x9f\xa2\xd3\x88\x40\x4c\xa2\x8c\xef\xa5\x4c\xf9\x02\x95\x53\xaa\xbc\x20\x21\x8f\x64\x79\xce\xfc\x53\x16\xcf\x08\x6c\x12\x19\xb3\xc7\x77\xf1\xb9\xa8\x03\x43\x5f\x59\x0b\x63\xf9\xb1\xd7\xec\xa7\xf4\xb3\x6e\x9a\x93\x71\x4f\x5f\x8d\xe7\xb3\xe7\x95\x31\x35\x27\xfa\xca\x78\x5e\x2f\x74\xd3\x34\x16\x29\xee\x40\x5f\x90\x4c\x40\x92\xf0\x65\xe4\xd3\x72\x40\x23\xe8\x92\xfc\x35\x84\x41\xdb\x27\x38\x2f\x3b\x6b\x62\x41\x99\x6b\x46\xfc\x78\xfa\xe6\x88\xf4\x89\x03\x63\x5f\x9a\x50\x08\xe9\x45\x3c\x76\x3d\x91\x62\x32\x8a\xaf\xef\x15\x34\x08\x7d\x52\x86\xb1\xf4\xf2\x17\x27\x6b\xc2\x24\x4d\xdb\xbc\xe0\xb1\xfc\xd4\x67\xaf\xe2\x73\x97\xe6\xdb\x18\x4b\xa2\x3b\x92\x44\xfa\x27\x61\xa6\x71\xb8\x8f\x49\x24\x3e\x0b\xc6\x8e\xee\x47\x04\xe2\x53\x4e\x74\x31\xfb\x59\xf3\x39\x67\xc9\x5d\xd7\xff\x54\x27\xca\x90\x1f\x63\x82\x57\x1e\x09\xc8\xbb\xd9\x5b\x2d\x39\xf1\xa9\xeb\xc9\xec\x5a\xca\x3f\x52\x70\x7c\x1a\x26\x0b\xed\x12\xfb\xf8\x53\x0c\xf1\x42\x0e\x69\x5e\x57\xec\x1d\x14\x64\x29\x4f\xfe\x05\xcf\xb5\x01\xa7\x3d\x58\x7a\xfc\x30\x81\x36\xf1\x7f\x24\xce\xd7\x65\x9e\xf3\x09\x5e\x42\xbc\x7f\xa6\xe7\x73\x11\x40\xdf\xbf\x26\xe6\x8e\x73\xbe\x23\xa3\xe6\x8e\xf3\x85\x61\x57\x08\xcb\xd7\x55\x37\xcd\x7c\x39\x27\xf3\xe1\xf3\xc2\x58\xce\x27\x8f\x9f\x9f\xec\x99\x4d\x0e\xf5\xde\x6a\xfc\x68\x3c\x0f\x8d\x99\xb1\x38\xbf\xf4\x6f\xa9\xc7\xb1\xb1\x7e\x9e\xcc\xe7\x0f\x96\xb9\xfc\x16\x58\x2d\xf4\xd9\x72\x9c\xe8\xff\xe7\xf9\xf3\x78\xb6\x32\x16\x33\x7d\xf2\x05\x4c\x26\xe2\xcf\x73\x6d\x4f\x22\x91\x7f\x88\x4a\xa5\x59\xab\xd4\x4a\xa0\xa5\xd6\x81\x83\x9c\x7c\x11\xbe\x9d\x1b\xa9\x90\xc5\x49\xd5\xd3\xce\x27\x03\x42\x0f\x43\xff\xfd\x89\x0f\x7d\x6e\x43\xff\xf3\x87\x5d\x2c\x54\x93\x91\x9d\x4e\x6c\xe4\xc1\x48\x10\xd9\x2d\xc6\xd2\x29\xb7\x8a\x1f\x07\x9e\x94\x61\x99\xbc\xc6\x74\xdf\x2d\x6e\xca\x96\x5e\xee\xf1\x20\x84\x92\xda\x3e\xc9\x0d\xf1\xb1\xd1\x25\xd8\x25\xa9\x4e\x52\xe9\x93\xdf\xfd\x77\x93\x9d\x6a\xba\xce\x22\x86\x11\x0f\x49\x24\x4f\xdd\x22\xb6\x93\xb2\xe4\xc2\xfc\xfd\x77\xa5\x7f\x97\xec\xfd\xf3\xcf\xa7\xec\xf2\x12\x0f\x0a\xef\x5a\x92\xec\x5d\x49\xd2\x5f\x41\xc9\x14\xe0\x51\x0e\xbf\x64\xf5\x0d\x8b\x89\x40\x11\x0d\x93\x72\x7d\x27\xb8\xc6\xf7\x94\x1c\x92\x2a\xe7\xd8\x03\xc5\xd2\xeb\x62\xb2\xa7\x88\x94\xcf\x8b\xbf\x0a\x94\x51\x49\xa1\x5f\x16\x08\xfa\xa4\xab\x54\x6a\x7f\x15\x02\x78\xa4\x41\x1c\xe4\xb7\x62\x91\x4c\x39\x04\xfd\x64\x92\x76\x19\xbf\xa4\xe7\x53\xf6\x52\x88\x88\xdf\x2d\x06\x90\x51\x87\x08\x59\x2c\x78\x11\x71\xba\xc5\xea\x65\xa3\xb2\x13\x9c\x15\xaf\x68\xe1\xf1\x48\xa2\x58\x16\x28\x4a\xdc\xbc\x4b\x1c\xb8\x4f\xd6\x15\x8a\xf8\xbf\xf7\x5d\xf0\xf5\x92\x94\x96\xa7\x90\x74\x8b\x34\x80\x2e\xa9\x86\xcc\xbd\x96\x97\x55\x70\x54\x41\x25\x64\x6e\x1a\x44\xd0\x37\x22\xba\xc5\xf3\xee\xd7\x90\xe2\x3c\x79\x3c\x42\x3e\x32\x87\x42\x10\x29\xaa\x7b\xc2\x30\x8f\xca\x8a\x83\x70\x5b\x55\x35\x05\xda\x0d\xa5\xde\xac\x39\x4a\x03\xa8\xd0\xc1\x8a\xd6\x54\x89\xad\x3a\x15\x24\x44\xb1\x40\x99\x24\x6e\xf2\xe0\x13\x6f\x10\x68\x8d\xb2\xbe\xd1\x26\xee\xb2\x6e\x56\xef\xd7\x43\x82\x99\x54\xea\xf3\x7d\xbd\x09\x95\xe1\x72\xa2\x39\xad\xfb\xbe\x49\x47\xc6\x69\xbb\x6a\x89\xd1\x4b\xb7\x20\x3c\xa8\x29\xa0\x2c\xd4\xd1\x00\xef\x7a\x0d\x5b\x2c\x1e\xef\x56\xac\x44\xa6\xc1\xe0\x71\xac\xf6\xda\x3b\xf3\xb8\x54\xee\x63\x62\x8d\x22\xef\x50\x9b\x8c\xb4\xd7\xe1\xbd\xb5\x73\xc9\x78\xb8\x79\x19\xca\x2d\x7f\x8d\x74\x50\xeb\x4f\x16\xcd\x03\x1a\xad\x4a\x40\x84\xd5\xde\x1a\xe9\xee\x49\xf4\x4b\xca\x9f\x6e\xb7\x58\xf8\xbf\x5d\x5f\xbe\xfd\xb2\x03\xdb\xb6\x5d\xc7\x6d\xad\xd9\xac\x01\xd8\x6e\xb4\x40\x5d\x6b\xd5\x5a\xb6\x6a\xb7\x6d\x82\x6a\x3f\xfa\x1e\xef\x26\xd5\x68\x1a\x8f\xef\xb7\x01\x76\x58\x8f\x6f\x06\x25\xf0\x3a\x06\x6f\xd0\x5a\xde\x8b\x66\xbd\xe7\xf4\x5a\xf3\xaa\xb9\xb0\x18\x6f\x65\xbe\x03\xeb\xde\x6b\xf7\xa3\xa6\xb3\xf6\x9b\xc6\x16\xf4\xb7\xa5\x3f\x47\xc7\x32\x4e\xd4\x05\x21\x6a\x79\xd3\x91\xe8\xc7\x9a\xb5\x5e\xf4\xf1\x69\xdd\x9b\x05\xc6\x4b\xe9\xf8\xb4\x45\x0f\xe3\x37\x59\x43\xfd\x48\x0e\xa7\x0f\xeb\x78\x34\x09\x1f\x0f\x43\xb9\xd1\x1a\xca\x1d\x6d\xfa\x6f\x6a\xe6\xfb\xd7\x4d\xa7\xfa\xfe\x07\x60\xc7\xe6\xf8\x94\xee\xdd\x74\xd2\xcf\xa9\x20\x22\xf4\xa5\xe9\xc0\xae\x63\x8c\x01\x76\x54\x54\x6b\xc0\x9a\x86\x6b\x10\x28\x48\x05\x9a\xd6\x52\x61\x03\xc1\xca\xee\x5b\xef\xe4\x2d\xc0\xda\x7c\x3f\x68\xb0\x83\x71\x6c\x1f\x87\x8b\x55\xe9\x6e\xd7\x68\xaf\xc4\xc6\xd4\x10\x2d\xbd\xbd\xd6\x1b\x6f\xab\xd9\xf0\x55\xa2\x3f\x99\x77\x4f\x4c\x4d\x2f\x78\x98\xb2\x6a\xef\xfe\x60\xf5\xb6\xe8\xd0\x38\x41\xa7\xb4\x41\x3d\xb0\x03\x23\x2c\x1e\xc3\xdd\xca\x55\x5f\x14\x9b\xf9\xcd\xc9\xdc\x93\xb8\x2f\x94\xa6\xa1\xda\x83\xa7\xa1\x37\x1c\x03\x8b\x3f\xb4\x07\x83\xf5\x38\x00\x7d\xaf\x7e\x17\x05\x83\xb6\xff\xfa\xfa\xe0\x9e\xbd\x77\xaa\xa9\xc5\xdf\x3f\xb9\xcd\x9a\xdd\x6c\xd9\x98\xb4\x89\x43\x94\x46\x13\x41\xa8\xb4\x10\x74\xea\x4d\xa0\xb5\x40\x0d\xa8\x4e\xcb\xfe\xc1\xaf\x5a\xed\xd9\x53\x10\xb4\x66\x6b\x28\x8d\x9d\x65\x87\x66\xad\x45\xe4\xca\x3a\xdc\x2d\x8d\x89\xd5\xdf\x4c\x80\xdb\x57\xe8\x71\x79\x54\x51\xe6\xb7\x3e\xad\x89\x27\x7c\x88\xad\xd2\x00\xa9\xaf\xe6\x69\x54\xab\x19\x51\x44\x19\x7b\x68\x3b\xed\x61\xb0\x81\xf4\x61\x37\x72\xe6\xbb\x83\xff\x54\x72\x5e\x28\x3d\xcc\x36\x53\xc6\xcc\xf1\x7a\xbb\xb7\x5a\x26\xdd\x6e\xb4\x89\x3e\x57\xdc\x86\x3a\x6a\x94\x76\xea\xcb\x74\xf6\xb8\x45\x86\xfe\xc5\x6f\xd2\xf4\xb4\xd9\x9d\x6a\xfa\x5f\xc0\x7f\x02\x00\x00\xff\xff\xb0\xf9\xd3\x67\x1d\x0c\x00\x00") +var _bindataIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x97\x5b\x73\xb2\x4c\x12\xc7\xaf\x9f\xe7\x53\xb8\x56\xe5\xca\xd7\x03\x20\xa8\x55\xfa\x6c\x11\xc5\x43\x62\x94\x20\x1e\x92\x9b\xd4\xc0\x34\x30\x0a\x0c\x32\x83\x87\xbc\xf5\x7e\xf7\x2d\x24\x12\x72\xda\xdd\xab\xd4\xcc\xfc\xfe\x3d\xfd\xef\x1e\x3a\x49\xf7\x5f\x83\x79\xdf\x7c\xd2\xb5\x92\xc7\x03\xff\xcf\xef\x6e\xf6\xe3\x57\xd7\x03\x84\xff\xfc\xfe\xf5\xeb\x77\x37\x00\x8e\x4a\x21\x0a\xa0\x57\xc6\xd4\x4e\x02\xf2\x0a\x75\x9b\x86\x0e\x71\xeb\x10\x1e\x48\x4c\xc3\x00\x42\x5e\x2e\xd9\x34\xe4\x10\xf2\x5e\xf9\xa6\x75\x7b\x23\x8a\x01\xc5\x89\x0f\x7a\x0c\x0e\x39\xdd\x88\xe2\x8d\xa4\xde\x88\xe2\x35\x40\xba\x21\xf6\x6f\x44\x31\xa2\xf8\xe1\xbf\x81\xf5\x88\x62\x96\xd3\x3e\xb5\x11\x27\x34\x34\xcf\x11\xe4\x28\x4a\x38\xcd\x89\x42\x46\x39\x10\xc5\x14\x27\x76\xaa\xcb\xb1\x98\x52\xbe\x34\xa6\x39\x52\xcf\x4f\x50\x44\xc6\x94\xbd\x8b\x8b\x07\x33\x14\x00\x8b\x90\x5d\xb8\x3b\x22\x39\xf0\xe6\x7f\x01\x76\x12\x13\x7e\xd6\xa9\x4f\xec\xf3\x18\x10\x86\x38\xe7\xfb\x19\x53\xbd\x42\xd5\x8c\xaa\x1a\x10\xd1\x98\x57\xe7\xa1\x7f\xce\xe3\x69\x81\x05\xb1\x36\x5b\xbd\x89\x2f\x45\x1d\x6a\xaa\xb9\x34\xb4\xc5\xfb\x5e\x6b\x90\xd1\x2f\xaa\xae\x4f\x27\x7d\xd5\x9c\xcc\x67\x2f\xa6\xf6\xa0\x4f\x55\x53\x7b\x59\x1b\xaa\xae\x6b\x46\x86\x3b\xc8\x67\x90\x0b\x20\x0d\x5f\xb5\x7d\x52\x0d\x48\x8c\x5c\x28\x5e\x03\x21\xb2\x7c\xc0\x45\xd9\x45\x93\x30\x12\xba\x7a\x4c\x4f\xe7\x6f\x8e\x60\x00\x0e\x4a\x7c\xae\x23\xc6\xb8\x17\xd3\xc4\xf5\x58\x86\xf1\x38\xf9\x7c\x2f\x23\x41\xe4\x43\x15\x25\xdc\x2b\x5e\x9c\xae\x21\xe4\x24\x6b\xb3\x41\x13\xfe\xa1\xcf\x5e\xcd\xa7\x2e\x29\xb6\x31\xe1\xa0\x3a\x1c\x62\xf5\x83\x30\xd7\x38\xd4\xc7\x10\xb3\x8f\x82\x89\xa3\xfa\x31\x20\x7c\x2e\x88\xae\x66\x3f\x6a\x3e\xe6\xcc\xa9\xeb\xfa\x1f\xea\x44\x42\xdb\x4f\x30\x60\xd3\x83\x00\xde\xcc\xde\xc8\xe9\x89\x4f\x5c\x8f\xe7\xd7\x12\xfa\x9e\x82\xe3\x93\x28\x5d\xc8\xd7\xd8\xa7\x9f\x62\xb0\x1d\x1c\xb3\xbc\x3e\xb1\xb7\x88\xc1\x82\x9f\xfd\x2b\x5e\x68\x03\xce\x7a\xb0\xf0\xe8\x71\x8a\x2c\xf0\x7f\x24\x2e\xd7\xe5\x9e\x8b\x09\x5e\x43\xbc\x7d\xa6\x97\x73\x16\x20\xdf\xff\x4c\xcc\x1d\xe7\x72\x47\x4e\xcd\x1d\xe7\x0b\x13\x7e\x42\xc2\x62\x5d\x55\x5d\x2f\x96\x73\x3a\x1f\xbd\x18\xda\x62\x3e\x5d\x7d\x7c\xb2\x17\x36\x3d\x54\xfb\xe6\x64\xa5\xbd\x8c\xb4\x99\x66\x5c\x5e\xfa\xb7\xd4\x6a\xa2\xad\x5f\xa6\xf3\xf9\xfd\x52\x5f\x7c\x0b\x98\x86\x3a\x5b\x4c\x52\xfd\xff\x3c\x7f\x99\xcc\x4c\xcd\x98\xa9\xd3\x2f\x60\x3a\x11\x7f\x9e\x6b\x07\x88\x59\xf1\x21\x0a\xb5\x56\xa3\xd6\xa8\xe0\x06\x34\x1a\xb2\xa3\x14\x8b\xf0\xed\xdc\xc8\x84\x61\x92\x56\x3d\xeb\x7c\x3a\x20\xd4\x28\xf2\xdf\x9e\xf8\xc8\xa7\x16\xf2\x3f\x7e\xd8\xe5\x52\x3d\x1d\xd9\xd9\xc4\xb6\x3d\x14\x33\xe0\xbd\x72\xc2\x9d\x6a\xbb\xfc\x7e\xe0\x71\x1e\x55\x61\x9f\x90\x43\xaf\xbc\xa9\x2e\xd5\x6a\x9f\x06\x11\xe2\xc4\xf2\xa1\x30\xc4\x27\x5a\x0f\xb0\x0b\x99\x8e\x13\xee\xc3\x9f\xc1\x9b\xc9\x6e\x3d\x5b\xe7\x11\xa3\x98\x46\x10\xf3\x73\xaf\x8c\xad\xb4\x2c\x85\x30\x7f\xff\x5d\x1b\xdc\xa6\x7b\xff\xfc\xf3\x21\xbb\xa2\xc4\x43\xcc\xfb\x2c\x49\xf7\x3e\x49\xb2\x5f\x41\xe9\x14\xa0\x71\x01\xbf\x66\xf5\x0d\x8b\x81\xd9\x31\x89\xd2\x72\x7d\x27\xf8\x8c\x1f\x08\x1c\xd3\x2a\x17\xd8\x23\xc1\xdc\xeb\x61\x38\x10\x1b\xaa\x97\xc5\x5f\x25\x12\x12\x4e\x90\x5f\x65\x36\xf2\xa1\x27\xd4\x1a\x7f\x95\x02\x74\x22\x41\x12\x14\xb7\x12\x96\x4e\x39\x1b\xf9\xe9\x24\xed\x85\xf4\x9a\x9e\x4f\xc2\x5d\x29\x06\xbf\x57\x0e\x50\x48\x1c\x60\xbc\x5c\xf2\x62\x70\x7a\xe5\xfa\x75\xa3\xb6\x65\x34\x2c\x7f\xa2\x99\x47\x63\x6e\x27\xbc\x44\xec\xd4\xcd\x9b\xc4\x41\x87\x74\x5d\x23\x36\xfd\xf7\xa1\x27\x7e\xbd\x24\xa3\xf9\x39\x82\x5e\x99\x04\xc8\x85\x7a\x14\xba\x9f\xe5\x55\x49\x3c\x49\x62\x2d\x0a\xdd\x2c\x08\x23\xaf\xc0\x7a\xe5\xcb\xee\xd7\x90\xec\x32\x79\x3c\x80\xf7\xcc\x11\x63\xc0\x59\xfd\x00\x21\xa6\x71\x55\x70\x6c\xdc\x91\x24\x59\x40\x96\x22\x34\x5b\x0d\x47\x50\x44\x09\x39\x58\x90\x5b\x12\x58\x92\x53\xb3\x19\x2b\x97\x48\xc8\xc1\x4d\x1f\x7c\xea\x0d\x89\xb2\x52\x55\x37\xf2\xd4\x5d\x34\xf5\xfa\xdd\x7a\x04\x38\xe4\x42\x73\x7e\x68\xb6\x90\x30\x5a\x4c\x65\xa7\x7d\x37\xd0\xc9\x58\x3b\x3f\x9b\x6d\x36\xde\xf5\x4a\xcc\x43\xb2\x20\x56\x99\x34\x1e\xe2\x6d\x5f\xb1\x98\xb1\xba\x35\xc3\x0a\x3c\x04\xc3\xd5\x44\xea\x77\xb6\xfa\x69\x21\xdc\x25\xb0\x1c\xc7\xde\xb1\x31\x1d\xcb\xfb\xd1\xdd\x72\xeb\xc2\x64\xb4\xd9\x8d\xf8\x33\xdd\xc7\xaa\xd8\x18\x4c\x8d\xd6\xd1\x1e\x9b\x15\x91\x45\xf5\xfe\xda\x56\xdd\x33\x1b\x54\x84\xc7\x5e\xaf\x5c\xfa\xbf\x5d\x5f\xbf\xfd\xaa\xa4\x34\xa5\x56\xa7\xd3\x54\xda\x20\x58\x22\x12\x15\x05\xb7\x9b\x0d\x24\x60\x84\x65\x10\x65\xfb\x27\xdf\x64\xf5\xd0\x7c\xe2\xde\xb9\x39\xdc\xde\x3f\xb6\x23\x59\x9c\x3d\x0f\x86\x9b\xed\x6c\x37\x36\x5a\xd3\xbb\x63\xe3\x4e\xa9\x1c\x56\xca\xee\xe1\xbe\xdd\xce\x7d\xbb\xf6\xad\xd5\xa8\x34\x07\xd2\xfc\x51\xc3\x9d\xa5\x2c\xec\x23\x12\xc8\x46\x2c\x37\x8c\xd3\xe3\xf3\xb8\xb5\x9a\x18\x83\x60\xa3\x1a\xed\x8d\x19\xa8\xd3\x66\xbc\x3c\xdf\xbd\xea\x77\x3b\x7c\x94\x27\x7a\xdf\x5c\x1b\x13\x4e\x9c\xed\x78\xc0\x2c\x78\x3c\x3e\x30\x7c\x94\x4e\x30\x3a\xaa\x57\xdf\xbf\x7f\x75\xeb\x6f\x7f\x00\x76\x2d\x8a\xcf\xd9\xde\xaf\x6e\xf6\x39\x95\x58\x6c\x7f\x69\xba\x68\x35\x31\xc6\x22\x76\x24\xbb\xa1\xa0\x86\x8c\x1b\x48\x14\x6c\x49\x94\xe5\xb6\x84\x14\x1b\xd5\xb6\xdf\x7a\x87\xd7\x00\xcb\xf3\xc3\x50\x09\x8f\xda\xa9\x73\x1a\x19\x66\xe5\x76\xab\x74\x4c\xb6\xd1\x65\x9b\x54\x5e\xf7\x4d\xe5\xd5\x9c\x8d\xf6\xdc\x7e\xcc\xbd\x7b\xec\x41\xf7\x82\xfb\x87\xb0\xde\xbf\x3b\x2e\xfb\xcf\xf6\x51\x39\x23\xa7\xb2\xb1\xfb\xe2\x56\x1c\x63\xb6\x8a\xb6\xa6\x2b\xed\x04\x2b\xf4\x5b\xd3\xb9\xc7\xf1\x80\x09\x2d\x4d\xb2\x86\x4f\x23\x6f\x34\x11\x97\xf4\xbe\x33\x1c\xae\x27\x81\x38\xf0\x9a\xb7\x71\x30\xec\xf8\xfb\xfd\xbd\x7b\xf1\xde\xad\x67\x16\xff\xfc\xe4\x36\x6f\xb6\x2d\xdb\xa8\xa3\x58\xb6\x02\x92\xd2\x02\xdc\x50\xc4\x66\x0b\x3a\x4d\xc7\x42\x2d\xc7\x12\x1b\xf8\x07\xbf\x63\x05\xb5\xe6\x4f\x7b\xc1\x92\x9c\x27\xfd\xf9\xbe\x1d\x6c\x76\x41\x53\x5b\xd3\x58\x37\xd6\xd6\xe0\xe1\xa0\x3c\x2a\x7d\x0d\xdb\x1b\x11\xdb\xb9\xdf\x67\x77\x66\x23\x0f\xfb\xee\x1c\x6d\x4e\xfb\xc7\x31\x87\x58\x1f\x0a\x95\x8a\xb8\xe6\xfb\x27\x9f\x6f\x76\x4f\x6b\x7f\xe3\xa2\x96\xf9\x4a\xe7\x8e\xd2\x3a\x63\xfa\x8c\x55\x25\xb6\x6e\x8f\x4f\x8b\x68\xf8\xfa\xba\xac\x6c\xdc\xfa\x9a\x0c\x30\xa7\xe1\xca\x98\x6e\x97\x8f\x43\x65\xf4\xd5\x6f\xda\xf4\xac\xd9\xdd\x7a\xf6\x5f\xc0\x7f\x02\x00\x00\xff\xff\xa7\x43\xcc\x38\x1d\x0c\x00\x00") func bindataIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -836,7 +837,7 @@ func bindataIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/index.html", size: 3101, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/index.html", size: 3101, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -856,7 +857,7 @@ func bindataMailDocumentApproverHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/mail/document-approver.html", size: 7030, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/mail/document-approver.html", size: 7030, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -876,7 +877,7 @@ func bindataMailEmailHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/mail/email.html", size: 7565, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/mail/email.html", size: 7565, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -896,7 +897,7 @@ func bindataMailInviteExistingUserHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/mail/invite-existing-user.html", size: 6957, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/mail/invite-existing-user.html", size: 6957, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -916,7 +917,7 @@ func bindataMailInviteNewUserHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/mail/invite-new-user.html", size: 8297, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/mail/invite-new-user.html", size: 8297, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -936,7 +937,7 @@ func bindataMailPasswordResetHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/mail/password-reset.html", size: 7757, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/mail/password-reset.html", size: 7757, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -956,7 +957,7 @@ func bindataMailShareSpaceExistingUserHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/mail/share-space-existing-user.html", size: 6895, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/mail/share-space-existing-user.html", size: 6895, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -976,7 +977,7 @@ func bindataMailShareSpaceNewUserHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/mail/share-space-new-user.html", size: 7196, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/mail/share-space-new-user.html", size: 7196, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -996,7 +997,7 @@ func bindataManifestJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/manifest.json", size: 616, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/manifest.json", size: 616, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1016,47 +1017,47 @@ func bindataOfflineHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/offline.html", size: 28734, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/offline.html", size: 28734, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _bindataPublicAssetsDocumize78bde9efe167caa18caf472582023f8bJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7b\x77\xdb\x36\xb6\x30\x0e\xff\xef\x4f\x41\xa3\xe7\x75\xc9\x31\xad\xd8\x69\x3b\x73\x46\x2d\xe3\x27\x4d\xd2\xd6\x67\x72\x7b\x62\x67\xfa\xcc\x4a\xb2\xb2\x60\x11\x96\x58\x53\x80\x86\x80\xec\xb8\x8e\xbe\xfb\xbb\xb0\x71\x21\x40\x82\x14\x65\x3b\x69\x7a\x7e\x33\xb3\x56\x6a\x11\x77\x60\x63\xdf\xb0\x2f\x68\xc9\x49\xc4\x45\x55\x4c\x04\xda\xca\xc9\x59\x41\x49\x8c\x72\x36\x59\xce\x8b\xdf\xc9\x3d\xbc\x58\xa0\xf4\x0d\x22\x1f\x16\xac\x12\x1c\xa5\x75\x49\x45\x38\x2b\x2f\x48\x85\x52\x44\xe6\xa7\xa4\xda\x2b\x19\xce\xf7\x0a\x5a\x88\x02\x97\xc5\xef\xa4\xf2\x6a\x4f\x18\x3d\x2b\xa6\xf7\x08\xbd\x28\x2a\x46\xe7\x84\x0a\xf4\x2e\x3d\x5b\xd2\x89\x28\x18\x8d\x45\x4a\x52\x9a\xf2\xe4\xfa\xc5\xe9\x6f\x64\x22\x46\x6a\x1a\x2f\x2b\xb6\x20\x95\xb8\x8a\x45\x8a\xde\xbf\x27\xfc\x19\xcb\x97\x25\x41\xe9\xf5\x05\x2e\x97\x64\xbc\xbd\xbf\x4a\xb6\x2e\x70\x15\xb1\xec\x82\x15\x79\xb4\xbf\xc5\xb2\x27\x72\x26\xa3\x87\x8b\x45\x59\x4c\xb0\xec\x7a\x44\x3e\x08\x42\xf3\xf8\x7a\x0e\x8d\x5f\x56\xe4\xac\xf8\x30\xe6\x72\x04\xbc\x2c\xc5\xc8\xfd\x9c\x2e\x58\xfe\x2c\x5c\xad\x51\x92\xbe\xd2\x8b\x1f\x13\x53\x65\x95\xa4\xf1\x7e\x4a\xcd\xcf\x24\x66\x69\x78\x94\x24\x15\xe6\x7b\xc6\x56\x49\xda\xde\xf2\xa5\x98\x11\x2a\xe4\x02\x58\xc5\xef\x61\xca\xe8\xd5\x9c\x2d\xb9\x7f\x0e\x6a\xcf\x79\x31\x5f\x94\x64\x4f\x36\x69\xb6\x3b\xc5\x9c\x34\xf6\x78\xf3\xfd\x75\xe6\x6a\x57\x6a\xb7\xb4\x22\x5c\xb0\x8a\x8c\xeb\x21\x92\xeb\x8a\x88\x65\x45\x23\x75\x0e\xaf\x8e\xff\xf9\x72\xa4\xe1\x24\x16\xc9\x2a\x75\xa6\xb8\x41\xb3\x55\x32\x60\x9b\xcc\xf7\x0e\x68\x5d\x8a\xa2\xe4\xf7\x08\x9d\xb0\xbc\xa0\xd3\x76\x09\x25\xe2\x86\x9b\x7a\x2b\xc0\x45\xa6\x27\x94\x65\xe2\x6a\x41\xd8\x59\x74\x7c\x35\x3f\x65\xe5\xce\x0e\xe2\xf0\x47\xb3\x60\x54\x08\x52\xc9\xc9\x1c\x06\xf6\x4f\xd7\x14\xab\xd0\xe6\x8a\x9d\x9d\x9e\xe1\xc4\x68\xc2\x28\x17\xd5\x72\x22\x58\x95\x65\x99\xfd\xbe\x6d\xfe\x1e\x2d\x2a\x26\x98\x6c\x76\x68\xe6\x36\xb6\x03\x6e\xd5\x80\xc2\x5b\x80\x82\x7f\xc3\x1f\xc6\xea\x6c\x0b\x0a\xfb\xc4\x49\x75\x51\x4c\x48\x9c\xa4\x78\xb1\x78\x46\x04\xee\x2a\x2e\xd9\x04\x97\xc7\x82\x55\x78\x4a\xba\xea\xf4\xc0\xa1\x38\x0c\x82\xd4\xd8\xfb\x2a\xbb\x8b\xfb\xa0\x53\x9e\x15\xcf\xec\xdd\x1e\x4d\x89\x38\x5e\x9e\xe6\x6c\x8e\x0b\x1a\x27\x69\x61\xf0\x4f\x71\x16\x23\x06\x80\x80\xb2\x2c\x8b\xd5\xd7\x2c\xcb\xc4\x21\x5a\x52\x05\x1a\x39\x1a\xb3\x58\x24\x89\xea\x14\x67\x62\xb4\xc0\x9c\x5f\xb2\x2a\x4f\xcb\x4c\x8c\xc8\x1c\x17\xa5\xec\x67\x5b\xaf\x95\xbf\xac\x08\x27\x54\xc4\x38\xf9\xf8\xb1\xf5\xb1\x4c\x92\xd0\xcd\x81\x05\xa1\x82\x5e\xe0\xb2\xc8\x51\xb2\x55\x38\x97\xf7\x47\xcc\xc9\x5f\xbf\x1d\xc1\x4d\x20\x31\xdf\x45\x63\xb4\x5b\xc2\xbf\x38\x59\x91\x92\x93\x6b\xb9\x0a\x49\x0f\xe8\x14\x6d\x1b\x28\x11\x03\xc7\x11\x2b\xb9\xac\x2a\xbb\x7e\xb8\x14\x33\x56\x15\xbf\x03\x12\x1e\xa3\x1f\x31\x2f\x26\x11\xda\x2d\x56\x5b\xe6\x64\x66\x05\x97\x1b\x19\x23\x09\x1d\x28\x19\x2d\x18\x17\x31\x5a\x2c\x4f\xcb\x62\xe2\x5e\x3b\x79\x6f\x66\x04\xe7\xa4\xe2\xe3\x6a\x95\xac\x52\x3d\x9e\x77\x48\xf5\x81\xdb\x6e\x5d\xc8\x41\xc9\x68\x52\x12\x5c\x3d\x2c\xcb\x38\x49\x03\x20\x31\x10\xc9\x9c\x93\xab\x49\xc9\xf0\x79\x2f\x92\xb9\x0d\x2a\xb9\x15\x86\xa6\x77\x79\xf1\xce\x27\xf2\x08\xbf\xe8\x6b\x69\x3a\x1b\xa9\x9b\xe8\x00\x79\xe3\x82\x36\xaf\x8d\x18\x09\x76\x4e\x68\x72\xd8\x2e\x80\x0b\x98\x1c\x0e\x87\x4e\x07\x26\xae\x73\x2c\xf0\xf8\x7f\x8e\x5f\x3c\x1f\xa9\xfb\x53\x9c\x5d\xc5\x22\x49\x27\x8c\x0a\x42\xc5\xc9\xd5\x82\x8c\xd1\x6f\x9c\x51\xb4\x0a\x2d\x15\xc9\xe6\x6a\x02\x51\xc1\x23\x32\x5f\x88\x2b\xd4\x5d\x11\x96\xe0\x54\xbc\x83\x8b\x51\xd7\x51\xa7\x8f\x92\x51\xc9\xa6\x6c\x29\x86\xde\x8f\x32\xc7\x5d\xec\xe2\x7f\x08\xf0\x7f\x08\xf0\x9f\x80\x00\x2f\x39\xa9\x28\x9e\x93\xff\xd0\x60\x1f\xcb\xa9\x9b\xfd\xc7\x11\xe2\x09\x9b\x2f\x18\x25\x54\xf0\x7b\x93\x25\x17\x4c\x61\x9f\x6a\x32\x2b\x2e\xc8\x1e\xce\xe7\x05\xed\xc0\x3b\xf3\xe2\x43\x41\x39\x2c\x26\xf0\x79\xce\x72\x5c\xde\x2d\x15\x56\x8b\x7a\x64\xe6\x6b\xee\xa0\x3d\xfd\x5a\x46\x4c\xaf\xa5\xb4\xec\xee\x1d\x6c\xda\x7b\xbe\x5c\x90\x6a\x84\x17\x8b\xf2\x2a\x96\x5f\x52\x5c\x4d\x97\x52\x64\xe6\xf2\x8e\x40\x5d\x3e\xbe\xde\x68\xa3\x96\x62\xb6\xc7\x89\x10\x05\x9d\xf2\xfe\x8d\xa2\x4c\x14\x67\x05\x88\xf5\xe1\xcd\xea\xc6\xe9\x77\x81\x96\xd7\x6f\x64\xbd\x7d\xf5\x96\x5e\xaf\x41\x62\xd3\x92\x9d\xe2\xf2\xf8\x62\x12\xae\x80\x54\x39\x4a\xd2\x82\x3f\xd6\x8b\x7b\x59\xb1\x8b\x22\x27\x95\x6e\x21\xb7\x75\x29\x48\x1e\x23\xb9\x97\xa6\x10\xa5\x7d\x80\xef\xd5\x4c\x24\x1a\xb2\x45\x80\xea\x31\x15\x1c\x25\xa3\x87\x4e\xb5\x91\x19\x7e\x25\xe7\xf2\x0f\xcd\x5a\xfc\x41\x73\x31\xc3\xc3\x5c\x9e\x3e\x7e\xf8\xf2\x0f\x9a\x87\x1c\x7a\x95\xa4\x66\x3a\xaf\xab\xf2\x49\x55\xb1\xe6\x2c\x46\xc0\x07\xc5\xc8\xf0\x63\x8f\x40\xe3\x34\x5a\x56\xf2\x5c\x4d\xdb\x57\x04\x97\xf3\x0d\x5a\x57\xb2\xbe\xd3\xfe\x51\x59\x10\x2a\x8e\xf2\x0d\xba\x98\xe8\x26\x4e\x2f\x2f\x01\xc1\xfe\x83\x5c\x6d\xd0\xcd\xc2\xb4\x71\xfa\x79\x28\xf1\xde\x6b\x4e\xaa\x0d\xfa\xc1\xa6\x4d\xb3\x9f\x97\x9a\x0c\x6e\xda\x97\x69\x87\x92\xd4\x14\xff\x84\x8b\x72\x59\x91\x31\x42\xa9\xa4\x1b\xd0\xe3\x31\xa9\x2e\x48\xf5\x0b\xe3\xa2\xa3\x6f\x59\x53\xf7\xcb\x6d\x5d\x94\x34\x7b\x78\xc9\xaa\x66\x0f\x81\xb6\xb2\x56\x08\x10\x0b\xae\x87\x73\xc8\x53\xb0\x6d\x92\x7c\xfc\x58\xf0\x11\x65\x62\x44\x97\x72\xb4\x78\x81\x2b\x4e\x8e\xa4\x90\xb0\xb6\xa9\x44\xcc\x76\xda\x3f\x16\x34\x7f\xfc\x7c\xfd\xa2\x4f\xa1\x1e\x6a\xb4\x34\xbb\x3b\xac\xbd\x73\x16\xb6\x97\xe7\xec\xa7\xa2\x14\x81\x4b\xeb\xb4\xbd\x96\x6c\x8f\xaa\x96\x4e\x2b\xb6\x5c\xa8\xbf\x57\x9b\x6f\x61\xdd\x11\x4a\x92\x9d\x9d\xfe\xca\xce\x50\xc8\xdf\xb4\x87\x42\x54\xc5\xe9\x52\x10\x09\xa9\xaf\x86\x6c\x1f\x6e\xb4\x40\x5d\xbd\xfd\x54\x54\x5c\x48\x16\x6f\xc3\x3e\x6d\xbb\xce\x9e\x9f\xe2\x1b\x75\x6c\x9a\x75\xf6\xfb\x44\x8a\x84\x1b\x76\x0a\x6d\x82\x3d\xfe\x2c\x37\xfd\x19\x08\x5a\xbd\x20\xe1\x1c\x4e\x8a\x03\x8d\xbb\x80\x43\x5e\x99\xc1\x67\xbe\x0e\x42\x42\x03\xd7\xa0\xf2\xb2\x22\x17\x05\xb9\x1c\xd3\x65\x59\xa6\x75\x2b\xf5\x7b\x63\xde\x4a\x89\xbf\x3e\x8a\xcb\xae\x97\x55\x29\xf1\x18\x10\x02\xf9\x87\x41\xe7\xf2\x6f\x8b\x93\xe5\x0f\x8b\x58\xed\x0f\x7b\x77\x11\x52\xb7\x4a\xfe\x91\x17\x1c\x9f\x96\xe4\x29\xc8\xd5\xe3\xed\x83\x54\xf3\x30\x2f\x49\x35\x2f\x38\x2f\x18\x7d\x98\xe7\xc7\x0b\x3c\x21\xe3\xed\x83\xd5\x2a\xcd\x8b\xfc\x15\x99\x90\xe2\x82\xc8\x13\xe4\x1b\xad\x08\x64\x5c\x91\x75\x51\xdf\x94\x84\xa9\xef\x16\xbf\x2c\xc4\x64\xa6\x4e\x84\x9b\x13\xd1\x9b\x8d\xd2\xeb\x82\x2b\x1a\xb1\xbd\x9f\xce\x09\xe7\x52\x30\x44\xaf\xa9\x5c\x55\x24\x58\x34\x61\x94\x4a\x01\x4c\xf2\x72\xc9\xf5\x04\x73\x12\x91\x30\x8f\x33\x3e\xad\x08\x3e\xdf\x0a\x55\x31\x94\x69\x2c\x57\x40\x1b\x2b\x50\x47\x23\x65\x1d\x3e\xb2\x62\x5d\x4c\x35\xc6\x5e\x96\xa5\xf9\x5b\x01\x16\x4d\x0e\x69\x76\xbd\x1a\xc7\x31\xcd\x40\x39\x03\x98\x3c\xa6\x49\x52\x13\x55\x47\x66\xd6\xc2\x59\x4e\x40\x38\xa3\x75\x9d\xa4\xe6\xdc\xdb\x87\x95\x6d\x6f\xd3\xd1\x0c\xf3\x17\x97\xd4\x72\xb9\xa8\xb3\x36\x4a\x76\x76\x7a\x3a\x93\x03\xb9\x60\x92\x85\xfa\x76\x2b\xa0\xe4\xe3\xc7\x46\x1b\x0d\xce\x70\x7c\x3e\x4c\xa3\x94\x26\x5b\xdd\x5b\x2f\xb9\xad\xb1\x52\x8e\x0c\xd9\x76\xe6\x6c\x3b\x73\xb7\x9d\x25\x87\x4c\x6d\x3b\x73\xb7\x9d\x25\x49\xef\x2e\xb2\xcd\x76\x91\xf5\xec\x22\x6b\xee\x62\xa0\xef\xe6\x2e\xb2\xee\x5d\xac\x11\x0c\x4a\x59\xb2\x72\x44\x31\x46\x2d\x48\x3b\xd7\xb3\x79\xf9\xdc\x1b\x56\xf7\xea\xb3\xce\x22\x7c\x53\x92\x55\xca\xa8\xbd\x13\x77\x3b\x86\xe9\x16\xc6\x80\xc3\xbf\xdb\xfe\x65\x97\xb6\xef\x27\x74\x52\x5d\x2d\x40\x1f\xe1\xea\x77\x42\x9b\x3c\x22\xb6\xee\xc9\xd5\x82\xa0\x54\xd8\x5e\x0c\xde\x0f\x4e\x54\xcf\x6b\xc6\x2e\x7f\xc5\x85\x88\x15\x12\x74\x31\x9d\x73\x8e\xc9\x16\x71\x38\xb7\x6c\x03\x16\xcf\xd1\x95\x5a\xe1\x12\x25\xa3\x85\x9a\x99\x9c\x64\x4c\x92\x91\x98\x11\x1a\xdb\x59\x92\xe4\x5a\x04\xf0\x29\x91\x42\x2f\xc8\xd6\x2f\x16\x84\xc6\xe8\x2b\x59\xba\xa7\x7b\xda\xd3\x42\xf7\xb5\x5c\x90\x91\x90\xe5\xdf\x8f\x19\x25\x71\xb2\x82\x3d\x39\xc6\x17\x1d\x90\xd7\x85\xe2\xd3\x26\x4e\x75\xa8\x42\xe7\xbd\x6f\x91\x85\x06\xbf\x8f\x52\x24\x7b\x5e\x83\xf4\x25\x52\xe8\x41\x3f\x16\xca\x8b\x33\xe7\x18\x9a\xb2\x1f\xb2\x4a\x37\xd0\xf1\x41\xc5\xff\x8a\xd1\x57\x66\x46\x7b\x20\xf6\x8d\xce\xd8\x64\xc9\xe3\x64\x2b\xd8\x57\x2d\x0b\xae\xed\x4d\x8b\x81\xfd\xfd\x79\xb2\xe1\xda\x2e\x6b\xb1\xb0\xbf\x57\x5f\x56\x5c\xdb\xad\x23\x26\xf6\xf7\xeb\xcb\x8e\x6b\xfb\x05\x86\x66\x6f\x09\x72\xe3\x80\x8e\x3d\x61\x72\x60\xe7\x0b\x2b\xbc\x98\x01\xbe\x8f\x8d\x45\xc7\x84\x2d\x5c\x0e\xb1\x41\xd0\x92\x24\x91\x72\x7e\xc6\xe4\xbf\x23\x51\x15\xf3\x38\x49\x99\x12\xde\x33\xfd\xdf\xfa\xb3\xd9\xf9\xac\xfe\xb3\x2e\xac\x39\x02\xe7\xef\xba\x18\xd8\xb8\xcc\x27\x80\xea\x63\x72\x88\xd0\x58\xff\x5d\xd7\xb7\x4c\x61\xe6\xfc\xdd\x28\x36\x7b\x95\x35\x7e\xd7\xd5\x7a\xe8\xe5\x46\xe4\x12\xc8\xdb\xa7\x24\x97\xa9\xa4\xfe\x34\xff\xb5\x10\xb3\x18\x0e\x23\x45\xf7\x24\x95\x56\x3f\xf4\xf9\xf0\xe5\xa9\x52\x6d\xc7\xfb\xa9\xfa\x52\x12\x3a\x15\xb3\xbd\x83\xc4\xa8\x84\x25\x76\x61\x29\xaa\x81\x39\x6d\xf1\x67\x5a\x79\xde\x05\x13\xae\xbe\x24\x59\xcb\xee\x78\x80\x1c\x50\x59\x74\x41\x30\x60\xea\x19\x54\x08\x5f\x8a\x80\xf2\xa2\xb7\xaf\x05\x54\x70\xfb\xea\xb8\x01\x2e\x11\x93\x20\x52\xab\x4c\x32\xf7\x47\x0d\x43\x37\x24\x73\x9e\x40\xc7\x5c\xe9\xcd\x95\xdd\x58\x50\x50\xeb\x5b\x68\x58\xb0\x33\x0b\x5f\x85\x68\x78\x91\x5d\xbb\x94\x6a\x4c\xd3\x9a\x3a\x35\x5f\x5d\x59\xb2\xda\xaa\x57\xa7\x28\x24\x4a\xe2\xa2\x49\x92\x93\xeb\x62\xe4\x76\x9a\x65\x59\x07\x3d\xda\xd9\x11\xb6\xb3\x2b\x3a\x31\x9f\x51\x12\x37\xfb\xa4\xc9\x35\x1d\x69\x19\xe9\x30\x16\x1d\xa4\x92\x8e\xb4\xec\x04\xef\xc3\x9c\x95\x64\x54\xb2\x69\xec\x7c\x6e\xcc\xac\x83\x9e\xa6\x62\xfd\x1a\x57\x49\x32\x6e\xad\x53\xb7\xd3\x9a\xf3\x91\xcf\x04\x1c\x86\xe7\x34\xb6\x83\x3d\x9a\x61\x3a\x55\xc3\xad\x5a\x53\x6d\x6d\xa2\xbc\x64\x8d\x0d\x94\x9f\xfe\xb3\x79\x49\x9b\x9f\xdb\xe4\x5d\x67\x4a\x28\xa9\x70\xb9\xe9\xd3\xce\x1d\x5a\x05\xae\x7d\xed\xba\x9e\xe3\x0f\x27\x78\xca\xc7\xdf\xa4\xa2\x10\x25\x79\x22\x11\x46\x87\x32\x6b\xce\x72\x52\x8e\xf4\xa2\x46\x50\x1d\x25\x46\xc7\x30\xbc\xa1\x6e\x80\x00\x38\x2e\x48\x25\xa9\xdc\x13\x9a\x2f\x58\x41\xc5\xf0\x5e\xda\x6d\x51\x92\xce\x30\x3f\x91\xd3\x3a\xa2\x8b\xa5\x08\x6a\xca\x31\xcd\x63\x54\xaf\x14\xa5\xfa\x87\x62\x84\x64\x07\xcf\xd4\xf4\xd6\x74\xe1\xae\x1a\xa5\xf6\x67\xdd\xcd\xa3\xd6\xfc\xd6\xf4\xd8\xb1\x19\x28\x0d\x95\xe8\x71\x6e\xa3\x7d\x72\x44\x67\x0d\x03\xc8\x91\x9a\x1a\x47\xa6\x2b\x24\xee\x0b\xe7\x04\xae\x49\x87\x38\x2a\x29\x89\x6d\xf5\x66\xff\xdd\x88\x93\x92\x4c\x04\xc9\x5f\x80\xc8\xc8\xe5\x27\x80\xd8\xad\xc0\x34\x6a\x0a\x28\x07\xe4\x9d\xe2\x93\x24\xc0\xe6\xbd\xff\x49\x43\x4b\x19\x04\xd6\x86\x2d\x80\x1c\x15\x76\xc5\x05\x82\x74\x7b\xdf\xf0\x39\x72\x11\xbc\x10\xe4\x44\xb5\x76\xe9\xfe\xb0\x61\x2d\xa8\x77\x0e\xec\x01\x4e\x60\xe8\x67\xa6\x87\xcd\x07\x0f\xdd\x90\xce\x79\x74\xc1\x58\x63\x4a\xa1\x3e\xed\xcc\x9a\x92\xfc\xfa\xe9\x6c\x39\x0c\x29\xd1\xcc\xa8\x03\x0f\xeb\xda\xa7\xc4\xe3\x56\x89\xcb\xa9\x76\x75\x13\x82\x75\x0b\xdd\xea\xa3\xdf\x40\xa9\x50\xca\x92\x5d\x3e\x34\xa6\xde\x0f\x27\x13\xc2\x39\x72\xf6\x25\x58\x9e\x8c\x16\x15\x5b\xc4\x68\x32\x23\x93\x73\x92\xdb\xfe\x6b\xc6\xc9\x99\x04\x57\x14\xae\x4d\xe0\x5c\xfa\xe3\xf0\xdf\xa2\x01\xb4\x07\x8d\xc2\x06\x60\x35\x8b\xbb\xcf\xfb\x60\x53\x2a\x57\x50\x41\xa6\x15\x58\xb1\x7c\xd1\x94\x8e\x55\xd3\x6e\x13\x03\x56\x4d\x31\xd5\xb6\x38\x68\xad\xd5\xd5\x9d\x6a\xfd\x7f\x2b\x2a\x8c\xe0\x5e\x6b\x6e\x5e\x99\x48\xc5\x42\x4a\x66\xc2\x3e\x71\x18\xd3\x27\x78\xd9\xa8\x9f\x2e\x56\x2e\xa8\xcb\xae\x1e\x55\x24\x97\xe0\xed\x01\x17\x01\x59\x72\x54\xf0\x9f\x41\x1b\x06\x4a\x00\xa4\x8d\xac\xdc\x2b\x2b\x2a\x52\x96\x4c\x5d\x4c\x67\x2a\x44\x4e\x85\x64\xd7\x78\xb1\x50\xcf\x29\xde\xa8\xaa\x91\x1e\x97\x34\x54\xaf\x03\x95\x5f\x86\x55\x63\xd5\x14\xde\xe2\x69\x63\x83\xa0\x77\x65\x2d\xe0\x22\x0d\xda\x42\x1a\x7e\xe5\x94\x7a\x18\x82\xb6\x31\x44\xe8\x2e\x2a\x48\x41\xc9\x48\x5e\xca\x17\xd5\xf4\x58\x41\xb5\x44\x51\x70\x58\x69\x60\x6e\x28\x09\x5d\xdd\xbe\xdd\xaf\x39\x6e\x77\x38\x55\xc5\x8c\x88\x8e\x9f\x3c\x3a\x39\x7a\xf1\x7c\xef\xe4\xd5\x93\xa7\x4f\x5f\x20\xc3\x11\xbb\x5b\x9e\xdc\x8a\x47\x2d\x8b\x09\xa1\x9c\xec\x9d\x4b\x31\xfe\xcb\xbb\xb4\x83\x2c\x87\xba\x4a\x9f\xaa\xb5\xf5\x99\x4c\xe8\xe5\x4b\x66\x14\xd8\x99\x92\x4d\xe5\x05\xdb\xf8\x75\x72\xcb\x83\xeb\x5d\x4a\x2e\xa3\xc7\x58\x90\x2d\x4d\x22\x46\xf8\x37\xfc\x21\x56\x57\x79\x26\xc4\x82\x8f\xef\xdd\xe3\xca\xe6\x6e\x34\x65\x6c\x5a\x12\xbc\x28\xb8\x9c\x9d\xf5\x94\xb9\x47\xc9\x25\xbf\xc7\x97\xf3\x39\xae\xae\x46\x33\x31\x2f\x0f\x27\xa7\x19\xda\x25\xa9\x00\x4b\xe5\x9f\x9f\x9c\xa0\x34\xc7\x02\x2b\xc3\x65\x59\x01\xa5\x7c\x09\xa4\x67\x1c\x50\x6a\xdb\xf5\xa9\x3b\xea\x72\x72\x12\xee\xf4\x5e\x0d\x53\xda\xb7\xd4\xeb\x1a\x78\x75\x27\xae\xe6\xc2\xec\xef\x1a\xc2\x76\x59\xd0\x9c\x5d\x8e\x4a\xa6\xfd\xc2\x2a\x52\x32\x9c\x6f\x0c\xcd\x9c\xe0\x6a\x32\xdb\x2b\x68\x4e\x3e\xb8\xe0\xec\xc2\xec\xa7\x80\xd8\x75\x70\x7a\xba\x14\x82\xd1\xa7\xf8\x94\x94\x63\xf4\x8a\x9c\x2e\x8b\x32\x8f\x8e\x61\xb2\xd1\x91\x9a\xac\x3d\x8d\x8a\xc0\xf4\x5b\xe0\x07\xa7\xe8\x74\x84\x52\xd3\x53\x41\xa7\x91\x5a\x79\x04\x4d\x47\xa3\x11\x72\xcf\x48\xf7\x28\xd9\x8b\xcd\x76\x73\x2e\x16\x5f\x34\x49\x3f\x7e\x76\xf2\xf2\x17\xc6\x95\xa4\xd4\x77\xcd\x15\x4b\x27\xd7\x33\x52\xfa\xc0\x54\x36\x7d\xc9\xaa\x8d\x9a\x2a\xf5\x1f\x34\x3d\x26\x34\x27\xd5\x26\x8d\x39\xb4\x40\x49\xaa\xfe\x78\x8e\xe7\xbd\x88\xa9\xd5\xf2\xb9\xb2\x41\x51\x00\x70\x42\x3e\x88\x31\x92\xb4\x35\xda\x89\x4e\x08\x17\x28\x15\x84\x0b\x39\x33\x65\x5e\xe1\xdd\x6d\xf8\xdc\x73\xb1\x01\x48\xda\x7b\x89\x8c\x07\x06\x08\x23\x12\x16\x7c\x5d\xea\xd8\x6f\xec\xef\x66\xbb\xb1\xaf\x3c\x6d\x34\x6e\xee\x67\xbb\xb9\xd9\xbf\x40\x07\x8d\x1d\xed\x6a\xab\x76\xd0\xb6\x77\x5e\xca\xcc\xde\xa1\xf4\xda\x60\x50\xd7\x7a\xa2\x66\x77\x1a\x18\xd0\xb9\x92\xf2\x44\x50\x8a\x5e\x96\x04\x73\x12\x5d\xe2\x42\x34\x6f\xa1\x39\x89\x00\x97\x4f\x1a\xd8\x50\x04\x7a\x76\x0f\xdb\xd6\xa8\x27\x4e\x92\x55\xb2\xd9\xed\x96\x0c\xe5\x9f\xd7\x36\xfb\x74\x59\x9e\xbf\xe6\xa4\xe2\x92\x5c\x53\x72\x09\xa6\x3d\xb7\xb1\x2c\x82\xfd\xd4\x1d\xa1\xf4\xfa\xcc\xda\xa1\x21\x94\x96\xb8\xfe\x1b\x3c\x80\xe0\x8f\xbc\x10\xca\xcc\xe6\xa2\x50\xcd\x00\x6a\xe4\xcd\xbb\x50\x4b\xf3\x18\xe1\x17\x0b\x02\xcf\x4b\xcf\xe4\xbe\xb5\xe6\xe7\x3e\x30\xe3\x3c\x87\xa7\xbc\xd6\xe3\x72\x8a\xbe\xd2\x13\x74\xac\xdd\x56\x29\x3c\x12\xc1\xfa\x3b\xb5\x24\x01\x33\x2e\xdd\xd3\xe8\xac\xee\x2a\x49\xea\x7b\xd3\x1e\x68\x84\xf3\xfc\x51\x89\x39\x8f\x51\xc1\xf7\xac\x4b\x83\x15\xff\x49\xc9\x49\x64\xb5\x13\x1d\x7d\x54\x64\xce\x2e\x48\xa0\x9b\xb4\x67\x8a\x25\xee\x99\x61\x6d\x9f\x77\xe3\x09\x3a\x5d\xdc\x68\x7e\x44\x59\xf3\xd5\x36\xa9\xf0\xa1\xa7\x62\x7b\x15\xda\x20\x70\xc8\x12\xae\x3b\x1b\x77\x4e\xbe\xa5\x9a\x31\x70\x9e\x78\xcf\x30\x1a\x8c\x50\xd2\x36\x8e\xb0\x6c\xe4\x26\x37\xc4\xbd\x0a\xb5\x6e\x05\x97\x8f\x4a\xc6\x49\x1b\xd0\xa5\xe4\x68\x27\xc1\xbb\x80\xb9\x7d\x0c\x16\x15\xa0\xc4\xc5\xfc\xce\xe7\x35\xdb\x3a\x8e\xc3\xad\xba\x81\x21\xb0\x6b\x1c\x25\x1d\x73\xea\xda\xca\xba\x4e\x8a\xd0\xb0\x1d\xba\x01\x86\x87\x37\xc1\x35\xdc\xdb\x97\x89\xe2\x61\xe6\x3d\x5e\x21\xb2\x18\x25\xa0\x18\xe9\xae\xa5\x6c\x22\x24\x85\x80\xa7\x4c\x45\x22\x14\xb3\xac\x98\x28\xa5\x59\xe1\xaa\x60\x0e\x2f\x9d\xfa\x87\xfc\xfe\xb4\x98\x17\x62\x7c\xb0\xbf\x7f\x07\xba\x76\x29\xd1\xc0\x24\xb8\xc3\x3f\x3c\x56\xab\xe5\x71\xb2\x4a\xeb\x0a\x6b\xb9\x35\xb3\x37\x28\x91\xbf\xc1\x5f\xab\xd3\x9c\xc9\x40\x00\x01\x7b\x24\x67\xcc\xb0\x88\x61\xb6\x0a\xa5\xd7\x56\xdf\xb4\xac\x16\x8c\x2b\x4e\xc8\x99\xe6\x11\x3d\x63\x03\x74\x3b\x7a\x53\xa1\xc9\xa8\x68\x6a\x77\xea\xb3\xf0\xb0\x91\xbf\x40\xe7\x19\x9a\xf7\x59\x6e\xe9\xa1\xb4\xd5\x16\x74\xa4\xc1\x03\x25\xa3\x39\x16\x93\x19\x5c\xb8\x98\xba\xa5\x70\xc6\xed\x7b\x4a\x8d\x63\xa3\x8e\x5a\x12\xbf\x79\x97\x6c\xd1\xd1\x19\xab\x9e\xe0\xc9\x2c\x6e\x3a\x40\xd2\x8c\x8c\xce\x0a\x9a\xff\x78\xa5\x7a\x3d\xca\xad\xb6\x46\xae\xb9\x65\x0e\xbb\xb3\xc3\x47\x8b\x25\x9f\xbd\x30\xda\xbe\x95\xe5\xea\x96\x0a\x29\x70\x79\x5e\x3e\x13\x71\x3c\x63\x97\x0f\x73\xb5\xfb\xc3\x18\x09\xd8\xc7\x0e\x4e\x42\x17\x7a\x7c\x84\xba\x25\xcd\xc5\x11\x0d\x7f\x60\x41\x47\xa8\x81\x20\xad\xf4\xa7\x3e\x65\x51\xd0\x93\xd4\xa8\x9a\x8e\xe4\x10\x2e\x6e\x6e\x0e\xbe\x16\x41\x07\x01\x03\xe7\x72\x23\x5b\xe8\x95\x78\x37\xad\x13\xaf\xba\x3b\x13\xba\x8f\xca\x76\x4f\x32\xe5\xa4\x24\x82\x34\xb6\xdb\x33\x8b\xcc\xa1\x46\xf3\xd6\x14\xf9\x58\x78\xa3\xeb\x63\x51\xb5\xbb\x4f\xc6\x2b\xaf\x0f\xe7\x71\x3d\xc8\x2d\xce\xc7\x9d\x6a\x92\xf2\xac\xb1\xb1\x92\xec\x19\x28\x2e\x72\x94\xd2\x51\x91\xb7\x4f\xf2\xe3\x47\x73\xda\x30\xbb\xed\x2c\x53\x05\xce\x09\x07\x16\x71\xb3\x43\x56\x1d\xc5\x30\x91\x9b\x1c\x75\x60\xb7\x5d\x8e\xbf\xf3\xe8\x24\xae\xb3\x20\xf0\x24\x2f\x44\x1f\x00\x48\x59\x40\xf7\xb1\x66\x43\x45\x12\x80\x08\xd9\xbc\x1b\x1e\x9c\xd2\x1a\x1a\x9e\x98\x11\x6f\x01\x0b\xf5\xac\xbd\x23\x76\x4e\xd6\xbd\xb3\xad\x69\xdc\xec\x3c\x97\x8b\x1c\xcb\xf3\xec\x3a\xcc\x8e\x63\x6c\x6d\x91\x7b\x88\xce\xf6\x4b\xca\x5d\x9f\xdb\x2b\xe0\xe0\x14\xe1\xe8\x3b\x3f\x97\x44\xdd\xec\x08\xd5\xd4\x14\xc7\xb8\xa7\xba\x0b\x19\x07\x37\x47\xd4\x13\x6e\x30\x08\x92\xb0\xc6\x76\x11\x0f\xf3\xfc\xf3\xad\x40\x62\xc6\x8e\xe9\xa7\xed\x3a\x7c\x4f\x91\x6f\xef\x34\x34\xf9\x72\x16\xc6\x1b\x84\x1e\x2c\x91\x3b\x97\x0c\xf5\x5c\xc2\xa6\x60\xb0\x5a\x4a\xde\xf0\x94\x2d\xe9\x44\x69\x98\xd3\x26\xed\x6b\x75\xf6\xed\x77\xfb\xca\x2a\x9d\xe0\x8b\x5e\xcc\xe9\x71\x24\x2d\x7e\x25\xcc\x96\x94\xb2\x53\xc9\x49\xf4\xa2\x25\x35\x95\xb4\x89\xa8\xe4\xac\xfe\x87\x15\xf4\xae\x27\xf5\x1b\x2b\xe8\x6d\xe6\xa4\xf8\xdd\x30\x88\xd5\xbc\x92\x7d\x5d\x6c\xee\xf8\xc6\xd2\x49\x59\x70\xd1\x2f\x9b\x08\xc6\x4a\x51\x2c\x6e\x2b\xb5\x7c\x6a\x6f\x77\x1e\xf2\x7b\x1f\x28\xc1\x48\xf4\x55\xeb\xaf\x14\x45\xaa\x7f\x9f\x29\xff\x50\x84\xd2\x19\xe6\xc7\xda\x8c\x46\xab\x9b\x0e\x52\x6e\x19\x94\xc7\x05\x2e\xd9\x54\x7e\xbb\xa1\x06\xcc\xbc\x2a\x67\xd7\x2b\x73\x6d\x9d\xc1\xb2\x37\xef\x7a\xdd\xdd\x9a\x62\xca\xfa\xf1\x6e\x25\xc8\xb4\x54\x1a\x0a\xeb\x24\x5b\xa4\xcd\xa1\x13\x09\xfd\x1a\x4b\xa2\x94\xd4\x4c\x79\x6d\x2a\x68\xde\x68\xcd\x7f\xdd\xe8\x1a\x39\xb8\xcd\xc2\xa5\x93\x97\x46\x23\x33\xb5\x35\xda\x60\xa2\x8d\xfd\x88\xfe\x56\x81\xea\xf9\x44\x01\x31\x48\x79\x97\x45\x59\x3e\x26\x5c\x54\xec\xea\x49\x49\xe4\x86\xdc\xe0\xac\x14\xa1\x71\xbb\x05\x0f\x24\x79\x7c\x8f\x5a\x76\x59\x5d\xf8\x13\x7a\x52\xe0\x05\x47\x9c\x7e\x23\xf1\xe5\x88\x9d\x82\x91\x31\x8f\xd1\x99\x76\x04\x4d\x9d\x4a\xad\xc9\x6a\x35\x88\x71\x1a\x75\xa8\xfe\x99\xf5\x1d\xae\x65\x18\xc1\xa6\xd3\x92\x28\x30\xf6\xf1\x4c\x6b\x63\xed\xd1\xe8\x2f\x49\xfb\xd0\x3d\x08\x95\x38\xb1\xd9\xe4\x90\x80\x90\x15\xbb\x92\xd8\x98\x64\xef\x4d\x68\x16\x92\xba\x50\xa2\x8d\xa3\x48\x0d\x17\xb2\xc1\xca\xa7\x62\xee\x88\xf6\x98\xa1\xac\x79\x3f\x91\x35\x49\x7a\x20\xe9\x90\x5a\xfa\x43\xa5\x14\x0b\xa3\x7c\x80\x34\xde\xa0\xd5\x5b\x1a\xe6\x94\x3a\x0d\xa5\xdb\x1a\x82\xf5\xef\x24\x09\xd9\x52\x13\x3b\xe0\x13\xa5\xa7\xbe\xc1\x80\x4a\xc3\x5d\x0f\xa8\x7f\xaf\x1b\x10\xec\x1b\x6e\xb4\x40\xf5\x18\x61\xd7\xa7\xad\x54\xd6\x8c\x46\x71\x79\x25\x8a\x09\xbf\xd1\x88\xa6\xb1\x33\xaa\xfd\xb4\x6e\xe4\xc6\x75\x18\x3e\xaa\x7d\x2f\xa8\x47\xad\x3f\x75\x8f\x5a\x8b\x22\x9b\x0c\x2a\x3b\xd2\xb4\xae\x90\x77\x5a\x7e\x45\x93\x8a\x60\xb8\x64\xa8\x22\x17\x05\x87\xbf\xea\x87\x80\x14\x59\x8d\x7b\x8a\x94\xce\x3a\x45\x3a\x74\xac\x24\xd1\x06\x10\x2d\x80\x98\x93\x73\x57\x86\xf0\x64\xc2\x96\x4d\x5f\x44\x43\xea\x1a\x37\xc7\x3a\x17\xa5\xd7\x8e\x6d\x53\x0a\x61\x69\xab\xb9\x8e\x90\x84\x56\xae\x29\x22\x08\x04\xae\x6e\x74\xc4\x68\x8c\x24\x39\x1c\x9d\x6a\xc6\x16\x79\xaf\xfe\x35\x16\xe4\x93\x19\x91\xc4\x3e\x46\xf8\x4c\x90\xea\x95\x7a\x59\x4c\x5b\x18\xd3\x0e\xe3\xbc\x91\x58\x1f\x88\x64\xcd\x6c\xe0\xbf\xe0\x93\xb3\x60\x60\x60\xb2\xbe\x72\x2d\x28\xc8\xc3\x7e\xbd\x68\xc6\x6e\x6a\x5a\x8e\xd9\xcd\xf4\x7d\xc5\x6b\x4f\x2d\xff\xe9\xa7\x7e\xea\x71\x1f\x20\x5a\x0b\x1c\xf8\x8a\xe2\xf4\x6b\xa0\xa5\xd5\x6d\xb9\xf1\xdb\x8c\xd3\xab\x8a\xf5\xd7\x7c\x53\xd1\x9f\x9b\x23\x91\x1b\xbd\x9f\x74\x9e\xda\xac\xc8\x87\x1d\x59\x7d\xbe\xbe\x67\x91\xbd\xb8\xa2\xe1\xa4\x43\x2c\x9b\xa5\x3c\x74\xdc\x12\x17\xdc\x93\x9d\x9d\xba\x2a\xb8\x6c\x78\xa5\x1e\xe9\xad\xe3\x8a\x48\x5e\xb7\x1e\x60\xb5\xf2\x55\x58\xbd\xda\x2b\x75\x2b\x3b\xd1\x88\x47\x03\x1b\x3c\x27\x58\x09\xd7\x2a\xaa\xb0\x5a\x39\xd0\xe8\xa0\x87\xb0\xbe\x79\xd7\x4f\x59\xb7\x0f\x92\x76\x9c\x34\x33\x03\x8f\x0b\xa9\x97\xa7\x59\x38\x29\xca\x32\xfa\xe3\xb2\x3c\x6f\xcf\x37\xa8\x6c\x6f\x70\x19\x41\x06\x53\xb4\x66\x40\x7a\x19\x87\x01\xeb\x0b\xea\x2d\x8d\x9f\xe7\x9e\xd6\x6b\x99\xa7\x33\x7d\xd0\x4a\x9a\x6b\x2b\x0a\x3a\xb8\xe5\x26\x81\x0a\x4f\x57\x22\xeb\x2d\xa3\xe3\xf6\xb4\x0a\x41\x05\xe2\x16\xef\x54\x92\x93\x8c\xda\x21\x2b\x56\x92\x96\x92\x5c\x73\x81\x05\xd7\x3e\x67\xe6\xf2\xd4\x9a\x73\x92\xf8\xfb\x6a\x84\x02\xde\xa9\xd2\xe8\xd2\xc6\x6c\xae\x19\x70\x37\x25\x28\x84\xb7\xb7\xb4\xb9\x1e\x79\xae\xde\x4b\x80\x50\x28\xce\x8f\x94\xd1\xa3\x70\x10\x69\x50\x75\xe6\x70\xe8\x37\xd2\x2f\xdc\xc5\xd2\xf6\x6f\xbc\x34\x50\x5b\x0c\x5f\x99\xeb\xe2\xd7\x25\x8f\x34\xdd\x00\x4d\xbb\x66\x0c\x85\x66\x1b\xe3\xf9\x76\x03\x6d\x88\x3f\xd3\xf5\xba\x10\xf8\x46\xa8\xb8\x87\xf3\x7c\x8f\x13\x15\x79\xf4\x86\xca\x90\xb5\x81\x01\x3f\x8f\x42\x24\xf4\x90\x5b\xab\x46\xae\xcd\x8a\x8f\x95\x0a\xa4\x43\x2f\x62\x6a\x81\xb1\x1c\x4c\xb9\xbf\xbe\xd9\xba\x24\x55\x81\x4e\x3b\x8c\x30\x29\xb9\x3c\x56\x35\x9f\x6b\x35\xbf\xff\xe5\x59\xc1\x79\x41\xa7\x1d\x06\x79\x7e\x5d\x39\x16\xe0\x91\x83\x14\xb6\xf7\x28\x1f\xab\x57\x25\x3d\x17\x83\x6d\x26\x18\x34\xf5\xad\x50\x4e\x0b\xeb\xe0\x6d\x8f\x59\xee\xe2\xa2\x62\xc2\xc0\x41\x5f\x9c\xbe\x50\x83\x64\xbb\x2b\x5c\xdf\x4b\x5b\xe9\xe4\x6a\x41\x46\x4f\xd9\xe4\x5c\x9b\xcc\x2b\x7e\xb1\x9e\xcb\xc8\x74\x2c\x27\x0d\x92\xef\x0c\xf3\x1f\x4b\x36\x39\xe7\xad\x25\x9c\xc2\xe7\xfe\x79\xaa\x3a\x5a\x08\x46\xc9\x03\x09\x43\x8c\x02\x79\x3a\x01\x19\xaa\x8f\xbd\xd5\x1b\xdb\x64\xad\xe4\xbe\xa3\xa4\xf5\xdc\x29\x5a\xaf\x9b\xe6\x28\x14\x07\xea\xe8\x0e\x8c\x55\x76\x2c\xa4\xd0\x40\x80\xdd\xcb\x09\xed\x90\x1b\x48\xcd\xbf\x18\xf7\x18\xe0\x56\x9b\xd4\x59\xd4\xfc\xa2\xe8\x62\x24\x45\x9b\x6f\x74\xf5\x2d\x6a\x69\x29\xce\x73\x0d\x6a\x6d\xdc\xe3\x0e\xd8\xde\x29\xb3\xca\xfd\x94\x66\x07\x1e\x71\x3e\x25\x67\xac\x22\x2f\x95\xe3\x25\xeb\x08\x3b\x52\x78\x52\xc4\x94\x70\x2d\x42\x68\x5b\x6e\x7b\x8a\x26\x3a\xaf\x29\xc0\x5c\x28\x54\x82\x92\x2d\x92\xdd\xff\x0b\xae\xbb\x18\x71\xf2\xef\x25\xa1\x13\x02\xcf\xfe\x6e\x41\x49\x2e\x88\xe4\x5c\x14\xd7\xaf\x3d\x4d\x78\x92\x5c\xd3\xcc\x18\x8f\xab\x1a\xb0\xa6\x32\x7b\x0f\xe4\x07\xac\xa5\xe3\xd6\x34\xd3\x60\xe4\xf1\x7a\x30\xad\xed\xe3\xae\x56\x47\x2e\x6d\xef\x60\x3b\xcb\x4a\xb5\x9e\xaa\xbd\xfa\x37\xe5\xde\xc1\xbb\x2d\x92\xb5\xb8\x90\x2a\x39\x8c\x2d\xe5\x34\x0b\xdc\xad\x82\xeb\x4e\xee\xdd\x1f\xb7\xea\xde\xbb\xbf\x5a\xd9\x79\xea\x06\x6e\x05\x65\xc1\x50\x17\xa8\xbd\x48\xa9\xab\x3b\x0d\x62\x81\x2c\xcb\x58\xf3\xc6\xbf\x82\x60\x35\x3b\x3b\xde\x48\x02\x8b\x25\x98\x1e\x81\xb6\x0b\x0a\xb4\xb5\x78\x89\xa5\x7c\x2f\xe1\xe9\x90\x8d\x94\x3a\xf1\x58\x60\x41\x46\x2f\x09\xcd\x0b\x3a\x7d\x4e\x2e\xc7\xc1\x02\xdf\x30\xea\x88\x72\x52\x89\x63\x33\x31\x95\x62\xa4\xb6\x65\xf0\x8a\x87\xb0\x28\x4d\x0c\xec\x49\xb7\xb4\x61\x54\xd7\xb8\xfd\xbe\x04\xa8\xec\x3a\x1c\x94\x22\xc9\x06\x4a\x46\x4a\x2d\xf2\x8a\x4c\x58\x95\xab\x63\x04\x6e\x96\xbb\x9b\x0d\x2c\x6b\xfb\x08\x94\x68\x61\xec\x89\xc1\x61\x54\x1e\x96\xfe\xe0\xc4\x98\xb7\x0c\xaf\xfb\xad\x6e\x2a\x07\xf5\xaa\xd9\x0f\x89\x09\x8a\x7e\x2d\x3f\x8d\x79\x3a\x27\x02\x8f\xaf\xeb\x79\x8d\x3b\xa6\x95\x56\xf8\xf2\x47\x96\x5f\x59\x8d\xca\x74\x8c\xd0\x4a\x47\x60\xa8\x71\x4d\xcc\x9a\xdc\x57\x8d\xfc\x04\x03\x82\x90\x5a\x52\x0b\x50\x06\x30\x63\xe6\x77\x28\xc6\x60\xc5\x06\x32\xa7\x3a\x5b\x20\x1c\xbd\x62\x48\xef\x91\x92\x4d\x8f\x94\x0e\x3d\x52\xba\xc1\x91\x52\xef\x48\x11\xda\x35\x2e\x58\xda\xa5\xd8\x54\x38\x65\xf9\x95\x3d\x34\xf8\x51\x97\x0d\x38\x7e\xba\xfe\xf8\xed\x48\x72\x5b\x5b\x92\x93\x82\x69\x05\x1b\x74\x73\xd8\xd0\x7d\xe9\x9f\xca\x39\x5f\x42\x4a\x3d\x5b\x08\x66\x92\x4a\x3e\xaf\xa2\xb8\x3c\x66\xcb\x6a\x42\x4c\xb1\xff\x15\x25\x01\xe8\xe2\x01\xe8\x02\xef\x9e\xe1\x6c\x32\x2c\x7c\xcf\x28\x1d\x3f\xa3\x77\x4f\x2f\x5b\x39\xe8\x4d\x6c\x3d\x50\x7a\x2a\xbc\xee\x8a\xcf\x88\xc0\xa8\x96\x93\x3d\xc8\x85\xfd\xd1\x60\xab\x2b\x28\x7f\xca\x56\x1d\xed\x66\x69\xab\xb9\x37\x01\xe5\xcb\xf9\xfc\xaa\xf6\x31\xf0\x81\xb7\xd1\x51\x03\x8a\x45\x0b\x8a\x1b\xf5\x5d\x70\x16\xde\xcd\x6a\xd6\xb4\xf7\x4b\x78\xf7\xab\x51\xcb\x5c\x34\x5d\xc9\x80\x6f\xab\x9e\x85\x6b\x5b\x95\x7c\x98\x90\x6a\x21\xda\x55\x4d\x41\xfd\xd8\x27\x27\x1d\xda\x45\xef\x45\x70\xdd\x4e\x93\x9e\x9d\x26\xc3\x67\x4f\xec\xa1\x40\xa4\xc3\xc0\x79\xe8\xa0\x43\xe6\x0d\xc7\xbf\x99\x81\xd5\xfa\x37\xd7\xd7\xca\x4f\x49\x2d\xdd\xea\x07\x54\x81\x1b\xba\x7b\x75\x1f\xd5\x71\x1b\xfa\x70\x0f\xed\xf6\x42\xca\x2e\xba\x27\xae\x16\xc4\xdc\x65\x9f\x31\x78\x84\xe9\x84\xb4\x2d\x1b\x35\x57\xa1\x4a\x8d\x84\xfe\xb0\xc9\x3d\xa4\xc4\xaf\xfe\xd0\x72\x1f\xe0\xf6\x38\x1c\xd9\xe8\xf9\xee\x95\x05\x3d\x27\x55\x6f\xda\x14\x9d\x0a\x62\x13\x71\xfd\x73\xca\xe4\x3c\x64\x5c\x2d\x97\xd5\x99\x54\xa4\xa0\xe7\x46\x44\x56\x7a\x21\xb9\xc7\x60\x8c\x20\xf0\xe9\x81\xd1\x54\x8e\xb7\xf7\xe5\xef\xfb\xf5\xef\x03\xf9\xfb\x1b\xf7\xb7\x94\x68\x34\x05\x68\x4b\x90\x6e\x67\xfd\x72\xa4\x57\x53\x1e\xa1\xec\xf7\xa1\x10\x78\x32\x83\x57\xf1\x50\xd7\xf7\x07\x77\x7d\xbf\xd5\xb5\xb6\x41\x0a\xf4\xfa\xcd\xe0\x5e\xbf\x69\xf5\xfa\x9c\x88\x4b\x56\x9d\x87\xba\xfd\x76\x70\xb7\xdf\x7a\xdd\x52\xd5\xe5\x53\xed\x37\x2b\x4f\xec\x5c\x99\x01\x70\x6d\x31\xf2\x0c\x8b\xc9\x8c\xb4\x77\x68\xae\xbe\x7b\xe3\xb5\x24\x70\x5d\xa7\x56\xb5\x5b\x05\x81\x11\xea\x3f\x7e\x54\xb2\x83\xfb\x1b\xd7\x07\xa3\xbf\xae\x12\xab\x26\x69\x69\x42\x00\xc9\xb4\x16\x0d\xb1\x46\x9c\x0b\xa8\x14\x2a\x7b\x2e\x5e\xb1\x82\x9d\xde\x5e\xa5\xf5\xde\x3e\x48\x19\xbd\x95\x72\xe1\x99\xf6\xb5\xe8\x92\x43\xce\x58\x99\x6b\x25\xa9\x27\x62\xfb\x8c\x15\xcb\x02\x33\x75\x94\xaa\x72\x59\xca\xe8\xe5\x11\xa6\x39\xe4\x69\xe1\x31\x4d\x79\xda\xc3\x86\x4f\x6c\x4d\x40\xcb\xc4\x79\x3c\x50\x57\xcc\xea\xcb\x21\xe0\xaf\x3e\x99\xc4\x08\x7e\xe6\x34\xdc\x96\xce\x25\x6a\x36\x76\x8e\x11\xba\x68\x1f\x6b\xd2\x36\x6f\x16\xae\x82\xbd\x43\x4f\xd2\x54\x79\xe8\x0d\xbf\xa9\xdd\x92\x86\xd2\xcc\xb2\xbb\x7c\xfc\xe6\x5d\x0a\x0b\x96\x7f\x38\xd3\x1e\xbf\x79\x67\x62\x76\xd3\xdc\xf7\x97\x1b\x38\x96\x0e\x82\xe3\x02\xa6\xbe\x82\xc6\x75\x7d\xbd\xdf\xd0\x67\x32\x09\x6a\x3d\x1f\x85\xf4\x45\xb7\xb0\x1b\x22\x62\x32\x4b\xff\xd6\xb0\x18\x32\xc8\x07\x25\x29\x54\xe8\xbb\x82\x4e\x5d\xad\x97\x7b\x5f\x07\x35\xd2\x49\xde\xb8\x8b\x86\xd2\x61\x27\xec\xba\x06\xeb\x5b\xa6\x6c\x4f\x9d\x8b\xd6\x32\x90\xac\x2f\x99\x1d\x4d\xf8\xde\x17\x9c\x88\x63\x4b\x0c\xfb\x84\x5a\xe7\x96\xfa\xae\x2e\x35\x3a\x6d\xbe\xb3\x81\xc2\x17\x6e\xb4\xba\xa7\xa1\x17\xc6\x3a\x7e\x0f\x49\x1d\x33\x29\x89\x58\x40\x83\x53\xe4\xf2\x3a\x12\xef\x9a\xde\xbc\x1f\xea\x60\xfa\xdb\xf4\x72\xdb\xf5\xd0\xbb\x59\x8f\x84\xf3\x0e\xbe\x92\xfb\x78\x1f\x54\xbc\x56\x85\xf1\x54\xb2\x49\x7d\x12\x9d\x3d\xbe\x06\x21\xf1\x29\x75\xd2\xd2\x4f\x34\x08\x37\x4a\x4c\x2c\x50\x1e\xa6\x34\x5b\x22\xbb\x06\xc4\xa3\x7c\xd6\x06\x48\xf6\xaa\xf1\x51\x3e\xe6\x69\x91\xd7\x99\x90\x47\x73\x7c\x4e\x8e\xf2\xf8\xe0\xaf\x8a\xd1\x53\xe1\x43\xf4\x74\x50\x2a\x70\x35\x25\x3a\x81\x82\x91\x0d\x8e\xf2\x31\x55\xe1\x01\xc7\x74\xb5\x32\xe1\xe4\x85\x9b\x87\xd1\x5f\xae\x7e\x5d\x18\x84\x2c\xd7\x38\x11\xb4\x15\x8a\x4f\xe1\x4a\xc7\x2a\xde\xf8\x09\x3e\x0d\xd9\x12\xda\x73\xf5\x59\xcc\x03\x09\x10\x5e\xe8\x22\x8f\x4d\xbc\x1f\x28\x76\xf8\xbd\x6f\x02\xc5\x0e\xdf\xf6\x2d\x14\x6f\x22\x62\x98\x3f\xfe\x08\x95\xc6\x3a\x77\xc6\x61\xa2\x1d\x30\x36\x7f\x36\xc9\xce\x6e\xbb\x12\x66\xfb\xde\x5b\x5b\x39\xd5\x1a\x82\xdd\x1f\xe6\x1b\x7b\x83\x87\x54\x78\xe1\x5b\xf7\x90\x0a\x95\x50\x92\x4e\xb0\x20\x53\x56\x5d\xf5\xd7\x37\xb5\x50\x92\x56\x6c\x59\x67\x31\x6a\x49\x94\x12\x44\x20\xa0\x30\xab\x9e\x71\x88\xb0\x84\x17\x8b\x8a\x5d\x10\xf3\x73\xc9\x49\xa5\x18\x90\xa6\xa4\x22\x39\x52\xc5\x13\x20\xbf\x17\xf0\xc9\x7f\xa8\xbb\xe9\x7f\x60\xed\x13\xa9\x42\xaf\x9f\xba\x57\x90\x2c\x0a\x0e\xf1\xb7\x95\x51\xeb\x9d\x8c\xc2\x65\x7f\x2f\x2e\x29\xa9\x90\x67\x0f\xd1\xaa\xf3\x0c\x53\x50\x0d\xae\x4c\x74\xaa\x47\x72\x03\x58\x29\xf7\xac\x39\x93\x75\x4f\xc8\x4d\xc2\x15\x7c\x3b\xea\xc9\x47\x80\x90\x4d\x30\x60\x33\x08\x34\x5e\x99\x9e\x33\x4a\xc6\x34\x0b\x7e\x87\x88\x45\x7e\x9c\xef\xc0\xab\x74\xa8\xb5\xfc\xbe\xbe\xf5\x2b\x9d\x6a\xa8\xdd\x5e\x95\x40\x0f\xe6\xc1\x8d\xae\x12\x0d\x7f\xb8\x7f\x2f\xaf\xeb\xcd\xb1\x0d\x56\xb7\xdc\x56\x5b\xc3\x74\xd8\x60\x12\xdd\x6d\xe7\x72\xdb\x25\x5b\x91\x65\x19\x0d\x2f\x2c\xd1\xa7\x42\xf4\xa9\xd0\xd1\x43\xdd\x2f\x54\x7a\x48\xaf\x4e\x59\x7e\x35\xe6\x59\xb8\xa0\xb5\xb3\x8d\x6a\xcf\xf0\x6f\xac\x2a\x44\xa0\x03\x53\xb2\xae\x87\xd7\x14\xd3\x62\xce\x96\xbc\xdd\x85\x2d\xf2\x4e\x87\xaf\xee\x22\xb0\xad\xe4\x32\xce\x4a\x76\x79\x0c\xcf\x9c\x46\x1a\x5a\xb0\x85\xc4\x16\xf6\xb7\x76\x38\x94\xe3\x29\xe6\xe2\xe6\xe2\x57\xb3\xeb\xbb\x97\xf2\x1c\xe7\x5a\x43\xc1\xca\xe2\x8c\x4c\xae\x26\x25\xd9\xd3\xc3\x43\x96\x58\xf8\x2b\x6c\x7a\x6c\x5b\xd6\xf0\xd9\xdf\x34\x28\x5a\xae\x52\xb3\xda\xa1\xd9\x68\x3c\xde\x38\x84\x72\x9f\x9a\x95\x78\xd1\x9b\x7a\x17\x5a\x73\x8e\x93\x65\xc5\x59\xb5\x07\x71\x4c\x65\x91\x1b\xd0\xe3\x0e\xf6\x2a\xd4\xd2\x93\xf1\x9b\xe3\x6f\x7a\x54\xd7\x33\x31\x2f\x41\x9d\x0a\x4c\x36\xaa\x37\xc3\x64\x27\x1f\xa3\x1f\x16\x0f\x1e\x57\xf8\x4c\x44\x3b\xf3\x1c\xf3\xd9\xf7\x51\x25\x41\xa9\x90\xbc\x67\x74\x51\xf0\xe2\xb4\x2c\xc4\x55\x84\x69\x1e\x51\x26\x74\x38\x38\x7c\x5a\x92\x1f\xee\x2d\x1e\xfc\xb0\x78\xf0\xb4\xb8\x20\xb6\xa9\x99\x94\x6e\x08\x89\xc1\x70\x59\xea\xaa\x0f\x55\xde\xde\xdc\x56\x97\x1d\x9a\x9a\xac\x6a\xf4\x8d\xd2\x45\x89\x27\x0a\x9c\x91\x60\x0b\x94\x8a\xaa\x98\x4e\x49\x35\x46\x33\xb9\xb8\x68\x52\x16\x93\x73\xb4\xf2\x92\xf2\xf4\x12\xdd\x64\x28\xb8\x76\x03\x40\xd3\xd0\x7b\x63\xb0\x1f\xda\xb4\x17\x0c\xb4\x31\x8e\x3c\x3a\xcd\x34\x37\xc9\xf8\x2e\x82\x2d\xdc\x5a\x6f\xd3\x21\xba\x6c\x3a\x62\xb2\x9b\xa1\x1f\x96\xe5\x03\x94\xc2\x5f\x65\x61\x06\x73\x48\x9c\x1c\x47\x16\x38\x47\xe0\x70\x5c\x90\x03\xc4\x34\xfe\x17\x5b\x56\x91\xe5\xb4\x80\x73\x8f\xcc\xec\x3d\xfe\xcb\xf4\xe9\x9e\x6b\xcd\x90\x59\x21\x50\x39\xd5\xd4\xdc\x9e\x63\x0c\xe6\x8c\xea\x4d\x99\xf8\xdd\x43\x9d\x7b\x72\x85\x9b\x63\xb2\xe6\xcd\x52\x2b\x8e\xf4\x09\xd4\xd7\x8b\x0c\x85\xe2\xd5\x2a\xf5\x49\x4b\x1b\x03\x4a\xc9\x19\x2c\xb0\xf6\x53\x9e\xed\xa7\x4c\x7e\x28\xb2\xfd\x14\x67\xfb\x69\x99\xed\x37\x70\xa1\x32\x34\x0a\x5a\x4c\x3b\x31\x4a\x7e\xc1\x5c\x4d\x5d\x5b\xda\x98\x23\x3b\xf0\xe2\x9c\xd8\x5a\x0f\x2f\x71\x21\x0a\x3a\x55\x40\x02\x95\x69\x67\xe5\x57\xe0\x0a\xa7\xe4\xf6\x98\xbb\xd5\x26\xad\x21\x8b\x76\x71\x60\x2c\xdc\xae\xe5\x0d\x52\xca\xf2\x55\x92\x92\x07\xfb\x1f\x3f\x52\xf9\x0f\x7f\xb0\x9f\x5c\x8b\x8c\xec\xa2\x08\xed\xc6\x52\x4e\x27\x87\xba\x25\x1a\xeb\x3f\xb8\x94\x2e\xa3\x45\xc5\xa6\x15\x01\x4b\xcd\x34\x42\xbb\x74\x17\x45\x58\xcf\x20\x52\x49\xb9\xe4\x67\xbe\x8b\xa2\xca\x0c\xb9\x32\x3b\x6e\xdf\xb3\x1d\x29\x22\x15\x49\x5a\xc8\x29\x60\xf9\x4f\x29\xe7\xc1\xb2\xa2\x9e\x47\x31\x6c\x1e\x38\x3c\x8f\xd2\x9b\x47\x3d\x09\x07\xd0\x51\xca\x42\x7e\x02\xff\x54\xe1\xb9\xdd\x2b\xab\x23\x76\xbb\x96\xd8\x43\x4c\x58\x5a\x0c\x8a\x0a\xe1\xb3\xd6\xed\xa1\x21\x03\xaa\xc7\x8a\xc7\xba\xeb\x47\xaa\xb0\x20\x3c\xee\x1a\xb7\xd3\x8f\xd7\x2c\xb1\xee\xc3\xf3\xe9\x7d\xf3\x0e\xd2\xfb\xbf\x1f\x15\xfc\x75\x6d\x4b\xde\x1e\x44\xa8\xa0\xed\x2e\x9e\x69\x94\x19\xef\xcb\x83\xb6\xfe\xad\x59\x93\x2f\xca\x42\xc4\xe8\x2b\x94\x6c\xbd\x1f\x11\x79\x13\x69\xea\xdf\x45\xe3\xc9\x09\x8e\x39\x7e\xe0\x9e\x95\xab\x13\x9a\xfe\x6e\x22\xc3\x3f\x04\x67\x05\x2f\x7e\x0f\xac\x5c\x1f\x6d\xaf\x12\x59\x69\xef\xbc\x17\x23\x25\x62\x83\xa6\x10\x53\x5e\x00\x25\x60\x8e\x90\xef\x7a\x36\x9b\xbf\x79\xb9\x9c\x82\x29\x47\x0d\x28\x21\x38\x51\xd5\x6c\x60\x11\xcb\x7f\xb8\x30\x62\x0a\x6b\x3a\x14\x2a\xd5\x67\x7a\x15\x56\xf2\x74\x8a\xb8\xee\x21\xae\x59\xe7\xa8\x8e\x48\x7b\xfd\xef\x25\xa9\xae\x5e\xe2\x0a\xcf\xf9\xf8\x5a\xe0\xd3\xb1\x32\x50\x58\x0d\x0a\x1b\xdc\x56\x08\xa9\xb7\xc8\x21\x06\xf8\x9f\x35\xcc\xed\xa7\xb6\x9a\x27\x2a\xba\x0d\x19\x6f\x1f\xc0\xdf\x2f\xc1\x86\x6c\x59\x96\xaa\x84\x08\xac\x23\x13\xdc\x5a\x2a\xd3\x4c\x82\x96\x82\x24\x35\x70\x15\x20\xb6\x00\xa8\xcd\xc7\x8f\xee\xbb\x6c\xc8\x2f\xdf\x82\x8d\xa1\xc8\x5e\x64\x6a\x6d\xb3\xe8\x67\xb1\xb7\x2f\xb1\xc3\x0c\xe0\x6d\x64\x79\x9a\xc7\x48\x01\x38\x5c\x13\x33\x60\xb7\xda\xf4\xa5\xb2\x9d\xf1\x06\xf6\xad\x6b\xcc\xde\x7a\xa9\x28\xc0\xba\x2b\x69\x45\xd0\x87\x13\xf1\x21\xae\x89\xd0\x5a\xb9\x3f\x7b\xd9\xc9\x0e\x6d\xc2\xce\x4e\x83\x35\x19\x69\x33\x61\xd5\xc6\x33\xf9\x5d\x9e\x96\x05\x9f\x91\x7c\x67\xc7\x18\x5f\xd5\x86\xc3\x69\x60\xc7\x93\xe6\xc7\xee\xae\xad\x99\x71\xb0\x6f\x14\xd8\x47\x96\x13\xe5\x13\xe8\x6a\x88\xcd\xce\x19\x1d\x71\x5a\x7f\x7a\xc8\xdb\xc6\xa9\xa1\xa6\xba\x9e\x7d\x6f\x78\xc4\x16\x57\x8d\xc3\x68\x28\xb1\x75\x05\xcf\x05\xd1\xee\x81\xce\x92\xfa\x8c\xb5\x8e\xd4\xef\xc5\x54\xe8\xed\x45\x79\x1a\xb6\xfa\x69\x52\x12\x6d\xf3\x2a\x49\xaa\xe7\x8c\x45\xec\xab\xd4\x35\xbc\x0f\xd5\xb4\x43\xf1\xca\xc4\xb3\x73\x4d\x27\xb3\xa2\xcc\x2b\x42\xc7\xc2\xcf\xdd\x56\xcf\x02\x25\x31\x55\xe6\xbf\xbe\x8f\xba\xbb\x34\x7b\x58\xfe\xf5\xb6\xf6\xc5\xad\xb0\x4e\xfa\x64\xf7\x13\xe7\x09\x2f\xd8\x7d\x1b\x16\x6e\x44\x02\x04\x9b\xf4\xda\x7a\x41\xf9\x1f\xfa\x1e\x70\x9b\x57\x00\x30\xac\x86\x4b\x16\xb4\xc3\x09\x2a\xb1\xf7\x5b\x08\xb4\x76\xe8\x59\x25\x1b\x7a\x38\xa1\x34\x30\x50\x8f\xe2\xc8\x77\x6c\x77\xba\x6c\x06\x91\x0c\x92\x07\xef\x31\xd5\x9f\xf9\x83\x7d\x6d\xd3\xb4\xbd\x1d\xf3\x9d\x1d\x2a\xb9\x3a\x0f\x63\x7a\x04\x60\x33\xd1\xfc\x39\xa3\x24\xf9\xf8\xb1\xab\x67\xab\xe8\xb8\x51\xe7\x5a\xed\xbb\xba\xb1\xb9\x8c\x44\xbb\x24\xbb\x56\x14\x06\x9f\x96\x0a\x83\x6c\x1f\xa4\xcb\xc5\x63\x95\x2d\x14\x2c\xfb\x72\x76\x49\xdd\xdf\x05\xcd\x09\x15\xee\x17\xb6\x14\xcd\x4f\xca\x52\x16\xdc\x0b\xee\x36\x49\xce\x64\x59\x55\x84\x02\x55\x3d\xca\x1d\x03\x0a\x80\x65\x27\x6a\x00\xe4\x79\x15\x77\xa3\xd1\x85\xe8\x79\x3f\x2e\x39\xa4\x90\x99\x54\xc5\xa9\x73\x97\x80\x36\xe4\x39\xd1\xa4\x2e\x45\x3a\xc9\xb8\x57\xf4\x69\xed\x7d\xec\xf4\x96\xb4\x77\x82\x3d\x11\x83\x5a\x53\xee\x0a\x26\xb8\x49\xec\x0c\x52\x9f\x8b\x30\x11\x67\x15\xca\x69\x76\x4e\xdb\x0e\x57\x29\xd7\x7e\x5e\xae\xf8\xe5\x44\xe6\x69\x50\x42\x79\x41\x56\x49\xca\xb2\xda\xbc\x61\x6a\x06\xa7\x6d\xdf\x71\x9e\x1c\x7a\x44\x71\xcc\x13\x4f\xde\xd5\x0c\xde\xc7\x8f\x31\x1b\xf9\xf7\x23\xdb\x3e\x48\xd9\xa8\xbe\x21\x19\x1b\xb9\x17\x24\x63\x23\xff\x7e\x64\x6c\xd4\xb8\x1e\xd9\xf6\xbe\x27\xe6\xcb\x39\x42\xa6\xfa\x9a\xd7\x93\x93\x7a\xbd\xe8\x77\x20\x90\xad\x14\x31\x17\xce\x74\x06\x61\x92\x10\x7e\x0d\xa2\xae\x3b\x3c\x9c\x91\xc2\x08\x2b\x9b\x51\xca\x3d\x8c\x9d\x9d\x98\x67\x3e\x7f\xac\x5d\x9c\x1c\x6b\x15\x76\x41\x5e\x2f\x62\x01\xc6\xd1\x90\x71\xb7\x0e\xa9\xd4\x08\x82\x31\x25\xc7\xda\x7b\xce\x66\xf0\x34\xe3\xcb\x7d\x5e\xad\x00\x3d\x3d\x66\x97\x9e\xe0\xea\x69\xe3\x2c\x08\x74\x6e\x7d\xfa\x05\xed\x8b\x5c\xca\x1d\xee\xcc\x11\x40\xf0\xff\x82\xbd\x51\x57\x71\xe0\xce\x3c\x25\x17\xa4\xec\xdb\x96\x17\xea\x1e\xff\x2f\xd8\x17\x8d\x91\xee\x62\x63\x18\xfd\x99\x09\xd6\x92\x3d\x8a\xb3\x18\xa1\xed\x2c\x73\x6c\xb0\x0c\x25\xf0\x25\xb3\x19\xbb\x34\xf2\xcd\x66\x3e\x60\x72\x16\x7b\x33\x82\x41\x23\x7d\xc3\x58\x09\x2d\xab\x9e\x9a\xb5\xff\xdc\x61\x23\x6f\xa7\xe5\xc1\xd5\x64\xb6\x4e\xc9\xa3\xc3\xb3\xf6\xdb\xe7\xa8\x60\x32\x8f\x8c\x88\xb7\x7d\x90\x82\xd3\xce\x89\x7a\x34\x41\xea\xd7\x13\xe5\x18\x05\x6e\xa4\xd8\xc4\xfa\xd9\x3e\x90\x3f\xa4\xbc\x2a\xff\xcc\xd9\x44\xb9\x4e\xfc\x64\x83\x56\xde\xd4\xbe\x58\xcd\xfc\x31\x9b\xf0\x96\x91\x71\x63\x14\x2b\xd7\x84\x9d\x36\x6c\xed\x57\x84\x2f\x4b\x31\x40\xc6\x69\xb6\x70\xc5\x1d\xc8\x10\x4c\x97\x75\x82\xfe\xb6\x67\x85\xab\x4e\xb2\xa7\xfa\x88\x2d\xae\xac\xd5\xe6\x09\x99\x2f\x4a\x2c\xc8\x0a\xa5\xf0\x14\xa3\x15\x1e\x47\x82\xcc\x51\x6a\x11\x0a\xfc\x25\x77\x56\xfd\xa5\x03\x0b\xf5\x09\x4e\x9e\x80\xb4\xe5\xbb\xc1\xbb\x13\x01\xb5\x9b\xff\xd9\x4c\xc9\xd7\xc8\x39\x2c\x91\xf7\x11\x66\xd5\xfc\x68\x22\x1f\xfd\x47\x28\xfc\xf3\x09\x85\x4d\x90\xcf\xde\xbc\xfb\xf3\x48\x8b\x8e\xa7\x03\x24\xd9\xfe\x09\x6c\x87\xd1\x57\x0b\xa5\xa2\x04\xb5\x7e\x9f\xff\x50\x8a\xbe\x52\xae\xc5\xa0\xeb\x0a\xd7\x69\x8b\xa4\xfe\x65\x73\xde\x17\xeb\xab\xda\xb8\x63\xe6\x82\xb8\x72\x80\xbd\xe2\x8d\xba\xea\x86\xd5\x35\x35\x19\x0d\x4c\xec\x4e\x64\xdd\x01\x4a\xf6\xb6\x18\x5b\xa3\xe8\xce\x2c\x20\xd7\xd6\x1b\x2d\x80\x5e\x0d\xfa\x36\xa6\xef\x39\x9b\x48\x02\xba\xb5\xbf\x9d\x91\x91\x69\xa8\x2f\xa7\x7b\x2d\x3c\xc2\xa7\x1f\x43\xfb\xb2\x82\xb4\x29\x00\xe9\x17\x4c\x9b\xea\x53\x85\x59\x34\xbf\x16\x0e\x19\xdb\x25\x98\xf2\xb6\x60\x4a\x52\xea\xf3\x69\x5f\x90\x08\xda\xd6\xdd\xb6\xc0\xde\xaa\x93\x5b\x11\x0a\x3a\x65\x4c\x5d\x63\x74\x82\x4f\x93\x4d\xde\xf9\x8c\x63\x4c\xad\x9b\xd6\x96\x3d\x2e\x2f\xa9\x36\x2c\x56\x9a\xe7\x90\x4e\xdc\x67\x6d\x3d\x7d\xb5\x03\x94\x1e\x07\x84\x92\x9e\x54\x12\xeb\xd0\x49\xff\x43\x43\x67\x9a\x1c\x1d\x06\x80\x66\x4d\x6c\xe4\xaa\xe6\xbd\x90\x3e\x96\x45\x6b\x04\xce\xe0\xb5\x09\x15\xed\x72\xb0\xa8\xa3\x66\x30\x3b\x60\x4e\xf8\xa4\x31\x5e\xd1\x1c\xef\x89\xf1\x8e\xdf\x2a\xb2\x62\x54\x11\x30\x9b\x89\xef\xbd\xa5\xf7\xa6\xa0\xbd\xb7\x93\x28\x6a\x3b\x3e\xd6\x35\x89\x80\xef\x8a\x67\x6c\xf0\x52\x07\x3c\xe8\x32\x31\x70\x5f\xbc\x9b\xd7\x1f\xab\x8d\x2e\xb3\x6b\xeb\x08\x23\xdc\xa7\x75\xd5\x81\xe3\xbb\x60\x1e\x3c\x3c\x77\x86\xd4\x40\xf7\x98\x34\xa1\x5d\x3f\x93\xf0\x14\x0c\x6c\x75\xb1\x8a\x47\x90\xea\x18\x02\xe3\xc2\xc6\xd7\xd0\x91\x8f\x5a\xf1\x35\xb0\x1d\x34\x18\x5f\x43\x17\xb7\xe2\x6b\x6c\x89\xee\x97\xaa\xb2\x8e\x99\x50\x43\x88\x7a\x5a\x71\x3e\x9b\x83\x84\x02\x07\x5c\xba\x9d\x17\x9d\xe3\xec\xf1\x70\xf4\xaf\x4c\x98\x04\xb7\x68\xab\x89\x3e\x42\xce\x2a\xc2\x67\x70\x9b\xd5\x7d\x56\x06\x13\x2e\xf6\xee\x45\xd6\x2d\x4c\xbf\x26\x1e\xbc\xeb\x2e\xe6\x81\xd7\x91\xc6\xe1\x7e\xac\xc9\x20\x21\x09\xbe\x0a\x06\x2d\xc3\x1b\x53\xb3\x46\x3c\x4e\xcc\xf3\x7d\xc9\xdc\xb6\xc4\x7b\x91\x1c\x8a\xf6\xfc\xc6\xca\x38\x7c\xdb\x0d\x98\xd3\x0a\x12\x86\xbe\x9a\xb0\xc5\xd5\x7a\x9c\xb5\xd5\xf1\x88\x49\x3c\x0b\x14\xe7\x7c\xc2\xef\x98\x7f\xd0\xba\x77\x76\xc8\x76\xd6\xe5\x8a\x1d\xda\x14\x48\xd3\xb2\xd9\xa6\x38\x6f\xb2\x3d\x9b\xf2\x45\xe9\x70\xef\x86\x8f\xe9\xd1\x3b\x51\xb0\x2c\xcc\x68\x48\xef\xc4\xdb\x3a\x5c\x92\xd2\x2f\x42\x87\xfb\x05\xed\x8b\xd6\xe1\xde\xd5\xce\xdc\x5e\x87\xfb\x85\xec\x8d\xd5\xe1\x0e\xd9\x99\xcf\xa1\xc3\xfd\x42\xf6\xa5\xd6\xe1\xde\x76\x63\x36\x50\xba\x1a\x8b\xbb\xbd\x29\xa1\xa4\xc2\xe5\x97\x98\x0b\xde\x32\x90\x9d\xe9\x76\x1c\xd5\x69\xce\x26\x26\xc0\x4d\xce\x26\x8e\x62\x73\x86\xf9\xba\xcc\xec\xba\x2d\xba\x0b\x2f\x25\xc3\x55\x40\x87\x21\xc3\x4c\x9d\x86\xcd\xaf\xfd\xa4\x1d\xba\xca\x36\xa8\xa3\x57\xb5\x8c\xc8\x1a\xd0\xbf\x5d\xb7\x76\x57\x3d\xd4\x34\xce\x8b\x20\xef\x4d\xd7\x9f\xd6\xf3\xd0\x0a\xfc\xb9\xfa\x0d\xac\x84\xa1\xd5\x02\x6d\x9b\xae\xc7\xf6\x20\x03\x82\x81\x4a\x92\x7b\x03\xd8\x5e\xef\x0d\xfc\xc7\x00\x36\x5e\x2c\xc0\x04\xb3\x4b\x75\xbf\x09\xdc\x6f\xec\xd6\x2b\xf0\xf4\xf7\xb1\x93\x00\xd5\xf4\x50\x58\x3f\x5d\xf5\x99\x92\x4b\x6b\xf9\x8b\x10\x84\xe3\x31\xbf\x6d\x58\x9e\x19\xe6\x8f\x9a\xad\x6b\xd5\xf0\xc4\x31\x06\xef\xf3\xa4\x75\xea\x59\xfb\xee\x7d\xa5\x72\x56\xc2\x82\x9d\xc7\x9d\x8e\x30\x38\x60\xf2\x04\xd3\x87\x79\x7e\xeb\x49\xdc\xd6\x61\xf8\x6e\xd2\x15\xdf\xde\x37\xf2\x66\x59\x57\x70\x9e\xef\x09\x3c\xdd\x3b\x2b\x48\x99\xef\x1d\xd4\xf1\x20\x6a\x07\xa0\x91\x2c\x2f\xe8\x62\x29\x31\x05\x3b\x3b\x83\x78\x32\x39\xbb\xa4\x3a\x13\x8c\xf9\x15\x88\x0c\xbc\x2d\x19\x6f\x3e\x2b\xce\xc4\x3f\xc8\xd5\xc7\x8f\x7f\x97\xa2\xc3\xe8\x72\x56\x4c\x66\xc9\xc7\x8f\x4e\xd1\xce\x4e\xfc\xf7\xcc\x96\x7d\xfc\x78\xf0\x8d\xf7\xeb\xaf\xee\xaf\x6f\xfe\xe6\xfd\xfa\x6f\xef\x97\xd7\xcb\xb7\xfb\xde\xaf\xef\xbc\x3e\xff\xdb\xab\xea\xf5\x72\x70\xdf\x1b\x42\xff\xf1\x20\xfb\xeb\x77\x3b\x3b\xfa\xc7\x0f\xd9\xdf\xf7\x9d\x92\xbf\xff\xcd\x29\x39\xb8\x7f\xdf\x29\xfa\xf6\xbf\x9d\xa2\xef\xfe\xa6\x33\x0d\xdf\x99\x87\x6a\xcf\xe1\xdc\xc6\xf9\xe4\x35\x27\xd5\x3f\x95\x23\xa2\x6b\x1b\x2e\x41\xbf\xcb\xe5\x44\x99\xb2\xd4\xfe\x18\x26\x72\xa6\x7b\x0f\x69\xed\xab\x34\xd4\xe5\x25\x24\x66\x6e\xe8\xef\x92\x86\x35\x13\x2a\x8e\x2b\xf5\x72\x2d\x10\x93\x85\x37\xf4\xea\xdf\xca\x9b\xb6\x5f\x87\xee\xf4\x16\xa9\x0e\xd9\x78\xd9\x1c\xa4\xd4\xcd\x6c\xed\x69\x16\x35\xc9\x19\xcd\xf1\x87\x13\x70\x8f\xf9\x44\x0e\x39\x6c\x23\x87\x1c\xe6\x5d\xe5\x58\x64\xc2\x70\x08\xae\x6f\xce\x0f\x19\x97\x7c\xb4\xeb\xa2\x73\x4d\x97\x72\xa1\x63\x92\x2a\x12\x2c\x56\x49\x4a\x76\x77\xe5\x6e\x9c\xb1\x2a\x96\x33\x29\x32\xf2\x7d\xf1\x43\xc6\xbf\x2f\x76\x77\x93\x60\xe3\x42\x37\x46\x68\xe5\xbe\xf6\x28\x7f\x1f\xda\xcf\x6d\x35\x21\x5c\x92\xc7\x5f\x71\x61\x72\xf2\x06\xc3\x03\xb4\x13\xa5\x5b\x30\xf7\xce\xca\xa3\x56\x2a\x03\x45\x5b\xb7\xc2\x36\x6a\x70\x90\xa4\x45\xf6\xe6\x5d\x8a\xb3\x37\xef\x7a\x92\xb9\x70\x47\xb5\x4a\xdd\x88\x44\xc4\xf2\x19\xb5\xd2\x15\xe2\xf4\x6d\x15\x2a\x1b\x1f\x97\x14\x8a\xdd\x65\xc7\xd8\x3d\x32\x6e\xb5\x76\x1d\x97\x9a\x13\xcb\x25\xe8\xa4\xf2\xb3\x62\x11\xe3\x14\x2d\xa9\x0e\x18\xd6\x4c\x43\xd2\x89\x1f\xc2\x5d\x15\x29\xea\xec\x08\x12\x21\x31\x4a\xe2\xfa\x36\x96\xce\xf1\x00\x40\x25\x69\x25\xf7\x5e\x03\x7e\x99\xb6\x31\x1a\x19\x01\x38\x8e\x04\x7b\xca\x2e\x49\xf5\x08\x73\x12\x1b\x8e\x79\x8b\x3a\x17\x42\xde\xdb\x09\xa3\x02\x17\x94\xc7\x55\x4a\xeb\xb4\x53\x5c\xe0\x4a\xfc\x5a\x88\x59\x4c\x53\xb4\x87\x92\xc3\xb8\x52\xc7\x03\xf8\xb0\x4d\x86\xd1\x2e\x19\xa9\xcb\xd0\xa3\x00\x4e\xc6\xeb\x9a\x86\x9f\x02\xcc\x56\x4c\x32\xf4\x15\x32\x0b\xaf\xbc\x1b\x3f\xd9\xcd\x44\x3a\xd9\x95\x15\x74\xe5\x3c\x70\x71\x50\xb2\x95\xdb\xab\xc9\x51\x3a\xf1\x83\xd2\x37\xe4\x87\x7c\x23\x2f\x81\x8b\x82\x5c\xee\xd5\xf1\xc8\x3e\x6f\xc0\xa6\x4d\xcd\x83\xd6\xc8\x0d\x7e\xec\xc7\xee\xa0\x3b\x67\x45\x09\xba\x8e\x01\x26\x1d\x3e\x33\xfc\x45\xa7\x35\x81\x4b\x78\xdb\x84\xb9\xea\x3d\xb0\xde\x45\x70\xa4\x41\x28\xd5\x59\xe4\xef\xc4\xaa\x61\x4a\x84\x73\x4c\xeb\xf8\x71\xa3\xd4\x1a\xf8\xe0\xbf\xd6\xf1\xed\x6e\x4e\xa5\xf3\xc9\xb3\x9b\xd8\x19\x0e\x84\xd0\x1c\xc2\x29\x40\x60\x31\x1b\x91\xf0\x1e\xda\x25\xbb\xe8\x1e\x76\x63\x97\xf2\x8c\x92\xcb\xe8\x71\xc5\x16\xbf\x43\x4e\x97\xaf\x96\x0b\xc9\x68\xee\x59\xcf\x1e\x05\xc8\xe9\xf5\x8c\xe0\x9c\x54\x7c\x7c\xfd\x70\x29\x66\xac\x2a\x7e\xd7\x91\x73\x7f\x24\xb8\x22\x55\x64\x9f\xa7\x9a\x29\x81\xf5\xbb\x60\x23\x35\xb0\x60\xe7\x04\xb8\xda\x65\x55\xaa\xb8\xfb\x33\x96\x8f\xd1\x82\x71\x81\xd2\x05\xae\xf0\x5c\x29\x9a\x5c\xac\x01\xb1\x04\xf0\x69\x29\xef\x7e\x3a\xc7\x1f\x7e\x92\x33\x2b\x7e\x27\xe3\x83\x7d\x68\x52\x96\xa4\x7c\x0d\xb3\xe7\xe3\x6f\x52\xb5\x8e\x67\xcb\x52\x14\x8b\x12\x4c\x6f\x70\x9e\xab\xc4\xf6\x4f\x0b\x7a\x0e\x59\xa0\xf1\x52\xb0\x97\x15\x9b\x10\xce\xff\xef\x92\x00\x52\x09\x03\x35\xe4\xc8\x5c\x4e\x64\x45\xef\x2a\x1a\x82\x29\xcb\xff\x2d\x7b\x90\x17\xbc\x65\x6f\x26\xda\xe0\xe8\xb4\xc3\x79\x4e\x72\xb9\xcb\x8d\x9e\x57\xab\x64\x4b\xd5\x08\x74\x2a\x92\x6b\xe3\x9b\x20\xb7\x21\x6e\xbe\xb8\x55\x6c\x81\x52\x9e\xac\x56\xa9\x3f\xf4\x5a\x01\x22\xf8\xa0\xec\xce\xbd\xeb\xb5\xa8\x93\x8d\xd7\x00\x44\xfc\xb0\xa0\x3a\xc1\xa2\xc2\x25\x81\x68\x75\x4e\x8a\xc5\x87\x0e\x0c\x48\x54\x21\x14\xa6\x20\xab\x56\x72\xc5\x75\x69\x15\x5b\x0c\x65\xab\xe5\x41\x80\xb5\x6c\x4e\x22\x90\x41\xb1\xbd\x6b\xcd\x56\x3d\x6f\xf1\x45\xde\xc1\x38\x79\x20\x63\x73\x0e\x04\xf7\xc4\x41\x9f\x12\x12\xb6\xf7\x37\xa6\xcf\xfa\x9e\xde\x3a\x91\xda\x9f\x29\xb6\x1f\x4c\xf3\x4e\x92\xa4\xad\xe1\x1a\xfa\xc2\xc6\xcf\x30\x7f\x89\x7b\x03\xf8\x59\xdb\xf7\x19\xbb\xf4\xd2\xff\x58\x1d\x61\x9d\x10\xc6\x0d\x69\xae\xdc\x43\xb5\xe1\xf1\x9f\x3b\x9f\xda\x05\x13\xe4\x64\x86\x35\xde\x96\x1b\xf1\xb4\x38\x27\x8d\x54\xfe\x60\xc9\x51\xb3\x27\x79\xfd\x51\x05\x66\xbd\xa3\x87\x07\x3b\xba\xab\x81\xd7\xd6\x31\xb8\x2c\x4d\x61\x98\x19\x28\xf8\x53\x95\x7d\xfc\x76\x01\xb5\xf5\x6d\x95\x94\xec\x17\x4c\xf3\x92\x54\x77\x14\x8f\xed\x06\x16\x8d\xaa\xe1\x6f\xcb\xf9\xe2\x84\x99\xb4\x35\x0e\x04\xf8\x2e\x88\x77\xe5\xc6\x37\x68\x9e\x4d\xd7\xbd\xf6\xae\xf5\x59\x1c\x28\x51\x34\xc8\x79\x59\xb6\xcb\xe6\xc4\x43\xf8\x4d\x8e\x05\xde\x33\x78\x31\xfb\x5a\x54\x4b\xf2\xf5\x3b\xa3\xc8\x53\x81\x90\x94\x8e\x55\xfd\x5d\xdf\x2c\x6e\xd5\x3a\x72\x14\x39\x3b\x2d\x91\xd3\x7a\x22\x5c\x3b\x24\x82\x4e\x29\xf6\x13\x4a\x99\x78\xc4\x1f\x3f\x22\x81\x4f\xfd\x6f\xc9\xce\x0e\x73\xa2\x98\x40\x4a\xe4\xda\xf8\xeb\x5a\x29\x71\xa8\xf7\x3e\xeb\xe9\xd0\xd8\xc8\x84\x36\x4e\xb6\x7c\x4d\x56\x91\x1c\xb2\x11\xab\x16\x33\x4c\xb3\xed\xfd\x71\x78\x4a\x3b\x3b\xb4\x01\x19\x4e\x87\x26\x74\xa1\xe9\xe6\xd0\xc6\x9f\x83\x95\x3a\x22\xef\x69\x25\xf9\xc5\x3d\x7d\x22\x7c\xb4\xa8\xc0\x8d\xf3\xb1\xc2\xfd\x31\xa4\x01\x13\x6c\x21\x89\x0b\x9e\x62\x75\x9e\x92\x98\x8f\x63\x01\x53\x79\x24\x77\x3c\x26\x29\x4b\x74\x2a\xc2\xd4\x9b\x94\xef\x8c\xe3\x66\x97\x16\xb5\xdc\xef\xda\xd7\xd8\x8f\x3a\xa4\xb3\x7b\xd5\x4f\x2b\x76\x09\xd9\xc5\x47\x7c\x52\xb1\xb2\x3c\x61\x31\xfa\x0a\x6c\x66\xd0\x2e\xe4\x72\x0b\xa7\x29\x6c\x85\x43\x77\x02\x53\x0c\x43\xbc\x70\xb6\x77\x96\xc2\x8e\x74\xa5\xb0\x0b\x16\x6c\x94\xc2\xae\x2f\x9a\x84\xe3\x3d\xdb\xd4\x3f\x34\x03\x4b\x04\x92\xde\x06\xcc\xe1\xc2\xd1\x27\x9a\x51\x91\xdd\xf8\x13\xda\x3a\x2d\x10\x6d\xa2\xd9\xca\x8d\x37\xa1\x5b\x75\x44\x97\x10\x9d\xa6\xb4\x9e\xd9\x6b\x67\xb0\x92\x60\xc6\x8c\xee\x94\x94\x26\xe8\xac\x21\xad\x0e\x94\xe8\x80\xa7\xad\x64\x87\x10\x48\xd6\x89\x47\xda\x91\x0d\x71\x0c\xbe\x6a\x00\x38\x2d\x98\x91\x60\x36\x75\x20\x4c\x25\x55\x0c\x83\x51\xe2\xe8\x82\x9b\x51\x2c\x1a\x67\xae\x77\xd7\x26\xbb\x57\xae\x72\x37\x1a\xde\x04\x5f\xd1\x07\xe2\xe4\x59\x53\x19\xe0\x84\xca\x00\x47\x56\x6d\xe0\xa2\xad\xc9\xea\x4c\x1d\xb7\x98\x8e\xda\x0d\x13\x3d\x66\x93\xcd\x48\xb6\xfa\x8e\x0a\x42\x0a\x6f\xdc\xa7\x4d\x7b\xaf\xf7\xe4\xd7\xe2\x77\x5c\xe5\x1d\x11\xe2\xdb\x1c\x67\x23\xe5\x55\x98\x59\xb5\xc2\xd9\xb1\xcf\xb5\xb5\x53\xaf\x37\xa5\xc0\x1f\x6d\xfa\xbe\x70\x4e\x7d\x87\xf9\xb3\x83\xfc\x93\x85\xb2\xf7\x77\x48\x6c\x92\xc5\xec\x94\xd2\xbc\x41\x6b\x66\x54\x8d\xb4\xa9\xa8\x55\x91\x8b\x82\xaf\x4d\x5a\x1d\xca\x75\xf5\xa5\x45\xcc\x32\x2b\x31\x81\xae\xce\xce\xb4\x35\xd0\x2b\x5d\xd0\x36\x58\x30\x4d\xd6\x3c\xe4\xd7\xd5\x3c\x73\x85\x19\xe6\x8f\xe5\x28\x2d\x6f\xc5\xe2\xec\x6c\x8d\xac\x22\x6b\x78\x7d\xdd\x50\x7d\x69\x67\x96\xbd\x79\x77\x17\xaa\x4a\x48\xf8\x62\xf7\x4b\xb2\xa9\xfe\x97\x9b\xa9\x6c\x8c\xb2\xbe\xee\x78\xb8\xe2\x26\xf0\xc2\x2a\xdc\x84\x21\x22\xd5\x77\x32\x47\xa9\x7a\x95\xb7\x7b\x62\xd4\x27\x73\xa6\x94\x1e\x3a\x15\x63\x0e\x91\x3a\xe7\x58\xc4\xe8\x31\x8b\x9e\x3d\x7b\xf6\x2c\xfa\xd7\xbf\xfe\xf5\xaf\xe8\x97\x5f\xc6\xf3\xb9\x62\xa6\x47\x67\x45\xc5\x05\xc5\x73\x15\xcc\x52\x8c\x4a\x6c\x7f\x32\x1a\x81\xea\x32\x52\x91\x24\x73\x28\x07\x3f\x82\x2d\x6f\x56\x25\x3e\x55\xd9\x7e\x57\x75\x6a\xc3\x1a\xdc\xe0\xed\xb8\x7e\xe1\xb1\x09\x39\x7c\x80\x53\x2f\xb1\x36\x76\x99\x32\x8e\x79\x65\x6f\x2c\x79\xb3\xff\x0e\xd8\x0a\x38\x24\x80\xc5\x2e\x9a\xbd\xee\x88\x24\xea\x35\x1d\xcb\x8e\xba\x91\x4f\xda\xf2\xd2\x12\x96\x20\x29\xc8\x17\x2d\xed\x9a\x37\xef\x0e\xcc\x5a\x23\x22\xa1\x10\x05\x1c\xaa\xb6\x95\xb1\x0b\xac\x0d\x20\x55\x56\x98\x94\xd1\x57\xac\x2c\x4f\x71\x97\x7f\x4e\x73\x43\x3d\x4e\xce\x34\x75\x0d\x2b\xa1\xdf\x90\xe7\x90\x51\x42\x57\xba\x91\xce\x0f\x3f\x18\xe5\x16\xbf\x93\x3d\x4e\xc4\x72\xf1\x59\xdf\x9c\x00\x32\x41\x77\xd3\x61\x0b\x39\x67\x39\x29\x4d\xaa\xce\xd4\x02\xfe\xfa\x26\xb6\x2a\x4a\x52\x73\x3f\xd6\xb7\x32\x35\xc1\xe3\x1b\x17\xe5\xfa\x16\x50\x0d\xdc\x78\x38\xbf\x64\x55\xbe\xbe\x85\xa9\x89\x00\x47\x43\x7d\xf0\xa0\x09\x9a\x84\x62\x79\xb7\xea\x5d\x42\xa9\xfe\xa1\x0c\x29\x6d\x07\x3f\xd9\x8d\xe9\xec\xc4\xdf\x3b\x94\x22\x9c\xcf\x0b\xea\x37\x74\x7a\x7c\x8a\xd7\x75\xe8\xed\xaa\xe9\xcf\x6b\xe6\x74\xf7\x04\x76\xb3\xb3\xaf\x7a\xb3\x4d\x47\x75\x03\xa7\x97\x97\x66\x93\x3b\x3b\xf2\x8e\xc1\xf4\xe5\x35\x43\x89\x93\x71\xab\xdb\x8c\x42\x53\x45\x4d\xd7\x4d\xd2\x30\x7b\x3b\x3d\xb8\x4c\x8c\x38\x0e\xc8\x15\xa2\x35\x39\xa7\x04\xf6\x11\xb5\xe5\x19\x2f\x04\xd1\x3e\x75\xc6\xe6\x2c\x19\xf7\x0f\xe3\xc0\x72\x60\xa8\xd0\x39\x36\xc6\xf4\xab\x0c\x1f\xb8\xbe\x0e\x5d\xe3\xfa\xe7\x1d\x1a\xf6\x29\xde\x74\x54\x7d\xa5\x92\x8f\x1f\x95\x07\x0e\x2e\xca\xce\x3a\x1d\xd3\x72\xa0\x27\x34\xa7\x27\xaa\xf5\xd0\x09\xd5\x37\xb6\x6b\x3c\x1f\xc2\x42\x43\xbe\xb4\x7d\xd4\xa3\xc6\x06\x8f\x93\x52\xa9\x43\x1f\x52\x46\xaf\xe6\x6c\xc9\x1f\xc2\x03\x5a\xe6\xf4\x11\x28\x46\xc9\x68\x51\xb1\x45\x8c\x26\x33\x32\x39\x87\xc8\x03\x17\xac\xc8\x1d\x4e\x4e\xc2\xb7\x14\xee\x5b\x22\x9a\xc7\x0b\x78\xb0\x7a\x60\x66\xae\x0b\xc3\xd0\x15\xac\xd5\x84\x85\x60\x25\xef\x64\x82\x35\x9a\x7b\x79\x90\xac\x92\x21\x64\x0c\x90\xec\x9e\xf6\x39\xfe\x8c\x34\xac\x98\x30\x3a\x46\x90\xbe\xa0\x28\x0b\x89\x75\xa6\xe5\xd5\x42\xcc\xd6\xe8\xd1\x4d\xb2\x9b\x0d\x94\xb8\x72\x24\xa3\x96\x70\x07\x74\x04\x58\x35\x34\x4a\x91\x52\xe9\xbe\xaf\x48\xfe\x9e\x5c\x11\xe4\x4a\xc1\x28\x2f\x2a\x32\x11\xc1\x66\xaa\x48\x49\x13\x6a\xcf\xb7\xfa\xf6\x1c\x40\x59\xdb\x61\x7e\xba\x3d\x3f\x21\x1f\xc4\x4f\x05\x29\x73\x37\xb9\xd8\x6d\xd5\xf7\xff\x15\xdb\x9b\xb8\x1e\xb6\xd4\x3a\x05\xf9\x20\x70\x45\xf0\x27\x5e\xea\xc3\x8a\xe0\x3f\x70\xa5\x65\x4e\x2a\x27\x5c\x29\xd8\x38\x7d\xce\xeb\xb4\xa9\xac\xa9\xe3\x66\xa8\xa0\xee\x6d\xc1\xe0\x24\x64\x17\x1a\x7a\xa9\x38\xe9\x32\x0b\xf5\x7d\xaf\x5c\xc1\x48\xb8\x46\x81\xe8\x2b\xb4\x4b\x42\xb1\xda\x3d\x9d\xae\xb1\x87\x3c\xc1\xd3\x0e\x7d\x8b\x53\xc3\x44\xaf\xda\xf0\xd0\xf8\x5e\x59\xf0\x81\xef\xd3\x9f\x55\x6b\x52\xeb\xa0\xea\xb7\x47\x95\x18\xf3\xc2\xfd\xa2\x0d\x45\x8d\x60\xee\x3b\x82\xd4\xb6\xce\x0b\xf5\x7a\x5b\x07\xf9\x81\x9c\xdd\x79\x20\x03\x74\x28\x19\x4c\x9e\x3b\xef\xb8\xc3\x62\x36\xa9\xaa\x36\x98\xcf\xba\x27\x59\x39\x84\x31\x05\x7b\xca\x26\xe7\x6c\x39\xcc\xb8\xed\x4e\xa6\xb6\x3d\x6c\x6e\x33\xcc\xcd\x36\x3f\xd4\x20\x3a\x28\xda\x94\x3a\xc5\xd4\x0d\x26\xb3\xda\x3c\x0d\x9e\x89\x57\xd3\xe5\x73\xe2\xc7\xaa\xb9\xa5\xd3\x49\x2b\xbe\x0e\xd8\x3b\xc3\xb3\xe5\xfb\x91\x4a\xa1\xd1\xb4\xf9\xe7\x28\x51\x76\x34\x8e\x25\xb0\x6b\x9b\x2d\x49\xec\x8b\x85\x22\x97\x6e\x4a\x86\x40\xb6\x8d\xc7\xf5\x71\x3a\xd0\x1c\xb0\xf3\x51\xd7\xc3\x82\x7e\x73\x85\x0d\x5d\x6e\xd0\x90\x27\xd8\x3a\x9c\x58\xd6\x9d\x58\x3b\x6b\x70\xe7\xb4\x83\x7a\x65\xd7\x34\xa8\x75\xfc\xcd\xb9\x01\x6a\x4b\xb7\xf7\x8d\x86\x1b\x50\xc0\xfa\x55\xd7\x98\xc2\xae\xb9\xb3\xe5\x80\x15\xa7\xc4\x24\xc0\x6b\x1d\x7c\x5f\xc2\x1c\xee\x24\xa2\x8d\x49\xe6\x86\x8f\x59\x25\xea\xb5\x90\x24\xda\x15\xe8\x60\xab\x67\x05\x07\x1b\x80\x4a\x68\x4f\xdd\xb5\xeb\xb7\x09\xbd\xa7\x4f\x00\xf3\x7f\x32\x00\x08\x4d\x46\x0d\xd9\x3e\x60\xd5\x95\xf9\xbe\x2e\xbc\x86\x99\x8b\xf7\xb6\x2e\x9a\x81\xd7\xda\x53\x6f\x05\xdc\xd8\x26\xcd\xc3\xaa\x93\x96\xd8\x4f\x87\xd4\x4f\xb5\x32\xa6\xd9\xfb\xd1\x65\x21\x66\x6c\x29\x62\xda\x78\x41\xf1\x29\x0f\x4a\xad\x15\xfc\xc1\xa1\x33\xf3\xb1\xab\xf6\x1f\xb4\xa1\x34\xe9\x0a\xe4\x3c\x98\xf4\x5b\x27\x53\x08\xbd\xc2\xfb\x69\x3f\x5e\x2a\x5e\xff\x8b\x33\x4c\xeb\x8f\x21\x09\x37\xb3\xdb\x0b\xd5\x24\xb4\xb1\xd6\x6a\x9d\x35\x1d\x4b\xb5\x00\x43\xd2\x32\x86\xfa\x32\x12\xb4\xf6\x90\xbe\xe6\x5b\xc7\xe0\x34\x29\xf5\xba\x7c\x6e\xa6\xde\x41\xa5\x7f\x87\x7a\xb0\x23\x7c\xa8\x5b\x9c\x1b\x09\xa8\xd3\xa6\xd5\xdd\xf9\xb0\xde\x3d\x48\xe9\xd2\x9e\x17\xcf\x76\x76\x08\x8f\xb9\xee\x08\x09\xa6\x6d\xd2\x60\xb6\xae\xad\x9a\xe3\x12\xd5\xfc\x68\x12\x1f\x39\x74\xb7\x27\x10\x57\xd3\x8a\xb6\x45\x30\xc3\xb6\xb4\x66\x61\x3e\xbe\xad\xbd\xbb\xd2\x8e\x33\x73\x5a\xb7\xe3\xd6\xd5\x61\xeb\xfc\xcd\xd3\x01\x9c\xac\xf7\x50\x2a\x06\x40\xc3\x0d\x41\x61\xa0\xe1\x6d\x13\xbb\x59\xc7\xf1\xbb\x0a\xcc\xbb\x0e\xf5\x7d\xbe\xf0\xbc\xdc\x11\x93\x06\x22\xba\x69\xc5\x96\x8b\xee\x7a\x50\xec\xfa\xe4\x77\xd6\x74\xfc\xf1\xd7\x98\xe7\xf6\x9a\xf6\x2a\x78\xd2\x16\xa4\x15\x5b\xe4\xec\x52\xbf\x77\x37\xbc\xf7\x6f\xf8\x9e\xbc\xe4\xa4\xba\xab\xb7\xe4\xb0\x69\xa6\x71\x49\xbf\x13\xc3\xcb\xb6\x55\xe5\x66\x8e\xc9\xe6\xbe\x3d\x2c\xcb\x0d\xb1\x6e\x7d\x4d\x48\xdb\xf3\xd8\x5e\xe3\xe5\x7c\x8e\xab\xab\xf5\x57\x58\x04\xdf\xb9\xed\x03\xee\xfe\xd6\xfb\xd1\xe5\x8c\x54\x24\x16\xe9\xb5\xe3\x3e\xe9\x25\xfc\xb9\x5a\x90\xb1\xc3\x23\xad\xc2\xec\x35\xdd\xcd\xc4\x68\xc2\x96\x54\x68\xff\x3b\xbe\x41\xef\x00\x1d\x5d\x3d\x73\xa7\xe7\x94\xf8\x61\x42\x94\x83\xb6\xfe\xa8\x7a\x49\xb9\xf6\x65\x5e\xa5\x35\x4d\x7e\x45\x26\xcc\xb3\xf2\x51\xbc\x91\x76\x28\x2d\xf2\x31\x49\x59\x35\x3d\xca\xc7\xcd\xc3\x82\xaf\xce\x45\xf4\xaa\x68\xab\x5f\x73\x3d\x14\xb1\xb9\x9c\x31\xf0\x46\xbd\x9c\x31\xe3\xc4\x41\x6d\xf3\x7f\x16\xe4\x72\xbc\x7d\xb0\xf2\x4c\xda\xe0\x62\xa2\x64\x44\x59\x35\xc7\x65\xf1\xbb\x73\xab\xf7\xea\x25\xc8\x85\xb5\x59\x77\xd3\x16\x7c\x33\x99\x8a\x5b\xda\xa0\xa1\xc1\x84\x60\x16\x6b\x34\x78\x75\x33\x42\x30\x02\x11\x6d\x26\x52\x22\x49\x4a\x3d\xd6\xe0\x61\xde\x99\x26\x44\xb4\xec\x59\xb7\x9a\xb3\x72\x50\x8d\x72\x2b\x07\xab\x33\xea\x06\x7f\xa0\xe4\xd2\x52\x92\x3d\xfd\x36\xd5\xe9\x6f\x6a\x03\x43\x78\x16\x5d\x76\x08\x49\x35\x35\xa8\x5a\xf0\x1c\xd3\xb4\x0e\x09\x19\xb8\xb8\xab\xa6\x93\x76\xc8\x97\x18\xae\x29\xce\xf3\x98\x87\xcc\x37\x15\xa2\x92\x40\xeb\x3a\xfb\x82\xdd\x5f\xff\x3a\xc3\xce\xb1\x56\x3f\xec\xd9\x9b\xf5\x5b\xdd\x76\x9e\x7e\x93\x3b\x3b\xca\xbd\xcc\x91\xae\xf9\xc2\x8b\x05\xa1\x31\xfa\xca\x4e\x52\x07\x40\xd5\x64\x1a\xf4\x85\x40\x52\x87\x39\x29\xf9\x51\x09\x83\x7d\x76\x6f\xb5\xaa\xd6\x0a\xd8\x7a\x14\x40\x88\x90\xac\x53\x51\x8a\x1e\x7e\x53\x5f\xa2\x58\xd4\x2c\x6b\x28\x45\x8e\xca\x69\x49\x27\x24\x6c\xd4\x67\xba\x38\xf0\x28\x54\x57\xde\x9f\x66\x64\x00\xef\xdc\x8c\x08\xed\x4d\x6c\xcb\x58\xa9\xd2\xe6\xb1\x26\xde\x13\xb8\x84\x27\x79\x67\x6b\x80\x42\xbb\xd4\x39\xd4\x35\x80\x95\x6e\x1f\x6c\xb5\x87\x3f\x70\x9f\x49\x7b\x7b\xef\x89\x07\xda\x71\x9e\x1c\x5f\x90\x98\x76\xdf\x9d\x55\xdf\x26\xce\xd8\xa5\x7a\x63\x7d\x59\x4c\xce\x5d\xdf\x87\x80\xdd\xb5\x65\xea\x0d\x4e\xd0\xaf\xb3\xb0\xbb\x7e\x74\x90\x66\x18\x8c\x21\x77\xa8\x41\x1f\x24\x06\xf7\xa2\x7b\xab\xcf\x2f\x5d\x31\x94\xb6\xa4\x15\x4b\xf4\x9d\x7a\x83\x78\x0a\xd0\x79\x75\x87\x51\x20\xa3\x26\x79\x34\xec\xc4\xe5\x8c\x21\xcb\x7b\x00\x39\xab\x7f\x6a\x93\x82\xad\x76\x64\x91\x83\x24\xa5\xad\x40\x0b\xa4\x83\x81\x71\xd7\xc2\x5d\x60\xd9\x60\x09\xc4\x09\x84\xa2\x66\xd9\x98\x73\x20\x2a\x0a\x44\x03\x0d\x04\x45\xa9\x39\x8b\xf0\xa9\x8c\x38\xab\x84\x1e\x08\xa5\x66\x17\x56\x1a\x89\x9c\xb0\xe9\xb4\x6c\xd8\xe0\xb6\x06\x69\xe9\x1f\xa1\xe9\xcf\x15\xa6\x42\x41\xdd\x20\xe9\xb3\x05\xa8\x01\xf9\xd3\x28\xc7\x69\x3b\x47\x5a\x4d\x5e\x83\xc0\xec\x2e\xba\x33\x60\x48\x27\xbf\xcb\x89\x90\xfc\x0d\xa9\x78\xec\xb2\x78\x0e\x32\x48\x03\x04\xd1\xc1\xc7\x9b\x0b\x95\x83\x62\x0e\xfe\x2f\xd7\x99\x95\x6c\x82\xcb\x63\xc1\x2a\x3c\xed\x32\x66\x76\xab\x40\x1c\xee\x2f\x41\x2b\x06\xbf\x4d\xa4\xc5\x01\xb1\x15\x6d\x7d\xa4\xdb\x9e\x5c\x2d\xcc\x13\x8e\xff\xcc\x68\x0a\xc7\xfb\x69\x09\x0e\x94\x08\xa5\xb5\xcf\x22\x28\x0a\xef\x34\xff\x60\x47\xf6\x91\xfa\x1e\x3a\xb3\xdb\xf2\x03\x08\xc1\x0b\xd5\x4f\x70\x94\xe0\xd4\xf0\xb2\x2a\x2e\xb0\x20\x29\x18\xf9\x8e\x91\xfe\x19\xed\x45\x17\x05\xb9\xc4\xa7\x25\x89\x18\x2d\xaf\xa2\xd3\xab\x68\x4e\xd0\xaa\x81\x72\x03\xbd\x81\xc7\x04\xc9\xeb\xfe\xf4\x87\x68\x2f\xc2\x80\x42\xa2\x82\x47\x95\x14\x97\x0b\xf8\x2c\x58\x64\x2e\x7b\x64\xa4\xb2\x75\x83\x2c\x4f\xcb\x62\x62\x47\x80\x5f\xd1\x5e\x34\xc1\x34\x3a\x25\x11\x27\x84\xca\xe9\x92\x0b\x52\x5d\x31\x0a\x93\x76\x50\x5a\xe3\x1c\x6b\x02\xe8\x17\x4b\x14\xec\x07\xbd\x52\xef\xed\x76\x16\x75\x2a\x7b\x95\x42\xbf\xf6\x50\x35\x75\x5d\xa7\x55\x97\xc8\xba\xdf\x0f\xeb\x1e\x4a\xaf\x71\xa9\xdb\x8d\x5b\x15\xd0\x63\x6d\xb6\x15\xcd\x48\xb9\x88\xae\xd8\xf2\x10\xb5\x96\xd0\x0c\xe1\xa9\x88\xb6\xa1\x22\xbe\x45\xb3\xd2\xd1\x01\xf8\x76\xe8\x55\xeb\x4d\xd1\x7e\x55\x44\x28\xc0\x5e\xcb\xea\xb8\xdb\x22\x36\x8b\xbf\x27\x24\xe1\x04\x23\x48\x39\xfc\x1e\xac\x7e\x6f\x51\xb1\x39\x44\xe3\x34\x32\x48\x80\x8f\xf5\x88\x99\xf7\x5c\xe7\x2b\xb1\xdb\x62\x8a\xbe\x3f\xe6\x79\xc8\x39\xec\xe6\x56\x02\x1c\xd6\x99\x58\xbc\x60\x21\xce\xf1\x9a\x9e\xf4\xd1\xd1\xc3\xba\x9a\x3e\xe0\x71\x2d\x12\x36\x86\x50\x88\xc7\x04\x51\xda\xdf\xce\xb2\x3a\xfb\x48\xac\xfb\x55\x11\x4e\x2d\x93\x17\x54\xf5\xd6\x2c\x1d\x70\xb9\x61\x0d\xaf\x23\x18\x0e\x0a\x58\xda\x24\x8b\x1e\x0e\x1f\x14\xb5\x74\x70\x22\x34\x89\x29\xe8\xf4\x33\x29\x5b\x83\x54\x73\xa0\xea\x74\x28\xf9\x94\x58\xae\xbb\xda\x12\x9c\x5c\xd7\x64\x48\xbb\x8d\xe2\x15\xa6\xe9\x66\x0c\x03\xa5\x2b\xa0\x5e\xf5\xa7\x4a\x68\x73\x42\x3e\x08\xa5\x7e\xbd\x28\x04\x01\x4b\xcc\xfa\xe7\x33\xc2\xb9\x24\xfe\x7f\x86\x07\xaf\x81\x0a\x58\xcd\x3d\x9b\xa5\xab\x17\x0e\xdf\x74\xc6\x5b\xbb\x35\x13\xb3\x59\xf9\x5b\x35\xec\x2d\xd4\x0a\xa8\x23\x59\x0a\x4e\x7d\xba\x46\x9c\x34\x54\xc9\xdd\x3a\xdf\x94\x78\x82\xe1\xfa\x5c\xfb\x06\x68\x6b\xb5\x70\xf3\xe2\x73\x2b\x34\x40\x5d\x50\x64\xa6\x81\x00\x7b\x8e\x1f\x7d\x4b\x80\xa3\xa3\x5f\x67\x0c\x90\xe1\xcf\xb2\x8f\x94\xbb\xac\xb7\x2f\xc0\x31\x6d\x06\xa3\xe2\xd2\x21\x53\x6c\x7e\xc3\x83\xbb\x43\xf5\x99\x89\xc1\xc6\xb2\xed\x83\x2d\xb1\x56\x3e\x75\xe9\x73\x50\x3a\xe5\x10\x90\x2a\x14\x40\x30\xe5\xd6\x58\x03\x24\x51\x50\x70\x78\xeb\x3a\xec\xca\xdb\xe1\x4a\x7f\xd6\x5d\x55\xff\xd6\x82\x9f\xc6\x4b\x10\xa8\x33\x59\x81\xef\xbc\xdf\x2a\xa3\xa3\x27\x9a\x57\x79\xcd\x49\x75\x94\xef\xec\xc4\xc2\xc5\xef\xa8\x0e\x03\x65\x22\x70\x33\xc8\x9e\x44\x7c\x7b\x04\x78\x29\x63\x26\xfa\x40\xef\x69\xc9\x81\xd2\xe6\xb8\x30\x90\xff\x51\x12\x21\x49\xc5\x9c\x71\x8a\x64\x25\x1c\xbe\xc0\x13\x5b\x49\x9f\xd8\x3a\x48\x39\xce\x40\x39\xee\x64\x25\xc0\xe7\xe4\x28\x8f\x0f\xfe\x9a\xb4\xf4\xe5\xfa\xac\x8d\xc2\x3c\xa0\x45\x75\x73\xeb\x04\xb5\xe4\xb0\x02\xad\x22\x4f\x1d\x9c\x62\x7f\x02\x1a\xd2\xb9\x24\x8d\x2d\x9c\xfb\x13\xb4\x79\xce\xef\x3a\x0f\xa5\x6b\x8e\xe6\xfe\x7e\xc4\x16\x57\xee\x6f\x93\xea\xd0\x1b\x44\xa5\xdf\x73\x3f\x3d\x2d\xce\xc8\xe4\x6a\x52\x7a\x1f\xff\x49\x2a\x70\x43\xdb\x3e\x58\x79\xb9\x91\x02\xfa\x7d\xc5\x44\xb9\xca\x7d\xb6\x4e\xb9\x5f\x24\x10\xe6\xaa\x0b\x79\x8d\x5b\xf8\x1c\xfd\x42\xae\x22\x31\x23\x15\x49\xa3\xa3\x08\xcf\x23\x3e\xc3\x92\x76\xcb\x6f\x91\x9b\xd3\x44\x9f\x8b\x82\x8e\x5d\x14\xc1\xe4\xa2\xb8\xa0\x5e\x2d\x13\x75\x4d\x3b\xce\xec\xa2\x24\xba\x2c\xc4\x4c\x72\xbc\x11\x67\xd1\x25\x51\x1c\x3f\x13\xb3\x68\xc2\xca\x12\x9f\xb2\x4a\x4a\x2e\x8c\x46\xb5\x8d\x23\x5a\xa5\x73\x2c\x26\xb3\xd7\x40\xde\xfa\x55\x9d\xd3\x20\x4c\x27\x29\xf7\xa4\xa9\x6e\x4e\x4b\xd3\x75\x94\x8c\xea\x21\xdb\xf1\x14\x6e\xa8\x61\x2a\x8c\x7a\xc9\x57\x2d\x71\x1f\x03\xd4\x5a\x25\xa5\x4a\x21\xf9\x6b\xf3\x44\xd5\x54\xff\x37\xed\x2b\x8e\x14\xe9\xf2\x1d\xc6\xdd\x64\x35\x5a\xfd\xae\x00\x49\x11\xba\x3d\xb9\xe4\x96\x02\x3e\x6d\x54\xd2\xee\x37\x56\x57\x9a\xe7\x43\x47\xc1\x79\xde\x39\x04\x7c\x37\x09\x65\x6f\x23\x04\x34\x0e\xb4\xa1\xdc\xea\x26\xdd\xeb\xc1\xa6\x09\xf0\x10\x58\xe2\xda\x5c\x1f\x92\x7a\x4c\x98\x7f\x83\x5d\x09\x1f\x07\x72\x33\x8b\x9a\x87\x6a\x52\x93\x22\x44\x4d\xea\x49\x4a\x6c\x17\xc8\xb8\x0a\x36\xbe\xad\xaf\x36\xdd\xaa\xff\xd9\x31\xc5\xf5\x0b\x6c\x26\x56\xff\xf3\x90\x2c\xaf\x8d\xe9\x98\x04\xa4\xad\x12\x8b\x08\x03\x65\x1a\x1f\x2a\xcb\xca\x32\xdb\xdf\xa2\x7d\x86\x99\x7a\xcb\xb6\xff\xb3\x65\xda\x3d\x3b\x2e\x77\xb3\x03\x48\xdb\xda\xd4\x62\xe3\xe4\x90\x8f\xe6\xb8\x3a\x7f\xc8\x95\xba\x25\x4e\xc6\xe5\x83\x03\xfb\xf1\x95\xd5\xe7\xc4\xc9\xd8\xd6\x54\xaa\xa4\x3e\x69\xb4\x43\x2b\x9f\xb2\x7e\x21\x35\xb5\xf9\xe6\x5e\x05\x72\xb4\x41\xde\xe5\x96\xff\x5a\x3b\xb1\x73\xaf\xb9\xab\x95\x03\x3c\x09\x5c\x68\x9e\x5f\xc9\xf1\x1e\x9a\x77\x14\x35\x0d\xdc\xeb\x9b\x70\xdf\xff\x4e\x59\x22\x77\x3f\x5c\x77\x62\x94\x5e\xa6\xbf\x81\xc1\x78\x46\x86\x53\x12\x08\xdd\xee\x33\x93\xb2\xcb\x75\xfc\xa3\x70\xcd\x2a\x34\xa2\x5b\x96\xa5\x66\xfa\x5a\x3a\x29\x9f\x53\xb4\xc5\x26\x20\x80\xc2\xe4\x8e\x2a\x43\x93\x2a\x79\xa6\xb2\xb9\x22\x50\xb7\x78\xec\x77\x24\x59\x7b\xaa\x75\xce\xc8\x48\xa7\x8c\xe4\x3d\x02\x9f\x86\x84\xe2\x2c\x96\x82\xa1\xa3\x8e\xb9\x95\x04\xc8\x07\x10\x9b\x24\x95\xe0\x67\x6c\x88\xc3\x44\xcb\xa1\x2d\x3c\x7d\x45\x26\xc5\xa2\x00\x2b\xf7\x37\xef\x56\x5b\x14\x52\x58\x7d\x78\x71\x16\xa3\x14\x25\x0f\xf6\x0e\x76\x76\x62\x36\xaa\x2b\x65\xd4\xf8\x32\xa5\xf2\x0c\x9c\xea\xdf\xeb\xea\xfb\x10\x67\xa7\x6e\x51\x2f\x3e\xdc\xcf\xf7\xb2\x9f\xce\x46\x6e\x4c\x70\xaf\x82\x0d\xf9\xdd\xd8\x51\x75\x6c\x8d\x58\x3b\x2e\x36\x99\xe1\xca\x7d\x90\x77\x59\xff\x00\x36\x71\x99\xa1\xd4\x55\x33\xfa\x3c\x4b\xcf\x53\x32\xf1\x2d\x08\xba\xd8\x22\x08\x8e\x61\x9e\x9b\xc0\xe4\x02\xe6\xd8\x39\xe0\x7a\x93\x8b\x1f\x97\xe5\x79\x7d\x95\x9a\x61\xb4\x9c\xfb\x06\x64\x4b\x19\x75\xd5\x1f\xb5\xce\xa4\xf9\x59\xa9\x5b\x9c\xaf\x9e\x7f\x51\xfb\xb3\x8a\x7c\xd4\xfe\x6e\x72\x4d\xb7\x4b\x54\x5e\xe9\xf6\x77\x20\x74\x81\xef\x96\xd2\x85\x26\xa5\x49\x5d\xa0\xa8\xa6\x75\x81\x42\x43\xec\x20\x2a\xd3\xc6\x3a\x4e\xa1\x67\xd4\xa5\xe1\xf4\xd4\x95\xb7\x7f\x14\xfc\xd4\xd6\xa4\x37\xb0\x21\xfd\x32\x74\x7d\x8e\xe0\x22\xa5\x05\x2b\x40\x7b\xd1\x06\xdd\x8c\x9c\x22\x69\xdb\xa3\xd5\x87\xd9\x72\x1e\x91\xa4\xd3\x55\x3f\x1c\x97\xcb\xa9\x89\x19\x69\x82\x38\xb8\x19\x37\xfb\x13\x47\x6f\x68\x21\x0e\xd1\xa5\x87\xc3\x26\xa0\x90\x0b\xb8\xe8\x6b\x1f\xa4\x3f\xab\xf7\x66\xbf\xfe\x7a\xe3\x88\x58\x6a\xbd\xfd\xd5\x6f\xf1\x3e\xdd\x97\x0c\x6c\x34\xf5\xd2\x94\x18\xb7\xc9\x74\xbf\xb6\xd1\x7c\x5a\xd0\x73\xf5\xae\x6c\xd0\xab\xba\x51\x1a\x73\xfc\x71\x57\xe5\x86\xb6\xd3\x10\xdb\x27\x4e\xee\xc2\x74\xda\x76\x05\x7f\x0c\x48\x3c\xee\x26\x84\x49\x43\x16\xa4\xda\x14\x19\x58\x35\x84\x42\x19\x95\x2d\x67\xa8\xe4\xe6\x5f\xc1\x22\x98\xa6\xd7\x4d\xc3\xe2\xae\xfc\x2d\x52\x4c\x0f\x18\xf2\x1c\x12\x65\x14\x3c\xde\xdf\xaa\xe9\xca\x23\xf9\x05\xa5\x2c\x49\x99\xe4\x65\xc0\x3a\x8e\xef\xec\xc4\xbc\xe9\xe8\xd7\x32\xc3\x32\x89\x97\xda\xf6\x59\x06\x9c\x90\x13\x58\xeb\xd0\x80\xd6\x18\x81\xdc\xb9\xd1\x53\xaa\x1b\x4b\xd1\x0c\xf2\x13\x08\x29\x28\x39\xac\x83\x72\x19\x6f\x33\x5d\x94\x3a\xa6\xe1\x1d\x8d\x93\x71\x4f\x6b\xf5\x9a\x9a\x06\x34\xf3\x0d\xf5\x93\xdf\x72\x8d\x21\xb1\xe3\xf5\xd7\x99\x79\x28\x94\x61\xc8\x24\xc4\x41\x5e\x3a\x21\x1d\x57\x43\x87\xc9\xb0\xeb\x1d\xe3\xec\xfd\x68\x51\x2e\x27\xe7\xb1\xb1\x28\x67\xbe\x45\xf9\x2a\x49\xbd\x34\xd0\x69\x58\xd5\xe0\x64\xbb\xc1\x9e\x00\xb6\xb3\x53\xb4\x54\x77\x6d\x48\x30\x7b\x49\x5a\xc2\xd4\xb1\x67\x07\x57\x17\x2e\xa9\xd9\x88\xdf\x49\xee\x55\x72\x83\x7a\x78\xb5\xdc\xd5\xb2\xdb\xad\xea\xe3\xc7\x4d\x56\x85\xda\x76\x0b\x9b\x2e\x6b\xdf\x5b\x96\x82\xb8\x8d\x97\x73\x77\x73\xde\x1f\x76\x14\xab\x70\x1a\xab\x96\x09\x9f\xb3\xb5\xe0\x25\xdc\x89\x46\xb8\x1f\x81\xf4\x27\xad\x80\x40\x49\x5c\x0c\xe3\x74\xab\x29\x13\x7b\x36\x74\xd1\xe7\x0c\xe1\x41\xcc\xcb\x32\xc7\x57\x75\x28\xfa\xb5\x01\xd5\x4c\x28\xb5\x9b\xc4\x0c\x83\x1f\x47\xaa\x9d\x1b\xe1\x4b\x6d\xc3\x00\x1a\xa5\x07\xdf\x2a\xce\x62\x3f\x18\x14\x69\x18\x42\xd7\x91\x9f\xbc\x31\x1b\x31\x9f\x88\x1f\x61\x6a\xcb\x95\x62\xe5\x8c\x20\xc7\x7b\x7f\x58\x26\xbb\x79\x6e\xdf\xba\x8c\xd4\xa2\x73\xfb\x7b\x3d\xa5\x83\x61\x06\x91\x25\xbe\x62\x4b\x71\xef\x94\x09\xc1\xe6\x7b\xa7\xb8\xfa\xac\xd0\x32\x91\xb2\xb1\xa4\x8d\x7c\xfc\x06\xa9\xa9\xec\x9d\x31\xa6\xae\x26\x65\x74\x6f\x51\x15\x54\xe0\xd3\x92\xa0\x77\xa9\xc0\x53\xc5\x95\x99\x1a\xeb\xcc\x26\xb4\x3e\xc5\xa6\x3f\x60\x94\xd8\xa8\x23\x5a\xb3\xb2\x7d\x90\xce\x1d\xe3\x87\x9b\xf1\x57\xa0\xa8\xfa\x71\xc9\x47\x7c\x79\xca\x27\x55\x71\x4a\x62\x04\x72\xe0\xd5\x6b\x2e\xe7\xa9\x40\x66\xa1\x52\xe8\x3c\x07\x01\x51\x07\x03\x4e\x56\x69\xe0\x73\x87\xff\x6a\xc1\xb5\x5b\x1a\xc9\x7d\x96\xd1\x16\x48\x49\x35\xf9\xf8\x31\x46\x97\xb8\x10\x10\x7e\xda\x53\x66\x99\x0d\x69\x62\x36\x67\x43\x5a\x71\x09\xf4\xbe\xc1\x77\xa0\x91\x94\x98\x8e\x2d\xc4\x8f\x16\x15\x9b\x56\x84\xf3\x3d\x28\x6e\xa8\x59\x7e\x67\x6c\xfe\x02\x72\x75\xd6\xca\x10\xf9\xed\x88\xa2\xe6\x48\x7a\x72\xad\x19\xac\x9f\xdc\x7e\x22\x39\xd2\x93\x62\x4e\xd8\x52\xb4\xaf\xd5\xa0\x49\xca\x09\x35\xe6\x08\xf3\x5e\xa5\xdf\x90\x6f\xec\xe2\xb7\x61\xf1\x6a\x87\xb7\x3b\x37\x82\x7a\xa7\x7c\xe7\x1b\x62\x8f\xa4\x73\xa3\xbc\x03\x9e\x5b\xfd\xe5\x06\xdb\xb4\x6e\x09\x6b\xb6\x6b\x40\xbc\x29\x8d\x7b\xe6\x45\x9e\x97\x64\xef\x77\x46\x49\x28\xbf\xce\x1f\x82\x84\xcc\x3c\x1c\xac\x83\x2b\x51\x4c\x4a\x82\x6e\xb2\x2c\x5e\xe4\xe4\x73\xe3\x56\x3b\x71\x8a\x2f\x50\x1a\x5a\xa4\x9d\x55\x0b\xd5\xda\xda\x3f\x16\x10\x7c\x5d\x36\x52\x79\x1a\x20\xb3\x98\x6e\xb8\xa7\x3e\xa1\x77\xa9\x53\xa6\x8c\xa3\x6f\x1e\xb7\xec\xd6\x0e\xb8\x37\x81\xbb\x3f\x1c\xde\x4e\x59\x7e\xe5\x02\xdb\x1c\x17\x74\x30\xa4\x09\xb6\x68\x52\xee\x2f\x22\x50\x7a\x68\xa1\x2a\x41\x5e\x1f\x75\x37\x35\x36\xd2\x11\xad\x63\x05\x54\x0a\x9c\x1b\x19\x58\x2e\x0a\x4a\x49\xde\x55\x4a\xa8\x9c\xff\x53\x36\x65\x4b\x31\xde\xde\x87\x3c\x55\x45\x2b\x92\x96\x9b\xa6\xaa\x80\xc7\xbf\x19\x56\xca\xd7\xfe\xca\xdc\x54\x41\x5e\xb8\xae\xfe\x46\xb9\x53\x4b\xb5\xfb\x75\x86\x05\x7f\xae\xcc\xa2\x28\xb9\xe4\x8f\x14\x76\x0b\xb1\x3c\x9b\xc4\x13\x69\x39\x0e\xb9\xaf\x98\xc6\x48\x43\xae\x57\x0a\xe8\x6d\x43\x20\xbc\x14\xb3\x97\x15\xbb\x28\xe0\x08\xb7\xb3\x8c\x8c\x1e\x3a\x9f\x46\x8f\x35\x04\xb7\x95\x06\x6e\x0f\x8f\x18\x3d\x2b\xa6\x28\xd9\xa2\xd9\xff\x1c\xbf\x78\x3e\x5a\xe0\x8a\x13\xff\xc9\xc9\x3d\x23\x94\x6e\xd3\x51\x5e\xf0\xfa\x8b\x0e\xda\xa7\x1f\x8a\x95\x35\x55\x32\x72\x76\xad\x65\x69\x59\x3f\xcc\x38\xb5\x54\x70\x8b\x96\xed\xb7\x99\xea\x85\x79\x98\xf7\x94\x19\x36\x13\x65\x5e\x68\x32\xeb\xa5\xdc\xd5\x36\x24\x29\xce\x76\x21\xff\x24\x16\x26\x94\xfb\x7f\x8d\xf0\x6f\xf8\x43\x7c\xbd\xac\xca\x31\x9a\x09\xb1\xe0\xe3\x7b\xf7\xb8\x52\x80\x8e\xa6\x8c\x4d\x4b\x82\x17\x90\x01\x6b\x6e\x63\x7c\xdf\x93\x47\x7f\x0f\xed\xb2\x5d\x74\x0f\xed\xf2\x5d\x34\x9a\x89\x79\x79\x38\x39\xcd\xd0\x2e\xd6\x8e\xf4\x3f\x3f\x39\x41\x69\x8e\x05\x06\xff\x01\x24\x2b\xa0\x54\xe7\x74\xf4\x35\xf2\x41\x9e\xb4\xf9\x55\x33\xa4\x85\xf5\x9d\x36\xa0\x07\xae\x07\xab\xcf\x91\x8c\x2b\xee\x64\xd1\x17\x05\x55\x79\x46\x0c\x87\x0e\x3a\x4d\x7d\x6b\x6a\x6d\xa7\xfc\x10\x27\x46\xe5\x09\x57\x6f\x5d\x18\x87\xc1\x9c\xba\xa3\xf6\x05\x2c\x53\x67\xa2\x57\xa3\x86\x00\x2f\x38\x42\x87\x20\xa0\xc1\x14\x70\x4e\xf3\x8d\xf0\xa5\xfa\xe8\x78\xe9\xe9\xf7\x20\xe0\x1e\x5b\x8f\x6d\xa1\xea\x36\xde\x17\xb4\xb8\x93\x2c\xff\xfe\x69\x2d\x69\xf0\xbc\x5c\x7d\xa3\x4a\x51\xf5\xb2\x08\xe6\x89\x72\x75\x95\x47\x3a\x0d\xac\xaf\x77\x84\x00\x3b\xc5\x59\xfc\xde\x0a\xfd\x34\x31\x1e\xae\x01\x43\x4a\x42\xce\xb5\xf1\x84\xa1\x3d\x29\x19\xf0\x7a\x64\xeb\x1a\x33\x69\xf5\x3e\xa4\x9e\x90\x5b\xd9\xea\x6f\x3b\x5a\xfd\x56\x45\x52\xe6\x8e\x97\xd2\xd4\x79\x85\xb1\x99\x6c\x0c\x0a\x5b\x6f\xc7\x77\x29\x6b\xee\x51\x72\xd9\x76\xd3\x77\xee\xa2\x73\xcf\x6d\x54\x4a\xc8\x16\x1e\x42\xb4\x9c\x10\xfa\x9c\x5c\xea\xb7\x5c\x2f\xd6\x82\x87\x5d\xa5\xfc\x39\x40\x9f\xc1\xe8\x29\xc3\x55\x7e\x0f\x0c\x08\xf6\xcc\xae\x7d\x46\xee\x6e\x23\xb6\x85\x93\xaa\xc0\xa0\x2e\xb3\xe6\xce\x08\xa5\xf2\xb0\xe4\x7f\xb5\x6a\xa0\xa0\x53\xeb\x72\xd8\x4c\x84\xe8\xa0\x1f\x27\xcc\xbc\xc0\x53\xb2\x77\xb0\x77\xd6\x8e\xfa\x9e\xf6\xd4\x4a\x23\xfb\xad\x0e\xfe\x3e\x3a\x27\x57\xcb\x45\x50\x54\x0c\x8e\x73\x81\xcb\x38\xd9\xd9\x69\x57\x72\xba\x84\x3a\x87\xb5\xc8\x29\x3f\xef\x99\xfc\x4f\x23\x2c\x44\x15\x23\x5e\x4d\x50\x8a\xee\x61\xce\x89\xe0\xf7\x8a\xf9\xd4\x9e\xec\x82\x54\x9c\xd1\xbd\x69\x45\x08\x1d\x2d\x24\xa2\x1b\xdf\xb2\xab\x8a\xe4\xaa\xa3\x55\x68\x7f\xa8\x32\x1b\x5b\x9b\x9f\xd0\xbe\xf7\x0d\xd8\xa0\x3a\x87\x5f\xb8\x52\xb7\x9d\xca\x80\x8d\x0d\xf4\xed\xd4\xe9\x89\xa6\xa0\x89\x85\x85\x3a\xa5\x61\x80\xb8\xf2\xf5\x0e\xeb\x2e\x25\x48\xe1\x9c\xbc\x58\x02\x72\x61\x97\xed\x54\xce\x5e\x4f\x2e\x31\x72\xfb\x77\x15\xa7\xba\xeb\xfb\xba\xeb\x23\x1a\x00\xd7\xfb\xb5\x56\xbb\x1b\xa6\xeb\x4a\x52\x8e\x3f\x2b\xaa\xf9\x10\x38\xf6\xba\x86\x9d\xd4\xc8\xeb\x87\xbf\x7e\xfc\x38\xb8\xf2\x83\xef\xf6\x3f\x7e\x6c\x9d\x40\xbb\xfa\xb0\x49\x43\x55\x70\xe2\x4b\x92\x71\xff\xb9\x76\x5f\x70\xa7\x52\xd8\x1c\xa9\x79\xc4\xb7\xbb\x44\xe1\x99\x6e\x88\x8b\x3e\xd7\x5c\x03\x37\xfe\xfe\xc6\x37\x7e\x7b\xfd\x71\x6f\x00\x41\x9b\x82\x5b\xfb\xbe\x07\x2f\x89\xbf\x6f\xa1\x9a\xe1\x0d\x0f\x9c\xa6\xd7\x6a\x38\xaa\xea\x86\xf0\x43\x39\xb9\x9e\x61\x9a\xf5\xb3\x2c\x5b\xbf\x43\x7d\xfb\xe2\x74\xb8\x31\x3e\xec\xc2\x57\x61\x54\x58\x9c\xc5\xdb\x01\x74\x68\x25\xc8\x75\xd8\xf0\x1b\x07\x1b\x6a\x79\xfb\xeb\xeb\xc8\xe6\xba\x41\xe3\x08\x7d\xbd\xbb\x7e\x33\x76\xbf\x46\x69\x84\x14\xbb\xa1\xda\x00\x3b\x52\xe0\x52\x95\xd4\x17\x2f\xd8\x61\x80\x84\xa9\x76\x16\xb7\x74\x34\x6b\x12\xa7\xdd\xaf\x51\xb4\xfa\xda\x46\x34\xe8\x9b\xf2\x96\xc7\xbd\xd7\x39\xc1\xf4\x5d\x8e\xc5\xc8\xf0\x4c\xed\xc4\x5f\xc4\x86\x66\x33\xbd\x8e\xa9\x7a\x84\x1c\x13\x95\x3f\x66\x65\x7d\x10\x2d\x27\xea\x8a\x8e\x31\x72\x7e\xb1\x6a\x6c\x58\x4d\x14\x8a\x40\x72\x59\xd0\x9c\x5d\x8e\x4a\x9d\xe2\x71\x34\xab\xc8\x59\x86\xa4\xa8\x5d\xcf\x11\x64\x6e\x01\x76\x61\x90\x17\x6d\x5d\xeb\x7b\x68\x25\x05\x64\x97\xb7\x99\x17\x1c\x4c\xd4\xc1\x3c\x96\x5d\xc6\xfd\x57\xd3\x01\xf1\x81\x28\xc0\x69\xd1\x81\x0a\xe0\x49\x71\x1d\x07\x6e\xbb\xab\x08\x27\x9f\x57\x93\x6f\x0f\x5b\x32\xcf\xfa\xef\x47\x6a\x51\xf2\xd3\x7c\xc9\xc5\x33\xb9\x83\x92\x9d\x1e\x92\xb4\xcb\x49\xd7\xa5\xf7\x66\x48\xed\x47\x66\x1b\x55\xd2\xfa\x4d\xd3\x56\x99\xdf\xf5\x8b\xf6\x0c\x73\xdd\x67\x77\x2f\xee\xfc\x9c\x4e\x74\xbb\xc0\xeb\x38\x9c\xce\x80\xc7\x71\x67\x0f\x68\xe0\xb3\x5d\x6c\x38\x6b\x16\x09\x64\x4d\x6a\x2e\xb0\xf1\x7c\x4e\xc9\x65\x28\x61\x92\xdf\x2f\xed\xe9\xb7\xb1\xe6\x46\xf7\xad\x89\x07\x86\xf8\xf7\x12\x97\x31\x49\xa9\x22\x4c\x5e\xbe\x4d\x09\xd2\xeb\xdf\xef\xdb\x4b\x6c\xa6\x3b\xea\x9c\xec\x01\x38\x15\x37\xd7\xd6\x84\xa4\x96\x5d\x80\xa9\xe5\x02\x8a\xaa\xe4\xdc\xfa\xba\xa6\xbd\x0a\x4a\x75\x33\x40\xb0\x56\x3e\x34\xfa\x3f\xf2\x6e\x2f\x4b\xf1\x79\xb3\xc3\xa8\x31\x5f\xce\x2a\xcc\xe1\xb5\x5e\x4d\xe5\xff\x2e\x49\xd5\xbc\x91\x31\x3a\x27\x57\x72\xaf\x82\xf6\x98\x84\x4e\x58\x4e\x5e\xbf\x3a\xb2\x43\x38\x8a\x09\xdb\x30\xb9\xf3\x9c\x13\x66\xcf\x92\x94\x64\x6f\xde\xa5\x34\x43\xcf\x99\x98\x15\x74\x1a\x9d\xb1\x25\xcd\x55\x2e\x02\x6b\x21\x98\x5c\x93\xec\xfd\x68\x49\x8b\x7f\xc7\xa2\xc7\x51\xd0\xd5\x63\x59\xf5\xf3\x41\xe6\xf8\x36\xa1\x8a\x9c\x91\x8a\xd0\x09\x41\xe3\xfa\x6f\x8e\x52\x06\xf5\x88\xad\x67\x35\x43\xae\x51\xe5\x16\xb5\x3d\x41\xc6\x51\xbe\x8b\x22\x3c\xa9\x18\xe7\x11\xda\x25\x6e\x09\x73\x92\xdf\xb8\x47\xd5\x08\xc9\xe3\xd8\x6b\x92\x01\xd4\xc4\x07\xbb\xa6\x69\xf4\x27\x87\x39\x35\x6e\x5f\x38\x79\xe5\xe7\x94\xea\xc3\xf5\xe2\x48\x01\xd9\xd4\x0e\x6c\xdb\xfb\x37\xb5\x2e\x81\x0c\xa3\x36\xe1\x6d\x27\xc6\xbe\x36\x90\xeb\x3a\xcc\x6b\xbb\xce\x34\x67\x13\xe7\x33\x70\x11\x8f\xd9\x44\x92\x03\x21\xf0\x64\x06\x6a\xda\x46\xf9\x4f\x05\xa4\xdd\x14\x78\xda\x2c\x81\xe4\x44\xa9\x7e\x21\x6f\x16\x1a\xfd\x7e\x92\xf2\x92\xb9\x4d\xe5\x4f\x94\xac\xb6\xc8\xc8\x4c\x34\xab\xff\xd4\xae\x58\xe9\xfe\xb6\xfb\xd1\x09\x8f\x93\xb3\xc9\xc7\x8f\x64\x24\xf0\x54\xfe\x47\x8f\x2d\xff\xac\x17\x90\x1c\x8a\x86\xc3\x9f\x72\x25\x02\x5f\xdb\x10\x87\x28\x5c\x58\xd5\xc1\xc9\xc7\x4d\x18\xee\xcd\xd9\xd2\xf2\x4d\x6c\x6f\xbd\x71\x4c\xd3\xb2\xdd\x37\x4e\x84\x28\x07\x3c\x00\xef\x8f\xe3\xae\xb2\x7d\x1f\x14\x86\xa1\x6b\x98\xd3\x3d\x5c\x54\xf0\xc2\x7a\x4f\x5c\x2d\xc8\x1e\xc9\x0b\xc1\x3e\xaf\x3e\x34\xc7\x02\xaf\x49\x87\xe7\x20\x07\x2c\xb0\xeb\x61\x31\x27\x02\x8f\x2a\x7c\xf9\x23\xcb\xaf\xfc\x48\x57\x05\x7f\x5c\x54\xe2\xaa\x1d\xb5\x20\xea\x6a\xbd\xed\xa5\x4d\x92\x03\x81\xff\x55\x33\xfe\xaa\x7b\x88\xa6\x14\xfc\x51\x53\x46\x55\x9a\xa4\x5e\x3f\xcf\x85\xf2\x40\x70\x59\x25\x39\x8d\x3a\x76\x94\x72\x39\x81\xac\x26\x1a\xce\xf4\x04\xd3\xe6\xec\xfc\x8c\xc0\x6a\x6c\xc9\x7b\xa4\xf4\xe6\x00\xa0\x22\x9e\x7e\x66\x95\xf8\xe0\xb9\x9e\x62\x6e\x60\x74\xaf\xa0\x65\xe1\x1b\x66\x6c\x1e\xec\xff\x0f\x0b\xcc\x78\xba\xe4\x10\x15\x64\xce\x96\x9c\x88\x0a\x2f\x74\x28\xa6\x19\xbb\x7c\x5a\x50\x9d\xc7\x7f\xfb\x60\x48\xd4\x42\x09\x50\x36\x09\xf2\x0c\xf3\xc7\x84\x4f\xd6\xd6\x27\x1f\x26\xa4\x5a\x08\xc8\x4d\x3c\x25\x47\x81\xb4\x68\x60\x0e\xd6\x0e\xf9\x21\xbf\x9b\x13\x70\x83\x77\x28\xb0\x1e\x15\xf9\x2a\x49\x17\x15\x91\x74\x58\x45\x94\x7a\xa9\x7e\x20\x18\x08\x72\xdb\x0e\xb9\xec\x03\xe3\x37\xd9\x3e\xdd\xcb\xe1\x6e\x88\xf1\x69\xe9\x79\x16\x19\x6a\xc5\x60\x93\x89\x4f\x89\x79\x8b\xfe\xf1\xea\x28\xb7\x29\x30\x42\xbb\xa2\xcd\xe6\xd5\xdb\x62\xe3\xd2\x9b\x93\x47\x2a\x8a\xec\xb2\x2c\x21\x04\x7a\x4c\x33\x4a\x2e\xa3\x67\xa6\x18\x52\x86\xd1\xd1\x69\x01\x66\xcd\x7c\x12\x74\x20\xb2\x4e\x19\x06\x1d\xa5\xdb\x07\x2b\xdb\xec\x0d\x9a\x88\xaa\xdc\x95\x17\x64\xc2\xe6\x73\x4c\xf3\x5d\xef\x52\x07\xfa\x31\xc8\x44\xf5\xe3\x18\x0a\xda\x59\x4b\xa6\xad\x16\x9a\x9a\xa0\xa0\x22\x63\x2b\xc1\x29\xa0\x52\x97\x95\x93\x91\x32\x7c\xef\x8b\xb6\xfc\x49\x52\x2d\xb4\xf8\xee\xe6\x51\x30\xa1\x53\xda\x83\x75\xc0\x68\x49\xeb\xcd\x97\xf7\x5d\xff\x0e\xef\x6a\x83\x03\x68\x12\x04\xa5\xef\x73\xc4\x09\x89\x08\xc0\x02\xc2\x3a\x2f\x7a\xfb\xa8\x93\x41\x87\x6d\x04\xfa\x8d\x07\x12\x9f\x50\x59\xf2\x10\x1e\x60\x15\x26\x75\xcd\xad\xd2\x54\x55\x3d\x89\xcb\x4d\x92\x44\x33\x4e\x76\x76\x44\x9c\x24\xad\xd7\xe0\xbc\xe0\x13\x5c\xe5\xea\x2d\xb8\x85\x2e\x94\x63\x64\xfd\x40\xbc\x05\x6f\xdd\x1d\xc4\x15\x82\xbc\xab\xee\xc2\x0f\xd0\x36\xd9\xfd\xfa\x31\x7d\xba\xe9\x53\x70\x8d\xae\xfa\xf6\xc0\x41\x6f\xcd\xdc\x3b\xcd\xe2\xd4\xa2\x3f\x29\x70\x1d\xa2\x27\x79\x21\x22\xc8\x6c\x50\x23\x46\xdf\x95\xc3\x7e\xad\x83\x8d\xd7\x04\x21\xc8\x12\x79\x34\xc3\x26\xbe\x53\x36\x33\xf2\xfb\x38\x24\x1b\x76\xb6\x3e\xf0\xa7\x53\x77\x33\x34\xdd\x68\x80\x54\x7f\x79\x76\x87\x70\xe4\x4f\x55\x3c\x59\x00\x1c\xa4\x2f\xad\xfe\x76\x8c\x2f\x08\x4a\x0d\x91\xfe\xf4\x44\x78\x1d\x8d\xb2\xd4\xe0\x66\x74\xa0\xd1\xfc\xd6\xf4\xc0\x55\x96\x4d\xc9\x9e\x5e\xf7\xa0\x97\x1e\xc5\x3f\x98\x85\x0f\x6f\x22\xbc\xac\xf8\x43\x48\x4a\xe7\x98\x83\xbb\xf0\x30\xf9\x27\xc5\x8d\xe8\xd3\xa2\x41\xd4\x87\xf1\xc2\x24\xaa\x49\xa1\x92\xe2\x2c\xee\xa0\x51\x96\xd7\x4a\x3a\xce\xac\x3f\xc6\x05\xac\x37\xf2\x42\x76\xcd\x30\x7f\x62\x8e\x6b\x67\xa7\x6b\x58\x7b\xa2\xad\x81\xeb\xb3\x1e\x30\xf4\x10\x2a\x59\xb3\x93\x9b\x62\xc0\x2f\x5b\x9e\x9a\xb0\xbc\x53\xf0\xff\x42\xd2\x42\x1b\x39\x1e\x5e\x64\xa6\x44\x4a\xc2\x52\x80\x90\x33\x3f\xbe\xa2\x02\x7f\x50\x92\x93\xfc\xfd\x04\xd6\xa0\x7e\xab\xf5\x6c\x20\xd8\xc8\x0e\xd6\x09\x36\x1c\x06\xbc\x61\xa7\xaa\x71\x67\xdf\x37\x75\xdd\x87\x5e\x75\x70\xf3\xec\xcd\xbb\xad\x8e\x57\x1a\x5f\xd5\x61\xc3\x20\xa1\x1f\xee\x2d\x2a\xf2\x40\x79\x0b\xd2\x2c\x26\x19\xb1\x65\x5f\xff\xb0\xa8\x48\x04\x36\xfa\x99\x5a\xc9\xbc\x90\x24\x2d\x9a\xcc\xf7\xf8\x1e\x67\x25\x06\x4f\x57\xf5\x33\xc7\xd5\x39\x8a\x72\x2c\xf0\x5e\x89\xe9\x34\x43\x5f\xcb\x2e\x13\x1b\x57\xe8\x6b\xf4\xe0\xeb\x24\xe5\xd9\xf5\x9c\xe5\xda\x6e\x78\x5e\x7c\x20\x39\x52\xa1\x39\xd1\x2f\x27\xcf\x9e\xa2\xd5\xf7\x7b\x07\xdb\x59\x46\xc1\x9f\x9e\x80\x29\x2e\x44\x57\x89\xf7\x21\x09\x97\xf7\x89\xee\xde\x4f\x9a\xa2\xa0\x52\x93\x10\x13\x1e\xe9\xcd\x3b\x93\xa5\xfd\xbd\x89\x53\xfa\x88\xe5\xe4\x19\xac\x42\xa2\x4b\x72\x44\xcf\x98\x89\x5a\x9a\x36\x1f\x87\xa9\x9e\x2c\x44\xfe\x21\x6a\x9e\x2a\xa6\xfa\x6a\x8b\xb9\x2e\xc4\x54\x47\x07\x22\x2a\x16\x80\xc9\xb3\x66\x21\x54\xca\x4a\x7e\x50\x7a\xf7\xd0\x20\x98\x80\x91\x00\x5d\xd1\xd1\x36\x4f\x12\x37\xe6\xb0\xdb\x2f\xb3\xb1\x4c\xe6\x90\x2e\xcb\xd9\xd7\x64\x8d\xed\xb4\x82\x13\x67\x3f\xce\x2a\x36\x97\x4c\xeb\xc3\x8a\xe0\xb8\x4b\xd8\xad\xe7\x67\x2e\x98\x94\x6b\xaf\xc5\x8c\x28\xa7\x14\xa1\x0c\x08\xd2\xb2\xa0\xe4\xf9\x12\x1c\xf0\xc7\xdb\xfb\xf0\xf3\xd7\x0a\x2f\x16\x60\xaa\xb8\x9f\x4a\xa8\xa0\xe2\xb5\x04\xf9\x6f\x53\x81\x4f\x8f\x8b\xdf\xc9\xf8\xdb\x54\xa1\x08\x48\x10\x88\xa7\x8f\x2b\xb6\x18\x4b\x76\x63\xcb\x99\xa4\xe6\x57\x38\x44\x93\xcb\x9c\xe5\xd4\x2c\x8e\xa8\x8a\xe9\x94\x54\xb1\x61\x72\x92\x55\xc0\x0d\xa1\xde\xdb\x70\x0a\x17\x17\x50\xf0\x52\xb0\xa7\x0c\xe7\x92\x6f\x97\x08\x0f\x8e\x5a\x5b\x7f\xa8\x33\x34\xdb\xaf\x8b\x3c\xaf\x6d\x8b\x97\x54\x30\xfd\x7e\x89\xb6\x9d\xf8\xc1\xb6\x0e\x8a\xa6\x82\xd9\x13\x4b\x52\x91\x01\xe6\x0b\x8f\x2d\x8b\x92\xce\x4c\x53\x53\x22\x5e\xbe\x7a\xd2\xd6\x95\xde\x12\x05\xec\x86\xb6\x1c\xf6\x08\x25\xbb\x12\x23\xec\x86\x97\x0a\xb1\xd1\xd8\x24\x86\x3f\xfe\x29\x81\x22\x4e\x76\x0d\xaa\xf2\x35\xec\xd0\xa5\xb2\xfa\xee\xcf\x48\xe6\xee\x64\xd7\xe1\x92\x54\xe8\xc3\x25\xed\xc3\x35\x45\xf5\xfe\x1a\x86\xaf\xe1\x4c\xe9\x5e\x50\x79\xe4\x43\x34\xd1\x96\x77\xfc\xf8\x71\xfb\xc0\x0b\x42\x1e\xde\x97\x82\x3f\x2a\x09\xa6\xf1\xe7\xd5\x50\x77\x29\xa4\x5f\xbe\x7a\x12\x27\x36\x14\x6d\xad\xc0\xd6\x1f\xc0\x77\xcd\x64\xe9\xa9\x95\xf5\x77\xa2\xbd\xae\x39\x98\x3f\x84\xd3\x92\xc3\x07\x58\x12\x97\xbe\x0d\xcb\xcd\x6c\xf8\xdf\x5e\x8a\xbf\xdd\xa1\x04\xda\xd9\x09\x95\x68\x3b\xb2\xf0\xf1\x6a\xde\xbe\x9b\x1b\xb8\x4b\x36\x20\xa5\x19\xf1\x39\x81\x9a\xd0\x87\xef\x4d\x93\xf8\x37\xef\x97\xa6\xf4\x4d\x7e\x20\x49\x3f\x15\xc1\xb7\x04\x5e\xb4\x49\x48\x27\xc9\x5f\xf5\x93\xe0\x4f\x7b\xe6\x22\x53\xca\xfa\x20\xc3\xb9\x8b\xf6\x26\x8a\x64\x6d\xce\x02\x7c\x5a\x7a\x9f\x56\x04\xe7\x2f\x68\x79\xa5\xae\x20\x1d\x4c\xb6\x69\x1f\xd9\x26\x29\xed\xc6\xec\xb4\x9f\x6c\x13\x79\x8e\xb7\xd4\x44\x07\x52\x3a\x6d\x4c\xd9\xbb\xe6\x07\x65\xc3\x31\xe6\x59\xc9\x2e\x27\x33\x5c\x89\x3f\xec\xc5\x77\xad\x2f\x2e\x0c\x3e\x24\x45\xbf\x23\x1c\x5e\xe2\x42\x58\x47\x18\x3c\xad\xf0\x5c\xbd\x33\xc1\x9f\xff\xef\xd9\x53\xf9\x4b\x98\xe7\x27\x09\x63\x57\x27\x0c\x42\x88\x4b\xc1\x52\x29\x5d\x7f\x5c\x0a\x21\xe9\x25\x00\x87\xf3\x72\x25\x77\xec\x11\x2e\xcb\x53\x3c\x39\xbf\xa1\x74\x69\x37\x7d\x9d\x88\x79\x47\x0f\x63\x7a\x37\x9a\x21\x20\xf4\x76\xf4\xbc\xa0\x3b\x95\xc5\xfa\x87\xb5\x35\xd2\xc5\xb0\xf7\xb5\xcd\xb2\x44\x29\x9f\x4b\x05\xfb\xf1\xdd\x79\x14\x0a\x82\xab\x9c\x5d\x52\xdb\x71\xea\x8c\xd3\x69\x53\xe3\x52\x10\x30\xce\x1a\xec\x7b\x99\x4c\x18\xe5\xac\x24\xa3\x92\x4d\x63\x94\x57\xf8\x72\x54\xb0\xc8\x5e\xd7\x28\xaf\x7b\xb0\x0a\xb2\x7d\x70\x81\x96\xc4\xd5\xc6\x05\x56\x64\xab\x13\x55\xb7\x45\x35\xee\x3a\x41\xab\xce\x12\x13\x16\x4d\xfb\x55\xea\xe0\x68\x05\x2d\x04\x1a\x53\x63\x4b\xf3\xab\xb2\x42\x5e\x30\x2e\x4c\x94\x62\xe8\x49\x91\xdf\xe2\xec\x2a\xbe\x56\x7c\xf9\x18\x95\x0c\xe7\x28\x95\xf8\x57\x4a\x69\xe3\x83\xf4\xc3\xbc\x5c\xd0\xa9\x89\xb9\x67\x80\x50\x22\x2c\xf4\x17\xe4\x47\xf4\xc2\x17\x04\x8d\x85\x07\xad\xff\xef\xd9\x53\x94\xf2\xd1\x87\xb9\xc4\x80\xa3\x82\x5e\xb0\x73\xf2\x04\x70\x55\xec\xb5\x35\x03\xf6\xb4\x77\xab\xc3\x2c\xc7\xce\x07\xf2\x41\x2e\x58\xe9\xbc\x15\x3b\xea\xb2\xcf\x5b\x5e\x4d\x39\x7a\x73\x1c\x39\x08\xec\x67\x6a\x0d\x87\x2c\x96\x51\xef\x32\x2a\x20\x70\xf0\xe4\x29\x8b\x60\xf3\x23\x6d\x78\xb2\xa5\xad\xbe\x71\x9e\x3f\xb9\x80\x38\xb7\x5c\x10\x2a\xc5\x5a\x1b\xab\xc5\x93\x45\x5c\x1c\x05\x24\x2b\xf5\x21\x7a\xdc\x36\x28\x57\x62\x60\x57\xef\x8e\xa5\x92\xdb\xb5\xbc\xf8\xee\x11\x34\xf8\x99\x80\xae\xd6\x39\x85\x44\xeb\xc1\x83\xbb\xa3\x94\xb1\x1b\x29\x1e\x6e\x00\x9b\xfa\xe8\xd2\x33\x56\xcd\xb1\x18\x23\x05\x9a\x48\x82\xe8\x38\x3c\xe7\x94\x2f\x0a\x3a\x46\xaf\x17\x39\x06\x94\xaa\xa1\x76\xb5\x4a\xa7\x8a\x80\x28\xf4\xc5\x4e\x25\x7d\x92\x5b\xe8\x2d\x2c\xc0\xee\x4d\x9b\xab\x4f\x02\x6f\x8c\x4a\x06\x6b\x6a\xf0\x1a\x62\x99\xbd\x49\x5b\x76\xdf\xb5\x09\x41\x37\x7e\x27\x0d\x19\x8e\x5a\x70\x6d\xe1\x7b\x83\xea\x7b\xe9\x4a\x4b\x71\xae\xac\x36\x37\x33\xc4\x72\xc4\xdf\xc0\xea\x3c\xc3\x2c\x7f\x3d\x3d\xe2\x6f\x13\xa3\xa7\x1b\x09\xc5\xa1\x25\xef\x87\xa8\xa3\xfe\xe6\xa3\xa5\x0d\x04\xd8\x06\x3b\xf6\x65\xbf\x17\x4c\xc9\xbc\xa0\xc5\xf0\x17\x03\xc3\xa9\x0d\x7d\x4b\xf8\x8c\x16\x58\x86\xcb\xec\xf5\xc3\x5e\xc7\x69\x7a\xc1\x24\xe4\x87\x1b\x6a\xf1\x97\x9c\x54\xd9\xf5\x4a\xfd\xb8\x64\xd5\x39\x04\x60\xa8\xc3\xa2\x80\xf3\xc6\x34\xbb\x5e\xf5\x86\xe8\x55\x48\xe4\x7a\xb5\x25\xaa\xab\x6b\xe1\x12\xfa\xc6\xf5\x99\xe8\x90\x28\xc9\x6a\x82\x75\x3c\xd4\x95\x13\x3d\x5b\x0a\x20\xd9\xf5\xc3\x97\x47\xff\x20\xa0\xd8\x50\xa6\xaa\xe3\xeb\x55\x5a\x08\x32\x7f\xa4\x62\xe2\xa6\x10\x59\x04\x41\x22\xc1\xa3\x5c\xfe\xe6\xa4\xa2\x3a\xd9\xae\x5d\x02\x94\xd8\x5f\x3a\x17\xaf\x1f\xd6\x52\xcd\x25\x15\x6e\xb4\x18\x63\x0b\xd9\xbe\x7b\xda\x7a\xd7\x3d\x3b\x94\x68\xbb\xd7\x16\xfa\x94\x15\x2b\x22\x21\xd3\x15\xbc\xf4\xda\xdb\x79\x9a\x5a\x83\x1e\xd4\x49\xbb\xa1\xd5\x48\xed\x09\x4a\xc5\x08\x2f\x8a\x73\x72\xd5\x2c\x5f\x56\xa5\x2c\x5c\x56\x65\xab\x44\xef\x0e\x14\xeb\xbf\x13\xdb\x8f\x93\x1d\x01\x5a\xfb\xbf\x75\x75\xe7\x23\xd1\x0f\xf3\x10\xe7\xdb\xf5\x16\xeb\x5c\xc5\xb4\x31\x17\x49\x3f\x03\x3d\x29\x5d\xf0\xaf\x16\x02\x7b\xed\x60\x5c\x1a\xb5\xd5\x87\x30\x7b\x0f\x2d\x45\x16\x3e\x06\x9e\x93\x62\x7a\xfd\x35\x39\x10\x87\x92\x2d\xe1\xec\xd5\x7e\xa6\x14\x4d\x34\x13\x6f\xf6\xdf\x8d\x8e\xf2\xe6\xd1\xb8\x4d\xe1\x9d\x49\x2f\xc3\x6e\x82\xd5\x65\x96\x64\x52\xef\x4d\x4c\x37\x93\x5c\x34\xd7\xa5\x22\xa1\x9d\xb0\x78\xdf\x46\x45\x1f\x9d\xb2\xfc\x4a\x17\xfc\x42\x8a\xe9\x0c\x86\x6b\x59\xc3\xd5\x33\x73\x8e\x36\x7c\xf6\xce\xd4\xdf\xbc\x0b\xb7\x53\x27\x7d\x24\xc8\xfc\xf3\x1c\xb2\x44\x1d\xc3\x2f\x62\x48\x8e\x6a\x7e\x35\x61\x03\xf4\xea\xcc\x00\xcd\xe3\xb5\x38\x4b\x5e\x3d\x2d\x37\x85\x76\xa4\xb5\x95\x37\x9f\x43\xc7\x9e\xc3\xa6\x37\xa0\x68\x48\x8e\x3a\xe7\x38\x93\x50\x8a\x2b\xea\x3a\x97\xd1\xd4\x09\x28\x4c\x47\x47\x79\x96\x65\x60\x4b\xae\xfe\xaa\x73\x09\xeb\xed\xd1\x7e\x08\x29\x1d\xa9\x28\xc2\xbd\xb7\xa3\xb5\xb9\x1e\x6a\x97\x9d\x80\x3d\x61\x23\x00\xba\x0b\x8e\xb4\x86\x16\x80\xbd\x78\x53\x9b\x7d\xcb\x2a\xae\x80\xfa\xae\x97\x3f\x1c\xd4\xec\x59\x8a\x28\x5e\x66\x0f\xbe\x0f\x35\x51\xe9\xe9\xde\xe0\xf7\xe0\x18\xb6\xf0\xf6\x03\x69\x12\x14\x1a\x46\xd1\x92\x4d\xac\x5e\xda\xb4\x2b\xb8\x6d\xda\x47\xa5\x4d\xb6\x5d\xb2\xd6\xbd\x23\xdd\xcd\x2d\x3d\xed\x5a\xa5\x69\x1a\x4a\x89\x6f\xa7\xa7\x1e\x13\x44\x9d\xc3\xe8\x5e\x7d\xd5\xf7\x0e\x1a\x8f\xe7\x2e\x9d\x76\xdf\x18\x9c\x06\xed\xb8\x75\xde\x93\xd8\x8d\xb1\x20\x49\x15\x99\x1d\x86\x04\xf5\x63\x9b\x1f\xaf\x0c\x06\xd2\x25\x4b\x15\x3b\xd8\xfe\xf6\xa9\x7b\x2a\x46\x3f\x62\x4e\x9e\x50\x51\x88\xab\x51\x91\xdb\x6a\x1e\x63\x00\x8f\x72\x35\xb9\x8f\x1b\x48\xb0\x63\x0e\x07\x8d\x39\x28\xed\x74\x78\x1a\xfb\xc1\x81\x75\xf2\x36\x3b\x72\xe0\x05\xb7\xff\x9d\xd5\x27\xc5\xe2\x0b\xf3\xd4\x69\x68\x1f\x1c\xec\x05\x04\x22\x49\x1a\xbb\xd5\xd3\xc2\x42\x88\x6d\x22\xa5\x9a\x8a\xe2\xf2\x98\x2d\x2b\x1d\x8c\x6d\xdd\x53\xea\xd6\xa6\xc2\xdd\x17\x2e\x86\x16\x62\xb6\x3c\x1d\x2e\x86\xf6\x24\xa1\x37\x12\xde\xe7\x90\x43\x6b\xe9\x93\xdc\x85\x1c\x6a\xcc\x93\x5b\x42\x28\xbb\xa4\x36\xb9\xfb\x0d\x05\xd2\x4d\x04\x4e\xd1\x8e\x08\x20\x2f\xce\xf7\xb1\x97\x73\xb0\x85\xba\x27\x65\xa1\xdd\x92\x95\xfb\x43\x5f\x55\xad\x7d\x7c\xad\x68\xb8\x14\x8a\xd6\xe0\x59\x73\xad\xae\x57\x4d\xcc\x4a\x6d\xe4\x8f\xd5\x16\xcf\xae\xcd\x2c\xc6\xd4\x4c\xe8\x71\xea\x0c\x37\x56\x01\x23\x59\x55\xfc\x0e\xc1\x37\x8c\x1e\xf4\xf5\xab\xa7\x6a\x9b\xd5\x2e\xc3\x9f\xef\x8d\xf4\x5b\x16\x1c\xd2\xf0\xa5\xa7\x15\xa6\x93\xd9\x71\x41\x27\xf0\x5d\xfd\x7c\x5a\x50\xc2\xc7\xe8\x60\x7f\xdf\x0a\xcf\x08\x19\x37\x2c\xc3\x5f\x42\x3e\xf5\x19\xbb\x7c\x56\x94\x84\x0b\x26\x5b\xe8\xc0\xf4\x47\x9c\x2f\xeb\x5f\x8f\xd8\x7c\x5e\x08\x2e\x01\x10\xa4\x7e\x65\xf8\xe6\x4a\xfe\x21\xb1\x7f\x8b\x8f\x60\xc6\x19\x53\xff\x4d\xf9\x08\xe6\x9c\x31\xf5\xdf\x94\x8f\x9c\xa9\x67\xcc\xfd\x95\x72\x8d\xda\x33\xa6\xff\x48\xf9\x48\xcd\x3e\x63\xfa\x8f\x54\xe5\x2a\xac\x27\x9f\xb1\xc6\x07\x5d\x43\x2d\x46\x97\xaa\x1f\xba\x44\x2f\x4c\x17\xe9\x5f\x8e\xba\xe2\xfd\xa8\xe0\xaf\xeb\x84\x96\x6e\xad\x64\x67\xc7\xff\x00\xb9\xd3\x85\x8f\x6f\x79\xe3\x8b\x9e\x39\x4a\x9d\x13\x50\x7c\x40\x91\x35\x03\xb0\x28\xe7\xe1\x2d\xc9\xa6\x65\x45\x6d\x3c\x71\x08\x16\x02\x04\x32\xe5\x21\x14\xc8\xaa\x5a\x28\x63\x66\xfb\xd4\xeb\xfc\x56\xcc\x9e\xfc\x00\xb9\x7b\x0a\x05\xa4\xd8\xed\x7e\x67\x22\xbb\x87\xae\xb7\xd6\xc2\x3f\xc7\x17\xe4\x18\x94\x1f\x28\xbd\x16\xec\x9c\xd0\x31\x6e\x5d\x05\xf5\x9a\x66\xa4\xff\x63\x81\xa7\xe4\xbe\xa7\x4d\x20\xc9\xb5\xfb\x58\xa1\x8d\xde\x3c\x75\x01\x30\xac\x06\x24\xea\xac\x43\x26\xda\x6a\x30\xea\x2a\xd4\x06\x4f\x9c\x9d\x9d\xd8\x7b\x0d\x51\x88\x3d\x92\xb5\xa3\xcb\x8a\xd1\x69\x24\xab\x46\x47\x8f\xd3\x48\xbd\x51\x81\xbc\xd5\x38\xb9\x9a\xe1\xd9\x64\xe8\x24\x49\xd7\x63\x91\x19\x99\x9c\x3f\x54\x2c\x5b\x3f\xbf\x76\x17\x5b\xe9\x91\x57\xb7\xb2\x30\xd2\x3a\x64\x03\x7b\x0a\xd8\x25\xe8\x0a\x04\xa6\xfa\xc0\x0f\x34\xd9\x65\x45\x12\x1a\x2f\x0a\x7a\xff\x98\xca\x31\x66\xbd\x10\x49\x13\x1f\x93\xe4\x50\x38\xbe\xf6\xa0\x47\x69\xf3\xf2\xcc\xa4\x94\x74\x7d\xe4\xfd\x32\xe1\xa5\xde\x23\x92\x2b\x75\x85\x02\x56\x27\xa5\xd4\x73\x7c\x51\x4d\x5f\x91\x05\xe3\xb0\xe6\x18\xae\x54\x88\x4c\x48\x22\xf7\x18\x0b\x72\x52\xcc\xc9\xcb\x62\x72\x0e\xa9\xaa\xea\xbc\x0b\xa3\x1c\x0b\x22\x8a\x39\x59\x40\x99\x1c\xec\x29\x9b\xe0\x92\xc4\x88\x50\xcf\xd5\x44\xe1\xb9\x3d\x2e\x11\x1d\x4a\x1a\xed\x62\x3f\x4b\x69\x6b\xc8\x14\x41\xd6\x85\x44\x9f\x95\x3b\xf5\xe1\xc7\x15\x20\xa4\x5b\x43\x04\x0b\x56\x4d\x2b\x39\xdc\x5a\x48\xb5\xb6\x4e\x4e\xd4\x82\x8e\xa4\x6a\xd4\x35\x72\x56\xd5\x35\x53\x34\xa9\x08\x16\x92\xed\x76\x22\x5a\x7b\x30\x05\x64\xa4\xf6\x84\xb1\x49\xd2\xde\xbc\x93\x6c\x6c\x1d\xc2\x44\xd1\xab\xed\xae\xcc\xdd\xc0\x92\xa7\x34\xdb\x3e\x68\xdb\xfb\xa8\x24\xc6\x19\xf7\xd3\x39\x2a\x98\x0a\xdb\xf4\xd2\xcc\x28\xf1\x48\x9e\xb2\x0c\x9e\xb0\xec\x87\x8c\xae\x92\x94\xc9\x5a\x6f\xf6\xdf\xd5\x5f\xb7\xf7\x93\x95\x8f\x6e\xd4\xd2\x9c\x77\x33\x7d\x8c\x07\x8d\xeb\xde\x2c\x35\xd5\x03\xc2\x94\x8f\x19\x56\xb7\x54\x89\x28\xec\xd3\x65\x8d\x71\x17\xa8\xb3\x6b\x29\xfb\xcd\x3d\xd9\xef\x12\xa5\xd7\x53\x30\x8d\xb1\x06\x80\x73\xd7\x46\x9b\x1e\x88\xc6\xf4\x35\xf6\x8c\xef\xe6\xa8\xd0\x6b\x88\x1b\x1f\x09\x16\xc1\xb4\x23\x8b\x65\x03\x07\xda\xd0\x55\x05\xb0\x80\x83\x5d\xda\x03\x6b\x14\x61\x43\xb9\x2b\x4a\x09\xe1\xdb\x4b\x36\x2d\xe8\x3d\x26\xdb\xdc\x33\xcc\x2a\x39\x54\xdc\xec\xfb\x22\xcf\x1a\x0e\xe9\x3e\xef\xbd\x8b\x76\xf8\x84\x2d\x48\x26\xb1\xc7\x4e\x45\xf2\xa2\x22\x13\xf1\x7e\x59\x15\x19\xda\xed\x0d\x84\x14\xe4\xcd\x65\x77\x02\x0b\x12\x6e\x1c\x8a\x64\x97\x6c\x05\xe3\xdb\x09\x29\xa4\xc3\x89\x6d\xac\x1a\x68\x93\x9d\x40\x91\xbe\xc5\x12\x1f\x59\x62\xe3\xc1\x07\xa3\xc7\x72\x21\xbd\xa3\xeb\xbe\x60\xc5\xca\xd6\xfb\xd6\x4a\x88\x2e\xea\x10\x50\x0b\x6b\xfd\x04\xef\xb4\xd3\xae\xf5\x13\xbc\xa1\x9f\x80\xc4\xe7\x9b\x2b\x20\x78\xa7\x02\x62\xbd\xf2\x8b\x82\x50\x26\x1a\x19\x72\x7b\xf4\x5f\xcd\x39\x37\x27\x58\xdb\x32\xd4\xf7\x16\xc2\xfd\x54\x7c\x64\xb6\x36\xa6\x29\x0f\x3f\x91\xac\x6b\xb3\xc9\x13\xbe\xab\x8e\xf8\xb2\x15\x27\xbf\x15\x15\xfe\xcf\xeb\x7d\xf7\xeb\x3d\x48\xa0\x3f\x57\x05\x88\xe4\xea\x97\x44\x08\xb7\x52\xa5\x78\x6f\xfb\xea\xb5\xe5\x66\x0f\xfb\xc3\xac\x29\x35\xb6\xd0\x56\x00\xe4\xa6\x56\x00\x44\x71\x57\xd7\xbf\xfd\x1b\x5e\xf9\x9d\x87\xff\xe0\xeb\x3d\x09\x1b\x09\xdd\xec\xd5\x7e\xa8\x92\xbc\xa6\xdc\xdd\x8c\x88\x6f\xb0\x34\x9a\x12\x4a\x2a\x2c\x88\xb6\xed\xed\x60\x04\x02\x74\x3f\xd0\x9d\x12\xca\xbc\xfe\xfa\x0e\xed\x4e\xb6\x46\x5b\x2a\x2b\x55\xc9\x66\x7b\x54\x83\xb3\x9b\xe9\x63\x83\x9d\xeb\x9c\xe7\x09\xf9\x20\x8c\xa2\xa9\x31\x51\x79\x97\x36\xe0\xe1\xea\x0b\xa8\x6c\x18\xd7\x88\xcf\x8d\x16\xa8\x21\x46\xaf\x69\xa4\xb6\x02\x38\x80\x4d\x8f\xfd\xa6\xec\x79\x30\xbe\x88\xae\xd9\x02\xcc\x3f\xc7\x83\x46\xbd\x95\x77\xfe\xaa\x11\x36\x30\xdc\xd0\x41\xac\x26\x79\x5f\x36\x69\x9e\xe3\xea\x3c\x67\x97\xf4\x0f\xf3\xca\x28\x0b\x7a\xde\x99\xe2\xcc\xf1\xbc\x97\x7f\x1b\x28\x46\x08\x5c\x21\x9e\xb1\x5c\x0e\x73\xf7\x4e\xf9\x66\x53\x06\x46\x1c\xbb\x49\xcf\xba\xe9\xdd\xf9\xe5\x6b\x49\xad\xa5\x82\x68\x5e\x3a\x37\x1c\x65\xc3\x3b\x5f\x3d\x7a\x8f\x11\x72\x28\x47\xed\xdf\x2e\x86\x64\xc5\x52\x61\x2f\x6b\x6f\x86\x5b\xf8\x1d\x0b\xcf\xf4\x1a\xa2\x17\xdd\xd0\x47\x29\x9d\x12\x01\x60\xd4\x87\x2e\xd7\x39\x02\xeb\xdd\x59\xa5\xee\x12\x3f\xb5\x67\xbb\xbe\x3c\x28\x55\xe1\x0b\x0c\xf4\x34\x1c\xdf\x0e\x6e\xe5\xf8\x46\x3e\x88\x0a\xff\x83\x5c\xf1\xf1\xf5\x13\x2a\x48\x35\x46\x94\x5c\xca\x0e\x1f\xd2\xfc\x08\xfa\x79\xc4\xa8\x28\xe8\x92\x3c\xd3\xc3\x03\xda\x5d\xdd\x81\x87\x7c\xa7\xc3\xfa\xdd\xba\xce\xd7\xfb\x16\x74\x9f\x77\x8a\xfd\xd8\x3b\x43\xb9\x2b\x0b\x9f\xae\xd7\x64\x0d\xb4\x9b\xd9\xeb\xd5\xfe\x3c\x4e\x0f\xa2\x71\xb1\xb4\x2d\x4d\xeb\x8a\x8e\x34\xa4\xc7\xd6\x98\x44\x6b\x39\xcc\x12\x0b\xa1\x30\x6e\x71\xa6\x1c\x1d\xb5\xb9\x5f\xec\xb5\x74\xfa\xb5\xce\x68\x2a\x26\x72\x77\x84\xaf\xe6\x81\x95\x10\xbb\x6b\x74\xba\x2c\xca\x5c\x56\x8e\x85\x1f\xb3\xac\xe7\xce\xe9\xa7\x27\x95\xca\x5e\x31\x54\xe9\xf6\x7e\x8f\x43\xfb\x17\xec\xba\x3e\x38\xb8\xaa\xdd\xfb\x3b\xe0\x3d\x7c\x9a\xfe\x65\xf3\x1f\x0b\x2c\x47\xab\x70\x51\xfe\x7f\xdd\xae\xe2\x13\xd8\xf7\x5b\x31\x5f\x3b\x8b\x08\x32\xe7\x9f\xdd\x9a\xff\x04\x9e\x81\x11\x4a\xff\x0d\x11\xf1\x11\x4a\xe7\xf8\xc3\xf8\x60\x3f\x9d\x56\x6c\x69\x02\xd0\x5e\x71\x41\xe6\xf0\x77\x87\x95\xbe\xf9\xe8\x9a\x9f\xe7\x05\x5f\x94\xf8\x4a\x05\xbc\xeb\x79\xc5\xbc\x33\x4b\xcf\x01\xee\x52\x66\x57\x6e\x6b\xb4\x27\x8c\x3e\xa2\x15\x21\x9c\x0f\xb0\xd1\xd3\x06\xc1\xbc\x69\x1d\x67\x8e\x03\xa5\xe8\x2f\xfa\x7f\x28\x31\x21\x32\xba\x67\xc2\x4c\xc8\xa0\xd6\x64\x6a\x63\x3d\x5b\x47\x04\x2d\xef\xf4\x73\x9d\x1e\xca\x54\x4e\x52\x26\x41\x8d\x65\xae\x7d\x02\x19\x01\x64\x24\x87\xef\xe1\x8d\xed\xd7\x19\xa9\x48\xcc\xd5\x47\x9e\x5e\x17\x60\xae\x22\x7f\x00\xa7\x3c\x36\x25\x6f\xf6\xdf\xb5\x1f\xe0\x98\xcd\xf9\x27\x67\x44\x52\x04\x75\x51\xca\x36\xb5\x38\x6c\x98\x2f\x76\x6c\x2a\x6c\xa6\x0b\x96\xb1\x68\xbc\xdd\x4c\x89\x88\xf4\xea\xa3\x09\x2e\xcb\xe8\x0c\x17\x25\xc9\xdb\x2f\xf1\x9f\x6d\x46\x60\xf5\x00\xb6\x1a\x91\xb5\xd9\x55\xa4\xfe\x67\xd8\xd7\x41\x51\x6e\x3c\xa0\x0f\xbc\x13\x6c\x0d\x7d\x3b\xd1\xe7\x23\x6e\xae\xd8\xa3\x9d\x37\xa7\xd6\xee\x7b\x7b\xc7\x1b\x86\xfc\xfe\x39\x84\x5b\x34\x76\x54\xed\xd7\x31\x60\xb1\xcf\xbc\x61\x0a\x75\xfe\x49\x77\xec\xce\xf8\xb0\x5b\xbe\x50\x85\x6c\x5b\x9b\xd9\x6f\xed\x99\x15\xd9\xc1\xbe\xb2\x5a\x91\x88\x25\x06\xe2\x78\x44\x45\xcc\x46\x73\xfc\x01\x0c\x40\x8a\xac\xf9\xd1\x49\x89\xc3\xa4\xc0\xf1\x01\xa5\xc5\x1d\x1c\xd8\xa0\x17\xad\xa6\xa3\xca\x96\xb2\xf1\x22\x9e\x69\xf0\x16\x56\x5e\xf8\x26\xbb\xc5\x83\x62\x67\x27\x36\xdf\x32\x5b\xc8\x4b\xc9\xc0\xec\xa7\x45\xb2\xee\x25\x8f\x25\xed\xf7\xbf\x46\x15\x9c\x04\xfd\x55\x36\x78\x4e\x0b\x60\xc7\x50\x87\x2d\xab\xa6\xe1\xbc\x74\x93\x3f\xfd\xc2\xb9\xe9\x12\x53\xb1\x9c\x77\xf2\xd2\xff\x5b\x62\xac\xa8\x18\xff\x36\xce\x8a\x11\xd4\x81\x97\x5c\x13\x55\x65\x63\x65\xa0\xd9\xd3\xbb\x57\x06\xda\x9e\xd7\x29\x03\x6f\xff\xdc\xa3\x04\xfa\xc0\xce\xa0\x14\xfd\xac\x7a\x2f\xe8\x34\xd2\x35\x46\xa3\x11\x6a\xbc\xff\xab\x7c\x29\xf5\xf4\x9c\x83\x40\xc9\x6a\x6b\xb3\x58\x2a\x1e\x6e\x53\xc9\x70\x14\xab\x19\x7c\xcc\x41\x29\xed\xc6\x6a\x3e\x04\x20\x09\xa2\x10\x0b\xa3\xc7\xa9\xb6\x63\x1b\x6c\x08\xf4\x20\xa6\x69\x8e\xa3\xb4\x8e\xb7\x19\x05\x48\xe0\x67\x89\xbb\xa3\x62\xc2\x77\xa9\x7d\x2d\xbd\x69\xbd\x04\xdd\x59\x2c\x05\x05\x25\x37\x8b\xa7\x10\xe4\x05\x36\x7a\xce\x1a\x1c\x66\xa1\xdf\xff\x2a\xc4\x48\x84\x72\xe4\xb8\x4b\x6e\x07\x27\xec\x56\xf0\x74\x1c\x67\xad\x73\x93\xb5\x2f\x0a\xff\x18\x3a\xce\xfa\xeb\xb7\xf4\xff\x70\x81\x2b\x89\x5d\xde\x52\x18\x3c\x92\x4c\x44\x49\x44\xf4\xc8\x24\x07\x79\x4b\xdf\xd2\xf8\x2f\x49\xb4\xb7\xf7\xf6\xc3\x37\x24\x42\x8f\xca\x62\x72\xae\x6b\x8d\x66\x98\xe6\x25\x79\x45\xfe\xbd\x24\x5c\xc4\x09\x7a\x4b\x4d\x35\x4a\x2e\xa3\x97\x72\x63\x64\xfb\xe2\x2c\x42\xf2\xc7\x48\x32\x29\x93\x65\x55\x88\xab\x47\x33\x32\x39\x47\x91\xbc\xb0\x6f\x69\x14\x45\xd1\xde\x83\x37\xa2\x5a\x92\x77\xb6\xe6\x11\x2d\x54\x97\xb2\x54\xfd\x2b\xfb\x29\xf8\x4f\xac\xba\xc4\x55\x7e\xd8\x68\x4d\x99\x6c\xab\x12\xd2\x46\x13\x46\x45\xc5\x4a\xde\x6a\x3e\xd1\x5a\xea\xa8\x4e\x5d\xeb\x75\x04\x9d\xc1\x1a\xde\x5c\x11\xfe\x2e\xca\xb2\xec\xd5\x93\xe7\x8f\x9f\xbc\x3a\x7a\xfe\x73\x96\x65\xaa\x12\x29\x39\x69\x55\x97\xe3\x43\xed\xc7\x47\xaf\x9e\x3c\x3a\x79\xff\xe8\x97\x27\x8f\xfe\x51\x37\xa1\x79\x71\xe6\x4e\xa6\xee\x63\xfd\x70\xcd\xb6\x6a\x1f\xa2\x97\x8c\x0b\x7f\x17\x9c\x9e\xcc\x36\xca\x4a\x76\x1b\xcd\xe9\xe8\x32\x85\x76\xe3\x04\x45\x98\x47\x8a\x67\xf1\xea\xf5\x2c\xa7\x39\x7b\xb5\xfb\xaa\xdb\x9f\x49\x6b\x44\xb7\x73\x6f\x39\xad\x8e\xce\x70\xc9\x49\xd7\x4e\xea\xa6\x0a\xa2\x1e\xb3\xc8\x98\x04\x36\x61\x41\xed\x80\x29\x8d\x2a\x05\xa0\xa8\xb1\xb8\x1f\x9f\xfc\xf4\xe2\xd5\x93\xf7\x8f\x9f\x1c\x9f\xbc\x7a\xf1\x2f\x35\x80\x9d\x8e\x1e\x21\x08\x6c\x25\x39\x13\x76\x14\x5d\x63\x83\x41\x1a\x1b\x58\x15\xd3\x99\x30\x00\xac\x8e\x24\x92\x38\x25\x12\x64\xbe\x28\xb1\x20\x43\xbb\x54\x9b\x63\xf7\xa8\x71\xd8\xfa\x81\xcd\xb9\xa5\xf1\x5f\x92\xb7\xf4\xff\x10\x9a\x2f\xe7\xe5\xd7\xdd\x08\xde\x60\x96\x63\xb9\x40\xea\x7a\x85\x77\x62\x16\xe4\x61\x16\x3c\x11\xac\x8a\x7e\x64\xa7\xd1\x57\x15\xc9\xdf\xd2\xaf\xa3\x93\x19\x89\x18\x2d\xaf\xa2\xbc\x38\xd3\x29\x1d\xa3\x53\x22\x2e\x09\xa1\x11\xd4\x7e\x4b\xbf\xc6\x34\x8f\x16\xb8\x12\xc5\xa4\x58\x60\x2a\xa2\x82\xcb\x23\x88\xf2\x0a\x5f\x16\x74\xfa\x96\xba\x65\x0f\xa5\xc0\xe1\x7f\x7a\x8b\x8e\xa2\x19\xbe\x20\x11\x8e\x2a\x82\xcb\xf2\xaa\x64\x74\x1a\x51\x3c\x27\x6f\x01\xdc\x9f\x46\x5f\xfd\xfd\xef\x3f\xfd\xf4\xf7\xbf\xbf\xa5\xf7\xbe\x8e\xfe\xc5\x96\xd1\x04\xd3\x08\x97\x9c\x45\x39\x99\x94\xb8\x22\x63\xb5\xad\x6e\xa7\x4f\x65\xcb\x56\xcf\x91\xdb\x75\xdd\xad\x6c\xfc\xf5\x3d\x79\x12\x30\xbd\xbd\x07\x3f\xb2\xd3\x71\xf4\xb0\x16\x46\x0a\x46\x23\x8d\x3b\xdf\xd2\x1f\xd9\xe9\xde\x03\xa8\x18\xa8\xc3\x17\x8c\x4a\x78\x81\x4a\x4f\xc7\xd1\x53\x36\x8d\x44\x85\x29\x57\xc4\xd7\x9e\x22\x5a\x7f\x8a\xaf\x39\x79\x84\xf9\x90\x43\xf4\xc9\xc3\xf8\x19\x2e\x68\xf4\x30\x9f\x17\x74\x2c\x77\x01\xfe\x7a\x4b\xe3\xd7\x9c\xc0\xb9\x48\xe6\x43\x4f\x38\x91\xe5\xb2\x20\x91\x8b\x7f\xcd\x49\x15\xed\x3d\x88\xe2\x63\xd9\x57\x62\x3e\x28\xe0\xb4\xb5\xa0\xbb\x68\xaf\xf9\x99\x32\x41\x22\xb8\x20\x11\x3b\x53\x63\x46\xe3\xe8\x64\x56\x70\x09\x0f\x98\x46\xe4\x03\x9e\x2f\x4a\x32\x6a\x57\xd6\x7d\xc8\x53\x78\x18\x41\x91\x39\x60\xf5\xf1\x54\x82\x60\xc4\xc9\x05\xa9\x70\x19\x95\x05\x25\x1c\x2e\x0f\xd4\xb5\xdd\x21\x18\x0b\xfe\x2c\x80\xac\x50\x30\xbd\x8f\x04\xb3\x4d\x19\x08\x48\x7c\x04\x60\xf5\xfc\xfe\x5b\xaa\x57\x1a\x8d\x46\xf0\xf3\xf9\x7d\xf9\x97\x9e\x8e\x3e\xa8\xb7\x74\xc0\x85\x03\x37\xf9\x8d\x6f\x1b\x04\xc3\x8d\x7e\x62\xec\x20\xba\x56\x2b\x35\xc0\xbd\x34\x28\xa7\xb1\x68\xf9\x69\x34\x52\xff\xc5\x3c\xba\x62\xcb\xe8\x12\x53\xa1\x3f\xd0\x3c\x02\x75\x9b\xfa\x69\x90\x0d\xa4\x7e\xe5\x91\x60\x53\x22\x66\xa4\xd2\xad\xdf\xbf\xf7\x47\x54\xd7\x84\x47\x73\x4c\xaf\x54\x2f\xbc\x63\x98\xbd\x3d\xf5\xdf\x27\x34\x97\x87\x07\x8b\x78\x4b\x57\xf2\x1c\xd4\x82\x00\x6a\xae\xcd\x64\xa3\xe3\x42\x1e\x7b\xf4\x33\x11\x82\x54\x76\xf6\xbb\xd1\x94\x88\xe7\x78\x4e\xe2\xc4\xf9\xf0\x30\xcf\x2b\xc2\xb9\xf9\x26\x5b\xb3\x39\x89\x78\xb3\x2d\xf7\xdb\xbe\x7f\x1f\x2d\xaa\xe2\x02\x0b\x02\x71\xef\xec\xe2\x0a\x2a\x22\x3c\xb5\x54\x2b\x22\x74\x52\x5d\x2d\x24\x50\x98\x45\x1c\x83\xf2\x22\x32\x59\x92\xf5\x3a\x86\xdf\x51\xc3\xc3\x3d\x0f\x30\xaf\xeb\x8e\xff\x2d\x85\xbf\xdf\xd2\x71\x1f\xa7\xf6\xfd\x5b\x3a\x96\x2c\x9a\xa4\x33\xdf\x03\x39\x8d\x43\x0c\x5a\x02\x54\x2f\x8a\x25\x67\xa6\x77\x65\xec\xb1\x67\xdf\x5b\x62\x19\xd7\x8c\x99\x69\x45\x99\x6d\xd3\x60\xcb\x9c\x66\x21\x86\xac\xd5\x01\x00\xad\x60\x8b\x6e\x7e\x28\x2e\x38\xb0\x43\xa6\xe9\x15\xe1\x4e\xdb\xb1\xc7\x0c\x7d\x5f\x93\xe0\xc6\x18\x63\x97\x83\xf9\xbe\x35\xda\xb8\xc1\x37\xf9\x35\x54\x7f\xc0\xbf\x24\x3e\xab\x12\xe7\x0e\xab\xd2\x9e\xe1\xd8\x32\x2a\x7a\x0f\xbe\x6f\x30\x22\xb2\xfd\x59\x63\x73\x9d\xe6\x0d\x0e\x24\xbc\xbc\x71\x88\xb3\xf8\x3e\xcc\x39\xa8\xad\xde\x04\x62\xad\x8e\x67\x63\xba\x22\xa9\xf6\xe4\x5c\x4e\x0a\xc1\xad\x84\xe7\x04\x64\x6e\xfa\x2f\x27\x27\x2f\xa3\xbd\xe8\xcd\x4f\x45\xc5\xa5\x50\xa2\x47\x79\xa7\x4a\xdf\x3c\xa4\x4c\x62\x1f\xaf\x60\x65\x20\x83\xb2\x9c\x44\xe8\x05\x54\x50\x8f\x14\xb6\xdb\x9f\x54\xaf\xc7\x64\xc2\x68\xde\xee\xb6\x39\x9a\xa1\x56\x3f\x9d\xbc\x7c\x4b\x57\x91\x42\x4a\x6c\x99\x9b\xee\xde\x3c\x51\x54\x28\x3a\x78\xa7\xef\xfa\x5b\x2a\x51\xc6\x29\xe6\x24\x42\xcf\xae\x8e\xff\x5d\xda\xa1\xcf\x58\x29\x8f\x01\x19\x1a\x36\xbf\xd2\x9f\x6c\x8d\x37\x3f\xa9\x2a\xdf\xe8\xe9\xe8\x05\x9d\x55\x78\x4e\x24\xbb\xc9\x9c\x9a\xf0\xed\xdb\xba\xa2\x1e\x3c\xb0\x31\x66\x0d\xde\x5c\x9d\x1f\xb6\xdc\x19\xbd\xfe\xbb\x2e\xb5\x23\x6e\xc4\x3a\x0a\x2c\x36\x67\x39\xf8\x04\x97\x24\xfa\xeb\xfe\x7e\x74\x59\xe4\x62\x06\x0b\xfb\xcb\x3b\xc9\x4b\x40\x7f\x07\x6f\x95\x17\xcc\x81\x99\x1c\xfc\xba\x1f\x8d\xa3\xe3\xe5\x64\x42\x48\x2e\x79\x4d\xbf\x86\x6c\x3e\x8e\x1e\x9e\xb2\x4a\xd8\xc2\xfb\x5e\xf3\x6f\x02\xcd\xef\x77\x34\x07\xd7\x1a\xd3\x4c\x1f\x89\xfa\xa6\x40\x19\x4a\x22\x08\x3e\x24\x09\x9e\xe4\x12\x0f\x54\x2d\xf8\x33\x1a\x47\xff\xb3\xe4\x22\xc2\x91\x00\x0e\x10\x4e\xf4\x2f\x76\xab\x5b\xd5\xdd\xef\xd1\x38\x7a\x4e\x2e\xa3\xc7\x58\xe0\x40\x15\x8d\x6e\x65\x69\x34\x8e\x9e\x50\xb6\x9c\xce\x74\xdd\x95\x5e\xd3\x37\xad\x55\xff\x04\x4f\x8c\xcd\x62\xb5\x64\xbb\x23\xd1\xbd\xe8\x58\xd2\xf4\x57\x90\x5e\x3a\x5c\xd9\xee\x8f\xba\x86\x6b\xa1\x64\x03\x35\xbb\xa7\xb8\xfe\xb2\x95\xec\x7f\x6c\xde\xea\x8e\xc4\x54\x1b\xab\xb5\x61\x15\x6b\xc3\x82\xab\xc9\x9c\xc8\xba\xe3\xaf\x7f\x80\x36\x26\x27\xc3\xe5\x15\x2f\x2e\xaf\xa6\x7b\xf0\x11\x45\x5c\x5c\x95\x24\x43\x70\x9f\xc7\xd1\xc1\xfe\xfe\xff\xef\x7b\xf4\xe0\x07\x31\x23\x38\x7f\xf0\x83\xa8\xe4\x9f\x0f\x7e\x38\xad\x1e\xfc\x70\x4f\xfe\x31\xf0\xc7\x3d\xa1\xfe\x52\x9d\x9c\xb2\xfc\x4a\xf7\x95\x37\xc6\xbb\xff\xdd\x68\x7f\x5f\x8f\xa9\x5a\xe7\x7f\x44\x2d\x98\xef\x7f\x26\x78\xdb\x09\xde\xd3\x47\xad\xae\xda\x83\xaf\x87\x25\x69\x77\xec\x20\x3b\x55\xdd\x1d\x49\xfd\x74\xb1\x1b\xb2\x2b\xd4\x9b\x7b\x1d\x06\xc6\xa2\xf7\x73\x14\xd7\x36\xbe\x5b\x36\xfb\x63\x32\x3a\xab\x18\x2e\xb1\xb6\xed\xbc\x16\x8c\x95\xa7\xb8\x52\x0f\x07\x10\xcf\x45\x7f\x39\x82\xcc\xe3\xe3\xed\xfd\x14\xb6\xe5\x15\xe1\xc5\xef\xa4\x7a\x71\x76\xc6\x89\x18\x1f\xec\xaf\x36\xb3\x33\x75\xa2\x9e\x3a\x53\x61\x34\x46\xee\x74\x4c\xa8\x6b\x65\xd3\x90\x7b\x3d\x90\xb6\x79\xc2\x6a\x40\x64\xfc\x70\xf6\x66\x37\xbc\x36\x3b\x3b\xeb\x9f\xc5\xad\x5c\x61\x3e\x97\xed\x67\xca\xb3\xf5\x4b\xf5\x8e\x1e\xd2\xf7\xc8\x3a\x3a\x30\x79\xd3\x58\xc1\x02\xaf\x8a\x35\x93\x75\x02\x66\xcb\xca\x94\xdf\x8d\x61\xe9\x9f\x26\x61\xbf\xa8\x48\x59\xb2\x3b\xb1\x28\xed\xce\xe5\xdf\x65\x6b\x9a\xf2\x4f\xb1\x78\x1e\xb0\x36\xbd\x13\xcf\xd4\xce\x78\x5e\xa7\x0c\x57\xb9\x8e\xe7\x45\xd9\x8f\xea\x97\xac\xb8\x58\xe8\x08\xcd\x6a\x9b\x1f\x81\x01\xc8\xb2\x22\x6d\xe6\x43\x55\x0d\xe5\x0c\xf6\x02\x10\xd5\xb0\xa9\x1b\x40\x24\x4f\x18\xff\x58\x92\x8c\x56\xbf\xda\xf6\x09\x6a\xb4\xb0\x5a\x20\x5e\xa3\xaa\x08\x71\x41\x6c\xca\xc3\x56\xf8\xaf\x24\xd1\xac\xd1\x57\xdf\x4e\xe4\xff\x91\x79\x0f\x1c\x2d\x2a\x72\xc6\x47\xa7\x78\x72\x3e\xad\xd8\x92\xe6\x8f\x58\xc9\x2a\x63\xce\xae\xe6\xa6\x14\x43\x23\x79\x83\x8f\xf1\x19\x89\x51\x5d\x7b\x6f\x22\xab\x8f\x23\xb4\x4b\x92\x9b\x67\xdc\xdc\xd4\x65\xb7\x61\xa1\x7a\xbd\xb2\x16\xa9\x77\xe1\x9f\x2b\x8c\x51\xef\x92\x9b\x60\x64\xb0\xc7\xea\x4f\x13\x89\xac\xd7\x67\x77\x8d\xcd\x69\x77\x28\x35\xc7\x38\x52\x83\x97\x18\xa9\xbf\x9a\x76\x90\x42\x19\x41\x0a\xf5\x47\xc3\x25\xa2\x0e\xfc\x80\xf9\xcc\x40\x46\xcb\xad\xc4\x33\x4c\x4d\x4c\x10\xb7\x3a\x5b\x29\xfa\x0a\xfa\xd6\x01\xb2\x3c\xa8\x96\x58\x3a\x38\x1f\x9e\xac\x20\xdc\x16\xf5\x61\x5e\x07\xe1\xa2\x1e\xe4\xaa\x26\xc9\x21\xf5\x6c\x9f\xc7\x26\xc4\xd0\x94\x88\xe3\x49\x55\x2c\x44\x6c\x43\x74\xe0\x45\x31\x52\x17\x13\xc2\x74\x1c\xdc\x53\x51\x37\x46\xbf\xf1\xc3\x73\x72\x95\xa1\xdd\xc6\xb0\xee\xf5\x39\x51\xed\x72\x62\x03\x7a\xc4\x03\x42\x44\x0d\xc8\x84\x13\xcc\xfd\x08\x28\xe5\x36\x81\x8a\x14\x86\x42\xcd\x74\x5d\xee\x95\xf7\xac\x00\x75\x10\x98\x9e\x88\x53\x1f\x3f\xee\x67\x59\x66\x62\x9e\x1f\xd6\x73\x31\x08\x10\xe6\x33\x8e\x83\x05\x07\x75\x42\x55\xda\xec\x9a\x26\x87\xa4\x0e\x66\x45\x33\x12\x0c\x66\xa5\x11\x1a\x0d\x05\xb3\xd2\x65\xc4\x0b\x3c\x44\x9d\x60\x56\x7d\x17\x8a\xa7\x48\x87\x1e\x19\x1a\xa7\x29\x1c\x58\x49\x47\x55\x52\x81\xcd\x55\xbc\xe9\xce\x00\x4a\x19\x6d\xc7\x48\x4a\x79\xb6\xbd\xdf\xe1\xc0\xc5\x21\x5b\xdf\xa4\x5c\xe6\x24\x57\x29\x77\xd4\xdf\x19\x5f\x35\x63\xaf\xe9\xb5\x90\x4f\x14\x0c\xa9\x15\x61\x07\xf6\x3e\xd2\x9b\xd0\x0a\xb3\x73\x2b\x76\x54\xc2\x3f\x68\xe4\x4f\xd9\x87\x01\x36\xc3\xe6\x24\xfc\xad\x55\x07\xb3\x9d\x65\xa4\x61\xee\x6e\xf6\x10\xa5\xdb\xce\xe6\x06\x63\x58\x23\xe4\x79\x51\x59\x4a\xec\x91\x39\xc9\xcb\x2a\xe4\xb2\x87\x17\x8b\x66\xd8\x67\x52\x55\xe0\x74\xa5\x23\x3e\xa7\x17\xac\xc8\xa3\x1a\x90\x3b\xc3\x0b\xb5\x2e\xb6\x8d\xd6\xd4\x08\x55\x74\x1b\xb4\xd7\x5e\x5a\x00\xf3\xd5\x78\xef\x5a\x32\x8f\x63\x6b\x69\x80\xd2\x82\x0a\x52\xc9\x73\xbe\x00\x19\x4c\x45\xdd\x7c\xac\x79\x42\x94\x42\x38\xa3\xf1\x75\x45\x70\x2e\x8b\x2f\xab\x42\x90\xf1\xf6\xc1\x2a\x25\x1f\x16\x45\x85\x95\x15\x22\x25\x17\x92\xc9\x5c\x90\x8a\x17\x5c\xc8\x7a\x7c\x39\x99\x90\xc6\x5b\xe0\xba\x10\x09\x3e\x35\xd1\x33\x87\x5f\x71\xd2\x0e\x85\x65\x2a\xcc\x09\xb8\x8b\x1a\x4a\x8f\x42\x17\xc5\x89\xcf\xd5\x88\x84\x10\x40\xfc\xeb\x03\x19\x6a\xfc\x7c\x8b\x60\x5a\xa6\x07\x13\x4c\xab\x26\x19\x9f\x2a\x98\x96\xa5\x29\xed\x60\x5a\xc4\x77\x34\xba\x55\xb0\xb5\x95\xb6\x80\x87\x05\xdd\x22\xd6\x94\xa6\x0a\x03\x63\x4d\xf9\xdb\xf7\x9f\xa8\x51\x7d\x51\xa3\x34\xe8\x0e\xb1\xb0\xff\xf3\xc4\x8c\x72\x05\xe3\x2f\x5b\x84\xd7\xea\xe5\x2f\xd5\x92\x7d\x68\xd8\x8a\x8d\xf5\xf2\x46\xad\xfe\x79\x12\x76\x0e\xd0\x99\xfe\x41\x19\x37\x75\x3c\xa9\x09\x9e\xcc\xc8\x7b\xbe\x3c\x3b\x2b\x3e\x8c\xd1\xe1\x45\xf6\xed\xdf\x0e\xbe\x41\x3a\x9d\x09\xab\xc6\xa0\x5a\x6b\xea\xd5\xd2\x8a\x94\x58\x12\xea\xf7\xcb\xaa\x04\x9d\xc5\x69\xc5\x2e\x39\xa9\xde\xf3\x05\x29\x4b\x88\xaf\x2b\x89\xef\x94\x4c\xce\x99\xf7\xed\x20\xe5\x02\x8b\x25\x3f\xc5\x95\xf2\xbb\x35\x2a\xd7\x05\xe6\x82\xbc\xcf\xb1\xc0\xef\x8b\x39\x9e\x12\xc8\x37\xac\xfe\x7a\xbf\x5c\x94\x0c\xe7\xef\x95\x21\x86\xeb\x89\xaa\x3c\x8f\x25\xa0\x63\x81\xc7\x72\xa2\xa7\x25\x3b\x8d\x93\x91\x04\xea\x5d\xf4\xfd\x29\xe6\xe4\xaf\xdf\xa6\x50\x00\x7f\xc6\x90\xe7\x50\xf6\xfa\x1e\xe7\x17\x02\x9f\xda\x51\xde\x4f\xb4\x27\xc3\xf6\x7e\x3a\x27\x79\x81\xdf\x97\x72\x7d\x92\xa6\xe7\x30\x17\x93\x1b\x99\xe5\xa4\x92\x32\xe6\x79\x41\xc7\xa8\x2c\xa6\x33\x31\xad\xf0\xd5\xde\xb4\xc2\x79\x01\x51\xf0\x08\xa4\x66\x78\x0f\x71\x12\x0b\x3a\x1d\x4b\xb4\x85\x52\x05\xf6\x24\x7f\x0f\x1e\x80\xef\x89\x3a\x69\x3e\x46\xa7\x69\x91\x9e\xde\x93\xc2\x1d\x9d\xa6\xc5\x3d\x32\x47\xe9\x19\xa3\x82\x17\xbf\x93\xf7\x2a\x9b\x21\x1f\xa3\xff\x5e\x7c\x88\x0e\xf6\xe5\x3f\xf7\xe5\x3f\xdf\xca\x7f\xfe\x2a\xff\x91\x05\xf7\x65\xc1\x7d\x59\x70\x5f\x16\xdc\x97\x05\xf7\x65\xc1\x37\xb2\xe0\x1b\x59\xf0\x8d\x2c\xf8\x46\x16\x7c\x23\x0b\xbe\x95\x05\xdf\xca\x82\x6f\x65\xc1\xb7\xb2\xe0\x5b\x59\xf0\x9d\x2c\xf8\x4e\x16\x7c\x27\x0b\xbe\x93\x05\xdf\xc9\x82\xbf\xca\x82\xbf\xc9\x7f\xfe\x5b\xfe\xf3\x77\x98\xcb\xfe\xfe\xe2\x83\x49\xb9\xc8\xc7\xd7\xa7\xac\xcc\xc7\xd7\xfa\x48\xd1\x29\x5a\xa5\x85\xc0\x65\x31\xa9\xbf\x15\x68\xb5\x82\xe8\x31\x1c\xde\xce\xdf\x97\x98\x4e\x97\x70\xd8\x6f\xae\x05\xb8\x9c\x3c\x42\x26\x88\xc6\x04\xad\x52\xf3\xf1\xab\xfa\x2b\x9f\xe1\x6a\xe1\x14\xed\xee\xd6\x65\x0b\xb7\xe0\xf8\xd8\x69\xc4\xeb\x82\xc7\x4c\x45\xf5\xd5\x65\xb9\xfa\x69\x8b\x9f\x94\xc5\x87\xa2\x2e\x26\xea\x67\x5d\x5c\xc9\x39\xd7\xc5\xea\xa7\x2d\xfe\x49\x4d\xcf\x14\x9f\x35\x66\xfb\x73\x21\x6c\xd9\xb4\x10\x4e\x01\xab\xbf\xb3\xfa\xf3\x2f\x98\x9f\x93\xb2\xb4\x65\x33\xfd\xbb\xae\x70\xf2\xec\xa9\x2d\x9d\xe3\xea\x7c\xb9\x70\x0b\x4f\x5e\xd6\x4d\x85\x70\x8a\xfe\x07\x5f\x60\x5b\xf4\x9b\xfc\xe1\x15\x29\xde\xdf\xab\xc0\xd5\xa7\xba\xda\xf1\x8b\xe7\x75\x05\xce\x68\x5d\xf4\x94\x70\x6e\x8b\x4a\xe2\x6e\xfe\x33\x7c\x4e\xce\x0a\x49\x2c\xec\x9c\xf5\x07\xa7\x8a\x89\xc1\xe2\x2c\x0b\x3e\xd8\x2a\x74\x5a\xd0\x0f\xb6\x5c\xfd\xb2\x85\x8a\x54\x15\x17\x24\xaa\x61\x89\x99\x6f\x0e\x50\xbd\x24\x55\xbd\xb1\x0b\xf9\xa3\x2e\xfa\xa5\xde\xb7\xc5\xcc\xd9\xb6\x97\xec\x92\x54\x7c\xe6\x1e\xc9\xa2\xfe\x54\x57\xbb\x12\x33\x56\x2f\x60\xa1\x7e\xda\xe2\x57\xcb\xd3\x2b\x5b\x58\xc9\x1f\x4e\x11\x17\x4e\x11\x77\x36\xfc\x18\x73\xfe\xff\x67\xef\xdd\xb7\xdb\xb6\xb1\x85\xf1\xff\xfd\x14\x34\xe7\x2c\x1f\xf1\x0b\x25\xdb\x69\xa7\x9d\xaa\x47\x27\xcb\xb9\xb4\xcd\x34\x69\x72\xe2\xa4\x33\x73\x5c\xaf\xfe\x20\x12\x92\x50\x53\x00\x4b\x80\x96\x55\x47\xef\xf2\x3d\xcb\xf7\x64\xbf\x85\x2b\x41\x12\xa4\x28\x59\x8e\xed\x4e\xda\xb5\x62\x91\xc4\x75\x63\x63\x63\x63\x5f\xbd\x53\x1b\xad\x69\x09\xaf\x4f\xff\xa7\xc0\x04\xfa\xbb\x35\x9a\xd3\x05\x9a\x14\x8d\x52\xf1\x64\x3e\xbe\x5f\xa6\xb0\xb2\xda\x9c\x76\x56\x57\xfb\x9f\x2d\x68\xf6\xaf\x13\xeb\xe3\x12\xcc\x13\x7f\x75\x1e\xa6\x49\x3e\x45\x98\x0e\xcf\x7c\x10\x5f\x72\x46\xd9\x03\x39\x23\xfc\x50\x97\xb7\x7c\x4f\xfc\x14\x94\xd7\x8b\x66\x20\x9b\x83\xd4\x4b\x33\x84\x99\x37\xcb\x3c\x80\xa3\x19\x91\xf6\x56\x22\x3b\xaf\x1f\xfa\x32\x36\xbf\x12\x0a\x7a\x0b\x92\xc5\x11\xc9\x31\xf3\x2e\x11\xcd\x41\x32\x4e\x48\x74\x41\xd5\x03\x6f\x8e\x7a\x9c\xca\x78\x05\xa9\xf1\x26\x79\x92\xd0\x28\x83\xc2\x69\x1b\x89\xd3\x56\x87\x01\xf7\x04\xbd\xf7\x30\xc1\xa2\x37\x84\xa7\x1e\x05\x97\xd0\x93\xda\x78\x79\x3d\x45\x04\x83\x04\xf1\x5b\x82\xaf\x2d\xc0\x3c\x71\x64\x79\x1c\x08\x42\x00\xed\x89\x7f\x65\x4c\x71\xf1\x36\x05\x8c\xb3\xc6\x72\x96\x8c\x90\x84\x7a\xf2\x24\x13\x2f\xfc\xf3\x70\x0e\x71\x3e\xbc\x5e\x89\xbf\xea\x40\x54\xaa\xc8\xe3\xa1\xaf\xc8\xaa\x38\x87\x3d\x7d\x22\xa8\xc7\x8f\x1e\xa7\xb5\x9e\x24\xaf\x5e\xce\xcf\x76\x4e\x60\x3d\xce\x12\x5f\x40\x36\xcb\x84\xd9\x8a\xe0\x14\xe4\x4a\x7a\x34\x1f\xab\x5f\x1f\xbd\x09\xc9\xa0\x1c\xf1\x18\x44\x17\xf2\x97\x58\x8e\x1c\x8b\xa8\x32\x7a\x10\x8f\x87\x3e\xc9\x59\x0c\x31\xf3\x64\xbc\x23\x6f\x9c\x27\x62\x2d\x71\x3e\x17\x7f\x3f\x7a\x20\x41\x53\x9c\xc0\x09\x93\xbf\x22\xc8\x2f\xf1\xf2\xb7\x34\x27\x16\x3f\x7f\xcb\x29\x43\x93\xa5\xf7\x51\xc1\xd4\x02\x83\xc2\x01\xb9\x04\xc5\x7a\xf9\x21\x5f\x82\x5f\x09\xe6\x7f\x74\x2c\xe2\x61\xc7\xb0\x47\xab\x3d\xdf\x88\xbe\xfc\xd1\x88\x23\x34\x99\x78\x0c\xe1\xe5\x3c\x82\x4f\x1c\x32\x8e\x43\xf5\x4d\xff\x1d\xcc\x11\x1e\xfc\x46\x0d\x37\x64\xf5\xab\x84\xdb\xba\x60\x4c\xe6\x03\x91\x6a\x99\xff\x7a\x45\x40\x2c\x62\x8b\x87\xfa\x33\xe7\x3a\x3e\xbc\x7b\x35\xf2\x0f\x0f\xfd\x47\x35\xb9\x38\xa1\xec\x91\xe9\xdb\x37\x95\x24\x33\x36\xf2\xf9\x28\x8a\xb7\x08\x23\x26\xee\xc9\xc3\xda\x9b\x1d\xe4\x4a\x57\x4d\x4a\x45\xe9\x6b\x80\xc1\x14\x66\x03\x78\x05\xa3\x67\x32\xee\x54\xcf\x9f\x47\xf0\x9d\xcc\x2c\xad\xee\x0a\x82\x27\x72\xe8\x5c\x4b\x21\x9e\xda\xa3\x19\x39\x7b\xe5\xed\x39\x1b\x0e\x8b\x40\xef\x1c\x7c\x53\x28\x02\x67\x41\xcc\x7a\x15\xc5\x00\x2e\x05\xa5\x60\xa1\xbe\xfb\x62\x13\xd4\x7e\xd6\x21\x8c\x12\x07\xb0\x34\xd0\x94\x9d\xd0\xc6\x28\x49\x8a\x47\xdf\x6c\x36\x7b\x65\x45\x9d\xa5\x27\x93\xed\x14\xba\x11\x5b\x85\x76\x70\xc0\x06\x6a\x04\x9f\x36\xd2\x52\x48\x37\x9e\xe0\xda\xd8\x4c\xb4\xb4\x86\xbb\x51\xa1\x97\xae\xb5\xf7\xf4\x06\x2e\x72\xb2\xc9\x3f\xfd\x44\x46\x2b\x6d\xd1\x9d\x37\x2b\xc8\x5b\xb4\xea\x42\x8d\xf5\x69\x14\xe7\x2e\x75\x79\xa1\x4c\xbf\x9e\x01\xfa\x36\x1f\x27\x28\x92\x16\xb1\xe2\xb6\xc8\xdf\x65\x84\x09\x7f\x90\xea\x6b\xe1\x36\x60\xbd\xdc\x52\x9d\x9b\xda\x7d\x9a\xb8\xcc\x69\xa5\x57\xeb\x83\xdd\xef\xe8\xec\xfc\x66\xae\xc3\xae\xbc\x86\x94\x01\xcc\xaa\xb9\x5a\x74\xfe\xcf\x10\xf3\xa1\x88\xf1\x90\xd1\xd9\xf9\xde\xaf\x03\x08\x84\x8c\xd7\x96\x86\xaa\x88\x12\xd2\xe8\x99\x73\x6e\x7e\x30\x1a\x8d\xd8\xe0\x3b\xf3\x62\x20\x41\x7d\x70\x50\xca\xf1\x01\x4d\xa6\xe0\xd6\xaa\x12\x04\x07\x07\x64\x9b\xba\x0a\xae\x07\x07\xb4\x5c\xbb\xa4\xa2\x2e\x2d\x8a\x5f\xf6\xc9\xad\x2e\x8d\xcc\xe5\x64\x7d\xb6\x17\xc8\x0f\x89\xfd\xb1\x8a\x63\xb6\xb4\xa5\xd4\xa7\xd2\x10\xfa\xc1\x7f\x1f\x55\xeb\x57\xda\xb7\x1a\x28\x7d\x69\x6b\xa1\x3a\x01\xbb\x8d\xf2\x37\xbb\x15\xeb\xbc\x5c\x4f\xe6\x14\x6b\x76\x38\x21\x59\x5f\x87\xbc\x6c\x27\x1f\x32\x90\xc9\x06\x54\x65\x4e\x62\x90\xb4\x51\x9b\x3a\x59\x09\xc9\xed\x5a\xe4\xb8\x22\xc1\x11\xcb\x36\x87\x91\xac\xc1\x24\x27\x08\xc5\x0e\x6b\x0e\x88\xa1\x3c\x08\x82\x50\x25\x47\x69\x6a\x66\x8d\xb8\x32\x45\x18\x1b\xfb\x9c\xda\x57\x25\x1d\x6b\x1e\x85\x2a\xe0\x07\x26\x79\x74\x73\x59\xb3\xec\x5b\x9b\xba\xa4\x48\x5a\x9f\x8f\xae\x11\x7d\x2b\x07\xbe\x7f\xcc\xa7\x20\x73\xd6\x61\xb8\xd0\x19\xdd\x15\x86\x83\x4b\xf8\x5e\xdd\x7a\x46\xd7\x3a\x1d\x5e\xac\x6e\x89\x42\xf1\xe6\xef\x3c\xd2\xbd\x65\x7c\x67\x26\x6c\x71\x08\x12\xe0\x7e\xc0\xb9\x21\xf5\x5d\x4e\xa5\x67\x67\x7a\xab\x27\x09\xd4\xb1\x37\x15\x08\x06\x62\xd6\x76\xda\x1f\xf3\x45\xc3\xc6\x0f\xa5\xd9\x48\xbd\x84\x02\x94\x49\x2e\xa7\x12\x05\x87\xcc\x95\xe4\xbb\xa0\x15\x36\x38\x07\xd5\x2c\xbb\x26\x8e\xad\x69\xcc\x5d\xcf\x82\xbe\xb3\x3a\xbc\x8a\x60\x96\xb2\xb5\xf2\xe5\x8e\x28\x23\x88\xc2\x4b\x9c\xe6\xec\x3b\xa1\x7b\xf6\xff\xa2\x7b\xea\xeb\xfb\x70\x5f\x13\x8e\xbf\x60\xb8\x28\xde\xca\x79\xec\xe0\x8a\xe2\x36\x73\xb1\xee\x1a\x1a\x0f\x9e\xc3\x04\x3a\x7c\x66\xc4\xf0\x9e\x25\x84\x42\x7b\xf4\xb1\x28\xac\xc6\x5e\x66\x41\xcb\xed\x15\xa1\x31\x10\x66\xfa\xd3\xb0\x7e\x33\x14\x52\x0c\x59\xf4\x03\x4e\x11\x6e\xdb\x06\x65\x4c\xce\x79\xf1\x97\x0c\xce\x7b\xa5\x8f\x36\x9e\x3a\x12\xd4\x15\x76\x03\x66\x4e\x29\xc2\xfd\xb1\x30\x6f\xf6\x83\x81\x22\xf4\x3d\x3f\x46\x34\x25\x14\xfa\x6d\x98\x6e\xa9\x58\xab\x3b\xc4\x17\x15\x45\x98\xaa\xa7\xb9\xe2\xaf\xe8\x4c\x94\x93\xea\x55\xdf\x8d\xf8\x02\x66\x4d\x60\x08\xe1\xe8\x9a\xc3\xc8\x31\x61\xbd\xb9\x0a\x92\xf8\x32\x1e\x3a\x10\x5d\xe4\xd4\x94\x54\xbc\x54\x40\xd0\x7d\xf1\x75\x55\x0f\x8c\x6b\x60\xae\x21\x5e\x8b\xcc\x06\x77\x0d\xd9\xa3\x46\xc8\xda\x04\x6b\x2b\x10\x8b\x7b\x29\xc1\xa7\x16\x7d\x68\xb3\x59\xac\xd3\x9f\x0a\x4f\xda\x44\x67\xb4\x7d\xa7\x0e\x41\x6a\xa5\x2a\x77\x6c\xf9\x4e\xe9\xca\xd1\xa4\xb7\x6f\x19\x3f\xda\x40\x77\x35\x29\xf7\xbf\xa3\xd5\xb0\xa1\x1e\x1f\x7e\x6b\xbd\x56\xb2\xec\x37\x17\x28\xd1\x5f\xdf\x77\x04\x5f\x2e\x2f\x88\x1f\x70\x66\xc9\xa6\xa6\x35\x52\x54\x21\xa4\x62\x59\xdb\xa7\xd5\x0e\x61\x91\x8a\xfb\x85\x60\x0c\x5b\x23\x5a\xcd\xc8\xe2\x1f\x00\xb1\x9e\xc9\x31\x23\xb6\x8e\x7b\xb7\xe9\x8d\xc6\xb7\x25\x60\x60\x78\x76\x1e\xca\xdc\x37\xef\x85\x35\x8f\x39\xaa\x57\x7b\x50\x04\x8a\x12\x97\x81\x5e\xc3\xb6\x0d\x1c\x07\x97\x0c\x57\x25\xd9\x59\xe7\xae\x54\xca\xc8\x82\xa5\xf2\x83\x41\x4c\x16\x38\x21\x20\xfe\x0e\x25\xb0\x07\xb5\x39\x8c\xe9\x8b\x26\xf9\xd4\x0f\x1e\xf9\xc2\x7a\x58\xee\xd2\x19\x59\x3c\x27\x58\x5a\x5f\x6e\xc6\x75\x0b\xe0\x6c\x7b\x63\x6f\xe2\xad\x1b\x98\xf4\x4f\xce\x72\xbb\x18\x6d\xea\x64\xb9\x05\x57\xdd\x6a\x0c\x6f\x38\xeb\x84\x44\x20\x39\x65\x24\x03\xd3\x46\x2e\x5d\x63\x76\x7b\x93\x26\xac\xcb\xed\xb1\xd4\xb7\x79\x0d\x10\x40\x53\xac\x75\x18\x91\x74\x69\xa8\xb5\x48\xb2\x91\x2e\xdf\xc2\x6c\x8e\x64\xff\xea\x8d\x61\x34\xf6\x8f\xd5\x4d\x06\x32\x86\xf0\x94\xd6\xed\x1d\x4c\x5d\xea\xf2\x07\xb0\xce\xbe\xa2\xe0\x40\x34\xf9\x46\x26\x8a\xb5\xe3\x8a\xd5\xca\x48\x69\x9f\x2f\x37\x0a\x67\x87\x4e\xed\xb9\xcc\x00\xd5\x53\xa9\x0f\x4c\x2f\xda\x9a\x61\x99\x62\xd6\xdd\x78\x15\xf0\xa6\x9f\x01\x06\xa7\x24\x43\x8e\xb6\x23\xf3\xa9\xbd\xf1\xa2\x5c\xad\x75\x0d\xe1\x7a\xe3\x1a\x2b\xd6\xb4\x6d\x8a\x95\x9b\x16\x47\xda\x73\x12\x69\x18\xd9\xcf\x32\xa2\xf6\xfe\xb1\x41\x7b\xab\x5c\xe5\x95\x29\xaa\x53\x97\x1a\x9c\x11\x69\x26\x48\xfa\x07\xc1\xf0\x46\x89\xcc\xd0\x3c\x15\x5e\xc7\x06\x10\x46\x28\x26\xbf\x9c\x0a\x83\x8d\x22\xb5\x59\x42\x30\x8c\xc5\xf2\x8f\xae\x45\x46\xb5\xd5\xa6\xb7\xca\xdb\xbb\x2a\x4a\xe2\x1c\x84\x78\xf4\xeb\x20\x83\x42\x04\xe5\x90\xb5\xa9\x10\xd7\x9a\xe9\x5a\x05\x56\x68\x47\xce\x27\x28\x29\xcd\x1b\x1d\x71\x1b\xdb\x07\x95\x75\xf1\x14\x40\xb8\xd7\xb7\xce\x3d\xd7\x16\x10\x1c\x42\xdd\xa6\x9c\x69\x7b\x3e\xb1\xe8\x0a\xdb\x4c\x6a\xac\x5b\xb9\x43\x4a\x11\x78\xe9\x0a\x16\xfa\x7f\x51\xcf\xf2\xa3\xe2\x4f\x5b\x1b\x40\xf8\x12\xd9\x0d\x94\xde\xc2\x39\x40\xc9\xad\x5d\x40\x43\xdb\x7f\xc5\xa2\x09\x6a\x63\xca\x7c\xd5\xae\xf7\x9c\x81\x94\x41\xc5\xec\x78\x92\xfa\xb3\x0c\x7f\x19\xac\x42\x0a\x59\x9e\xbe\x9c\x57\x79\xb8\x5b\xed\xb5\xc9\x68\xbc\xb8\x51\x95\xf4\x43\xea\x48\x1c\x40\x1c\xa7\x04\xf1\x43\xf4\x91\x7f\x28\x49\xc7\xa1\xe4\x01\x0e\xfd\x47\x30\xa4\x23\x0c\x17\xde\x73\xd5\x57\xcf\xff\x8b\x2c\x62\xa4\x98\xfa\x5e\x15\x5e\xcf\x20\x10\xc2\xff\xeb\x13\x65\x2c\xae\x8c\xbb\x9f\x42\x90\xc1\xcc\x33\xf6\x68\xd5\xb4\xc6\xca\x89\xb5\x92\xde\x58\x39\xf8\xac\xc2\x3c\x4b\x86\x38\x9c\x43\x36\x23\xf1\xd0\x4f\x09\x65\x7e\x98\x82\x0c\xcc\x25\x59\x92\x09\x60\xa4\x3c\x15\x44\x11\x4c\x19\x14\xfc\x24\x1d\xfa\x83\x98\x44\x21\xff\xe7\x2a\x1c\xcc\xe3\xd0\x24\x7b\x09\x39\x43\x19\x4a\xae\x32\x8c\x12\x14\x5d\x08\x3f\xfe\xfd\xa3\x70\x0e\xae\x44\x5d\xf4\x07\x1c\x1e\x1f\x89\x6e\x92\x04\x26\x1f\x84\xde\x9b\x0e\xbf\x08\xa5\x06\xfc\x75\xce\xd1\x88\x57\x39\x0e\x41\x1c\x4b\xfd\xea\x2b\x84\x2f\xa8\x72\x18\x24\x2a\x1e\xc5\xff\xe4\x50\xf0\x70\x6e\x1a\x4f\x70\xcf\x57\x76\xee\x75\xab\x73\x1c\xdb\xb2\x8c\x97\x8a\xd8\x73\xea\xc1\xb7\x56\x58\x48\xe8\x79\x2b\xd2\xc1\xa0\xd1\x2a\xdd\x7f\x46\xf0\x25\xcc\x38\xb4\x55\x5c\x7d\x6f\x22\x12\x0a\xc9\xb6\x58\xa9\x2d\x10\xc7\x30\x96\xc6\x3e\x5d\xc6\x24\xe2\x71\xca\x41\x09\xa6\x3c\xd8\x93\xcd\xf0\xf3\x58\xc8\x5f\x2a\x31\xd0\xe5\x4e\x14\x1c\x3f\x2b\xcb\xd7\x0a\x7c\xa6\x65\x01\xd1\x27\x96\xc7\x48\x32\xf4\xe7\x15\xc6\xf8\xfe\x6d\xcb\x5d\x6e\x0c\xc1\x4f\x20\x74\xe1\x43\xac\x4a\x1c\xc5\x69\x9a\x66\xa2\xd1\xe7\xf2\xca\xd4\x6b\x64\x56\xec\x53\xbc\x44\x58\x2b\x8c\xb6\x4a\xbb\x3f\x12\x4e\x48\x92\x39\x50\x7f\x61\x29\x2a\x50\xa5\x96\xc0\x15\x4b\x94\x55\x3f\x5c\x9b\xa5\x23\x65\x71\x68\xd1\xb0\x1f\x54\xd9\x2a\xfb\x3e\x5f\x92\x6e\x38\x8e\xf8\x60\x25\x02\x6c\xb5\x8f\x69\x8d\x68\x83\x43\x7e\x46\x16\x2f\x14\x53\xfd\x9a\x37\xec\x96\xf8\xbe\x49\x21\xee\xf9\x7f\x11\xec\x37\x3f\x6c\x34\x9b\x70\x4d\x67\x64\xc1\xaf\xc5\xa1\xfd\x51\x4b\xab\x09\x3e\x89\x63\xdd\x7a\x83\xc5\xc4\x5e\xc3\x1a\xdb\x6b\x68\x73\xfd\x15\xf9\x19\x36\xae\x5f\xc5\xe2\xd5\x2e\x09\x12\x87\x85\x9f\x57\x01\xaf\xea\x70\x8d\x48\xad\xbd\xa1\x52\xe8\xea\xd2\xc0\x0a\x41\x57\x69\xed\xaa\x30\xb3\xd9\xe0\xca\x85\x9d\xf3\xc3\xf2\xb6\x00\x2e\x8b\x3b\x8a\x13\x4b\x42\xff\xa8\x29\xe2\xb8\x28\x99\x91\x9c\xf1\xfb\xe8\x40\x84\xe9\x44\xfc\xeb\x7b\x62\xdd\xd1\xf5\xd6\xb5\x5a\x2c\xbd\x91\xd2\x1e\x2d\x04\x92\x42\x3e\xf5\x5d\x7c\xd1\xc9\x44\x66\x64\xf1\xbe\xb8\x6b\xb9\x31\xa8\x7c\x33\x6d\x67\x9c\x69\x99\x65\x0e\x6b\x28\x58\x48\xef\xdc\x58\x58\xfa\x5e\x20\xa2\x64\xc5\xeb\x82\x5d\xb6\x8b\x31\xd6\x5e\x97\xb4\xda\xd5\x3b\xa7\x72\x32\x55\xdb\xc3\x82\xde\x0d\x76\x48\xe5\xbe\xdb\x61\x93\xb8\x6e\xc8\xce\x7d\xe2\x00\xa8\xd9\x2a\x55\x43\xb0\xda\x54\x85\x4d\x99\x76\x34\x7f\x52\x34\xba\x40\xf1\x14\x32\x61\xb7\xd3\x97\xc6\x9e\x8d\xd4\xca\x76\x63\x6e\x18\x74\x69\x4f\x56\x41\xd1\xb0\x2d\x1d\x78\xb4\xa3\x9d\x49\xef\x78\x5f\x9a\x8d\x29\x59\xc2\x4e\x84\xbd\xb8\x46\xd4\xf6\x54\x01\x5b\x7d\x87\xea\x95\xb6\xa5\xe8\xca\xdd\x46\x8d\xa1\xeb\xe6\x54\xa3\xbd\x0e\x6b\xac\x6d\xab\xd1\x9d\x2d\x67\xa9\xf0\x00\x35\xe1\x8c\xc8\x79\x68\x59\xd8\x28\x96\x5c\x64\x97\xf0\x1f\xb1\x47\xbe\xc8\x2d\x11\x62\x25\x78\xb7\xd1\xab\xd4\x4d\x39\xb5\x7b\xbd\x9b\x10\x3b\x26\x02\xe3\x5d\xce\x03\x4d\x7a\xe5\xa9\x9c\xca\x3b\xcc\x24\x4f\x92\xa5\x17\xc9\x79\xc1\x98\x4f\x4b\x4c\x88\xa4\x37\x9b\x4f\x78\x34\x1a\x8d\xb0\x92\xd2\xb9\x94\xc2\x35\x34\x28\x33\x40\xef\xe0\x24\x83\x74\x26\x14\xc1\x86\x01\xa9\xa9\x57\x6a\x08\x2a\xd9\x1a\x29\x56\xa9\xa3\xe8\xee\x74\x34\xd6\xbe\x73\xa9\x66\xfc\xd5\x66\xc2\xa0\xa9\x43\x18\x14\x1c\x1c\x94\xd4\x3a\x16\x0f\xbd\xe2\xbb\x5d\x7c\x52\xf9\x8d\x8e\x9e\xc0\x41\xd1\xff\x48\x77\xb9\xf4\x87\xbd\xf2\x07\xa5\x50\x71\xeb\x8b\x2c\xe6\xf2\x96\xb5\x45\x36\x91\x6a\x52\x15\x35\xf2\xb7\xa5\xd5\xed\xa2\x51\xca\x51\x5f\x9e\x38\x9f\xd4\x34\x35\xa2\x54\x46\xc6\xf6\xfd\x30\xcd\xc8\x3c\x65\x52\x72\x2c\x13\xe6\x89\x44\xcc\x6f\x01\x9b\x0d\x45\xd0\x03\xf9\xf2\x15\x18\xc3\x44\xbe\x94\x3a\x51\x50\x31\x22\x0e\xae\x57\xe1\xaf\xc6\x2a\xbb\x22\x44\x1f\x64\x10\xc4\x54\x9f\xae\x32\x34\x92\xb9\x90\x47\x15\xaf\xec\x92\xa6\xfa\x3f\x74\x25\x3f\x38\x3b\x3a\x1f\xe8\xe3\xf9\x25\x8e\xe1\x55\x35\x21\x24\x13\xaa\x9b\xb3\x7d\x2b\x3b\xb0\x9c\x9d\x1f\x3c\x61\xfd\xe3\x21\x3b\xb7\x38\xe3\x62\xac\x9c\x66\x58\x7b\x02\x18\x8b\xe3\x6e\x0b\xc8\xd7\x10\x5c\x02\x06\xd6\xc4\xbe\xd2\xda\xc0\xb2\x0e\xef\x76\x2d\x71\xaf\x85\x80\x9d\x1f\x4f\x8e\x48\x31\x95\x9b\x6c\xc7\xa9\x46\x2a\x86\xc6\x27\x45\x58\x06\xa6\x52\x3a\x47\x53\x80\x7d\x5b\x96\x23\x42\x7a\xb8\xc3\xda\x58\xdc\x6c\x9d\xbf\xe3\xa4\xaa\xeb\x94\x63\x04\x12\x32\x6d\x58\xdd\x9c\xa1\x84\x1e\x4a\x27\xf4\x4f\xb0\xb6\xd7\x0a\xcf\xa5\xdc\x25\x12\x76\xfd\x26\xf9\x96\x32\xf3\x0f\x85\x0b\x7d\x36\x37\xef\xdf\xfc\xe8\x87\xc2\xfc\x7e\xe8\x3f\x93\x9f\xfc\x50\x9e\x3c\xc7\xa1\x94\xa8\xc8\xb3\x61\xcc\x70\x9f\x8a\x88\xce\x20\x5b\xfa\xa1\x10\x5b\x8a\xec\x5f\x37\x96\xf9\x53\x6b\x8b\x0a\xc1\x95\x1a\xa2\x24\x95\x7d\xff\x91\xc1\xd9\xc1\x1c\x5c\xc0\x97\x71\xef\xf8\x48\x99\xac\x7d\x48\x63\xc0\xb6\xb7\xbd\x2e\xc7\x04\x2c\x86\x20\xf8\x0e\x0b\x2f\x66\x64\xe1\x5b\x76\x27\x2c\x90\xf4\xbd\x77\xbd\x2a\xc4\x26\xe6\xa5\x2a\xbe\xd7\x1c\xdc\x71\x86\xe2\x18\xe2\xc1\x58\x1d\x13\x16\x77\x88\x4d\xc0\x01\xd1\x88\xe0\xfd\xeb\x1d\x18\xb1\xd6\xaa\x22\x26\x29\x8a\xcc\x50\x0c\xfd\xf6\xba\xa5\x9d\x52\xf3\x10\x71\x87\x4d\xb4\x40\xe4\x6a\xd1\xe9\x3e\x22\x92\xa9\x57\xaf\x78\xa1\x8a\x95\x63\xf3\x4e\xda\x9d\xa3\xec\x9e\x62\x9c\x3c\x4a\x91\x41\x0d\x78\x56\x9d\x77\xaa\x7d\x1b\xfb\x94\xf4\x89\x1f\x89\xdf\x21\x98\xc4\xc3\x82\xbf\x09\x29\xc2\xd3\x44\xa5\x57\xe7\x3b\x6d\x0e\xae\x7e\x80\x68\x3a\x63\xc3\x23\x73\x9d\x57\x69\x99\xd9\x32\x81\xcf\x68\x5d\xf5\x6c\xaa\xb4\x06\xdf\x2b\x4a\x15\xe6\x47\xff\x7d\xf4\xc4\x27\x97\x30\x9b\x24\x64\xd1\x5f\x0e\x3d\x1a\x65\x24\x49\xbe\xf5\xe6\xe0\xaa\x3f\x93\xa3\x90\xf7\x84\xf4\xea\x5b\x9f\x73\x85\x5b\x58\x11\x97\xd0\xeb\x3d\x99\x4e\x13\x58\xc5\x0a\x15\xc7\xaa\x64\x0d\xa5\x8e\x73\x89\x35\xc5\x06\xb4\xa0\xe5\x07\x8e\x4b\x85\xca\x9f\xe9\x0e\x84\x55\x72\xf3\x72\x4a\x60\xec\xdc\x9c\x30\x58\x35\x55\x60\xf5\x63\x42\x18\xa8\xb9\x66\xd0\x63\x1b\xa0\x66\x06\x62\x44\xee\xf2\xd0\x54\x9e\xb9\x7e\x48\xb0\xc8\x6b\x21\x51\xaf\xed\x28\x55\xeb\x57\xd9\xc2\xa2\x72\x75\x07\xab\x97\xd6\x7a\x8a\xee\x34\xf8\xbc\xdd\x9e\xca\x14\x66\x7d\x69\x13\x25\x5d\x28\x5b\x8f\xe6\x39\xa2\xd1\xa7\x38\x98\xed\x01\xd1\x2d\x2d\x31\xda\xf5\xeb\xeb\x74\xd7\x2b\x71\xa8\xff\x64\x8d\xa3\x76\x4d\x97\x77\xf1\x52\x78\xa0\xd2\xb8\xfd\x60\xaf\xe4\xb8\x53\xba\x68\x97\x4b\x86\xb4\x94\xbb\xf7\x3f\x7a\xfe\xa0\xbe\x30\x9c\x69\x2f\x92\x56\xda\xfa\x31\x3c\xf8\x8f\x1e\x09\xc4\xb5\xaa\x17\x14\x66\x66\x03\x11\xfe\xeb\x12\x24\xbd\x1a\xc1\xc3\xee\xf1\x32\x73\xd3\x3c\x38\xe8\x31\xa5\xc4\x38\x61\xbd\x22\x4b\x7b\x65\xdc\x2c\x90\x22\x00\x66\xe2\x04\xaa\xb1\xf0\x03\xb5\x17\xac\xc2\xc7\x7f\x3d\x3a\x0a\xdd\xbd\x69\xa9\xc1\xaa\x0b\xbf\xcc\xa1\x91\x66\x44\xea\x3e\xd7\xfa\xe6\x7c\xd2\x7b\xc1\x0c\x50\x91\xa2\x03\x1b\xd3\xa2\xca\x85\x4d\x4a\x3c\x45\x98\x93\x64\x30\xd1\x45\x7d\x61\x2a\xf5\x0a\x74\xad\x98\x00\xbb\xde\x8b\x39\x40\x89\xab\x92\x2e\x2e\x6d\x34\x5a\x8f\x3a\xab\x5c\x50\x8e\x0c\x8b\xe8\x0b\x65\x8f\x2c\x42\x42\x4a\x37\x60\x80\x12\xa9\x16\x9e\x01\xfa\x56\x25\x13\x72\x8f\x20\xb5\xbf\xfa\xa1\x79\x1e\xe8\x1f\x7e\x78\x3d\x85\xcc\x11\x70\x50\x77\xff\x36\x83\x14\x62\x56\x0a\x79\x6e\xb7\x19\x04\x4f\x94\x62\x7d\x58\x19\x71\xad\x42\xd1\x69\x10\x3c\xe1\xa4\x64\x28\x44\xda\x47\x2b\x65\x09\x27\x99\xe7\xf6\x09\x45\x8e\x42\x5b\xcc\xc1\xd9\x0c\x9f\x8a\x25\xe1\x16\xc6\x5c\xdb\xbb\x21\xa9\xa6\x47\xd7\xfa\x97\xb4\x8b\x14\xfd\x82\xc2\xaf\xc8\x1c\x55\x14\x5c\x36\x88\x0b\x2a\xc1\x0d\x6b\xc0\xac\x84\x4a\x53\xdf\xed\xae\xe4\xbd\xa0\x69\x7d\x6a\xdb\xc1\x11\xb6\xd1\xfa\x6a\xb4\x0c\x6b\x9b\x2c\x36\x8a\xa3\xc5\xe2\x63\xf7\x06\xd5\x16\x71\xb4\xa6\xbe\xb8\x9a\xd2\xab\x0f\x8d\xe3\xbc\x6e\x1e\x57\x1a\xa2\xca\xdb\x3b\x6c\x40\x33\x1d\xa2\xd2\xd2\x38\x57\x0a\xb6\x4d\xc6\xee\x5f\x8f\xa9\x79\x04\xd5\x9d\x5b\xef\x3a\x75\xf6\xb9\x6f\x3a\xfd\x3d\x07\x89\x70\x30\xdf\x69\x17\x55\xd5\x52\x51\xc4\x92\x36\x71\x5c\xf6\x83\x1e\x15\x81\x46\x41\x92\x2c\xeb\x36\x24\x8a\x49\x75\x10\xa4\x42\xa5\x5f\x2d\x53\x42\x69\x5e\xae\x93\x7d\xfb\x55\x9f\x09\x2e\xbe\x9f\x80\x31\x4c\xca\x67\x96\x88\x6a\xa9\xbe\x37\xd7\x29\xbe\xdc\xfc\x3c\x6b\xac\xa0\x4e\x31\x3f\xbc\x86\x38\x9f\xc3\x4c\x5b\x5b\xb9\x49\x9b\x39\xf5\x36\x98\x3f\x5d\x20\x16\xcd\x36\x04\x80\xac\x74\xef\x21\xb0\xd7\x05\x02\x9b\x4d\xdd\x9a\x73\x68\x37\x8b\x27\x68\x7a\x08\xf1\x25\xca\x08\x9e\xd7\x21\x12\xe2\xcd\x61\xa2\x76\x95\x71\x50\x38\x2b\x0d\xce\x3f\xff\xf8\xf1\x7a\xb5\x57\x70\x42\x05\x5f\x69\x6e\x45\x22\x7e\x9b\x71\x66\x78\xcf\x1f\x3f\x7e\x2c\x20\xaa\x7e\xbc\x99\x4c\x84\xc8\xbb\x28\xa9\xdf\x7c\xfc\xe8\xbf\x99\x4c\x86\x43\x32\x99\x14\xa5\x71\xb5\x30\x36\x65\xf1\x70\xc8\xf7\x20\x67\x74\xc5\x3b\x5a\x94\x3a\x35\xef\x3e\x7e\xdc\x3f\x96\xf2\xb6\xe2\x23\xfa\x83\x0f\x6c\x0e\x63\x94\xcf\xfd\x26\xdc\x55\xe1\x04\x8a\x5f\xbb\xbb\x62\x2a\xe9\x96\x24\x30\xaa\xb2\x86\x62\xe1\xf3\x3f\xbc\x96\x2e\xf7\xc3\xe3\x50\xf9\xce\x0f\x1f\x87\xc6\x07\x7e\xf8\xc5\x2a\x3c\xc9\xd9\xec\x6d\x46\x2e\x51\x0c\xb3\xe1\xb5\x8e\xe4\x3b\x34\xb3\xf0\xc3\x1f\xe1\x32\x4a\x08\xb8\x18\xfa\x17\xea\x97\x1f\xbe\x7a\x7e\xf2\x76\xe8\x27\x31\x48\xfd\xf0\x14\x66\x97\xb2\x37\xf7\xdb\x93\xe7\x43\x1f\xc4\x7e\xf8\x42\xe6\x91\x44\x52\x9e\xf9\x13\xc1\x70\xe8\x63\x61\x01\x58\xfe\x22\xb2\x8b\xbe\x7f\x75\x3a\xf4\x45\xaa\x34\x96\x50\x7f\x15\x6a\x1d\xa1\x14\x46\xc9\xa9\xbd\x83\x20\x1e\x1e\x87\xdf\x41\x18\x8b\xc0\x43\x8f\xc3\x67\x04\xb3\x0c\x8d\x73\x06\x87\x5f\x84\x27\x69\x9a\x91\x4b\x38\xfc\x52\xff\x8a\x87\x7f\x0d\xdf\x09\x7b\x73\x18\x0f\xbf\x0a\xdf\x4a\x23\xb2\xe1\xd7\xab\xf0\x03\x85\x99\x4e\x4a\x29\xdb\x7e\x96\x41\x91\x01\xe2\x38\x14\xbd\x3c\x0e\x5f\xc4\x48\x40\x2c\x94\x16\x56\x31\x6f\x36\x8b\x66\x48\x36\x6b\x7a\xf8\x2a\x7c\x07\xa5\x46\x74\xf8\xb5\xee\xc1\x72\x07\xf8\x5b\xf1\xee\x69\x42\xa2\x8b\xe1\x37\xc5\xf0\x8f\x8f\x8a\xd1\x1d\x1f\x87\xa7\x10\x33\x91\xac\x52\xd8\x9a\x0e\x8f\x1f\x87\xcf\x33\x30\x61\xc3\xe3\x2f\xc2\x9f\xa5\x75\x27\x2f\xf7\x65\x78\x2a\x82\x6e\xf1\xdf\x7f\x2d\x1a\x1f\x1e\x7f\xb5\xd2\xeb\x6c\xe0\x25\x40\x7e\x14\xbe\xe2\xfd\xf2\x79\x89\xe4\xf1\x8f\x43\xfe\x5a\x6e\x10\x5f\xda\xd2\x51\x4f\x78\x96\x30\x06\x63\x6f\x81\xd8\x8c\xe4\xcc\x03\x62\x82\x20\xf1\x45\x75\x55\x9c\xff\x84\x71\xe8\x45\xaa\x1a\x26\xac\xa8\xea\xab\x1e\x2a\x4d\x67\xf0\xf7\x1c\x65\xd0\x34\xe8\x8d\xe1\x84\x64\xd0\x93\x11\x20\xe4\x91\xb8\x52\xf0\x04\x49\x69\xe0\x27\x78\x39\x26\xf1\x72\x78\x1c\xbe\x06\xbf\x91\x0c\xb1\xe5\xf0\x71\xf8\x01\x03\x8c\xe6\x24\xa7\x7c\xc5\x65\x01\xd5\xa3\x6e\x43\x77\x19\x7b\x93\x8c\xcc\x3d\x80\x97\xaa\x73\x98\xf9\xa6\x25\x55\x47\x3f\x16\xc3\xab\x54\x56\x15\xa9\x5f\x74\xac\xaa\x9a\xe7\xc6\xba\x49\x62\xd5\x5f\x85\x12\x22\x32\x75\xe0\x75\xb1\x72\x47\xe1\x5b\x88\x45\x4c\xca\xe3\xf0\x03\x8e\x61\x66\x16\xca\x60\xc7\x17\xba\xc8\x4f\x70\x31\xfc\x72\x15\xbe\x05\x53\x28\x21\xf5\x1e\x8c\x87\x3e\x03\x63\xbe\xff\xa4\x20\xd8\xa4\x3b\x59\x85\xff\x98\x11\x59\x8a\xa3\xfb\xd0\x97\xf1\xad\x45\xe6\xc8\xa1\x9f\x11\x11\xde\xef\xc5\x25\xcc\x96\x04\x43\x5e\xe2\x65\x3c\xf4\x8f\xfc\xd2\x2b\x29\xb1\xd2\x6f\xfc\xf0\x15\x9a\xc0\x68\x19\x25\x70\x78\x2d\x91\xf3\x28\x7c\x85\x2e\xe1\xf0\xb8\xd8\x1b\x0a\x6d\x15\x90\xc4\x6f\x5f\x14\xd2\x38\x84\x2e\xa1\x6f\x8a\xeb\xa5\x53\x8f\xfe\x4a\xe3\xba\xdc\x8f\xaf\x49\xcc\x87\xaf\xcd\x9b\xc5\xfe\x7c\x26\x5c\x5d\x86\x8f\x43\xbe\x4d\x14\x4d\xdb\x94\x48\x80\x44\x65\x8e\xed\x40\x2c\x56\x81\x75\x82\x5d\x1b\xca\x3e\x84\x2b\xd7\x19\x20\xcf\xbf\x29\xa4\x2c\xcf\x20\x3d\xcc\x60\x44\xa6\x18\xfd\x01\x33\x7a\x28\xe4\x7e\xf5\x83\xbc\xb1\xec\x0e\x45\x10\x05\xcf\xb1\xe1\x90\x11\x76\x33\x5e\x2d\xa5\xef\xc3\xb0\x33\x61\x74\xdf\x75\xd8\xa2\xf4\x3d\x18\x76\x46\x98\x30\xe7\xeb\x38\x6e\x55\xfc\x1e\x0c\x9c\x2e\x50\xda\x7d\xdc\xb2\xf4\x3d\x18\x36\xe3\x7c\x4b\xc7\x41\xf3\xb2\xf7\xf3\x06\xb1\xd1\x94\x85\x51\x5a\x04\x92\xfe\x26\xc4\xa8\x54\xe9\xcf\x04\x84\xcd\xf0\xb6\x52\xed\xc1\x00\xe2\x12\x62\xf6\x6b\x8c\x68\x0a\x58\x34\x83\x59\xeb\x7c\xeb\x85\x3f\xcd\x0d\x52\x5e\x6b\x00\xa5\x68\x8a\x3f\x7e\x94\x4f\x73\x98\x4d\x61\x48\x46\xb4\x77\xbd\x0a\xaf\xc5\x40\x3f\x50\xf8\x0c\xa4\x7c\xa8\xc3\xfd\xe3\x50\xb9\xfd\x65\x20\xba\xe0\xec\xd3\xfe\x71\x98\x53\xf8\x1d\xa0\xec\x2d\x60\x33\x3a\xdc\x3f\x5e\x05\x7b\xbc\x3a\x29\x42\x55\x0d\xf4\x4c\x9d\xf4\xc3\x5c\xa8\xf2\xa2\x1f\x32\xa8\xf4\x5c\xed\x96\x0c\xca\x2f\xca\x83\x20\x03\xfb\xd1\xbd\x42\x33\x98\xa4\x1c\xc1\x00\x8e\x9d\x37\xfd\x2c\x67\xb3\xbe\x2e\x64\x17\xbe\x8f\x28\xd8\xdc\xa6\x98\x5e\xc7\xf6\x00\x8e\x1b\xd0\xd9\xcc\x3f\x4d\xfb\x8a\x2d\x6c\x50\xe7\x38\xf0\x55\x83\x34\x4a\x50\xdf\x6a\x40\xe9\x26\x33\x38\x85\x57\x55\x32\xcf\x91\x5a\x3f\x7b\xb4\x30\xb0\x35\x72\x73\xad\xf0\x3a\x3e\x38\x90\x6a\x81\xfd\x51\xf1\xf1\xec\xf8\xfc\x89\xfd\x30\xbc\x5e\x15\x91\x4c\x67\x28\x86\xa7\x33\xf0\x84\x0c\xe6\x22\xe7\x1c\x1e\xa8\xf1\xbc\x83\xd3\x17\x57\x69\x70\x76\x74\x3e\x94\xa5\x14\x53\x6c\x95\xa4\x33\x60\x95\x22\xab\x2d\x8e\x4f\x90\xa6\xaa\xdd\x11\x55\xba\xc3\x62\x27\x9c\xbc\x7d\xab\x47\xb3\x57\x55\x65\xfd\x20\x96\x60\x20\x57\xa2\x47\x5b\x97\x49\xda\x44\xf5\x41\xe2\x14\x60\x46\x04\x47\x79\x96\x41\x1c\x2d\x0f\x35\x86\xd7\xb0\xda\x40\xdf\xd6\x9b\x9e\x1d\x9d\x6b\x40\xe2\x83\x03\x5f\x97\x29\x02\x0b\xe3\x81\xec\xfa\x24\x49\x34\x41\x01\x94\xc2\x8c\xf5\xfc\xf7\x33\xe8\x09\xbd\x80\xa7\x97\xc6\x4b\xf9\xb7\xd8\x63\xc4\x63\x33\xe8\xfd\x7f\xc5\xa8\xff\x3f\x4f\x0e\xcb\xa3\x33\x92\x27\xb1\x37\x86\x1e\xf0\xde\x03\x7a\xe1\x91\x4c\xfc\x15\xf7\x29\xaf\xa7\xef\xcd\xbf\xe7\x84\x41\x1a\x7c\xeb\x2d\x49\xae\x5b\xf5\x1f\x61\x61\x57\xd4\x3b\x0a\xe1\x80\x01\x7a\x21\x01\xf8\x2c\x21\x34\xcf\x60\xd0\xf3\x6d\x20\xf9\x66\xd8\x7e\x78\x86\x43\x7a\x1e\x6c\xb3\xb6\xb2\x11\xd9\xcf\x08\x2b\x22\xeb\xf3\xb9\xfd\x67\xd1\xd9\x7f\x7a\x26\x6a\xb6\x9a\xe4\x02\x50\x0f\xe1\x4b\x72\x01\x63\x7f\xcd\xb2\xe3\xd6\x65\xd7\xa6\xc0\x87\x13\x94\xc0\x3e\x8a\xca\x9b\xb4\x2c\x09\x33\xeb\x0b\x8b\xdd\xe5\xe7\xf8\x02\x93\x05\x1e\xa4\x78\xea\xef\x49\x59\x6e\x8f\x2f\xfa\x80\x91\x57\x64\x01\xb3\x67\x80\xc2\x5e\x10\x5c\x47\x80\x42\xff\xeb\x3f\xfc\xa1\xfa\x81\x52\xf5\xf3\x0f\x94\x5e\x15\x3f\xd5\xaf\x05\xc8\xd4\xaf\xcc\xfc\x62\xe6\xd7\x54\x14\x84\x23\x5e\x41\x76\x2c\x42\x8f\xef\x89\x8f\xe0\x12\xa9\x62\x73\x72\xa9\x7f\xa5\x5f\x8a\xf2\xe0\x12\xd5\xca\x0b\x53\x65\xfe\x51\xa4\xb7\xad\x7e\x8d\x28\x15\x1f\x23\x4a\x6b\xdf\xc6\x80\xa9\xf6\xe9\x4c\xfd\x48\xa9\xf9\x71\xac\x7e\x45\xfa\xd5\xe5\x58\x7f\x9b\xe9\x69\x8a\xdc\x01\x6a\x4e\x44\xbf\xd3\xe5\x33\x53\x7e\x69\x3e\x11\xac\x5b\x95\xe9\x7e\xe4\xc3\x95\x9a\x41\x44\x62\x58\x1f\x25\xd2\x75\xe0\x15\x54\xbf\xe2\x44\x56\x18\x23\x5c\x2f\x3f\x37\xa3\x4b\xa7\xe6\x17\xd4\x3f\xa7\x68\xa2\xd7\x03\x4d\xf4\x4f\x7a\xa9\x3f\xf3\xd6\x34\x04\x62\xf5\x0b\xe8\x05\xa1\x17\x90\x45\x33\xd1\xb3\x88\x5b\x5e\xeb\xfb\x2a\xd1\x93\xbf\x4a\xe8\x95\x01\xe0\xa5\xa8\x72\x95\xd4\x97\x20\x21\xba\x3b\x76\xa5\x17\x63\xae\xfb\x35\xa9\x0f\x78\x6d\x76\xc5\x6a\xb5\xe7\xe9\x17\x06\xdf\x64\x1f\xf3\xf4\x8b\x5a\xa9\x34\x9e\x88\x6f\x69\x3c\xa9\x7f\x4b\x75\xaf\x69\xca\xae\x64\xb1\xb4\xde\xd1\xa5\x81\xc5\x25\x8d\x65\xb1\x4b\x1a\xd7\x8a\xc5\x24\xd2\x0b\x44\x22\x59\x2c\x26\x91\x28\xb6\xd2\x34\x14\x2e\x1a\x52\xba\xc2\xad\xe8\x8f\xde\xff\xdf\xa1\x04\xbe\x8c\x08\x1e\xc1\x9a\x41\x44\x99\x9c\xc0\x56\x72\x02\x7f\xef\xce\x18\xc1\xdf\x73\x90\x3c\x30\xd6\x48\x8e\xb9\x6b\x8b\xa2\xf4\x1a\xf6\x48\x26\x2a\x60\x30\xee\xc7\x15\x99\xc2\x7a\xe2\xcb\xe9\x6c\xc8\xcf\xd8\xe3\x73\x2b\x1e\xba\x9d\xd5\x53\x24\xc2\xf4\x9f\x13\xef\xf5\xeb\xd7\xaf\xbd\x7f\xfd\xeb\x5f\xff\x0a\xbd\x1f\x7e\x18\xce\xe7\x7e\x10\xce\x89\x08\xef\x95\xb3\xa8\x07\x03\x11\x57\x3f\xe9\x09\x77\x96\x39\x60\xfc\xd4\xd8\x02\x9b\xcc\x64\x9e\x03\x06\x6f\x88\x4a\x53\x88\x61\x06\x18\xec\xa3\xf8\x16\xed\xff\xca\x23\xb2\x9b\xd6\x26\xa1\x67\x47\xe7\x8f\xfc\xbe\xff\x88\x43\xb9\x7d\x29\xa7\xac\x3b\xf2\x4f\xef\xa7\x9e\xb3\xb9\xcd\x69\xf7\xe6\xa6\x4d\x37\xdc\x62\xf2\x6e\x4d\x69\x03\xa4\xee\xe7\x15\xbe\x0d\x54\x70\x03\x58\xc1\x35\xc0\x42\xb4\x0f\xb2\x0c\x2c\xbb\x43\xcc\xd4\x78\x58\x60\x43\xf4\x44\xce\xb3\x63\x9b\xaa\xfc\x7a\xf0\x29\xa2\xbd\x63\x05\x6f\x7d\x48\x65\x60\xa3\x49\x4f\x8c\x4f\x8f\xb3\xc8\xe0\xee\xb1\x3d\x34\xe9\x9d\x2e\xe7\x63\x92\x0c\x10\xe3\x54\x8e\x64\x1e\xc2\x9e\xb1\x1e\x0d\x9c\x2d\xca\x1b\x95\x08\x74\xbf\x7f\x14\x92\xd1\xfe\x71\x88\x46\xf2\x2a\x2b\xd2\xa6\x4f\x48\xd6\xe3\x65\x40\x98\x8c\xd8\x59\xa5\xfd\xf3\x5e\xf0\xed\x7e\x8f\x8e\x7a\x60\x94\x0c\x30\xbc\x62\xbd\x20\x18\xc4\x04\x8b\xdc\xc6\xca\xdf\x15\x0c\xc4\x2c\x83\x70\x1f\x7e\xfc\xa8\x5d\x3d\x45\x84\x8c\x6f\x79\x97\xc1\xb7\x45\xce\x75\xc2\x87\x80\x46\x6c\xa5\xec\x6f\xae\xf9\x00\xf6\xe9\xc1\x41\x32\x90\x63\x2f\x7e\xf5\x02\x53\x08\x4d\x7a\x24\x60\xb3\x8c\x2c\x3c\xb4\x32\x2c\xcd\x4a\x4c\x6f\x4f\xbe\xe7\x0c\xce\xfb\x65\x2a\xad\x24\x7b\xfe\x4b\x69\x2b\xe7\xf1\x53\x65\x9e\x32\x7e\xf1\x13\x41\x98\xf2\x88\xe5\x19\xf4\x30\xc1\x7d\x31\xc3\x71\x02\x3d\x24\x34\x3e\x11\xf4\x83\xd5\xaa\x17\xac\xb9\x16\xd5\x4d\x7c\x61\x8f\x85\x8f\x8d\x75\x24\x3e\x3b\x3a\x1f\x8d\x46\x78\x2d\xd5\x47\xb4\x8f\xc9\x0e\x1d\x11\x3f\xa3\xd7\x9f\x0d\xbd\xe4\x40\xf6\x39\x7e\x1d\x07\x67\x47\xeb\xf1\x89\x60\xd8\x27\x93\xae\xbc\x20\x9a\xf4\x7a\x8e\x5c\x37\xc6\x9c\x57\x86\x39\x0b\x44\xf2\x1b\x25\x02\x1b\x3d\x0e\xf4\x6a\x1a\x2e\xf2\xf8\x5b\xfc\x5f\xba\xc0\xb7\xf8\xd1\xa3\x00\x4d\x7a\xec\x0c\x9f\xf3\xf5\x51\x33\x38\x52\x9b\x63\xff\x78\x1b\xe6\x10\xd1\x37\x18\xbe\x99\xdc\x90\x2d\x4c\x36\x60\xb2\x92\x87\xc6\x64\x6d\xd0\x5c\xa3\x1a\xa1\x98\xfc\x06\x4c\x56\xf2\xe0\x98\xac\x64\x03\x26\x2b\x59\xcb\x64\x61\xc2\xfa\x9b\xdc\x5d\x65\xf9\x87\x77\x7f\xc5\x84\xbd\xf8\xbd\x73\x8b\xa2\xf4\x7a\xc8\x6d\x04\xb6\x87\x07\xb0\x4d\xc0\xb5\x06\x58\xc4\xa9\xd4\x73\xc3\x8a\x54\xe3\x56\xdf\x77\x50\x09\x3f\x89\x6e\xcd\x91\x6c\x0d\xa0\x52\x98\x4d\x48\x36\xdf\x89\x2a\x22\xc4\xba\xe7\x46\xb9\xbe\xe9\xae\xf8\xc5\xab\x6d\x73\xca\xa9\x06\xb4\x44\x7f\xcd\x59\x87\x9d\x96\xc5\x06\x0a\x49\x9e\x81\x44\xd8\x7a\xd6\xe1\x80\xf0\x44\x26\x99\x3e\x4c\xd0\xd8\x51\xe5\x53\xd9\x6d\xe8\x9e\x33\x08\xe2\x7e\x0a\xd8\xec\x33\x2b\xfc\x99\x15\xee\x72\xd3\x0a\xe9\x88\x5f\xb2\x42\x22\x2e\x59\x65\xaf\xb4\x29\x64\x3d\x1a\x92\xa0\x9d\x4a\x50\x84\xa7\x79\x02\xb2\x8d\x76\x88\x5d\xe9\x53\xef\x11\x4e\x7b\xee\x44\x98\x59\xd9\x48\x85\x78\xb3\xba\x71\x9e\xb0\xa1\x7c\x35\xc9\xc8\xbc\xc7\x82\x55\x8f\x89\xcc\xa1\x7c\xa1\xe8\x08\x0e\x68\x82\x22\xd8\x3b\x2e\xae\xc9\x83\x5f\x39\x35\x5e\x2a\x4f\x35\x1c\x56\x3c\xd9\x6b\x1b\xf3\xba\xb8\x78\x1c\x85\x78\xa4\xde\x6b\x07\xd1\x6f\x61\x71\x07\x81\x8f\x1e\x05\xf8\x0c\x9e\x8f\xd8\x19\x2c\x74\xc8\xab\xd2\xc0\xcd\x28\x69\xb0\x06\x57\x18\x9a\xc3\x3e\x98\x92\x56\xa7\xe7\xd8\x65\xa7\xe7\x52\x6b\x17\xfa\x77\xde\xee\xc9\x94\x08\x9d\xa7\x86\x8a\xd9\x4b\xa2\xbd\x91\x08\x35\xda\xc3\x23\xdf\x0f\x42\xbc\xcd\x99\xa2\xfa\xe8\x74\x9a\x34\x43\x40\x38\xd6\x22\x8c\x18\x02\x49\x8b\xbf\xc3\x36\x8a\x06\x41\xda\xe0\xc8\xf7\x7c\x11\xd2\xbb\xae\x81\xe0\x1f\x7a\x70\x40\xf3\xb1\x0c\xf9\xd2\x3b\x0a\x8f\x83\x47\xb8\xf2\x22\x18\x30\xf2\x21\x4d\xb5\xd2\x78\x1b\x50\xf1\x49\xbe\x54\x73\xbc\xe1\x4d\xf3\x6a\x13\x6e\xed\xea\xc1\xb1\x6b\x57\x1b\xf0\x6b\x57\x8d\x0c\x9b\xc2\x27\x69\x78\xd7\x68\xea\xe3\x36\xe6\xb1\xea\xf6\x27\x80\x13\xea\xe5\x27\x77\x84\x1a\x9c\xbc\x7d\x1b\x92\x11\x95\x21\xb8\xd1\x88\x3a\x8c\x69\x54\xce\xbe\x93\x34\xf5\x7e\xd6\xb3\x2b\xc6\x3e\x14\x5c\xa5\x2a\x1b\xf4\x48\x88\x02\xa7\xc1\x79\x15\x52\x49\x7b\x14\x06\x97\x8f\x52\x3b\x65\x32\x99\xb9\x13\x32\x06\xc9\x8b\x4b\x90\x8c\x4a\x51\x0e\xf4\x77\xf0\x1b\xb8\x3a\x85\x2c\x4f\x7b\xd7\x51\x46\x28\x7d\x4e\xe6\x00\xa9\x94\x29\x32\x68\x60\x46\x87\xd7\x3e\x83\x57\xcc\x53\x99\xec\x87\x2e\xc5\xd8\x6a\xb5\xd2\xf1\x48\x0b\x72\x68\x06\xbb\xc7\x06\x19\x9c\x22\xca\x44\x6e\x71\x63\x8c\xcf\xbb\x12\xd1\x04\x75\x28\xfb\x01\xc8\x19\x79\x8e\x68\x44\x2e\x61\x36\xda\x52\xb2\x64\x40\x5b\x22\x91\x6a\xdd\x4a\xb0\xb6\xd6\x0d\xaf\x5f\x26\x9d\x05\xa7\x23\xb1\x64\x2a\x69\x8d\x8a\xf6\xe9\x87\x26\x8d\x4e\xe8\xab\x3c\x36\xc3\x22\xb1\x4e\x51\x3a\x22\x98\x65\x24\x49\x44\xc1\xae\x55\x0a\xd7\xc1\x96\x1a\x37\x84\x26\xac\x43\xd3\x74\x26\x82\x78\x0e\x75\x1a\x81\x12\x64\xdd\x1e\x17\x25\xc8\x76\x70\xbc\x5b\x07\x5b\xab\x89\x2a\x82\x35\x02\xb7\x73\x9d\x02\xba\x1d\xab\x98\xe4\x4a\x9d\x6b\xa8\xc5\xea\x5e\x41\xb8\xa8\xaf\x29\xbe\xfb\x05\xb7\x7a\x53\x4b\xde\xb4\xa1\xba\x2d\x3b\x03\x08\xc3\xac\x1f\xc3\x71\x3e\xed\x83\x18\xa4\xcc\x6d\xea\x9c\x41\x4a\x92\x4b\x98\x1d\xea\x1f\xf4\x30\x4a\x00\xa5\x28\x6a\x6c\x65\x87\xec\x7c\x31\x79\xf7\x78\xad\x69\xd7\x42\x2a\xd8\x76\xa4\x1f\x3f\x16\x4f\x47\xe7\x55\xa2\xe8\x6a\x5b\x91\xc8\xe2\x48\xa9\xe0\x72\x73\x15\x11\x62\x52\xc5\x03\xb5\x17\x49\xa3\xc6\xfa\xe5\xa9\x49\x58\xd6\x08\x60\x76\x77\x81\x51\xf0\x76\x0c\xc0\x0d\xe9\xce\x93\x89\x01\x03\xae\x59\xf0\xf7\x87\x22\xb6\x71\xdf\x40\xb5\xf4\xf1\x16\xb0\xc9\x1e\x91\xbd\x6f\x6c\x7e\xad\xcb\x9c\x66\x60\x3e\x87\x19\xbf\x15\xb8\x66\x56\x7c\xb5\x9d\xce\xdd\xfe\xf5\xbb\x9b\x95\x3d\xa6\x1b\x2e\x19\x45\xf3\x34\x81\x7d\x99\xd5\x6f\x53\x8b\x71\xab\xb2\x2a\x96\x67\x3a\x9e\x43\xbd\x44\xa9\x77\x89\x0d\xe6\x40\xdb\xa8\x78\x5f\x53\xf3\x9d\xe7\x1a\x2c\x41\xb9\x04\x1a\x17\x98\xd5\x95\x0d\x15\x2c\xd9\x99\xa3\xaa\xf4\xf7\x47\x83\x31\xa0\xf0\xc3\xbb\x57\x16\xff\x96\x11\xc2\x3e\xbc\x7b\xf5\xf1\x63\xf1\x4a\x15\xb2\x7c\x33\x12\x02\xe2\x1e\x12\x76\xd2\xb4\xe0\x7c\x99\x78\x41\xec\x17\x5d\x96\xfc\x52\x66\x2f\xba\x01\x23\xa0\xb3\x8f\x58\x0c\x90\x79\xd5\x74\xaa\x77\xaf\x63\x71\x0f\x5d\x2b\x89\xf8\x54\xeb\xca\xef\xfe\xa4\x2e\xba\xbb\xf9\x41\xad\x42\x32\x5b\x2d\xf4\xe5\xbd\xa2\xfb\x8e\x6c\xb9\xad\x74\x38\x29\xd1\xa4\xb7\x7f\xbc\x3f\x2a\xf9\xfc\xf0\x5e\x4f\x8a\x11\x7d\x2f\x06\xa4\x44\x32\xbc\x82\x6f\x04\x0f\xfe\xbe\x76\x2f\x90\x79\xa5\x03\x3c\x92\x3f\x44\xde\x5c\xaf\xa1\xac\x9c\x61\x80\x47\xf2\x87\xc9\xb1\x6b\x95\x35\x6e\x0b\x14\x26\x13\x25\x3c\xde\xc3\x23\xfe\xb4\x12\x57\xcb\x90\xac\x1f\xf2\x1e\x1d\xf9\x2a\xf4\xad\x69\x8f\x3c\x21\xc3\x92\x61\xaf\x64\x76\x26\xcb\x9e\x15\xe3\x55\x20\xc5\xdb\x0c\x4e\xd0\x55\x10\xe2\x33\x7a\xfe\xf1\x63\x8f\xff\x19\x31\x91\x64\x87\xa4\x10\xf7\xae\xad\x68\x77\x9b\x85\x95\x92\x89\x64\x3c\xde\xe0\x6a\x15\x04\xab\xdd\x5f\xc5\x5a\xb0\x6a\xb3\x8b\x59\x42\xa6\xd3\x9b\xdc\xcb\x74\x7d\xb3\x2f\xd5\x8b\x26\x72\xd1\xad\xbc\x45\x2a\x1a\x2b\xec\x7e\xdb\xeb\xae\x6e\x76\x21\x13\x90\xe9\xcb\xb9\x90\x2d\x20\x6b\x43\x4b\xe5\xba\xd0\x3f\xda\xae\x3e\xee\xa2\xbb\x07\x52\x75\x7a\x9b\x01\xc7\xc0\x74\x5b\x7c\x2b\x98\x0a\x8d\x0f\xfa\x4d\x23\x06\x75\xad\x52\x80\xbd\x5b\x0d\x7d\x38\xb5\x94\xde\x3d\xf8\x4d\x67\x5b\x9e\x4c\x52\xdd\xd4\xdf\x94\xbf\x2f\xca\xf7\x29\x23\x19\x6c\xe0\xd2\xee\x90\xb7\x6f\x9e\x98\x76\x80\xbd\x15\x7d\x51\x69\xd0\x45\x4f\x0d\x1c\xa5\xc3\x6b\x8f\x33\x81\xe4\x22\x4f\x9f\xe8\x1f\x66\x53\x0f\x8b\xf6\x82\xa1\xd1\xe6\x89\x2c\xc9\x3d\x16\xb4\x95\x6e\xe2\x16\x9b\x61\xd4\x78\x53\x70\xb1\xee\xae\x66\xca\x3c\x7c\x06\x39\x96\x48\xac\xbc\x2d\x0c\xe9\xc2\xc1\x97\x25\xca\x4d\x6c\x74\x29\xf9\xf9\xad\xe9\x14\x5f\xf3\x5e\x06\x91\x88\xf2\xd2\xbb\x5e\x93\xc0\x1b\x51\x3b\x6a\x95\x89\x59\xb5\x7f\x14\xbe\x2c\x7d\x31\x91\xab\xf6\x8f\x2b\x5f\x44\xa4\xaa\xfd\xe3\xcd\x83\x62\xee\x55\x63\x9e\x16\x72\x2b\x3b\xb3\x9b\x7b\x84\x7e\x58\x4f\xc8\x0a\xac\x72\x7e\x20\x02\xdf\xda\x55\x07\xba\x6e\x29\x50\xb6\x73\x96\xdb\xb4\xae\xeb\x36\xb7\xce\x21\xb5\x4d\xcb\xbc\x5e\x53\x18\xde\x72\x9e\xfd\x4f\x84\x53\x26\xdb\xcf\xb0\xaa\xdc\x69\x89\xd1\x5f\x8f\xdf\x0f\x4d\x36\xe1\xb2\xfa\x51\x17\xc4\xc1\x80\x65\x88\xb3\x4a\x3d\x5f\xc4\x9a\xf4\x83\x55\x58\xc9\x89\x3c\x2c\xef\xf9\x52\x72\x02\x28\x43\xeb\x3b\x93\x13\x14\xda\x17\x91\x46\xa7\xda\x8d\xee\xe8\xb9\x1c\xfd\xd0\x55\xcf\x99\x87\x40\xbc\xf9\x01\xc5\xeb\xaa\xc8\x9c\x06\xaa\xbc\xc8\xad\xd3\xa9\x42\x7b\x12\x04\x2b\xcb\x57\x07\xb8\x34\x80\x45\xa6\x97\x2d\x35\x86\x6f\x00\xe5\x4a\x73\x15\xd0\xb8\x5a\xe3\x33\xed\xdc\x58\x0c\xd7\x0d\xae\x39\x41\x45\xd1\x60\xeb\xde\x92\x91\xb1\x6f\x35\xd1\x42\x79\x7b\xb5\x06\x37\x17\xe4\xa3\x9e\xbd\x55\x0c\x72\xf9\x41\xe8\x79\x58\x20\x03\xa4\xff\x03\x38\x28\x72\x7b\x55\x7f\x01\x10\xf3\x55\xfd\xe7\x04\xc3\x4d\xeb\xc7\x22\xed\xb6\x1d\xc3\xf8\xe6\x93\x69\x5f\x1e\x1d\x94\xed\x53\xad\x4e\xeb\x60\x74\xee\xa3\x4f\x35\x98\x72\x72\xa3\x7a\xce\x93\x6e\x59\xfc\xf4\x96\xf9\xcf\x33\xce\x0d\xab\x10\xa3\x23\xdf\x24\x72\xfa\x4f\x67\x1a\x62\x13\x13\x78\x4c\xe2\xa5\x95\xa9\xf8\x5a\x26\x39\x20\xd9\xb0\xb1\xbd\x30\x86\x09\x58\x0e\x1f\xff\xf5\x48\x26\x10\x2c\x67\x99\x77\xa5\x6e\xd9\x68\x68\xbc\x41\x3e\xc9\xb7\x24\x15\x11\x02\x77\x0c\x97\x54\x36\x2b\x3a\x57\xbf\xdb\xe0\xa2\x8b\x34\xc2\xa5\x68\xcf\x0d\x97\xe6\x69\xb4\xc2\xa5\x3e\xb4\xa6\x8d\x44\x62\x98\xd0\x43\x3b\x21\x7c\xc3\xed\x4c\xeb\x33\xad\x57\x80\xb1\xaa\x1a\x6f\x1b\x2b\x8f\xd6\x98\x41\x56\x0e\xee\xde\x51\x21\xd5\x0e\x7a\x5a\x26\x17\x84\xa2\x28\xbf\x12\x34\x96\x98\xa0\x04\xb6\x34\xc0\x3f\x0b\xae\xbf\xa9\xc0\x6f\x64\xdc\xf8\x8d\x64\xd3\x96\xa6\x23\x15\x00\xb5\xfc\x3d\x08\x33\x78\x89\x68\xfd\xbd\x3b\x76\xb1\x5a\xa4\x71\x42\xa2\x8b\xfb\xb6\x3e\xed\xd3\x37\x39\xd3\x9b\x0a\xe4\xb4\xf5\xb3\xca\xd3\x24\x62\x50\x36\x95\x49\x75\xd8\xce\xa6\x02\x32\x2b\x58\xd3\x57\x11\x0b\xb5\x19\xb5\x22\x98\xa5\xac\x6d\xf8\xb5\xc1\xe3\x9c\xaf\x80\x1f\x5e\xab\x57\x22\xd5\xe0\x90\xc3\x31\x03\x8b\xa7\xf5\xde\x02\x99\x06\x60\x5a\x7b\xcd\x41\x9c\x61\x90\x9c\x92\x3c\x8b\x6a\x13\x18\x13\x92\x40\x80\xab\xfd\xec\x1f\xaf\x38\x42\xab\xf0\xfc\x8d\x03\xd7\xe1\xf6\x77\x89\xb8\x8d\xd4\x45\xa7\x8b\xea\x8b\xa8\xb6\x35\xe1\xdc\xfd\x47\x63\x3d\x81\x96\x22\x8b\x19\x69\xff\xba\xb6\xf1\x9f\x11\x5c\x34\x2d\x72\x10\xb6\x2e\x96\x4e\x2d\xd4\x58\xbd\xd3\xf2\x3c\xac\x35\x59\x4b\x5a\xf4\xb4\x76\x85\xe2\xa1\x3e\x8a\x68\xed\x0b\xa7\x62\xb5\xb7\xad\x30\x8f\x49\xd4\xa7\x22\xe4\x74\x3f\x83\x34\x77\xfb\x49\xde\x37\xe0\x17\x20\x68\xfc\xd0\x52\xe7\x34\xc9\xeb\x34\x8e\x81\x69\x1d\x9c\x6e\xaa\x1b\x84\x88\xc1\xb9\xa3\x03\xfe\xda\x71\x00\x04\xa1\xb0\xae\x71\xbf\x75\x34\x23\xde\xbb\x07\xa9\xe3\x8e\x57\x3f\x28\xeb\x53\x57\x63\xee\x1d\xb9\x16\x29\x04\xa4\xfa\x40\x05\x51\x7f\x08\x48\xb1\xc1\x8e\xec\xc0\xcb\xf1\xc3\x7c\xcd\xe7\xf7\xad\xc7\xf9\x1a\x86\x62\x07\x27\x23\xb0\x23\xdc\xbb\xcf\xfe\x66\xda\xa2\x2b\xcb\x08\xdd\xd5\x74\x46\x76\xd3\x8e\x14\x51\xbe\x5f\xcd\x06\x6c\x64\xa6\x3a\x96\x5b\x29\xc3\xaf\x69\x4a\x45\x74\xf3\xe0\xa0\x1a\xa2\x7f\xa0\x23\xf4\xb3\x91\x7f\x12\xc7\x30\xb6\x43\x5c\xb9\xca\x8b\x40\xe0\x6c\xe4\xf3\xd3\x6a\x7d\x69\x15\xee\x9f\x8d\x7c\xf9\x6b\x5d\x79\x9d\x15\x80\x8d\x7c\xf5\x73\x5d\x0d\x13\x21\x9d\x4f\x40\xc7\x3b\x5f\x57\x47\xc7\x26\xe7\x75\xd4\xef\xf5\xf3\x56\xf9\x08\xd8\xc8\xd7\xbf\xd7\xd5\xa9\x27\x2e\x60\x23\xdf\xbc\xf4\xf4\xdb\xce\xcd\xc8\x5c\x07\xa5\x36\xc4\xab\xf5\x63\x57\x01\xd8\xc5\xd8\xe5\xef\xce\x9d\x96\xfa\x33\x91\xcd\xd8\xaa\xc0\xe5\x67\x24\x71\xa4\xe6\xba\x5b\x5c\x8e\xf8\x98\xfa\xe3\x24\x5f\x0b\x5d\x8d\xd0\xba\x06\x58\x0f\xcf\x02\xab\x65\xa5\x69\x06\x21\xde\x00\xb5\x65\xad\x6c\x33\xe4\xd6\x5d\x81\xe5\x26\xe8\xbd\xc1\x00\x6d\x0c\xef\x3c\xc2\x3a\x8a\x77\xc7\xe2\x4d\xd6\xa8\x40\xe0\xcd\x87\x56\x85\x83\x85\xc3\xdd\x8e\xe3\x87\x7a\x6d\xe9\x70\xde\x6e\x7f\x6d\x69\x3d\x23\x75\xcf\x7c\xa7\x34\xdf\x69\x74\x29\x9d\x62\x66\x6d\xc1\x77\x24\x81\xdd\x9a\xe4\x25\xd7\x35\xdb\x69\xf1\x1b\x57\x5c\x2c\x6f\x53\x8e\x74\x07\x6e\xd4\x4d\x4d\x6f\x84\x0b\xb4\x86\x0b\x7a\x41\xe0\x1a\x41\x86\xf3\xbb\x92\x70\x39\xbf\x25\x44\x89\xef\x9b\x0a\x18\x2c\x74\x7e\xb5\xd9\x42\x67\x81\x82\x65\x73\x7e\xd6\x57\x04\xf7\x47\x8b\x35\x87\x4e\x8c\x48\x4d\xfa\x9e\x6a\x99\x66\x41\x8d\x4e\x3d\xd3\xbd\x46\x62\x52\xb8\x74\xaa\x72\xbc\x32\x97\x07\x58\x9b\x79\x31\xf6\xd2\xfd\xc2\x39\x7f\x55\xe2\x4d\x16\xc3\xac\xfb\x68\xa7\x19\xc9\xd3\x96\x56\xed\xdb\x8b\x6b\x64\x2e\x99\x13\xe5\x37\xa7\x2a\x13\x20\x32\x3a\x86\x75\x27\xc5\xc2\x3a\x79\x0e\x2e\xc4\xa5\xcb\x3a\xee\x55\x8e\xc8\x55\x89\x8b\x86\x0d\x37\xf4\xd2\x7b\x44\x65\xfe\x9c\xea\x30\xcc\xea\xb4\xe6\x5d\xb5\x79\x10\x7d\x44\x98\x8f\x45\x13\xc1\x68\xc4\x06\x26\x65\xcf\x40\xf4\xb8\xe2\x7d\x8b\x9c\x3d\x9f\xb2\x6b\xde\xa1\x8d\x7b\xee\x4b\xc5\xe6\x23\xa8\x31\x60\xd6\x08\x14\xf7\x55\x83\xc0\x50\x0f\xbb\xfa\x41\x0c\x6a\xaf\x56\x49\x00\xcb\x51\xc7\xe4\x34\xaa\x57\x31\xdc\x90\xa3\x5a\x29\xf3\x91\x3a\xe0\x7d\x7f\xcd\x01\x2f\x29\xd3\x9f\x84\xc2\xb7\x13\xe1\x35\x34\x76\x52\xa4\xba\xeb\x44\x44\x1e\x6f\x47\xf2\x12\x74\x01\x9b\x69\x39\x48\x12\xb2\x78\x25\x8a\xd4\x71\xf8\x02\x52\x17\x21\x31\x49\x90\xcb\xf9\x61\x65\xf9\x20\x38\x38\xa8\xc7\x5a\xab\x15\xba\x25\xe2\x35\x07\xd9\xc5\x09\x7d\x07\xf9\xfc\x04\x31\xed\xb8\xfb\x0a\x13\xa2\x62\x55\xfc\x90\x0d\x8a\x74\x84\x03\x93\x7a\x30\x58\xa9\x6e\x74\x5a\xc2\x5d\xf6\x21\x5a\x2c\x7a\x90\x19\x10\x77\xd8\x81\x68\x50\xd8\x1b\x80\x0c\xc6\xff\x40\x6c\x56\x23\xe8\x1b\x1e\x00\xad\xbb\x5d\x1c\x7a\xfd\x39\x94\xc8\xf9\x90\xf8\xf8\x8c\xb4\xaa\x2f\x6f\x5f\xe4\x35\xc9\x93\x44\x14\xa8\x6e\x91\x22\x0f\x74\xe8\x9b\x0c\xce\x8e\x2d\x53\x20\x89\x95\x39\xfa\x91\xef\xf9\x8f\xac\xed\x68\x32\x40\xaf\x21\xdb\x62\x21\x1f\xd6\x0a\xb6\x42\x37\xcd\x33\x61\x68\xb6\x2b\x3d\x85\x44\xf1\xaa\x58\xbd\x99\x1d\x6c\x05\x36\xc9\xa6\x00\xa3\x3f\x1c\xc1\x0f\xee\x1e\xe6\xed\x8a\xdd\x39\xa4\x14\x4c\x9b\xbf\x8b\x1c\xe1\x6d\x9a\x67\xc5\x5b\xbf\xc0\x71\x4a\x50\x4d\xe7\x51\x39\xb7\x4e\x30\xc1\xcb\x39\xc9\xe9\x49\x14\x41\x5a\x03\x7e\x1b\xe7\x3c\x07\x57\xef\xeb\x6a\x90\x86\xf5\xfa\x62\xb5\x5b\xdd\x6c\x0a\xa6\xd0\xf6\xa9\xbd\x5f\x2b\x9c\xd6\x17\x90\x2f\x2c\x03\xb5\x97\xa9\xca\xf6\x59\xd3\xad\x8b\xf4\xa0\x6f\x9d\x5f\xad\x9b\x96\x2c\x76\xb2\x00\x88\x21\x3c\x55\xb9\x42\xd7\x94\x36\x52\xa9\xc6\x72\x9c\x32\xff\x00\xe8\xb3\x6e\x63\x28\x95\xee\x3a\x94\x52\xa5\xce\x23\xfa\x09\x2e\xde\x82\xf5\x43\x5a\x8f\x39\x7c\x2d\xd6\x31\xd0\x6b\x19\xe5\x1b\x21\x0d\x76\x22\x4d\x0b\xaf\x5b\x96\x8a\xed\x9e\x97\xb6\xac\x3c\xca\xbc\x8c\xb1\xf2\x80\x65\x65\x67\xd5\xca\xa3\xeb\x8d\x7b\x97\xcc\x91\x58\x4c\xb5\x87\x1e\x2e\x11\x20\x0b\x2c\xc5\x20\x6e\x92\xfe\x99\x14\x6c\xb2\xb7\xef\x1b\x1a\x74\x90\x66\xaf\xb1\xe2\xd9\x85\x31\x59\x02\x2f\x61\x8d\x6b\x68\xbe\xf1\x52\xf8\x7b\x0e\x71\xdd\x7a\xab\xa1\xc6\xd1\xe3\x2f\x57\x41\x28\x3f\x3a\x10\xa4\xa0\x31\x7c\x8b\x0b\x23\xeb\xce\xc6\x67\xc2\x7a\xb0\x05\x3a\x37\xb0\x92\x73\xdb\xb5\xd9\x9c\x98\x63\xaf\x52\x06\x58\xbe\xc1\xf8\x33\x98\x00\x86\x2e\x6f\x70\x11\x62\x60\xfa\x93\xeb\x12\x23\x96\xd4\x71\x6b\xf1\x67\x8f\x7d\x8e\x93\x24\x7a\x89\x63\x88\x1d\x62\xc5\x86\x8a\xde\xe3\xa3\xff\x63\xcb\x19\x44\xb1\xa0\x7f\x1c\xd8\xad\x3d\xa3\x75\x31\x87\xf9\xe8\x1a\xcd\x1c\x64\x53\x84\xfb\x09\x9c\xb0\xbe\x7d\x6f\x2a\x2a\xf1\xf6\x67\x80\xbe\x33\xc8\x51\x6d\xdf\xa0\x4d\xfb\x1d\xad\x28\x16\xfc\xf7\xd1\xe6\xfc\x66\x88\x34\x7f\xf1\x81\xc2\x4c\xd3\xba\x7a\x50\x32\xdf\x1f\x8d\x46\x76\xaf\x7a\x81\xfd\xe0\xe0\xa0\x78\x2f\x57\x55\x3a\x47\x1d\x1c\x58\x70\x95\x18\x24\x3f\xb8\x84\x10\x03\x2b\x35\xfc\xa0\x48\xf5\xfe\xf1\xe3\x96\x4d\x58\x69\xe4\x83\x55\x31\x49\xf9\xe6\x1d\x04\xf1\xb2\x1e\x8e\xaf\xe3\x1c\xb7\x1d\x47\xbb\x55\x77\x8a\xee\xdd\x95\xad\x9d\x42\xaf\x93\x64\xec\xc0\xc0\x68\x33\x82\xfc\xcd\x37\xab\x20\x4c\x51\xb3\x65\xf9\xe6\x5b\xe3\x54\x18\xa5\x55\x77\x66\x31\x72\xd7\xd6\x2f\x23\x91\x55\x36\x10\x8a\x87\xe7\xda\x2a\x6f\xc3\x56\xf7\x9b\x5b\x6d\xc7\x2b\x2d\x7e\xec\xcb\x15\xe9\xa7\x20\x63\x28\x42\x29\xb8\x7f\xfe\x03\x6b\x50\xaa\x5d\x08\xb0\x03\xd1\x59\xbb\x5c\x6d\x1d\x42\x97\xe5\xf2\xdd\x0e\xca\xfb\x25\xac\x73\xb8\x68\xdd\x07\xb4\xf8\x04\x8e\x05\x31\x94\xf1\x38\xdb\x1c\x53\x50\x44\xf0\x77\xa4\x45\xb6\x24\x0a\xa0\x96\x5e\x66\x80\xbe\x9c\xf3\x0b\x52\x75\xb5\x75\xd3\x7e\xe8\xeb\x46\xda\x17\xdb\x94\x0a\x74\xe2\x99\x2d\xce\xfe\x76\x5c\xe0\xa4\xef\xc1\x5a\xd3\xac\xdd\xac\xdb\xdb\xd2\x08\xc0\xb4\xdb\xff\x8b\x22\xaf\x01\x76\x48\x34\x2b\x85\xde\xb8\x2e\xc1\x0e\xa3\x9b\xb8\xe5\xb6\xba\x99\xfd\x8e\x34\x6d\x5b\x5f\xee\x75\x27\x23\x9f\x67\x24\xad\x5d\x25\xea\xa5\xde\xbb\x6d\xb2\x6f\x62\x5d\xf4\xca\x56\x68\xb6\x17\x55\x91\x85\x9b\x0b\xb6\x92\xfd\x76\x01\x7d\xfb\x1e\x2a\x22\x97\x6e\xb8\x77\x9a\x14\xd9\x3b\xd6\x5a\xd7\x77\x15\xc8\xd9\x8c\x34\x4b\x65\x62\x27\x79\xe9\x42\x3c\xdb\xc9\x2f\xdb\xe8\xd0\x74\x2a\x80\x45\x07\x2e\xa2\x59\xa8\xe6\x1d\x1a\x60\x59\xab\x6a\xbf\x72\x63\xe2\x29\x02\xc2\xdf\x57\xc7\x00\xbd\x2f\x7e\xea\x62\x14\x78\x23\xa7\x1e\x82\x59\x86\xc6\xb9\x43\xb2\x55\xd8\x44\x09\xd3\xf4\x0d\x59\x76\x4b\x9d\xa3\xcd\x67\x9b\x85\x2f\x6e\xd1\x5a\xd5\x28\xab\xa5\x44\x9c\x81\x49\xeb\x18\xb4\xa9\x4b\xb3\xce\x50\x1b\xb7\xb6\x30\x06\xcf\x2c\x60\x55\x71\xdb\x02\x64\x3b\x5b\x60\x17\x2c\x71\x06\x33\x40\xa5\x13\x40\xad\x6d\xb9\x00\xed\xcd\xaa\x32\xd5\x16\xb5\x09\x77\x6d\xb8\xf2\xfd\x9a\xa1\xaa\x42\xd5\x46\x8d\x41\x74\xcd\x46\x5d\x1b\xff\xb7\x36\x6b\x4a\x55\xdb\x35\x32\xd6\xba\x9c\x45\x19\xd9\xaf\x11\xb3\xa8\x52\x35\xb0\x1a\xfc\xa9\x41\x56\x7f\x59\x03\x5c\x53\xac\xda\xf4\x73\x85\x78\xb5\x9b\xa2\x7c\xdf\xde\xac\x2e\x54\x83\xaf\xc6\xd6\x1a\x7c\xb5\x43\x46\x3b\x7c\x75\xa9\x6a\xbb\x85\x05\x77\xb5\x61\x83\xfe\xed\x2d\x17\xc5\xec\xa6\xd7\x92\xd9\xfb\x46\x5d\x77\x70\x0d\x6d\xbf\xe7\xea\x3c\x23\xcd\xf4\x88\x9f\x3b\x1b\xb9\x20\xc3\x18\xb1\xfa\xa9\xdf\x56\x03\xc4\xf3\xba\xa0\xa5\xad\x02\x27\x21\x1f\x1c\x9e\x97\xed\xbd\x60\x90\x2c\x19\x8a\x36\xaa\x24\xc3\x5e\x6e\xd4\x4d\x14\x91\xdc\xe5\x2a\x2a\x8c\x57\xea\xaf\xf9\x02\x36\x30\x95\x5b\xcb\x9a\x3e\xb9\x20\x20\xd4\x59\xe0\x75\x4e\x97\x36\x6b\x31\xab\xc9\x01\xcb\xd0\xbc\x17\x94\x1c\x82\x8a\x76\xd5\x57\x3b\x2c\x98\x49\x8b\xc3\x54\x4e\x1a\x99\xa1\x06\xda\x4f\x4d\x11\x2f\x52\x12\xcb\x30\x6c\x87\x13\x92\x4d\x09\x3b\xb4\xe3\x38\xde\x5a\xe8\x96\x67\xa6\x93\x92\x64\xea\x54\xc5\xd5\x73\x46\x68\x13\x92\x6f\xc9\x90\x34\x87\x71\xe3\xa7\x93\xd4\xc2\x07\x45\xe0\x1d\x39\x33\x67\x1e\x90\x92\x58\x5d\x75\xef\x07\x03\x59\xe3\x2d\xa0\x74\x41\xb2\xb8\xd7\x1c\x79\xa7\x06\x3e\x15\x34\xf3\xd6\x20\xf7\x8e\xb7\x5f\x5c\x26\xda\x43\xda\x8d\xe1\x84\x64\xf0\x35\x27\xd3\x1b\x59\x2a\xb6\xc4\x64\xdb\x6f\x8c\x25\xa7\x04\xf8\x2c\x03\x98\x22\xde\xd3\x7b\xd2\xf3\x79\xe5\x41\x42\xa6\x22\x30\x6a\x28\x22\x16\x16\x6b\x5f\x09\x57\xc5\x24\x3a\xab\x53\x05\xf2\xb9\x8b\x17\x14\x2c\xdf\xcf\x00\xbe\xa0\x7e\xb8\x7f\xac\x02\x2a\x55\xad\x3b\x8b\x61\x9b\xf4\x21\xbc\xb2\x70\x8e\x3d\xa1\x6f\x67\x19\xa0\xb0\xe7\x7f\x27\xd6\xc8\xd3\xeb\xea\x88\x50\x03\xe2\xf8\x59\x02\x28\xed\xf9\x63\x10\x5d\x70\xea\x84\xe3\xbe\xf4\x96\x62\x33\x38\x87\xfd\x04\x4d\x67\xcc\x8b\xfb\x93\x04\x5e\x79\xbf\xe5\x94\xa1\xc9\xb2\xaf\xc4\x67\xfd\x08\x62\x06\x33\x0f\x24\x68\x2a\x12\xce\xcd\xa9\x7a\xc5\x27\x1f\x43\xd7\xc0\xab\x03\x90\x71\x6e\x6e\x69\x0c\x1d\x71\xd8\x75\xa9\xde\x75\xb6\xb7\xf7\xaf\x5f\x3d\x05\x19\x1d\xe8\xbe\x7a\xd7\x28\x1e\xfa\x93\x7f\xfe\x31\x8e\x8e\x2f\xfe\xe1\x4b\xfd\xec\xf0\x3f\xaf\x7d\x2a\x12\x14\x52\x7f\x78\x76\x1e\x0a\xc5\x10\x14\x41\x07\xfc\xe1\xd9\xd9\x57\xa1\x1f\xa3\x4b\xff\x3c\x3c\x3b\x3e\x0a\x7d\x11\x73\xda\x0f\x05\xca\xe9\x29\x9f\x87\x67\x7f\x3b\x0f\xcf\x8e\x42\xff\x97\x5f\xf0\x2f\xbf\x30\xfe\xa2\xa5\xd6\x98\x5c\xd5\xaa\xb4\xd6\x4a\xc8\x94\xb8\x6a\x14\x95\xd0\x7c\xaa\x2b\xd1\x2c\xf2\x43\xff\x10\x50\x0a\x19\x3d\x44\xf3\xe9\x21\xaf\xde\x4f\xf3\x2c\x4d\xe0\x20\xc5\xa6\xa0\xba\x68\xfb\x26\xc2\xa3\x7a\x0f\x12\xe6\x78\xab\xc7\x82\xe6\xd3\xfe\x24\xc9\x51\xac\x07\xf4\x4d\xe3\xa0\x1c\x33\xc9\xb3\xc4\x9a\x08\xdf\xe0\x10\x33\x14\x01\x06\xbd\x05\x62\x33\x4f\x94\x0f\xcf\x1e\x3f\x0e\xcf\x34\x65\x90\x89\x3a\x7e\x20\x94\xf9\xe7\xe7\xe1\x04\x24\x14\x3a\x7a\xf5\x1b\xde\x35\x02\x14\xe1\xbe\xc8\x62\xda\x0c\x56\x3e\x8e\xaf\x42\x5f\x62\x6b\x3f\xd5\xbb\x39\xc4\x79\x92\x84\x67\x67\xea\x03\x2f\x29\xca\x01\x2d\x72\x3f\x7b\x7c\x1c\x1e\x85\x67\xe7\xe7\x61\x51\x84\xd7\x39\x3f\xb7\xc6\xdf\x3a\xf6\xf2\x8b\xea\xd3\x79\xe8\xcf\x00\x7d\x71\x09\x12\x7f\x28\x9a\x5b\xfd\xa7\x54\xf6\x5f\xcb\xe0\xe7\x42\x1c\xd0\x61\xdf\x0d\x66\x63\xea\xaf\xdd\xac\x17\x2a\xca\xe6\x9d\x9d\xd8\x9d\x07\xf8\x69\xcf\x44\x15\x10\xb7\xe9\x4c\x5c\x73\x64\x5e\x44\x1c\xf7\x9b\xbe\x26\x24\x02\xc9\x29\x23\x59\xa1\x62\xa8\x95\xf9\x3d\x87\xd9\xf2\x2d\xc8\xc0\x9c\x8a\x85\x87\xc3\xeb\x0c\x4e\x32\x48\x67\xf2\x20\xde\x3f\x5a\xad\x8c\x35\xae\xef\xbb\x0f\xe9\x22\x7b\xe1\x0c\x51\x93\x3f\x12\x2e\x54\x8a\xd1\x77\xa7\x3f\xbf\x1d\xbc\xcd\xc8\x1c\x51\x58\xe4\xca\xc4\xb2\x12\x1d\xc1\xfa\xb9\x0e\x8b\xc3\xd5\xaf\xc7\x1a\x65\x03\x6b\xd4\x03\x5e\x28\x78\x52\x7f\x37\x54\x77\x74\x3f\x08\xf5\x2f\x91\xe4\x60\x6a\x5a\x0e\x0e\x0e\xe0\x9a\x88\xae\xd4\x1d\x2b\xf6\xe3\x47\xcc\x59\x5e\x59\x59\x2e\x02\xe7\xc3\x20\x8b\x78\xd9\x09\x4a\x60\x2f\x18\x70\xa2\x54\x4b\x0d\x6a\xa6\x6b\x6a\xcd\x41\xaa\xeb\x30\x3e\x73\x69\x53\xa0\x03\x84\x8b\x21\x69\xe2\x26\x39\x14\xf5\x44\xb2\xe1\x85\x09\x7b\x4b\xab\xdd\x05\xd7\xb0\xc2\xdc\x48\xf1\x9c\x88\xc5\x6a\x0f\xca\x01\x5d\x91\xa6\x36\x78\xa2\x17\x41\x2e\x3e\xe7\xd7\xe5\x87\x61\xed\x03\x07\x85\xb5\x60\x05\xe0\xb1\x90\x8b\x96\x23\x77\xba\x4b\x3a\xda\x94\x95\x65\xd4\xd0\x32\x4b\x28\x31\x4c\xa2\x6b\xc1\x4b\xc9\x35\x35\xc8\x6a\x7d\x50\x8d\x76\xe0\x8b\x0d\x15\xb8\x3b\xae\x62\xfc\xe3\xd3\xdf\xde\x7e\xfd\xe3\x71\x37\xae\xe2\xcb\xd0\x47\x13\x5f\x9d\x1d\x88\xaa\x54\xf9\xfc\x99\x9f\x7d\x5a\xe6\x21\x40\xc3\x29\xbe\x64\x6e\xf5\x41\x22\xcf\xa0\xeb\x4a\x93\x47\xa1\xef\x79\x9e\xd7\x7c\xec\x51\x4a\xea\xcc\x87\xa7\xfe\x53\xd5\x52\xf7\xf9\x8c\xf0\x54\x9e\xd0\x7a\x27\x0d\x06\x83\xf2\xc1\x54\x69\xa7\x95\x23\x19\xe7\x74\x29\xa2\x2a\x0c\xa6\x68\x52\x67\x24\x74\x33\x95\x53\x2f\xe5\x34\x02\x32\xbe\x17\x86\x67\xe7\x2b\x09\x0b\xfb\x94\xdc\x10\xa6\x0a\x87\x3f\x31\x50\x35\x00\x3d\x8b\x24\x20\x82\xbd\x09\x40\x49\x9e\xc1\x56\xa0\x9a\x76\x34\x8f\x64\xe6\xa4\x76\x8a\x93\x43\xda\x04\x9c\x5b\x33\x17\xb5\x0d\xd8\x8d\xbd\x10\x78\xdd\xc0\x5b\x84\xee\x40\xee\x3b\x0c\x3b\xdf\xc4\x74\x18\x69\x60\xd8\x7e\xf7\xb5\xe5\x00\xad\x0c\x41\x71\x2e\x84\x48\x26\x3e\x7e\x96\xc1\x98\xaf\x3e\x48\xe8\x70\xff\x38\xcc\x20\x85\xf5\xd8\xc1\xf2\x48\x71\x86\x63\xd7\x96\x6c\x14\x32\x35\x67\x04\x69\xef\x5a\x8a\x1c\x7d\x3f\xd4\xfc\xea\xd0\x17\xe6\x94\xee\xd6\x44\x80\xf4\x86\x96\x72\x0a\x33\x19\x95\xbf\xd2\x98\x0a\x23\xaf\x15\x4b\x83\x19\x04\xb1\x3c\xc4\x4f\x55\xbc\xd5\x9e\x7f\x96\xaa\x75\x18\xc5\xe3\x19\xa0\xb3\x73\x3f\x18\xa8\xab\xe3\x1e\x33\x52\xe1\x83\x03\xff\xfa\x7a\xf0\xfc\x29\x2f\xb1\x5a\x09\xcb\x28\xc7\xf5\x5e\xf0\x5d\x1c\x82\x2c\x4f\x4b\x91\x8e\x05\xee\xb8\x25\x0e\x7b\x68\x62\x29\x07\x1b\x22\xda\x07\x36\xf7\xc3\x4b\x5a\xd3\xf7\x05\x20\x7d\xbe\x4b\xf4\x2d\xde\x12\x5a\x74\x3b\xe5\x63\x13\x3a\x1f\x56\x4f\x79\x58\xc8\x86\x5c\x73\x35\x47\x7e\x08\x57\xc1\x40\xe6\xb9\xb7\x71\x43\x4b\xe4\xaa\x98\xe4\x87\xfb\x47\xfc\xe4\x6d\x99\xbd\x5c\x72\x9d\xa4\xdb\x35\x73\xbd\xf0\x37\x9b\x7c\x12\x83\xd4\x0f\xf1\x27\x9e\xf8\x7a\x46\x41\x12\x9c\x7b\x25\x3f\xbb\xf9\x65\x80\xce\xc8\xe2\x95\xd8\x0d\xfb\xc7\x9f\x88\xd3\x57\xe1\x0a\x5a\xf9\x70\x15\xb6\xa0\x81\x17\xd7\xec\xa8\x19\xbc\x10\xbc\xd5\x98\x73\xb1\x60\x35\xae\xbc\xce\x26\x0b\x19\x60\xc1\x58\x5f\xd7\x2f\x48\x8a\x89\x5a\xad\x24\x8b\x1a\xda\xf3\x64\x03\x30\x26\x19\x93\x1e\x43\x94\x24\x90\xf7\xdb\xc3\x7c\x38\x1b\x77\xa3\xf8\x0a\x81\x8a\x2a\x5c\x92\xc2\x0e\xd7\x94\x8f\xe4\x68\xda\xf8\xe5\x62\x79\xad\x5d\x68\x9a\x08\x56\x5b\x88\x3c\xc5\x79\xd3\xbb\x91\x98\x53\xf5\xfe\x6f\x28\xdc\xac\x07\x8b\xae\xd2\x97\xbb\xbb\x85\xfc\x78\x94\xfd\xfd\xfd\xf4\xe4\xfb\x5b\x91\x6d\x96\x99\x6c\x9b\x01\x2d\xd0\xf1\xbc\x85\x93\x5e\x27\x97\x6b\x13\x8f\x6e\x2b\x21\xbd\xaf\x42\xd2\xbb\x91\x93\x36\x88\x4a\x8b\xc1\x68\xa1\xe8\x17\x6e\x89\xa6\xbe\x87\x9e\x9d\xf9\x22\x03\xd4\x99\x4f\xf3\xf1\x1c\x31\xb1\xec\xed\xe0\x77\x4c\x93\x77\xd6\x97\x91\x05\xd6\xe0\x59\x03\x0b\xb7\x1e\xd9\x1c\x03\x49\xc0\x58\xf8\xc3\x8a\xa1\x4c\x48\xa6\x10\xef\x85\xe0\xf8\x8a\x71\x98\x67\xf7\xe2\x39\x04\xc5\x51\x4e\xfb\x08\xa7\x39\x2b\x84\xc4\x4c\x84\xe0\xf0\xc5\x3e\xe6\x88\x11\xfb\xc5\xec\xd3\x04\x44\x70\xa6\xc2\xe1\xf0\x21\x90\x88\xcc\xd3\x04\x32\x81\x4f\x9a\x03\x95\xf3\x97\x0f\x7c\x05\x8a\xa1\x2a\xf8\xa9\xcb\x93\x37\x27\x39\x85\x2c\xe3\x6c\x97\xcf\x51\x48\xb1\x71\x9e\xae\x5a\x15\x3e\xb7\xdd\xa9\xdb\x80\x2f\x38\xc8\x5d\x02\xfe\x83\x66\x38\x0b\xd8\xff\x04\xd9\x82\x64\x17\x9e\xfd\xe9\x8e\x96\x81\xc1\x2b\xa6\x57\xc1\xb0\xc6\x7a\x21\x3e\x14\xbc\x72\xe3\x5a\x60\x35\x97\x98\xcc\x01\xc2\x9e\xc5\x5e\x5b\xcd\x6d\xb2\x38\x15\x10\x37\xc3\x66\xf3\x8d\xb7\xd1\xba\x19\x05\x67\xd1\x84\xfd\xaa\x71\xbd\xac\xc5\xda\xdd\x32\x15\xfa\x19\xb9\x54\xe6\x59\x2f\x95\x19\x5a\x79\xa9\xac\x05\x2a\x9a\xf0\x65\x6e\x75\x4b\xeb\xd3\xa4\xbb\xe9\xb8\x04\xe3\x9c\x31\x49\x2f\xed\x55\x18\x33\xec\x8d\x19\xee\xd3\x5c\x84\xaf\xf0\x26\x04\xb3\xfe\x02\x72\xd6\xa4\x3f\x26\x49\xec\x71\xdc\xeb\xe7\x69\x0a\x33\xc1\x48\xcf\x59\xff\x4b\x73\x30\x49\x50\x69\xea\x6b\x56\xe0\x14\x4d\xb1\x87\x70\x67\xa4\x38\x36\xc3\x39\x7b\xfc\xb5\x12\x9d\xe5\x38\x81\xe2\x8d\xda\xfe\xf5\xeb\x16\x07\x2a\xc2\x97\x88\xa2\x71\x02\xb5\x04\x2d\xf4\x3d\x13\x27\x94\x8f\xf5\x8b\xd2\xa1\xf0\x52\xb6\xe2\x45\x76\x33\x55\x3d\xd7\xae\x89\xbe\x6a\x33\x41\xf8\xa2\xcf\x08\xe7\xc6\x04\xff\x5e\xd2\xcb\xb9\x9a\x51\x2a\xfc\x25\xc9\x33\x83\x16\x4f\xba\x08\x21\xbb\xed\xda\x26\x6d\x65\x37\x81\xe7\x4e\x94\x81\x65\x3e\xb5\xb3\xb0\x8e\xe4\x77\x67\xbb\xd3\x71\x78\x0f\x49\x0f\xd8\x7e\xfb\x2a\x24\x2d\x6a\x0b\x72\x2e\xbf\x7e\x13\x6e\xcc\xa7\x56\x03\xcd\xdd\x5d\x4b\xfe\xf9\xbf\x3f\xff\xfd\xf0\xe9\xff\x5e\xde\xe4\x5a\xd2\x28\x69\x77\x48\xd9\x5f\x91\xe9\x14\xe1\xa9\x47\x72\xe6\xd4\x54\xec\x40\x4b\xb1\x33\xbd\x7c\x65\x71\xba\xed\x45\x71\x81\xff\x13\x99\xd1\x59\x22\x66\xf3\xfb\x19\xc1\x13\x94\xcd\xf9\xab\x79\x4e\xd9\x6b\xc0\xa2\xd9\x70\xff\xb8\x90\x00\x57\xa4\xe6\x4e\x21\x57\x93\xf1\x9d\xa8\x5b\xd8\xde\xf1\x52\xe2\x32\x1b\xb2\x75\xb2\x26\x25\xab\x2c\x19\x9d\x75\x50\x51\xca\x15\xfb\xb4\xd4\x69\x5e\x93\x02\x16\xd2\x57\x72\x01\xf1\x4d\xe4\x3f\xef\xf8\x7c\x3e\x5b\xb9\xb5\x2f\xf7\xdd\x51\xdc\xbf\xff\xf8\xb7\xbf\xfe\xf1\xec\xe7\x9f\x3e\x1b\xb9\xfd\xe9\x8d\xdc\xd4\x65\x4a\x93\xcd\xbe\x40\xbd\xe2\x56\x25\x1f\xdb\xec\xd4\x74\x89\x66\x33\xb5\x5b\x32\x49\x2b\x6f\x92\x8e\x27\xdf\x27\xa5\xa0\xeb\x46\x23\xe2\xa8\xde\x5b\x96\x58\x8e\xae\x06\x31\x57\xf6\x77\x4b\xc5\xae\xd1\x35\xee\x8b\x9a\x7d\xf1\x69\xf7\x7a\xf7\x12\xa0\x2d\x95\xfb\x1a\x96\xba\x8b\x42\xac\xc1\x24\xdd\xf2\x74\xb0\x1a\xf1\x83\x41\x94\x40\x90\x9d\x24\x49\xaf\xae\x85\xd1\x59\x73\xad\xb8\xba\x2f\x63\x3f\x64\x03\x14\xdb\x99\xc7\x69\x92\x4f\x85\x6b\x44\x92\x4f\x4b\xef\x61\x86\x40\x22\xbe\x88\x5f\xdb\xdb\xa7\xeb\x86\x64\xd3\xa2\x2d\xf3\x4d\x76\x2e\xbe\xc8\xfe\x6b\xc3\xe5\xdf\xf4\xe3\x16\x6a\x9f\x9e\x7f\xca\x51\xc9\x13\x81\x54\x36\x3b\xeb\xc9\x64\xd2\x5f\xcc\x10\x83\xbb\x3a\xb8\xed\x06\xbb\x6d\x80\xbb\x3b\x85\xff\xf7\xfd\xbb\xe5\x3f\xbf\x7f\xfc\x63\xb7\x53\x58\x11\x72\x82\xc7\x04\x64\xb1\x1c\x7c\x5f\x07\x4c\xd7\xe4\x5c\x23\x82\xb5\xba\x12\x01\xce\xb5\xdc\x44\x95\x38\x3f\x57\x87\x8c\x29\x68\xde\xc8\xf2\x0e\x52\x7f\x03\x5a\x5e\x06\x75\x37\x5a\x4e\x29\xb9\xbf\xb4\x93\x92\xfb\x25\x4b\xf8\xf4\x84\xaf\xb8\x4d\x85\x78\xa4\xae\x0c\x37\x30\x83\x89\x61\x44\x62\xf8\xe1\xdd\xcb\x67\x64\x9e\x12\x0c\x31\xeb\xe1\x60\x3b\x03\xd8\x06\xfd\x7f\x71\x1d\xdb\x86\xc2\x9d\xbe\xe9\x42\x51\x28\xb9\x43\x7a\x92\xfd\x9c\x7c\x78\xf6\x21\x7e\xf9\xa9\xe4\x28\xa7\x68\x8a\x11\x9e\x7a\x08\xdf\x7b\x31\x8a\xbd\x30\xdd\xa8\xcf\x1d\x6a\xe9\xff\x7e\xfc\x4d\xfe\xe2\x6f\x5f\x76\x3f\x16\x8e\x42\x9f\xe4\x2c\x11\x6c\xfa\xce\x48\x76\x67\x70\x45\x39\x65\x44\x3c\x2a\xbf\xf1\x3b\xa3\xda\x46\xf6\xb3\xd9\x70\x1f\x18\x0b\xdc\x46\xc6\x15\xd5\x1d\x20\x7a\x12\xcf\x11\x56\x91\x15\xdb\x1c\x22\x37\x27\x85\x2a\xb8\x40\x3b\x39\xac\x43\xf9\xee\x36\xd4\xbb\x9f\x8e\xa2\xbf\x7f\xf7\x0d\xdc\x68\x43\xd5\x26\xd0\x17\xee\xf0\x66\x87\x6d\xb3\xaf\x9a\x81\xb2\xc9\x26\xe3\xd8\xd8\xd5\x28\x1a\x13\x86\x26\x08\x56\x03\x22\xdc\xb6\x61\xb4\x72\xcf\xdf\x4e\xef\xb1\x4e\x6b\xa2\x37\x39\xc1\xa7\xe0\x12\xde\xdc\x8c\xb1\xec\x9d\x33\x40\xf4\x7b\x31\x7a\xb1\x81\xfc\xe0\x89\xfa\x2c\xa7\xc4\x37\x02\xb8\x84\x27\x39\x9b\x09\x01\xf4\xb4\xe7\x90\x08\x0b\x1f\x97\xa1\x72\x93\x21\xf8\x74\x89\x23\x63\xd7\xe8\xb6\x48\xee\x38\x58\x71\x03\xac\x8c\xc6\x6a\xdc\xe5\x9e\x04\x7b\x4c\x39\xdc\xc8\x81\xbc\x7a\x7e\xf2\xf6\x56\x06\xc1\x1b\x5e\x37\x00\x19\x33\xb5\x7e\x7d\xae\x30\x8c\x52\xe7\xd1\xb3\x6f\xca\x4e\x1b\xd2\x90\x95\x9e\x9b\xca\xcb\x85\xd2\xa5\xe5\x53\x10\x2e\x10\x8e\xc9\x62\xa0\x53\xe9\x0d\x66\x19\x9c\x8c\xfc\x43\xbf\x55\x56\x5f\xd9\x85\x0f\xec\xe0\xb8\xd9\xbe\x6b\xdf\xd3\x6b\xef\x16\x0d\xdb\xab\xc3\x09\x55\xb3\x7c\x2d\x70\xb6\x29\x63\x6d\x88\x47\xd7\x36\x6a\x0c\xd7\xc5\x14\x08\x0b\xd4\x18\xf2\xbb\xf4\xaa\xeb\x6e\xa0\xf5\xdd\x30\x85\xcc\xa2\x0f\x8e\x2d\xa1\xcc\xa3\x71\x19\x7b\x75\x12\x5d\xb7\x3d\xb4\xeb\xa3\xd8\xcb\xd8\xc2\xea\x11\x2b\x67\x60\x75\x06\x49\x28\xd7\xf0\xfd\x15\xed\x61\xb5\x43\xb7\xe0\x05\x4a\x7e\x4a\x9d\x59\x82\xbb\x65\xb0\x9f\xbe\xf8\xed\x9f\x17\x4b\xfa\x6e\x23\xb9\x4b\x79\xf4\x7d\x0a\x19\x43\x78\x4a\x0b\xd1\x4b\x99\x34\xf9\x36\xe5\xf1\xe5\x51\x25\x7f\x28\x5a\x69\x1e\x7e\x34\xf6\xe2\xbe\xa6\x90\x85\xb4\x46\x9b\xd0\x96\x1a\x37\x92\x1a\xfb\xab\xea\x4b\x7c\x6b\x90\xe4\xab\x51\x68\x8b\x9c\xb6\x72\x7a\x90\x1d\xcb\x9a\x39\x74\x28\x6f\xa6\xd8\xa0\x50\xd8\xee\xca\xd2\x80\x5c\x1b\xf0\x55\x77\x76\x69\x69\xa5\xca\x9d\x86\xae\x84\x20\x9b\x73\x85\xf5\x4f\x8c\x90\x84\xa1\x74\xb7\x01\xb4\x9a\xe6\x6e\x82\x23\x85\xd6\x29\x25\x27\xd3\x6e\x40\xa0\xc4\x9e\x41\xa8\x68\xd2\xe9\x65\xd4\x50\xd2\x10\x2d\x13\xec\xb0\xb9\xac\xc9\x30\x1c\x84\x71\x46\xd2\x98\x2c\xb0\x38\x0c\x44\x34\xae\x1a\x4d\xfc\x95\xe6\x29\xcc\x06\x20\x4d\x13\x99\xe8\x30\x04\xd9\x54\xd4\xa7\x81\x2d\x52\xa7\xa3\xb3\x73\xf9\x1c\x8b\xa8\xac\x42\x4a\x3e\x12\x84\xc8\x0f\x95\x13\xdd\x6a\x15\x26\xce\x54\xa1\x5a\xbc\x65\x0b\xb7\x6a\xc9\x40\x8d\x0c\x4c\x39\xcf\xa9\xa3\xe4\x58\xa5\xe5\xf4\x45\x10\x5a\xdf\xf8\x99\xd8\x6f\xc5\xe6\x28\xb1\xd4\x33\xb2\x68\xd0\x6f\x58\xc3\x1f\xa0\xd8\x0f\x99\xe0\xe9\x54\xa8\xd9\xf5\xc7\xb3\x55\x5d\x1c\xd0\xbc\x91\x90\x8e\xe0\x80\xc3\x20\x24\x23\xd7\x7c\x26\x08\xc7\x4f\x97\x3d\x61\xec\x89\x03\x3b\x9f\xe3\x1e\x1d\x8d\x46\xe4\xe0\x40\xc4\x4c\xa7\xea\x2f\x79\xd2\x33\xda\x82\xbf\xc8\xd8\xc6\xb2\xd7\xfe\x9c\xc4\xe2\x6c\x16\x7f\x7b\xfe\x0c\xc5\x25\x45\x45\x6b\xe1\x18\xd1\x94\x50\x5e\xbe\x3a\xc4\xc2\x60\x44\xd6\xec\xd5\x5c\xda\x8c\xca\xa6\x0a\x3c\xdf\x37\x8a\x18\xfb\x93\x32\xfe\x15\x1f\x9d\x1d\x89\x4b\xe8\x2b\x44\x59\x8d\xb1\x80\xda\x6f\x0f\x0e\xa4\x93\x11\x07\x9c\x9d\xeb\xf1\x71\xf0\x6d\x0f\x51\x95\x99\x13\x07\x1f\x3f\x22\x3a\xe0\xe8\xdd\x83\xf2\x77\x11\x2d\x00\x06\xc1\xc1\x41\x0f\x8f\xce\xce\x2b\xda\x22\x7e\xdc\x09\x92\x14\x0c\x0b\xd8\x29\xa8\x49\x10\xaa\x08\x61\x85\xca\x07\xd1\xbe\x32\x50\x13\x41\xad\xa2\x9c\xf6\x04\xde\xbc\x10\xd4\xa9\xe1\x2a\x22\x91\x6e\x46\x16\xff\x00\x88\xf5\xa4\x57\x29\x1c\x5d\x8b\x2e\x5e\x8a\x8d\x13\x03\x06\x86\xbf\x0e\xd2\x24\x8f\x2e\x5c\x5b\x41\x18\x08\x07\xe1\x04\x25\x4c\x85\x6b\x57\xdb\x60\xb5\x57\x8f\xb0\x7f\x7a\x19\xf9\xc1\x40\xd2\xcb\x9e\xcb\x1f\x93\x95\x38\x20\x59\x9c\x93\x87\x84\x80\xf8\x3b\x94\xc0\x1e\x2c\x28\xe9\x60\xc6\xe6\x89\x5c\xdd\x19\x59\x3c\x27\x58\x52\xf1\x6e\x87\x90\xa6\xe4\x0f\xec\x66\xb1\x19\xcd\xde\xa9\xfc\xaa\xc1\x2f\xce\x6b\xde\xab\xd6\x16\x5a\xa7\x6f\xfd\x44\x1b\x6a\x1b\x7d\x84\xa4\xde\x1d\x19\x6e\x8d\x56\x77\xa8\xeb\x3c\xfe\xe3\xe4\xc7\x67\xdf\xff\xaf\x93\xe7\xd6\xb8\xd1\x12\x08\xa3\x50\x55\xd2\x75\x36\xde\xcd\xc6\x37\x19\x59\x6c\x66\x77\x14\x91\x64\x63\x77\xb3\x4b\x04\x17\x7d\x03\xfa\xb5\x8e\x67\xb3\xe3\x9a\x89\x14\xc7\xcf\xfe\x0c\x82\x58\x46\x03\x2f\x05\x75\x30\x68\xe3\xcb\xb3\xde\x2f\xf3\xcf\x9e\x4c\xdd\x6b\xcc\x88\x8e\x0a\x07\x8d\x16\xaf\xaf\x0d\x7d\x11\xb4\x6f\x00\xc1\x51\x82\xa2\x0b\xbf\x8d\xdb\x97\x64\xde\xdc\x0b\xd4\xed\xc0\x72\x52\x28\x7a\xd4\xae\x55\xa2\x86\x07\xa8\xc7\x51\xa9\xc5\x21\x6d\xad\x05\x94\xf3\xc5\xb6\x8b\xd6\x5c\x57\x1e\x7c\x09\xa2\xcc\xe9\xa8\x06\x41\x34\xdb\x14\x85\x3b\xa0\x99\xe8\xd5\x6b\xc0\xe8\x0e\xf5\x23\x92\xf4\x8f\x1f\x7b\xfc\x0f\x9d\xf7\xff\xd6\xda\x8a\xd3\x59\xc2\xe4\x6a\x7f\x7c\x1c\x1e\x87\x67\xfc\xbc\x15\x97\x4f\xf9\xa4\x8d\x08\xf8\xcd\x58\x76\x79\x1e\x9e\x09\xcb\xba\xf3\xf3\xda\xa4\x8f\x4d\x35\xed\x40\x65\x64\xec\xad\x2e\x15\x8e\x31\xb6\x3a\x16\x75\x81\xc4\x97\xd2\xb1\x26\x43\xd3\x19\xeb\x02\x94\xb2\xbb\x0c\x8a\x95\xaf\x8c\x5f\xe2\x28\x25\x92\xf7\x2b\xc0\x12\xe0\x29\xed\x33\x59\x0c\x45\x04\xf7\x63\x7e\x4b\xd6\xe6\xa5\x73\x14\xc7\x89\xb1\x44\xe4\xbc\x4f\x9f\x91\xe9\x54\x58\x2f\x16\x37\xb6\xe2\xa3\xf0\x87\x12\x57\x19\xfe\x3d\xad\x19\x3c\x8a\x51\x79\x92\x21\x6a\xf6\xe7\x94\xb7\x81\xda\xa0\xdb\x61\x62\x99\x64\x56\x01\x3d\x07\x4c\x18\x9f\x88\x09\x52\xf7\x6c\x24\xef\x5d\xfa\x04\xb2\x29\xe4\x13\x71\x31\xe9\x76\xc1\x31\x88\x2e\xf8\xbd\xcd\x97\xa7\x08\x8a\xac\xe5\x93\x95\xba\x78\x0a\xb6\x22\x50\x33\xed\x6c\xf3\xce\x39\x76\x38\xfa\xac\x25\x56\x6e\x7a\x25\xae\x0e\xcd\x70\x30\x90\xb6\x5f\x32\x30\x46\x38\x86\x57\x7e\xe8\xf7\xcd\x61\x93\x11\x01\xee\x18\x81\x84\x4c\x37\xa3\x77\xa2\xf1\x7e\x51\xd3\x6e\x4e\xdf\xa0\x37\x3d\x34\x65\x9b\xca\xb4\x7a\xed\x99\xd9\xd8\x00\x3f\x34\x4b\xe6\xc8\x82\x4d\xf2\x04\xbe\x23\xd2\xdd\xf1\xad\xd6\xb0\xb0\x3d\xeb\x40\x68\xb5\x87\xb4\x3c\x1e\x95\x03\x5e\xdb\xf9\xf8\x5c\x23\x66\xe9\x7c\xec\x40\x74\x4a\xb1\xb8\x32\xe8\x2d\x49\xee\xd1\x5c\xfd\x58\x00\xcc\x3c\x46\x3c\x89\x23\x82\x17\x96\xbb\xdd\x03\x38\xf6\x40\x92\x78\x7a\xa5\xe8\x93\x2e\x9b\xe2\x46\x8e\xa2\xeb\xdc\x45\xeb\xf7\x47\xcb\x67\x34\x81\x80\x42\x8f\xf3\x0a\x6a\x02\xc2\x6d\x99\x11\x2f\x92\xfe\x1f\xeb\x46\xdf\xc5\xa5\xb4\xc5\x95\x54\x7a\x9b\x16\xae\xbe\x8e\xc1\xb6\x78\xf7\x9e\x9a\x11\x6b\xcf\x53\x5b\x08\x12\xea\xd3\xae\xdd\x7f\xb4\x0a\x41\x3a\x07\x49\x6d\xc3\x8b\x21\xf0\x21\xca\xd3\x6b\x2e\x92\x43\x14\x60\x7c\xcf\x11\x60\x81\xf8\xba\x4b\x8c\x28\xa1\x80\x40\x0a\xcd\xae\x53\x61\x87\x8e\xb0\x85\x34\xfb\x9f\x84\x6e\x6e\xb2\x1d\x27\x84\xb8\xdc\x0e\x36\x66\x68\x49\xce\x12\x84\x61\x9f\xc2\x88\xe0\x18\x64\xcb\xd2\x81\x12\x23\x3a\x47\x0e\x7a\xda\xc0\xb8\x3e\x03\x38\x82\xed\x41\x01\x3a\x0d\x4a\x9e\xfc\x9b\x30\xd9\x6e\x22\xd2\x36\xd6\xe7\x6b\xce\xc3\xdd\xb1\xdd\x4e\x67\xd5\xd6\x8b\x5b\x5a\x42\x5c\x98\x41\x0f\x64\xd0\xc3\x44\x22\x23\xe5\x9b\x7f\x0e\x90\xc8\x8f\xbf\xbe\xab\x1b\x2a\x13\xaa\x17\xe7\x0d\xf4\x09\x32\xf4\x7e\x72\x67\x7a\x05\x92\x4d\xdb\x05\x32\x24\x9b\x02\x8c\xfe\x50\x9a\xbb\x42\x08\x4c\x4b\x56\x15\x0e\x81\x4a\xd1\xb2\x32\x87\xb0\x3c\xe4\x06\x6a\xda\x6e\x4f\xd4\x8d\x00\xf7\xc0\x64\x60\x1b\xc3\xfb\x46\xda\xf8\x0d\xf4\xed\x3b\xd1\xb4\x97\x95\xe7\x22\x2f\x9f\x1f\x68\x25\xb9\xa5\x20\x9f\x01\x3a\xeb\x5d\xab\x25\x1c\x36\xe0\xcc\x14\xb2\x37\xd9\x54\x1a\x86\x6c\x21\xfb\xfa\x5e\xb6\xee\x9d\x6a\x1d\x6c\x47\x29\x98\x46\xac\xbb\x93\x82\xfd\xfe\xdd\xf4\x74\x32\xfe\xeb\xd7\x5b\x6a\x9e\xd5\x04\x1c\xca\x67\x13\x6a\x49\x2a\x78\x4b\xda\xe3\x36\x95\x30\xb5\x14\xc2\xbb\x57\xc5\x56\x01\xbe\x09\xf5\x14\x59\x59\xee\xa3\xfd\x7f\x6d\x8c\x0f\x8c\x4e\xdd\xb5\xf9\xe8\xf7\x02\x6a\xed\xd1\xd2\x6a\x30\xbe\xbb\x2d\xfb\x0f\x3c\x3e\xf9\xea\x8b\xd3\x8e\x46\xf5\x35\xe3\x51\x91\x24\x50\x4e\x62\x47\xa6\xa3\x15\x88\x6c\xb0\xa7\x10\x66\x70\x9a\x89\xf3\xe7\x9e\xef\xac\xd2\x48\x1f\xd8\xfe\xfa\x37\xe6\x03\xd6\x5a\xfb\x3d\xa9\x71\x0a\xbf\xa1\x0c\xb4\xb3\x09\xea\x94\xe7\x4b\xc3\x0b\xfb\x41\xc8\x32\x98\x24\xa4\xa5\x96\xec\x53\x57\xf4\x4f\x5f\x3c\x7b\xff\xf2\xcd\x4f\xfd\xf7\xef\x5e\xbc\x7a\xf5\xc6\x0f\x56\x5a\x7b\xbd\x9b\x71\x5c\x83\x34\xfd\x11\x2e\x85\x19\xc7\x56\x14\xf1\xa5\x85\xed\x5d\x79\x99\xd2\x0e\xb9\x3b\xea\xb8\x7c\xf1\xe6\xd9\xd3\x69\xb6\xdc\x92\xa1\xb1\x66\xe1\x60\x6a\x04\x98\x43\x5f\x82\xb9\x6e\x13\x27\x3e\xd7\x6c\xe1\x74\xe9\x5b\x60\x67\x9c\x30\xdf\x80\xfe\x26\x28\x82\x98\xde\x4b\x87\xf0\xfa\x20\x1f\x18\xd5\xfd\xb3\xd8\x36\xd7\x28\xa9\x6d\x56\xfc\x4a\xae\xcd\x36\xa1\x79\x7b\xfe\xdb\x8c\xc4\x79\xc4\x3c\xd9\x08\xc2\x53\xef\xc0\xfb\x90\xc6\x80\x75\x37\x23\xd0\xb8\x71\x77\xf4\xe6\x6b\xfa\x1b\x7c\xfe\xf8\x0a\x6d\x49\x6f\xd4\x04\xfa\x17\x70\x59\x90\x19\xf5\xb2\x7e\x6d\xda\x3d\x05\xa9\x02\x70\x03\xe2\xf1\xc0\xf6\x63\x53\xa0\x71\x44\x07\x22\xf3\x46\x8f\x0d\xa4\x62\x8f\x03\xcc\x5a\xa2\x81\x54\x55\x05\xce\x54\x7e\x45\x29\x75\xb3\xec\x8a\xb8\x14\x82\x2c\x6a\xf2\x9a\xba\x7d\xc2\xbb\xc6\x1d\xaa\x88\x58\x25\x26\x6f\x6f\xe9\x52\xb0\xfe\x06\x32\x13\x34\xd3\x0c\xd5\x62\xaf\xab\xe8\x4d\xc1\xe9\x81\xe1\xda\x9f\x9f\xf6\xcb\x75\x39\x65\x80\x49\xf3\xc9\x2d\xec\xc5\x44\x0b\x1b\xee\x97\xbb\xa3\xf3\xc9\x8b\x74\xf6\xc3\x5f\xbb\xba\xb2\xd7\xe8\xbc\x1c\x7f\x5f\xa9\xbd\x8b\xe0\x18\x05\x14\x45\x9a\x2a\xf9\x7d\x03\x71\x59\x51\xe5\x96\x24\x66\x15\xc0\x6f\x70\x3e\xd0\x39\x4b\xef\x3b\x81\xa3\xe0\x12\x9e\xbe\x7e\xff\x76\x87\x14\x4e\x37\xa9\xbd\x31\x0b\x45\x04\x07\x88\xc3\xf9\x4a\x37\xd5\x59\x1d\x21\x00\xfb\x99\x22\xde\x25\x45\xac\xdd\xd6\xf9\x9a\x0c\xdd\x3c\xb2\x85\x0c\xdb\x86\xfa\x78\xfd\xfe\xed\xc6\xba\x05\x81\x25\x77\x47\x2f\x3f\xa4\xd9\xf7\xef\xb2\xef\xbe\xd9\x96\x5e\xce\x59\xba\x46\xab\xc0\xa1\xb2\xa9\x66\x41\xd5\xb9\x2d\x5a\x69\x83\x7c\x03\x4a\x79\x87\xd2\x92\xdf\x5e\xbd\xff\xfe\xe7\x98\x74\xce\x02\x98\x80\xa5\x88\xfe\x4a\xd2\xfe\x18\xe8\x30\x4f\x2e\xbb\xd1\x8e\x19\xf0\x54\x7b\xd2\x9c\xb0\xff\x07\xc1\xb0\xa5\x4d\x77\x05\x63\xa4\xd5\x52\xb1\x64\xe5\xd6\x21\x40\xc9\x76\x43\xef\x53\x14\xc3\x76\xb0\xb4\xe5\x15\x91\xa6\x74\xaa\x89\xaa\x71\x6d\xf1\xba\xd9\x8c\x4d\x5a\x6e\x6b\x43\x33\xbd\x79\x5a\x03\x42\xda\xa6\x0d\x92\x48\xe5\x19\xac\x24\xfb\x0b\x3d\xbe\x6d\x42\x2f\x31\xf7\x74\x80\x63\x6f\x0e\x30\x98\x42\x91\x20\xc0\x03\x51\x44\x72\xcc\xd6\xf4\x95\xd7\x8c\x84\x18\x18\x63\x70\x69\x2c\x95\xca\x8f\x2a\x94\x27\x8c\xbd\x45\xff\xeb\xbf\xb6\x9b\xe0\x95\x0d\x81\xeb\xb7\x32\x61\xf5\x2b\x08\xaf\x8c\xd3\xe6\xdb\x63\x98\xfe\xa4\x4c\xbc\x7c\x2a\x52\xc2\xc1\x58\x0e\x8d\x8f\xa7\x7f\x09\x33\x0e\x07\x4e\x74\x12\xe4\x32\x15\x3e\x0a\xb5\xfa\x77\x3d\xe6\x74\x1d\xb6\x31\xca\xbe\xd5\x61\x2b\x8f\x8d\x9d\x8d\xda\x28\x95\x6e\x15\xd6\xaa\x93\x5d\x0d\x9a\xe3\xef\x6d\x8f\xf9\x83\xec\x63\x57\x43\xb6\xa5\xbe\xb7\x3c\xf2\x92\x22\x60\xc3\xac\xa6\x32\xb6\x9f\x0c\xa1\x11\xfa\x65\xde\xeb\x46\x49\x11\x0a\x48\xf0\x03\xf7\xb6\x37\x89\xe0\x18\xb6\xb0\xfb\x6f\x1a\xb3\xca\x0a\x7a\x9b\x63\xae\xc4\x40\xd8\xe5\xe8\xe5\x75\xf0\xb6\x61\xae\x3a\xd9\x38\x8b\x2e\xfc\xdd\x60\x5e\x11\xaa\x18\xc6\xc8\x80\xe1\x05\x3f\x51\xd2\x0c\x51\xb8\x3e\x91\xae\xdb\xaa\xb4\x79\x59\x63\x99\xd9\xe4\x56\xd7\x55\xf4\xb1\x7d\x5e\x8f\x2e\x29\x94\x6e\x19\x8c\xad\x30\x54\x71\xbc\x6e\x19\x8a\xba\x97\x9b\xe4\x47\xf9\xa4\x64\xce\xd6\x07\xdc\x1e\x5c\x94\x3a\xe6\x7e\xe4\x8d\xd9\x8c\x07\x1f\x13\xc6\xc8\x7c\xcb\x1b\xc9\xcd\xee\x7c\x5b\x5c\xf7\x04\xcb\x71\xff\x93\x61\x48\x19\x46\x73\x70\x0a\x2d\xe3\x08\xe9\x12\x47\x2f\xf1\xdb\x8c\x4c\x33\x48\x45\x7e\x68\xde\xc2\x2b\x34\x47\x6c\x78\x7c\x74\x14\x26\x04\xc4\x82\x05\x6a\x8a\x8c\xd6\x94\xf4\x62\x0a\xd9\x33\x95\x35\xab\xc7\xc2\x72\x29\xd1\xbc\x5f\x8b\xc7\x5a\x4e\xfd\x9f\x88\x98\x10\x76\x16\x66\x82\x4f\x62\x31\x98\x2d\xf3\x70\x80\x38\xae\x07\x58\x63\x26\x64\x9b\xec\x34\x18\xa4\x39\x9d\xc9\xc5\x53\x36\xa5\xa6\xdf\x46\x20\xac\xef\xf8\x69\x9e\x5c\xb8\xa2\xbb\xc1\x81\x81\x70\xcf\xf7\x55\x77\xd5\x28\x18\xdd\x20\x2e\x43\x59\x77\xee\xa4\x2d\xdc\x5d\x53\x17\xd2\x3c\xbb\x63\x07\x3a\x5f\x47\x35\xea\x78\x43\xdb\xb9\xd0\x1e\x17\x69\x52\x06\x28\x0e\xa1\x68\xe8\x3b\x11\x76\xa1\x1e\x47\xa4\xe8\x93\x75\x0d\x8d\x67\x45\x4b\x2f\x21\xbe\xcc\x8e\x5b\x95\x01\xca\xd0\x0c\xad\x41\xf1\x4c\x48\x8e\x5a\x7b\xc7\x7c\x47\xbb\xe0\xde\x1e\x37\x6f\xdb\x11\x3a\x23\xe6\x6d\x38\xba\x4d\x48\xe0\x03\x93\x61\xef\x26\x8d\xd0\xad\x87\x9b\xb8\x49\x00\xc5\x66\xfa\xeb\xfb\xe1\xf1\xd1\x51\x6b\x38\xc5\xcd\x05\xdb\xf2\x62\xdc\x51\xa0\x2d\x71\xe6\xee\x64\xa5\x2f\x96\xdf\x7f\x75\xfc\xfc\x72\x5b\x53\x79\x61\x77\x2b\x23\xb6\x1a\x71\xb6\x14\x3e\x84\xbe\x39\x1d\xec\xdf\x74\x13\xe1\x76\xd1\x42\x87\x80\x67\x56\x07\x8d\x39\x54\xb0\xe5\xa4\x58\x99\x84\x08\x2c\x50\x9b\x43\x95\x3c\x58\xa7\xb4\x33\xb0\x5c\x29\xec\x9c\x24\xcf\xbe\xe5\x3a\x56\x0a\x51\x67\x27\xea\xac\x41\x44\x30\xe0\xe5\xce\xcd\xfb\x62\x0c\x6b\xc2\xd0\x6d\x18\x32\x6e\x93\x70\x74\x6a\x6e\x1d\x4a\x56\xbc\xe6\x76\x10\x36\xcf\x02\xdc\x2d\xe9\x3c\xca\xbb\x72\x2d\x17\xac\x5d\x3c\xef\xa3\xc9\xa1\x19\x9b\x50\xa9\x77\x8e\x5d\xa7\xc3\x1d\x74\x8e\x75\x7c\x4b\xb1\xeb\x8a\x93\xaa\x88\x62\x77\x6d\x02\x4a\xb5\x9e\x5b\x56\x9c\x39\xbd\x92\xed\x15\x0c\x15\x0e\x42\x0a\xc5\xc4\xda\xcb\xab\x42\x7e\x10\xf2\x0b\x6e\x7b\x59\x5e\x82\x0f\x04\x8c\x87\xbe\x51\xed\xfc\x9e\xc3\x6c\xf9\x96\x5f\xdf\xe8\xf0\x4c\x27\xbc\x7d\x0b\xa6\xf0\x25\xc7\x6d\x3a\x23\x8b\x77\xf0\x12\x51\xc1\xe4\x57\x43\xd6\xa5\x30\x9b\x23\x71\xac\x52\x2b\x22\xc0\x20\xcd\x08\x53\xc3\x0a\x6b\x1a\xde\xfd\xfd\xba\xfa\xf8\x12\xc1\x85\x3a\xb1\x0e\x0e\x7a\xf5\xa0\x5d\x76\x8b\xc1\x68\xe4\x0e\x04\xcb\x4f\x5f\x55\xe8\xfd\x32\x85\x83\x9f\x08\x86\x1f\x3f\xee\xaf\x6b\x6e\xbf\x63\x73\x1c\x0a\x70\xf1\xf1\xa3\x35\x7c\x6b\xfa\x03\xdd\xf6\x49\x9a\x66\xe4\x12\xfa\x41\x10\x94\xa3\xed\xbd\x07\xe3\xa6\x98\xc8\x82\x09\x64\x60\xcc\xef\x54\xa1\x59\x19\x3e\x4f\x65\x1a\x47\x39\x16\xfa\x19\x9c\x64\x90\xce\x7c\xc9\xa8\xce\xc8\x82\xaf\x52\x5b\x6b\xa6\x29\x9b\x35\xb5\xb8\x85\x88\xa3\x39\xe7\x7b\xfe\x92\x82\x29\xec\xfb\x8f\x98\xb9\x7b\x3c\x57\xd3\x69\xbd\x83\x14\x51\xdb\x42\x47\xa0\xb5\x0e\xf7\x12\x3b\x6a\x9a\x7b\x88\x9a\xa1\x61\x76\x40\xc0\xc6\xb2\x9c\x37\x7c\x0e\x69\x94\xa1\x54\x8e\x59\x96\x81\x57\x11\xcc\x52\x7e\xa7\x15\x91\xa9\x49\xba\xac\x40\xae\x88\xff\x25\x42\x19\xd2\x91\x03\x67\x50\xec\x07\xae\x78\x72\x66\x9a\x91\x6a\xb7\x47\x43\xde\x60\x6d\xba\x74\x34\x1a\xc1\x83\x83\x1e\x96\x2b\x94\xca\x2d\x26\x02\x00\x62\xd9\xa6\xb4\x92\x1c\xfc\x2a\x78\xf0\xec\x35\xe2\xeb\x83\xc6\xe2\xf2\x28\x56\xbe\x67\x4a\x5a\x7b\x5d\x72\x93\x7a\xbd\x5e\x21\x7c\x41\x7b\xd8\x31\x76\x07\x83\xa9\x46\xc2\x1b\xa3\xf2\x3e\xaf\x6e\x41\xaf\xc9\x25\xbc\x0b\x10\x61\x85\xe9\xfc\x78\x9d\x42\x79\x68\xc7\x7e\xc8\x99\x44\x16\x46\x33\x94\xc4\x19\xc4\xc3\xfd\xe3\x95\x75\x4b\xde\x7c\x9c\x7e\x10\x92\x91\x7a\x27\x22\x07\x22\x37\x05\xd8\x43\x93\x9e\xde\xe9\x25\x82\x81\xaa\xb4\xe1\x15\x89\x2e\x64\xb7\x60\x74\xcd\x17\x76\xc8\x06\x8c\xfc\xfd\xf4\xcd\x4f\xbd\x6b\x84\xa3\x24\x8f\xe1\xcb\x58\x9e\x36\xe2\xfc\x87\x0d\x5f\x57\x1b\xed\x2b\x7d\x27\x9f\xc2\x1e\xd1\x31\x24\xc5\x7c\x80\x13\xb2\x66\xaf\x85\xb8\xa9\xc5\x09\x64\xd1\x8c\x37\x48\x7b\x44\x97\xd2\x34\x9a\xb3\x23\x6b\x10\x89\xcf\x5c\x20\x52\x47\x34\x25\x9d\x70\x52\xfc\x2f\x45\x16\x06\x27\x4a\x64\x69\x42\xb2\x5e\x39\x43\x91\x1b\x35\x39\x32\x0c\x50\x1c\x92\x11\x1b\x68\x64\x0a\xd1\xe8\xec\x3c\x04\x56\x15\x39\x89\x20\x4c\x46\xbf\x8a\x98\xa4\x2f\x85\x55\x2d\x08\x5d\x86\x65\x45\x0d\xd1\xc1\x68\x34\xa2\xab\x20\xcc\x46\xe0\x2c\x39\x0f\xa3\x51\xf2\xe8\xf8\xdb\xe8\xbf\x80\x82\x85\x8c\xe1\xc6\x0f\xb8\x68\x7f\xc4\xbf\x7d\xfc\x08\xce\xa2\x73\xab\x8d\x04\x5e\xc2\x44\x9c\x48\x59\xfd\x6d\x70\x70\xb0\xdf\x73\x57\xf8\x2f\x67\xf9\x6f\xa3\x47\x8f\x02\x24\x04\x66\xbd\x6b\x49\x6d\x86\x95\xfa\x02\x2a\xa2\x7c\xf5\x8b\x6a\xa4\x7f\xbc\x0a\x2c\xa1\x47\x99\x3b\x10\x8c\x6f\x10\x92\x27\xbd\x4a\x2f\x74\xd5\x8e\xb8\x32\x30\x89\xc4\x33\x1c\xd2\x10\xb9\xce\x86\xf5\x28\x0a\x5d\x6b\x0c\xbb\x63\x2d\xac\x60\xad\x0c\x76\xda\x6d\xe0\x7c\xdc\xf7\x67\xd4\x7c\x77\xbc\xc4\x14\x66\xec\x54\x52\xa5\x2e\xa2\x50\x8b\xca\x74\xcf\x9c\x51\x9f\x1a\x88\x63\x01\x10\xe7\xbc\x5c\x02\x5d\x3e\x1c\x3a\xd2\x33\x66\x24\xe3\xad\x60\x92\xcd\x41\x82\xfe\x80\x72\x66\x7c\x62\x7b\x95\x22\x02\xc5\x28\x87\x95\x45\xca\x6e\x1d\xe2\xb4\x0a\x71\x31\x02\x78\x09\x31\x7b\x9a\xd3\x41\x9a\x8f\x13\x44\x67\x45\xeb\xbc\xcb\x93\x38\x86\x26\x35\xa4\x60\xc5\x38\x2f\x37\xe0\x0d\xf0\xe3\xe2\x89\x33\x8d\xb4\x19\x9e\xe6\xe8\xf5\x10\xa5\xc9\x4a\x69\xd4\xea\x95\x08\xbc\x57\x83\x41\xa9\x64\xd1\xaa\x2c\x2b\xc6\x34\xec\x41\xe7\x7e\x96\x03\xc6\x42\xba\x1b\x68\xca\x6b\x1d\xb3\x27\xf4\xa9\x90\xcf\xec\x2e\x0d\x8b\x7d\xc1\x51\xa2\x78\xde\x43\x63\xa6\x15\x25\x81\x57\x93\x6a\x8b\x47\xdd\xca\x87\xc8\x7d\xac\x9b\x71\xdd\x10\x5c\xa8\x10\x5c\x33\xd7\xc2\xe9\xe0\x88\xac\xbe\x5c\xcc\xb1\x5c\x16\x4c\xdf\xab\xbb\x9e\x4b\x06\xef\xe4\x01\x2a\x57\x48\x9d\xa1\x86\xea\x86\x9a\x66\xe2\xe6\xb6\x4c\x3f\x26\x70\xb1\x3a\x64\x4f\xe1\xef\x39\xc4\x11\xac\xdd\x57\xca\xcc\x95\x9b\x59\x71\x22\x56\xfb\x79\x10\x89\x7e\xec\x9e\x1b\x27\xe2\x64\x1a\xd7\x93\x00\x17\x43\x7c\x43\x06\xa7\x04\x38\x03\xba\x57\xfc\xdc\xfc\xf4\x70\x13\xdd\x3e\x48\xa0\xbd\x07\x53\xc7\xb5\xd8\x75\xd3\x94\xf5\xf6\x0a\x38\x56\xb9\xfa\x3d\xac\xef\xbe\x53\xba\x16\x76\xe2\x52\xea\x88\xe1\x0e\xad\x85\x91\x23\x7c\x47\x92\x64\x0c\x4a\x64\xcf\xb5\x9e\x0d\xfd\x64\xaa\xb6\x38\x23\x37\xda\x9e\xd8\x7d\x93\xef\x7c\x57\xe4\xa3\x57\x0f\x3b\xa3\xd8\x0d\xf8\x62\x08\x32\x60\xc0\x79\xdc\x36\x9f\xaa\x66\xf9\xc2\x42\x86\x22\xce\x78\x68\x07\xce\x36\x09\x16\x2a\x9f\x8a\x2f\xe6\x43\x49\x26\x45\x07\xd6\xa3\x29\x92\x91\x44\x9c\xe4\x03\xf1\xc3\xbc\x56\x77\x0e\x3a\x10\x3f\xcc\xeb\x4b\x98\x99\xd6\xf4\xef\x3b\x63\x3c\xdc\xe7\xe6\x14\x32\x61\x72\x2a\x0e\x4f\xd3\xaf\x75\x12\x35\xf3\x91\x42\xe3\xa2\x18\xc9\x90\x3d\xa9\xa6\xca\xca\x60\x42\x40\xdc\xd3\x29\xce\xd6\xe9\x21\x2b\x82\xde\x07\xa6\x86\xdc\x58\xa4\xdb\x59\xe4\xba\x51\xd0\xfc\xce\xda\xd0\x26\xc7\xdb\x4a\xba\x5e\x4b\xc2\x3b\xa0\x24\xcf\x22\xa8\x36\x7e\x4f\x07\xb1\xc7\xd5\x20\xf6\x58\x05\xb1\x17\xc2\xa9\x35\xd4\x81\x75\xbd\xf7\x08\x1b\x21\xfa\x1d\xc9\x6c\x18\x9a\x4d\xff\x2b\x8a\x1b\xf7\x46\x58\x23\xd4\xb8\xba\x3b\x70\x10\x32\x7d\xaa\xb4\xc5\x34\x11\xdf\x9a\xc6\x50\xba\x1f\x29\xc9\xa2\x91\x41\xfe\x03\xb1\x19\xc9\xd9\x69\x3e\x99\xa0\x2b\xa7\x40\xd2\xaa\xb1\x56\x12\x19\xd6\x1c\x9d\x14\x85\x1b\x36\x0f\x53\x95\x50\xd8\xb4\xb6\xa0\x49\x83\xd3\x52\x52\xff\x0c\x05\x18\x87\x0e\x31\x08\xa7\x85\x2d\x0d\x88\xef\x5a\x55\xd1\x56\x50\x17\x09\x2d\x8a\xdc\x52\xdc\x2a\x15\x0a\x32\xdd\x52\x56\x7c\x97\xba\xe3\xb6\x62\xb2\x40\xa8\x69\x78\x4b\x49\x5d\x64\xd5\x35\x4b\xbf\x39\xa8\x60\x71\x50\xb1\xf2\x41\x05\xcd\x41\xc5\xaa\x27\x1f\xb4\x4e\x3e\x56\xc2\x6a\x28\x2e\x8d\x45\x63\xea\x88\x82\xfa\x88\xd2\x06\x24\x0a\xb6\xbe\x38\xb3\xe4\xef\xa2\x29\xfb\x40\x84\xe5\x03\x91\x95\x0e\x44\xa8\x0f\x44\x56\x3e\x1b\xa0\x02\x9d\xf9\x50\x1c\x89\xb0\x38\x12\x5b\xcc\x14\x5a\xf3\x27\xa9\x23\xc7\x68\x23\x8e\xc2\xa3\x56\xbb\x85\xca\x19\x73\x77\x66\x0b\x47\x87\xcb\xdf\xde\x3f\xfd\xf0\xcf\xdd\xbb\x78\x95\x83\xa4\x26\xb5\xe8\xea\x88\xc1\xb9\xef\x4a\x40\x50\x8b\xd9\xaf\x62\x2c\x94\x32\x4a\xc8\x30\xc8\x46\x93\x6f\x5e\xba\xe3\xf8\x8b\x13\xcc\x6d\xd7\x5a\x0b\xbb\x5c\x6a\xae\x1c\xdf\xbf\xbb\x89\xab\x33\xc8\xec\xd6\x60\x28\x98\xaf\x8d\x01\xa1\xe3\x38\x9b\x7d\x5a\x2a\x6d\xbd\x6e\x06\x9c\x67\x2c\x86\x37\x80\xa0\xd5\xf2\x6e\x60\x78\x03\xc7\xbb\xb5\x48\xda\xe2\xb3\xd7\xd5\x7b\x10\xd7\x62\x77\x33\x42\x92\x31\xc8\x0e\x27\x24\xeb\x17\xd0\x30\xa1\xbc\xc5\x8d\x48\xd1\x2c\x95\xea\x29\xd4\x39\xce\x42\x1b\x7c\x05\x9d\xaa\xa8\xaa\xb5\x2a\x55\x5b\x7c\xbc\x37\x44\xc4\x2f\xeb\x3f\xa5\xe1\x4c\x49\xde\x54\x98\xca\xf0\x81\x18\x7c\x90\xe3\xa9\x22\x53\xe5\x99\x3a\xf0\xc7\xbc\x31\xa3\x35\x6f\xec\x41\xb7\xc7\x2a\x90\xd3\xe9\x68\xdf\x62\x66\xdb\xb1\xbc\x01\x46\x17\x4b\x9b\x2a\xac\x9a\xed\xa0\xd6\xc5\xff\x16\xe1\xcd\xa5\xab\xa2\x87\x09\xee\xa7\x19\xc2\x0c\x8c\x13\x68\xc2\x99\xf7\xa5\x5f\x63\xbb\xef\xe6\x3a\xe7\xc8\x76\xff\xc7\x82\xf0\x1c\x9b\x06\x64\xd6\x0f\x06\xc6\x9e\x0a\xd5\xed\x74\xf0\x50\xd8\xe1\x17\x99\x0e\x24\xf0\x0a\x2f\x02\x0b\x38\xcd\x79\x39\x8c\xdd\x80\x25\x05\x38\x2f\xb9\x96\xea\x3c\x0a\xdf\x74\x72\x17\x2b\xdd\xb3\x9a\xfd\x28\x2a\xd5\x6d\x33\x90\x4d\x9c\x2f\x76\x06\xc5\x4c\xf5\xbe\x0b\x30\x16\x6d\x15\x70\xb4\x66\xb7\x13\x3f\x8a\x0d\xa2\xa8\xaf\xdd\x08\x22\x63\xd1\xd6\xf9\x36\xcc\x66\xa9\xa4\x99\xda\x20\x4d\x55\x4c\xa2\xbe\x4c\x28\xe3\x3a\x6d\x2d\x3c\xb1\x68\xaf\xe1\xcb\xb6\xc2\x16\x9a\x82\x7a\xd0\xfc\x69\x7f\x01\x32\x8c\xf0\xd4\x4b\xfb\xc7\x5e\x9a\xf5\x1f\x7b\x69\xd2\x7f\x6c\xc7\x90\x2f\x28\x9b\x06\xf1\xff\xfb\xbf\xff\xef\xff\x6e\xe0\x5a\xb3\xc5\x71\x7c\xd3\x3c\x07\x1c\xba\xfa\x62\x58\x49\x01\x66\xf5\x6d\x4a\xb4\xa6\xf7\xda\x10\xdf\xd4\x79\x6b\x58\x6a\x83\x2b\x73\xe1\x9a\xa6\x4f\x5c\x75\x1b\x29\x38\xa4\x22\x35\x59\x97\xd3\xb6\x76\x8a\x28\x6c\x91\xcd\xde\xcd\x91\xe9\x3e\xd9\x1a\xed\x75\x9b\xbc\xf8\x1a\x88\x7c\x07\x8c\x77\x81\x5f\xa6\x26\x2b\xb1\x4d\x67\x67\x86\xd3\x51\x97\x3f\xb3\x1a\xfa\x7a\xe6\x5a\x96\xe2\x46\x68\xaf\x50\x79\x59\x2a\xca\x86\x1a\x53\xf4\x56\x28\x62\xfd\xc2\x62\x4a\x3c\x68\xdb\x20\xcb\xa4\xd8\x3c\x96\x74\xd0\xa5\x76\x94\xea\x50\xd9\x1c\x97\xf4\x24\xe6\x5d\x59\xed\x54\xa0\x49\x85\xb3\x92\x60\x28\x16\xbc\x8c\x44\x0a\x28\xdd\x91\xca\x40\xaa\x05\xcd\x6a\x48\xf5\x38\xac\x99\x4a\xee\x8e\x3d\x13\xe0\xec\x92\x5d\x5b\x2f\x4b\x87\xb2\x66\xd5\x3a\x99\x36\x17\xb6\x57\x1d\x8a\x97\x17\x7d\x83\x39\x6a\x9c\xe8\x38\x24\x1b\x65\x3a\x56\xa9\x61\x54\x9b\xa9\xf6\xd6\x0e\xd1\x4d\x2c\xca\x2d\x72\x56\x8d\xc4\xc3\x8c\xa1\x99\x76\x37\xd2\x83\x42\xd5\xd5\x99\x44\x77\xd8\x2a\x8d\x0b\x64\x75\xb6\xf1\xb2\xdc\xd8\x91\x76\x07\xa1\x66\xba\x1c\xa3\x8c\x44\xd5\x7b\xab\x34\x6f\x31\x44\xbd\xfb\xf2\x54\xc9\x75\x61\x03\xbc\x15\x55\x2d\x5d\x5e\xc5\xa0\x9a\xae\xb2\x37\xc7\x81\xcd\xc8\xa5\x35\xb1\xbb\x27\x0d\x1d\x91\xe9\x9e\x7b\x55\x37\xc8\x4c\xbb\x3b\x95\x3c\x30\x4d\xde\x86\xae\x13\x1b\x2b\xfe\x36\xd2\xe7\x75\xd6\x12\x36\xb8\x2f\xd6\xdd\x0e\x0b\x83\x11\xd9\x89\xb0\x15\xe1\xef\xdc\x2a\x36\x59\xe8\x57\x14\xdb\xa6\x26\xfa\xfb\x9a\xba\x96\x7a\x6e\xbd\x2a\xb0\x70\x77\xec\x62\x28\x50\x29\xfa\xd2\xa1\xa7\xc6\x45\x52\xfd\x42\x0c\x58\xd7\x96\x14\x09\xb6\x1b\xd5\x2f\xb8\xaa\x7e\x29\x11\x57\xdc\xa6\x16\xc1\x15\xb5\x88\xe2\xc3\x71\x45\x09\x53\x5c\x7f\xb0\x6d\x27\xd0\xa8\x94\x6c\x0a\x78\x58\xd2\x03\x4e\x61\x29\xd3\xbd\xad\xf9\xb3\x3e\x59\x28\xec\xb0\x5f\xf5\x83\xba\xce\xad\xea\xbf\xe2\x07\xb6\x96\x6d\x5a\xcc\xbe\xa4\x01\x9c\x16\xd3\x0f\x2a\x7a\xb4\x69\x09\x04\x41\x45\x23\xd8\x68\xb6\x70\x92\x24\xbd\xa0\xa4\xba\xeb\x64\xe1\x50\x05\x80\x34\x72\x28\xc5\x23\x80\x59\x46\xca\x6e\xe9\x68\xd2\x63\xa5\xf0\xa2\x65\xe7\xdf\x43\x4c\x58\x7f\x42\x72\x1c\xfb\x41\xb8\x7f\xdc\xcd\xce\x41\x0d\xf4\xce\x9c\xee\x36\xa6\x5c\x96\x47\x92\x4c\x62\x58\x53\xd6\xb5\xd9\xa6\x2a\x25\x4a\x01\x7e\x19\x7f\xb5\x64\xf3\xe8\xfe\xa6\xed\x4f\x2b\x5f\x2b\x76\x50\x4d\x5f\x55\xed\x6b\xdb\x59\x4d\x5b\x9b\x57\x2b\x19\xcb\xf6\x95\x0a\x0f\x51\xb5\x88\xae\xb9\x88\xec\xc0\x65\x63\xbd\x8b\x86\x83\xda\x95\x9c\x36\x6a\xe6\xe4\xc6\x90\x03\xaf\x37\x95\xc6\x0e\x53\x69\x18\x84\xb8\xcb\x62\xe2\xa6\x95\x74\x7d\x50\x0b\x81\x9b\xd7\xd0\xfd\xc9\xb9\x80\x25\x96\x70\x68\x01\x63\xd5\xdd\xd0\x48\x6f\xc0\x07\xc6\xa0\xdc\x2e\xc7\xd1\xd9\x82\x68\x5e\xb3\x1d\xea\x74\x2a\x7d\x7a\xeb\x14\xe7\xf9\x55\x82\x89\x3c\x24\xaa\x87\xda\x2d\x98\xaf\x08\x5a\xd1\xb2\xe7\xa7\x90\x15\xc6\x9e\xad\xd3\xb2\x76\xbf\xf4\x0e\x10\x4c\x96\x20\x37\x1d\x3a\x78\x0d\x39\x0f\xb5\x5d\x27\xab\x6e\x16\x16\x7a\x73\xdd\x9d\x8d\xc5\xcf\xd3\xf8\x7f\xbf\x66\xff\x3b\x7d\x38\x36\x16\x3a\x90\xb2\xd3\xc4\xa0\xf6\x71\x37\x36\x17\xb5\x66\xef\xb3\xed\xc5\x56\x00\xaa\x7c\x6e\xb0\xc9\x70\x7c\xde\xb1\x6d\x86\xa3\x87\x4f\x69\xa3\xe1\x56\x20\x71\xe6\x13\x20\xec\xc8\x92\xdd\x5c\x27\x23\x0b\x97\x22\xb0\xad\x93\xa4\x7f\xfc\x78\x63\xed\xe3\x9c\xf5\xd7\x44\x18\x6e\x14\x9e\xc1\x18\x31\x92\x15\xf2\x33\x0b\xe6\x06\x3d\x94\x34\x4d\xaa\xab\x7c\xcd\xd3\xca\x60\x2f\x5a\x20\x7d\xd6\xb0\x74\x4d\x48\x57\x7b\x5f\x96\x8e\xe9\xb7\xa2\xcf\x76\x39\x96\x49\x13\xbe\x3e\x70\x4c\x49\x7a\xde\x92\x25\xbe\x8b\x82\xcf\x61\x0d\xf0\x8d\x43\xa1\x75\xe7\xc2\xa8\xea\xf1\xd2\x5d\x1c\xa5\xe3\xd7\x77\x0e\x25\xd2\x10\x30\xe4\x96\xc3\x85\x5c\x4b\xef\x8c\xa6\x70\x55\x1b\xf1\x74\x9b\x1b\xa7\x93\x08\x24\xa7\x8c\x64\x9c\x61\x69\x90\x3b\x59\x45\xfc\xa0\x12\x0a\x44\x08\x88\x65\xb0\x10\x1d\xec\xbb\x12\xcf\xa2\x3d\x92\xc5\xbf\x41\x28\x89\x77\x55\xf7\x1a\x3b\x2c\x57\x07\x0f\x9d\xcd\x70\xfd\xf3\x15\x67\x07\x57\x9c\xfb\x7a\xc3\xf9\x77\xb7\xb3\xdf\x68\x27\xdc\xdd\x7d\x84\x7c\xf3\x3f\xff\x3a\x65\x8f\x7e\xfc\x7c\x1f\xf9\x7c\x1f\xd9\xf1\x7d\xe4\x5e\x5c\x43\x76\x06\xe2\x22\xc3\xd0\x6e\xd1\xb0\xf3\xad\x4d\x67\x69\xb9\x3f\xf6\xf2\x5b\x5b\xc9\xaf\x33\x3c\x29\x72\xb1\xdc\xc4\xf8\x4c\xaf\x58\xdf\x70\x7b\xfa\xe2\xa5\x4d\xec\x5b\x2c\x47\xdc\x06\x7e\xeb\x2e\x56\xcd\x57\xb1\x5d\x9b\xf1\xed\xc6\xc2\x47\x5e\xf9\x76\x03\xe5\xb2\x85\xe5\x9f\x1a\xc4\x0f\x36\xed\xd3\x2d\xe6\x55\x6a\xb7\x88\xb7\x33\x0b\x74\x32\x8f\xaf\x90\x80\x2d\xac\xe3\x7d\xab\x91\x62\xe4\xdf\x17\x69\x9e\x5a\xcd\x9a\x77\x39\x17\x7b\x97\x6d\x37\x11\x23\x9a\xd1\x4e\x12\x80\xc1\x29\xc9\x10\xa4\xde\x81\xf7\x1e\xb4\xa6\xee\xfa\x93\xe6\x55\x68\x66\xa2\xbb\x4b\x5d\xee\x8e\xed\xfe\x5b\xfa\xaf\x65\xfc\x8c\x3e\xea\x1e\x21\x7a\x4d\x1a\xba\xed\xe1\x57\x07\xdb\x9e\x1b\x6c\x92\x22\x1f\x8a\x01\x3f\x6c\x39\x95\xb6\xc6\x68\x4c\x58\x51\x58\x52\xad\x37\x2f\x50\xb6\x25\xbc\x3f\x3f\xa8\x98\x60\x68\x25\xb3\xe1\x1d\xcb\xfa\x62\x21\x8b\x52\x06\xde\xdd\x94\xfb\x55\xe1\xd2\x9e\x0c\x3e\x56\x35\x19\x10\x6d\xfa\xc1\x9e\x16\x60\x09\x57\x17\xad\x9d\x97\x4f\x41\x10\xaa\xaf\x63\x12\x2f\xcd\x47\xf1\x50\x7c\xd3\xe2\xa1\xb0\xee\xef\xaf\x4a\x64\x60\xf1\x54\x34\xa0\x62\x1d\xe8\xe7\xa2\x44\x24\x92\x05\x9a\x02\xea\xd1\xee\x83\xc1\x0c\x83\xe4\x54\x84\x72\x30\xe5\x2a\xaf\x4b\x92\xad\x62\x01\x8d\x4d\x82\x8c\xb3\xe5\x88\x61\xe7\x8a\x14\xb9\x9b\xe5\x6a\x97\x77\x95\xb6\xcb\x03\x13\x75\x6d\xb0\x41\xba\x6b\xdc\x05\x4b\x58\x15\x9e\x68\xf9\x97\x16\x31\xb5\x08\x79\x4c\x51\x5b\xc4\x23\xc9\x67\x03\x66\x4c\x21\x53\xe1\xd7\xe4\x8e\x58\xaf\x29\x2e\x2d\xda\xdd\x1d\x0f\x4f\x3f\x8c\x4f\x28\x7d\xc6\x3e\x4b\x65\x3e\x4b\x65\x3e\x6b\x89\x6b\x77\x4e\xb1\x29\x3a\xa9\x53\xc7\xc6\x49\xeb\x56\x14\xa9\xb2\xf9\x4f\xa7\x33\xbd\x6b\xa6\xdb\x49\x1e\xd7\xf2\xdb\xaa\xd6\x3d\xcc\xe3\xa0\x46\xb6\x59\x16\x87\x3b\x62\x69\x6f\xd9\xa6\x7f\x63\xe5\xaa\xd2\x2e\x36\xf3\x08\x46\xfd\x58\xa8\x7a\x1b\xcb\x5a\xc3\xae\xe4\x6f\x90\x37\xdd\xa5\x7f\x1e\xea\x9f\x43\xdf\x0f\x27\x22\x53\x0a\x8c\x9f\x93\x88\x0e\x05\xd6\x5b\x8c\xba\xf4\xf5\x13\xe6\xd5\xeb\x53\x8e\x55\x6d\xee\x64\x28\x55\xb7\x4e\x56\x9a\x8b\x97\xc0\x30\x88\x12\x08\xb2\x53\x19\x8d\xe0\x25\x83\x73\x0b\xa6\xce\xb0\xb8\xc6\xf6\x7d\xb5\x13\x8d\xab\x0a\x6e\xef\xd0\x49\xd7\xac\x82\xcf\xce\x43\x32\x3a\x3b\xdf\x63\x83\x09\xc9\x5e\x80\x68\xd6\x2b\x17\xa6\x67\xf0\x7c\xd4\x18\x47\xd3\x0a\x76\x2e\xd2\x38\xd9\xf1\xbe\x40\x92\xb8\x38\x6f\xea\xea\x88\x8a\xa8\xb3\x55\xc3\x60\x56\xf5\xfe\x80\x56\x2c\x28\x9d\xa3\x72\xff\x38\x08\xc9\x19\x6d\x19\xa4\x52\xa7\xaf\x1c\xe3\xab\xc5\x66\xb7\xa3\xf3\xbf\x33\x99\x28\x4a\x39\xf1\xd6\x68\xfa\x43\x0b\xb4\x5b\x42\xb5\x1a\xb8\xb7\x1b\x60\xa1\x73\xe0\x21\xc1\x2f\x04\xd1\xda\xd0\x40\x41\x45\x20\x95\xfc\xb9\xc3\xfe\xdc\x36\xa1\x8e\x01\x03\x43\xa6\xb6\xdf\xfb\x65\xaa\x4f\x08\xbe\x75\x9d\x96\xe3\x82\x0f\x97\xb4\xb4\x1e\x9d\xb4\x88\xb4\x57\x10\x13\xa1\x43\x5e\xe0\x84\x80\xf8\x3b\x94\x40\x0e\xc4\x46\xb3\xed\x47\xfe\x60\xc6\xe6\x89\x5f\x8e\xa1\xbd\xb2\xd2\xf8\x55\x22\xeb\x5b\x7e\x46\x16\x01\x11\xc6\x1d\x1d\x0e\xb0\x07\x19\x03\x52\x53\xcd\xf6\x73\xc0\x90\xd9\x0d\x9c\xb6\xba\x3b\x4f\x55\xc6\xa0\x9d\xa7\x04\x85\x56\x9e\x53\x8d\x37\xc2\xc2\xdc\xb7\xd9\x97\x2a\x32\xe2\x50\x3f\xc4\x03\xdd\x9b\xa1\x20\xa6\xfb\x7c\x3e\x07\xd9\x92\x97\xa1\xf2\x67\xad\xc8\x6b\xb1\x94\xa2\x99\xb9\xfc\x39\x43\x69\x10\xc2\x1e\x6e\xf2\x7a\x6a\x37\xcd\x69\xbd\xec\x96\xec\x76\xf6\x9c\x31\x1d\x2b\x35\xa8\x93\xcc\x14\x79\x17\x6d\x52\xb9\x92\x4d\xc2\xc6\x26\xf5\x1e\x35\x0b\x0a\x37\x68\xbb\x29\xdc\xe3\xae\xef\xf7\xc6\x88\xc5\x30\x11\x74\x08\x4d\xea\xa9\xe6\x36\x4c\x09\x91\xf1\xe9\x94\x01\x8b\x2c\xee\x1f\x87\x19\x21\xfc\xf9\x19\xc9\x31\x1b\x1e\x85\x05\x02\x59\xd4\xcf\xc2\xaa\x20\xac\xe0\x50\xbd\x98\xc1\xae\xa2\xac\x42\x26\x47\x59\x8d\x66\xd2\xc3\x6b\xc2\x0f\xf7\x8a\x18\xc5\x3a\xbd\x8b\x85\x12\x09\x3f\x2a\x6d\x84\x64\x74\x14\xa2\xd1\xaf\x83\x34\xc9\xa3\x8b\x1e\x0d\x4b\x1e\x39\x7b\xd8\xb9\xa6\x68\xa0\x9c\x7e\x68\xcf\xb2\xa7\x0f\x3e\x7e\xec\x91\x47\x23\xb1\xbc\x6c\x60\x83\x68\x44\x3a\x93\xc7\xbb\x13\x9a\x2c\x16\x5f\x9c\x46\x97\xa7\xa7\xff\x7e\x42\x93\x1b\xdd\xe9\x77\x2c\x3d\xb9\x6f\xb6\x06\x25\x75\xaa\x23\x1c\x9f\x52\x54\x97\xf4\xd6\x76\x18\xbe\xb2\xd6\xda\x90\x15\x3f\x2c\xce\xcc\xb0\x74\x00\x99\xfd\xa7\x42\x50\x58\x41\x68\xac\x8b\x49\x93\xc2\x9b\x6e\x60\xc5\xed\x8a\x4a\xa0\x3f\x16\x03\x2d\x02\x16\x98\xab\x54\xb5\xb0\x35\xfc\x22\x2a\x82\xcd\x20\xad\x09\x7c\xd1\x3d\x1c\x4c\x19\x02\x5d\x42\xe9\xa9\x25\x53\x34\xc6\xc0\xb6\x92\x5a\xd4\x86\x79\x6d\x09\xed\x45\xab\x1a\x21\x94\x39\x66\x6b\x95\x4a\xaf\xec\x2b\x56\xb1\x72\x75\x10\xdd\x68\x3d\x1d\x4b\xb6\xb9\x69\x43\x65\x3e\x9d\x97\x64\x93\x1a\x15\x68\xdc\xd4\x42\x65\xad\x99\x04\xdf\x96\x22\x98\x2e\x18\xcb\x88\x6d\x2c\xcb\x61\x1b\xa5\xdb\xb5\xe5\x44\x19\x07\x05\x5a\xf5\x2f\x11\x5c\xb4\x90\x8d\x66\x9c\xb3\x51\xb5\x44\x37\x6a\x6c\x6a\x9d\x2b\xf5\xed\x43\xd9\x2a\x60\x25\xc5\xd5\xf7\x1e\xbf\xbc\x33\x6f\x4a\x6c\x36\x41\x4e\x97\x4c\xd5\xf1\xc9\x45\x75\x2a\xdf\x0c\x2c\x1a\x0b\x68\xd0\xd4\x0a\x94\x20\xd5\x40\x03\xd7\x24\xe2\xed\x16\x2e\xaa\x42\xfd\x9a\x5c\x5d\xee\xa1\xd9\x45\x35\x24\xcc\xb6\xe2\xe0\x0d\x63\xb0\xa8\x5a\x0f\xec\x1e\x7d\xbb\xe2\xd7\x2d\x72\xe9\x8a\x1d\xd7\x50\x70\xd7\xb1\x57\x2a\xb7\xb8\x0d\x63\xa7\x38\xdc\x9a\xbf\x13\xaf\x7a\xa5\x02\xed\xf1\x52\x4c\xdc\x93\x4a\x16\x2a\x4b\xf8\x07\xd9\x33\xe9\x80\xaf\x5a\x77\x25\x59\x70\x06\x4b\x29\xa2\x9a\xd4\x6f\xf8\x6b\x5d\xc8\x5d\xc1\x4b\xba\x84\x27\x69\x0a\x8b\xe2\x08\x27\x52\x5c\x7d\xd7\xb8\x51\x9f\x24\xc9\xd3\xa5\xe0\xae\x7a\xac\x14\x25\xa7\x7c\x5f\x6e\xc8\xbd\x35\x85\xec\x14\x5c\xc2\x58\x07\x1d\xa5\xa5\x46\xd6\x07\x23\x89\x08\xa6\x24\x81\x83\x84\x4c\x7b\x2c\x08\x77\x15\x9b\x44\x1f\xbb\xff\x7e\x2e\x72\xf7\xc1\xe3\xed\x36\x5d\xc2\xaa\x2b\xfb\xc0\x8e\x84\x26\x4f\xac\x5d\x89\x04\xb7\x95\xb1\x35\x38\x7e\x55\x65\x89\x1b\xcb\xe2\x36\x90\xba\x75\xb2\xb2\xb9\x07\xee\x4f\x7f\xe4\x2f\x2f\xd2\xaf\xde\x7c\x0e\xc7\xf0\x10\x0d\x6d\x6a\xe6\x7a\x9f\x3d\x73\xee\xb5\x67\x4e\x65\xdb\xd7\xfd\x72\xca\x17\x65\xea\x96\x93\xb5\x5e\x37\xcd\xf5\xf5\xb6\x3c\x66\x4a\xbd\xef\x02\x08\x65\x4e\xd4\x09\x08\x7d\x59\xb7\xb0\xb6\xe5\x6a\xdf\x01\x3e\x6b\xee\xfd\xdb\x5f\x75\x77\x03\x63\x4b\xd6\xb0\x0b\x08\x5b\xa2\x98\x36\x44\x2b\xf7\xbb\x15\xd2\xb5\xc8\x4c\x6e\x0b\x56\x3a\x3c\xf8\x2e\x00\xa5\xe3\xaf\x3f\xa0\xed\x68\xcb\x90\x76\x01\x82\x42\xa6\xdf\x02\x84\x1b\x43\x63\x17\x50\xfa\xec\x83\xf6\x60\x7d\xd0\xde\x88\x08\x1c\x4d\x3e\x5b\xb7\x33\x17\xc7\xb9\xb5\xdd\x7c\xaa\x18\xae\xe6\xf4\x81\xc2\xcc\x7b\x5b\xea\xe4\xd3\x4d\xae\x76\x60\x6c\x37\xb5\xb2\x8c\x5b\x4d\x4c\x2b\x3a\xbc\xf7\xf6\xe9\xf0\xc9\xa6\x56\xa6\xef\xdb\xcd\xcb\x4a\x21\x51\x4e\xb2\xe4\x3d\xd5\xad\x7f\xba\x09\xd5\x29\xf6\x76\x93\xaa\x68\x0f\x6a\x8e\x91\xff\x7e\x1e\x91\x4d\xb7\xea\xae\x02\xf9\xbb\xbb\x85\x83\xe5\xec\x0d\xf8\xe3\xab\xe5\xdd\x79\x43\x56\x40\xd0\x11\x64\xdd\x65\x91\x20\x67\x33\xc7\xeb\x39\x89\xc5\xf9\x62\x0b\xac\x42\x7c\xcb\x12\x4a\x5c\x48\xb0\x40\x9a\xbe\xe6\x90\xd9\x85\xb0\x52\x70\x44\x12\xb6\x7e\x18\x91\x74\xa9\x09\xe6\x70\xff\x48\x3c\x17\xa7\x83\x7e\x63\x5b\x64\xcd\x00\x7d\x96\x10\xac\xbb\x89\xc8\x3c\xcd\x19\x8c\x07\x98\xb0\x17\xf3\x94\x2d\x7b\x7e\xc4\x3f\xc7\x42\xba\x2d\x8d\x51\xad\x17\x35\x1b\xf0\xd3\x19\x59\xbc\xe6\xd0\xad\x09\x2e\x05\xcc\xdf\xa4\x10\xf7\xfc\xbf\x80\x38\x96\x06\x20\x7d\xb9\x12\xe1\x35\x9d\x91\x05\x07\x69\xe8\xff\x05\xc3\x85\xfa\x28\xe5\x71\xab\x90\x60\x31\x44\xd1\xe3\xa9\xa0\x59\x0d\xf2\x53\x6b\x64\x5a\x8e\x7a\x12\xc7\xed\x16\xe9\x83\x34\x83\x97\x22\xd1\xa0\x58\x1c\x63\x97\x6b\xf9\xb6\x69\x08\x73\x68\x5b\xef\xab\x80\xd9\x43\x93\x1e\xa2\x03\x28\xc0\x86\x83\xa0\xa4\xbf\xf8\x8f\x5e\x7d\x66\x03\x10\xc7\xcf\x38\x65\xef\xf9\x88\xf6\x11\xbe\x04\x09\x6f\x67\x30\x21\x51\x4e\x7b\x41\xb8\x7f\x2c\xc6\x42\x46\xd7\xbc\xfc\x10\x4b\xc8\xbf\x8c\x87\xb4\xbc\xd0\xd6\x90\xac\xd7\x7c\xa5\xca\xcb\x5f\x2e\x57\x7c\x50\x25\x9f\x93\x5a\xe8\x77\xfb\xb5\xaf\x63\x54\xd3\x32\x50\x42\xdf\xb7\xf3\x01\x94\xd6\x80\xa3\x87\x96\xa7\x3a\x21\x90\xc1\x39\xb9\x84\x0e\x20\x84\x05\xd2\x3c\x4b\x08\x85\x0e\xac\xb1\x3d\x53\xab\x3a\x1c\x10\xc7\x75\xd3\xf3\xc2\xee\x79\xad\x0e\x8b\xb5\xba\x11\xf8\x61\x39\x1c\xae\x44\x13\x61\x1b\xdd\xcd\x3d\xf5\xc1\xc9\xdc\x77\x49\xb1\xd6\xab\x57\x1a\xd5\xa8\xc5\x82\xab\x01\x0d\x44\x5a\x6d\x5e\xce\x0f\x0e\x0e\xac\x78\xfe\x2e\x77\x11\xa9\xd5\x73\xa8\xc5\x44\x23\x22\x16\xdf\x7a\xdd\x42\x93\xb6\xb0\x25\x6d\x75\x93\x4e\xc2\x3f\x95\xd7\xda\x0e\x42\xfb\xbb\x14\xd6\x1f\x7d\xf5\x35\xcd\xbe\xfa\xe6\xd9\xcd\x84\xf5\x67\x67\x8a\xdf\x7c\xa9\x44\xcc\xfa\x52\x5f\x97\xf2\xde\x2f\xd9\xac\xcb\x92\x51\x0e\x5d\x99\x24\x95\x4d\xe2\xf4\xac\xca\x22\x8a\x1b\x89\x62\xee\x9f\x30\x41\xa6\xf6\xb4\x33\x4c\xaa\xfd\xc8\xaf\x73\x32\xc1\xe7\xda\xf4\x92\x5f\x85\x7e\xda\xdc\xca\x1c\x52\xaa\xc2\xe5\xd6\xdb\xf1\x5b\xf2\xd2\x22\xfa\x42\x3a\xa8\x6e\x92\x03\xed\xab\xd0\x1f\xe7\x8c\x91\x7a\xae\x50\x86\xbd\x31\xc3\x7d\x9a\x47\x11\xa4\xd4\x9b\x10\xcc\xfa\x0b\x88\xa6\x33\xd6\x1f\x93\x24\xf6\xe6\xcb\xfe\x17\xba\x12\x5b\xa6\xfc\x38\x2c\x5a\x6a\xbc\x4b\x19\x36\xc9\xbe\x44\x3d\xf2\x4e\xdf\x9e\x3c\x7b\xb1\xa1\xa6\x62\x93\x9b\x54\xa7\x88\xce\x9a\x39\x96\x53\x02\x63\xa5\x06\xf3\xfb\x26\x9d\x6b\x46\x12\x11\x63\x0a\x81\x84\x4c\x4b\x38\x55\x3d\xa2\x37\x8a\x0c\x2d\xaa\xf4\xcb\xad\xea\xae\x2c\x23\xd0\xcd\xc2\x46\x8b\x36\x8b\xac\x9a\xed\x52\xac\xc6\x06\x66\x10\xc4\xa5\xb0\xd8\x27\x71\xec\x19\x83\xe2\x4d\x13\xb5\xca\x36\x45\xc8\x8f\xc6\x11\x15\x0d\x4c\x48\x36\xd7\x72\x00\x82\x69\x3e\x9e\x23\xe6\xb7\xfa\x33\x2b\x96\xd7\x5c\xf4\xd5\xda\x37\x76\xd4\x3a\x58\xde\x7d\x7f\x9a\x91\x3c\x6d\x1d\x6c\x59\x70\x01\xc6\xd0\xa0\xd0\x84\x08\xd5\x65\x99\xf3\x2b\x9a\x12\x43\xf5\x7e\x52\x2f\xdd\xa0\x74\x89\x90\x11\x4e\x73\x3b\x99\xbb\xdc\x7b\x02\x0b\xf5\xd0\xd3\x04\x44\x70\xa6\x75\x37\xe2\xe0\x13\x07\x0f\x83\x57\xac\x3e\x24\x35\x55\x2d\x0e\x9d\x93\x9c\x42\x96\x81\xd4\xd7\x63\x94\xa5\x14\xbd\x31\xec\xaf\x8b\xb2\xb7\xc1\x86\xce\x41\x92\x94\x36\x0d\x9c\x03\x94\xfc\x00\x93\xd4\x09\x7a\x3e\x58\x4f\xa4\x30\x9f\xe7\x52\x56\x63\x84\x2e\x33\x90\x81\x88\x6f\x71\x0f\xe0\xd8\xc3\xb9\x30\xc9\xf4\x08\x4e\x96\xeb\x40\xd9\xe5\xfb\xad\xa2\x83\xb8\x25\x28\xe8\xc7\x19\x49\x63\xb2\xc0\xf6\xd4\xf8\xe7\x75\x1b\xcc\x85\x15\x39\xea\x4b\x2e\xa3\xc0\x0c\x89\x12\xfa\x9c\xf7\xd3\x8c\xcc\x53\xfe\x43\x6f\x1e\x9f\x08\xb9\xf0\xcf\x1c\x3d\xde\x02\x21\x2f\x90\x6f\x5e\xf1\x61\xab\x37\xb2\x51\x15\xbe\xc0\x3d\xfa\xb0\x7c\xde\xeb\x3a\x9e\x52\x73\xb5\x85\x2a\xa8\xdc\x6e\x0b\x09\x9d\x18\xbb\x8d\x77\xf6\xed\xea\x0e\x31\x8f\xa4\x4b\xaf\x70\xf5\xf2\x6c\x6b\x15\x93\x54\x9f\x7a\x93\x8c\xcc\x3d\x78\x85\x28\x43\x78\xea\xd1\x0d\x56\xb3\x81\x6e\x82\x6c\x8a\x70\x9f\xf3\x95\xc7\x47\x7a\x38\x6d\x5c\x81\x16\x6e\x6c\x98\x3b\xbc\x18\xc7\x97\x1c\xa3\x0e\x73\xd4\x8f\x66\x30\xba\x18\x93\xab\x2a\x33\x2b\xc1\xa2\xd6\xc6\xbe\x7c\x8b\xb5\x71\xf4\x56\x06\x5d\xa7\xa3\x7a\x77\xa3\xb3\xae\xfc\xad\xe3\xab\x28\x1b\x3e\xe1\x08\x0b\xff\x86\xb6\xf1\x95\xac\xdb\x6f\x98\x52\x73\x23\xd2\xd8\x7e\xda\x6f\xc7\x07\x4c\x08\x61\x8e\x94\x1b\x1b\xb3\xa8\x24\x67\x09\xe2\x64\x09\x46\x04\xc7\xc2\x7a\x5f\x16\x8c\x01\x03\xfd\x18\x51\xbe\xa4\x35\xfe\xae\xca\xb2\x1a\x81\xbe\x8a\x9e\xd2\x0e\x8b\xae\x7c\x73\xc1\xbf\x44\x09\x8a\x2e\xb6\x62\x5f\xda\x86\x7b\x12\xc7\x1b\x2f\xcd\x7a\x95\xc4\x8d\xcd\x86\xee\x48\x17\xb1\x81\x0e\xc2\xd8\x03\xdf\xc7\x30\x31\xc5\xe0\x1e\x98\xb4\xac\x4d\x7a\xe5\x0a\x7d\xb7\x46\x04\x54\xc0\xe1\xee\x84\x40\xdf\x2d\x9e\xfe\xf1\x8f\xbf\x7e\x1f\x77\x13\x02\x95\x44\x04\x47\xa1\xff\x13\x61\x9e\x34\x3b\xaf\x9d\xd8\xb7\xa1\x56\xaa\x03\x6c\xed\x46\x48\x33\x32\x41\x09\xbc\xb3\x6d\xd0\x39\x0f\x45\xab\x07\x8a\x15\x38\x93\x82\xcb\x26\xa5\x47\x88\x47\x6c\x90\x02\x4a\x17\x24\x8b\xa5\x73\x3b\xc1\x13\x94\xcd\x01\x2f\xbb\x57\x13\x79\x5a\x63\x33\xc1\x5e\x8c\x25\x72\x3d\x4c\x8a\x1a\x19\x7d\x9b\x41\x0a\x31\xeb\xe1\xe0\xe0\xa0\xfa\x8e\x06\x07\x07\xd0\xd5\xba\xce\x74\x29\x07\xd7\x2b\x05\x21\x91\x79\x21\x83\x10\xca\x9e\x07\xd2\xc6\x83\xc1\x97\x18\x31\x04\x12\xda\x0b\x74\xd0\x12\x2d\x0e\x0a\xa4\x4e\x42\x80\x4e\x57\xeb\x10\x20\xa8\x0b\xa2\x3c\x30\x92\xd4\x19\xbf\x36\x53\x3e\xb6\x23\xe3\x5a\x29\xbe\xaa\x3f\x28\x01\xc8\x0f\x3e\x7e\x74\x90\x4a\x5e\x66\x90\x90\x29\xc2\x7e\x27\x41\x7d\x19\xaf\xa6\x90\x7d\xa0\x30\xeb\xd5\xfb\x76\x8e\x61\xc0\x6b\xab\x6c\xc0\xee\x48\x11\x6a\x1a\x4a\xac\x6f\x84\xfa\xff\x40\x6c\x46\x72\x76\x9a\x4f\x26\xe8\xca\x38\x5a\xe5\x49\xa2\x9c\x0b\x56\xa1\x50\x36\x14\x14\xa0\x12\x7c\x42\x39\x4a\x29\x1b\x35\x58\xcb\x3f\xdd\xa0\x88\x18\x44\xb6\xfa\x8a\xf7\xd3\x01\x85\xef\xee\x34\x59\x1e\x67\xff\xfa\x7d\x4c\x7e\xde\xbd\xfd\xff\xfd\xd7\x1d\x70\xcc\xea\xab\x25\x28\xae\x43\xda\x28\x91\x53\xd7\xba\xf2\xa0\x99\x5f\x56\xe5\x6f\xdd\x19\xfc\x16\x54\x0c\x9e\xfa\xab\x4c\x0d\x37\xd5\x38\x14\x22\x7f\x49\xde\x8b\x5d\xd6\x49\xf7\xe0\xb8\x8f\x81\x4b\xc0\x40\xd6\x4f\x40\x36\x85\x46\xb0\xdf\xda\x25\x52\x27\x4f\x5b\x97\x7f\x12\x33\xa7\x2a\xd1\x58\xcb\x51\x51\x08\xb2\x68\x76\x67\x0c\x55\xd9\x25\x6f\xa2\x3d\xf5\xe7\x80\x45\xb3\xe7\x24\xd2\x3f\x9f\x19\xc1\xa0\x78\x7c\x0f\xa6\xfa\xe7\x77\x62\x7f\xfa\x54\x6a\x23\x64\x03\x43\xdf\x0f\x75\x0b\xc3\xfd\xa3\xd0\x6e\xc2\x3c\xbf\x07\x53\xf3\x9b\x37\xc2\x1f\x78\x2b\xc3\xfd\xe3\xf5\xe0\x7a\x60\x6c\xc5\x16\x3a\x6f\x31\xcf\xf6\x0b\x8f\x82\xc5\xdd\x9d\x4f\xef\x8f\xff\x76\xf4\xe1\xf4\xf9\x37\xff\x8e\xe7\x93\x02\xbe\xfc\x53\x89\xb7\x71\xe3\x6d\x54\x0a\xe1\x62\x99\xe4\xeb\xe6\xca\x6f\x74\xab\xe5\xb7\xbc\xf1\xf2\x1b\xd1\x87\x79\x25\xbb\xfa\x73\x87\x46\xa9\x5e\xb0\xd5\xae\xda\xf4\xc4\xe3\xab\xdb\xa7\xa6\xee\xa6\xca\x51\xba\xc4\x0c\x5c\x75\x11\x5d\x3a\x2a\xc3\x2b\xc0\x29\x9a\x55\x1b\xa4\x69\x02\xbd\x31\xc0\x00\x83\x2e\xa2\x47\x67\xa3\x69\x02\x90\x2d\x1a\xfc\x0e\xe1\xd8\xe3\x74\xc8\x63\x33\xc0\x3c\x95\xe3\xd8\x03\xcc\x4b\x20\xa0\xcc\x23\x18\x7a\x64\xe2\xb1\x19\xf4\xd8\x82\x78\xfc\xd6\xd9\x62\x99\xbd\xe1\x8c\x1e\xc9\x29\x3d\xfa\x34\x73\x1a\x13\x36\xbb\x9d\x09\xcc\x41\x84\x30\x23\xb4\x09\xc3\x76\x36\x05\xbe\x0c\x7c\x06\xde\x2f\xbf\x48\x74\xf8\xe5\x17\x3f\xf4\xc6\x39\xf3\x32\x80\x2f\x64\x85\x19\x9a\xce\x60\xe6\x21\xb1\x68\x4b\x0f\x24\x94\x98\xfa\xbf\xfc\xe2\x9b\xb1\xfe\xf2\x8b\xbf\x6b\x38\xf4\xef\x14\x10\x02\x0e\x98\xb0\xdb\x9e\xe5\xa3\xde\x7f\xf3\xbb\x34\xb9\x84\x99\xf7\x5f\x94\x65\x79\x0c\x93\xe0\x53\x4d\x98\x96\x66\x0c\xb0\x80\x80\x1e\x8e\xc0\x06\x92\xb9\x8a\xa8\x71\xf2\x37\x3d\xbe\xbf\xf1\xd2\x23\x59\x0c\xb3\xc0\x42\x1f\x5d\xcd\xb3\xda\xd3\xe8\xc4\x66\x00\x17\x05\x8a\xd6\x76\x06\x5c\xd1\xf0\xff\xb9\x6d\x30\x4a\x10\xd2\x3c\x9a\x79\x80\x96\x77\x91\x7e\xa0\xe5\x27\x90\x47\xb0\x0a\x57\xb6\xcb\x89\xf3\xc5\x21\x73\xb5\xba\x37\x69\x78\x03\x4c\x82\x57\x20\x62\x5e\x3a\xcb\x00\x85\x5e\x75\x00\x5e\x6f\x42\x32\x4f\x0d\x34\x74\xb4\x50\xaa\xc0\x4f\x87\x05\xa2\x31\x99\x57\xb6\xa0\x28\x82\x09\xa2\x45\xcb\x2d\xbb\x64\x6b\x2d\xd4\x83\xbd\x31\x56\xb8\xf8\x0e\x17\x46\x96\xa7\xeb\x5d\x3b\x72\x86\x12\x7a\x08\x71\x44\x62\x84\xa7\x9f\x22\xca\xcc\x35\xf8\x0d\x5c\x6d\x28\x70\x6f\x0c\xf9\x24\xad\x97\x7f\x03\x57\xc2\xfa\xfd\xf7\x1c\x52\xd6\xf3\xe5\xdc\xfd\xf0\x7a\x0e\xd9\x8c\xc4\x43\xff\xed\x9b\xd3\xf7\xbe\x0a\xfb\x6d\x44\xed\xe2\x59\x46\xff\x16\x26\x4c\xab\xba\xec\x5d\xfa\x2e\x98\x0b\xda\xe0\x29\xa0\xf0\xab\x2f\x07\x02\x5a\xb0\xe7\x0f\xfd\x47\x2a\xe6\xf3\x40\xd8\x7e\x3c\xb2\xdf\x68\x8d\x40\xb0\xb7\x40\x38\x26\x8b\x41\x42\x22\xa1\x11\x18\xcc\x32\x38\x19\xf9\xe2\xbe\x79\x48\x29\x39\xf4\x1f\xc9\x06\x3f\xbc\x7b\xf9\x8c\xcc\x53\x82\xa5\x98\x7f\x15\x0c\x22\xce\x8e\x97\x2c\xee\xd7\x88\xd3\xe5\xa2\xd7\x6e\xbd\x3b\xbe\xe6\x95\xae\xaf\x4d\xea\x39\xb9\x60\x26\x8d\xcc\x0c\x82\x78\x20\xa4\x08\xd2\x2a\x87\x64\x3d\xff\x2c\x55\x9d\x8f\xe2\xf1\x0c\xd0\xd9\xb9\x1f\x0c\xd4\x35\x6b\xef\x68\x7f\x34\x62\x83\x04\xe2\x29\x9b\x1d\x1c\xf8\xd7\xd7\x83\xe7\x4f\x79\x99\xd5\xca\xe7\x5f\xb6\x91\x69\xdf\x70\x44\x12\xed\xae\xe3\xb1\x70\x1f\xe9\xdc\x0c\x2f\x6d\x35\x13\xca\x86\x87\x2c\x14\x96\xbd\x42\x04\x22\x8d\x73\x87\xfe\xfb\x19\xa2\xde\x73\xb5\xa0\x1e\xc2\x94\x01\x1c\x41\x4d\x47\xa9\x07\x92\xc4\x23\x79\xe6\x31\x08\xe6\xc6\x6a\x03\x48\x29\x26\x48\x12\xb2\x38\xc1\x04\x2f\xe7\x24\xa7\x27\xc2\x4e\x60\xb8\x7f\x1c\x4e\x50\x46\x19\x56\x0e\x4d\x09\x28\x7e\x0b\x8c\xe5\x3f\x34\xa2\x0e\xd9\xca\x6d\x75\x6f\x1c\x4e\x64\x5a\x35\xcb\xcf\x66\x0c\xa2\x8b\x69\x46\x72\x1c\xf7\x23\x92\x90\xac\xcf\x66\x70\x0e\xfb\x09\x9a\xce\x98\x95\x31\x63\x20\xa6\x3a\xf2\xcd\xd4\x4e\xc5\xfe\x5c\x85\x31\xec\xd2\x5f\xc9\xab\xa5\xbd\xcb\xf5\x7b\xe3\xee\xa4\x20\x5f\xa2\x97\x3f\xbc\xfe\xc7\xc5\xff\x74\xd6\xf9\x3a\x4e\x6d\x85\x0a\x30\xf3\x52\x30\x85\x7d\x31\x25\x2f\x05\x31\xa7\xdd\xfd\xe3\xa3\xa3\xda\xe5\xb1\x99\x01\xc8\xc8\xc2\x75\xd5\x6c\xae\x10\x91\xa4\xff\x65\xfb\x25\x5a\xd5\x6a\xbd\xf8\xa2\xb9\x31\x47\xa6\x59\xe4\x87\xfe\x21\xa0\x14\x32\x7a\x88\xe6\x53\xb5\x46\x09\x99\x92\x41\x8a\x4d\x39\x90\x30\x3f\x34\xd8\x53\x1d\x17\x26\xca\x48\xd1\xc3\x44\x9b\xed\x78\x96\x71\xdb\x63\x87\x71\x5b\x17\x3e\x62\xbd\xd5\xdc\x5f\xeb\xf0\xde\x62\xb6\x11\x99\x52\x7b\xb6\x0b\x14\x0b\x23\xc9\xe3\xbf\x7e\xad\x5f\xcd\x84\x89\x3c\x7f\xf7\xb7\xaf\xcb\x40\x11\x3b\x49\x24\x31\xe0\xa7\xd9\x18\xd0\x4e\xe0\xd9\x10\x20\x4d\xef\x9a\xf1\xe4\x6f\x2d\x78\x62\xe7\xc1\x42\x7f\x28\x24\xbe\x6d\xd5\x4d\x47\x83\xa4\x1a\xa7\xb8\x05\x9b\x66\x53\x99\xb5\x5c\x1a\xa7\x5e\x08\x4f\xef\xa3\xbd\x90\x1e\xda\xa7\xe5\x26\x3a\x0c\xe8\xee\x48\xf8\xf7\x3f\x4f\xfe\x16\xfd\x76\x94\xdd\x87\x40\x6b\x25\xb3\xd0\x5a\x3c\x31\xe9\x32\xd5\x2d\x5a\xda\xe9\x9b\xd7\x2f\xde\xff\xf0\xf2\xa7\xef\x3b\xbb\xba\x6c\x1b\xfd\x6c\x8b\x31\xaf\x8b\x5f\x26\x9d\x09\xfe\xe9\xfd\x3d\x4f\x96\xde\xe3\xa3\xe3\x6f\xb6\x98\xc4\x7d\x8b\x5f\x56\x95\x73\x97\x64\xd3\x3f\x90\x85\xc7\x88\xe4\x0e\x93\x44\xdc\x82\x5a\xe8\x73\x93\x5f\xc1\x2b\x78\x09\x33\x30\x85\x1e\x98\xa2\x04\x7a\x13\x3e\xf7\x05\xc9\x2e\x28\x6f\x3b\xcd\xc8\x25\x8a\xa1\x07\xbc\x8c\x8c\x73\xca\x3c\xba\xc4\x24\xa5\x88\x7a\xfc\xa6\x3f\x43\xd3\x99\x97\xc0\x4b\x98\x78\xe4\x92\x5f\xdc\xe0\x82\x0e\xbc\x97\x0c\x66\x80\xa1\x4b\xe8\x81\x34\xcd\x08\x88\x66\x50\xb4\x15\x91\x2c\x25\x19\x60\x42\x08\x04\x18\x9c\x2e\xbd\x09\xa1\x0c\x66\x5e\x24\x04\xfe\x44\xd5\x62\x33\x84\x2f\x10\x9e\xf2\x3a\x93\x3c\x63\x52\x88\x04\x45\x17\x7c\x9e\x62\xb3\xf2\x91\xa5\x44\x32\xfc\x03\xef\x4d\x36\x05\x18\x45\x20\x49\x96\xde\x34\xe3\x60\x99\x41\x6f\x46\x12\x44\x19\x8a\xbc\x05\xc9\x92\xd8\xe3\xa3\xf3\xc8\xc4\x8b\x11\xcd\xf2\x54\xf4\x84\x30\x26\x97\x82\x6b\xf6\x2e\x11\xe0\xe5\x2e\x84\x6b\x8b\x17\xa3\x4b\x98\x51\xc4\x96\x42\x08\x06\xe7\x29\x59\xc0\x4c\xf0\xaf\x5d\x4e\x42\x27\xa4\x9f\x66\x6a\x4a\x42\x20\x0e\xc6\x09\xf4\x16\x08\xf7\x17\x08\x7b\x34\xcf\x2e\xd1\x25\x48\x34\x5c\x90\x84\x17\xc4\x34\xcf\xc4\x44\x05\x6b\x0c\xbd\x98\xcc\x11\x96\x17\x47\xef\x84\x49\x71\x0c\x8e\xb5\x90\x3d\x06\xcb\xd0\x9b\x12\xde\xcb\x84\x64\x0b\x90\xc5\xa1\x07\x04\x3f\x80\x49\x36\x07\x89\x94\xc4\xcc\x00\xf5\xe0\x25\x49\x2e\x61\x2c\xdd\x08\x94\xad\x17\x87\xc1\x3f\x3d\x44\x3d\x22\xe5\x3c\x59\x8e\x17\x60\xe9\xf1\x2b\x8d\x1c\x37\x6f\x90\x7a\x80\x8f\x11\x82\x39\x67\x1d\x62\x2f\x4a\x48\x1e\x7b\x94\x24\xb9\x1c\x94\x08\x9a\xa3\x8d\xc7\x62\x4f\xe1\xb7\x87\xb0\x97\x41\x90\xf4\x19\x9a\xf3\x49\x27\x89\x37\x03\x97\xd0\x9b\xe7\x09\x43\x42\x68\x48\xf2\x68\x96\x12\x24\x5c\x1b\x48\xe6\x91\xc9\x84\xce\x08\x87\xd7\xf6\xe0\x7e\x06\x52\xc4\x40\xc2\xaf\x18\x04\x7b\x09\x59\x78\x33\x80\xa7\x02\x38\x59\x8e\x98\xd8\x37\x31\xc4\x0c\x4d\x96\x1e\xf0\xc6\x20\x49\x52\x90\x5d\x28\xdc\x02\x71\x0c\x63\x4f\x40\x9d\xe3\x00\x23\xde\x18\x32\xe0\x31\x48\xd9\xc0\x7b\x73\x09\xb3\x8c\xef\x09\x01\x74\x34\xe5\xdd\x70\x84\xe1\xaf\x16\x88\xcd\x78\x6d\x81\x96\x20\xf1\x84\x51\x36\x9b\x65\x24\x9f\xce\x94\xdb\xc6\x73\x78\xf9\x26\xa5\x03\xef\x27\x80\x09\x83\xd1\x0c\x93\x84\x4c\x97\x1e\x9a\xcf\x39\xc6\x11\xec\x81\x84\x70\x80\xcf\x38\x7a\x4e\x88\xb2\x1d\x14\x5b\x8d\x2f\x88\x00\x5f\x94\x10\x2a\xfb\x4f\x08\x49\xf9\x04\x45\x64\x03\xe1\x0c\x42\x12\x98\x2c\xf5\x2a\x4a\xd1\x94\xc7\x57\x6b\x7b\x50\xbe\x25\x71\x04\xa4\xab\x09\x3f\x3e\x81\x9e\x1b\x07\x28\x67\xaf\x31\x98\x0a\x82\xc5\x09\x11\x07\x02\x99\x88\x9d\x34\x49\x84\xf8\x8f\x78\x90\x72\x74\x47\x74\xe6\x81\x82\xba\x0c\xbc\xf7\x40\x6c\x72\xca\xb1\x09\x52\xea\x5d\x40\xe1\x1f\x21\xa6\xcc\xef\xba\x08\xc7\x28\x02\x8c\x64\x94\x23\x84\x60\xe5\x19\xf1\xe6\xe0\x0a\xcd\x91\x99\x3d\x87\x14\x40\xc9\xc0\xfb\x11\xc2\x94\x37\xb7\xe4\xb7\x62\xb8\x84\x06\x02\x9c\x62\x2c\x66\x9c\xb2\xa9\xc6\x79\x29\xe0\xc5\x10\xa6\x62\x9b\xeb\x82\x94\x81\x8c\xf5\xf3\xd4\x13\x37\xe9\x44\xad\x7b\x0c\x33\x5e\x26\x22\xf8\x12\x66\x53\xc8\xc7\x45\xb0\x17\x65\x84\xd2\x3e\xe7\x06\x78\x83\x1e\xc2\x0c\x4e\x25\x5c\x3e\xd3\x87\xcf\xf4\xe1\x33\x7d\xf8\x4c\x1f\x3e\xd3\x87\xcf\xf4\xe1\x33\x7d\xf8\x4c\x1f\x76\x45\x1f\x1e\x86\xbd\xf1\x62\x86\x18\x6c\x97\x0b\x97\x2f\xb0\x30\x49\x88\x77\x5a\x34\xde\x21\xa2\x09\xbf\xe8\x93\x39\xe4\x97\xc4\xe9\xe7\x2a\x77\x54\xe5\x4f\xa2\x48\xaf\x8a\x11\x0b\x19\xed\x5e\x4d\xee\x98\x41\xca\x4f\xbd\xcc\x65\x42\x6c\xbe\xed\x50\x67\x6e\x54\xcd\x2e\x21\xa8\xcc\x4f\xd2\xa0\xc7\x17\x3e\x67\xd3\x43\x88\x2f\x51\x46\xb0\x8a\xee\x72\xb3\x71\xa9\xd0\x7d\x96\x94\xb6\x90\x1b\x6b\x65\xf6\xb0\x50\x8e\xeb\x57\xef\x97\x29\x5c\x05\x7b\xc5\xa4\xf0\x60\x0e\xd2\x5e\xd5\xa4\x39\x2b\x3b\x8a\x85\xd7\x29\x60\xb3\xa1\x7f\xe8\xaf\x54\x50\x31\x55\x20\x06\x74\x36\x26\x20\x8b\x4d\x91\xe2\x4d\xa5\x28\xc0\x20\x59\x32\x14\x15\xad\x15\x6f\x2a\x45\xb5\x03\x90\x2a\x47\x0f\x87\x26\x47\x90\xf9\x29\x42\xd0\xad\xc2\x86\x81\x17\x09\x1b\x74\x1b\xfa\x45\xa5\x2b\x21\x2a\x36\xa5\xc4\xd3\xe1\x50\xfc\xf9\x15\xf1\x29\x54\xe7\x6b\x52\x36\xae\x1b\xdb\x61\x7c\x68\xd4\xd0\xe2\x9b\x79\x58\x37\x72\xa5\x3e\x31\x03\x17\xcf\x87\xc3\x14\x4c\xa1\x1c\x53\xd8\x75\xa6\x95\xa2\x51\x4e\x19\x11\x4a\xba\x7a\xd9\xa6\xe1\x98\x04\x0a\xaa\x86\x7e\xae\x34\x2d\xa2\xa4\x14\x63\x50\x8f\x95\x42\x39\xb5\x71\x49\x3e\x39\x57\xbe\x28\xa4\x9f\xab\x93\x9e\xb3\xb4\x98\x04\x7f\xa8\x14\x48\x50\x04\x31\x2d\x26\xaa\x9f\xab\x38\x29\x62\xa6\x6a\x74\xe4\x0f\xb5\x02\x31\x62\x56\x09\xfe\x54\x2d\x92\x45\x33\x74\x59\x74\xa5\x9f\x6b\xeb\x24\x2c\x8f\x0b\xc8\x8b\xc7\x4a\x21\x8b\xed\x28\x60\x50\x7a\x59\x5b\x54\x6d\x4d\x63\x16\x34\xaf\x01\x83\xc2\x28\xcf\xec\x45\xe7\x8f\x87\x43\x46\x2e\x20\xee\x00\x91\x46\x4c\xa5\xa4\x68\x93\x92\x86\x06\x2f\xe0\x32\x4a\x08\x28\xf6\x98\x79\x51\x5d\x32\x61\x1a\x62\x16\x4c\x3c\xd5\xb0\x23\x9b\x12\x66\x21\x87\x78\xac\x14\xca\x20\x85\x45\x19\xf1\xd4\x30\xb4\x84\x4c\x49\xce\xec\x2e\xf9\x63\x15\x78\x33\x60\xc3\x8e\x3f\x1d\x0e\xf9\x7e\x16\x9b\x7c\x48\x61\x86\xc4\x76\xa8\x54\x33\x4e\x6f\xaa\xa2\x7e\xde\x06\x2b\x40\x14\x91\x5c\x64\xf3\xd4\xeb\xa2\x5f\x54\x0a\xaa\xc3\xd3\x94\xd3\xcf\x95\x62\x45\x62\x34\x43\xd7\xff\xcf\x02\x25\x71\x24\xa9\xb6\x5b\xc9\x27\xea\xd2\x43\x90\xa6\x09\x8a\x94\x59\x4b\x37\xcf\x9d\xa2\x46\xc9\x6f\xa7\x66\xe6\x86\xf9\xb2\xd5\xe2\x17\x33\x42\xf8\x9d\xb2\x16\xc1\x38\xa4\xb7\xe7\xea\x43\x3b\x07\x03\x5d\xe3\x14\x9c\x22\x8c\x61\xdc\xf4\x75\xeb\xe0\xa0\x95\xb0\xbe\x7c\x69\x7f\xa5\x79\x0a\xb3\x01\x07\xf6\x52\x38\xfe\x86\x20\x9b\xca\xc0\x31\x8e\x28\xbf\xcd\xee\xc0\x24\xf3\x03\x87\x0d\x9f\x8a\x55\x18\x0c\xc6\x84\xb0\x1e\x1b\xc8\xac\x6c\x9c\x81\x0b\x5d\x06\x74\x8e\x68\xb4\x68\x22\x89\x8b\xe9\x67\xa8\x57\xda\xdf\x1f\x8d\xf0\xc1\x41\xe5\xab\x21\x13\xce\xaf\x49\x0c\x52\xf5\x85\x0d\x5c\xd6\x55\x07\x07\xfb\xb0\x25\x7a\x6a\xfd\x23\xa7\x89\xf2\xab\x0e\x66\x5c\xf3\xaf\xb7\x7d\xd0\xaa\x93\x01\xba\x7b\x11\x8c\x59\xb8\x3e\x8b\x6a\x27\xb6\xdf\x9a\x6d\x47\x85\x26\xbd\xd6\x08\xaf\xca\x86\xae\x79\x94\x1d\xe2\xbf\xee\xc1\x84\x42\xcb\x38\xd3\x59\x7c\x0a\xd9\xa9\x1c\xeb\x4b\x06\xe7\x3d\x1f\x62\x96\x2d\x3f\x64\x89\x1f\xec\x21\x3a\xc0\x84\x0d\x38\x33\xdf\x63\xc1\xc1\x81\x7a\xce\xb1\xdc\x71\xb1\x78\xb9\x26\x10\x6d\x43\xdb\xa1\x6a\x0b\xe1\x28\xc9\x63\xc8\x37\xad\xb4\xb9\x14\xb1\x6d\x9d\x46\x99\x2c\x08\x56\x56\x7e\xc8\x05\x4a\x92\xf7\xc6\xc2\xd0\x06\xed\x6b\x1d\xce\x6e\x20\xa8\xbf\x8e\x83\x2b\x2d\xd5\xde\x4b\x7a\x42\x7b\xc1\x2a\xac\xa6\x98\xe4\x7c\xb8\x5c\xfc\xfd\x1e\x3b\x38\xa8\x66\x9b\xb4\x1f\x61\x50\x04\x39\x1f\x20\x7a\xf2\x1b\xb8\x92\x88\xf7\x82\xb7\x29\x00\xb3\xdf\xba\xbe\x41\xf0\xf1\xe3\xb6\x31\x7c\x6d\x53\xca\x46\x93\x53\x79\x32\xa1\x3f\x60\xb6\x96\x6a\xc7\x80\x81\x52\xf9\xdf\x28\xc1\x7d\x90\xa2\x5b\xb9\x3d\x99\x6b\x8a\x14\x62\xa2\x3f\xa0\x73\x09\xae\x85\x45\xf0\x35\x8a\x87\x70\x80\xe2\x90\x2d\x53\x38\x54\xe6\xbb\x82\xee\x00\xc6\x32\x34\xe6\x87\xd2\x10\xae\xba\x00\x41\x27\xde\xb1\xf2\x61\x35\x5c\xd7\x9a\x40\x77\x4f\xa0\xb1\x98\x91\x97\xf1\x13\xf5\x77\x78\xb4\x03\xd0\xe8\xbb\xc9\x67\xd0\xd4\x26\x29\x4c\x39\x8d\x65\xe7\xc3\x84\x0a\xe2\x20\x41\x3b\x84\xc7\x5c\x04\x2e\x7e\xc8\xa0\x80\x03\x8d\xf3\x2f\x77\x41\x5b\x04\x54\x52\x88\x85\x9b\xc6\x83\x06\xcc\xae\x70\xe4\x61\x43\x61\xd7\xe8\x91\x11\x26\xec\xe4\xfa\x52\xa0\xd1\x4f\x41\xc6\x50\x84\x52\x80\xd9\x43\x07\x94\xce\xac\xfe\x08\x8a\x40\x42\x3b\x81\x97\x0c\x37\xfb\xb0\x0e\x23\x79\xc9\xf2\x8f\xfc\x3d\x73\x7f\x40\xf1\xc1\x41\x0f\x8f\xf8\x8f\x20\x2c\xa0\x87\x77\x00\x21\x19\x94\xe5\xfe\x43\xe5\x56\x08\x0d\xbf\x1b\xd3\xc3\xfe\x14\x52\x96\x67\x90\x76\x17\xba\x6b\x86\x57\xd7\x74\x35\x76\xf3\x54\x49\xe2\xbe\x4d\x95\x88\x01\x50\x8a\xa6\xf8\xe3\x47\xf9\x34\x87\xd9\x14\x86\x64\x44\x7b\xd7\x2b\x11\xa8\xec\x19\x48\x79\xb7\x22\x5e\xca\x1e\x7f\x4f\xc2\x02\xb8\x7a\x4c\x36\xe8\x71\x0d\xf4\x56\x2b\x64\x50\x3c\xac\x81\x9e\x70\xcb\xdb\x18\x70\xbc\x56\xa5\x8d\x9d\xa6\x96\xaa\xcf\x6e\x8d\x84\xa5\x8b\x0c\x65\x46\x28\xb3\x54\x21\x20\x45\x3f\x10\xca\x42\x0c\xe6\x50\x10\x9a\xf2\xb7\x9f\xf4\xeb\x50\x46\xc2\xa7\x95\x74\x51\x75\xf1\x89\x32\x8a\xa8\x44\x55\x93\x22\xc7\xf0\x7a\x0a\x59\xdd\xcf\xed\x7a\x15\xc2\x16\x81\x4c\x5b\x8b\x46\x3c\x03\xf9\xdd\x5b\x14\x21\x19\xfa\x43\xec\xf1\x11\x0c\x42\xb6\x5a\x05\xe1\x0c\xe0\x38\x81\xef\x20\x4d\x09\xa6\xd5\x3d\xc9\xb2\xe5\xf5\x3a\x91\x90\x7b\x04\x3a\x2e\xe3\x08\x9e\xf9\x57\xfd\xc2\x49\x84\x01\x96\xf3\x9d\x43\x2a\x1f\x2e\xa5\x01\x84\x7f\xbe\x87\x26\xbd\x2f\x8f\x8e\x47\xa3\x11\x73\x88\x11\x48\x21\x5b\xd0\xf2\x00\x97\x04\x40\x89\x08\x3a\x67\xbf\x71\xbb\x76\x0a\x29\x83\xba\x3c\x87\x6b\xc3\xf3\x99\x81\xc9\x54\x57\xd4\x25\x05\xa1\x81\x5c\x56\x34\xfa\xfb\xe9\x9b\x9f\x06\x29\xc8\x28\xec\xd1\x60\x0f\x0d\xa4\x95\xcf\xc1\x01\x1e\x40\x91\xa8\x63\x34\x1a\x21\xf5\x93\xbf\x04\xf1\x1c\x61\xf1\x4e\xfc\x12\xaf\xb4\x4e\x4c\xbe\xd6\x4f\xfc\xd3\x25\x82\x8b\x0f\x14\x66\xf2\x93\x79\xea\x28\x46\x58\x0f\x8c\xd5\x4a\x7a\xb4\xb2\xe0\xba\x2c\xf8\x58\xd9\xf2\xc0\x36\x41\xe3\x3a\x8a\x0d\xd2\xb4\xed\xea\x20\xc5\xc0\x73\x44\xa3\x8d\x74\xa7\x3b\xc9\x66\xa7\x63\x0b\x76\x71\x83\xee\x42\x73\x2e\xa2\x93\x9c\xcd\x1a\x1d\xa9\xd3\x94\x93\xa0\xa1\xef\x87\x8a\x1a\x0d\x7d\xff\x11\xae\x91\x28\x88\x63\x61\x44\x35\xac\x7d\x7a\xe4\x1f\x56\x2a\x14\x74\x4b\x9a\xb6\x70\x6c\x7e\xa1\xeb\xfb\x7e\x48\xb2\xe9\xcb\x98\xff\x30\xae\xad\xaa\x50\xc9\xcb\xd5\x0f\xa1\x34\x75\x1a\xfa\xcf\xc8\x7c\x9e\x63\xc4\x96\x7e\x28\x12\x95\x0d\xf7\x8f\x1a\x1d\x59\x39\x1e\xbd\x95\x8e\x09\x99\x4a\x94\x97\xb3\xd9\x33\xb1\x74\xf2\xd9\x88\xbe\x78\xf1\x42\x90\xc9\x9f\xe6\xe0\xea\x3d\x98\xd2\xe1\x17\xa1\x8c\x88\x7a\x72\x09\x90\x88\x36\xc4\x3f\xaa\x2c\x69\xaf\xa4\x02\xaf\x1e\x05\x73\x5f\x10\x15\x8e\x99\xa2\xdc\x2a\x9c\x42\xf6\x14\x50\xf8\x21\x2b\x0b\xcc\x65\xe9\xb3\x62\xab\x68\xd8\x72\x2a\x70\x3e\xf8\x8d\x20\xdc\xf3\x0f\xfd\x60\x15\x8e\x09\xb1\x93\xee\x71\xf4\x92\x07\xba\xc0\x76\x62\x67\xc5\x23\xc2\x0b\x98\x51\x3f\xb0\xd2\xc5\xd9\xb0\xf0\x43\x32\x38\xb1\x9e\x07\xda\x4f\x52\x32\x09\x68\x74\x49\x50\xec\x1d\x95\x24\xad\x9b\xfa\x40\x73\x72\x88\xb6\xf6\x9c\x36\xc7\x09\xaa\x3b\x72\xa3\x27\x3d\x3d\x2d\xb5\xa7\x10\xa4\xbd\x6b\x89\x40\x6a\xdf\x30\x61\xd4\x37\x63\xf3\xe4\x14\x4c\x60\xaf\xea\x46\x1c\x34\xa0\xcc\x91\x8d\x10\x47\x2b\x9b\x12\x37\xd3\x30\xa5\xb4\x39\xfd\xf9\xed\x40\xd9\x77\x88\xf1\x05\xc1\xb0\x39\xdc\x40\x9a\x8f\xff\x7f\xf6\xde\x75\x39\x6e\x1b\xdb\x17\xff\x9e\xa7\x40\xb8\xab\x1c\xe9\x6f\xb6\x2e\xbe\x25\x71\x6d\x6d\x1f\x45\x76\x32\x9e\x2d\x3b\x1e\x4b\x4e\x66\xb6\xa3\x4a\xa1\x49\x74\x37\x46\x6c\x82\x43\xa0\xd5\xee\x24\xae\x3a\x9f\xce\x03\x9c\xda\x0f\x30\x6f\x71\xbe\xcf\xa3\xec\x27\xf9\x17\x6e\x24\x48\x82\x24\xc8\x66\xb7\x5a\x89\xe7\xec\x13\xab\x79\x01\x81\x85\x85\x85\x85\x75\xf9\xad\x08\x07\x87\x73\xe9\xbe\x28\xba\x25\xc8\xfe\xaf\xe5\xc1\x91\x7d\x5f\x4d\xa3\xde\xbb\x7c\xef\xc6\xbb\xaf\x1a\xd7\xd7\xf6\xb3\xa7\xd4\x4a\xf6\xaa\xf2\x95\x50\xb6\xef\x6b\xdf\x2b\xe7\xd1\x67\x7b\xdd\x28\x79\x21\x5e\xcd\x52\xc9\x45\xb6\x0c\x8e\xa7\x8d\x24\xcd\x97\x15\xa7\x69\x1b\x41\xf7\x9f\x96\x76\xdd\xd8\xb4\xc2\xdb\xdf\xa6\x8c\xa4\xc8\x6e\xd4\xf7\x63\xcd\xd5\xd4\x87\x27\xf7\x63\xb4\x04\xcf\x21\x43\x9f\x15\x8b\x43\xf2\x56\xf9\x3e\xb9\xe7\xcd\x18\x4b\xe8\xd3\xc3\x43\x2a\x1b\x3f\x98\x12\x32\x8d\x10\x4c\x30\xe5\xca\xd6\x61\xb6\x03\xc4\x68\x49\xc5\x04\x1e\xfc\x9d\x92\xf8\x59\x30\x3e\xf1\xee\x43\xbf\xec\x0d\x8b\x4f\xf8\x44\x31\xfe\xaa\x14\x5b\x07\x6a\xb6\x7c\xaa\xee\x08\xe8\xcd\x24\xc5\x14\x65\xb7\xc8\x09\x56\xd2\x40\x4a\x3d\x4e\x5c\x7d\x29\x9b\xec\xcf\xb0\x2a\xf7\xa8\x5b\x3e\x87\x0c\x89\x3a\x68\xfb\xbe\xba\x95\x37\xad\xef\xd1\xec\x5e\x49\xa8\x79\xfe\xe7\xc7\x92\x4e\x91\x71\x8e\xc2\xf4\x35\x5a\xfe\x20\xbf\xb8\x07\xfd\xd8\xff\xfc\x68\xdf\x4f\xeb\x1f\xa0\xfc\x81\xcf\x0c\x19\x7d\x72\x72\x42\xee\xdd\x8b\xee\xdd\xab\xfd\xea\xd1\xbe\xef\xbd\xc8\xfa\xa9\x5e\x48\x1b\x5f\xf8\xb8\xef\x93\x8f\xad\xdb\xba\x48\x6c\xde\x5c\xba\x67\x79\x6b\xc6\x7c\x0c\x37\x66\xd9\x55\xa5\x04\x48\x29\x9d\x5d\x15\xd7\x14\xef\x15\x1d\x6f\x52\xe8\x9e\x9c\x9c\xc4\xbf\xfd\x16\x8f\x46\xe0\x3f\x8e\xf6\x7f\x15\xa8\x8d\x73\x44\x16\x6c\x8f\xfa\x68\xff\x33\xae\x24\xb3\x83\x00\x46\xd1\x9e\xa8\xec\x99\x2b\x47\x6c\x96\x92\x25\x88\x4f\x8e\x7c\x76\xc0\x88\x5c\xb6\x7b\xfb\xfc\xbc\x2a\x3e\xf9\x59\xa9\xa5\x8f\x3e\x9d\x91\xe5\x6b\xc2\xf0\x44\x9d\xc4\xab\xc8\xca\x92\x05\x6f\x50\xcc\xbe\x59\x50\x6f\xff\x40\x08\x2d\x3a\x13\xae\x7a\x3c\x59\xbd\x13\x87\x7d\xd6\x3e\x11\x0a\x83\x72\x7b\x73\xa1\xb4\xe6\x66\x08\xed\xcc\x83\xea\xe3\x18\xb3\x0a\x7c\x66\x93\x46\x99\x15\x5b\x7d\x85\x18\x7c\x8e\x68\x90\xe2\x44\xbe\x2b\xc0\xa5\x05\xce\x66\x81\x9c\x25\x54\x0b\x76\xdf\x03\xbf\x01\xef\x7e\x45\xcf\xd7\x03\xd1\x9e\x39\x59\xc9\xcf\x68\xf5\x94\xbe\x11\x88\x4a\x8d\xad\x3b\xb6\x7a\xdf\xe3\x5d\xc8\xdb\x2e\x00\x67\x37\x7e\x40\xbc\x53\x1a\x7b\xe1\x85\x0c\x8e\x83\xcb\xc7\xf7\xfc\x48\x7b\x12\xe6\x8f\x5e\x65\x00\x1d\x7b\xfb\xfe\x1e\x17\xf6\xd2\x95\xfb\xdb\x6f\x98\x16\xdc\xb8\xe2\x48\xd5\x3e\x1e\x5d\xa9\x70\xdf\x28\x74\xcb\xf5\x0d\x6f\x9f\x3f\xc2\x39\xe2\x8b\x7f\xe7\x1d\x11\xf5\xc3\x4e\x3c\xa3\x27\x9e\x4e\x1d\x38\xf1\xbe\xb8\xcf\xee\x7f\xe1\xfd\xc7\x17\x9c\xd8\x02\x58\xf2\x92\x58\x86\x94\x2e\xe2\x03\x1a\xcc\x10\xe7\xc9\x3d\x4f\xc0\x92\xbf\x45\xb1\x50\xa9\x4a\xa7\x69\x74\xa2\xfb\xc2\xf6\x0f\xc8\x64\x22\x5c\xbe\x9f\x15\x06\x88\xf6\xb5\x01\x86\x77\x98\xcd\x23\x1f\x68\xb8\x94\x18\xcf\x45\x06\xb9\xee\x4a\xf2\x14\x1d\x30\x92\x7c\xf4\x1f\x3c\x3e\x12\x8e\xfc\x90\x2c\xe3\x88\xc0\x50\xc0\xdb\xda\x4c\x7e\x7c\x9f\xfb\x26\x22\xe3\xbd\xf7\xec\xca\xff\x95\x65\x98\x45\x87\xfc\x43\x1e\xdf\x86\x73\xe5\x2c\x48\x11\x64\xe8\x45\x24\x62\x67\xf7\x3c\xe8\xed\x7f\x46\x0f\x28\x5b\x45\x9c\x5a\x98\x26\x11\x5c\x3d\x05\xb1\x48\x5d\xce\xde\xe1\x3d\x55\xe4\x3d\x9b\xe1\x88\x9f\x37\x55\xad\x64\xa5\x73\xbc\x7b\x7b\xae\x1a\x96\xeb\xfb\xdd\xdb\xf3\x3d\x2e\x87\xe4\x19\x8f\xf8\xf4\x40\x8f\xe1\x04\xf9\xf4\x40\x64\x30\xe4\x27\x42\xfe\x76\x8a\x6e\xc8\xb5\xf1\x36\xd9\x2f\x7d\x5e\xa1\xbc\xa8\xcf\xb7\xc9\x21\xed\x69\xad\x37\x50\x1a\x1b\xc7\x46\xcd\x92\x1d\xe5\xd3\xba\xa7\x3e\xa1\x1c\xd5\x1e\xfa\xc2\xb0\x2e\x84\xa7\x0e\x34\x2b\x21\x5c\x85\xcd\xc9\xf9\xab\x5a\x44\x12\x18\x8b\x6b\x43\x0a\x38\x4b\x18\x1e\xa8\xd8\x8a\xf0\x64\xc5\xcf\xec\x96\x10\x1c\x0d\x98\x25\x57\x38\xef\xaa\xb7\x7f\x90\x19\x6e\xcd\xef\xe4\xa7\x82\xd2\xd3\xc9\x82\xce\x04\xfa\x95\x38\x67\xf1\x7d\xe9\x07\x4c\xf1\x38\xaa\xad\x39\xde\x0a\x07\xa6\x3f\x2a\x6d\xfe\x87\xde\x7d\x96\x23\x83\x7d\xf7\xe2\xb2\x0a\xfc\x95\x9d\xe5\x80\x52\x5e\x61\x9a\xc2\x95\x0a\x45\x39\x79\x7f\xc5\x19\xa2\x10\xd2\x3c\xf4\xc8\xe5\xd8\x4f\xa3\xda\x80\xac\x1e\x63\xbe\xef\x3d\x93\x38\xc1\x27\x30\x8a\xbc\x3b\x40\x81\xb6\x92\x2b\x59\xc9\xf0\x0e\xd4\xf0\xee\xc7\x06\x2a\xdc\xbb\x4b\xcf\xdf\x21\x76\x0f\x51\x84\x18\xb2\x98\x14\xdc\x46\x66\x70\xf5\xf3\x17\xe7\x2f\x2e\x5f\x78\x8a\x8f\xf2\x3a\x75\x74\x7d\x7e\x12\x9c\x74\x68\xfa\xcd\x6e\x8f\x93\x0a\xee\x3b\xe7\x65\x25\x4c\x9a\x43\x11\x42\x3a\xc9\xb6\x4f\x82\x85\xd2\xd7\x9d\x16\x12\x62\x3f\x60\xb4\x2c\x8e\xda\x37\xcf\x2e\x4e\xc3\x45\x85\x79\x7f\x26\x04\xcb\x49\x81\xed\xba\x2c\xa8\x4c\xc2\x5f\x2c\xe6\x73\x98\xae\x7a\xb2\xbd\x21\xde\x0e\xa9\x6c\xc9\x7d\x3a\x98\xa2\xce\x99\x6a\xed\x95\xf0\x40\xd1\x19\x4e\xac\x2e\x46\x97\xfe\xcc\x45\x13\xcf\xe6\x24\xe4\xb4\x41\x65\x08\xca\x0e\xd2\x46\x10\x47\x17\x70\x54\x3d\xc4\x88\xf6\xa4\x93\xd6\xb5\x3a\xed\x7e\x4c\x4f\x11\x27\x72\x23\x91\xba\x93\xa8\xc7\x66\x2c\xba\x33\x41\x2c\x98\x89\x0e\x3d\xe7\x84\xeb\xbb\x8c\x45\x33\x87\x7d\x34\x03\xb9\x32\x7f\xd5\xaf\x3e\x7d\x7f\xe5\xcf\x73\x92\xbc\xbf\xf2\x15\x1b\x8a\x24\x35\x51\x0d\x4c\x3d\xb9\xd1\x0d\x53\xdf\x8f\xb3\xcf\x9d\x50\x3f\x3e\xc8\x7b\x76\xc2\x8c\x1f\x7e\x7c\xa0\x7a\x79\xc2\xf4\x5f\x7e\xdc\x6e\x86\x09\x08\xb9\xc6\x65\x6f\xb8\x74\xdb\xaa\x5b\xd5\x67\xb7\x95\x1d\x97\x7d\x38\x4f\xa0\x6a\x70\x01\xc9\xb5\x36\x3c\xdc\xed\x9a\xd6\x0b\x65\xa7\xbc\xb8\x09\x6a\x1e\x2d\x9a\x4a\xbb\x95\x17\x6b\x3a\x7a\x34\x1e\x2b\x0c\x41\xd4\x7b\xc1\x65\x45\x66\xbb\xac\xb2\xfa\xb5\x91\x4f\x72\xfb\xda\xb0\xc0\xe8\x16\xdf\x50\x89\x95\xfb\xa5\x18\xe8\xbc\xf0\xa1\xb7\xef\xb3\x5c\x29\xff\x66\x25\xe4\xcf\xfa\xa4\xb0\xed\xa1\x75\x04\x91\x53\x73\xca\x35\x87\x37\x29\xf9\xb0\x52\xc7\xf1\x3d\x7d\x5e\x53\x73\x77\xba\xf7\xfe\xca\x10\x07\xc3\x29\x1c\x5d\x08\xde\x44\x72\xd6\xa4\xda\x77\xd1\xe9\x4d\x86\x42\x25\x1d\xa4\x7e\x4f\x95\x3a\x76\x03\x37\x17\x19\xb5\xb5\x1b\xc8\xaa\x74\xc3\x30\x7c\xc3\xcf\xf0\xd6\xf0\xad\xc2\x07\xb8\x4e\x05\xa7\x88\x7a\xcd\x07\xf4\x58\xc5\x76\x95\xc6\x84\xf6\x2d\x1a\x05\xef\x80\xae\xfb\x58\xea\x83\xcc\x69\x92\x96\x1d\x71\x8e\xc2\x35\xdd\x11\xea\xde\x1e\x7d\xe6\x3d\x4b\x4f\x58\xba\x40\xde\x53\xfe\x97\xc8\xb0\xce\xe7\x46\x72\x1c\x45\x6c\x8f\x6f\x34\x0c\x4a\xd8\x00\x11\x9b\xf0\x32\xd6\x17\x0f\x70\xb8\x6f\xba\xde\x4a\xf4\xc3\x0e\x33\x17\xdb\x47\x69\x17\x1a\xe8\x84\xd4\xf2\xb0\x0c\x1a\xcd\xf9\x97\x58\xf8\x17\xb5\x73\x2f\x3f\x52\x71\x22\x0d\x23\x0b\x33\x0e\x68\x97\x01\x35\xab\x39\xfb\x60\xe7\x45\x5d\x26\x48\xcb\xc9\xa9\x96\xa7\xd7\x18\x76\x71\xf5\x36\x6d\x07\xe8\x24\x76\x1e\x48\x5c\x33\xb3\xd9\x30\x44\xc6\xdd\x06\x86\x72\xdf\x93\x7e\xe0\x61\x86\xa4\x42\x59\xda\xc7\x55\xe6\x58\x01\x14\xaf\x84\x5d\x99\x57\x4d\x4f\x56\x57\x61\xa4\x09\x40\xed\xf2\xc8\xba\x52\x7d\x8b\x80\xcc\x7b\xd6\x41\x46\x72\xfa\xb6\xf6\x2c\xae\xb3\x82\x68\x99\xff\x16\xdd\xe0\x3a\x5b\x48\xe5\xbb\xa9\x7e\xb8\x9d\x24\x15\x2e\xce\x78\xcd\xf6\x45\x97\xb1\x76\xfb\x7e\xdc\xfa\xfd\xe7\x78\x32\xe9\xc4\x07\xe5\x4e\x1c\x7a\xf7\x2d\xf5\x8c\xab\xac\x61\xf6\xa3\xb5\xca\x42\x41\xb8\x56\xf9\x58\xde\xf3\xc4\x78\x52\x12\x45\x63\x18\x5c\x5b\xf6\xb5\xcd\x0e\x44\x1c\xde\x15\x45\x2f\xe1\x38\x42\xdf\x4f\x54\x31\xb5\x81\x37\x81\x67\xda\x85\x75\xb4\xeb\xdb\x81\x04\x72\xe2\x33\x71\xc1\x47\x14\x07\x9d\x56\x32\x55\xef\x0c\xac\xf6\xe4\x9d\x3a\x47\x37\x28\xea\xd2\x23\x01\x68\x3b\x70\x77\xf8\x71\x81\x31\x18\xcc\xe6\x83\x72\x0a\xcc\xdb\x74\xdc\x67\xe2\x93\xf7\x57\x9f\x95\xe3\x14\xb2\x85\xf7\xf9\xe7\xec\xde\x3d\x51\xb5\x9c\xb2\x74\x11\xc8\x20\x52\x79\x12\xfe\xb8\xc7\xf6\x9f\xc5\x4f\xe3\x93\xee\xcc\x94\xf7\xd2\x95\xa5\xe4\xa6\x90\x53\xac\xab\x11\xae\x81\x4e\x45\x2d\xa3\x64\x1e\xe7\xea\x00\xb9\x41\x67\x24\x59\x5d\x8a\xa4\x73\xda\xb7\xf0\x8c\x42\x52\xa1\x87\x32\x79\xbd\x75\x7a\x50\x69\x11\x23\xbe\x88\x91\xb9\x88\x51\x91\xee\xb9\x9a\xe2\x70\x50\x43\x86\x28\x68\x58\xc8\x24\x59\x35\x08\xd4\xf5\xf5\x21\xfe\x81\x92\xe3\x45\x8a\xd3\x3a\x9d\x88\x3a\x0b\x28\x5a\xab\xe6\xcd\xc9\x8d\xed\xf8\x33\xdc\xa8\xf8\x07\xb6\x3e\xaa\x1b\x52\xf0\x0f\x19\xdb\x9e\xf7\x59\x21\xdb\xbf\x1c\x5c\x51\x8c\x38\xdf\xa7\xf5\x71\x18\x59\xa5\xf6\x3c\xb3\xdf\x8c\x47\xcd\x0d\x54\x96\xbc\x7e\x18\x93\xf8\x25\x7f\x95\x9e\x98\xd1\xa6\xc4\x16\xd1\xce\x2f\x1e\x3f\x39\x39\x39\x21\xaa\xc8\xcf\x33\x62\x26\x49\xc4\x24\x7e\x27\x52\xbd\xf6\x0a\x11\xf4\xe6\xd7\xab\x61\x82\xea\xfb\x3e\xdd\xff\x28\x83\x04\x7f\x95\xe9\x62\x4f\xa9\xa4\x5c\xfc\xb1\xc5\x0d\xae\x22\x39\x4d\x63\xf9\x7d\xef\x90\xbf\xeb\xd9\x45\x3f\xae\x13\xfd\xd2\xf0\xe8\x64\x21\x97\x9f\x96\x2f\xd4\x7c\x86\x59\xf5\xea\x5c\xb3\x52\x61\x20\xca\x3a\xae\x35\xdd\x01\x0c\xe4\xdd\xdc\x06\xca\x34\xae\x5f\x7a\xfa\xeb\x47\x3f\x31\x7c\x8f\xbf\x0a\x0d\x0e\x89\x3f\x14\xea\xd2\xd3\xf7\x57\xea\x4f\x7e\x31\xc2\xf1\xb5\xb8\xa4\xe2\x22\xa9\xb2\xa1\x3b\x59\xa5\xb2\x74\x4a\xce\x7e\xb6\x6d\x26\x8b\x69\xa9\x6f\xae\x9a\x14\xc8\x0e\x8c\x11\xec\x7f\x56\x79\x59\xb4\x4c\xf6\x7d\x75\xb9\x60\x8f\x95\x85\x9a\xf7\x3c\xa3\x05\xcf\x27\x3a\x80\xb5\x7d\x50\xa5\x8e\x08\xda\xed\x7f\x56\x79\x53\x74\x01\xcb\x66\xe1\x09\x53\xd9\x92\xb4\xf3\x86\xad\x21\xd1\xba\x38\x1b\x74\x57\x85\xb3\xc1\x18\xe7\x09\xf1\x63\xd9\xe1\x13\xec\xc7\xba\x4b\x27\x30\xfb\xfb\x04\x1e\x4c\x70\x1c\x7e\xb3\x12\xe6\x3e\x1d\x46\xac\x13\x3d\xbd\xfd\x7d\x3f\x3e\x10\xec\x70\xc2\xe4\xbf\x7e\xac\x23\x6a\xf9\x25\xfd\xa7\x1f\xb7\x5a\x6b\x04\x23\x37\x9d\x81\x9b\x62\xee\x7d\x7c\xf2\xf9\xb1\x0f\xf9\x7f\x22\xfe\x9f\x94\xff\x27\xe0\xff\x09\x4f\x3e\x3f\x56\x74\xc8\xa2\xde\xe2\x72\xd4\x5b\x2c\xa2\xde\xe2\x13\xcf\x6b\x30\x81\xa9\xa5\xc6\x77\x01\x15\xa7\x41\xc9\x22\x15\x76\xe1\xca\x99\xae\x6e\xcd\x19\xc6\xdf\x7c\xcf\x9f\x90\xf4\x05\x2c\x51\xa6\x79\x3c\xbc\xb1\x45\xfb\x4e\x75\xc0\xff\xdd\xff\xac\xf2\xa4\x60\x90\x85\xe4\xc4\x79\x4b\x33\xda\xb4\x21\x8c\x84\xfb\x9f\x55\x1e\x17\x6d\xcd\x65\x5b\x49\x61\x7c\x7c\x49\x8a\x2c\x78\xeb\x00\x25\x3d\x5c\x87\x50\x79\x52\xf1\xb8\x13\x25\x4a\x43\x68\x21\x87\x32\xdd\xc8\x1d\xc9\xdb\x3f\x39\x39\x41\xfe\x24\xb7\xff\x88\xf4\xb6\x7d\x7f\x7a\x22\xd2\x77\x73\x43\xb8\xcf\xbf\xf4\x34\x96\xa8\x96\x0b\x9f\x2c\x63\x94\x3e\x65\x07\xe2\x5f\x7d\xde\x91\xe4\x78\x3a\x11\xbb\xe9\x99\xb8\x76\xc1\x20\x43\x07\xea\xce\x6f\xbf\xd5\xde\x7a\x8d\x96\xaa\x95\xd3\x25\xc4\x0c\xc7\xd3\xb7\xe8\x06\xa3\xa5\xa5\xb1\x77\x71\x88\x52\x79\x57\xbd\xf2\x16\xfd\x5d\xa4\x9c\x5b\x1e\xd6\xb7\x7c\x3e\xde\x3f\x41\x7a\x56\xe8\xe9\xfc\xde\xbd\xbd\x9e\xbd\xdd\x2f\xb6\x58\xea\xf5\xfc\xde\xbd\xe6\x8e\x17\x5e\xce\xfa\x6f\x7d\x4d\xdf\xfd\xe8\xcf\xda\x18\x21\x83\x65\x98\xee\x7f\x56\x79\x58\xb0\xc1\x6c\xdf\x4f\xc4\x5f\xf2\x5c\xc5\x7f\x97\xa6\xfe\xf3\x9a\x31\xdf\xbb\xe7\xf8\xe0\x6b\xb4\xfc\xed\xb7\x3d\x7c\xf2\xf9\x91\x9f\x9e\xcc\x2b\xed\x37\x91\xe5\xde\xbd\x3d\xc8\xdf\x0b\x5c\xde\xd3\x74\xb9\x77\x6f\x2f\x2a\xf3\x6f\x3d\x1f\x84\x27\xd1\xbd\x7b\xf3\x7d\x95\xba\x3c\x11\x6c\xbe\x28\xb3\xf9\x42\xb2\xf9\xdc\x57\x04\x7d\x9a\x94\x58\x1c\xdb\x99\x15\x96\x19\x32\xb2\xf3\x5d\xda\xc8\x3c\x41\x0d\x77\x64\x4c\xfc\x1a\x2d\xf9\x46\xa2\x5b\x5b\xc8\x8c\x09\x7e\x89\xeb\xaa\xea\xf2\x5e\x8b\x5e\xcd\x0f\x9d\x6d\xfc\x64\x80\xc1\x4c\xf6\x3f\xab\x3c\x2e\x38\x6a\xca\x67\xca\xe0\xa8\xe9\xfe\xc7\xfd\xf6\xed\xb0\xc5\xc1\x2f\x12\x04\x46\xe3\x05\xdd\x5e\x80\xbf\xbc\xf8\x82\x7f\x18\x85\xfe\xaf\x9d\xe3\xf7\x3f\x33\x0e\xe8\x2a\xde\x18\x86\xa1\x68\xef\x1c\x53\x86\x62\x94\xee\x79\x32\xf4\xda\xf3\x7f\x3e\x60\xb3\x94\x30\x16\xa1\x02\x1e\x6d\x9e\x0d\x21\x1f\x44\xa1\xc4\x22\xde\xff\xe8\x1f\x1f\x1d\xed\x67\x81\xcc\xd5\x86\x53\x44\x05\xda\xe9\xcf\x07\x21\x1a\x93\x45\x1c\xd4\x35\x2c\x1f\x2c\xb5\xfb\xd1\x57\xf7\xab\x49\x87\x40\x81\x72\xe1\xe9\xb4\x36\x17\xd6\xa7\x8b\x31\x0d\x52\x3c\xb6\x24\x2d\xca\xf7\x49\x5c\xf7\xea\x22\x6e\x7f\x79\x32\xe9\x97\x84\xab\x35\xc9\x4f\xa1\xd9\xf9\xcd\x60\x91\xa6\x28\x66\xdf\xca\xc3\x8e\xc8\x57\x35\xcf\x46\xe2\x42\xcf\xdc\x15\x53\xef\xfe\xf5\xe3\xc7\xfe\x51\xe0\xe2\xf8\xb3\xe9\x10\x70\xf7\x63\x86\xb0\xce\x29\x82\xf5\x3d\xc6\x76\x0e\xec\x1a\xa2\xe3\x43\x07\x9c\xd8\xcd\x91\xea\xe3\x62\xce\xf2\x23\xd9\x22\x8a\x3e\x3f\x61\xcf\x62\xb4\x04\xb6\x5c\x56\x95\xc7\x9a\xa2\x88\xc0\x70\x6f\xa0\x50\x0c\x4d\xe4\x72\x18\x46\xa7\x68\x47\x99\xff\x61\x37\xd9\x9b\x51\x9e\xca\xf0\xd6\xd7\x13\xd8\x27\xc8\xda\xc2\x44\x46\x8b\x24\x16\x60\xe4\xf6\x9e\x2b\x8b\x92\x04\xf5\x6d\x0a\x28\xd1\x0e\x86\x02\xcd\x0c\x6c\x9d\x43\x83\x7e\x48\xd2\x8b\x4f\x61\x6f\x4b\xb5\x5a\xea\x6d\xe6\x69\x5b\x1c\x51\x6e\xa5\xf6\xbb\x9b\xa7\xf5\x2a\x72\x33\x4e\x0f\x14\xbd\x6e\xf2\x4f\xc1\x1a\x33\x7c\xe0\x36\x3b\xc0\x21\x67\xd8\x91\x77\x9f\xff\xf9\x59\x9b\x54\xb1\x98\x9c\x9c\xb3\x23\xec\xa4\x71\xf2\x95\xb4\x53\xa4\xcb\x0a\x96\xd6\x69\xc1\xe4\x8e\x1d\x31\x36\x1c\xd5\x0b\x1c\xdf\x60\x5d\xcc\xdc\x75\x07\x42\x3a\xbe\xfd\xac\xb0\xbb\xd6\xb0\x09\x9e\xec\x7d\x5e\x4a\x4a\xbc\x77\xef\xf3\x3c\x65\xb1\xc4\xbc\x42\xf6\xe5\x98\x0b\x85\x0d\x9c\xcf\x52\x3d\x9e\x40\xd5\x32\xad\xb9\x3e\xd6\xc8\x4d\x0e\xf6\x77\xcf\x3b\x39\x39\xa1\xf7\xee\xed\xd1\x13\xef\xc8\xd3\xc6\xcb\x8c\x66\x71\x71\xe6\x64\x26\x42\xeb\x52\x20\x16\x1e\x97\x2c\xbb\x58\x87\x63\xab\x46\x5a\x6d\x48\xc9\x58\xb9\x6a\x0a\xa5\xfb\x3e\xfd\x28\x00\x77\xc3\x39\x8e\xb9\x4e\xbd\x96\x34\x3b\x94\x45\x85\x76\x5e\xa8\xb5\x28\xcf\xd3\x88\x8c\x61\xb4\xbb\x09\xd6\x4d\x5a\x72\x1b\x94\x79\x4b\x90\xf1\xc5\xab\xcb\x37\x0a\xd0\xc5\x60\x84\x26\xc7\x16\xa6\xdf\x09\x72\x9d\x72\x0e\xca\x71\xb5\xeb\x39\x45\x52\xf7\x50\x55\x77\xe8\x94\x27\x02\x6f\x90\xad\x83\x6c\x2b\x3d\x6c\x09\x6b\x9d\x22\x66\x81\xaf\xd9\x44\xbf\xf2\xb2\x17\xfd\xa3\x7c\x24\x31\x2b\x1d\xde\x10\x25\xab\x3d\xce\x88\x69\xf4\x58\x12\x37\x53\xba\x73\x68\xa1\x0d\xd3\x53\x55\xc3\xe8\xca\x89\xb6\x0e\x6e\x88\x7e\xa5\x1e\xb6\x70\x22\x5d\xc5\xc1\x7f\x2a\x60\x7d\x77\xda\x75\x5e\x1d\xab\x38\x38\x34\xea\x7e\xb8\x93\xaf\x2d\x32\x7d\x15\x07\xe7\xcf\x4f\xdf\x6c\xae\xeb\x51\x08\x13\xd1\xff\x21\xbb\x9d\xa4\xc2\x84\x59\xec\x79\x2b\x3f\xf4\xea\xba\xfa\x94\x57\x4e\x6d\x73\xb7\x10\xb8\x4f\x86\xa8\x55\x72\x21\x6c\xcb\x1b\xdf\x11\xc4\xb7\x0e\x95\x21\xbb\xdb\x82\x4c\x11\x8e\x43\xf4\x61\x4b\x5d\x54\x5f\x2b\x4f\x80\x83\x66\x91\x92\x45\xf2\xc9\x2a\x37\x08\x60\x82\xa2\xe5\x66\x4d\x65\xea\x23\x8e\x96\xb2\x5a\x43\x51\xbb\xfe\xac\x47\xb3\x75\xc5\x59\x7d\xd8\xcd\x18\x20\x93\x5a\x06\x82\x04\x10\x5f\xde\x36\x1e\x40\x87\x09\xed\x63\xa7\xd2\x63\xaa\x45\x02\xf8\x8e\x3f\xa0\x12\x78\x7b\x1b\x53\xb2\xaf\x88\x5c\x07\xd1\x56\x07\x79\xd9\x39\x2c\x45\x7c\x6e\x24\x3f\xe4\x6a\x1c\xf9\x3b\xc1\x71\x57\x8b\x88\x39\x2c\xfe\xfe\x61\x35\x7d\x9b\x37\x1d\x21\x58\xb1\x52\x76\x6a\x5b\x34\x50\x17\x8f\xda\x22\xc1\xaf\x83\x91\xd4\xc6\x1a\x32\x5b\x63\xb4\x7e\xe5\xc7\x1d\x3a\x33\x6a\x25\x6f\x2d\x0f\x89\x04\x78\x15\xce\x91\x22\xf4\xa6\x4d\x4c\x96\x4c\xe7\x6f\x52\x32\xc7\xd4\x70\xeb\x89\xd0\x21\x3c\xd9\xab\x96\x2a\x92\x93\x9f\xa9\xa5\xfb\x79\xdc\xa3\xb4\x30\x55\xee\xef\x23\xcb\xc5\x3c\xf0\x92\x0a\xe0\x27\xad\x4d\xef\x19\xd0\xbf\xea\x2d\x0d\x9a\x95\x23\xa1\xf2\x46\x3f\x63\xd2\xd8\x92\xeb\xc7\x02\xde\xbb\xf4\x9d\x03\x4e\xcb\xbd\xfd\x03\xba\x10\xe0\x8e\xa6\xdb\xd2\xd6\xab\x8f\xfb\x07\xa2\x96\x51\x61\xed\xc6\x52\xe9\x17\xeb\x82\x4c\x71\xbc\x1e\x61\x45\x72\x22\x93\xf5\xbf\x6a\x84\x2b\x39\x31\xa1\xcb\xd9\x69\x92\xbc\x4b\xa3\xbd\xc2\xb5\x8b\xc5\x38\x24\x73\x88\xe3\xbd\xfd\xfd\xfb\x0a\x6b\x52\x8f\x43\xe2\x32\x48\x30\xe2\xcf\x98\xac\x6f\xb4\xf7\x6b\x8a\x42\x9c\xa2\x80\xbd\x4b\xf1\x53\xf2\xd1\x4a\x11\x3d\x82\x3d\x0b\x1d\xb2\xbb\x74\x4f\x8c\x50\xdc\x95\xd5\x05\xc1\x04\xe2\x48\x44\xdc\x7e\x54\x92\x49\x56\x00\x1c\x80\x01\x6b\xe8\x44\xf7\x7f\xa5\x07\xf2\x23\xce\xfc\x62\x1b\x70\x95\x5d\x04\xa6\xe7\x25\xb9\x46\xf1\xde\xbe\x8f\x6c\x84\x40\xad\xaf\xc5\xd2\x62\xbb\x9f\xc7\xe5\xc9\x9a\x85\x9b\xa3\x87\x30\x6f\x46\x04\x86\x22\x42\x43\x7e\xcd\xc6\xf4\x4c\x70\x7d\x23\x97\xcb\xb8\x72\x98\x54\xfa\xcc\xf2\x1a\x04\x82\xf1\x04\x02\x32\x1f\xb1\x81\x19\x6b\x50\x44\xdc\x12\xee\x2e\x86\x5e\x86\x4f\x33\xfb\xf3\x01\x0e\x2b\xa8\x79\xfc\xda\x33\x76\x80\xe6\x10\x47\x4f\xf9\x2f\x5f\xfe\x99\xbf\x24\x7e\x57\xdf\x93\x97\x9f\x79\xde\x53\xf5\xb7\x88\x61\x89\xe1\x1c\x19\xef\xea\x4b\xd5\xd7\xb3\x3b\xb2\x05\xfd\xd3\x9f\xe0\x94\xb2\x52\x2b\xe2\xda\x6b\x6b\x33\xf9\xad\x67\x79\x23\x4f\x8d\xeb\x7e\x04\x2b\xed\xf1\x4b\xf6\xe6\xb2\x3b\xc5\xd6\xf4\x65\x1f\xc5\x70\x1c\xa1\xf0\xe9\xe7\x7b\x9f\x1b\x04\x92\x17\x95\xa9\xbf\x40\x23\x75\x67\xff\xb7\xdf\xb2\x1f\xad\x25\x21\x22\x1c\x5f\xd7\xec\xbf\xaa\x9c\xa4\x00\xd4\xc4\xc3\xd6\x85\xb6\xee\xc2\x79\x35\xc9\x5d\xb1\xe1\x6a\x7c\x51\x07\x20\x89\x73\x11\xeb\xdd\x49\xbd\x2d\xa7\x63\x88\xb8\xe0\x8a\xea\x29\x14\xdd\x33\x18\x87\x98\x9f\x16\x7a\x40\x1e\x89\x66\xd5\x27\x64\xae\x87\x53\x20\x6e\xd5\x70\x61\xed\x44\x96\x6a\x2a\x3e\xf3\xec\x1a\xad\x96\x24\x0d\xe9\x89\x77\x1f\xc5\x01\x09\xd1\xbb\xb7\x2f\xcf\xc8\x3c\x21\x31\x8a\xd9\x1e\x6b\x3f\xc8\x38\x24\x4f\x17\xa2\xa1\x71\x6c\x3b\xf1\xaa\xb2\xb0\x1b\xe8\xce\x47\x7f\xbc\xc0\x51\xc8\xa7\xdb\xf6\x5d\xcf\x8f\xf9\x7f\x4c\x87\x58\x5e\x09\x54\xfc\x34\x40\xd4\x49\xfd\x53\x02\x7a\x3e\x3b\xf7\x65\x25\xae\x3f\x3f\x51\xf1\xe3\xfc\x3c\x77\xef\x9e\xc7\xe0\xb8\x72\x2d\xcb\x21\x28\xdc\xf8\xed\xb7\xbd\xf8\x44\xf2\x18\xe7\x85\xec\xba\x60\x07\x29\x89\x4f\xbc\x7f\x87\x80\x1f\x0e\xb3\x6a\x14\x27\x5f\xb0\x74\x81\xbe\x90\x17\xf9\x1b\x23\xe9\x2c\xc3\xe1\xc9\x17\xfc\xad\xac\x90\x91\x67\x3e\xa3\xef\xe2\xd2\x75\x99\x44\x36\xca\xd2\x01\xf4\x73\x79\xdd\x28\xeb\xf3\xfa\x31\xf9\xb3\xf2\xd0\x2a\x41\xf2\x7e\x3e\xa2\x2f\x80\x80\xf1\xfc\x42\x38\x15\xbf\xf8\x0f\xf1\x32\x66\x11\xba\xef\xfd\xfb\x21\xfc\x0f\x6f\xdf\xf7\x44\x61\xe1\x93\x22\xe1\xf6\xe2\x13\x7a\xdf\x3b\x54\x11\x0e\xc5\x64\x3b\xa2\xc8\xa4\xfb\xf0\x87\x22\x56\x8c\xd8\x92\xa4\xd7\x16\x7a\x09\x3a\x32\xf2\xf4\x50\x10\x87\x8b\xf1\x34\x86\xd1\x9d\x25\x8f\x1e\x40\xf6\x58\x3e\xa2\x01\xe8\x88\x94\x5b\x2b\xbe\x96\x1b\xa7\x35\xc0\xe6\x57\xde\xe0\xcb\xf0\x29\x3a\xc8\x2b\x3b\xbd\xf7\x4c\x7a\x78\x57\x07\x62\x4b\xf5\xf5\xa7\x6b\x9f\xe5\xbd\xcc\x9e\xce\x09\x53\xff\x7c\x85\xa6\xd9\xdb\x7a\x72\x6a\xdf\xd5\x73\x99\xbd\xa1\x29\xdc\xf6\x35\xe3\x95\x9c\xda\x4f\x8b\x50\xc4\x35\x2d\x18\xd3\xe5\x5d\x09\xcd\xce\xe9\x49\xf5\xb5\x45\x1a\x15\x9e\x17\xd0\xbf\xea\x1e\x49\x93\x19\x8c\x9f\x7e\x7e\xfc\xf1\xb3\xf8\x40\xfe\x38\xf9\xf9\x00\xd3\x17\xa2\xa2\x8d\xcc\xe4\x79\xc9\xb5\x5b\xf3\x62\x4e\xe1\xd2\x0d\x4d\xbc\xd2\x65\x4d\xa1\xfd\x7b\xf7\xcc\xcb\x39\x15\xb2\xd8\x8a\x42\x6a\x51\xf6\x75\xbd\x77\xf1\x97\xdf\x19\x95\x75\x9e\x65\x5d\xfe\xfc\xe8\x69\xf6\x37\x55\x7f\xf8\xb1\xcc\x4b\x3b\x8b\x70\x70\x5d\x62\x41\x3c\xd9\xfb\x1c\xa9\xe7\xf6\x2b\xf5\x8e\x74\x90\x5f\x61\x73\xcb\xcc\x55\x08\x5d\xbf\x45\x01\x49\x43\x23\x7a\x20\x1f\xb9\x5f\xce\xb9\x2c\xbf\x63\x64\xf9\x9a\x84\xf4\xf1\x89\xd6\x7c\xe9\xfe\x33\x8f\x7a\x4f\x75\x1b\xd1\x62\x2a\x2b\x0f\x50\x9d\x94\xf9\xcc\x0b\xbd\xa7\xc4\xbc\xfd\x19\x9e\x64\x39\xcc\x5c\x7a\x21\x63\x37\x14\x5b\x67\xe1\x9a\x1c\x71\x74\xf2\x6b\x96\x55\x19\x89\xac\x9a\x97\xe1\x09\xca\x05\xbf\x00\xc2\x8f\x4b\x81\x8e\x66\xef\xf5\x98\x7d\x5c\x18\x8a\x0f\xfd\x5f\x45\x89\x91\x37\x30\x85\x73\xfa\x34\xfa\xb8\xff\x91\x77\xcf\xdc\xad\x8d\xbe\xf0\x5b\x62\x93\x2a\x5e\x16\x35\xc1\x0d\x79\x5c\xee\x7d\x5a\x8b\x9b\xcd\xd0\x07\x06\x53\x04\x73\x5b\x72\x2a\x99\xfd\x04\x99\x82\x5b\xe0\x1f\x9d\xea\x45\xb1\xe7\xa5\x08\x86\x24\x8e\x56\x9e\xef\x79\xfb\xfc\x2e\x5b\x45\xe8\x20\x21\x72\xec\x27\x1e\x1c\x53\x12\x2d\x18\xf2\xb2\x7b\x11\x9a\xb0\x13\x6f\xf4\xf5\xd7\x5f\x7f\x9d\x7c\x68\xc2\xe4\x4e\x45\x7b\xa2\xe0\xca\x9e\x01\x9e\x8d\x3e\xa0\xe0\x8c\xcc\xe7\x30\x0e\xf7\xbc\x80\x24\x2b\xaf\x09\x59\x3b\xdd\x97\x33\x22\xe3\x9a\x4a\x55\x03\xf6\xbc\x33\x92\x60\x14\x02\x5d\x62\x04\x30\x02\x82\x08\x27\x22\xc0\xd1\xdb\xff\xf8\x11\x45\x14\x01\x6b\x9d\x27\x74\xb0\x48\x23\x61\xba\xea\x37\xdb\x4d\x45\xa6\xd5\xc9\x8b\x04\x30\x1a\xa9\x14\xe0\x6d\xc6\xc7\x94\xa2\xb9\x4a\x42\xc0\xf4\x41\xbd\x67\x57\x27\x72\xdb\xb2\x3f\x9f\xe9\xe2\xa5\x97\x3e\xfa\xe5\x42\xe6\x45\xc8\x7e\xe1\x0b\xa8\x79\xa9\xe4\xf6\x31\x1f\x92\xc6\x97\xbd\x56\xb3\x72\x44\xa6\xd3\xad\xd6\x74\x90\x15\xd6\x0b\x63\x2c\xd5\x03\xab\x14\x4e\xaf\x3e\x81\xe3\x09\x69\x7a\xa0\x65\xd0\x24\x9d\xc2\x58\x15\xb5\xfb\x43\x46\x5b\x7d\x9f\x4e\x7b\xfb\x80\x4c\xe2\x0d\x13\x5d\x5f\x9c\x0e\x17\x0f\x59\x6d\xe4\x3a\x0e\x2d\x03\xc8\x8e\x8b\xa5\xfa\x48\xba\x2c\x99\xb2\x5c\x66\xe5\x27\x54\x0d\x33\x75\x59\x55\xd9\xc8\xea\x88\xe9\xa7\xe5\x4f\x6f\xdf\x56\x10\x8d\x65\xd9\xc4\xa5\x3b\xde\xfe\xc7\xa6\x74\xe0\x12\x6d\xdd\xb1\x0d\xe5\x9c\x5e\x20\xc6\x44\x36\x68\x37\x17\x55\x79\x46\xef\x7b\x87\x54\xb6\xf4\xec\x1a\xad\x4e\x9c\x50\xda\xd4\x47\x4c\xbb\x73\x36\x53\x35\x3d\x73\xb2\xc8\x74\xe9\x5b\x7d\x30\x4a\xe6\x28\x97\xd1\x17\xd5\xde\x74\xed\x49\xb1\x0f\xee\x38\xc6\x56\xfa\xd4\x75\xaa\xfb\xe4\xd5\x76\xab\x9e\x34\x48\xc7\xa5\x7e\x56\x2f\x2f\x13\x1c\xc7\x28\xdc\xbe\xa4\xbc\x35\x11\x89\x63\xcc\x64\x95\xe3\x50\x56\x09\xec\x97\x9c\x85\x63\x7a\xf2\xfe\x2a\x43\x9e\x7f\x83\xe3\x1a\x78\x21\x6b\xb9\xd6\x3c\x1c\xbc\xc2\x04\x35\xe5\x44\x9f\xe5\x4f\x18\x23\xf0\xf6\x6b\x53\x82\xb2\xc7\x79\x57\xbd\xe6\x4a\x77\x65\xb7\x78\x57\x54\xa3\x02\x5a\x41\x47\x2c\x5b\xbe\x7b\x74\x8d\x2f\x49\x70\xec\x12\x5d\xe2\x2b\x8f\xa9\x49\x30\x51\xcd\x4c\x5d\x17\x94\xf1\x63\x91\x5f\xfb\xb4\x86\x8e\x46\x9f\xf7\x3f\xfa\x09\xae\xaa\x71\xc5\x60\x95\x86\xa9\xd6\xc1\x63\x96\x3e\x1d\x3b\x14\x94\x6d\x0f\x28\x93\xf3\x58\xc6\x2e\x1a\x30\xd0\x45\xd0\xdd\x65\x13\x5f\xc4\xcd\x94\xba\x65\x12\x29\x73\xaf\x35\x9e\x46\x86\x23\x59\xd0\xef\x7a\xcc\xf4\x20\xd3\x29\xb6\x45\x85\xab\xd7\x7f\x6a\xeb\x50\x05\xd7\x5b\xba\x3d\xc0\x08\xdd\x58\xc8\x47\xd5\x25\xfa\xd1\xc7\x54\xfb\x99\xde\x88\x6d\xab\x45\xd1\x75\x8a\x4c\x28\x82\x07\xd5\xc9\x67\x71\x5f\x0b\xfa\x8a\x3b\x1a\xed\xff\x8a\xaa\xb0\x25\xe2\xaa\x68\xd6\x40\x07\x21\xf7\xee\xa9\x8b\xf9\x31\x59\xdc\x60\xf7\xee\xc5\x7b\x28\x8f\x75\x13\x79\xff\x7b\x9e\xa7\x3c\xd4\x98\x0a\x74\xf2\xbb\x3c\x6e\x4f\x9a\x6a\x2a\x83\xcf\x28\x92\xe3\x04\xb5\xd2\xa3\xe5\x14\x28\xfd\x5e\x77\xf3\xfc\xd7\xa8\xbd\xd4\x38\xfa\x1c\xf3\xa9\x14\x55\x9c\x84\x88\x23\x38\x77\x9d\x5c\xe9\x27\x51\x7a\x01\xd8\x8f\xe4\xb8\x46\x29\xa2\x8b\x68\x10\x24\xfb\x56\xee\x0a\xca\xe6\x85\x3b\x1f\x73\xdd\x66\x56\x58\x23\x0c\x59\xc3\x67\xde\x46\x24\x72\x36\x55\x6e\xb1\xc8\x22\x7a\xa9\x0e\x83\x58\x8f\xe3\x59\x26\xbc\x9e\xf3\x93\x58\x55\xa0\xdd\xf7\xee\xa9\x67\xf3\xfb\xc6\x6a\x12\x0f\x48\x4a\x9c\x34\x65\xbc\x8b\x90\x74\x47\x48\xee\x4a\x4a\x79\x36\x9a\x4b\xf4\x81\xfd\x2e\x46\x64\x03\x46\x4c\xd1\x24\x45\x26\xce\x4a\x59\x4b\xcb\xb1\x5b\xd5\xa3\xa5\xa1\x76\xc7\xdf\x6e\x87\xe2\xad\xcb\x2a\x2f\x04\x8d\xca\x20\xd2\xfc\x19\xa6\xf0\x32\xff\xe3\x48\xb8\x94\x37\x87\xf2\x6c\x45\x13\x92\xc0\xf2\x30\x0c\xbf\x89\x48\x60\x8b\xe8\x70\x81\x19\xd1\x94\x1e\xf3\x36\x68\x17\xcc\xcb\x3e\x67\x11\xf1\x15\xe7\x2c\x8a\x5e\xe3\xaa\x02\x00\xcb\xa1\x0d\x63\x1a\xed\x36\x00\xa1\xfd\x89\x51\xac\x81\x97\x50\x1a\xc6\x6d\x16\xce\x74\x1f\x7d\x76\x26\xab\xce\x61\x9f\x89\x3b\xc0\x61\xc7\xb2\x32\x75\xbc\x63\x6b\xbd\x5f\x65\x99\x56\x7d\x43\x65\xe4\x37\xe4\x07\xcc\x31\x0d\xb2\xaa\x5d\x14\xcf\x93\x08\x89\xa4\x82\x6a\x2b\x45\x8d\x84\xef\x06\x6b\xe8\x24\x71\x45\x27\x59\xc3\x6e\xc7\x8f\x0b\xf5\x35\xb2\x04\x12\x42\x8b\xa2\xe2\x92\x39\x26\x4f\x19\x6f\xca\x28\x4d\x16\x24\x27\x4c\x5f\xc1\x40\x18\x09\xe9\x2b\x32\xc6\x11\xe2\x7f\xcf\x20\x3d\x0d\x02\xb2\x88\x99\x8e\x87\x0c\xc8\x3c\x59\x30\x14\xee\x79\x98\x9e\x16\x0e\xf9\x7e\x76\xb0\x52\x32\xaf\x68\x04\x38\x90\xe5\x1e\x2b\x21\xe7\x9e\xf1\x14\x49\x9f\xc2\x98\xc4\xab\x39\x59\x50\x11\xca\xd6\x64\x57\x20\x29\x3f\x4d\x55\x1f\xa9\xff\xfa\x01\x54\x63\xf1\xf6\xb3\x0d\xe8\xe3\xbe\x0f\xeb\x46\x68\x8c\xde\xd2\x71\x8b\x19\xd3\xe9\xd3\x1f\xe5\xdc\x0f\x4f\xcf\x82\x21\xa6\xdc\xda\xbe\x05\x76\xa9\xbd\xf9\xfd\xdf\x7e\xfb\x15\x87\x4f\xbd\x23\xef\x63\xd1\xb4\xdb\x5e\xcd\xd3\x12\xfb\xa1\x40\xc0\x39\xc9\xcd\x4f\x55\x28\xd1\x8b\x8f\xf2\x70\xe9\x36\xa6\xe1\x92\x7c\x4d\xae\xf3\x8e\xec\x0f\x36\x30\x80\x3e\xd6\xab\x94\xe5\x61\x06\x7d\x3b\xc3\xb8\x77\xef\xf3\xa3\x93\x8e\xef\x41\x99\x28\x2c\x08\xf0\x22\xc4\xbc\xb7\x7f\x30\x0a\x20\x31\x6a\x45\x02\x23\x7b\xfa\x8f\x46\x07\x05\x0e\xc3\xe9\x70\x83\xd1\xf2\x34\x86\xd1\x8a\xe1\xa0\x2a\x7e\x7f\xe7\x74\x80\x7a\xe0\x19\x29\x9e\x43\x3a\x93\x38\x6c\x7f\x30\x52\xf0\xc1\x8b\x92\xd6\x19\x29\x64\x81\xeb\x3f\x34\x19\x7a\x3a\x6b\xa5\x37\x89\x2b\x73\x1e\x3f\x84\xcf\x61\xb0\xb7\x5f\xba\x25\xd4\x3b\x79\x57\xfc\xb9\xb7\x6f\xcd\xea\x63\x75\xd8\x60\x3a\x66\x4b\x60\x2f\x22\x14\xbf\x46\xcb\x1f\x64\x78\x48\x8d\xd5\xcc\x38\x20\x14\x95\x12\x53\x7f\xcb\x48\x57\x20\x77\x06\x64\x7f\xf0\xe2\x06\xa5\x2b\x12\xa3\x77\xca\xce\x5e\x7e\x37\xab\xe7\xc1\x1f\xd8\xb3\xb4\x6b\x35\xe8\x0b\x9a\x44\x90\x32\x35\x02\xcf\x2f\xe5\x19\xaa\xc0\x17\x6f\x3f\xcb\x3f\xcd\x3f\x46\xe1\x0d\x52\x00\x6e\x33\x48\x7f\x9c\x41\x46\x5f\xa3\xe5\x9a\x19\xa4\x99\x42\xb3\xf7\x39\xb3\x12\xed\xb7\xdf\x58\x69\x64\x22\x4a\xbf\x85\x5c\xc2\xec\x52\x47\xac\x16\x4a\xd1\x6a\xe6\xaa\x80\x8d\x56\x34\xd3\x70\xd1\x26\x19\xf7\x6b\xe9\xe8\x7f\x7e\xbc\xff\x59\xbc\x47\x9c\x7c\x1b\x0c\xcd\x93\x08\xb2\xad\xc6\x4a\x6e\xc9\xce\x8c\xe7\x7c\x38\x17\xf0\x06\x85\x97\x6a\x94\xcd\xd5\x1d\x3c\x4d\x0c\x5d\xbf\x47\x1e\xee\x54\xc1\x05\x91\x9f\xc0\x19\x32\x74\x40\xd0\xb3\x7a\x45\xe2\x3e\x85\x7f\x6c\x35\x75\x6b\xf4\x7e\x65\xdb\x31\x07\xdc\xdf\xbc\x63\xd2\xc2\xc1\xa4\x73\xdb\x9e\x9b\x9c\x8f\xdd\xa1\x31\x4f\x69\x0b\x5f\xfc\xfa\x3c\x33\xef\x3e\x65\xfe\x6b\x38\x47\x4f\x91\xff\xe2\x43\x80\xd2\x84\x35\x15\x0a\xaa\x12\xd1\xc9\x4d\x46\xab\xbe\x76\x61\x4a\x6d\x59\xc2\x72\x5b\xfe\xdd\x2d\xdf\x1e\xb0\x3b\x19\xdd\x17\x54\x02\x8e\x30\x61\x15\x1e\xc0\x31\xd9\xc6\x7e\xe5\xc3\x79\xbd\xf5\x15\x86\xe1\x37\x8b\xa8\xa3\xe5\x51\x8c\xe7\x50\x0a\x34\xdb\xb0\x58\x71\x18\x76\x78\x3d\x69\x96\x57\x5b\x52\x83\x93\x43\x7e\xcc\xd1\x9d\x21\xbb\xd2\xd7\x6a\xed\x4e\xb6\xf5\x9c\x86\x62\x48\xcf\x60\xc0\xf0\x0d\x3a\x39\xf6\xb6\xe1\x2b\x94\x43\x73\x46\x30\x3e\x23\xf3\xa4\x04\xe6\x63\xad\x37\xbc\xc7\x4e\xd8\x01\x4b\xf1\x7c\x6f\x7f\xdf\x74\xf2\xb0\x13\x6b\x2e\xee\xbe\x9f\x15\x1e\xaa\xe4\xca\xa3\x7d\x39\xbe\xe3\xa3\xa3\xa6\x50\xe3\x02\xed\x8e\xee\x4d\x70\xc4\x50\x7a\x22\xf6\xc4\x7b\x11\x9e\x63\x76\xe2\xdd\x47\x43\x19\xf9\x9b\x8a\x1d\x97\x99\xa5\xb6\x7e\xb3\xe1\xe3\x90\xc7\x9c\x36\x5e\xcf\x5c\x17\x43\x38\xf0\x06\x77\x6e\x38\x2f\x92\xfa\x78\xf7\x7c\x4d\xdb\x03\xdf\x2b\x5e\x05\x25\x61\xea\x1d\x1a\x2d\x35\xe5\x29\x5d\x92\x3a\xb8\xf3\xac\x2f\xa2\x5a\xa2\x7c\xd2\xb1\xa8\x2a\xb2\x82\xc0\xaf\x25\xc0\x2a\xfe\x93\x8a\xd4\xac\x21\xbb\x91\x68\x27\x67\xc8\xf3\xee\xb3\xfd\x03\xe9\xe5\x51\x77\x64\x18\x00\x49\xa7\x84\x59\x68\x22\x2c\xca\x6a\xf7\x53\xa9\x8a\x2c\x8b\xe4\x2b\x44\x8f\x8a\xe2\x2d\x1e\x8e\x6f\x60\x24\xe2\xa9\xe4\x78\x4b\x93\xf2\xab\x42\x00\xf9\xe8\x80\x6c\xa6\x12\xb2\x65\xd7\xac\xca\x49\x05\xdc\x4c\xd1\x9e\x22\xdb\x50\xaa\x68\xf6\xe2\x49\x73\x12\xca\x03\xfd\xed\xb7\xe2\x15\xb4\xff\xac\x69\xcc\xf5\x11\xc7\xf6\x10\x55\x24\x91\x58\x58\x30\x2b\xcb\x00\xbb\x5c\x1d\x44\x4c\x1e\x8a\x0f\x3e\xcb\xc4\x62\x1b\x61\xab\xbb\x76\x06\x31\xbb\x5b\x02\xb5\x4e\x05\x15\x5a\x9e\xc8\xb7\x43\xf4\xd0\x08\xb2\x28\x7a\x17\x6d\x7e\xc4\xe2\x9b\x21\x4c\xf8\xfe\xb2\xd1\x00\x27\xeb\x10\xf2\x63\x4e\x4d\xef\x07\xd6\xa6\xff\x74\xf9\xea\xfc\x1b\x98\xd2\x03\xfd\xe1\x3d\xe1\xff\x59\x8c\xff\x73\x72\xff\xc1\x8b\x0b\xcf\x17\xde\xdf\xa7\x5f\xfc\xea\xd1\xd5\x7c\x4c\x22\xea\x3d\x7d\x7f\xe5\x8b\xda\x59\x48\x56\x73\x7e\xfa\xfe\xfd\xb1\xff\xfe\xc1\x91\xef\x91\x05\x8b\x24\x90\x1b\x8c\x28\xba\xf2\xdf\x1f\xf9\xde\x4f\x3f\xc5\xde\x95\x2f\x9e\x78\xe2\x8b\x19\x1e\xc5\x46\xf6\xa6\x2c\x2d\xe4\xbf\x7f\xef\x15\xae\x5e\xf9\xef\xb3\xac\xa6\xab\xab\x6a\x83\x57\xbe\x37\x83\xf4\xc5\x0d\x8c\xbc\xa7\xe2\xde\xc7\x2f\x64\x15\xae\x5f\xe7\x62\xcc\xe2\x68\xd4\x42\xd4\x83\xd9\x98\x7a\x35\x8c\x94\xbf\x10\x68\xe5\x85\x1e\x06\x0b\xca\x88\xb8\x0d\xd3\x60\x86\x6f\xd0\x48\xfa\x38\xb6\x3e\x39\x87\x67\xff\xf5\xfd\xdf\x1e\x1e\xbe\xb6\x4e\x0e\x1f\x84\x57\x99\xa1\x27\xbe\x17\xe2\x1b\x31\x13\x47\xbe\x17\x44\x90\xf2\x75\x90\x92\x25\xbf\xf4\x55\x46\xd9\x9f\x7e\xe2\xd3\x57\xf3\x74\x40\xa2\xca\xd3\x8d\x2f\xdc\x60\xb4\x1c\x65\x54\xb3\xbd\x9b\xbf\x3e\x3b\x2e\xbf\x2d\x88\x3b\x9a\x21\x28\xaa\xd4\xe5\x2f\x9f\x4a\xe2\xf3\x2b\x5f\xd7\x37\xf7\xa0\xdc\x1c\x5d\x8c\x2d\x8d\xbd\x82\xe9\x35\x80\x14\x44\xf8\x06\x81\x0c\xab\x07\x28\x77\x79\xb4\x02\x73\x98\x5e\xa3\x90\x3f\xa2\x26\x3d\x2c\x7f\xb8\xf2\x6d\x0b\x25\x0a\x0c\x03\xe6\xab\xd1\xe3\x1a\x6a\xe4\xad\x2c\xa2\x72\x23\x11\xa6\xac\xf8\x1a\xff\xf5\xc8\xf7\x10\x14\xd1\xc0\xef\x1f\x3c\xf0\xc5\xf4\x53\xb1\x66\xc4\xc2\xfa\xb5\xc4\x07\xe2\x3d\x56\xfa\x3f\xf5\xc5\x08\x97\xbf\x88\x19\x9a\x03\x1b\x93\xd4\xb6\x61\x67\x9b\xd1\xf1\x03\xc0\xff\xa1\xf3\xd1\xf1\x91\x6e\x8c\x8b\x84\x63\xff\xd8\x7f\xef\xc5\x70\xce\x97\x79\xb6\xca\x2d\xd3\xda\xe7\x53\x0f\xc0\x24\x22\x90\x8d\x52\x3c\x9d\x31\x87\x21\xe4\x4d\x8f\x17\x8c\x49\x29\x64\xb6\x3e\x66\x31\x18\xb3\x78\xa4\x70\xd8\xf8\xed\x87\xbe\x07\x75\xb4\x2c\x1f\xcd\x91\xff\x9e\xcb\x26\x12\x73\xbe\x3a\xe7\x5c\x9a\x0d\x12\x87\x7c\x56\xf2\x5e\xbc\x8b\x61\x23\x23\x97\xbb\xd5\xf4\x48\xf1\xbe\x10\x8f\x09\x4c\xe1\x1c\x31\x94\xf2\x69\x3f\xbe\xfa\x28\xd8\x41\x3f\x52\xff\xa6\xe0\x27\x3c\x11\xc3\x79\xe2\x7b\xe8\x1f\x45\xbe\xf2\x3d\x79\xc4\xe3\x9f\x38\x92\x2c\xe6\xce\x69\x8a\xb8\x89\x31\x15\xaf\x09\x9b\xe1\x78\x0a\x64\xfd\xa8\x96\x51\xd8\x07\x51\xb3\x1c\x2b\x24\xab\x8e\xf4\xeb\xfe\xdb\x48\xfb\xae\xb0\xce\xee\xb2\x60\xb3\x91\x4a\x88\xdc\x64\x4d\xc3\x9a\xdd\x05\xa3\xbf\xbe\xfa\xe5\x1c\x7e\x65\xdf\x5d\x84\x8e\xf6\xbb\xde\x5e\x72\xdf\x8b\xd2\x44\xd6\xdf\x65\xce\x66\x84\x50\x04\x38\xed\x00\x2c\xb4\x0f\xe6\x28\x98\xc1\x18\xd3\xb9\xed\x4b\x4e\x4c\x6c\xb0\x7e\x6f\x5a\xa9\x17\x27\x24\x9d\x97\xdf\x9c\x33\xfb\x66\x55\xff\xad\x25\x0e\xa7\x88\x8d\xf8\x76\x35\x4a\x70\x70\x8d\x52\x50\xbd\x34\x9a\x91\x14\xff\xd2\x3c\x69\xd5\x2d\x90\x24\x32\xd6\xbe\x6d\xf3\x54\x5b\xd9\x71\xf6\xe6\xfb\x07\x5f\xfa\xef\xd5\xeb\xc0\x93\xca\xa8\x12\x73\x5c\xb8\xa9\xd4\x2b\xfc\x0b\x5f\x48\x37\x38\xe4\x3c\xce\x99\x5c\x00\x97\x88\x2d\x5f\x8a\xba\xab\x26\x99\xaf\x9b\xf0\xae\x9a\xf6\x9a\x7a\xba\xf1\xf3\x96\x60\x1e\xb1\xc2\x74\x0b\x79\xab\x0d\x7b\x40\x73\xa3\x46\x6b\xdf\x2c\x70\xc4\x46\x38\x06\xe2\x6c\x9e\x9b\x3b\x1a\xb6\x81\x5a\xfa\xf4\x50\x31\x2a\x1a\xc6\x1c\x32\x94\x62\x18\x8d\x70\x50\x9c\xd7\x60\x86\x82\xeb\x7e\x3b\x42\xe3\x86\xd9\x9b\x41\x34\xa2\xf1\x1a\x0c\xa2\x9b\x18\x96\x41\xf2\x56\x87\x60\x90\x1f\x30\x2c\x8b\x28\x8a\xd2\x1b\xf9\xc5\x66\x16\xb1\x50\xe8\x8f\xc5\x22\xe7\xcf\x4f\xdf\xac\xc1\x1e\xfc\xf5\x61\x59\x43\xb6\x38\x04\x5b\x9c\x91\x38\x46\x01\x03\x8c\x00\xde\xe8\x21\x38\x15\xf6\x77\xf0\x5c\x80\x50\x93\x74\xd5\xce\x1e\x25\xea\xdc\x3d\xd6\x70\xd9\xa1\x8b\x9b\xe3\x38\x9b\x0c\xdb\x7b\xfd\x1f\x18\x50\x42\x5b\x94\xf2\xcb\x19\x4a\x11\x80\x29\x02\x31\x01\x5a\x0f\x3d\xe8\x48\xcd\x01\x25\x44\x3d\x93\x72\x7d\x65\x24\xea\x14\x34\x9f\x52\xf5\x8a\x86\x63\x94\xa9\x14\x13\x92\x7a\x7e\x06\x71\x3d\x5a\xa4\x15\x65\x43\x1d\x23\x1f\x8a\xf3\xa4\xf8\x54\xd6\x40\x49\xf4\x82\x0b\x21\x22\xc1\xbb\xb7\xe7\xad\x62\xa5\xe6\xd8\x4a\xe7\xa3\xaf\x1b\xcf\xa8\x5e\x6e\x45\x9b\x90\x60\x41\x47\x38\x4e\x16\x2c\xb7\x9f\xe1\x90\xaf\xda\x55\x82\xb8\xb6\xc7\x95\x7e\x4f\x7f\xe0\xca\x7f\x5f\x1c\xa7\x5a\xdd\xbe\x9c\x16\x7d\x4b\x61\xab\xfb\x9e\x20\xc5\x55\x45\xbe\xe9\xc1\xbe\x4b\x23\x01\x17\x2f\x58\x40\x90\x25\x20\x31\x4b\x49\x04\x30\xef\x94\x34\x8f\x17\xef\x98\xf2\xaf\x68\xca\xb3\x2f\x74\x3a\x87\x51\x65\x3a\x44\x83\xbc\xe3\x40\x08\xbb\xf9\x42\x0a\x56\x4d\x31\x74\x30\x3d\x00\x33\xc6\x92\xa7\x87\x12\x75\x6d\x46\x28\x7b\xfa\xd5\x57\x5f\x7d\x25\x8b\x81\x35\xce\x8b\xe3\x6a\xdf\x16\x33\xa6\x08\x46\x15\x45\xbc\x03\x3b\xbe\xd5\xef\x6f\x9a\x13\xfb\xf1\xa0\x1c\x5e\x0b\x17\x2a\x1a\xd4\xf3\xa1\x18\xe4\xce\x72\xe2\x1c\xe2\xba\xc3\xe3\x6e\xf2\x9c\x74\x93\xfd\x27\x5a\xad\xcb\x77\xe0\x8d\x68\x09\xa8\xa6\x36\xcd\x82\x19\xe6\x65\x23\x17\xa6\x64\x49\xed\xcc\x98\x8f\xbb\x85\x21\x0d\x02\x5d\xf9\x5f\xd6\xb2\xe5\x1b\xfd\xd8\x2e\xb2\xe6\x19\x49\x56\x80\xcd\x10\x78\x7b\x71\x6a\xcc\x13\x98\xa4\x64\xae\x66\x4f\xa1\x79\x51\xf0\x3f\xff\xe7\xff\xf2\x7b\xf4\x4e\x71\x71\x10\x61\x99\xd4\xdd\x9f\x89\xbf\x7f\xf9\xfc\x0c\x9c\x89\x76\xc0\xcb\xe7\xbb\x2b\x45\xb3\xa1\xb6\xf0\x6d\x4e\x92\x7a\x59\x7a\xa6\x9e\xd9\x45\x9e\x15\xe2\x54\x65\xd3\xdd\x29\x5e\x94\x85\xd3\xfa\x33\xa2\x28\x7c\x06\x5e\x3e\x07\x7b\xdf\x8b\x33\x27\x8c\xf6\x77\x97\x1b\x55\x95\xb8\x66\x56\x54\x14\xb9\x2a\x33\xd1\x06\xb9\xe7\xe5\x04\xac\xc8\x02\x2c\x61\x2c\x0e\xaf\x74\x15\x07\xc2\x0e\x4b\x01\x8e\x01\x04\x09\x4c\x19\x0e\x16\x11\x4c\x15\xb9\xf7\x04\xbb\xfd\xf4\x85\x3e\x4d\x01\x11\xad\xf1\xd3\x17\xfb\x3e\x48\xe4\xa9\x45\xc8\xcf\x7c\x6e\xc4\xf3\x8f\x8f\x8f\xc3\xaf\xc6\x4f\x8e\x47\xc7\x28\xf8\x6a\xf4\xe8\xf1\xe4\xc9\x68\x1c\x7c\x15\x8e\x1e\x87\xe8\xc9\xa3\xf0\xf1\xa3\xe0\xeb\xf0\x41\xcb\xe4\xed\x18\xf3\x4a\xf3\xb8\xb2\xf6\xf7\xe5\xe0\x77\xaa\xde\xcd\xee\xb2\xad\x31\xcc\x16\xde\x15\x4f\xbe\xa3\xd2\xb2\x53\x27\x47\x4f\xf5\x43\xbb\x28\x48\xdf\x51\x14\x0a\x70\x6c\x65\xcb\x59\x62\x36\xcb\x0a\xb5\x01\x18\x87\xe6\xea\x10\x37\xb3\x45\xb0\x27\xa3\xe4\xa5\x07\x63\x11\x87\x28\x05\xaf\x20\x65\x28\x55\x4a\x03\x7f\x19\x52\x8a\xa7\x31\xf8\xe9\x0b\xe1\x6b\x58\xc8\x65\x03\x52\x12\x21\xab\xcf\x12\x4e\x21\x8e\x29\x53\x0d\xd0\x04\x05\x78\x82\x51\x08\xe0\x98\xdc\xa0\xbb\xb8\x56\x4c\x5b\x7a\xcf\xf5\xf2\xc6\x6a\x8e\xdf\xbd\xf5\x92\x0d\xd5\xf7\xf2\x3f\x9b\xd6\x4d\x3e\xb0\x96\xb5\xa3\x1f\xfc\x7d\xad\x9f\xdd\xe6\x66\x77\x46\x7d\x8e\x29\x1c\x47\x08\x9c\x8b\xd4\xc1\x6d\x70\xe9\x87\x11\x23\xd3\x69\x84\x72\x46\xd5\xcc\x49\x39\x5d\x7d\x8f\xcd\xd0\x9c\xff\x4b\xe2\x4b\xf9\xe0\x95\xe6\xab\x0a\x27\x86\xb2\xf7\xba\xf3\x57\xbe\x37\x47\x21\x5e\xcc\x45\x68\xcd\x74\xc6\x94\x49\xdf\x62\x9c\x17\xd7\xe7\x7c\xb9\xb8\xb6\x5d\x88\x8d\x68\xe1\xca\x5d\xe0\x01\x29\xd1\xa2\x10\x26\x23\x15\x24\x90\x43\x88\x9c\x86\xa1\x88\x5d\xef\xce\x2f\x67\x30\x06\x67\x72\xe7\x10\x2d\xb4\x9c\x25\x77\x90\x65\xea\x69\x31\x2c\xfb\x34\x7c\x67\x70\x56\xea\x67\xbb\xef\xee\xbe\xd9\x38\xa7\xce\x88\x0c\x88\xeb\xc6\x94\x7c\x20\xca\x60\xbf\x0d\x76\xec\x61\xac\xcf\x07\x57\xd4\x49\xf9\xf5\x8c\x65\xa4\x57\xf6\x4f\x82\x04\xd5\x4d\x95\x3f\x2a\xf6\xd0\x8b\xc2\x63\x3b\xb4\x9b\xbe\x7c\x03\x48\x0a\xf8\x28\x01\x0c\xc3\x14\x51\xea\x03\x71\x96\xe2\x5d\x3f\x40\x1f\xe0\x3c\x89\xd0\x01\x49\xa7\x3e\x38\x7e\xf0\xe5\xc1\xd1\xc1\xd1\xc1\xf1\x6e\xef\xa3\x06\x67\x8a\xbc\xb8\x75\x38\x13\xbc\x51\x2d\xec\x94\x1a\x98\x8f\xcd\xf7\xe2\x85\x2c\x6e\x5e\xcb\x9a\x72\x04\xad\xac\xa9\x1f\xdb\x21\xd6\xe4\x5d\x02\x72\x7c\x8a\x27\x1f\x7e\xf5\xf5\x9d\xe1\x3d\x14\x07\xe9\x2a\xd1\xc1\x6b\xdd\x38\xf0\x45\xe1\xdd\x8d\xf1\xde\x13\x1d\x1a\xe1\xa9\x08\x0b\x12\x07\x33\x18\x8b\x0a\x49\x35\x7b\xa8\x8a\x8f\x28\x76\x50\x6f\xed\x9c\x37\x65\xf1\xae\x03\x75\x41\x6f\x97\x16\x0a\xe7\x8c\xd4\x18\x10\xac\xfa\x49\x72\x4a\x1e\x67\x4b\x42\x44\x82\x48\x6e\xce\xf0\x17\x3c\x19\x3a\x98\x6d\x91\x26\x31\x2f\x57\x09\x7a\x4d\x62\xd1\xaf\x2b\xd5\x54\x16\x1b\xa2\x16\x08\x1d\xa1\x7f\x2c\x60\x54\x58\x26\xd9\x8a\x42\x85\xa6\xe4\xaa\xea\xf5\x75\x45\x15\x45\x1b\x87\x98\xee\xe3\x9e\x5f\x6a\x5e\x9c\x8e\x31\xcd\x43\xd2\xff\x82\xc1\x94\x5d\x9e\x5f\xdc\xde\x1c\x98\x3d\xd8\xfc\x3c\x18\x5f\x5b\x6f\x2e\xee\x8c\xe0\x1b\x43\x8a\x9e\xbf\xee\x2e\xf4\xbe\x81\x14\x01\xf9\xe2\xee\xed\xb6\x6a\x50\x0d\x8a\xa0\x1e\xf6\x36\xad\xea\x82\xb9\x70\x3c\x05\xa2\x36\x14\x98\x90\x14\x48\x98\x72\x20\xd3\xb1\xb5\x2e\x47\x16\x27\xc2\x1c\xe2\x87\xc1\x89\x52\xe9\xf8\x9f\x01\x69\x89\x4e\xd8\x25\xae\xc2\x71\xd8\x8b\xab\x70\x1c\xee\x2e\x57\xc9\x41\x35\x71\x95\x1a\x76\x83\xfe\xf6\x4d\xf6\xc8\x0e\xe9\x6e\x11\x99\xe2\x18\x04\x29\x0a\x51\xcc\x30\x8c\xa8\x60\x4e\xa1\x59\xdb\xe2\x58\x77\x9c\xf1\xde\xf4\xb6\x29\x0b\xf6\xdb\x59\x7b\x72\x75\x80\x55\x4b\x72\x85\x1d\x9b\x8c\xc8\x05\xa6\x34\x1f\xfc\xc4\x9a\x1b\x60\x4d\x2e\xd3\xbf\x15\x82\xbe\x3b\x63\xbe\xa3\x28\x05\xf9\xcb\xbb\xc7\x96\xc6\xe0\x1a\xe4\xa3\x49\x82\x06\x76\x7c\x4d\xf2\x87\x76\x88\x15\x2f\xcc\xcd\x5a\xb0\xe1\x04\xc7\x21\xdf\xd0\xe5\x76\x2d\x77\xef\xbd\xdf\xf6\x88\x48\x32\x3b\xe3\xad\x9e\x24\x28\xa5\x24\xde\x2f\x5c\xe3\x8f\x17\xaf\xe0\x58\x54\x74\x7c\x23\x1f\x6e\x70\xe4\xf5\x18\x01\x98\xe1\xe9\x2c\x2a\xa5\x73\x5e\x08\xd7\xe1\x0a\x18\x8c\x05\x60\x1c\x1e\x12\xed\xd2\x77\x61\xb6\x1d\x5a\x5c\xa2\x85\xbe\xab\xcb\x7d\xc4\xb7\xb5\xbc\xcc\xe1\x35\xac\xaf\x02\x15\x7e\x77\x0b\x0c\xdc\x60\x08\xc4\x10\xb3\xb5\x76\xaf\xb0\x8a\xc4\xbd\xfd\xbd\xdf\xf6\x82\xf8\x84\xce\x70\xf2\x73\x90\xa2\xe5\x3e\xff\x25\xfc\xa9\x3f\x53\x06\x27\x93\xfd\xa6\xe5\xe5\xc8\xd5\x5b\x64\xec\xac\x0c\x3f\x5f\xa9\x6f\xfb\xe8\xd4\x62\x89\x67\x85\xcb\xc1\xdb\x5d\x55\xaf\x2b\x23\x6d\x60\xf4\x2a\x55\x1a\xb8\xfd\xd4\xf2\xf0\x0e\x71\xbd\x8e\xf7\x39\x94\xaa\x4e\x36\x34\xc5\xe3\x0b\x1c\x02\x1c\x0b\x8d\xc7\x07\xf4\xf4\x95\xc2\xda\x7f\x0d\xe7\x88\x5f\x6f\x4e\x29\xda\xc4\xd6\x51\xe4\x27\xca\xd7\xa6\xf0\xf0\xa7\x88\xa5\x48\x20\x42\x40\x06\xc1\x72\x86\x62\xb0\xa0\x7c\xf1\x3a\x2b\x2f\x3b\xb4\x9f\x14\x18\xec\x5b\x9c\x52\xa6\x43\xb2\xd6\x5a\x7c\x85\x96\x76\x7c\x09\xe6\x7d\x75\x5d\x88\xc6\xe8\x5c\x97\x63\xe1\x95\x1d\x5a\x94\x59\xbf\x2a\xeb\x71\x8a\x6f\x50\xfc\xba\x75\x0a\x77\x95\x97\xcf\xe1\x40\xac\x6c\x36\xb4\xe3\x9c\x9c\x75\xd5\x95\x91\xf3\xb1\xb9\xf2\xb1\xf9\xc6\x0e\xb1\xb1\xee\x56\x85\x8b\xe9\x9d\xc8\xb3\xa9\x4e\xe5\x8b\x39\xc4\x3d\x62\xb0\x4a\xbc\x9b\xb5\xb2\xe3\x8c\x2b\xfb\xe9\xca\xb5\x6a\x54\xae\x2c\x9b\x3d\xbe\x43\xfc\x2a\xfa\x54\x61\xd6\xf6\xd9\xda\x45\x76\x15\xa7\xca\x57\x02\x35\xaf\xef\x91\x34\xe7\xd8\xbc\x9d\x1d\x66\x59\x73\xc4\x2e\x4c\x5b\xa0\x90\x0b\xdb\x96\x5e\xd8\x21\xc6\xcd\x67\x8a\xcd\x20\x03\x58\x58\x2b\x27\x18\x51\xc0\x4f\xb0\x37\x38\x5c\xc0\x48\x9e\x5d\xc1\x1c\x19\x31\x12\xf2\x07\x20\x29\x58\xc4\xf8\x1f\x0b\xd4\x36\xcf\x43\x29\xf1\x25\xfe\x72\xd0\xe2\xef\xa4\x59\xa8\x14\x61\xfa\xbb\x0e\xdd\x2d\xac\xb1\x01\xc3\x76\x1b\xdb\xfd\x14\xb2\xfb\xfe\x0e\x86\xec\x16\xa7\x74\x33\xe1\xba\xce\xdf\xb8\x03\x2c\x54\x3f\x5b\x0f\xbd\x1a\x28\x92\xc1\x66\xdb\xfe\x7a\x06\xab\x88\x02\x12\x87\x30\x5d\x81\x39\x1b\x3d\xf2\xda\x90\x72\xde\xa4\xe8\x06\xa3\xa5\x09\x98\x73\x89\x28\x03\x0a\xa9\x06\x93\x18\xdc\x03\xea\x21\x90\xc0\x05\x9b\xfd\xcf\xff\xf9\xbf\x6b\x4a\xfb\xf6\xc8\x69\xe7\xc1\x4a\x0c\xc9\xf6\xa1\x5e\xc0\x9b\x02\xa0\xd8\xe9\xd9\xe5\xcb\x1f\x4e\x2f\x5f\x54\xfa\x5b\xbe\x50\x05\x73\x9c\x56\x03\xd0\xbf\x85\x38\x5a\xa4\xa8\x17\xae\xa3\x67\x20\xc7\x1c\x57\x80\xf5\x14\x6e\xcc\x68\x22\xbf\x00\xe6\xab\x9c\xc1\xcc\x94\xa7\x20\x9f\x2e\xfe\x28\x0a\x9f\x02\x2d\x18\x8e\xfc\x4a\x3f\x6d\x18\xa1\x4d\x93\xd2\x82\x8e\x27\xf4\x2b\x19\xd4\x2a\x19\x65\x34\x27\x21\xac\xa8\x22\x85\x8b\x0c\x8e\x71\x1c\xa2\x0f\x9e\xef\x8d\x32\x50\xc1\x94\x70\xe1\xe5\x85\x18\x46\x64\x5a\x59\x07\xf5\xec\x20\x5a\x1e\xe5\xaf\x99\x6d\xe9\x3a\x3b\x9d\xb0\xf7\x64\x83\x0a\xc6\xbb\x66\x41\xb6\xbd\x6d\x85\x91\x02\xd9\x7a\xeb\x28\x9f\x64\x9b\x63\x12\xae\x8a\xdd\xf1\x2a\x39\x06\x7c\x22\xf4\x57\x7c\x0f\x53\x9d\x03\xd6\x0b\x60\xf4\xb8\x0c\x8e\x15\xc2\x78\x9a\x8f\xea\xd8\xb7\x7d\x33\x87\x9c\x76\xe5\xb3\x35\x3b\x65\x40\xc9\x16\x81\xb6\x04\xee\x9a\xbc\x39\x59\x44\xbe\x04\x48\xcd\x56\x46\xb5\xe7\x2a\x3b\xbe\xb0\xe1\x48\x57\x53\x05\xb8\xa9\x0a\x19\x5c\x6c\x4a\xd6\xaa\xe9\x05\xd0\x95\x98\xe4\x95\xb0\xb7\x13\xd3\x2a\x6a\x76\xce\x2b\x3c\x16\x41\xfb\x53\x7b\xc5\xc7\x90\x3e\xe8\x1b\xcf\xec\xb7\xc9\xe8\x0c\xfd\xb6\x3a\x7f\xfa\xad\xbe\x9b\xaf\x64\xee\x09\x21\xac\xb0\x60\xec\x5b\x67\x0b\xaa\xb0\xde\xfe\xf4\x03\xfc\xd4\xc2\xb5\x7e\xae\x66\x54\x84\x90\x3c\xc5\xe6\x2d\x6a\xee\x89\x08\x6d\x42\xc6\x6e\x83\x2f\xab\xec\x77\xfe\xf0\x28\xb9\x26\xba\xed\x1a\x28\xb9\x53\x14\xa3\x14\x46\xb7\x08\x94\xfb\xe7\xe5\xd9\x71\xfc\x10\xfd\xcd\x0d\x23\xff\x77\x04\x91\xfb\x52\x84\x20\x07\x28\xc3\x8a\x69\x5e\x37\xae\x28\xb9\x19\xf2\x8c\x02\xe9\xe7\xc7\x55\x46\x04\xdc\x42\x96\x88\x8e\xd5\xa7\x7b\x33\x73\xa3\x3e\xe0\x48\x36\xf5\xe2\x30\x68\xb9\x4e\xfa\x7b\xfd\xf9\x8f\x62\x86\x2e\x31\x8b\xea\x8e\x7a\x8f\xea\x8f\x7a\x17\x98\x21\xd0\xe0\xfe\x69\xd5\xf8\xbf\x6c\x16\x79\xfd\x13\xe0\xf2\x41\x15\x6d\x6f\x73\x12\xa2\xc8\xf3\x3d\xb5\xf6\xf9\x5d\x39\xf4\xaa\xc5\x6d\x06\xa9\x68\xe1\x25\xff\xee\x66\xb2\xc9\xbd\x35\x32\x8c\x14\x94\x08\x9d\x91\x94\x01\x31\x08\x11\x24\xc2\x66\x98\xba\x31\xbb\xab\x40\xdf\x0c\xef\x09\x8a\xf1\x59\x7a\xa5\x35\xa6\x5e\xcc\x67\xbc\xbd\x39\xfe\xab\x01\x08\x53\x88\x60\x76\xe6\xd3\x1d\xf3\xbd\x87\xf5\xbc\x67\x68\x8b\x16\xee\x53\x4d\xdc\x05\xfe\x53\x03\x01\xe8\x43\x12\x41\x1c\xe3\x78\x7a\x67\x18\xd1\x9d\xe1\x4e\x75\x19\x68\x70\x9a\xe9\xdc\x1b\x60\xba\x86\xf1\x65\xa0\xb4\x6d\x46\x12\x29\x2b\x6b\x9b\x18\x15\xee\x0b\xe6\x81\x51\x44\x96\xd9\x08\xf3\x01\x0a\xf4\x62\xfe\x0e\x0a\xeb\xf9\xd8\xfe\x72\x21\x81\x4e\x49\x6a\xd1\xd4\x98\x7c\xf0\x1a\x2d\x45\x2d\x53\x65\x0c\xc4\xb2\x9f\xd5\x8d\xa4\x29\x45\xea\x15\xbc\x46\x40\x9d\x79\x8d\x82\x2d\x3f\xfd\xe4\xe9\x9a\xc8\x3f\xfd\xe4\x01\x78\x03\x71\xa4\x95\x8a\xac\x28\xb8\x3c\x24\xd9\x47\xb0\xb6\x5f\x60\x4b\x8b\x40\x52\x2e\x20\xb1\x2a\xb9\xfc\x22\x0e\x45\x5e\x4e\xf7\x45\x72\x96\xb5\x01\x54\x3d\xd5\x06\x4c\xdb\x81\xe4\x73\x27\xcd\xc0\x32\xc8\x36\x15\xc1\x46\x17\xab\xc4\x3e\xab\x3c\xb8\x9b\xc2\xbb\xca\xac\xba\xbf\x42\x87\x98\xc1\x38\x8c\xb8\x0c\x97\xe5\x59\x0f\xe5\xa1\x48\x01\x95\xcd\x18\x4b\xe8\xd3\xc3\x43\x98\xe0\x03\x7d\xd2\x3a\x08\xc8\xdc\xaf\x5d\xc3\x50\xf7\x6e\x96\xa2\x89\xe7\x7b\xba\x85\x90\x04\xb4\xd0\xc4\x21\x3d\xfc\xf1\xf5\x8b\x24\x61\x3f\xfe\xf9\xeb\xd3\xd3\x6f\xde\xc6\x33\x78\x28\x4e\x10\x98\xb2\x54\x20\xc9\x8f\xa6\x0b\x1c\x22\x7a\x18\x1e\xfe\xf8\xfd\x51\xc2\x7e\x7e\xf5\x57\x3c\x3d\xfd\xe6\x09\xfd\xf3\x97\xd9\x69\xae\x5a\xe0\x41\xd8\x6f\xb5\x31\xac\x5c\x93\x63\xff\x8e\xac\xcd\x39\xfc\x70\x09\xe5\x39\xa9\xdb\x82\x7c\x05\x3f\xe0\xf9\x62\x0e\xf8\xdb\xe0\x0d\x4a\xc1\x73\xc3\x2c\xb8\x99\xed\xcb\xc8\xcc\x6e\x48\x9d\xce\xb6\x1e\x63\x68\x35\x46\x6c\x95\xda\x2d\xf2\xb5\x55\x6d\x37\x7d\xc9\x05\xed\xbe\x98\x01\x5c\x9f\xb2\xfb\x50\x4b\x00\xdd\xa1\x72\x96\x2d\xef\xb2\x96\x28\xa6\x2d\xfa\x61\xbd\xac\xef\xde\x8b\x47\x5d\x7a\xf1\xc8\xe8\xc5\xa3\x21\x7b\xf1\xb8\x4b\x2f\xcc\x03\xeb\xe3\x21\x7b\xf1\xa4\x4b\x2f\x9e\x18\xbd\x78\x32\x64\x2f\xbe\xec\xd2\x0b\x73\x79\x7c\x39\x64\x2f\xbe\xea\xd2\x8b\xaf\x8c\x5e\x7c\x35\x64\x2f\xbe\xee\xd2\x0b\xd3\xa1\xd7\x00\x7f\xd1\xbd\x17\xc7\x47\x5d\xba\x91\x57\x8c\x3b\xd2\x3f\x3a\x29\x66\xeb\x6d\xb6\x7f\x22\x4b\x30\x87\xf1\x0a\x30\x2e\x81\x03\x18\x83\x31\x52\x50\x87\x32\xca\x04\x66\x9b\x13\xd8\x1b\x23\xb6\x44\x28\x06\x0f\x05\x1a\xdc\xf1\x91\x78\xa9\x2e\x47\x63\xfd\x4d\xa9\xec\x4c\x9c\x90\x98\x8d\x96\x08\x4f\x67\x6c\x34\x26\x51\x28\x47\xb4\x48\x12\x94\x06\x90\xa2\x36\x67\x23\x2d\xb9\x1a\xa5\xeb\x71\xeb\x06\xe2\xb2\x61\x77\x0d\x1b\x31\x8e\x19\x9a\x2a\xdd\xe3\xf6\xec\xc4\x1f\xbe\x7b\xf9\x23\x86\x4f\xc2\x3f\xa0\x9d\x38\x23\x3f\x1d\xd8\x56\xfc\x22\x16\x27\x39\xbe\xcc\x02\x11\x99\xb1\x48\x11\x60\x33\x9c\x86\x02\xd2\x77\x05\x8c\xa9\xb7\x7e\xd2\x89\xb1\x6f\xc1\x58\x1c\x5b\xc8\xa1\xee\xff\x19\xa7\xb0\x41\x40\x98\x25\x5c\x9e\x63\x9a\x44\x70\x45\x01\xa6\x74\x81\x24\x1a\x25\x8e\x6b\xd5\xe8\xcd\x2b\xc0\x7f\xc7\x29\x6c\xa8\xb1\xd2\xa0\x01\x6f\xfc\xfc\xd9\xc3\x3e\x9d\x8d\xa6\x78\xf6\xe4\x97\xcf\x52\x14\xd2\xbc\x88\x4a\x17\x48\x8e\x35\x76\xa9\x6f\x17\x51\xb4\x02\x7c\x7b\x95\x20\xba\x21\x99\x43\x1c\x03\x11\x2f\xcf\xcf\x84\x2b\xb2\x48\x01\xe7\x9f\xcc\x94\x07\xcc\x7a\x29\xbc\xe3\x26\xe4\xda\xae\x1e\xa3\x24\xdd\x0d\x50\xe9\x8e\xac\xd4\x0c\x47\x3d\x10\x3f\xf5\xe0\x24\xdd\xaf\x06\x76\xca\xba\xbe\x35\x9e\xfa\x5b\xc6\x33\x32\x9b\x4f\x77\xe1\x10\x35\x04\xb1\xef\x06\x8b\x50\x14\xa4\xa8\x87\xf9\xab\x05\x2f\xe3\xd6\x18\x44\x8d\xa7\x8a\x91\x61\xb2\x88\x1e\xf4\xd6\x18\x44\x3b\x11\x4e\xdf\xbc\x04\x97\xe4\x1a\xc5\x00\x4f\x54\x84\xf5\x29\xe3\x4d\x60\x18\x83\xb3\x88\x2c\x42\x40\xd2\x0c\x8b\x44\x06\x62\x53\x14\x4d\x04\xc4\x25\x7f\xba\x6e\x63\x73\xe4\x27\x4b\x28\x91\x2a\xe7\x2f\xc2\x88\xbe\x8b\xc8\x18\x46\x02\x5d\xba\x13\x6e\x69\x61\xef\xbd\x4c\x51\x14\x91\x66\xbe\xb0\x6e\xc0\x63\x02\xd3\xd0\x7d\x03\xde\x70\xb4\x30\x13\xc3\x18\x5d\xd7\x56\xf9\x69\x72\xa0\x24\xc9\x9a\x35\x7d\x1a\x96\xc7\x1a\x2b\xc4\x18\x53\x51\x7e\xca\x1b\x7a\x79\xc0\x24\x51\xb5\x7b\xb6\x08\x93\x85\x10\xf0\x9a\xcd\xa8\xb2\x93\xc2\x7e\x0a\x93\x44\xcf\x8c\x7a\xbf\xf9\xa1\xaf\x77\x2d\x98\x75\xcd\xf3\x67\x35\xd8\xd5\x76\x02\xdd\xce\x21\xd4\x76\x72\x5c\xe3\x20\x1a\xe1\x00\xc5\x14\x49\x26\xdd\xf6\xf9\xf3\xaf\x87\x7f\x83\x49\xf4\xf5\x97\x7f\xac\xf3\xa7\x8e\x93\x84\x49\xf2\x0a\x31\xe8\xf9\x1e\x0a\xb1\x14\xbb\xc5\x10\xc3\x17\xf2\x72\x21\xb8\x32\x7f\x49\x79\x84\xec\x21\xa1\xfd\x4f\xaf\x0c\xa5\x49\x8a\x29\xca\xbe\xbe\x88\xf9\xdc\x94\x1d\x91\x65\xe1\xa1\x9b\xad\x11\x26\x05\x77\x4c\x92\xe2\xa0\xf8\xd9\x24\x45\x73\xbc\x98\x83\x00\x26\x70\x8c\x23\xcc\x30\xa2\xe2\x08\x9d\xa4\x24\x5c\x04\x0c\xd0\x45\x92\xd4\xe3\x0e\xef\xf2\x31\x1a\x74\xe3\xb7\x7c\x27\xed\xac\x60\x2a\x5a\x8d\xf4\x92\xfe\x30\x37\x79\x5d\x57\x6a\x02\x96\x29\x3e\x97\x6f\x34\x6c\xa2\x5e\x6b\xd4\x4a\x6d\x3d\x3b\x5b\xb7\x74\xa4\xb0\xbc\x24\xe4\xfd\xf1\x57\xd5\xc2\xc5\xaa\x5f\xc3\xf9\x39\xab\xfa\x98\xb1\x9e\x44\x4b\xb5\x7a\x58\x21\x61\x01\xfd\xc3\xd2\x80\xb1\x8a\x8d\x75\xe4\x39\x26\x2d\x58\x75\xb6\x12\x33\x3d\xe0\x3a\x10\x49\x47\xd3\x14\x21\x33\xb8\xf6\x2d\x9a\x62\xca\x50\x2a\xed\xbe\x76\x71\xa1\x69\xed\x5b\x43\x95\xc1\xff\x6a\x7d\xad\x1c\x04\xdd\x66\x73\x77\x1e\x40\xd3\x47\x13\x18\x5c\x97\xe2\xde\x79\x6f\xd5\x65\xb0\x48\x5c\x06\x4c\x11\x64\xd4\x1a\x82\x5e\x95\x09\x75\xdc\x91\xb7\xc6\x52\x0c\xa3\x35\xa2\xd0\x6b\x48\x92\x16\xf4\xb3\x4b\xfe\x11\x80\x3e\x24\x38\x5d\x01\xcf\x34\x09\xa5\x73\xc8\x18\x0a\x47\x21\x64\xa8\xb1\x9f\x28\x0e\x0d\xf7\xc5\x60\x59\x03\xfd\x38\xf4\x62\x31\xa6\x41\x8a\xc7\x45\x0e\xdd\xfc\x80\xd6\xca\x8c\xe8\x05\x06\xa1\x44\xe9\x35\x5a\x01\x4c\xc1\x5f\x5f\x9d\x03\x39\x44\x59\x89\x2a\x60\xf8\x86\x2b\x63\xa6\x14\xce\xe4\xc6\x06\x06\xd3\x99\xf1\x74\xff\x31\x05\x31\x61\x40\x08\x45\xf0\x3f\xff\xfb\xbf\x81\x88\x8b\x92\x65\xb6\x44\x4a\x87\x18\x8f\x62\x50\x31\x75\x6d\xa7\xaf\x66\x76\x81\xab\xdd\x94\x67\x1d\x3b\xff\x7b\x97\x65\xdd\xe7\x72\x77\x25\x59\xf7\xb1\xec\x90\x14\xd3\xcf\x77\x37\x63\x5a\x12\x3d\x1f\x36\x9c\x7d\x29\xbc\x41\xe7\xb9\x9e\xd6\xd9\x05\xeb\xa4\x62\x6b\x1d\x71\x91\x68\x51\xe2\x78\x9e\x93\x2f\x8c\xe8\x62\x3e\x57\x09\x4a\x4d\x79\x7c\xf9\x7c\xc8\xf7\x4e\x75\xe0\x65\x27\xf3\x5b\x43\xdc\x59\x7e\xc6\x09\xc9\x32\x8e\x08\x0c\xab\x91\x55\x30\x8b\x45\x50\x5d\x7d\x8d\x96\x40\xc7\x36\xc2\xbc\x47\xad\x06\x3d\xb3\x55\x1c\x53\x96\x2e\x82\x72\x88\x5a\x49\x98\x5d\x12\xb0\x48\xa6\x29\x0c\x91\x0f\x52\x94\x44\x30\x40\x00\x7d\xc0\xd2\xd6\x39\xc6\x31\x4c\x57\x42\xac\xa7\x88\x32\x98\xb2\x2c\xcc\xfa\x00\xbc\xc2\xd3\x14\x32\x04\x74\x1c\xc1\x19\x99\xcf\x17\x31\x66\xf2\xf9\xea\x66\x46\x01\x45\x70\x1e\x21\x4a\xa3\xd5\x41\x47\x4b\x4f\xbf\xca\x4d\x55\xba\xbe\x45\x11\x82\x14\x81\x8b\x9c\x39\x5a\x96\x59\x69\x4d\x95\x2c\xa7\x96\x79\xa0\x09\xb4\xd5\x32\x21\xe9\x88\x4c\x26\xa3\x71\x04\x0b\x61\xd5\x39\xd1\x9a\x4f\xf6\x81\x7e\xee\x9c\xab\x0a\xcc\xb2\x49\xfd\xeb\x9f\xfc\xff\x59\x3a\x54\xc7\x9b\x94\x91\x14\x4e\xd1\xc1\x94\x90\x69\x84\x60\x82\xa9\xe2\x52\x65\x25\xca\xd8\x35\xbb\x34\xca\x7a\x31\x5a\xe2\x38\x24\x4b\x3a\x82\xf3\xf0\xc9\xa3\x03\xf4\xa1\xe2\xe0\x2a\x9b\xd7\x8c\x31\xff\x28\xdf\xf5\x0a\x7d\xff\x7f\xdb\xea\x79\x84\xe3\xc5\x07\xd9\xef\x0e\x7d\x3e\xe7\x6f\xdd\x52\x8f\x43\x98\x2e\x71\xdc\xb9\xcb\x73\x18\x7c\x7f\x51\xe8\xb2\x8b\x93\x6b\x50\xee\xb6\xd8\x15\xec\xec\x8d\xb2\x07\x6f\x95\xbf\xf3\x6e\x74\x67\x70\xa5\x1e\x8c\x55\x89\x9f\x5b\xe4\x75\x63\x14\x1d\x98\xdd\xde\xff\xed\xf3\xbd\xd1\xfb\x2e\x8c\x6f\xef\x7e\xbf\x35\x60\xcb\x9d\x5e\xe5\xd1\x2f\xb6\xb7\x14\x04\x84\x0c\x15\x96\xf8\x08\x2c\x5d\x20\x57\x4d\xc8\x1b\xd8\x23\x60\x98\xf0\xd7\x70\x04\xc8\x2a\x29\x23\x85\x20\xb1\x6d\x4f\xc0\x14\xbe\xfe\x6e\x46\x93\xaf\xfe\x58\x9e\x80\x0c\x8e\xbb\x59\xdb\x73\x35\xde\x5f\xce\x50\x8a\x00\x4c\x11\x08\x16\x69\x8a\x62\x16\xad\x0a\x22\x58\x4e\xf1\x05\x83\x6c\x41\xa5\x1c\x4e\x31\xaa\x1c\x26\x55\xb9\x1c\x75\xf7\xa0\x6e\xe9\xfc\x8e\x6d\xeb\xe6\xed\x97\x4c\x84\xd6\x32\x78\xad\x4f\xe8\x0f\x8f\xc0\x1c\xc7\x02\xcf\x4d\x40\xb9\x8d\x17\x38\x0a\x45\x2e\xb8\xa2\x9c\x58\x42\x00\x06\x29\xa1\x14\xc0\x28\xca\x7c\xeb\x54\x57\x23\x27\x01\x86\x0c\x85\x3a\x33\xcc\x4a\x63\xa7\x33\x9c\x84\x0e\x69\x3b\xc2\xa5\x48\xae\xea\x2b\xc3\x48\x71\xa4\x31\x1a\xce\x95\x23\xa1\xce\x0c\xd2\x69\xae\x87\x16\x6d\xa6\x50\x5a\x47\xb6\xcd\x59\x72\x8b\x61\xb6\x4f\x2e\xff\x6b\xf1\xd5\xa3\x7f\x7c\xfb\xc7\x13\x6e\xaf\x2e\x5b\x0a\xda\x76\x94\x70\xdf\x8a\x72\x5e\xb2\x5c\x81\x30\xfb\x81\x98\x30\x3c\xc1\xc1\xdd\x0b\xa7\x75\x15\x55\xfd\xb0\x17\x38\xc3\x37\x14\x21\x6e\x08\xa6\xf9\x93\x7a\xab\x4f\x94\xd9\x57\x35\x1d\x5d\x3b\xac\x35\x1f\x8f\x3d\xa7\x92\xdf\xe7\x9a\x68\x4d\xcd\x61\xce\x87\x7c\x5c\x2f\xe6\x09\x5b\xed\x5c\xd6\xa4\xc4\x28\x5d\x1d\xf0\xde\x1f\xd4\x17\xa0\x73\x62\xee\x8d\x33\x55\x43\xfd\xe0\xa6\xf0\xc5\x66\xdf\xfd\x00\x4c\xd5\x9d\x9d\x54\xb5\xe0\x06\x76\x4a\x6a\xea\x04\x73\x76\xe2\x23\xda\x61\x76\x7a\xfc\x55\x5d\x8e\xd8\x6e\xb0\xd1\x82\xa2\x14\xd7\x15\x8f\xdb\x60\xa0\xf4\xa6\x98\x49\x8d\xa7\x91\x9d\xf4\x98\xb7\x16\x06\x2b\x38\xe1\xbc\x10\x22\x2d\x62\xee\xc5\xb6\xdc\x58\xd8\x6d\x37\x98\x24\x69\xae\x31\xb8\xc1\x70\xe9\x8d\xc9\x9c\xfa\xa2\x82\x65\xd9\x53\x57\x29\x70\x2b\xec\xa2\xbf\x3e\x20\xbb\x6c\x85\x63\xb8\x6e\x58\x8b\x04\xdf\x84\xf9\x23\xde\x6b\x2c\x59\x70\x6b\x3c\xa3\xc6\xa4\xfd\xdc\x76\x76\xd1\x03\xb7\x6f\x56\x72\x78\x3b\xbc\x5d\x71\xf1\xf4\xbf\x28\x99\xa3\x91\xcc\x0f\xda\x79\x35\x48\xd2\xfb\x75\xaf\x64\x1f\xc5\x6c\xeb\xe0\x9b\x6d\x96\xd7\x5e\x57\x33\x7e\xac\xec\xf6\xba\xa6\x7a\x4b\x7e\x77\x37\xb9\x4d\xbb\x35\x77\x52\x9a\xf5\xc0\x8d\xda\x10\x17\xad\x0d\x18\xd5\xce\x86\x19\x02\x54\x99\x11\x33\x14\x24\x13\xdb\xc9\xce\x8b\xf9\xa3\x39\x9f\x99\x60\x54\x8e\x59\x14\x3d\x10\xa1\x4a\x3d\xb5\xcc\x0c\x80\x0b\x36\x43\x31\x53\x06\x0a\x1f\xe0\x69\x4c\x52\x04\xb4\x1a\x2b\x0c\x82\x59\xfe\xd1\x04\xa3\x28\x6c\x81\xb5\xdf\x2d\x89\xe8\xce\xac\xdf\x40\x8a\x9e\xd4\x21\x89\xdc\x65\x4e\x1d\x8b\x81\x05\x2a\x97\xa7\x85\x57\xcd\x87\x6f\x85\x5b\x0b\x1d\x28\x4d\x0e\x40\x71\x40\xc2\x3f\x22\x73\x5e\x5c\xf4\xce\xe4\xde\x61\xce\x5c\x50\x44\x69\xd4\xce\x94\xea\xb9\x5b\xe1\x47\xfd\x6d\xf3\x80\x0f\xea\xa7\x63\x3d\x3e\xeb\x13\x1a\xd7\x06\x4b\xc2\xd5\x6b\xbb\x63\xe5\x92\xab\x4f\x35\x7e\x15\xaf\x25\x56\x93\x21\xca\x44\xcb\xbe\x97\x01\xb1\xf7\x2e\x7b\x20\x35\x3b\x3d\x24\xa3\xda\x81\xf6\x0b\x1a\x5f\x1b\x10\x67\xbe\xb1\x3b\xb6\xe2\x0b\x43\x74\x67\x03\x09\x77\x05\xe7\xd1\x1a\x4e\x28\x7e\xc6\x19\x09\x4f\xc9\x2d\x24\xda\x9d\x3e\x41\xa7\x0f\x1e\xfd\xf1\xdc\xeb\xef\xaa\x91\xd1\x95\xc6\xdc\x41\xc0\xc1\x18\x52\x1c\x00\x1c\xcb\x78\x5f\xa1\xd1\x69\x53\x89\xca\x57\xcb\x8a\xef\x50\x61\x3b\xf1\x0c\xbe\x96\x51\xda\x66\x41\x93\x96\x18\x6e\xab\x68\xc0\xf4\x74\xc1\x66\x2a\xc3\x3d\xcd\x8f\x32\x8e\x31\xdc\x9d\x84\xdf\x43\x30\x1f\x37\x7a\x96\x49\xfc\x7d\x82\x62\x4e\xe4\x57\xb2\x08\x80\xa1\x03\x87\xa1\x18\x53\xb3\x24\xb7\x54\x3d\x81\x61\x28\xcc\xa9\x9b\xa9\x78\xe2\x46\x0b\xb3\xfa\x09\x90\x3f\xa2\x2e\x65\x50\xba\x7c\xa5\xb9\x24\x4a\x97\x96\x2a\xe5\x51\xf8\x1c\xbc\x6b\x9c\x03\xe7\xb6\xab\x65\x52\xac\xcd\x58\xfc\xa0\xc7\x9c\x4d\xe8\x62\x3c\xc7\x0d\x95\xad\x3c\x51\xad\x4a\xf5\xb5\x00\xb8\xd6\xfe\xc1\x76\x55\xab\x11\x93\xa0\x4b\x6b\x35\x52\xad\xbd\x2d\x8b\xfe\x13\xa3\x65\xa5\xee\xb5\x76\x73\xb7\x57\xb0\xae\xfd\x98\x83\xc2\xa8\x83\xee\x23\x18\xa0\x19\x89\xa4\x75\x51\x5a\x84\xb8\xf2\x58\xe9\x98\x36\x05\x15\x4d\x35\x66\x37\x95\x84\x53\x6f\xf2\x27\x8d\xe2\x2a\xad\x3a\xa4\x65\x14\xae\x83\xde\xea\x54\x99\xd5\x98\x75\xc8\x64\x6b\x81\xe6\xcd\x4f\x54\xa5\xf2\x72\x79\x9e\xf2\x07\xca\xd3\x64\x14\xb7\xf9\xdd\xcc\x52\x66\xc4\xd7\x71\xc9\xcd\x95\x6d\x37\x3f\x3f\xba\xc0\xb0\xb2\xdf\x97\x67\xe7\x85\x69\xd6\xcf\xa7\x46\x67\xb5\x6d\x6c\x5e\x3a\x3d\xb8\x25\xe1\x2a\x95\x0e\x61\xb9\x4d\x4b\xc5\x54\x3b\xf0\x46\x4b\x39\xa3\xbc\xb2\xd5\x71\x0e\x20\xaf\x36\xa8\x26\x55\x27\xdb\xa0\xba\x28\x39\x1b\x9f\x20\xf7\xa7\x76\x6c\x53\x6e\x0a\xc4\xec\xb8\xf2\x51\x88\x99\x6c\x6f\x14\x22\x1a\x18\x8d\x7e\xb3\x88\xae\x41\x20\xab\x86\x5a\x35\x6c\x47\x29\xd0\x02\x7a\x60\x9c\x91\xca\x02\x81\x0b\x82\xf1\x22\xba\x96\x27\x11\xb5\xcc\xf3\x0b\x15\xf7\xae\xef\x3d\x36\xf7\x4f\x1f\x68\x19\xed\x83\x4c\x24\x74\x16\x08\x3d\xbd\x25\x67\x64\x3e\x87\xa3\x10\x45\x78\x8e\x19\x0a\x41\x84\x29\x7b\x0a\x9a\xfa\xb6\x3d\xd9\xd3\x4f\x48\x6c\x45\x42\x50\x9b\x88\x70\xe7\xbc\xc1\xd6\xfd\x00\x6a\xbf\x2c\x20\x97\x19\xc2\x9c\xb5\xff\x66\x02\x93\x05\x8b\x70\x8c\x36\x5f\x59\xae\x0b\x35\x1a\xef\x37\x9f\x62\xfb\x41\x57\xdd\x5a\x54\x75\x6e\x89\x5a\xd7\x9c\x25\x64\xee\x2d\x44\x54\xd3\x3f\x93\x5f\x6e\xe0\xd7\xff\xb0\xda\xb3\x84\xa1\x45\x18\x0f\x55\x91\x7c\xbd\xd3\xec\xbe\x99\x6b\x0d\x4b\xd7\x77\x72\x2a\x06\x31\x75\xa9\x32\xdb\x72\x76\x85\x1d\x0b\x41\x8a\x51\x2a\xe1\x1f\xe6\x30\x86\x53\x41\x46\x01\x0c\x21\x21\xc7\xa5\x8c\x03\x8c\xa8\xb7\x9a\x3b\x32\x98\xf9\xe9\x62\x46\x96\xa7\x61\x28\x06\x6f\x35\x41\x7d\xa7\xb5\x0c\x8b\x23\xa0\xd9\x06\x25\xf5\x89\xcd\x1a\xa1\xda\xc4\x6f\xe7\xfa\xbb\xce\x2d\x3b\x5a\x9d\xda\x9a\xb1\x9a\x9c\xac\x34\xef\xda\xb2\xa3\xc1\x69\x0d\xc5\x56\x77\xb3\xa3\x66\x3b\xa8\x5a\xdb\x78\x9a\x55\x2c\x58\x32\x39\x34\xc4\x0d\xd9\xdb\x77\x0d\xbb\x77\x38\xce\x9a\x3d\xb2\x5a\x1b\xc0\x9c\x2c\x28\x62\x29\x4c\x3c\x95\x11\x2c\xe5\x01\x28\xd9\x1f\x24\xed\x33\x10\x96\x4e\x3a\xed\x1a\x0a\xad\x08\xff\x79\x25\xe4\x57\x4a\x7d\xf0\x1c\xdd\xa0\x88\x6f\x4a\xd4\x07\xa7\xc1\x1c\x81\x4b\x04\xeb\xe2\xce\x7a\x2b\x69\x5b\xe5\x95\xd2\xf1\xe7\x39\xa2\x41\x8a\x05\x30\x02\xd8\x23\x0a\x01\xae\xae\xec\x43\x23\xf7\x74\x39\x00\x15\x99\x45\x74\xa9\x3a\xf3\xc9\x22\x4d\x08\xb5\xc0\x46\x8b\xb2\x37\xce\xfc\xb0\x69\xc5\xcf\x59\x47\x76\x97\x55\x3b\xaa\x1b\x77\x3a\x16\x09\x31\x1b\x44\x38\xb8\xee\x25\x65\x9b\xfa\x7c\x1a\xd6\x85\x6d\xbb\xcd\x98\xab\xaa\x5e\x7b\xd9\x45\x5b\x91\x4a\xce\x88\x1f\x88\x3d\x1b\xe8\x4c\xa1\x8a\xb9\xd6\x88\x3a\xc3\x2c\xd9\xd5\x53\xe0\x24\x36\x1a\x75\xd6\xa6\xb0\x15\x87\x16\x4a\x3b\x52\xcb\xf2\x94\x45\xd2\x1f\xf2\xe5\xdf\x5c\x47\x9d\x3f\x22\x95\xf6\x72\x52\xf2\x7e\xc5\x15\x2a\x9f\xce\x85\x48\x17\x34\x3e\x87\x11\x66\x0d\xe7\xa1\x09\xe5\x2f\xba\x06\x48\x98\xa7\xbf\xad\x4a\x27\x3e\xcf\x8f\x80\x5c\x5f\xb4\x9b\x51\xd5\x49\x1e\x24\x29\xd6\xb8\x3a\x6d\xfa\xf9\x2b\x31\xab\x52\x41\xcf\x48\x29\xd1\x36\x8b\xaa\xa3\x7c\xb0\x7a\x18\x2e\xa0\x6f\x4e\x99\xc1\x02\x06\xc3\x1c\x75\x85\xda\x74\x20\xa2\x24\xc1\x08\x07\x24\x1e\x4d\x61\xb6\xea\x9c\xb7\xfe\x66\x12\xca\xfc\xed\x56\x0a\xbe\x45\x73\x72\x83\x9c\x88\x28\x1f\xad\xa1\x63\x3f\xee\x1c\x92\x30\x8e\xed\xa5\x70\x05\x60\x84\xa7\xf1\x68\x8e\xc3\x30\x2f\x21\x2e\xf6\x40\x46\xa6\x53\x59\x80\x9b\x90\x88\xe1\xa4\x70\x53\x28\xaf\xe2\x74\xc4\xef\x67\xf7\x98\xaa\xd9\xfd\x16\x69\xd9\xd5\x48\xf0\x17\x21\x66\x2d\x84\x6e\x9f\x7a\x5c\x51\x17\x20\x43\x29\x86\x91\x18\xa4\x19\x7f\x89\x42\xbc\x71\x7b\xde\x26\xe7\x4b\xc1\x10\x6c\x64\xc6\x9e\xa3\x08\xb1\xf6\x19\x93\x8f\x6d\x71\xce\xc2\xac\x5f\xdb\xb3\x3b\x56\x57\xf0\xc3\x8e\x98\xad\x36\x25\x16\xa6\x53\x1c\x8f\x18\x49\x46\x0f\x8f\xdc\xf7\x06\x6c\x1e\x49\x5b\xac\x3e\xce\xc3\x29\x62\xb0\x75\xd4\xcd\xc4\x81\x44\x4e\xcb\x27\xe3\x8d\x4b\x33\x15\xe3\x8d\x5c\x44\x77\xc2\x7e\x23\xbb\xba\x9e\x09\xc7\xd4\xa1\x4f\x53\x04\x56\x64\x01\xe8\x42\xfd\xb1\x84\x31\x03\x8c\x00\xc9\x50\xb2\xec\xbc\xe0\xaa\x67\x6e\xc7\xe7\x7a\xfa\x0c\x7a\xf4\x2f\xf0\x7b\x49\x2f\x7f\x23\xf1\x0f\xf9\x41\xcb\xb0\xc2\xf0\x41\x89\xca\x74\xa9\xa3\xa9\x63\xb0\x78\x88\x6a\x5f\xdb\x6d\x48\xdf\x55\xac\x47\xa1\x31\xf3\x5b\x37\x20\x5d\x72\x36\x58\xe2\x28\x02\xa9\x54\xb4\x24\x5d\x95\x12\x3a\xc3\x89\x19\x1c\x5a\x86\xfb\x31\x82\x43\x3f\x77\x67\xa2\x4f\xd6\x8d\xad\x58\x37\x72\x55\xdc\xd5\xb8\xd1\x20\x82\x9a\x7a\xfd\xdc\x49\x71\xe8\xa0\x15\x38\xdc\xe9\xbc\x8d\x1a\x11\x15\x9f\x36\xd1\x6e\x9b\x28\x3f\x3b\xdc\x89\x2d\x94\x77\x74\xb7\x7d\x20\x06\x17\x0e\xe4\x04\x59\x63\xf7\x2a\x77\xa6\xbf\xff\x03\x65\x84\xff\xe4\x00\x19\x9c\x51\x76\xc6\x03\x52\xee\x93\x65\xf2\x3f\xf9\x40\xee\x9a\x96\xd0\xc3\x07\x52\x2b\x66\x9b\x3a\x6d\x85\xd7\xef\x32\x67\x9b\x57\x11\x24\x6b\x4b\x35\x78\x24\x15\xe0\x9d\xd0\x15\xd6\xca\xd7\xb9\x2d\xa5\xa1\x60\xb6\x15\x61\x35\x5a\xf2\x3c\xc8\x6d\xdc\xa5\x3d\xc3\xee\x46\x31\x9e\xaf\xcb\x35\x6b\x15\x7f\xc3\x2a\x26\x7d\x93\xfd\x9c\x5b\x93\x9c\x28\x02\x90\x14\x23\x8a\x3c\xd7\x12\xe4\xa2\x67\xf1\xcc\xe5\xce\x83\x5e\xfe\xa3\x56\x4f\x1d\x66\x68\xee\xbc\xbd\xb5\x35\x18\x90\x68\x74\x7c\x04\x26\x8b\x28\x32\xb5\x21\xe9\x9b\xe2\xa3\xc9\xef\x38\x54\xe9\xea\xfa\xe5\x07\xfd\xc3\xf2\x07\xf4\x86\x9c\x23\x78\xa3\xcf\xfe\x7a\xd8\x7c\xe2\x5f\x5a\xdd\x20\xce\xdb\xbc\xf3\x3e\x5a\xf3\x6c\xd5\x92\xf9\xa0\xdd\xb7\xf2\x7b\xdc\xb9\xb7\xb7\x63\xef\xc4\xee\x07\xc3\xf0\xd3\xd6\xd7\xad\x19\x6b\xc4\xe0\x1f\x65\xdf\xeb\x7a\xe8\xa9\x3f\xf1\x28\xdb\x8c\x1c\xf0\x88\x66\x28\xf2\x59\xb2\xba\x80\x22\xcf\x82\x72\xff\x4e\x70\x6c\xd8\xb0\xdd\x0f\x6f\xeb\x9d\x9b\x7d\xef\x1a\xad\x46\xf2\x7b\xf6\x2e\xb7\x9f\xa2\xd5\x50\xf4\xc6\x0e\x63\x95\x4f\x71\x70\x70\xe0\x15\x80\xed\x25\xe0\xc6\x55\x93\x2e\x9e\xa1\xed\x3b\xa0\x8c\x59\xe6\xa1\xcf\x89\x5b\x81\xc2\xaf\x95\x34\xe3\x7e\x7a\xd9\xb8\xae\x25\xc6\x18\x88\xba\x1d\xce\x5a\x40\x7d\x6b\x7c\xcb\x90\xf6\x91\xec\x2f\xed\x2c\x1e\xca\x7f\x7c\x31\x23\x4b\xc0\xff\xff\x1c\xc6\xab\x3c\x13\xa7\x77\xd2\xd9\x71\xd6\xfb\xf7\x0f\xbe\xf4\xdf\xd7\x9f\x59\x41\xb1\x9e\x6d\xb1\x6a\x2c\xef\xc7\x39\x16\xf9\x44\x57\xfe\xb1\x3e\x12\x0a\xae\xbd\x41\x26\x7f\xf6\x50\x1d\x15\x72\x8f\x24\x83\x32\x55\x49\xcb\x47\x96\xd2\x04\x17\x8c\x04\x64\x9e\x08\x4b\xb4\xef\x91\xc9\xa4\xb4\x27\xa7\x30\xc4\xa4\x59\x13\x13\xbd\xf7\x8f\xaf\x8a\x81\x04\xc7\x1d\x35\xa7\x1d\xa0\xfe\xd1\x5d\x26\xff\x51\x99\xfe\x47\x77\x6e\x02\x1e\x3c\xbe\xc3\x13\xf0\xe0\x71\x69\x02\x1e\x3c\xbe\x73\x13\xf0\xf8\x2e\xaf\x80\xc7\xe5\x15\xf0\xf8\xee\xad\x80\xe3\xa3\xbb\x3c\x03\xbc\xf7\x65\x21\x74\xf7\xe6\xe0\xc1\x9d\x5e\x05\x0f\x2a\xcb\xe0\xc1\x1d\x5c\x07\x8f\xef\xf4\x3a\x78\x5c\x59\x07\x8f\xef\xe0\x3a\x38\x3e\xba\xd3\x93\x20\xba\x5f\x92\x46\xfe\xd1\x1d\x9c\x87\xaf\xf9\xff\xee\xf0\x44\xc8\xfe\x17\x67\x02\x46\xd1\x70\xf3\xe0\x6e\xc3\x58\xc7\x4d\x1d\x44\x08\xa6\x13\xfc\xc1\xb3\xc4\x4b\x6f\xd5\x55\xa1\x4e\xae\x77\xde\x51\x71\xec\xbf\x2f\xa0\x83\x15\xac\x79\x5e\xe1\x31\x03\x9d\x6a\x9b\xfe\x0c\xaf\x94\x68\x74\x2c\x50\x17\x75\x46\x45\xef\x09\x28\xf7\x6b\x70\x5f\xc8\x71\x6d\x3a\x88\xd7\x9e\x07\xb2\xe1\xe1\x18\x7e\xf3\xda\xf1\xfc\x99\xe0\xb8\x65\x38\x95\xdc\x40\x87\x10\xf2\xa1\x04\x7e\xd3\x47\x8f\x3f\x79\x7b\x7e\x07\xde\x9e\xca\xd3\xe5\x69\xf7\x07\x07\x17\x36\x50\x54\xd6\xc5\x62\x11\xb9\xa8\x5b\x47\x62\xf9\xe5\xe5\x34\x7a\x30\x09\x8f\xec\x48\x2c\x53\xe5\xb9\x51\x88\x2c\x9d\x80\x58\x8a\x76\xeb\xfa\x5d\xb2\x16\x1b\xf7\x3f\xd1\x2a\x88\x08\xbc\xae\x97\xd9\xc5\xb7\xe9\x2a\x0e\x5e\xc6\x6f\x52\x32\x4d\xdd\x00\xb7\xdb\x4c\xdb\xc5\x35\x52\x44\x34\x51\xc3\xd0\x7d\x94\xc8\x2a\xbc\x07\x20\x5d\xc4\x31\x8e\xa7\x07\x07\x07\x6b\x8a\x6d\x87\xbe\x75\xc3\x5a\x59\xc5\x81\x41\xd3\xdc\xd7\xc4\x7b\xbd\xc4\x6c\x06\xf2\xbb\xad\x32\xba\x3e\x15\xb1\x69\x4a\xcf\x9f\x9f\xbe\xd9\xe5\xe9\xe4\xfd\xbb\x2b\x53\xa9\x68\x69\x99\x46\x79\x67\x8d\x29\x2c\x08\xd0\xda\x1a\xeb\x0f\x6c\xdb\x90\x7a\x83\x26\xb0\xb2\xeb\x94\xab\xc0\x1b\xaf\x5f\x24\x30\x40\xb5\xe5\x5f\x6b\xda\xb3\xba\xeb\xfe\xf5\xcf\x7f\xfd\xf3\x7f\xfe\xf7\x7f\xff\xeb\x9f\x01\x8c\x01\x0c\x43\x40\x45\xd3\x3e\x18\x13\x36\x03\x09\x4a\x29\x89\x61\x24\xbc\x90\x74\x06\x53\x14\x4a\x92\x11\x36\xb3\x41\xbc\x59\x2f\x6c\x83\x20\x3f\x60\x8a\xc7\x91\x75\x5b\x5d\x8b\x22\x14\x21\x11\xca\x4c\x01\x99\x28\xef\x32\x27\x85\xdc\xc1\x7c\x51\x2a\x3b\xc4\x14\x8e\x23\x59\x69\x10\x7d\x60\x28\xe5\xf4\x92\x8f\x46\xf8\x1a\x01\x29\xd2\x51\x4a\x0f\x13\x98\xb2\x78\xa7\xc8\x76\x2a\xe0\xf9\x87\x26\x9a\x04\xcc\x12\xa5\xc0\x21\x4d\x50\xc0\x04\xf5\x34\x74\xbb\x2f\xc9\x22\x9c\xf3\x34\x48\x11\xaa\x76\xe0\xf6\xe8\x11\xc3\x68\xc5\x70\x30\xfc\xd2\xe2\xbb\x3b\x80\xaa\x79\x18\x81\x14\x69\xad\xa5\xff\xd0\xd9\xe8\x01\x17\x7d\x56\xa4\xc2\x9e\xe3\xd7\x66\x97\x61\x07\x1f\x89\x22\x8b\x2a\x92\xa1\xbe\x1c\x99\x4d\x4d\xad\x1f\xbe\x51\x27\x47\xd4\xc6\x2f\x6d\x4d\x85\x9e\x37\x41\x42\x39\xa6\x43\xd8\xa1\xa6\x27\x38\x62\x0a\x27\x2e\x03\x3b\x95\xd7\x1a\x92\x1c\xbc\x6d\x46\x57\x74\x23\xea\x1c\x7e\x18\xa5\x88\x2e\x22\x46\x41\xb2\xaa\x27\xe8\x1d\x08\x6f\xf0\x76\x33\x92\xc1\xdb\xb5\xa0\x85\x86\x33\xe3\x2e\x86\x22\xdc\x0a\xfd\x9a\xa3\x0e\x6e\x91\x82\x7d\x62\x09\x6e\x83\x82\x2d\x61\x03\xb7\x48\xc1\x3e\x6e\xd0\xdb\xa0\x60\x8b\xdf\xff\x56\x57\xf1\x1d\x21\x61\xab\xe3\xfe\x56\x17\xf2\x1d\x21\x62\xab\xe7\xfd\x56\xd7\xf2\x1d\x21\x62\xab\xeb\xfc\x76\x97\xf3\x1d\xa1\xa2\x8b\xef\xfb\x16\x09\xd9\xd3\xa3\x7d\x1b\x94\x74\x70\x5e\xd7\x1d\x0a\x5d\x0f\x1b\x0c\x8e\xa3\x4a\xf1\x70\x71\x11\x88\xff\xf2\x63\x47\x42\x62\x8a\x6f\xf4\x85\x31\x49\x43\x94\x46\x88\x52\xa1\xe7\x8f\xb2\x16\x6a\x0e\x24\x6c\x86\x60\xd8\x7c\x18\x60\x0d\xae\xa0\xac\x15\xa7\xf3\xad\xd5\x1e\x3f\x83\xf4\x02\x45\x28\x60\x28\xab\x8b\xd0\xc5\x7b\xea\xd9\x7c\x50\x22\xf5\x60\xbc\x88\xae\x47\x0a\x4e\x26\x3b\xf3\x34\xbb\x51\xab\xa7\xad\x82\x77\x4a\xde\x82\xe9\x14\xf1\x83\xd6\xbf\x49\x94\x75\x41\x66\xf5\x99\xea\xd3\x63\x18\x5c\x87\x29\x11\xf5\xd0\x19\x64\x38\xf0\x5a\x3c\x5d\x0a\x5e\x89\x2a\x92\xd8\xca\x42\x74\xc0\xe8\xab\x59\xc9\x4d\x33\x17\x93\xd1\x12\x87\xac\x90\x28\x52\x6b\x39\xed\xde\x56\x83\xd1\xb1\x7b\x63\xb5\xa6\xb8\x1e\x4d\x35\x59\xb1\x7a\x34\x57\x6b\x14\xea\xde\x56\x3f\x7f\x65\xd3\x35\xfe\xe5\x6a\x9e\x92\xd7\x18\x51\xf2\xfe\xbd\x77\x8d\xc4\x1b\xd2\xe3\xee\x58\x44\xb2\x49\x7a\x18\x4f\x85\xb6\x0d\x45\xec\x14\x8b\x98\x4b\x33\x25\x83\x79\x97\xf4\xa6\x70\xc5\xe5\xbd\xfc\x31\x5a\x98\xf5\x87\xbc\xd2\x76\xa3\x5e\x93\xbc\x72\xa5\xab\x23\x98\xaf\xb4\xc6\x4a\x79\xb5\xe6\x9b\x70\x84\x63\xb1\xd9\x09\xd7\xa6\x82\x37\x54\x36\x98\xfa\x70\x11\x99\x88\xd6\x2b\x50\x44\x6f\x75\xe5\x8e\x14\x41\x08\x41\x40\x22\x92\x0a\x90\x4c\xa3\x27\xa2\xce\xf2\xcf\x63\xf2\xe1\x67\xb5\x45\xff\x3c\x8e\x60\xec\xe0\x8a\x6b\x70\xa3\xc9\xc1\x68\x79\xb5\xd1\x21\xe9\x12\xd5\xf5\x9b\xb3\x94\xdb\x72\x3f\xc9\x92\x7f\x0b\xd3\x9b\x91\xa0\xc7\xa0\x77\x6d\x08\x4d\xb3\x58\xd3\x4b\x27\x17\x5d\x5d\x84\x4a\xdb\x17\x5c\x57\x49\xa3\x44\x68\x6b\xca\x19\x9b\x35\x4f\xfe\x2e\x44\x08\x35\xa7\xc2\xdb\xbf\x89\x4a\xe5\x02\xff\xf5\xcf\x7f\xfd\xd3\xc0\xa4\x16\x90\x2d\xaa\xee\x96\x35\x97\xb4\x77\x5e\x5e\x8e\x98\xd9\x38\x5c\x59\xd7\xc5\x00\x36\xad\x8c\xda\x2e\xe1\xe5\x83\xdd\xa1\xc7\x2d\x9d\xb7\x39\x39\x7a\x55\x6f\xab\x47\x02\x2f\xe0\x3b\xc7\x84\x8d\xd4\x21\x42\x3c\x2d\x72\x3a\x0b\xe3\x91\x95\x2b\x65\x4c\x4b\x36\xb8\x86\x31\xfa\xc0\xb5\x30\x53\x6d\xdf\x9b\xe4\x89\x33\x0a\x6b\x1f\xca\xfe\x7b\xac\xd1\x55\xff\xa3\x5d\xae\xd5\x2d\xef\x75\x43\xcb\x5a\x6f\xe6\x1b\xbd\x45\xe1\x01\xb5\x59\xa3\xb6\xcd\x13\x85\x98\x91\x1e\x91\x96\x43\xcb\xe9\x17\xb2\x1f\xb5\x8b\x6e\x13\xdb\xcd\xad\x8d\xa1\xab\xd6\x60\x65\xb4\x6d\x72\xc9\x0d\x96\xa5\x52\x7b\x08\xb7\xa1\x89\x9c\x95\x76\xbc\xbb\x7c\xe2\x3a\x84\x3b\xc7\x26\x7d\x34\xf1\x41\xd4\xf0\x01\x14\x6f\x7d\xac\xb9\x65\xf6\x96\x27\xf1\x3b\xcd\xde\xae\x43\xe8\xa6\x75\xaf\xa3\x72\x6f\x73\x0d\xc0\xdc\xfe\x71\xeb\xbc\x94\x75\xe5\x6e\xf3\x53\x87\x61\x7c\x12\x99\xdb\x14\x99\xda\x80\x74\xdb\x7c\x2e\xfb\x71\xb7\x99\xdc\x75\x0c\x77\x5f\x6a\xd6\x12\x53\x9f\xdb\xcb\xee\x30\xe1\x19\x50\x25\x50\x4a\x14\xf2\x3d\x50\xa9\x65\x63\x5e\x50\x61\x6e\x57\xa5\x40\xae\x17\x61\x4b\x71\xe9\x16\xdb\x47\xbb\x0d\xc2\xbd\xb6\xc9\x9c\x84\xe8\x67\x97\xa2\x34\x65\xee\x15\xc2\xa4\x62\xd5\x5d\x43\xa0\x6c\xaa\x90\x4d\x79\x3e\x95\x93\xc7\x69\x46\x53\x14\xba\x4c\x68\xa7\xc2\x35\xdd\x27\xb5\xcf\xbc\xf6\xac\x59\xd3\xad\x70\x54\x7d\xf3\x6d\xad\xda\x30\x13\x2b\xad\x55\x59\xae\xe0\x60\xad\xf2\x4d\x8e\x67\x2f\x16\xed\x46\x70\xfa\xea\xb9\xb5\x27\x8a\x7d\x5b\x83\xcd\x60\x7c\x6d\x6f\x57\x30\xf8\xf8\xf1\xaf\x80\xbc\xc7\xe9\xf5\x4e\x26\x6d\xb5\x26\xeb\x96\x9e\x77\xcc\xda\x6d\xeb\x63\x33\xd6\x9e\x7a\x5b\x63\xde\xb7\xf9\xa0\xd6\x82\xe2\xf3\x6a\x41\xf8\x04\x57\x19\xf4\xc9\xda\xf9\xd6\xbc\xd6\x26\x40\x1b\x20\xf6\x32\x97\xbb\xf4\x28\x97\xc0\xe8\xf3\x2f\x57\xe2\xb0\x65\x74\x76\xe3\x5c\xb6\xa2\xdf\xb9\x6c\xb6\x9b\x24\x6c\xce\x48\x79\x7e\x15\x1c\x84\xac\xa5\x10\xf7\x12\x59\xb3\xef\x5a\xb1\x09\x2d\x54\x35\x38\x7e\xe7\x89\x5a\x76\x77\xbc\x70\x81\x20\x5c\x8b\x9c\xf2\x8b\xae\xb4\xd4\xbe\x96\x8e\x84\xf4\x5a\x12\x07\xf3\x1c\x8b\x3e\x11\x28\x76\xd0\x84\xb6\x99\x68\x7c\x3f\x20\xd1\x68\x1e\x8e\x9e\x38\x34\x32\x10\x63\xb8\x72\x48\x02\x29\x5d\x92\xd4\x0c\xee\x79\x63\x5c\x72\xc6\xe6\xe8\xcd\x30\x59\x07\xb8\x7a\x90\xfd\x69\xe3\x1b\xdb\x93\xdb\xab\xa5\xf1\xbd\xaa\x26\x01\x62\xb4\x04\x49\x27\x12\x75\x56\xc1\x7e\x37\xdc\xa5\x2a\x8f\xbd\xa9\x32\xd9\x99\xbc\x03\xb6\xcb\x6c\xe5\xfe\x74\xe1\x39\xf5\xae\xa8\xf5\xb5\x45\xbe\xd3\x84\xba\x15\xb6\xeb\x7d\x32\xa8\x69\xb8\xe1\xf2\x3a\x38\x16\x9e\x0b\x7c\xc5\xb0\x65\x46\x60\x1c\xa0\x86\x9d\xd4\xa9\x47\x3d\xca\x8b\xbc\x4b\x42\xc8\xd0\x40\xb5\x45\x6c\x97\xfb\x9c\xc0\x1e\xf9\xde\x02\x1f\x2e\xb0\x3e\xf8\xe4\xc9\x85\xea\x70\xac\x96\xce\x19\x4c\xe4\x98\x54\x2f\x2f\x65\x97\xe9\x8c\x2c\x3d\x51\x3f\x5e\x0e\x99\xaf\x56\x15\x3c\xa9\xd4\x04\x7d\x6a\xf6\x8c\x20\x4f\x0d\x06\x9d\x1d\xaa\x9f\xab\x53\x57\x23\x24\x74\x76\x4c\x57\xd1\x62\x35\x8a\x81\x9a\xbe\x2e\x25\x23\xcd\xf3\x91\xbc\xa4\xb5\x70\x4b\x70\xca\x91\xef\x3d\xeb\xb8\xb6\xea\xce\xba\x2d\xb1\xab\x9f\xce\xbc\xf2\x65\x83\xa1\xea\x02\x43\x07\x39\xa3\x76\x61\x99\x62\x68\x70\x5d\xa5\xd1\x4f\x32\x73\x4d\x99\xf9\xcd\x22\xba\x2e\xae\xfb\xb5\x0b\x37\x0e\x25\x39\x6b\x4b\x4d\x6c\xb2\xcc\x84\xdb\x52\xee\x53\x5d\x62\x9b\x6b\xfa\x38\xab\x06\x90\xa7\x1c\xd4\x48\xdb\x4d\xad\xf5\xf5\xe0\xf7\xeb\x1b\x29\x94\x4e\x98\xe1\xc4\x11\x33\xb0\x6f\xf4\x5f\x7d\x47\xba\x61\x05\x36\x1f\x50\x8e\x8f\x40\xb5\xb6\x63\x8e\xfe\x67\xd9\x21\x6b\xc0\xf9\xf2\x32\x7a\x6b\x82\x23\x36\xa3\x39\xa8\xde\x66\x5f\xab\x62\x3b\x78\x85\x01\x18\xd5\xfd\xaa\x7c\xd7\xcd\xa6\xde\x45\x83\x6f\xa5\xfb\xd6\x91\x0f\x9d\xc4\xf8\x40\x80\x87\xe2\x19\x07\x45\x6a\x33\x83\x18\x08\xe6\x90\x3f\xd2\x3e\x86\xb5\x39\xa5\xed\x13\x8d\xa8\x86\xcd\xbb\xf6\xef\x5a\x6b\x69\x00\x2c\xec\xad\x06\x6c\x00\x56\x30\xc2\x94\x75\x06\x15\xd4\x9b\xf9\x21\x0c\x43\x4e\x2e\xc5\xc1\x5b\x46\x15\x3c\xfb\xf1\xf9\x7f\xfd\x30\xbf\x7c\x67\x47\x15\x94\x89\x06\xbe\xa7\xbb\xd7\x02\x28\xa8\x0e\x45\xd9\x70\x76\x40\x87\xfa\xea\x68\x47\x75\xa8\x23\xdf\x7b\x19\x53\x94\x32\x70\x91\x11\x77\x28\x6d\xa9\x45\x61\x12\xd3\x14\xa3\x65\x36\x4d\x4b\xfc\x0b\x4c\xab\xc1\x1c\xd6\x27\x7a\xe8\x54\x9c\x6c\x10\xc7\x28\x05\x2a\x18\xa6\xb6\xaf\x0e\x4a\x91\x83\x3e\xd4\xa2\x0c\x59\x51\xbb\xba\xb4\xd2\xd3\x56\xeb\x00\x05\x65\xad\x73\x5c\xc4\x85\x2a\xa4\x5e\x1b\xf0\x50\xe6\x6c\x99\x25\xb0\x63\xb4\x54\x0c\xf6\x5a\xa9\x79\x66\x56\x5f\xf5\x89\x57\x98\x52\x1c\x0b\x5b\x8e\x97\x15\x07\x03\x85\x9a\x61\xe6\x8f\x51\x34\xfd\xe9\x27\x86\xf9\x80\x6e\x60\x24\xfa\xef\xf6\x56\x9e\x68\x28\x8b\x77\xab\xbe\x03\x9d\x70\x3e\x99\xdc\x6e\x5d\xe6\x5b\xe0\x4b\x70\xfb\xce\x04\x5b\xaa\x98\xc1\x58\x81\xb2\x22\x1a\x26\x4e\x71\x04\xd4\x32\x0c\x08\xb3\x62\x17\x77\xc2\x13\xdf\x5b\x54\x76\x88\x24\x45\x14\x31\x89\xb3\xdb\x7a\xf4\x52\x7d\x1b\x00\xb1\x3d\xaa\xc4\xf7\xe8\x03\x58\xad\x8a\x29\x45\xf8\x45\xb6\x7b\x5b\x12\x0d\x5b\xf3\xb5\x1a\xa9\x8f\x83\x02\xb9\x5d\x1a\x33\xe2\x95\xe6\xd3\x4a\x7b\xea\xd2\xb1\xef\xd1\x34\xd0\x41\x59\x87\x9a\x88\x87\x79\x78\x94\xda\xec\xe4\x8c\x5e\xf9\xde\x41\x22\xa4\x42\xfe\x32\x45\xac\xcb\xfb\xff\xeb\xc1\x87\xbc\x09\x87\x38\xb2\x8e\xeb\xdb\x8d\x9c\xd2\x2a\x5e\x49\x62\x54\x97\xbb\x83\xdf\xb7\x29\xf6\x6e\xc5\x69\x3b\x1d\x37\x37\xed\xcd\x1c\x50\x0e\x39\x89\x8e\xb7\x68\xb4\x90\x38\xa6\x67\xb9\x7a\xd5\x14\x6f\x30\x83\xf4\x1b\xae\x97\xae\x9b\x6c\x59\x95\x3b\x42\xdd\x75\x14\x3b\xe3\xb5\xba\xe0\x28\x77\xf8\x4a\x53\x8e\x1c\x95\xcb\x6f\x29\xeb\x20\x33\xf5\xab\x85\x1c\x3c\x5f\xa7\xf0\x33\x3c\x47\x23\x38\x25\x86\xb1\x21\x48\x11\x34\x33\xcd\xc5\xe3\x0b\x8a\xc2\xa7\x46\x6b\xfc\xb7\x72\xb7\xe6\x67\xb8\xae\x18\x8a\xbd\x24\x97\x2d\xfb\x19\x31\x88\xa3\xe6\x13\xbf\x14\xc7\xdf\xc8\x53\x8b\x1a\x45\x67\x61\xec\x24\x43\xa4\x65\x87\xa5\x8b\x38\x90\x4e\xc1\x92\x4d\xad\xb7\x44\x71\xa2\x04\x0d\xda\xbe\x8f\x3e\x04\x28\x4d\x58\xff\x1e\xf4\x10\xb9\xbd\x2d\x1c\x5d\x1a\xea\x9b\x00\xdc\x22\x9e\xd0\x3c\x61\xe6\x39\xea\x6f\x64\x01\x66\xf0\x06\x81\x98\x80\x14\x29\x01\xa5\xb6\x34\x51\x3d\x39\x59\x8c\x23\x4c\x67\x00\xc6\x2b\xa0\xcf\x94\x99\x12\x0b\x29\x80\x40\x1f\xb4\x05\x3e\xb3\x84\xad\x06\x4c\xb6\xe6\x60\x37\x6b\x20\xd4\xba\xaa\xac\xbb\x41\x69\x37\x6c\x4a\x9b\xf7\x80\xf5\x36\x26\x15\x66\x70\x6d\xb3\x92\xcd\x24\xd4\xdf\xae\x24\x77\x33\xa4\xf3\x92\xb7\x6c\x58\x5a\x3c\x79\xf5\xfc\xec\xe2\xf1\xb9\xd5\xb0\xe4\x58\x98\x22\x33\x1c\x74\xb0\x01\xd5\x1c\xc5\x7a\xda\x04\xea\x5f\x2b\x50\xb7\x91\xbf\xd5\xb9\x3f\x9b\xa2\x4c\x85\x90\x2f\x2b\x05\x59\x60\x03\x65\xc6\x29\xe1\x21\x09\x90\x08\x92\x9a\x0a\x08\x2d\xc4\xa0\xfe\xea\x2b\x12\x8a\x23\x72\xac\x78\xba\x18\xbf\xa1\xc2\x20\x32\x33\xd7\x95\x76\xd6\x89\x06\xb3\x9f\xa2\xdd\xec\x97\x68\xfe\xea\xca\x67\xe9\x02\x35\xf9\x73\xb3\x55\xa4\x64\x79\xfd\x93\x59\x87\xda\x0a\x80\xaf\xbd\xf6\x86\x5f\x7e\xe6\xdc\xf6\x5f\x7f\x6a\xb7\x18\x45\x38\xbe\x46\xb7\xb0\x02\xff\xf3\xd5\xc3\x87\x47\xdf\xd0\x53\xbb\x69\x57\xa8\x98\xbe\xed\x9f\xa6\xc5\x79\x2c\x6d\x54\x8a\xa1\xb9\xee\xe1\xe5\x47\x3d\x35\x52\x69\xf5\x1d\x79\x26\xa3\xf9\xca\xf3\x52\x8d\x01\xf8\x14\x24\x53\x30\x06\x9f\xe3\xda\xbc\xbe\xb6\x26\xfb\xfa\xcd\xeb\xa5\xac\xdb\xfb\x0e\xc6\xaf\x46\xe9\x9b\x55\x52\x79\xec\x6e\x43\xab\x9e\xdd\x18\x1c\xc7\xf0\x26\xb3\x36\x76\xae\x9e\x5f\x3c\x8b\x95\xb3\xd6\x18\x1c\x97\xf0\xd0\x1e\xc8\xab\xc7\x17\x39\x66\x97\x6f\x00\x78\x19\x90\x68\xb5\xa7\x95\x4b\x38\xd6\x08\x55\xc7\x66\x79\x98\x46\x7f\xc0\x30\xdd\x7e\x30\x4c\xb7\x1f\x98\x15\xe3\x18\x83\xc1\x6c\x5e\x39\xc0\x0f\xdc\xf3\x87\xc3\xf4\xfc\x61\x81\xe0\x30\x0d\x66\x1b\xed\xf5\xa3\x61\x7a\xfd\xc8\xe8\xf5\x6b\xc4\x96\x24\x75\x03\x2c\x1b\x10\x8f\xc8\x62\x90\xa1\x33\xa2\x3d\x08\x3d\x81\x47\x37\x63\x52\x07\xd6\x7d\xc9\x4d\xdc\x95\xbf\x60\x9a\x32\xb8\x8c\xe6\x27\x39\x7d\x1c\x5c\x62\x36\xc3\xb1\xac\x2b\x63\xee\x28\x6e\xdc\xa4\xd4\x43\x19\xc5\x1b\x61\xca\x46\x09\x0e\x84\xc2\x90\x05\xd7\x33\x34\xd7\xa0\x6d\xdf\x62\x14\x85\x5c\x3d\xc4\xb1\x01\x70\xe7\x91\x58\xfd\x99\x29\x80\x01\x8c\x43\x1c\x72\xe5\x44\x29\x91\x54\xb0\x9e\xb2\x26\x35\xeb\x79\x14\x31\xd9\x9c\x9b\x06\xd7\x9f\xd7\xdc\x22\x6f\xab\xdc\x96\xcb\x9a\x3f\x14\xc3\xc1\x18\xc0\x6c\xe4\x6b\xb2\x9d\x7d\x10\x4b\x1c\x4e\x95\xe7\x45\xb3\x61\x47\x0f\x52\x75\x67\x36\xb0\xa3\x9b\x4d\xaa\x05\x96\x85\xbd\xa7\xb8\x93\xc4\x96\x9d\xab\x60\x9d\x3e\x2a\xa2\x71\x76\x13\xd9\x85\xe5\xe3\xab\xe6\xfa\x98\x21\x1b\x6c\x90\x59\xce\x4a\xd9\x04\xd8\xc7\xc6\x68\xf3\x13\x29\xbf\x53\xd9\x51\x04\x29\x45\x8c\x1e\xe2\xf9\xf4\xd0\x98\xa1\x43\x45\xbf\xec\xec\x33\xc1\x11\x12\x49\xf1\x06\x3d\xc5\xe2\xf8\x60\xa2\x08\xf6\xf0\x04\x15\xe5\xa6\x6c\xb8\x62\x6b\xed\x6b\xe5\xf4\x4a\x51\x79\x8f\xd6\xc5\x64\xad\x21\x77\x45\x7f\xaf\x83\x11\x10\xc0\x1f\x1d\x45\x66\xc7\x11\x97\x5b\x7b\xb4\x73\x1e\xab\x61\xb6\x0c\xad\xe4\xfd\x3e\x77\x8b\xcd\x64\x14\xf6\xd0\x8f\x1d\x62\x5d\xea\x73\x05\x5b\x63\x5d\x4a\x14\x93\x35\xc9\xbc\x2c\x1b\xd1\x9a\x46\x78\x8d\x56\x4b\x92\x86\x52\xfd\x51\x3f\x40\xf6\x66\xb7\x38\x13\x23\x80\xb9\x47\x3a\xe1\x73\xed\x26\x90\x55\xd3\xd4\x60\x7c\x73\x4f\x77\x49\xb9\x6f\x90\x5c\x06\x20\x8c\xf2\x94\xbe\x82\x2c\x98\xa1\x7e\x5b\xe8\x6b\xc2\x15\x8c\x29\x98\x90\x45\x1c\x1e\xac\x17\x4a\xbd\x83\xea\xc6\x5c\x91\x26\xdf\xb6\x6e\x43\xd3\x78\x38\xac\xa6\xf1\x70\x87\x35\x8d\x1c\x94\xb8\xb2\x63\x3f\xf1\xbd\x71\x36\xf7\x5f\x17\x9e\xcd\xd5\x86\xc1\xf7\xf7\x87\x7f\xc0\xfd\xfd\x61\xa1\xfe\x73\xcd\x82\xd0\xe7\xc5\x6d\x2f\x86\x07\xc3\x2e\x86\x3e\xa1\x58\xdb\x5d\x0c\xd6\xe0\xa3\x9a\xc5\xf0\x60\xb3\x8b\x61\xed\x02\x04\x77\x70\x31\x3c\x70\x59\x0c\xb7\x7b\x12\x3d\x1e\x76\x49\xf4\x0c\x88\xf9\xfd\x9c\x44\x8f\x37\x75\x12\xb5\x46\xfd\x0c\xb5\x38\x8f\xff\x80\x8b\xb3\x67\xc8\xd0\x1a\x4f\x6d\xe7\x24\x9a\x19\xee\x7f\x9f\x47\x51\xf3\xb8\x79\x91\xa0\x00\x4f\x56\x20\x96\x43\x06\x61\x8a\x6f\xd0\xa1\x28\xe7\x7f\x38\x11\xa7\x3c\x10\x91\x00\x76\x76\x77\x6d\x27\x29\x63\xb8\x83\xaa\x1a\x7f\x36\xd6\xe6\x13\xab\x7a\xfa\x3c\xa3\xcc\x95\xef\xa1\x83\xe9\x01\x38\x2c\x90\x6e\x9b\xa7\xd7\x9d\x5c\x5e\x0e\x6d\x37\x5c\xbe\xbd\x54\xc8\x4a\x88\x5a\xad\xeb\x4f\x87\xdb\x6c\x10\xc8\xa1\x53\x7f\x64\x90\x82\x8c\x51\x28\x87\x2e\x74\x98\x81\xca\xb5\xea\xe6\xb7\xb1\xd0\xba\xe2\xca\xec\x1f\xdd\xa3\xff\xb8\xb5\x00\xbb\x6f\x1f\x8f\xe7\x5f\x3d\x4a\x02\xb7\x00\xbb\x7e\x41\x68\x99\xa0\x29\x46\xa1\x75\x8c\x3c\x53\xad\xb4\x84\x9e\x6d\x25\xea\x6c\x60\x66\x2a\x31\xc1\x00\xdc\x24\x29\xbc\xf5\x2c\xe0\x73\x3c\xbb\x1c\x9f\xdd\xd8\x43\xc5\x98\xd8\xaf\x64\x38\x56\x00\x59\x35\x40\xec\x51\x4d\x51\x5a\x83\x93\x22\x3c\x41\xc1\x2a\x88\x8c\x89\xe7\x1a\x26\x83\xbc\x09\xdf\x3b\xcf\x6e\xf3\xbf\x0d\x5c\xf9\x66\x1d\xa9\x2a\xc7\xc5\x9e\x9d\x51\x33\xfb\xea\x28\x21\x09\xb9\xc9\xeb\x93\x66\xa1\xf4\xd5\x27\x23\x51\x07\x96\xef\x80\x8b\x24\x41\x69\x00\x69\x33\xb4\xf4\x8b\x10\xb3\xf3\xc2\xe8\x4c\x88\x14\x1b\x09\xce\xa5\x7d\xbd\x2b\x58\xc5\xb0\x54\x7e\x9e\xc2\x89\x53\x45\xaf\x0d\x91\x39\xe4\xdf\xdf\x49\x3a\xe7\x9b\x50\x5d\x19\x3e\x59\xa5\x32\x1c\xd1\xf9\x28\x26\x31\x02\x73\x98\x4e\xb1\x28\x58\x39\x7a\x70\x54\x55\x99\x9a\x9a\xa2\xf3\x62\xe9\x4b\xd5\x54\x84\x26\xcc\xda\x56\xe5\x54\x51\xcb\x0b\x49\x4a\x98\x0e\xe1\xb0\x31\xc3\x9b\xec\xbe\xc2\x82\x7b\x4d\xe2\xa1\xd6\x5d\xfe\xed\x56\x8e\x30\x1e\x5d\xc4\x9c\x04\x28\xec\xca\x15\x6f\x8a\x23\xd5\xa0\xa1\x6f\x5e\xbc\x76\xd7\x28\x37\x41\xd0\xb7\xe8\x06\xa3\xe5\xad\x92\x34\x15\x5d\x18\x86\xa0\x6f\xde\x7e\x7f\xf9\xe2\xec\xf2\xc5\xf3\xdb\xa5\xea\xb9\xa8\x7d\x79\x8b\x34\x1d\x92\x49\xcf\xbf\x3f\xfb\xcf\x2e\x04\xbd\x23\xb2\xa9\x94\xa0\x2d\xed\x56\x67\x90\xa1\x29\x49\x71\xbb\x67\xa1\xd4\xa9\x4a\x09\x09\x3d\x29\x81\x6c\xb1\x5c\x19\x5f\x82\x52\x8b\x7a\xdb\xa7\x59\xbd\xe2\x60\x91\x52\x92\x8e\x12\x82\x55\x4c\x70\x6e\xf8\xeb\x9d\xda\x78\x6c\x14\xa1\x50\xa3\x5b\xb5\x32\x42\xfe\x60\x4d\xd0\xb9\xe1\xfa\x32\x1e\xad\x1c\xf1\x3b\x38\x7a\x06\xe7\x9a\x9a\x99\x66\x70\xfa\xcb\x50\x73\xcb\xe0\x74\x17\xa6\xf5\x12\x4e\x87\x99\xd1\x42\xc2\xc4\xbf\x99\xc6\x78\x35\x4b\x9d\x27\xf8\xd8\x2f\x67\x97\x37\x4d\x71\xe1\x80\x61\x4b\x9e\x38\x2e\x19\xce\x05\x9c\x5e\x6e\x59\xcf\xcd\x62\xa6\xf0\x46\xe9\x1c\x53\xaa\xfd\xed\x75\x07\xc0\xc2\x63\xd6\x53\x59\x2b\x3e\x63\x6e\xa0\xce\x18\xf3\x4b\xab\x38\xdb\xcc\xf9\x8e\xb7\x30\xc0\xe9\x4e\x1e\xa3\xb7\x7d\xba\x7b\x37\x8d\x8f\x7e\x79\xf0\xe4\xcb\xce\xa9\x78\x59\xb6\xcf\x97\xea\xd4\x6e\x4f\xea\xd1\x98\x10\x62\x3d\x65\x2f\xb4\x3d\x28\xad\x4e\xd5\x47\x8b\xb8\x11\x15\x5f\x95\xc5\xa8\xce\x0f\xdf\x22\x27\xae\x59\xf4\xb4\xe6\xf5\x2c\x57\x14\x2f\x57\xd5\xd4\xa2\xca\x42\xae\x37\x02\x59\xd6\xc8\x66\x6c\x28\xfc\x83\x6f\x0a\x76\x14\x41\x05\x57\x5b\x8a\xaa\x81\xd5\x6a\x4f\xb9\x80\x37\x48\x7e\xa6\x39\x0a\xdc\xb2\x82\x5d\x13\xb7\xab\x72\x32\x23\xaf\x60\xb9\x19\x82\x21\x8e\x0d\x64\xeb\x22\x1d\x65\xa8\x82\xcc\xe8\xa2\x26\xb9\x15\x40\x83\xc8\x0c\x52\x19\x93\x09\x8a\x65\x53\x75\x32\x4c\x4b\x74\xde\x1e\x9a\xa4\x88\xce\xe4\x4c\x91\x64\xf5\x46\x7e\x95\xc4\xaf\x88\x22\x49\x8e\x69\x9d\xfd\xd4\xe4\x3a\xa5\x0a\x83\xc0\x23\x31\xff\x7d\x8e\x6e\x50\x74\x36\x83\xb1\x7a\x8e\x5f\xbb\x40\xff\x58\xa0\x38\x40\xea\xf2\x55\x61\x19\x58\xac\x63\xfa\x1e\xcd\x7f\xca\x31\xd7\xf2\x48\x06\x51\xe1\x67\x79\x28\x6a\x99\x64\x72\x59\xd2\x23\xbb\xd0\x26\xba\x9b\x58\xc5\x89\xa5\x54\xbf\x15\x6d\xf3\xcd\xaf\x89\x61\x35\xf1\x1d\x9e\xcd\xe6\xc6\xe1\x59\x63\xea\x3a\x2c\x04\x3d\xb3\x6e\x03\xad\xce\x7e\xfb\x90\xcd\x37\xcb\x3c\x72\xd5\xb0\x0c\x87\x13\x6f\x2a\xf3\xfc\x70\x0c\x29\x1a\xa5\x28\x0e\x51\x6a\xa6\xa3\x48\x06\x2d\xb1\xeb\x5a\x82\x61\x3b\x96\xff\xc2\x2e\x3c\xc0\x66\xce\x48\xb0\xfd\xbd\x1c\xfe\xe5\xbf\xce\x5e\xbf\x8e\x9f\x37\x27\xf5\x0a\x63\xad\x0b\x58\x23\xc5\x21\x1a\xc3\xca\xb1\x57\x5d\x1e\x2d\x67\x98\xa1\x2c\xb9\x64\x64\x3c\x5d\x86\xf0\xab\x67\x3b\xdd\x96\xd0\x27\xe9\x12\xb3\x60\x86\x52\x10\x8e\x26\x11\xfa\x00\x60\x84\xa7\xf1\x48\x24\x38\xa9\x6c\x4d\xf0\xf7\x05\x65\x78\xb2\xd2\xf9\xb5\x0d\x49\x9c\x9e\x73\x10\x43\x51\xa3\x1f\x47\x08\x90\x89\xf6\x79\x53\x6f\x00\x74\x9b\x14\x91\x54\xe5\xf3\x36\x38\xb6\xea\x48\xa5\xad\x12\x82\xa5\xea\x14\x77\x75\xcf\x3d\x4d\xb9\x92\x62\x6c\x55\x9e\x02\xa8\x24\xb7\x63\x34\x42\x4d\xef\x19\x09\x2e\x09\x89\x34\x2f\x55\x12\x23\x49\xa0\xbd\xdc\xd4\x72\xac\x13\x5f\xf4\xb4\x38\xe4\x13\xa4\x75\x1b\x7e\xc0\x4b\x33\xd5\xb9\x1c\xae\x63\xf5\x24\xd7\xf7\x70\xb4\x48\x46\x86\x67\xb4\xdc\xc9\x62\x31\x51\x84\xe2\x6a\xf1\xc9\x86\xbe\x2f\x92\xe7\x58\xc0\xc4\xc8\x30\xad\x30\xfb\xd1\x1e\xa6\xc5\xc7\xf6\x2e\xb1\x1e\x1f\x2d\x03\x73\x0f\xda\x81\x69\x4a\x96\x3f\x2f\x92\x25\x6c\xa9\x5b\xd3\x7a\x73\x98\x02\xa1\x0d\x33\x13\x92\x65\xbc\xb9\xb9\xe1\xad\xaf\x35\x3b\xcf\xc9\x32\xde\xd4\xfc\xf0\xce\xdd\x81\x19\x22\x0b\x16\xf2\x85\xb8\xb1\x49\x52\x1f\x58\x6b\x9e\xbe\x97\x6d\x6c\x6a\xaa\xc6\xb0\x1c\x04\xb7\x73\xd3\xc4\xf7\xfe\x4d\xce\x92\x6c\x7f\xad\x49\x7a\x19\x6f\x72\x8e\x26\x24\x5d\x63\x35\x75\x34\xc5\x37\x45\xb8\x58\xb3\x53\x84\x6a\xe6\x08\x31\x98\x47\xe1\xbf\x17\x69\x4c\xfc\x19\x55\x27\xd9\x6d\x93\xae\x07\x16\x6c\xdb\x3c\x61\xd5\xfe\x23\x7b\x9e\x83\x03\x5a\x2d\x3b\x05\x46\x8b\x64\xda\xb2\xe4\xc9\x0f\x42\xcb\x03\x95\xf7\x19\x09\x24\x3f\x9c\x51\x9a\xa3\x19\x3e\xb1\x38\x8e\xaa\x9f\xf5\x8b\xac\x29\x78\xab\x00\x69\x68\x8d\x95\x2e\x80\x2a\x16\xfb\xa2\xc3\x77\xd5\x14\xd7\x5a\x7d\xbf\x23\x8c\xc8\x43\xbf\x9d\x1a\x4e\x8c\x6d\xab\x81\x11\x2f\xb8\xf2\x2f\xce\xe4\x65\x44\x3f\xf5\x05\xe3\x09\xbb\x63\xbb\xe4\x75\x13\xa1\x49\x06\xa0\x63\xfa\x27\x48\xe5\x71\xf2\x4d\xf9\xf4\xaf\xee\xbe\x46\x4b\x3e\xb6\xfc\xb6\x8b\xab\xad\xd3\x28\x03\x12\x91\x74\x94\xa2\xb0\xac\x9b\xab\x6f\x02\x98\x24\x29\xb9\xc9\xf1\x80\xd6\x51\xcd\xdf\xff\x7f\x57\xb2\x5e\x48\x0f\x97\xa5\x22\x5e\xd9\x10\x92\x6b\xe5\xa7\xa2\xa3\xa8\x6c\x92\xb1\x3d\xd0\x4c\xc5\x72\xb0\x77\x20\xa6\xe8\x74\x09\x31\xc3\xf1\xb4\xe4\x49\xee\x12\xf8\xdd\x3a\x0d\x62\x0b\x28\x4f\x84\xfe\xf0\xed\xcd\x44\xc7\xd8\x72\xcf\xb6\x56\xdc\xc2\xf1\xfb\x6f\x06\x55\x0f\x8c\x43\x74\xe3\xd6\xcc\x1c\x8c\x04\xfd\xad\x1c\x45\xd3\xeb\xb6\xad\x1c\x8c\xfd\xe9\xab\x6f\x8e\xde\xbc\xb0\x5b\x39\x52\x44\x17\x91\x19\x94\x56\xba\xe0\x88\x2e\x98\x92\x25\x88\xc9\x68\xba\x60\x7c\x3a\x0b\xa6\x08\x1b\x74\x6d\xbd\xf6\x26\x4b\x2c\x75\x3b\x9c\xe7\x36\x15\x96\x2e\x02\xb6\x48\xeb\xd2\x66\xea\x9b\xc8\xa6\xc8\x21\x52\xd9\xb6\xfc\xc5\xfb\x72\x3b\xf1\x4a\xd1\x54\x6e\x7b\x4d\x97\xef\x54\x80\xb7\x1f\x34\x2c\xd3\x61\xc2\x88\x5b\xe7\xec\x81\x55\x05\x33\x72\xa8\x6f\x25\x68\x65\x30\xce\x69\x67\x1e\x56\xb4\xd8\x94\x7c\x7d\xea\x6e\xbd\xcf\xaf\x07\x56\xdc\x24\x22\xd0\xa1\x20\x56\x1f\xc3\x54\xdd\xd7\xab\x03\x13\xe5\x88\xd5\x99\xa7\xde\xa1\x59\x77\x3c\x4b\xe1\x4a\xc9\x8a\x39\x0e\xc3\x08\x81\x50\x86\x4c\x84\xa3\x79\x58\x88\x97\xf1\xda\xe2\x06\x5a\x4f\x40\x3d\xcf\x41\x73\x12\xa2\x9f\x91\x74\xc7\x74\xcb\xc9\x70\x53\x8c\x34\xb4\x00\x8a\x17\x6f\x8a\x9e\xfd\xa1\x8a\xdf\x75\x3d\x0f\x3b\x4e\xfc\x1c\xc5\x8b\xe1\x26\xde\xae\x12\x85\x29\x49\x42\x61\x2d\x92\x77\x61\x8a\xe1\x68\x06\x69\x42\x92\x45\xc2\x85\x5d\xba\x40\x85\x7b\xe8\x43\x02\xe3\x10\x89\x2a\xd8\x5c\xfe\x35\x1e\xcf\xd6\x61\x8a\x14\xfd\x7c\x53\x9f\xa7\xe1\x6c\xc5\x68\x95\x4f\x8a\x00\x82\xda\xa0\xf0\x2b\x5f\xf8\x7c\x72\xc4\xe8\x05\xd6\x48\x84\xc2\xf1\xaa\xfb\x4c\x6d\x44\x7a\x58\x8e\xc1\xb6\xc1\x65\x08\xfd\x47\xbe\x37\x4b\xd1\xc4\xf3\xbd\x7f\x2b\x72\x5d\x21\xe0\x47\x95\xdb\x9f\xa2\xc6\x41\x15\xd1\x51\x9d\x65\xc7\x8b\xca\x52\x77\x5f\xc7\xf6\x63\xcd\x19\x49\x56\xbb\x42\xba\x80\x24\xab\xae\xa4\xab\x2e\xcb\x1c\x5e\x36\x8b\x3f\x81\xe9\x54\x56\x30\x29\x86\x66\xe5\xdf\xeb\x84\x63\x2b\xda\x1c\xc3\xe0\x9a\x8f\xd3\x93\x1a\x28\x36\x3d\x36\x92\xa6\xfd\x66\x29\x80\xc2\xb5\xbd\x2b\x53\x32\x27\x37\x68\x9b\x53\x92\x7f\x6f\xd8\x29\x91\x34\x1d\x72\xe1\x5c\xaa\x63\xcc\xae\xcc\x94\xaa\x52\xb0\xcd\xc9\x2a\x7c\x72\xd8\xf9\x7a\x23\x9b\x5e\x63\x15\xe9\xca\xd2\x1b\x9c\x1d\x19\x18\x9e\x17\x59\x75\x9c\x29\x55\x40\x7e\x8b\x13\x65\x7e\x71\xd8\x79\xb2\xd5\xef\x76\xb6\xb9\xc1\x38\xb4\xec\xe2\x7e\x8b\xa3\xb8\x9f\x8d\xd2\x59\x97\x09\xf1\x0d\x36\xce\xd9\x6d\xc0\x5b\xb5\xce\x92\x35\x2b\x94\x0d\x26\x17\x2a\x9e\xa2\x35\x14\x12\xbb\x4b\x47\x5f\xe9\xc0\x03\x35\x44\xac\xfa\x05\x77\x89\x8a\x45\xb7\xe8\x9a\x64\xb4\xb8\x2f\xb3\x4b\xeb\x13\xb2\x10\xa1\xb0\x4b\x34\xcc\xc2\x32\xd6\x24\x5f\x31\x86\x82\xef\xee\x40\xc2\x41\xac\x4b\xb9\x52\xfc\xc0\x2e\xd1\xce\x08\x9c\x58\x93\x7a\xe5\x18\x07\x41\x3f\x7d\x94\xdd\x80\xc9\xbe\x9f\xb7\xd5\xe1\x90\x5a\x73\xa7\xeb\xc7\xca\xcf\xb7\xe2\xa0\xf7\x3f\x4b\xd5\x59\x2e\x6a\x0e\x42\xb7\x52\x60\xc3\x01\x36\xa3\x73\x8d\x0d\x87\x36\x9b\xcb\x6c\x38\x34\x50\xb1\x90\xf3\x09\x69\x29\xba\xec\xd0\x6c\x73\xb5\x8d\x81\xa0\x6a\x3c\x3b\x20\xeb\x73\x44\x19\x8e\x05\x38\x0c\x78\xee\x88\xfc\xed\x5d\x39\x55\x20\x6e\x2a\x3e\x9c\x57\x1b\xce\x0c\xe2\x12\x1a\xf6\x5b\x1c\x31\x19\x78\x5e\xc0\xb3\x01\xf3\xf1\xe8\x11\x57\xd6\xc0\xf7\x6f\xc1\xd8\x07\x1f\xc0\xe9\xeb\xe7\x60\xe5\x83\x9f\x7e\xf2\x92\x59\x0a\x29\x02\x73\xc8\xfe\xbf\x9f\x7e\xf2\xda\x41\x6c\x1a\x87\xd7\x30\x57\xab\xd1\xe3\x3c\x7e\x55\xac\xa0\xb9\x3a\xf4\x35\x59\x8f\x44\x35\xb8\x5e\x88\xc1\x76\x1c\xa4\xd7\x04\x08\x3c\x39\x1c\x4f\xb3\xde\x50\x85\xab\xba\x8e\x0c\x6c\x8a\x34\xc9\xbe\xe3\x18\x6d\x92\xcd\xe6\x5b\xe1\x4d\xeb\x17\x78\x62\x63\x5e\x3b\xdc\x5d\x56\x33\x6f\x50\x40\x54\x5d\x07\xc1\x1c\x49\x06\x8c\x9a\x7d\xf3\xa5\x4b\x94\x86\x03\x77\x59\xaa\xc9\x3e\x2c\x65\x51\x74\x2a\xbe\x58\xff\x25\x55\xbc\xab\xfc\xa5\xac\xa6\xd7\x50\x9f\x89\x71\x92\x20\x56\xfd\x50\x63\x39\x49\x6f\x33\xb0\xaa\x9d\x4d\xdc\xc3\x61\xd4\xb5\x35\xf2\xd0\x6f\x83\x49\x6f\x95\x57\x9d\x54\x97\x01\x20\xab\xd6\x46\xad\x1a\xbc\xe8\x62\x87\x4e\x99\x80\x55\xc7\x7c\x95\x07\x11\x96\x25\x5e\xdd\xd3\x86\x0c\x95\xa8\xb6\xbb\x15\x13\x6d\x67\xb5\xb2\xe6\x5a\x47\xae\x74\x56\x2e\x5d\xac\xc2\x4e\xca\x65\x4f\x13\xeb\x27\xe5\xb2\xa4\x5c\x8a\x43\xd3\x27\xe5\xf2\x93\x72\xf9\x49\xb9\xdc\x45\xe5\x72\x2d\x34\xe5\x7a\xe5\xf2\x78\x3b\xca\xe5\xf1\xd6\x94\xcb\xe3\x6d\x29\x97\xad\xb5\xca\xcb\xca\xe5\x40\x48\xc8\x3b\xac\x5c\xda\xa3\x4a\x3f\x29\x97\x3b\xa4\x5c\x56\xf2\xcc\x1d\x94\xcb\xaa\xb3\x79\xd7\x95\x4b\x37\x67\xa9\x93\x7a\xd9\xdb\xd7\xf8\x49\xc1\x2c\x29\x98\x72\x52\xb6\xa7\x62\x9a\x9a\xc6\x69\x8a\xc0\x8a\x2c\x00\x5d\xa8\x3f\x96\x30\x66\x80\x11\x20\xa7\x57\x96\x22\x54\xe8\x01\xcf\x7a\x2a\x55\x9d\xf5\xd7\xba\x36\x32\x81\xed\x00\x8c\xae\x74\x57\xbb\xd6\x9a\x85\x0c\xf3\x06\x45\x9c\x1e\x16\x89\x2b\xf2\xc2\x98\x7c\x28\x7c\x51\xab\xbe\x4a\xef\x11\x84\x39\x9b\xe1\x28\x4c\x51\x9c\x21\x68\xd8\x17\x86\x7c\xbf\x61\x61\x74\xa8\xc1\x69\x2a\xf6\x76\xd2\x8c\xf2\xfb\xc7\xe2\x7a\xe3\xa2\x6d\xed\x9b\x5e\xb4\xed\x5a\xcf\x69\x44\x33\x8e\x09\x38\x65\x34\xcb\xd0\xbe\xf1\x88\x9f\xf6\xc3\x21\xf7\x43\x23\x74\xc5\x71\x3b\xb4\x40\xa9\x38\x6c\x88\xb6\x28\x91\x5d\xdf\x12\x5d\xe3\xbb\x9c\x36\xc5\xfe\x91\x52\x9f\x76\xc5\xd2\xae\xa8\x22\xc3\xc0\x5b\xb4\x10\x5e\x7a\x70\xa6\x6a\x33\x6b\xb4\x9e\xbb\x64\x88\x31\xe4\xf1\x97\x1a\xc6\x49\x26\xd0\xb4\xc6\x42\xbf\x76\xa8\x1f\x58\xbf\xe1\xd9\x0a\x5e\x14\x0b\x5d\x48\x0b\xce\x95\x0a\xd5\xca\x59\xb9\xb5\x8f\x3a\x23\x57\x9a\x78\x4a\x96\x1c\xb2\xa0\x88\xa5\x30\xf1\x7c\xef\x85\xc0\x80\x11\x65\x10\x4d\x14\xab\x4b\x95\x22\xe4\xb2\x03\x7a\x3d\x6b\x5c\x1c\x89\xbc\x9d\x1b\x1c\x22\x00\x01\x9d\x91\x94\x01\x31\x20\x30\x21\x29\x60\x33\x04\x52\xcd\x5c\xba\xf0\xf7\xb8\x99\xb9\xfa\x5b\x96\x06\xe6\x9d\x10\xd1\xa0\x95\x75\x9e\x23\x1a\xa4\x38\x71\xa9\xc5\x62\x70\x10\x27\x23\x4c\x11\x2c\x31\x51\x4a\x96\xb4\x27\x13\xd5\x77\x56\xf3\xd0\xc3\x76\x06\x0a\x8d\xc1\x98\x7c\xf4\x22\x33\x35\x6c\x98\x93\x2e\x04\xff\x18\xdd\xe0\x6a\xf2\x0c\x45\x09\x20\x6c\x86\x52\x0a\x16\x71\x88\x52\xca\x60\x1c\x0e\xcf\x5b\x9f\x14\x9b\xa1\x0e\xfa\x75\xb0\x6f\x0e\xea\x8d\x35\x58\x79\xdb\xfa\xcd\xa0\x99\xc5\x66\x4e\x70\xff\xcc\x62\x8a\x18\xc3\xf1\x94\x8e\xa6\x28\x46\x29\x8c\xb6\x9f\x5d\xfc\xe3\xdf\x1e\x8f\x67\xf4\xcd\xa3\xce\x78\xa8\x85\xfc\x51\x89\x4e\xf6\x8b\x00\xcd\x77\x4e\x15\x46\x1f\x92\x48\x94\xd4\xaa\xaa\x30\xdf\x49\x72\x80\xef\xf3\xfa\xb5\xb6\x5c\xd6\xa4\xbe\x49\x21\x8d\xf2\x9f\x46\xe2\x9c\x28\xe2\xac\xeb\x0e\x2b\x73\x2b\xe0\xa2\x27\xab\x95\x00\x28\x53\xb0\x7e\x35\x70\x65\x5c\xde\x95\x3f\x2d\x20\xdd\x9a\x74\xc1\x35\x76\x38\xdb\x21\x56\x6c\x6c\x79\x02\xac\x2e\x96\xdc\xae\xfb\x78\x2d\xfe\x29\x53\xf1\x69\x72\x52\x59\x2a\x7d\x15\x7b\xe3\x97\x7d\x58\xb2\x53\x57\x15\x38\x9d\x19\xa4\xfc\xd6\x8b\x34\x25\x36\xdf\x96\xde\xd0\x00\xe6\x7d\xbd\x81\x91\xe8\x61\xcd\xa6\x97\x6d\x8c\x97\x0a\xbd\xa1\xa9\x2c\x98\x6d\x8a\x37\x3e\x53\x99\x85\x3f\xcf\x59\xcb\xaf\x34\xcf\x57\xb3\x82\xd1\x77\xb2\x74\x87\x7c\xef\x91\x31\x59\xb9\x76\xd0\xa4\x60\x64\xaf\xb6\x54\x5f\x5b\x43\x7b\x90\x32\x00\x46\x05\x05\x42\xad\x6c\x1c\x4f\x81\x71\x80\x6a\xdb\x2a\xe2\xee\x1b\x64\xa9\xb4\x01\x98\x90\x98\x8d\x96\x08\x4f\x67\x6c\x34\x26\x51\x08\xe6\x6c\xf4\xb8\xb4\x69\xd3\xc5\x78\x2e\xb3\x10\xeb\x9d\x67\xf0\x06\x99\xf1\xc5\xf2\x77\xcb\xc6\x66\x43\x0f\x1d\x6e\x47\x2b\xef\x45\x03\xec\x6a\xb7\x53\xc0\xe9\xfb\x1f\x8f\xe7\xcf\xbf\x0a\x8f\x6b\x0a\x38\x09\x10\xfb\x5b\xda\xd7\xf2\xb2\x0f\xe0\x1e\xb8\x84\xd3\xc1\x77\x36\xfd\x81\x5f\x84\x4d\x3a\x35\xea\xea\x53\x8a\xa7\x31\x60\x70\x4a\xb9\xf6\x4d\x17\x49\x12\x61\x5b\x38\x83\xd1\x89\xd9\xb1\xb9\x67\xaa\xf2\x95\x8b\x84\xbf\xaf\x85\x12\x17\x16\x30\x49\x5e\x49\xfc\xe9\x39\xfc\x20\x07\x55\x90\x03\xe2\xa3\xce\x03\x6d\x91\x06\xe7\x64\x29\x57\xa2\x0f\x82\x19\x4c\x61\xc0\x95\x3c\x1f\x48\x74\x0e\xea\x83\xd9\x2a\x99\xa1\x98\x02\x12\x47\xd5\xf0\xa5\xd2\xf6\xdd\xec\xa6\x77\x29\xe0\xd0\xb6\x5f\x88\xad\x55\x6e\x18\x60\x3e\x1e\x3d\xec\x63\xe5\x31\xda\x18\x25\x29\x4a\x50\x1c\xba\x9c\x49\x6c\xe8\x23\x66\x53\xb2\xe8\x6f\xd6\xce\xbf\xf5\x3d\x41\x35\xba\x0b\xc4\xf6\xd4\x72\xf0\xcd\xb4\x84\xc2\xf9\x17\x86\xe1\x88\xc1\xe9\x68\x82\x51\x14\x1a\x48\x6b\x1a\xa3\x25\x3f\x01\xd7\x28\x0b\xfc\x65\x5d\x58\xf4\x12\x4e\x33\x33\x8a\x6c\x46\x7d\xbd\xe9\xe4\xdb\x76\xac\xa8\x94\xe4\x6d\x58\x49\xb6\x33\xa6\xda\x37\xca\x58\x0e\x75\xeb\xef\x54\x2e\xe0\xc0\x28\x1c\x33\xcc\x8a\x32\x64\x12\x8c\x22\xb2\x14\xce\x2c\x99\xe3\x07\x20\x10\x81\x0f\x00\xc7\x8c\x80\x88\x4c\x71\x00\x23\x10\xcc\x16\xf1\x75\xe5\xf3\x71\x91\x1f\x16\xf8\x70\x81\x45\x40\xcc\x28\xc1\xc1\xb5\x89\x99\x2d\x60\x85\x3c\xdf\xe3\x33\xf2\x2d\x9f\x5e\x01\x8c\x1c\x4f\x23\x24\x43\x4a\xbc\xab\x3c\xe5\xd1\xa8\x92\xe3\xe7\x25\x60\xd4\x94\x59\x6b\x67\x58\x12\x97\x3a\xd7\xdc\x69\x20\x66\x29\xa1\x55\xd1\xf0\x52\x38\xfb\x04\xa9\x66\x90\x82\x98\x18\xf3\x04\xe4\x06\x17\x82\x15\x62\x5d\x63\x90\xe2\xbb\xa2\xad\x6c\x4d\x39\x59\xaf\xf8\x48\xa5\x8e\xcb\xb6\x75\x93\xbf\x7e\xfb\xfc\xe1\xf4\x1c\x43\xbb\x6e\x02\xbb\xc2\x76\x95\xc6\x03\xc2\x51\x92\x62\x7e\xfe\xaa\x68\x2c\xde\x1a\xa8\x20\xf5\x42\x6c\x91\x44\x04\x86\xd9\xb1\x77\x34\xc1\x11\xa2\xcd\x47\xa3\x32\x4e\x6b\x6d\x13\x56\x36\xd7\x26\xb4\x36\x46\x37\xfa\x70\x1f\x9c\xe6\x25\xf1\xdb\x4f\x09\xee\xc5\x3a\x5a\x6c\x88\x79\x71\x9e\xc7\x75\xc5\x79\xaa\xd0\xff\x15\x60\xa1\x42\xdf\x5d\x67\xaa\x1a\xa3\xe8\x16\x99\xa8\x68\x7f\xab\x20\xab\x32\xd5\xd3\x28\x85\x93\xab\x97\x28\x0e\x45\x6d\x2b\x41\xbb\x43\xe1\x31\x0c\x0e\x73\xee\xa7\x87\x5e\x45\x23\x25\xe9\xf4\xa5\x0c\x6e\x3c\xcc\x37\x7f\x07\xd4\x2e\x63\x33\x93\xef\x70\xd2\xc4\xca\x7e\xd1\x21\x7e\x76\x9d\x65\xe7\xa6\x1e\x86\x99\xe7\xd8\x21\xb6\xa3\x1d\x61\x4a\x6e\x6d\x16\x14\xe4\x32\xda\x53\xfd\x66\x31\x23\xcb\xe7\xd2\x51\x5a\xa4\xb8\x8d\x96\x1b\x42\xfd\x0a\x5b\xdc\xe9\x6e\x3e\xa9\xee\xbe\x73\xf7\x17\x5d\xe0\x32\x9b\x3e\x67\x4b\xbf\x95\x3a\x97\x72\x52\xe7\xaa\xb8\x32\x84\x05\x24\x9e\xe0\x74\x7e\x06\x95\x27\x48\x4d\xbb\x02\xe5\xa3\x33\xb2\x2c\x95\x5f\xd2\xe1\x55\xa7\xc6\x7e\xa9\x03\x15\x84\x48\xd6\x7a\x90\xc6\xa3\xc8\x27\xbe\xb9\x3a\x4e\x16\xec\xa0\x02\x79\x9a\xe3\x06\xba\x04\x5d\x99\xc7\x52\x79\xa9\xd0\x79\xcb\x02\x7e\xe6\x4a\xf2\x41\xd5\x99\xd2\xbe\xbd\xa6\x42\xa3\x2d\x60\xdb\xd7\x66\xd0\xdf\xd2\xc7\x3f\xce\xed\xce\x83\x96\x02\x2c\x95\x9d\xee\x4d\x86\xf0\x5d\x2f\x16\xd7\x85\x06\x5f\x43\x14\xd7\x8b\x4f\xca\x60\xca\x46\x34\x0f\x42\x6c\x14\x8d\x2a\x58\xf1\x47\xfc\x0b\x4c\xc3\x12\x66\x76\x93\x3c\x6c\xfb\x7e\xc5\xe7\xd6\xc5\xc7\x1e\x14\xea\x20\xde\x07\x17\x2f\xce\x2e\x5f\x7e\xff\xba\xb3\x4d\x60\x1d\x55\xca\x55\x9b\xaa\x2d\x75\x58\x53\x48\xa9\x64\xa8\xa8\x2b\x44\xa8\xc5\xa5\x06\xad\xd6\xb5\xd4\xb2\x1a\x6a\x8c\xa8\x6a\x68\x59\x31\xb5\x62\xf1\xb5\x42\x19\x35\x5d\x5b\xad\x18\x39\x65\xd6\x51\xcb\xaa\xc9\x6d\xbd\xa8\x5a\xa9\x52\x5a\xa9\x8e\x5a\xb9\x70\x9a\x1a\xb6\xb5\x90\x5a\x81\x75\xb3\xdf\xc5\x32\x6d\xc5\x32\x6a\xea\x8d\x32\xda\xba\x63\x65\xb5\x1e\x15\xd3\xca\x45\xfb\x3e\x55\x57\x5b\xb7\xba\x9a\x73\xf1\xd5\xe1\x8f\x9b\xeb\x48\xda\x1a\xc9\xba\xae\x58\x1d\x4a\xa6\xf6\x3c\x98\xb6\x10\x9d\xab\x64\xe7\xf8\xba\x8b\xc5\xcb\x32\x12\x5d\xa0\xcc\x5e\x8d\x0c\xc4\x24\x96\x66\x07\x38\x8e\xba\x23\x77\xdf\x10\x86\x46\x63\xf2\xc1\x7a\x3a\x2d\x59\xf2\xf8\xb3\x97\x33\x28\xac\x8f\xbd\x4b\x74\x65\xe6\xe8\x94\xcc\x93\x86\xb8\x4b\x63\xdb\x30\xe4\x22\x3f\xe3\x4a\x7a\x36\x1c\x03\x9b\xf7\xcd\xa6\x43\x58\x9d\xf1\xa4\x83\xe3\x32\x0b\x37\x52\x26\x41\x9b\x69\xc4\x1a\xab\x53\xbb\x98\x7e\x20\x5c\xe3\x3f\x36\x56\xd0\xdf\x10\xf5\x01\x13\x33\xf1\xb9\x31\xd8\x7f\xfd\xf3\x5f\xff\x1c\x2a\x48\x6a\xb0\x7e\x3f\x30\x43\x42\x09\x03\x29\x82\x91\xc5\x37\x34\x94\x0e\xd3\x38\xc9\xb0\x90\x85\x21\x59\x39\x0b\xa9\x9c\x20\x14\x8e\x61\x70\xfd\x79\x7b\x0f\x4a\xe7\xcd\x61\x84\x87\x73\x91\xda\x4f\xc2\xfd\x56\x84\x7b\x4b\xad\xd0\x5e\x33\x62\x53\x8c\x61\x18\x66\xd3\x90\xa9\xc5\x5a\x1d\xce\x94\xdf\xaa\x5e\x2c\xaf\x08\xea\xaa\x1c\x96\xa6\xe2\xc2\xca\xe0\x30\x46\x13\x92\xe6\xfa\xed\xcb\x98\xa2\x94\x19\x09\x5d\x56\x1d\xb5\x5c\xcc\xb7\x4d\x67\xd5\x3d\xcb\xa1\x33\x75\x07\xbb\x54\xfb\xd5\x1b\x6a\xa1\x8f\xaf\x64\xd0\xa6\xbe\x1f\x23\xcd\x99\xe7\x24\x80\x79\x51\x84\x66\x05\xac\x34\xea\x2e\xba\xd7\xe6\xcc\x13\x6a\x97\xcf\x6d\x13\x9f\xf5\xb1\x4d\xa4\xe8\x06\x53\x39\xee\x2d\x1b\x27\xee\x1f\xbe\x7b\xf4\xe2\xfc\xc9\x72\x9d\xc8\x46\xd3\x49\x5b\xb7\xd2\x66\x90\xbe\x55\x83\x5c\x4f\xcd\x4a\xc9\xb2\xb3\xf6\x24\xca\xad\x3c\xe8\x23\xc1\x1c\xc3\xea\x3d\xd3\xa5\x3b\x92\xae\x54\xc3\xb6\x08\xa7\xaf\x65\xa8\x5f\x29\x66\xc6\xcb\xf9\xdd\x23\xc2\xe0\xf8\x03\x9f\xc0\x37\x90\xcd\xb2\x2b\xe7\x70\x8c\x22\x71\xe5\x4a\x66\xd8\xc7\xe2\x88\x2c\x49\x99\x79\x8d\xf5\x99\x2f\xa7\x70\xe3\xe1\x49\x74\x50\xcf\x47\x1e\x0d\x28\x5c\x4d\x2a\x2a\xaf\x8f\xea\xd6\x2e\xc1\x37\x37\xbb\xa0\xb8\x90\x7a\xcc\x75\x88\x27\x13\x4b\x14\x93\x95\x97\x9f\x63\x15\xc9\x37\x84\x73\xa2\xb9\xcc\xb6\x8d\xcf\x8e\x64\x6f\xbd\x2b\x9f\xa5\x8b\xb6\x7c\x84\x01\x2c\xf3\x9d\xf6\x68\xb7\xbc\xb8\x21\x6c\x8a\xf5\xdc\xb2\x96\x38\x18\x36\xd1\xa6\xec\xca\x4d\x11\x65\x24\x45\xa3\x19\xe6\xff\xae\x46\xce\xa9\x95\x0d\xc0\xdd\x47\x25\xe0\x6e\xef\xdf\x32\xbb\x5d\x4a\xa2\x88\xeb\xcb\xa3\xea\xd3\x4d\x80\xdc\x6f\x65\x2f\x01\x23\x32\x47\xfb\x06\xa5\xb4\x2d\xcf\x67\x4d\x43\xa8\x83\x1b\xbc\x65\x54\x03\x26\x39\xb6\x9a\x5a\x7b\xa7\x3a\xba\xb5\xdc\x9a\xf0\xe8\xd6\x4c\x25\xb6\x52\xcf\xab\xc6\x69\x6a\x87\x05\x70\xfb\x50\x6b\xda\x63\xa1\x19\x27\x6f\x15\x9f\x63\xc0\x27\x39\x63\x42\x2d\xdd\x9b\x91\x02\x1c\x1d\x96\x6b\x26\x35\xad\x73\x6a\xf7\x36\x9b\xda\xd4\xa1\x6b\x3d\x12\x9c\xde\xaa\xa5\xd7\x25\xb3\x49\x71\xdd\x5a\xd3\xb6\xa6\x74\xe9\x04\x42\xed\x14\xf0\x96\x83\x69\x65\x7a\x17\x98\xc3\xd0\xa1\x8a\x81\x78\x60\xf8\xb3\x88\xee\x46\x3f\x47\x29\xfe\x85\x73\x28\x5b\x24\xdb\x3f\x84\x1c\xdf\x47\x2f\xf1\xab\x60\xb1\x5e\x7a\x55\x34\xfa\xba\xb2\x62\x3d\x4b\x8c\xe8\x39\x62\x3f\x7d\x41\x81\x18\xab\x94\x83\xf8\x17\x7b\x5a\x01\x7f\xd3\x8c\x46\x7e\x0e\x19\x1c\x43\x8a\x9e\x16\x5c\xe8\x73\x12\xa2\x88\xcb\xfd\x71\xd9\x73\xde\x14\x56\x7d\x5c\x82\x85\x6b\xb0\xe5\x50\x15\x48\xc8\x0f\xc1\xf2\x14\xa0\x82\x11\x6d\x06\x9d\x35\x34\x17\xcf\x0e\xef\x77\x89\xe0\xbc\x61\x89\xf5\xcb\x92\x12\xc3\xc0\x0c\xe9\x04\x24\x33\x09\x4a\x13\x34\xab\xf2\x68\x49\x85\x7a\x31\x4f\xd8\x4a\xbc\x5c\x93\x10\x55\x9b\x06\xe5\xb5\x43\xa3\x78\xfd\xf3\x70\x7e\x9c\x41\xc1\x5d\x22\xaf\x80\xa5\x78\x8c\x40\x00\xa3\x08\x85\xd6\x3d\xab\xdb\xe1\x68\x8d\xbc\x2a\x18\xce\x71\xfc\x2d\x4e\x29\x2b\xa5\xc0\x15\xae\x35\xcf\x70\xa7\xb9\x2d\x7d\xd0\x3e\xc1\x93\xfc\xe3\xf5\x93\x9c\x35\xb2\x7b\x13\x0d\x42\x02\x12\x44\x92\x48\x4e\x32\x9f\xf4\x1d\x98\xe6\x73\x58\x99\x65\xf3\xd2\xd0\x93\x9c\xb5\x6d\x9f\xe3\x08\xb6\x4f\xb1\x6e\x62\xb7\x66\xf8\x4f\x64\x29\x3c\x0e\x53\x72\x83\xd2\x58\x28\xcb\x29\x9a\xa0\x54\xa4\x06\xad\xc8\xe2\xf6\x67\xfa\xc5\x1c\x62\x53\x52\x67\xbf\x87\x9e\x63\xd9\xb0\xef\x21\xf9\x6f\x71\x86\xe5\xc5\x86\xe9\x15\x6f\xef\xd6\xdc\xbe\x26\x80\x26\x70\x7e\x00\x5e\xdc\xa0\xf4\xe0\xf6\x67\xf2\x0d\xa4\x74\x49\xd2\x02\xb2\x88\x71\x69\xe8\xf9\xcc\xda\xe6\xaa\xa9\xfe\xb3\x38\xab\xd9\xf5\x86\x89\xd5\xcd\xec\xd6\xdc\x5e\x90\x39\x62\x02\xdb\x96\x9f\x26\x03\x18\x83\x14\xcd\x11\xd7\x3f\xc1\x12\xb3\x19\x59\x30\xb0\x4c\x65\xad\x7a\xcc\x2c\xe5\x6a\x5a\xe7\xdf\x2d\xc9\xa4\x4f\x12\x09\x2d\xa7\x90\x08\x7d\xbc\x4b\xc6\xeb\x80\x19\x25\xd9\x81\xa0\xf3\x79\x42\xe0\x15\x8f\x54\x29\xa4\x6d\x1f\x26\x5e\x5d\x7c\xfb\x38\xf8\xee\x2f\xcf\xd7\x39\x4c\x98\x03\xa8\x39\x52\x38\x86\x59\x2b\x6b\xed\x34\x5a\x25\xc2\x84\xdf\x74\x34\x48\x4a\x2f\xcd\x11\xa5\x32\x1c\xca\x0e\x72\x3b\xf4\xac\x1b\xa3\xee\x3c\xe5\xd2\x79\x98\x87\x0b\x8a\x6c\xd6\xad\xcf\xfd\x5f\x7e\x80\xc1\xa3\xe4\x1b\x56\x93\xd4\xec\x9c\xd3\x3c\x83\x74\xa6\xf3\x71\x07\xc9\x7f\x55\xaf\x46\x38\xbe\x1e\x31\xe2\x09\xe7\xaa\x80\xf3\x96\xb2\xf5\x1f\x0b\x94\xae\x46\xc2\x4a\x40\x73\x41\x3e\x51\x38\xe6\x19\x8c\xf1\x95\x4a\xc8\x78\x6f\xc8\x73\xd5\x55\x5b\x1c\x6f\x96\x97\x91\x89\xd9\xee\xee\xf3\x63\x33\x98\x7e\x08\x26\xb3\x31\xca\xba\xdc\xa6\x30\xc5\xb7\xce\x6e\xf0\x05\xc3\xaf\xfe\xeb\xfc\x17\x3b\xbb\x19\x76\x60\xf7\x34\xb5\x02\xb2\x76\x59\x40\x34\xa0\xaa\xb7\x73\xaa\xf1\x68\xd7\xd4\x25\x6f\x93\xd0\xe9\xc5\xaa\xeb\x19\x5f\xb4\x25\x22\xc5\xd5\x25\xa5\xdf\x3d\x50\xf6\x7e\x15\x8c\x20\x28\xea\x67\xd9\x35\xe6\x35\x1a\x2d\xa6\x66\xc8\x6d\x31\x03\x47\xdd\x75\x76\xf2\xd5\xab\x87\x35\xc8\xec\x8d\xf6\x22\xb7\x96\xfb\x41\xa4\x5b\x9a\xcf\xcc\x38\x36\x39\xae\x25\x52\x06\x6a\xa9\x64\xa3\xfe\x98\x94\x95\xd6\x50\x8c\x52\xad\xd6\x98\xb0\x11\xfa\x87\xc1\x20\x19\x9e\x50\x3e\x3b\x7c\xff\x64\x90\x93\xd9\xf7\xce\xb3\xdb\xfc\xef\x9b\x9e\x85\x5b\x1b\x15\xb7\x39\x1b\x3d\x04\x5a\x7b\x5b\xc2\x54\xe0\xa5\x38\x64\x4e\xd6\x1a\xbc\xf3\x49\xc8\x06\x77\xae\x9c\xea\xd6\x9d\xbc\x67\x75\xc4\x1a\xcf\xb4\x9a\xa2\xd3\x2c\x76\x67\x00\xfe\xcd\x70\x8b\x1b\x54\x57\xb1\xb6\xb3\xf2\x1f\xe5\xd5\x5b\xef\x51\x5f\x17\xa0\xbf\x9b\x3e\xa6\x71\xf9\x7f\x56\xa3\x59\x2f\x86\x71\x80\x4e\xfc\xac\xbc\x43\x3f\x8f\x23\x18\x3b\x94\x0b\xa8\xba\xea\x5b\x5c\xf0\x6b\xd1\xb7\x9e\x25\x60\x90\x81\x8e\xf5\x4e\xa9\x14\x25\x84\xf2\x4d\x5c\xae\xa2\x42\x56\xe5\x34\x45\x28\x76\xc8\xb3\xac\x3a\xc7\x19\x21\x11\xc3\x49\xe1\xa6\xc0\xd6\x50\x71\x76\x8c\x64\xf7\x74\xee\xdf\x0b\xa1\x3c\x00\x48\x01\xdf\xef\x1b\x78\x9d\xc4\xf2\xd1\xba\x88\xca\x75\x99\x03\xcf\x79\xeb\x3f\x23\xf5\x91\xb5\xf3\x33\x9d\xf3\x5a\x0d\x98\x9c\xee\x11\x1d\x2e\x95\xa5\xee\x36\x83\xe8\x82\x0c\x8d\x31\xb7\xfc\xa1\xe7\x86\xae\xe5\xc2\x21\xbd\x24\x08\x99\x27\x30\x45\x3f\xc3\x54\x20\x9b\xb5\xb3\x80\x1b\xa3\xac\xcb\x2b\xae\xa5\xf5\xd7\x29\x20\xd1\xb1\xd7\x0a\x95\xbe\x91\x8f\x52\x14\x6e\x8b\x8b\x72\x14\xf3\xe6\xec\x70\xf1\xd8\x36\x38\xc9\x39\x0f\x7c\x9d\x80\xb2\x6e\xaf\x3b\x20\xbe\xb8\x35\xd8\x82\x3f\x54\x1e\xf4\x86\x93\xc4\xf3\xd9\x6c\xcf\x11\x97\xd3\xef\x9e\x29\x6e\x70\xca\x66\x53\xc6\xb5\x2a\x61\x0e\x26\x42\xf1\x94\xcd\xca\x90\x66\x5e\x6e\xcb\xca\xe1\x85\x34\x5e\x74\x9f\xf4\xf2\xd2\x96\x34\xf4\x2c\x89\x52\x7c\xe6\xb0\x84\xc0\x97\x33\xa4\x23\x65\x8c\x29\x12\x92\xde\x65\x82\x4a\x5b\x42\xf7\xe9\x91\x01\xbb\x0a\x3b\x69\x42\xd2\x4d\xce\x47\xc5\x32\x39\x24\x56\x15\xdf\xd0\x33\xb8\xda\x2b\x85\x35\x20\x83\x58\x3b\x84\xf1\xd7\x6b\x26\x7c\x5a\x4e\xc3\x56\x2d\xd7\x18\x56\xc1\x56\x9d\x0d\x28\x10\x0c\x93\x1b\x60\xdf\x7b\x21\x4e\x45\x50\xb7\x77\x1a\x86\x46\xd1\xbc\x1b\x0c\xc1\x7d\xf0\xfc\xfb\xb3\x77\xaf\x5e\xbc\xbe\xb4\x84\x4d\xf7\x4e\x48\x24\xc1\x35\x59\x74\x49\x4d\x71\x1d\xc9\x0d\xa6\x78\x8c\x23\xcc\x56\x9e\xef\x5d\x08\x96\x32\x36\x63\x00\x53\x04\x92\x14\xdd\xa0\x98\x69\x1f\xca\x24\x25\x73\x11\x5f\xcd\x2f\xc0\x38\x04\x41\x8a\x20\x2b\x54\x0f\xec\x34\xf2\x0d\xd8\x11\xa5\x09\xb0\xaf\x21\x31\x03\xce\xd2\x89\x3b\xdb\xb6\x24\x9e\xa7\xdf\xbd\xfa\x25\xfe\xfa\xad\xdd\x92\xa8\x91\xdd\xb7\x89\xc7\x59\x0f\x9e\x69\xc2\xcd\x53\x90\xa8\x02\x08\x29\x1a\x95\xf0\xe8\xd9\x0c\x32\xe1\x7e\x1b\x23\x80\x45\xee\x0e\x0a\x25\x46\x1e\x8c\x57\x20\xb4\x16\x0a\xb5\x19\x2e\xb3\x3c\xa6\xfe\x49\x23\xf3\x71\x39\x43\xa5\xac\x2d\xe5\x11\x62\xb9\xf5\x26\x8b\x3f\x6a\x30\xa0\xd9\x5c\x37\x5d\x0c\x70\x8d\x96\xa9\x9a\x64\x55\xaf\x43\xb4\xa6\xcc\x3a\x2b\x1a\x63\xdc\xe3\x36\x65\x90\x7e\x53\xc7\xeb\x0f\x09\xd6\xf3\x41\xbf\x71\x77\xaf\x2f\x74\x51\xd6\xa0\x7a\x93\xa0\xbe\xe6\x50\x07\xd5\xd3\xa6\x62\x1a\xf2\x1e\x53\x21\x86\x4f\xc3\x39\x8e\x1b\xf9\xfc\x5f\xff\x94\xff\x6f\xb3\x5a\x6a\xb1\x12\xce\xf0\x9a\x6a\x01\xb1\xc1\xae\x06\xe9\x81\x9a\x03\xee\x53\x5a\xae\x2a\x95\x84\x34\x29\x29\x9c\xf9\x57\xba\x9e\x47\x06\xdc\xc9\x4a\x7b\xd0\xda\x5b\x59\x8e\x03\xba\xed\xcd\x6c\xf5\x6e\x1e\x3c\xff\xfe\xbb\x0f\xf6\xcd\x2c\xd7\x35\x3c\x01\x56\x3a\xc4\xbe\x36\xd4\xd6\xd6\x0a\x1b\x6b\x8b\xde\x15\xe1\x28\x38\xe6\x92\x2a\x17\x51\x2a\xd4\xa3\x69\x31\x08\x3d\xb5\xb9\x14\x5e\xfd\x98\xf2\x80\x23\x30\x4f\x6b\x21\x93\xbd\x0e\xf1\xb9\x6d\x00\xc4\x31\x5a\x66\x3c\x55\x2c\x5d\x50\x8f\x7c\xaf\x08\xba\x2a\x94\x67\x8a\xd1\x52\x5f\x6f\xc0\x16\xae\x93\xb8\xce\xf1\x37\x56\x97\x8d\xe3\xf6\x61\x99\x9a\xa6\x3d\x42\x3e\xde\x14\xa4\xd3\xc6\xa2\xe2\x64\x37\x82\x72\x03\xe8\xc2\x07\x45\xa4\xe3\x66\x0f\x70\x60\x50\x7d\x4d\x58\x10\x7e\xe2\x03\x95\xf4\x3b\xaf\xe4\x78\x10\xb5\xcb\x43\xcc\x5e\x91\xb0\xab\x4d\xaf\xbc\xde\x5c\x17\x95\x00\xdd\xf5\xf5\xc7\xd5\x66\xff\xfe\xbd\x37\x5e\x8c\xc7\x0a\x32\x35\x83\x45\xb6\x94\xc7\x0b\x48\x34\xfa\xaa\x66\x31\x95\xbb\xd7\x3b\xf0\xbd\x04\xe2\xcd\x29\x94\xaf\xac\x4a\xe7\x0b\x65\xd0\xf4\x3d\x63\x2a\xcb\xa1\x75\x8e\x55\xaa\x86\x70\x7c\xb5\xb2\xe5\x0a\x74\x21\xa8\xbd\x29\x33\x94\xf9\xd8\x4a\x00\xc7\x6a\xe3\x0d\xdc\x1c\x4f\x48\xf5\x13\xe6\xd9\xd6\x6a\x46\x79\x62\x3a\xb6\x33\xa7\x76\xe5\xd5\xe3\x6c\x0e\x0d\x98\x87\xb0\x6c\x0e\x2a\x7c\xe1\x5f\xff\x2f\xfb\x88\x6c\x70\x41\x15\x32\x83\xf9\x94\xb8\x78\x28\x36\x81\x56\xfb\x7f\xfb\x94\xd7\x3a\x16\xeb\xf3\x6d\x1e\x29\x93\xb9\x42\xd4\x4e\xb9\xac\xdd\x98\x44\x58\x3b\xdb\xce\x1d\x12\x87\x1f\x7b\x54\x9e\x5d\x69\x35\x6e\x23\x0f\xaf\x53\x57\x6d\xf2\xae\x19\x82\x7c\x7d\x2f\x77\xa5\x46\xe9\x97\xc6\x82\x1c\x41\x31\x12\xe5\x63\xa9\x88\xb3\xab\x26\x8f\x52\x0a\x57\x9b\x71\xb9\x64\x7a\x08\xcc\xc8\xdc\xe8\x7b\x39\x15\x8f\xbd\xc9\xc0\x15\xec\xd4\x1d\xd2\xe5\x4b\x51\xb0\x48\x31\x6b\x40\x5c\xaa\x59\xca\x1d\x45\x5d\xab\x07\x6f\x9d\xf6\x36\x36\x7f\x6f\x91\xde\x05\x1a\xd7\xec\x76\xa6\x0a\xd5\x1b\x45\x76\x6b\x9a\xcc\xf5\x69\x2f\xd4\xdd\xa2\x75\x34\xae\x56\x85\x81\x7d\xfb\x2e\xd2\xed\xcc\x7a\x4f\xb0\xec\x9e\x21\x3c\x5d\x1a\x7c\xb0\x0e\xd6\x9a\x01\x19\xfb\x30\x83\x8c\xd5\x84\xc9\x93\x65\xaa\x05\x55\xba\xc1\xca\xf6\x38\x1a\xc9\xaa\x38\x9a\x41\x15\xc3\x6e\x0a\xee\xa1\x81\x40\x77\xa8\xa6\x75\xb6\xcd\x89\x85\xd1\x88\xea\xd0\xd6\xb6\x6b\x19\xeb\xce\x16\x39\x3d\xa3\x0d\x18\x0e\xfd\x7b\xfd\xbb\x2e\x46\xdb\xb7\xca\xfe\x6e\x56\xd8\xdf\x9c\x17\xff\x02\x31\x90\xad\x84\x53\xe5\xb5\x97\xaa\x70\xad\x2b\x5f\x3f\xaf\x1e\x6f\xb6\x62\x7f\x97\xc2\x98\xe9\x27\x5b\x9c\xf9\x8d\xfe\xfc\xe5\x8c\x08\x07\xd9\x0d\x46\x4b\xc3\xa7\xbc\xc4\x6c\x86\xb3\x22\x56\x15\x95\xb0\x55\x64\x2d\x71\x38\x45\xac\xe0\xaa\x6f\x94\x50\xd5\xb4\x02\x92\x58\x82\x3b\xbd\x06\x93\xd2\x9b\x02\x0c\x60\xd7\x88\xe3\x9a\xc4\x02\xd9\x8b\x9e\x69\x05\xb5\x8a\xc3\xa5\xd2\x4b\x8c\x9c\x9a\xbe\x18\x3b\x79\x0e\x22\x4b\x17\x5c\xb5\x6a\x84\x0e\x33\x8d\x04\x7c\x0c\xcb\x19\x11\xdd\x17\xbb\x49\x8f\xa0\xf6\x42\xef\x6c\x85\xec\x2a\xba\x79\x7b\x80\xdb\x66\x02\xcc\x64\x8e\xbc\x83\xee\xd4\xcf\x36\xd5\x48\xe2\x97\xa1\x3d\xb1\xe0\xc5\x0d\x4a\x57\x24\x46\xef\x28\x4a\x5f\x86\xfd\xd2\x0a\x6e\x73\x12\xfa\xcc\x43\x04\xe3\xe9\xc2\x52\xb4\xb9\xf1\x0b\x03\xd9\x0e\xee\x14\xa1\x12\x94\xd2\x76\x4c\xac\x0e\x64\x72\x3d\x05\xc8\xff\x93\xfe\xce\xfa\x3c\x21\x47\xe9\x62\xb2\x3e\x45\xda\xe5\xb6\xa0\xc2\xb1\x83\xd7\xe2\x79\xaf\x63\x7a\x36\x08\x95\x87\x6c\xa4\x63\x59\x34\xa9\xf7\x56\x64\xb1\xef\xc0\x67\x5d\xa2\x4a\x6f\x3f\xbd\x64\x9d\x01\xb5\xbd\x5b\x09\x69\x75\xd5\xc1\xdc\x42\xd1\x06\x4d\xf3\xac\x78\xa3\xd7\x76\x6b\xab\xba\xcb\xdb\xf7\x6a\x33\xf8\x97\x97\xf0\xf2\xcf\x78\x3d\x90\xaa\xcd\xc6\x66\x7d\x27\x89\x03\x94\xfe\xa6\x40\xd3\x75\xd5\x4d\xab\x46\x6e\xad\xf4\xdb\xa6\xf8\xf4\x85\x92\x92\xd1\x86\xb7\x53\x76\x5f\xba\x58\x2d\x48\x35\xe2\x46\xbf\xaa\xfb\xad\x08\x17\x7a\xc8\xea\xb3\xb7\x5b\x66\xbf\x30\x09\xe2\x00\xd5\x3a\x09\x16\x34\x63\x69\x97\xc9\x00\x8c\xdb\x71\x8b\xb5\x82\x2e\xb7\x1f\x98\x1f\xd4\x04\xe1\xf9\x64\xd2\x51\x98\x92\x44\x20\x71\x98\x73\xc2\xbb\x68\x06\x0b\x1b\xf0\xc4\xe5\xc7\x5a\x01\x8f\xd9\x45\xfe\xe8\x66\x61\xa1\xe4\x91\x8e\x22\x64\xac\x3c\x27\x54\xa8\x8d\x4d\xb8\x8e\xe7\x3a\xc7\xd7\xa2\x9e\x50\x73\x72\x97\x28\x6f\xec\x5a\x0e\xa5\xc2\x30\x6b\x57\xb8\x56\xeb\x54\xd4\x0f\x19\xa9\xea\x23\xa5\xb5\xe5\x7b\x2f\x44\x49\x15\x79\x17\x40\xca\x87\x25\x64\x1d\xd7\x6d\xb2\x0a\x11\x9a\x49\x74\x29\x92\x76\x48\xeb\xbe\x80\x33\xaa\xe8\x3b\x9b\x21\xd5\x27\x1f\xa0\x83\xe9\x01\x78\x8e\x43\xc9\x04\x33\x14\x25\x02\x1d\x0c\xfc\x08\x69\x7e\x69\xb2\x88\x9e\x89\x87\x44\x90\x35\x8e\x43\xb0\x9c\x41\x26\x7e\xc5\x08\x85\x35\xa0\x71\x6d\x6c\x32\x67\xa3\x47\xc3\x99\xc0\x7a\xc4\x5e\x22\x26\xd9\x47\x53\xdb\xdd\xfa\x44\x40\x4c\x98\x2a\xb0\x2d\xbc\xdb\x80\x11\xc0\xe7\x0f\x18\xc6\xd2\x7e\x56\xf2\xae\x46\xf2\x81\x0c\x88\xdd\x23\x76\x73\xf2\x49\x6c\x6f\xf7\x28\xa4\xcd\x90\xad\x93\x29\xbf\x5b\x88\xd6\x9c\xc9\xc8\x35\x67\xd2\x48\x77\xb6\x33\x45\xea\x2a\x70\x6f\x42\xc1\x55\x7a\xe9\xda\xfa\x6d\x21\x2f\x72\xdb\x3a\xee\xe4\x1d\xfd\xcb\x37\xe1\xf8\x2f\xf6\xc8\x4d\x75\x72\x34\x02\x38\xb7\xab\xf6\xb6\x6e\xb3\x22\x37\x25\x41\x29\x97\xd7\xc0\x48\x50\x6f\xc9\xf7\xab\xef\xb4\xfc\xfa\x24\x5a\xe0\x10\xcc\x57\x96\x30\xcb\xfa\xd7\x53\xb2\xac\x29\x05\xd6\xa0\x6a\x37\x2f\x1b\x1c\x4f\x48\xb5\x58\x7d\x09\xa9\x42\x77\xb3\x4b\xa4\xfc\x69\x18\xaa\x0a\x2d\x9d\x62\x1e\x01\xfa\x80\xa9\x48\x03\x52\xe1\x49\x55\x21\x53\xa8\x75\x75\xbb\x83\x7c\x19\xdf\x60\x86\x3a\x8f\x53\xbe\x06\x62\xb4\xac\x19\x65\x6f\x06\x33\x62\x3e\x81\xa8\x0a\x37\x4a\x11\x4d\x48\x4c\xf1\x4d\xed\x2a\xc9\xaa\xc7\x15\xcc\xd0\x22\xc0\x5d\x36\x31\x23\x37\x5c\x33\xca\x96\xe8\x48\xde\x9c\x8f\xed\x31\xc2\xba\x59\xbe\xc0\x9a\x95\x4a\xd6\xe0\x56\xcb\x5a\xf1\x1a\xe3\x14\x0a\x8f\x89\x01\x90\x48\x15\x34\x79\x58\x19\x13\x9f\x70\x05\xc6\x52\x3e\xbb\x34\x04\xbb\x35\x7c\xe2\x6b\xeb\x27\xcc\xd0\x3f\xa1\x81\x18\x78\x4a\x8e\x8e\xae\x0d\xd3\xa8\x99\x20\x3f\x60\xb4\xec\x42\x8e\xe6\xd6\x5e\xc1\xb8\xd1\x3c\xdc\xb5\xbd\xef\x97\xb1\x94\x77\x7d\x9a\x2b\x4d\xcd\x59\x8a\x60\x9b\x6b\xd2\xb9\xb1\x86\xc4\xa6\xae\x4d\xb9\xb8\x4c\x9d\x1b\xd3\x08\x13\x43\xd0\x8b\x24\x2d\xf5\xfb\x9c\x9b\xba\xd4\x8a\xcb\x40\xed\x9d\x26\x49\x4a\x6e\x60\x83\x4f\xbc\x53\x73\x39\x46\xd4\x30\xed\xfd\x20\x6b\x9d\x74\x91\x01\x75\xd7\xf8\x37\xab\xa1\x14\x9e\xc5\x93\x2a\x76\x83\x3e\x6e\x54\x07\xd9\x63\x3c\x15\x96\x09\x10\x93\xd1\x32\x85\x09\xe0\xff\xe2\x30\x17\x4f\x2d\xde\xd0\x16\x7b\xb8\x72\xd5\x30\x92\xc8\xad\x3b\x2f\x58\x19\x2c\x52\x4a\xd2\x51\x42\xb0\xd6\x85\xaa\x11\x63\x99\x35\x48\xdd\x85\x29\x86\xa3\x19\xa4\x09\x49\x16\x09\x9f\xb4\x74\x81\x0a\xf7\xd0\x87\x04\xc6\x21\x12\x56\x38\xae\xcf\xb7\x0d\xe2\xa7\x9f\x18\x98\x93\x14\xfd\x7c\x83\x52\xe6\x10\x2f\x5d\x4b\x06\x1b\xda\x88\xea\xfc\x68\x8e\xe2\x05\x28\xfc\x1a\x45\x68\xc2\xb4\xde\x22\x3a\x2e\x4c\x35\x11\x0a\xc7\x2b\xed\xf4\x36\xb6\xee\xec\xdd\x3c\xc2\x4d\x7b\x75\x5c\xa2\xdc\x54\x17\x61\x6d\x07\x45\xe9\x79\x75\x73\x96\xa2\x89\xe7\x7b\xff\xe6\x35\xb9\xce\xbf\x59\x44\xd7\x6f\x8c\xf4\x2d\xd5\xab\x2b\x55\x86\xca\xb0\x43\xa7\x30\x16\xe7\xf8\x36\x32\x6e\xb9\x9b\x1a\x05\x53\xf7\xf3\x2d\xba\x21\xd7\xc8\xa5\xa3\x56\xbd\xce\xee\x7d\x7b\x30\x8c\x6f\xdf\x73\x73\x95\x8e\xa3\x05\x1a\xc4\x55\xea\xb6\xb0\xbd\x1e\x5e\x7d\x77\x26\xb0\x0d\x36\x20\x11\x49\xc5\x30\x8d\x6f\x9b\x1e\xd2\x07\xb5\x1e\xd2\x96\xa1\x0e\xe1\xbd\x2c\x76\x43\xc2\x4c\x97\x13\x35\xf6\x3b\xd3\x68\x8d\xb0\x87\x07\xdb\x0a\x7b\x70\xe4\x4f\x57\x80\xae\xcd\x44\x9e\x74\x8b\x78\x70\x7f\xaa\x91\x57\xc5\x90\x3b\x30\xeb\x70\x11\x16\xce\x73\x72\xab\xc1\x40\xee\xb1\x15\x6b\x4f\x48\x67\x91\xd1\x2a\xd6\x37\x18\x54\x31\xb8\x70\x1a\x20\xb4\xc2\x55\x3a\xad\x1f\xe6\x5e\x56\x52\xbf\xca\x9d\x4a\x1f\x32\xd5\x50\xfb\x95\xb4\xef\x37\x0b\xe7\xbb\xca\x27\x49\x68\xd2\xf2\x5c\xdc\x54\x54\xf8\x89\xef\xcd\x17\xcc\xb3\xbf\x57\x98\xc3\x82\xe7\x68\x1b\x9d\xd7\xc7\xf0\xee\xdd\xcf\xde\xbc\xdd\x01\xa8\x73\x7f\xf7\xfe\xeb\x17\x6f\xad\xfb\x3a\x0a\x57\x82\x48\x75\xe9\x7f\xf1\xcd\x5b\x1f\x40\x5e\xdb\xbb\xf3\x08\x0a\xa5\x59\x6f\x71\x08\x19\x18\x64\x9f\x41\x94\x90\x24\x6f\x71\x18\x0a\x17\xb5\xcf\x20\x0a\x90\xaa\xb7\x38\x04\x69\x4b\xea\x35\x04\xf5\xea\xad\x0f\x41\xdb\xb0\x7a\x0e\xc3\x78\xfd\xd6\x87\x22\xcd\x67\x7d\x47\x92\xbf\x7d\xeb\x03\x39\x2f\x62\xbf\x77\x1e\x8a\xf9\xfe\xad\x0f\xe6\x07\x5d\x21\xb9\xd7\x50\xf2\xb7\xbb\x0e\xa4\x4d\x37\x7b\x60\xd1\xf0\x2a\x5a\x58\xb9\x11\xbb\x13\xab\x1f\xf0\xca\xda\xce\xbb\xae\x5e\xff\xd3\x1f\x5e\xd4\x8d\xa0\xc6\x51\xdb\xd1\xb7\xab\x2a\xce\xf3\x7f\xe6\xe1\xe8\x89\xed\xac\xd4\xf4\x72\x83\x33\xbc\xf0\x72\x52\x7e\x35\x77\x88\x8b\x58\xa9\x72\x48\x9f\x11\x3a\xf0\xb4\x46\xcf\xf6\xea\x32\x7e\xf2\xa6\x45\x29\x95\x36\x37\x56\x64\xe6\x87\x72\x9d\x19\xfc\xcf\xff\xfe\x6f\xe1\x8d\xd7\x38\x5b\x2a\x89\xa9\x21\xfa\xb4\xb1\x4d\xa9\xc8\x8a\x56\xe7\xf2\x4f\x71\x42\xa5\x09\x0a\x18\x05\x64\xa2\x1c\xfe\xe8\x43\x80\x12\x26\x13\x0c\x5d\xf2\x1d\x0b\xdf\x10\xca\x66\xe1\x13\x71\xa8\x73\x15\x9b\xba\x6c\xbb\xdc\xb2\xa2\xee\x16\x3b\x65\xc5\xc1\x87\xe3\xa8\xda\x90\x65\x87\x79\x92\x9e\x3f\x31\x51\x81\xfc\x33\x36\xf3\xe5\xba\x4d\x3a\x57\x6e\x45\x53\x28\x14\xd5\xdf\x7a\x35\xa2\x80\xf2\x78\x33\x8a\x5f\x7a\x36\x24\x10\x87\x05\x07\xf2\x3f\x32\x8c\x3a\xc4\x96\x08\xc5\x7d\x1b\xe5\x2a\x97\xa4\x16\xff\x63\xa0\x46\x33\x1f\xa0\x31\x0f\xbe\x20\xa2\x5f\xa6\x01\xc8\x02\x9d\x24\x58\x6c\x01\x30\xb4\xdb\x57\xb5\xa7\x50\x7c\x14\x4a\xcd\x05\x90\x14\xa4\xe8\xef\x28\x60\x59\xd3\xc1\x0c\xc6\x53\x07\xf7\x64\xa1\xed\x4c\x7b\x50\x22\x20\xbd\x36\x72\x30\x21\x05\xcf\x53\x38\x61\x3e\x38\xc7\xf2\x93\xa7\x69\x30\xc3\x37\xa8\xae\x1e\x63\x9d\x6c\x54\xbe\x44\x93\x7b\x6f\xf4\x35\x32\x31\xbe\xb8\x37\x86\x14\x45\x38\xc6\xf1\xb4\xce\x60\xdc\x43\xf0\x38\x6c\x84\x22\x38\x57\x07\xa3\x84\xa3\x05\x45\xe9\x66\xf2\xec\xeb\x85\x58\xcf\x24\xfb\xb6\x06\x9b\x33\xec\xdb\xde\xae\x04\x9d\xc9\x5d\xb6\x25\xb7\xbe\xad\xd5\xe6\xc4\x7a\xaf\x36\x92\xda\x15\xaa\xcf\xf7\xae\xd1\x6a\x24\x43\xc4\x85\x59\x72\xa4\x2b\xcd\xb5\xa2\xf5\x5d\x88\x07\xb3\x40\x6a\x0a\xc6\x2b\x90\x95\x68\xf6\x81\xae\xe4\xeb\x83\x42\x19\x58\xd9\xfc\xa5\xd8\x41\x5a\x82\xf0\x45\x3f\x6a\xc3\xef\x3d\x8b\x57\x5c\x96\xc0\x43\xe1\x3b\x85\x7f\x35\x40\x2d\xa3\x5a\x7d\xcf\xb9\x05\xb1\x5f\x1f\x99\x87\x06\x99\x64\x36\x59\x44\x91\x73\x49\xaf\xd6\x2f\x3c\xa8\x05\xd5\xaa\xb6\xd4\x31\xf0\xd6\x6b\xf2\x9e\x9e\x86\xa1\x3d\x39\xda\x86\x72\x68\xe9\x44\xe3\x71\x6b\xa0\xbc\x36\x87\x75\xd6\x06\x05\xe1\x46\xaf\x41\xf0\x1f\x22\x42\x07\x54\x25\xbb\x49\x74\x2c\xc2\x17\x3f\x09\xf5\x5a\xa1\xae\xe2\x3b\xdf\xe9\xb0\xf9\x8b\x16\xc5\x7f\x3d\xd9\x5e\xc2\x81\x10\x95\xb1\x81\x9c\x23\x10\x21\x18\x8a\x2e\x40\x40\xe7\x84\xb0\x19\x20\xf1\x98\xc0\x34\xc4\xf1\x14\x24\x29\xd1\x2b\xb7\x51\xf9\xe8\x0e\x98\xc9\xc7\x2b\x89\xd0\x86\x46\xeb\x40\x87\xd6\x14\xa5\x8a\xb2\x54\x2d\x88\x5d\x60\x5c\xd4\xa1\xc4\xf9\x80\xbb\x68\x9e\x30\x58\xe8\x47\x56\x01\xbd\x7e\x13\x95\xa9\x49\x85\x1d\x52\x36\xa1\x7a\xde\x92\x86\x54\x20\x4e\x9f\x64\xa4\x33\x32\x9f\x43\x40\x11\x17\xad\x0c\x81\xf9\x22\x62\x38\x89\x90\xec\x11\x80\x61\x98\x22\x4a\x9b\x54\x65\x47\x27\xdd\x36\x26\x7f\x4e\x0b\xc1\xa9\x79\x0d\x0b\xc7\xc9\xe7\x04\x82\x29\x82\xa5\xf9\x2f\x27\x8e\xea\xfa\x59\xd5\x8f\x17\x26\x30\xfb\x7e\x19\x72\xd5\xf7\x1e\xb7\xc3\xae\x36\xaf\xdc\xce\xa1\xc6\x9b\xdd\xf7\x86\xc5\x3f\x6a\xd8\xff\x7a\x28\x2e\xce\x66\xc3\x7a\xc1\xd6\x1e\xef\xbf\xa9\xed\x7a\x98\x42\xdd\x0d\x39\x43\x6b\xe7\x1f\x65\x0f\x6d\x3f\xfb\xe8\xab\x6f\xe8\xe4\x4f\xa7\x2f\x97\xf6\xec\x23\x15\x06\xb8\x13\x79\xf6\xb9\x31\x44\x97\x3f\x49\x52\x24\xe9\x91\xdb\x3b\xf8\x39\xaa\xc1\x50\x65\x3b\xee\xe4\xc4\xbf\x6b\xd5\x4e\x42\x44\x83\x14\xab\x5a\x52\xb7\x5a\xf1\xe4\xfb\x04\xc5\x99\xb7\xae\x77\xd9\x0f\xde\x4a\xfb\x6a\xdf\x5e\xbd\xf4\xea\xfa\xec\xbd\xd2\xc5\x26\x77\x83\xd1\x72\xfb\x2b\xfc\xcf\x0f\x2f\xbf\xfc\x6e\xf9\xf7\x89\x7d\x85\x0b\x6c\x52\x4f\x1e\x40\x06\xab\x99\x6e\xd3\x53\x84\x51\x61\x14\x48\x48\x39\x60\xe6\x4b\xeb\x9a\x6a\x61\x6b\x2d\xb5\x7a\x33\xaa\x57\x67\x11\x67\x70\x1c\xc3\x9b\x4c\x6b\x2c\xfe\x54\xc9\x81\x28\x04\xcb\xd1\x97\xd6\xe5\xeb\x99\xe6\xc5\x0a\x58\x1a\x83\x63\xde\xe2\xe8\x06\xa5\x0c\x07\x30\x2a\xc1\xa6\x65\x11\x36\x17\xfd\x91\xd3\xb4\x5b\xe0\x5b\x41\x3f\xad\xac\x59\xeb\xac\x5f\x15\xd2\x92\x41\x16\x26\xeb\x44\xdb\x4a\xcc\x9a\xa5\xcc\xb5\x59\xaa\xa3\x4e\x54\x16\xe2\xf8\xa6\x2c\x7b\x3d\x25\x84\x3d\x27\xc1\x19\x59\xc4\xc2\x66\x75\xd4\x29\x62\xaf\xe3\x34\x14\xe0\xe1\x2c\x93\x22\x6f\xf0\xa1\xfc\x82\xc2\x21\x27\xa7\xd0\x70\xdb\x24\xbd\x33\x1f\xce\xa7\x4b\x9c\xd8\x4d\x62\x35\x4e\x53\xcf\x62\x9e\xdd\xed\x1b\x03\xaf\xfe\xda\xd5\xa6\x39\xd6\x40\xbf\xad\x61\x59\x5b\xe4\xa8\xc1\x71\x35\x0d\x1c\xbb\x33\x5e\xde\xc2\x3a\xe1\xe1\x0d\x7d\xe9\xb0\x08\xba\xf7\xc5\xf2\xf6\xca\xa0\x74\xb7\x70\xd2\x2d\x08\x5c\x9b\x6e\x16\x38\x48\x9c\xb2\xdd\x72\x20\x39\xb1\x36\xe6\x65\x45\x38\x18\xc5\xa1\x6c\x75\xfa\x73\xbd\xce\x56\x67\x83\x6f\x7f\x46\xe2\xc3\xb1\x94\xe9\x99\x38\xed\x22\x22\x8e\xfd\x4a\x78\x8a\x75\xfd\x3f\xb2\x6d\x64\x52\x23\xea\xae\x2a\x57\xe6\x82\x93\x5e\x72\x43\x89\xf0\x4e\xab\xf8\x28\xc3\x7a\x52\x9a\x44\x3e\x21\x35\x1a\xf8\x23\xce\x16\xf1\xf5\x88\x11\xae\x82\x49\xbd\xec\x40\x6b\x78\x56\x51\x5d\xba\x46\xa3\x45\x5e\x6a\xed\x1f\x0b\x94\xae\x46\x82\xac\xd4\x40\xde\x81\x63\x61\xd3\x28\xb2\xad\xa8\x85\x23\x07\xcf\x6f\x56\xec\xdc\x96\xaa\x49\x55\x64\x5b\xb5\x33\x68\xd6\x38\xc7\xf1\xb5\x82\xf4\xd2\xf9\x55\x2e\xc5\x9b\x5d\x77\x8f\xa1\x15\xe9\x4c\xfd\xed\xa1\x40\xa7\x53\xc2\x46\x09\xa4\x74\x49\xd2\x70\xfb\xea\xf3\x93\x39\xc6\xf8\x2f\x7f\x3d\x72\x86\xa0\xd3\xd6\xe0\x1a\xc1\x20\x07\xe4\x09\xa6\xd0\x98\x5c\xd2\x62\x5c\xe2\x5e\xcb\x12\x84\xab\xcb\x19\x8c\x5b\xea\x72\x02\xf5\xbf\xfa\xdd\x38\x45\x14\xb1\x11\x13\x4d\x01\x05\x46\x3f\x26\x8c\x91\xb9\x81\x47\xcf\x4f\xdc\xe2\x89\x03\x70\x36\x43\xc1\x35\x58\x91\x85\xb2\xb1\x8a\x53\x36\x8e\x29\x4b\x17\x12\xef\xe3\xc0\x81\xaf\x7a\xf5\xb4\xce\xba\x09\x8c\xff\xd5\xdb\x35\x1d\xec\xd8\xe5\x86\x9a\x70\xf0\x4a\x10\x78\x06\xbe\x16\x9f\xc4\x82\xf5\x59\x7d\xf9\xca\xcf\x2f\x57\x20\xee\x5e\xcc\x13\xb6\x12\x5d\xea\x0b\x74\x57\xb5\x7f\x9a\x43\xa9\x0e\xb2\xc1\x7a\x51\x81\xaf\xb2\x50\x78\x90\x48\xc4\x92\xe1\x52\xb3\xbe\x91\x1d\x4a\x11\xab\xef\xbe\x23\x6c\x52\xe3\x48\xab\xaa\xa7\x6e\xbd\xb8\x47\xc0\x05\x9b\x1d\x44\x64\x2a\xca\xc3\xd5\xad\xb6\xb3\x08\x07\xd7\x60\x86\x52\x04\x18\x01\x14\x4f\x63\x80\x1d\x40\x3f\xb7\x64\xb2\x2c\xc8\xce\xce\xb2\x37\x82\x2b\xb2\x60\x87\x4a\x34\x8c\x61\xba\x7d\xe9\x1b\x3e\x3f\xbd\x38\x0f\xde\xda\x01\x40\xbd\x7b\xaa\x0d\x57\xcb\x45\x4a\x96\x20\x26\xa3\xe9\x82\xf1\x69\x01\xe1\x68\x12\xa1\x0f\x2a\x05\x4f\xd4\x53\xaf\x43\x0b\xaa\xe7\xa7\x80\x44\xba\x9d\x32\xf2\x10\x65\x30\xed\xe8\x6d\x6d\x74\x24\x78\xa5\xa4\x6d\x95\x97\x3d\x63\x2c\xa1\x4f\x0f\x0f\xf5\x5c\x1e\x04\x64\xfe\x2c\x45\x93\x13\x38\xf1\x4a\xe1\x85\xf8\x17\x54\xa8\x62\x0f\x93\xe4\x15\x62\x90\x0b\xb5\x3c\x90\xba\xce\x8c\x58\x67\x99\x3b\x7e\xc8\xcf\x54\x75\x7c\xdd\x97\x78\x28\xb6\x62\xe3\x74\x23\x9d\x65\x0b\x9d\x91\xe5\x8f\x10\xb7\x96\x78\x77\x70\xfd\x24\x29\x99\xa6\x5c\xe2\xe9\x3f\x46\x4b\x88\x19\x80\x31\x9e\x43\x86\x42\x30\x81\x21\x7a\x69\xad\x2c\x59\x6e\x1c\xcf\x33\x5f\x3d\x4d\x03\xcf\xf7\x0e\x21\xa5\xff\x3f\x7b\xdf\xb6\xdd\xb6\xb1\x25\xf8\xee\xaf\x80\x71\xd6\xe8\x90\x2d\x90\x12\x25\x47\x49\xe4\x30\x69\x59\x92\x1d\x25\xb2\xac\x63\xc9\xc9\x71\x1c\x8d\x57\x11\x28\x92\x15\x81\x28\x04\x28\x88\x96\x2d\xbd\xce\x07\x4c\x3f\xcc\x4b\x3f\xf4\xeb\xfc\x46\xcf\x9f\xf4\x97\xcc\x42\x5d\x80\x02\x50\x00\x0a\x20\x29\xc9\x69\x9f\x75\x56\x2c\xe2\x52\xa8\xda\x7b\xd7\xbe\xd5\xbe\x40\x12\x6e\xa0\xd9\x64\x63\x14\x85\xd7\x34\x79\xb4\x3f\x41\x09\x42\xdb\x45\xa5\xa7\x4c\xa8\x08\x94\x03\xea\xb5\x5f\x01\x50\x1c\xec\xc1\x14\x28\x1f\x31\x9e\x65\x80\xf2\x5f\xff\xfe\x6f\x8b\x4c\x3b\x3d\x1f\x5c\xd6\xcc\x7b\x1e\x26\x68\x8c\x6c\x40\x3d\x15\x25\x13\xe7\xda\x78\xda\xe1\x5f\x33\xad\x78\xa1\x9c\x80\xe5\x08\x85\x02\x53\x6f\x2b\x16\x58\xce\x32\x3d\xee\x49\xe2\x43\xee\x5c\x3e\x1c\x3e\xd9\xfa\x79\xe7\x8f\x31\x6e\x2a\x1f\x32\x4c\x6b\xa9\x80\x55\x80\x65\x19\x10\x0e\x91\x03\xef\x45\x02\x5f\x3a\xa7\xde\x9b\x1f\xdf\x5c\xb7\x82\xf0\x8a\xe0\xca\x81\xb1\x04\xb8\xde\x3d\x3c\x4f\x5e\xda\xd7\x03\x67\x34\x79\x40\xf0\x6c\x0b\x47\x82\xfd\xfb\xd1\x0a\xc3\xad\xed\x31\x0e\x9e\xbc\x29\x69\x76\x8e\xbc\x98\x9f\xd3\xff\xea\x6a\x88\x2c\x46\x89\xaf\x27\xaf\xa5\xb8\x10\x04\x63\xf4\xc1\xc8\x55\xa7\x6c\xa0\x25\x66\x15\xcf\xfc\x8b\x1a\xf9\x26\x2e\xcd\x54\xd9\x11\xf9\x2a\xdf\x56\xab\x88\xaa\xb6\x39\x6c\x6d\x86\xd3\xf3\x62\x81\xec\xc4\xa3\xe4\x6b\x17\xa8\x83\x44\x8a\x2e\x5e\xaa\x2a\x37\xd0\x9e\xcb\x4f\x72\x72\x83\x8a\x42\x55\x20\x22\xb8\x72\x14\xa5\xee\x24\x46\x72\xf1\x04\x97\xeb\x53\xb4\xf6\xc6\x7c\x8a\x08\xec\xed\x3c\xf9\xb0\xf3\xa4\xef\xa7\xd5\xf3\xb4\xc3\x68\xd5\xf5\x2a\xb2\x2a\x35\x74\x90\x38\x99\xa7\x01\x62\x91\xc7\x5a\x8d\x36\x2e\x54\x51\x09\xb2\x3a\x30\x55\x78\x3f\x59\x5f\xec\xd4\x85\xa1\x6e\xae\xbc\x95\x78\xc1\x8f\xe8\xe7\x2e\xf8\x11\x64\xda\x44\x99\x8e\x6c\x24\xce\x71\xf6\xbb\xba\x49\xd7\xd9\xe9\xde\xfe\xe1\x99\x96\x99\x5c\x83\x09\x1d\x65\x51\x07\x43\x34\x84\xd0\x0f\x50\x58\x57\x3a\x2a\xa7\x83\x26\xd5\x48\xae\x10\x9c\x1f\x80\x70\x4a\xa3\x47\x5b\xb7\x3c\x69\x8d\x64\x25\x9e\x9d\x74\x3e\xed\x30\x2d\x0f\xd0\x1a\xd9\x7b\xfb\xe7\x47\xaf\x4e\x5a\x61\x7b\x11\xa3\x26\x83\x99\x3d\x0f\xb8\xd7\x04\xd9\x8d\xf2\x19\x56\x88\x19\x90\xce\xa7\x1d\x66\xe4\x01\xda\x63\xe6\x64\xef\xf8\xed\xf9\xd1\xfe\xea\x71\xf3\x85\xb1\x2d\x8f\xb1\x15\x61\xc9\xdd\x30\xdb\x8b\x84\xba\x36\x53\x22\x66\x42\x8f\xe0\x05\x03\xdb\x68\x03\xe5\xdf\x99\x82\xd9\x28\x0a\x26\x69\xa9\xca\x44\x3d\xf3\xc0\x55\xaf\x70\xf7\x2e\x0b\x59\x9a\x4d\x4b\x6f\xcd\xa0\x17\x95\xa0\xa0\x36\x42\x59\xa3\xd8\x65\x66\x25\x72\x65\x4b\x35\xb8\xca\x7c\x63\x77\xa2\xc4\xe8\xec\xd5\x7c\x09\x4a\xf5\x2e\xe3\xfb\xb4\xbe\xb5\xd6\x9d\xab\x07\x0f\x69\xf1\xd5\x22\x71\x41\x65\x45\x4f\xd3\xd0\x5a\xd1\x9e\x9d\xf6\x1b\x5a\x02\x3e\x97\x2e\xfd\xf5\x44\xb7\xde\x52\xa5\x99\xb4\x5e\xac\xb6\x68\xd0\x64\xfd\x15\xe2\xa0\x81\x4d\x5a\x96\xdc\x59\x2b\x4e\xda\x48\x08\x76\x16\x99\x18\xa1\xf1\x7f\x58\x49\xe5\x76\xe6\xa8\xea\x0b\xc4\x53\x9d\x3c\x17\xe9\x21\x14\x29\xb6\xd9\x28\x0f\xa9\xd2\x23\xb5\x36\x4b\x08\xa2\x4a\xe5\xd4\x17\x32\xe9\x1c\x16\x51\x21\xea\x22\x80\x92\x3d\x05\x22\x32\x85\x1e\x41\x36\xa8\x6c\xef\x58\x08\x20\x3d\x45\xcd\x5a\x15\xeb\x51\x01\xaf\xaf\x99\x26\x0b\xe8\xd5\xbd\xd5\xc7\x79\x95\x5a\x5f\x3f\x31\x8e\x7d\x49\x91\xa1\x89\xa1\x3e\xf2\xc2\x5e\xf6\x48\xfd\xee\x0b\x72\xb7\x25\x37\x02\x2a\x3a\x0c\xe8\xe9\x37\x2d\x74\x9d\x5c\x61\xef\x24\x4b\x5b\xad\xff\xa8\xa0\x5c\x75\x34\x38\x05\x21\x15\xad\xed\x88\x34\xbf\x96\xe9\x4e\xe9\x52\xd4\x35\x0e\x34\x32\x55\xc2\x25\x4c\x4f\x71\x8e\xac\x5d\xfc\x7b\x30\xe0\x34\x8a\x9c\xb4\x3a\x3a\x0b\x95\x13\xd9\x1d\x03\x46\xe2\xbc\xac\x3a\x92\xcb\xa8\xa3\xa4\x86\x7a\x49\x64\xd4\x1f\xd1\xcc\x3f\xc7\xa7\x48\xae\x1e\x9e\x0d\x8e\xdc\x62\x83\xea\xd6\xf1\xdd\xaa\x17\x98\x05\x12\x10\x51\x9b\x77\x4f\x05\x25\x6d\x50\x54\x84\xe0\x2c\x67\x92\x4b\xa5\x85\x81\x2e\x2d\x0c\x5a\xd0\xc2\xa0\x48\x0b\x83\x66\xb4\x30\x68\xac\x3c\x35\x64\x63\x0d\x85\x6f\xa3\xd2\x14\x2d\xe4\xdc\x72\x84\x5c\xed\x94\x26\x01\xb8\x02\x04\x04\x4c\xca\x89\x0e\x14\xf0\x03\xe1\x01\x85\x19\xb9\xe7\x07\x78\x8c\x5c\xf8\x10\xa4\x9e\x29\x45\xc1\x14\x2b\x4a\x7b\x88\x20\xe0\xe6\x4b\xca\x97\x49\x8d\x5f\xa7\x80\x84\x27\x52\x09\xe3\x76\xfd\xd9\x15\x40\x9e\xc7\x23\xf7\x3c\x38\xef\x39\x98\x14\xb1\xde\xc6\x1c\x42\xe1\x0b\x17\x8f\x80\xbb\xe7\xcc\x90\xa7\xab\xba\xa5\x36\x71\xe4\x3b\x80\xc0\xbd\x2b\x80\x5c\xd6\x15\x6b\x51\x0e\xa9\x58\x35\xfb\x46\x0f\x88\x8f\x34\x5d\x7c\xf3\x1d\xae\xb9\xbd\x97\xae\xa2\x14\x37\x44\x1b\x5f\x32\x1f\xa5\x8d\x39\x7a\x2a\x5e\x5d\xc4\x99\x80\xc2\x1a\x62\xaa\x27\xff\xec\x82\xec\x28\x24\x98\x86\xb2\x89\xc6\xe3\x6d\xdc\x24\x69\xaa\xc2\x02\x5e\x85\x1a\x99\x50\x43\x11\x0e\xba\x42\x92\x90\xaf\x4a\xaf\x7b\xa0\x3b\xb4\x0c\x31\x2e\xb2\xa1\x17\x56\xd3\x5c\x31\x14\x98\xb5\x6a\xc0\x01\xf0\x26\x65\xf6\xf0\x1b\x3a\x7d\x03\x48\xf3\x5f\xbd\x9f\xa4\x4a\x23\xca\x2b\x3d\x99\x2c\x96\xec\x7a\x95\x61\xde\x92\x74\x10\xbd\x2a\x12\xb6\xae\xc8\xfc\xd0\xc9\x2c\x3a\x9b\xe2\xb9\x18\x96\xf7\x56\x4c\x59\x47\x7c\xe3\xf7\xbf\x87\xc6\x49\x55\x8f\x3a\x8d\x05\x4b\x61\xa5\x61\x5f\x8e\x2d\x15\xcf\x11\x10\x4c\x20\x31\x2d\xf3\xfd\xc8\x05\xf4\x5c\xa4\x5a\x83\xe4\xf3\xfb\x11\xba\xfe\x42\x13\xfb\x9b\x96\xae\x9a\xd5\x2a\x32\x35\x33\xd8\x2d\x31\xfb\xbf\x81\x11\x8e\x48\x4f\xac\xb0\x57\x7c\x74\x04\xec\xcb\xf8\x1b\x26\x0b\x21\x41\xb6\xb4\x9a\xbd\xf8\x65\xa5\xc2\x2e\x51\x01\xf4\x62\x4a\x3e\xc6\x13\xfa\xec\xb2\x95\x84\x7a\x6e\xd3\x68\x8f\x8b\xa8\x77\xbe\xae\xa6\x6c\x37\x59\xe5\x0a\x98\x6e\x1d\xd9\x68\xa8\xe0\x4d\x02\x2e\xee\x49\x11\x2f\x47\x09\x4d\x44\xa8\xf6\x32\x1a\x4d\xdc\x8c\x6d\x5c\x3f\x2e\xb6\x2f\xdf\xe3\x42\xa1\x86\x56\x67\xbf\x9a\xc9\x1c\x75\xf8\x57\x5d\x2e\xb8\x33\xf5\x52\x9e\x17\x74\x78\xb2\xf9\x16\x31\x4e\xad\x9f\x54\x99\x5f\x49\x4d\x38\x8d\x32\x45\xec\x4d\x83\xfd\x70\x9b\xd4\x87\xd3\x18\x9c\x57\x6f\x91\x7f\xa4\xae\xcf\x16\x65\x91\x6c\x51\xc1\xa8\xae\x04\x52\xaa\x56\x9b\x52\xdd\xa3\xaa\x3a\x23\xa5\xc7\x00\x72\x37\x23\x66\x78\x22\xc7\x81\x5e\xce\xec\x6c\x3e\x19\xfe\xdd\xff\xf7\x7f\xca\x39\x58\x03\xda\xd6\x40\x46\x75\xbd\x3e\x8d\x01\xaa\xab\xea\xd5\x05\xd2\x3b\x91\x4d\x62\x4a\x2f\x44\x3a\x96\xb0\x9f\xe9\x96\xa9\xa5\xc0\x54\x54\x1e\xdb\xb4\xcc\xf8\x83\xfb\xc9\xc2\x59\x23\xff\xba\x57\xd5\x4b\xe0\x6a\x57\xbd\x3d\xf6\x23\xb8\x82\x06\xf0\x0c\xe4\x40\xf0\x83\x71\x16\x4d\x26\x30\xa4\x79\x03\x38\x30\xc6\x10\x3a\xb1\xea\xf0\x83\x51\xa2\xc8\xcc\x00\x72\x09\xde\x0d\x23\xdf\xc7\x01\xf9\xd7\xbc\x8e\xc5\x3f\xfd\x02\x12\x03\x79\x06\xc1\x91\x3d\x7d\xdc\x4c\x02\x6a\xdf\xac\xbe\xb3\x48\xe5\xb3\xba\x5d\x7e\x67\x45\x3f\x17\x13\x1f\xa5\xf2\x44\xc1\xe7\xab\xf4\xc9\xfb\x62\xf6\xec\x47\x52\x7d\x61\xb9\x9c\xff\x21\x30\x1b\x20\xf4\xf0\x76\xd5\x85\x93\x50\x8f\xda\x1d\x5f\x93\x47\x27\xc5\x8c\xc8\x95\x1b\x0e\xd9\xe5\xe6\x7b\xb6\x72\xd6\x49\xd2\x9e\x96\x1f\x57\x2b\xe9\xaf\x15\x63\xa9\x36\x4f\x30\xc9\x32\xb4\x1a\x0f\x9b\x4e\x7a\xa3\x34\x5a\xd9\xed\x26\x76\xc2\x9d\x06\x42\xd5\x04\x55\xf8\xd7\xba\xc5\xa7\x7f\xff\x9d\xfc\xe7\xff\x35\x12\x7a\x3c\xf2\xec\xbe\xb1\xe7\xba\x06\x7d\x3f\x34\x02\x18\xc2\xe0\x0a\x3a\x7d\xbd\x03\x8b\x86\x13\x95\xfc\x3f\xda\xe7\xe4\xa3\x06\xa6\x69\xd9\x2b\xc6\x39\xed\x6d\x82\xc7\x64\x0e\x02\x68\x74\x92\xe5\x27\x38\x11\x7b\xad\x6b\xa0\xd0\xe0\xd3\x74\x8c\xc8\x73\x60\xd0\xce\x09\xb2\xbb\xb1\x31\x9f\xcf\xfb\x13\x2f\xea\xe3\x60\xb2\xc1\x87\x0c\x37\xc0\xc4\x77\x7b\xdb\xfd\xcd\x3e\xf4\xfa\x53\x32\x93\x0b\x0d\xbc\x38\x79\x63\xec\xbd\x38\x3d\x36\xae\xb6\x35\xa0\xfc\xfb\xef\xe4\x2d\x8e\x0c\x1b\x78\x06\xf6\x21\xad\x20\x8b\x23\x12\x22\x07\x1a\x64\x0a\xd9\x40\x01\x0c\x49\x80\x58\x9c\x94\x31\xba\x36\xfc\x28\xb0\xa7\x20\x44\xde\x24\xa5\x80\x34\x46\x4d\xc0\x80\xb6\x82\xc0\x23\x02\x68\x87\x03\x03\x18\x36\x9e\xcd\x60\x60\x23\xe0\x0a\xd0\x8c\xae\x2b\xa6\x45\x13\x5e\x6c\x82\xbc\x49\x73\xd0\x09\xed\x06\xb8\x30\x2c\xd3\x6d\xd4\x37\x97\x7b\xd0\xa6\x49\xf3\x5f\x54\xa0\x66\x2a\x50\xa5\xd7\x75\x59\x39\x6a\x3c\x40\xac\x71\x7e\x1a\xaf\xe1\xbd\x11\x4e\x41\x00\x7b\x63\x5e\x66\xfa\xae\xb3\xd4\xae\xce\x8f\xbe\x46\x1f\xce\x9f\x69\x57\x8e\x51\x90\x58\x5a\x8d\xbc\x97\x64\x9f\x99\x85\x42\x1d\x55\x02\xa5\xf4\xa5\x9a\x1a\x31\x78\x9e\x27\x69\x1d\x8d\x50\x44\x05\x86\x33\x75\x4f\xa5\xba\xf7\x45\x9a\x6b\xe9\xa7\x33\x03\x94\x24\x7f\x19\x68\x36\xe9\x05\x30\xf4\xb1\x17\xa2\xab\xc4\x6e\x2f\xe6\x82\xc5\x0f\xf7\xa8\x4f\xbe\x2c\x0b\x4c\x5f\x13\x0d\x09\x98\xc0\xde\x40\x53\x07\x95\x7d\x7e\xc7\x90\xda\xbb\x21\x24\x46\xe4\xb3\x32\x3b\xc0\xb6\x79\xed\xbf\x96\x5a\x97\x7e\x59\x70\x29\x0f\x43\x51\x19\x9c\x2d\xaa\x97\x74\x24\x91\x46\x7b\x2e\x5f\xd3\x53\x24\x58\x41\x1d\xd9\x58\x52\x7e\x20\xbe\x2b\xaa\xec\x28\x17\x96\xd6\xc1\x91\x99\xa1\xdc\x50\x4b\x6f\x3e\x6d\x6a\xbd\x9f\x20\xfb\x32\x9e\x68\x6c\xe2\x63\x32\x85\xc1\x1c\x55\x71\x5c\x3d\x5d\xeb\xce\x10\x29\xfa\xc9\xc8\xe4\x07\x96\x87\x46\x79\xf8\x07\x8d\xc5\x37\x61\x04\x5c\xf7\xda\xf0\x30\xa1\x4a\x56\x18\x63\x14\x84\x6c\xf7\x8d\x75\x29\x7b\x19\x68\x2d\x2d\x86\x59\x3b\x56\x06\xf2\x1e\x07\x9b\x52\xb3\x48\x0b\x3a\x0b\x22\x8e\x01\xf3\x5f\xff\xeb\x7f\x2f\xb4\xc0\xfc\xcd\xa6\xbc\x72\x4b\x93\x57\x66\xbc\x83\xa7\xa2\x10\xdc\xc3\xd8\x51\x5b\x69\x65\x3a\x49\x09\x9b\x62\x1c\x42\x43\x77\xaa\xf5\x1b\x2b\xfb\x95\x96\x1b\x2b\x3f\xd1\xd5\x6d\xae\x67\xbc\xeb\xdd\x0e\xb5\x3f\xbe\xda\x34\xec\x29\x08\x80\x2d\x52\xdf\x35\x3c\xba\x0f\x0a\xb3\x31\x3c\xc7\x28\x90\x0d\x97\x7d\x76\x65\x25\x28\x96\x3f\xf7\xe0\x51\xfd\x1a\xf6\xe2\x6f\x32\xbe\x69\x4f\x71\x08\x3d\xc3\x6f\xb0\x45\x1f\x04\xf7\xdc\x6a\xc8\x3d\xcf\xd0\xc4\x33\x8e\xbc\x7b\x67\xa0\xba\xed\xd4\xa6\xb2\x56\x7a\xea\x42\x10\x42\x83\x15\xc1\xd2\x42\x80\x9f\x5b\x3a\xf2\x26\x31\xbe\x0d\xe4\xf5\xfb\xfd\xf6\x0b\x2c\x79\xb3\xf0\x4e\x79\x4d\x43\xb3\xee\x40\x77\x19\xa6\xa8\xca\x96\x6c\x6c\x90\x26\x7b\x9b\x96\xde\xbc\x7b\x53\xf4\xc5\xde\xfe\xd9\x37\x70\xeb\x78\x11\x53\x94\x06\x20\xf4\x44\x75\x53\xa5\x01\x5a\x53\xfa\x34\x10\xb5\x1d\x6b\x2a\x9f\xae\xa6\x2e\x68\xa2\xfa\xcc\x4b\xd8\xf6\xa2\xb5\x40\x41\x44\x70\x8c\x73\x17\x12\x98\x29\x0d\x2a\x15\xaf\xa5\x5e\xe5\x94\x41\x5e\xd0\x53\xcb\x64\x3a\xf4\x97\x5c\xeb\xb6\x18\x4e\x26\x9e\x5d\x7e\xcd\x50\x09\x66\xad\x7a\x60\x31\xa5\x07\x18\x21\x09\xb0\x37\x29\x91\x02\x6d\x0b\x94\x2e\x80\xf0\x6a\x59\x5d\x82\xf4\x55\xa0\x7b\x5f\xc8\xf5\x0b\xab\x70\x4d\x03\xf3\xfc\xd1\x07\x87\x78\x2e\x50\x52\x35\xc0\x83\xf3\x04\xfb\x06\x98\x00\xe4\x2d\x87\x06\x78\xa5\x62\x82\xfd\xde\x60\x33\x57\xb7\x78\x6b\xb3\x96\x2e\xee\xbb\x7c\xad\x0c\x66\x11\x67\x92\x8b\x27\xa5\x58\x8f\x3c\x17\xd2\x2b\x0c\xf3\xb3\x28\x24\x2f\x01\xb1\xa7\xac\x20\x0b\x2d\xbb\x90\x56\xa8\xe0\x21\xb5\x01\x74\x04\x40\x5c\x38\x26\x14\x1c\x17\x45\xa3\x29\x34\xe2\xd1\x8c\x19\x1b\x4e\x0f\x27\x55\x42\x76\x39\x12\x36\x2b\x1c\x1b\xcb\x56\x96\xfb\xca\xff\x89\xc7\x88\x5c\x72\x0f\x8d\xb4\x5e\x8c\x2f\xaf\x5f\xee\x9d\x7d\xad\xae\x49\xc6\xa6\xd5\xae\xd3\x4e\x92\xdb\xab\x59\x6c\x6c\x0a\x81\x83\x52\x77\xa6\xe8\x29\x42\x67\x70\x3a\x0d\x18\x15\x2b\xab\xbc\x9a\x65\x15\xbf\x32\x8d\x77\x0a\xa1\x8a\xca\xdc\x34\x96\x98\xf6\xee\x9d\x79\x09\xe9\x89\x06\x4f\x0e\xd3\xef\xde\xa0\xf8\xbc\xf2\xeb\x72\x15\x02\xfe\x5c\x9f\xc7\x53\x24\x5d\x1c\x68\x5b\x3a\x5e\xd3\x5f\xba\x74\x96\x94\xf4\x4f\x3a\x2a\xd0\xf7\xb3\x8f\x8a\xab\x67\xf5\x0d\x00\xec\x28\x08\xa0\x47\x4e\xc1\x24\xfe\x9c\x65\x86\x38\x0a\x58\xa3\x94\x24\xf3\x8d\xc0\xd9\x91\xdc\x5d\x80\x62\xf7\x1f\xf1\x68\x2c\x25\x2e\x17\xe1\xc9\x4a\xce\xe8\xc4\x74\x96\x13\x04\xef\x32\x56\x6f\x2b\x0c\x0a\x6b\xd6\x6f\xb9\xc2\xde\xe3\x21\x05\x74\xf1\xad\xfa\x9c\xa8\xec\x52\x29\x2a\xaf\x3c\xf4\xe1\x3f\xff\xe3\x3f\xff\x23\xbb\x86\x74\x2e\x9a\x39\x82\xed\x4e\x0e\xab\x0d\x35\xb9\x51\xce\x20\x4b\x7d\x5a\x2d\xab\x2b\x86\xf6\x90\xef\x43\x52\x1c\x1c\x7e\xb0\x61\xe0\x13\xed\xe1\x13\x3d\x97\xf6\x6a\x10\x98\xef\x11\x30\x91\x28\x5b\x5c\x3e\x8f\xaf\x4a\xf4\x4c\x9f\x52\x35\x58\xcd\xd2\x09\x7f\x58\xb4\x88\x6b\x16\x04\x5f\x29\xc0\x67\xa4\xb7\x6d\x08\x29\x3e\x07\x01\x35\x4f\xb3\x42\x5b\x95\x66\x51\x79\x8a\x7a\x7e\xf8\xf2\xf4\x78\xef\xfc\x50\x21\xed\x16\x48\x34\xa9\x1b\xad\xb6\x2f\x0b\xfb\xb5\x0c\x91\xab\x94\x99\x0b\x4a\xde\xfb\xe9\x6e\x17\x1c\xbf\xc4\xcf\x5f\xcf\xd4\xfd\x2b\x97\x27\x66\x9b\xb7\x78\xce\x34\xde\x97\xbb\x1f\x66\xd4\x6a\xe4\xb9\x48\xd1\x2e\x73\x31\x37\x67\x43\xe3\x35\x89\xa5\x93\x7a\x32\x5f\xf0\x16\x3d\xc2\x86\x61\x0d\xbc\x8a\x66\xc7\x2c\xe8\x6d\x1b\x9c\x00\x46\xf8\x83\x69\xc5\xe2\x9e\xaa\x9a\x96\x21\x58\x83\x32\xb8\x4c\xc5\x4f\x17\x5c\xf2\x52\x3a\xf1\x0b\xbc\x49\x2e\x2f\x45\x6d\x95\x92\x35\x28\x2f\xe8\xb8\x30\x95\x47\x21\x35\x2f\xdb\xb4\x2b\x4b\xfa\x67\x05\x2d\x65\x69\x42\x4d\x0d\x52\x3b\x13\xcb\xa4\x03\x32\x2b\x8f\xfd\xcd\x70\xcb\x11\x3d\xc8\x4c\x41\x50\x17\x37\x57\x62\xdb\xe2\x00\xdb\xd5\x4d\xb7\xf3\xa6\xba\x7a\x71\x3d\x95\x73\x5e\x4c\x41\x96\xfc\x42\x38\x19\x89\xa6\x53\x8b\xaa\x87\x0c\xdf\xad\x3a\xf8\x26\x51\xee\x2b\x85\xf1\x56\x06\xc6\x52\x94\xef\x67\x0d\xdc\xed\x3a\xe0\x9e\x83\xc9\x8a\x01\xbb\x9d\x01\x2c\x01\x13\xa3\xec\xb0\xf9\xb3\x82\xec\x93\x3a\xc8\x3e\x67\xa9\xe6\xab\x04\xed\x93\x0c\x68\x01\x21\xc0\x9e\x52\xce\xa0\x0d\xe1\xfc\x05\x45\x5e\x18\x75\xb3\x25\x82\x42\xa7\x11\x1e\x07\x71\x89\xab\x42\x80\x3c\xb9\x90\x08\x51\xa6\x69\xd3\xfe\xa9\xfc\x5e\x62\x38\x26\x12\x59\xa5\x7a\x37\xc9\x7c\x34\xa5\x53\x9e\x8c\xd5\x18\xeb\xd0\x0e\xf0\x26\x30\x30\x66\xd7\x99\x53\xb6\xb7\x38\x0a\xb8\xd4\x37\x08\x0c\x66\x06\x0a\x0d\x82\xb1\x11\x4e\x71\xa0\x11\x27\xb8\x02\x1f\x52\x51\x15\x6d\xa1\xcd\x52\x85\x60\x03\xa0\x80\x80\x91\x0b\x37\xe2\x1d\xd0\x83\x0e\x22\xf8\x1e\x82\x07\xe1\x38\x58\x7f\x76\xfc\xcf\xd7\x7a\x7a\xed\x93\x98\xb6\xd8\xf4\x47\x20\x4c\x67\x9d\xb7\xde\x4c\x61\xe6\xd1\x43\xe2\x09\xdd\xe0\xe1\x01\x0a\xc8\x35\x8d\x35\xdc\x07\x9e\x4d\x33\xd7\xb0\xb7\x97\xa4\x40\x65\xdd\x3a\x12\x01\x72\x4d\xf1\x22\x71\x73\xb3\xa4\xfe\x52\xa5\x58\x7c\x29\xd1\x86\xcb\xb5\x67\x3e\x11\x8d\x27\x93\x79\x56\x14\xe5\x5d\x40\xb5\x54\x31\x24\xc6\x70\x04\x99\xf4\xe0\x6c\x04\x9d\x9e\x8d\x1d\x99\xc7\xee\xf1\xbb\x06\xbd\x6b\x88\xbb\x2a\xee\xc3\x79\x43\xbc\xdd\x40\x00\x41\x8a\x34\xa1\x9f\x07\x78\x1e\xe6\x39\xb1\xac\xab\x17\x8e\x22\xd8\xcf\x20\x80\x36\x11\xbf\x80\x8f\x08\x70\xd1\x47\xea\xb4\xf6\xa1\xeb\x52\x46\x2a\xa1\x17\x10\x40\x77\xe2\x76\xc9\xd2\xf2\x7a\x3f\x8e\x42\x48\x02\xe0\x9b\xbc\x36\xaa\xc1\x9f\xc2\xe3\x71\xee\xbf\xbc\x2a\x4f\x85\x1d\xd0\xf6\xe0\x01\x84\x84\x87\xc8\x17\xa1\x6d\x48\xee\x91\x7b\x0b\x63\xae\x62\x29\x4b\xe2\x4f\x01\xf4\x1c\x18\xdc\x47\x78\xf3\xfc\xdb\xf1\xf3\xa9\x0f\xd5\xad\x77\x34\x2d\x6f\x0f\x7b\x3d\x3f\x40\x1e\x61\xa5\x3e\x14\xb6\xf7\x40\xe6\x2e\x96\xc9\x52\xc5\x72\xd9\x9d\x0a\x94\xae\x08\x75\x02\xda\xad\x91\x27\x71\x67\xa1\x98\xdd\x39\xe2\x3c\xf0\xe2\xf2\xa7\xe7\x7b\x2f\x17\xe8\xa9\x97\x29\xed\xc6\xd7\x26\x96\x65\xb2\xf3\x06\x9f\xf9\xc0\xf3\x3d\x79\x1b\x47\x9d\x57\xab\xbc\x36\x76\x7b\xdf\x18\xd9\x19\x98\x35\x85\x1e\xe9\xaa\x5f\x52\x8e\xac\xd1\x46\x75\x39\x67\xd3\xba\x71\x05\x94\xc9\xd7\x39\x66\x62\xd0\xf6\x90\xd3\xfb\xf4\x89\x01\xf9\xf6\xd6\x94\x76\xc9\x39\xb3\x81\x2f\x54\x67\xc8\x31\xe5\x97\x1c\x20\x27\x1c\xdd\x90\x2f\xf7\xdc\x89\x11\x43\xb5\x47\x2d\xeb\xf2\x53\xe6\xaa\x97\x52\x59\x91\x1c\x5b\x32\x91\xc1\x74\xf2\xca\x73\xe9\xf2\x73\xe2\x95\xe1\xa5\x28\x88\x33\x48\xe1\xd2\xb8\x12\x37\xdc\x03\x5f\x82\x20\xd3\x92\x5d\xf4\xe6\x96\xf2\xb4\xff\x00\x86\xf6\xc3\xc1\x94\x03\x43\x3b\x40\x3e\xcf\x80\x6c\x86\xb0\xa6\xdd\x80\xef\x76\xc3\xc9\x66\x6e\x13\x87\x68\xc2\xde\xfe\xfb\xec\xbc\xf2\x22\x2d\xea\xe7\x75\x78\xf7\x93\x6a\x7f\xae\x0a\xf9\x2e\x06\xa4\xa7\x48\x92\x55\x30\xfa\x28\xbc\x6e\x72\xd4\x64\x16\xb2\x8a\x34\xda\x71\x66\x1c\xcd\xf1\x4d\xe4\x39\xc8\x06\x92\x1c\x6a\x52\x15\xb4\xb8\x08\xee\x77\x3b\x46\xde\x25\x0c\x9e\x71\xff\x76\xe3\x35\xa9\xcb\x0f\x51\xaf\xb8\x1f\xa0\x99\xc8\x3a\xac\x92\xeb\xf4\x9c\x9d\x17\x1c\x52\xc9\xf8\x41\xa1\xea\x16\xc1\xd8\x25\x28\x71\x2c\xd0\x9b\x74\x4f\x71\x53\x94\xe0\xe4\x1e\x73\xdc\x5a\xe6\x91\x17\xc2\x80\x18\xbc\xd1\x4a\x75\x09\xb4\x18\x24\x85\xf2\x67\xc7\xfc\xcd\xc5\x80\xee\x07\xf0\x0a\xc1\xb9\x06\xb8\xcb\x78\xce\x72\x60\xce\xe7\x51\x05\xf6\x52\x10\x9d\xb2\x77\xcd\x8b\x6c\x1c\x08\x1f\xf2\x9c\x45\x3c\xb7\x38\x16\xd7\xcc\xe4\x6b\x72\xe8\x22\x8c\x78\xe9\xd0\x05\x5c\xd5\xa4\xb1\x56\x7f\x15\x47\x24\x56\xae\x73\x49\xb5\x55\xa0\xb6\xa9\xcb\xa1\x15\xa4\x85\xb7\x42\x8a\x39\x14\xfe\x8b\xfa\x08\xe7\x72\x2d\x47\x69\xba\x6a\xea\xcd\xf5\xa4\x68\x63\xb7\x52\x6f\xd6\x23\x68\x1b\x78\x57\x20\x34\x02\x1c\x79\x0e\x74\x14\xd1\xf8\x4a\x79\x2c\x37\x5f\x2d\x97\x37\xa5\x52\x25\xbf\xbf\x15\x0e\x5b\x95\xad\xb2\x43\xd3\x61\x6d\x40\xe3\xaf\x1d\x14\xda\x20\x70\x58\x79\x96\x5e\x4e\x3d\x43\x69\x8d\x2f\xe5\xd1\xed\xa2\xe5\x5b\xca\xe1\x29\x97\x6b\xc9\x8f\x55\x51\xa5\xa5\x6e\xc0\xea\x12\x2d\x75\x6f\x17\x4b\x95\x33\xe0\x19\xfb\x53\xe0\x4d\xf2\x95\xeb\xb5\x87\xad\x2e\xfb\x62\x16\x93\x0f\xde\xe2\xc8\x98\x82\x2b\x68\xcc\x80\x03\x0d\x9b\x7d\xdc\x20\x98\x65\xf0\x31\x5a\x36\x7a\xb4\x4d\x27\xf2\x22\x48\x35\x21\xe4\x4d\x0c\x1c\x18\x1c\xdd\xe2\xa5\x1f\xb4\xb6\xa6\xf6\x4a\xea\x4a\x00\x98\x3a\xa7\xd3\x6a\x96\xd5\xb6\x0e\x40\x0e\x06\xb5\xbc\xb4\x7a\x6e\xec\x18\xc0\x4c\x02\x20\x6c\x17\xd9\x97\x95\xf1\x0f\x9c\x44\x54\x01\x10\x65\x73\x3e\xc8\xe2\xa8\x01\x8a\xda\x70\x08\x6e\x14\x88\x5d\xb5\x21\x1a\xcf\xbb\x54\xd1\xd2\x72\x9d\xd3\x06\xe4\x14\x1b\xf1\x8a\x99\xea\x22\xf4\x8f\xe6\x5e\x73\xd1\xd2\x3c\xab\xd6\x94\x43\x38\xf3\xbd\x92\x10\xef\xe5\xfa\xc2\x8a\xce\xab\x65\xf8\xc1\xee\xde\x01\xf6\xc7\xce\xc6\xfa\xf8\xfa\xf2\xfc\xbf\x87\x03\x4c\xc7\xa6\xd2\x48\x9c\x5c\xbe\x21\xcd\x7c\x25\x5c\xf3\xcf\xc8\x5f\xf2\xb9\x1b\xd2\xa5\x31\x7f\x8a\xf6\x01\x87\x89\x2f\xe8\x1e\x9d\x91\xcb\x73\x7a\x7d\xf1\x74\x95\x99\x4e\x5f\xbc\x24\xcb\xf2\x92\xac\xdc\x02\xe5\xb6\x32\x7b\xf6\x98\x1f\xfe\x56\x07\x53\x3f\x6c\x9b\x94\x2f\x88\x0d\xa8\xb1\xa0\xbf\xae\x8d\xfa\x19\x9a\xa7\x55\x51\xc4\x5f\x4c\xd1\x07\x64\x8a\x7e\xb1\x3d\xbf\xd8\x9e\x2b\xcc\xd9\x28\x98\x4e\x8b\x99\x5f\xf7\x17\x3a\x72\xf2\xcd\xd8\x81\xb3\xd1\x66\xe3\xd0\x91\x6c\x4b\xb9\x58\xeb\xa4\x04\xaa\x74\xdf\x5d\xe4\xe8\x69\x7e\x1d\xa2\xf9\xb5\x9a\x03\x0e\x04\xff\xe5\x90\x12\xb9\x6d\x29\x43\x16\x90\xcb\x7d\x8a\x73\xb3\xf3\x98\xac\x62\x2c\xe7\x82\x72\x92\xbc\xb7\x77\xc2\xd2\x4f\x4e\x18\x98\xdd\xaf\xce\x9b\x5a\x55\x30\x4b\x06\xed\xad\x89\xc7\xc6\xce\x3d\x07\x47\x6e\x1c\xbf\x98\xec\xfc\xf2\x66\xb4\x48\x70\x64\x12\x7e\xa3\xe1\xe8\x21\xc8\x5f\x45\xa4\x64\xcc\x29\x6d\x14\x42\x6a\x45\x1a\x64\x0a\x08\x37\x3f\x46\x30\xcc\x06\xb1\x7d\x6e\x41\x95\x42\x69\x8b\x17\x51\xe1\x94\xa8\x18\xe0\xda\x23\xe0\x43\x2f\x84\x2e\xb4\xab\x3d\x1a\x7c\xeb\x46\x88\x3f\x9c\xb3\x60\x85\xba\x91\x2e\xd5\xc4\xd4\xba\xfb\x25\xa6\xba\x53\x40\xa6\xc9\x15\xaa\x16\xf3\x2b\x6c\xac\x0c\x5e\xd9\x94\x32\xb9\xbb\xf4\xca\x2b\x3f\xe9\x5e\x5e\x95\x0f\x46\x9f\x65\x5a\x4a\x6a\x73\xce\x58\xd0\x24\xf5\x22\x58\xe2\xbc\xd7\x81\xec\xe1\x8a\x50\xf9\x0a\x13\x32\x24\xd7\xa5\xc9\xbe\xfd\x7d\xec\xc0\x97\x28\x36\xb6\x8d\x4f\x39\x59\x3c\xa5\xe9\x91\xbb\x06\x88\x08\x36\x1e\xa3\x59\xbc\x9f\x81\x47\x9e\xe6\x1e\xa3\xa9\x94\x21\xfa\x08\x77\x8d\xc1\xd7\xfe\x87\xcc\xed\xdb\xda\xf9\x65\x1c\x48\xe5\x11\xaf\x52\xa8\x6b\x86\x61\x3e\xe3\xd1\x7f\xbc\xad\x12\xa5\x2b\x86\x10\x53\x32\xe8\x55\x30\xd3\x35\xd4\x97\xc9\x6d\xf3\x7c\x72\x09\x0c\xf7\xfe\x44\xf6\xb3\xab\x37\x3f\x3f\x7b\x35\x9a\x6a\x8b\x6c\x05\x1d\x66\xc8\xcf\x28\x23\xb8\x6c\x65\x8f\x5d\x63\x6b\xd3\xff\xf0\xd4\xb8\x55\x88\x46\x4a\xef\x09\x15\xa9\xf5\x03\x95\x6a\x60\x99\x3c\x5c\xfb\x82\xbf\xc3\xe9\x8e\x99\xc8\xd8\xe1\x74\x26\xf8\xa4\xc2\x3b\xb1\x02\x1a\x59\x58\x2c\x8f\x5d\x3c\xb7\xa7\x20\x20\xf7\x2b\x9b\xa7\xee\x11\x19\x10\xe7\xe3\xca\x13\x17\xa8\xdf\x6a\x65\xb2\x99\xfd\x9a\x03\x6e\xc1\xd4\x08\x6b\x32\x85\x86\x83\xc0\x24\x00\xb3\xcf\x56\x56\x27\xf4\xd3\x13\x2b\x69\x78\x10\xa1\xac\x34\xad\x61\xc7\x96\x9c\x79\xe8\x38\x46\x07\xd5\x35\x44\x85\xab\x72\x1c\x88\x9a\xb4\x09\x83\xd8\xb4\x24\xf9\x21\x5b\x88\xcc\x99\x29\xda\x4a\xcc\xe7\xf3\xbe\x13\x80\x79\x1f\xe1\x8d\x1f\x68\x76\xc1\x70\xb0\x16\xa1\xe1\xcf\xd0\xf3\xa0\x73\xbd\x16\xfa\xc8\x1b\x6e\xae\xf9\x01\x26\x78\xf8\x47\x88\xbd\xb5\xd0\x77\x41\x38\x1d\x6e\x26\xce\x51\xca\x07\x2d\x93\xce\x61\x84\x03\x07\x06\xbb\x9b\x4f\x0d\xfe\x97\xb1\xf9\xd4\x98\x23\x87\x4c\x77\x8d\xc1\xe6\xe6\xff\x78\x9a\x70\xc5\xc1\xe6\x66\xcc\xf7\x6a\x97\xf7\x79\xd7\x79\xaf\xe4\x5d\xcb\xe2\x84\xf7\x27\x34\xbf\x7a\x7d\xf4\xd3\xfe\x6f\xe1\xd5\x22\x29\x12\x34\xf5\x85\x35\xee\x29\x73\xde\x09\x57\xfc\x80\x53\x2f\xaf\x25\x55\x4c\x9b\x48\x8e\x22\x57\x5b\xd0\xa9\x06\x0f\x29\x5e\x1f\x35\xc3\xeb\x04\xce\x90\x87\xee\x57\xbc\xfd\x33\x58\x3f\xdd\xb4\x2f\x5f\xa9\xcf\x8e\xb9\xdb\xe9\xf3\x15\x72\x2f\x28\x88\x0d\x98\xb6\x12\x41\x61\x18\x41\x5a\xc8\x97\x20\xfb\x12\x52\xa7\x66\xda\x7f\x45\xe6\x93\xb4\x64\x3d\x0c\xe2\x9b\x7d\x1b\xcf\xba\x0f\x53\x12\xe6\xfd\xef\x35\x82\xa8\x5a\xfe\x28\x7b\x1c\x94\xbf\xa2\x5b\xc6\x42\x91\x6e\xc8\x68\xbf\x17\x05\x99\x3e\x33\x0c\x5b\x6f\x5e\x1f\x57\x30\xfc\xda\x74\x13\x65\x39\x90\x0b\xeb\x9d\xfc\x4d\x2b\x13\xfc\x4e\x2b\x14\x4f\x4c\xcb\xa4\xd3\xb9\xc8\x17\x1c\xac\xcd\xef\x6e\x93\xed\x07\xfb\x93\xbe\xc1\xfb\xf1\x4c\xa1\xeb\x3b\x30\xbc\xcc\x93\x9c\x96\x7c\x5b\x2e\x86\x92\x7a\xf2\x30\xa8\xa8\x18\x6f\x96\xa6\xd9\xeb\x61\x40\x8c\x5e\x86\x86\xe4\xeb\x77\x83\x0b\x41\x77\x15\x8b\x5e\x31\xd8\x0b\x1b\x03\xf8\x88\x17\x9a\x13\x19\xb8\xa7\x47\xc6\xcf\xec\xca\xf2\x11\xc2\xbf\x66\x15\x6a\x7d\x26\x28\xd9\x3b\x3d\xa2\x5f\xbf\x53\x84\xc4\x74\x60\xc4\x0b\xbf\x84\xd7\x46\x67\x1c\xe0\x19\xbb\xe4\xb3\x36\xff\xdd\xc5\x11\xa5\x08\x60\x2f\x39\x82\x06\x11\xc9\x94\xd1\xd9\x93\x5a\xe8\xd6\xe8\x9c\x2d\x38\xaf\x59\x08\x6b\x68\xd4\xb2\x77\x59\x01\x52\x0a\xce\x70\x46\x3d\x89\x06\xc7\xd0\x1c\x07\x97\x49\x4d\xb8\xca\x43\xb1\x62\x11\x46\x61\xa8\x71\x1a\x4c\x86\xd2\x28\xca\x28\x3f\xdb\xa6\xf4\x5a\xb1\x24\x63\xd9\x64\x84\x22\x9a\x84\x75\x7d\x9d\x96\x7f\x13\xf9\x51\x0b\xa6\x8b\x64\x9c\x3c\xf9\xef\xf7\xd2\xaa\x8f\x47\x8e\xac\xf2\x2a\x2d\xa8\x5a\x37\x74\x76\x95\x5c\xbd\x63\x9a\x36\xb3\xeb\xd8\x2c\x46\xc0\xbe\x9c\xd0\x00\x03\xd6\x4e\x68\x37\x9d\xc5\x7e\xfc\x9b\xf2\x81\xa7\x66\x75\xc8\xc6\xaf\x62\x0d\xdc\x4b\x9c\x5f\x48\xbe\xce\x1f\xe7\x2f\xaa\x14\x8e\x62\xe9\x3d\xe6\xd0\xd6\xdd\x09\x6d\x01\x24\xbe\x92\x40\x8a\x43\xfe\xbf\xfe\xfd\xdf\x74\xcd\x4a\xab\x9c\x10\x2b\x8b\xe7\x95\xbe\xaf\x65\x0b\xd7\xcf\xa7\xe8\x7c\x2c\x16\x9b\x5f\xb9\x9d\x5c\xb4\x80\x5a\x1b\xc9\xf2\x50\xf7\x67\x21\xff\xf9\xe1\xdb\x8d\x8f\x5f\x6d\x8f\xf5\x2c\xe4\xaa\x62\x00\xab\x02\xf3\xc2\x7e\xd9\x09\x22\xd3\x68\x74\xbf\x56\xeb\xcf\xfe\xd9\x8f\xaf\x07\xeb\x3f\xfd\x25\x9c\xb2\x3c\x60\xd1\x32\x5f\x20\xf2\x63\x34\x32\x50\x68\x4c\xf1\xdc\xf0\x21\xf6\x5d\x68\x8c\x22\xe4\x3a\x89\x85\xda\x4f\x4d\x54\x86\x87\x87\x6c\x99\xd6\x79\x49\x93\x58\x38\xb6\x14\xcd\x72\x07\x4b\x55\x84\x4a\x8d\xde\x65\x68\x50\xb5\x4a\xd4\xab\x60\x02\x3c\xf4\x11\x08\xfa\xd1\x29\x6b\xbb\xca\x83\x61\x13\xcf\x3d\x18\x84\x3d\x27\xc0\xbe\x83\xe7\x9e\xb0\x02\xd8\xe5\x9a\x13\xe1\x57\xf1\x43\xf9\x03\x61\x3a\xb5\xec\x71\x30\x37\x28\xe8\x98\xd5\xd5\xd3\x16\x36\x23\x38\x98\xb1\x04\x66\x03\x07\xcc\x86\x98\x4f\x71\x08\x8d\x00\xfa\x38\x8c\xa9\xee\x9a\xb6\x80\x99\x03\x8f\x18\x84\x16\xfe\x2a\x34\xeb\xd7\xf5\x53\xaf\x84\x5e\x62\x86\x80\x08\x9c\x85\x46\x88\xbc\x2a\x6d\xbb\xde\x16\x14\x46\x20\xb7\x09\x53\x5b\x70\x14\x00\xcf\x9e\xf6\xd8\x07\xf2\xe8\x62\x37\xcf\xd8\xc7\x2f\x84\xdd\xae\x6d\x0b\x2e\x8c\x4a\x2e\x16\x62\xe6\xf8\xb5\xe1\x80\xeb\xd0\x00\x13\xfc\x90\x50\xc4\x99\xf7\x2f\x08\xce\xcb\xc2\xed\xea\x26\xc0\xd9\x20\xcb\x72\xd6\xab\x6e\x5e\x82\x63\x51\xd8\x90\x63\xf9\x82\xa7\x62\xf5\x66\xc8\x85\x21\xc1\x5e\x11\xbf\x34\xf7\x4b\xdc\xa5\x5b\x3d\xad\x88\x58\x8b\xd7\x1a\xc2\x95\xc7\xad\x00\x8c\x14\x40\xa9\xd5\x59\xbb\x25\x0c\xa8\x03\x38\x54\x02\xe0\x88\xdd\x5a\xea\xe2\xc5\x98\xf7\xbf\x70\x1b\xcf\x66\x88\xa8\x57\xbe\xcf\xef\x2d\x75\xe9\xc9\xa0\x35\xbb\xa1\x6e\xab\x2c\xc0\xfa\xc9\x14\x1a\xf1\x7e\x0a\x17\x67\xef\x2a\x9f\xce\xca\xd4\x0b\x8a\x57\x45\x73\x2a\x6d\x5e\xa2\xdf\x3b\xb0\x5a\x45\x79\x9d\x08\x48\x1d\x12\x4e\x74\x94\x8d\x08\xf5\x5c\x14\x92\x9e\x8f\xec\x4c\xfa\x29\x15\x62\x5c\x27\x78\x8e\xa0\x4b\xbb\x4a\x20\x6f\xe2\x42\xf6\xc1\x54\x8d\x4e\xe8\x33\x1e\x87\x51\x66\x2c\xad\x4d\x6e\x1e\x15\x49\x93\xaa\x30\x45\x63\x7b\x41\x44\x37\x2b\x3e\xba\x1a\x6a\x58\x91\x97\x52\x77\xb9\x25\x3e\x83\xbb\xf3\x12\x14\x2c\xce\xa5\x18\xaf\xf7\xe7\x25\xf8\xed\xb7\xb7\x7f\x9e\xba\xaf\x34\x63\x8a\xf4\x4a\x06\xae\x0a\xe0\x0b\xfb\x0b\xfe\x40\x01\xb8\xe7\xda\xb3\x97\x4f\x5e\xc0\xeb\x7f\xfc\xf6\x97\xf0\x16\xc8\xa7\xdb\x3f\xa1\x00\xf0\x03\x6d\x12\x00\xfb\x32\xbe\xfe\x30\x5d\x01\x95\x7e\x80\x02\x4b\xac\x66\xa1\x83\x2d\x63\x36\xca\xd7\x65\x29\xfa\x09\x42\x18\x86\xcc\x0e\x46\xe1\x9e\x33\x43\x15\x75\x8f\xb2\x5d\x97\xec\x28\x24\x38\xa6\xeb\x3e\xf2\x08\x9c\x04\x80\xc7\x43\x67\x1b\x19\x95\xa6\x1a\x29\xba\xb3\xd4\xb6\x3b\xa2\xbd\xf0\x26\x51\x00\x0d\x8a\xd2\x7d\xec\x79\x34\x4e\xbc\x69\x97\x16\xc5\xc2\x72\xed\xd7\x5a\x78\x4f\x4a\x33\xc6\x02\xe3\x80\x73\x00\x03\xc4\x00\x46\x21\x09\x00\xc1\x81\xe1\x41\xe8\xd0\x42\x26\x7e\x80\xaf\x90\xc3\x57\x65\xb3\x55\xc5\x46\xb8\x03\x09\x40\x6e\x68\x8c\xe0\x18\x07\xd0\x88\x42\x30\x81\x7d\x5d\x0f\xb6\xb6\x80\x52\x88\xab\x85\x9c\x49\xcd\x88\xb8\x7d\xb0\x9f\x99\xed\xd1\xa2\x5d\x11\xeb\x0e\x8c\xdd\x9a\x00\x0e\x8a\x67\xda\xfc\xcb\x38\x06\xde\x24\xe2\x29\x42\x7a\xed\x9a\x1a\xc5\x73\x14\x93\xf6\x63\x39\xd3\xfb\xe3\xcf\xd2\xd8\x8e\xf8\x56\xe1\xf8\x9a\xc7\x61\x74\x62\x74\x47\xa1\x31\x34\x02\x18\x62\xf7\x0a\x3a\xc6\xde\xc9\x41\x4c\xbe\xb1\x44\x32\x86\xc6\xd9\x35\xe3\x21\x5d\xe3\xd5\x6b\x03\x84\x21\x9a\x78\x10\x1a\x43\x63\x84\x47\xe1\x0c\x91\x69\x8d\xad\x54\xeb\x8e\xa8\x69\xf4\x52\xc1\x5b\x32\x79\x80\x85\xfe\x8d\x09\x89\x2c\x2b\x7e\x52\xc7\xad\x9b\xab\xae\xbf\x8c\xed\xc0\xf3\xbd\x99\xed\xfe\x22\x40\xf1\xc2\x33\x0a\x90\xd6\xe4\x75\x4a\xe7\xdd\x85\x42\x9b\x57\x89\x96\xa0\x5b\xdd\x9f\x32\xfb\xd1\xfd\xf6\xd9\xdb\x93\xe8\xe4\x61\x1d\x79\x15\x21\xd3\x1a\xc8\x33\x10\x5c\x3a\x78\xee\xdd\x73\xa0\xe6\xdb\x37\x3f\xfd\xd3\xfb\xf1\x9f\x77\x95\x23\x98\x56\x95\xb6\x94\x35\x3b\x73\x25\x9b\xac\x5c\x8d\x49\x59\x3e\xad\xee\xe4\x4c\xaa\x7c\x4d\x49\xa8\x59\x7d\xa9\xda\x57\x52\xee\x59\xa3\x07\x3f\x8c\x53\xb6\xd2\x54\xb9\xd2\x3c\x39\x9d\x24\x39\x2a\x72\xc6\x60\x86\xdc\xeb\x5d\xe3\x47\xe8\x5e\xc1\x58\x5d\x2a\x3e\xa2\x4a\xa2\xbb\x95\x3d\x65\xf2\x2c\xfc\x00\x66\x67\xe2\x03\xc7\x41\xde\x64\xd7\xd8\xcc\xbf\xdd\x50\x00\x89\x33\x45\xb1\x6b\x35\x4f\x15\xe3\xa7\x6a\x6b\xa8\xe7\xa5\xb6\x3a\x57\xab\x34\x15\x23\x2d\x74\x90\x16\xeb\xc9\x94\x32\x4d\x52\x02\x85\x6c\x5b\x89\x1b\x2a\xad\x42\xc4\x53\xc8\x8d\x02\xcc\xfc\x54\x6d\xa8\xae\x9e\xc5\x67\x9d\x6e\x14\x85\x50\xfe\x2c\x7c\x4c\x2a\x26\xbf\x24\x89\x71\x7f\xa2\x79\xf2\xcd\xce\xcf\x83\xbd\xb7\x1f\x1e\xaa\x9f\x49\x0d\xa7\xd6\x60\xf7\x41\x0c\xb8\x00\x20\xf7\x7e\x45\xf5\xc1\xf4\xe0\xc7\xf5\x1d\xbc\xfd\x97\xf3\x37\x9d\x26\x00\x36\x6c\x17\x47\x8e\xe1\xe2\xc9\x84\x26\x50\xc0\xe0\x0a\xd9\x52\xfe\x44\x8a\x0a\xe0\xfb\x0f\x39\x46\x65\x99\x8e\xa9\xaa\xec\x89\x1a\x63\x9e\xf9\xed\x63\x74\xf3\x48\x0c\x61\xc9\x95\xd8\xf6\x8b\x19\xf6\x25\x47\x3e\x12\x7a\xab\xa3\xcd\x17\xce\xc4\x48\xc9\xa3\x07\x7c\x44\xf0\x25\xf4\x6a\x82\xcf\xcf\xe9\x33\x4d\xc2\xcf\x17\x3b\x3f\x8c\x01\x40\xbf\xc9\xe3\xce\xaf\x71\x54\x1d\x77\xde\xa6\xe2\x51\xfb\x73\x9d\x65\x45\x46\xb1\xff\xbf\x86\x3d\xf9\xa0\xa8\x8d\xba\xc1\xfe\xaf\x31\x4a\xee\x8c\xae\x9d\x0b\x62\xf1\xb5\xb7\x3b\xa5\xd3\xf5\xcc\x49\x4c\x57\x73\x43\xaf\xd6\x59\x27\xed\xb7\x3f\x59\x6b\x7e\xe9\x9c\x97\xb6\x3d\x4c\x2e\xb7\x0d\x2b\xca\x84\x13\x89\x3d\x9f\xdb\xeb\xec\x23\xca\xe0\x21\xb9\x03\x5b\x6e\xf7\xf3\xa9\xad\x34\x52\xec\x20\x26\xd0\x19\xf2\xa0\x31\x9f\x22\x7b\x1a\x0b\x36\x03\x7a\x24\x40\x30\x1b\x39\xe0\xa0\xd0\x77\xc1\xb5\x41\xbd\x86\x23\x3c\x32\x5e\xbd\x36\x3a\xbf\xff\x6e\x86\x78\x06\x0d\x7f\x1a\x80\x10\xfe\xfe\xbb\x49\x9d\x87\x21\x70\xdd\xeb\x32\x56\x71\xb7\x21\x4a\x4a\x42\x98\x81\x0f\xd2\x20\x2f\xc1\x07\x34\x8b\x66\x46\xd2\x97\x73\xb5\x94\x10\x7f\xdc\x32\xbd\x28\x56\xa3\xf4\x29\x61\x56\x59\x44\x66\x19\x74\xf0\x23\x9e\x1b\x33\xe0\x5d\x67\x08\xc0\xc1\x09\x0d\x94\x15\xbb\xbb\x2f\x7c\xd2\x77\xd3\x78\x4d\x29\x1c\x4d\x0c\xba\x48\x4c\xa9\x1f\xe0\x99\x4f\x96\x15\x5c\x9a\x9b\xab\x65\x7e\x47\xaf\x7c\x9f\x44\x99\xf2\xc2\x43\x7c\x55\x75\xf1\xa6\x74\x85\xa1\x7e\xc0\x29\x07\xf3\x4a\xc9\x87\xd5\x4e\x02\xae\x21\xa9\x52\x93\x6a\x4c\xb4\x76\xcd\x57\x39\xb3\xef\xc1\x80\x56\x1b\x5f\x4b\xb3\xe5\xee\xcf\x88\xde\x3c\xdd\xf7\xb7\xf7\xae\x96\x10\xac\xb1\x4a\x70\x2f\x6e\x3c\xbb\xc0\x23\xd1\xec\x9e\x4d\xe7\x3f\xe6\x7f\xfe\x14\x84\xff\x50\x97\xb2\xff\x9c\x4d\xe7\xbf\x7a\xb5\x1d\x41\x3e\x7f\xb9\x62\x3b\x4b\x8f\xad\x8c\x71\x21\x46\x9c\x06\x70\xcc\xab\xf3\xec\x6e\x24\x5b\xb0\x6f\xe3\xd9\x86\x99\xd4\x40\x0e\x26\x30\xa6\xe0\xf7\x23\x17\xb0\x5e\x1c\xc2\x5c\x8f\x1f\x7f\xf3\xf2\xd8\x38\x48\x41\xfe\xad\x5e\x9c\xb1\xca\x2b\x7c\x9d\xe9\xe3\x5f\x93\x5b\x2a\xaf\x9c\xf7\x38\x0b\xc1\xcc\x77\x13\x42\x0e\x77\x2b\x95\x8f\xd2\xc1\xca\x1e\xd5\x3d\x2a\x77\x45\x89\x78\x65\x75\xdc\x52\x83\x8d\xad\xe1\x0c\xfe\x19\x41\x9e\xe1\x90\xda\x47\xe2\x5a\xed\x72\xee\x64\x8e\x6f\x42\xb8\x0f\xc2\xcc\x14\xdf\x84\xd0\x60\xd7\x1e\xc6\x14\xf7\x99\x9f\x47\xaa\xa0\x2c\x1c\x3f\x0f\x61\x76\x31\xcb\xbb\x42\xe4\x3a\x13\x26\x9b\x5c\x7b\x58\x73\x3c\xc9\x46\xf7\x88\xcb\x46\xc7\x83\x73\x83\x95\xeb\xac\xb0\x30\xef\x18\xeb\x49\xb1\x61\x19\xf3\xe9\xc5\x87\x31\xcb\x33\x42\x23\xa1\xa5\xfd\x4d\xca\x43\xa3\xf5\xcc\x3b\xfd\xfb\x9a\xe5\x42\x8b\x0d\xf2\x53\x15\x84\x71\x57\xd6\xed\xf0\xc2\xda\xde\x54\xd5\x0e\xe5\x0f\x71\x75\xc8\x28\x31\xae\xb5\xec\xa0\x85\x6d\x96\xcf\x5f\x78\x6b\x86\x66\x35\x27\xc8\xea\x86\x96\x2c\x8e\x62\x1f\xf0\xd6\x2d\x35\xdd\x3a\x94\xab\x96\x4f\xa4\xf9\xa8\x65\x47\xd2\x52\x55\xb6\xd2\xf0\x2d\xf5\xc7\x4a\x8a\xb5\x6d\x26\x64\x98\x2e\xb3\x58\xad\xad\xe1\x36\x5a\x81\x15\xdd\xc0\xac\x5e\xaa\xf9\xa6\xb0\xb6\x96\x64\xba\xdd\x9f\xa5\x0c\x4e\x4e\xf6\x2e\x9f\x7f\xb8\x5c\x49\x79\x40\xa9\x27\xca\x43\xad\x0f\xa8\xc6\x43\x6b\xb4\x12\x30\x72\xef\xb9\x30\xfd\xb7\xbf\xfe\x41\x5e\xbe\xd9\x7a\x71\x57\x41\x67\x2b\x30\xc4\x3f\x2b\x6b\x9a\xa2\x5c\xc0\x6d\x1e\x00\xdf\x87\x81\x51\xd6\xe8\x21\xab\x54\xfc\xd5\xab\x8f\x17\x76\xc3\x32\xf6\xd5\xfd\xf1\x4a\xff\xe3\xd1\xb3\x5f\x7f\x79\x7b\xfa\x50\x43\x73\x14\x40\x6a\x0f\xf0\x00\xba\x2e\xbe\x5f\x4e\xe6\xce\xc1\xab\x7f\x3c\xdb\x78\xab\xae\x73\xea\xa2\x90\x7c\x76\x75\x4e\x93\xba\x31\xe7\x14\xbe\x06\x0a\x79\xba\x73\x18\x01\xd7\x98\x83\x6b\x83\x60\x63\x06\x3c\x30\x81\x49\xf8\x42\x0c\xdc\x90\x56\x3f\xe5\x45\x31\xa0\x01\xbc\x6b\x32\x45\xde\x24\x0d\xde\x61\xf8\x7a\xe8\x51\x3b\xd9\xf3\x7f\x36\xe7\x24\x8f\xaa\x22\x04\xa0\x55\xdc\x40\xf6\x25\x0f\x3f\xc3\x20\x70\xf4\x8b\xcf\x29\x1c\x5d\x49\xc7\x2d\x0f\x1b\x04\x82\x99\x31\xa2\x43\xb2\xf4\x74\x10\x40\xa3\x67\xf8\x30\x08\xe9\x69\x12\xbf\x15\x5f\xf5\xe0\x15\x0c\x68\x02\xbb\x4a\x95\x69\x18\xb1\xb1\xb0\x95\xa4\xf2\x6f\xa6\xb9\xe3\x14\x48\x8b\x9e\x41\x2e\xe5\xe8\x91\x01\xb0\x50\xd7\x66\x24\xb0\x58\x45\x92\x74\x15\xfa\xc7\x8c\x23\xb6\xe8\x9a\x63\xc6\x6a\x4b\x66\x45\x87\xc5\x00\x05\x5c\xc1\x98\x8d\xa0\xd3\xb3\xb1\xa2\x60\xc2\x31\x4b\xb6\x6f\x55\xbf\x44\x9c\x05\xb0\xbd\xd8\x1b\x61\x55\x79\xc1\x4d\x0e\xa2\x33\x1e\xac\x2e\x35\xa5\x68\xee\xb4\x56\x7d\x91\x77\xe0\x95\x8c\x6a\x05\x7e\x38\xf2\xaa\xca\x0d\x66\x0a\x4e\x16\x8a\x11\x34\x2c\x3a\xa8\xbd\x04\x2e\x89\xca\xbd\x06\x31\x82\xf6\x45\x85\x8e\xa4\x76\x22\x2a\x36\x66\x36\x15\x55\x13\x91\x67\xbb\x91\xd3\xb2\x6a\xa2\x64\xf3\x17\x0e\x0f\x00\x81\x01\x02\x6e\x0f\xd9\xd8\x0b\x8d\x39\x72\x26\x90\xf4\x44\x21\x11\x43\xfc\x41\x5b\xa8\x1a\x8a\x15\xf7\xd2\x9a\x23\xc9\x12\xe8\xa5\xf7\xfc\xda\x62\x7c\xee\x21\xac\xe2\x3d\x4f\x14\x4e\x8f\x71\x34\x03\xe2\xab\x96\x10\xfa\xa0\xe0\x99\x92\x27\x54\xd8\x0a\x8c\x0c\xca\x69\x5f\xc3\xf5\xd9\xa4\x56\x65\xad\x27\xcf\x85\x20\x18\xa3\x04\x60\x0b\x7b\x7e\x94\x90\x5c\x5a\xe6\xc4\x2a\xea\x70\xb4\x9d\x71\x79\xb2\xfb\x0b\x17\x8f\x80\xfb\xf9\xa4\xbc\x73\xf5\x75\x69\x49\xef\x0a\x5c\x36\x4e\x5c\xb7\xf3\xb3\x6b\x98\xa9\x5e\xb1\xa1\xef\xca\x5e\x2e\x18\x5d\x4b\xb1\xdf\xee\xcf\x62\x3e\xbe\xbe\xb6\x9f\x7c\xf0\x16\x6a\x3e\xe2\x61\xba\x79\x3d\xaa\x06\x15\xb4\x28\x53\xd2\x17\xaa\x2d\xed\xd5\xf9\x10\x55\xb0\x6e\x8d\x38\xee\x39\xba\x5f\xcb\x7b\x2b\xfa\xf1\xd5\xc1\x51\x38\x79\xb0\x89\xab\x0f\x34\x39\xf5\x21\x1a\xde\x55\x27\x4c\x9a\x39\x8f\x49\xd2\x21\xff\xb7\xa6\x9d\x66\x69\x6a\xe4\xbd\x3a\x23\x15\x1b\x6b\x39\x9b\xf4\xfe\xd8\xeb\x29\xf0\xbf\xfa\xc7\x78\xfb\xf9\x43\x75\x48\x2a\xc1\xd4\x1c\xe8\xb4\x69\x00\xfb\x87\xd9\x5a\x77\xef\xf9\xc5\xfe\xd7\x1f\x7e\xde\x53\x9f\xa9\xa4\xdc\x2c\xff\x87\xa6\x84\xbb\x42\x70\xde\x53\xb5\x51\xa8\x54\x6c\xa7\x10\x38\xbc\xb3\x39\x7f\xe3\xf0\x97\xc3\xd7\x6f\x5f\x9d\x1c\x1a\x55\xc7\xf0\x51\xee\x98\xae\x93\x91\xa0\xd1\xc8\x45\xf6\x73\x3a\xfb\xf8\x71\x17\x7a\x13\xa6\x14\x4b\x6e\x91\x24\x7a\xa5\x60\x7e\xe7\xea\x16\x4d\x41\x78\x9a\x19\x50\x3b\xc5\xc7\xcf\xcf\x1b\xce\x7c\x22\x67\xc0\x9c\x60\x63\x42\x55\x66\x23\x85\x5b\xd3\x4a\xfa\xca\x06\x17\x31\x7d\x19\x79\x13\xa7\xdc\xc7\xe0\xeb\xad\x2f\xab\xb9\x33\xea\xe8\x23\xcf\x81\xdc\x1d\xb0\x2d\xdc\x01\xc9\xaf\xd0\x8d\x26\x4d\x5d\x95\xc5\x0e\x19\x88\xc0\x59\xd6\x94\xdc\xae\x34\x25\xf5\x75\xf8\xed\xea\xde\x04\x35\xd5\xbd\x96\x97\xf9\x55\xdc\x05\xe7\x87\x7b\x2f\x17\xd8\x01\x01\x26\xb4\x7d\xc4\x32\x37\x41\x7e\xcc\x26\xf5\x0a\x74\xb6\x02\xf5\x45\xb7\xdb\x08\xcb\xdc\x0b\xda\xcb\xac\xdb\x0e\x5b\x99\xed\xb0\xd5\x74\x3b\x34\xdb\x11\x5b\x4b\xda\x11\x5b\x25\xa0\x55\xd4\x9f\x6d\x42\xce\xa7\x87\xaf\xcf\x5e\x9d\xec\x1d\x2f\x42\xd2\xe8\x0a\x10\xb8\x54\x82\xce\x8c\xb8\x6c\x72\x4e\xce\x50\x1e\x00\x49\xeb\x2d\xb4\x8e\xa0\x07\x19\x82\x1e\xac\x96\xa0\xab\xbd\x85\xfa\x04\xad\x72\x11\xea\xe3\x62\xe9\xc6\x76\x5e\x0b\x6c\xac\x47\x12\x8c\xdd\x11\x08\x36\xc6\x38\xe8\xa5\xb6\xe8\x9d\xbb\x44\xbe\x5a\x77\xae\xbe\xf9\xf0\x66\xe1\x80\xab\x00\x4d\xa6\xc4\xa8\xf0\x8e\x2c\x41\x00\x67\x5f\xf7\x61\x30\x43\x74\x84\x78\x12\x02\x84\x87\x0e\x4f\x91\xd6\xd8\x19\xe2\x9d\x7e\x08\x09\x41\xde\x24\x29\x6c\xce\xfa\x76\x59\xc9\x26\x91\xaf\xf1\xad\x62\xe5\x4c\xfa\xec\xc3\xd2\xe5\x64\x6b\x65\x1d\xa1\xd4\x93\x40\x8f\x09\xd8\x61\x00\x70\xd1\xc4\xeb\xcd\x90\xe3\xd0\x86\x60\x9a\x3a\x56\xcd\x01\x84\xb8\xdb\xae\xab\xd8\x66\xd2\xb3\xcc\x7c\x09\x09\xb0\x8c\x63\x34\x86\xf6\xb5\xed\x42\xcb\x60\xa7\x99\xc6\xbe\x28\xa2\x90\x60\x3a\x01\x65\xab\xe6\x56\x15\x8e\x73\x19\x60\x69\xdd\x23\xbd\x4f\xe8\x10\xce\x9e\xd3\xba\x15\x0c\x3d\xca\x15\xe3\xf4\xc4\x06\xeb\x95\x84\xfd\x56\x63\x7e\x49\x08\x3b\x03\x57\xd0\x00\xa1\x21\x26\xa3\x72\x8e\x2c\x4e\x49\x33\xec\x00\x37\x7b\x4b\xe4\x1a\xfd\xad\x08\x8f\xe2\xd3\x23\x60\x5f\x3a\x01\xf6\x4d\xc6\x68\x90\x2d\x1f\x7b\x31\xc7\xdb\x7b\x1b\xfb\x55\x2d\x2b\x9b\x55\xcb\x68\x4f\x44\x75\x65\x1f\x35\x08\x83\x32\xc6\x7b\xa5\x8a\xd3\x78\x06\x15\x67\x4e\xd8\xa3\x4f\x1c\xc8\x7e\xca\x92\x14\x3c\x0d\x7a\xe1\x6f\xfa\xe2\xa3\x95\x05\x39\x16\xc1\x5a\x25\xf8\x99\x88\x66\x52\x55\x03\xf8\x4e\xcc\xd7\x82\xd5\x80\xff\x90\x4e\x22\xde\x96\xb1\x34\xae\xc4\x03\x7b\x74\x39\x08\x60\x45\xf9\xde\x43\x3e\xe4\x6a\x11\x51\x14\xf3\x3e\xf2\x58\x86\x8c\x65\xa2\xf0\x14\x79\x5e\x4b\x1b\x3b\xb7\x99\x90\xa7\xb3\x95\xb0\xeb\xac\x06\x97\xaf\xe1\x0c\x5f\x41\x63\x0c\xae\x70\x80\x18\x7f\x2d\x45\xe6\x1b\xcf\xa7\x07\xa9\x55\x89\xa9\xfa\xe8\x0c\x09\x08\x54\x9c\xaf\xec\xda\x32\x59\xa1\xee\x11\xf2\xe2\x1e\x95\x56\xd8\x5e\xad\x38\xd5\xc2\xf5\xe9\xe7\x87\x69\xfa\x76\xf3\x52\xe9\xaa\xad\xae\xd4\xac\x0e\xa0\x0b\x89\x4e\x59\xcc\x3a\x2a\x70\xe8\x40\xf7\xcc\xc4\xd9\x6a\x8c\xf4\x2c\x6f\x41\x5c\xb7\xd4\xaa\x38\x2c\x9a\xe9\x54\x0e\xc7\xc4\x12\x0b\x83\x68\xea\xc2\x99\x79\xa6\x27\x7a\xd2\x45\x02\x46\xdc\x45\x61\xf6\x06\xe2\x62\x80\x29\x44\x1c\x04\x5c\x5c\x4c\x5f\x28\xa7\x79\x3a\x72\x2f\x7d\x4d\x1e\xab\x02\x71\x75\x03\x8a\x48\xd2\xa6\x25\x06\xd8\xdb\x53\x08\x9c\x8c\x5f\x4c\x28\xe9\xe7\x92\x92\xde\x48\x9f\x65\xe3\xb2\xa3\xb3\x1a\xfd\x5e\x14\x1c\x1b\x0c\x62\x2e\xc5\x4b\x89\x55\x1d\xe7\xc6\x93\x93\x26\xc6\xb0\x5f\x17\x6a\x59\x3e\xd5\xf6\x15\x0f\xd2\xe8\x53\x0f\xce\x53\x8a\x12\x6d\xf6\x85\xa3\xae\xa4\xeb\x7e\x7e\xe4\xa6\x6d\x0d\x8b\x5d\x02\x8a\xb3\x10\x1e\x02\x19\x62\x69\x78\xa8\x09\x67\x00\xb9\x15\x25\xaa\x4c\xf1\x92\xc1\x5f\xd1\xee\x99\xd6\xaa\x31\x3e\xc6\x4e\x62\x16\xb2\x62\x22\x36\xf6\xae\xe0\x75\x98\xf0\x34\x43\x74\x7d\x5b\xa8\xe7\xda\x5d\x10\x81\x03\x43\x99\xbf\x1d\xd0\x82\x28\x22\xdf\x55\x97\x16\x8a\x79\x4f\x19\x72\x90\x52\x8d\xc3\x22\x01\xd0\x19\xa8\x09\xc0\x91\x67\x53\x6c\x1b\xf1\xd5\xaa\x31\x7d\xf8\xc1\x77\x01\xf2\x8c\x28\x84\x86\x0d\x42\x68\x8c\x71\x60\x90\x29\xca\x7a\x05\x56\x9b\x2a\xab\xc1\xbe\xc6\x18\x17\x52\x35\x15\x10\xa8\x4e\xa2\x2e\x04\x14\x66\x64\xa2\x83\xc2\x58\x2f\x29\x88\x9c\x7c\xa2\xb5\x28\x39\x20\x62\x5e\x16\xea\xb8\x11\xd9\x36\x64\xde\x3e\xc6\x73\x6d\x17\xd9\x97\xad\x59\x6e\xd5\x7c\xe3\xf7\x1a\xe0\xa4\xc6\x04\xcc\xdf\xae\x15\xf2\x2a\x55\xe4\x8b\x88\x17\x1c\x89\x6a\x8b\x07\xd2\x8c\x56\x25\xe1\x65\x9e\xba\x17\xd0\x84\x2d\x23\x8c\xf8\x1f\x49\xf5\x49\x36\x1f\xca\x05\x04\x98\xca\x2a\x12\x7e\xd9\xcf\xf2\x8c\x98\x4d\xd1\x64\x3b\x1f\xe4\xec\x1f\xfd\x0d\x7d\x50\xaa\xa7\x2f\x63\x4b\x2f\xe7\x04\x4c\x75\x7e\xb5\xd0\x21\x18\x3f\x60\xb9\xeb\x13\xb0\x5f\x46\x6f\x5f\x9e\x7f\x7b\xae\x4e\xa3\x35\x6d\x40\xb8\x21\x15\x49\xc7\x9b\x5a\xc7\x62\x01\x9e\x1b\x7f\x44\x21\x41\xe3\x6b\xc1\x55\x7a\x23\x48\xe6\x10\x7a\x86\x87\x7b\x93\x88\x50\xdb\x2a\xb7\x4f\xaa\x99\x9e\xa2\xb2\xb0\xb9\xfa\xf3\x0d\x69\x2b\xa4\xda\x9b\xc4\x6f\xf5\x6a\x85\x67\xb7\x17\x15\x21\x23\xc2\x6a\x70\xca\xec\xb1\x42\x96\x16\x92\x04\x0c\x91\x8e\x27\x8c\x67\xa5\x3d\x2d\xd7\x36\x8d\xef\x82\x00\x81\xde\x14\x84\x3e\xf6\x23\x9f\xa6\xbb\x44\x30\x73\x0f\x7e\xf0\x81\xe7\xd0\xfe\xc7\x74\x77\xd4\xf1\x97\x75\x63\xff\xd5\xc9\xf9\xe1\xc9\x79\x2d\x8b\x51\x00\x35\x59\xc2\x0c\x7a\x51\x66\x1a\x54\xf9\x75\xa1\x33\xba\x2e\x01\x55\x9d\x19\x06\x4a\xbf\x25\x8e\xe9\x07\x69\x05\xb9\xbf\x99\x55\x6e\xad\xb3\x29\x9e\x1f\xce\x7c\x72\x7d\x80\xed\x97\x8c\xe7\xa6\x13\x78\xe6\x02\xef\xd2\xb0\x81\x77\x05\x0a\xe7\x7e\x79\xe2\x9c\x82\x50\xa8\x38\x4d\x93\xe0\x56\xb3\x2a\x31\x1b\xd5\xc2\x9e\x07\x78\x56\xa2\x2c\xeb\x9e\x68\xae\x72\xea\x47\xd4\xb1\xaf\x9a\x38\xbb\x63\x8c\x91\x5b\xd5\x38\x7c\x51\xb9\x4f\xf7\x30\x8d\x98\x89\x25\xc0\x6a\x14\x40\x6d\xb5\xa3\xb1\x26\xa8\x3d\x72\xb5\x4a\xd8\x5e\x37\x64\xdb\x66\x5f\xb1\x6d\x9a\x0f\x5e\xad\x21\xe6\x87\x69\xec\x0c\xda\x73\x1c\xb1\xfb\xb5\x7d\x41\x4b\xf5\x07\x68\x38\x06\x52\x42\xcc\xb9\x86\x04\xcb\x34\x74\x7c\x44\x2a\x07\x81\x46\x63\x0a\xd9\x49\x94\xae\x0f\x44\x04\xc7\xda\x8e\xd0\xe6\xf2\x73\xcc\xf6\x99\x84\x1c\xc2\x27\xc2\x71\x74\x48\x8b\x69\x09\x17\xd3\x4e\xb6\xdb\x94\xf4\xf0\x61\x10\xe0\xa0\xe0\x62\x48\x5d\x4c\x06\x0a\x7b\xc8\xbb\x02\x2e\x9d\x79\x59\x31\x37\x91\x98\x8e\xc7\x63\x2d\xcf\x44\x9d\x97\x40\xfb\x91\x45\x69\xbf\xce\xe0\x78\xc0\x96\x47\xb3\xa9\xb5\x70\x29\x54\x6c\xdc\xaa\x79\x53\x65\xf1\xbe\xcb\xac\x95\xcb\x9c\xd4\xfb\xf6\x45\xec\x34\x16\x3b\x54\xa9\xa9\x39\x72\x78\x40\x72\x47\xd2\xcf\x1e\xac\xe8\xc9\xd0\xe3\xc3\x95\x3e\xc5\x69\x66\x05\x10\x49\x41\xad\x25\x83\x72\xcf\x3f\x70\x31\x54\x49\x0e\xbc\x52\x03\x2d\x79\xe0\x23\xfb\x52\x4b\x9e\x64\x06\x2d\x46\x77\x8b\x6e\x14\xb5\x71\xdd\xa4\xa5\x41\x54\x42\x9f\x48\x6c\x31\x3e\x11\x5a\xdc\x90\xcf\xc6\xc8\x62\x91\x67\xf7\xd0\xc2\x2d\x90\x15\x6e\x4b\x7f\x88\x44\xce\x4a\x33\x84\x3e\x9d\x1e\x7a\xf0\x21\xf3\x95\x44\x6a\xe7\x5e\x89\x9c\xf4\x88\x83\x04\x91\x67\x57\x86\x33\x6a\xec\x29\xb6\x68\x5e\xd8\x22\x25\xb0\x58\xfc\x26\x58\xff\x36\xf3\x6c\xee\x24\x47\x8f\x24\xcb\xc9\xd3\xcc\xd5\x55\xc9\xe1\x60\x01\x12\xc8\x40\x52\x3f\xd0\x84\x96\x18\x59\xc4\xbe\xad\x5f\x71\x6d\xc6\xd6\xe2\x3b\xfb\x8b\x1a\xfa\x90\xd5\xd0\x0a\x39\xfe\x19\x6b\xa2\x2c\xb6\xf2\x8b\x1e\xda\x42\x0f\xe5\x3e\xaa\xe7\xd5\x3e\x2a\xbd\xc1\x9b\xa9\xa1\x8a\x61\x38\x1e\x3f\x62\x4f\x53\xb6\x28\x77\x4a\x8e\x24\xd8\xf1\x68\xc3\x7d\xce\x0a\xd4\x4f\xe8\x3f\xf4\x44\xa2\x6e\x73\x6b\x69\x27\x59\xc9\x56\xfb\xd6\x7e\xbc\xa3\x69\x21\x41\x56\xd3\x8d\x3a\x12\x0d\x1c\x18\x4e\x00\x26\xb4\x08\x1e\xbb\xd4\xe2\xdb\xcd\x27\xd3\x77\xb0\x6d\x19\xf1\x7f\x3f\x58\x46\x7f\xe6\xc4\xff\xe1\x6d\x7f\x57\xff\xfd\x45\x15\x4b\x4e\x0d\xfc\x04\xa9\x56\x15\x64\x8f\x9f\xf1\xa7\x5b\xab\x02\x66\xee\x48\x38\xc9\x2d\xd5\x4c\xc2\x53\x65\x8f\xb6\x82\xcd\xe7\x25\x74\x97\x23\x6c\x5d\x5c\xdf\x48\x65\x95\x32\x4b\xaf\xde\x40\x7d\xfa\x44\xe6\xd0\xd1\x48\xb3\xfc\x94\x54\xcc\x95\xd9\x1d\xcb\xa4\x15\x82\x54\x27\x91\xf4\x80\xf7\xd5\xdc\xcb\x14\xbc\x29\x3e\xf1\x92\xd6\x9b\x4d\x88\xbf\x51\x92\x6b\x8b\x44\xbe\xcf\x3b\x31\xef\x8c\x2f\xd8\x32\xa2\x10\x06\xa1\x65\x48\x00\xb5\x0c\xc9\xb0\x7c\xd8\x09\x7a\x15\xa7\x85\xc2\x7f\xd2\x2c\xb1\xfb\xaf\x91\x05\x44\x4f\x5d\xcb\x33\x81\x9a\x52\x9c\x56\x3e\x50\x2d\xa3\xb9\x43\xf4\x57\xf0\x8f\x45\x49\xe1\x21\xe5\x12\x30\x8e\x74\xe7\x19\x9a\x19\x40\x2c\x2b\x91\xe0\xe1\xd0\x4e\xab\xb4\xb3\x3a\xb2\xf9\xcb\xa4\x9d\xb5\x61\x1c\x65\xf9\x48\x7a\x1a\xc8\xaa\x72\xc7\x96\x84\xb2\x87\x9d\x3b\xb6\x52\x74\x89\x6b\xcd\x73\xc0\x8a\x9a\xa4\xf2\x42\x1d\x17\xfe\x12\x3a\xac\xca\x0e\x8a\x21\x64\x50\x11\x51\x9e\xcf\x50\x37\xea\x8a\x72\x83\xe2\xa9\xa9\xc3\x5a\xeb\xdc\x4c\x8d\xa3\x94\x29\xa1\xd0\x7e\x13\xc0\x75\x93\x98\xe5\xb0\xa2\x8d\xfa\x92\xce\xfd\xcc\xd2\xe3\x3e\x4e\xb5\x8c\x84\x73\xc7\x7d\xa7\x2e\x04\x21\xa4\x19\x34\x7c\xea\xac\x5f\x2f\x2f\x08\x1c\xcc\x74\x2c\x43\xf5\xc9\x1f\x37\x38\xa5\x66\x3c\xf9\x93\xbf\xb4\x51\x3e\x3b\xd6\x53\xcc\xb4\x22\x0d\xe9\x2c\x99\xae\x30\x9f\xd8\xeb\xf4\x3a\x3f\x10\x5c\x71\xca\xca\x79\x8c\xf1\x39\x8a\x11\xcd\x48\x20\x83\x73\x4a\x05\x89\x4d\x63\xcc\x11\x99\x22\x4f\xa2\x92\xc7\xab\xb4\xaa\x97\xe6\x92\x30\x1f\x9c\xfb\x5f\x6b\x46\xcd\xe3\xdf\x2b\xb8\xc4\xfd\x05\xbf\xd7\x49\x24\x6e\x22\x7e\x91\x48\x0a\x89\x54\xb4\x5c\x97\x22\x91\x8a\xba\xfb\x14\x84\xfb\x80\xc0\x09\x0e\x50\xb3\x43\x71\x85\x90\x11\x93\x76\x79\x01\x37\x83\x03\x45\x2c\xc3\xc0\x81\xf0\x72\xdb\xc9\x37\x0b\xf5\xd9\x15\xfd\x3c\x5a\x4d\x90\xcf\xf1\x89\x65\x46\x68\x23\x42\x69\xbf\x87\x84\xcb\x4b\xe7\xef\x49\xd3\x0d\x46\x94\x67\xd2\x11\x71\xd1\x0f\x95\x56\x5b\xe3\x33\xbb\x4e\x8f\xaa\xeb\xad\xa7\xd2\x6a\x6b\xad\x5a\x65\xa8\x64\x7d\x01\xfe\x94\xcd\x8f\xa0\xc1\x16\x07\x9d\x18\x21\xc0\x08\x91\x37\x71\x61\x8c\x91\x71\x0f\x7a\xb6\x8b\x43\xe8\x30\x3c\x8d\x91\xab\x55\x37\xbf\xe8\xb0\xfa\xc2\xc4\x17\x38\xba\x15\xfe\x27\x7d\x06\x7e\xd8\xd4\xb1\xd4\x88\x81\x2f\x3f\x7b\x89\x92\x65\xe3\xd4\x25\xa9\xdb\xd4\x9d\xd7\x7f\xfe\xf5\xcd\x1c\x7c\x3c\xfc\x56\x9d\xb2\x54\x9a\xa3\xc4\xa7\xab\x0a\x0e\xca\xe8\x84\xbc\x1a\xbb\x1d\x86\xa2\x0d\xfb\x05\x7f\x27\x80\xc0\xc1\x9e\x7b\xcd\x9f\x48\x7e\x26\x64\x51\x62\xda\xda\xa2\xf7\xd5\xbb\x77\x26\xef\xa7\x25\x2e\x55\x75\x1c\xe2\x65\x5c\x67\x7e\x45\x45\xbf\x4d\xcb\x34\xf8\xff\xf8\x0e\xc0\x49\xfe\x37\xdd\x6a\x28\x04\x23\x97\xe6\xf2\x88\x95\x27\x1c\x96\x6b\xd9\x61\xcf\xc3\x44\x72\x44\x24\x6d\xbf\x2e\x4a\x6d\x1b\x43\xfa\x9f\x50\xd8\x69\xa9\x2b\x36\xd9\x9c\x8a\x2c\x3f\xa9\xe7\xd4\x52\x34\x8f\x62\x82\x9c\x1d\x57\x5c\x42\xca\x4a\xcc\x7f\x45\x0e\xf4\x08\xef\x44\xdf\x08\x32\x83\x24\x78\x90\xb7\xbe\xdd\x61\xe8\xec\xf9\xb4\xf9\x99\x90\x3c\xc9\xa1\x49\xbe\x61\x5a\x7a\x3a\x73\x51\x0a\x55\xf8\x67\x04\x5c\xc5\x58\xad\x21\xac\x35\xc7\xb4\x85\x5b\x3a\xba\x1a\x1d\xb5\xf8\x18\xac\xae\x7e\x68\xc2\x3d\x5a\xf0\x9d\xf8\x65\x70\x05\x08\xb8\x87\x1a\xff\x3b\x6f\x7e\xfb\x38\x1a\x20\x75\x13\x4c\xcd\xc4\x48\x3e\xf7\x0b\xb9\xfb\x43\xcc\x84\xd8\xf5\x5e\xc2\x5c\xc6\x47\x8e\xc4\x7b\xb8\x3b\x2d\x6d\x0e\x3e\x46\x41\x48\xb8\xf5\x6d\x0a\xa6\xe5\x02\x71\x8d\xbd\xd8\xd6\x81\x57\xd0\xdb\x45\x8f\xc1\x10\x06\x3d\xe4\x21\x82\x80\x9b\x16\x21\x96\xa6\x22\x88\x51\x9e\x88\x92\x0a\x57\x21\xd5\x64\xda\x68\x49\x58\xa9\x42\x7a\xd7\xa4\x75\x1e\x6d\x1e\x12\xbc\x39\x57\x4b\xb5\x35\x3e\x46\x65\xf6\x6d\x5e\xac\x49\xeb\x31\x8a\xe1\xcb\x99\xb0\x57\xe9\xd1\x5e\xb3\x10\xd8\x7d\x16\x3c\x59\x23\xc7\x1a\xc4\x77\x9a\x5a\x8e\x5e\x43\x36\x14\xe4\x38\xce\x45\x1b\xde\xe9\x7d\x5e\xf5\xd5\xd6\x0d\xea\xca\xb5\x71\xea\xc7\x12\x41\x2c\xdb\xd6\x60\xe5\x8a\x61\x76\x17\xb4\xdc\x44\xdc\x90\xbf\xf3\x2d\x74\x06\x9f\x8c\xbf\xfe\xf5\x6c\xb6\xd8\x16\x4a\x38\x32\x53\x03\x99\xea\x91\xf2\xe2\xd5\x39\x44\xf2\xdb\x57\xf6\x8a\x08\x06\x1f\xa2\x8f\x32\x73\x7f\x60\x4e\x12\xae\x07\x8a\xa6\x89\x15\xdd\x11\x9b\xbb\x49\x96\xe1\xb8\xcf\xf6\x68\xaa\xf5\xd9\x33\xcd\x8b\x6d\xbb\xff\x46\x6e\xd3\x72\x56\xcf\x6d\xf0\x2c\xb6\x6d\x7a\x75\x1f\x08\xed\xba\xba\x27\x66\x71\x1d\x79\xb2\x8f\x17\x23\xfa\xdc\xd2\xa7\xce\x69\x39\xae\x44\x13\xd2\x0a\xb8\x56\x22\xba\xd4\x6a\x17\x2b\x61\x47\x14\x5a\x4b\x79\x20\x86\xbc\xcc\x70\x5b\x72\x6b\x39\xe9\xe7\xce\x59\xf6\x4f\xaf\xfd\x67\xff\x00\xd7\x3f\x35\xb4\xe5\xdb\xa5\x30\x99\x1a\xa9\x4a\x83\xaf\xb3\xad\x96\xe9\xdf\xfb\x61\xa8\xd6\x70\xb2\xc1\xab\x04\xce\x9a\x85\x69\x35\xcb\x55\x1a\x2c\x96\xab\x74\xce\x6d\x80\xc4\x6e\xac\x3d\x6b\x6f\x94\x8b\xc4\x2d\x04\x1a\x5c\x53\xb0\x4d\x63\x53\xe0\x39\x82\xae\xa3\xb0\x07\xca\x13\x83\x06\x2d\x13\x83\xda\xa9\x70\xfa\xee\x89\x72\x07\xab\x46\x6b\xdf\xbb\xe2\x09\xd2\x46\x68\xc9\x18\x02\xe0\x20\x7c\xf7\x2c\x21\x7c\x76\xf8\xf5\x4f\x87\xe0\xd9\x72\x0d\x21\xba\x18\x0d\x2b\x88\x3e\xf7\xf9\x9a\x40\x74\xfa\xef\x99\x74\x7b\x4f\xc9\x1a\x3a\x77\x6a\x0d\x65\x26\x10\x79\xda\x53\xc8\xec\x8f\x8c\xce\xb5\xba\x2d\x42\xe7\xda\x7c\x73\x84\x30\xe8\x79\x98\xa0\x31\xb2\x01\x27\x87\x3b\xde\x22\xd7\xf8\x74\x6f\x63\x1b\x7c\xa5\xde\x22\xb3\x70\xa2\x2b\x34\x8b\x6b\xa9\x95\x72\xf2\xd3\xd5\xd2\x2e\xe7\x7e\x2d\x34\x9b\x9a\xc1\x30\x04\x93\x62\x77\x75\xcd\x24\x8d\x55\xba\x27\xf3\x60\x69\x47\x24\x7e\x80\xc7\xc8\xbd\x87\xa2\x6e\x64\xb6\x75\x70\x79\xfc\x2b\x59\xc4\x4d\x49\xfb\x60\x8a\x15\x14\x7c\xd3\xe5\x1a\x42\x59\x84\x51\x8e\x1a\x14\x71\x45\xb2\x47\x33\xa9\xd6\x20\x5f\xfb\x56\x39\x18\x57\x3c\xc6\xd8\x8e\xc2\x9e\x46\xb5\x80\x34\xd9\x21\xfd\x60\xb6\x10\xc0\x0c\x3b\xb4\x85\x71\xce\xaf\xb9\x93\x3f\xa4\x4f\x26\x57\x92\xfa\x5f\x9a\xf0\x2f\x8b\x95\xa2\x73\xbe\xb8\xd4\x55\x40\x3b\xf5\xd0\x26\xef\x1d\x03\x4d\x58\x37\x82\x72\xf2\x21\x35\x90\x25\x4f\xb1\x0a\xc6\x62\x4e\x9f\x23\x88\x59\xe5\x6b\xe9\x64\x58\xfc\x5e\x1e\x70\x45\x71\x6d\xfe\x6f\x16\xb4\xfc\xfb\x4a\xb8\xd2\xb9\xac\x12\xa8\x45\x05\x08\x85\x7b\x11\x99\x9e\x06\xf8\x0a\x39\x30\x38\xe0\xfc\xb3\x89\x08\x69\x81\x9d\x6a\x0c\xf9\x20\x0c\xe7\x38\x90\x35\xa8\x53\xe9\x52\x11\x4f\x8b\xe0\x2a\xf9\x98\xf4\xdd\xa4\x0b\x74\xf1\x96\x1a\x6f\x62\x7a\xcb\x45\x9d\x7a\x4f\xac\x12\xf2\xdc\xd7\x72\x5a\x44\xc0\x3e\xbb\x63\xac\x0e\x11\xf9\x6f\x57\xe2\x83\x3f\x0c\x44\xf5\x0b\x05\x4e\xf6\xb3\xe3\xad\x1a\x35\x35\xa6\x69\x35\xd6\x14\xa1\x30\x25\x76\x4d\x48\xcb\x6a\x4b\x01\xd9\x85\x32\xdb\x2b\xd1\xcc\x25\xc5\xa9\x4a\xeb\x8a\x08\x72\xc3\x0d\x87\x55\x5d\x29\x51\xaf\xc4\xdf\x06\xec\x10\x0b\x76\x3f\x05\x90\x44\x81\x67\xcc\x70\xcc\x62\x3a\xa4\xdb\x8f\xb1\x00\x48\x07\x76\x6f\x17\xd0\xc4\x3e\x11\x7c\x36\xc5\x01\x39\x00\x04\xee\xca\x9f\xcf\x7e\xce\x83\x73\x23\x7e\xa4\x43\xba\xc9\x87\xcd\xb7\x6f\xdf\xbe\xdd\x78\xf9\x72\xe3\xe0\xc0\xec\xde\x5a\x04\x1f\x85\x98\x0e\x03\x2d\xf6\x44\x6e\x4c\xcb\xcb\x8f\x0a\xe9\xc5\xf8\x5d\x34\x83\x7b\x13\xac\x3b\x01\x17\xdb\xc0\xed\x74\xfb\xe3\x00\xcf\x4e\xf0\xbc\x93\x8e\xf0\xe6\x7c\xbf\x7c\x90\x7e\x44\xec\xba\x81\x6e\x6f\xbb\x8f\x4a\xd0\x05\x3d\x1b\xd3\x8e\xba\x4b\xd3\x88\x1f\x5d\x81\xc0\x80\xc3\x4f\xef\x2f\xe1\xf5\x19\x09\x76\xcd\xbd\x67\xfb\x07\x87\xcf\x5f\xfc\x78\xf4\xd3\xcf\xc7\x2f\x4f\x5e\x9d\xfe\xe3\xf5\xd9\xf9\x9b\x5f\x7e\xfd\xe7\xdb\xdf\xc0\xc8\x76\xe0\x78\x32\x45\x7f\x5c\xba\x33\x0f\xfb\x7f\x06\x21\x89\xae\xe6\x1f\xae\x3f\x6e\x0e\xb6\xb6\x9f\x7c\xb5\xf3\xf5\x37\xdf\xae\x6f\x0c\x4d\x8b\xce\x32\x8b\xca\xf8\x2b\x9e\x15\x5a\xd8\x42\x16\xb0\x5c\x2b\xb0\xec\xa1\x69\x5a\xce\x70\xf3\xd1\x18\x07\x1d\x32\x84\xfd\xf7\x11\x19\x7f\xf3\x9e\xbd\xdb\x21\xdd\xa7\xce\x77\xa4\xcf\x7a\xfb\x3e\xed\xa2\x61\xc7\x1b\x92\xbe\x3d\x05\xc1\x3e\x76\xe0\x1e\xe9\x38\xeb\xeb\xdd\xee\xf7\xdf\x6f\x59\x60\xd8\xd9\x5e\xf3\xba\xdf\x7d\xf7\xe4\xa6\x13\x2a\x9f\x79\x62\xb9\xc3\xce\xe0\xab\xb5\xb0\xfb\xdd\x77\x5b\x37\x1d\xac\x7c\x68\xc7\x0a\x86\x3b\xdb\x6b\xd8\x42\xe1\x09\x38\xe9\x84\xdd\x1f\xdc\x61\x30\xdc\x79\xb2\xcb\x7e\xe3\xee\xda\x5a\x27\xfe\xdd\xb5\xec\xa1\xbd\x4e\xa6\x28\xec\x73\x90\xd1\xc1\xf6\x48\x07\x75\x95\x97\x81\xfa\xb2\xab\xbe\x1c\x74\x1f\x71\x7a\xb1\x6f\x2d\x07\xd6\xc3\x31\x86\xa2\x9d\x40\x91\xf4\x03\x48\xa3\x11\x3a\x1b\xef\xfe\xe7\x5e\xef\x37\xd0\xfb\xb8\xd9\x8b\x91\x72\xb1\x31\xb1\x4c\xb3\xfb\xd4\x96\x80\xea\x0d\x33\x33\xa0\x87\x6f\xaf\xc6\x1d\x22\xe6\x62\xc7\x90\xa1\x20\x43\x3a\x4f\x52\x48\x87\x14\xd2\x88\xa1\x03\x68\xbe\xb6\x65\xe1\x18\x89\xa0\xfb\xdd\x77\x3b\x37\x1d\x57\xeb\x2d\x2b\x58\x1f\x9e\x91\x00\x79\x13\xba\x73\xf6\x39\x42\x3b\x5e\xd7\xda\x79\xf2\x78\x38\x04\x31\xbe\xd4\x8f\x84\x5d\xfe\x8c\x5b\xfe\x0c\xee\x26\x88\x08\x12\xda\x64\xf8\xe8\x04\xdd\x5b\x4b\x26\xd6\x0c\x82\x32\x38\xf8\x3d\xf8\xdd\x8b\x01\xff\xbb\x67\x76\x29\x86\xd8\x66\x33\x4d\xcb\x1b\x6e\x3e\xf5\x52\x5c\x78\xeb\xeb\x0c\xb7\x39\x0a\xf6\xba\x8f\xc2\xef\x06\x5b\xdf\xfc\x00\xcb\x96\xb2\x1b\x7e\x3f\xd8\xfa\x7a\x6d\x2d\xfc\x6e\x6b\xf3\xc9\x37\x3f\x74\xca\x1e\xfc\xfe\xfb\x9d\x9b\xc1\xb7\x5b\x5d\xab\xe4\x81\x9d\xed\xb5\xf0\x66\xb0\xf5\x4d\xb7\xbb\x5b\x31\xc6\x60\xeb\x66\x6b\xeb\x49\xe9\x20\xf1\x57\xd6\x76\xb6\xe9\x38\xf5\x1f\xba\xe5\x00\x86\x02\x9c\x0a\x7a\xcf\x03\xcd\x0a\x87\x9b\x16\xce\x02\xaf\x8b\xc6\x9d\xfc\xd6\xf7\xba\xdd\x18\x6e\xdd\x52\xb8\x59\xde\xfa\xfa\x23\xe8\x86\xd0\x40\xe3\x4e\xf8\xfd\xe0\xdb\x01\x85\xe1\xd6\x93\x6e\x8e\x3f\x78\xeb\x83\xd2\xb5\x74\xb6\x07\x94\xab\xec\xdc\xc4\xac\x23\x1e\x73\xb8\x45\x07\xfd\xa4\x18\x84\x72\x5a\x94\xbf\xbe\xd5\x7d\x54\x36\x38\x67\x59\x83\xad\x9b\x0e\x1d\x9e\x7f\x07\xd1\xef\x6c\xa7\xd0\xbb\x7d\x24\xc9\xd2\x67\x20\x84\x3b\x4f\x76\xe1\x6d\xb9\xcc\xa7\x2a\x67\x6f\x74\xbd\x12\xb7\x4a\x9e\x59\xc1\xa1\x88\x00\xe8\xff\x2b\x04\xf6\xb4\x6f\xae\x13\xb1\xb3\x98\x0b\x26\xd6\x5d\x22\x02\x9d\x0e\x4c\xe7\x20\xde\x7d\x77\x21\x9e\xa5\x3c\x61\x02\x49\x27\x89\x65\xa4\x4a\xc0\x21\xb0\xa7\x9d\xe4\x35\xaf\xfb\xe9\xf1\x63\xd8\x1f\x23\xcf\x79\x76\xdd\xe1\x75\xe5\x2d\xf6\x99\xf8\x5d\xcf\x22\xdd\xee\xcd\x0d\xec\xfb\x51\x38\x65\x8b\xec\xb0\xbb\x7c\xc5\x76\x00\xa9\x0f\x88\xbe\xb9\x9b\x7d\xd1\xe2\x1f\x8e\xb5\xc5\x6e\xd7\xaa\xfb\x4c\x7e\xb2\xd2\x27\xbd\x58\x21\x83\xb7\xdd\x0a\x1c\xcd\x10\x6d\x0b\xb4\x7c\xfc\x7c\x42\x1e\x81\xc1\x15\x70\x65\xad\x08\xc6\x7a\x11\x63\x3f\xc9\x55\x28\xe9\x4a\x12\x5e\xd0\xb8\x73\x85\x91\x63\x6c\x0e\x87\x43\xef\xe6\xc6\xeb\xf5\x8c\xef\x37\xbb\x9f\x42\x48\xce\xd1\x0c\xe2\x88\x74\x42\x0b\x76\x1f\x91\xe0\xfa\x13\xe9\xdb\xc0\x75\x3b\xb1\x62\xdd\xbd\xb5\x01\xb1\xa7\x94\x41\x4e\x03\x3c\x37\xe2\xad\x4c\xfa\x04\x33\xc2\xa7\x4a\xcf\x2d\xfd\xe4\xa3\xdc\x48\xb7\xd6\x3c\x00\xfe\x73\x3e\x81\xc2\xa4\x8b\x13\x24\x7d\xe0\xfb\xee\x35\x1d\xec\xf6\xd6\x42\x5e\x08\x03\xb2\x47\xf6\xa3\x20\xc4\x41\xe6\x7d\xba\x18\xa9\x87\x37\x8f\x2a\xed\x92\x3e\x75\x85\x75\xba\x56\xf1\x26\xa7\x90\xd7\xc0\x9b\xc0\x4e\xb7\x4f\xe0\x07\x32\x84\x09\x1f\x91\x1e\x3c\x23\x20\x20\x37\x37\xe6\xa6\x39\x1c\x0e\xf3\xd7\xb9\x1c\x2f\x5c\xb7\x42\xf9\xd2\xa1\xe7\x3c\x22\x7d\x8a\xc5\x21\xff\xb7\x1f\x46\xa3\x90\x81\x6c\xd3\xf2\xba\xeb\x70\xbd\x78\x23\xb4\xc4\x35\xc6\x1f\x63\xec\x67\x3f\x33\xf4\xd6\xc5\x4d\x2b\xfb\x3d\xe9\xce\x2d\x5d\x14\x1f\x6a\x7d\x08\x6f\x63\xcd\x08\xce\x7f\x81\x41\xa8\x42\x44\xbc\x7a\x49\xf4\x99\x57\x66\xac\x6f\x58\x70\x08\x0b\xd7\xe2\xe7\x48\x80\x66\x31\xfc\xf0\x31\x9e\xc3\x60\x1f\x84\xb0\xc3\x1e\x56\xde\x30\x29\x10\xd7\xd6\x4c\xf3\xf1\x70\x08\xbb\x0c\xe9\x8f\x37\x1f\x09\x89\x19\xfa\x2e\x22\x1d\xb3\x6f\x76\x2d\x3c\x84\xd2\x4f\xce\x3d\x1e\x77\x42\xbe\xaa\xef\xb6\x6f\x6e\xb0\xf4\xf7\xe3\x0e\x7e\xb7\x79\xf1\x7d\xf8\x6e\xf3\xe2\xe6\x26\xfe\x73\x38\x1c\xc6\x3f\xd6\xd6\xf0\xbb\x41\x7c\x7d\x70\xd1\x5d\x5b\x7b\xdc\xf1\xe2\x0b\xb9\xbb\xf4\xc7\x80\xfe\xd8\x8a\x1f\xdd\xba\xe8\x52\xe5\xbd\x6c\x4f\x7b\x70\x35\xb1\xfe\x9f\x26\x90\x9c\x45\x23\x07\xcf\x00\x92\x10\x43\x71\x82\xc2\x3e\xf2\xaf\x9e\x74\xe6\xc8\x73\xf0\x9c\x1a\x1b\xcc\x1d\x8f\x43\xd2\xe5\x80\x34\x4d\x0a\x48\x12\x8b\x58\x38\x54\x3d\x59\x84\xa8\x21\xc8\xe4\xfb\xc1\xda\x5a\xac\xbe\xbf\xdb\xbc\xc8\x22\xad\x6b\x91\x5b\x6b\x02\xc9\x9e\xef\xbf\x09\xdc\x82\x12\x5b\xff\xa1\x98\x70\x66\xf8\x2a\x16\x93\x9b\x4c\x78\x7a\x43\xd8\xff\x03\x23\x2f\x33\x11\x14\xf6\x69\x2d\xf3\x0e\xe9\xfe\x10\x2f\x61\x97\xac\x0f\xcd\xbe\x69\xe5\x87\xf7\x03\x4c\xb0\x8d\xdd\x75\x73\x63\xc3\x5c\x27\xeb\x5e\x4c\xd0\x7b\x7f\x80\x0f\x7b\xd4\x8e\xa7\x3e\x07\x95\xdd\xc6\xb8\xdd\x63\x4a\x7f\x1d\x33\x7e\xc1\x00\x11\x99\xe2\x00\x7d\xa4\x03\x1b\x63\x80\x5c\xe8\xb0\x6d\xce\x4f\x64\x6e\x6e\xd2\xb7\xfa\x30\x1e\x39\x5c\x5b\x13\x7f\x09\xc0\x6d\xc6\xe3\x3d\xd9\x1c\xb0\x37\xd9\xbd\x18\x8a\xac\xd4\xd7\xcd\x8d\xf9\x64\x73\x5b\x7d\x2f\x36\x57\xd9\xdc\x4f\x30\x79\x8e\x23\xcf\xd1\x9a\xbd\xde\x9c\xcc\x27\x9b\x4f\xd4\x9f\x8d\x3f\x7a\xc4\x1c\x30\xc7\xc8\x86\x5e\x08\x97\xfb\xd9\xad\x92\xcf\x56\x6c\x29\xc6\xf2\xf4\x1c\x18\x05\x65\x72\x41\x53\xd7\x8c\x75\xd1\xa7\xe1\x77\xe4\x69\xb8\xbe\x1e\x2b\x9a\x9e\xb0\x50\x5e\x02\x32\xed\x8f\x5d\x8c\x03\xf6\x67\x00\x3c\x07\xcf\x3a\xdd\x7f\xf1\x04\x4b\x4e\xb7\xd1\x42\x8e\x93\x19\xb8\x84\x67\x6e\x34\x51\xec\xae\xd0\x8d\x26\x1d\x62\x7d\x9a\xc5\x1a\xb5\x19\x8c\xed\xed\x6f\xbf\xd9\x31\x2d\x37\xde\xa0\xcc\xf0\x17\x9b\x7f\x38\x1c\xc2\xb5\xb5\x0e\x1c\x92\x58\x29\xb1\xe2\x31\x8f\x9c\x5d\x68\x41\xcf\x09\x7f\x45\x64\x9a\x93\x99\xec\xb5\xde\x80\x22\x54\x18\x67\xd0\x12\xda\x78\x2f\x11\x3b\xb7\x16\xf0\xb0\xf7\x26\x84\xc1\x91\x23\x73\x25\xfe\xdd\xf8\xe6\x7b\x73\x1d\x76\x06\x83\x4a\xae\x49\xf0\x8a\x14\xa1\x98\x6b\x92\x9c\x7b\x08\x0a\xc9\xfc\x89\x60\xfb\x1c\x63\x37\xdc\xfd\x14\xf9\xe7\xb4\xe4\xcd\xae\x69\x5a\x0e\x9e\x7b\xe9\xaf\x78\xf5\x1e\x39\xf2\xec\x80\xfa\xdc\x77\x37\x2d\xe0\xba\x78\x7e\x44\x2f\xef\x3e\x1e\xb0\x9f\xaf\x22\xc2\x7f\xdf\x5a\xcc\x4d\x08\x46\x2e\x3c\x05\x13\x18\x3f\x12\xf9\x07\x3c\xc3\x68\xf7\xf1\x26\x1d\x5f\xfe\xcd\xbe\x20\x5f\xc1\x6c\x34\xf9\x92\x0f\x26\x31\xc6\x4c\xf3\xf6\x11\xe3\xf8\x91\xc7\x00\xe2\x74\xa0\xe0\xf1\x86\xf7\xc8\xeb\xb3\x07\x87\x90\xa9\xa6\xc8\x31\xbb\x5c\x82\xbe\xa7\xba\x6c\x3c\xef\x0f\x1d\x62\x29\xf6\x33\x61\xaf\xc4\x03\xf4\xe3\xf7\x62\x9a\x49\x47\xb9\xed\xc6\x1f\xee\x0d\x62\x81\x98\x7e\x2f\x1e\x1a\x0f\xdf\xf7\x51\xf8\x26\x99\x0f\x79\x17\xf6\x06\x17\xdd\x1f\xd8\xbf\xbb\xec\x9f\x74\x6c\xb3\x6b\xa1\xe2\x1b\xeb\xfc\x8d\x75\xf6\xc6\x7a\xf6\x8d\xf8\xd3\xd9\x57\xa8\xaf\xc6\xeb\x0b\x0c\xf6\x05\x02\x87\xb1\xf2\x91\x7d\x14\xe5\x1e\x4d\xf1\x4b\x1f\x7e\x9c\x1f\x98\x91\x07\x68\x05\x30\x5c\x04\xd8\xe3\xe1\x10\xa4\x6c\xc9\x1d\x82\xa7\xee\xf7\xc3\xcd\x58\xdf\xe0\xd0\x75\xe1\x15\x74\xcd\xee\xf7\xe4\x9d\x2b\x2d\xba\xcf\x2f\x77\x9f\xba\xbd\x5e\x6c\xfd\x66\x9f\x8e\xb9\xa8\xfa\xf9\x4f\x2a\xa8\xe4\x9e\xa5\x64\x31\x0a\x20\xb8\xbc\x95\x9e\x96\x08\x5b\x2c\x44\xcc\x6d\x98\xfd\xba\x25\xbd\x95\xdb\x20\xb9\x37\x7b\xb9\x17\xa9\x49\x51\xfa\x72\x16\x51\xf9\x91\x63\x1e\x82\xc6\x9d\xc7\x79\xf4\x32\x84\x05\xad\x10\x86\x94\x08\x0b\xba\x02\x5f\xf6\x30\x90\xfc\x69\x31\xd6\xc8\x3b\x5b\x01\xf6\xef\xb2\xeb\xec\x3e\xb5\xd7\xd7\x4b\xb0\xa6\x7a\x3d\x83\x35\x89\x40\x73\x4f\x4b\x78\xcb\x11\x0f\xca\xfc\xac\x22\x78\xe1\x53\xc8\x23\x9e\xb3\xb0\x1c\xa6\xbf\x1f\x58\x5e\x3f\xe5\x5f\x43\x2a\x4a\x14\x14\x66\x79\x7d\x99\xaf\x15\x9e\x4b\xe7\x60\x79\xfd\x2c\xc7\x1b\x3e\x56\xd3\xa0\xe5\xf5\x73\x8c\xb0\xf8\x24\x9f\xb4\xe5\xf5\xb3\x5c\x77\x88\xc2\xbe\x87\x09\xd7\x1a\x15\xf3\xed\xde\xdc\x94\x3d\x92\x4e\xb5\x7b\x73\xa3\x9e\x5a\xf1\x7a\x32\x91\x5b\x2b\xd6\x67\xdf\xf8\x25\xa6\x37\xa3\x51\xd9\x0d\x92\x1e\xb9\xc0\x22\x79\x92\xe2\xcc\x6f\x63\xfb\x87\x1e\xe1\xa1\xe1\xbb\x0b\x2e\x0d\xe2\x85\xa4\x12\x21\x8c\x09\x20\x1c\x86\x32\x0b\xed\x5a\x19\xa1\xe1\x31\x00\xc8\xef\x08\xae\x8e\x1e\x15\xf9\x1f\xd4\xdc\x4e\xa1\xbc\x9d\x9e\x32\xe6\xb7\xb6\x56\x98\x20\x7c\x07\x7a\xd4\xe8\xea\xe0\x21\xfb\x3b\x33\xd5\x47\x8c\x53\xf2\xc1\x42\xf8\x67\x04\x3d\x3b\x16\x1c\x81\xc0\x6b\xbc\x7e\x2a\x03\x0a\x43\xe3\xee\x0f\x38\xff\xde\xee\xa6\x65\xb7\x5a\x8e\xa7\xe4\x0e\x36\x43\xa6\x33\xec\xb8\xeb\x41\x77\x63\xeb\x11\xa2\x8e\x9f\xce\x27\x2e\xa4\xa5\xb7\x2c\x31\x89\x5d\xe7\x36\xf5\x0e\x47\x43\x7b\x7d\xf0\x34\xfa\x0e\x4a\x6c\x05\xbe\x8b\x54\x6c\x45\x4c\x21\xe1\x2b\xd1\xfa\x7a\xd7\x19\x76\x9c\xf5\x02\x74\xba\x1b\x5b\x56\x6e\x26\xb9\x41\x0b\x33\x12\xbc\x00\x31\xaa\x3d\xc0\xf3\xa2\xd1\x5f\xd4\x1e\x5a\x41\xcf\xc2\x0b\xd0\x7e\xba\x25\x63\x34\x14\x51\x4e\x09\x09\x17\x69\x08\xb5\x9a\x77\x46\x88\x5b\x80\xef\x32\xa6\xfa\xdc\xdc\xd0\x7f\x91\xd8\x2c\x80\xd3\xea\xa6\x15\x0c\x19\x95\x05\x30\x24\x1d\x68\xa1\xae\xe5\xd0\x5f\xd4\x1b\x68\xd7\x7d\x9a\xe3\xf7\xf1\x30\x87\xf0\x9b\x9b\x6a\xc0\x2a\xef\x17\xb4\x10\x27\x31\xc2\x18\x3e\xa3\xa1\x13\xdb\x5e\xb2\x4e\x36\x1b\xc2\x77\x6d\x80\x15\xc9\xdf\xea\x0d\x64\x86\x44\x37\xe9\x2c\x46\xce\x6c\x38\x2b\xf0\xa2\xcc\x13\xb3\xac\xd0\xc9\x11\xbd\x3b\xec\x44\x79\x6a\x5f\x9f\xa9\xe8\x3f\x18\x16\x1e\x64\xbe\xfa\x78\xd5\xfe\x10\xbe\x43\x79\xcd\xd2\x1d\x76\xfc\xc2\xd8\x05\x0e\xc2\xc6\x2e\x3c\x78\xcb\x1c\x68\xc1\x70\xeb\x5f\x3a\xee\x70\xeb\x5f\xec\x77\xb6\x30\x91\xe4\xcf\xf4\xa5\x81\x1e\x01\x0d\x66\xe1\x4a\xcc\x62\x2c\xd8\x8c\x35\x19\x86\xeb\x83\xa7\x93\x1c\xdb\x98\x68\xb1\x8d\x89\x38\x7c\x9a\x0e\x3b\x63\xc6\xb5\x40\x9e\x57\x4c\xca\x79\xc5\x34\xe5\x15\xe0\x96\x5b\x2c\x2b\xe4\x14\xef\x2e\x1e\xe1\x72\x30\xd1\x45\xed\x66\x57\xb8\x4e\x4a\xf5\x46\x09\x96\x88\x42\x10\xe5\x20\x88\xb4\x20\x88\xd6\xd7\xbb\x38\x0f\x32\x54\x00\x19\x9b\x9c\x7a\xd0\xea\x49\x72\xf0\xe0\x5b\x61\xff\x3d\x28\x00\xf7\x06\x0f\x07\x8e\x74\x2e\x09\xb8\x94\x7e\x05\x1a\x90\x34\xd9\x80\xde\x15\x0a\xb0\xc7\xf2\xf6\xdf\x5d\xc8\x87\x4f\x24\xb8\xfe\xc4\x5d\xa2\x95\x6f\xc1\x61\x72\x42\xf0\x67\x04\x83\x6b\x56\x61\x09\x07\x9d\xbf\xcf\x20\x01\xef\x3c\x30\x83\x43\xf3\xef\xeb\x64\xfd\xef\xe6\xc5\xdf\xe9\x89\xd0\x1e\x21\x01\x1a\x45\x04\x4a\x47\x43\x96\x37\xfc\xc4\xbd\x12\xbb\x3f\x9d\xbd\x3a\xe9\xfb\x20\x08\x61\x27\xf2\x60\x68\x03\x1f\xc6\x46\xfc\xad\x58\x92\xda\xe1\xe1\x95\x3b\x3c\x3c\x7e\xf2\x02\x93\x93\x17\x38\x37\xa8\xdf\xae\xf3\xf7\x7d\x1c\xb9\x8e\xe1\x61\x62\x04\x10\x38\xac\xc0\xe0\xc4\x18\x07\x78\x66\xc4\xf3\x37\x08\x98\xd0\x22\x79\xac\x04\x21\x5f\x48\xff\xef\xf4\xdc\x2a\x88\x3c\x0f\x79\x93\x73\x18\x92\xf0\xe6\x26\x80\x7f\x46\x28\x90\x81\x0c\x7c\xdf\xec\x0a\x67\x4b\x72\xae\x76\xfc\xea\xc5\xfb\xd7\x87\x67\xaf\x8e\x7f\x39\x7c\xbd\xfb\x78\x60\xc5\xbf\xf7\xf6\xcf\x8f\x7e\x39\x7c\xff\xe2\xf0\xe4\xf0\xf5\xde\xf9\xd1\xab\x13\x71\xe3\x97\xa3\xc3\x5f\xdf\x1f\xbf\x7a\xf5\xf3\x9b\xd3\x33\x71\xed\xfc\xf5\xde\xc9\xd9\x51\xfc\x94\xea\xd2\xfb\xa3\x93\xf3\xc3\xd7\x27\x7b\xc7\xf1\x3d\x2f\x13\x2c\x65\x5a\x57\xfc\xe4\xc2\x1c\xf4\xbf\xde\xec\x6f\xae\x6f\x7d\xb3\xfd\x64\x6b\x6c\x8f\xcd\xdb\xee\xa3\xff\x1f\x00\x00\xff\xff\xbc\xca\xdb\x3b\x61\x8b\x09\x00") +var _bindataPublicAssetsDocumize3643799468e1b2a266d840a1dad5e25cCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xf9\xb3\xdb\x36\xb6\x27\xfe\xaf\xe8\xeb\xae\xd4\xc4\xaf\x45\x35\x49\x89\x5a\xab\x6f\xb5\x13\xc7\x8e\x33\xb1\xbb\xe3\x6c\x1d\x77\x65\xa6\x28\x11\x92\xe8\xcb\xed\x91\xd4\xbd\x94\x55\x9a\xbf\xfd\x5b\xd8\x48\x2c\x07\x5c\xe4\xdb\x3d\xf9\x61\xde\x7d\x1d\x53\xc0\xc1\x01\xf0\x01\x70\x00\x7c\xb0\x4d\x62\xbf\x44\x79\xe8\x47\x56\xb8\x4b\x93\x62\x7c\x2c\xe3\xe8\x52\xa2\xaa\xb4\x72\x94\x04\x28\x0f\x93\xc3\x3a\xcd\xca\x30\x0e\x3f\xa1\xef\xd1\x21\xdc\x86\x51\x58\x9e\xaf\xfe\xc8\x5f\xef\xd3\xdd\xa9\x18\xe3\xaf\x63\xfa\x80\xf2\xb1\x3f\xf1\x83\x38\x4c\xac\x28\x4c\xee\xa5\x1f\x8d\xac\xec\x48\x82\xd1\xc8\x02\xb4\x4b\x73\xbf\x0c\xd3\x64\x9d\xa4\x09\xba\x4e\x76\xa7\xbc\x48\x73\x2b\x4b\xc3\xa4\xc4\xba\x2f\xd4\x61\xcd\x1c\xae\xdb\x34\x38\xd3\xc4\x1e\x51\x78\x38\x96\x6b\xc7\xb6\xbf\xb8\x4e\xe2\x34\xf0\xa3\x31\xfd\xc7\x4a\x33\x94\x8c\x8b\x87\xc3\x3a\x49\xcb\x2f\xd7\x79\x9a\x96\xcf\x2f\x38\xca\x7d\x94\x3e\xae\x8f\x61\x10\xa0\x84\xea\xd9\xf9\x19\x8e\x9a\x26\xc5\x8f\xc2\x43\xb2\x8e\xd0\xbe\xbc\x6e\x4f\x65\x99\x26\xe3\x63\x3e\x0e\x93\xec\x54\x36\x81\x1f\xc2\x22\xdc\x46\xe8\x3a\xc9\xd2\x8c\xe4\x7d\x52\xa6\x69\x54\x86\xd9\x98\x05\x29\x50\x84\x76\x25\x55\x58\xe6\x7e\x52\xec\xd3\x3c\xa6\x59\xcb\x72\x34\xc6\xee\x7e\x8e\xfc\x46\xa3\x7f\x2a\xd3\xab\x9f\x97\xe1\x2e\x42\x63\xbf\x08\x03\x34\xde\x87\x07\x96\x30\xfc\x79\xca\xd1\x78\x9f\xa6\x18\x8c\x23\xf2\x03\xfc\xcf\x21\x4f\x4f\xd9\x38\x42\x07\x94\x04\xe3\xd8\x0f\x93\x71\xe2\x3f\x8c\x0b\xb4\x23\x99\x09\xc2\x22\x8b\xfc\xf3\x7a\x1b\xa5\xbb\xfb\xab\x1f\x04\x39\x2a\x0a\x26\x7d\x89\xc2\x04\x59\x0c\xb9\x30\x39\xa2\x3c\x2c\xaf\x59\x9e\x1e\x88\x4c\x71\xda\x8e\x8b\x53\x76\x79\x40\x38\x3d\x7e\xc4\x20\xd9\xfa\x05\xc2\xe1\xae\x91\xbf\x45\xd1\x38\x3d\x95\x18\x13\x1e\x4d\x98\x10\x9d\x34\xb6\x49\x90\xa7\x59\x90\x3e\x26\x56\x8c\x92\xd3\xf8\x14\x8d\xa2\xf0\x12\x85\x45\x69\x15\xe5\x39\x42\xac\x8c\x95\xaa\xe7\xd3\xf2\xb4\x1e\xd1\xf6\x3e\x2c\xad\x7d\x9a\x94\x56\x11\xa7\x69\x79\xc4\x95\xd0\x4f\xca\xd0\x8f\x42\xbf\x40\xc1\xc6\x8a\xd3\x4f\x56\x5a\x54\xaa\xcc\x21\xf7\xcf\xc5\xce\xc7\x05\xf3\x75\x1a\xa0\xb7\x61\x9e\xa7\xf9\x08\x03\x2e\x69\x2e\xfd\xcc\x3a\x86\x87\x63\x84\xb3\x6f\xed\xd2\x28\xcd\xd7\xa4\x90\x32\x3f\x47\x49\x79\x9d\x10\x27\xeb\xf1\x18\x96\xe8\x42\xbd\xff\xb4\xdf\xef\xff\xbf\x30\xce\xd2\xbc\xf4\x1b\x89\x74\xbf\x57\xa4\x3c\xfc\xa7\x0b\x6e\x23\x7f\x77\xcf\x85\x6c\xdb\x86\x55\x49\x52\x8e\xe3\xe8\x52\x59\x1e\xc6\x7e\x7e\x1e\x4f\x1e\x42\xf4\x68\xed\x4e\x45\x99\xe2\x86\x39\x9a\x9c\x0a\x94\x5b\xa5\xbf\x8d\xd0\x88\xb5\x31\xec\xc2\x75\xb9\x4b\xfb\xc5\xcc\xd5\xd5\xe1\x76\xc8\x65\xa6\xb3\xe5\x8b\xe9\x02\x4a\xfa\xa9\xce\x9e\x3b\x9f\x2f\x7c\x00\x87\x1c\x05\xed\x49\x0a\x13\x7f\x57\x86\x0f\x48\x4a\xd5\xea\x1b\xfb\xa5\xf3\x4a\xd7\x76\xc8\x11\x4a\xba\x92\x85\x8b\x9a\xcb\x2c\xb7\x2b\x7b\x35\x07\x64\xd2\x28\x60\x32\xf8\x13\x00\x3d\xf7\x93\x43\x9d\xbb\x57\xaf\x5e\xbc\x74\x80\xc2\x7b\x3c\xfa\x65\x61\x25\xe8\xb1\x2e\xe5\x9d\xe3\x4d\xa5\x32\xdc\xfa\xbb\x7b\xdc\x1a\x93\xc0\x12\xeb\x8e\xea\xac\x55\x23\x2d\x5c\x53\xa3\x80\xb0\x5a\xe5\x02\x83\xd3\x5a\xa4\x07\x57\x2a\x94\x16\x96\xc2\xae\x87\xd3\x4b\x40\x0b\x5a\x1e\x51\x0c\xa5\x58\xaf\x77\x70\x50\x8b\xb4\x44\x40\xc1\xab\xc5\x2b\xf7\xd5\xab\xf6\x64\xe3\x42\xd6\x42\xaa\xe5\x4d\x0c\xc5\x3e\xac\x50\x60\x3d\x86\x41\x79\xbc\x50\x07\x3f\x0e\xa3\xf3\xfa\x7f\xec\xd2\x53\x1e\xa2\x7c\x94\xa0\xc7\xff\x31\x66\x3f\xae\x7f\x63\x22\x3b\x24\x09\x3f\x7b\xcb\xac\xd6\xe8\x0d\xb6\x5a\xcf\x36\xd4\x06\x31\xb3\x96\xc7\x7e\x44\x5d\x1e\xa9\x71\x9d\xd9\xf6\xa6\xc8\x77\xeb\x53\x1e\x7d\x89\xdd\xff\x42\x6c\xdd\x5f\xb8\x12\xa2\xc3\x7a\x8f\x0e\xa7\xc8\xcf\x27\x28\x2d\x9f\x13\xe9\x28\xdd\xf9\xd1\x97\x6a\x54\xcf\xc7\x8a\xbb\x14\xfa\xd9\xf3\x71\xaf\x48\x1e\xd3\xfd\xde\x7d\x3e\xc2\x1d\x92\x5f\x7e\xf9\x8c\xfc\x1c\x12\x56\x0e\xda\x37\x64\x59\x0a\x01\xcb\xfc\x84\xca\x73\x86\x9e\x3d\xbf\x12\xc3\x4c\x8a\x84\xf4\xe0\x1b\xde\x21\x5a\xe7\x75\xb1\xcb\xd3\x88\xa1\x59\x84\x9f\xd0\x7a\xb2\x5c\x78\x39\x8a\x37\x62\x71\x14\x7e\x52\x58\x05\xca\xc3\xfd\x46\xec\xd3\x9c\x89\xe3\x6d\x6a\x7b\x8f\x7b\x61\xac\xc1\xf2\x83\x8f\xa7\x82\x8e\x15\x36\x56\x5c\xb4\xf8\xd4\xe9\xa0\x25\x4b\xd3\xb2\xf5\x73\xa8\xcb\x4f\x83\xb3\x54\x45\x2c\x3f\xcb\x22\x64\x15\xe7\xa2\x44\xf1\xf8\x2b\x6c\x65\xdf\xfa\xbb\x1f\xc9\xcf\x57\x69\x52\x8e\x9f\xfd\x88\x0e\x29\x1a\xfd\xfc\xe6\xd9\xf8\x7d\xba\x4d\xcb\x74\xfc\xec\x5b\x14\x3d\x20\xdc\xdb\x8e\xde\xa1\x13\x7a\x36\x7e\x81\x21\x1c\x37\xb9\x1b\x3f\x7b\x81\x95\x8e\xbe\xc6\xd5\x7b\xf4\x4d\x9c\x7e\x0c\x9f\x35\x7a\x74\x87\x1f\xcf\xf1\x36\x8d\x9e\x5d\xfd\xa6\xd7\xc3\x3d\x5c\x48\x86\x58\x7e\x14\x8d\x26\xd3\x62\x84\xfc\x02\x59\x61\x62\xa5\xa7\x92\xf6\xa9\x9d\x32\x45\xa7\x48\xda\x25\xd1\xee\x7d\x15\xc7\x88\x17\xb1\x25\x2d\x6c\xfb\xea\x4f\xb6\x79\x7a\x8f\x12\xa9\xe7\xa2\xfd\xc8\x46\x1d\x47\x92\xea\x50\x1e\xf3\xf4\x74\x38\x5e\x27\x49\x8a\xb5\x63\xb7\xf1\x84\x8d\x90\xac\xd8\xcf\xef\xc9\x20\x25\xcb\x11\xee\xbd\xc6\x93\xc7\x73\x11\x3e\x9e\x0f\x16\x0a\xc2\x32\xcd\x2f\x2c\xc4\x5a\xb0\xf5\x9b\x6d\x9a\x07\x28\x27\x23\x18\xc9\xb5\xb2\x8a\xa3\x1f\xa4\x8f\x8a\x8f\x18\xf3\x9a\x76\x82\x63\xd1\x89\x0e\x8c\x8d\x49\xaa\x83\x18\x05\x98\x02\x39\xe5\x75\x30\xc5\x99\x08\x5f\x06\x67\x61\xeb\x17\xe1\x8e\xf6\xe5\xe3\x09\x0d\x8d\x02\xae\xc6\xc9\xaa\x51\x91\x46\x61\x30\xfa\x53\x30\xc5\x7f\xd7\x09\x1d\x04\x5b\x07\x3f\x1b\x4f\x82\x74\x77\x8a\x11\x69\xc2\x01\xda\xfa\xf9\x5d\xe3\x52\xa6\xbb\xbb\x49\x98\x04\xa8\xb2\xf0\xd8\x70\x34\x09\x71\x7b\xc1\xe8\xd0\xe1\xf3\x78\x52\x94\x7e\x5e\x5a\x7c\x44\x5b\xd7\xe4\xf4\xb4\x3b\x5a\x3b\x3f\x8a\xd2\x53\x49\x12\x5b\x37\x75\x32\xe8\xa0\xa1\x99\xc7\x3d\xb6\x30\x80\x3b\xae\xee\x80\x6b\x01\x38\xa6\xba\x9b\xea\x70\x3d\x45\x97\xd8\xcf\x0f\x61\xb2\xb6\x37\x99\x1f\x04\x78\x38\x6a\xd7\xd3\x18\x3c\xba\xe7\x33\x18\xfc\xad\xd4\x0f\xda\x25\x91\x7e\xdf\x2a\x32\x7f\x87\x7b\x92\xc7\xdc\xcf\x36\xcc\x30\x7e\x71\x9d\xf8\xdb\x22\x8d\x4e\x25\xb2\x76\x88\x4c\x88\x26\x69\xb2\x4d\xfd\x1c\xc7\x63\xed\xd2\xa4\xf4\xc3\x04\xe5\xa3\x49\x8e\x9b\xca\xd6\xcf\x79\x62\x70\x64\x9b\x2c\xe5\xed\x8d\x29\xd9\x94\x69\xb6\xb6\x37\x78\x8e\xb3\xb6\x37\xdb\xb4\x2c\xd3\x78\x6d\x6f\x48\xe0\xb5\x7d\x25\x93\x9d\x35\x87\x14\xab\xd8\x87\x51\x33\x7c\x16\x2a\x8a\x3d\xc2\x7f\x8e\x6d\xdb\x59\x35\xc2\x83\x9b\x51\x98\x14\x48\xaa\x4b\x06\x91\xeb\x64\x5b\x26\x13\x56\x79\xb7\x65\xc2\xeb\x31\xee\x22\x48\x86\xf2\x34\xaa\xab\xab\xa2\x6c\xe2\xe6\x28\x1e\xe5\x87\xad\xff\xe5\xcc\x1e\x3b\xf6\x78\x3e\x1f\x4f\x5c\xef\xf9\x75\x5d\x27\xba\xb6\xd7\xac\x6f\x59\x64\x15\xe4\x8b\x6d\x95\x34\x58\xe2\xa3\x2c\x58\xf8\x78\x8a\xb7\x92\x70\xb0\xc4\x7f\x66\x61\x36\xc5\x15\x83\xd0\xc1\x2a\xc9\x3e\x37\x02\x56\x80\x87\xa1\xf9\x58\x71\xcb\xef\x65\x97\x30\xd9\xa7\xb2\x0b\x19\x36\xc9\x4e\xf5\x0c\x41\x74\x2c\x4e\xbb\x1d\x9e\xd8\x49\x8e\x8f\x7e\x9e\x84\xc9\x81\xa2\x4f\x66\xc8\x41\x58\xe0\x26\x1e\x3c\x27\x3f\x27\xf5\xcf\x09\xb7\x26\x9d\x92\xcc\xee\x88\xe3\xb1\x30\xf6\x0f\xcd\x84\x0f\x57\x4a\xcb\xf1\x6c\x5e\x3f\x1d\xcf\xce\xaa\xda\xa3\x4c\x33\xc1\x13\xff\x54\x04\x68\x55\x15\x65\x58\xe5\x95\xc5\x48\x45\x16\xa5\x68\xcd\x96\x85\x70\xed\x17\x65\x48\x6b\x90\x45\x9c\x99\x57\x27\x74\xe6\xa9\x09\xad\x3d\x69\x42\x25\x01\x9e\xd0\x46\x86\x27\x54\x12\x63\x09\x6d\xa4\x58\x42\x25\x21\x9a\xd0\x46\x86\x26\x54\x12\x71\x66\x0d\xa2\x33\x0d\xd1\x99\x8c\xe8\x0c\x42\x74\xa6\x21\x3a\x03\x10\x9d\xa9\x88\xce\x74\x44\x67\x0a\xa2\x92\x88\x33\x6d\x10\x9d\x6a\x88\x4e\x65\x44\xa7\x10\xa2\x53\x0d\xd1\x29\x80\xe8\x54\x45\x74\xaa\x23\x3a\x55\x10\x95\x44\x9c\x69\x83\xe8\x54\x43\x74\x2a\x23\x3a\x85\x10\x9d\x6a\x88\x4e\x01\x44\xa7\x2a\xa2\x53\x1d\xd1\xa9\x82\xa8\x24\xe2\xb8\x0d\xa2\xae\x86\xa8\x2b\x23\xea\x42\x88\xba\x1a\xa2\x2e\x80\xa8\xab\x22\xea\xea\x88\xba\x0a\xa2\x92\x88\xe3\x36\x88\xba\x1a\xa2\xae\x8c\xa8\x0b\x21\xea\x6a\x88\xba\x00\xa2\xae\x8a\xa8\xab\x23\xea\x2a\x88\x4a\x22\x8e\xd3\x20\xea\x68\x88\x3a\x32\xa2\x0e\x84\xa8\xa3\x21\xea\x00\x88\x3a\x2a\xa2\x8e\x8e\xa8\xa3\x20\x2a\x89\x38\x4e\x83\xa8\xa3\x21\xea\xc8\x88\x3a\x10\xa2\x8e\x86\xa8\x03\x20\xea\xa8\x88\x3a\x3a\xa2\x8e\x82\xa8\x24\xe2\xd8\x0d\xa2\xb6\x86\xa8\x2d\x23\x6a\x43\x88\xda\x1a\xa2\x36\x80\xa8\xad\x22\x6a\xeb\x88\xda\x0a\xa2\x92\x88\x63\x37\x88\xda\x1a\xa2\xb6\x8c\xa8\x0d\x21\x6a\x6b\x88\xda\x00\xa2\xb6\x8a\xa8\xad\x23\x6a\x2b\x88\x4a\x22\xab\x1a\xd0\x95\x8a\xe7\x4a\x82\x73\x05\xa0\xb9\x52\xc1\x5c\xe9\x58\xae\x14\x28\x57\x1a\x92\x2b\x19\x48\x49\x60\x55\xc3\xb8\x52\x51\x5c\x49\x20\xae\x00\x0c\x57\x2a\x84\x2b\x1d\xc1\x95\x02\xe0\x4a\xc3\x6f\x25\xc3\x27\x09\x2c\x6b\xf4\x96\x2a\x7a\x4b\x09\xbd\x25\x80\xde\x52\x45\x6f\xa9\xa3\xb7\x54\xd0\x5b\x6a\xe8\x2d\x65\xf4\x24\x81\x65\x8d\xde\x52\x45\x6f\x29\xa1\xb7\x04\xd0\x5b\xaa\xe8\x2d\x75\xf4\x96\x0a\x7a\x4b\x0d\xbd\xa5\x8c\x9e\x24\xb0\xa8\xd1\x5b\xa8\xe8\x2d\x24\xf4\x16\x00\x7a\x0b\x15\xbd\x85\x8e\xde\x42\x41\x6f\xa1\xa1\xb7\x90\xd1\x93\x04\x16\x35\x7a\x0b\x15\xbd\x85\x84\xde\x02\x40\x6f\xa1\xa2\xb7\xd0\xd1\x5b\x28\xe8\x2d\x34\xf4\x16\x32\x7a\x92\xc0\xbc\x46\x6f\xae\xa2\x37\x97\xd0\x9b\x03\xe8\xcd\x55\xf4\xe6\x3a\x7a\x73\x05\xbd\xb9\x86\xde\x5c\x46\x4f\x12\x98\xd7\xe8\xcd\x55\xf4\xe6\x12\x7a\x73\x00\xbd\xb9\x8a\xde\x5c\x47\x6f\xae\xa0\x37\xd7\xd0\x9b\xcb\xe8\x49\x02\x5e\x8d\x9e\xa7\xa2\xe7\x49\xe8\x79\x00\x7a\x9e\x8a\x9e\xa7\xa3\xe7\x29\xe8\x79\x1a\x7a\x9e\x8c\x9e\x24\xd0\x4c\x6c\xb4\x79\x8d\x3c\xad\x81\x66\x35\xda\xa4\x06\x98\xd3\xa8\x53\x1a\x7d\x46\xa3\x4c\x68\x24\x81\x66\x3a\xa3\xcd\x66\xe4\xc9\x0c\x34\x97\xd1\xa6\x32\xc0\x4c\x46\x9d\xc8\xe8\xf3\x18\x65\x1a\x23\x09\x34\x93\x18\x6d\x0e\x23\x4f\x61\xa0\x19\x8c\x36\x81\x01\xe6\x2f\xea\xf4\x45\x9f\xbd\x28\x93\x17\x49\xa0\x99\xba\x68\x33\x17\x79\xe2\x02\xcd\x5b\xb4\x69\x0b\x30\x6b\x51\x27\x2d\xfa\x9c\x45\x99\xb2\x48\x02\xcd\x84\x45\x9b\xaf\xc8\xd3\x15\x68\xb6\xa2\x4d\x56\x80\xb9\x8a\x3a\x55\xd1\x67\x2a\xca\x44\x45\x12\x68\xa6\x29\xda\x2c\x45\x9e\xa4\x40\x73\x14\x6d\x8a\x02\xcc\x50\xd4\x09\x8a\x3e\x3f\x51\xa6\x27\x92\x40\x33\x39\xd1\xe6\x26\xf2\xd4\x04\x9a\x99\x68\x13\x13\x60\x5e\xa2\x4e\x4b\xf4\x59\x89\x32\x29\x91\xe7\x24\xcd\x00\x5a\x1b\x3f\xcb\xc3\x67\x68\xf4\xac\x0d\x9e\x81\xb1\xb3\x3a\x74\xd6\x47\xce\xca\xc0\x59\x1e\x37\x37\xc3\x66\x6d\xd4\x2c\x0f\x9a\xa1\x31\xb3\x36\x64\x06\x46\xcc\xea\x80\x59\x1f\x2f\x2b\xc3\x65\xd1\x2c\xd7\x56\x59\x35\xca\x92\x4d\xce\xaa\x6b\x10\x8d\x8f\xce\xf8\xe8\x8e\x8f\xd3\xf1\x71\x36\x3e\x7a\xe3\xe3\x7c\x9c\x46\xe3\x6c\x9c\xe5\x68\x5c\x93\xbc\x44\xde\xd6\x0c\xb8\x6a\xbf\xb3\xaa\xde\x77\x11\x44\x90\x1a\x9e\xe1\x1c\xc5\xd7\x20\x00\xa2\xa6\x5b\x2d\xd8\xa6\x0d\x39\xd0\xc4\xc3\xa1\x94\xee\x41\xe9\x1d\xb4\xce\x41\xee\x1b\xb0\x37\x23\xab\x09\x13\xc6\x89\x6b\xc6\x82\x71\x2f\x4e\xcb\x09\xbf\x55\x11\x81\x98\x93\x9d\x54\xc1\x86\x9a\x93\x5c\x54\xb1\x9a\x9c\x13\x1d\x54\x21\x67\xe6\x35\x49\x9e\x79\x5a\x92\x1b\x6f\x91\xa1\x53\x93\x2c\x48\xc9\x1c\x9d\x92\x64\x41\x4e\x62\xe9\xe4\x24\x0b\x52\x22\x4f\xd7\x24\x59\x40\x79\xa6\xa3\x3c\x53\x50\x9e\x81\x28\xcf\x74\x94\x67\x10\xca\x33\x0d\xe5\x19\x80\xf2\x4c\x45\x59\x16\x72\xa6\x02\xca\x53\x1d\xe5\xa9\x82\xf2\x14\x44\x79\xaa\xa3\x3c\x85\x50\x9e\x6a\x28\x4f\x01\x94\xa7\x2a\xca\xb2\x90\x33\x15\x50\x9e\xea\x28\x4f\x15\x94\xa7\x20\xca\x53\x1d\xe5\x29\x84\xf2\x54\x43\x79\x0a\xa0\x3c\x55\x51\x96\x85\x1c\x57\x40\xd9\xd5\x51\x76\x15\x94\x5d\x10\x65\x57\x47\xd9\x85\x50\x76\x35\x94\x5d\x00\x65\x57\x45\x59\x16\x72\x5c\x01\x65\x57\x47\xd9\x55\x50\x76\x41\x94\x5d\x1d\x65\x17\x42\xd9\xd5\x50\x76\x01\x94\x5d\x15\x65\x59\xc8\x71\x04\x94\x1d\x1d\x65\x47\x41\xd9\x01\x51\x76\x74\x94\x1d\x08\x65\x47\x43\xd9\x01\x50\x76\x54\x94\x65\x21\xc7\x11\x50\x76\x74\x94\x1d\x05\x65\x07\x44\xd9\xd1\x51\x76\x20\x94\x1d\x0d\x65\x07\x40\xd9\x51\x51\x96\x85\x1c\x5b\x40\xd9\xd6\x51\xb6\x15\x94\x6d\x10\x65\x5b\x47\xd9\x86\x50\xb6\x35\x94\x6d\x00\x65\x5b\x45\x59\x16\x72\x6c\x01\x65\x5b\x47\xd9\x56\x50\xb6\x41\x94\x6d\x1d\x65\x1b\x42\xd9\xd6\x50\xb6\x01\x94\x6d\x15\x65\x59\x68\xd5\x80\xbc\xd2\x30\x5e\xc9\x10\xaf\x20\x84\x57\x1a\xc0\x2b\x00\xdf\x95\x0a\xef\x4a\x47\x77\xa5\x80\x2b\x8b\xac\x1a\x68\x57\x1a\xb2\x2b\x19\xd8\x15\x84\xeb\x4a\x83\x75\x05\xa0\xba\x52\x41\x5d\xe9\x98\xae\x14\x48\x65\x91\x65\x83\xe8\x52\x43\x74\x29\x23\xba\x84\x10\x5d\x6a\x88\x2e\x01\x44\x97\x2a\xa2\x4b\x1d\xd1\xa5\x82\xa8\x2c\xb2\x6c\x10\x5d\x6a\x88\x2e\x65\x44\x97\x10\xa2\x4b\x0d\xd1\x25\x80\xe8\x52\x45\x74\xa9\x23\xba\x54\x10\x95\x45\x16\x0d\xa2\x0b\x0d\xd1\x85\x8c\xe8\x02\x42\x74\xa1\x21\xba\x00\x10\x5d\xa8\x88\x2e\x74\x44\x17\x0a\xa2\xb2\xc8\xa2\x41\x74\xa1\x21\xba\x90\x11\x5d\x40\x88\x2e\x34\x44\x17\x00\xa2\x0b\x15\xd1\x85\x8e\xe8\x42\x41\x54\x16\x99\x37\x88\xce\x35\x44\xe7\x32\xa2\x73\x08\xd1\xb9\x86\xe8\x1c\x40\x74\xae\x22\x3a\xd7\x11\x9d\x2b\x88\xca\x22\xf3\x06\xd1\xb9\x86\xe8\x5c\x46\x74\x0e\x21\x3a\xd7\x10\x9d\x03\x88\xce\x55\x44\xe7\x3a\xa2\x73\x05\x51\x59\xc4\x6b\x10\xf5\x34\x44\x3d\x19\x51\x0f\x42\xd4\xd3\x10\xf5\x00\x44\x3d\x15\x51\x4f\x47\xd4\x53\x10\x95\x45\x84\x09\x9a\x3e\x3f\x53\xa6\x67\xe0\xec\x4c\x9f\x9c\x41\x73\x33\x6d\x6a\x06\xcc\xcc\xd4\x89\x99\x2c\x22\x4c\xcb\xf4\x59\x99\x32\x29\x03\xe7\x64\xfa\x94\x0c\x9a\x91\x69\x13\x32\x60\x3e\xa6\x4e\xc7\x64\x11\x61\x32\xa6\xcf\xc5\x94\xa9\x18\x38\x13\xd3\x27\x62\xd0\x3c\x4c\x9b\x86\x01\xb3\x30\x75\x12\x26\x8b\x08\x53\x30\x7d\x06\xa6\x4c\xc0\xc0\xf9\x97\x3e\xfd\x82\x66\x5f\xda\xe4\x0b\x98\x7b\xa9\x53\x2f\x59\x44\x98\x78\xe9\xf3\x2e\x65\xda\x05\xce\xba\xf4\x49\x17\x34\xe7\xd2\xa6\x5c\xc0\x8c\x4b\x9d\x70\xc9\x22\xc2\x74\x4b\x9f\x6d\x29\x93\x2d\x70\xae\xa5\x4f\xb5\xa0\x99\x96\x36\xd1\x02\xe6\x59\xea\x34\x4b\x16\x11\x26\x59\xfa\x1c\x4b\x99\x62\x81\x33\x2c\x7d\x82\x05\xcd\xaf\xb4\xe9\x15\x30\xbb\x52\x27\x57\xca\xdc\x4a\x18\xf4\xeb\x63\x7e\x65\xc8\x0f\x8e\xf8\xf5\x01\x3f\x34\xde\xd7\x86\xfb\xc0\x68\x5f\x1d\xec\x2b\x63\x7d\x61\xa8\xaf\x8f\xf4\x95\x81\x3e\x38\xce\xd7\x87\xf9\xd0\x28\x5f\x1b\xe4\x03\x63\x7c\x75\x88\x2f\x19\xfc\xc6\xde\x6b\xe6\x5e\xb6\xf6\x90\xb1\xd7\x6c\x3d\x60\xea\x55\x4b\xaf\x1b\x7a\xc5\xce\x63\x01\xb2\xa3\x92\x4c\x4f\x9a\x7d\xfb\xe2\x86\x56\xea\xbf\x5a\x31\xef\xd5\x0a\xf2\x5d\x72\xdf\x25\xe4\xbb\xe0\xbe\x0b\xc8\x77\xce\x7d\xe7\x90\xaf\xc7\x7d\x3d\xc8\x77\xc6\x7d\x67\x90\xef\x94\xfb\x4e\x21\x5f\x97\xfb\xba\x90\xaf\xc3\x7d\x1d\xc8\x97\x83\xb5\x82\xb0\x5a\x72\xac\x96\x10\x56\x4b\x8e\xd5\x12\xc2\x6a\xc9\xb1\x5a\x42\x58\x2d\x39\x56\x4b\x08\xab\x25\xc7\x6a\x09\x61\xb5\xe4\x58\x2d\x21\xac\x96\x1c\xab\x25\x84\xd5\x92\x63\xb5\x84\xb0\x5a\x72\xac\x96\x10\x56\x4b\x8e\xd5\x12\xc2\x6a\xc1\xb1\x5a\x40\x58\x2d\x38\x56\x0b\x08\xab\x05\xc7\x6a\x01\x61\xb5\xe0\x58\x2d\x20\xac\x16\x1c\xab\x05\x84\xd5\x82\x63\xb5\x80\xb0\x5a\x70\xac\x16\x10\x56\x0b\x8e\xd5\x02\xc2\x6a\xc1\xb1\x5a\x40\x58\x2d\x38\x56\x0b\x08\xab\x39\xc7\x6a\x0e\x61\x35\xe7\x58\xcd\x21\xac\xe6\x1c\xab\x39\x84\xd5\x9c\x63\x35\x87\xb0\x9a\x73\xac\xe6\x10\x56\x73\x8e\xd5\x1c\xc2\x6a\xce\xb1\x9a\x43\x58\xcd\x39\x56\x73\x08\xab\x39\xc7\x6a\x0e\x61\x35\xe7\x58\xcd\x21\xac\x3c\x8e\x95\x07\x61\xe5\x71\xac\x3c\x08\x2b\x8f\x63\xe5\x41\x58\x79\x1c\x2b\x0f\xc2\xca\xe3\x58\x79\x10\x56\x1e\xc7\xca\x83\xb0\xf2\x38\x56\x1e\x84\x95\xc7\xb1\xf2\x20\xac\x3c\x8e\x95\x07\x61\xe5\x71\xac\x3c\x08\xab\x19\xc7\x6a\x06\x61\x35\xe3\x58\xcd\x20\xac\x66\x1c\xab\x19\x84\xd5\x8c\x63\x35\x83\xb0\x9a\x71\xac\x66\x10\x56\x33\x8e\xd5\x0c\xc2\x6a\xc6\xb1\x9a\x41\x58\xcd\x38\x56\x33\x08\xab\x19\xc7\x6a\x06\x61\x35\xe3\x58\xcd\x20\xac\xa6\x1c\xab\x29\x84\xd5\x94\x63\x35\x85\xb0\x9a\x72\xac\xa6\x10\x56\x53\x8e\xd5\x14\xc2\x6a\xca\xb1\x9a\x42\x58\x4d\x39\x56\x53\x08\xab\x29\xc7\x6a\x0a\x61\x35\xe5\x58\x4d\x21\xac\xa6\x1c\xab\x29\x84\xd5\x94\x63\x35\x85\xb0\x72\x39\x56\x2e\x84\x95\xcb\xb1\x72\x21\xac\x5c\x8e\x95\x0b\x61\xe5\x72\xac\x5c\x08\x2b\x97\x63\xe5\x42\x58\xb9\x1c\x2b\x17\xc2\xca\xe5\x58\xb9\x10\x56\x2e\xc7\xca\x85\xb0\x72\x39\x56\x2e\x84\x95\xcb\xb1\x72\x21\xac\x1c\x8e\x95\x03\x61\xe5\x70\xac\x1c\x08\x2b\x87\x63\xe5\x40\x58\x39\x1c\x2b\x07\xc2\xca\xe1\x58\x39\x10\x56\x0e\xc7\xca\x81\xb0\x72\x38\x56\x0e\x84\x95\xc3\xb1\x72\x20\xac\x1c\x8e\x95\x03\x61\xe5\x34\x83\x51\x68\xf4\xc5\x07\x5f\xd0\x68\x83\x0f\x36\xa0\xde\x95\x77\xae\x50\x6f\xc2\x3b\x13\xc8\x7a\x72\xe3\x09\x59\x0b\x6e\x2c\xa0\xd6\xc1\x1b\x07\x54\x1b\x78\x65\x80\x72\xcf\x33\x2f\xf9\xd1\x4b\x30\xe8\x65\x11\xc6\xc3\xd9\x1b\xe9\x70\xb9\x70\xd8\xd6\x21\xa7\xac\xae\xf4\x40\x16\xb9\x69\xe2\x8e\x6c\x46\xe0\xa7\x2e\x67\x53\xfc\xa7\x05\x90\x0e\x3f\x7b\xb6\x2d\x29\x08\xc2\x87\x7f\xed\x22\xbf\x28\xfe\xeb\xaf\xbb\x34\xfa\xfd\xae\x88\xfd\x28\x1a\x8b\x12\xd4\xa5\x39\x51\x4b\x35\xab\x09\x01\xf5\x4c\xea\x2b\x1d\x74\x8d\x8d\x9f\xa2\x76\x63\x3a\xfb\xff\x5f\xe3\xf5\xda\xdf\x97\x28\x1f\xaf\xd7\x5b\xb4\x4f\x73\x44\xcf\xa1\x85\x9f\xf0\x7c\x8c\x1e\x7d\xb4\xb6\x69\x75\xfd\x9b\x15\x17\xd6\x43\x88\x1e\x71\x48\x56\x0e\x01\x7a\x08\x77\x88\x1e\xeb\x23\x37\x8c\xd4\xb7\x64\xec\x23\x54\x6d\xf0\x7f\xac\x20\xcc\xe9\xb1\xc6\xf5\x2e\x8d\x4e\x71\xb2\x61\x5b\x54\x6c\xed\xf8\xb8\x7c\xae\xd9\xe3\x49\x76\x1d\xd7\x73\x57\x1b\xf0\x8e\x81\xeb\xbf\x4a\x7f\x4b\x4e\x56\xfe\xf5\x99\xe5\x3c\xfb\x9d\x9d\xa4\x03\xce\xb3\x5e\x8f\xb9\x98\xb1\x5d\x9a\x94\x28\x21\x67\xfc\x36\x2c\x4a\xfb\xea\x6f\xb7\xf9\xbf\x02\xbf\xf4\xad\x34\x0f\x0f\x61\xe2\x47\x56\x19\x96\x11\xfa\x7d\x4c\x7c\xe8\xb7\x76\x8f\xcb\x29\x09\x50\x8e\xa3\xd3\x4e\xe6\xd6\x3e\xa3\x20\x2d\x4b\x14\x6c\xd8\xc9\xc8\x23\x8a\xb2\x4d\x0d\x2d\x3d\x94\x78\xed\x3e\x74\x36\x9e\x04\xb9\x7f\xb0\x8e\x7e\x12\x44\x68\x5c\x9c\xe2\xd8\xcf\xcf\xea\x7d\x31\x6c\x1f\xce\x45\x3b\xad\x7f\x4d\xa3\x51\x1a\x8d\xd3\x68\x74\x8a\xc6\x27\xf2\x7d\xc2\xdf\xca\x6e\x1b\xfb\x1a\x94\xda\x71\xe4\x20\x90\xf6\xd3\xd8\x57\x72\xfb\xc9\x7f\x9f\xd2\x12\xb1\x2b\x5b\xf8\xc6\x23\x72\x06\x92\xec\xf2\xd9\x27\x62\x1a\xc2\xd2\x8f\xc2\xdd\x75\x3b\x2e\xca\x3c\x4d\x0e\x52\x0c\xdb\x34\x0a\x50\x7e\x25\x15\x58\xa8\xb6\x4b\xfb\x8b\x2b\xbf\xa1\xa5\x3e\xd9\x99\xa3\xc8\x2f\xc3\x07\x24\xb4\xc7\x85\xf7\x85\x54\x75\x6c\x1c\xea\xc2\xb2\x63\x4d\x5c\x0f\xc5\x57\xac\xa3\x4c\xb3\xb5\x35\xc1\xbf\x7c\xf9\xd2\x0d\xad\xdc\xc8\xc9\x57\xad\xbe\x09\x37\xa7\xc8\x27\xee\x9b\x90\x56\x71\x1f\x66\xeb\x74\xfb\x11\xed\xca\xe2\xca\x2f\xfe\xe1\xf7\x52\xec\x3d\xd7\x75\xc0\xc8\xae\x3e\x29\xea\x7f\x1d\x73\xb4\xff\x9d\x16\x7b\x5d\xb1\x7f\x7f\x3e\x6e\xf5\xe5\x57\x0e\xb5\xca\x88\x09\x61\xd7\xe0\xdc\x90\x10\xb5\x75\x5d\x77\x69\x80\xc6\xf7\xdb\x80\xec\xf6\x2a\xfc\x38\x93\xae\x07\xf8\xf1\xd5\xdb\x34\x49\xf9\xcd\x08\xe3\xb7\x28\x89\xd2\xf1\xdb\x34\xf1\x77\xe9\xf8\xeb\x34\x29\xd2\xc8\x2f\xc6\xcf\xbe\x0f\xb7\x88\xa6\x60\x84\xc5\x9f\x8d\x9f\x7d\xcd\x6e\xa9\x78\x87\x1e\x9f\x8d\xe3\x34\x49\xc9\x51\x61\xd1\x02\xa3\xf8\x9a\xe5\xe8\xd2\x7a\x7f\x41\x18\x1f\xd4\x8b\x7d\xe2\x30\x08\x22\xc4\x5b\x9e\x70\x43\x0f\x39\xf1\xcd\xce\x79\xe3\xd2\x8e\xfc\xac\x40\x6b\xfe\x71\xe5\xd7\x26\x89\x54\xd4\x84\x5e\xd1\xa0\x70\x4f\xcc\x95\x95\xf8\x7c\xb7\xf0\x16\xc1\x86\x05\x27\x07\xc3\xd7\x54\xf0\x5a\x1e\xc5\x4b\x98\xf8\xcd\x44\xf4\x3c\x39\x4f\x48\xee\x07\xe1\xa9\xc0\xad\x8d\x38\x2b\xe8\x53\x93\x32\x72\xb2\x6a\xc3\x9d\x9a\x1b\x85\x76\xa7\xc2\xca\x43\x72\x64\x3a\x4a\xf3\x91\x7f\x2a\xd3\x91\x97\x55\xfc\xa2\x27\x72\xf0\x79\x9c\x66\x25\xbd\x59\x89\x9d\x42\xaf\x2f\x6b\x92\x2d\x34\x2b\x4d\x5e\x6d\x9a\x62\xe0\x2e\xd0\x1d\x4b\xff\x2a\xcf\x19\xfa\x6b\x8e\x0a\x54\xfe\x3e\xa6\x3f\x8a\xd3\x36\x0e\xcb\xdf\xf9\xcd\x51\xc7\x32\x8e\x46\xd4\x87\xba\xfc\x5e\x1f\xbc\xf6\xb3\x0c\xf9\xb9\x9f\xec\xd0\x9a\x7a\x5d\x25\xb9\xf5\x9a\x1c\x6a\xa7\xb9\x0c\x93\x04\xe5\x63\x31\x3a\xa3\x37\x4b\x00\xe0\xcf\x00\xd6\x3c\x6a\x5e\xd2\x06\x2a\x0d\x01\x91\x45\xec\x07\x61\xfa\xfb\x58\x70\xd9\x1d\xd1\xee\x7e\x9b\x56\xbf\xc3\xbd\xa9\x70\x74\x5e\x08\x14\xf8\x25\x92\xb4\x94\x61\x2c\x3b\x60\x09\xec\x68\x91\x0b\x52\x24\xaf\x38\x4d\xca\x23\x88\x61\x14\x16\x25\xee\xc1\xeb\xf2\xcd\x11\x29\x3f\xde\x3a\xae\xfb\x10\x45\x41\x81\xca\x4b\x1c\x26\xb4\x33\x17\x0f\xf7\x37\x1d\x36\xbb\x08\xc1\xbe\xb2\x7d\x9a\x7c\x24\x6a\x7f\xb1\x89\xfd\xca\x12\x7e\x36\x81\xc5\x71\x93\xd0\x36\x78\xdd\x91\xef\x02\x20\xfd\xd4\xa4\x3e\xe6\x3f\x6e\x3e\xad\x7d\x74\x0a\x03\x80\x11\xdf\x68\x04\xf8\x46\xda\x1a\x4a\x2e\x06\x10\x3b\x2f\xe2\xd0\x24\x95\xf4\xbb\xe3\xe6\x1e\x2f\x76\xe7\x58\xe3\x40\xef\x6a\x20\x40\xd3\x91\x16\x31\xfa\xe3\x49\x91\x5b\x69\x12\x9d\x81\xdb\x0c\x58\x6d\x4d\x4e\xf1\x16\xe5\xbf\x37\x67\xe6\x49\x95\xb2\x8a\x0c\x77\xb6\xb4\x0d\x18\x04\xd3\x53\x29\x0b\xf2\xbb\xdf\xc8\xe5\x69\xac\x32\x23\x3f\xdf\x1d\x7f\xe7\xe6\xc0\x4a\xf7\xfb\x02\x95\x6b\xcb\xcd\xaa\x0d\x50\x07\x48\x8d\x95\x42\x0a\x67\xf9\x89\x83\xb5\xc3\x82\x91\x9c\x34\x93\x6c\xd3\x6d\x40\x15\x8e\x44\xd6\x84\xd9\x87\x11\xb2\x4e\x59\x94\xfa\x01\xcf\x0f\xae\x15\x75\x1d\x30\x37\x7b\x3e\xc6\xe1\xa3\x4a\x72\xb3\x1a\x2e\x90\x6b\x89\xe2\x2c\xf2\x4b\x54\x7b\xd1\x0c\xd2\xcb\xee\x7e\x97\x5c\x85\x31\xe0\xdf\x62\x14\x84\xfe\xe8\xcb\xa6\x9e\x7b\x8b\x79\x56\x3d\xbf\x34\x15\xed\xd2\xd4\x64\x8f\xac\x4d\x02\x81\x16\xf3\xa5\x31\xd0\xc2\x35\x04\x5a\xad\x5c\x63\xa0\xd5\xdc\x10\xc8\x71\x6d\xdb\x18\xca\xa1\x1b\x58\xaf\x93\x3c\x7d\x04\x06\xde\xb8\x2a\xae\xc9\xed\x1a\x52\x83\xb0\xc4\x36\x42\x5a\x84\x45\x97\x8d\x70\x8d\xc7\xbf\x47\x4d\xdd\x2f\xd3\xc3\x21\xc2\x95\x3b\x0a\x4b\x3e\x3d\x20\xf7\x96\x1c\x4e\x65\x89\xf2\x42\xde\x85\x6d\x5f\x01\x2f\x36\x60\x14\x7c\xee\x26\xbb\x34\x12\xb5\xdc\x09\x73\x1c\xeb\x77\xa5\x8d\xdb\x72\x03\xb7\xaf\x34\x34\x16\x75\xd8\x3f\x36\xfb\x97\xff\x76\xe9\xbf\xec\x9f\x29\xfd\x67\x46\xff\xf1\xe8\x3f\x73\xfa\xcf\x82\xfe\xb3\xa4\xff\xac\xe8\x3f\xb8\x91\xd1\xaf\xe8\xc0\xff\xe5\x71\xe1\x2f\xbb\xf9\x14\x5c\xdd\xfa\xb3\xf9\x9a\xd6\x5f\xb3\xfa\xcb\xab\xbf\xe6\xf5\xd7\xa2\xfe\x5a\xd6\x5f\xab\xfa\xab\x49\x4f\x1c\xf0\x7f\x79\x7a\xf0\x97\xdd\x7c\x0a\xae\x6e\xfd\xd9\x7c\x4d\xeb\xaf\x59\xfd\xe5\xd5\x5f\xf3\xfa\x6b\x51\x7f\x2d\xeb\xaf\x55\xfd\xd5\xa4\xa7\x88\xf9\xbf\x3c\x3d\xf8\xcb\x6e\x3e\x05\x57\xb7\xfe\x6c\xbe\xa6\xf5\xd7\xac\xfe\xf2\xea\xaf\x79\xfd\xb5\xa8\xbf\x96\xf5\xd7\xaa\xfe\x6a\xd2\x53\x45\xfc\x5f\x9e\x9e\xaa\xa9\x1e\x55\x53\x43\xaa\xa6\x92\x54\x75\x3d\xa9\xea\xaa\x52\xd5\xb5\xa5\xaa\x2b\x4c\x55\xd7\x99\xaa\xae\x36\x55\x5d\x73\xaa\xba\xf2\x54\xb4\xfe\x00\x13\x16\xb1\xb3\x0c\x93\x7a\x9e\x2b\xf4\x60\x6d\x9d\x1a\xa9\xf6\x17\xd2\xae\xb7\x7e\x11\x16\xb8\x67\xc5\x3f\x0e\x79\xfa\xb8\x76\x94\xee\xf7\x5a\xd7\x63\x12\x82\x4c\xca\x84\x6e\x8f\x75\x89\x3c\x04\xbb\x87\x14\xb7\x9c\x46\x7c\x39\x99\xe2\xff\x13\x3b\x76\xee\x44\x65\xdd\x46\xd6\x99\x4f\xe6\xf3\xf9\x7c\x21\x8d\x02\xb8\x1b\x95\x9e\x36\xd2\xae\x27\xca\xb9\x1e\x93\x98\x35\x12\xd3\xa9\x1e\x79\xed\x46\xa5\xbd\x46\x7a\xe6\xe8\xb1\xd7\x6e\x54\x7a\xde\x48\x7b\xd2\x58\xc5\xe3\x58\x2d\x04\x09\x20\xeb\x9e\x9c\xf7\x65\x23\x3d\x07\xf2\x3e\x97\xf3\xbe\x6a\xa4\x17\x52\xde\x17\x3c\xef\x8e\x2d\x00\x0f\x64\x7e\x29\x67\xde\x11\xca\x69\x05\xe4\x7e\x25\xe7\xde\x11\x8b\x4a\x1f\xab\x5d\x27\x74\x54\xba\x0f\xf3\xa2\xbc\xd0\x11\x9e\xe5\x70\xd7\xc8\xaf\x1d\x9d\x29\x77\xb4\x2f\x7c\x20\xc8\x1c\x1c\x2e\xc2\x1d\x5c\xe6\xe0\x72\x87\x29\x73\xa8\x75\xcc\x98\xc3\x8c\x3b\x78\xcc\xc1\xe3\x0e\x73\xe6\x30\xe7\x0e\x0b\xe6\xb0\xe0\x0e\x4b\xe6\xb0\xe4\x0e\x2b\xe6\xb0\xaa\x13\xc6\x93\xea\x34\x69\xad\x13\x5b\xa7\xd6\xe1\xc9\x75\x70\x7a\xc9\x40\xca\x72\xe4\x73\xe1\x75\x01\x30\x6f\x57\x3e\x84\xd5\x94\x38\xf3\x9f\x2a\x27\xf0\x1a\x9f\x99\x7c\x74\x70\xaa\x6a\x56\xce\x8d\x3a\xaa\xe6\xb9\x72\xec\xb5\xf1\x59\xc8\x3e\x5a\x9a\x97\xf2\x71\x63\x2d\xcd\x2b\xe5\xac\x79\xe3\xa3\x9c\x39\x5b\x6a\x89\x76\x64\xb8\x9a\x1a\xd8\x36\xe2\xc2\xd6\x7b\x98\x49\x63\xd6\x7e\x98\x55\xc3\xbd\xcf\x00\xc3\x86\x7b\xa8\x41\xb6\x0d\x77\x64\x9d\xe6\x0d\xf7\x71\x83\x2c\x1c\xee\x0a\x07\x19\x39\xdc\x63\x76\xda\x39\xdc\x99\x0e\x32\x75\xb8\xcf\x1d\x64\xed\x70\xd7\xdc\x69\xf0\xc8\x30\x61\x90\xcd\x23\xa3\x89\x41\x66\x8f\x0c\x3a\x7a\x59\xbe\x22\x36\x18\xbf\x22\x86\xed\x5f\x11\xeb\x26\x90\xd4\x32\xc5\x0a\x92\xaa\xa4\x18\x42\x52\x5b\x14\x5b\x48\x2a\x87\x62\x0e\x49\xf9\x2b\x16\x91\x14\xb1\x62\x14\x49\x89\x2a\x76\x91\x14\x9a\x62\x1a\x49\xb9\x28\xd6\x91\x16\x83\x6a\x20\x29\xd4\xaa\x8d\xa4\x70\x6a\x66\x92\x40\xa1\x0c\xf5\x1b\xaf\x0e\x23\x4a\xf0\x69\xb7\xa3\x04\x2e\x93\x29\x25\xb8\xb5\x5b\xd3\x22\xee\x34\xa8\x04\x55\x93\x4d\x25\xf0\xb6\x9b\x55\x82\x76\xbb\x65\x25\xe0\x9b\x8c\x6b\x11\x77\xdb\x57\x5a\x26\xb0\x89\x6d\x9d\xa0\xe2\x11\xfb\x30\x1b\xcb\x46\xf8\xc3\x6c\x2c\x9e\x71\x0c\xb0\xb1\x78\x56\x32\xc8\xc6\xe2\xc9\x4b\xa7\x8d\xc5\xf3\x9a\x41\x36\x16\x4f\x7f\x06\xd9\x58\x3c\x4b\xea\xb4\xb1\x78\x02\x35\xc8\xc6\xe2\x79\xd6\x20\x1b\x8b\xa7\x63\x9d\x36\x96\x4c\x0d\x07\xd9\x58\x32\x83\x1c\x64\x63\xc9\x44\xb3\x97\x8d\x8d\x03\x83\x8d\x8d\x03\xd8\xc6\xc6\x81\x6e\x63\x49\x2d\x53\x6c\x2c\xa9\x4a\x8a\x8d\x25\xb5\x45\xb1\xb1\xa4\x72\x28\x36\x96\x94\xbf\x62\x63\x49\x11\x2b\x36\x96\x94\xa8\x62\x63\x49\xa1\x29\x36\x96\x94\x8b\x62\x63\x69\x31\xa8\x36\x96\x42\xad\xda\x58\x0a\xa7\x66\x63\x09\x14\xb0\x8d\x25\x88\xb4\xda\x58\x82\x4f\xbb\x8d\x25\x70\x99\x6c\x2c\xc1\xad\xdd\xc6\x12\x18\xdb\x6d\x2c\x41\xd5\x64\x63\x09\xbc\xed\x36\x96\xa0\xdd\x6e\x63\x09\xf8\x26\x1b\x4b\x4b\xa1\xdd\xc6\xd2\x32\xe9\x6d\x63\x1b\x3e\x2f\xb2\xa2\xc3\x30\x1b\xcb\x58\x9d\x61\x36\x36\x3a\x0c\xb2\xb1\xd1\x61\xa0\x8d\x8d\x0e\x3d\x6c\x6c\x74\x18\x68\x63\xa3\xc3\x40\x1b\x1b\x1d\x7a\xd8\xd8\xe8\x30\xd0\xc6\x46\x87\x81\x36\x36\x3a\xf4\xb0\xb1\x84\x0e\x1c\x64\x63\x09\x6b\x38\xc8\xc6\x12\x72\xb1\x97\x8d\x8d\x0e\xa6\x49\xfc\x01\xb6\xb1\xd1\x41\xb7\xb1\xa4\x96\x29\x36\x96\x54\x25\xc5\xc6\x92\xda\xa2\xd8\x58\x52\x39\x14\x1b\x4b\xca\x5f\xb1\xb1\xa4\x88\x15\x1b\x4b\x4a\x54\xb1\xb1\xa4\xd0\x14\x1b\x4b\xca\x45\xb1\xb1\xb4\x18\x54\x1b\x4b\xa1\x56\x6d\x2c\x85\x53\xb3\xb1\x04\x0a\xd8\xc6\x12\x44\x5a\x6d\x2c\xc1\xa7\xdd\xc6\x12\xb8\x4c\x36\x96\xe0\xd6\x6e\x63\x09\x8c\xed\x36\x96\xa0\x6a\xb2\xb1\x04\xde\x76\x1b\x4b\xd0\x6e\xb7\xb1\x04\x7c\x93\x8d\xa5\xa5\xd0\x6e\x63\x69\x99\xf4\xb6\xb1\xc2\xf2\x47\x64\x55\x03\xf9\xcf\xea\x16\x0a\xb4\x1a\xc6\x82\x56\x43\x89\xd0\xaa\x0f\x17\x5a\x0d\xa5\x43\xab\xa1\x8c\x68\xd5\x87\x14\xad\x86\xf2\xa2\xd5\x50\x6a\xb4\xea\xc3\x8e\x56\x83\x09\xd2\x6a\x30\x47\x5a\xf5\xa6\x49\xab\xc8\x60\x64\xab\x08\x36\xb2\x55\xa4\x1b\x59\x52\xcb\x14\x23\x4b\xaa\x92\x62\x64\x49\x6d\x51\x8c\x2c\xa9\x1c\x8a\x91\x25\xe5\xaf\x18\x59\x52\xc4\x8a\x91\x25\x25\xaa\x18\x59\x52\x68\x8a\x91\x25\xe5\xa2\x18\x59\x5a\x0c\xaa\x91\xa5\x50\xab\x46\x96\xc2\xa9\x19\x59\x02\x05\x6c\x64\x09\x22\xad\x46\x96\xe0\xd3\x6e\x64\x09\x5c\x26\x23\x4b\x70\x6b\x37\xb2\x04\xc6\x76\x23\x4b\x50\x35\x19\x59\x02\x6f\xbb\x91\x25\x68\xb7\x1b\x59\x02\xbe\xc9\xc8\xd2\x52\x68\x37\xb2\xb4\x4c\x0c\x46\x96\x5c\x8d\x4f\xb6\xef\x89\x9b\x47\xd8\xce\x1a\xd8\x93\x6e\xab\x81\xfd\xd8\x9e\x9a\xc6\xf3\xa2\x6c\xad\x00\xdf\x4d\xdb\x08\x7b\x9f\xe8\x3b\x0f\x1b\x78\xab\x96\xf6\x1e\x85\xf6\x16\x87\xb8\x2b\x8f\xef\x3a\x99\x4c\xc9\x36\xac\xd1\x44\x78\x46\xa7\xd9\x09\xab\x6e\x33\x95\x77\x5b\x4d\x1c\x97\x04\x12\x5e\x6f\xa1\x7b\xa8\x26\x8e\x27\x3d\xe0\x32\x56\x37\x08\x02\x12\x54\xb3\xd1\x97\x3f\xf7\xa0\xf9\xf1\xae\xb0\xd8\xe5\x08\x25\x23\x3f\x09\x46\x5f\x66\x39\xda\xa3\xbc\xb0\x72\x14\x9c\x76\x28\xb0\xe2\x94\xad\x2f\xe2\x9f\xcf\x2f\x04\x6b\x21\xd1\xa4\x4b\xbb\x8a\x2f\x4e\xe0\xcf\xb6\x97\x08\xa1\x77\x2a\x84\xbd\x7e\xa4\x88\xd9\xab\x0b\x82\x1c\x77\x5a\x03\x4e\x7d\x1e\x5b\x18\x1c\x6e\x2d\x87\x2b\x8e\xe9\xe3\x9d\x94\x36\x65\xf7\xc2\xa0\xc7\x35\xbc\xe7\x14\x07\x1e\x1b\x85\x82\xff\xba\xa4\x99\xbf\x0b\xcb\xf3\x7a\x32\xf7\xae\xbe\x2c\xc8\xf7\x50\xd5\xc2\x23\x22\x70\x61\xfb\x72\x2d\xf4\x80\x92\xb2\x68\xa0\xe6\xc9\x15\xde\xdd\x03\xb6\x38\xb3\xbd\xeb\x62\x45\xe2\x8e\x92\x16\x79\xa7\x29\xac\xcb\x99\xd9\x9e\xeb\x28\xba\xec\xc0\x9e\x3a\x73\xb9\x70\xa5\xcc\xd7\x31\xd4\x20\x3c\x4d\x82\x7b\x3f\xc4\x31\xa8\x56\xf4\xa8\x0f\xed\xe9\xa7\x78\xa8\x20\xcd\x6d\xd7\xde\xd2\xf4\x17\x68\x97\x26\x81\xd2\x06\x6a\xc7\x35\xe8\x38\xb4\x1d\xf4\x0c\x69\x6c\x09\x4d\x1a\x87\xb7\x05\x67\xba\x1a\x3b\xb3\xd9\xd8\xf1\xec\xba\x39\x34\x0a\xdb\xc1\xa3\x4f\xbe\x28\xe0\x89\xef\xc0\x34\x19\xeb\x51\x5f\x17\x8b\x45\xb0\x9c\x29\xda\x16\xce\x62\xbe\x08\xd4\xa2\x90\x6b\x6c\x13\x4b\xbf\x3a\x3b\x20\xd9\xfd\x6b\xed\xb0\x32\xec\x55\x7a\x1d\x70\x11\x64\x94\x5c\xcc\xb7\x0b\x7b\xc1\x73\x41\x1f\xc7\x91\xea\x2d\x75\x5a\x03\x4e\x83\xeb\x6c\x9f\x70\xe6\x1a\xcb\xd2\x36\xbc\xbe\x7a\xee\xd8\x99\x2e\xc7\x9e\x27\xd4\x56\xaa\xac\x1d\x2e\xb6\xf5\x5f\x86\x8b\x3a\x4a\x5a\xfa\xd4\x54\xd7\x9f\x23\x77\xa7\x1a\xbd\xf9\xdc\x73\x97\x32\xf4\x4a\x3d\x65\x31\xf4\xab\xa5\xbd\x13\x3c\xa0\x8e\x0e\x28\xb3\x1e\xa5\xd5\x01\x12\xc1\x43\x05\x69\xea\xed\x5c\x8f\xa6\x3f\x4c\xf6\xa9\x58\x39\xf1\xef\xb5\xfa\x7b\x68\xb5\xec\x0e\x64\xac\x93\x24\x3d\xc3\x2b\xa4\x3b\x1d\x3b\x73\x77\xec\x2c\x67\x4d\x8d\xc4\xaa\x3a\x3a\xe7\x85\xef\x6e\x55\x74\xa8\x63\xa3\xa2\x57\x2f\x3f\x5d\xce\x34\x63\xe6\x38\x0b\x7f\xb9\x15\x60\x96\x2b\x22\xd1\xdd\xaf\x16\xf6\x4b\x67\xff\x2a\xd8\xbb\x7c\xba\x4a\xa6\x23\xd9\x04\x00\x35\xd9\xf6\xc2\x5e\xec\x69\xb2\xd9\x23\x61\x62\xfd\x63\x4e\x6b\xc0\x69\x68\x2d\xec\x15\xce\x58\x11\x79\xda\x6e\xa8\x8b\x9e\x37\x76\x56\xd3\xf1\xa2\xa9\x8a\x4c\xd9\xa5\xfb\x70\xdd\xce\xb1\x55\x73\x43\x1d\x25\x45\x72\x9d\x34\xaa\x43\xb6\xbf\xb4\x6d\x45\x5d\x30\x5d\x21\xdb\x96\x0b\x40\xae\x99\x3c\x12\xb5\x72\x7e\x7e\xb2\xfb\x57\xd1\x21\x85\xd7\xa3\xd8\x3a\xb3\x40\x51\x51\xb2\xb0\x9b\xaf\x3c\x0e\x15\x7d\x45\x4f\xac\xaa\xd4\x65\xad\xbb\x0c\xad\xa8\x7d\x82\x19\xeb\x29\x4b\xd7\x0d\x63\x4e\x6f\x39\x76\xa6\xe3\xa9\xd3\x54\x53\xaa\xab\xbd\x51\xb3\xf7\x50\x65\xa0\xa8\xa3\xa8\xa4\xd7\x58\x73\x6b\xfb\x8e\x6a\xd6\xe6\x7b\x7b\xc5\xe7\x46\x3c\x6f\x52\xed\x64\xfa\xfb\x59\xce\xbe\xa9\xed\x5f\x31\x07\x14\x56\x77\x31\xb5\x27\x9e\x42\xa1\xe2\x33\xb5\x97\xce\x94\x26\x9e\x9c\x39\x16\xab\x24\x71\x58\x6b\x0e\x43\x2b\x64\x8f\x50\xc6\xfa\x48\xd3\x74\x9b\xd5\xe4\xff\xab\x2b\x24\x3d\x54\xdd\xe3\x48\xb2\x66\x7b\xf6\x82\x82\xbe\xd6\x72\x87\xff\x14\x4d\x68\x8e\xff\x44\xb8\xe5\xda\x48\x23\x18\x60\x29\x3b\x92\xda\xbf\x22\xf6\x2f\xa4\xce\xe2\xe9\x86\x86\xa0\xa0\x76\x24\x7b\xfc\xc7\x9b\x51\x7e\x2f\xdb\xc6\xfc\x7e\xad\xfe\x1e\x6e\x17\xbb\x02\xb5\x58\xc5\xfc\xfe\x16\x9b\xb8\x18\xd3\xff\x17\x4c\x62\x7e\xdf\x35\xca\x51\xe9\x1d\xc7\x71\x9a\xc0\x7d\x0c\xa1\xad\xf5\x3c\x76\xd3\xed\xe0\x8c\x28\x06\x30\xbf\xef\x3b\x70\xec\x48\xdb\x10\xb3\xd7\xb3\x2c\xba\x4a\xe1\x66\x24\x94\x37\x68\xc5\xda\xa6\x78\xad\x5b\xbc\x86\xd6\xc1\x41\xe1\x8d\xd5\x51\x4d\xfb\x13\xb0\xa5\xaa\xce\x8b\xc2\x05\xb6\x1d\xa4\x37\x13\x85\x6a\x76\xfb\xcc\xc3\xbb\xc8\x47\x2d\xf3\x52\x6d\x56\x63\xd4\x4c\x69\x77\x7e\xe0\xa4\xf7\xaf\xdb\xb7\x94\xf1\x80\xd2\x7d\x22\xf8\x40\x0e\x54\xf3\x84\xea\xee\xed\x9c\xe8\x40\x0d\x9d\xf5\xff\xc9\x39\x52\x4d\xf1\x45\xa1\x17\x5b\x9b\x01\xf4\x8e\x74\x0b\x23\xa9\xa3\xd1\xa3\x79\x74\xf2\x9c\x00\x36\x60\x03\x31\x13\xac\x3d\xf2\x6a\xca\xc0\xf0\x46\x72\x3b\xc5\xda\x59\x09\x9e\x0a\x48\x9d\x72\x55\xbc\xc0\x2a\x7e\x23\x05\x3b\x28\x7c\x77\x03\x79\x4a\x4a\x56\x51\xaa\xdc\xbf\x32\xa0\x87\x10\x09\x4f\x35\xbf\x3d\x9a\x40\x27\x89\xaa\xe5\x1e\x6e\x00\x06\xe6\xb6\x47\x7e\xe0\xa4\xdf\x50\xf9\x6f\xe4\x6e\x3b\x8a\xf7\x89\xe0\x53\xb9\x5c\xd1\x1d\xaa\xb2\x37\x71\xbb\xfd\x03\x77\x56\xf6\x27\xe4\x7a\x45\x95\x17\x85\x35\xed\x5f\xcf\x45\x4a\x55\xca\x67\x1f\x0a\xb8\x8b\xa3\x95\x73\x0d\xd6\x70\x90\x12\xee\x91\x0d\x20\xc5\xc3\xeb\xf6\x4d\xa4\x70\x5b\x51\x3e\x11\x5e\x00\x49\xac\x78\x41\xd5\xf3\x56\xd2\x78\x50\xf8\xce\x1a\xfe\xa4\x24\xb2\xa2\xf4\xa2\x90\xaf\xfd\xab\xb9\xc8\xcc\xaa\xf9\xed\x47\x95\x74\x12\xbe\x1a\x00\x60\x7d\x37\x11\xcd\x3d\xb2\x04\xa7\x7e\x78\xad\xbf\x95\x67\xee\x28\xe1\xa7\x43\x50\xe7\x9d\x65\x1f\xa8\xf2\xde\xc8\x43\x0f\x09\xde\x59\xf5\x9f\x92\x97\x96\x75\x5e\x14\x6e\xb7\x7f\xc5\x17\x89\x5f\x25\xb3\x3d\x2c\x7c\x27\x97\xac\x66\x1d\xac\xf3\x06\xfa\xba\x47\x66\xc0\x74\x0f\xaf\xf1\x37\x12\xd8\xed\xe5\xfa\x44\xc8\x69\x84\xb6\xe4\x01\xd5\xd5\xdb\x08\xee\x01\xa1\x3b\x2b\xfa\x93\x12\xde\x92\xd2\x56\x50\xdb\xcc\xfb\x1e\x50\xd6\xdb\xb2\x1b\x09\x6a\x25\xc3\x60\xed\x86\xe9\xf0\xae\x0c\x40\xc9\x1d\x5e\xb1\x6f\x23\xc4\x5b\x8b\xf1\x29\xe0\x52\xa9\x71\xd1\x1d\xb6\xbe\x37\x50\xe5\xfd\x03\xf7\x30\xdc\x4f\x44\x9d\x8b\x0a\x2f\x22\x21\x3d\x60\x40\xce\xd9\x6a\x29\x7f\x7d\x46\xe3\x66\xe2\x5b\xce\xa7\xc1\x46\x03\x0c\x7b\x57\xd2\x81\x84\xde\x62\x9c\x6f\xa0\xd9\xdb\x4a\xee\x66\x98\xa2\x30\xb9\x1f\xd7\x5f\x0c\xf3\xee\xfc\x63\xe1\x8b\x7a\xc7\x30\x30\x67\x15\x94\xf2\x98\xcd\x37\xb5\xca\x69\x04\xe3\x94\x57\x41\x13\xd6\xb2\xc0\x4d\xd7\x46\x6d\x1b\xa1\x7e\x37\x5b\x86\x89\x76\x75\xd1\x2f\xd1\xeb\x07\xbb\x77\xd4\xb8\xf5\x98\x5e\x63\x18\x1d\x48\x99\x31\x3d\x87\xfa\xae\x4b\x72\x4d\x23\xb9\xc4\x57\xbe\xf4\xda\xeb\xb3\x79\x9e\xbe\xd5\xdd\x44\x52\xc4\x42\x24\x45\xdc\x44\xe2\xd2\x1d\xfa\xca\x06\xfd\xc9\x72\xd1\x2b\x9a\x3a\x16\x7a\xe6\x80\x9f\x31\x20\xbf\x04\x8f\x3f\x0b\x32\xc2\x83\xe6\x13\x25\x95\x63\x21\xc1\xfc\x1c\x02\x70\x83\x97\x72\x92\x81\xdc\xb4\x07\x1e\x5b\xb8\x02\xfa\x04\x18\xe8\x7d\xdd\x13\xba\x3b\x5c\xbb\xd7\x98\x9e\x41\x72\xc8\x69\x35\xa3\x22\xa9\xc5\x02\xfe\xeb\x2e\x7f\xa1\x8e\x42\xde\xa4\x39\xa8\xa9\xd5\x23\x35\xc4\x05\x47\x21\x68\xbe\x7c\xb2\xc8\x95\xc2\x6b\x47\xc8\xe1\x08\x7f\xfe\x59\x81\xa9\x71\xd4\x8a\x6a\xd4\x7c\x82\xa1\x04\x2f\x73\x31\x83\x91\x02\xbe\x1d\x1a\xe0\x64\x18\x65\xe8\xe7\x45\xbe\x84\x31\xab\xae\x1a\x84\x61\x5e\x94\xd6\xee\x18\x46\xc1\xd8\x74\x2b\x23\xbd\xbc\x9d\xf8\x92\x0b\xe4\x8c\xd7\x37\x0a\x82\x18\xa1\x36\x29\xf5\x90\x16\x4e\x56\x99\xa6\xd1\xd6\xcf\x5b\x2f\x9a\xfc\x78\x2a\xca\x70\x7f\xb6\xd8\xed\xea\x44\xc6\x2a\x4a\x3f\x2f\x25\x1d\x23\xf1\x3a\xd5\x4b\x73\x22\x53\xcd\x3f\xfd\xa4\x9d\x50\xe4\x73\x24\x9e\x83\x4d\x49\x93\x62\x9d\x95\x9c\xcb\xe7\xfc\x6e\xe5\x32\xcd\xd8\xdb\x60\xfc\x96\x65\xf9\x42\x76\xc5\xb3\x2d\x65\x42\x21\xb5\x25\x4d\x14\x13\x53\x41\x9e\x1f\x33\x24\x42\xf2\xbb\xc2\x45\xa6\xdc\x97\x39\xf1\xe6\xae\x74\x33\x35\x29\x43\xee\x0a\x98\xe6\x3f\xc3\x6a\xb9\xc5\x36\x78\xab\xb1\x4e\x17\x40\xa4\xd4\x11\xe8\x73\x5a\xe3\x8c\x0e\x3d\xe3\x84\xa2\xd4\x62\xac\xed\x39\xfc\x18\x01\x31\xdb\xe4\x4a\xd9\x42\xa8\xad\x5a\x45\xa6\x87\xd4\x20\xbd\xa3\x1e\x6d\x5e\x3a\x13\xa7\x8e\x67\x3b\xda\x25\x6f\x91\xfc\x5a\x66\x7e\xc9\xbd\xda\xf3\x4c\x5c\xcf\x23\xb7\x2b\xd3\x04\x3f\x7b\x66\xec\x3b\x8c\x56\xea\xae\x87\xb5\xbb\xeb\x61\xed\x54\x19\xd9\xda\x91\x6b\xf8\x1d\xe5\x0a\x5a\xdb\x98\xda\x9e\x36\x40\xe9\xbf\x86\x19\x03\xb0\xc9\xb7\x37\xc5\x1e\xa9\x6d\xb3\x0b\x50\x72\x07\x19\x08\xdd\x7e\x89\x69\xa2\xf9\xd3\x22\x15\x9c\xc5\x41\x88\xfa\x00\x04\x1c\x62\xa4\xdf\x77\xde\x2d\x58\x5f\x83\xde\x9d\x8c\xde\xfa\x0d\x61\x9a\x1b\xd7\xeb\x41\x95\xbf\x2d\xd2\xe8\x54\xa2\xcd\x2e\x0a\xb3\x35\x6e\xf9\x5f\xda\x63\xf2\xf7\x1c\x1e\x1c\xf3\x0a\x32\xae\x2f\x43\x16\x3a\x56\xde\x44\xf5\x41\x9b\xa9\x51\xc3\x67\x5f\xc5\x7a\xcf\x5a\x6d\x53\xa8\xeb\xc9\x14\xc5\xf4\x68\x6b\x3d\xe8\x65\x16\x96\xbb\x8f\x80\x49\x2a\x2f\x3b\xfe\x9b\xd9\x5f\x28\x88\x9e\x58\x14\x67\xe5\xd9\xd0\xf3\xd7\xb2\x31\x4a\x4e\x00\xb2\xf4\xed\x50\xfb\x8b\x0d\x0d\xb0\xa9\x07\x76\xb6\x6d\x6f\xc4\x5b\xb8\x37\xfb\x28\xf5\xcb\x35\x16\xdb\x08\x17\x3c\xd8\x82\x09\x67\x33\x8f\xfa\xc2\x79\x76\x14\x17\x4f\xef\xd5\x33\xbc\x32\x19\x22\x9c\x26\x26\xfa\x0d\xe4\x88\xe0\x8a\xeb\x43\xf3\x74\x43\xa5\x1f\x2b\x26\x44\x02\xad\x2c\x13\xc7\x7b\x0e\x1f\x12\x56\xe0\xa1\x25\x75\xe1\xf7\x56\xd7\xb7\xcd\x5f\x75\xdb\x4e\xd0\xc4\xd8\x91\x8b\x28\xea\xc7\x55\xc9\xad\x03\xb5\x95\xe4\x40\xd4\x8f\x4b\x88\xb1\xb6\x74\x15\x37\xd4\x3a\xfb\x86\xca\xa6\xd7\xd4\xce\x5a\x07\x5e\x2f\xde\x5c\x2c\x6e\x1e\xc3\xaa\xbd\x20\xd8\x60\x7a\xa5\x55\x12\xaa\x3b\x53\xb1\xdb\x34\xa1\xdb\xd5\x4c\xd4\x94\xd7\x65\x6c\x6f\x84\xa7\x08\xd8\xf3\xb7\x86\x92\xa6\x08\x8a\xe5\xdc\x8e\xc7\xc0\xa2\xe6\x55\x13\x2e\x2f\x75\x48\x61\xc8\x57\x4f\x38\x94\xb2\xd6\xd0\x68\xac\x86\xf8\x44\x83\x84\x06\xab\x8c\x22\x1c\x86\x1a\x64\x18\x23\x01\x48\x74\x0d\x9b\x24\xa3\xd5\xa3\xd6\xb6\x16\x01\xcb\x00\x50\x06\x9d\xa8\xc3\x91\xf6\x36\xd5\xff\xaa\xac\x2c\xf2\x77\x28\x46\x49\xf9\xbf\xfe\x5a\xa6\xd9\xef\xe3\x36\x01\x92\xa8\x76\x11\xda\x92\xda\x65\x70\x52\x7e\xbf\x08\xb5\x9d\x35\xbf\xc6\x0a\x92\x80\x41\xf8\x10\x06\x28\xbf\x28\xe5\x54\xdb\x7f\xfe\xa6\xcf\x9a\x3e\xe7\x20\xb6\xf6\xc6\x42\xff\x09\xad\xd0\x0e\xed\xaf\xf2\x4b\x1d\x32\x15\xb4\x01\x9e\x24\x61\xcc\x13\x7f\x8d\x24\x42\x7e\xbe\xde\xa6\xe5\x51\x7b\x8e\x4c\x20\x26\xf5\xa7\x7a\xfa\x50\xc7\x52\xa1\xe0\xc4\xd5\x04\x8a\xe4\xba\x86\x5d\x19\x7d\x22\x3b\x4a\x34\xe5\xa0\xd7\xab\xe8\x6a\x80\x9c\x9c\x86\x4a\x94\x63\x31\xf0\x89\xed\x94\xab\x54\x2d\x08\x25\xac\xd2\x72\xca\x1b\x2b\x4a\x51\x29\xf4\x23\x2d\x1e\x65\x68\x0a\x30\x85\xe2\xde\x6c\x29\x17\xe4\x99\x16\x53\x1c\x72\x1d\x10\xf8\x66\xf2\xa0\x1e\xb6\x06\x79\x1a\xf5\xa8\x4b\x83\x2e\x1a\x69\x63\xef\x87\x8f\x50\xfe\x84\x1c\xfc\xd7\x7d\x7d\xc9\x7f\xf4\x16\x12\x09\x3f\xfd\x3a\x12\xd1\x7b\xbd\xb6\xe2\xc2\x42\x55\xe6\x27\x41\x2b\x9d\x2f\x34\x27\x29\x3c\xe5\xd5\xbb\x51\x95\x4f\xd1\x50\xd4\x84\x7b\x4d\xe4\x34\x11\x6b\x76\x24\x2f\xd2\x29\x9b\x5a\xf9\xe5\x1f\x4a\x2d\x59\x37\xad\x48\x74\xfe\x57\x8e\xfc\x20\x4d\xa2\xf3\xef\xc0\x93\x94\xd4\x74\x09\x1a\xe9\x15\x37\xb2\x5e\x3c\x29\xfc\x17\xae\x4d\xfc\x21\xb6\xf8\x14\x95\x61\x16\xa1\xdf\x9f\x73\xcb\xb9\xf3\xa3\xdd\x97\x2e\xab\xcd\x7f\x1e\xb9\x59\xf5\x1c\x54\x45\x90\xa2\x78\x3f\xf8\xd1\x09\x75\x82\x26\x67\x91\xbc\xe0\x23\x67\xcf\xca\xfd\xe4\x80\x8c\x2d\x84\xde\xaa\x45\x02\xd0\xc7\x34\xc5\xa7\xd3\x48\xaa\x79\xd3\xf9\xf3\xc8\xc9\xaa\xe7\xea\x3b\x6a\x90\x88\xd9\x16\x40\x0f\x91\x39\x13\x4f\x4d\x84\xb0\xc8\x21\xa4\xa3\x33\x15\xa2\x40\xe7\x82\x88\x16\x67\xb3\xe6\x21\xc4\xe9\x76\x46\xea\xc2\xb1\x1a\xd6\x47\x94\xe2\xca\x22\x1f\x4f\x6e\x35\xf3\xa7\x5b\x30\x36\x82\x86\xdf\xb2\x63\xce\x2a\xee\x03\x9f\xe9\x04\x1a\xb2\x71\xb4\xce\x12\x98\x55\x23\xfb\x3a\xd9\x9d\x8a\x32\x8d\xe9\xeb\x51\x64\x9e\x3f\x09\x49\xf5\x0d\x83\xff\x23\xf9\x11\x9c\xc7\xdc\x89\x55\x7f\x2e\x2a\xd7\x5a\xc1\xf9\xd1\x67\x9f\x7e\x89\x82\x91\x1e\xd9\xda\x1c\x13\x1c\x94\xdd\x52\x05\xab\x97\x5a\x23\x71\xbf\xc0\x9b\x68\xe1\x72\x94\x9d\xa3\xc3\xb8\x97\x5c\xa1\xbc\x5b\x16\x1d\xee\xfa\x84\xd3\x03\x89\xbf\xfd\x2c\x43\x49\x60\x54\x44\x18\xa7\xcf\x08\xaf\xbf\xb3\xd6\xa6\x2c\xcb\xd1\xe7\xa5\xa6\x4b\x41\x7b\x72\x8a\xf8\x06\x40\x71\xa0\xcf\x01\x74\x60\xf8\xee\x1c\x7c\x16\xa0\x43\x15\xa8\xc9\xe9\x7c\xed\xab\xb5\x46\xab\x05\xd0\x0f\xa9\xde\x90\xde\x88\x5d\x7f\x90\x4c\x68\x3c\xc9\xf2\x78\x8f\x1c\x32\x63\xc9\x29\x68\xc3\x68\xa3\x17\x58\xdc\xee\x2a\x39\xba\x5d\x2f\x07\xe9\x29\xd2\xa8\xe8\xfa\xac\x44\x0e\x1c\xaa\x8d\x01\x79\xab\x88\x7b\x8f\xee\x9c\xc9\xd2\x91\xc6\x77\x7a\x5f\xd0\x66\xe3\xfb\x19\xe3\xde\x56\xfb\x46\xf3\xdc\xdf\x0e\x9b\x5b\xc4\xe7\xef\x4a\xe9\x91\xc1\x5b\x2a\x5b\xbb\xaa\xdb\xeb\x9a\x09\xa3\xa7\x48\xe3\x93\x35\x88\xe8\xf0\x24\x0d\x22\x3a\x0c\x98\xee\x2c\x17\x7a\x7b\x90\x96\x18\x39\x9f\xde\x3c\xa7\x0f\x0c\x86\xc5\xfd\x40\x8c\x60\x24\xa2\xc3\x1e\xd3\xd4\xde\xd2\x24\x6f\xf5\x71\x45\xec\xa9\xcb\xfa\x67\xdb\x43\x97\xda\xb3\x7f\x8d\x26\xb2\xb4\xd5\xb2\x21\x49\x22\x37\xd8\xe5\xb8\x52\x9e\x88\x02\x3a\xae\x05\xd6\x70\x44\x24\xa6\xc2\x88\x9f\xed\x4b\x31\x69\xaa\x27\xbe\xff\x47\xf4\xa2\xd3\x3d\x89\x38\xba\xea\xfe\xda\x92\xa3\xa4\x1c\x37\x67\x95\x57\x25\x45\x21\xae\xd6\xb3\x7b\x63\xe5\xf1\x82\x42\xbc\x2e\x80\x94\x93\xf7\xf8\x5b\x60\x29\x4a\xbf\x0c\x77\x6d\x7c\xf4\x94\x71\x2c\x0a\xff\x1a\x26\x64\x60\x4f\x36\xb9\x94\x61\x36\x9e\x48\x3f\xdb\xd6\xce\xf8\xa2\x99\x67\x7a\x46\x79\xa2\x5b\x39\xd5\xc6\xb9\x24\xa7\x34\xca\x3d\x42\x01\x9e\x87\x49\xcf\xe0\x4a\x0f\x50\xaa\x75\x7f\x23\x3d\xbb\xaf\xee\x92\x94\x33\x22\x29\x15\x35\x39\xf0\x60\xa5\x6d\xdb\xa7\x7a\x5e\x74\xf9\xbc\x9e\xf7\x71\xd3\xa0\x4e\xfd\xe4\x2c\x8e\xfb\x89\xd7\x65\xd2\x36\xa9\x34\x68\x6e\x91\x55\xd5\x2a\x93\x4f\xa3\x4a\x83\x5c\xad\x4e\xad\x9d\x2d\x1a\x3b\x45\x15\xa5\x02\xa3\xd3\xa9\xb5\x4d\x16\x54\xdb\x53\xa3\x59\x19\x3c\xb5\x96\xca\x76\x6d\x88\x60\x70\xd0\x8e\x48\x75\x2a\xa0\x5f\x8c\xa6\x70\x1d\xd1\x89\xf4\x41\xdf\xa8\xa0\x30\xa6\x68\x34\xeb\xdd\x2f\xa6\xf6\x60\xed\x91\x09\xd5\x67\x50\x6c\xc6\x70\x7d\xa2\xbb\x21\x26\x30\x12\x75\xf1\xa2\xc3\xcc\x28\xde\x8c\x29\x6a\x69\x9c\x6a\x97\x38\xa8\x02\xc3\xb1\xf5\x2c\x3a\x53\x67\xcd\xad\x3d\x6c\xa3\xf8\x7a\x14\xd8\x8e\xb9\x67\x77\x35\x35\x48\xea\xc5\x51\x9f\xf3\xd0\x59\xb2\x4d\xcf\xcb\x07\x5c\xaf\xbb\x37\x81\x90\x6c\x36\x24\x7c\x66\x91\xd4\x6b\xc4\xc0\x85\x73\xd3\x9d\xbf\x98\x77\x24\x6f\x4d\x4a\x09\x3d\x5d\x32\xfb\x29\x04\x92\x3b\x73\xfd\xfd\xac\x33\xb9\xa4\xc8\x9e\x2e\xb1\x3d\xd4\xe9\xe7\x80\x9c\xac\x1a\xe1\xb1\xc6\xb8\x6f\xcd\xe8\xc7\x2f\x77\xa5\xbf\x07\x71\x2c\xa4\x59\xa8\xd3\x6c\xed\xc2\x90\x1c\x36\xa6\xec\x47\x78\x33\x61\xbd\x8d\xd6\x1e\x9d\x69\x6f\x8b\xaf\xb5\x71\x9b\xa2\x90\x1a\x36\x13\xba\xc0\xa7\x2f\xcd\xe5\xa1\xd4\x84\xee\x44\xa9\xa5\x61\x54\xd0\xf7\x1e\x13\x52\x61\xf8\x00\xff\xa9\x86\xd7\x3c\xe3\xca\xc4\xe1\xe9\x07\xd8\xc2\x39\xe6\xb6\x01\x76\x5d\xf8\x6a\x46\xcd\x83\x6c\x2d\x48\xfb\x40\xbb\x3b\x86\x0e\x79\xf3\x80\xbb\x5b\x75\x8b\x6c\xeb\xc0\xbb\x45\x73\x2f\xf1\xf6\x01\x78\xa7\xf6\x2e\x79\xe3\x40\xbc\xa7\xe6\x76\xa5\x7d\xac\x75\x4b\x44\x37\x05\xef\x3f\x30\x1f\x1c\x73\x5b\xd8\x7e\x03\xf4\xc1\x51\x9a\xc2\xf5\x1e\xa8\xf7\x8f\xb1\x3b\x68\xff\x01\xfb\xd0\x58\x5b\xc3\xf6\x1a\xb8\xdf\x16\xa3\x31\xb2\xbe\x03\x78\xb5\xcb\xeb\x31\x84\xaf\x83\xdc\x36\x88\xef\x88\xb1\x77\xa1\x9a\x06\xf2\x4d\xbf\x52\xf3\xb4\x77\x62\x03\xd0\x4e\x47\x8c\xa0\x9e\xf5\x73\x42\xd7\x87\x5a\x20\x25\xf5\x73\x4e\xb2\x1a\x45\x58\xa3\x93\x45\xd9\x9b\x4f\x71\xb5\x67\x4a\x3c\x81\xd1\x1b\x13\x31\x3b\xa2\x82\xce\xfc\x3c\xc1\x81\x30\x53\xcf\x66\x9a\xac\x29\xde\x7d\x0c\x56\x9f\x09\x9b\x24\x0a\x8e\xee\x5a\xa7\x6c\xc2\xf0\xa4\x75\xca\xd6\xda\x6e\x86\x4d\x30\x7a\xa9\x82\x36\x6e\xed\xa7\x3b\xcf\xed\x4c\xe2\x53\x4e\xdc\x06\xa9\x04\x92\xbc\x0b\x1c\xc7\x5d\x76\x27\xf9\xc9\x26\x6f\x03\x14\x0e\x99\xbe\x19\x6a\x49\xdf\xf9\xd2\x80\x09\x5c\xb7\x92\x1b\xa6\x70\x9f\x33\x87\xe9\x52\xd1\xf7\x12\x23\x82\x1b\x69\xb9\xca\x1a\x4b\xb3\xce\x45\xb6\x5d\xe7\xe9\xe3\x88\xac\x75\xe9\xeb\x2d\x52\x78\xb1\x73\x12\xcf\x38\xea\x0f\xb9\x7a\x8b\x39\x79\xc7\x55\x0c\x4c\x93\x2e\x25\x01\x58\xdf\x81\x4f\x62\xaa\x9b\xd2\xa0\x64\xd1\x25\x41\x2d\x8b\xcd\x53\xb0\xbd\x32\xdc\x27\x26\x75\xbf\xb0\x74\x14\x40\x78\x70\xd6\x70\x59\x80\x51\x21\xb0\x91\x4f\x54\xad\x84\x94\xcc\xf7\x58\xf6\x13\xba\x22\xe9\xbc\xb5\xa9\x30\x6f\x2c\x15\x21\xaf\xe0\x3e\x9e\xee\xd5\xb7\x7a\x6d\xb3\x65\xfd\x0d\x5c\x7d\x83\xa0\xe0\xe5\xd2\x3b\x03\xad\x6a\x0c\x4b\x97\x57\x60\xf1\x7f\x0c\xb8\x89\x37\x0d\x18\x7d\xdb\xf7\x57\x70\x51\x55\xaa\x45\xab\x2e\xda\x1e\x05\xdb\x18\x60\x4a\xac\xec\xdd\x53\x55\x8f\xe4\xb6\xc8\xb6\x46\x22\x0d\xe2\xfe\x2c\xfe\xe8\x21\xc6\x5b\x8a\x59\xd0\xb8\x93\x46\x19\xfd\xf5\x88\x59\x11\x6c\x8b\x9b\x8b\xb6\xc4\x2e\x7a\xb5\x45\x0e\xca\x81\x71\xcb\x92\x92\x59\xd3\xaf\xa9\x10\xcd\x89\x79\x5b\x02\xb4\x7b\x42\x6c\x8a\x45\x99\xa3\x72\x77\x94\xb6\x8d\x9b\xca\xa2\x0d\xa9\x96\x9c\x98\x2e\x58\x71\xd8\x05\x2b\x3c\xee\x2f\x74\x33\x6f\x9c\x2a\xb0\x01\x71\xcb\x5c\x00\x92\x00\x4e\x2e\xf0\x65\xff\xa9\x39\xb2\x2e\x43\xdc\x6d\x7c\x58\xcb\x92\x14\x41\xa1\x46\xed\x8d\x1d\x00\x92\x27\xdf\xbd\x82\x11\xca\xfb\x64\xd4\x6a\x23\xef\xc8\xe9\xd8\xdc\xa1\x9e\xb3\x31\x9f\x04\x68\x18\x52\xe1\x20\x57\xcb\x39\x1c\xfd\x1d\x62\xe3\x61\x8d\x61\x07\x70\xae\x93\x38\x0d\xfc\x88\xf7\x2f\xe3\x49\x96\x66\xf0\xbd\x55\x5d\x27\x7f\x74\xd8\xa0\x93\xf2\x6d\x32\xcd\xc9\x78\xb1\x53\x55\x2a\x9d\x5e\x23\x84\x09\xf7\x90\x4b\x15\xc6\x83\xf4\x82\x3b\xcf\x5a\x68\x01\x40\x9d\xe1\x6a\x88\xe1\xc1\x3a\x7a\x1a\x68\xff\x5c\x47\x54\xe6\x6d\x8d\x4f\x42\x60\xe8\xb9\xea\x97\xf7\x5b\xb2\x2a\xd2\x15\x86\x4b\x2b\x86\x2a\x81\xcb\x7e\xa0\x46\xd3\x55\x1b\xb7\x04\x6c\x2b\xa5\x01\xac\x0c\x69\xf9\x8d\xc1\xdc\x87\x15\x0a\x36\xe2\xd1\x67\x7b\xd3\x1c\xa6\x51\xaf\x4d\xf0\x94\x6b\x13\x84\x83\x6a\xd4\xa2\xa4\x19\x4a\x46\x2c\x0e\x7e\x50\xd6\xaa\xf8\x51\xd9\xda\xe5\xcc\x46\xf8\x34\x50\x10\xfa\x51\x7a\x00\x8c\xb8\x30\x62\x17\x0f\xe1\xc2\xd7\x63\x10\x5d\x93\xbd\x1f\xa0\x91\xac\x57\x38\xe8\x47\x3e\x71\x67\x37\x9a\x4c\xd9\x69\xc2\xf4\x54\x6e\x6a\x67\x2a\x10\xf9\x25\xfa\xd2\x1e\x5b\xae\xf7\xc5\xf3\x5b\x8e\x19\xf6\x49\x09\x3b\x72\x48\x45\x8b\x63\xfa\x08\x89\x6a\x49\xb2\x9f\xcb\x98\x59\xb4\x5f\x40\x41\x67\x67\x85\x67\xbb\xd2\xce\x6d\xdb\xfe\x62\x64\x8d\xd8\x01\xb2\xff\x1a\xb9\xcf\x9f\x2b\xbd\x42\xaf\xb1\x93\x76\x65\x91\xb8\x3f\x50\x2e\x25\x76\xe4\x5a\xdf\xfb\xac\xd7\x22\xdc\xe1\x60\xcb\x7d\x6b\x35\x9d\xd9\xf0\x93\x49\xaa\x7e\x52\x46\xf5\xbb\xe9\xba\x37\x39\x27\x5c\x3f\xab\xbe\xe0\xfe\xca\x09\x61\x0d\xf2\x96\xab\x9a\x8a\xcc\xdf\x21\x6b\x8b\xca\x47\x84\x92\x7a\x04\x41\x06\x06\xf2\x9d\x10\x42\x4f\x2e\x1c\x13\x55\xdb\x3a\x03\xd0\x64\xaf\xf9\xde\x72\x31\xd9\xa3\xc9\x2e\x4a\x0b\x74\x91\xe2\x66\xad\xcb\xc2\x3f\x46\xe2\x7f\xc5\x66\x5a\x86\x65\x84\xd4\x19\xa6\x7e\xd8\x8f\x61\x98\x06\xe7\xce\xf1\xad\x98\x06\x1e\x70\x9f\xa6\x65\x1b\xb8\x86\x29\x32\xc1\x1c\x25\x01\x88\xa9\x72\x36\x9f\x1c\x21\x15\x63\xbb\x03\x38\x6f\xe5\x76\x06\x2d\x85\x77\x3a\xef\x0f\x10\x01\x3c\x4c\xb1\xcb\xd3\x28\xda\xfa\xb9\x15\x23\xbf\x38\xe5\xc8\xb0\xe3\xd6\x5a\xad\x56\xab\xac\x62\xcd\xc8\xb3\xb3\x8a\xdf\x17\x41\xbe\xeb\xbb\x07\xa8\xbe\xeb\x84\x22\xb3\xf5\x0b\x44\x28\x33\x85\xc3\xe1\xee\xff\x5f\x18\x67\x69\x5e\xfa\x49\xc9\x43\x94\x69\xa6\x0a\x97\x69\xa6\xcb\x51\x16\x48\x15\xa5\xae\xba\x34\xad\x14\x5a\x2a\x88\x2b\x90\x06\x3c\xbc\x85\x83\x08\x5e\x86\x70\x50\x06\x98\xbb\x18\x62\x7b\xa8\xdf\xfd\x32\x3d\x29\x25\x88\xfb\x82\x3c\x9b\x27\x49\x4e\xf4\xe2\xc9\xed\xa9\x2c\xd3\x44\x17\xd5\xdd\x0d\x97\xc1\xb2\x77\xfc\x95\x74\x36\x4f\x33\x99\xde\xf4\x51\x53\xaa\x3e\x66\xa5\x38\xaa\xa9\x55\xc5\x21\x1f\x53\x8a\xe9\xfb\xed\x6a\x8a\xd9\x7b\x39\xa6\xa7\x58\xb4\xf4\x4a\xaf\x0a\x49\x4e\x5a\x5a\x25\x51\xdd\xdd\x94\x4e\xfa\x8e\xb7\x92\x4e\xf2\xd8\x89\xe9\x65\x0d\x35\x91\xc2\x23\x30\xcd\x6f\x35\x79\x82\x90\xe2\x68\x4a\x18\x7d\xe3\x59\x49\x18\x7f\xa1\xc2\xf4\xec\x81\x9a\x36\xf9\x1d\x0f\xc9\x49\x4d\xa1\x2c\xaa\xbb\x9b\xd2\x49\xdf\xf7\x55\xd2\xc9\xde\x13\x30\x5d\x58\xaf\x26\x53\x7a\x70\x41\x74\x51\x13\x29\x09\x6a\xce\xa6\x24\xd2\xe7\x5e\x95\x24\xd2\x8b\xe0\xc1\xf9\xab\x9a\x3c\xf1\x8e\x7c\xc1\x41\x4d\x9c\x28\xa6\xba\x9a\x92\x46\xdf\xff\xd4\xd0\xcb\xef\xc1\x1a\xe1\xe8\xc0\xd5\x57\x9d\x37\xbf\x75\xd0\x6a\x21\xc5\xd1\x68\x6e\xb4\x02\x7d\x3c\x86\x25\xb4\x1c\x27\xa3\x85\x25\x85\x73\xf0\xad\xd7\x60\x48\xc1\x48\xaf\x7b\xd1\x39\x89\x00\x21\x57\x81\xa7\xee\xa0\x2f\x70\x5f\x6d\x0c\x42\xaf\x33\x93\xae\x2d\xea\x13\x8c\xf5\x37\xc6\xc1\x96\x31\x20\x1e\x08\x5c\xc4\xab\xa9\xfa\x04\xb2\x39\x08\x52\x01\x10\x08\x51\x60\xb1\x8b\xfb\xf8\x4f\x19\x04\x75\x24\x47\x86\x13\x90\x16\x9a\x87\xb1\xac\xb5\xed\xf2\xc8\x16\x5d\xf4\x52\x41\x43\x82\xe4\x81\x67\xef\xf4\x88\xc0\x01\x53\x52\x40\x93\x10\xa7\x2d\x56\x0b\xdb\x54\x0d\x1a\x31\x36\x37\x30\x16\x7c\x23\xc9\x07\xb0\x86\xa2\x6e\x04\xe9\xec\x02\x10\xab\x07\x16\xc0\x93\x94\x80\xb8\xd0\xbf\x03\x4f\xf3\x41\x01\x78\xf7\x0a\xec\x32\x07\xc4\x69\x2f\x07\x3c\x13\x05\xc8\xd6\x1d\x0f\xf0\xac\x0e\x20\xce\xed\x3f\xb0\x77\x02\x82\x4f\xac\x80\x06\xc3\xc2\xf5\x62\xcb\xa8\xde\xab\x0f\xa5\x97\xda\xab\x36\x95\xac\xba\x5d\x40\xc2\x13\xaa\xa7\xbb\x30\xdf\x45\x48\x91\xf7\xec\x2f\x20\x59\x5b\x11\x93\xaa\x03\xb9\xa5\x6b\x1f\x56\xea\xb5\x77\x74\x85\x55\xb8\xc3\x4b\xba\xc7\xcf\x4a\x52\x61\x8d\x1b\xff\x10\x75\x06\xf0\x41\x43\x48\x44\xb9\x65\x5e\x74\x94\xc5\x81\xdb\xe8\x65\x81\xd2\xdf\x0a\xa4\x3e\xf9\x05\x08\x48\x67\x50\x6b\x17\x48\x70\x87\xa2\x48\x91\xc4\x4e\xb2\x28\x9e\xb8\x49\xb3\x3d\x30\x8f\x92\x94\xe0\x26\x08\x9b\xd7\xf5\x25\x62\xa5\x39\xc4\xe8\xd9\x76\x7d\x3e\x76\xed\x50\xf6\x7e\xa4\xf3\x52\x0d\xc7\x62\xe2\x50\x78\x58\x89\x45\x29\x62\x21\xaa\x29\x8e\x0a\x67\xa7\x88\xbb\xca\xbd\xd0\xf6\x3f\x40\x45\x5f\x4b\xf5\x2e\xfd\x22\xee\xae\x00\x45\xdc\x5d\x07\xb8\x4c\x9f\x6a\x50\xcb\xf6\xaa\x09\x45\xdc\x55\x19\x9a\x5c\xf7\xa8\x0f\x40\x85\x58\xcc\x97\xa4\x42\x04\x56\xdc\xd9\xfe\xe2\x5e\x4d\x30\x1e\xdc\x0a\xe3\x1e\x0d\x31\xee\xd1\x16\xe3\x01\xcd\x31\x1e\xd4\x22\xe3\xce\x46\x19\x0f\x69\x97\x40\x39\xac\x56\xae\xd0\x30\x23\xb1\x51\x2e\x79\x4b\x89\x0e\x5d\x25\x14\x1d\xfa\x94\x50\x2d\xd5\xbb\x84\xa2\x43\x77\x09\x45\x87\xee\x12\xe2\x32\x7d\x4a\xa8\x96\xed\x55\x42\xd1\xa1\xab\x84\x9a\x5c\xdf\x56\x42\x8e\x8b\xcb\x81\x34\x95\x2a\xea\x2a\x88\x2a\xea\x53\x10\xb5\x54\xef\x82\xa8\xa2\xee\x82\xa8\xa2\xee\x82\xe0\x32\x7d\x0a\xa2\x96\xed\x55\x10\x55\xd4\x55\x10\x4d\xae\x07\x14\x44\x96\x87\x49\x89\xb1\x27\x1f\x5d\xf0\x53\xa1\x1e\x25\x20\x0a\xf6\x2e\x04\x1a\xa8\xb3\x1c\xa8\x58\x67\x51\x08\x62\x7d\x4a\x43\x14\xef\x55\x20\x34\x40\x47\x99\x48\x38\xf4\x29\x96\x09\x8a\xb7\x78\x66\x85\x8a\x2c\x4d\x8a\xf0\x01\x75\x5e\x77\x01\x5c\x93\xa0\xdd\x1c\xab\xab\xd5\xae\xed\x65\x43\x48\x61\xdc\xa8\x06\x19\x69\x2e\x84\x27\x1f\xeb\x82\xc4\x01\x70\x0f\xf7\xb9\x1f\x23\xc0\x23\xdd\x7e\x24\xfb\x57\x34\x8f\x87\x30\x40\xa9\x81\xc0\xd6\x97\x65\x04\x28\xf8\x32\x01\xfe\x6e\xae\xcd\xd4\x32\xe0\x3a\xdb\xf3\xaa\xc6\x42\xbc\x0c\x70\xe6\x4e\x96\xde\xc2\x99\x7d\x01\x84\x72\xe6\xa6\x50\xde\x7c\xe2\x7a\x50\x90\xd9\xf6\x3c\x05\x43\x2c\x40\x71\x67\x7b\x76\x40\x71\xba\x3b\x88\x2c\x41\xe0\x4a\xad\xac\x8c\x29\xb5\x9a\xf8\xd2\xd5\x32\xf8\xd9\x0f\x4d\x38\x4f\x1f\xad\x1c\x3d\xa0\xbc\x40\x80\x6e\xee\x65\x88\xc3\x14\x52\xf6\xd5\x02\x3f\xe6\x7e\x76\x91\xb7\x47\x69\x32\x49\xaa\x48\x51\x07\x50\x97\x9c\x8c\x5a\xa7\x31\xfe\x7d\x18\xd1\x57\x51\xea\xd5\x22\x4d\xe4\x80\x33\x6f\x5f\xea\x6f\x79\x56\xd6\x88\x38\x82\x88\xa3\x89\x14\xc7\x3c\x4c\xee\xb9\x1e\xfa\x0b\xd0\xc4\xc4\x1c\x49\x4c\xd2\xa6\xac\x48\xd1\x05\xc0\x8b\xf9\xd1\xa1\xb6\xb0\x28\x09\xe0\x90\x28\x09\xda\xc2\xd1\xa9\x8a\x16\x94\x3a\xb7\x05\x64\x2b\x92\x5a\x48\x69\xbd\xb2\x4d\x81\x4f\xa6\xca\x86\xf0\xd4\x53\x5f\xc9\x21\x2b\x7a\x0c\x28\x78\x01\xd5\x14\x06\x03\xa4\x85\x40\xe6\x38\x18\x30\xfa\x42\xa2\x29\x40\xbd\xa4\x26\x06\x31\xaf\xa7\xf1\x9c\x90\x3d\x83\x17\x60\x1f\xa1\x1e\x44\xae\x27\x92\x5b\x2b\x00\x62\x1d\x01\x42\x81\x20\x28\xf5\x43\x0e\x66\x02\x42\xad\x1b\x72\x28\x63\xcd\x90\x03\xb3\x7a\x01\x85\x35\xd5\x8a\x06\x18\x11\xcd\x3a\xac\x09\xcf\x02\x45\x7b\x0b\x1b\x8a\x4b\xf3\x7b\xad\x1a\x0e\x41\x54\xc4\x9d\xc8\xb6\x81\x4e\x42\x34\x88\x37\xf2\x20\xdc\x44\x5a\xc2\x9a\x04\x30\x01\x4d\xc4\x95\x0a\x47\x02\x98\xeb\x1b\xcb\x81\x08\x10\x09\x01\xa0\x43\x9e\x36\xa1\x2c\x6c\xf3\xca\x89\x2e\x40\x69\x63\x2a\x41\xbe\x75\x11\x32\x0e\xa5\x12\xea\x28\x94\x0f\x06\x2c\x7a\x41\x95\x7a\x61\x15\x28\xca\x87\x4e\xfa\x60\x0a\x14\xe7\xc3\x0c\x7d\xe0\x01\x8a\x93\x1d\x23\xca\x06\x12\x43\x8a\xc3\xdd\xfd\x59\x4c\x31\xfe\x2d\xe5\x1e\x87\xad\x79\x6d\xfa\xab\xd4\x77\xa7\xf0\x7d\x29\xcd\x3e\x94\x29\x1f\x04\x5d\x85\x50\x6c\x7f\xa3\xa8\xf4\x52\x6f\xec\xfd\x5b\x71\xca\x70\xbc\xc5\xe8\x4b\x25\x41\xcf\x2f\x13\xfa\x21\x47\x4d\xdd\xd8\xd0\xab\x89\xd9\xb5\xaf\xd7\x49\x91\x5b\x69\x12\x9d\x81\x91\x5a\x7d\x95\x71\x3d\x24\x6b\xee\x77\xd3\x07\xaa\xd0\x0b\x45\xcd\xf0\x8d\xc5\x62\x91\x25\x29\x3c\x2c\x6f\x5e\x5e\xd5\x7c\xe8\xd6\x62\xf5\x36\x33\x61\x9b\x17\x4b\x0e\xf9\xae\x53\xf1\x10\x16\xe1\x36\x62\x0f\x25\xd1\x8d\xd1\xc7\xb0\x44\x16\x31\x23\xeb\x24\xcd\x63\x3f\xba\x4e\xe8\x11\x23\xab\x88\xe5\x03\x47\xfc\x9d\x1e\x76\x69\xa9\xf8\x74\x8e\xbd\xf0\x9e\x8b\xe5\x4c\xc3\x28\xc1\xeb\x9b\x1d\xd5\x57\x77\xf4\x90\x56\x74\x90\x03\x93\x60\x53\x2d\x2c\x18\x2d\x69\x5d\xe3\xc9\x27\x2b\x40\x59\x79\x24\x8c\xb3\xf4\xc8\xaa\x18\xe2\xd1\x72\x3d\x76\x52\xc6\xf5\xbe\x90\x7d\x3c\xfb\xc2\xe9\x4d\xc5\x67\xc1\xc3\x2c\xd4\x30\x8e\x6d\x0b\x27\xa4\x64\x3f\x62\x51\x9b\x12\x12\x3d\x8f\x38\x19\xac\xc4\x94\x74\x1c\x71\x3a\xea\x9d\x2b\x8a\xd7\xa2\x0e\xb5\x50\x43\xe1\x94\x08\xb3\x04\xd9\x93\x24\x45\xa8\x21\xa2\x6f\x4c\x73\x21\x5f\x51\x27\x09\x1c\x6b\x01\x43\x04\xb1\x65\xb3\x2d\x3c\xf2\xf8\x2f\x2e\x2d\x7b\x3c\x89\xcf\xb5\xb7\xbe\x18\x15\xe7\x44\xa4\x6a\x44\x80\x85\xa8\x78\xab\xea\x81\xd6\xa0\xe2\x48\x55\xa5\x2f\x40\xc5\x96\xc3\x53\x3a\xd1\xd6\x37\xe2\xd2\x72\x48\x34\xce\x45\xbb\xea\x43\x49\xb3\x43\x22\x72\xa0\x8d\x4b\x4a\xc2\x15\x8d\xfc\x12\x76\x5d\x34\x52\x95\x0a\x1b\xa8\xe4\x2c\xb8\x17\x71\x4f\xa7\x92\x03\x97\xc4\xe7\x6a\xef\xe2\x2a\x19\x70\x49\x5c\xae\x92\x01\x20\xfd\x8a\x3e\x9e\x7e\x20\xf9\x8a\x4a\xf6\x40\xa5\x96\xfa\x29\x4f\xbd\xa3\x27\x7e\x4a\x22\x9b\x8a\x89\xd7\xa4\x72\x22\x55\x35\x52\x6c\x09\x5b\x4f\xba\xa2\x4d\xb8\x3e\x54\x49\xb9\xa2\x90\x2e\x52\x6b\x09\x9f\xd5\x09\x87\x70\x9f\x91\xc8\x66\x52\xd2\x21\xe0\x67\x24\xae\x99\x92\x78\x08\x79\x45\x23\x4f\x3e\x04\xbd\xa2\x94\x5d\x15\xaa\x63\xef\xf1\x2c\x4c\xf5\x0c\x78\x24\x3a\x4f\xcc\x80\x26\x95\x13\xa9\xaa\x91\xa2\xc9\xd7\xe4\xb6\xaa\x36\x96\x78\x4d\x30\x52\x15\x92\xa4\xab\x62\x99\x65\xd7\xbb\x2e\xa5\xe6\x9c\x11\x03\x93\x9d\x1b\x7f\xdd\xc2\x64\xc4\xc2\x64\x95\x20\x03\x98\x98\x6c\xab\x69\x82\x6c\x4c\x16\x69\xca\x74\x23\x93\x59\x8e\x72\xe3\xb7\x92\x66\x87\xc4\xe4\x48\x69\x06\x04\x89\x99\xc9\x2a\x41\xd0\x64\x67\xb2\xad\xa6\xd3\x68\x68\xb2\x48\x53\x6b\xb0\x34\x99\xe5\xca\xf7\x34\x2b\xd9\x70\x49\x94\xae\x9c\x0d\x20\x17\x2e\x89\xce\xd5\x5e\xb4\xd5\x33\xa1\x6a\x34\x59\x9b\x2c\xd2\x94\xc2\xe6\x26\xb3\xa6\xd2\x7e\x5d\x25\x07\x53\x12\xdf\x54\xa6\xa4\xf4\x0c\x4c\x49\x5c\x53\x25\x03\x9a\xe0\x56\xd3\x67\x30\x39\x59\xa4\xa9\x04\x6d\x4e\x66\xcd\x9a\xd4\x43\x25\x30\x23\xf1\xcd\xe4\xf4\x43\x45\x30\x23\xd1\xcd\xd4\x1c\x40\x65\xa0\xea\x34\xda\x9d\x2c\xd2\xd4\x1a\x0c\x4f\x66\x79\x75\x3e\xb4\xb6\x4d\x2c\x4f\x76\x6e\x44\x40\xd3\x93\x11\xd3\x93\x55\x82\x18\x6c\x7b\xb2\xad\xa6\xcf\x60\x7c\xb2\x48\x53\x09\x5a\x9f\x98\x0e\x9f\x98\xe5\xd4\x86\x4f\x25\xf1\x26\xe6\x4e\x90\xb3\xf8\x2b\x90\x8a\xfd\x64\xb2\x95\x24\x9b\xc3\x03\xb3\x2d\xac\x59\x78\x7c\x4d\xb1\xa5\xa0\xf2\xfa\x2d\x3e\x51\x98\xec\xf8\x8d\xd3\x24\x25\x33\x81\x0b\x39\x5a\xb7\xf7\xe3\x30\x3a\xaf\x7f\x7c\xf5\x36\x4d\x52\xeb\x3d\x3a\x9c\x22\x3f\x1f\xbf\x45\x49\x94\x8e\xdf\xa6\x89\xbf\x4b\xc7\x5f\xa7\x49\x91\x46\x7e\x31\x7e\xf6\x7d\xb8\x45\xf4\x61\xb2\x11\x16\x7f\x36\x7e\xf6\x75\x7a\xca\x43\x94\x8f\xde\xa1\xc7\x67\xe3\x5a\x35\x8b\x8a\xb1\x5b\x17\xe1\x60\x1e\x73\xd2\x52\xc5\xb8\x51\x79\xa2\xa2\xb2\xa3\xa5\xbf\x4d\xfc\x07\x7e\xf0\xf2\x0e\xff\x1e\xd3\xe0\x65\x7e\x4a\x76\x7e\x89\x2e\xea\x54\x8c\xf8\xd6\x8e\x28\x8a\xc2\xac\x08\x8b\x8d\x1e\x0f\x4b\x07\x99\xf7\x2b\x4f\x90\x6a\x89\xa5\x73\x7f\x41\x4a\x23\x00\x88\x1f\x63\x34\xb4\x63\x89\x82\x60\xcb\xe5\x0a\x84\x5d\x89\xfb\x12\xe4\x45\x3c\x8c\x23\xa7\x9a\x6f\xa1\xc9\xeb\x98\x6e\x64\xca\x8b\xb8\x17\x59\x4e\x76\x7e\xf4\xe3\xcb\x99\xc6\xa1\x94\x79\x11\xf7\x61\xcd\x8b\xb8\x0f\x71\xce\xa5\x3a\xb8\xf3\xb8\x37\x7d\x1e\xdf\xc2\xa0\xc7\x9f\x45\xa2\x17\xf1\xcd\x3c\x3a\xae\x13\xb7\x52\xe9\x45\xfc\xf9\x6c\x7a\x11\x7f\x16\xa1\x1e\xdf\xc4\xa9\x33\xbc\x86\xd0\xea\x0d\x4e\xfd\x99\x75\x8c\xcf\x4d\xe4\x7a\x7c\x23\xbf\x1e\xdf\x4c\xb1\x4b\x88\xf4\x67\xd9\x55\x54\xfa\x12\xed\x42\xcd\xb9\x89\x6b\x6f\x6a\xcd\x4d\x74\xbb\x8a\x6f\x3f\xc6\xbd\x88\x07\x91\xee\xf1\x0d\xbc\xbb\x54\x0c\x7d\xa8\x77\xb5\x00\xba\xd9\x77\xbd\x52\xf6\x22\xe0\x55\xc8\xda\x39\xf8\x22\xee\xa6\xe1\x8b\xb8\x0f\x13\xcf\xb7\x11\xc2\x64\x7c\x8c\xfd\x8d\x5c\x16\xf6\x23\xa3\x31\x41\x08\x64\xb4\x98\x60\x25\x09\xc2\xbc\x16\xa8\xd3\xc0\x6e\x81\x6a\x21\x8e\xab\xe8\xa2\xb9\xb0\x00\x8f\xb5\x9b\xec\x62\xd2\x95\x24\xdd\x42\x79\x81\xda\xdb\x88\x2f\x30\x02\x23\xfd\x55\x74\x30\x60\xd8\x9f\x47\xdf\xc9\x83\x31\xe1\x4a\x12\x36\xb3\x61\xa0\xee\x16\x4e\x0c\x54\x6f\x62\xc6\x8a\x76\x72\x0c\x7b\xf3\xb8\xbb\x28\x32\x26\x5b\x49\xb2\x46\xa2\x0c\xd4\x6c\xa6\xcb\x40\xe5\x06\xd2\xac\xe8\xe2\xcd\xb0\x00\x8f\xbb\x9b\x3d\x63\xd2\x95\x24\xdd\xc2\xa1\x81\xda\xdb\x98\x34\x30\x02\x23\x9f\x56\xb4\x53\x6a\xd8\x9b\xc7\xde\x45\xac\x31\xd9\x4a\x92\x35\xd2\x6b\xa0\x66\x33\xc9\x06\x2a\x37\x50\x6d\xc4\xb8\x98\xd8\x36\x6a\x82\xb2\xb3\x24\x05\x72\x6e\x4c\xb2\x92\x25\x61\xe6\x0d\xd6\x6a\xe0\xdf\x60\xc5\x10\x0b\x47\xac\x49\x2b\x11\x47\x0d\x4f\x76\x96\x44\xcd\x74\x1c\x13\xaf\x64\xf1\x16\x52\x0e\xd6\xdf\x46\xcd\xc1\x51\x18\x09\x3a\x62\x56\xda\x38\x3a\x6a\x80\xb2\xb3\x24\x69\x64\xea\x98\x74\x25\x4b\x9b\xf9\x3a\x58\x7b\x0b\x6b\x07\x47\x60\xe2\xee\x88\x7d\x69\xa1\xef\xa8\x21\xca\xce\x92\xa0\x89\xc4\x63\xc2\x95\x2c\x6c\xa4\xf2\x60\xdd\x66\x42\x0f\x56\x6f\xa0\xf5\x88\x71\x69\x65\xf6\xa8\x1d\xca\xce\x92\xa8\x99\xdf\x63\xe2\x95\x2c\xde\xc2\xf2\xc1\xfa\xdb\xb8\x3e\x38\x0a\x23\xe3\x47\x2c\x4d\x0b\xe9\x47\x4d\x52\x76\x96\x04\x4d\xd4\x1f\x13\xae\x64\x61\x23\x01\x08\xeb\x36\xd3\x80\xb0\x7a\x03\x19\x58\x74\xf2\x81\x4c\x82\xdb\xe7\x1e\xac\x60\x13\xa2\x52\x43\x18\xb9\xc1\x96\x58\xcc\x0c\x61\x4b\x44\x66\x9e\x90\x8f\xbe\xbb\xc8\xb0\x7a\x04\xde\xc9\x87\x35\xd3\x8c\x36\x4a\xac\xe5\x1c\x0a\x99\xc6\xc4\x41\x5f\x4e\x2c\x0e\x86\x71\x62\x54\xf3\x2d\x9c\x58\x1d\xd3\x8d\x9c\x58\x1c\xf4\xe2\xc4\xc8\x29\x9c\x7e\x9c\x18\xd3\x38\x94\x13\x8b\x83\x3e\x9c\x58\x1c\xf4\xe1\xc4\xb8\x54\x3b\x27\x16\x07\x7d\x39\xb1\x46\x72\x00\x27\x86\x03\x7d\x06\x27\x16\x07\x37\x73\x62\xb8\x4e\xdc\xca\x89\xc5\xc1\xe7\x73\x62\x71\xf0\x39\x9c\x58\x8d\xdb\x30\x4e\x8c\xe1\x35\x84\x13\x6b\x70\xea\xcf\x89\x61\x7c\x6e\xe1\xc4\x48\xae\x6e\xe0\xc4\x14\x34\x86\x70\x62\x12\x22\xfd\x39\x31\x15\x95\xbe\x9c\x98\x50\x73\x6e\xe2\xc4\x9a\x5a\x73\x0b\x27\xa6\xe1\xdb\x8f\x13\xc3\x91\xf6\xe7\xc4\x94\xc2\xe8\xc7\x89\x49\xc5\xd0\x87\x13\x53\x0b\xa0\x9b\x13\xd3\x2b\x65\x1f\x4e\x4c\x83\xac\x9d\x13\x8b\x83\x6e\x4e\x2c\x0e\xfa\x70\x62\xfc\x48\xa7\x89\x13\x8b\x03\x33\x27\x86\xfd\xc8\x10\x44\x10\x02\x39\x31\x26\x58\x49\x82\x30\x27\x06\xea\x34\x70\x62\xa0\x5a\x88\x13\x8b\x83\x0e\x4e\x0c\x0b\xf0\x58\xbb\x39\x31\x26\x5d\x49\xd2\x2d\x9c\x18\xa8\xbd\x8d\x13\x03\x23\x30\x72\x62\x71\xd0\xce\x89\x61\x7f\x1e\x7d\x27\x27\xc6\x84\x2b\x49\xd8\xcc\x89\x81\xba\x5b\x38\x31\x50\xbd\x89\x13\x8b\x83\x56\x4e\x0c\x7b\xf3\xb8\xbb\x38\x31\x26\x5b\x49\xb2\x46\x4e\x0c\xd4\x6c\xe6\xc4\x40\xe5\x06\x4e\x2c\x0e\x3a\x38\x31\x2c\xc0\xe3\xee\xe6\xc4\x98\x74\x25\x49\xb7\x70\x62\xa0\xf6\x36\x4e\x0c\x8c\xc0\xc8\x89\xc5\x41\x2b\x27\x86\xbd\x79\xec\x5d\x9c\x18\x93\xad\x24\x59\x23\x27\x06\x6a\x36\x73\x62\xa0\x72\x03\x27\x46\x8c\x8b\x89\x13\xa3\x26\x28\x3b\x4b\x52\x20\x27\xc6\x24\x2b\x59\x12\xe6\xc4\x60\xad\x06\x4e\x0c\x56\x0c\x71\x62\xc4\x9a\xb4\x72\x62\xd4\xf0\x64\x67\x49\xd4\xcc\x89\x31\xf1\x4a\x16\x6f\xe1\xc4\x60\xfd\x6d\x9c\x18\x1c\x85\x91\x13\x23\x66\xa5\x8d\x13\xa3\x06\x28\x3b\x4b\x92\x46\x4e\x8c\x49\x57\xb2\xb4\x99\x13\x83\xb5\xb7\x70\x62\x70\x04\x26\x4e\x8c\xd8\x97\x16\x4e\x8c\x1a\xa2\xec\x2c\x09\x9a\x38\x31\x26\x5c\xc9\xc2\x46\x4e\x0c\xd6\x6d\xe6\xc4\x60\xf5\x06\x4e\x8c\x18\x97\x56\x4e\x8c\xda\xa1\xec\x2c\x89\x9a\x39\x31\x26\x5e\xc9\xe2\x2d\x9c\x18\xac\xbf\x8d\x13\x83\xa3\x30\x72\x62\xc4\xd2\xb4\x70\x62\xd4\x24\x65\x67\x49\xd0\xc4\x89\x31\xe1\x4a\x16\x36\x72\x62\xb0\x6e\x33\x27\x06\xab\x37\x70\x62\x7c\xd8\x6e\xe6\xc4\x98\x04\xb7\xcf\x3d\x38\xb1\x26\x44\xa5\x86\x30\x72\x62\x2d\xb1\x98\x39\xb1\x96\x88\x5a\xf6\xce\x05\xfd\x38\xb1\x7a\x04\xde\xc9\x89\x35\xd3\x8c\x81\x9c\x18\xbf\x13\x84\x4c\x63\xa2\x43\x5f\x4e\x2c\x3a\x0c\xe3\xc4\xa8\xe6\x5b\x38\xb1\x3a\xa6\x1b\x39\xb1\xe8\xd0\x8b\x13\x23\xf7\x9e\xf4\xe3\xc4\x98\xc6\xa1\x9c\x58\x74\xe8\xc3\x89\x45\x87\x3e\x9c\x18\x97\x6a\xe7\xc4\xa2\x43\x5f\x4e\xac\x91\x1c\xc0\x89\xe1\x40\x9f\xc1\x89\x45\x87\x9b\x39\xb1\xe8\x70\x3b\x27\x16\x1d\x3e\x9f\x13\x8b\x0e\x9f\xc3\x89\xd5\xb8\x0d\xe3\xc4\x18\x5e\x43\x38\xb1\x06\xa7\xfe\x9c\x18\xc6\xe7\x16\x4e\x8c\xe4\xea\x06\x4e\x4c\x41\x63\x08\x27\x26\x21\xd2\x9f\x13\x53\x51\xe9\xcb\x89\x09\x35\xe7\x26\x4e\xac\xa9\x35\xb7\x70\x62\x1a\xbe\xfd\x38\x31\x1c\x69\x7f\x4e\x4c\x29\x8c\x7e\x9c\x98\x54\x0c\x7d\x38\x31\xb5\x00\xba\x39\x31\xbd\x52\xf6\xe1\xc4\x34\xc8\x3a\xce\x6a\x1f\xba\x39\xb1\xe8\xd0\x87\x13\xe3\x97\x68\x99\x38\xb1\xe8\x60\xe6\xc4\xb0\x1f\x19\x82\x08\x42\x20\x27\xc6\x04\x2b\x49\x10\xe6\xc4\x40\x9d\x06\x4e\x0c\x54\x0b\x71\x62\xd1\xa1\x83\x13\xc3\x02\x3c\xd6\x6e\x4e\x8c\x49\x57\x92\x74\x0b\x27\x06\x6a\x6f\xe3\xc4\xc0\x08\x8c\x9c\x58\x74\x68\xe7\xc4\xb0\x3f\x8f\xbe\x93\x13\x63\xc2\x95\x24\x6c\xe6\xc4\x40\xdd\x2d\x9c\x18\xa8\xde\xc4\x89\x45\x87\x56\x4e\x0c\x7b\xf3\xb8\xbb\x38\x31\x26\x5b\x49\xb2\x46\x4e\x0c\xd4\x6c\xe6\xc4\x40\xe5\x06\x4e\x2c\x3a\x74\x70\x62\x58\x80\xc7\xdd\xcd\x89\x31\xe9\x4a\x92\x6e\xe1\xc4\x40\xed\x6d\x9c\x18\x18\x81\x91\x13\x8b\x0e\xad\x9c\x18\xf6\xe6\xb1\x77\x71\x62\x4c\xb6\x92\x64\x8d\x9c\x18\xa8\xd9\xcc\x89\x81\xca\x0d\x9c\x18\x31\x2e\x26\x4e\x8c\x9a\xa0\xec\x2c\x49\x81\x9c\x18\x93\xac\x64\x49\x98\x13\x83\xb5\x1a\x38\x31\x58\x31\xc4\x89\x11\x6b\xd2\xca\x89\x51\xc3\x93\x9d\x25\x51\x33\x27\xc6\xc4\x2b\x59\xbc\x85\x13\x83\xf5\xb7\x71\x62\x70\x14\x46\x4e\x8c\x98\x95\x36\x4e\x8c\x1a\xa0\xec\x2c\x49\x1a\x39\x31\x26\x5d\xc9\xd2\x66\x4e\x0c\xd6\xde\xc2\x89\xc1\x11\x98\x38\x31\x62\x5f\x5a\x38\x31\x6a\x88\xb2\xb3\x24\x68\xe2\xc4\x98\x70\x25\x0b\x1b\x39\x31\x58\xb7\x99\x13\x83\xd5\x1b\x38\x31\x62\x5c\x5a\x39\x31\x6a\x87\xb2\xb3\x24\x6a\xe6\xc4\x98\x78\x25\x8b\xb7\x70\x62\xb0\xfe\x36\x4e\x0c\x8e\xc2\xc8\x89\x11\x4b\xd3\xc2\x89\x51\x93\x94\x9d\x25\x41\x13\x27\xc6\x84\x2b\x59\xd8\xc8\x89\xc1\xba\xcd\x9c\x18\xac\xde\xc0\x89\xf1\x61\xbb\x99\x13\x63\x12\xdc\x3e\xf7\xe0\xc4\x9a\x10\x95\x1a\xc2\xc8\x89\xb5\xc4\x62\xe6\xc4\x5a\x22\x32\x73\x62\x7c\xf4\xdd\xc5\x89\xd5\x23\xf0\x4e\x4e\xac\x99\x66\x0c\xe4\xc4\xea\x5b\x58\xc9\x3c\xa6\x8a\xfa\x92\x62\x55\x34\x8c\x14\xa3\x9a\x6f\x21\xc5\xea\x98\x6e\x24\xc5\xaa\xa8\x17\x29\x46\xee\xa0\xed\x47\x8a\x31\x8d\x43\x49\xb1\x2a\xea\x43\x8a\x55\x51\x1f\x52\x8c\x4b\xb5\x93\x62\x55\xd4\x97\x14\x6b\x24\x07\x90\x62\x38\xd0\x67\x90\x62\x55\x74\x33\x29\x86\xeb\xc4\xad\xa4\x58\x15\x7d\x3e\x29\x56\x45\x9f\x43\x8a\xd5\xb8\x0d\x23\xc5\x18\x5e\x43\x48\xb1\x06\xa7\xfe\xa4\x18\xc6\xe7\x16\x52\x8c\xe4\xea\x06\x52\x4c\x41\x63\x08\x29\x26\x21\xd2\x9f\x14\x53\x51\xe9\x4b\x8a\x09\x35\xe7\x26\x52\xac\xa9\x35\xb7\x90\x62\x1a\xbe\xfd\x48\xb1\x2a\x1a\x42\x8a\x29\x85\xd1\x8f\x14\x93\x8a\xa1\x0f\x29\xa6\x16\x40\x37\x29\xa6\x57\xca\x3e\xa4\x98\x06\x59\x3b\x29\x56\x45\xdd\xa4\x18\xee\xc7\xba\x49\x31\x7e\xa1\xb9\x89\x14\xab\x22\x33\x29\x56\x45\x8c\xc0\x12\x84\x40\x52\xac\xe2\xd7\x78\x89\x82\x30\x29\x06\xea\x34\x90\x62\xa0\x5a\x88\x14\xab\xa2\x0e\x52\xac\x8a\x18\x6d\x25\x48\x9a\x49\xb1\x8a\xdf\xeb\x25\x4a\xb7\x90\x62\xa0\xf6\x36\x52\x0c\x8c\xc0\x48\x8a\x55\x51\x3b\x29\x56\x45\x8c\xb8\x12\x04\x8d\xa4\x58\xc5\x2f\xfd\x12\x85\xcd\xa4\x18\xa8\xbb\x85\x14\x03\xd5\x9b\x48\xb1\x2a\x6a\x25\xc5\xaa\x88\x51\x57\x82\x9c\x89\x14\xab\xf8\x8d\x60\xa2\xac\x91\x14\x03\x35\x9b\x49\x31\x50\xb9\x81\x14\xab\xa2\x0e\x52\xac\x8a\x18\x6d\x25\x48\x9a\x49\xb1\x8a\x5f\x14\x26\x4a\xb7\x90\x62\xa0\xf6\x36\x52\x0c\x8c\xc0\x48\x8a\x55\x51\x2b\x29\x56\x45\x8c\xba\x12\xe4\x4c\xa4\x58\xc5\xef\x11\x13\x65\x8d\xa4\x18\xa8\xd9\x4c\x8a\x81\xca\x0d\xa4\x18\x31\x2e\x26\x52\x8c\x9a\xa0\xec\x2c\x49\x81\xa4\x58\xc5\xaf\x19\x93\x24\x61\x52\x0c\xd6\x6a\x20\xc5\x60\xc5\x10\x29\x46\xac\x49\x2b\x29\x46\x0d\x4f\x76\x96\x44\xcd\xa4\x58\xc5\xef\x1d\x93\xc4\x5b\x48\x31\x58\x7f\x1b\x29\x06\x47\x61\x24\xc5\x88\x59\x69\x23\xc5\xa8\x01\xca\xce\x92\xa4\x91\x14\xab\xf8\xa5\x64\x92\xb4\x99\x14\x83\xb5\xb7\x90\x62\x70\x04\x26\x52\x8c\xd8\x97\x16\x52\x8c\x1a\xa2\xec\x2c\x09\x9a\x48\xb1\x8a\xdf\x58\x26\x09\x1b\x49\x31\x58\xb7\x99\x14\x83\xd5\x1b\x48\x31\x62\x5c\x5a\x49\x31\x6a\x87\xb2\xb3\x24\x6a\x26\xc5\x2a\x7e\x91\x99\x24\xde\x42\x8a\xc1\xfa\xdb\x48\x31\x38\x0a\x23\x29\x46\x2c\x4d\x0b\x29\x46\x4d\x52\x76\x96\x04\x4d\xa4\x58\xc5\xef\x39\x93\x84\x8d\xa4\x18\xac\xdb\x4c\x8a\xc1\xea\x0d\xa4\x18\x1f\xb6\x9b\x49\xb1\x2a\x6a\xe8\x2a\x59\xda\x44\x8a\x55\xc2\xc5\x67\x4a\x08\x23\x29\xd6\x12\x8b\x99\x14\x6b\x89\xc8\x4c\x8a\xf1\xd1\x77\x17\x29\x56\x8f\xc0\x3b\x49\xb1\x66\x9a\xd1\x4a\x8a\x31\x06\x2d\x7d\x44\xf9\xce\x2f\xd0\x85\xdd\x8e\xc6\x1f\xc7\xaf\x3d\x34\xfd\xa7\x2c\x83\x83\xd4\x1e\x5a\x90\x9d\x9f\x85\xa5\x1f\x85\x9f\xb4\x30\x8d\x8f\x34\x9d\x48\x93\xd2\x7a\x24\x97\x09\xb3\x47\x0f\x05\x97\xf5\x54\x7e\x75\x55\x14\xa6\x57\x56\x4b\xd2\x33\xb3\xf4\x36\x8d\x02\x49\x76\x01\xc8\x92\xe4\xed\xa8\x58\x51\x9e\x23\xb4\xa6\x2e\x5a\x26\xe9\x53\x8a\xf0\x1b\x8a\x44\x80\x3f\x6b\x69\x7e\x24\x5b\x14\xab\x9f\xab\x95\x1c\xe9\x4b\xb4\xc6\xd7\xae\xe9\xe9\xd9\xfa\x3d\x4c\xf3\x23\xd7\xb2\xa0\x1c\x97\xfa\x68\xb5\xf1\xa5\x6a\x2a\xcd\x1e\xd3\x34\x3f\x50\x2d\x8a\x29\x31\x49\x8f\x4e\x1b\x5f\x9a\x26\xb2\xe4\x15\x4e\xf3\x03\xd3\xb5\x8c\x1c\x83\xf0\x74\xb4\xf1\xbd\x68\x5a\x7a\xec\xe1\x4e\xf3\x33\xd1\xa2\x98\x1c\x89\xfc\xf4\xb3\xf1\xbd\x67\x22\xcb\x5e\xfc\x34\x3f\xf3\x2c\x48\xc9\xb1\x48\x8f\x37\x1b\x5f\x6c\xa6\xad\x9a\xb4\x19\xc3\x43\xcd\x8d\x84\xac\x5f\x7c\x80\xd9\xf8\xea\x32\x4b\x49\x7e\x7f\x31\x3c\xb6\x5c\x0b\xa8\x89\xaf\x9f\x51\x86\xdf\x4e\x66\x0f\xd3\x07\x4d\xf3\x70\x5c\xcf\x5d\x69\x22\xf1\xa9\x44\x41\x9d\xfd\xdd\xc2\x03\xaa\xe4\x36\xf2\x77\xf7\x96\x67\x33\x31\xf1\x8a\x78\xf9\x82\xf8\xa6\xdd\x2a\xd2\xae\xe7\x8d\xf9\xff\xa0\x30\xc7\x30\xa0\xb7\x62\xae\xed\xbf\xd8\x23\x7f\xa3\xbd\xda\x4c\xaf\x93\x14\x6e\x99\xdf\xb4\xbd\xf1\x2c\x5c\xfa\x9f\xa5\x19\x79\x96\x7a\x52\xa6\x69\x54\x86\x99\x6a\xcb\x36\xe4\x1d\x2d\x7e\xd1\xfa\xc4\xd3\x23\xd2\xaf\xf0\xa7\x61\xb6\x39\xf2\xef\xe9\x2d\xff\xd4\x98\x85\x9f\xd0\x7a\xb2\x24\x2f\x6c\x6e\x1e\xd3\x9c\x9e\x03\x5f\x13\x31\x0b\xff\xde\x00\x0f\x51\x91\xb2\x44\xbb\x94\xde\xed\x49\x23\x14\x4c\x23\x8f\x0f\x95\x25\xca\x49\x1a\x70\xbb\x60\xae\x24\x0e\xc8\x8d\xa6\x8c\x3f\x37\xc0\x1e\x25\xb8\x90\x7f\xc3\x28\x2c\xcf\xfc\x9d\x02\xb1\x18\xc2\x04\x90\xa3\x57\x79\x4a\x03\x10\x0a\x27\x7d\x1b\x82\x3f\x9c\xd5\xbc\xe6\x30\xb7\x95\xe7\xc5\x9a\x6b\xee\xdd\xc5\x3c\xab\x36\x4a\xb7\x2c\xfe\x26\xdc\xe0\x46\x7b\x8b\x5b\xac\x6d\x2e\x7f\xce\xa1\x79\x35\x17\xa3\x5d\x27\x6b\x34\xf1\xf3\x3c\x7d\x04\xde\x91\x00\x1f\x3d\xc3\x05\xc5\x4a\x9e\x0c\x0a\xf9\x13\xab\xf6\x08\xd6\xcb\xde\xcd\x1d\x6b\xce\xfc\xa5\xad\x8e\x68\x9b\xe7\xd1\x36\xd2\x0b\xc1\x7a\xcd\x65\xc5\x4f\x10\xb8\x4e\xb6\x85\xc5\x62\x24\x83\xa0\x7f\x55\x56\x16\xf9\x3b\x14\xa3\xa4\xfc\x5f\x7f\x2d\xd3\xec\xf7\xb1\x28\x52\xa6\x19\x44\xf6\xf4\x50\xc3\xf2\xa3\x6a\xe3\xa8\x32\x6d\xe4\x45\xd9\x2f\xe9\x73\x13\x7f\x1e\x39\x59\xf5\x7c\xf4\x5f\x23\xcb\x79\xde\x3f\x82\x1a\xc7\xfe\x01\x28\xc2\x86\x94\x41\xfa\x44\x5f\x56\x3c\xfc\x89\x66\x52\xf8\x34\xfd\xf4\xbf\xf6\x90\xa4\x77\xa4\xa4\x8e\x8b\xbd\x2d\x27\x3c\x11\xae\x5b\x4f\xd7\xfb\x4c\xd4\x34\x0c\x2e\xcd\x43\xf1\x7a\xd4\xb8\xeb\xea\x88\x8f\x0c\x81\xe5\xfa\x44\x87\xc9\x1a\x1d\xd8\x4b\x11\x54\xa3\x88\x0f\xaf\x53\x44\x9f\xa9\x46\x6d\x84\xa2\xaa\xdf\x7f\x11\xda\x29\x6d\xa5\x9d\xc5\x27\x25\xa5\x5f\xdd\x53\x82\x00\x65\x2e\xe6\x02\xd2\x29\xfb\x77\xd5\xc0\x7e\xf5\x70\x68\xaa\x58\xac\xcc\x4a\x4b\xef\xd0\xdf\x52\x17\x3b\x71\x04\x30\xa1\x91\x0b\xb5\x51\x8c\xbe\x47\x7d\xa4\xd5\x59\xae\x90\xec\x29\x22\x95\x2c\xef\xa7\x09\xaa\x91\xd4\x8b\x57\x49\xac\xf0\x46\x1b\x27\xc7\xd1\xaf\xaa\xa9\x61\x80\x52\x95\xd2\x07\x69\x55\x04\xa0\xda\x66\x8b\x35\x6d\x60\x36\xba\x93\xc4\x62\xe4\xef\x6a\x92\x78\xa9\xc8\x4d\x35\xad\x1b\x47\x08\x12\x12\xbd\x50\xd5\xa4\x04\xf4\xaf\x6b\x23\xde\xbd\x5b\x47\xe4\xe3\xb1\x48\x5b\xfe\x61\x51\xe3\x93\xa3\xa4\x35\x78\xf6\x17\xe6\xf1\x88\x68\x67\x2d\x6a\xf9\xf4\x61\x43\x63\xe4\xd9\x20\xe9\x4f\xb3\x29\xfe\xeb\xc8\x20\x56\x2a\x37\x25\x42\x95\xe8\x0b\x49\x7d\xf4\x40\x0d\x09\x7b\xf0\x66\x94\x37\xcf\xcf\xff\xfb\x4c\xbb\x98\x92\x7e\xcd\x4d\x0e\x01\x94\xac\x90\x07\x48\xa3\xe4\x6d\x36\xeb\x43\x9a\xdb\xb0\x24\xb1\x38\xf9\x1b\x6e\x2c\x6e\x2c\x72\x53\x53\xeb\x42\x50\x87\x83\x45\x2d\x34\x34\x21\x72\xda\xcc\xe4\x56\x21\x73\xfe\xa3\xc9\x42\x18\x6b\xd7\x0b\x27\x9b\x26\xbc\x3e\xb5\x63\xd5\xdb\x5c\xfd\xa7\x73\xfc\x27\x8e\x78\x48\x9a\xd8\x2c\x81\x54\x42\x56\xa3\x2c\x52\x09\x45\x49\xda\x23\x19\x45\xd5\xdc\xac\x51\x9c\x95\x67\xe9\x95\xeb\x46\x84\x4c\xb8\xc1\xec\x4a\xb3\xf0\x6b\x3d\x1b\x6d\xa6\x4e\x0b\x7d\xea\x44\x27\x23\xdd\x73\xa6\x14\xcf\x01\xcb\x33\x9e\xee\x6e\xfd\xe0\x40\x9e\x48\xce\xca\x33\x79\xe2\x10\xd5\x33\x5f\x2b\x4c\x12\x88\xc4\xac\x13\x33\x29\x8e\xe9\xe3\x85\x2b\x9b\x34\xa9\x1c\x36\xad\x9a\x2c\xc5\x79\xd5\x8c\xd4\x7f\x59\x51\x8b\x99\xfc\x8c\x29\x12\xcf\x66\xcb\x14\x89\x8b\x90\x87\x09\x79\x29\xcd\x1a\x43\xd3\xae\x42\xb4\x78\x82\x26\x65\x7a\x34\x40\x93\xd4\xd8\x75\x8d\x70\xb7\xca\x40\x26\xa9\x66\x69\x07\x46\xfa\x42\x7f\x60\x4e\x8a\x30\xd8\xe7\x42\x74\xb0\x5f\xaf\xa8\x8e\x58\xf9\xf5\x50\x03\xa1\xa3\x0f\xf5\xf9\x2b\xdb\x44\x6f\x5d\x49\x96\x03\x23\x01\x81\x03\xc7\xbe\x8a\x99\xd4\xc1\x53\x20\x94\x86\xa7\xbd\x40\x14\x47\xa8\x5c\x8a\x8d\x50\x87\x55\x31\x60\x80\x2a\xeb\x13\x07\xa8\xc3\x94\x81\x78\x99\x06\x8d\xf2\xc4\xb5\x1e\x3d\x36\x68\xc1\xe3\xab\x5e\x60\x35\x23\x10\x2e\x43\x46\x20\xc3\xea\x9b\x36\xfc\x10\x75\xc9\xc3\x8f\x9b\xab\x9b\xb1\x4f\x06\xe2\x32\x4c\xb4\xc4\xba\x06\xe2\x27\x76\x9b\x1c\x3d\xd9\x56\x0b\xec\x99\x6d\x0b\x0f\x9f\xb2\x27\x42\x27\x62\xcf\xd2\xa7\xe3\xac\x59\x33\x97\x0e\x4b\x4a\x7f\x1b\x21\xe1\x41\xcd\x8d\xfc\x2a\xe5\x46\xdf\x5d\xd3\x4a\xbb\x32\x85\xa3\x32\x18\xf3\xaf\x63\xd3\x08\x68\x3f\xf8\x80\xf2\x32\xdc\xf9\x11\xeb\x82\xca\x34\x13\xac\x97\xd8\xa5\x07\x08\xb9\x68\x5e\xab\xc4\x9d\x2f\x56\xa7\x84\xa7\x49\x53\x06\x06\xae\x51\x0b\xee\x9f\xff\x4c\xfe\x7b\x11\x62\x35\xca\x33\x80\x74\x58\xc9\x28\x87\x78\x5a\x45\xdc\xe4\x97\xfc\x10\xb2\x3c\x6d\x50\xb6\x68\x7c\xa8\x16\xe5\xbf\x85\xd0\x8d\xd3\xf1\xa2\xf1\xa0\x72\xd2\x44\x59\x82\x0c\xa4\x84\x41\x26\x37\x57\x56\x9f\xb2\x4a\xd6\x14\xa1\xa2\x10\xf1\x19\x03\xbe\x01\xe4\x78\x04\x1d\xa5\xa8\xb1\xb5\x62\xf8\x94\x79\x98\xe1\xb4\xe1\x28\x46\x65\xbe\x4e\xca\xa3\x95\xee\xad\xf2\x9c\xa1\x2f\xd3\x20\x78\xae\x63\x2d\xbd\x83\x8b\x87\xb3\x54\x13\x59\xfb\x68\xf4\xd0\xa5\x90\xf6\xc0\x8b\x26\x34\x5b\xfe\x1b\xcb\x3f\xef\x9a\x1c\xd6\x2e\x47\xa0\xf4\x77\xd3\xad\xbf\xf3\xe5\x94\xc8\xe1\x68\x7a\xc6\x9d\x12\x42\x8c\x6d\x42\x50\x22\xb6\x73\x7f\xb7\x6d\x6a\x21\x5f\x63\x1c\xab\x0e\x42\x14\x82\x1b\xa4\x31\xd8\x23\x1b\xb9\x60\xb6\x94\x25\x4c\x30\xcd\x8a\x8c\x29\x6b\x9a\x18\x98\x14\x37\x98\x06\x75\x5d\x67\xcb\x9a\x63\xf9\xa7\x98\x31\xee\x02\x96\xd6\x3c\x40\xbb\x05\x9c\x2d\x71\xbd\x14\x4e\xad\x28\x61\xcc\x92\x2c\x04\x97\x56\xe0\x6d\xeb\x44\x84\xc9\x3e\x1d\x0b\xdf\x82\x62\xfa\x13\x54\x81\x90\x87\xb6\x60\x3e\x9a\x55\x59\x30\x7d\x8d\xb7\x29\x07\xa2\x04\x14\xb7\xbf\x0d\x02\xe4\xf1\xb8\xd9\xfa\xec\x58\xfe\x29\xe8\xae\x5d\x20\x5d\xfb\x3d\x42\x5b\xb8\xf5\x48\x0b\xbf\x60\x42\x25\x09\x53\x6e\x14\x21\x43\x22\x96\xbe\xc3\x13\x41\x97\x82\xc7\xd2\x2f\x41\x39\x77\x80\x14\xa1\xd9\x76\xbb\xb3\xc1\xdc\x88\x0b\xcc\x60\x3a\x45\x01\x53\x5e\x64\x19\xb0\xad\x04\xfe\xca\xaf\x0d\x01\x59\x75\x1e\x8b\x3f\x04\xcd\xec\x37\x0c\xc8\x1e\xcc\x84\xb0\x8a\x0d\xa6\x4f\xf0\x37\x65\x41\x12\x01\xe3\x76\xf1\x5f\x53\x18\xf9\xfd\x58\xf8\x96\x0a\x02\xff\x04\x1b\xc7\x0e\xff\x19\x8a\x81\x2f\x95\x1b\x00\xe6\xde\xe6\x22\x68\x24\xc0\xc6\xb1\xc7\x7f\x3c\x6e\xfe\xa6\xbc\xf8\x4b\xd0\xcc\x1d\x8e\x60\x54\xd4\xb7\x25\xb5\xa2\x80\x29\xbd\xb2\x0c\x90\x62\x43\xaf\x38\x9a\x90\x7e\x9b\xe4\x17\x77\xde\xad\x03\x4b\x4a\x64\xc8\x93\xf4\x3f\x4d\xdd\xe9\x72\x8a\x14\x75\xa4\xf8\x05\x7d\xb3\x95\x67\x7b\x0b\x40\x25\x5a\xa1\x1d\xda\x2b\x2a\xe5\x51\x8f\xb8\x53\xa2\x2d\x5d\xa2\xfc\x48\xae\x3f\xc2\x88\x85\xfd\x94\x87\x49\x50\x56\x88\xa4\x61\x1c\x97\xa3\x22\x4b\x93\x02\x17\xaa\x22\xa1\x8d\x7e\x04\x2d\xb7\x0e\x84\xa4\x8d\x14\xc2\x70\x48\x50\x3d\x60\x64\x24\x6b\xc3\x35\xa1\x3e\xda\x59\x4f\x04\xbc\x85\x37\x59\xd1\x57\x00\xd4\x0c\x5b\x45\x7c\x01\x89\x6c\x3c\x77\xe0\x4f\x7f\x5a\x15\xdd\x23\x61\x3d\xa2\xed\x7d\xd8\x3c\x09\x6a\x15\xbb\x3c\x8d\x22\x6c\xa7\xcb\xf4\xb4\x3b\x6e\xac\xb8\x10\x3c\x09\xb9\x83\x9d\x70\xe0\x63\x48\x36\x39\xd2\x10\x5b\x3f\xbf\x42\x49\x31\xc3\x0f\xe4\x6a\x31\x5f\x18\x73\x15\x07\x7f\x98\x5c\xc5\xc1\xa0\x5c\xad\x56\x8e\x31\x57\xd1\xe1\x0f\x93\xab\xe8\x30\x28\x57\x8e\xb3\x5a\x19\xb3\x55\x45\x7f\x98\x6c\x55\x51\x4b\xb6\x34\xf1\xff\x5b\xc9\x26\x0c\x71\x1d\x79\x98\xd0\xbd\x4c\x24\x0d\x02\xbd\x40\xb8\x0a\x14\x0b\x3b\x9b\x16\xde\x17\x1b\x65\x6f\xa7\xbc\x77\x0a\x78\xda\x57\x9d\xed\xf3\x83\x76\x26\x3e\x82\xa4\x0d\x24\xd8\xb7\x65\x32\x62\x49\xaf\x49\xe3\x1c\x45\x3e\xee\xe9\xc8\xda\x9a\xe5\xe0\x19\x2d\x91\xb0\xb2\x30\x8a\xd4\x03\x01\x73\x14\x6f\xe4\x2d\xfc\xf3\x86\x89\x61\xe9\x70\xec\x26\x15\xea\xee\x52\x43\x6f\x43\xf6\x9c\x2a\x41\xfe\x75\xcc\xd1\xfe\x77\xb6\x5f\x0f\xf4\x92\x36\xee\x61\xcd\xe0\x3e\x30\x3d\x3a\xba\x41\x95\x47\xa7\xed\x4b\x85\xd3\x48\x77\xab\x6a\x81\xa0\x54\xaa\x9e\xb7\xa6\x93\x6e\x6d\xad\xa3\x94\x77\xb4\xc2\xa9\xa4\xfb\x5c\x95\x20\x60\x1a\x25\xaf\x5b\x53\x48\x37\xc5\xf2\xe8\xc4\xbd\xb0\x70\xf2\xe8\x0e\x59\x51\x1e\x4a\x9b\xe0\x7e\x6b\xc2\xe8\x76\x5a\x1e\x91\xb2\x8b\x96\x0f\xba\x80\xd1\xfb\xce\xb1\x17\x4a\x28\x28\x85\xb2\x97\xbc\x4f\x98\x2a\xef\x99\x4e\xba\x1d\x97\xc7\x28\xef\xc2\x85\x21\xa4\x7b\x73\xe5\x10\x50\x12\x25\x9f\x5b\x61\xa4\x1b\x79\x79\x64\xd2\xfe\xdd\x16\x10\xf7\x52\x00\x28\x71\xa2\xc7\x67\xa0\x47\x37\x02\x37\x58\x74\x8d\x6a\x1d\xc7\x11\x85\x61\xd8\x6a\xf7\x9b\xcd\x0b\x2e\xd0\x38\x0d\xfc\xc8\x5a\xda\x02\xf9\xbc\xb4\xbf\x10\xf6\x80\xe2\x81\x25\x93\x4a\x33\x94\x98\x8f\xcb\xd5\x1d\x19\xdf\x6f\xca\x95\xd3\x85\x54\xba\x51\x78\x0c\xb8\xdd\x4d\x76\x51\x5a\x18\x78\x57\x41\x3f\xeb\x5d\xb5\x83\xd1\x26\x85\x77\x45\xe6\x27\xf2\x26\x7e\xa1\x83\x73\xc5\x1d\x9f\x7c\xe9\xba\xf1\x76\x26\xb2\x00\x21\x91\x05\x6f\xcd\xf3\x2e\x93\x0e\xfe\x8e\x6c\xc5\xfb\x14\xd5\x67\x4d\xed\xac\x1a\xd9\x23\xf2\x8f\xeb\xe1\x7e\x4c\x11\xbc\x8b\xc2\x4b\x14\x16\x7c\x57\x70\xf1\xdf\x27\x3f\xa7\x9d\xa2\xf1\xcc\x88\xd4\x57\xcf\x9b\x82\x65\x0b\xac\x17\x03\x76\xc2\xc2\x31\x4f\x9d\x87\x93\x85\xc7\x12\x23\x5b\x58\x1f\xf0\xa4\x05\x89\xa9\x2d\xec\xf0\xa2\x9d\xa9\x87\x5d\xf4\x02\xf4\xf0\x9f\xb2\x6e\x5c\x2f\x39\x2f\xa5\x04\xdc\x65\x12\xfc\x64\xf9\x40\x1c\x71\xb8\xd2\xfa\x07\x2b\x4f\x49\xb3\xac\x6e\x12\xfb\x25\xca\x43\x3f\xb2\xc2\x5d\x9a\x14\x82\x72\x51\x0f\x72\xf0\xdf\x15\x14\xde\xfb\x71\x18\x9d\xd7\xcf\xde\x32\xbf\xd1\x1b\xec\xf7\x6c\xa3\xee\x29\xd7\x77\x70\xab\xf5\x68\x03\x0e\xc0\x94\xc2\x24\xcd\xb4\x65\xef\x37\xbb\x5d\xa6\x89\x60\x8f\xfc\xf2\x94\xe3\x7e\xbc\x2c\xc3\xe4\x50\xac\x9f\x45\xe1\xc1\x7f\x76\x9d\x10\x9d\x64\xd4\xc4\xb6\xb6\x5f\x1a\x97\xf5\x36\xad\x98\xeb\x68\xe2\x7a\x85\x24\xed\x47\xd1\x78\xf2\x10\x22\x72\xb1\x4e\x58\x84\x69\x72\x37\x09\xc2\xfd\xde\xfa\x94\x26\x48\x54\xe2\x47\x11\x0b\xfd\xc9\x0a\x50\x56\x1e\xad\x32\x4c\xce\x97\x46\xf7\xda\x1e\x39\x59\x45\xfe\x67\x8f\x14\x52\x7f\xdc\xe2\xd7\x28\x3c\xfa\xd1\x5e\x56\xe8\x66\xd5\x68\xaa\x05\x72\xe6\x5c\xa1\xa7\xfb\xb9\xcf\xaf\x93\x53\x81\x72\x2b\x49\xcb\x70\x1f\xee\x88\x41\x1c\xd7\x71\x38\x7a\x04\x80\x12\x12\x01\xf6\x63\x2d\x57\x8b\xa1\x56\x07\x24\x1a\xeb\x73\xf4\xac\x3a\x4b\xac\x74\x86\x3d\x81\x18\x45\x1c\x5c\x59\xdf\x12\x07\x59\x68\x41\x5c\xac\x6e\x8e\x2d\x0a\x90\xc6\x95\xa0\x6e\xaa\x14\x92\x0b\x27\xc1\x9d\x11\x54\x71\x44\x5e\x87\xc6\x99\xa2\x91\xa4\x62\xa9\x6b\x24\x49\xc4\x06\x6f\xe4\x01\xf1\x39\x82\x46\x4f\x29\x16\x9c\x0a\x77\x06\xe7\x79\x86\x53\xb7\x00\x00\xc1\x05\x13\xe4\xfe\xc1\x3a\xfa\x49\x10\x21\xdd\xb8\xf0\xa1\xcd\x12\xff\x31\xd9\x30\x09\x70\x25\x49\x73\x2b\xc8\xd3\x8c\xd4\x7a\x6e\xae\x1c\xbd\x2b\xc2\xd8\x05\x69\x59\xa2\x60\xf4\xa7\x60\x8a\xff\x34\x35\xbb\x63\x5a\xa0\x04\x56\x52\x9b\x4b\x6e\x28\x81\x44\xf8\x87\x03\x0a\x3a\x82\x73\x6b\xfb\x6a\x85\xff\x36\x02\x76\xbc\x99\xd1\x56\x63\x4a\x23\x8b\xc5\xc4\x1d\xfd\x09\xed\xf0\xdf\x46\x19\xba\xfb\x0f\x7e\xe9\xe7\x63\xf6\xaf\x15\xf9\xf9\x01\xea\xc3\x99\xa1\xe6\xb3\x5a\xd5\x86\x4c\x8b\x11\xf2\x0b\x3c\x96\xb6\xd2\x53\xb9\xb1\xe2\xf4\x53\xb7\x4c\xd1\x29\x92\x76\x49\x68\xfb\xa2\x54\xcb\x4b\x26\x98\x34\x6f\xd2\x60\x4d\xea\xf5\x70\x63\xdb\x74\xc4\x54\x9f\xa5\xa6\xcd\xc8\xe6\xfb\x12\xa6\xb8\xcb\xa4\xbd\xeb\xd4\x6b\x22\x63\x40\x1a\xa3\x74\xec\x1e\x71\xf2\x49\x3a\x91\xad\xb9\x86\xac\x12\x3a\xa6\xa9\xd8\xa1\xe3\xe6\xda\x1c\x87\xc1\xbd\xff\x75\xb2\x3d\x95\x65\x9a\x90\xfe\x90\x8f\xdd\x34\xa7\xbb\xf0\xf2\x07\x2b\xd8\x3a\xdd\x07\x3f\x63\x5b\x1d\x3c\x21\x6f\x75\x8e\x6d\xb0\x4b\x06\x72\x0d\x73\x27\xbb\x53\x5e\xa4\xf9\x3a\x40\x7b\xff\x14\x95\x1d\xc5\x01\x68\xbd\x0b\xc5\x12\x96\x47\xa5\x83\xb4\x1d\x72\xff\x3c\xd6\x5c\xfe\xc0\xe5\xd2\x60\xc0\x96\x2c\x6a\x24\x82\x15\xfe\xd3\xb3\xf7\xe4\x25\xc0\x10\x92\xec\xff\x67\x95\x41\x1a\x05\x63\xcd\xe5\x8f\x5e\x06\x18\x05\xb5\x08\xb6\x2e\xfe\xd3\x73\xf7\xf4\x45\x40\x01\xa2\xd1\xe2\x1f\x9f\x83\x3f\x5f\xcf\xd5\xdd\xfe\xf0\x65\x90\x46\x81\x5a\x06\x68\xbe\x73\x09\xd5\xa2\xe5\xe6\xc9\x4b\xa1\x06\xe9\xc9\x9a\xc2\x36\x3a\x29\xfd\x04\x76\xf9\xa3\x17\x83\xb4\xea\x1e\x5e\x54\x06\x4b\xc9\xcd\x93\x17\x03\x83\xa8\xe1\x2a\x17\xfe\x67\xf5\x09\x64\xb9\x52\x71\xf8\xa3\x17\x01\xc6\x40\x2d\x00\xd7\xf1\xb6\x2b\x5f\xcb\xdb\x93\xe3\x4f\xe1\x91\x4a\xfd\xf3\xba\x64\x84\x12\xb5\x4f\x46\x28\xf9\xa3\x17\x41\x8e\x34\x5b\xb4\x9c\xdb\x5b\xc7\x07\xb2\xf7\x6f\xe8\x93\x29\x42\xd2\x24\xe3\xf3\x2c\x91\xbf\xbb\x57\x4d\x91\xbf\xbb\xff\xa3\x97\x02\x01\x42\x6b\x09\xc1\x62\x31\xb5\x81\x0c\xfe\x1b\x6c\x11\xc5\xa8\x61\xa2\x3f\xa7\x10\xca\x23\x8a\x95\xfe\x80\x38\xfd\xd1\x0b\x81\xa0\xa0\x16\x82\x3d\xc3\x7f\x40\x06\x9f\xbc\x10\x38\x46\xd2\xb2\xe3\x67\x97\x03\xdf\x2c\x66\xf0\xf8\xa3\x97\x09\x49\xaa\x5a\x26\xce\xd6\x5e\xb8\x3b\x63\x66\xff\x3d\x25\x53\xe3\xc5\x79\x97\xc5\x2b\xf7\xd5\x67\x75\x19\x82\x5a\x6d\x38\xb8\x08\x56\x64\xa5\x4a\x10\x2f\x62\x3f\x8a\xee\x42\x89\xd2\xa2\x9b\xcf\x25\x4b\xe2\x67\x70\xfe\xc5\x43\xa7\x84\x79\xe0\x53\xe6\x9c\x51\x10\xfd\x27\xbe\xfa\xea\x7c\xc3\x68\x48\x44\x87\xc8\xe4\x4f\x67\x02\xf5\x60\xab\x0b\x09\xf6\x17\x00\x39\x03\xb4\x04\x61\x63\x02\xb8\x72\xf4\xc7\xa3\x9c\x7a\x12\x17\x52\x29\x18\x49\x39\x3e\x5b\x3e\x85\xd6\xee\x88\x76\xf7\xdb\xb4\x32\x9c\x96\x60\x45\x96\xa5\x21\x81\x52\xac\x34\xe4\x8c\x47\xbd\x6e\x47\xef\x7f\x81\x36\x76\xd4\xd4\x10\xe1\xb3\xa5\x48\x5b\xd6\x59\x1c\x7d\xbd\x46\x3f\x0f\x22\x29\xe3\x5b\x21\x25\xfd\x05\x8a\xd0\x4e\xb8\xb6\x88\x13\x90\x92\x10\xae\x32\x70\x8d\x15\x6e\xeb\x59\x41\x47\x52\xc8\x22\x4c\x9a\x6d\xc4\xb5\x57\x41\xb5\x65\x8a\xfe\x31\x0c\x0e\xa8\x6c\xc0\x97\x47\x2e\x32\xe8\xd7\x49\xad\x8e\x30\x1a\x12\x28\xe2\x82\x1c\x53\x4a\x56\xff\xb2\x70\x77\x4f\x4e\x05\x09\xab\x86\x90\xc4\xdd\x24\xcd\x70\xad\x2a\x2e\xda\x59\x1e\x46\xe6\x35\x8d\xad\x35\x3c\xff\xb8\xc8\x2d\x72\x2a\x72\x83\x36\x59\x2c\x90\x49\x4d\xe2\x22\x97\xb3\x71\x29\x50\x3f\xe8\xc2\x42\x28\xb5\x54\x37\x2c\xcd\x8a\x28\xd9\x36\xc9\x96\xcb\xc4\x05\xc2\x39\xae\x9a\x3d\xf2\xc7\x4c\x2c\xa9\x33\xe3\xa1\x01\xf8\x52\xb1\x58\x5d\x7a\xa8\x18\x10\x9b\x1c\xcf\x1f\xcd\x8a\xc9\xe5\x5c\xef\x18\xe8\x63\x45\x48\xb6\x6a\x39\x14\x45\x61\x56\x84\xc5\x00\xf8\x38\x26\x1d\x49\x54\xbb\x45\x75\x71\x5c\x39\xe8\xe6\xf5\xac\x36\xcc\xc8\xf4\x8f\x5c\x8d\xda\xb3\xe9\xde\xe0\xc4\x7f\x20\x0b\xf3\x79\x4a\xb7\x10\xd2\x33\xdb\x5b\x3f\xbf\x9b\x44\x61\x72\x5f\x8c\x82\xf0\x81\x7e\xaa\x3e\xf4\x9f\x27\xad\x13\xdd\x83\xb0\x5e\xd0\x28\x9d\x00\x7c\x23\x06\xb6\x16\x1b\x76\x9f\x80\xdd\xd8\x0c\x71\xb2\x27\xf4\xea\xfa\xe8\xa6\x35\x25\xb5\x9d\x06\x47\x03\xcb\x60\xa7\xaf\xdf\x35\x56\xe8\x90\x46\x41\xbb\x1d\x06\x62\xea\xd5\xa6\x65\xe1\x7e\xd6\xc3\x3a\xa6\x79\xf8\x49\xb7\xcb\x2d\xa3\xb9\x35\x59\xc3\x65\x0b\xb9\x36\x60\x9f\xd9\xb8\xcc\xfe\x82\x6f\xb9\x4d\x93\xe8\x3c\x2a\x76\x78\xba\x39\xf2\x93\x40\xda\x82\xcb\xdf\xf7\x19\x9e\x34\x75\x7b\xeb\x55\xce\xdf\xee\x98\x86\x3b\xa4\x5e\xd7\xda\x7f\x79\x46\xd7\x75\x17\x85\xf5\xa3\x08\x7c\xf1\xbb\x4b\x4f\xbb\x85\xc0\x75\x4f\xb6\x72\x6a\x67\x0e\xa4\xc2\x30\x4a\x69\xb9\xc3\xa2\xde\x01\x59\x84\x3b\x8b\x1d\xa1\x90\xa4\xc7\xa2\xdf\x1d\x39\xb8\x70\x57\xd2\x23\x1e\x26\xa5\x7c\x81\x57\xdb\xf2\xd0\x34\xc8\x7d\x58\xa1\x60\x23\x6e\xb7\x25\x4d\xd3\x6d\x9a\x26\xf9\x04\x37\xa5\x89\x87\x8f\xf5\x1a\xa6\x16\xaa\xb2\x54\x9a\x55\xf5\xcd\x81\xab\xd5\x0a\x48\xe3\xdd\x24\x46\x45\xe1\x1f\xea\xad\x48\x64\xd5\x5a\x28\x4a\x71\x24\xc7\x4e\xda\xea\xa6\xf4\x14\x92\x18\xd3\x8b\x36\xce\x55\x4b\x71\x7b\x2a\xce\xcd\x2a\xf8\x85\x4f\x4e\x6c\xa1\xb1\x88\x23\x1f\x9c\xd1\x6b\xa3\x1e\x1e\x6b\xdf\x36\x96\x26\x1a\xdb\x06\xd2\xf4\x20\x79\xd7\x50\x7a\x23\x5d\xed\x23\x29\xaf\x47\xb1\x0d\x40\xc2\x58\x9b\xc5\x6f\x1a\xe9\x16\xe7\x78\x9b\x46\xb0\xf5\xd1\x0b\xf9\xc8\x37\x46\xd5\x38\xce\x6c\x69\xbe\x27\x8e\xd9\x6c\xf0\xde\x13\x36\xe9\x03\x26\x3d\x3b\xe4\xa1\x25\x4f\x51\x0b\x62\xae\x5b\x17\x9d\x55\x57\x6f\x7e\x80\x6b\xb6\x5d\x6e\x91\xd4\xf2\x9a\x2b\x09\xc4\xe2\x71\x3d\x71\xf5\xfc\x0b\xb5\x6b\xd7\xb3\xde\x9c\x29\x8a\xfc\xac\x40\x6b\xfe\x71\x95\x5b\x32\xd9\xe6\x57\xd2\x03\x5d\xa6\x26\xae\x36\x26\xb1\xb9\x81\xb3\x28\x48\x11\xd4\x15\xb2\x8d\x26\xa6\x78\x15\x43\x08\xda\xa7\xe6\xa4\x03\x60\x7a\x20\x7b\x56\xa6\xd9\xc5\x70\xec\x1f\x0a\xe5\x93\x27\xda\x2c\x32\xd4\x11\xef\x5a\x55\x2f\xcc\xa2\xdc\x85\x18\x32\x49\x69\x0f\x76\x01\xda\x1d\x2b\xc8\x2f\xae\x58\x4a\x3c\xb8\x21\x6e\x8e\x54\x8d\x0a\xf4\xda\xc4\x46\x7f\x83\x47\xa8\x1a\xf0\x10\xef\xd2\x63\xec\xdd\xe1\xdd\xd6\xf9\x5b\x74\x83\x99\x3d\xb2\x44\x6a\x85\x8f\x08\x0c\xfc\x88\xcc\xa9\x98\x4a\x54\x1d\xc1\x42\x3b\x67\x94\x49\x18\x38\x55\x03\x61\x59\xef\xc3\xbc\x28\xf9\x49\xb8\x8b\xe1\x42\xa7\xa9\x76\xc9\x9b\xe2\x0b\xeb\x8e\x7c\x58\xb5\x74\x03\x94\xae\x5b\xf5\x86\x95\x9b\x68\x19\xca\x05\x82\x61\x2c\xde\x6c\x2f\xd0\xcd\x4f\xec\x99\x90\xf6\x90\x83\xf1\x82\xf2\xdb\x11\x05\x04\x1b\x0c\xfb\x60\xe0\x5a\x86\xe8\x22\x87\x2a\x9a\x1f\x59\x05\xbb\x9a\x1f\x05\x17\x89\xdf\x90\x2e\x98\xa6\x13\xa6\x7a\x0c\xc1\x46\x84\x57\x65\x26\x25\xf6\x66\xcd\xf0\x72\xe0\x3c\xcc\xb4\xb7\x9c\x0d\x38\xd4\x41\x65\x1b\x19\x9b\x37\x83\x0f\x85\x09\x31\x6e\xf9\xfe\x6c\x93\x72\xa5\x5b\x7d\x89\x95\xbc\x9b\x04\xe9\xee\x14\xa3\xa4\x2c\x9a\xcf\xb1\x20\x40\xf2\x5c\x94\x77\xfe\xdd\x24\x2c\x51\xfc\x1f\x9d\x83\x76\x6e\x69\xd4\xc6\x5d\x06\x0b\xd4\xb3\x78\x1b\x9f\xfa\x6c\x36\x50\xfc\x26\x3f\xd3\x30\xaa\x96\xa3\x44\x6f\x21\xbe\x06\x77\x95\x91\xc6\x1d\x72\x98\x1c\x34\x82\xdf\x34\x4f\x61\xf7\xfe\x98\xaa\x0a\xac\xfd\x6e\xb2\x4b\x4f\xe4\xa5\x0b\x95\x22\x55\x37\xb8\xc3\x7b\xee\x8d\x6b\x0a\x74\xa4\x2c\x45\x49\x0f\xf9\x69\xdb\xe2\x81\x06\x24\x44\xcb\x9a\x30\x9b\xd4\x79\x44\x6b\x82\x95\xd2\x37\x5c\xad\xc7\xf0\x93\x9f\x07\xa3\x09\x49\x01\x99\x8d\xd1\xba\x79\x37\x09\x50\xe9\x87\x51\x71\x37\x29\xc3\x32\x42\x63\x30\x54\x96\xa3\x82\x4d\xe2\x78\x30\x22\x7d\x51\x3b\x3c\x65\x63\xe8\xc4\x93\xf6\x51\xf2\xc9\x85\x30\xa1\xd7\x1a\x8d\x6c\x8c\x44\x36\x16\x68\x5f\x17\xf1\x78\x8e\xb9\xfd\x19\xb7\xff\x7e\xfe\x48\xa3\x79\xca\x70\x23\xcf\xac\x5d\x39\xfd\x4e\x33\xc4\x77\x71\xe9\xc8\xdb\x4e\x55\x88\x5a\x32\x33\x70\xe7\xb1\x68\xb5\xf6\x61\x84\x0b\x67\xe7\x53\x1a\x42\x22\xcb\xa1\xea\x65\xb2\xcf\xe0\xc8\xc6\x60\x20\x79\x2c\xf3\x96\xe2\x04\xed\xe9\xbf\xb3\xd0\x74\xc2\x5c\x98\xc9\x4c\xa5\x7d\xc0\x5f\x5c\x27\xec\xf5\xd0\x20\x0e\x93\xbb\xc9\xce\x2f\xd1\x21\xcd\x43\x5c\x2c\xb8\x38\xc6\x5d\xf9\xb8\xf3\xff\xc3\x14\x64\x47\x7a\x3e\xa3\xfe\x18\xb5\xdd\xd5\x4b\x36\x17\xe5\x90\x51\x0f\x70\x9e\x6c\xb0\xcf\x4e\x6a\x6b\x65\x5b\x37\x41\x8f\x35\xcb\x1e\xc9\xe2\xf6\xad\xb1\x2f\x3a\x0f\x06\x30\xe3\x3d\xf4\x16\x49\x98\x65\xa8\x34\x8f\x87\xb4\xb3\x5c\xb3\x5e\x9a\xe5\xa3\x8d\xfc\x64\x73\x57\xb0\xa6\xe0\xcc\x37\x98\xd6\xbc\x97\xa3\xf0\x5e\x2a\x49\xd4\x3b\x32\x8d\x8c\xe0\xcd\x0d\xde\x7d\x2e\x6d\xf6\xeb\x11\x0d\x9d\x13\x43\xc4\xba\x94\xa5\xe6\x4a\x3c\xce\xb3\xbb\xfd\x33\xd5\x39\x3c\x17\xc7\xd9\x1d\x3a\xea\x14\x1b\x8d\x49\x23\x69\x6a\x68\xad\x46\x8a\x47\x30\xee\x12\x63\x2e\xf0\x36\x72\x31\x1f\xa3\xc9\xd1\x2f\x8e\xa5\x7f\xc0\x43\x24\xfa\xd5\xca\xb8\x7b\xcd\x89\x30\x7d\x01\x54\x7f\x23\x46\x7b\x02\xab\x23\x6e\xb9\xf2\xd7\x5c\x9c\x98\x59\x61\xbc\x22\x1e\x6c\x6a\x1d\x24\x2a\x2a\x8a\xd3\xd6\xd2\xd5\xe8\x2b\xf7\x4a\xb0\x0c\xe5\x71\x58\x14\x78\x3c\x25\x91\x5a\x47\x42\x6a\xf5\x15\x3d\xf6\x14\xcd\xfb\x6b\xcd\xfb\x68\xa5\x7c\x57\xaf\xb4\xd6\xa2\x7d\xb5\xf6\x4a\xab\x40\xb8\x69\xb6\x01\x24\xd4\xf9\x78\xa4\x77\x21\x30\xa6\x60\x77\x0c\xa3\x01\xd0\x0d\x0b\xd6\xc0\x78\x43\x30\x35\x36\x95\xf1\xec\xcc\xab\xb8\x1e\x62\xda\x6d\x30\xac\x0a\x37\x1a\xa5\x84\xdd\x78\x2e\xdd\x60\x96\x00\xaa\xb9\xc3\xd2\x5d\xc4\x15\x3e\x5b\xea\xfa\x6f\x3f\x04\xf8\x64\xec\xc1\xee\x54\x94\x69\x1c\x7e\x42\x77\x13\x3f\xdf\x1d\xc3\x87\x3a\x1f\xcd\xcc\x6a\xac\x89\xd2\x0c\x53\x09\xf2\xfd\x1f\x1e\x50\xb6\x02\x3e\x70\x38\xd9\xb3\xff\xb9\x9b\x24\x7e\x8c\x8c\x73\x60\x7e\xb7\x4c\x6f\x6d\xe4\x16\x13\x75\xe6\x2e\x2c\x79\x2c\xd5\x3e\xa9\x53\x37\xe7\x25\x04\x25\x64\x04\x48\x2b\x35\x3d\x03\x2e\xbc\x28\x3d\xa2\xb3\x3a\xc1\x77\x34\x09\x3e\x59\x59\x8e\x70\x69\x8f\x01\x8f\x74\x87\x8a\x22\x4c\x0e\xd2\x6d\x3f\xd2\xb3\x64\x4d\x90\x3b\xfe\xa3\x28\xfd\xf2\x24\x25\x6a\x6a\x2b\xa9\x52\x64\x95\x9b\x04\xb4\xf9\x79\x9a\x6c\x53\x3f\x27\xb7\x58\xec\xd2\xa4\xf4\xc3\x04\xe5\xe2\xde\x29\x75\xed\x45\x58\x00\xd5\x0f\x89\x6e\xc4\x7b\x13\x6c\x58\xf9\x68\x52\x94\xfe\x01\x59\x8e\x3a\xc2\x69\x15\x1e\x4d\xfc\x1d\x61\x68\x2c\x5c\x71\x38\xae\xf0\xcd\x21\xeb\x3f\x6d\x57\xf8\x4f\x04\xb3\x4d\xb9\x3b\x6e\xf5\x9e\xb6\x7b\xcf\xda\xbd\x3d\xe5\x36\xa7\xd6\x84\xc0\xb9\xec\x48\xde\x2d\x81\x66\xb7\x04\xf2\x86\x15\x82\xb3\x5d\x78\xdb\xad\xe8\x44\xec\x15\x1e\x3b\xfa\xb9\x75\xc8\xfd\x20\x44\x49\xf9\x25\xae\x55\x63\x26\x3c\xb2\xc7\x7f\x9a\xad\x56\x5b\xe4\x8f\x70\xe5\x7b\x2e\x05\x66\x36\x51\x0a\x38\x2a\xd3\x6c\x4c\x6f\xbf\xc7\x5f\x24\x25\x56\x51\xa6\xd9\x97\x36\xd7\xf9\x5c\x74\xc5\x5a\x79\x14\xcf\x41\xf5\x37\x27\x2f\xbd\x3d\x68\x5c\xdc\x1c\x56\x0d\x57\xa6\x23\x02\x87\x31\x2c\xe5\x88\xd6\x59\x9e\x1e\xc2\x60\xfd\xf2\x9f\x6f\x62\xff\x80\x7e\xe2\x34\xe9\xe4\x6d\xb8\xcb\xd3\x22\xdd\x97\x93\x5a\xe5\x88\xbc\xb4\xf1\x35\x06\xb1\x28\xf3\xbf\x3e\x63\x9a\x9f\x8d\x47\x28\x09\x04\x67\x1a\xcd\xb3\xf1\xe8\x35\x0b\xf9\xd3\x39\x43\x7f\x75\x46\xcf\x4d\x95\x3e\x49\x4b\x04\xd3\xad\xe2\xcc\x40\xbd\x9c\x04\xd6\x15\x87\x45\xec\x97\xbb\xa3\xd4\xda\x36\xc0\x31\x26\x71\x3d\xa5\xbd\x59\x85\xf1\xa1\xab\x11\x75\x8a\x78\x58\xa4\x21\xe2\xd8\xfa\xcb\x88\x6c\x29\xea\x8a\xff\x4f\x45\x46\xae\xc2\xb7\x9c\xae\x64\xf4\x95\xf4\x04\xc9\x3a\x51\x33\x9e\x28\x67\xd1\x99\xa8\xd9\xc8\x57\xd6\xeb\x84\x5d\x06\x36\x1f\xa5\x0b\xb7\x2d\x9d\x92\x00\xe5\xb8\x8e\x76\xea\x65\xe3\x0c\xe8\xba\x26\x53\xd8\x2e\x63\xc4\xf8\x15\x0f\xda\xb9\xc0\xae\xb3\x79\x91\x87\x7e\x24\x5c\xc2\xa3\xef\xdb\xf9\x7f\x06\xed\xff\x19\xb4\xbe\x06\x0d\xaa\x90\x23\x46\x4c\x74\x6d\xbd\xab\x5f\x88\xed\xba\xd0\x4a\x58\x0c\x72\x96\xb5\x3d\xc9\xaa\x3e\xdb\xad\xea\x1d\xca\xc3\x72\x90\xf8\x0f\x84\xc7\x33\xec\x7a\x6a\xa6\x06\x21\xc6\x7e\x7d\xca\xa3\x2f\xc3\xf8\xf0\x17\x16\xc5\x5f\x78\xf0\x62\x92\x25\x07\xb1\xb0\xad\x1c\x65\xc8\x2f\xd7\x49\xca\xbe\x78\x93\x15\x36\x1b\x91\x4f\x60\x7b\x57\xfd\x7a\x94\xa8\xaf\x26\x04\xed\x91\xb5\x10\xae\xba\xe0\x5b\x41\x19\x3b\x6c\x30\x45\x61\x80\xb6\x7e\x3e\x9a\x44\xe9\x21\xe5\x3b\xe0\xe6\xc2\xde\x29\xbe\xc5\xd0\xd3\xb7\x53\x75\xe9\x3c\xba\x17\xe5\x44\x94\xbc\xe1\x44\x8e\x61\xda\x43\x63\xa6\xaf\x87\x2a\x93\xa7\x8e\xf0\x60\xf7\x6b\x0a\x45\x9a\xe0\xd6\xaf\x37\x06\xce\x6c\x4a\xe5\x2a\x57\xa2\x69\xd4\xbc\x7a\x5d\x8b\x71\xff\x8d\x74\xc7\x91\x7a\x75\xd3\xd4\x1e\x2f\x9c\xb1\x63\x3b\xe3\x89\xf3\xfc\x3a\xf1\x4f\xe5\xd1\xda\xa6\x15\x67\x53\x11\x9e\x6b\x1b\xd6\x98\xba\x66\xfe\xe2\x3a\x10\x98\xf5\x30\xc9\x4e\xe5\xbf\x4a\xdc\xf2\x51\xec\x87\xd1\xef\x86\x2e\x56\x90\xc3\xcd\xb8\x87\x58\xe6\x17\xc5\x63\x9a\x07\xbf\xeb\x93\x6b\xe9\x61\x19\x50\x4f\x67\x97\x5f\x0b\xb8\xfd\x26\x20\xf7\x16\x0f\xf0\xe8\x3f\x20\xe1\xb7\xbc\xbb\x84\x9a\x1a\x86\xda\x42\x58\xe7\x9c\xda\x10\x49\x27\x5a\x38\x2c\x00\xd3\xce\xbd\x92\x34\x0a\xc2\x07\x80\x86\x70\xdc\x17\xab\xe9\x5c\x58\x6d\xfd\x82\xa5\x6e\x6e\x88\xae\x3e\x0a\xe7\x27\x61\x4c\x07\x19\xc5\x3d\x89\xe1\xc7\x32\x47\xe5\xee\xf8\x12\x45\xfe\x79\xe4\x4c\xdc\x62\x14\x26\xfb\x30\x09\x4b\x24\x31\x2a\x37\x86\xeb\x9b\x4d\xec\x90\xa3\x5d\xe9\x5e\xb4\x84\x5a\x01\x8e\x62\x6d\x39\x13\xa7\xd8\x80\xae\x43\x23\x99\xb6\x44\x02\x45\x31\x38\x82\x99\x39\x82\xc9\x0a\x88\x61\xb2\x1a\x1c\x85\xd7\x12\xc5\x12\x8a\x62\x59\x5c\xff\xc6\x83\xdc\xa3\xf3\x3e\xf7\x63\x54\x8c\x80\xc2\xbc\xd8\x5f\x8c\xc9\x00\x6b\x66\x7f\x21\x73\x72\xa4\x7f\x2e\x76\x7e\x84\x7e\xfb\x72\x32\x7b\xbe\x81\x1c\xaf\x6e\x5b\x28\x07\x08\xe4\x3c\xbf\x5e\xff\xf6\x87\x4b\x91\x4e\x6d\x06\x71\x98\x58\xd0\xb6\x9c\xb6\x15\x97\x66\x0b\x87\x48\x7d\x9e\xb6\xa0\x22\x68\xcd\x45\x0e\x3b\xa2\x7b\xe6\xe9\x5e\x57\x7e\xe3\x3f\x79\xef\xa0\x4d\x8e\x3e\x78\x90\x0b\x6f\x1e\xe0\x1e\x5c\x66\xde\x94\x63\x0a\x2a\x2d\xd7\xa2\xde\x40\x6a\x1a\x00\x61\x87\x22\x84\x9d\x09\x74\x5f\x3d\x6c\xb5\xc0\x65\xcb\x96\x64\xdc\x4d\x48\x77\xa5\xcd\xaf\x05\xfe\xae\x5e\x6d\x31\x8f\x4d\x9b\x31\x67\x7b\x8c\xd8\x26\x67\xc5\x45\xd9\xad\x27\xac\x0d\xd6\x99\x6b\x3b\x11\xdb\x27\x0e\x78\x25\xb0\x2d\x5c\x98\xd0\x57\x41\x2c\xec\x78\x51\x87\xd2\xea\x84\x93\x20\x50\x1e\xf3\xf4\x74\x38\xb6\xeb\xa5\xcd\x00\x52\xda\x1e\x4e\x3d\x24\xcb\xee\xb8\x69\x2f\x60\x71\x95\x00\x5c\x35\xe9\x5e\x54\xf8\x63\xae\x9c\xe8\xd7\xc3\x2a\xc3\xd8\xce\x8c\xdd\xb2\xe1\x45\xd0\x47\xab\x55\x7f\x60\x05\x79\xf6\x43\x46\xd6\x10\xc2\x8a\x51\xbc\x45\x79\x71\x0c\x33\xd3\x3a\x10\x95\xc3\x55\xa5\xe0\xd2\xca\xa2\x97\xdd\x12\x81\x94\x24\x66\x8a\xc0\x8b\x4b\xe0\x73\xa0\xfd\xb5\xde\x4d\xb2\x53\x9e\xa5\x05\x6a\x3d\xdd\xde\x17\x06\xee\x8e\x35\x0f\x80\xe4\x6e\xb2\x3f\x45\x91\x98\x49\xed\x62\x10\x7e\x6b\xf5\xf0\x74\xf0\x6f\x3d\x9f\x6c\x92\xa4\x36\x6f\x6a\x0a\xd8\xd5\xc3\xd6\xde\x0f\xa3\x53\x0e\xe4\xa6\x88\xcb\x8c\xfb\xf6\xee\x26\xf8\xcd\x5b\xed\x71\xd6\xef\xc4\x81\x71\xf2\x67\x08\x86\x75\x4d\x03\x16\x35\xdb\x8c\xcb\x7f\xc8\x44\xb4\x4c\x03\xbb\x27\x8a\xff\xe1\x4d\x7c\xfa\x4c\x59\xc7\x1a\x4f\xae\x73\x54\x9c\xa2\x12\xdc\x1c\x4d\xf2\xa2\x2f\x04\x4a\x19\x1d\x3a\x44\x63\x3b\xa7\xdb\x94\x8e\x26\xf4\x5f\x3c\xff\xbe\xf0\x93\x81\x58\xa8\x7e\xbb\x26\x4c\xf8\x8b\x3c\xec\xdc\x6c\x7b\x68\xc2\x24\x5c\x81\xe0\xf5\xb9\xdb\xf6\xf0\x73\x63\xf8\x59\xaf\xf0\x0b\x63\xf8\x65\xaf\xf0\x2b\x1a\xde\x50\xc3\x2e\xd2\xb6\x6d\x7d\x77\x6c\x1b\x75\xf1\xef\xdb\x1e\x0b\xde\x1e\xa1\xd2\x87\xca\x8e\xd9\xee\x14\xdf\xb4\xf1\xb4\x4b\x5d\xd7\xce\xd3\xf6\x26\xfd\xd4\x5b\x4f\xf5\x8d\xa6\xbd\x36\xd3\x8f\x27\x84\x71\xe6\x82\x77\xec\x27\xdd\x62\x70\x37\xd9\x95\xff\x77\xb6\x10\xb7\x61\x67\xda\x1f\x6b\xb8\x92\x60\xd6\xba\x5f\xb6\x47\x44\x77\x93\x07\x94\x17\x61\x9a\xe8\xd3\xc0\xd6\xe3\xe8\xfd\xa2\xa0\x03\x60\xc3\x68\xc8\xfd\x8c\xb4\x77\x6e\xf6\xa5\x59\x50\x08\xe4\x5e\xcd\x89\xef\xf8\x55\x4a\xa2\x6f\xf3\xf9\x37\x6d\xe0\x74\x5a\x77\x6f\x0e\x4a\x4e\xcb\x4c\x8e\x2b\x2a\xce\x49\xe9\x57\xb2\x11\x05\x45\xee\x26\xa8\xf2\xe3\x2c\x42\x62\x8f\xd8\xcc\x37\x85\xeb\x4e\xe0\xea\x05\x2d\x38\xf3\x2d\xa2\x86\xe8\xb2\xc8\x0f\x95\x33\x16\x94\x1c\x6d\x3f\xd8\xc3\xe8\x6b\x4a\x8f\xd6\x25\xb2\x8f\x50\xb5\xf9\x78\x2a\xca\x70\x7f\xe6\xef\x94\x70\x0a\x95\xf0\xa9\x16\xb6\x23\x45\xcd\xaa\x46\xa8\xb2\x82\x30\xa7\xf6\x64\xbd\x4b\xa3\x53\x9c\x6c\x28\x2b\xc3\x4f\x70\x28\x87\x1c\x38\x69\x7e\x91\x24\x4c\x8f\x9a\x10\xa8\x3d\x33\x5d\x2f\x34\x25\xed\x7e\xa4\xeb\x84\x1b\x44\x14\x84\x65\x8a\x4d\xb8\x9f\x3c\xf8\x45\xcb\x63\x1a\x12\xfb\x8f\xff\x26\x0b\x2f\x2b\x47\x6c\xcd\x7f\x4c\xfa\xa0\xac\x94\x5d\x9b\x2c\xb1\x15\x1b\x9d\x7c\x56\x2e\x71\x97\xe5\xef\xc2\xf8\x50\xaf\xf2\x08\x1b\xd3\x9b\x43\x92\x8a\xfc\xe4\x94\x47\x4a\x7f\x6e\x3e\xb2\xc5\x26\x0a\x45\x91\x12\xd0\x4d\x69\xa3\xf5\xd4\x53\x6e\xa3\x87\x36\x1c\x8b\x1d\x48\xeb\x82\x01\xb0\x0a\xd3\x72\xe9\x19\xbd\x4b\xa6\xa5\x7b\x32\xc3\x3a\x15\xea\x3c\x10\x67\x2a\xdc\xa2\xdc\x1a\x03\xeb\x00\x9f\x66\x96\x20\xbe\xd0\xa7\x1c\x55\x73\xdd\xae\xbc\x92\x94\xc0\x66\x49\xef\xe7\xf5\xcd\xca\x36\x3c\x1c\x10\xdd\x94\xa3\x59\x6e\xf3\xfa\x11\x74\xab\x9f\xd8\xb9\x6a\x9b\x57\xba\xa2\xea\x73\xca\xb0\x73\xfc\xd2\x3b\x93\xda\x98\xe7\x09\x0a\x54\xbf\x79\x4d\x78\x08\x8a\xee\xef\x91\x2b\x36\x74\x94\xdc\x74\x5c\xcf\x15\x97\xce\x45\x33\x60\x3c\xfb\x6f\xbe\x3f\xa2\xcf\x39\x4c\xf8\xdc\xa5\x7e\x5a\x93\x9f\x6d\xf9\x83\x5d\x75\xd6\xb3\xd4\xf9\x1c\x40\x7a\x4f\x98\x5f\xaa\x60\xbc\x1f\xa0\x97\xea\xd1\x84\x6c\x41\xd0\xcd\x11\x38\xaa\x11\x2e\x5b\x91\x0e\x95\x3b\xfd\x47\xed\x34\xc2\xbb\x09\xee\x27\x7a\xc6\x0a\x5f\x9b\xd3\x33\xbe\xbb\xb6\x9d\x22\x42\x77\x31\xef\x3e\xfa\xdb\xbb\xd9\xaa\xf5\xaf\xeb\x42\xb7\x7f\x7b\x93\x74\xe5\x71\x8b\x71\x4b\xc1\x93\xb7\xcf\xa7\xab\xb9\xe6\x36\xdd\x97\x14\x32\xdd\x13\xb7\xc4\x25\xcf\x47\xd4\xd6\x2e\xcd\xce\x56\x9c\x3e\x88\x27\xc9\x58\xb4\x0d\xf1\x55\x4b\x47\xe1\x1e\xed\xce\xbb\x08\x59\x41\xee\xef\x61\x9f\x28\x7c\x78\xda\xb3\x07\xff\x36\xc3\xd3\x72\xca\x3d\x40\xc5\xce\x30\xd5\x23\xfd\x7f\x37\x7e\x40\xeb\x91\x86\xd2\x43\x4a\xa0\xab\xcc\xe5\x0b\xb0\x6e\xbf\x4a\xf4\xa6\x1b\x43\x87\x65\x45\x1e\x18\x91\xe5\xdc\x21\xc1\x95\x79\xec\x6d\x45\x23\xaa\x93\x26\xf5\xc0\x49\x43\x78\x72\xa7\x8e\x12\xa1\xa9\xf9\xc0\x74\x74\x70\x00\x6c\x2a\x30\x4c\xe9\xe7\x5c\x21\x49\x1e\x73\xed\x13\x5d\xcb\x19\x57\x3a\xee\x15\xd7\xbd\x87\x28\x1c\x71\x50\xc6\x43\x83\xe1\x32\x1d\x16\x48\xa9\x57\xd2\x71\x34\x36\x79\x6f\x60\xad\x15\x33\x6a\x7c\x84\x5d\xd8\x99\x4f\xe9\xec\x8a\xba\x58\xed\x82\xeb\x25\x3d\xf5\xa3\x6a\x87\xf2\xac\xec\xba\xf2\x43\xbc\x6d\x4d\xae\x87\xbd\x8d\xb7\xde\x3f\xdf\x72\x91\x96\xf0\xa2\x9f\x74\x41\x63\x43\x0f\x30\xb2\xa8\xaf\x75\x12\x61\x5b\xca\x24\x8c\xdc\x36\xb2\x3c\x2d\x99\xa9\xc7\x29\x41\xc1\x18\xf4\xe3\xa7\x55\x20\xbf\x53\xa2\x85\x64\x7b\x1e\x85\xe2\x29\xd3\xdd\x1f\xaf\xa3\x33\x15\x37\xbf\x5b\xc7\x50\xe8\xf0\x84\xd5\xa4\xec\xa2\x17\xee\xab\x57\x2f\x5e\x3a\x5e\x57\xfc\xf5\x05\xff\xaa\xf4\x13\x96\xd9\x13\xd5\x5f\xad\x9a\xb6\xd7\xbf\x81\xd7\x75\xbb\xea\x75\xdd\xa2\x6d\x64\x27\x12\x85\x6c\x96\xfe\xe1\x62\xb8\x73\xb9\xb9\x6a\xa1\x0d\x4e\xad\xf8\x35\x50\xdb\x24\x38\xb4\x72\x21\x72\x6e\xd3\xac\xb3\x4f\x3d\x31\x24\xa4\x7f\x4d\x01\x22\xe1\xcb\xdd\x5d\x78\xa8\x0f\x53\x75\x15\x41\xf7\xb5\x4d\x80\x8e\x0b\x5c\x93\x84\x6b\x2f\x87\xd6\x15\x3e\x83\xa2\x77\x43\x4d\x5b\xaa\x12\x4e\xb4\x18\x7d\x1f\xea\x5a\x0a\xbe\x4d\xfc\x07\x85\x68\x92\xe6\x83\x8d\x79\x2c\xf3\xd3\xae\x3c\xe5\x75\x17\x08\x7a\xde\x4d\x32\xff\x80\xf8\x9d\xcd\x62\x5f\x25\x9b\x70\x38\x00\xfb\x91\x9c\xe2\xad\x7a\x89\x09\xf4\x46\xbc\x8f\xff\xea\xc4\x92\xce\x72\x24\x64\x99\x62\x20\xdc\x81\xb9\xb6\x47\x0e\x7b\x6a\x7c\x64\x6b\xc7\x25\xfa\xcd\xde\xfb\xe6\x81\xbc\xa8\x6d\x65\x28\x21\x6b\xeb\xa6\x6a\xd8\x43\x85\x7c\x62\x49\x33\xdc\xad\x1a\x20\xaa\x40\x7d\x74\x05\x1e\xea\x92\xa3\x26\x23\xed\x22\x0c\x30\xda\xa6\xe9\x01\x17\x5b\x0c\x0c\x71\x1c\x16\x22\x1f\x1c\x47\x3e\x20\x0e\xf1\xd2\x8b\x81\x21\x06\xc6\x31\x24\x1f\x37\xdf\x84\x31\xb4\xf0\xe4\x2b\x2a\x86\x16\xcb\x2d\xa1\x4d\xd7\x63\x0c\x85\xb2\xe3\x96\x0c\x3a\xd0\x63\xab\x6b\xe3\xfa\x37\x5d\xc2\x7b\x0c\xcb\xdd\x11\x3b\x3f\xa4\x25\x82\x97\x65\xfa\x42\x79\xc3\x7d\x1b\x43\x15\x3f\xc5\xb5\x1b\x1d\x23\xe0\xc1\xa3\x2d\x9d\x18\x69\x98\xbc\x0d\xb4\x3f\xc3\x2f\x4b\x7f\x77\xa4\x73\x23\x81\xad\xf1\xc7\xba\xf7\x29\x8b\x52\x3f\xa8\xe7\x52\xd6\x3e\x8c\xd0\x1f\x90\x06\x6f\x87\x94\xee\xb9\x42\xf9\x05\x4f\xcf\x6b\x98\x9a\x5b\xb7\xa1\x0e\xb6\x4d\xcf\xdd\xa4\x4c\x77\xfc\xc2\xd7\xe2\x62\xbe\x1f\xfc\x36\x85\x77\x93\x20\x2c\x70\xc5\x0b\xf8\xd6\xed\x24\xc5\x7a\xa3\xf4\x11\x05\xfd\x2b\x52\x97\x72\x8d\xce\x50\x16\x07\xbb\xb4\x93\x93\x7e\xea\x0e\x5d\x95\x78\x56\x37\xba\xf3\xfd\x4c\x56\xa5\xee\x68\x1a\x12\xe1\x88\xd2\xe2\x3c\x5a\xf2\xee\xbe\xe1\xed\x96\xcd\x63\x9a\x07\xd6\x63\xee\x67\xeb\x6d\x8e\xfc\x7b\x0b\xff\x86\x4e\x61\x2a\x3b\xad\x86\x27\x47\xbe\x71\x97\xed\xda\xd3\xa8\x89\xdb\xb4\x76\xcc\x26\x07\xe9\xba\x9b\xd0\xf1\x9e\x30\x4e\x02\x96\xca\xfb\xdd\x06\xac\x30\x73\xbd\xd3\x61\xbc\xc7\x5f\xd9\xa3\x80\xff\x95\x89\x20\x3a\x4e\x32\xed\x66\xa8\xab\xc4\xd4\xae\x37\x83\xb1\x8d\x1b\xe4\xb2\x76\x94\x5b\x71\x1a\xf8\x91\x70\xab\x8a\xb4\xf3\xa2\xae\x9e\xe7\x35\xdd\x9d\xd0\x1e\x98\xad\x7e\xa9\x8f\x1a\xd4\xe7\xde\x84\x33\xee\xf4\x26\x78\x42\x90\xd3\x24\x4b\xbb\x44\x9b\xfd\xcb\xdd\xc6\xb7\x5f\x6f\x20\x10\x66\x7d\x35\x2b\x57\xe0\xf4\xed\x0d\xee\x84\x2b\x75\x8c\xd7\xe6\x80\xfd\x8e\xb2\x4f\x47\xdf\x89\x09\x77\x54\x17\xe9\x70\xce\x54\x7c\xb9\x61\x54\x3f\xff\xa5\x4d\xcb\xc0\xed\x95\xe2\xbc\x6f\x2e\xac\x5d\x31\x13\xd8\xda\x5b\x76\x15\x44\xe7\xb3\x2e\x4e\xdb\x5b\x6f\x5a\x33\x03\x77\xd8\x91\x33\x34\x61\x79\x06\xae\xb2\x82\xbc\xea\x05\x99\x3f\x5e\x0f\xde\x0a\x75\xcb\xa6\x34\x43\x90\x49\x80\x22\x64\x7a\x21\xf2\x21\x2c\xc2\x6d\x18\x85\xe5\xb9\x36\xf6\x2d\xba\xf8\x86\x3f\xa6\x51\x08\x4c\x3e\x23\xa4\x94\x85\x48\x59\x2b\x5e\x23\xe0\x3e\xc4\x65\xcb\xa4\xb0\xbe\x18\xb7\xbb\xec\xc5\x46\xe1\xc9\xaf\x99\x88\xab\x64\xc6\xaa\xd1\x55\x9b\xd5\x8e\x5d\x9a\x01\xd9\xd2\xa1\x32\xa8\x77\x35\x6d\xad\x37\xd4\x52\xbf\x38\x9a\x56\x57\x56\x59\xb5\x21\xed\xd5\x32\xbc\x02\xc4\x16\x9e\xf9\xaa\xbf\xb0\x72\xad\x95\x87\x1c\x2b\x49\xb0\xe1\x09\x7b\x3e\x66\x54\x6f\x0f\x6f\x6f\x65\x1d\x98\x02\x17\x28\xc0\x14\x48\x99\x66\x16\xe9\x57\xc9\x7e\x43\xbe\x11\x82\x0c\x0c\x70\x1d\x24\x8f\xe6\x40\x32\xfc\xee\x78\xe3\x16\xbf\x3f\xa8\x19\x68\x03\x95\x0c\x2e\xda\xcf\xcc\x08\x17\xc2\x03\x37\xa2\x4d\xbc\x7e\xa5\x77\x47\xef\x62\x68\xdd\x73\x2b\x5e\x38\x61\xd0\x6a\x95\x61\x8c\x70\x61\x5e\xc4\xce\xc6\xd3\x36\x4a\x48\x35\x4c\x98\x96\x50\x07\x61\xb3\x3f\xbc\x55\x53\x7d\xe8\x67\xf0\x5d\xdc\x35\xab\xe9\xb5\x6f\x32\x55\x2e\x93\x7b\x3c\x17\xe1\xe3\xf9\x30\xca\x72\x34\xae\x7f\xf0\x73\xbd\x2d\xaf\xfb\x98\xb2\xa2\x8d\xe4\xf0\x58\x80\x33\x03\x52\xdc\x1b\x69\xac\xe7\xc9\x1b\x67\xe9\x55\x18\xc2\xae\x94\x20\x2d\x4b\x04\x6d\x4b\x51\xc8\x61\x69\xcb\xac\x92\x9f\x00\xc8\xa1\xf8\x92\xcd\x22\xab\xa4\x17\xfa\x44\x59\x2d\x28\xa4\xcc\xb4\x8b\x46\x1a\x49\x31\x30\x08\x4f\x11\x2b\xeb\x97\xda\x39\xa2\xb9\x7e\xb9\x6e\xa3\x40\xbe\x4d\xb1\xa6\xa3\x45\x11\x7f\x77\xdf\xde\xd6\xe6\xfa\xf9\x34\x96\x2d\x31\xdc\x42\x79\x5f\xd9\x15\x36\x51\xd0\x17\x06\x15\x70\x46\xf5\xf9\x4d\xf1\x0d\x23\xe0\xa9\xa3\x26\x68\x1a\x35\x88\x9e\x22\xc3\xd9\x37\x3a\x42\x24\x3b\xd0\xa4\xf4\xd8\x62\x71\xa7\xd1\x28\x0a\x2f\xea\x80\x31\x40\xbb\x30\xf6\xa3\x96\x70\x27\x38\x5c\x58\xec\x5a\x02\x1d\x9d\x26\xd9\x47\x57\xf8\x9e\x0a\xdf\x33\xe1\xdb\x13\xbe\xe7\xea\x6b\x58\xed\x74\x72\x13\xa7\x72\xf1\x8d\xe0\xe5\x6a\xa3\x13\xc1\x73\x2a\x79\xce\x65\xcf\x99\xf6\x1e\x9c\xe0\xe9\x01\x4f\x81\xab\xd9\x90\x9e\x62\x10\x0c\xcb\x45\x7a\xce\xc1\xbc\xd5\xcc\xdc\x80\x27\xbb\x34\x40\x56\x1c\xe6\x79\x0a\x9c\x85\xd2\x06\x34\x22\x73\xa7\xa8\x15\x4c\x1e\xff\x60\x0f\xb4\x01\x61\xb4\x67\xd6\x36\x64\xff\xaf\xb5\x43\x51\x54\xac\x8b\x63\xfa\x28\x98\x2c\x3c\x40\x6b\x7d\xc2\xcb\x14\xf3\x68\xb2\xcf\x2d\x3c\x64\x42\x01\x7b\x2f\xac\x90\xcc\x4b\x0f\xe9\xfa\xe2\x05\x3a\xc2\xa3\xde\xad\xf1\xf9\x51\x89\xf2\x84\x2c\x98\xa4\x8f\x45\x7d\xd7\xc3\x3a\x29\x8f\x94\x1d\xfd\xd2\x4d\x9e\x5f\x74\x33\x6b\x54\xda\x92\x62\xd0\x32\xee\xa7\x7b\x6f\xbf\xdc\xf4\xb0\xbf\x5a\x44\x6b\x52\x0a\x2d\xd1\x51\x81\x0b\xd8\x5e\x35\x6d\x18\x8d\x63\x78\x38\x92\xb7\xf1\x51\x5b\x2e\x14\xc9\x8b\xd4\x3d\x9d\xb0\x4c\xde\x82\x3a\x8d\xa9\x3c\x86\xbb\xfb\x8e\x38\x88\x0c\x2f\x51\x76\x61\x57\x5b\x16\x8e\x72\x39\x2d\xf6\xf3\xfd\xfc\x3a\x89\xfc\x73\x7a\x2a\xad\x7d\x9a\x12\xd6\x9e\xfd\x64\x4c\xea\x3e\x42\x15\x31\xa6\xe4\xf1\x6e\x71\x86\xc1\xe4\x70\x7d\x90\x0f\xd2\x90\x20\x0e\x0f\x02\x1f\x96\xa9\x07\x21\xc4\x04\x30\x55\x8c\x83\x11\x09\x13\xc9\x9f\xb1\x4e\x17\x8a\xa6\xe5\x74\x2f\x5d\x12\x0b\x43\x33\xc6\xfb\x09\x72\x8d\x12\xf9\x8f\xcd\x9f\x28\xb0\xeb\xeb\xcc\x96\xcb\x65\x33\x62\x22\x83\xe1\xa2\x0c\x77\xf7\x67\xd1\xb1\xd0\xdd\x52\xdd\x89\x8d\xb7\x55\x77\xfa\xbb\xe5\xb8\xae\x88\xaa\x02\x5d\x9e\x3e\x6a\x50\xd4\xc5\xe3\x0a\x47\x8e\xe8\x37\xab\xd4\x3b\x3f\xda\x7d\xe9\xd8\xf6\xc3\x71\x64\x8d\xc8\x75\x93\xcf\xff\x13\x59\xdc\x68\xa5\xc7\x4b\x97\x25\xd9\x19\x2d\xa4\x33\x4f\x74\x25\xbb\x59\xe3\x68\xec\xa5\xf9\x8c\xb0\xfb\x99\xa0\x4d\x6d\x71\xab\x38\x69\xfd\xa6\xc4\x3a\xb6\x0d\x3f\x9f\x41\x92\x8d\x75\xd1\xd4\x0b\x46\xbe\xeb\x64\xf4\xad\xa9\x9e\xd9\xe2\x7b\xa6\x37\xa6\xda\x1e\x94\xe4\xf9\xe7\x26\xd9\x13\x92\xec\xb5\x27\xd9\x1d\x08\xb4\xdb\x79\x84\xfc\xd6\x54\x8b\xc7\xf8\xbc\x0e\xa0\xa7\x1d\xa9\x9e\x29\xa9\x9e\x2a\xa9\x6e\x4e\x02\x2e\xe6\x38\xd1\xcc\x68\x41\x1b\xf0\x89\xcd\x22\xac\xf5\xf5\x6f\xc5\x29\xc3\xdd\x60\x31\xfa\x12\xb7\xda\x30\x46\x8c\x62\xc0\xde\x4d\xce\x99\x69\x37\xe9\x14\xfa\xd2\xeb\x9f\x18\xbd\x00\xbd\x36\x5a\xf3\x13\xc0\x74\x8f\xed\xd5\x17\xe6\x8f\x4a\xc3\x56\x26\xd4\x35\x1b\x4f\x1e\x67\x94\x28\x0d\x68\x03\x78\x8b\x38\xa3\xb5\x54\xde\xaa\xed\xb4\x2d\x25\xdb\x94\xd7\xb9\xb5\xd9\x8f\x4a\x27\x80\xc7\xa1\x01\x0a\x4c\xbd\x4a\xc8\x40\xd8\x08\xd7\x5c\x4e\x85\x57\xd1\x3d\x53\x0e\xfb\xf3\x40\x5d\x74\x94\xb8\x51\x19\x5c\xa3\xbf\x0b\x05\xf5\x47\x3f\xde\x9e\xf2\x03\xca\xff\x78\x24\x52\x37\x4c\xcd\xc3\x88\x26\xb0\x64\xca\x39\x58\xe1\x3f\x53\x99\x0d\x78\x95\x48\x3e\x50\x08\x4c\x6d\xf9\x89\x6f\xa0\x79\x19\x62\xd5\x4e\x00\x80\x41\xf9\x5c\x5f\x68\x31\x1b\xe9\x02\x13\x55\x92\x7f\x90\xc5\x61\xeb\xe0\xf3\x09\x79\x43\x50\x5d\xa1\xca\x30\xf8\xa8\x92\xd1\x66\xe8\x43\xfe\xfa\xe5\x5a\x2d\xda\xbb\x50\xe7\xd4\xa5\x29\x37\x6d\xa5\x8d\xed\x99\x36\xfc\x03\x7b\xd7\x55\x39\xab\xa1\x70\xb3\xc5\x69\x0b\xc5\xdb\xfd\xc8\xae\x21\xc8\x5d\x78\x51\x5f\xd5\x60\xdd\x8c\x34\x46\xad\xdb\x61\xb1\xcb\xd3\x28\x92\x3c\x81\xb5\x74\x6d\xf9\x92\x07\x27\xe6\x08\xde\xaf\xb2\x11\x16\xe1\x5a\x06\xa0\xb2\x26\x21\x0c\x38\xa0\x74\xed\x19\x1e\x50\x76\xa7\xb0\x6d\xf8\x66\x8c\xb2\x75\xf8\x04\x86\x72\xbb\x46\x30\xc3\x42\x2d\xbb\x43\xc1\x16\xf4\xd2\xef\x08\x9b\x64\x0d\xc4\xb3\xb0\xb4\xa3\x33\x18\x67\xed\x32\x63\xe5\x95\xde\xae\x07\x67\x60\xad\x86\x47\xbe\x40\xe1\x49\x10\x3e\x84\xd2\x46\x54\x52\x5c\x6c\x80\x61\xcc\xad\x79\x17\x82\xa7\x6f\x0b\x97\xa0\x21\x6d\x84\xa9\x97\x26\x9b\xda\x6e\x0e\x2a\x34\xf2\xc7\xf5\x17\xef\x0b\xfe\x68\xfd\x57\x17\x75\x2f\xa3\x05\x5f\xcd\x5f\xe7\x91\xf5\x73\x6a\x9e\xb9\x7b\x15\x14\xe9\xbe\xfc\xdf\x81\x5f\xa2\x32\x8c\x51\x16\xee\xee\x51\x3e\xe2\xce\x91\xbf\x45\x11\xb3\x57\x45\xe6\x27\xda\x3b\x00\xc2\x43\x02\x34\x06\x42\x4a\x1f\x72\x54\x14\xf0\x32\x9a\xb0\x43\x8a\x75\x3b\x6a\x38\x72\x01\x84\x7e\xe3\xdf\x46\xe0\x62\xea\xe9\x2c\x6e\x0b\x6a\x78\x2b\x20\xeb\x21\x86\xa3\x53\xe2\x40\xb4\xf5\x5a\x64\x61\x2c\xaa\x44\xa9\x74\x61\x86\x54\x24\x69\x19\xee\xc3\x1d\x81\xa9\xf3\x96\x79\xe1\xb4\x03\x4b\xa6\xd2\x06\xae\x93\xe0\x93\x85\xf2\x3c\xcd\xad\xd8\xcf\xef\xc7\xf8\x27\xbb\x3d\x8e\x39\x1c\x4e\xd6\x31\x0c\x90\x71\xff\x05\xdf\xc7\x42\x97\x58\xd8\x3d\x29\x28\xe7\x74\x8e\xf9\xa6\x1c\x6d\x45\x81\x24\xc7\xa4\x0e\x63\x5a\x3f\xc0\x24\x13\xef\x1d\x4f\xdd\x9a\x75\x8a\xab\xdb\xb5\x3d\x34\xa8\x6d\xd7\x72\x17\x85\xd0\x24\xa2\x65\xab\xc8\xba\xf8\xef\x93\x9f\x23\xb3\x5a\x61\x5c\xc4\xaf\x89\x27\x99\x39\x9c\x38\xdb\x5c\x4f\xab\xf6\x61\x25\x6e\xdf\x03\x08\xde\x9a\x6f\x5a\xad\x56\xc2\x3b\x49\xe2\x4b\x18\xd8\xc0\xb0\xb7\x15\x9e\x75\x3f\xae\xf0\x22\xca\x8e\xfe\x97\x7f\xa7\xc1\xff\xba\xb4\x9f\x3f\xe3\x0f\x33\xf8\xc4\x27\x6d\x7c\x0c\x47\x51\x0f\x27\xeb\x94\xd0\x91\x26\x21\xb9\xb9\xad\x24\x57\xa7\x52\x77\xf5\xa2\x5e\x62\x27\x5b\xfd\x8b\x36\x6f\xb3\xd7\x75\x42\x9a\x0f\xdd\xbd\x56\x8c\xa4\x5f\x84\x85\xae\xed\x59\x92\x52\x05\xc6\xe4\xc2\x89\x04\x93\x46\x30\x60\x26\xf9\x52\x97\x84\xfb\x59\x25\xe1\x1a\x4b\xc2\xb5\x9f\x5f\x61\xab\x2c\x5f\xc7\xe3\xb1\x7d\xe7\x23\x0b\xff\x87\xdc\xc7\x6f\x8f\xf1\xdf\xc4\xb3\xe7\xcf\xe5\xe5\x4d\x72\x91\xbf\x78\x79\xb2\x30\xa4\xde\x6e\xb7\xf2\xe1\x97\xc6\x6b\xb7\xdb\xd5\xb6\x8e\xee\x42\x02\xfd\xc8\xa6\x0c\xd9\x87\xdb\xb2\xe9\x54\x7a\xd6\xe5\xd9\xb7\x28\x7a\x40\x78\x54\x3d\x7a\x87\x4e\xe8\xd9\xb8\xfe\x3d\x26\x2f\xbe\x8c\x0b\x3f\x29\xac\x02\xe5\xe1\x5e\x3a\x2c\xb6\x64\xff\xb3\x81\xb3\xf8\x62\x8b\xa1\x85\x4a\x60\x0a\x3f\xe1\xc0\x75\xae\xab\x0d\xec\x2a\xdf\xc1\x0f\xc2\xce\x5d\xf3\xb2\x19\x7d\xd3\x07\x3e\x58\xb2\x0c\xe1\x46\x21\xb9\x2f\x1c\xd8\xc5\x42\x70\xb6\x37\x74\x2f\x32\xa3\x32\x85\x4d\x83\xae\xf2\x1e\xc3\xda\x26\x8c\x74\xbd\xb6\x64\x8a\x8f\x5d\x0c\x64\xd8\x73\x6e\x6a\x18\x65\x7a\xda\x1d\xad\x9d\x1f\x45\xe9\x89\x37\x82\xfb\x63\x19\x47\x40\xe3\x48\x75\x37\xbd\xb1\x28\x11\xad\xd7\xf4\x5f\xf9\x7e\xa4\x35\x59\x65\xd6\x44\x29\xed\xdc\x25\x0f\x97\x0f\xed\x5b\x0d\x9b\x77\x1a\x0e\xda\x2f\xc3\x9d\x78\x7f\x72\x1b\xa2\xff\x75\x19\x5c\xa1\xa0\xab\x8a\xdb\xc7\x58\xd8\x99\x3a\x75\x8d\xc6\x04\x53\xd0\xa3\xde\x02\x11\x4c\xe8\x8d\xdb\xfd\xe3\x61\x01\xd4\x3b\x1e\xfb\xc6\xc7\xee\xe2\x74\xdd\x59\xcd\x35\x08\x2f\xf6\x53\x7b\x63\x6e\x40\x42\xc3\x83\x74\x0b\xdc\x85\xbc\x57\x72\xa9\xec\x9c\xe9\xaa\x38\xc5\x31\x7d\x7c\x44\xe8\xbe\x68\xc9\x81\x37\x37\xb7\x73\xa0\x78\x18\x63\xbb\x94\xb3\x6d\xbc\x6d\x8c\x03\x21\xee\x26\xea\x4a\xb5\x88\x8a\x10\xf3\x67\xa3\x62\xae\x36\x7f\x06\xa2\x53\xde\xf2\x54\x06\x42\xdd\x98\xc5\x69\x52\x1e\x99\x2e\x9d\xd2\x06\x8e\x53\xf4\x98\xaf\x8c\xc2\xae\x0a\x9e\xa0\xaa\xec\x92\xc9\x72\xf4\xd0\xd9\x50\xd2\xc0\x3f\xff\x6f\x6e\x77\xa1\xf7\x96\x02\xbf\xf4\xd7\xe4\xe7\x5f\xb2\xe4\xb0\xd9\xfa\x05\x9a\xcf\xc6\xe1\x2f\x5f\xfd\xfd\xfd\xa3\xfd\x3f\x5f\x1f\xd2\x17\x2f\x5e\xbc\x78\xf7\xe3\xcf\xc7\x6f\x7e\x3e\xbc\x78\xf1\xe2\xf5\x0f\xf8\x37\xfa\xfa\xc5\x6f\x2f\x5e\xbc\x78\xe9\xff\xba\x78\xf8\x84\x1d\x5e\xff\xf3\xfd\xab\x5f\xbf\x7d\xff\xd3\xd6\xfd\x60\x07\xee\xab\xf3\x87\x1f\xbe\xfa\xea\xc3\xeb\x55\xf8\xe1\xc7\xaf\xbe\xdb\xfe\xfa\x2a\xf9\xf0\xcb\x77\xd1\x6f\xbf\xbe\xf7\x76\xbb\x28\xfa\x07\x0e\x70\xfe\x2e\xfb\xe5\xd5\xd1\xfe\xf5\x1b\xe7\xed\xdf\xe3\x77\x0f\xdb\x1f\xbd\x23\x95\xf7\x66\xdb\x7f\xbe\xa0\xff\xf7\xf2\xf1\x2f\xe8\xdb\xaf\x8e\xbf\xb9\x65\x14\x7c\xfd\x55\xf8\xe1\xd7\x20\xdb\x7e\xb4\xc3\xc5\xe2\xf4\x97\x37\xe1\x57\xd9\x87\x97\x76\xf8\xcb\xa7\x5f\xde\xbd\xfd\xc6\x79\xfc\xc1\xfd\x25\xf5\x7f\x3e\xce\x77\xf1\x2f\x3f\xa1\x7b\xef\xe7\xdf\xa6\x59\xfe\xdb\xa7\xe8\xfe\xcd\xc7\xe5\x9f\xdf\xbc\xac\x66\x7f\x4f\x8e\xe5\xee\xb5\x13\x05\xaf\xbf\x39\xa0\xd7\x4e\xb1\x4d\xde\xce\xd1\x4b\x3b\xfc\xed\xd7\xf7\x0f\xbf\xc5\x3f\xcf\xf1\xef\xed\xaf\xbf\xd8\xbf\xfd\xb8\x0c\xdf\x7c\x7b\x98\xa3\xd7\xce\x63\xf0\xba\x58\xbd\xb9\x7f\x75\xbf\x75\xbf\x8b\xde\xbc\x3a\xbe\xfb\xf9\xeb\xaf\x5e\x6e\xa7\xdf\x45\x6f\x5e\xfe\x7c\x7a\x7b\x76\x3e\xbe\x7d\xf9\x4d\xf5\xe6\xe5\x6f\xee\xf7\x1f\xbf\xb1\xdf\xfd\xf4\x9b\xfb\xf6\xc7\xc7\xc3\xdb\x8f\x2f\xaa\xb7\xe1\xf2\x11\xff\xef\x5d\x68\x57\xef\x5e\xa6\xce\xbb\x8f\xe9\xf9\xdd\xf9\xc5\xe1\xcd\xd7\xec\x7f\x1f\x67\x87\x7f\x7c\xfb\xdd\xfd\x87\x8f\xd9\x8f\xef\xbf\xf9\xad\x4e\xcf\x2e\x7e\x1f\xff\xe3\xc7\xef\xd2\xe0\xdb\xf7\x8f\x7f\x0f\x97\x0f\xc1\x34\x98\x7e\x9f\xec\x3e\x7d\x1f\xaf\xce\x1f\xce\xcb\xea\xef\x3f\xdd\x7b\xdf\x7f\x7a\x71\xfe\xfe\xd3\x9b\xf3\xf7\xff\xfc\xee\xfe\x43\xe8\x7c\x42\xbf\x7a\xf6\x6f\xff\x3c\x94\xdb\xe4\xed\x47\x41\xef\x37\x1f\xfe\xf9\xee\xe3\x2e\x8e\x1e\x83\xd7\xd1\xc3\x36\xfc\xea\xfc\xe1\xf5\x6f\xf3\xdf\x7e\xfd\xee\x21\xf8\xe7\x0f\xab\x37\xe1\x9b\x06\x83\xd7\xce\xa3\x18\xe7\x36\x79\x7b\x62\x98\x9c\x7e\x73\x57\xe5\xf7\xd3\xe3\x71\xf7\xf5\xb2\xfa\xfe\xe3\x8b\x87\x37\xe1\x57\xb3\xed\xaf\xd5\x69\xf7\x29\x9b\x6d\xff\xf9\xd5\xbb\x9f\x7e\xb2\x43\xff\xdb\xf7\xf6\xee\x65\xfa\xf0\xbd\xeb\x7d\xfa\x3e\xa6\x58\x7d\x4f\xca\x73\x35\xfb\xed\x9f\x2f\x1e\xde\xfe\x38\x7b\xfc\xde\x75\xca\xef\xcf\x4d\x9c\xbb\xe9\xfb\x1f\x3f\xfc\xfa\xdb\xea\x4d\x7c\xb4\x83\x6f\x5f\xcc\xbf\x3f\xaf\x4e\xbb\x73\x5d\xfe\x1f\xb7\xae\xfd\x80\x5e\xbf\x7a\xfc\xfe\xd3\x37\xa7\xb7\x5f\xaf\x3e\xfd\xf2\x6d\xf4\xf8\xe1\xc7\xd5\x8f\x1f\xfe\xf9\xee\x21\xf8\xe7\x77\x1f\x71\x5d\xfa\x10\xbe\x0d\xdf\x7c\x7b\x2c\x77\x2f\xb3\x97\xbb\xf8\x97\x63\xf0\x7a\x75\xfe\xe5\xf5\xea\x61\xfb\xd2\x0e\x7f\xa0\xe9\x3f\xfc\xfc\xfa\xf8\x10\xbc\x5e\x7d\xf2\x5f\xaf\x1e\xdf\x7c\xf3\xee\xa7\x77\xe1\x8b\xf4\x17\x37\x3a\x7d\x78\xbd\x9a\xee\xce\xf7\x34\xfc\x37\xce\xbb\xbf\xdf\x47\xa7\xdd\xf4\xfd\x71\x1b\xbf\x8b\x7e\xfc\xf9\x87\xd5\x1b\x5c\x57\xbe\xf6\x32\xff\xd7\x1f\xe6\x3f\xd8\xef\xbe\x7a\xff\xf1\x8d\xf3\xee\xe3\x5b\xfb\xad\xfd\xf3\xe3\xdb\x9f\x5e\xbd\x7a\xf7\xf2\x7e\xf6\xee\xfe\xd5\xeb\xb7\x9f\xbe\x7b\xf5\xc3\xfd\x0f\x9f\x7e\xf8\xf8\xcd\xe3\xfb\x9f\xdf\x08\xfa\xde\x3f\xfc\x36\xfd\xa5\xfc\xf0\xab\x67\x0b\xfa\xee\x65\x7d\x3f\x74\xea\xfb\x47\xf8\x62\x89\xcb\xe7\xa7\x9f\xed\xf9\xfb\xd7\xbf\x9c\xfd\x7f\x7e\x88\x3e\x7c\xf3\xe1\xbc\x75\xed\x03\xc3\x70\xee\xff\xea\x7d\x0a\x5e\xbf\x3a\xfd\xe6\xfe\xf2\xdd\xfb\x97\x76\x88\xe5\xbf\x8f\xa3\xec\xc3\xcb\xec\xe5\x0f\xf6\xab\xd7\x6f\x3f\xfe\xec\xbe\xfd\xe9\x87\x4f\xef\x7f\x7a\x51\xbd\xfd\xf9\x67\xfb\xef\x3f\x1d\xdc\x1f\x7e\xfe\xed\xd3\xdb\xfb\x5f\xbe\x7e\xff\xf2\xdd\xd7\x6f\x7f\xfa\xea\xd5\x0f\xe1\x9b\x5a\xdf\x87\xd7\xab\x8f\xc1\xaf\x4e\xb4\x4d\xde\x0b\xfa\xde\xcb\xfa\x3e\x76\xea\x7b\xc0\x69\xff\x7e\x0a\xd4\x45\x5c\x47\xbf\x5e\x91\xfa\xf8\xf3\xfd\xfb\xd7\x54\x8e\xb6\x37\xd2\xfe\x7e\x9a\x1d\xfe\xf1\x72\x35\xdb\xbd\x7e\xf5\xd1\x77\x7f\xb1\xdf\xbc\xfe\xe5\x84\xdb\xf9\x2e\x7c\xf3\x97\x7f\xa4\xef\xbe\xf9\x87\x37\x7b\xf1\xe2\xc5\x9b\xbf\xff\xf8\xf3\xfb\xaf\x7e\xf9\xf6\xa3\xbf\xf8\xee\xbf\x57\x3f\x15\x6f\x1f\xbf\x79\xbb\xab\xf2\x0f\x2f\x67\xbf\x66\x5f\xfd\x86\xfe\xe7\xcf\x5f\xa3\x3f\xdf\xff\xf4\xf6\xeb\x17\x5f\x7f\xfb\xe1\x38\xfb\xea\xd5\xfe\xdb\xbf\xff\xe5\xff\x67\xef\xbd\x97\x14\xc9\x95\xc5\xe1\xff\xef\x53\xf0\x9d\x8d\x8d\x33\x73\x69\xa0\x3c\xd0\x1d\x67\xe3\xe2\x4d\x37\xde\xf3\x8b\x1b\x37\xca\xa8\xa0\xa0\x1c\x65\x70\x1d\xfd\xee\x5f\x94\x83\x32\xaa\x82\xee\xe9\xd9\x9d\x3d\xa7\x97\x9d\x19\x90\x52\x52\x2a\x95\x4a\xa5\x52\xa9\x54\xa9\xd4\x6a\x2e\x1b\xf5\xf5\x62\x5b\x2e\xeb\xa3\xda\xee\xa8\xbf\x54\x4a\xab\xf9\xf3\x9a\x99\x2f\x7a\xe3\xe3\xba\xa8\xf2\xed\x69\x3f\xbd\x33\x0d\x79\x49\xea\x39\xf2\xe5\x8c\x2d\xc8\x16\x82\x0f\xd6\xb3\x8d\x80\x35\x5a\xec\xaa\xa4\x6c\x67\x2b\xbe\x72\xec\xee\xd9\x5e\xa5\xd2\x78\xde\x09\xa3\xdd\x7a\xa2\x22\x22\xdd\xec\xc9\x00\x21\xf7\x5c\xed\xd4\xe8\xf0\x5b\xee\xd8\xae\x4e\x37\xab\x43\x55\xac\x0d\x56\x8b\x41\x79\x75\x4c\x4f\x5e\xda\xf4\x6c\x34\x9f\x8f\x28\x2d\x57\x1b\x92\xf5\xf2\x74\x58\x98\xf2\x0d\xde\x18\x3f\xb3\xad\x71\x57\x4f\xd3\xe8\x5c\x65\xeb\x4a\xed\x38\xac\xb5\xaa\x75\x94\x28\x4d\x5b\xf5\xe3\x6a\x30\x19\xa5\xd7\x24\x86\xb0\x9c\xc9\x51\x87\xee\xb6\x82\x4c\xca\x07\xaa\x5c\xe9\xe5\x9a\x4a\x65\x71\x28\xaf\xab\x85\x41\x65\x3b\xc8\x1d\x51\xe9\x50\x3d\x55\x09\x55\x5c\x13\x55\xaa\x5a\x9d\x22\xe3\x52\xe3\xa4\x10\x4d\x96\x3e\xbc\xb4\xca\xe5\xd1\x4b\x75\xdb\x04\x4d\xa4\xb3\xc2\x4e\xd3\x3e\x2e\x12\xe3\x41\x67\x39\xa8\x56\xf5\x5a\x4f\xcc\x75\x56\xcd\xc1\x6e\xdd\xe9\x9a\x35\xa4\x9a\x56\xca\x6b\xa4\xd2\xd2\x0a\x9d\xd2\xf3\x89\x3e\x97\x9b\xc5\xd9\xa9\x6c\x3e\x1f\xab\xb3\x15\x33\xe7\x37\x5d\x1e\xc7\xc6\x4b\xf4\x79\x26\xe5\x4a\x2a\xaa\x8c\xb6\xb9\x21\x89\x4f\x8c\x01\x79\x1c\xaf\xf1\x97\x89\xd8\x91\xc6\x85\x95\x41\xad\x48\x74\x50\x54\xd3\x23\x85\x39\xae\xda\x83\xdc\x4e\xd2\xf9\xe5\x7a\x76\x3a\x34\xea\x23\x11\x39\x95\x37\x95\x97\x76\xa5\xb3\x9a\xd3\x82\x88\x33\xf9\xb4\x66\x4a\xdc\xb4\x8d\x2d\x86\xba\x4e\xb0\xdd\xb4\x46\xed\x4a\xcd\xea\xb6\x3f\xdb\xf4\x37\x5c\xbb\x52\x27\xe4\xe2\x50\x2a\x55\x73\xd3\x62\x29\x37\x53\x89\xee\x80\xd6\xf5\xea\xe6\x20\x96\xa9\x79\x59\xa8\x1c\xd9\xf6\x60\x26\x2d\x97\x4c\x61\xdc\xac\x0b\x22\x7f\xca\x89\xbc\x36\xde\xbf\xac\xd6\x3b\x6c\xbc\x1b\x37\xb5\x61\x67\xfc\xdc\x6d\x23\x7a\x6b\xcd\x29\x28\x39\x1c\xa7\x87\xea\x69\x76\xa8\x73\x8b\x22\x35\x59\xe6\x5e\xb8\xc1\x73\xb9\xb1\x61\xe7\x2a\xcb\xa2\x25\x71\x54\xaf\xf1\x2f\x92\x62\x56\xd3\xe8\x56\x36\x8f\xe5\xea\x64\xaa\xed\x7b\x65\x49\xe9\x55\x72\x5a\x8d\xed\xe6\x7b\x83\xe3\xf3\x14\xb4\xc7\x15\xa1\xc4\x4d\xce\x93\xf6\xba\x84\xf5\xc0\xb9\x38\x18\x6f\xd5\x3c\xd6\x1b\x4f\xd9\x63\x95\x9d\x2f\x0a\xc2\x73\x77\x7b\x6c\x94\xda\x73\xa9\x5d\xe9\x0d\x0e\x3d\x9a\xe2\xd6\xa7\xb9\xde\xa3\xa9\xf9\xa1\xd6\x28\x3d\x73\x80\x21\x6b\x63\x5c\x1b\x70\xf6\x3a\x57\x13\xeb\xe3\xed\xc8\x1c\x48\x95\x4a\xdc\xce\x3a\xac\x3f\x5c\x77\xf9\x24\xf4\x19\xc3\x4c\xd1\xda\x95\x66\xec\x9b\x08\x09\x61\x0e\x8b\xbe\x3d\x1d\x12\x7d\x2e\x51\x12\x38\x4e\xbc\xa9\xbd\x5b\x7a\xc8\xab\x4f\x89\x84\xe2\xe3\x85\x60\x7e\x87\xba\x72\xab\xca\xbc\xff\x5a\xc7\xc5\x65\xfd\x56\x13\x96\x66\x15\xd0\x41\xe1\xaf\x40\xde\x44\xf5\x67\x6b\x68\xd1\xf0\xbc\x49\xcf\x5f\xba\x5b\x6a\x24\x39\x8a\xa2\x3f\xca\xa4\x8f\x81\x7e\xc4\x4c\x44\x22\xdf\xff\xf1\xa4\x98\x86\xc5\x5a\x8f\x48\xe4\x2d\x80\xeb\x66\x33\x46\x77\x16\x64\x0e\xc8\xde\xf3\x7b\x71\xef\x8e\x3a\x57\x0d\x2e\x67\x5b\xb7\xd9\xe8\x63\xc3\x95\xcc\xdb\x8e\xd3\x2c\x8c\x11\xed\x87\x90\x33\x28\xfc\x56\x25\x1e\xb9\xe1\x1e\xe0\x58\x94\x08\x6e\xaa\xf2\xef\xda\x6c\xbe\xaf\xa3\x77\xd6\x10\xee\x73\x60\x4f\x16\xba\xf4\x47\xbc\x67\xd3\x19\x6c\x21\x9e\x94\xe1\xd8\x7a\xf9\xfb\xf6\x9d\x49\x2d\x5a\x49\xff\xe7\x0b\x62\x8e\x92\x28\xe4\xe1\xdb\x58\x13\x24\xc7\x71\x3f\xd0\xe8\x1f\x9c\xb0\xff\x23\xf8\x08\x65\xf8\x46\x47\xc8\x42\xc9\x71\x9c\x67\xa1\xa4\xa8\xc0\x41\x04\x06\x7d\x2c\x33\xd6\x97\x3b\x24\x0e\x02\x1d\xf4\x66\x53\xe0\xed\xdc\xf0\x0d\x88\x4f\xe8\x76\x30\x1e\xc5\xa5\xbf\xf7\x4e\x66\x8b\xa1\xef\x3b\x0b\xb4\xd8\xea\x3e\x48\xbf\xd0\x75\x0f\x8f\x3d\x79\x88\xfe\x90\x38\x44\x11\xe4\xfb\x3f\xee\x5a\xc3\xc3\x21\x78\xa2\xf2\x31\x60\x37\x8e\x9c\x09\x91\xce\x8b\x6a\x7e\xde\x20\x20\x37\x46\x22\x5e\x5f\x70\x07\x0b\xdf\x5a\xeb\xf9\x0f\xc0\x39\x2d\xec\x21\x76\xf7\xe9\xac\x4f\x67\x41\xef\x2a\xf6\xc7\xc5\xfa\xe5\x98\x83\xa3\xbe\x36\x2c\xcb\x42\xcc\xed\x8e\x64\x72\x8c\xd7\xb6\xf0\xbd\x3c\xf8\x8c\xa0\x01\x6b\x7a\xe4\x04\x42\xa2\x8f\x1e\xe9\x50\x2a\x74\xd5\xde\x3b\xa3\x7f\x3f\xe2\x01\x43\x92\xdb\x17\x07\xc7\x4c\xbc\xb0\xbf\xab\xc6\x13\xa0\xb5\x40\x85\xd8\xc7\xea\xb3\x27\xaa\x97\xa4\xd8\x71\xe6\x83\x1e\x15\xf6\xf1\x4c\x80\x58\x05\x3b\x8a\xeb\xa7\x34\x15\x09\x95\x96\xb2\xbe\x5c\xe2\x15\x85\xfc\x06\x20\x07\x06\x3f\xd6\xbc\xf7\x8b\x35\x35\x2d\xf8\x7a\xd2\xe3\x6f\x38\x1d\x78\x5f\xfa\x37\x34\x5f\xe0\x01\x99\x42\x7c\xcf\x19\x0a\xb2\x0e\xfc\x6e\x89\xd1\x68\x1a\x77\x98\x17\x5f\x2f\x5e\xcc\xc1\x39\xe7\xfa\x1f\x24\xd7\xc0\xd2\x22\x90\x39\x5a\x7b\x65\x45\x40\x6b\x8f\x8c\x62\xac\x6f\x15\xb1\x18\xc7\x7b\x45\x2b\x6c\x75\xbd\x43\xe6\x7b\x2d\xa6\xfc\x97\x8a\x20\x8b\x8f\xff\xca\xc5\xbd\x35\x72\xf6\x42\xe9\x5d\x34\xbd\x84\xab\x78\x47\x05\xb7\x64\xff\x15\xf4\x42\x77\x22\x8b\x15\xc8\x3c\x4a\x60\xbf\xc7\x5f\xba\xfc\xd0\xf2\xec\xec\x30\xa0\xbb\x2a\x9f\x6a\x7c\xef\xea\x7d\x7b\x59\x8e\x3f\x30\xb8\x4d\xa0\x7b\xca\x5e\x28\x86\x65\xc9\x77\x0c\x6a\xe8\xf2\x0e\x6a\x7d\xde\x31\xa2\x81\x55\xfb\xe2\xe5\x45\xf3\x1f\xa8\xc2\x77\xb5\xe9\xff\x38\xc0\xd3\xa6\x18\x9c\xf1\x3c\x0f\x8a\x1c\x16\x98\xf4\x3c\xcf\x14\xf2\xa8\x3b\xe9\x89\xe8\xa4\xbf\x43\x12\xde\x40\x44\x12\x42\x72\x87\x45\x79\x9e\x0d\xbc\xa1\xfa\x1b\x82\x70\x1c\xca\x7e\x36\x16\xae\xd0\xbb\x7f\xca\x5c\x4a\xba\xc4\xfb\xc0\x96\x2a\xac\x1e\xfe\xc5\x02\x18\xd6\x37\x37\xfa\xd4\x07\xc8\xa2\x18\x6b\xa0\x39\x42\xfd\x1e\xd2\xc0\xe8\x70\x09\xac\xf5\x99\x3b\x74\x57\x92\xb8\xa3\xf6\x01\x9a\xf8\x3a\x16\x8f\xe8\x8f\x7b\x9c\xbc\x03\xb3\x3b\x35\xfd\x3b\xf6\x27\x61\x5d\xc7\x1f\x1e\x2f\xa2\xf5\x04\x62\xe7\x05\xce\xe8\xef\x57\x4d\xe2\x67\x62\x98\xb6\x9f\xd6\xc9\xbb\xda\x09\xcf\x3d\x78\x5f\x63\x67\x61\xf4\x0a\x41\x28\xa6\xfa\x87\x67\xe2\xa7\x93\x21\xd4\x6f\x07\x5d\x41\x5e\x03\x4d\x30\xe0\xc3\x0f\xc9\xbc\x92\x24\x92\xf9\x9e\xb5\x31\xbc\x43\x83\x6c\xba\xdc\x50\xb1\xc5\xe2\x7b\x27\xb2\xa2\x9e\x6c\x1d\xc4\xe3\x6e\x96\x65\x7d\x3d\xf0\x29\x2e\x76\x04\x9f\x8b\x02\xf9\x14\x63\xfe\x49\xf0\x25\x8a\x34\x99\xa2\xbd\x46\x01\x78\xcf\xdc\xb8\x96\x0f\x4e\x4c\x9a\xa6\x21\xb5\x5c\x0c\x3b\xf7\xbc\xf7\xc2\xb2\xec\xa5\xa0\x73\x5b\xc1\xbe\xf7\x10\x48\x09\xcd\x82\x20\xc1\xfc\x1b\x6b\xc8\x55\xfe\x70\xd5\x10\xcf\x2a\xd7\x99\xea\xf2\xfc\x82\xe7\x64\x75\xb9\xcf\x7b\xd7\x06\xdb\x4b\xf5\x5b\xf2\xae\xad\xba\x96\x3a\xa7\x01\xe7\x92\x45\xa8\x8b\x70\x8a\xdd\x68\x8c\xa3\xb5\xed\x4d\x0f\x3f\x8c\x24\x1f\xbc\x3f\x51\x3f\x3f\x04\x41\xe2\x8d\x6c\x04\x41\xc4\xf9\xf9\xe1\x38\x1e\xeb\xe7\xe7\xcb\x0b\x59\xd1\xac\x9c\x2b\xdf\xdf\xd1\xbb\xbb\x2c\x88\xb1\xf8\x63\x18\xf6\x49\x6d\x40\x0d\x86\x08\x6d\x7d\x62\xba\x8a\x61\x98\x4f\x4a\xbc\x07\x0d\xc7\x18\x15\xb5\x0a\xc5\x2b\x94\xf1\xd5\xdc\x36\xd9\xd8\x83\x15\x64\x88\x1f\x6d\xe5\xa6\xf5\x02\x09\x58\xbd\xac\xdf\x79\xfb\xfe\xe0\xa7\x37\x9b\xa4\xc9\xb2\x24\x12\x58\x43\x19\x04\x07\x08\x12\xaf\xc9\x7e\x84\x30\xb1\x6e\x45\xd0\x22\x77\x1c\x14\x04\xe0\x13\x0e\xb3\xe0\xfc\xfd\xe5\x7a\xf4\xe5\x7a\xf4\xe5\x7a\xf4\x71\xd7\xa3\x49\xed\x38\x98\x4c\xce\xbd\x71\x09\xe9\x20\x93\x93\xe3\x2a\x24\x96\x3b\x48\xbd\x3e\x18\xb7\x6b\xdd\x71\xed\x38\xac\x4e\xcb\xbd\xea\xe2\x3e\xd7\xa3\x4b\x7d\xb5\x9b\xf5\xfd\xa0\xeb\x51\x79\x30\xae\x97\x87\xe3\x0e\x31\xb4\x5d\x8f\x5a\x8e\xab\xd0\xa4\x76\x1e\x4c\xa6\xe5\xce\x76\x80\x76\xc6\xf5\x5a\x77\x52\x23\xba\xf7\xb9\x1e\x5d\xeb\xdb\xdc\xac\xef\xe7\xb8\x1e\xa9\xc8\xf4\xd8\xa8\x95\x4a\xa5\x56\xe9\xea\x7a\xa4\x75\x47\xab\xce\xb1\xd6\x01\x8c\xb1\x5a\xa7\xf1\xce\xe8\x45\x43\xc7\xe8\x5c\xc6\x2a\x4d\x65\xf4\x5c\x46\x0a\xe9\x81\x34\x2c\x94\x8f\xc5\x52\x01\xe4\x87\xc2\x91\x2b\x17\x2b\xcf\x15\xa5\xcb\x81\x63\xcb\x5c\x1d\xeb\x62\x9b\xce\x6b\xdd\xa5\x0c\xc6\xcc\x4b\x4b\xed\xe4\x2a\x72\xf7\x45\xe7\x3a\xfb\xee\xa6\x53\x10\x11\x69\x58\x11\x06\xc5\x05\xa0\xd0\xd6\x73\xa5\xb4\x5a\x96\x26\x72\x33\x2d\x4d\xf0\x4e\x67\x49\x37\x17\x95\x75\x59\x6e\x4f\xaa\xe7\x59\xaf\xbe\xe4\xa6\x3c\x4b\xa6\x97\xf5\x17\x46\x9b\x55\xc1\xbc\x7f\x60\x8e\xad\x9d\xf6\xf2\xc2\xd3\x60\x84\xac\x6b\xe5\x69\xa3\x35\x1c\x54\x6a\xc2\x52\x69\x0e\x0e\x86\xd8\x18\x95\x4f\x95\x0a\xb7\x28\x8b\x85\x55\x01\xac\xc6\xe3\xd2\x4c\x79\x1e\x74\x86\xe5\x61\x99\x5d\x1e\x17\xe2\xfa\xbc\x7e\x06\xab\x5d\xa7\x47\xaf\x40\x4d\xd3\x2b\xcd\xe9\x76\x8b\xaf\xe7\xad\xba\xa2\x54\x57\xcd\x32\xfa\xbc\x6d\xb6\x9a\xd3\xd5\xf9\xb9\x4c\x94\xaa\xed\x41\xae\x84\x6e\x4a\x75\xa9\xb4\x58\x6f\x07\xbb\x12\x39\xee\x95\x0d\x85\xd5\x9e\xb5\xd5\xfc\x30\x28\x15\x56\x6c\xbd\x65\x96\x5a\xbd\x82\x3e\x18\x95\xf2\x6b\x81\xdb\xf7\x0f\xf4\xa0\xb1\x1c\xd1\xa5\x45\xb3\x37\x99\xb5\x4b\xe5\xf5\x6c\x76\xc0\x6a\x9d\x56\xb3\x38\xa0\x57\x83\xda\x70\x42\x8c\x4a\x5a\x7b\xae\x20\xcb\xe5\x0b\x5a\x30\xf7\xf4\x11\x6c\xe6\x46\xae\x26\x15\x8e\x9b\x69\x79\x2e\xed\xeb\x1a\xfa\x3c\x95\x72\xa5\x36\x8a\x18\x43\x80\xcd\x65\x8d\xee\xee\xe8\xf6\xfe\xb9\x86\x3f\x37\xcd\x09\xc3\x3f\xa3\xb5\xf4\xb4\x59\x46\x76\x04\x92\x3b\xe1\x3a\x37\x18\x1d\x17\x44\xbd\x39\x03\xcf\xed\x8a\x29\xf7\x0b\x93\x53\x95\xdb\xb5\x97\x40\x1e\xe3\xb2\x31\x9d\x92\x9b\xd6\xa2\x52\x5a\x63\xc8\x7e\x9c\x17\x94\x7e\xc1\x50\x79\xaa\x86\x89\x7c\xad\x73\xa8\x0d\x41\xfa\xb0\x9e\xa2\x9d\xe6\xe6\xb0\x2c\xe7\xfb\xb6\xcb\x51\x63\x30\x3b\x3c\x2f\x9f\xab\x14\x26\xf2\x8d\xae\xdc\xcf\xa1\xaa\x52\x2f\x95\x28\x64\x9c\xd7\xea\xe8\x64\xc5\x3e\x73\x98\xc0\xe1\xcf\x55\x30\x19\xa5\x95\x97\xd9\xb4\x50\xe5\x67\x25\xa0\xf6\xf8\x1d\x82\x54\x56\x03\x9a\x11\x8a\xe7\x0d\xbb\x6a\x4f\x17\xd3\x6a\xbe\x3f\x3d\x0f\x26\xa5\x49\xa3\x34\xd8\x32\xdd\xf6\xb8\xdc\xaa\x54\xd7\xab\xc3\x62\xbc\xa9\x2e\xaa\xd4\x1c\xcc\x90\xc2\xf2\x79\x9d\x2e\x11\xea\x62\x7b\x06\x72\xef\x38\x9f\x30\xfb\x25\x3b\x3b\xe7\x6b\x85\xd3\x76\xd8\x91\x5b\xcd\xc6\x1c\x9d\xf7\xc5\x34\x2a\x61\xfb\xfe\x42\x7d\x49\x63\x3b\x8e\x29\x54\xaa\xa5\xd2\x50\x7c\xae\xd7\xce\xb9\xe5\x74\x6b\x2f\x6a\xe5\xf6\x70\x42\xd6\xb4\x6d\x7b\xb5\x5a\xfd\xeb\x5f\x71\xae\x46\xd0\xc5\xfc\x7e\xf3\x71\x4c\xb1\x75\xbc\x2e\xfb\x39\x7a\x6c\x6c\x53\xc0\xfa\x7c\xb0\xaf\x50\xcb\x33\x4b\xbe\x4b\x35\xfb\xab\xad\xd0\x1f\x41\xea\xe7\x5a\xa4\xef\xc5\x28\xd9\x3a\x7d\x6f\x2d\xc9\x96\xea\x8f\x6e\xcd\xfe\x42\x5d\xff\x5e\x1b\xe8\x47\xbb\x96\x10\xac\x03\xb2\x8f\xba\x69\xd9\xb9\x39\x5b\xaf\x27\x69\xef\xaa\x21\x6c\xda\xc2\x71\xfc\x83\xb8\x44\x2d\x56\x28\x8a\xfe\x70\x5d\x41\x32\x92\x24\x09\xad\x31\x34\x34\x3e\x0b\x43\x68\xdb\x0c\x2f\x73\xa7\x15\xeb\x1e\xda\x5c\xeb\xa4\xf7\xe0\xff\x2e\xf1\x62\x82\xae\x6b\xd0\xb3\xd0\xc8\x85\x61\xdb\x3a\x41\x06\xdf\x63\xf6\xc2\x7c\x92\x04\x49\x06\x1e\x70\x4d\xba\x83\xc3\x88\x26\xc8\xac\x34\x9a\x13\x80\xec\xbd\xb5\xff\xea\xbf\xaf\x29\x99\x3a\x50\x32\x3a\x2d\xeb\x0f\xff\x28\x2b\xca\x36\x55\x92\x0d\x61\x67\xd2\xff\xf0\x5f\xd4\x0c\x9d\xcf\xfa\xed\xad\xf8\x35\x34\x6c\x01\x2b\xe4\x0b\xec\xc5\xc4\x57\x50\x8f\x09\x11\x88\x2d\x79\x87\xe6\x5d\xc1\x87\xe3\xf0\x90\x9f\x79\xae\xc0\xd1\xfe\x29\x63\xdf\xd5\x13\x05\x19\xd0\xda\xa5\x57\xdf\x0c\x45\x7d\xf8\x8d\xe7\xf9\x14\xf2\xf0\x1b\x4f\xf0\x05\x9e\x4e\xe5\xf1\xdf\x03\x76\x33\xef\x26\xe4\xa5\x8c\x53\xc7\x83\x08\x78\x23\x65\x95\xb7\xbf\x38\x16\xa9\x07\xbb\x3b\x19\xdd\x50\xd4\x6f\x88\x5d\xf1\x77\x7f\x52\x1e\xff\xdd\x6b\xe6\x3b\xb4\x8d\x8f\xa0\xa7\x7c\xa8\x94\xa4\x7f\xa4\x58\xb4\x88\xd7\x71\x58\x41\xf7\x2c\xea\xf6\x51\xd4\xa5\xbe\x94\x6e\xd0\x9a\x51\xb1\x28\xa6\x1b\xda\xbf\xfe\x69\xd5\xfa\xcf\x87\x14\x90\x39\x7f\x9a\xdd\xc4\x3f\x1f\x52\x0d\xb7\xd8\xf8\xa4\x82\x7f\x21\xa9\x78\xf7\x6d\x18\x27\x3f\xf2\x0a\x6b\xea\xb1\xa7\x1a\xf1\x45\x52\xba\x4a\xcb\xef\x2b\x97\x7c\x80\x12\x5f\xc4\x6e\xea\x35\x38\x79\xef\xe3\x68\x67\x14\x90\x87\xdf\xea\xf5\xfa\xa7\x72\xb4\xc3\xbc\x11\xa6\xae\xd7\xeb\xef\xe1\xe8\x64\xf4\xe2\x38\x3a\xb9\x54\x2c\x47\x27\x16\x4b\xe2\xe8\x68\xc1\xcf\xe0\x68\x8f\x7b\x83\x4c\x5d\xaf\xd7\x61\x1c\x9d\xfb\xef\xff\xef\xbf\x52\xff\x9d\xa2\x65\x41\xa2\x0d\x90\x65\x75\x3d\x95\x59\x1b\x86\xfa\x98\xcb\x71\xb4\x0c\x38\x20\x67\x25\x90\x73\xb3\x2d\xc8\x29\xd0\x74\x41\x91\x53\x99\x14\x9e\xa5\xb2\x88\x95\xf4\x22\xb0\x40\xd6\x01\x97\xb2\xa3\xb1\xa4\x8c\x35\x48\x75\x5a\xe3\x94\xe8\x24\xa7\x32\x29\xb7\x42\x45\x05\xb2\xae\x98\x1a\x0b\xb2\x8a\xb6\xca\xb9\xf9\x7a\xae\xd3\x1a\xff\x57\xea\xbf\xad\x9a\x2a\x97\x05\xf6\x1b\xfb\x3d\x85\x21\x68\x21\x55\xa5\x65\x01\x88\xa9\x1a\x07\xe4\xff\x4a\xfd\x77\x2e\xeb\xa2\x72\x0d\x9a\xe3\x24\x08\x8a\x9c\xe1\x4c\xd7\x95\x0c\xd5\x9f\xe0\xa9\xd1\x32\xbc\x20\x8a\x19\x49\xe1\x80\x73\x32\x16\x97\xf1\x76\x69\x37\x2b\xc8\xbc\x20\x0b\x06\x80\x20\x20\x18\xc0\x69\x2b\xc3\x2a\xa6\x6c\x3c\x7a\xa0\x4f\xb7\x41\xde\xfe\xc7\xab\x6e\x0b\x4e\xf6\xc5\x7d\x3d\xc5\x28\xa6\xcc\x82\x57\xe4\xf7\x07\x0c\xf9\xfd\x81\xc4\x7f\x7f\x28\x20\xbf\x3f\x18\x0a\xa4\x65\x43\x90\x04\x79\x95\xe1\x4d\xd9\x8d\x66\x6b\x32\x02\x9b\x61\xc0\x59\x00\xda\xb7\x2c\x86\x92\x0f\x59\x0a\x7d\xc8\xe2\x24\xf9\x80\x7e\x7f\xfa\x68\xb9\x40\x9c\x22\x8b\x21\x9d\x1b\x0c\x22\x6d\x80\xe5\x37\xe4\xfb\x53\x4c\xfa\x1b\x81\xfc\xfe\x40\xe0\xbf\xbf\x1b\xef\x3c\x49\x3e\x64\x11\xf2\x21\x5b\xb0\xbf\x50\xf7\x63\x1e\x2d\x99\x80\x3b\xce\x7d\x43\x1e\x32\x38\xa2\x1e\x1f\xe0\x9d\x08\x00\xbc\xe5\x91\x5f\xbc\x27\x28\x79\xa3\x27\x2e\xc0\x5b\xd1\xd7\x93\x58\x60\xe2\x46\x65\x4e\xfe\xdb\xdb\xff\x7c\x31\xee\x17\xe3\xfe\x1d\x19\x37\xeb\xb2\x6b\x94\x34\x32\x2d\x59\xe2\xdf\xca\x7d\x82\xa7\x46\x90\xc8\x28\x9a\xb0\x12\x3c\xdf\x0e\x77\xa9\x7f\x4a\xce\x86\xc9\x7e\x5e\xa4\xf5\xb5\x35\x83\x48\x67\xe6\x5c\xbd\xeb\x31\xf2\xf7\x87\x3c\xf9\xfb\x25\x05\x09\x4c\xbd\x77\x95\xcb\x3a\xd0\x31\x1d\xb7\x33\xc3\xfd\xb6\x13\x61\x08\xab\xa6\xa8\xdb\x53\xde\x37\xcd\xaf\xa4\xd7\x59\x5a\x04\xf3\x6f\xa8\x7f\x38\x2e\x69\x6f\x24\x74\x38\xed\x7c\x9c\xfb\x86\x5a\x5c\x74\xf9\x2b\x52\x43\x14\x22\x40\x90\x5f\x0a\xaf\xac\x83\x4d\x0c\xc1\xed\xcc\x30\xc1\xed\x44\x18\xc1\x35\x93\x61\x80\x56\xa6\x65\xee\x83\xbd\xc3\x6f\xf4\x0e\x23\x1f\xb2\x79\x5b\x7c\x26\xe6\x5a\x42\x32\xa1\x1e\x1b\xc8\x82\x86\xd6\xe3\xcb\xbd\x49\x6d\xd4\x96\x25\x71\xf8\x5c\x72\xdf\x28\x32\x11\x9f\xa2\x37\x24\x50\x7c\xae\xb9\x6f\xf9\xc4\x7a\x6c\x28\x1b\x3c\x76\xe4\x9d\xdc\x00\x37\x7e\x0d\xda\xdf\x65\xd0\xb2\xbe\xa1\x8a\x99\xaf\x57\x88\xf0\xa4\xbd\xe6\xc0\x66\xae\xbe\xa6\xb7\xf1\x22\xe9\x3e\xcd\x04\x45\x7e\x7f\xc0\x5d\x31\x9f\x47\x7e\x7f\xb8\xbd\x22\x66\x50\x5b\x0d\x88\x5f\x12\xaf\x00\x6f\x96\xda\x66\xe9\x3e\x14\x62\xab\x6e\x37\x6a\xbe\x55\xf1\xb5\x5e\xff\x54\xf8\x0f\xa6\x42\xd6\xe9\x7b\x0c\x5b\xd9\x99\x61\x8e\xb2\x13\x61\xcc\xb4\x06\x34\x37\x72\x49\x99\x84\xe1\x3c\x86\x8e\x56\xfa\x1b\x95\x85\x4e\x1b\x1f\x50\x86\x52\x8f\xdf\x53\x9a\x62\xd0\x06\x58\x7c\xcb\x14\x39\xb0\x8a\xa9\x0e\x06\xf9\x86\x16\x6e\xb6\x40\xfa\x8b\xe5\xe3\xeb\x8f\xc2\xbd\xe1\xe8\x6d\xfc\xf1\x00\x56\x64\x02\xfe\x10\xc8\x37\x02\xbf\xd9\x02\xe6\x2f\x86\xc7\xd7\x1f\x85\x8b\x11\xa2\xf7\x0d\x9d\x7f\x4a\x7d\xf1\xc2\x7f\x38\x2f\x64\xaf\x1c\x70\x7b\xa3\xe7\x0f\xe9\x7c\x1f\x54\x8c\xc0\xba\x34\x1a\x16\x5a\x97\x0c\xe8\x2a\x78\x10\xe4\xd5\x2b\x06\xed\xae\x43\x92\x6f\x68\x78\x68\x02\xe9\x31\x3a\x8c\x0b\x93\x41\x11\x78\x61\x37\xe3\x8d\x4a\x2a\x1d\xd3\xb0\xd3\x2e\x7c\x2d\xf0\xaa\x8f\x29\xea\x32\x0f\x74\xb1\x73\x41\x10\x48\xb1\xf0\xa2\xf9\x45\xb4\x3b\x89\x96\x75\x48\x15\xbb\x41\x37\x14\x35\xe5\x5e\xc0\x48\xca\x8b\x5b\xa3\xad\xca\x23\x6b\xb4\x95\x08\x63\x75\x83\xe6\xe8\x0f\xea\xfb\xa8\x63\x44\x4b\xd4\x8d\x1f\xec\xff\x3d\x41\xf2\x2d\x13\x16\x38\x37\x20\xdf\x6e\x6b\x50\x3e\x8d\xfd\xc1\xfd\x73\xa9\x24\xae\xb5\x58\xd8\xb7\x64\x9d\x2a\xa9\x7c\x6c\xd7\xe2\x81\x03\xd3\xe7\x6b\x20\xfe\xca\x81\xc8\xda\xe4\x8f\x99\x51\x56\x5e\x78\x42\x59\x69\xb0\xf9\x74\x50\x18\x46\xfc\xe1\xbd\x43\xf2\x22\x6e\x6d\x05\x30\xf2\x77\x5b\x63\x4f\xc5\x89\xa9\x3b\xa0\x63\x76\xec\xfe\x92\xd6\x3e\xc3\x5f\x30\x56\x61\x88\x83\x7d\x23\x6e\xf7\x05\x0d\x63\x97\xd4\x4a\x0c\x74\x8c\xf8\x0f\xee\x72\x82\x05\xb1\x84\x56\xa0\xb0\x31\x3b\xf8\x00\x76\x61\xe4\xd0\xa4\xae\x40\x81\x03\x52\xe1\x8b\x9d\xbe\xd8\xe9\x47\xd9\x29\xeb\x32\x51\x8c\x74\x73\x72\xc3\xf2\xcd\x49\x85\x49\xb8\x0d\x10\x45\xc5\xe2\x48\x14\xcd\xa2\x3f\xc4\x97\x18\x96\xc5\xa0\xd2\x7d\x0b\x0e\xf3\x6f\x19\x14\xcb\xda\x7c\x95\xb2\x7e\x2f\xae\xbf\x9f\xee\x86\x7c\xc3\xf1\x2c\x1e\xdf\x02\x95\xc5\xfc\xc5\xbc\x9f\x91\xfa\x63\xe0\xde\x08\x22\x4b\x24\xe0\x8f\x67\xd1\x40\xb9\x6b\x42\xb4\x07\xf1\xb0\x6f\x24\x09\xdf\xd3\x39\x25\xd1\x2c\x49\x05\x4a\x5e\x13\x22\xad\x24\xc0\xbe\x51\x54\x96\x4a\xe8\x4b\x36\x5f\x08\x21\x78\x4d\x89\xf6\x26\x09\xfa\x2d\x9f\xcf\xe6\xe3\x5b\xca\xe2\x45\x84\xc2\x7c\x45\xaf\x09\x91\x76\x12\x60\xdf\x0a\x85\x6c\x21\xa9\x3f\x68\x91\xc4\xd1\x00\x86\x97\x14\x48\x7f\x12\xa0\x03\xe2\xfa\x6b\x6e\x7c\xcd\x8d\xaf\xb9\xe1\x9b\x1b\x59\x67\x46\xc4\x2c\x3d\x76\x66\x78\xe5\x71\x12\x6f\x9c\x5e\xc7\x1d\x5b\xc7\xfb\x2a\xb5\x64\xcf\xe9\xc3\xb7\xb5\xf8\x0b\x1d\x3f\xde\x10\xdf\x79\x37\xc4\xff\xe0\xb2\x21\xc3\x1f\xec\xff\xa1\x9b\x35\x2f\xef\x2d\x79\xfb\xe7\xdf\xf9\xdc\xd8\x18\xdd\x3a\x7d\xf3\xb6\x87\x49\x5b\x47\x5b\x79\xf2\x85\x35\x4c\x3a\xf3\xc2\x1f\x2e\x7f\xc5\x9c\x7b\xf9\x21\x62\x4c\x35\x57\x0c\xf2\x0f\xee\x1f\x38\x82\xd7\xec\x37\xbf\x03\x42\x1c\x8a\xb1\x3b\xee\xa8\x47\xd1\x17\x7b\x7d\xb1\xd7\xe7\xb1\x57\xf6\xc2\x54\x51\xf6\xb9\x38\x8d\x66\xf3\x24\xd4\x99\xd4\x4e\x4f\xf4\x18\x6a\xc9\x70\x9f\xa1\x96\xec\xb5\xdc\x33\x8d\x87\x2c\x2f\x0a\x6a\xcf\x34\xe6\xb7\x90\x48\x12\xba\x55\xe5\x60\xcf\x0c\x6b\x46\xe4\x49\xdb\x76\xf4\x0b\xcf\x0a\xff\x76\xca\xf6\x4e\x43\x6e\x3b\xb0\xb9\x20\x37\xb9\x32\x58\x10\xbb\xe1\x4f\xe6\xe6\xdf\xb1\x47\x44\x1e\xdc\x73\xe1\x24\xe7\x34\xe4\x7e\xe7\xb4\x1b\x88\xb9\x78\xfd\x80\x6a\x0b\x13\x9e\x5f\x6c\xf2\xc5\x26\x61\x36\xc9\x06\x98\xe3\x86\x40\xb3\x60\xe2\x84\x9a\x95\x97\x24\xa3\x5e\x00\x6f\xfc\x3d\x99\xef\xc2\x57\x09\x4e\x23\x3e\x90\x77\x31\x9f\xc3\x5a\xf1\x15\x5f\xf2\xef\xb1\x63\xbd\xc3\xb5\xe5\x36\xf3\xdd\x40\xec\x82\xd7\x27\xcb\xa8\x2f\x36\xf9\x62\x93\x58\x19\x65\x33\xc7\x0d\x19\x65\xc1\xc4\xc9\x28\x2b\x2f\x49\x46\x0d\xed\x1b\xc7\x7f\x4b\xee\xbb\xcd\x7c\x1f\xe5\xbd\xcc\x2d\xe6\xcb\xbc\x87\xfb\xee\xf7\x92\xbb\xc3\x97\xef\x16\x62\x3f\x4b\x48\x7d\xf1\xc9\x17\x9f\xc4\x4b\x29\x87\x3b\x6e\x88\x29\x1b\x28\x4e\x4e\xd9\x99\x49\x82\x6a\xa2\xfe\x3d\xb9\x0f\x79\xb8\xad\xc6\x7f\x54\x8b\xb7\x1f\xa1\x4a\xd4\xbc\x31\xe4\x7e\x3d\xfe\x96\x1a\xff\x1e\x2d\x3e\x73\xeb\x5a\xd3\xcf\xd9\xee\x7d\x31\xc9\x17\x93\xc4\x88\xa8\x89\x7a\x4b\x3e\x4d\xd4\x38\xe1\x34\x51\xe3\x25\x53\xcf\x34\x62\x9c\x13\xdf\x67\x7c\x24\x91\xdf\x1f\x48\xf2\x5e\x03\xe4\xfd\x86\x51\x9f\xc1\xf0\xc7\xed\xb5\xd1\x39\xf7\x9f\xd5\xfd\xab\x15\xf3\xf5\x43\x06\xd2\x9e\x19\xb3\x00\xf6\xcc\x84\xc5\xaf\x67\x1a\xb6\xa9\x02\x4e\xe7\x8f\xcd\x4f\xfb\x9a\xef\x0d\x7a\x7f\x54\x8e\xdc\xa0\x79\xb0\x14\x76\x53\xf0\x5d\x20\xe0\xec\xf7\x45\x1a\xff\x95\x5e\x8f\x20\xb7\xd8\x30\xde\xae\xe5\x66\x26\xb2\xa3\xbd\x2b\xc5\xde\xb3\x9b\xbf\xa1\xdb\x5e\xf2\xdf\x43\xa1\x0c\x76\xdb\xfc\xe0\x03\x81\xb3\xcf\xdf\xb4\x2b\xd9\x60\x07\x6e\x0d\x77\xbc\x89\xc0\xcd\x4c\x1c\x6e\x47\xbd\x7f\x0f\x91\x32\xb7\xa8\x94\xf9\x10\x99\x6e\x53\xe9\xe6\x78\xff\x5d\xfb\x92\x0d\xf5\xe0\xd6\x88\x27\xec\xb6\xbc\xdc\xc4\x31\x9f\xa8\x77\x09\xd5\xfb\x8d\xff\xef\x17\xab\xb7\xa4\xea\x87\x84\x6a\xe6\xb6\x54\xcd\xdc\x58\x71\xbe\x48\x13\xe2\xc8\x5b\xba\xb5\x0d\x12\xcb\x8b\x70\xed\x9a\xa7\x39\xc7\xf9\xc1\x17\xbd\x21\x10\xdc\x21\x10\x02\xe2\x26\x70\xd6\x05\x89\xc1\xd3\xc9\x8d\x44\x7e\xb0\x53\xe3\xb1\x73\x4f\x17\xdf\x43\x62\x14\x41\x7e\xbf\xc1\x13\x36\xc0\xad\x83\xfe\xf7\xef\x91\xff\x2e\x28\x67\x7d\x88\x26\x8e\x16\x4c\x85\xb9\xe6\x24\x8f\x5a\x59\x58\xbd\x93\x0a\xef\x9a\x1b\x3f\x71\xf0\xfe\x16\x98\x67\x83\xf8\xde\x1c\xc6\xb2\x10\xb9\x59\x16\xc8\x8c\x1f\x4c\xf7\xf0\xec\x7e\x45\xcb\x61\xd6\xc4\xa3\x20\x17\xe0\x67\x8d\xe2\xaf\x8f\x72\xd6\x87\x68\xe2\xd8\xc1\xd4\xca\x6b\x4e\xf2\xa8\xbd\x93\x91\xdf\xab\x21\xff\xc4\xc1\xfb\x5b\x60\x9e\x0d\xe2\x7b\x73\x18\x63\xa7\xa0\x9b\x19\x3f\x98\xde\xd1\xd0\xdd\x04\xb9\xc5\xcf\x3f\x7d\x06\xfe\xf2\x18\x67\xfd\x78\x26\x0e\x1d\x54\xcd\xf7\x65\xdd\x18\xb6\x77\xb2\xf2\xfb\xf6\x2c\x3f\x73\xf4\xfe\x06\x88\x67\x43\xe8\xde\x1e\xc7\xd8\x39\xe8\xe5\xc6\x8f\xa6\x7d\xf2\xf1\x0e\xad\xe0\x96\x52\xf7\x93\xd5\xd0\x5f\x1b\xdd\xec\x05\xc9\xc4\x31\x8b\xee\x69\xbc\xf4\xa4\x71\x7a\xb7\x02\xf7\x1e\x33\xe0\x4f\x1b\xae\xbf\x01\xd6\x59\x3f\xae\x37\x06\x2e\x76\xa6\xd9\x59\x71\xc3\xd7\x33\x03\xab\x06\x1a\xd8\x5e\x47\xc8\x76\x03\x3a\xeb\xc1\x24\xa0\x0a\x39\x2f\x70\x93\x13\x50\x0c\x6f\xf1\xd0\xf7\x59\x01\xee\x9d\x6a\x90\xee\xfe\x59\x2d\x67\xfd\xed\x25\x93\x2f\x6e\x93\x98\x60\xe5\xf6\x65\x87\xb8\xfe\x9d\xfd\xf9\xe8\xd1\xc6\x5f\x83\x40\x36\xd4\xec\x6d\xba\xc6\x4c\xa2\x6b\x6e\x02\x75\xc3\x9b\xa0\x77\xf5\xec\x3d\x3b\x22\x08\x61\xff\xbc\xb6\xb3\xfe\x16\x93\x09\x1a\xb7\x95\x4a\xb0\xcf\xfb\xb2\x7f\x84\x4f\x7e\xe4\x18\xe5\xaf\x42\x21\x1b\x6a\xf8\x36\x6d\xe3\x99\xf5\xc6\x06\xe7\x62\x71\xff\x68\xe7\xee\xdf\x3c\x40\x28\xfb\xa7\x35\x9d\x0d\x34\x98\x4c\xcf\xd8\x4d\x47\xd2\xc9\x82\x3f\xff\x47\x78\xe5\xe3\x67\x40\x7f\x11\x06\xd9\x70\xbb\x77\x10\x37\x9e\x5b\x6f\x6d\x05\x1c\x73\xfc\xc7\xd7\x8c\xfb\xcd\xbd\x10\xd2\xfe\x59\x2d\x67\xaf\xed\x25\x13\x13\xae\xa2\x27\x1e\x3a\xd8\x99\x3f\xb6\xee\x7e\xfc\x8c\xe9\xaf\x41\x20\x1b\x68\xf6\x16\x45\xe3\x79\x33\x5e\x79\x16\x05\x15\x1e\xa0\x51\x05\x9a\xae\x02\xd6\x10\xf6\xe0\x1b\x61\x21\xe4\x8b\x3d\x88\x1a\xa6\x26\xfb\x7b\x70\x07\x70\x14\x79\x68\x74\xbf\x3b\x02\x00\x2a\xa6\x11\x73\xab\x14\x82\x86\x6f\x2b\x82\x92\x21\xc4\x8a\xe1\x00\x73\x1f\x2b\xff\xb9\x3d\x83\xc7\x5c\x7c\x27\x66\xf9\x1f\xec\x59\xfe\x5d\x3d\x13\xe4\xdb\x31\x1b\x63\x6e\xda\x42\xf0\xf2\x47\x52\x76\xff\xdc\xe8\x09\xb4\xc4\x67\xe2\x0e\xf5\x73\x8c\x22\x92\x88\xe5\xa7\x22\x14\x8c\xb2\xff\x35\x85\xbf\xa6\xf0\xd7\x14\xfe\xbb\x4d\xe1\xeb\x2b\x4e\xf6\x0c\xf6\xea\x66\x68\x76\xcb\xd3\x2c\xc8\xec\x05\x5d\x60\x04\xd1\xd2\x2b\xec\xaf\x22\x78\x4a\xca\x8b\x53\x0e\x44\x21\xaa\x69\x89\x02\x5c\xc9\x12\x05\xb5\x25\xcf\xdf\x29\x4c\xe6\xdf\xee\x99\x84\x21\xd8\x4f\xa4\xe4\xd3\xd5\x74\x77\xb7\x48\xf1\xb0\xc9\x60\xef\x40\xdd\x03\xfe\x4c\x2e\x80\x47\x9d\x4b\x40\x22\x12\x14\xf7\x36\xec\x55\x55\xbd\x7b\x02\x5f\xba\x1c\x8e\x69\x74\x13\xf6\x53\x26\x5a\x64\x7d\xfb\xe2\xca\x2f\xae\xfc\x05\xb8\x32\xeb\xf1\xe2\x1d\xc2\x3a\xf4\x94\xf1\x6d\xa8\x04\x01\xde\x92\xe7\x30\x19\xde\x92\xe7\x1e\x4a\x0b\x48\xf0\x96\xbb\x9a\x8d\x5f\x07\x16\xef\x56\x2a\xef\x9f\x71\x8b\x5f\x6a\xc6\x2d\xde\x33\xe3\x16\xbf\xc2\x8c\x5b\xbc\x63\xc6\x2d\x7e\x78\xc6\x41\xde\x25\xb8\x09\xfb\xb3\xd6\x81\x2f\xae\xfc\xe2\xca\xbf\x9c\x2b\x3d\xa1\xfb\xfa\x09\x92\x7d\x01\x97\xec\x8b\x38\xc1\x6c\x8b\xf8\x3b\x29\x95\xdc\x0d\x78\xf4\xe6\xcf\xd6\x4b\x02\x86\xd2\x9f\xad\xc0\xc5\xbd\x43\xf8\x45\xb6\x7b\xc9\x76\x55\x23\xde\x79\x8f\xd2\x2b\x07\x63\x67\x3b\xfd\x87\xd4\x91\x9e\x69\xdc\x2d\xf9\x3f\x75\xf8\x16\xdf\x32\x91\x47\x4c\xee\x00\xfe\xe8\xf0\x7d\x68\xb9\x4a\xe4\xfa\x2f\xb2\xdd\x41\xb6\xec\x85\x58\x51\xee\x7e\x5f\xf8\xc5\x3f\x69\x47\x60\xe1\x1a\x33\xd3\xa0\x2b\x87\x28\xac\xd6\xc6\x48\x05\x80\x73\x6e\xe3\xdc\x79\x3a\x9d\xf2\x22\x32\x87\xa9\x7b\x0f\xf4\x95\xbe\x70\x3d\xc2\x81\x8e\x08\xc7\x40\xf2\x2d\xed\xc0\x6d\x31\x26\xf4\xf2\x5d\x4c\xe5\x33\xa2\xc6\x3b\xb1\x3d\xc1\xaf\x37\x7d\x91\xf5\xf3\xc8\x9a\x0d\x10\x33\x86\xf7\xfd\x30\x61\xfe\x0f\xe4\x7d\xae\x45\x3f\x71\x46\xc1\xdc\x09\xdf\xc7\x08\xef\xe2\x83\x08\x1b\xc0\x19\xf2\x2f\xc7\x2a\x1b\xc4\xe5\xe6\x80\x42\x5c\x2a\x83\x99\x9f\xb9\xb3\x81\xbd\x61\x6c\xaf\x0e\x31\xf3\xf8\xbe\x60\xe4\x90\xe3\x7f\xef\x69\x0e\x0c\x89\x7b\xcd\xcc\xcb\x09\x5c\x90\xfc\x3c\x04\x7e\x44\xbc\x7d\x91\xc4\x15\x4d\x17\x42\xc4\x70\xb1\x97\x1f\x79\x7b\xd7\x4d\x4f\xe2\xb7\xaa\x72\xb8\xdc\x3c\x8b\xed\xa3\x08\x78\x23\xf6\x01\x77\x7f\x66\x3c\xb9\x89\xb8\x77\xed\x08\xf2\x1d\xc4\xfe\x01\x44\x3e\x83\x13\xbf\x88\x75\x93\x47\x2f\x24\xba\xc1\xab\x1e\x5c\x1c\xcf\x7a\xf9\xb7\x78\xf7\xe2\x08\x19\x4b\x06\xcd\x82\x88\xa5\x43\x20\x37\x76\x44\xe2\x06\xe4\x5d\xe3\xf1\x43\x88\x7c\x16\xfb\x7e\xd1\xeb\x1e\x0e\x4e\xf4\x76\x8d\x00\x26\xf1\x70\xac\xdf\xab\x07\x34\x51\xff\x04\x89\xf2\x29\xe3\xf1\x17\x0b\xdf\x2f\x42\x25\xb2\xad\x4b\x9e\x1b\x3c\xeb\x40\xc5\x31\xac\x93\x9b\xcc\xad\x7f\x8e\x00\xc9\x44\x2c\x2a\xa1\x8c\x5f\x51\x84\x40\x99\xf6\x8b\x5e\xf7\xf0\xee\x5d\x02\xd7\x05\x8b\xe7\xde\x1b\xc2\xd6\xdd\x94\x7e\x54\x95\x4f\xde\xcc\xfe\xe8\x86\x24\x76\x3f\x12\xdd\x8e\x44\x19\xed\xdf\xa6\x67\xd9\x6b\x7f\x12\x99\x01\xb2\x5d\xbf\x64\x24\x32\xc0\xe7\xaa\xf0\xf7\x11\xee\x4f\x5c\x96\xa0\xac\xf1\xef\xde\xe7\x6c\xb4\xa7\xb7\x98\x27\x79\xfb\xe1\x03\xb8\xc9\x4c\x9f\x2a\xdf\xef\xa3\xed\xa7\x2c\x18\xf7\xef\x31\x63\x79\xea\x3f\xa0\xeb\x59\x48\x87\xef\xe1\xad\x84\x85\xca\x0f\x91\xc8\x5d\x9f\xa9\xf0\xfe\x59\x93\xf6\x47\xd9\xea\xdf\xbd\xcf\xd9\x70\x4f\x6f\x31\x53\x92\xc2\x7e\xc9\xbe\xc1\x46\x7f\xd3\x79\x1a\xa7\xd2\x26\x9e\x3b\xff\x27\x75\x3b\x1b\xe9\xec\x6d\x6e\x4a\x16\x4c\x09\x2a\xf4\x5a\x90\x57\x20\x91\x9a\x86\xa2\xa6\xac\x09\x13\xed\xf8\x25\xe7\xee\x43\x94\x7b\x8e\xc6\x1c\xa8\x37\xcc\x09\xed\x0f\x39\x5e\x72\x09\x57\x88\x21\x68\x21\xe8\xb2\xf6\xab\xf4\x87\x70\x1e\xf3\x8c\xef\x0f\x15\xd3\x1f\xea\x97\xec\xcf\xdd\x27\xb5\xf6\xf5\xd3\xfc\xad\xfb\xa9\x17\x00\xf8\xf4\xff\xe2\xd2\x2f\x2e\xfd\x45\xb9\x34\xeb\xf0\x66\x82\x8b\x0f\x06\x75\xf0\xc1\x62\x9d\xde\xec\x0a\xc3\xb2\xdc\x4e\x84\x09\xf0\x0d\xcd\x6e\x5b\xf2\x78\x0d\xca\xca\xf1\x56\xcc\x26\xfb\x42\xdc\xb7\x2c\xea\x79\x2d\x45\x4f\xe3\xe3\x20\x6e\x58\x0f\x62\xd7\xc6\x40\x76\xcc\x1d\x46\x4f\xad\x8a\xf8\xf9\x06\x33\xde\xf2\x49\xa5\x71\x78\x59\xdc\x73\xd0\x4d\x8a\x38\xe5\x74\x3a\xfa\xba\x44\xf8\x8d\xe6\x2f\x52\xff\x5c\x52\x67\x03\x04\x8e\x99\x1d\x7e\x98\xc8\xa3\xef\xbe\x3c\xb8\xf2\x2c\x8a\xad\x77\x05\x44\xbe\x86\xf7\x49\x5d\x48\x14\xf1\x82\xba\xaf\xc0\xe7\x47\x6b\xfb\x77\xe8\x4e\xd6\xed\x44\xac\x8a\x6b\xe5\x46\x15\x5b\x2b\x35\x6e\x84\x13\x23\xb1\xdd\x1b\x42\xc7\xeb\x6e\x32\x79\xe2\xc0\x23\xc3\xf4\x4b\xe0\x94\xf5\x30\x49\x20\x36\xd4\x02\x6b\x27\xc3\xc8\x7d\x56\x14\xe9\x36\x07\xbe\xef\xd9\x1d\x32\x40\x27\x3f\x21\xff\x84\xd6\xb2\x6e\x1b\x31\x14\x72\x72\xc3\x04\x72\x52\xe3\xe9\x73\x4f\x14\xf6\x0b\x66\xe8\x83\xfd\xbf\xef\x1e\xfe\x25\x1a\x4e\x44\x3b\x79\x47\xa1\xdb\xca\x55\xf0\x79\x33\x92\x7c\xc8\x22\xd6\x5f\x54\x9e\x7c\xc8\xa2\xc5\xfb\x1f\x46\x8b\x94\xbc\xfb\xa5\xfd\x2c\x61\x95\xf0\xfe\x0a\x77\x86\x8a\xef\xfe\x5d\xe5\xde\x4b\x01\xd4\xaa\xaf\x50\x20\x1f\xb2\x38\xf6\x9e\x87\xe1\x42\xe5\x20\x1c\xfc\xc5\x0f\xff\xd1\xfc\x90\xf5\x71\x41\xa2\x9c\x81\x45\xb3\xbc\xe6\xc4\xcb\x9b\x7b\x42\xce\x27\xb3\xca\x85\x51\xde\xc3\x5f\x81\x42\x7f\x77\xfe\x82\x3d\xcf\xfa\xbe\x72\xbf\x8e\xbc\xf9\xe2\x87\xff\x68\x7e\xc8\xfa\xb8\x20\x51\xde\xc0\x8e\x24\xae\x39\xf1\xf2\xe6\xae\x00\xfb\xc9\xbc\xf2\x11\xfe\xfa\x77\x62\x2f\xe8\x9b\xf5\xef\x2c\xf8\xeb\x08\x9c\x2f\x86\xf8\xcf\x66\x88\xac\x9f\x0d\x12\x45\x0e\xf4\xdc\xca\x97\x15\x2f\x74\x6e\xbf\x29\x70\x4b\x1b\xfe\x88\x06\xfd\xef\xa4\x40\x67\x3e\xaa\x41\x67\xfe\x72\x15\x3a\x22\x71\xbe\xb8\xe1\x3f\x98\x1b\xb2\x17\x1e\x48\x94\x35\xd1\xe8\xc0\x5e\x7a\x9c\x94\x89\x58\xed\xc8\x4f\xb5\x3d\xc5\xbe\x27\xf1\xa7\xb7\x9d\xf5\x5a\x4c\x20\x20\xc4\x32\xe8\x26\x27\x90\xcf\xde\xe4\x12\x7f\x53\x06\xfd\xcc\x49\x7a\xef\xcb\xe4\x31\x92\x06\x16\xe1\xf9\xfe\x32\x9f\x72\xa4\xf4\xcb\x48\xfb\x2f\xb6\xfa\x62\xab\x4f\x5b\x36\x6e\xbc\x2b\xe3\x03\x89\x11\x7e\x49\xa6\x38\xef\x2d\x90\xcf\xe0\x54\x02\xfb\xd8\x7e\xe0\x52\xee\x2e\x5e\xf9\x16\x31\xe2\xc0\x9f\x3f\xb8\x03\x38\xd9\x35\x33\xee\xd6\x81\x2f\x13\x36\xf1\xbf\xc8\xf9\x03\xe4\xcc\xfa\x89\x98\xcc\xf0\x71\xa6\xa0\x84\xf7\x69\xdc\x6c\x67\xd3\xf7\x19\x43\x94\xf9\xe8\x18\x65\x7e\x70\x90\xde\x33\x46\x77\x0d\x91\xe3\x21\x1a\x37\x46\xfe\x5c\x18\xcf\x7f\x51\xf4\xc7\x28\x9a\x0d\xd0\x31\x99\xef\x63\xed\x11\x49\x6f\xdd\xb8\xf9\x13\xf5\x93\x54\x92\x3f\xfb\x64\xeb\x17\x52\x48\xa0\x4f\x99\xbc\xa3\xd0\xdf\x5c\x25\x89\x4e\xfe\x2f\xa6\xfa\x62\xaa\x4f\xd2\x73\x93\xed\x23\xd0\xe7\x93\x2e\x19\x30\xb1\xa7\x8b\xc2\xe5\xe9\xfe\x9b\x61\xca\xde\xf1\xe0\xd3\x53\x34\x7e\xdd\x0f\x44\x03\x0b\x4c\xaa\xbf\x0b\xca\x59\x3f\xa2\x31\x83\xe6\x03\x09\x0f\x9b\x2f\x2b\x61\xe0\x62\xaf\x64\x7d\xf4\x05\xc4\x9f\x3f\x70\xbf\x3c\xca\x59\x3f\xa2\xc9\x03\x07\x53\xb1\x7d\x59\x09\x03\x17\x7f\x03\xea\x63\xcf\x01\xfe\xfc\x71\xfb\xd5\x31\xce\x06\xf0\x4c\x1e\x37\xa8\x8a\xe8\xcf\x4b\x18\xb9\x49\xcc\xa3\x4a\x41\xa9\x72\xe7\xcb\xb8\x3f\x7f\xd8\x7e\x69\x74\xb3\x57\x24\x93\x07\x2c\xba\xac\x5d\x32\x62\x87\xca\xf7\xbc\xf1\x47\x11\x34\x94\x57\x5f\x8f\xd7\x02\xc7\x01\xf9\x86\xa7\xef\xc7\x9e\x63\xfe\x7b\x20\x9c\x0d\xa0\x99\x34\x62\x31\xf6\x36\x7f\x5e\xd2\xb8\xdd\xb1\x46\x7c\x36\x19\x3e\xfa\x42\xf1\xdf\x05\xe5\x6c\x00\xd1\x1b\x63\x17\xbb\xae\x25\xd8\x8e\xbc\xfc\x7b\xd6\x89\xcf\xa6\xc4\xc7\x1e\xec\xfd\x9b\x60\x9c\x0d\xe2\x79\x63\xe8\xe2\x97\xb6\x24\xf3\x87\x07\x70\x73\xb5\xf8\x7c\xe9\xf3\xb1\xe7\x6b\xff\x1e\x08\x67\x7d\x68\xde\x18\xb7\x98\x15\xce\xd9\xb9\xb1\x0a\x07\xfe\x1f\x2b\xd2\xba\xfe\xdf\xff\x12\x69\x79\x65\xd2\x2b\x90\xf9\xdf\x07\x55\x83\xa4\xbe\xb2\x8a\xa8\x68\x8f\xbf\x51\x64\x9e\x29\xe0\x4f\xbc\x22\x1b\x19\x9e\x96\x04\xf1\xf4\x58\x51\x64\x5d\x11\x69\xfd\xa1\xa3\xc8\x34\xab\x3c\xfc\xb3\x24\x73\xb4\x08\x52\x1d\x45\x56\xfe\xf9\xf0\xcf\x09\x63\xca\x86\xe9\xfe\x92\x14\x59\xd1\x55\x9a\x05\x4f\x06\x38\x1a\x19\x5a\x14\x56\x8e\x29\xfa\xe9\xb0\x16\x0c\x90\xb1\xf3\x1e\x55\x0d\x3c\x1d\x14\x8d\xb3\x7f\x0a\xf2\xea\x51\x56\x34\x89\x16\x9d\x34\x46\x03\xf4\x36\x90\x72\xd0\x68\xd5\x4b\x10\x05\x19\x64\xd6\xc0\xe2\xc8\x47\x34\x4b\x3e\x65\x24\xe5\x9c\x31\x68\x26\xa3\x0b\x67\xf0\x48\x3c\x65\x14\xff\x2f\x7f\x86\x4b\xc8\xf5\x49\x5d\x03\x59\x7f\x94\x15\x19\x38\xa5\x43\x29\x7a\x30\xc1\xff\x23\x86\xa2\xa9\xc7\x47\xbb\x22\x1d\x88\xc0\xde\x97\x3f\xc0\xe1\x22\x60\xd0\x91\x88\xd6\x06\x05\x0b\x43\xd9\x8f\x87\xac\x34\xc5\x94\xb9\xc7\xdf\x90\x3c\x4e\x11\x58\x3c\xba\xb7\x31\xbd\x8d\xe4\x4d\xfc\x12\x51\x83\x33\xa1\x4a\x73\x9c\xc5\x0f\x28\x90\x9e\x24\x5a\x5b\x09\xf2\x63\x96\x04\x52\x0a\x79\x52\xf6\x40\xe3\x45\xe5\xf0\x48\x9b\x86\xf2\xc4\x28\x1a\x07\xb4\x8c\x46\x73\x82\xa9\x3f\x66\x71\x20\xbd\x3d\xca\x8a\xf1\x4d\xd5\xc0\xf7\x3f\xde\xc5\xf6\x57\xd4\x32\xee\x0c\xe0\x39\x9e\x02\xf8\xcd\xfa\x2e\xb8\x66\x2d\x64\x21\x08\x65\x0d\x65\x0b\xe4\x2c\xcb\xd1\x06\xfd\xe0\xfd\x50\x24\x09\xc8\x86\xf7\x93\x53\x58\xe3\xa4\x02\xef\xa7\xaa\x29\xa2\xb2\xf2\x66\x62\x11\xa7\x51\x1a\xf5\xaa\x51\x4d\x99\x35\x4c\x7b\x9e\x7b\x00\x64\x81\x02\x79\xf2\x2d\x6b\x4d\x7b\x7b\x5e\x5d\x4c\x65\xd9\xbc\x57\x8c\x51\x14\x11\xd0\xf2\xb5\x7d\x59\x37\x68\x1f\x02\x40\x04\x06\xe0\xbc\x9f\xb2\x29\x31\x40\xf3\xa1\xa3\x02\xcd\x38\x79\xbf\xf5\x93\xc4\x28\xa2\xf7\xcb\xa0\x2f\x98\x62\x54\x81\xe1\x30\xaf\x49\xda\x30\x34\x5b\x14\x79\x90\x8c\x29\x88\x86\x70\xc5\x61\x4d\x5f\x9a\x10\x64\x1d\x68\x3e\x04\x1c\x96\x51\x2e\xf9\xba\xa1\x09\xf2\xca\xfb\x65\x6a\xe2\xa5\x49\x9a\x46\x8b\x05\xaf\x49\x20\x1b\x82\x71\x0a\x89\x30\x3f\xd3\x01\x00\x0a\x1c\xf9\xc4\x9a\x9a\xae\x68\x8f\x6b\x20\xaa\x57\x6c\x35\x53\xbc\xa0\x6a\xe3\xbe\xa7\x45\xf3\x92\xb2\x05\x27\x4b\x06\x79\x75\x17\xc8\x62\x11\x41\xbc\xc2\x9e\x1d\xce\xcb\x65\xc8\x82\x2f\xf7\xf2\xf2\x82\x57\x97\x06\x56\xe0\xe8\xfd\xd8\xd3\x9a\x40\x33\x22\xf0\xca\xb2\x0c\xc1\xa0\xd4\x75\xdc\xc4\x0b\x51\x2e\xf5\xbc\xda\x52\xf9\xe0\x08\xbf\xbc\xaf\x21\x83\x16\x05\xd6\xc9\xd5\x8d\x93\x08\x1e\x9d\x14\x6b\x92\x65\x6d\x81\xe9\x0c\xac\xfe\xaa\x2a\xba\x60\x1b\x0e\x35\x20\xd2\x86\xb0\x07\x4f\x2e\x17\x67\x2c\x19\xfd\x88\x67\x0b\x40\x7a\x62\x15\x53\x36\x2c\x66\x06\x3a\x30\x1e\xad\xf2\x4e\xf1\x48\x75\xf6\xcc\x80\xd4\xe9\x17\xf5\x82\xbc\x06\x9a\x60\xbc\x05\x0a\xa6\x02\xbf\x32\x9a\x72\xf0\xa1\x46\x33\xba\x22\x9a\x06\x78\x52\x15\xc1\xc6\x03\xec\x81\x6c\xb8\xd2\xd8\x50\xd4\x47\xc4\x59\x9d\x6c\xb9\x6e\xad\x99\x4f\x36\xee\x19\x07\xf9\x83\xc0\x19\xeb\x47\x1c\x48\x4f\x22\x30\xac\xd2\xde\x12\x93\x41\xd5\xe3\x65\x9a\x3a\xcb\x87\x7a\x4c\xe9\x8a\x28\x70\xa9\xdf\x8a\xc5\xe2\x93\xa9\x5b\xd0\x36\x03\x3a\xc2\x3e\x8a\xe4\x1f\xba\x4a\xcb\xaf\x30\xbc\x38\x41\x57\x45\xfa\xf4\xc8\x88\x0a\xbb\xbd\x50\x50\x90\x59\x0d\x58\x13\xde\x4f\xc5\x98\x6a\x1f\x19\xc0\x2b\x9a\xc5\x0e\xb2\x61\x95\x70\xeb\xf8\x76\x2d\xf9\xfd\xc9\x93\x0c\xc5\x62\xa8\x41\x6f\x14\x9d\x8e\xd9\x84\xf0\xad\xbf\x76\xaa\x3d\x7a\xd6\x80\x65\x0c\x45\x11\x19\x5a\x8b\x0e\x5c\x04\xe4\x8f\x6c\x04\xf6\x32\x3a\xd6\x48\x58\x72\xee\xc9\x6d\x13\x03\xae\x1d\xdc\x81\x73\x45\x51\x2a\x8b\xeb\x29\x58\x58\x06\x24\xd2\xd8\xe3\xda\x92\xf1\xd7\x26\xaf\xfe\x6f\xb1\x68\xa5\xbc\x2f\x19\xc1\x00\xd2\xab\x47\x13\x41\xb6\x49\x6c\x93\x26\xa1\x30\xfd\xea\xca\x03\x77\x40\x13\x40\x19\xd3\x30\xac\x75\xcc\x66\x1f\x97\x01\x3d\xd6\x0e\xa8\x24\xae\x96\x72\x59\xad\xc2\xcf\xe9\x86\x99\xcc\xd1\x40\x20\xa9\x7a\x24\x31\xa9\x27\x0f\xb7\x50\x4f\x00\xb0\x79\xda\x13\x60\x0c\xe3\x9b\x5c\x36\x1f\x79\xcb\x1c\x92\xb2\x56\xe2\x80\x54\xe5\x49\x1e\xe3\x11\x7f\x92\xb6\x62\xe8\x6f\x18\x46\x3c\x78\x7f\xb2\xd8\xf7\x27\x46\x39\x66\xf4\x35\xcd\x29\x87\x47\x24\x85\xa9\xc7\x14\x92\x42\x52\x36\x24\x62\xed\x55\x5c\x98\xc0\xfa\x49\x02\x29\xa9\xbb\x8f\xbc\xc2\x9a\x7a\x42\x9f\x68\x87\x99\x6e\x92\xe5\x66\x45\x2e\xd8\xad\xda\xec\x09\x7c\xab\x2e\x1b\xc8\xae\xc9\x25\xb7\xc7\x40\xf6\x54\xe5\x00\xab\xb8\x01\x42\xec\xd1\x16\x64\xd5\x34\xfe\x9f\xa5\x1e\xfc\xcb\xca\xff\xdf\x07\xeb\x6f\x5a\x03\x17\xae\xb5\x7e\xfb\x5e\xba\xca\x1e\x33\x86\xb2\x5a\x89\x20\xc3\x2a\x92\xaa\xc8\x40\x36\x5e\x37\xa6\x6e\x08\xfc\x29\xe3\xc9\x14\xd1\xde\x84\x4b\x80\x13\xe8\x94\xaa\x09\xb2\xf1\xfa\x3f\x2a\xbd\x02\xaf\xf6\x68\x17\xb2\xa4\x20\xa7\x50\x54\x90\x3d\xd5\x0b\x43\x24\xe9\xe9\x7f\x0c\x45\x75\xe4\x4a\xea\xf5\xbf\x52\xf6\x7f\x57\x0e\x49\xa1\x98\x7a\x7c\x72\x93\x9d\x4e\xa5\x7e\x43\xed\xff\x9e\x52\x6f\x76\xfa\xff\x38\x87\x60\xf6\x02\xf3\x63\x35\x7c\x0c\x89\xa7\x37\x46\xe1\x4e\x0f\x6b\x43\x12\xa3\xca\x9e\x2d\xb0\x54\x5a\x03\xb2\x8f\x94\x4f\x12\x7d\xcc\x38\xeb\x88\x35\x12\xbe\x0c\x5e\x54\x68\x23\x9c\x18\x11\xa3\xbe\x3c\x57\x2a\x08\xb2\x60\x08\xb4\xe8\x6f\x42\x90\x33\xb1\x99\x9e\xb0\xb0\x87\xc8\xc1\x34\x43\x73\xd6\x60\x3e\x82\x23\xcd\x1a\x57\xf1\xe2\xee\x3d\xdd\xf1\x42\xfc\x58\x79\xd3\x36\xd4\xa8\xd3\xaf\x3c\x55\x50\x8f\x3e\xe6\xf9\x4d\xa6\xf7\x19\x86\xd6\x1e\x7e\xd3\x05\x0e\x38\x5f\x4c\x26\x23\xd3\xfb\x87\xdf\xac\xf1\xb7\x52\x2c\x6d\xd5\xb4\x16\xb3\x8c\xa1\xb0\x81\x5f\x36\x7b\x3f\x64\x65\x70\xc8\xe8\x8e\xc6\x9f\x39\x08\x67\x5a\xe3\x1e\xb2\xb2\x22\x3b\xdd\xb0\x54\x9d\x87\xac\xc5\x6d\xd7\x02\xba\x41\x6b\x46\xc6\x15\x50\xee\x2f\xb7\x82\x87\xac\x41\x33\x16\x52\x16\xeb\x6a\x8a\xf8\xc0\x2b\x8a\x01\xb4\x87\x35\xa0\x39\xa0\xbd\x42\x07\xc2\x13\xff\xa1\xe4\x3b\x89\xe3\x10\xc6\x9f\x72\xce\x08\x32\x07\x8e\xfe\xb4\xb7\x60\x87\x32\x12\xd0\x75\x7a\x65\x75\xcc\x1e\x2a\x43\x30\x44\xf0\x1a\x58\x9a\xfd\x65\x2f\x24\xb3\x7a\x21\xc8\xab\xd7\xd0\x1e\xf9\xd6\xf0\xd9\x1d\xc9\x38\xb3\xe1\x91\x40\xfc\x23\xe8\xa9\x06\x88\xa5\x15\x5a\x34\xa3\x05\x19\x38\x63\x96\x01\x47\x16\x68\xaa\xe1\xfc\xb0\x51\x7c\xc8\x8a\xf4\x49\x31\x8d\x8c\x3d\x35\xbc\x1f\xae\x94\x78\x8d\x6f\x3b\x48\x8a\x4b\x75\xaf\x3e\x7d\x2c\x4b\x6a\x40\x82\xe2\x15\x2e\xea\xa2\xe5\x2d\x3d\x04\x45\x90\x04\xe9\x9f\x6c\xbe\x4a\xb1\x40\xa5\x6f\x2e\x1f\x39\x5d\x39\x9c\x74\xe1\x70\x5a\x5d\xbe\xa4\xd6\xa8\xef\x3b\xe6\xfb\x8e\xfb\xbe\x13\xaf\x70\xcc\x5c\x00\x7f\x97\xc8\x00\xa1\xfd\xab\x3d\x86\x05\x66\x91\x0f\x03\x5f\x79\x0b\xc8\x97\x85\xf9\xb3\x90\x40\x16\xee\x6f\xb5\x10\xc8\x22\xfc\x59\xf9\x40\x16\xe9\xeb\x15\xe5\x07\xa3\xd4\x63\x0c\xf9\xaf\xe4\x0b\x21\xe3\x07\xba\x70\xd1\xab\x33\x35\xac\x8d\x37\x54\x98\x58\x3a\xb8\xaf\xa0\xb7\x55\x66\x15\x31\xf3\xbf\xee\x4c\x0d\x71\x37\xb4\x5c\x22\x4f\xc6\xcc\xa9\x27\x5e\x04\xc7\xf0\x84\x87\xa3\x7b\x91\xe9\xc1\x8c\xb7\x37\x6b\x9f\xcb\x99\xac\x91\x31\x55\x8e\x36\x40\x78\x52\x7a\xac\x4f\x22\x96\xe6\x12\x86\xfe\x23\xeb\xfc\x9b\xd1\x4d\x49\xa2\xb5\xd3\x65\xf2\x60\xe4\x65\xbb\xe1\xdf\x68\xd4\xeb\xa5\x2a\x4a\x3e\x41\xac\x0e\xa4\xf5\x09\xe9\x41\x36\xe7\xb8\x0d\xd0\x7b\x5a\x10\x6d\xa1\xc3\x29\xc6\x43\xf6\xb0\xa6\x0d\x3d\x63\x89\x5c\x4e\x31\x5e\x83\xc5\x50\x44\x3d\x5e\x68\xac\x1e\xbd\x55\xc8\xfe\x1e\x55\xe4\x1d\xfd\xfd\x66\xcf\xfe\xc8\xb2\xb4\x6a\x6f\x76\x43\xbb\xd0\xa7\xf0\xec\xf7\x98\xce\xed\x6b\x50\x6c\x59\xb3\xe9\x09\xaa\xa8\xdf\x6c\x5f\x90\x75\x43\x33\xed\xe5\x41\x0f\x20\x41\x84\x90\xc0\x7d\x48\x14\x98\x22\x52\xa4\x6e\x57\xbe\x07\x9a\x6e\x75\xce\x1d\x6d\x1c\x71\xf5\x54\x6b\x56\xdc\xa8\xfc\x29\xb2\x2d\xbf\x49\xc9\x35\x2d\xaf\x80\xee\x35\x86\x7a\x8d\x11\xb6\x3c\xb8\xb3\xf4\x1f\xa2\xf0\x2a\x0a\xba\xbb\xe5\xcf\x58\x9a\xe2\x23\x27\xe8\xec\x65\xed\x20\xad\x5a\x23\x62\x34\xb0\x52\xdc\xdf\xd4\x1f\x59\x83\x5e\x65\x00\x67\x33\x8f\x1f\xf1\x40\x73\x76\x42\x94\xb9\xb9\x82\xf5\xf1\x5a\xc6\x0a\x48\x89\xc0\xc2\x54\xf3\xef\x3b\x8a\x1a\x90\xae\xc8\xd1\x8c\x62\x1a\xfe\x69\xe9\x3a\x7f\xfa\x86\x2a\x04\xfc\x47\xd6\x43\x34\x89\x4d\xc8\x20\x35\x42\x8c\x4a\x42\x6a\xf5\x98\x24\x69\x06\xa0\x51\xfe\x08\x56\x8c\xc1\xf0\xe5\x14\x83\x55\xa4\xc4\x8a\xfd\x83\x87\x13\x85\x12\x9e\x87\x68\x04\x91\x8a\x59\x45\x3d\xd9\x33\x1c\x42\xc0\x04\xe2\xf8\xda\xb2\xd4\xe8\x3b\x7a\x20\x0a\x2c\x90\xf5\xa8\xf8\xbc\xaf\x11\x6f\x9a\xc2\x84\x1d\xc4\x46\xeb\x89\x51\x07\x1f\xe4\x2d\x2c\x0e\xa3\xe2\x95\x45\x49\x1c\x71\xcc\x47\x57\xd4\x65\x70\xd0\xe3\xe4\x3d\x92\x0a\x32\x96\x05\xfb\xc7\x1a\x7b\xbd\x64\x23\x0e\xb7\xc7\x90\xd5\x59\x52\x83\x64\x0c\x55\x66\x29\xcc\xba\x63\xb9\xf0\xe6\x90\x23\x76\xbc\x55\xc0\x13\x99\xd7\xe5\x83\xc3\xad\x4f\xb4\xcd\xd8\x9a\xff\xc8\x3a\xcb\x3c\x64\xea\xf9\x67\x41\x98\xef\x12\xa6\x42\xa4\x01\x7b\xd1\x84\x08\xc4\xeb\x18\xfb\x6b\xa7\x22\xb5\xa3\x51\x32\xfb\xab\x17\x64\x5e\xf1\xe9\x6a\xd1\xb9\x16\x66\x30\xb7\x76\x6b\xa8\xd1\x64\xcc\x7f\x40\xa2\xb9\xcb\x75\xe2\x3a\x10\x96\x68\x37\x96\xbd\x30\x7a\x82\xb4\x7a\xbd\x6a\x2d\x84\xa5\x7f\xd8\x5a\x8c\xbb\x9a\xe3\x24\x84\x6e\x34\xeb\xef\x0c\xe6\x70\x53\x94\x43\xe3\xd1\x2e\x40\x96\xd2\xb7\x2c\x2b\x65\x9c\x8d\xd7\x83\xf5\x55\x37\x34\x45\x5e\x3d\x64\x57\xa0\x24\x02\xcd\x78\x11\xe4\xad\xf5\xa3\x6c\x44\x04\xe3\x5b\xd6\xdb\x0f\xda\x16\x11\x8b\xd6\x8a\xf6\xea\x1b\x20\xca\xea\x02\x04\xe6\x8f\xac\x7e\x92\x0d\xfa\x98\xf1\x0e\x04\x5e\xa3\x5a\xc4\x5b\xb6\xa2\x70\xa0\x23\x68\x9a\xa2\xbd\xfa\xcf\x2b\xaf\x67\x90\x1e\xa9\x10\x24\xa0\x0a\x3f\x71\x82\xe6\xb4\xf9\x28\x1a\x9a\xbf\x9e\x8c\x35\x30\xfa\x65\x3a\x12\x8e\xca\x77\xcd\x4f\xa9\x1a\xb8\xee\x8f\x52\x44\x10\x8b\xcc\xca\xb4\x4d\xce\xbc\x20\x8a\x16\xad\x7c\x39\x3a\xab\x29\xa2\x6d\xa9\x74\x32\x61\x22\x8a\xe7\x21\x95\xe9\xaf\x71\x36\x6b\x8e\xe3\x60\x8c\x99\xb7\x3e\x01\x13\xbc\xac\x1c\x34\x5a\x8d\x74\xd3\x31\x2a\xfb\x7a\x83\xdb\x5a\x88\xa5\x9f\x5d\x75\x7b\x2c\x24\xe2\x6c\x2c\xfc\x76\xe8\x1b\x0d\x39\x9d\x90\x68\x6d\x7b\xb1\x7a\x39\x9a\x47\x0c\x4c\x46\x37\x19\x9f\xbc\x2a\x16\x8b\x01\x50\xc7\xf4\xe5\x91\xc4\xb6\xfb\xfb\x28\x62\x0d\x6d\x80\x5a\xb6\x2d\xd5\xdd\xd8\x07\x86\x91\x13\xf6\x81\xd1\x01\xac\x22\x73\xb4\x76\x4a\xac\x5f\x17\xc4\xbd\x25\x6a\x59\x29\xc3\xd3\x86\x8b\x4b\x0a\x82\xde\x75\x9f\xe1\xed\x00\x90\xd0\x63\xdd\x9e\x05\x35\x0f\xf2\xe1\xfa\x42\xa8\x39\xa9\xfa\xab\x67\x8c\x40\x43\xf0\x19\x8b\x6e\x51\x6e\x72\x0c\xb1\xc8\x03\x46\x92\x0f\x18\xf2\x90\x25\x21\x6e\xfc\x8f\x8c\x28\xc8\xdb\x14\x9a\x45\x28\x3d\xa5\x1b\x40\xd5\xbf\xa1\xdf\x53\x82\xcc\x0b\xb2\x60\xb8\x96\xe9\x7b\x81\xef\x84\xb3\x91\x77\x60\x81\xaf\x13\x30\x8a\xfd\x12\xf8\x42\x26\x98\x35\x64\xff\x63\xb7\x75\x75\x2b\xb1\xeb\x78\x25\x91\xdf\x13\x2d\x8c\x6f\x30\x17\x9a\xbb\x8b\xbe\xbf\x88\x45\x6b\x83\x66\xa0\xc7\x22\x11\x9b\xf3\xe5\x9c\xce\xc7\x7b\x9a\x29\x06\x0e\x0d\x2f\x5b\x46\x7b\x62\x20\xde\xce\xd1\xd6\xaa\x32\xf6\xfa\xe4\x8a\xe7\x8c\x2d\x36\x42\x56\xca\x68\xd5\x71\xf3\x98\x65\x59\xf7\xa0\xcf\x53\xf0\xa2\xdb\x56\xbb\x77\x7a\x86\x03\x3c\x6d\x8a\x46\xea\xba\x44\x5d\xa5\x0c\x0f\x81\xd9\x99\xca\x55\x5b\x41\x8a\x88\x0d\x22\x83\x95\x6d\xb8\xf5\xd2\x39\x82\xb0\xd3\x9d\x46\xaf\xe9\x58\x11\xb3\xd3\x81\x04\x39\x6b\xb5\x32\xec\x81\x09\x53\xd6\x94\x39\xa0\x59\x94\x7f\x73\x17\x4f\x61\x0b\x8c\xb5\xa6\x98\xab\x75\x04\xd6\x1e\x20\x37\x13\x82\x7d\xe8\x30\x3a\x8f\x14\x20\x40\xb4\xa1\x48\x17\x8c\xd1\x22\x04\xc2\x95\xfc\x9e\x62\x4a\x11\x10\x18\x0e\xf0\xc9\x94\xf4\xce\xaf\x33\xd8\x05\x8e\xa4\x21\x70\x8e\x83\x43\x7c\x71\xfc\x52\xbc\x40\x42\x8a\xbb\x1e\x13\x1e\x10\x4d\x22\x10\x20\xc7\x4d\xe0\x02\x83\xa2\xb1\x30\x57\x6c\x79\x68\x4d\x12\x30\x68\x08\xb6\x3b\x93\x16\x05\x5e\xb8\x12\x8d\x24\x61\xc8\xba\x9e\x0e\x1e\x10\x8e\xc0\x08\xc2\x68\x34\xbb\x05\xc6\x75\x89\xcb\xc3\xa8\x76\xf5\xae\x40\xf3\x30\x44\x69\xc3\xd0\x04\xc6\xf4\x31\x33\xc2\xc2\xe6\x84\x16\x58\x4a\x23\xf9\x36\xc7\x86\x6a\x10\xe4\x3d\x2d\x0a\x9c\xe3\xa7\x11\x29\x01\x6c\x7d\xcb\x5d\x65\x00\x17\x5c\x9e\x15\xc9\x9a\x33\xf2\xea\x35\xb8\x83\xc1\xbc\xb9\xfd\x16\x5c\xdd\xec\x23\x31\x7f\x05\x12\x6d\xb0\x6b\x41\x5e\x85\x68\x84\x30\xc8\xad\x92\xb2\x22\xc7\x14\xa6\x31\xec\x0d\xd6\x86\x45\xe2\xc8\xd1\x25\x49\x3e\xa0\xa4\x7d\x28\x89\x7f\x0f\x94\xb2\x34\xeb\x3d\x70\x04\xe8\xa5\x50\xc0\xb1\x09\x14\x78\x2c\xa8\xc2\x41\x5c\x23\xc2\x27\x37\x81\xe3\xd4\x90\x02\xe8\xe8\x8c\xaf\x97\x22\xce\xef\xd8\x03\x81\x0c\xee\xec\x10\xec\x34\x47\x34\x3b\x49\x9e\x73\x80\x0b\x87\x07\x4c\x82\xc8\xef\x4f\x8a\x69\x58\xfd\xf2\x4b\xd9\x8b\x47\x40\x00\x1f\xe1\x0c\x60\x7d\x0a\xa8\x5c\xf6\x0e\xd6\x91\xe3\xfe\xc5\xe8\x3e\x2d\x79\x7d\x51\x93\x13\x95\xe7\x40\xe6\xfe\x92\x0b\x59\xa8\x3c\xad\x89\x0a\x1c\x0e\xbd\xc5\x94\xf7\xaf\x67\x57\x8f\xb3\xcc\xd1\x1b\xac\x4b\xca\xc9\x1d\x8b\x37\x38\xf2\xaf\x97\x65\xcb\x5d\x28\x7d\x05\xc3\x55\x1d\x61\x55\x45\x76\x0b\x1e\x66\x57\x83\x47\x1c\x3d\x5f\xdd\x26\x13\x20\x13\x56\x74\xa7\xe7\xbe\xc3\x49\x9b\x41\x3c\x2a\xe2\x90\xca\x5e\x83\x1b\x00\xdb\xfb\xc1\x5f\x16\xaa\x7c\xec\x81\x66\x08\x2c\x2d\xba\x9b\x0a\x43\x51\x61\xbc\x0c\xeb\xa4\xb5\xc1\x50\x41\xd2\x50\x13\xfe\x39\x85\xa4\x02\x9a\xb7\xa3\x5a\x06\x8f\x0b\x60\xad\xf8\x66\x38\xdc\xf1\xc5\xa7\x99\x5c\xda\x85\x55\x04\x44\x03\x52\x83\x7b\x80\xef\x4a\xd5\xe4\x1a\xdc\x0e\xa7\xe0\xee\x94\x10\xb5\x2f\xb1\x8e\x58\x97\xd1\x1b\x15\x39\xdb\x62\x9f\xe3\x41\x80\x47\x82\x43\x65\xef\x91\xed\x86\x82\xa7\x12\x57\x8d\x3e\x9c\x1e\xf3\xdb\xdd\xb8\x85\xc6\x33\xe0\x9a\xec\x79\x50\x5c\x4d\x16\x5e\x8a\x67\xa6\x83\xfb\x1d\xc7\x79\x14\x7b\xa5\x83\xfe\x19\xde\x00\x61\x51\x01\x19\xef\xe9\x63\xa3\x64\x6b\x39\xb2\x91\x11\x85\x15\x6d\x98\x1a\xd0\x1f\xed\x03\xad\xa3\x61\xd2\xe2\xd3\x4d\x88\xc0\x10\x58\x28\xdb\xa4\xbd\x76\xc0\xf6\x94\xce\x58\xbf\xc3\xbd\xb4\xf3\xa3\xee\xd4\x91\x31\x4d\x64\x74\x88\x96\x0f\xe1\x7b\x24\x52\xe9\x41\xe0\x56\xc0\x80\x2c\x14\x57\x3a\x06\xbc\x79\x83\x1b\x03\x43\xb4\x7b\x79\x35\xd1\x68\x86\x18\x52\x32\x38\xf0\x7a\x59\xb3\x20\xfc\xfe\x00\x11\x79\x0f\x70\xeb\x07\x64\x99\x79\x88\x2e\x79\x2e\x33\x1f\xad\x9f\x82\xbc\x7a\x74\x0f\x25\xad\xa4\x27\x78\x72\x50\xe1\x00\xb4\x6e\x6a\x00\x42\xe1\xeb\x39\xa8\x27\x33\x91\x88\x86\x10\xb9\x69\x00\x33\x88\xdc\xe5\x3c\x09\x43\xca\x31\x68\x79\xa5\x75\x83\x36\x04\xf6\x2d\xc6\x04\x11\xbd\xf3\x10\x3f\xc4\xc1\xa5\xc2\xf6\x8c\x02\x5c\x8c\x6d\xe3\x21\x94\xcc\x69\xf4\x0a\xd2\xa6\x77\x73\x30\x68\xb8\xb1\x44\x19\x08\x2a\x62\x5c\xd1\xfa\x40\x11\xb8\x5d\x36\xcf\x11\x7c\x90\xa9\x58\x4d\xd1\xf5\x35\x2d\x68\x9e\xfc\xbb\x24\x44\x38\xdf\xef\x14\x1f\xce\x73\x9c\x3c\x6f\x01\x84\xa1\x6e\x21\xe7\xb4\x1a\xba\x2f\x10\xd3\xf4\x3d\x50\x50\x50\x28\x12\xd6\xc6\x00\xd0\x9a\xad\x4a\x43\xad\x99\x74\xd4\x78\x72\xd1\xb1\xad\x3f\xc8\x43\x96\xf8\xee\x58\xb3\x14\x8d\x05\xee\xaa\xf0\x1a\x72\x65\xb5\x17\x17\xc7\x90\x61\x0b\xb5\xcc\x9a\x66\xb7\x8f\x34\x6f\xd8\x7b\x31\xc7\xad\xed\x9f\xff\x7c\x0b\x6f\x07\xbc\xc1\xb5\x24\xe9\x6b\x70\x01\x71\x77\x41\x12\x6d\x00\x4d\xa0\x45\xbf\xbe\x1e\xed\x06\x46\xe1\x18\x7e\x39\xb9\x04\x45\xc0\x59\x5b\x9e\x40\x05\x29\xa8\xd1\xd6\x47\xb1\x60\x1d\x24\x9e\xe7\xf3\xc0\xaf\x8b\xdc\xae\xcf\xb1\x8d\x3e\xdc\x09\xe7\xda\x50\x93\xc0\x7d\xf6\xdf\x00\x5a\x49\xa8\x24\xdb\x5e\xf9\x02\x5f\xe0\xc3\xb4\x8d\xda\x59\xa3\x53\x2e\xc0\x13\xd6\x9f\x2c\x4a\x7e\x8f\x1f\xa3\x38\x59\x72\x67\xd5\xe1\x9a\x23\x54\x09\xcc\xd0\x64\xd0\xe8\x8c\xbe\x03\x3e\x69\x82\x7f\x0c\xdf\xf0\xb4\xbe\x0b\xe9\x0f\x14\xba\x29\x1a\xde\x8b\xfe\xcd\x2d\xb5\xcf\x47\x18\x89\xd6\x14\xb5\x87\xb1\xf9\x22\x06\x68\x18\xa0\xa2\x02\x8d\x36\x2e\x76\x8b\xb8\x89\x0c\x35\x6b\x15\x90\x4a\xb9\x42\xc0\x60\x43\xe6\x9e\x6a\xad\x52\xa6\xca\x30\x40\xda\x50\xa4\x08\x8d\x23\x86\xb8\x7a\x3e\x4f\x51\x45\x58\x79\x9f\x31\x2e\x1e\xf3\xa0\x11\xac\x82\xd7\x0a\x85\x6a\x3c\xdc\x3d\xfd\x0b\xd9\xde\x48\x82\xaa\xe5\x4b\x49\x44\xbb\x54\x89\x95\xd1\x7a\x1d\x06\xe9\xb3\xaf\x05\xd2\x7d\xf6\xae\x78\x7c\x22\x36\xaf\x7a\x3d\x8e\xe2\xde\xdd\x25\x7f\xa5\xa5\x1a\x0c\xf2\x62\xda\x83\xa1\x15\xb5\x52\xc6\x0f\xb2\xaf\x0b\x3c\x4f\xe2\xf9\x88\x30\x0c\x5b\xcf\x7e\xe3\x79\x1e\x72\xc0\x50\xab\x90\x75\x2a\x9f\x34\x71\xc2\x86\xae\x58\x8b\xf3\xd3\xb5\xa1\x80\x67\x9f\x55\xf3\x09\x18\x42\xf2\xda\x57\xab\xd4\x4a\xb5\x42\xd4\x97\x93\x43\xd9\x22\x1b\xb3\xaf\xf6\x55\x0e\x5d\x17\x3d\x9b\x1c\x47\x33\x34\x05\xeb\x3c\x59\x43\xab\xe5\x7b\x6a\x84\x2c\x47\xae\xd9\x69\x2d\xc8\x29\x17\xc9\xb8\xc2\xd1\xf5\xcf\xc1\x08\x4e\x9b\xf7\xac\x39\xbf\x55\x2b\xd5\x42\x15\x4b\x6a\x38\xba\x64\x40\xc1\x62\x96\x97\x78\xd8\x44\xdd\xf1\x1e\xb4\xa0\x8b\x42\x12\x6e\xef\x2c\x70\x5b\xb9\x8c\x62\x69\x2b\x76\x51\x59\xc4\x11\x6c\x81\x01\x30\x40\xef\xca\x60\x5c\xce\x55\xf0\x15\x29\x16\xe1\x0a\xb0\x3a\x42\xac\x81\xe4\x09\x96\x80\xc1\x85\xe5\x1e\x49\x32\x24\xc7\x24\x41\x5e\x5b\x8f\xaf\xd5\x27\xed\xe3\x2b\x74\x97\x3e\x58\x3f\xc3\x8b\x5d\x91\x67\x8a\x14\x94\x56\xfe\xa3\xa2\x78\x7c\x7c\x32\x3b\x90\xee\x13\x78\xf1\xa4\x8c\xc8\xec\x78\x6c\x22\x87\x2c\xf1\xb5\x5e\xae\x94\x46\xb3\xc2\x92\xff\xf6\xe8\x5d\x85\x7b\xb4\xc1\xf7\x1d\x01\xd4\xf2\x35\xa2\x16\x2b\x74\xee\x16\xdb\x6f\xd9\x15\xa8\x39\xbe\x32\x7e\x63\x57\x13\x88\x7b\x60\x08\x2c\x9d\xea\x02\x13\x3c\x5c\x7e\x3e\x94\xec\x15\x62\x22\x0b\xac\xc2\x81\x54\x67\xe4\x24\xc0\x5d\xe9\x11\x35\x20\xaf\xaf\x76\x32\xa8\xa7\xf8\xda\x90\xc4\x94\xc1\x65\xa5\x63\x5f\x51\x4d\xb5\x03\x64\xb3\x65\x00\xe9\xe1\x9a\x3e\x13\x64\x4e\x39\x8c\xaf\xbe\xe4\x1f\x43\xf6\xda\xe5\x54\xf8\xe2\x93\x25\x30\xf4\x0c\x2b\x02\x5a\x7b\x0d\x5a\xf1\x57\xc0\x42\x88\xa1\xb5\x8a\xe7\xaa\x9e\xca\xae\x80\x8d\x60\x76\x05\x46\xce\x4d\x96\x40\xde\xd8\xb9\x32\xb0\x02\x63\xef\x02\xe1\x0a\x94\xdd\xfb\x27\x81\xc4\x17\x9a\x01\x62\xe8\x7e\xa0\x7f\x09\x5d\x81\xf2\x65\xdc\xfb\xb4\xef\x15\xe8\xc0\x65\x37\xcf\xa7\xc6\x35\x49\x3c\x5d\x0d\x49\x71\x10\x49\x99\xd0\x0e\xd3\xd0\xae\xd2\xfe\xee\xd0\xd0\xab\x0e\xf0\x5b\x67\xd9\x15\xa8\x0a\xf4\x4a\xa3\xa5\xca\xf5\x12\xc9\x0a\xd4\xed\xdb\x37\x81\xa4\xa6\xae\x8a\x82\xf1\x00\xc1\x09\x86\x91\x0f\x9f\x40\xda\xd4\xae\xe5\x35\x6c\xf4\xba\x65\x33\x7f\x73\xfc\xcd\xac\x1a\x2a\x56\xdf\xca\x86\x7c\x35\x09\x3e\x85\xae\x75\xda\xf8\x6b\x12\x6d\x5c\x5a\x86\xd9\x2b\x1c\x87\xbe\xc8\xa1\x8f\x8f\x60\xbe\x53\x9c\xd0\xe5\x02\xdf\xfc\xb2\x5d\xf6\xa3\x44\x84\xfb\x7b\x3d\xf9\xcc\x98\x17\x3a\xfa\x48\xf5\x1a\xf5\xae\x0a\x5d\xfc\xbd\x5a\x10\xef\x9c\x0e\xbe\xaf\x9f\x3b\x59\x1e\xc2\x42\x22\x18\x5e\xc5\x1d\x4e\x51\x4c\x65\xd1\xe0\x8d\x60\x27\x82\xc7\x0d\x18\xe5\x76\x2d\xfa\x2d\x90\xe4\x6c\x8b\x7e\x4d\x41\x86\x3a\x0f\x5b\x7a\x7a\xf8\x2a\xc7\x4a\xa3\x4f\x4f\x7e\x47\x41\xfb\xbe\x4d\xf0\x28\x03\x57\x8f\x4f\x10\xc1\x60\x55\x62\xfd\xc1\xdc\xd9\xcd\x71\x11\xc9\x00\x01\x49\xce\xbd\x84\x7e\x28\x3c\xf1\x82\x68\x00\xed\x91\x16\xd5\x35\xfd\xcd\x4d\xff\x57\xc1\xda\x41\xaf\xc0\xc8\xa0\x0d\x53\xb7\xfd\x36\x1f\x2e\x3f\x3b\xce\x2d\x36\xbf\x63\x66\x86\xf4\xf9\xc1\x5a\xbd\xa3\x82\xd7\x20\x30\xf5\x08\x75\xfd\xb3\xa7\xe5\x23\x27\xe8\xd6\xc2\xca\xf9\xe7\x67\x20\xb1\xaf\x09\x12\xad\x9d\xfc\xc9\xd7\xe0\x15\x64\x08\x51\xd8\x88\x60\x1c\xe0\x00\xe4\x7e\x0d\x60\x58\x96\x43\xbd\xc5\x8c\x2e\x12\x04\x81\x45\x76\x2a\xbe\xe1\x09\x35\xe5\x5e\xcf\x85\x34\x88\xda\x37\x18\xdc\xf2\x9e\x12\x4a\x31\x18\x53\x78\x8b\xd0\xd1\x57\x5c\x90\xe8\x15\x78\xf4\x78\xc0\x9a\xeb\xb4\x96\x59\x59\xed\x03\xd9\xf8\x66\x28\xea\xc3\x6f\x1c\xcf\x23\x5c\x21\x85\x3c\xfc\xc6\x16\x00\xc9\xb0\x29\x6b\x36\x7f\x7f\x8a\x56\xa2\xfc\x60\x79\x17\x89\x4b\x69\xa7\xb6\x07\xfb\x62\xae\x55\x93\xfd\xc5\x39\xdf\x79\xe0\x35\x45\xfa\xe6\x56\xfd\xfd\xc1\x50\xbe\xb9\x95\x7f\x87\x54\x1c\xc5\xca\xab\x25\x0e\x37\x97\x43\x55\x4d\x59\x09\xdc\x63\x75\xde\xb2\xea\x19\x7b\x71\x91\xb2\x1d\x81\xd5\x14\x5d\xe1\x8d\xec\xa5\x4e\xfb\x72\xa8\xcd\x4a\xba\xa1\xfd\xeb\x9f\xbf\xf1\xbc\x53\xf5\x3f\x1f\x52\x40\xe6\x02\x19\x4e\x4b\xff\x7c\x48\x35\xdc\xc2\x63\x4b\x95\x40\x02\x88\x6b\x40\x05\xb4\xf1\xe8\xfc\x93\x81\x5d\xd4\x62\x30\x8e\xa1\x51\xc8\x7c\xf6\x7c\x7b\xd8\x3c\x85\x73\x41\x95\x20\xc0\x05\x11\x56\x7a\x74\x69\x10\x62\x22\xa7\x21\x77\xe6\x54\x95\x83\xec\xfa\x52\x4f\x54\x3f\x1f\x5d\x16\x44\x37\xb2\xb0\xeb\xc8\x1d\xed\x92\xac\xb8\xdf\xde\x3c\xff\x6c\xd8\xb9\x53\x74\x59\xb9\x44\xde\x21\xe0\xfe\xee\xef\x99\x70\xf7\x49\x41\xcc\x15\x60\x78\xbc\x14\x84\x80\x24\xe6\xba\x54\x8c\x5f\xde\x23\xd7\xeb\x20\x3d\x0a\x5e\x56\xc2\x71\xdc\x2f\xf7\xd0\xab\xef\x0c\x56\x54\x8f\xc1\xdb\xa0\xf9\x8b\xff\x8d\xad\xbc\x21\xa9\x42\xc0\x97\x3a\x8f\xf9\x64\xaa\x9d\xe9\xc9\x4b\x27\x72\x80\xfb\xc3\xe1\x1b\xa8\x3e\xe9\xc9\x7d\x7f\xf0\x04\xf4\x3b\x44\xad\x8c\x01\xbc\x0f\x26\x4c\x10\x96\xb2\x3e\x30\xa6\x28\x58\x9f\xdb\x02\xc1\x05\xb4\xc4\x00\x8f\x5a\x1f\x57\x0c\xf8\x6f\xc6\x40\x78\xde\xa9\xcc\xd4\xc4\x6f\x1c\x6d\xd0\x8f\xf6\xcf\xdc\x4a\xe0\x9f\x18\x5a\x07\x14\xf1\x30\x44\xc4\x46\xaf\x2a\xae\x2b\xab\x52\xa3\xd4\xae\x55\x4a\x8d\xa5\xb4\x34\xe6\x53\x94\xcf\xe5\x72\x87\x52\xa9\x54\x69\xe6\x2a\xe8\xba\x3b\xa9\x94\x6b\x8b\xf9\x70\x3d\xab\xa1\x83\x7e\xb5\x48\xb0\x8d\xfa\x86\xc6\xa6\x48\xab\xd1\x16\x97\x98\x68\xf6\x47\x2f\x7b\x33\x5f\x10\x5a\x0d\x71\xdb\x1f\xb5\xe7\xdd\x09\x72\x18\xcf\xcb\xd5\xe5\x6c\xad\x8e\x9a\xea\x69\x39\xed\x52\x63\x71\xb8\x01\x92\xb1\xe9\xcd\x06\x42\xff\x4c\xac\xfa\xcd\x15\x05\x1a\xe8\x81\x99\x4d\x91\xc5\xa8\x4c\x30\xb3\xa3\xc9\x9e\x55\xa2\x3f\x6a\xaf\x97\x8d\xa2\xb0\x1c\xab\xd6\x6f\x63\x39\x1f\xae\x5f\x4e\xad\x15\xa8\xaa\x04\x33\x2f\x23\xf4\x19\x11\x06\xb3\xe1\x7e\x21\x4d\x56\x16\x3e\xad\x5a\x77\xcf\x4a\x93\x55\x77\x44\x1c\x5e\x66\x9d\x43\x77\x53\x5a\x75\x37\x35\xb3\x33\xee\x20\xdd\x33\x8b\xbf\x54\x4a\xa7\x4e\xb5\x76\x78\x39\x97\x4e\x2f\xe7\xda\xe9\x65\x5c\xc3\x7b\x9b\xce\xa9\xb7\x29\x1d\x5a\x95\xd2\xca\xfd\x23\xf4\x85\x52\x81\x95\x86\x52\x4f\x6c\xd7\x86\xc2\x05\x9f\xd3\xb2\xb1\x28\xb6\xa4\x35\xc2\x35\x4b\xd4\xcb\xa9\x88\x73\x38\x6b\x72\xe7\x8e\xc9\xe0\x6d\xf9\xe5\x5c\x23\x7b\xe3\xed\xbe\x53\x6d\xed\x3b\x9b\x96\x61\x95\x7f\x99\x77\x49\x46\x1e\xae\x41\x05\x35\xd9\x53\xe7\x5a\xef\x76\x28\xb2\x58\xf7\x44\x5b\x7d\x98\x15\xcd\x56\xb3\xbd\x5d\x6e\xd4\xf5\x42\x2a\xa2\x5c\x15\x11\x5a\xd7\x36\x09\x66\x5e\xf2\xb7\x69\xb2\x27\xd2\xa1\xc9\x88\xdc\x30\x18\xb2\x07\x8d\xfa\xe1\xe5\x5c\x33\x3b\x95\x82\xd0\x6a\xae\x0d\xa6\x41\x9e\x7b\xf2\xda\x60\x6b\x68\xb7\x3f\x6a\x2b\x5c\x73\x78\xe8\x09\x85\x3d\x23\x77\xcc\x85\x43\x2b\x73\x81\x15\x8d\x17\x7c\xbd\x66\x2b\x85\xe3\xcb\xa6\xb4\x67\x66\xc8\xde\xd7\xe6\x99\xab\xb7\xc5\xe5\x06\x11\xe8\xe6\x10\x61\xab\xca\xfe\x05\x23\xcf\x2f\x52\x7d\xcb\x60\x6d\xf1\x45\xea\xee\x99\x51\x91\x58\xcc\x4b\xfb\x8e\x45\x67\xbc\x3b\x01\xf3\xb2\xf8\x82\xb6\x45\x16\x2b\xa2\xac\xd4\x15\x27\xd2\x54\x6a\x59\xe3\xd4\x40\x0f\xbd\x6d\xf7\xb4\x9c\xd5\x11\x06\x6f\x4f\x18\xac\xa8\xf7\x47\xed\xb2\x83\x7f\x79\x40\x37\x8a\x08\x83\x77\x15\x06\x2f\xad\x06\x68\x07\x6d\xd5\xd0\xf5\x02\x13\x4d\xae\x51\x3c\xd3\x15\xa7\xfc\x78\x82\x50\xa3\x19\x79\xe6\x1a\x75\x73\x81\x4d\xdb\xc3\x2a\x22\x58\xe9\x2f\x92\xa8\x2e\xab\x0a\x32\x38\x77\xf0\x5e\xb5\x5d\x1b\x6e\x56\x44\x77\x32\x38\x76\x26\x13\xa4\x37\xae\xd7\x06\x48\x0d\xeb\x9c\x87\x8d\xc1\x99\x3d\x74\x27\x0b\xbc\xeb\xab\x6f\xd8\x28\x6e\xb8\x19\x2a\x32\xf2\xd0\x57\xdf\xd0\x5f\x5f\xbd\x53\xbd\x59\x5f\xba\x55\x3d\x5a\x7c\xd8\x1d\x8f\xd5\xda\x72\xde\x56\x39\x69\xba\x1d\xca\xed\x3d\x33\x2a\xbb\x34\x54\x55\x46\xee\x22\x8b\x19\xb9\x59\x4e\xc4\x5a\x7f\xd4\xb6\xc6\xd3\xa4\x67\xe2\xb6\xb7\x19\x56\x3b\x67\x96\xe8\x6c\x87\xb5\x5e\x75\x85\x0e\xab\xb5\xe3\x70\x3c\x20\x3b\x93\x61\x75\x30\x5e\x9c\xbb\xb5\x65\xb5\x7b\x2e\xa1\xc3\x0d\x8b\xb4\x84\x4b\x7d\x5b\x06\xeb\xa2\xcc\x6c\x6a\x72\xb5\x6b\x7d\xcb\x46\xa0\xbe\xfa\xed\xfa\x0a\xe9\x56\xf5\xb0\x87\xf1\xa2\xc5\xa3\x2f\xb8\xcd\x8f\xa3\x61\x6d\x61\xc3\xb9\xf3\xcd\x9e\x7f\x56\x7e\x1f\x5f\x1f\x16\xb3\xae\xb6\x9c\x0f\x56\xcb\x19\x69\xcd\xf3\x53\x6b\x53\x48\x97\xf8\x5c\x3a\xc7\x9f\xf3\xe9\xbd\x4c\x14\x73\x0c\x5a\xec\xf7\x4f\x05\xbe\xba\xcf\x9b\xb8\x4e\xa5\x35\x95\xea\xf1\x12\x09\xc6\x1b\xc2\x6c\xae\xf0\x62\x9e\xc3\xbb\x7b\x1a\xe3\x36\x73\xd4\x98\x4f\x90\xe2\xcb\x10\xe9\xe4\x7a\x67\xf6\xfc\x72\xd2\xe5\xd6\xb1\xc0\xd4\x8f\x9d\x7e\xe5\xc0\x56\x72\x7b\x0d\x2b\x98\xf9\x1d\x69\xbe\x00\xcc\x60\x46\x67\x5d\x6b\x1c\x34\x8a\x32\xb4\x67\x73\xb7\xa3\x05\x59\xdd\xcd\xb6\x0a\xf5\xbc\x56\xda\x69\x20\x2f\x4f\x8c\xa4\x4a\x0b\x91\xa4\xa7\x62\xbb\x37\xda\x2e\x2b\xfd\x8d\x82\x75\x04\x62\xd7\x16\x5a\xa0\xb1\x5e\x8c\xaa\x2b\xa5\x51\xe2\x71\xb2\xc8\x37\x0d\x0a\xcc\xd7\x38\x27\x4f\x11\x16\x6f\x1f\xd9\x46\xd1\x64\x66\x47\x8d\x96\x44\x65\x89\x2d\xc5\x65\xa3\x2b\x2c\x66\x65\x7e\x2e\xa2\xec\x0c\x55\x97\xb3\x3a\x37\x9b\x4e\x87\xe3\x89\x58\x1f\x8c\x11\xb2\x3b\xae\x19\xcf\xa3\xc9\xba\x39\xdc\x4e\x6b\x03\xa4\x5d\x1e\x54\x0b\xe9\xfe\xf8\x90\xef\x6d\xb6\x44\xf7\xbc\x40\xbb\xd5\xce\xa9\x33\x2e\xed\x5f\x04\x44\x7f\x3e\x29\xea\x73\x85\x95\xda\xa3\xc1\xa6\x25\xd4\x56\xcd\x23\xc1\x35\xcb\x3a\xdd\x18\xae\xe6\xf5\xf5\x64\x52\x3b\xb6\x86\xb5\x52\xa1\x57\x1d\x1c\x5e\x2a\xab\x6d\xab\x7c\x58\xd4\xcb\xa5\x4e\xa5\x34\x28\x95\x5a\xfc\xb6\x66\xfd\x5b\x5a\x95\xf4\x92\xfd\x9f\x52\x2a\xaf\xac\xdf\xd4\x64\x73\x10\x06\xe5\x75\x63\xb1\x12\x2b\xcf\xeb\x79\xfd\xa5\x3c\x28\xe5\xbf\x5f\x56\x80\x47\xc7\xcc\x06\x59\xc3\x09\xae\x88\xf0\xe0\x8e\xe5\xc6\x01\xb4\x96\x1b\x9c\xcc\xd3\xa0\xe0\x2c\x37\x3e\x15\xeb\x87\x56\x99\xee\x7c\x8a\xce\x96\xd2\x72\xff\xb5\xca\x7c\xad\x32\xbf\xfe\x2a\x33\xf8\xdc\x55\xa6\x36\x38\xff\x59\xab\xcc\x80\xfc\xe4\x55\xa6\xfc\xb5\xca\xfc\x07\xad\x32\xc7\x97\x17\x70\xa8\x09\x95\x92\xdc\x5b\x96\xcf\xc0\xbf\xca\x58\x6b\xc0\x4f\x5d\x67\x2e\x46\xe9\xf8\x9d\xe8\xed\x4d\x93\x0d\x68\xd5\x0e\x50\xeb\xe3\xd9\x75\x02\x5b\x58\x02\xb6\x85\xf5\xef\xe8\xc8\xef\xfe\x9d\xec\xe5\xb4\xe7\xb2\x0d\xf5\x63\xeb\x92\x24\x68\xa0\x8b\x27\x90\xff\xde\xb2\xaf\x92\x5f\x6d\xff\xea\xcf\xcf\x7f\x87\xf4\x37\xaa\x0d\xdc\x39\xd2\x90\xbd\x32\xc6\x93\x0c\x93\x7f\x8b\xa5\xe0\xcd\xfa\x89\x7c\x21\x0f\xb8\xd8\xfa\x71\x24\x5f\x04\x5c\xb0\xfe\xab\xf9\xc0\x97\x16\x67\xc8\x74\xf0\xff\x30\x73\xc7\x76\x39\xc4\x0d\x97\xc8\x00\x17\x07\x1c\x02\x27\x71\x22\xf6\xd0\x29\x7c\x72\x11\x77\x3f\xfe\x02\xe9\xbb\xb7\x8e\xa9\xc7\xf0\x8d\x12\x49\xe0\x38\xf1\xe6\x09\xa1\xef\x08\xa3\xe5\x8f\xc2\x41\xa9\x47\xdb\x74\x13\x3d\x73\x8a\xab\x0d\x62\xec\x03\x00\xbc\x65\xa5\x63\xd5\x35\x6f\x47\x21\xdc\xdb\x05\x41\x13\xa2\xdb\x40\x8a\xbe\x98\x13\x2f\xa1\x39\x71\xeb\x13\x8c\xd7\x4b\xc5\xc4\x52\x0a\x61\x1e\x6c\xa2\x2a\xd0\xa2\xb2\xba\x1c\xee\x84\x8e\xf6\xae\xa7\x85\x18\x4e\x52\x45\xd2\xef\xe0\x7e\xb9\xd4\x17\x67\xfb\x8f\x62\x1f\xed\xb6\xed\x81\x7b\x01\xb5\xfe\x79\x85\xd8\xe0\x48\xeb\x13\xc4\x3b\x7c\x7c\xf8\x1a\x0a\x45\xea\xb3\xef\x45\x03\xa7\x00\xc4\xfa\xbc\xc5\x9d\x74\x25\x54\x8d\x44\xe2\xb1\x78\x3c\x1b\xa9\xc9\x8d\x12\x6b\xf3\xf8\xe5\x44\x13\x88\xa2\xa0\xea\x82\x1e\xbd\x0e\x7d\x3d\xe6\xbb\x18\x5f\xdd\x38\x50\xbe\x93\x24\x3b\x8c\x49\xb8\x1f\x30\x73\xaa\x20\xeb\xc0\x48\x39\x62\xd1\xaa\xc3\x3e\xb5\x0a\x4b\x56\x28\xd0\x8d\x7c\x18\xed\x2d\xa2\x8d\x80\x4a\x3b\x7e\x26\xd7\x18\x6f\xde\x79\xe4\xd5\x4a\x8a\x07\xed\xc9\x8f\xbf\x01\xd2\xfa\x78\xf7\xbd\x2e\x6c\x1c\xb8\xb7\xe8\x4b\xb0\x0f\xa3\xdc\x43\x55\x18\x16\xce\x81\x64\x14\x05\xcc\x77\xcb\x11\x43\x02\x86\x57\x4c\x3d\xa6\x88\xab\xa9\x16\x6a\x05\xf6\x5d\x84\x0a\x1d\x27\x5f\x4f\xda\x28\xf8\x49\x1b\xe5\x9c\xb4\xc5\x23\xeb\xcd\x09\xe8\x89\x62\xd4\x42\x7d\x7d\x00\xd2\x6d\x2e\x7c\x7f\x2d\xb1\x2d\x6f\x89\x8b\x4c\x31\x04\x71\xee\xd4\x7a\x2e\x1c\x3e\x62\xba\x84\xc9\x78\x47\x8c\x7e\xbb\xb5\x2f\x2d\x85\xc6\x0f\x8b\xe3\x3f\xe1\x1b\x15\x1f\xb1\x43\xf4\xbc\xc4\x3e\x52\x8f\x29\x68\xd0\x3c\xff\x58\xfc\x00\xf1\x6d\x94\x3e\x48\xfb\x6c\x11\xde\x5c\x11\xf9\x7e\x7b\x24\x9c\x86\x93\x06\xe2\x63\x63\x1c\x5d\x5c\x12\x28\xe7\xf7\x63\xf0\x3a\xe5\x3f\x19\x85\x76\x0f\x8b\xe9\x9e\x5f\x6a\xe3\x61\xe1\x04\x09\x64\xeb\x93\x30\xa1\x58\x8d\x61\x01\x15\xca\x8e\xcf\x89\xa1\x13\xaf\xd9\xe1\x65\x0d\x41\x7d\xf0\x7d\xb7\xbe\xba\xd7\x87\x5e\x33\x92\x9e\x71\x0b\xff\xe3\xf6\x01\x64\xc9\xa6\x47\xcf\xa5\x07\xf2\xfd\x1f\x3e\xe7\x8e\x32\xcd\x6e\x39\x4d\x51\x21\xba\x0a\x60\xac\x0f\xec\xb8\xcc\x96\x7e\xb0\xd5\xe3\x35\x74\x15\x1c\xe2\x03\x13\xb3\x24\x38\x02\x35\x74\xa5\xee\xd2\xc0\xfb\x96\x49\xa7\x2e\x7f\x00\x2c\x3b\x08\x16\x06\x0b\xe7\x91\xe0\x35\x12\x8c\xd7\xe9\x3b\x40\x2b\x5e\xdc\xcf\xe2\x5b\x0f\x07\xf4\xf2\xab\x65\xf6\xda\x98\x42\x7d\xe2\x1b\x09\x5f\xa7\x0d\x29\x61\xb0\xc3\xce\xb0\xbb\x51\xcc\x8a\x1d\x7c\x6b\x86\x00\x52\x62\x9f\x61\x3a\xe0\x65\xb4\x6d\x88\x94\x20\xad\x42\x6e\x0e\x97\x74\xb7\xf4\x35\xe8\xfd\x25\xf3\x2a\x97\x13\x25\xa3\x4f\x8c\xc2\xa2\x88\x46\x6a\x4b\x92\x84\x6f\x51\x27\x21\x78\x14\x99\x84\xf3\xe7\x27\xd8\xe9\x35\x89\xfc\x9e\x22\x91\xdf\x93\x65\x7c\x54\x0c\xbb\x23\x2c\x29\x7b\x00\x41\x2d\xa9\x27\x41\xf1\x65\x77\x04\x72\xf9\x1c\x1e\x98\xed\xd2\xd0\xd8\x91\x22\x90\x83\xf4\xf0\x9c\x8d\x84\x77\xb8\x63\x9d\x29\xc0\x8f\xc7\xed\xe0\xa3\xee\x42\xeb\xea\xc3\x50\xff\xc1\x30\x4c\x72\xf6\x5b\x54\xe3\x87\x70\x2c\x5c\xd2\x78\xf1\xaf\x60\x7b\x06\x28\x77\xf8\xae\xb7\xfa\x8e\xd0\x09\xcf\x93\xc8\x17\x29\x0f\xbe\x2d\xf4\x02\xc3\xad\x80\x24\xc8\x42\xc6\x0e\xb9\x7d\x09\xed\x7f\xcd\x15\x8c\xb5\xc9\x64\x34\x20\x73\x40\x8b\x66\x6f\x04\x8d\x8e\x2b\xaa\xd2\x2a\xd0\x0c\x8d\x16\xc4\x20\x44\xb2\x6b\x6e\xb8\xf7\x76\xd1\xd7\xab\x57\x87\x48\xab\x3a\x78\xf4\xbe\x5c\x3d\x02\x3c\xc1\x1c\x29\xcf\x25\x06\x1c\x8b\x7b\xb4\x24\x7e\x38\x8c\xe8\x6e\x33\x13\xd8\x45\xbe\x05\xfc\x37\x5d\x1f\x4c\xc8\x2a\xe6\x32\xc3\x3b\x27\x79\xc0\x45\xe5\xda\xd4\xe5\xfa\xac\x22\x66\x34\x60\xf1\x42\xd4\x0a\x11\x3a\x86\x51\xe5\x95\x77\x0c\x23\x4c\xcb\xbd\xe1\x01\x79\x6e\xac\x94\x52\xa9\x54\xea\x8e\x26\xeb\xda\x64\x65\x7d\x1d\x58\x7f\x35\xcb\xa5\x4e\xa9\x54\xaa\x72\xa3\x5c\x73\x63\x25\x34\xea\xe5\xce\xb4\x36\x39\x77\xce\xfd\x5c\x2e\x57\x34\x98\x19\x3a\x98\xd4\x2b\xcf\x82\xa2\x96\x07\x93\x7a\x81\x6f\x1e\xf9\x39\x9a\x6b\xcd\x45\x69\x6e\x57\x30\x11\x6b\x83\xe9\xa0\x25\xcd\x3a\x83\x5a\xa3\x34\xa8\xcf\x26\x83\xba\xb4\x18\xd4\x31\x76\x50\x93\x5a\x83\x1a\xd6\x19\xd4\x06\xb5\x52\xe5\x44\x94\xeb\x54\x7e\xad\xd6\x0e\xb6\xc1\x71\x34\x99\xf6\x86\xcf\x64\x65\xd1\x6a\xfd\xcb\x56\x3d\x5d\x6a\xfa\x18\x5e\xbd\x6c\x21\x34\xe5\xf0\xa9\x5d\x67\xad\xbf\x6a\x4e\xd7\x2b\x07\xaa\xba\xee\x7d\xa4\xeb\xf5\x9a\xd7\xf5\xee\xaa\x3b\xe5\xce\x8b\x72\x69\x52\x2f\x0f\x57\xab\x97\x4e\xa9\x76\x5e\x94\x4f\x58\x71\x5b\xeb\xaf\xe0\xdd\x75\xc6\xd6\x9b\x58\x5e\xf7\x63\xf9\xef\x2a\x85\x1c\x33\xc4\x07\x64\xaa\x3f\x56\x2a\x44\xc3\xa2\x59\xeb\xf3\xe7\x49\xd4\x6b\x54\x83\x6b\xaf\x2a\xa2\xa2\xc7\xdf\xf7\x2f\x5e\x77\xa6\x45\xff\x1e\x83\x84\x38\x2e\xfb\xea\x83\x69\x08\x3e\x5b\x4e\x82\x18\x8f\x68\x5a\xae\x60\x09\xc6\xb8\x87\x0b\xe5\x60\x94\x59\xaf\x45\x47\xe2\xc0\x54\x4b\x88\xb6\x15\x09\x1f\x09\x37\x29\x25\x6a\xb7\x17\xff\x32\xeb\x63\x2f\xcd\xaa\x26\x18\x81\x4e\x7f\x60\x02\x95\x27\xa5\x52\x19\x0c\x2a\xf6\x04\x2a\x9f\xce\xf3\xe7\xbe\x05\x80\x4e\xed\x09\x64\x7d\x3d\x77\xce\x2d\xf7\x4f\x0d\xed\x8e\x27\xfe\xdf\xd6\xbf\xa7\xce\xa6\xe5\x4b\xb3\xd3\xa9\xde\x46\x09\xa5\xdb\xb0\x48\xb7\x5a\x42\xba\xd5\xd6\xa1\x53\x2d\x9d\x3a\x9b\x9a\x2f\xaf\x66\xe5\x9d\x3b\xf6\xe7\x52\x27\xd2\xad\x5a\xe9\x03\x48\x1b\x1d\xb2\x37\xde\x5a\x93\x1e\x35\x98\xb9\x35\xc9\xa5\xa5\xb4\xb0\xea\x1d\xd4\xca\x25\xa9\x2d\x2c\xc7\x42\xbf\x9d\x07\xf8\x3e\xb7\xc4\x86\x07\xb6\x59\x5a\xb5\x2a\xe5\x34\x2f\x93\xeb\xc5\xac\x7e\x66\xf1\x6e\x69\x50\xab\x28\xbb\x67\x81\x96\xd4\x5d\x67\xd3\x3a\x8e\x27\x68\xb7\x31\xdc\x2e\xf0\xee\x99\x65\x1a\x47\xbd\x5b\x1d\xe0\x87\x42\xdf\x92\x17\xd5\x15\xd1\xab\x96\x0e\x9d\xca\x41\x7f\xa9\xac\x94\xe7\x72\x7f\x8c\x14\x67\xe9\xa3\x4a\x5a\x04\x7a\x6e\x0e\x47\x63\xb1\x53\x5a\x13\xd5\x6a\x8d\x43\x0b\xf9\xb4\x24\x6e\xe4\xf5\x7e\xba\x02\xa4\x2c\xad\x3b\x03\x81\x58\x97\x0a\xe6\x71\x8b\xb5\xc4\x66\xaf\xb7\x60\x51\x04\xeb\xe4\x36\x33\xa4\x50\x68\xe7\x30\x51\x18\x0f\x4a\xa5\x8a\x41\xb6\x87\xb5\xfa\x04\x74\x35\x1d\xef\xa1\xa6\x84\x94\x06\x6b\xd0\x20\xe5\x56\xbf\xa2\xb4\x76\xe8\x20\x9f\xd6\x72\x1d\xb9\x38\x47\x9f\x8b\x47\xa3\x56\xea\x14\x87\x2f\x03\xa9\x57\x3d\x9f\x7a\x28\x3b\x4d\x77\x8d\xf3\x66\xb4\x5e\x6f\x9a\xdb\xe1\xb6\xb4\x92\x8b\xd5\x4e\x85\x5e\xc8\xc3\x79\xab\xd1\x1b\x70\xc6\x4c\xda\xa2\xe7\xe1\x4c\x42\xf6\xdd\x2e\x45\x9f\xd3\x8b\xf4\x1e\xe3\xe7\x4b\x52\x18\xcf\x73\xdb\x25\xb1\x6c\xec\x27\xdd\x31\x95\x1b\xb6\xcd\x4a\x27\x37\x9d\x0e\x9f\xeb\xe5\xfc\xa2\x7c\x30\xe4\x05\xba\xc5\xd7\xd8\x81\x51\xe8\xe6\xa9\x30\xac\x0f\x2a\xd8\xb4\x61\xb2\x68\x35\x8f\x23\xb3\xd9\xcb\x08\x6b\xb4\x96\x58\x9e\xee\x10\xa7\xc9\x38\x5d\x34\xe6\xf4\x4b\xf7\x50\x94\x10\xa9\x55\x34\x95\x2d\x50\x87\x2f\xa0\x92\x5e\x9e\x2a\x7c\xbd\xa2\xec\x0e\xec\x76\x37\xc5\x67\xe5\x66\x7d\x49\x1f\x9b\x2f\x75\xad\x7b\x9c\xaa\xab\xc9\x74\x38\xdb\xac\x72\x1b\x51\xc0\x66\x0c\xdf\x24\x66\xa7\xe3\x42\x9e\xb1\xd3\x29\x32\x3c\xe7\xeb\x8b\x0d\x46\xcd\x8b\xe0\x3c\x60\xcd\x1a\x3e\x5d\x6c\xe7\xe7\xfa\x68\xa1\x4a\x45\xb0\xa3\xd4\xdd\x48\x30\xbb\x8b\x12\xbd\x49\x6b\x48\x43\xa8\x1f\x9f\xf7\xa4\x51\xeb\xed\x8e\x53\x7e\x8a\x98\x86\x56\xd9\x2e\xeb\xb9\x66\x65\x3e\x36\x7b\x5c\xe3\x8c\xb5\x9a\xcf\x4c\x75\x48\x1e\xb8\x36\xd5\xe7\xc0\x50\x6a\xe9\xfc\x5e\xa8\x55\x91\x0a\xb9\x9c\xe6\x95\x0d\x4f\x14\xf2\x7b\xb2\xc8\xf7\x9b\xfa\x18\x2d\xe4\x72\x34\xba\x90\xd1\x66\x9b\x53\x46\x9b\xd6\x64\x5e\x6e\x90\xf3\x15\x5d\x06\x9b\x75\x67\x31\x95\xc6\xc5\x32\xca\x0d\x27\xbd\xee\x86\x78\x36\x4e\xc3\x66\x57\xea\x6e\x27\x2f\xd5\x05\xa8\x62\x95\xc6\x74\x23\x2c\x11\x95\xee\x3d\xa3\x9b\xa9\xb9\x78\x6e\xa9\x9b\xf6\xb8\x97\x97\x8a\x9c\xb2\xdf\xd7\x64\x9c\x39\xe7\xaa\x4d\x82\x20\x10\x1e\x4b\x73\x45\x7e\x2f\x4e\xd7\x69\xe2\xe5\xc5\x7c\xa6\xd8\x4e\xa1\x31\x65\x9f\x9f\xb7\xd2\x0e\x5f\xee\x76\x65\x9e\x59\xd3\x80\x27\xe4\xb4\x2a\x6c\xca\x26\xd7\x5d\x36\xf1\x66\xba\x37\xc3\xbb\x4a\x5a\x63\xc6\xd2\x74\xbe\xe1\x59\xa1\xcf\xe8\xb9\xc6\x74\x90\x1f\x4c\x28\x63\xb6\x9b\xcc\x48\x51\x91\x01\xdf\xe4\x65\x92\xa7\x8e\xad\x62\xb5\x74\xe4\x76\x83\x09\x2e\x93\xa4\x39\x29\x60\xa8\xb4\xc1\x96\xe6\x64\x87\x8c\x16\x0a\x26\xec\x4b\xa4\x31\x5e\x1f\xb7\xb8\xf6\x4c\x99\x69\x53\x5b\x18\x4b\x61\xf7\x6c\x36\x84\x59\xa7\xb6\x65\x54\x22\xd7\xab\xbf\xb4\xc6\xad\xfd\x49\xe3\xc1\xd6\xc0\xc9\x59\x63\xbf\xd9\xf7\xa9\x9e\x58\x1b\x1e\xfa\x54\x7a\x3a\xc1\x8b\xe7\xb4\xb5\x61\x49\x23\xa3\xf1\xba\x5f\xd8\x6c\xd3\xc8\x08\x28\x25\xb0\x1e\x6e\x7a\x8c\xc4\xad\x69\x84\xc7\x16\x07\xde\x64\x3b\xba\x9e\x37\xe9\xfe\xb4\x8e\x6b\xe3\x75\x37\x57\x6b\x52\x7c\x13\x5f\xac\x6b\x06\xce\x54\xd1\x73\x47\x3c\x34\x0c\xb3\x90\x2b\xd0\xe4\x59\x6b\xb6\xcd\x21\xd5\x3d\x69\xdb\xe7\xce\x33\xd9\x25\x77\x3b\xbe\x08\xf6\xd4\x82\x58\xf3\x0d\x7e\xd4\xd7\xd8\xfc\x72\xb6\xdc\xf5\x07\xda\xa0\x4f\xa7\x8f\x64\x85\x07\x85\x7a\x8f\x24\x25\x7c\xae\xb1\x7a\x61\x8c\x8f\xeb\x93\xc5\x00\x39\xef\x36\xe4\x66\xdc\x57\x3a\x12\xbd\x1a\x9c\x09\x46\xab\xaf\x0b\x55\xfc\x48\xbe\x14\x7b\xf2\xea\x34\x3c\xa5\x5b\x35\x1a\x69\xaf\xca\x43\x91\x2e\xcf\x4a\xad\xf6\xe2\x34\x5d\x6c\x16\xd5\x3a\x91\xef\x1f\xba\xd3\xdc\xf8\x50\x6a\x0d\xf9\x72\xba\x2c\xd4\xd9\x13\x50\x44\x76\x2d\x6c\x68\x2a\xdd\xcf\x1f\xb9\x5c\xae\xb5\x07\xad\x74\x5b\x54\x0f\xb2\xc6\x2d\xfb\xf9\x23\x38\x72\x55\x2a\x47\x74\x73\xfd\xea\xb9\x8f\x50\xdd\x25\xc7\x16\xf6\x7d\xa2\x99\x9f\x3d\xd7\xe7\x2f\xcc\x6e\x33\x60\x27\xc5\x71\x7e\xb0\xdc\xd7\xd7\x4d\xae\x9b\x4b\xeb\x32\x27\x9d\x28\xb1\x32\x18\x0e\x8a\xcf\xbd\x52\x61\xa8\xa0\xe3\xe3\xc6\x30\x16\xe6\x44\x9c\x93\xe5\x67\x92\x4f\xe7\xa8\x45\xbb\x35\xdb\x88\xdd\xfa\xb0\xb6\x55\x5f\xda\xf3\xc6\xc0\x9c\xf5\x10\x14\x60\x52\x9f\x9e\x10\x6a\x09\xcd\xef\x9a\x79\xa1\x06\x9e\xf9\xa1\xae\x69\xbb\x35\x91\x33\x90\x75\x7b\xd0\xaf\xb5\x47\xca\x76\xf2\xd2\xaf\xab\x6d\x1d\x20\x2d\x13\xe9\x77\x07\xdd\xe9\xa8\x2b\xf7\xcc\xc2\xb2\xd9\x9f\x2d\xd9\xc2\x78\xb2\xde\x96\x57\xb5\xca\x50\xd8\x2e\x3b\x9a\x4a\xcc\x77\xc5\x19\xda\xed\x9b\xcc\xb6\xd5\x9a\x48\xc4\x5a\xd6\x8c\x93\xb0\x1d\xb5\x36\xbb\xf4\x86\xdd\xe2\x4c\xaf\x3c\xd8\xaa\xf2\xa8\xac\x6d\x27\xc5\x7c\xe9\x45\xcc\xe3\x6a\x7b\x37\xe7\xeb\x2c\x59\x12\xdb\xbb\x2e\xce\xce\xf7\xca\xb8\xf6\xdc\x3a\xb7\x59\x93\xec\x8f\x6a\xf5\x5d\x53\x68\xa8\x14\xbd\x3e\xa7\x71\x7c\x89\x6b\x33\x43\x3d\xaf\x6b\xfc\x33\x4a\x55\x7b\x85\xf9\x5c\xc0\x47\xd8\xbe\xb5\xe7\x27\x95\xa6\xac\xce\x34\x56\x5f\x36\x85\xe6\xb4\x54\x9f\x34\x90\xe7\x41\x5b\xa9\xad\x36\x8d\x4d\x63\x58\x6f\xa0\x62\x91\xd9\x61\xe4\xea\xd4\xdf\xb6\x94\x52\xb7\xcc\xd6\x68\xa6\x58\xad\xf5\x79\x2c\x2f\x54\xb6\x04\x32\x65\x66\x34\x62\xf6\x0b\xd4\x6c\xdb\xd1\xc7\x83\x66\x7f\xd0\x2c\x8f\xe4\x76\xbb\x59\x39\x19\x2a\xca\xcd\x8a\x93\x33\xc6\x96\x07\x8a\x82\xf4\x6b\xbb\x29\xd0\x73\x1a\xc6\x74\x10\x14\x47\x2b\x2f\xc6\xcb\x79\x52\x99\x4e\x04\xee\x50\x94\x29\xd3\xa4\xfb\x8b\x42\x8b\x93\x27\x8b\x0e\x30\xb0\xf2\x98\x65\x27\x46\x8b\x1f\xad\xe5\x33\x85\x48\x65\x40\x91\x6d\x7a\x6c\xca\x2f\x39\x63\xba\x1b\x97\x18\x06\xd4\xd0\x96\x54\x61\xf1\xbd\x88\x52\x1d\xb6\x55\x13\x66\x2c\x6e\x54\x2a\x62\x95\xac\x76\x8a\xa5\x6d\x7e\x59\x5f\x56\xca\xdb\x65\x6d\x7a\x5e\x6f\xf9\x16\x99\x93\xa9\x26\xc3\xa9\xe9\x43\x1d\xc7\xcb\xed\x51\xb3\xa0\x2d\x59\x6a\xdf\x1a\x95\x73\x2b\x59\x34\x2a\xb4\x9e\x5b\x62\x18\x59\x1f\x19\xdc\x19\x3b\x21\xeb\xe5\xbc\x86\x16\x45\xcd\x20\x55\x34\x9f\xef\x9e\x86\x28\x9a\xee\x35\x99\xdc\xb8\xb9\x3e\xb7\xfb\x05\xea\xd0\xc7\xcc\x85\xb6\xd9\x9f\xd1\x75\x11\x03\x63\x1d\x74\x6b\xe7\x2a\x53\xc6\x64\x2e\xd7\x5b\xa0\xfd\x53\x71\xd6\x3d\x50\xb9\xdd\x46\xee\xa6\x79\x69\x2f\x4b\x07\x79\xb1\x3d\x6e\x78\xd4\x48\x4b\xa5\x59\x7e\x2e\xea\xcc\x99\x6e\xe3\x74\xbe\x7a\x6e\xa2\x3a\x8f\x4f\x38\x35\x2f\xe5\x38\xb6\xc7\x53\x28\xa9\xcf\x30\x6a\xc4\xf1\xfb\x86\x56\xa1\x8f\xcc\x94\x10\x8b\x72\x8d\x96\x91\x39\x72\xdc\xd5\xe8\xa1\xc6\xec\x25\x59\xd4\x1a\x75\x13\xef\x8f\xbb\xb8\xcc\x4d\x94\x97\x9e\x49\xab\xb3\x42\xaf\xfa\x72\x36\xb9\x97\xa9\x22\x75\x9a\xa5\x3c\x7a\xce\x75\x0e\xd2\xb8\x28\x8d\xa5\x6e\x9a\xe9\x2d\xe5\x51\xb1\xcb\xb6\xab\x7a\x7a\x4a\xe2\x46\x7a\xd6\x3f\x0f\x64\xa6\x4b\x17\x73\xf2\x50\xa9\xf4\x45\xac\xf4\xbc\xeb\x31\xcf\xf5\xbd\x68\xd4\xca\x4a\x7f\xcf\x4e\x0f\xdd\x83\x44\xef\x8f\xbd\x13\xde\xaa\x1e\xea\x25\x71\x3b\xab\xcc\xfa\xe5\xdd\xba\x5d\xad\x14\x1a\x86\x5e\xe9\x8b\x8d\x45\xab\xc0\x0a\x83\xd3\xb0\x95\xc6\x73\x95\x97\x66\x53\x67\x4f\xfa\x7c\xcf\x23\x27\xf9\x3c\x6b\xf5\x06\x7a\x5f\xc3\x0f\x33\x51\xdc\x1e\xbb\x03\x7d\x5b\x4d\x33\x05\x2c\xd7\x5a\x0b\x85\x5d\xa5\x22\xa1\x24\x32\x57\x7b\xcc\x5c\x66\xb1\x61\x5d\x4f\xb3\xed\xdd\x70\x5d\xaa\x91\xa5\xa6\xda\x2a\x94\x7b\x4b\xa6\x49\x8e\x07\x9c\x38\x2f\x17\xda\xa5\x49\xad\x55\x21\x4a\xfb\x6d\xbd\x3f\xea\xd4\xc4\x1c\x37\x48\xef\xf3\x44\x1a\xcb\x31\x22\x05\xe4\xba\x21\xe5\xf6\x79\x2c\x3d\xcb\xb1\x39\xd0\x1c\xcd\xf0\xca\xa4\x3b\x6c\x74\x97\xa7\xcd\x4a\x58\x76\x9b\x35\x8a\x9f\x61\x0c\xc5\x53\xf8\xb4\x31\x62\x2b\xcd\xd1\xbe\x95\xaf\x1c\x37\x7c\x33\x67\x2c\xe4\xf1\x84\xc0\x2b\xa7\x43\x5d\x28\xf1\xf2\x38\xd7\x93\xd3\xa2\x29\x37\x71\x2c\x4f\x0c\xc9\x06\x76\x66\xf6\x08\xae\x8d\x37\xc5\x7a\xfa\x5c\xc4\xd2\x93\xbc\xba\xeb\xcf\x49\xac\xbf\xdc\x70\x1d\x9c\x34\x79\x6a\x7f\xd4\x71\x85\x57\xf3\xc5\xe2\xb3\x29\xf2\x58\xb9\x50\xa9\xb1\x58\x7b\xba\xd9\xb7\x25\xaa\xd7\x1a\x93\x95\x5e\xb1\x0f\xb6\xfb\x6a\xae\x30\xce\x53\xf9\xf9\x6a\xcc\x62\x67\xd4\x94\xe4\x1a\xb7\x5a\x9d\xc6\x24\x98\x63\x7a\x7a\x5b\x3c\x35\xd4\x7d\x13\xdd\xee\xf6\x2d\x12\xc3\x5b\x53\x7e\x54\x3a\x73\xe2\x0c\x5b\x31\x26\x7e\x96\xc9\x34\xb5\xc9\xb5\xeb\x2c\xdf\xe2\x0d\x44\x2c\xf7\x04\x22\xd7\xa6\x58\x46\x2a\x8f\x97\xed\x31\xd7\x57\x8a\xfc\x14\xcd\xe1\x2a\x2d\xed\xc6\x93\x7a\x85\x16\x7b\xd3\xad\x29\x4f\xb9\xee\x78\x42\x32\x23\x1a\xeb\xca\xf9\xc9\xcb\x46\x44\x4a\x79\x85\xcc\xd1\x0d\x83\x5a\x52\xe3\xe7\x89\x3a\xad\xe4\x73\xd3\x97\x91\x36\x3b\xef\xc6\x4a\x9e\x49\x9f\xce\xbd\x74\x51\xc0\x0a\xfa\xba\x69\x98\x2b\x91\x64\xe7\xf3\x51\xb1\xfb\x22\x9f\x16\xcd\xe9\x32\xdd\x3d\xe7\x8b\x93\x46\xfe\x44\x08\x72\xbe\xb4\x3b\xd3\x45\x55\x49\x1b\x65\x7d\xde\x47\xcb\x85\x43\x65\x86\x4b\x08\x7a\x9a\xee\x76\xc5\x06\x7e\xc0\x77\xb9\x79\x3a\x87\x8a\xea\x92\x9c\xd5\x98\x67\xae\x37\x96\xbb\xfa\x51\x58\x18\x5c\x5a\x5e\x6d\x44\xac\x50\x3f\xa4\xcf\xeb\x43\xe3\xf0\x52\x42\x72\x52\x15\xb4\x46\x04\x55\x3a\xce\xe4\x1e\xd6\x99\xca\x93\x7a\x95\xc2\xf2\x69\x9d\xd6\xcd\xd2\xf1\xd4\x56\xc7\xba\x8a\x97\xd2\xd4\x6c\x25\xab\x62\x43\x6d\xbd\xa8\x2f\x68\x7b\x88\xa1\xe2\xd2\x20\xb7\xd8\x72\xa4\xd5\xfb\x35\x02\x2d\x19\xa0\x76\x4a\x0f\x8a\x3b\x4d\x26\x0b\xbb\x59\x3e\x2f\x76\x3b\x85\x7c\x5e\x9f\xcf\x77\x69\x9e\x6d\xbc\xa8\x39\x6c\x25\xd4\xc6\xcb\x1e\x69\x8c\x17\xa6\xd4\xec\x31\xc7\xe7\xea\x00\xa1\xc1\x79\x7d\x64\x30\x1e\x74\x6b\x48\x67\x26\xee\x77\xcb\x11\x3a\x3a\x1f\xf4\xf6\x92\xd3\x45\x13\x3f\x16\xf9\x05\x0d\x0a\xcd\xfa\x7c\x01\x4a\xcf\x6c\x6b\x0a\x36\xc7\xc3\x79\x75\x60\x91\x45\x8d\xda\x8c\xcf\xe6\xac\x57\x32\x77\xbd\x51\xba\x31\x5e\xe0\x1a\x9b\xd6\xa4\xea\xb1\xf4\x2c\xe7\xa7\xb5\x7e\xc9\x48\xd3\x92\x94\xcb\x2f\xcc\x02\xd8\x23\x2b\x5e\xde\x36\xd9\xad\xb8\x19\x17\xe4\x91\x42\xf3\xb9\xe1\x16\x74\x57\x13\xb0\xa1\x9f\x19\x53\x6b\x08\x0b\x83\x2a\x52\xf5\x6e\x8b\x9d\x6b\x46\x0e\x3f\xb5\xd7\x85\x01\x43\xa7\x69\x6e\xbf\x42\xca\x87\x76\x65\x4b\x51\x03\x5a\x52\xf1\xd9\xfe\x68\xcc\xd1\x55\xe7\x3c\xaa\x2e\x4f\x74\xba\x3c\x29\x9c\xb0\xde\x30\xad\xac\x4e\xdb\xfc\x81\x5c\xa7\xbb\xca\x31\x9d\xa3\x46\x08\xa1\x76\x4d\xf9\xf0\xbc\x53\x8d\x62\x95\x29\x9e\x80\x54\xc2\x1a\xca\x76\xb3\x1b\xaf\x1b\xc3\xb4\xa4\xa3\x6d\xb0\xe8\x80\x22\xb6\x36\xc9\x13\xb6\x64\x74\xb2\x47\x32\x20\x2f\x6d\x35\x13\x6b\x8a\xea\x8a\x25\x37\x04\x4e\x74\xd0\x6e\x5f\xd8\x21\xbb\xdd\x6a\xae\xd0\xd5\xed\x61\x37\x9e\x60\xe8\x14\xd1\xf3\xdc\x6a\x91\x1b\xf3\x2f\xf3\xe2\xbc\x33\x46\x4d\xee\x48\x52\xc3\xf6\x6e\xbc\xe3\x49\x7a\x27\x0e\xf1\xfd\x74\x67\xf4\x66\xf4\x42\x65\x54\xa2\x6b\xcc\x30\x43\xea\xd3\x73\xe6\x50\x5a\xb6\x90\x09\x7a\xd6\x94\x56\xce\x10\x86\xb3\xa2\x52\x9e\xf6\x8c\x17\x72\x30\xa6\x4c\x13\x1b\x37\x11\x59\x5c\xc9\xf3\xe1\x68\xa7\xbf\x6c\x1b\xf3\x55\xba\x2d\x97\xc7\x95\x8d\xa2\x4e\x41\x83\x05\xf3\x2d\x56\x97\x4b\x46\x45\x11\xb7\x93\x93\xdc\xe8\xc8\xe8\x48\x6b\xce\xc1\x66\x87\xf7\x4f\xc4\x84\x3c\x34\xe7\xcb\xbd\x21\x9a\x6d\x63\xde\xc3\xf2\xcd\xf4\xbe\x7e\xea\x94\x8b\xc7\x9a\x58\x6f\x1d\xbb\x03\x8a\x9f\x48\xf5\x4d\x71\x2e\x51\x23\x8d\xca\x8f\xb4\x12\xc5\x14\x89\x06\xaf\x12\xcd\x17\x9d\xc1\xb4\x51\x87\xc4\xa7\xa3\x8e\xaa\x83\x67\x94\xcd\x33\xfa\x9c\x01\xec\x5a\x27\xce\xab\x1e\x5e\x13\x26\x7b\x9d\xda\x3e\xe7\x8d\x95\x3e\x91\xc4\x95\x48\xbf\x6c\x97\xc2\x72\x3a\x32\xce\xbd\xf2\x59\xe9\x6b\xed\x66\x6f\x84\x4e\x57\xd3\x21\xb9\x30\xc7\xfd\xf9\x19\x9d\xae\xe6\x43\x72\xd1\xc9\xa5\xcd\xe2\x71\x25\x6e\x4f\xcb\xe1\x18\x9b\xed\x56\x6b\x91\x91\xa7\x6c\xa1\x52\x4a\x13\x92\x71\x1c\xaa\xe4\xbe\x9c\x9f\x1f\x67\x79\xe6\x80\xbf\x1c\xf6\xa7\x43\x0b\x51\x35\xb2\xd3\xa5\x9a\xdd\xae\x36\x11\x72\xfc\x64\xd9\x23\x14\xca\x38\x1f\x4d\xc1\xec\x21\x0d\xf3\xe5\x3c\x99\x70\x26\xde\xe8\x4d\xf1\x0e\xa5\xd1\x60\x6c\x62\x5d\xa9\x40\x0f\xd3\xa0\x2c\x4e\xab\x68\x59\x56\xa6\x1b\xe5\x60\x20\xcd\xf2\x4a\x5e\x90\x68\x5f\xdb\x71\xe3\x5c\xf1\x74\x34\xda\xe4\xa2\x39\xdb\x82\xc6\xb3\x7e\x50\x8e\x6d\xb3\xc3\x36\xcc\xd6\x42\x79\xe6\x94\xc3\x73\x6f\x40\xcc\x8f\xca\x3e\x4d\x2c\x99\xdc\x76\x3d\x29\x74\x78\xaa\x80\xd2\xf8\x6a\x99\x43\x56\x0b\x03\xed\x6f\x1a\xdc\x14\x6d\x63\x39\xa9\x3c\x22\xcf\x39\xb2\x70\xd6\x98\x41\x0f\x94\x6b\xd4\x59\x6d\x2c\x57\xa5\xbc\x2e\x0d\xcf\x2b\x96\xaa\x62\xc7\x67\xb1\x37\x14\x2b\xc2\x64\xfa\xac\xf1\x23\x5d\xec\x94\xa6\xa6\xd8\x22\xa9\xfe\x3c\x3d\x6f\xee\x0b\xe8\x8a\xaa\x52\xa7\x7e\xbd\x93\xee\x4c\x67\x95\x76\x55\x14\x5e\xda\x1c\xaf\x74\xd6\xd3\x85\x72\xe8\xcf\x16\xfa\x16\x35\xb7\x87\x3a\x6a\x0a\x25\x13\x1d\xe6\x9a\x6b\x72\x8f\x1d\xba\x4c\x41\x4b\x17\x7b\x88\x5a\x6e\x94\x68\xe1\xf9\x65\xc7\x49\x39\x74\x3f\xa9\x08\xf5\x51\x85\x5b\x8f\x5b\x9b\xd9\x5a\x36\x4a\x07\xc0\x2f\x48\xbd\x73\x1c\xce\xd0\xb1\xd2\x96\x97\x85\xe2\xf3\x66\x30\x96\xcd\xc6\xb9\x31\x99\x95\xd1\xea\xcb\xb6\x6d\x98\x22\xa2\xf0\x0a\x2b\xe3\xa3\x1e\x4f\x1e\x3a\x26\x2e\x99\xc5\xfc\x0e\x47\x1a\x5d\x0c\x14\x8b\x6b\x80\xad\x9e\x6b\xea\x86\xaa\x6e\xf7\x87\xcd\x86\x30\x00\xc3\x90\x5c\xa1\x56\x2e\x99\x6b\x73\xd2\x6e\x17\xf2\x7c\x91\xe2\x09\x7a\x9c\x43\x7b\x62\xf7\x9c\x6f\x0c\xf9\xd5\x2a\x3d\x5b\x83\xca\xa4\xae\xf3\x35\x94\x62\xd5\x5a\xbd\x7b\x24\xc1\xb1\x35\x91\x9a\x47\xa4\x78\xe6\x70\xa2\x44\x0f\xb9\x52\xa5\x52\x55\xd3\xe3\xe9\xcb\x48\xac\xef\x51\x46\x3c\xaf\x9e\x87\x18\x58\x1d\xc9\xf3\x31\xa7\x03\x80\xa8\x72\x9a\xdb\x30\x43\xa2\xde\x9a\x2a\xfc\x99\xc8\x4d\xc0\x94\xca\x37\xf0\xf4\x5e\xc3\x65\xa1\x92\x6e\x22\x44\xef\x9c\x93\x99\x43\x29\x2f\xee\x0c\x29\x7d\x28\x9f\xf8\x41\xd4\xc8\x95\xba\x1a\x3b\x5d\xcf\x02\xff\x1d\x30\xf7\x08\xbc\x4c\xeb\xde\x21\xcd\xe5\xa0\x1c\x89\x1c\xc4\x50\x30\x83\x95\x6b\x8b\x09\x1d\x8a\x43\x8c\xb1\xac\xf5\xb9\xc3\x71\xcb\x01\xb4\x2f\x5b\xb1\xd6\xc7\xe7\xfd\x7e\xc1\x12\x76\x56\x65\x17\xb3\xc1\x84\x95\xdb\x97\xe8\xfd\x67\x3b\x66\x44\xa0\x8b\x01\xcb\xbe\x01\xb3\xff\x44\x89\x60\x5b\x84\x5c\x93\xda\x6f\x58\x91\x2c\x16\x8a\x9e\xd3\x09\xa4\xe7\x04\x56\x60\x58\xfa\x1e\x97\x35\xaa\x90\x67\x1d\x97\x35\x84\x2a\xd0\x98\xeb\xb2\x06\x31\x05\x46\x43\x95\x21\xc5\x02\x82\x17\xb1\xef\x3e\xe7\x17\xdb\x19\xe6\x21\xf8\x50\x71\xea\xea\x77\x88\x44\x8c\x87\x9f\x53\xeb\x67\x57\x18\x18\xd2\x58\xc3\x2c\xc6\x51\x2c\x8d\xdd\x41\x64\x92\x2e\x12\x1c\x6e\x13\x99\xca\xe3\x0c\xe9\x63\xaf\x4b\x23\xb1\xae\xb5\x4e\x91\x68\x2b\xf6\x79\x4f\xe0\x61\xe2\x84\xd7\x5a\x62\xe3\x91\xda\xfe\x2c\x2b\xd0\x55\xfa\x76\x15\xf0\xf7\x60\xdf\xae\xd6\xc3\x0c\xcd\x1a\x26\x2d\x5a\xcc\x0b\xbd\x6b\xeb\xba\xaa\xb9\xc0\x8c\x22\x72\x31\x60\x19\x82\x72\xaf\x92\x7b\xa0\x86\xa1\x48\x71\xc0\x45\x2c\x00\xec\xd8\x56\xe3\x80\x51\xbc\x10\x80\xe6\x80\x08\x8c\x38\x74\x33\x68\x81\x08\x40\xf3\x82\x28\xda\xa4\x8f\x2b\x80\x61\xc5\x50\x01\x23\x16\x34\x9f\x0f\x82\x2a\xb2\x91\x58\x37\x8e\x05\x3b\xea\xf1\x50\x72\x21\x2a\xd8\x5f\x9b\x3f\x62\xc9\x8e\x06\xbb\xeb\x3c\xc5\x11\x3f\x48\x48\x00\x5a\x04\x7c\x6c\x67\x49\x84\x0c\xc0\x3a\x0e\xa5\xb1\xd0\x64\xb0\xa7\x0e\x0b\xc7\x01\x17\x83\x3d\xd4\x00\xa7\xc4\xc1\x52\x44\xb0\x83\xce\x4b\x7e\x71\xc0\x85\xe0\x58\x3a\x42\x24\x0e\x3a\x8f\x07\x7b\xa8\x1b\x9a\xb2\x05\x89\x63\x93\x2f\x04\xbb\x69\x28\xf0\x3b\xea\x48\x2a\x53\xc0\x82\x9d\xbc\x1c\xa0\xc6\x16\xc8\x13\xe1\x02\xb1\x54\x29\x62\xc1\x81\x3c\x2b\x8a\x24\xc8\xb1\xd0\x14\x15\x81\x56\xcc\x58\x2a\xa2\x08\x1a\xec\x25\xad\x69\xf1\x54\x44\x11\x32\x48\x74\x51\x90\xb7\x80\x8b\x67\x59\x14\x45\x22\x74\xa7\x93\x46\x15\x45\xc9\x60\x6f\x81\x6c\x08\xc6\x29\x1e\xbc\x18\xec\xae\xa2\x19\x6b\x65\xa5\xc8\xb4\x18\x5b\x04\x23\x42\x12\xc9\xd4\xf6\x20\x56\xd6\xa1\x58\x21\x38\xb6\xb2\x92\x4c\x22\x1c\x27\x42\x1d\xe0\xec\x27\x82\xe3\x67\x2a\x8a\x17\xc2\x7d\xe6\x14\x15\xc4\x0e\x31\x4a\x60\x54\x18\xde\x76\x41\x88\x2f\x90\xc7\x22\x0d\xec\x13\x48\x44\xa2\x85\x30\x3c\x27\xd0\x92\x22\xc7\x93\x89\xa4\x22\xdd\x36\xd6\x82\x7c\xab\x18\x85\x46\xba\xee\x52\xcb\xf6\x91\x89\x2f\x47\xc2\x49\x90\x5c\x2a\x8f\x40\xe9\x70\xa3\x10\x11\x47\x8c\x1b\xe5\x8a\x49\x14\x49\x2e\x5b\x20\x90\xd0\xb4\xa1\x35\xe3\x16\x1b\x15\x0a\x54\xb4\x50\x22\x23\x15\x71\x2c\x5a\x22\x99\x95\x8a\xf9\x02\xa4\x91\x04\x66\xc2\x10\x8c\x88\x96\xb8\xc1\x17\x18\x92\x87\x10\xe0\x0e\x86\xc2\x50\x14\x42\x84\x7b\x58\x0a\x43\xa9\x38\x62\x24\x97\xc3\x90\x18\x8a\xdc\x28\x46\xc6\x93\x25\xb9\xa4\xfd\xc0\x63\x02\x6d\x6e\x94\x0e\x69\x6f\x2b\x51\x61\x62\xe5\x37\x86\x87\xd4\x37\x7b\x73\x03\x38\x51\xd0\xe3\x35\x27\x02\x0f\xaf\x86\x77\x95\x0a\x29\x73\x6b\x45\x13\xce\x8a\x6c\xd0\xa2\x66\xc6\xeb\x22\x18\x89\x23\x91\x15\x29\x1e\x38\x1f\xec\xbb\x20\x73\x20\x5e\x75\xc1\xa8\x90\x4a\xa7\x98\x46\x32\x7c\x48\x9b\xb3\xdf\x6e\x88\xd5\x2f\x43\xda\x9c\xa5\x60\x42\x03\x2d\x86\x8a\x85\xd4\x3a\x0d\x48\xca\x1e\xf0\x76\xc4\xb7\xd8\x42\x05\x24\x34\x29\x4c\x15\x68\x3a\xab\x09\x6a\x42\x99\x90\x96\xa7\x9b\xcc\xad\x12\x21\x55\xcf\xf5\x14\x8b\x81\x2e\x86\x94\x3d\x47\xd5\x67\x15\xd1\x94\x62\x05\x16\x56\x2c\x22\x90\x42\x09\xcb\x31\x8e\xe0\xe1\x21\xd7\x81\x66\x38\xcd\x38\x71\xf5\x63\x4b\x86\xf4\x3f\x7f\x49\xc6\xa2\x78\x6c\xdf\x70\x34\xa4\x0f\x3a\x45\x35\xe5\x90\xdc\x22\x1a\xd2\x0a\x2f\xc5\x6e\x34\x87\x85\x34\xc4\x95\x26\xc4\x32\x10\x8e\x85\x74\x81\x95\x29\x70\x20\x56\x5c\xe0\x78\x48\x7a\x73\x8a\x91\x00\x1c\x92\xda\xb6\x1b\x4c\xd2\xc6\x03\x27\x42\xe2\xda\x2e\x91\xa8\xf7\xe3\x44\x48\x4e\xdb\x45\x92\xb7\x95\x38\x19\x92\xd1\x76\x99\x04\x85\x1e\x27\x43\xd2\xd9\x2e\x90\xbc\xd1\xc5\x29\x04\xd2\xfb\xe4\xad\x14\x4e\x85\xa4\xf1\xc6\xd4\x0d\x81\x3f\xf1\xa6\x18\xbb\xa0\xe2\x54\x48\x26\x3b\x93\x5f\xa5\x65\x10\x5f\x26\x8f\x87\x45\x93\x2c\x47\x9f\x45\x0a\x16\x09\x09\x64\xcf\x93\x38\xb6\x40\x21\x24\x8a\x75\x41\x52\x45\x90\xa8\x2d\xe3\x85\x90\x44\x56\x45\x33\x9e\xbd\x8a\x21\x79\x6c\x83\xc4\xab\xee\x78\x31\x24\x8f\x0d\xc5\x82\x8c\xdd\x30\x23\x21\x89\x6c\x28\xbc\xa6\xc4\x8b\x7b\x02\x09\x89\x62\xce\x54\x45\x81\xa5\xe3\xed\x15\x04\x8a\xc0\x84\x51\x3c\x38\x19\x51\x57\x1d\x7d\x64\x1d\xbf\xff\x23\x30\x04\x8d\x2d\x94\xa8\x19\x10\x18\x91\x0f\x97\x04\x9a\x12\xbf\x89\x25\xb0\x22\x0e\x2d\x60\x28\x49\xa5\x70\xbc\x18\x53\x4a\xa2\xe5\xd8\x9d\x1e\x81\x17\xc8\x68\xb1\xc4\x12\x04\x1e\xa1\x84\xdd\x90\x12\xbf\x86\x11\x44\x1e\x42\x03\xab\x95\xa4\x42\x24\x16\xa1\x83\xa7\x71\x26\x8d\x54\x11\x8f\x6c\x2c\x7c\xc5\x92\xc7\xaa\x58\x88\x6c\x2e\x38\x5a\x5f\xc7\x1b\x78\xb0\x08\xd1\x59\x41\x63\x45\x90\x34\xe1\x48\x24\x1f\xa1\xb9\x53\x2a\xb6\x04\x8a\x45\x68\x4e\xeb\x27\x39\x76\xd3\x42\xa2\x54\x84\xe0\x76\x81\xc4\xee\x93\x18\x8a\xc7\xe9\xea\x49\x14\x27\xa9\x62\x42\xb1\x64\x8a\x53\x68\xd8\x92\x41\x6b\x46\xf2\xfc\xa0\x28\x34\xa6\x48\xf2\x0c\xc9\x23\xf9\xd8\x72\x89\x1c\x9f\x27\x21\x64\xb9\x31\x4b\xf2\x45\x08\x4d\x6e\xce\x93\x02\x01\xa5\xc6\xad\x99\x52\x28\x42\x28\x72\xc7\x5c\x21\x31\x12\x82\xe5\xbd\xb3\x85\xc4\x23\x56\x28\x6b\xaf\x95\x34\x5f\x70\x12\x86\xe8\xed\x19\x83\x17\x21\x43\x77\x63\xce\x10\x04\x64\xd4\x92\x67\x0d\x11\x36\x7e\x5e\x8a\x24\x13\x82\x8c\x98\x41\x2d\xf4\x34\x45\x4f\x28\x52\x80\x50\x42\x51\x81\x9c\x38\x5e\x14\x06\xa1\x83\x55\x2a\xb9\x5f\x54\x3e\x2a\x49\x13\xb1\xcb\xa3\x11\xb9\x76\x13\xb7\x3c\x15\x91\x6a\xb7\x31\x2b\xa0\x28\x54\x1b\x02\x22\x13\xaf\xde\x90\x05\x32\x1f\xb3\xa9\x4d\x2e\x57\x44\xf0\x98\x72\x82\xae\x48\xc0\xd0\xe2\xcd\x40\x64\x91\x28\x42\x31\xbd\xa3\x64\xd1\x22\x8c\x1d\xed\xde\xb9\x2b\x3d\x34\x19\x06\x68\x0c\x2d\x73\xaf\xc1\x30\xae\x08\x52\x0d\xdc\x5c\x28\xb2\xfc\x5b\x28\x70\x3e\xab\xc8\x56\x2d\xee\x63\xf7\x76\xb8\x68\xef\x72\x21\x15\x6c\xe5\x52\x06\x16\x46\xc5\x1f\xf6\x34\xee\x1a\x03\x0c\xe6\x56\xb6\x0f\xf9\xa4\xeb\xa7\x81\x0b\xbf\x79\xeb\xe3\xbf\x7a\xe8\xbe\x18\x60\xed\x73\x03\xfd\xb8\x79\x3b\x2a\xee\xa9\x81\xcb\x79\x7a\xde\xc2\x37\x74\xe0\x8c\xa8\xf0\x27\x0a\x58\xd8\xdb\xa6\x4e\xaf\x2e\x71\x6f\x20\x83\x93\x5d\x01\xbb\xa8\x07\xe4\x91\xe9\x3d\xc1\x02\x7c\xd7\x3b\xe3\x5b\xf8\x68\x04\x00\xfb\x7e\xb3\x6a\xd5\x68\x7d\x71\x0e\x3d\xfd\xf7\x9c\x9d\x97\x2a\x3d\xf0\x6b\x98\x88\x4b\x8a\x4b\x2d\x2d\x4c\xe5\x66\xcc\xa9\x30\x00\xc0\xf7\x30\xc4\x5b\x64\x5c\x53\xd7\xf7\xc5\x59\x96\x85\x9c\xdd\xdb\xa9\x3e\xd7\x01\xdf\x93\xb1\xd1\xca\x0c\xcd\x77\x6d\x8a\x08\x8c\xad\xff\x99\x09\xdf\x7d\x12\x3b\xb4\x40\x28\x2c\xf9\xe5\x71\x7c\xeb\xe3\x8f\x61\x1e\xb9\x50\x78\x50\xb4\xad\xed\xa9\xa0\xbf\xc2\x02\x23\xc5\x41\xfb\xc3\x1a\x88\x82\x6e\x64\x74\xe3\x24\x82\xe0\x73\x1a\x29\xd4\xbe\x37\x4d\xda\x27\xfa\xe1\x80\x07\xde\xcc\xba\xbe\xb2\x1d\x6a\x8a\xa5\x35\xee\xd5\x25\x15\x69\xf1\xbc\x1b\x40\x98\xf4\x7c\x27\xfc\xb7\x72\x9e\xa2\xec\xed\x5c\xa2\x21\x21\x5d\xf6\x9e\x2c\x72\x9a\x88\xce\x71\xab\xa0\x45\x44\xe7\xb2\x21\x71\x25\xa7\x55\x7b\x60\xe6\x45\xeb\x76\xac\x5b\xe1\x20\xf1\x36\xe6\xc1\xf7\x12\xde\xc2\x77\x37\x81\xf3\xf2\x47\xd6\xfd\xb9\x17\xc0\x21\x25\xda\x11\x24\xae\xf4\x0c\xb6\x08\x2d\xa7\x01\x55\x79\xf5\x5d\x3a\x0d\xf8\xa9\x24\x5d\x03\x77\x6e\x66\xde\xae\x3c\x63\x5c\xdf\x39\xf1\x5d\x94\x82\x93\x88\xba\x8d\xb0\x6d\xfe\x75\xbb\x68\x21\x69\xf7\x32\x65\xbb\x1d\xdc\x2e\xe8\x22\xe3\x39\xc9\xb0\xd6\x27\x7c\xcf\x36\x7c\xd7\xd9\xe2\x1d\x43\x51\xef\xaa\x9e\x5d\x03\x76\xcb\x28\xc7\xc8\x85\x69\xb7\x92\x60\xc8\x96\x7b\xc6\x47\xd0\x75\x13\x64\x9c\x81\x0d\xc5\xd4\x86\x89\x68\x9f\xdc\x75\x1b\x21\x61\x77\xdb\x61\xf1\x6b\x32\x8e\x73\x4c\x20\x34\x18\xf6\x1d\x1e\x2b\x29\x10\xc2\x1b\x83\xf4\xc2\xbd\x59\xec\xf5\xc2\xb9\x29\x6c\xac\x01\x6d\x49\xfe\x94\xb1\xb6\x1f\x14\x8a\xbb\x8f\x6c\x3f\x36\xc4\xd1\xc6\x25\xac\x52\x01\x2f\x70\x45\x22\xa6\x11\x1f\x59\xb2\x45\x0d\x48\x77\xe1\x12\xe0\xa0\x9b\xef\x9d\x07\xfa\x8b\xc3\x46\x0d\xde\x5f\x4f\xe1\x09\x57\x17\xbd\x4e\x1f\x5b\xa1\x45\x32\x41\x5e\xf9\xc7\x3e\x4b\x69\x40\xf2\xa4\x26\x1e\xc7\xfd\xb7\x46\xe0\xea\x74\x47\xba\x2e\x54\x71\x11\x26\xec\x48\x7a\x8e\x0c\x35\xbc\x70\x1f\x8f\xa6\xaa\x02\x8d\xa5\x75\x10\x9e\x3e\xa1\x95\xe6\x4e\xbc\x18\x85\x3b\xd9\x78\xc5\x91\xcc\x1f\x5e\x03\x49\x10\x8b\xd0\xea\xb3\xf6\x54\xc8\xb8\xc7\x02\x91\xbb\x95\xf7\x70\x59\x2a\xeb\x9f\x89\x70\xe9\x85\x42\xde\xff\x80\x85\x1e\xbc\x77\xea\xf9\xe3\x3d\x41\x65\x85\x87\x9a\xaa\x29\x2b\x0d\xe8\x7a\x86\xf1\xbd\xf7\x14\x0c\x3a\x11\x79\x5d\xc0\x91\xf9\x04\xf2\x3b\x2c\x48\xbd\x1d\x71\xde\x53\x3c\x0a\x57\x91\xf2\x3e\x54\xae\xbf\x5e\x7d\x55\x41\x28\x12\x41\x80\x60\x69\x9e\x8c\xe7\x69\x56\x91\x9d\x17\xd2\xec\x47\xb9\x0d\x1a\xf6\xe6\x8f\xbb\xa6\xfd\x1e\x57\x89\x2d\x64\x9c\x31\xd5\x0d\xda\x00\xd1\xc0\x4b\x3e\x29\xed\x8f\xac\x85\xc7\xf7\x5e\x90\x56\x1e\xe3\xd1\x7b\xda\xa0\x35\x77\x65\xc5\x08\x68\xbf\xe3\x89\xba\x11\x34\x3a\x51\xbf\xba\x46\x68\xf0\x4b\x06\x4b\x2e\x24\x2b\x0f\x76\x39\xc1\x52\xd8\x7d\xdb\xa8\xa7\xeb\xee\xea\x0a\x29\xd1\xda\x96\x53\x0e\xb2\xbb\x20\xbd\xc6\x51\xe0\x02\xa7\x6a\xc0\x52\x42\xfc\xca\xc4\x25\x28\x96\x2b\xa4\xae\x3d\x09\xbe\x56\x19\x57\x57\xc6\x8d\x0e\x07\xd7\xb9\xd0\xc2\x45\xe9\x42\x1d\x57\x93\x4b\x8c\x0a\x91\x96\x0d\x53\x12\x33\x9c\x13\x75\x28\x91\x94\xe1\x80\x16\x70\x6d\xac\x88\xfc\x9e\x82\xd0\x33\x12\x0d\xc3\x58\x87\x06\x24\x09\x96\x7b\x94\x8d\x75\x86\x5d\x0b\x22\xf7\x0d\xfb\xee\x14\xb4\x5f\xd8\x93\x8d\x47\x5d\xa2\x45\x31\xc3\xd2\xaa\xfe\x96\xb5\xc1\xdd\x81\xb0\x5f\xf4\x56\x41\x60\x40\xec\x81\xe3\xb5\x0c\x10\x81\x04\x64\xe3\xc1\xf7\xdd\x09\x74\x79\x79\xe8\xcb\xb7\xed\x72\xe5\x3b\xe2\x2f\xe9\xdb\xce\xd8\x41\xfc\xae\xfb\x98\x84\x77\xeb\x31\xbf\xcc\x17\x64\xc1\x10\x68\xf1\xb2\x8d\x32\x75\xe0\x3d\xfa\xe9\xaa\x8c\xd7\xd6\xec\xd8\x3e\x12\x7d\x74\xdf\xfa\x60\x69\x91\xfd\x66\xf1\x4d\x2a\x93\xfa\x86\xa5\xfe\x3b\x45\xaa\xc7\xef\xdf\x03\x05\xfe\x9f\xfb\x7c\xb9\x45\x0a\x8b\x26\xff\xe2\x69\x51\x07\xff\xeb\xef\xb0\xf5\xf5\xf2\x3e\x92\xbf\x75\x7b\xaf\x91\x51\x32\xd1\x34\x6b\x03\x18\x4d\xdd\x5a\x3b\x29\x48\x3a\xa4\x63\x6e\x35\x7a\x24\xd1\x46\x9e\x51\x8e\xf6\x3f\xb4\x2e\xb0\x29\x3f\xb1\xfd\xba\xf6\x9b\xc0\x6b\xb4\x04\xac\x6c\xe7\x9b\x7f\x1e\x05\x1c\xc9\x23\xe3\x10\x8c\x1b\x75\x1d\x95\x80\x1d\x24\x12\x3a\xe0\x6a\xfe\x80\x44\x15\x80\xa4\xda\x5d\xf1\x78\x2f\x8a\x44\x60\x5f\x70\x41\x02\xf5\x97\xb2\xfb\xae\x8a\x34\x0b\xd6\x8a\xc8\xf9\x6b\xb9\x4c\x6b\xf8\xb6\x94\xa6\xe9\x6b\x8d\x4f\x7e\x17\x65\x5b\x0e\x20\x4f\xb6\x04\x45\xfc\x6d\x65\xf5\xb5\x72\xf0\x37\x16\x69\x3c\x40\xb5\x00\x9a\x71\xcf\xc1\x32\x24\x47\xf1\x9c\x7f\x6f\x1f\x2c\x95\xf0\x46\x2b\xbc\xa8\xcb\x18\x9a\x21\xa6\x92\xc8\xe4\x88\x38\xb7\x97\x97\x39\x14\xe1\x2a\x6f\x6c\xc2\x46\x29\x97\x79\x10\x7f\xb0\x08\x24\xb1\x8a\x08\x06\xb6\xb4\xb5\x96\x41\xdf\x52\x15\x2a\x7f\x7f\x47\xae\x15\x41\xfb\xe2\x98\x66\xd4\x60\x97\x7c\x98\x87\xd6\x51\x5f\x74\x11\x8f\xa5\x63\xb3\x2f\xf3\x21\xb9\x02\x9f\x36\x22\x0a\xea\xa3\x3b\x4b\xaf\xc5\xe1\xf9\xce\xcc\x49\xc8\x8b\x8d\xee\x8c\x87\x03\x32\x63\xdf\x1f\x90\xcb\x5b\x75\x81\x4b\x0a\x44\x5c\xe0\xe7\xf7\xd5\xf1\x63\xc5\xa1\x43\xe6\xec\x1b\x60\xa3\x76\xdd\x75\xba\x6f\xef\x21\xb0\x81\x0a\x64\x43\x07\x2a\x5a\xc1\x4f\x1a\xa8\xe0\x4e\x08\x1a\x38\xd6\x55\xd9\x7f\x74\xe4\x3e\x50\xc9\x0f\x96\xbf\x44\x7b\x64\x68\xcd\x9d\x69\x51\x63\xe8\x0f\x10\xd6\xae\x9f\x55\x24\x89\x96\x39\x9b\x2d\x0c\x39\x6d\xaf\xc8\x9a\xa2\xda\x9a\x9d\x04\x64\x33\xd8\x22\x8c\xba\xb8\xb3\x7b\x0a\xf6\x8b\xb2\xfa\x05\xcb\xc1\x70\x18\x71\xdf\x5d\x87\x3f\x12\x66\x8c\xca\x89\x04\xdf\x22\x83\x18\x56\xe0\xac\x1d\xcf\xd2\x4f\x3f\xd8\x6f\xbf\xb4\xc7\x30\x2c\xc6\xae\x86\x86\x9f\x5d\xc3\xbc\x43\x01\xf7\xe9\x61\xfb\x41\x61\xdf\x8b\xc3\x3a\x2d\xeb\x19\x1d\x68\x02\xff\x04\x79\x92\xd4\xb5\x8d\xa7\xb2\x98\xf3\x1c\x68\x0a\xd1\x23\x4f\x92\xc2\x61\xf4\x9b\x20\xca\x2d\x88\xab\xa9\xde\x5e\x44\x32\x38\x82\x58\x2b\xca\x5f\xad\xea\x5d\x34\x94\x62\xb1\x98\xf7\x4f\xb3\x87\xe8\x94\x8b\x8f\xf4\xff\xa7\xaf\x05\xd7\xe3\x91\x54\x74\xea\x3e\xc4\x74\x03\x02\x7a\x89\x80\x8e\xfd\x80\xe2\x19\x33\x10\x6f\x71\x61\x69\x43\x47\x35\xe8\x53\xe0\x2c\x07\x0d\x1d\x02\xb9\xc8\x47\x14\xa4\xf8\x9d\x0d\x71\xef\x1c\x81\x77\xe7\x47\x58\xf2\x5d\xac\x17\x8c\xeb\xff\x09\x42\xe9\x27\xaf\xaf\x3f\xc4\xf4\xe1\xa3\x2c\x98\x7e\x4b\xfa\x9e\x5a\xc0\x30\xff\xe8\x3f\x3e\x3a\xde\xb3\xf6\xdb\xe8\x8f\x8c\x62\xac\x43\xfb\x27\x77\x87\xf9\xf8\x8f\x7f\x84\xd7\x4a\xcd\x10\x23\xb6\xc3\x30\x8c\x63\x74\x0b\xbd\xb9\x0e\x03\xb1\x17\x45\xa0\x6f\x2d\x69\x00\x7b\x5a\x34\xb2\xfc\xf8\xb6\xfb\x17\x05\x3c\xa9\x56\x7b\x8e\x3a\x6e\x93\xce\x4e\x12\xf1\xec\x79\x17\x4a\xd9\xf2\x93\x4c\x8c\x27\xeb\x1d\x21\xc4\x83\xb8\x6a\x52\x90\xe2\x10\xfc\xed\xa0\xf4\x45\x4f\xf5\x27\x2f\xd6\x21\x07\x0b\xfb\xed\x64\x78\x48\xd9\x1b\xfd\xb4\xbb\xc9\x28\xfb\xe0\x53\xcc\xf6\x26\xe3\xdf\x49\x71\x4b\x26\x77\x64\x6b\x77\x17\xc5\x7c\x2c\x62\x95\xb4\x77\xee\x6e\xfd\xf6\x48\x85\x15\xe1\x6b\x2b\xae\x9d\xd6\x7d\x8e\xc3\x9f\xe1\x9c\xeb\xda\xa8\xf9\x93\x1d\x16\x24\x93\xf8\x56\x52\x18\x41\x04\xaf\xce\x5e\xfe\xc9\xdb\xf4\xc2\xcd\x99\xd1\x15\x15\xb6\x37\xfc\xd4\x2d\xc7\xcf\x93\x68\xe1\xee\x78\x0e\xe2\x21\xb2\x7f\x6d\x78\xff\xd2\x0d\xaf\x7e\x79\xba\xc3\xaf\x3f\xb8\x41\xeb\x83\x4b\x08\x24\x5a\xf6\xf5\x70\x21\x58\x59\x3a\x58\x75\x64\xdd\xb8\x64\xd9\x7a\xcf\xe5\x1c\x85\xb8\x1a\xa6\xd1\x80\xa3\x4d\xb4\xd0\x5a\xf7\xaf\x75\x57\x5f\x92\xa7\x18\xa3\x2b\xa6\x1e\xbf\x7f\xbf\xfa\x64\xc0\xeb\xb4\xbd\x68\xe2\x82\x05\xf8\x4d\x41\x7a\xe8\xc1\x93\x84\x45\x33\x05\x43\xdd\x29\x15\xbf\x8c\x46\x0b\xed\xfd\x85\xe2\x97\x94\x7b\x54\x5e\x98\x9a\x1b\x32\x90\x3b\x0a\xa7\x6b\x5c\x47\x9e\xae\xdf\x2e\x5a\x49\x20\x20\x7e\xd8\xad\x25\xac\xcb\xf8\xc9\x0e\xdb\x78\x5d\x5b\x4f\xdc\x7b\xc5\x82\xe9\xf7\x40\x29\x77\x00\x85\x44\x0a\x54\x12\xc5\xc9\x9f\x9f\x2b\x75\xae\xf6\xef\xa8\x5e\x0f\x57\xd3\x61\x81\xd4\xff\x3c\xdd\xdd\x77\xec\xe8\x3b\x9c\x4a\xe0\xd0\x94\x70\x83\x47\x53\x82\xef\x08\xca\x3e\x7a\xf4\x9d\x42\x7a\x7e\x0f\x76\xa8\x13\x34\x0b\xf7\x8e\x0a\xcd\xba\x58\x4c\x1c\x27\x8e\x64\x64\x2c\x98\x30\x3e\x41\x71\x19\x98\x21\x31\x38\x5e\x5f\x84\xb7\x2b\xf0\x11\xed\xbe\x97\xa3\x60\xae\x4c\x9e\x2d\x84\x70\x45\x5c\x3c\xc1\xa5\xd5\x4d\x92\xdb\x27\x59\x11\xb4\xaf\x28\x27\xb6\x60\xeb\x61\xee\x3b\x82\x89\xed\x5c\x01\xbd\xfd\x36\x0a\x0a\x85\x40\xbc\x79\x27\x02\xcb\x8d\xc6\x3c\x73\xdc\x1d\xcd\x79\xa0\xaf\x57\x4d\xec\xee\xea\x5d\x56\xbd\x0f\xd4\x25\xf2\x5d\xc0\x77\x30\x1e\x04\x8f\x7b\x81\x6f\x0e\x77\x04\x97\x57\xff\x5e\x26\xef\x70\x6c\xc0\x87\x80\xfc\xff\xb9\x3b\xd6\xde\xb8\x8d\xe3\x5f\x39\xa8\x08\x62\xd5\xc7\x03\x75\x0f\x59\x96\x60\x01\x82\x9c\x00\xf9\xd0\xf4\x43\xda\xa2\x40\x9a\x0f\x94\xb8\x77\x62\xcd\x3b\xb2\x24\xf5\x38\x10\xee\x6f\x0f\xb8\x0f\xee\xcc\xee\xec\xf2\x71\x92\xa5\x04\x82\xe1\x23\xb9\x3b\xfb\x9e\x9d\xf7\xcc\x56\x3d\xf6\x80\x82\x39\x68\x3f\xd8\x95\xa0\x2c\x06\x12\x2b\xf1\x69\xf3\x37\xa2\x17\x2a\x5b\xe2\xf0\x8a\x32\xc6\xfd\x88\x41\x80\x36\x07\x57\xb5\x23\x75\x89\xa1\x03\x7b\x22\x3d\x45\x06\xe5\x32\x66\x66\xa4\x50\x61\xf4\x04\xc1\xfa\xe3\xe6\xe9\x20\x08\xb0\x0f\xb5\xc5\xe4\x8d\x9c\xa3\xe1\x3d\x52\x3d\xb0\x65\x07\x5e\x01\xc6\xb2\x5b\x80\xe1\x2d\xd2\x70\x8e\x4b\xcc\x4e\x8b\x5a\x8b\x99\x30\x1e\xce\xf2\xf3\x93\x53\x7e\xa6\x0d\xd9\x90\x77\x1a\xa4\x09\x42\x9f\xf1\x2b\x6b\x05\x95\x6f\x24\x6e\xfe\xac\x4c\x9a\x3d\x1b\x1c\x30\xef\xb8\x06\xb1\xf2\xa2\x27\x03\x16\xdf\x30\xaf\x77\xb7\x4d\x70\x10\xd8\x50\x5f\x75\x6e\x32\x03\x74\xb9\xf3\x2b\x8d\x30\x9d\x70\x3c\xdf\x6d\x2c\x2a\x26\xc1\xdf\x3b\x5d\xcb\x75\x04\xbc\x55\x3d\x67\x66\x5c\x6b\x1d\x95\xcd\x13\xe7\x5a\x79\x3c\x68\xc5\xd3\xb9\x19\x26\x77\xa9\x9e\xec\x1f\x59\xa9\xdd\x1c\x50\xb2\x29\x4b\x82\x5b\x82\xfa\x2a\x2e\x02\xc7\x75\x28\x78\x77\x3f\x64\x38\xa9\xce\x06\x86\xa0\x4e\x02\xc8\x6c\x5d\xb4\x3e\x06\x3d\xae\x6e\x07\x04\xeb\xd6\xf4\x97\x43\x33\x63\x13\x91\x1d\x93\x83\x77\xa0\xd9\x79\x02\x5c\x77\xff\xd5\x3e\x85\x00\x7d\xe3\x68\xb1\x57\xe7\x88\x63\x94\xf1\x11\x96\xb4\xce\x07\xb1\x22\x7d\xca\xdb\x7d\x70\x96\xd4\x7d\x68\xcf\x95\x10\x7c\x5a\xfb\x3f\x4d\x76\x5f\xcc\xc3\xe5\x29\x5a\x13\x2c\x40\x97\x22\x9e\xb6\x15\xb6\xef\x5f\x71\x1f\x42\xf9\x30\xff\x2d\xaf\x63\xf9\xfe\x20\x35\xb6\xe2\xda\x17\xda\xff\x4a\x32\x70\x41\x79\x5b\x64\x69\xda\xf0\xc5\x55\x76\x7f\x7b\xe7\xc8\x17\xf7\x87\x13\x8f\xf6\x5a\xa0\x09\x7a\xe3\xb2\xf0\x7a\x3b\x26\x14\x87\x6e\x03\x6d\x1f\x2c\x99\x69\xbe\xb7\xc8\x5d\x6a\x8a\xce\x6c\x69\xcf\xf3\xda\x3f\x52\xe2\xb8\x6d\xf4\x24\x05\x17\x5e\x71\x9c\xb3\x58\xd9\xa7\x54\xd6\xa3\x10\xb2\x5d\x57\x25\x20\xc1\x0c\x74\x63\x21\x45\xcf\x19\xac\x8b\xb0\xbb\x2e\xeb\x67\x35\x30\x30\xd9\x23\xe9\x2b\xa5\x99\x79\xfd\x2d\x8d\xf6\xac\xa8\xbd\x0b\x38\xfe\xfc\xe0\x97\x92\xa6\xaf\xb1\x01\xab\xbd\x9b\xc0\xbc\xce\x3f\x28\x66\xfe\xf9\xda\x9f\xdc\xa7\xe8\x35\x77\x73\xd3\x9e\x92\x41\xb5\xcf\x0d\x77\x49\x43\x5c\xf8\xb2\x5d\x99\xa4\x49\x6d\x1d\xce\xd0\xc8\x86\xf6\x6d\xfa\x31\x89\x6a\x60\xef\xb0\x34\x2d\x9b\xc2\xf0\x3b\x53\xa3\x8f\x65\xee\x84\x24\x10\x6b\x33\xe9\xc4\x9a\xdf\x66\x68\x80\xfd\x70\x90\x4f\xdf\xa8\x13\xfd\x99\x52\x97\x84\xb2\x27\xb9\x31\x10\x06\x7d\x23\x42\x4a\x84\x3c\xa8\x82\x6c\xb9\xec\x45\x14\xfd\x41\xed\x56\x69\x66\xcd\x9c\x2a\x17\xbb\x66\x4d\xa9\x69\xe9\x42\xdd\x1a\x84\xa8\x06\x59\xe7\x3b\x98\x19\x27\xcd\xf2\xad\x15\xbb\x6f\xde\x54\xaa\xaf\x89\xe6\x50\x5a\xe6\xd5\x8d\x25\x0d\x6b\x26\x68\x3c\xb9\x1a\x6b\xe1\xd5\xee\x7d\x87\x39\x10\xe5\x45\x40\x9b\xd3\xfc\x99\x0c\x87\xbe\x92\x94\x9d\x25\xaa\x4e\xb3\xa2\x0c\xaa\xe8\xa6\x7c\x26\xdb\x54\x63\x45\xc4\x95\x66\xfb\xdc\x18\x81\x39\x6a\x10\x87\x63\x5b\x06\xeb\x24\xad\x58\x71\x7e\x94\x17\xd9\x26\x89\xcf\x3f\xff\xfb\xa7\x6d\xb4\x61\xff\x50\x4e\xc8\xb3\xbf\x25\xb7\x45\x56\x66\xeb\x6a\x76\x95\xe6\x77\xd1\xbb\xbf\x8b\xda\x9f\xc2\x63\x21\xa0\x95\xd0\x82\xd0\x45\x7a\x26\xbb\xfc\xbe\xb2\x22\x80\x3c\x43\xcb\xba\xad\xbb\x12\x0f\xdb\x29\x4d\xe5\x7d\x09\xb8\xf9\xa0\x4d\x7d\x2a\x8a\xe7\x4c\x64\xa7\x70\x54\x14\xe3\xf9\xb5\xa1\x15\x3f\x35\x87\xe8\xb7\xa9\xb3\x64\xf3\x39\x2a\x58\x44\xb8\x6b\x86\x22\x13\x06\xf2\x3a\xc3\xc7\x45\x1c\x95\x66\xe5\x5b\xba\x40\x63\x7a\xc3\x1f\x5c\xf5\xfc\x94\x5f\x81\x73\xe4\xee\x7b\x0e\x36\x4d\x78\xec\x73\x31\xec\x3f\x64\x52\x57\x45\x0c\x5c\x3a\x46\x52\x03\xe3\x99\x8a\xa5\x10\x4b\x62\x11\x65\x8c\xd5\xd1\x8f\xf7\x04\x2f\x43\xb4\xcd\x8b\x39\x5d\x0c\xa4\x05\x1c\xe9\x0b\x07\xf5\x17\x04\x43\xca\x0b\x79\x79\x51\xaa\x44\xd9\x51\x20\xf3\x7f\xc7\xce\x7e\xee\xc9\x69\xde\xed\xb2\x2a\x60\xdb\xbc\xda\x8b\xe9\xef\x39\x5f\xae\x9a\x58\xe0\x38\xa4\xf9\x31\x0d\xc3\x26\x37\x05\xdb\x83\xf6\x78\x55\x00\xae\x3d\x5d\xf0\xe2\x6b\x5e\x9a\x17\xad\x78\x67\x5e\xb4\xe2\xad\x7d\xd1\x8a\xf7\xc4\x45\x2b\xc1\x94\xf6\xcb\xb7\x6b\xa8\xd3\xda\x4a\x7d\x25\xe6\x4d\x64\x7c\xa7\x4c\x50\x94\x68\xe2\x40\xca\x0f\x9b\xcc\x13\x3c\x21\x64\x2a\x4d\x72\xc1\x44\x03\xb2\x4f\x43\x6d\xcb\x2d\x00\x4a\x47\x43\xcb\x65\x9d\x56\x39\x46\xed\x49\x52\x1b\xe6\x86\x74\x51\xdb\xec\xb0\x5f\x73\x42\x38\x23\x4d\x5b\xe6\xab\x7c\x84\x2c\x0d\x44\x5f\xb9\xa0\x75\x80\xe8\x9e\xe6\x27\x8b\x47\x38\x4a\xb6\x1b\xc1\xce\x89\x58\xf0\x94\x88\x48\x4e\x32\x29\xe4\x03\xdf\x54\xea\xa4\x77\xda\xb4\xe8\xc3\xe9\x59\xfe\x74\x5c\xbb\x47\x2b\x62\xe6\x53\xd3\x41\x10\x39\x1e\x93\xc3\x48\x04\x04\x50\x5b\x59\x21\xd0\x0f\x4a\x5e\xb7\x38\xc5\x66\x59\x5a\x6d\xe6\x82\x31\x11\xff\x03\xfe\xb6\x86\xb0\x0c\x23\x44\xa4\xa6\x41\x11\x9f\x28\xfb\x44\xd3\x34\x0e\xd1\x05\xd8\x1c\x12\x87\x72\x02\xe6\x90\x6f\xd8\x96\x71\xe0\xbc\xbe\x97\x31\x29\xa0\xc5\x0f\x61\xe0\xd5\x05\x86\x24\x53\x3a\x2b\x11\x29\xe8\x84\x01\xb2\xef\x22\xec\x84\xea\x14\x38\x0d\x07\x2b\xbd\xe0\xf9\xe0\x82\x64\xb7\xd3\x11\xfb\x2c\xa3\x34\x15\x2a\xcb\x1d\xd0\x00\xa1\x23\x3a\x02\xa4\xb1\xb3\x1d\x68\xc0\x30\xc8\x16\xd1\xd4\x1d\xfd\x99\x94\x0f\x1b\xbc\xb8\x38\xfc\xcb\xdc\x40\x59\xaa\x63\x21\xe8\x58\x68\xdb\x7a\x41\x61\xb7\x1d\xc4\x10\x3a\x71\xbc\x59\x61\x84\x63\x05\xfc\x3a\x44\x8b\x94\x3f\x79\x16\xcd\x0b\x7d\x94\xa7\x30\xbe\xe8\x08\xac\xe2\xab\xdf\x03\xdd\x78\xaa\xf7\xc0\x43\xce\xda\xae\xad\x24\x98\x57\x9b\x8b\xb0\x23\x80\x68\xde\x56\xff\x6a\x85\x2a\x06\xca\x87\x4b\x6b\xab\x1a\xe0\x26\xe0\xc2\x9b\x36\x28\x84\x7b\xcb\xf3\x7e\x9e\xf3\x47\x16\x0b\x22\x1a\xa2\x1a\x65\x2d\x80\x42\xc3\x92\x18\xc7\x03\x91\x9f\x5a\x87\x78\x81\xaa\x0b\x78\x88\x01\x0d\x0b\xee\xdc\x60\x70\x11\x06\x9a\x2d\x31\xb6\xf0\xa0\x02\xc1\x69\xc8\x78\x62\x78\x0d\x5a\x46\x7c\x65\xc7\x23\x34\x91\x97\x14\xe2\xd6\x71\x52\x88\xc0\x23\xe7\x45\x95\x7a\x88\x07\x28\xf4\x35\xe8\x10\x2b\x74\x1b\x55\xa7\x83\xe5\x75\x14\xc5\x9c\x6f\x1b\xfd\x43\xb9\x79\x19\xd6\x55\x7f\x3e\x0f\x46\x73\x6c\xb3\xd7\xf7\xc1\x6b\x16\x9b\xc5\x49\x85\xe9\xf9\x95\xe5\x38\x79\xb8\xe6\xdc\x27\xff\xd2\x09\x49\x83\x3b\x96\xe6\x0c\xfb\x40\xa1\x19\x86\x8a\x6b\x2f\xf1\x6e\xc3\x44\x91\xd6\xf2\x27\x98\xd9\xd4\x86\xf4\xf1\xe3\xbc\x1f\xa4\x79\x17\xa4\x93\x79\xc3\x30\xf4\x01\xb5\xc0\xa0\x90\xf0\xd2\xf2\x73\x07\x68\x5c\xc5\x62\xb1\xa9\x28\xe1\xb5\x55\x25\xb7\x5f\xf6\xfa\xa3\x82\x24\xde\xeb\x3d\x2e\x42\x17\x59\x2f\x4b\xfb\x5d\x66\xbd\x12\xcf\xa0\xb9\x20\x5b\xaf\xbd\xfd\x09\x60\x48\xb7\x75\xf2\xc4\x62\xfc\x11\x3c\x24\x59\x49\xdc\x70\x7d\x7d\x44\x25\x90\xf8\x7e\xbb\xdd\x13\xbe\x75\xaa\xbd\xf7\xce\xb2\xb4\xbf\x18\x90\x95\xbf\xba\x6f\xa2\x21\xa0\x5c\x99\x17\xd2\xa9\x11\x67\x30\x98\x9b\xbe\x09\xc1\x9c\xf0\x4c\x68\x87\x68\x3c\xd3\xa2\x02\x89\x59\xc2\xef\x3c\xfe\x6d\x38\xf0\xb2\x21\x28\x5e\x00\x41\x31\x17\x71\x53\x01\x9f\x7b\x76\x71\x06\x8c\xf7\x9a\x67\xb7\xaa\xc3\x78\xa6\x6c\x22\x7b\xb7\xfa\x6b\x1c\x55\x51\x90\x47\x45\xb4\x3d\xf9\xa4\xc9\x9b\xdf\xdc\x46\xed\x2d\x4a\x97\xbb\x19\x08\xe2\x95\xfa\x1a\x0b\xcb\x15\xa5\xa4\xa4\x48\xdf\x7f\x4f\x51\xc6\x6d\x88\x56\x2f\xfd\xeb\x2a\x55\xf6\x28\x94\x75\x96\x19\xbd\x56\x68\x16\xb9\x38\xff\xff\x5d\x13\x8b\xa6\x80\x87\xa6\xe5\xbf\xd2\xa8\x62\x8b\xf8\x5d\xd0\xcc\xa7\xd0\x2e\xe8\x29\xf0\x97\x2a\x7b\x14\xca\x3a\xcb\x18\x53\x80\x1d\x7e\x3b\xd4\x6d\x5a\xfb\x6a\xbe\x34\x9f\x1d\x7c\x6a\xa1\xb6\x0f\xb5\x10\x41\xc9\xaa\x1a\x4b\x37\x7d\x22\x38\x55\x05\x2d\x55\x03\xa2\x13\x47\x36\xa5\x2e\x39\xbd\xe7\x41\x1a\x8b\xb9\x66\x27\xf9\x6f\x0f\xe7\xe8\x6d\x04\xf5\x4f\x9c\x61\x87\x57\x0e\xac\x75\x09\x7d\x25\x39\x1a\x42\xa1\x9e\x51\x87\x9c\x27\x17\x1b\xc5\xd8\x48\xcf\xdb\xef\xcb\xa4\x86\xad\xe9\x59\x19\x37\x5a\x18\x9a\xb8\x15\x37\xff\x67\x1d\x86\xb7\x47\xc8\x9a\xe0\xc7\x6c\x57\x5d\x3d\xb2\x32\xdb\xca\xa8\x8b\x32\x36\xfb\x32\x0c\xa5\x1a\xca\x22\xcd\x7b\x75\xc3\x3b\xdb\x12\xc3\x2a\xb1\x60\x73\x0b\x4c\x5a\x5d\xa2\xa1\xec\x53\x4c\xc4\x9b\x40\x23\xbd\xb0\x48\x1f\x24\xd2\x03\x87\x68\x14\xa2\xa2\xc4\xe2\x59\x66\x69\x3a\x55\xb1\x66\xad\x2f\x50\xb4\x14\x67\xf7\x4d\x29\x78\x93\xed\x32\x1d\xa0\x72\xa2\xc0\x4f\x5d\x5f\xee\xde\x46\xfc\x54\x11\xfd\x56\x68\x84\x0a\xc5\x2a\xdf\x66\xa9\x7c\x75\x81\x49\x49\x60\x4a\x6e\x47\xe1\x81\x90\x66\xdc\x9e\xfe\x21\xd9\x6d\x6a\xbc\xf3\x50\x29\x9e\x7d\xc6\x26\xc0\x0d\x93\x81\x67\x33\x1e\xc0\x6c\x2b\x10\x10\x3a\x16\xf1\x6d\xac\x90\x3e\xa3\x62\xee\x9a\x99\x33\x1e\x83\x64\xb7\xce\x6a\xc2\xd5\x9c\xb6\x16\x38\xb3\xf0\x9f\x01\x59\x74\x01\xbc\x35\xae\x34\xad\xdf\x6b\xf8\xfa\x15\xa9\xe3\x1b\xd8\x82\xe7\x2e\x43\xf9\x17\xf8\x3f\x13\x6f\xf6\x02\xde\x79\x5b\xf2\x90\xd7\x8a\xb4\x3f\xa3\xf2\xea\xfc\x25\x8e\xe3\x31\x4d\xcf\x0c\xc7\x94\xfe\x35\x6d\xa5\x84\xed\x81\x3e\xa0\x0b\x97\x84\x66\x7e\x40\x3f\x2e\x4d\xf9\x22\xe7\x97\x16\xe1\xf4\x64\x71\x3a\x9d\xcf\x3f\x4e\x67\x8b\x63\x62\xd6\x48\x6a\xbf\xab\xd9\xc9\x6c\xc7\x1e\xb9\x7c\x6b\x94\xe6\x17\xcb\x80\xc6\xef\x3e\xa7\x45\x91\xa8\x2c\xaf\x49\x25\xe4\xb3\xf8\x45\x4f\x25\x07\x99\x48\x51\x7c\xb0\xda\x4b\x12\x7d\x56\x3b\x7d\xe9\x3e\xab\xe2\x6b\x90\x7e\x54\x27\x7a\x51\x7f\xfd\x87\xfd\x32\x04\x20\x57\xbe\x37\x3f\xd6\x49\xca\xa6\xe8\xcd\x43\x12\xb3\x0c\x69\xe8\x1d\xc2\x9f\x41\xa3\xe9\x5a\xbd\x21\xa4\x24\x29\x58\x1e\x80\x90\x95\x30\x0f\xe0\x5e\xb5\x42\x7c\xc8\x22\x2b\x57\x03\x3f\x2a\xef\x58\x2c\xf5\x72\xa5\x22\xad\xfc\x65\xee\x94\x02\x42\x48\x6d\xc5\x67\x02\x76\xd4\xd0\x14\xbb\x88\x27\x2c\x7e\x2c\xdb\x8c\x29\x30\x83\xc0\xee\x18\xbb\x86\xad\x9a\x3f\x0d\xea\x0e\xe1\xa7\xd7\x26\x1c\x2e\xf2\x68\xc3\x82\x9b\x82\x45\x5f\x02\xbe\x71\xcf\xa3\xf4\x31\xda\x97\xf6\x76\xb3\x44\x28\x2d\x92\xd0\xfb\xfb\xe4\xc7\xe5\xf5\x0f\x47\xe6\x46\xd6\xb0\xf2\x82\xa1\x30\x8b\x79\xc1\x02\x91\x26\x24\x2b\x62\xfe\xeb\x5c\x74\xa5\x79\xd6\xd5\x38\xd2\xfa\xdf\x7d\x56\xb1\x1a\x6a\x1c\x80\x99\xe0\x8a\x2d\x56\x37\x27\x58\x4e\xdd\xa6\x14\x53\xea\x09\x25\xf5\x12\x85\x29\xf0\x44\x4b\x6d\xb0\xf8\x9b\xdb\x78\x79\x81\x9e\x3a\x20\xb8\x81\x2d\x17\x51\xb8\xfc\x70\x81\x9e\x34\x30\x6e\xee\x56\x56\x45\xa6\xf2\x0d\xe9\x7c\x5d\x46\xa1\x4d\xc1\x18\x30\x85\x63\x3b\xfd\x5d\x1d\x67\xb6\xcd\x2a\x9e\x68\xc4\x44\x2e\x10\x09\x1d\x5d\xe5\x79\xca\x26\xd7\x5c\xe5\xf9\xc3\x36\xfb\x6f\x72\x34\x3d\xfa\x85\x6d\x32\x36\xf9\xe7\x4f\xea\xc5\xcf\x59\x95\xf1\x12\xfc\x19\x7c\xff\x65\xbf\xbd\xc9\xd2\xa3\xe9\xd1\xd5\x2e\x2e\xb2\x24\x56\x15\xf8\x7f\xe2\x63\x69\xa8\x64\xb0\x59\x17\xde\x6b\x1c\x79\x6f\x8a\x68\xaf\x50\xe8\xd5\xd5\x95\xa5\xad\x80\x65\x5b\x2b\x24\x60\x59\x0e\x4c\x63\x81\x4e\xdf\xb6\x9b\xe5\x2a\x26\x60\x79\x33\xa1\x3a\xc3\xf7\x6a\x5c\xa7\xac\xaa\x9a\xc3\xd3\xb0\x09\x4d\x71\x88\x7b\xda\xb2\x6d\x42\xa6\xda\x95\xa9\xe9\x2b\xc2\xd1\x9a\x4d\xc2\x9e\x6f\x58\x82\x8b\xea\x70\xf4\x95\xdc\xa8\x40\x47\x0d\x61\x8d\xfc\x33\x4d\xbb\x31\x32\xcf\x95\x0d\x4f\x9e\x73\x13\xec\x44\xe4\xa5\x52\x67\xc8\x5d\xb3\x80\x35\x05\xbd\x0f\x74\x8b\x74\xd5\xc4\x39\x08\x9f\x0d\x9c\x01\x83\xe8\x38\x5f\x4a\xdc\x71\x33\xf6\x1f\x09\x84\x18\x03\xb7\x28\xd1\x39\xdc\xcc\x00\x0a\x10\x0c\x47\xf8\x7a\x1f\x4a\x83\x10\x2e\x4a\x26\x4c\x48\xc4\x7b\xd2\x86\x04\x54\x79\x41\x27\x25\xd2\x92\x4f\xd1\xe4\xa1\x26\xca\xaf\xaf\xaf\x1d\x16\x3d\x5f\x6d\x0a\xc4\xe6\x2d\x89\x42\x97\x7f\x3d\xc0\x62\xd0\x65\x5d\xa4\x33\xd8\x98\xc9\x5a\x88\x1e\xf0\x55\x7f\xb8\xa9\x0d\xf6\xa0\xbd\x97\xdd\x55\xf8\x46\x79\x48\x49\x2d\xbd\xa7\x82\xed\xc9\xe5\xac\x91\xb8\x6d\x17\xc9\xe2\xaa\x47\xd4\x06\xa7\xcb\xda\x61\x20\xc5\x9d\xe1\xb8\x73\x54\xe6\xa4\xaa\x60\x69\x9a\x05\x37\x59\x54\xc4\xcf\x90\xac\x12\x82\x1b\x9f\x9e\x52\x42\xe1\x8e\xba\x44\x16\xd8\x39\x5b\xb2\x53\xdc\x43\x7c\xd6\x16\x39\xb2\x83\x6d\xf3\x58\x82\xfd\x24\xec\x4d\xa9\x16\xfd\xdd\xa6\x13\x5b\x92\x18\xae\x33\xdb\x25\x6c\xf4\x90\xf4\x96\x12\x8e\xc8\x94\x76\x39\x73\x2d\x29\xf0\xde\x3c\xe5\x71\xfd\x0f\x5b\x63\xaa\xb9\xcb\x08\x3f\x1f\xbc\x05\xc8\x46\x66\x2f\xb6\x3f\xc0\xde\x80\xd3\xb5\x0a\x43\xd7\x22\x77\x4d\x9b\x37\x21\x65\xdf\x41\xa2\x87\x31\xfb\x13\xe5\xad\x9d\x28\xa2\x68\x70\x37\xf4\xea\xf2\x7c\xbd\xb8\x49\x4c\x8f\x01\x01\xd0\xf5\xe7\xcf\xf3\xcf\x4b\x2a\x17\x62\x9b\x42\x09\x2e\x0c\xc8\xb0\x7d\x01\x6f\x6e\x73\x4c\x88\xd8\x6d\x7d\x37\x27\x3f\xb3\x7b\x76\x34\xf5\x78\x74\x22\x1d\xfe\x59\xfe\x64\xc7\xb3\x24\xf8\x16\x63\x9d\x8b\x6d\x94\x9a\x0a\x79\x6a\xa1\x1f\xf7\x65\xf2\xb8\xdf\xa8\x44\x7f\xb0\xcb\xba\x6f\xa2\xaf\xff\x62\x45\x1c\xed\x50\x4f\x2d\x37\x4b\x90\xe4\xea\xf7\x00\x00\x00\xff\xff\x74\xf8\x25\x8c\x0c\x83\x04\x00") -func bindataPublicAssetsDocumize78bde9efe167caa18caf472582023f8bJsBytes() ([]byte, error) { +func bindataPublicAssetsDocumize3643799468e1b2a266d840a1dad5e25cCssBytes() ([]byte, error) { return bindataRead( - _bindataPublicAssetsDocumize78bde9efe167caa18caf472582023f8bJs, - "bindata/public/assets/documize-78bde9efe167caa18caf472582023f8b.js", + _bindataPublicAssetsDocumize3643799468e1b2a266d840a1dad5e25cCss, + "bindata/public/assets/documize-3643799468e1b2a266d840a1dad5e25c.css", ) } -func bindataPublicAssetsDocumize78bde9efe167caa18caf472582023f8bJs() (*asset, error) { - bytes, err := bindataPublicAssetsDocumize78bde9efe167caa18caf472582023f8bJsBytes() +func bindataPublicAssetsDocumize3643799468e1b2a266d840a1dad5e25cCss() (*asset, error) { + bytes, err := bindataPublicAssetsDocumize3643799468e1b2a266d840a1dad5e25cCssBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/documize-78bde9efe167caa18caf472582023f8b.js", size: 625505, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/documize-3643799468e1b2a266d840a1dad5e25c.css", size: 295692, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _bindataPublicAssetsDocumizeFa9bb4d957702a968245808b3b9bec0fCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xf9\xb3\xdb\x36\xb6\x27\xfe\xaf\xe8\xeb\xae\xd4\xc4\xaf\x45\x35\x49\x89\x5a\xab\x6f\xb5\x13\xc7\x8e\x33\xb1\xbb\xe3\x6c\x1d\x77\x65\xa6\x28\x11\x92\xe8\xcb\xed\x91\xd4\xbd\x94\x55\x9a\xbf\xfd\x5b\xd8\x48\x2c\x07\x5c\xe4\xdb\x3d\xf9\x61\xde\x7d\x1d\x53\xc0\xc1\x01\xf0\x01\x70\x00\x7c\xb0\x4d\x62\xbf\x44\x79\xe8\x47\x56\xb8\x4b\x93\x62\x7c\x2c\xe3\xe8\x52\xa2\xaa\xb4\x72\x94\x04\x28\x0f\x93\xc3\x3a\xcd\xca\x30\x0e\x3f\xa1\xef\xd1\x21\xdc\x86\x51\x58\x9e\xaf\xfe\xc8\x5f\xef\xd3\xdd\xa9\x18\xe3\xaf\x63\xfa\x80\xf2\xb1\x3f\xf1\x83\x38\x4c\xac\x28\x4c\xee\xa5\x1f\x8d\xac\xec\x48\x82\xd1\xc8\x02\xb4\x4b\x73\xbf\x0c\xd3\x64\x9d\xa4\x09\xba\x4e\x76\xa7\xbc\x48\x73\x2b\x4b\xc3\xa4\xc4\xba\x2f\xd4\x61\xcd\x1c\xae\xdb\x34\x38\xd3\xc4\x1e\x51\x78\x38\x96\x6b\xc7\xb6\xbf\xb8\x4e\xe2\x34\xf0\xa3\x31\xfd\xc7\x4a\x33\x94\x8c\x8b\x87\xc3\x3a\x49\xcb\x2f\xd7\x79\x9a\x96\xcf\x2f\x38\xca\x7d\x94\x3e\xae\x8f\x61\x10\xa0\x84\xea\xd9\xf9\x19\x8e\x9a\x26\xc5\x8f\xc2\x43\xb2\x8e\xd0\xbe\xbc\x6e\x4f\x65\x99\x26\xe3\x63\x3e\x0e\x93\xec\x54\x36\x81\x1f\xc2\x22\xdc\x46\xe8\x3a\xc9\xd2\x8c\xe4\x7d\x52\xa6\x69\x54\x86\xd9\x98\x05\x29\x50\x84\x76\x25\x55\x58\xe6\x7e\x52\xec\xd3\x3c\xa6\x59\xcb\x72\x34\xc6\xee\x7e\x8e\xfc\x46\xa3\x7f\x2a\xd3\xab\x9f\x97\xe1\x2e\x42\x63\xbf\x08\x03\x34\xde\x87\x07\x96\x30\xfc\x79\xca\xd1\x78\x9f\xa6\x18\x8c\x23\xf2\x03\xfc\xcf\x21\x4f\x4f\xd9\x38\x42\x07\x94\x04\xe3\xd8\x0f\x93\x71\xe2\x3f\x8c\x0b\xb4\x23\x99\x09\xc2\x22\x8b\xfc\xf3\x7a\x1b\xa5\xbb\xfb\xab\x1f\x04\x39\x2a\x0a\x26\x7d\x89\xc2\x04\x59\x0c\xb9\x30\x39\xa2\x3c\x2c\xaf\x59\x9e\x1e\x88\x4c\x71\xda\x8e\x8b\x53\x76\x79\x40\x38\x3d\x7e\xc4\x20\xd9\xfa\x05\xc2\xe1\xae\x91\xbf\x45\xd1\x38\x3d\x95\x18\x13\x1e\x4d\x98\x10\x9d\x34\xb6\x49\x90\xa7\x59\x90\x3e\x26\x56\x8c\x92\xd3\xf8\x14\x8d\xa2\xf0\x12\x85\x45\x69\x15\xe5\x39\x42\xac\x8c\x95\xaa\xe7\xd3\xf2\xb4\x1e\xd1\xf6\x3e\x2c\xad\x7d\x9a\x94\x56\x11\xa7\x69\x79\xc4\x95\xd0\x4f\xca\xd0\x8f\x42\xbf\x40\xc1\xc6\x8a\xd3\x4f\x56\x5a\x54\xaa\xcc\x21\xf7\xcf\xc5\xce\xc7\x05\xf3\x75\x1a\xa0\xb7\x61\x9e\xa7\xf9\x08\x03\x2e\x69\x2e\xfd\xcc\x3a\x86\x87\x63\x84\xb3\x6f\xed\xd2\x28\xcd\xd7\xa4\x90\x32\x3f\x47\x49\x79\x9d\x10\x27\xeb\xf1\x18\x96\xe8\x42\xbd\xff\xb4\xdf\xef\xff\xbf\x30\xce\xd2\xbc\xf4\x1b\x89\x74\xbf\x57\xa4\x3c\xfc\xa7\x0b\x6e\x23\x7f\x77\xcf\x85\x6c\xdb\x86\x55\x49\x52\x8e\xe3\xe8\x52\x59\x1e\xc6\x7e\x7e\x1e\x4f\x1e\x42\xf4\x68\xed\x4e\x45\x99\xe2\x86\x39\x9a\x9c\x0a\x94\x5b\xa5\xbf\x8d\xd0\x88\xb5\x31\xec\xc2\x75\xb9\x4b\xfb\xc5\xcc\xd5\xd5\xe1\x76\xc8\x65\xa6\xb3\xe5\x8b\xe9\x02\x4a\xfa\xa9\xce\x9e\x3b\x9f\x2f\x7c\x00\x87\x1c\x05\xed\x49\x0a\x13\x7f\x57\x86\x0f\x48\x4a\xd5\xea\x1b\xfb\xa5\xf3\x4a\xd7\x76\xc8\x11\x4a\xba\x92\x85\x8b\x9a\xcb\x2c\xb7\x2b\x7b\x35\x07\x64\xd2\x28\x60\x32\xf8\x13\x00\x3d\xf7\x93\x43\x9d\xbb\x57\xaf\x5e\xbc\x74\x80\xc2\x7b\x3c\xfa\x65\x61\x25\xe8\xb1\x2e\xe5\x9d\xe3\x4d\xa5\x32\xdc\xfa\xbb\x7b\xdc\x1a\x93\xc0\x12\xeb\x8e\xea\xac\x55\x23\x2d\x5c\x53\xa3\x80\xb0\x5a\xe5\x02\x83\xd3\x5a\xa4\x07\x57\x2a\x94\x16\x96\xc2\xae\x87\xd3\x4b\x40\x0b\x5a\x1e\x51\x0c\xa5\x58\xaf\x77\x70\x50\x8b\xb4\x44\x40\xc1\xab\xc5\x2b\xf7\xd5\xab\xf6\x64\xe3\x42\xd6\x42\xaa\xe5\x4d\x0c\xc5\x3e\xac\x50\x60\x3d\x86\x41\x79\xbc\x50\x07\x3f\x0e\xa3\xf3\xfa\x7f\xec\xd2\x53\x1e\xa2\x7c\x94\xa0\xc7\xff\x31\x66\x3f\xae\x7f\x63\x22\x3b\x24\x09\x3f\x7b\xcb\xac\xd6\xe8\x0d\xb6\x5a\xcf\x36\xd4\x06\x31\xb3\x96\xc7\x7e\x44\x5d\x1e\xa9\x71\x9d\xd9\xf6\xa6\xc8\x77\xeb\x53\x1e\x7d\x89\xdd\xff\x42\x6c\xdd\x5f\xb8\x12\xa2\xc3\x7a\x8f\x0e\xa7\xc8\xcf\x27\x28\x2d\x9f\x13\xe9\x28\xdd\xf9\xd1\x97\x6a\x54\xcf\xc7\x8a\xbb\x14\xfa\xd9\xf3\x71\xaf\x48\x1e\xd3\xfd\xde\x7d\x3e\xc2\x1d\x92\x5f\x7e\xf9\x8c\xfc\x1c\x12\x56\x0e\xda\x37\x64\x59\x0a\x01\xcb\xfc\x84\xca\x73\x86\x9e\x3d\xbf\x12\xc3\x4c\x8a\x84\xf4\xe0\x1b\xde\x21\x5a\xe7\x75\xb1\xcb\xd3\x88\xa1\x59\x84\x9f\xd0\x7a\xb2\x5c\x78\x39\x8a\x37\x62\x71\x14\x7e\x52\x58\x05\xca\xc3\xfd\x46\xec\xd3\x9c\x89\xe3\x6d\x6a\x7b\x8f\x7b\x61\xac\xc1\xf2\x83\x8f\xa7\x82\x8e\x15\x36\x56\x5c\xb4\xf8\xd4\xe9\xa0\x25\x4b\xd3\xb2\xf5\x73\xa8\xcb\x4f\x83\xb3\x54\x45\x2c\x3f\xcb\x22\x64\x15\xe7\xa2\x44\xf1\xf8\x2b\x6c\x65\xdf\xfa\xbb\x1f\xc9\xcf\x57\x69\x52\x8e\x9f\xfd\x88\x0e\x29\x1a\xfd\xfc\xe6\xd9\xf8\x7d\xba\x4d\xcb\x74\xfc\xec\x5b\x14\x3d\x20\xdc\xdb\x8e\xde\xa1\x13\x7a\x36\x7e\x81\x21\x1c\x37\xb9\x1b\x3f\x7b\x81\x95\x8e\xbe\xc6\xd5\x7b\xf4\x4d\x9c\x7e\x0c\x9f\x35\x7a\x74\x87\x1f\xcf\xf1\x36\x8d\x9e\x5d\xfd\xa6\xd7\xc3\x3d\x5c\x48\x86\x58\x7e\x14\x8d\x26\xd3\x62\x84\xfc\x02\x59\x61\x62\xa5\xa7\x92\xf6\xa9\x9d\x32\x45\xa7\x48\xda\x25\xd1\xee\x7d\x15\xc7\x88\x17\xb1\x25\x2d\x6c\xfb\xea\x4f\xb6\x79\x7a\x8f\x12\xa9\xe7\xa2\xfd\xc8\x46\x1d\x47\x92\xea\x50\x1e\xf3\xf4\x74\x38\x5e\x27\x49\x8a\xb5\x63\xb7\xf1\x84\x8d\x90\xac\xd8\xcf\xef\xc9\x20\x25\xcb\x11\xee\xbd\xc6\x93\xc7\x73\x11\x3e\x9e\x0f\x16\x0a\xc2\x32\xcd\x2f\x2c\xc4\x5a\xb0\xf5\x9b\x6d\x9a\x07\x28\x27\x23\x18\xc9\xb5\xb2\x8a\xa3\x1f\xa4\x8f\x8a\x8f\x18\xf3\x9a\x76\x82\x63\xd1\x89\x0e\x8c\x8d\x49\xaa\x83\x18\x05\x98\x02\x39\xe5\x75\x30\xc5\x99\x08\x5f\x06\x67\x61\xeb\x17\xe1\x8e\xf6\xe5\xe3\x09\x0d\x8d\x02\xae\xc6\xc9\xaa\x51\x91\x46\x61\x30\xfa\x53\x30\xc5\x7f\xd7\x09\x1d\x04\x5b\x07\x3f\x1b\x4f\x82\x74\x77\x8a\x11\x69\xc2\x01\xda\xfa\xf9\x5d\xe3\x52\xa6\xbb\xbb\x49\x98\x04\xa8\xb2\xf0\xd8\x70\x34\x09\x71\x7b\xc1\xe8\xd0\xe1\xf3\x78\x52\x94\x7e\x5e\x5a\x7c\x44\x5b\xd7\xe4\xf4\xb4\x3b\x5a\x3b\x3f\x8a\xd2\x53\x49\x12\x5b\x37\x75\x32\xe8\xa0\xa1\x99\xc7\x3d\xb6\x30\x80\x3b\xae\xee\x80\x6b\x01\x38\xa6\xba\x9b\xea\x70\x3d\x45\x97\xd8\xcf\x0f\x61\xb2\xb6\x37\x99\x1f\x04\x78\x38\x6a\xd7\xd3\x18\x3c\xba\xe7\x33\x18\xfc\xad\xd4\x0f\xda\x25\x91\x7e\xdf\x2a\x32\x7f\x87\x7b\x92\xc7\xdc\xcf\x36\xcc\x30\x7e\x71\x9d\xf8\xdb\x22\x8d\x4e\x25\xb2\x76\x88\x4c\x88\x26\x69\xb2\x4d\xfd\x1c\xc7\x63\xed\xd2\xa4\xf4\xc3\x04\xe5\xa3\x49\x8e\x9b\xca\xd6\xcf\x79\x62\x70\x64\x9b\x2c\xe5\xed\x8d\x29\xd9\x94\x69\xb6\xb6\x37\x78\x8e\xb3\xb6\x37\xdb\xb4\x2c\xd3\x78\x6d\x6f\x48\xe0\xb5\x7d\x25\x93\x9d\x35\x87\x14\xab\xd8\x87\x51\x33\x7c\x16\x2a\x8a\x3d\xc2\x7f\x8e\x6d\xdb\x59\x35\xc2\x83\x9b\x51\x98\x14\x48\xaa\x4b\x06\x91\xeb\x64\x5b\x26\x13\x56\x79\xb7\x65\xc2\xeb\x31\xee\x22\x48\x86\xf2\x34\xaa\xab\xab\xa2\x6c\xe2\xe6\x28\x1e\xe5\x87\xad\xff\xe5\xcc\x1e\x3b\xf6\x78\x3e\x1f\x4f\x5c\xef\xf9\x75\x5d\x27\xba\xb6\xd7\xac\x6f\x59\x64\x15\xe4\x8b\x6d\x95\x34\x58\xe2\xa3\x2c\x58\xf8\x78\x8a\xb7\x92\x70\xb0\xc4\x7f\x66\x61\x36\xc5\x15\x83\xd0\xc1\x2a\xc9\x3e\x37\x02\x56\x80\x87\xa1\xf9\x58\x71\xcb\xef\x65\x97\x30\xd9\xa7\xb2\x0b\x19\x36\xc9\x4e\xf5\x0c\x41\x74\x2c\x4e\xbb\x1d\x9e\xd8\x49\x8e\x8f\x7e\x9e\x84\xc9\x81\xa2\x4f\x66\xc8\x41\x58\xe0\x26\x1e\x3c\x27\x3f\x27\xf5\xcf\x09\xb7\x26\x9d\x92\xcc\xee\x88\xe3\xb1\x30\xf6\x0f\xcd\x84\x0f\x57\x4a\xcb\xf1\x6c\x5e\x3f\x1d\xcf\xce\xaa\xda\xa3\x4c\x33\xc1\x13\xff\x54\x04\x68\x55\x15\x65\x58\xe5\x95\xc5\x48\x45\x16\xa5\x68\xcd\x96\x85\x70\xed\x17\x65\x48\x6b\x90\x45\x9c\x99\x57\x27\x74\xe6\xa9\x09\xad\x3d\x69\x42\x25\x01\x9e\xd0\x46\x86\x27\x54\x12\x63\x09\x6d\xa4\x58\x42\x25\x21\x9a\xd0\x46\x86\x26\x54\x12\x71\x66\x0d\xa2\x33\x0d\xd1\x99\x8c\xe8\x0c\x42\x74\xa6\x21\x3a\x03\x10\x9d\xa9\x88\xce\x74\x44\x67\x0a\xa2\x92\x88\x33\x6d\x10\x9d\x6a\x88\x4e\x65\x44\xa7\x10\xa2\x53\x0d\xd1\x29\x80\xe8\x54\x45\x74\xaa\x23\x3a\x55\x10\x95\x44\x9c\x69\x83\xe8\x54\x43\x74\x2a\x23\x3a\x85\x10\x9d\x6a\x88\x4e\x01\x44\xa7\x2a\xa2\x53\x1d\xd1\xa9\x82\xa8\x24\xe2\xb8\x0d\xa2\xae\x86\xa8\x2b\x23\xea\x42\x88\xba\x1a\xa2\x2e\x80\xa8\xab\x22\xea\xea\x88\xba\x0a\xa2\x92\x88\xe3\x36\x88\xba\x1a\xa2\xae\x8c\xa8\x0b\x21\xea\x6a\x88\xba\x00\xa2\xae\x8a\xa8\xab\x23\xea\x2a\x88\x4a\x22\x8e\xd3\x20\xea\x68\x88\x3a\x32\xa2\x0e\x84\xa8\xa3\x21\xea\x00\x88\x3a\x2a\xa2\x8e\x8e\xa8\xa3\x20\x2a\x89\x38\x4e\x83\xa8\xa3\x21\xea\xc8\x88\x3a\x10\xa2\x8e\x86\xa8\x03\x20\xea\xa8\x88\x3a\x3a\xa2\x8e\x82\xa8\x24\xe2\xd8\x0d\xa2\xb6\x86\xa8\x2d\x23\x6a\x43\x88\xda\x1a\xa2\x36\x80\xa8\xad\x22\x6a\xeb\x88\xda\x0a\xa2\x92\x88\x63\x37\x88\xda\x1a\xa2\xb6\x8c\xa8\x0d\x21\x6a\x6b\x88\xda\x00\xa2\xb6\x8a\xa8\xad\x23\x6a\x2b\x88\x4a\x22\xab\x1a\xd0\x95\x8a\xe7\x4a\x82\x73\x05\xa0\xb9\x52\xc1\x5c\xe9\x58\xae\x14\x28\x57\x1a\x92\x2b\x19\x48\x49\x60\x55\xc3\xb8\x52\x51\x5c\x49\x20\xae\x00\x0c\x57\x2a\x84\x2b\x1d\xc1\x95\x02\xe0\x4a\xc3\x6f\x25\xc3\x27\x09\x2c\x6b\xf4\x96\x2a\x7a\x4b\x09\xbd\x25\x80\xde\x52\x45\x6f\xa9\xa3\xb7\x54\xd0\x5b\x6a\xe8\x2d\x65\xf4\x24\x81\x65\x8d\xde\x52\x45\x6f\x29\xa1\xb7\x04\xd0\x5b\xaa\xe8\x2d\x75\xf4\x96\x0a\x7a\x4b\x0d\xbd\xa5\x8c\x9e\x24\xb0\xa8\xd1\x5b\xa8\xe8\x2d\x24\xf4\x16\x00\x7a\x0b\x15\xbd\x85\x8e\xde\x42\x41\x6f\xa1\xa1\xb7\x90\xd1\x93\x04\x16\x35\x7a\x0b\x15\xbd\x85\x84\xde\x02\x40\x6f\xa1\xa2\xb7\xd0\xd1\x5b\x28\xe8\x2d\x34\xf4\x16\x32\x7a\x92\xc0\xbc\x46\x6f\xae\xa2\x37\x97\xd0\x9b\x03\xe8\xcd\x55\xf4\xe6\x3a\x7a\x73\x05\xbd\xb9\x86\xde\x5c\x46\x4f\x12\x98\xd7\xe8\xcd\x55\xf4\xe6\x12\x7a\x73\x00\xbd\xb9\x8a\xde\x5c\x47\x6f\xae\xa0\x37\xd7\xd0\x9b\xcb\xe8\x49\x02\x5e\x8d\x9e\xa7\xa2\xe7\x49\xe8\x79\x00\x7a\x9e\x8a\x9e\xa7\xa3\xe7\x29\xe8\x79\x1a\x7a\x9e\x8c\x9e\x24\xd0\x4c\x6c\xb4\x79\x8d\x3c\xad\x81\x66\x35\xda\xa4\x06\x98\xd3\xa8\x53\x1a\x7d\x46\xa3\x4c\x68\x24\x81\x66\x3a\xa3\xcd\x66\xe4\xc9\x0c\x34\x97\xd1\xa6\x32\xc0\x4c\x46\x9d\xc8\xe8\xf3\x18\x65\x1a\x23\x09\x34\x93\x18\x6d\x0e\x23\x4f\x61\xa0\x19\x8c\x36\x81\x01\xe6\x2f\xea\xf4\x45\x9f\xbd\x28\x93\x17\x49\xa0\x99\xba\x68\x33\x17\x79\xe2\x02\xcd\x5b\xb4\x69\x0b\x30\x6b\x51\x27\x2d\xfa\x9c\x45\x99\xb2\x48\x02\xcd\x84\x45\x9b\xaf\xc8\xd3\x15\x68\xb6\xa2\x4d\x56\x80\xb9\x8a\x3a\x55\xd1\x67\x2a\xca\x44\x45\x12\x68\xa6\x29\xda\x2c\x45\x9e\xa4\x40\x73\x14\x6d\x8a\x02\xcc\x50\xd4\x09\x8a\x3e\x3f\x51\xa6\x27\x92\x40\x33\x39\xd1\xe6\x26\xf2\xd4\x04\x9a\x99\x68\x13\x13\x60\x5e\xa2\x4e\x4b\xf4\x59\x89\x32\x29\x91\xe7\x24\xcd\x00\x5a\x1b\x3f\xcb\xc3\x67\x68\xf4\xac\x0d\x9e\x81\xb1\xb3\x3a\x74\xd6\x47\xce\xca\xc0\x59\x1e\x37\x37\xc3\x66\x6d\xd4\x2c\x0f\x9a\xa1\x31\xb3\x36\x64\x06\x46\xcc\xea\x80\x59\x1f\x2f\x2b\xc3\x65\xd1\x2c\xd7\x56\x59\x35\xca\x92\x4d\xce\xaa\x6b\x10\x8d\x8f\xce\xf8\xe8\x8e\x8f\xd3\xf1\x71\x36\x3e\x7a\xe3\xe3\x7c\x9c\x46\xe3\x6c\x9c\xe5\x68\x5c\x93\xbc\x44\xde\xd6\x0c\xb8\x6a\xbf\xb3\xaa\xde\x77\x11\x44\x90\x1a\x9e\xe1\x1c\xc5\xd7\x20\x00\xa2\xa6\x5b\x2d\xd8\xa6\x0d\x39\xd0\xc4\xc3\xa1\x94\xee\x41\xe9\x1d\xb4\xce\x41\xee\x1b\xb0\x37\x23\xab\x09\x13\xc6\x89\x6b\xc6\x82\x71\x2f\x4e\xcb\x09\xbf\x55\x11\x81\x98\x93\x9d\x54\xc1\x86\x9a\x93\x5c\x54\xb1\x9a\x9c\x13\x1d\x54\x21\x67\xe6\x35\x49\x9e\x79\x5a\x92\x1b\x6f\x91\xa1\x53\x93\x2c\x48\xc9\x1c\x9d\x92\x64\x41\x4e\x62\xe9\xe4\x24\x0b\x52\x22\x4f\xd7\x24\x59\x40\x79\xa6\xa3\x3c\x53\x50\x9e\x81\x28\xcf\x74\x94\x67\x10\xca\x33\x0d\xe5\x19\x80\xf2\x4c\x45\x59\x16\x72\xa6\x02\xca\x53\x1d\xe5\xa9\x82\xf2\x14\x44\x79\xaa\xa3\x3c\x85\x50\x9e\x6a\x28\x4f\x01\x94\xa7\x2a\xca\xb2\x90\x33\x15\x50\x9e\xea\x28\x4f\x15\x94\xa7\x20\xca\x53\x1d\xe5\x29\x84\xf2\x54\x43\x79\x0a\xa0\x3c\x55\x51\x96\x85\x1c\x57\x40\xd9\xd5\x51\x76\x15\x94\x5d\x10\x65\x57\x47\xd9\x85\x50\x76\x35\x94\x5d\x00\x65\x57\x45\x59\x16\x72\x5c\x01\x65\x57\x47\xd9\x55\x50\x76\x41\x94\x5d\x1d\x65\x17\x42\xd9\xd5\x50\x76\x01\x94\x5d\x15\x65\x59\xc8\x71\x04\x94\x1d\x1d\x65\x47\x41\xd9\x01\x51\x76\x74\x94\x1d\x08\x65\x47\x43\xd9\x01\x50\x76\x54\x94\x65\x21\xc7\x11\x50\x76\x74\x94\x1d\x05\x65\x07\x44\xd9\xd1\x51\x76\x20\x94\x1d\x0d\x65\x07\x40\xd9\x51\x51\x96\x85\x1c\x5b\x40\xd9\xd6\x51\xb6\x15\x94\x6d\x10\x65\x5b\x47\xd9\x86\x50\xb6\x35\x94\x6d\x00\x65\x5b\x45\x59\x16\x72\x6c\x01\x65\x5b\x47\xd9\x56\x50\xb6\x41\x94\x6d\x1d\x65\x1b\x42\xd9\xd6\x50\xb6\x01\x94\x6d\x15\x65\x59\x68\xd5\x80\xbc\xd2\x30\x5e\xc9\x10\xaf\x20\x84\x57\x1a\xc0\x2b\x00\xdf\x95\x0a\xef\x4a\x47\x77\xa5\x80\x2b\x8b\xac\x1a\x68\x57\x1a\xb2\x2b\x19\xd8\x15\x84\xeb\x4a\x83\x75\x05\xa0\xba\x52\x41\x5d\xe9\x98\xae\x14\x48\x65\x91\x65\x83\xe8\x52\x43\x74\x29\x23\xba\x84\x10\x5d\x6a\x88\x2e\x01\x44\x97\x2a\xa2\x4b\x1d\xd1\xa5\x82\xa8\x2c\xb2\x6c\x10\x5d\x6a\x88\x2e\x65\x44\x97\x10\xa2\x4b\x0d\xd1\x25\x80\xe8\x52\x45\x74\xa9\x23\xba\x54\x10\x95\x45\x16\x0d\xa2\x0b\x0d\xd1\x85\x8c\xe8\x02\x42\x74\xa1\x21\xba\x00\x10\x5d\xa8\x88\x2e\x74\x44\x17\x0a\xa2\xb2\xc8\xa2\x41\x74\xa1\x21\xba\x90\x11\x5d\x40\x88\x2e\x34\x44\x17\x00\xa2\x0b\x15\xd1\x85\x8e\xe8\x42\x41\x54\x16\x99\x37\x88\xce\x35\x44\xe7\x32\xa2\x73\x08\xd1\xb9\x86\xe8\x1c\x40\x74\xae\x22\x3a\xd7\x11\x9d\x2b\x88\xca\x22\xf3\x06\xd1\xb9\x86\xe8\x5c\x46\x74\x0e\x21\x3a\xd7\x10\x9d\x03\x88\xce\x55\x44\xe7\x3a\xa2\x73\x05\x51\x59\xc4\x6b\x10\xf5\x34\x44\x3d\x19\x51\x0f\x42\xd4\xd3\x10\xf5\x00\x44\x3d\x15\x51\x4f\x47\xd4\x53\x10\x95\x45\x84\x09\x9a\x3e\x3f\x53\xa6\x67\xe0\xec\x4c\x9f\x9c\x41\x73\x33\x6d\x6a\x06\xcc\xcc\xd4\x89\x99\x2c\x22\x4c\xcb\xf4\x59\x99\x32\x29\x03\xe7\x64\xfa\x94\x0c\x9a\x91\x69\x13\x32\x60\x3e\xa6\x4e\xc7\x64\x11\x61\x32\xa6\xcf\xc5\x94\xa9\x18\x38\x13\xd3\x27\x62\xd0\x3c\x4c\x9b\x86\x01\xb3\x30\x75\x12\x26\x8b\x08\x53\x30\x7d\x06\xa6\x4c\xc0\xc0\xf9\x97\x3e\xfd\x82\x66\x5f\xda\xe4\x0b\x98\x7b\xa9\x53\x2f\x59\x44\x98\x78\xe9\xf3\x2e\x65\xda\x05\xce\xba\xf4\x49\x17\x34\xe7\xd2\xa6\x5c\xc0\x8c\x4b\x9d\x70\xc9\x22\xc2\x74\x4b\x9f\x6d\x29\x93\x2d\x70\xae\xa5\x4f\xb5\xa0\x99\x96\x36\xd1\x02\xe6\x59\xea\x34\x4b\x16\x11\x26\x59\xfa\x1c\x4b\x99\x62\x81\x33\x2c\x7d\x82\x05\xcd\xaf\xb4\xe9\x15\x30\xbb\x52\x27\x57\xca\xdc\x4a\x18\xf4\xeb\x63\x7e\x65\xc8\x0f\x8e\xf8\xf5\x01\x3f\x34\xde\xd7\x86\xfb\xc0\x68\x5f\x1d\xec\x2b\x63\x7d\x61\xa8\xaf\x8f\xf4\x95\x81\x3e\x38\xce\xd7\x87\xf9\xd0\x28\x5f\x1b\xe4\x03\x63\x7c\x75\x88\x2f\x19\xfc\xc6\xde\x6b\xe6\x5e\xb6\xf6\x90\xb1\xd7\x6c\x3d\x60\xea\x55\x4b\xaf\x1b\x7a\xc5\xce\x63\x01\xb2\xa3\x92\x4c\x4f\x9a\x7d\xfb\xe2\x86\x56\xea\xbf\x5a\x31\xef\xd5\x0a\xf2\x5d\x72\xdf\x25\xe4\xbb\xe0\xbe\x0b\xc8\x77\xce\x7d\xe7\x90\xaf\xc7\x7d\x3d\xc8\x77\xc6\x7d\x67\x90\xef\x94\xfb\x4e\x21\x5f\x97\xfb\xba\x90\xaf\xc3\x7d\x1d\xc8\x97\x83\xb5\x82\xb0\x5a\x72\xac\x96\x10\x56\x4b\x8e\xd5\x12\xc2\x6a\xc9\xb1\x5a\x42\x58\x2d\x39\x56\x4b\x08\xab\x25\xc7\x6a\x09\x61\xb5\xe4\x58\x2d\x21\xac\x96\x1c\xab\x25\x84\xd5\x92\x63\xb5\x84\xb0\x5a\x72\xac\x96\x10\x56\x4b\x8e\xd5\x12\xc2\x6a\xc1\xb1\x5a\x40\x58\x2d\x38\x56\x0b\x08\xab\x05\xc7\x6a\x01\x61\xb5\xe0\x58\x2d\x20\xac\x16\x1c\xab\x05\x84\xd5\x82\x63\xb5\x80\xb0\x5a\x70\xac\x16\x10\x56\x0b\x8e\xd5\x02\xc2\x6a\xc1\xb1\x5a\x40\x58\x2d\x38\x56\x0b\x08\xab\x39\xc7\x6a\x0e\x61\x35\xe7\x58\xcd\x21\xac\xe6\x1c\xab\x39\x84\xd5\x9c\x63\x35\x87\xb0\x9a\x73\xac\xe6\x10\x56\x73\x8e\xd5\x1c\xc2\x6a\xce\xb1\x9a\x43\x58\xcd\x39\x56\x73\x08\xab\x39\xc7\x6a\x0e\x61\x35\xe7\x58\xcd\x21\xac\x3c\x8e\x95\x07\x61\xe5\x71\xac\x3c\x08\x2b\x8f\x63\xe5\x41\x58\x79\x1c\x2b\x0f\xc2\xca\xe3\x58\x79\x10\x56\x1e\xc7\xca\x83\xb0\xf2\x38\x56\x1e\x84\x95\xc7\xb1\xf2\x20\xac\x3c\x8e\x95\x07\x61\xe5\x71\xac\x3c\x08\xab\x19\xc7\x6a\x06\x61\x35\xe3\x58\xcd\x20\xac\x66\x1c\xab\x19\x84\xd5\x8c\x63\x35\x83\xb0\x9a\x71\xac\x66\x10\x56\x33\x8e\xd5\x0c\xc2\x6a\xc6\xb1\x9a\x41\x58\xcd\x38\x56\x33\x08\xab\x19\xc7\x6a\x06\x61\x35\xe3\x58\xcd\x20\xac\xa6\x1c\xab\x29\x84\xd5\x94\x63\x35\x85\xb0\x9a\x72\xac\xa6\x10\x56\x53\x8e\xd5\x14\xc2\x6a\xca\xb1\x9a\x42\x58\x4d\x39\x56\x53\x08\xab\x29\xc7\x6a\x0a\x61\x35\xe5\x58\x4d\x21\xac\xa6\x1c\xab\x29\x84\xd5\x94\x63\x35\x85\xb0\x72\x39\x56\x2e\x84\x95\xcb\xb1\x72\x21\xac\x5c\x8e\x95\x0b\x61\xe5\x72\xac\x5c\x08\x2b\x97\x63\xe5\x42\x58\xb9\x1c\x2b\x17\xc2\xca\xe5\x58\xb9\x10\x56\x2e\xc7\xca\x85\xb0\x72\x39\x56\x2e\x84\x95\xcb\xb1\x72\x21\xac\x1c\x8e\x95\x03\x61\xe5\x70\xac\x1c\x08\x2b\x87\x63\xe5\x40\x58\x39\x1c\x2b\x07\xc2\xca\xe1\x58\x39\x10\x56\x0e\xc7\xca\x81\xb0\x72\x38\x56\x0e\x84\x95\xc3\xb1\x72\x20\xac\x1c\x8e\x95\x03\x61\xe5\x34\x83\x51\x68\xf4\xc5\x07\x5f\xd0\x68\x83\x0f\x36\xa0\xde\x95\x77\xae\x50\x6f\xc2\x3b\x13\xc8\x7a\x72\xe3\x09\x59\x0b\x6e\x2c\xa0\xd6\xc1\x1b\x07\x54\x1b\x78\x65\x80\x72\xcf\x33\x2f\xf9\xd1\x4b\x30\xe8\x65\x11\xc6\xc3\xd9\x1b\xe9\x70\xb9\x70\xd8\xd6\x21\xa7\xac\xae\xf4\x40\x16\xb9\x69\xe2\x8e\x6c\x46\xe0\xa7\x2e\x67\x53\xfc\xa7\x05\x90\x0e\x3f\x7b\xb6\x2d\x29\x08\xc2\x87\x7f\xed\x22\xbf\x28\xfe\xeb\xaf\xbb\x34\xfa\xfd\xae\x88\xfd\x28\x1a\x8b\x12\xd4\xa5\x39\x51\x4b\x35\xab\x09\x01\xf5\x4c\xea\x2b\x1d\x74\x8d\x8d\x9f\xa2\x76\x63\x3a\xfb\xff\x5f\xe3\xf5\xda\xdf\x97\x28\x1f\xaf\xd7\x5b\xb4\x4f\x73\x44\xcf\xa1\x85\x9f\xf0\x7c\x8c\x1e\x7d\xb4\xb6\x69\x75\xfd\x9b\x15\x17\xd6\x43\x88\x1e\x71\x48\x56\x0e\x01\x7a\x08\x77\x88\x1e\xeb\x23\x37\x8c\xd4\xb7\x64\xec\x23\x54\x6d\xf0\x7f\xac\x20\xcc\xe9\xb1\xc6\xf5\x2e\x8d\x4e\x71\xb2\x61\x5b\x54\x6c\xed\xf8\xb8\x7c\xae\xd9\xe3\x49\x76\x1d\xd7\x73\x57\x1b\xf0\x8e\x81\xeb\xbf\x4a\x7f\x4b\x4e\x56\xfe\xf5\x99\xe5\x3c\xfb\x9d\x9d\xa4\x03\xce\xb3\x5e\x8f\xb9\x98\xb1\x5d\x9a\x94\x28\x21\x67\xfc\x36\x2c\x4a\xfb\xea\x6f\xb7\xf9\xbf\x02\xbf\xf4\xad\x34\x0f\x0f\x61\xe2\x47\x56\x19\x96\x11\xfa\x7d\x4c\x7c\xe8\xb7\x76\x8f\xcb\x29\x09\x50\x8e\xa3\xd3\x4e\xe6\xd6\x3e\xa3\x20\x2d\x4b\x14\x6c\xd8\xc9\xc8\x23\x8a\xb2\x4d\x0d\x2d\x3d\x94\x78\xed\x3e\x74\x36\x9e\x04\xb9\x7f\xb0\x8e\x7e\x12\x44\x68\x5c\x9c\xe2\xd8\xcf\xcf\xea\x7d\x31\x6c\x1f\xce\x45\x3b\xad\x7f\x4d\xa3\x51\x1a\x8d\xd3\x68\x74\x8a\xc6\x27\xf2\x7d\xc2\xdf\xca\x6e\x1b\xfb\x1a\x94\xda\x71\xe4\x20\x90\xf6\xd3\xd8\x57\x72\xfb\xc9\x7f\x9f\xd2\x12\xb1\x2b\x5b\xf8\xc6\x23\x72\x06\x92\xec\xf2\xd9\x27\x62\x1a\xc2\xd2\x8f\xc2\xdd\x75\x3b\x2e\xca\x3c\x4d\x0e\x52\x0c\xdb\x34\x0a\x50\x7e\x25\x15\x58\xa8\xb6\x4b\xfb\x8b\x2b\xbf\xa1\xa5\x3e\xd9\x99\xa3\xc8\x2f\xc3\x07\x24\xb4\xc7\x85\xf7\x85\x54\x75\x6c\x1c\xea\xc2\xb2\x63\x4d\x5c\x0f\xc5\x57\xac\xa3\x4c\xb3\xb5\x35\xc1\xbf\x7c\xf9\xd2\x0d\xad\xdc\xc8\xc9\x57\xad\xbe\x09\x37\xa7\xc8\x27\xee\x9b\x90\x56\x71\x1f\x66\xeb\x74\xfb\x11\xed\xca\xe2\xca\x2f\xfe\xe1\xf7\x52\xec\x3d\xd7\x75\xc0\xc8\xae\x3e\x29\xea\x7f\x1d\x73\xb4\xff\x9d\x16\x7b\x5d\xb1\x7f\x7f\x3e\x6e\xf5\xe5\x57\x0e\xb5\xca\x88\x09\x61\xd7\xe0\xdc\x90\x10\xb5\x75\x5d\x77\x69\x80\xc6\xf7\xdb\x80\xec\xf6\x2a\xfc\x38\x93\xae\x07\xf8\xf1\xd5\xdb\x34\x49\xf9\xcd\x08\xe3\xb7\x28\x89\xd2\xf1\xdb\x34\xf1\x77\xe9\xf8\xeb\x34\x29\xd2\xc8\x2f\xc6\xcf\xbe\x0f\xb7\x88\xa6\x60\x84\xc5\x9f\x8d\x9f\x7d\xcd\x6e\xa9\x78\x87\x1e\x9f\x8d\xe3\x34\x49\xc9\x51\x61\xd1\x02\xa3\xf8\x9a\xe5\xe8\xd2\x7a\x7f\x41\x18\x1f\xd4\x8b\x7d\xe2\x30\x08\x22\xc4\x5b\x9e\x70\x43\x0f\x39\xf1\xcd\xce\x79\xe3\xd2\x8e\xfc\xac\x40\x6b\xfe\x71\xe5\xd7\x26\x89\x54\xd4\x84\x5e\xd1\xa0\x70\x4f\xcc\x95\x95\xf8\x7c\xb7\xf0\x16\xc1\x86\x05\x27\x07\xc3\xd7\x54\xf0\x5a\x1e\xc5\x4b\x98\xf8\xcd\x44\xf4\x3c\x39\x4f\x48\xee\x07\xe1\xa9\xc0\xad\x8d\x38\x2b\xe8\x53\x93\x32\x72\xb2\x6a\xc3\x9d\x9a\x1b\x85\x76\xa7\xc2\xca\x43\x72\x64\x3a\x4a\xf3\x91\x7f\x2a\xd3\x91\x97\x55\xfc\xa2\x27\x72\xf0\x79\x9c\x66\x25\xbd\x59\x89\x9d\x42\xaf\x2f\x6b\x92\x2d\x34\x2b\x4d\x5e\x6d\x9a\x62\xe0\x2e\xd0\x1d\x4b\xff\x2a\xcf\x19\xfa\x6b\x8e\x0a\x54\xfe\x3e\xa6\x3f\x8a\xd3\x36\x0e\xcb\xdf\xf9\xcd\x51\xc7\x32\x8e\x46\xd4\x87\xba\xfc\x5e\x1f\xbc\xf6\xb3\x0c\xf9\xb9\x9f\xec\xd0\x9a\x7a\x5d\x25\xb9\xf5\x9a\x1c\x6a\xa7\xb9\x0c\x93\x04\xe5\x63\x31\x3a\xa3\x37\x4b\x00\xe0\xcf\x00\xd6\x3c\x6a\x5e\xd2\x06\x2a\x0d\x01\x91\x45\xec\x07\x61\xfa\xfb\x58\x70\xd9\x1d\xd1\xee\x7e\x9b\x56\xbf\xc3\xbd\xa9\x70\x74\x5e\x08\x14\xf8\x25\x92\xb4\x94\x61\x2c\x3b\x60\x09\xec\x68\x91\x0b\x52\x24\xaf\x38\x4d\xca\x23\x88\x61\x14\x16\x25\xee\xc1\xeb\xf2\xcd\x11\x29\x3f\xde\x3a\xae\xfb\x10\x45\x41\x81\xca\x4b\x1c\x26\xb4\x33\x17\x0f\xf7\x37\x1d\x36\xbb\x08\xc1\xbe\xb2\x7d\x9a\x7c\x24\x6a\x7f\xb1\x89\xfd\xca\x12\x7e\x36\x81\xc5\x71\x93\xd0\x36\x78\xdd\x91\xef\x02\x20\xfd\xd4\xa4\x3e\xe6\x3f\x6e\x3e\xad\x7d\x74\x0a\x03\x80\x11\xdf\x68\x04\xf8\x46\xda\x1a\x4a\x2e\x06\x10\x3b\x2f\xe2\xd0\x24\x95\xf4\xbb\xe3\xe6\x1e\x2f\x76\xe7\x58\xe3\x40\xef\x6a\x20\x40\xd3\x91\x16\x31\xfa\xe3\x49\x91\x5b\x69\x12\x9d\x81\xdb\x0c\x58\x6d\x4d\x4e\xf1\x16\xe5\xbf\x37\x67\xe6\x49\x95\xb2\x8a\x0c\x77\xb6\xb4\x0d\x18\x04\xd3\x53\x29\x0b\xf2\xbb\xdf\xc8\xe5\x69\xac\x32\x23\x3f\xdf\x1d\x7f\xe7\xe6\xc0\x4a\xf7\xfb\x02\x95\x6b\xcb\xcd\xaa\x0d\x50\x07\x48\x8d\x95\x42\x0a\x67\xf9\x89\x83\xb5\xc3\x82\x91\x9c\x34\x93\x6c\xd3\x6d\x40\x15\x8e\x44\xd6\x84\xd9\x87\x11\xb2\x4e\x59\x94\xfa\x01\xcf\x0f\xae\x15\x75\x1d\x30\x37\x7b\x3e\xc6\xe1\xa3\x4a\x72\xb3\x1a\x2e\x90\x6b\x89\xe2\x2c\xf2\x4b\x54\x7b\xd1\x0c\xd2\xcb\xee\x7e\x97\x5c\x85\x31\xe0\xdf\x62\x14\x84\xfe\xe8\xcb\xa6\x9e\x7b\x8b\x79\x56\x3d\xbf\x34\x15\xed\xd2\xd4\x64\x8f\xac\x4d\x02\x81\x16\xf3\xa5\x31\xd0\xc2\x35\x04\x5a\xad\x5c\x63\xa0\xd5\xdc\x10\xc8\x71\x6d\xdb\x18\xca\xa1\x1b\x58\xaf\x93\x3c\x7d\x04\x06\xde\xb8\x2a\xae\xc9\xed\x1a\x52\x83\xb0\xc4\x36\x42\x5a\x84\x45\x97\x8d\x70\x8d\xc7\xbf\x47\x4d\xdd\x2f\xd3\xc3\x21\xc2\x95\x3b\x0a\x4b\x3e\x3d\x20\xf7\x96\x1c\x4e\x65\x89\xf2\x42\xde\x85\x6d\x5f\x01\x2f\x36\x60\x14\x7c\xee\x26\xbb\x34\x12\xb5\xdc\x09\x73\x1c\xeb\x77\xa5\x8d\xdb\x72\x03\xb7\xaf\x34\x34\x16\x75\xd8\x3f\x36\xfb\x97\xff\x76\xe9\xbf\xec\x9f\x29\xfd\x67\x46\xff\xf1\xe8\x3f\x73\xfa\xcf\x82\xfe\xb3\xa4\xff\xac\xe8\x3f\xb8\x91\xd1\xaf\xe8\xc0\xff\xe5\x71\xe1\x2f\xbb\xf9\x14\x5c\xdd\xfa\xb3\xf9\x9a\xd6\x5f\xb3\xfa\xcb\xab\xbf\xe6\xf5\xd7\xa2\xfe\x5a\xd6\x5f\xab\xfa\xab\x49\x4f\x1c\xf0\x7f\x79\x7a\xf0\x97\xdd\x7c\x0a\xae\x6e\xfd\xd9\x7c\x4d\xeb\xaf\x59\xfd\xe5\xd5\x5f\xf3\xfa\x6b\x51\x7f\x2d\xeb\xaf\x55\xfd\xd5\xa4\xa7\x88\xf9\xbf\x3c\x3d\xf8\xcb\x6e\x3e\x05\x57\xb7\xfe\x6c\xbe\xa6\xf5\xd7\xac\xfe\xf2\xea\xaf\x79\xfd\xb5\xa8\xbf\x96\xf5\xd7\xaa\xfe\x6a\xd2\x53\x45\xfc\x5f\x9e\x9e\xaa\xa9\x1e\x55\x53\x43\xaa\xa6\x92\x54\x75\x3d\xa9\xea\xaa\x52\xd5\xb5\xa5\xaa\x2b\x4c\x55\xd7\x99\xaa\xae\x36\x55\x5d\x73\xaa\xba\xf2\x54\xb4\xfe\x00\x13\x16\xb1\xb3\x0c\x93\x7a\x9e\x2b\xf4\x60\x6d\x9d\x1a\xa9\xf6\x17\xd2\xae\xb7\x7e\x11\x16\xb8\x67\xc5\x3f\x0e\x79\xfa\xb8\x76\x94\xee\xf7\x5a\xd7\x63\x12\x82\x4c\xca\x84\x6e\x8f\x75\x89\x3c\x04\xbb\x87\x14\xb7\x9c\x46\x7c\x39\x99\xe2\xff\x13\x3b\x76\xee\x44\x65\xdd\x46\xd6\x99\x4f\xe6\xf3\xf9\x7c\x21\x8d\x02\xb8\x1b\x95\x9e\x36\xd2\xae\x27\xca\xb9\x1e\x93\x98\x35\x12\xd3\xa9\x1e\x79\xed\x46\xa5\xbd\x46\x7a\xe6\xe8\xb1\xd7\x6e\x54\x7a\xde\x48\x7b\xd2\x58\xc5\xe3\x58\x2d\x04\x09\x20\xeb\x9e\x9c\xf7\x65\x23\x3d\x07\xf2\x3e\x97\xf3\xbe\x6a\xa4\x17\x52\xde\x17\x3c\xef\x8e\x2d\x00\x0f\x64\x7e\x29\x67\xde\x11\xca\x69\x05\xe4\x7e\x25\xe7\xde\x11\x8b\x4a\x1f\xab\x5d\x27\x74\x54\xba\x0f\xf3\xa2\xbc\xd0\x11\x9e\xe5\x70\xd7\xc8\xaf\x1d\x9d\x29\x77\xb4\x2f\x7c\x20\xc8\x1c\x1c\x2e\xc2\x1d\x5c\xe6\xe0\x72\x87\x29\x73\xa8\x75\xcc\x98\xc3\x8c\x3b\x78\xcc\xc1\xe3\x0e\x73\xe6\x30\xe7\x0e\x0b\xe6\xb0\xe0\x0e\x4b\xe6\xb0\xe4\x0e\x2b\xe6\xb0\xaa\x13\xc6\x93\xea\x34\x69\xad\x13\x5b\xa7\xd6\xe1\xc9\x75\x70\x7a\xc9\x40\xca\x72\xe4\x73\xe1\x75\x01\x30\x6f\x57\x3e\x84\xd5\x94\x38\xf3\x9f\x2a\x27\xf0\x1a\x9f\x99\x7c\x74\x70\xaa\x6a\x56\xce\x8d\x3a\xaa\xe6\xb9\x72\xec\xb5\xf1\x59\xc8\x3e\x5a\x9a\x97\xf2\x71\x63\x2d\xcd\x2b\xe5\xac\x79\xe3\xa3\x9c\x39\x5b\x6a\x89\x76\x64\xb8\x9a\x1a\xd8\x36\xe2\xc2\xd6\x7b\x98\x49\x63\xd6\x7e\x98\x55\xc3\xbd\xcf\x00\xc3\x86\x7b\xa8\x41\xb6\x0d\x77\x64\x9d\xe6\x0d\xf7\x71\x83\x2c\x1c\xee\x0a\x07\x19\x39\xdc\x63\x76\xda\x39\xdc\x99\x0e\x32\x75\xb8\xcf\x1d\x64\xed\x70\xd7\xdc\x69\xf0\xc8\x30\x61\x90\xcd\x23\xa3\x89\x41\x66\x8f\x0c\x3a\x7a\x59\xbe\x22\x36\x18\xbf\x22\x86\xed\x5f\x11\xeb\x26\x90\xd4\x32\xc5\x0a\x92\xaa\xa4\x18\x42\x52\x5b\x14\x5b\x48\x2a\x87\x62\x0e\x49\xf9\x2b\x16\x91\x14\xb1\x62\x14\x49\x89\x2a\x76\x91\x14\x9a\x62\x1a\x49\xb9\x28\xd6\x91\x16\x83\x6a\x20\x29\xd4\xaa\x8d\xa4\x70\x6a\x66\x92\x40\xa1\x0c\xf5\x1b\xaf\x0e\x23\x4a\xf0\x69\xb7\xa3\x04\x2e\x93\x29\x25\xb8\xb5\x5b\xd3\x22\xee\x34\xa8\x04\x55\x93\x4d\x25\xf0\xb6\x9b\x55\x82\x76\xbb\x65\x25\xe0\x9b\x8c\x6b\x11\x77\xdb\x57\x5a\x26\xb0\x89\x6d\x9d\xa0\xe2\x11\xfb\x30\x1b\xcb\x46\xf8\xc3\x6c\x2c\x9e\x71\x0c\xb0\xb1\x78\x56\x32\xc8\xc6\xe2\xc9\x4b\xa7\x8d\xc5\xf3\x9a\x41\x36\x16\x4f\x7f\x06\xd9\x58\x3c\x4b\xea\xb4\xb1\x78\x02\x35\xc8\xc6\xe2\x79\xd6\x20\x1b\x8b\xa7\x63\x9d\x36\x96\x4c\x0d\x07\xd9\x58\x32\x83\x1c\x64\x63\xc9\x44\xb3\x97\x8d\x8d\x03\x83\x8d\x8d\x03\xd8\xc6\xc6\x81\x6e\x63\x49\x2d\x53\x6c\x2c\xa9\x4a\x8a\x8d\x25\xb5\x45\xb1\xb1\xa4\x72\x28\x36\x96\x94\xbf\x62\x63\x49\x11\x2b\x36\x96\x94\xa8\x62\x63\x49\xa1\x29\x36\x96\x94\x8b\x62\x63\x69\x31\xa8\x36\x96\x42\xad\xda\x58\x0a\xa7\x66\x63\x09\x14\xb0\x8d\x25\x88\xb4\xda\x58\x82\x4f\xbb\x8d\x25\x70\x99\x6c\x2c\xc1\xad\xdd\xc6\x12\x18\xdb\x6d\x2c\x41\xd5\x64\x63\x09\xbc\xed\x36\x96\xa0\xdd\x6e\x63\x09\xf8\x26\x1b\x4b\x4b\xa1\xdd\xc6\xd2\x32\xe9\x6d\x63\x1b\x3e\x2f\xb2\xa2\xc3\x30\x1b\xcb\x58\x9d\x61\x36\x36\x3a\x0c\xb2\xb1\xd1\x61\xa0\x8d\x8d\x0e\x3d\x6c\x6c\x74\x18\x68\x63\xa3\xc3\x40\x1b\x1b\x1d\x7a\xd8\xd8\xe8\x30\xd0\xc6\x46\x87\x81\x36\x36\x3a\xf4\xb0\xb1\x84\x0e\x1c\x64\x63\x09\x6b\x38\xc8\xc6\x12\x72\xb1\x97\x8d\x8d\x0e\xa6\x49\xfc\x01\xb6\xb1\xd1\x41\xb7\xb1\xa4\x96\x29\x36\x96\x54\x25\xc5\xc6\x92\xda\xa2\xd8\x58\x52\x39\x14\x1b\x4b\xca\x5f\xb1\xb1\xa4\x88\x15\x1b\x4b\x4a\x54\xb1\xb1\xa4\xd0\x14\x1b\x4b\xca\x45\xb1\xb1\xb4\x18\x54\x1b\x4b\xa1\x56\x6d\x2c\x85\x53\xb3\xb1\x04\x0a\xd8\xc6\x12\x44\x5a\x6d\x2c\xc1\xa7\xdd\xc6\x12\xb8\x4c\x36\x96\xe0\xd6\x6e\x63\x09\x8c\xed\x36\x96\xa0\x6a\xb2\xb1\x04\xde\x76\x1b\x4b\xd0\x6e\xb7\xb1\x04\x7c\x93\x8d\xa5\xa5\xd0\x6e\x63\x69\x99\xf4\xb6\xb1\xc2\xf2\x47\x64\x55\x03\xf9\xcf\xea\x16\x0a\xb4\x1a\xc6\x82\x56\x43\x89\xd0\xaa\x0f\x17\x5a\x0d\xa5\x43\xab\xa1\x8c\x68\xd5\x87\x14\xad\x86\xf2\xa2\xd5\x50\x6a\xb4\xea\xc3\x8e\x56\x83\x09\xd2\x6a\x30\x47\x5a\xf5\xa6\x49\xab\xc8\x60\x64\xab\x08\x36\xb2\x55\xa4\x1b\x59\x52\xcb\x14\x23\x4b\xaa\x92\x62\x64\x49\x6d\x51\x8c\x2c\xa9\x1c\x8a\x91\x25\xe5\xaf\x18\x59\x52\xc4\x8a\x91\x25\x25\xaa\x18\x59\x52\x68\x8a\x91\x25\xe5\xa2\x18\x59\x5a\x0c\xaa\x91\xa5\x50\xab\x46\x96\xc2\xa9\x19\x59\x02\x05\x6c\x64\x09\x22\xad\x46\x96\xe0\xd3\x6e\x64\x09\x5c\x26\x23\x4b\x70\x6b\x37\xb2\x04\xc6\x76\x23\x4b\x50\x35\x19\x59\x02\x6f\xbb\x91\x25\x68\xb7\x1b\x59\x02\xbe\xc9\xc8\xd2\x52\x68\x37\xb2\xb4\x4c\x0c\x46\x96\x5c\x8d\x4f\xb6\xef\x89\x9b\x47\xd8\xce\x1a\xd8\x93\x6e\xab\x81\xfd\xd8\x9e\x9a\xc6\xf3\xa2\x6c\xad\x00\xdf\x4d\xdb\x08\x7b\x9f\xe8\x3b\x0f\x1b\x78\xab\x96\xf6\x1e\x85\xf6\x16\x87\xb8\x2b\x8f\xef\x3a\x99\x4c\xc9\x36\xac\xd1\x44\x78\x46\xa7\xd9\x09\xab\x6e\x33\x95\x77\x5b\x4d\x1c\x97\x04\x12\x5e\x6f\xa1\x7b\xa8\x26\x8e\x27\x3d\xe0\x32\x56\x37\x08\x02\x12\x54\xb3\xd1\x97\x3f\xf7\xa0\xf9\xf1\xae\xb0\xd8\xe5\x08\x25\x23\x3f\x09\x46\x5f\x66\x39\xda\xa3\xbc\xb0\x72\x14\x9c\x76\x28\xb0\xe2\x94\xad\x2f\xe2\x9f\xcf\x2f\x04\x6b\x21\xd1\xa4\x4b\xbb\x8a\x2f\x4e\xe0\xcf\xb6\x97\x08\xa1\x77\x2a\x84\xbd\x7e\xa4\x88\xd9\xab\x0b\x82\x1c\x77\x5a\x03\x4e\x7d\x1e\x5b\x18\x1c\x6e\x2d\x87\x2b\x8e\xe9\xe3\x9d\x94\x36\x65\xf7\xc2\xa0\xc7\x35\xbc\xe7\x14\x07\x1e\x1b\x85\x82\xff\xba\xa4\x99\xbf\x0b\xcb\xf3\x7a\x32\xf7\xae\xbe\x2c\xc8\xf7\x50\xd5\xc2\x23\x22\x70\x61\xfb\x72\x2d\xf4\x80\x92\xb2\x68\xa0\xe6\xc9\x15\xde\xdd\x03\xb6\x38\xb3\xbd\xeb\x62\x45\xe2\x8e\x92\x16\x79\xa7\x29\xac\xcb\x99\xd9\x9e\xeb\x28\xba\xec\xc0\x9e\x3a\x73\xb9\x70\xa5\xcc\xd7\x31\xd4\x20\x3c\x4d\x82\x7b\x3f\xc4\x31\xa8\x56\xf4\xa8\x0f\xed\xe9\xa7\x78\xa8\x20\xcd\x6d\xd7\xde\xd2\xf4\x17\x68\x97\x26\x81\xd2\x06\x6a\xc7\x35\xe8\x38\xb4\x1d\xf4\x0c\x69\x6c\x09\x4d\x1a\x87\xb7\x05\x67\xba\x1a\x3b\xb3\xd9\xd8\xf1\xec\xba\x39\x34\x0a\xdb\xc1\xa3\x4f\xbe\x28\xe0\x89\xef\xc0\x34\x19\xeb\x51\x5f\x17\x8b\x45\xb0\x9c\x29\xda\x16\xce\x62\xbe\x08\xd4\xa2\x90\x6b\x6c\x13\x4b\xbf\x3a\x3b\x20\xd9\xfd\x6b\xed\xb0\x32\xec\x55\x7a\x1d\x70\x11\x64\x94\x5c\xcc\xb7\x0b\x7b\xc1\x73\x41\x1f\xc7\x91\xea\x2d\x75\x5a\x03\x4e\x83\xeb\x6c\x9f\x70\xe6\x1a\xcb\xd2\x36\xbc\xbe\x7a\xee\xd8\x99\x2e\xc7\x9e\x27\xd4\x56\xaa\xac\x1d\x2e\xb6\xf5\x5f\x86\x8b\x3a\x4a\x5a\xfa\xd4\x54\xd7\x9f\x23\x77\xa7\x1a\xbd\xf9\xdc\x73\x97\x32\xf4\x4a\x3d\x65\x31\xf4\xab\xa5\xbd\x13\x3c\xa0\x8e\x0e\x28\xb3\x1e\xa5\xd5\x01\x12\xc1\x43\x05\x69\xea\xed\x5c\x8f\xa6\x3f\x4c\xf6\xa9\x58\x39\xf1\xef\xb5\xfa\x7b\x68\xb5\xec\x0e\x64\xac\x93\x24\x3d\xc3\x2b\xa4\x3b\x1d\x3b\x73\x77\xec\x2c\x67\x4d\x8d\xc4\xaa\x3a\x3a\xe7\x85\xef\x6e\x55\x74\xa8\x63\xa3\xa2\x57\x2f\x3f\x5d\xce\x34\x63\xe6\x38\x0b\x7f\xb9\x15\x60\x96\x2b\x22\xd1\xdd\xaf\x16\xf6\x4b\x67\xff\x2a\xd8\xbb\x7c\xba\x4a\xa6\x23\xd9\x04\x00\x35\xd9\xf6\xc2\x5e\xec\x69\xb2\xd9\x23\x61\x62\xfd\x63\x4e\x6b\xc0\x69\x68\x2d\xec\x15\xce\x58\x11\x79\xda\x6e\xa8\x8b\x9e\x37\x76\x56\xd3\xf1\xa2\xa9\x8a\x4c\xd9\xa5\xfb\x70\xdd\xce\xb1\x55\x73\x43\x1d\x25\x45\x72\x9d\x34\xaa\x43\xb6\xbf\xb4\x6d\x45\x5d\x30\x5d\x21\xdb\x96\x0b\x40\xae\x99\x3c\x12\xb5\x72\x7e\x7e\xb2\xfb\x57\xd1\x21\x85\xd7\xa3\xd8\x3a\xb3\x40\x51\x51\xb2\xb0\x9b\xaf\x3c\x0e\x15\x7d\x45\x4f\xac\xaa\xd4\x65\xad\xbb\x0c\xad\xa8\x7d\x82\x19\xeb\x29\x4b\xd7\x0d\x63\x4e\x6f\x39\x76\xa6\xe3\xa9\xd3\x54\x53\xaa\xab\xbd\x51\xb3\xf7\x50\x65\xa0\xa8\xa3\xa8\xa4\xd7\x58\x73\x6b\xfb\x8e\x6a\xd6\xe6\x7b\x7b\xc5\xe7\x46\x3c\x6f\x52\xed\x64\xfa\xfb\x59\xce\xbe\xa9\xed\x5f\x31\x07\x14\x56\x77\x31\xb5\x27\x9e\x42\xa1\xe2\x33\xb5\x97\xce\x94\x26\x9e\x9c\x39\x16\xab\x24\x71\x58\x6b\x0e\x43\x2b\x64\x8f\x50\xc6\xfa\x48\xd3\x74\x9b\xd5\xe4\xff\xab\x2b\x24\x3d\x54\xdd\xe3\x48\xb2\x66\x7b\xf6\x82\x82\xbe\xd6\x72\x87\xff\x14\x4d\x68\x8e\xff\x44\xb8\xe5\xda\x48\x23\x18\x60\x29\x3b\x92\xda\xbf\x22\xf6\x2f\xa4\xce\xe2\xe9\x86\x86\xa0\xa0\x76\x24\x7b\xfc\xc7\x9b\x51\x7e\x2f\xdb\xc6\xfc\x7e\xad\xfe\x1e\x6e\x17\xbb\x02\xb5\x58\xc5\xfc\xfe\x16\x9b\xb8\x18\xd3\xff\x17\x4c\x62\x7e\xdf\x35\xca\x51\xe9\x1d\xc7\x71\x9a\xc0\x7d\x0c\xa1\xad\xf5\x3c\x76\xd3\xed\xe0\x8c\x28\x06\x30\xbf\xef\x3b\x70\xec\x48\xdb\x10\xb3\xd7\xb3\x2c\xba\x4a\xe1\x66\x24\x94\x37\x68\xc5\xda\xa6\x78\xad\x5b\xbc\x86\xd6\xc1\x41\xe1\x8d\xd5\x51\x4d\xfb\x13\xb0\xa5\xaa\xce\x8b\xc2\x05\xb6\x1d\xa4\x37\x13\x85\x6a\x76\xfb\xcc\xc3\xbb\xc8\x47\x2d\xf3\x52\x6d\x56\x63\xd4\x4c\x69\x77\x7e\xe0\xa4\xf7\xaf\xdb\xb7\x94\xf1\x80\xd2\x7d\x22\xf8\x40\x0e\x54\xf3\x84\xea\xee\xed\x9c\xe8\x40\x0d\x9d\xf5\xff\xc9\x39\x52\x4d\xf1\x45\xa1\x17\x5b\x9b\x01\xf4\x8e\x74\x0b\x23\xa9\xa3\xd1\xa3\x79\x74\xf2\x9c\x00\x36\x60\x03\x31\x13\xac\x3d\xf2\x6a\xca\xc0\xf0\x46\x72\x3b\xc5\xda\x59\x09\x9e\x0a\x48\x9d\x72\x55\xbc\xc0\x2a\x7e\x23\x05\x3b\x28\x7c\x77\x03\x79\x4a\x4a\x56\x51\xaa\xdc\xbf\x32\xa0\x87\x10\x09\x4f\x35\xbf\x3d\x9a\x40\x27\x89\xaa\xe5\x1e\x6e\x00\x06\xe6\xb6\x47\x7e\xe0\xa4\xdf\x50\xf9\x6f\xe4\x6e\x3b\x8a\xf7\x89\xe0\x53\xb9\x5c\xd1\x1d\xaa\xb2\x37\x71\xbb\xfd\x03\x77\x56\xf6\x27\xe4\x7a\x45\x95\x17\x85\x35\xed\x5f\xcf\x45\x4a\x55\xca\x67\x1f\x0a\xb8\x8b\xa3\x95\x73\x0d\xd6\x70\x90\x12\xee\x91\x0d\x20\xc5\xc3\xeb\xf6\x4d\xa4\x70\x5b\x51\x3e\x11\x5e\x00\x49\xac\x78\x41\xd5\xf3\x56\xd2\x78\x50\xf8\xce\x1a\xfe\xa4\x24\xb2\xa2\xf4\xa2\x90\xaf\xfd\xab\xb9\xc8\xcc\xaa\xf9\xed\x47\x95\x74\x12\xbe\x1a\x00\x60\x7d\x37\x11\xcd\x3d\xb2\x04\xa7\x7e\x78\xad\xbf\x95\x67\xee\x28\xe1\xa7\x43\x50\xe7\x9d\x65\x1f\xa8\xf2\xde\xc8\x43\x0f\x09\xde\x59\xf5\x9f\x92\x97\x96\x75\x5e\x14\x6e\xb7\x7f\xc5\x17\x89\x5f\x25\xb3\x3d\x2c\x7c\x27\x97\xac\x66\x1d\xac\xf3\x06\xfa\xba\x47\x66\xc0\x74\x0f\xaf\xf1\x37\x12\xd8\xed\xe5\xfa\x44\xc8\x69\x84\xb6\xe4\x01\xd5\xd5\xdb\x08\xee\x01\xa1\x3b\x2b\xfa\x93\x12\xde\x92\xd2\x56\x50\xdb\xcc\xfb\x1e\x50\xd6\xdb\xb2\x1b\x09\x6a\x25\xc3\x60\xed\x86\xe9\xf0\xae\x0c\x40\xc9\x1d\x5e\xb1\x6f\x23\xc4\x5b\x8b\xf1\x29\xe0\x52\xa9\x71\xd1\x1d\xb6\xbe\x37\x50\xe5\xfd\x03\xf7\x30\xdc\x4f\x44\x9d\x8b\x0a\x2f\x22\x21\x3d\x60\x40\xce\xd9\x6a\x29\x7f\x7d\x46\xe3\x66\xe2\x5b\xce\xa7\xc1\x46\x03\x0c\x7b\x57\xd2\x81\x84\xde\x62\x9c\x6f\xa0\xd9\xdb\x4a\xee\x66\x98\xa2\x30\xb9\x1f\xd7\x5f\x0c\xf3\xee\xfc\x63\xe1\x8b\x7a\xc7\x30\x30\x67\x15\x94\xf2\x98\xcd\x37\xb5\xca\x69\x04\xe3\x94\x57\x41\x13\xd6\xb2\xc0\x4d\xd7\x46\x6d\x1b\xa1\x7e\x37\x5b\x86\x89\x76\x75\xd1\x2f\xd1\xeb\x07\xbb\x77\xd4\xb8\xf5\x98\x5e\x63\x18\x1d\x48\x99\x31\x3d\x87\xfa\xae\x4b\x72\x4d\x23\xb9\xc4\x57\xbe\xf4\xda\xeb\xb3\x79\x9e\xbe\xd5\xdd\x44\x52\xc4\x42\x24\x45\xdc\x44\xe2\xd2\x1d\xfa\xca\x06\xfd\xc9\x72\xd1\x2b\x9a\x3a\x16\x7a\xe6\x80\x9f\x31\x20\xbf\x04\x8f\x3f\x0b\x32\xc2\x83\xe6\x13\x25\x95\x63\x21\xc1\xfc\x1c\x02\x70\x83\x97\x72\x92\x81\xdc\xb4\x07\x1e\x5b\xb8\x02\xfa\x04\x18\xe8\x7d\xdd\x13\xba\x3b\x5c\xbb\xd7\x98\x9e\x41\x72\xc8\x69\x35\xa3\x22\xa9\xc5\x02\xfe\xeb\x2e\x7f\xa1\x8e\x42\xde\xa4\x39\xa8\xa9\xd5\x23\x35\xc4\x05\x47\x21\x68\xbe\x7c\xb2\xc8\x95\xc2\x6b\x47\xc8\xe1\x08\x7f\xfe\x59\x81\xa9\x71\xd4\x8a\x6a\xd4\x7c\x82\xa1\x04\x2f\x73\x31\x83\x91\x02\xbe\x1d\x1a\xe0\x64\x18\x65\xe8\xe7\x45\xbe\x84\x31\xab\xae\x1a\x84\x61\x5e\x94\xd6\xee\x18\x46\xc1\xd8\x74\x2b\x23\xbd\xbc\x9d\xf8\x92\x0b\xe4\x8c\xd7\x37\x0a\x82\x18\xa1\x36\x29\xf5\x90\x16\x4e\x56\x99\xa6\xd1\xd6\xcf\x5b\x2f\x9a\xfc\x78\x2a\xca\x70\x7f\xb6\xd8\xed\xea\x44\xc6\x2a\x4a\x3f\x2f\x25\x1d\x23\xf1\x3a\xd5\x4b\x73\x22\x53\xcd\x3f\xfd\xa4\x9d\x50\xe4\x73\x24\x9e\x83\x4d\x49\x93\x62\x9d\x95\x9c\xcb\xe7\xfc\x6e\xe5\x32\xcd\xd8\xdb\x60\xfc\x96\x65\xf9\x42\x76\xc5\xb3\x2d\x65\x42\x21\xb5\x25\x4d\x14\x13\x53\x41\x9e\x1f\x33\x24\x42\xf2\xbb\xc2\x45\xa6\xdc\x97\x39\xf1\xe6\xae\x74\x33\x35\x29\x43\xee\x0a\x98\xe6\x3f\xc3\x6a\xb9\xc5\x36\x78\xab\xb1\x4e\x17\x40\xa4\xd4\x11\xe8\x73\x5a\xe3\x8c\x0e\x3d\xe3\x84\xa2\xd4\x62\xac\xed\x39\xfc\x18\x01\x31\xdb\xe4\x4a\xd9\x42\xa8\xad\x5a\x45\xa6\x87\xd4\x20\xbd\xa3\x1e\x6d\x5e\x3a\x13\xa7\x8e\x67\x3b\xda\x25\x6f\x91\xfc\x5a\x66\x7e\xc9\xbd\xda\xf3\x4c\x5c\xcf\x23\xb7\x2b\xd3\x04\x3f\x7b\x66\xec\x3b\x8c\x56\xea\xae\x87\xb5\xbb\xeb\x61\xed\x54\x19\xd9\xda\x91\x6b\xf8\x1d\xe5\x0a\x5a\xdb\x98\xda\x9e\x36\x40\xe9\xbf\x86\x19\x03\xb0\xc9\xb7\x37\xc5\x1e\xa9\x6d\xb3\x0b\x50\x72\x07\x19\x08\xdd\x7e\x89\x69\xa2\xf9\xd3\x22\x15\x9c\xc5\x41\x88\xfa\x00\x04\x1c\x62\xa4\xdf\x77\xde\x2d\x58\x5f\x83\xde\x9d\x8c\xde\xfa\x0d\x61\x9a\x1b\xd7\xeb\x41\x95\xbf\x2d\xd2\xe8\x54\xa2\xcd\x2e\x0a\xb3\x35\x6e\xf9\x5f\xda\x63\xf2\xf7\x1c\x1e\x1c\xf3\x0a\x32\xae\x2f\x43\x16\x3a\x56\xde\x44\xf5\x41\x9b\xa9\x51\xc3\x67\x5f\xc5\x7a\xcf\x5a\x6d\x53\xa8\xeb\xc9\x14\xc5\xf4\x68\x6b\x3d\xe8\x65\x16\x96\xbb\x8f\x80\x49\x2a\x2f\x3b\xfe\x9b\xd9\x5f\x28\x88\x9e\x58\x14\x67\xe5\xd9\xd0\xf3\xd7\xb2\x31\x4a\x4e\x00\xb2\xf4\xed\x50\xfb\x8b\x0d\x0d\xb0\xa9\x07\x76\xb6\x6d\x6f\xc4\x5b\xb8\x37\xfb\x28\xf5\xcb\x35\x16\xdb\x08\x17\x3c\xd8\x82\x09\x67\x33\x8f\xfa\xc2\x79\x76\x14\x17\x4f\xef\xd5\x33\xbc\x32\x19\x22\x9c\x26\x26\xfa\x0d\xe4\x88\xe0\x8a\xeb\x43\xf3\x74\x43\xa5\x1f\x2b\x26\x44\x02\xad\x2c\x13\xc7\x7b\x0e\x1f\x12\x56\xe0\xa1\x25\x75\xe1\xf7\x56\xd7\xb7\xcd\x5f\x75\xdb\x4e\xd0\xc4\xd8\x91\x8b\x28\xea\xc7\x55\xc9\xad\x03\xb5\x95\xe4\x40\xd4\x8f\x4b\x88\xb1\xb6\x74\x15\x37\xd4\x3a\xfb\x86\xca\xa6\xd7\xd4\xce\x5a\x07\x5e\x2f\xde\x5c\x2c\x6e\x1e\xc3\xaa\xbd\x20\xd8\x60\x7a\xa5\x55\x12\xaa\x3b\x53\xb1\xdb\x34\xa1\xdb\xd5\x4c\xd4\x94\xd7\x65\x6c\x6f\x84\xa7\x08\xd8\xf3\xb7\x86\x92\xa6\x08\x8a\xe5\xdc\x8e\xc7\xc0\xa2\xe6\x55\x13\x2e\x2f\x75\x48\x61\xc8\x57\x4f\x38\x94\xb2\xd6\xd0\x68\xac\x86\xf8\x44\x83\x84\x06\xab\x8c\x22\x1c\x86\x1a\x64\x18\x23\x01\x48\x74\x0d\x9b\x24\xa3\xd5\xa3\xd6\xb6\x16\x01\xcb\x00\x50\x06\x9d\xa8\xc3\x91\xf6\x36\xd5\xff\xaa\xac\x2c\xf2\x77\x28\x46\x49\xf9\xbf\xfe\x5a\xa6\xd9\xef\xe3\x36\x01\x92\xa8\x76\x11\xda\x92\xda\x65\x70\x52\x7e\xbf\x08\xb5\x9d\x35\xbf\xc6\x0a\x92\x80\x41\xf8\x10\x06\x28\xbf\x28\xe5\x54\xdb\x7f\xfe\xa6\xcf\x9a\x3e\xe7\x20\xb6\xf6\xc6\x42\xff\x09\xad\xd0\x0e\xed\xaf\xf2\x4b\x1d\x32\x15\xb4\x01\x9e\x24\x61\xcc\x13\x7f\x8d\x24\x42\x7e\xbe\xde\xa6\xe5\x51\x7b\x8e\x4c\x20\x26\xf5\xa7\x7a\xfa\x50\xc7\x52\xa1\xe0\xc4\xd5\x04\x8a\xe4\xba\x86\x5d\x19\x7d\x22\x3b\x4a\x34\xe5\xa0\xd7\xab\xe8\x6a\x80\x9c\x9c\x86\x4a\x94\x63\x31\xf0\x89\xed\x94\xab\x54\x2d\x08\x25\xac\xd2\x72\xca\x1b\x2b\x4a\x51\x29\xf4\x23\x2d\x1e\x65\x68\x0a\x30\x85\xe2\xde\x6c\x29\x17\xe4\x99\x16\x53\x1c\x72\x1d\x10\xf8\x66\xf2\xa0\x1e\xb6\x06\x79\x1a\xf5\xa8\x4b\x83\x2e\x1a\x69\x63\xef\x87\x8f\x50\xfe\x84\x1c\xfc\xd7\x7d\x7d\xc9\x7f\xf4\x16\x12\x09\x3f\xfd\x3a\x12\xd1\x7b\xbd\xb6\xe2\xc2\x42\x55\xe6\x27\x41\x2b\x9d\x2f\x34\x27\x29\x3c\xe5\xd5\xbb\x51\x95\x4f\xd1\x50\xd4\x84\x7b\x4d\xe4\x34\x11\x6b\x76\x24\x2f\xd2\x29\x9b\x5a\xf9\xe5\x1f\x4a\x2d\x59\x37\xad\x48\x74\xfe\x57\x8e\xfc\x20\x4d\xa2\xf3\xef\xc0\x93\x94\xd4\x74\x09\x1a\xe9\x15\x37\xb2\x5e\x3c\x29\xfc\x17\xae\x4d\xfc\x21\xb6\xf8\x14\x95\x61\x16\xa1\xdf\x9f\x73\xcb\xb9\xf3\xa3\xdd\x97\x2e\xab\xcd\x7f\x1e\xb9\x59\xf5\x1c\x54\x45\x90\xa2\x78\x3f\xf8\xd1\x09\x75\x82\x26\x67\x91\xbc\xe0\x23\x67\xcf\xca\xfd\xe4\x80\x8c\x2d\x84\xde\xaa\x45\x02\xd0\xc7\x34\xc5\xa7\xd3\x48\xaa\x79\xd3\xf9\xf3\xc8\xc9\xaa\xe7\xea\x3b\x6a\x90\x88\xd9\x16\x40\x0f\x91\x39\x13\x4f\x4d\x84\xb0\xc8\x21\xa4\xa3\x33\x15\xa2\x40\xe7\x82\x88\x16\x67\xb3\xe6\x21\xc4\xe9\x76\x46\xea\xc2\xb1\x1a\xd6\x47\x94\xe2\xca\x22\x1f\x4f\x6e\x35\xf3\xa7\x5b\x30\x36\x82\x86\xdf\xb2\x63\xce\x2a\xee\x03\x9f\xe9\x04\x1a\xb2\x71\xb4\xce\x12\x98\x55\x23\xfb\x3a\xd9\x9d\x8a\x32\x8d\xe9\xeb\x51\x64\x9e\x3f\x09\x49\xf5\x0d\x83\xff\x23\xf9\x11\x9c\xc7\xdc\x89\x55\x7f\x2e\x2a\xd7\x5a\xc1\xf9\xd1\x67\x9f\x7e\x89\x82\x91\x1e\xd9\xda\x1c\x13\x1c\x94\xdd\x52\x05\xab\x97\x5a\x23\x71\xbf\xc0\x9b\x68\xe1\x72\x94\x9d\xa3\xc3\xb8\x97\x5c\xa1\xbc\x5b\x16\x1d\xee\xfa\x84\xd3\x03\x89\xbf\xfd\x2c\x43\x49\x60\x54\x44\x18\xa7\xcf\x08\xaf\xbf\xb3\xd6\xa6\x2c\xcb\xd1\xe7\xa5\xa6\x4b\x41\x7b\x72\x8a\xf8\x06\x40\x71\xa0\xcf\x01\x74\x60\xf8\xee\x1c\x7c\x16\xa0\x43\x15\xa8\xc9\xe9\x7c\xed\xab\xb5\x46\xab\x05\xd0\x0f\xa9\xde\x90\xde\x88\x5d\x7f\x90\x4c\x68\x3c\xc9\xf2\x78\x8f\x1c\x32\x63\xc9\x29\x68\xc3\x68\xa3\x17\x58\xdc\xee\x2a\x39\xba\x5d\x2f\x07\xe9\x29\xd2\xa8\xe8\xfa\xac\x44\x0e\x1c\xaa\x8d\x01\x79\xab\x88\x7b\x8f\xee\x9c\xc9\xd2\x91\xc6\x77\x7a\x5f\xd0\x66\xe3\xfb\x19\xe3\xde\x56\xfb\x46\xf3\xdc\xdf\x0e\x9b\x5b\xc4\xe7\xef\x4a\xe9\x91\xc1\x5b\x2a\x5b\xbb\xaa\xdb\xeb\x9a\x09\xa3\xa7\x48\xe3\x93\x35\x88\xe8\xf0\x24\x0d\x22\x3a\x0c\x98\xee\x2c\x17\x7a\x7b\x90\x96\x18\x39\x9f\xde\x3c\xa7\x0f\x0c\x86\xc5\xfd\x40\x8c\x60\x24\xa2\xc3\x1e\xd3\xd4\xde\xd2\x24\x6f\xf5\x71\x45\xec\xa9\xcb\xfa\x67\xdb\x43\x97\xda\xb3\x7f\x8d\x26\xb2\xb4\xd5\xb2\x21\x49\x22\x37\xd8\xe5\xb8\x52\x9e\x88\x02\x3a\xae\x05\xd6\x70\x44\x24\xa6\xc2\x88\x9f\xed\x4b\x31\x69\xaa\x27\xbe\xff\x47\xf4\xa2\xd3\x3d\x89\x38\xba\xea\xfe\xda\x92\xa3\xa4\x1c\x37\x67\x95\x57\x25\x45\x21\xae\xd6\xb3\x7b\x63\xe5\xf1\x82\x42\xbc\x2e\x80\x94\x93\xf7\xf8\x5b\x60\x29\x4a\xbf\x0c\x77\x6d\x7c\xf4\x94\x71\x2c\x0a\xff\x1a\x26\x64\x60\x4f\x36\xb9\x94\x61\x36\x9e\x48\x3f\xdb\xd6\xce\xf8\xa2\x99\x67\x7a\x46\x79\xa2\x5b\x39\xd5\xc6\xb9\x24\xa7\x34\xca\x3d\x42\x01\x9e\x87\x49\xcf\xe0\x4a\x0f\x50\xaa\x75\x7f\x23\x3d\xbb\xaf\xee\x92\x94\x33\x22\x29\x15\x35\x39\xf0\x60\xa5\x6d\xdb\xa7\x7a\x5e\x74\xf9\xbc\x9e\xf7\x71\xd3\xa0\x4e\xfd\xe4\x2c\x8e\xfb\x89\xd7\x65\xd2\x36\xa9\x34\x68\x6e\x91\x55\xd5\x2a\x93\x4f\xa3\x4a\x83\x5c\xad\x4e\xad\x9d\x2d\x1a\x3b\x45\x15\xa5\x02\xa3\xd3\xa9\xb5\x4d\x16\x54\xdb\x53\xa3\x59\x19\x3c\xb5\x96\xca\x76\x6d\x88\x60\x70\xd0\x8e\x48\x75\x2a\xa0\x5f\x8c\xa6\x70\x1d\xd1\x89\xf4\x41\xdf\xa8\xa0\x30\xa6\x68\x34\xeb\xdd\x2f\xa6\xf6\x60\xed\x91\x09\xd5\x67\x50\x6c\xc6\x70\x7d\xa2\xbb\x21\x26\x30\x12\x75\xf1\xa2\xc3\xcc\x28\xde\x8c\x29\x6a\x69\x9c\x6a\x97\x38\xa8\x02\xc3\xb1\xf5\x2c\x3a\x53\x67\xcd\xad\x3d\x6c\xa3\xf8\x7a\x14\xd8\x8e\xb9\x67\x77\x35\x35\x48\xea\xc5\x51\x9f\xf3\xd0\x59\xb2\x4d\xcf\xcb\x07\x5c\xaf\xbb\x37\x81\x90\x6c\x36\x24\x7c\x66\x91\xd4\x6b\xc4\xc0\x85\x73\xd3\x9d\xbf\x98\x77\x24\x6f\x4d\x4a\x09\x3d\x5d\x32\xfb\x29\x04\x92\x3b\x73\xfd\xfd\xac\x33\xb9\xa4\xc8\x9e\x2e\xb1\x3d\xd4\xe9\xe7\x80\x9c\xac\x1a\xe1\xb1\xc6\xb8\x6f\xcd\xe8\xc7\x2f\x77\xa5\xbf\x07\x71\x2c\xa4\x59\xa8\xd3\x6c\xed\xc2\x90\x1c\x36\xa6\xec\x47\x78\x33\x61\xbd\x8d\xd6\x1e\x9d\x69\x6f\x8b\xaf\xb5\x71\x9b\xa2\x90\x1a\x36\x13\xba\xc0\xa7\x2f\xcd\xe5\xa1\xd4\x84\xee\x44\xa9\xa5\x61\x54\xd0\xf7\x1e\x13\x52\x61\xf8\x00\xff\xa9\x86\xd7\x3c\xe3\xca\xc4\xe1\xe9\x07\xd8\xc2\x39\xe6\xb6\x01\x76\x5d\xf8\x6a\x46\xcd\x83\x6c\x2d\x48\xfb\x40\xbb\x3b\x86\x0e\x79\xf3\x80\xbb\x5b\x75\x8b\x6c\xeb\xc0\xbb\x45\x73\x2f\xf1\xf6\x01\x78\xa7\xf6\x2e\x79\xe3\x40\xbc\xa7\xe6\x76\xa5\x7d\xac\x75\x4b\x44\x37\x05\xef\x3f\x30\x1f\x1c\x73\x5b\xd8\x7e\x03\xf4\xc1\x51\x9a\xc2\xf5\x1e\xa8\xf7\x8f\xb1\x3b\x68\xff\x01\xfb\xd0\x58\x5b\xc3\xf6\x1a\xb8\xdf\x16\xa3\x31\xb2\xbe\x03\x78\xb5\xcb\xeb\x31\x84\xaf\x83\xdc\x36\x88\xef\x88\xb1\x77\xa1\x9a\x06\xf2\x4d\xbf\x52\xf3\xb4\x77\x62\x03\xd0\x4e\x47\x8c\xa0\x9e\xf5\x73\x42\xd7\x87\x5a\x20\x25\xf5\x73\x4e\xb2\x1a\x45\x58\xa3\x93\x45\xd9\x9b\x4f\x71\xb5\x67\x4a\x3c\x81\xd1\x1b\x13\x31\x3b\xa2\x82\xce\xfc\x3c\xc1\x81\x30\x53\xcf\x66\x9a\xac\x29\xde\x7d\x0c\x56\x9f\x09\x9b\x24\x0a\x8e\xee\x5a\xa7\x6c\xc2\xf0\xa4\x75\xca\xd6\xda\x6e\x86\x4d\x30\x7a\xa9\x82\x36\x6e\xed\xa7\x3b\xcf\xed\x4c\xe2\x53\x4e\xdc\x06\xa9\x04\x92\xbc\x0b\x1c\xc7\x5d\x76\x27\xf9\xc9\x26\x6f\x03\x14\x0e\x99\xbe\x19\x6a\x49\xdf\xf9\xd2\x80\x09\x5c\xb7\x92\x1b\xa6\x70\x9f\x33\x87\xe9\x52\xd1\xf7\x12\x23\x82\x1b\x69\xb9\xca\x1a\x4b\xb3\xce\x45\xb6\x5d\xe7\xe9\xe3\x88\xac\x75\xe9\xeb\x2d\x52\x78\xb1\x73\x12\xcf\x38\xea\x0f\xb9\x7a\x8b\x39\x79\xc7\x55\x0c\x4c\x93\x2e\x25\x01\x58\xdf\x81\x4f\x62\xaa\x9b\xd2\xa0\x64\xd1\x25\x41\x2d\x8b\xcd\x53\xb0\xbd\x32\xdc\x27\x26\x75\xbf\xb0\x74\x14\x40\x78\x70\xd6\x70\x59\x80\x51\x21\xb0\x91\x4f\x54\xad\x84\x94\xcc\xf7\x58\xf6\x13\xba\x22\xe9\xbc\xb5\xa9\x30\x6f\x2c\x15\x21\xaf\xe0\x3e\x9e\xee\xd5\xb7\x7a\x6d\xb3\x65\xfd\x0d\x5c\x7d\x83\xa0\xe0\xe5\xd2\x3b\x03\xad\x6a\x0c\x4b\x97\x57\x60\xf1\x7f\x0c\xb8\x89\x37\x0d\x18\x7d\xdb\xf7\x57\x70\x51\x55\xaa\x45\xab\x2e\xda\x1e\x05\xdb\x18\x60\x4a\xac\xec\xdd\x53\x55\x8f\xe4\xb6\xc8\xb6\x46\x22\x0d\xe2\xfe\x2c\xfe\xe8\x21\xc6\x5b\x8a\x59\xd0\xb8\x93\x46\x19\xfd\xf5\x88\x59\x11\x6c\x8b\x9b\x8b\xb6\xc4\x2e\x7a\xb5\x45\x0e\xca\x81\x71\xcb\x92\x92\x59\xd3\xaf\xa9\x10\xcd\x89\x79\x5b\x02\xb4\x7b\x42\x6c\x8a\x45\x99\xa3\x72\x77\x94\xb6\x8d\x9b\xca\xa2\x0d\xa9\x96\x9c\x98\x2e\x58\x71\xd8\x05\x2b\x3c\xee\x2f\x74\x33\x6f\x9c\x2a\xb0\x01\x71\xcb\x5c\x00\x92\x00\x4e\x2e\xf0\x65\xff\xa9\x39\xb2\x2e\x43\xdc\x6d\x7c\x58\xcb\x92\x14\x41\xa1\x46\xed\x8d\x1d\x00\x92\x27\xdf\xbd\x82\x11\xca\xfb\x64\xd4\x6a\x23\xef\xc8\xe9\xd8\xdc\xa1\x9e\xb3\x31\x9f\x04\x68\x18\x52\xe1\x20\x57\xcb\x39\x1c\xfd\x1d\x62\xe3\x61\x8d\x61\x07\x70\xae\x93\x38\x0d\xfc\x88\xf7\x2f\xe3\x49\x96\x66\xf0\xbd\x55\x5d\x27\x7f\x74\xd8\xa0\x93\xf2\x6d\x32\xcd\xc9\x78\xb1\x53\x55\x2a\x9d\x5e\x23\x84\x09\xf7\x90\x4b\x15\xc6\x83\xf4\x82\x3b\xcf\x5a\x68\x01\x40\x9d\xe1\x6a\x88\xe1\xc1\x3a\x7a\x1a\x68\xff\x5c\x47\x54\xe6\x6d\x8d\x4f\x42\x60\xe8\xb9\xea\x97\xf7\x5b\xb2\x2a\xd2\x15\x86\x4b\x2b\x86\x2a\x81\xcb\x7e\xa0\x46\xd3\x55\x1b\xb7\x04\x6c\x2b\xa5\x01\xac\x0c\x69\xf9\x8d\xc1\xdc\x87\x15\x0a\x36\xe2\xd1\x67\x7b\xd3\x1c\xa6\x51\xaf\x4d\xf0\x94\x6b\x13\x84\x83\x6a\xd4\xa2\xa4\x19\x4a\x46\x2c\x0e\x7e\x50\xd6\xaa\xf8\x51\xd9\xda\xe5\xcc\x46\xf8\x34\x50\x10\xfa\x51\x7a\x00\x8c\xb8\x30\x62\x17\x0f\xe1\xc2\xd7\x63\x10\x5d\x93\xbd\x1f\xa0\x91\xac\x57\x38\xe8\x47\x3e\x71\x67\x37\x9a\x4c\xd9\x69\xc2\xf4\x54\x6e\x6a\x67\x2a\x10\xf9\x25\xfa\xd2\x1e\x5b\xae\xf7\xc5\xf3\x5b\x8e\x19\xf6\x49\x09\x3b\x72\x48\x45\x8b\x63\xfa\x08\x89\x6a\x49\xb2\x9f\xcb\x98\x59\xb4\x5f\x40\x41\x67\x67\x85\x67\xbb\xd2\xce\x6d\xdb\xfe\x62\x64\x8d\xd8\x01\xb2\xff\x1a\xb9\xcf\x9f\x2b\xbd\x42\xaf\xb1\x93\x76\x65\x91\xb8\x3f\x50\x2e\x25\x76\xe4\x5a\xdf\xfb\xac\xd7\x22\xdc\xe1\x60\xcb\x7d\x6b\x35\x9d\xd9\xf0\x93\x49\xaa\x7e\x52\x46\xf5\xbb\xe9\xba\x37\x39\x27\x5c\x3f\xab\xbe\xe0\xfe\xca\x09\x61\x0d\xf2\x96\xab\x9a\x8a\xcc\xdf\x21\x6b\x8b\xca\x47\x84\x92\x7a\x04\x41\x06\x06\xf2\x9d\x10\x42\x4f\x2e\x1c\x13\x55\xdb\x3a\x03\xd0\x64\xaf\xf9\xde\x72\x31\xd9\xa3\xc9\x2e\x4a\x0b\x74\x91\xe2\x66\xad\xcb\xc2\x3f\x46\xe2\x7f\xc5\x66\x5a\x86\x65\x84\xd4\x19\xa6\x7e\xd8\x8f\x61\x98\x06\xe7\xce\xf1\xad\x98\x06\x1e\x70\x9f\xa6\x65\x1b\xb8\x86\x29\x32\xc1\x1c\x25\x01\x88\xa9\x72\x36\x9f\x1c\x21\x15\x63\xbb\x03\x38\x6f\xe5\x76\x06\x2d\x85\x77\x3a\xef\x0f\x10\x01\x3c\x4c\xb1\xcb\xd3\x28\xda\xfa\xb9\x15\x23\xbf\x38\xe5\xc8\xb0\xe3\xd6\x5a\xad\x56\xab\xac\x62\xcd\xc8\xb3\xb3\x8a\xdf\x17\x41\xbe\xeb\xbb\x07\xa8\xbe\xeb\x84\x22\xb3\xf5\x0b\x44\x28\x33\x85\xc3\xe1\xee\xff\x5f\x18\x67\x69\x5e\xfa\x49\xc9\x43\x94\x69\xa6\x0a\x97\x69\xa6\xcb\x51\x16\x48\x15\xa5\xae\xba\x34\xad\x14\x5a\x2a\x88\x2b\x90\x06\x3c\xbc\x85\x83\x08\x5e\x86\x70\x50\x06\x98\xbb\x18\x62\x7b\xa8\xdf\xfd\x32\x3d\x29\x25\x88\xfb\x82\x3c\x9b\x27\x49\x4e\xf4\xe2\xc9\xed\xa9\x2c\xd3\x44\x17\xd5\xdd\x0d\x97\xc1\xb2\x77\xfc\x95\x74\x36\x4f\x33\x99\xde\xf4\x51\x53\xaa\x3e\x66\xa5\x38\xaa\xa9\x55\xc5\x21\x1f\x53\x8a\xe9\xfb\xed\x6a\x8a\xd9\x7b\x39\xa6\xa7\x58\xb4\xf4\x4a\xaf\x0a\x49\x4e\x5a\x5a\x25\x51\xdd\xdd\x94\x4e\xfa\x8e\xb7\x92\x4e\xf2\xd8\x89\xe9\x65\x0d\x35\x91\xc2\x23\x30\xcd\x6f\x35\x79\x82\x90\xe2\x68\x4a\x18\x7d\xe3\x59\x49\x18\x7f\xa1\xc2\xf4\xec\x81\x9a\x36\xf9\x1d\x0f\xc9\x49\x4d\xa1\x2c\xaa\xbb\x9b\xd2\x49\xdf\xf7\x55\xd2\xc9\xde\x13\x30\x5d\x58\xaf\x26\x53\x7a\x70\x41\x74\x51\x13\x29\x09\x6a\xce\xa6\x24\xd2\xe7\x5e\x95\x24\xd2\x8b\xe0\xc1\xf9\xab\x9a\x3c\xf1\x8e\x7c\xc1\x41\x4d\x9c\x28\xa6\xba\x9a\x92\x46\xdf\xff\xd4\xd0\xcb\xef\xc1\x1a\xe1\xe8\xc0\xd5\x57\x9d\x37\xbf\x75\xd0\x6a\x21\xc5\xd1\x68\x6e\xb4\x02\x7d\x3c\x86\x25\xb4\x1c\x27\xa3\x85\x25\x85\x73\xf0\xad\xd7\x60\x48\xc1\x48\xaf\x7b\xd1\x39\x89\x00\x21\x57\x81\xa7\xee\xa0\x2f\x70\x5f\x6d\x0c\x42\xaf\x33\x93\xae\x2d\xea\x13\x8c\xf5\x37\xc6\xc1\x96\x31\x20\x1e\x08\x5c\xc4\xab\xa9\xfa\x04\xb2\x39\x08\x52\x01\x10\x08\x51\x60\xb1\x8b\xfb\xf8\x4f\x19\x04\x75\x24\x47\x86\x13\x90\x16\x9a\x87\xb1\xac\xb5\xed\xf2\xc8\x16\x5d\xf4\x52\x41\x43\x82\xe4\x81\x67\xef\xf4\x88\xc0\x01\x53\x52\x40\x93\x10\xa7\x2d\x56\x0b\xdb\x54\x0d\x1a\x31\x36\x37\x30\x16\x7c\x23\xc9\x07\xb0\x86\xa2\x6e\x04\xe9\xec\x02\x10\xab\x07\x16\xc0\x93\x94\x80\xb8\xd0\xbf\x03\x4f\xf3\x41\x01\x78\xf7\x0a\xec\x32\x07\xc4\x69\x2f\x07\x3c\x13\x05\xc8\xd6\x1d\x0f\xf0\xac\x0e\x20\xce\xed\x3f\xb0\x77\x02\x82\x4f\xac\x80\x06\xc3\xc2\xf5\x62\xcb\xa8\xde\xab\x0f\xa5\x97\xda\xab\x36\x95\xac\xba\x5d\x40\xc2\x13\xaa\xa7\xbb\x30\xdf\x45\x48\x91\xf7\xec\x2f\x20\x59\x5b\x11\x93\xaa\x03\xb9\xa5\x6b\x1f\x56\xea\xb5\x77\x74\x85\x55\xb8\xc3\x4b\xba\xc7\xcf\x4a\x52\x61\x8d\x1b\xff\x10\x75\x06\xf0\x41\x43\x48\x44\xb9\x65\x5e\x74\x94\xc5\x81\xdb\xe8\x65\x81\xd2\xdf\x0a\xa4\x3e\xf9\x05\x08\x48\x67\x50\x6b\x17\x48\x70\x87\xa2\x48\x91\xc4\x4e\xb2\x28\x9e\xb8\x49\xb3\x3d\x30\x8f\x92\x94\xe0\x26\x08\x9b\xd7\xf5\x25\x62\xa5\x39\xc4\xe8\xd9\x76\x7d\x3e\x76\xed\x50\xf6\x7e\xa4\xf3\x52\x0d\xc7\x62\xe2\x50\x78\x58\x89\x45\x29\x62\x21\xaa\x29\x8e\x0a\x67\xa7\x88\xbb\xca\xbd\xd0\xf6\x3f\x40\x45\x5f\x4b\xf5\x2e\xfd\x22\xee\xae\x00\x45\xdc\x5d\x07\xb8\x4c\x9f\x6a\x50\xcb\xf6\xaa\x09\x45\xdc\x55\x19\x9a\x5c\xf7\xa8\x0f\x40\x85\x58\xcc\x97\xa4\x42\x04\x56\xdc\xd9\xfe\xe2\x5e\x4d\x30\x1e\xdc\x0a\xe3\x1e\x0d\x31\xee\xd1\x16\xe3\x01\xcd\x31\x1e\xd4\x22\xe3\xce\x46\x19\x0f\x69\x97\x40\x39\xac\x56\xae\xd0\x30\x23\xb1\x51\x2e\x79\x4b\x89\x0e\x5d\x25\x14\x1d\xfa\x94\x50\x2d\xd5\xbb\x84\xa2\x43\x77\x09\x45\x87\xee\x12\xe2\x32\x7d\x4a\xa8\x96\xed\x55\x42\xd1\xa1\xab\x84\x9a\x5c\xdf\x56\x42\x8e\x8b\xcb\x81\x34\x95\x2a\xea\x2a\x88\x2a\xea\x53\x10\xb5\x54\xef\x82\xa8\xa2\xee\x82\xa8\xa2\xee\x82\xe0\x32\x7d\x0a\xa2\x96\xed\x55\x10\x55\xd4\x55\x10\x4d\xae\x07\x14\x44\x96\x87\x49\x89\xb1\x27\x1f\x5d\xf0\x53\xa1\x1e\x25\x20\x0a\xf6\x2e\x04\x1a\xa8\xb3\x1c\xa8\x58\x67\x51\x08\x62\x7d\x4a\x43\x14\xef\x55\x20\x34\x40\x47\x99\x48\x38\xf4\x29\x96\x09\x8a\xb7\x78\x66\x85\x8a\x2c\x4d\x8a\xf0\x01\x75\x5e\x77\x01\x5c\x93\xa0\xdd\x1c\xab\xab\xd5\xae\xed\x65\x43\x48\x61\xdc\xa8\x06\x19\x69\x2e\x84\x27\x1f\xeb\x82\xc4\x01\x70\x0f\xf7\xb9\x1f\x23\xc0\x23\xdd\x7e\x24\xfb\x57\x34\x8f\x87\x30\x40\xa9\x81\xc0\xd6\x97\x65\x04\x28\xf8\x32\x01\xfe\x6e\xae\xcd\xd4\x32\xe0\x3a\xdb\xf3\xaa\xc6\x42\xbc\x0c\x70\xe6\x4e\x96\xde\xc2\x99\x7d\x01\x84\x72\xe6\xa6\x50\xde\x7c\xe2\x7a\x50\x90\xd9\xf6\x3c\x05\x43\x2c\x40\x71\x67\x7b\x76\x40\x71\xba\x3b\x88\x2c\x41\xe0\x4a\xad\xac\x8c\x29\xb5\x9a\xf8\xd2\xd5\x32\xf8\xd9\x0f\x4d\x38\x4f\x1f\xad\x1c\x3d\xa0\xbc\x40\x80\x6e\xee\x65\x88\xc3\x14\x52\xf6\xd5\x02\x3f\xe6\x7e\x76\x91\xb7\x47\x69\x32\x49\xaa\x48\x51\x07\x50\x97\x9c\x8c\x5a\xa7\x31\xfe\x7d\x18\xd1\x57\x51\xea\xd5\x22\x4d\xe4\x80\x33\x6f\x5f\xea\x6f\x79\x56\xd6\x88\x38\x82\x88\xa3\x89\x14\xc7\x3c\x4c\xee\xb9\x1e\xfa\x0b\xd0\xc4\xc4\x1c\x49\x4c\xd2\xa6\xac\x48\xd1\x05\xc0\x8b\xf9\xd1\xa1\xb6\xb0\x28\x09\xe0\x90\x28\x09\xda\xc2\xd1\xa9\x8a\x16\x94\x3a\xb7\x05\x64\x2b\x92\x5a\x48\x69\xbd\xb2\x4d\x81\x4f\xa6\xca\x86\xf0\xd4\x53\x5f\xc9\x21\x2b\x7a\x0c\x28\x78\x01\xd5\x14\x06\x03\xa4\x85\x40\xe6\x38\x18\x30\xfa\x42\xa2\x29\x40\xbd\xa4\x26\x06\x31\xaf\xa7\xf1\x9c\x90\x3d\x83\x17\x60\x1f\xa1\x1e\x44\xae\x27\x92\x5b\x2b\x00\x62\x1d\x01\x42\x81\x20\x28\xf5\x43\x0e\x66\x02\x42\xad\x1b\x72\x28\x63\xcd\x90\x03\xb3\x7a\x01\x85\x35\xd5\x8a\x06\x18\x11\xcd\x3a\xac\x09\xcf\x02\x45\x7b\x0b\x1b\x8a\x4b\xf3\x7b\xad\x1a\x0e\x41\x54\xc4\x9d\xc8\xb6\x81\x4e\x42\x34\x88\x37\xf2\x20\xdc\x44\x5a\xc2\x9a\x04\x30\x01\x4d\xc4\x95\x0a\x47\x02\x98\xeb\x1b\xcb\x81\x08\x10\x09\x01\xa0\x43\x9e\x36\xa1\x2c\x6c\xf3\xca\x89\x2e\x40\x69\x63\x2a\x41\xbe\x75\x11\x32\x0e\xa5\x12\xea\x28\x94\x0f\x06\x2c\x7a\x41\x95\x7a\x61\x15\x28\xca\x87\x4e\xfa\x60\x0a\x14\xe7\xc3\x0c\x7d\xe0\x01\x8a\x93\x1d\x23\xca\x06\x12\x43\x8a\xc3\xdd\xfd\x59\x4c\x31\xfe\x2d\xe5\x1e\x87\xad\x79\x6d\xfa\xab\xd4\x77\xa7\xf0\x7d\x29\xcd\x3e\x94\x29\x1f\x04\x5d\x85\x50\x6c\x7f\xa3\xa8\xf4\x52\x6f\xec\xfd\x5b\x71\xca\x70\xbc\xc5\xe8\x4b\x25\x41\xcf\x2f\x13\xfa\x21\x47\x4d\xdd\xd8\xd0\xab\x89\xd9\xb5\xaf\xd7\x49\x91\x5b\x69\x12\x9d\x81\x91\x5a\x7d\x95\x71\x3d\x24\x6b\xee\x77\xd3\x07\xaa\xd0\x0b\x45\xcd\xf0\x8d\xc5\x62\x91\x25\x29\x3c\x2c\x6f\x5e\x5e\xd5\x7c\xe8\xd6\x62\xf5\x36\x33\x61\x9b\x17\x4b\x0e\xf9\xae\x53\xf1\x10\x16\xe1\x36\x62\x0f\x25\xd1\x8d\xd1\xc7\xb0\x44\x16\x31\x23\xeb\x24\xcd\x63\x3f\xba\x4e\xe8\x11\x23\xab\x88\xe5\x03\x47\xfc\x9d\x1e\x76\x69\xa9\xf8\x74\x8e\xbd\xf0\x9e\x8b\xe5\x4c\xc3\x28\xc1\xeb\x9b\x1d\xd5\x57\x77\xf4\x90\x56\x74\x90\x03\x93\x60\x53\x2d\x2c\x18\x2d\x69\x5d\xe3\xc9\x27\x2b\x40\x59\x79\x24\x8c\xb3\xf4\xc8\xaa\x18\xe2\xd1\x72\x3d\x76\x52\xc6\xf5\xbe\x90\x7d\x3c\xfb\xc2\xe9\x4d\xc5\x67\xc1\xc3\x2c\xd4\x30\x8e\x6d\x0b\x27\xa4\x64\x3f\x62\x51\x9b\x12\x12\x3d\x8f\x38\x19\xac\xc4\x94\x74\x1c\x71\x3a\xea\x9d\x2b\x8a\xd7\xa2\x0e\xb5\x50\x43\xe1\x94\x08\xb3\x04\xd9\x93\x24\x45\xa8\x21\xa2\x6f\x4c\x73\x21\x5f\x51\x27\x09\x1c\x6b\x01\x43\x04\xb1\x65\xb3\x2d\x3c\xf2\xf8\x2f\x2e\x2d\x7b\x3c\x89\xcf\xb5\xb7\xbe\x18\x15\xe7\x44\xa4\x6a\x44\x80\x85\xa8\x78\xab\xea\x81\xd6\xa0\xe2\x48\x55\xa5\x2f\x40\xc5\x96\xc3\x53\x3a\xd1\xd6\x37\xe2\xd2\x72\x48\x34\xce\x45\xbb\xea\x43\x49\xb3\x43\x22\x72\xa0\x8d\x4b\x4a\xc2\x15\x8d\xfc\x12\x76\x5d\x34\x52\x95\x0a\x1b\xa8\xe4\x2c\xb8\x17\x71\x4f\xa7\x92\x03\x97\xc4\xe7\x6a\xef\xe2\x2a\x19\x70\x49\x5c\xae\x92\x01\x20\xfd\x8a\x3e\x9e\x7e\x20\xf9\x8a\x4a\xf6\x40\xa5\x96\xfa\x29\x4f\xbd\xa3\x27\x7e\x4a\x22\x9b\x8a\x89\xd7\xa4\x72\x22\x55\x35\x52\x6c\x09\x5b\x4f\xba\xa2\x4d\xb8\x3e\x54\x49\xb9\xa2\x90\x2e\x52\x6b\x09\x9f\xd5\x09\x87\x70\x9f\x91\xc8\x66\x52\xd2\x21\xe0\x67\x24\xae\x99\x92\x78\x08\x79\x45\x23\x4f\x3e\x04\xbd\xa2\x94\x5d\x15\xaa\x63\xef\xf1\x2c\x4c\xf5\x0c\x78\x24\x3a\x4f\xcc\x80\x26\x95\x13\xa9\xaa\x91\xa2\xc9\xd7\xe4\xb6\xaa\x36\x96\x78\x4d\x30\x52\x15\x92\xa4\xab\x62\x99\x65\xd7\xbb\x2e\xa5\xe6\x9c\x11\x03\x93\x9d\x1b\x7f\xdd\xc2\x64\xc4\xc2\x64\x95\x20\x03\x98\x98\x6c\xab\x69\x82\x6c\x4c\x16\x69\xca\x74\x23\x93\x59\x8e\x72\xe3\xb7\x92\x66\x87\xc4\xe4\x48\x69\x06\x04\x89\x99\xc9\x2a\x41\xd0\x64\x67\xb2\xad\xa6\xd3\x68\x68\xb2\x48\x53\x6b\xb0\x34\x99\xe5\xca\xf7\x34\x2b\xd9\x70\x49\x94\xae\x9c\x0d\x20\x17\x2e\x89\xce\xd5\x5e\xb4\xd5\x33\xa1\x6a\x34\x59\x9b\x2c\xd2\x94\xc2\xe6\x26\xb3\xa6\xd2\x7e\x5d\x25\x07\x53\x12\xdf\x54\xa6\xa4\xf4\x0c\x4c\x49\x5c\x53\x25\x03\x9a\xe0\x56\xd3\x67\x30\x39\x59\xa4\xa9\x04\x6d\x4e\x66\xcd\x9a\xd4\x43\x25\x30\x23\xf1\xcd\xe4\xf4\x43\x45\x30\x23\xd1\xcd\xd4\x1c\x40\x65\xa0\xea\x34\xda\x9d\x2c\xd2\xd4\x1a\x0c\x4f\x66\x79\x75\x3e\xb4\xb6\x4d\x2c\x4f\x76\x6e\x44\x40\xd3\x93\x11\xd3\x93\x55\x82\x18\x6c\x7b\xb2\xad\xa6\xcf\x60\x7c\xb2\x48\x53\x09\x5a\x9f\x98\x0e\x9f\x98\xe5\xd4\x86\x4f\x25\xf1\x26\xe6\x4e\x90\xb3\xf8\x2b\x90\x8a\xfd\x64\xb2\x95\x24\x9b\xc3\x03\xb3\x2d\xac\x59\x78\x7c\x4d\xb1\xa5\xa0\xf2\xfa\x2d\x3e\x51\x98\xec\xf8\x8d\xd3\x24\x25\x33\x81\x0b\x39\x5a\xb7\xf7\xe3\x30\x3a\xaf\x7f\x7c\xf5\x36\x4d\x52\xeb\x3d\x3a\x9c\x22\x3f\x1f\xbf\x45\x49\x94\x8e\xdf\xa6\x89\xbf\x4b\xc7\x5f\xa7\x49\x91\x46\x7e\x31\x7e\xf6\x7d\xb8\x45\xf4\x61\xb2\x11\x16\x7f\x36\x7e\xf6\x75\x7a\xca\x43\x94\x8f\xde\xa1\xc7\x67\xe3\x5a\x35\x8b\x8a\xb1\x5b\x17\xe1\x60\x1e\x73\xd2\x52\xc5\xb8\x51\x79\xa2\xa2\xb2\xa3\xa5\xbf\x4d\xfc\x07\x7e\xf0\xf2\x0e\xff\x1e\xd3\xe0\x65\x7e\x4a\x76\x7e\x89\x2e\xea\x54\x8c\xf8\xd6\x8e\x28\x8a\xc2\xac\x08\x8b\x8d\x1e\x0f\x4b\x07\x99\xf7\x2b\x4f\x90\x6a\x89\xa5\x73\x7f\x41\x4a\x23\x00\x88\x1f\x63\x34\xb4\x63\x89\x82\x60\xcb\xe5\x0a\x84\x5d\x89\xfb\x12\xe4\x45\x3c\x8c\x23\xa7\x9a\x6f\xa1\xc9\xeb\x98\x6e\x64\xca\x8b\xb8\x17\x59\x4e\x76\x7e\xf4\xe3\xcb\x99\xc6\xa1\x94\x79\x11\xf7\x61\xcd\x8b\xb8\x0f\x71\xce\xa5\x3a\xb8\xf3\xb8\x37\x7d\x1e\xdf\xc2\xa0\xc7\x9f\x45\xa2\x17\xf1\xcd\x3c\x3a\xae\x13\xb7\x52\xe9\x45\xfc\xf9\x6c\x7a\x11\x7f\x16\xa1\x1e\xdf\xc4\xa9\x33\xbc\x86\xd0\xea\x0d\x4e\xfd\x99\x75\x8c\xcf\x4d\xe4\x7a\x7c\x23\xbf\x1e\xdf\x4c\xb1\x4b\x88\xf4\x67\xd9\x55\x54\xfa\x12\xed\x42\xcd\xb9\x89\x6b\x6f\x6a\xcd\x4d\x74\xbb\x8a\x6f\x3f\xc6\xbd\x88\x07\x91\xee\xf1\x0d\xbc\xbb\x54\x0c\x7d\xa8\x77\xb5\x00\xba\xd9\x77\xbd\x52\xf6\x22\xe0\x55\xc8\xda\x39\xf8\x22\xee\xa6\xe1\x8b\xb8\x0f\x13\xcf\xb7\x11\xc2\x64\x7c\x8c\xfd\x8d\x5c\x16\xf6\x23\xa3\x31\x41\x08\x64\xb4\x98\x60\x25\x09\xc2\xbc\x16\xa8\xd3\xc0\x6e\x81\x6a\x21\x8e\xab\xe8\xa2\xb9\xb0\x00\x8f\xb5\x9b\xec\x62\xd2\x95\x24\xdd\x42\x79\x81\xda\xdb\x88\x2f\x30\x02\x23\xfd\x55\x74\x30\x60\xd8\x9f\x47\xdf\xc9\x83\x31\xe1\x4a\x12\x36\xb3\x61\xa0\xee\x16\x4e\x0c\x54\x6f\x62\xc6\x8a\x76\x72\x0c\x7b\xf3\xb8\xbb\x28\x32\x26\x5b\x49\xb2\x46\xa2\x0c\xd4\x6c\xa6\xcb\x40\xe5\x06\xd2\xac\xe8\xe2\xcd\xb0\x00\x8f\xbb\x9b\x3d\x63\xd2\x95\x24\xdd\xc2\xa1\x81\xda\xdb\x98\x34\x30\x02\x23\x9f\x56\xb4\x53\x6a\xd8\x9b\xc7\xde\x45\xac\x31\xd9\x4a\x92\x35\xd2\x6b\xa0\x66\x33\xc9\x06\x2a\x37\x50\x6d\xc4\xb8\x98\xd8\x36\x6a\x82\xb2\xb3\x24\x05\x72\x6e\x4c\xb2\x92\x25\x61\xe6\x0d\xd6\x6a\xe0\xdf\x60\xc5\x10\x0b\x47\xac\x49\x2b\x11\x47\x0d\x4f\x76\x96\x44\xcd\x74\x1c\x13\xaf\x64\xf1\x16\x52\x0e\xd6\xdf\x46\xcd\xc1\x51\x18\x09\x3a\x62\x56\xda\x38\x3a\x6a\x80\xb2\xb3\x24\x69\x64\xea\x98\x74\x25\x4b\x9b\xf9\x3a\x58\x7b\x0b\x6b\x07\x47\x60\xe2\xee\x88\x7d\x69\xa1\xef\xa8\x21\xca\xce\x92\xa0\x89\xc4\x63\xc2\x95\x2c\x6c\xa4\xf2\x60\xdd\x66\x42\x0f\x56\x6f\xa0\xf5\x88\x71\x69\x65\xf6\xa8\x1d\xca\xce\x92\xa8\x99\xdf\x63\xe2\x95\x2c\xde\xc2\xf2\xc1\xfa\xdb\xb8\x3e\x38\x0a\x23\xe3\x47\x2c\x4d\x0b\xe9\x47\x4d\x52\x76\x96\x04\x4d\xd4\x1f\x13\xae\x64\x61\x23\x01\x08\xeb\x36\xd3\x80\xb0\x7a\x03\x19\x58\x74\xf2\x81\x4c\x82\xdb\xe7\x1e\xac\x60\x13\xa2\x52\x43\x18\xb9\xc1\x96\x58\xcc\x0c\x61\x4b\x44\x66\x9e\x90\x8f\xbe\xbb\xc8\xb0\x7a\x04\xde\xc9\x87\x35\xd3\x8c\x36\x4a\xac\xe5\x1c\x0a\x99\xc6\xc4\x41\x5f\x4e\x2c\x0e\x86\x71\x62\x54\xf3\x2d\x9c\x58\x1d\xd3\x8d\x9c\x58\x1c\xf4\xe2\xc4\xc8\x29\x9c\x7e\x9c\x18\xd3\x38\x94\x13\x8b\x83\x3e\x9c\x58\x1c\xf4\xe1\xc4\xb8\x54\x3b\x27\x16\x07\x7d\x39\xb1\x46\x72\x00\x27\x86\x03\x7d\x06\x27\x16\x07\x37\x73\x62\xb8\x4e\xdc\xca\x89\xc5\xc1\xe7\x73\x62\x71\xf0\x39\x9c\x58\x8d\xdb\x30\x4e\x8c\xe1\x35\x84\x13\x6b\x70\xea\xcf\x89\x61\x7c\x6e\xe1\xc4\x48\xae\x6e\xe0\xc4\x14\x34\x86\x70\x62\x12\x22\xfd\x39\x31\x15\x95\xbe\x9c\x98\x50\x73\x6e\xe2\xc4\x9a\x5a\x73\x0b\x27\xa6\xe1\xdb\x8f\x13\xc3\x91\xf6\xe7\xc4\x94\xc2\xe8\xc7\x89\x49\xc5\xd0\x87\x13\x53\x0b\xa0\x9b\x13\xd3\x2b\x65\x1f\x4e\x4c\x83\xac\x9d\x13\x8b\x83\x6e\x4e\x2c\x0e\xfa\x70\x62\xfc\x48\xa7\x89\x13\x8b\x03\x33\x27\x86\xfd\xc8\x10\x44\x10\x02\x39\x31\x26\x58\x49\x82\x30\x27\x06\xea\x34\x70\x62\xa0\x5a\x88\x13\x8b\x83\x0e\x4e\x0c\x0b\xf0\x58\xbb\x39\x31\x26\x5d\x49\xd2\x2d\x9c\x18\xa8\xbd\x8d\x13\x03\x23\x30\x72\x62\x71\xd0\xce\x89\x61\x7f\x1e\x7d\x27\x27\xc6\x84\x2b\x49\xd8\xcc\x89\x81\xba\x5b\x38\x31\x50\xbd\x89\x13\x8b\x83\x56\x4e\x0c\x7b\xf3\xb8\xbb\x38\x31\x26\x5b\x49\xb2\x46\x4e\x0c\xd4\x6c\xe6\xc4\x40\xe5\x06\x4e\x2c\x0e\x3a\x38\x31\x2c\xc0\xe3\xee\xe6\xc4\x98\x74\x25\x49\xb7\x70\x62\xa0\xf6\x36\x4e\x0c\x8c\xc0\xc8\x89\xc5\x41\x2b\x27\x86\xbd\x79\xec\x5d\x9c\x18\x93\xad\x24\x59\x23\x27\x06\x6a\x36\x73\x62\xa0\x72\x03\x27\x46\x8c\x8b\x89\x13\xa3\x26\x28\x3b\x4b\x52\x20\x27\xc6\x24\x2b\x59\x12\xe6\xc4\x60\xad\x06\x4e\x0c\x56\x0c\x71\x62\xc4\x9a\xb4\x72\x62\xd4\xf0\x64\x67\x49\xd4\xcc\x89\x31\xf1\x4a\x16\x6f\xe1\xc4\x60\xfd\x6d\x9c\x18\x1c\x85\x91\x13\x23\x66\xa5\x8d\x13\xa3\x06\x28\x3b\x4b\x92\x46\x4e\x8c\x49\x57\xb2\xb4\x99\x13\x83\xb5\xb7\x70\x62\x70\x04\x26\x4e\x8c\xd8\x97\x16\x4e\x8c\x1a\xa2\xec\x2c\x09\x9a\x38\x31\x26\x5c\xc9\xc2\x46\x4e\x0c\xd6\x6d\xe6\xc4\x60\xf5\x06\x4e\x8c\x18\x97\x56\x4e\x8c\xda\xa1\xec\x2c\x89\x9a\x39\x31\x26\x5e\xc9\xe2\x2d\x9c\x18\xac\xbf\x8d\x13\x83\xa3\x30\x72\x62\xc4\xd2\xb4\x70\x62\xd4\x24\x65\x67\x49\xd0\xc4\x89\x31\xe1\x4a\x16\x36\x72\x62\xb0\x6e\x33\x27\x06\xab\x37\x70\x62\x7c\xd8\x6e\xe6\xc4\x98\x04\xb7\xcf\x3d\x38\xb1\x26\x44\xa5\x86\x30\x72\x62\x2d\xb1\x98\x39\xb1\x96\x88\x5a\xf6\xce\x05\xfd\x38\xb1\x7a\x04\xde\xc9\x89\x35\xd3\x8c\x81\x9c\x18\xbf\x13\x84\x4c\x63\xa2\x43\x5f\x4e\x2c\x3a\x0c\xe3\xc4\xa8\xe6\x5b\x38\xb1\x3a\xa6\x1b\x39\xb1\xe8\xd0\x8b\x13\x23\xf7\x9e\xf4\xe3\xc4\x98\xc6\xa1\x9c\x58\x74\xe8\xc3\x89\x45\x87\x3e\x9c\x18\x97\x6a\xe7\xc4\xa2\x43\x5f\x4e\xac\x91\x1c\xc0\x89\xe1\x40\x9f\xc1\x89\x45\x87\x9b\x39\xb1\xe8\x70\x3b\x27\x16\x1d\x3e\x9f\x13\x8b\x0e\x9f\xc3\x89\xd5\xb8\x0d\xe3\xc4\x18\x5e\x43\x38\xb1\x06\xa7\xfe\x9c\x18\xc6\xe7\x16\x4e\x8c\xe4\xea\x06\x4e\x4c\x41\x63\x08\x27\x26\x21\xd2\x9f\x13\x53\x51\xe9\xcb\x89\x09\x35\xe7\x26\x4e\xac\xa9\x35\xb7\x70\x62\x1a\xbe\xfd\x38\x31\x1c\x69\x7f\x4e\x4c\x29\x8c\x7e\x9c\x98\x54\x0c\x7d\x38\x31\xb5\x00\xba\x39\x31\xbd\x52\xf6\xe1\xc4\x34\xc8\x3a\xce\x6a\x1f\xba\x39\xb1\xe8\xd0\x87\x13\xe3\x97\x68\x99\x38\xb1\xe8\x60\xe6\xc4\xb0\x1f\x19\x82\x08\x42\x20\x27\xc6\x04\x2b\x49\x10\xe6\xc4\x40\x9d\x06\x4e\x0c\x54\x0b\x71\x62\xd1\xa1\x83\x13\xc3\x02\x3c\xd6\x6e\x4e\x8c\x49\x57\x92\x74\x0b\x27\x06\x6a\x6f\xe3\xc4\xc0\x08\x8c\x9c\x58\x74\x68\xe7\xc4\xb0\x3f\x8f\xbe\x93\x13\x63\xc2\x95\x24\x6c\xe6\xc4\x40\xdd\x2d\x9c\x18\xa8\xde\xc4\x89\x45\x87\x56\x4e\x0c\x7b\xf3\xb8\xbb\x38\x31\x26\x5b\x49\xb2\x46\x4e\x0c\xd4\x6c\xe6\xc4\x40\xe5\x06\x4e\x2c\x3a\x74\x70\x62\x58\x80\xc7\xdd\xcd\x89\x31\xe9\x4a\x92\x6e\xe1\xc4\x40\xed\x6d\x9c\x18\x18\x81\x91\x13\x8b\x0e\xad\x9c\x18\xf6\xe6\xb1\x77\x71\x62\x4c\xb6\x92\x64\x8d\x9c\x18\xa8\xd9\xcc\x89\x81\xca\x0d\x9c\x18\x31\x2e\x26\x4e\x8c\x9a\xa0\xec\x2c\x49\x81\x9c\x18\x93\xac\x64\x49\x98\x13\x83\xb5\x1a\x38\x31\x58\x31\xc4\x89\x11\x6b\xd2\xca\x89\x51\xc3\x93\x9d\x25\x51\x33\x27\xc6\xc4\x2b\x59\xbc\x85\x13\x83\xf5\xb7\x71\x62\x70\x14\x46\x4e\x8c\x98\x95\x36\x4e\x8c\x1a\xa0\xec\x2c\x49\x1a\x39\x31\x26\x5d\xc9\xd2\x66\x4e\x0c\xd6\xde\xc2\x89\xc1\x11\x98\x38\x31\x62\x5f\x5a\x38\x31\x6a\x88\xb2\xb3\x24\x68\xe2\xc4\x98\x70\x25\x0b\x1b\x39\x31\x58\xb7\x99\x13\x83\xd5\x1b\x38\x31\x62\x5c\x5a\x39\x31\x6a\x87\xb2\xb3\x24\x6a\xe6\xc4\x98\x78\x25\x8b\xb7\x70\x62\xb0\xfe\x36\x4e\x0c\x8e\xc2\xc8\x89\x11\x4b\xd3\xc2\x89\x51\x93\x94\x9d\x25\x41\x13\x27\xc6\x84\x2b\x59\xd8\xc8\x89\xc1\xba\xcd\x9c\x18\xac\xde\xc0\x89\xf1\x61\xbb\x99\x13\x63\x12\xdc\x3e\xf7\xe0\xc4\x9a\x10\x95\x1a\xc2\xc8\x89\xb5\xc4\x62\xe6\xc4\x5a\x22\x32\x73\x62\x7c\xf4\xdd\xc5\x89\xd5\x23\xf0\x4e\x4e\xac\x99\x66\x0c\xe4\xc4\xea\x5b\x58\xc9\x3c\xa6\x8a\xfa\x92\x62\x55\x34\x8c\x14\xa3\x9a\x6f\x21\xc5\xea\x98\x6e\x24\xc5\xaa\xa8\x17\x29\x46\xee\xa0\xed\x47\x8a\x31\x8d\x43\x49\xb1\x2a\xea\x43\x8a\x55\x51\x1f\x52\x8c\x4b\xb5\x93\x62\x55\xd4\x97\x14\x6b\x24\x07\x90\x62\x38\xd0\x67\x90\x62\x55\x74\x33\x29\x86\xeb\xc4\xad\xa4\x58\x15\x7d\x3e\x29\x56\x45\x9f\x43\x8a\xd5\xb8\x0d\x23\xc5\x18\x5e\x43\x48\xb1\x06\xa7\xfe\xa4\x18\xc6\xe7\x16\x52\x8c\xe4\xea\x06\x52\x4c\x41\x63\x08\x29\x26\x21\xd2\x9f\x14\x53\x51\xe9\x4b\x8a\x09\x35\xe7\x26\x52\xac\xa9\x35\xb7\x90\x62\x1a\xbe\xfd\x48\xb1\x2a\x1a\x42\x8a\x29\x85\xd1\x8f\x14\x93\x8a\xa1\x0f\x29\xa6\x16\x40\x37\x29\xa6\x57\xca\x3e\xa4\x98\x06\x59\x3b\x29\x56\x45\xdd\xa4\x18\xee\xc7\xba\x49\x31\x7e\xa1\xb9\x89\x14\xab\x22\x33\x29\x56\x45\x8c\xc0\x12\x84\x40\x52\xac\xe2\xd7\x78\x89\x82\x30\x29\x06\xea\x34\x90\x62\xa0\x5a\x88\x14\xab\xa2\x0e\x52\xac\x8a\x18\x6d\x25\x48\x9a\x49\xb1\x8a\xdf\xeb\x25\x4a\xb7\x90\x62\xa0\xf6\x36\x52\x0c\x8c\xc0\x48\x8a\x55\x51\x3b\x29\x56\x45\x8c\xb8\x12\x04\x8d\xa4\x58\xc5\x2f\xfd\x12\x85\xcd\xa4\x18\xa8\xbb\x85\x14\x03\xd5\x9b\x48\xb1\x2a\x6a\x25\xc5\xaa\x88\x51\x57\x82\x9c\x89\x14\xab\xf8\x8d\x60\xa2\xac\x91\x14\x03\x35\x9b\x49\x31\x50\xb9\x81\x14\xab\xa2\x0e\x52\xac\x8a\x18\x6d\x25\x48\x9a\x49\xb1\x8a\x5f\x14\x26\x4a\xb7\x90\x62\xa0\xf6\x36\x52\x0c\x8c\xc0\x48\x8a\x55\x51\x2b\x29\x56\x45\x8c\xba\x12\xe4\x4c\xa4\x58\xc5\xef\x11\x13\x65\x8d\xa4\x18\xa8\xd9\x4c\x8a\x81\xca\x0d\xa4\x18\x31\x2e\x26\x52\x8c\x9a\xa0\xec\x2c\x49\x81\xa4\x58\xc5\xaf\x19\x93\x24\x61\x52\x0c\xd6\x6a\x20\xc5\x60\xc5\x10\x29\x46\xac\x49\x2b\x29\x46\x0d\x4f\x76\x96\x44\xcd\xa4\x58\xc5\xef\x1d\x93\xc4\x5b\x48\x31\x58\x7f\x1b\x29\x06\x47\x61\x24\xc5\x88\x59\x69\x23\xc5\xa8\x01\xca\xce\x92\xa4\x91\x14\xab\xf8\xa5\x64\x92\xb4\x99\x14\x83\xb5\xb7\x90\x62\x70\x04\x26\x52\x8c\xd8\x97\x16\x52\x8c\x1a\xa2\xec\x2c\x09\x9a\x48\xb1\x8a\xdf\x58\x26\x09\x1b\x49\x31\x58\xb7\x99\x14\x83\xd5\x1b\x48\x31\x62\x5c\x5a\x49\x31\x6a\x87\xb2\xb3\x24\x6a\x26\xc5\x2a\x7e\x91\x99\x24\xde\x42\x8a\xc1\xfa\xdb\x48\x31\x38\x0a\x23\x29\x46\x2c\x4d\x0b\x29\x46\x4d\x52\x76\x96\x04\x4d\xa4\x58\xc5\xef\x39\x93\x84\x8d\xa4\x18\xac\xdb\x4c\x8a\xc1\xea\x0d\xa4\x18\x1f\xb6\x9b\x49\xb1\x2a\x6a\xe8\x2a\x59\xda\x44\x8a\x55\xc2\xc5\x67\x4a\x08\x23\x29\xd6\x12\x8b\x99\x14\x6b\x89\xc8\x4c\x8a\xf1\xd1\x77\x17\x29\x56\x8f\xc0\x3b\x49\xb1\x66\x9a\xd1\x4a\x8a\x31\x06\x2d\x7d\x44\xf9\xce\x2f\xd0\x85\xdd\x8e\xc6\x1f\xc7\xaf\x3d\x34\xfd\xa7\x2c\x83\x83\xd4\x1e\x5a\x90\x9d\x9f\x85\xa5\x1f\x85\x9f\xb4\x30\x8d\x8f\x34\x9d\x48\x93\xd2\x7a\x24\x97\x09\xb3\x47\x0f\x05\x97\xf5\x54\x7e\x75\x55\x14\xa6\x57\x56\x4b\xd2\x33\xb3\xf4\x36\x8d\x02\x49\x76\x01\xc8\x92\xe4\xed\xa8\x58\x51\x9e\x23\xb4\xa6\x2e\x5a\x26\xe9\x53\x8a\xf0\x1b\x8a\x44\x80\x3f\x6b\x69\x7e\x24\x5b\x14\xab\x9f\xab\x95\x1c\xe9\x4b\xb4\xc6\xd7\xae\xe9\xe9\xd9\xfa\x3d\x4c\xf3\x23\xd7\xb2\xa0\x1c\x97\xfa\x68\xb5\xf1\xa5\x6a\x2a\xcd\x1e\xd3\x34\x3f\x50\x2d\x8a\x29\x31\x49\x8f\x4e\x1b\x5f\x9a\x26\xb2\xe4\x15\x4e\xf3\x03\xd3\xb5\x8c\x1c\x83\xf0\x74\xb4\xf1\xbd\x68\x5a\x7a\xec\xe1\x4e\xf3\x33\xd1\xa2\x98\x1c\x89\xfc\xf4\xb3\xf1\xbd\x67\x22\xcb\x5e\xfc\x34\x3f\xf3\x2c\x48\xc9\xb1\x48\x8f\x37\x1b\x5f\x6c\xa6\xad\x9a\xb4\x19\xc3\x43\xcd\x8d\x84\xac\x5f\x7c\x80\xd9\xf8\xea\x32\x4b\x49\x7e\x7f\x31\x3c\xb6\x5c\x0b\xa8\x89\xaf\x9f\x51\x86\xdf\x4e\x66\x0f\xd3\x07\x4d\xf3\x70\x5c\xcf\x5d\x69\x22\xf1\xa9\x44\x41\x9d\xfd\xdd\xc2\x03\xaa\xe4\x36\xf2\x77\xf7\x96\x67\x33\x31\xf1\x8a\x78\xf9\x82\xf8\xa6\xdd\x2a\xd2\xae\xe7\x8d\xf9\xff\xa0\x30\xc7\x30\xa0\xb7\x62\xae\xed\xbf\xd8\x23\x7f\xa3\xbd\xda\x4c\xaf\x93\x14\x6e\x99\xdf\xb4\xbd\xf1\x2c\x5c\xfa\x9f\xa5\x19\x79\x96\x7a\x52\xa6\x69\x54\x86\x99\x6a\xcb\x36\xe4\x1d\x2d\x7e\xd1\xfa\xc4\xd3\x23\xd2\xaf\xf0\xa7\x61\xb6\x39\xf2\xef\xe9\x2d\xff\xd4\x98\x85\x9f\xd0\x7a\xb2\x24\x2f\x6c\x6e\x1e\xd3\x9c\x9e\x03\x5f\x13\x31\x0b\xff\xde\x00\x0f\x51\x91\xb2\x44\xbb\x94\xde\xed\x49\x23\x14\x4c\x23\x8f\x0f\x95\x25\xca\x49\x1a\x70\xbb\x60\xae\x24\x0e\xc8\x8d\xa6\x8c\x3f\x37\xc0\x1e\x25\xb8\x90\x7f\xc3\x28\x2c\xcf\xfc\x9d\x02\xb1\x18\xc2\x04\x90\xa3\x57\x79\x4a\x03\x10\x0a\x27\x7d\x1b\x82\x3f\x9c\xd5\xbc\xe6\x30\xb7\x95\xe7\xc5\x9a\x6b\xee\xdd\xc5\x3c\xab\x36\x4a\xb7\x2c\xfe\x26\xdc\xe0\x46\x7b\x8b\x5b\xac\x6d\x2e\x7f\xce\xa1\x79\x35\x17\xa3\x5d\x27\x6b\x34\xf1\xf3\x3c\x7d\x04\xde\x91\x00\x1f\x3d\xc3\x05\xc5\x4a\x9e\x0c\x0a\xf9\x13\xab\xf6\x08\xd6\xcb\xde\xcd\x1d\x6b\xce\xfc\xa5\xad\x8e\x68\x9b\xe7\xd1\x36\xd2\x0b\xc1\x7a\xcd\x65\xc5\x4f\x10\xb8\x4e\xb6\x85\xc5\x62\x24\x83\xa0\x7f\x55\x56\x16\xf9\x3b\x14\xa3\xa4\xfc\x5f\x7f\x2d\xd3\xec\xf7\xb1\x28\x52\xa6\x19\x44\xf6\xf4\x50\xc3\xf2\xa3\x6a\xe3\xa8\x32\x6d\xe4\x45\xd9\x2f\xe9\x73\x13\x7f\x1e\x39\x59\xf5\x7c\xf4\x5f\x23\xcb\x79\xde\x3f\x82\x1a\xc7\xfe\x01\x28\xc2\x86\x94\x41\xfa\x44\x5f\x56\x3c\xfc\x89\x66\x52\xf8\x34\xfd\xf4\xbf\xf6\x90\xa4\x77\xa4\xa4\x8e\x8b\xbd\x2d\x27\x3c\x11\xae\x5b\x4f\xd7\xfb\x4c\xd4\x34\x0c\x2e\xcd\x43\xf1\x7a\xd4\xb8\xeb\xea\x88\x8f\x0c\x81\xe5\xfa\x44\x87\xc9\x1a\x1d\xd8\x4b\x11\x54\xa3\x88\x0f\xaf\x53\x44\x9f\xa9\x46\x6d\x84\xa2\xaa\xdf\x7f\x11\xda\x29\x6d\xa5\x9d\xc5\x27\x25\xa5\x5f\xdd\x53\x82\x00\x65\x2e\xe6\x02\xd2\x29\xfb\x77\xd5\xc0\x7e\xf5\x70\x68\xaa\x58\xac\xcc\x4a\x4b\xef\xd0\xdf\x52\x17\x3b\x71\x04\x30\xa1\x91\x0b\xb5\x51\x8c\xbe\x47\x7d\xa4\xd5\x59\xae\x90\xec\x29\x22\x95\x2c\xef\xa7\x09\xaa\x91\xd4\x8b\x57\x49\xac\xf0\x46\x1b\x27\xc7\xd1\xaf\xaa\xa9\x61\x80\x52\x95\xd2\x07\x69\x55\x04\xa0\xda\x66\x8b\x35\x6d\x60\x36\xba\x93\xc4\x62\xe4\xef\x6a\x92\x78\xa9\xc8\x4d\x35\xad\x1b\x47\x08\x12\x12\xbd\x50\xd5\xa4\x04\xf4\xaf\x6b\x23\xde\xbd\x5b\x47\xe4\xe3\xb1\x48\x5b\xfe\x61\x51\xe3\x93\xa3\xa4\x35\x78\xf6\x17\xe6\xf1\x88\x68\x67\x2d\x6a\xf9\xf4\x61\x43\x63\xe4\xd9\x20\xe9\x4f\xb3\x29\xfe\xeb\xc8\x20\x56\x2a\x37\x25\x42\x95\xe8\x0b\x49\x7d\xf4\x40\x0d\x09\x7b\xf0\x66\x94\x37\xcf\xcf\xff\xfb\x4c\xbb\x98\x92\x7e\xcd\x4d\x0e\x01\x94\xac\x90\x07\x48\xa3\xe4\x6d\x36\xeb\x43\x9a\xdb\xb0\x24\xb1\x38\xf9\x1b\x6e\x2c\x6e\x2c\x72\x53\x53\xeb\x42\x50\x87\x83\x45\x2d\x34\x34\x21\x72\xda\xcc\xe4\x56\x21\x73\xfe\xa3\xc9\x42\x18\x6b\xd7\x0b\x27\x9b\x26\xbc\x3e\xb5\x63\xd5\xdb\x5c\xfd\xa7\x73\xfc\x27\x8e\x78\x48\x9a\xd8\x2c\x81\x54\x42\x56\xa3\x2c\x52\x09\x45\x49\xda\x23\x19\x45\xd5\xdc\xac\x51\x9c\x95\x67\xe9\x95\xeb\x46\x84\x4c\xb8\xc1\xec\x4a\xb3\xf0\x6b\x3d\x1b\x6d\xa6\x4e\x0b\x7d\xea\x44\x27\x23\xdd\x73\xa6\x14\xcf\x01\xcb\x33\x9e\xee\x6e\xfd\xe0\x40\x9e\x48\xce\xca\x33\x79\xe2\x10\xd5\x33\x5f\x2b\x4c\x12\x88\xc4\xac\x13\x33\x29\x8e\xe9\xe3\x85\x2b\x9b\x34\xa9\x1c\x36\xad\x9a\x2c\xc5\x79\xd5\x8c\xd4\x7f\x59\x51\x8b\x99\xfc\x8c\x29\x12\xcf\x66\xcb\x14\x89\x8b\x90\x87\x09\x79\x29\xcd\x1a\x43\xd3\xae\x42\xb4\x78\x82\x26\x65\x7a\x34\x40\x93\xd4\xd8\x75\x8d\x70\xb7\xca\x40\x26\xa9\x66\x69\x07\x46\xfa\x42\x7f\x60\x4e\x8a\x30\xd8\xe7\x42\x74\xb0\x5f\xaf\xa8\x8e\x58\xf9\xf5\x50\x03\xa1\xa3\x0f\xf5\xf9\x2b\xdb\x44\x6f\x5d\x49\x96\x03\x23\x01\x81\x03\xc7\xbe\x8a\x99\xd4\xc1\x53\x20\x94\x86\xa7\xbd\x40\x14\x47\xa8\x5c\x8a\x8d\x50\x87\x55\x31\x60\x80\x2a\xeb\x13\x07\xa8\xc3\x94\x81\x78\x99\x06\x8d\xf2\xc4\xb5\x1e\x3d\x36\x68\xc1\xe3\xab\x5e\x60\x35\x23\x10\x2e\x43\x46\x20\xc3\xea\x9b\x36\xfc\x10\x75\xc9\xc3\x8f\x9b\xab\x9b\xb1\x4f\x06\xe2\x32\x4c\xb4\xc4\xba\x06\xe2\x27\x76\x9b\x1c\x3d\xd9\x56\x0b\xec\x99\x6d\x0b\x0f\x9f\xb2\x27\x42\x27\x62\xcf\xd2\xa7\xe3\xac\x59\x33\x97\x0e\x4b\x4a\x7f\x1b\x21\xe1\x41\xcd\x8d\xfc\x2a\xe5\x46\xdf\x5d\xd3\x4a\xbb\x32\x85\xa3\x32\x18\xf3\xaf\x63\xd3\x08\x68\x3f\xf8\x80\xf2\x32\xdc\xf9\x11\xeb\x82\xca\x34\x13\xac\x97\xd8\xa5\x07\x08\xb9\x68\x5e\xab\xc4\x9d\x2f\x56\xa7\x84\xa7\x49\x53\x06\x06\xae\x51\x0b\xee\x9f\xff\x4c\xfe\x7b\x11\x62\x35\xca\x33\x80\x74\x58\xc9\x28\x87\x78\x5a\x45\xdc\xe4\x97\xfc\x10\xb2\x3c\x6d\x50\xb6\x68\x7c\xa8\x16\xe5\xbf\x85\xd0\x8d\xd3\xf1\xa2\xf1\xa0\x72\xd2\x44\x59\x82\x0c\xa4\x84\x41\x26\x37\x57\x56\x9f\xb2\x4a\xd6\x14\xa1\xa2\x10\xf1\x19\x03\xbe\x01\xe4\x78\x04\x1d\xa5\xa8\xb1\xb5\x62\xf8\x94\x79\x98\xe1\xb4\xe1\x28\x46\x65\xbe\x4e\xca\xa3\x95\xee\xad\xf2\x9c\xa1\x2f\xd3\x20\x78\xae\x63\x2d\xbd\x83\x8b\x87\xb3\x54\x13\x59\xfb\x68\xf4\xd0\xa5\x90\xf6\xc0\x8b\x26\x34\x5b\xfe\x1b\xcb\x3f\xef\x9a\x1c\xd6\x2e\x47\xa0\xf4\x77\xd3\xad\xbf\xf3\xe5\x94\xc8\xe1\x68\x7a\xc6\x9d\x12\x42\x8c\x6d\x42\x50\x22\xb6\x73\x7f\xb7\x6d\x6a\x21\x5f\x63\x1c\xab\x0e\x42\x14\x82\x1b\xa4\x31\xd8\x23\x1b\xb9\x60\xb6\x94\x25\x4c\x30\xcd\x8a\x8c\x29\x6b\x9a\x18\x98\x14\x37\x98\x06\x75\x5d\x67\xcb\x9a\x63\xf9\xa7\x98\x31\xee\x02\x96\xd6\x3c\x40\xbb\x05\x9c\x2d\x71\xbd\x14\x4e\xad\x28\x61\xcc\x92\x2c\x04\x97\x56\xe0\x6d\xeb\x44\x84\xc9\x3e\x1d\x0b\xdf\x82\x62\xfa\x13\x54\x81\x90\x87\xb6\x60\x3e\x9a\x55\x59\x30\x7d\x8d\xb7\x29\x07\xa2\x04\x14\xb7\xbf\x0d\x02\xe4\xf1\xb8\xd9\xfa\xec\x58\xfe\x29\xe8\xae\x5d\x20\x5d\xfb\x3d\x42\x5b\xb8\xf5\x48\x0b\xbf\x60\x42\x25\x09\x53\x6e\x14\x21\x43\x22\x96\xbe\xc3\x13\x41\x97\x82\xc7\xd2\x2f\x41\x39\x77\x80\x14\xa1\xd9\x76\xbb\xb3\xc1\xdc\x88\x0b\xcc\x60\x3a\x45\x01\x53\x5e\x64\x19\xb0\xad\x04\xfe\xca\xaf\x0d\x01\x59\x75\x1e\x8b\x3f\x04\xcd\xec\x37\x0c\xc8\x1e\xcc\x84\xb0\x8a\x0d\xa6\x4f\xf0\x37\x65\x41\x12\x01\xe3\x76\xf1\x5f\x53\x18\xf9\xfd\x58\xf8\x96\x0a\x02\xff\x04\x1b\xc7\x0e\xff\x19\x8a\x81\x2f\x95\x1b\x00\xe6\xde\xe6\x22\x68\x24\xc0\xc6\xb1\xc7\x7f\x3c\x6e\xfe\xa6\xbc\xf8\x4b\xd0\xcc\x1d\x8e\x60\x54\xd4\xb7\x25\xb5\xa2\x80\x29\xbd\xb2\x0c\x90\x62\x43\xaf\x38\x9a\x90\x7e\x9b\xe4\x17\x77\xde\xad\x03\x4b\x4a\x64\xc8\x93\xf4\x3f\x4d\xdd\xe9\x72\x8a\x14\x75\xa4\xf8\x05\x7d\xb3\x95\x67\x7b\x0b\x40\x25\x5a\xa1\x1d\xda\x2b\x2a\xe5\x51\x8f\xb8\x53\xa2\x2d\x5d\xa2\xfc\x48\xae\x3f\xc2\x88\x85\xfd\x94\x87\x49\x50\x56\x88\xa4\x61\x1c\x97\xa3\x22\x4b\x93\x02\x17\xaa\x22\xa1\x8d\x7e\x04\x2d\xb7\x0e\x84\xa4\x8d\x14\xc2\x70\x48\x50\x3d\x60\x64\x24\x6b\xc3\x35\xa1\x3e\xda\x59\x4f\x04\xbc\x85\x37\x59\xd1\x57\x00\xd4\x0c\x5b\x45\x7c\x01\x89\x6c\x3c\x77\xe0\x4f\x7f\x5a\x15\xdd\x23\x61\x3d\xa2\xed\x7d\xd8\x3c\x09\x6a\x15\xbb\x3c\x8d\x22\x6c\xa7\xcb\xf4\xb4\x3b\x6e\xac\xb8\x10\x3c\x09\xb9\x83\x9d\x70\xe0\x63\x48\x36\x39\xd2\x10\x5b\x3f\xbf\x42\x49\x31\xc3\x0f\xe4\x6a\x31\x5f\x18\x73\x15\x07\x7f\x98\x5c\xc5\xc1\xa0\x5c\xad\x56\x8e\x31\x57\xd1\xe1\x0f\x93\xab\xe8\x30\x28\x57\x8e\xb3\x5a\x19\xb3\x55\x45\x7f\x98\x6c\x55\x51\x4b\xb6\x34\xf1\xff\x5b\xc9\x26\x0c\x71\x1d\x79\x98\xd0\xbd\x4c\x24\x0d\x02\xbd\x40\xb8\x0a\x14\x0b\x3b\x9b\x16\xde\x17\x1b\x65\x6f\xa7\xbc\x77\x0a\x78\xda\x57\x9d\xed\xf3\x83\x76\x26\x3e\x82\xa4\x0d\x24\xd8\xb7\x65\x32\x62\x49\xaf\x49\xe3\x1c\x45\x3e\xee\xe9\xc8\xda\x9a\xe5\xe0\x19\x2d\x91\xb0\xb2\x30\x8a\xd4\x03\x01\x73\x14\x6f\xe4\x2d\xfc\xf3\x86\x89\x61\xe9\x70\xec\x26\x15\xea\xee\x52\x43\x6f\x43\xf6\x9c\x2a\x41\xfe\x75\xcc\xd1\xfe\x77\xb6\x5f\x0f\xf4\x92\x36\xee\x61\xcd\xe0\x3e\x30\x3d\x3a\xba\x41\x95\x47\xa7\xed\x4b\x85\xd3\x48\x77\xab\x6a\x81\xa0\x54\xaa\x9e\xb7\xa6\x93\x6e\x6d\xad\xa3\x94\x77\xb4\xc2\xa9\xa4\xfb\x5c\x95\x20\x60\x1a\x25\xaf\x5b\x53\x48\x37\xc5\xf2\xe8\xc4\xbd\xb0\x70\xf2\xe8\x0e\x59\x51\x1e\x4a\x9b\xe0\x7e\x6b\xc2\xe8\x76\x5a\x1e\x91\xb2\x8b\x96\x0f\xba\x80\xd1\xfb\xce\xb1\x17\x4a\x28\x28\x85\xb2\x97\xbc\x4f\x98\x2a\xef\x99\x4e\xba\x1d\x97\xc7\x28\xef\xc2\x85\x21\xa4\x7b\x73\xe5\x10\x50\x12\x25\x9f\x5b\x61\xa4\x1b\x79\x79\x64\xd2\xfe\xdd\x16\x10\xf7\x52\x00\x28\x71\xa2\xc7\x67\xa0\x47\x37\x02\x37\x58\x74\x8d\x6a\x1d\xc7\x11\x85\x61\xd8\x6a\xf7\x9b\xcd\x0b\x2e\xd0\x38\x0d\xfc\xc8\x5a\xda\x02\xf9\xbc\xb4\xbf\x10\xf6\x80\xe2\x81\x25\x93\x4a\x33\x94\x98\x8f\xcb\xd5\x1d\x19\xdf\x6f\xca\x95\xd3\x85\x54\xba\x51\x78\x0c\xb8\xdd\x4d\x76\x51\x5a\x18\x78\x57\x41\x3f\xeb\x5d\xb5\x83\xd1\x26\x85\x77\x45\xe6\x27\xf2\x26\x7e\xa1\x83\x73\xc5\x1d\x9f\x7c\xe9\xba\xf1\x76\x26\xb2\x00\x21\x91\x05\x6f\xcd\xf3\x2e\x93\x0e\xfe\x8e\x6c\xc5\xfb\x14\xd5\x67\x4d\xed\xac\x1a\xd9\x23\xf2\x8f\xeb\xe1\x7e\x4c\x11\xbc\x8b\xc2\x4b\x14\x16\x7c\x57\x70\xf1\xdf\x27\x3f\xa7\x9d\xa2\xf1\xcc\x88\xd4\x57\xcf\x9b\x82\x65\x0b\xac\x17\x03\x76\xc2\xc2\x31\x4f\x9d\x87\x93\x85\xc7\x12\x23\x5b\x58\x1f\xf0\xa4\x05\x89\xa9\x2d\xec\xf0\xa2\x9d\xa9\x87\x5d\xf4\x02\xf4\xf0\x9f\xb2\x6e\x5c\x2f\x39\x2f\xa5\x04\xdc\x65\x12\xfc\x64\xf9\x40\x1c\x71\xb8\xd2\xfa\x07\x2b\x4f\x49\xb3\xac\x6e\x12\xfb\x25\xca\x43\x3f\xb2\xc2\x5d\x9a\x14\x82\x72\x51\x0f\x72\xf0\xdf\x15\x14\xde\xfb\x71\x18\x9d\xd7\xcf\xde\x32\xbf\xd1\x1b\xec\xf7\x6c\xa3\xee\x29\xd7\x77\x70\xab\xf5\x68\x03\x0e\xc0\x94\xc2\x24\xcd\xb4\x65\xef\x37\xbb\x5d\xa6\x89\x60\x8f\xfc\xf2\x94\xe3\x7e\xbc\x2c\xc3\xe4\x50\xac\x9f\x45\xe1\xc1\x7f\x76\x9d\x10\x9d\x64\xd4\xc4\xb6\xb6\x5f\x1a\x97\xf5\x36\xad\x98\xeb\x68\xe2\x7a\x85\x24\xed\x47\xd1\x78\xf2\x10\x22\x72\xb1\x4e\x58\x84\x69\x72\x37\x09\xc2\xfd\xde\xfa\x94\x26\x48\x54\xe2\x47\x11\x0b\xfd\xc9\x0a\x50\x56\x1e\xad\x32\x4c\xce\x97\x46\xf7\xda\x1e\x39\x59\x45\xfe\x67\x8f\x14\x52\x7f\xdc\xe2\xd7\x28\x3c\xfa\xd1\x5e\x56\xe8\x66\xd5\x68\xaa\x05\x72\xe6\x5c\xa1\xa7\xfb\xb9\xcf\xaf\x93\x53\x81\x72\x2b\x49\xcb\x70\x1f\xee\x88\x41\x1c\xd7\x71\x38\x7a\x04\x80\x12\x12\x01\xf6\x63\x2d\x57\x8b\xa1\x56\x07\x24\x1a\xeb\x73\xf4\xac\x3a\x4b\xac\x74\x86\x3d\x81\x18\x45\x1c\x5c\x59\xdf\x12\x07\x59\x68\x41\x5c\xac\x6e\x8e\x2d\x0a\x90\xc6\x95\xa0\x6e\xaa\x14\x92\x0b\x27\xc1\x9d\x11\x54\x71\x44\x5e\x87\xc6\x99\xa2\x91\xa4\x62\xa9\x6b\x24\x49\xc4\x06\x6f\xe4\x01\xf1\x39\x82\x46\x4f\x29\x16\x9c\x0a\x77\x06\xe7\x79\x86\x53\xb7\x00\x00\xc1\x05\x13\xe4\xfe\xc1\x3a\xfa\x49\x10\x21\xdd\xb8\xf0\xa1\xcd\x12\xff\x31\xd9\x30\x09\x70\x25\x49\x73\x2b\xc8\xd3\x8c\xd4\x7a\x6e\xae\x1c\xbd\x2b\xc2\xd8\x05\x69\x59\xa2\x60\xf4\xa7\x60\x8a\xff\x34\x35\xbb\x63\x5a\xa0\x04\x56\x52\x9b\x4b\x6e\x28\x81\x44\xf8\x87\x03\x0a\x3a\x82\x73\x6b\xfb\x6a\x85\xff\x36\x02\x76\xbc\x99\xd1\x56\x63\x4a\x23\x8b\xc5\xc4\x1d\xfd\x09\xed\xf0\xdf\x46\x19\xba\xfb\x0f\x7e\xe9\xe7\x63\xf6\xaf\x15\xf9\xf9\x01\xea\xc3\x99\xa1\xe6\xb3\x5a\xd5\x86\x4c\x8b\x11\xf2\x0b\x3c\x96\xb6\xd2\x53\xb9\xb1\xe2\xf4\x53\xb7\x4c\xd1\x29\x92\x76\x49\x68\xfb\xa2\x54\xcb\x4b\x26\x98\x34\x6f\xd2\x60\x4d\xea\xf5\x70\x63\xdb\x74\xc4\x54\x9f\xa5\xa6\xcd\xc8\xe6\xfb\x12\xa6\xb8\xcb\xa4\xbd\xeb\xd4\x6b\x22\x63\x40\x1a\xa3\x74\xec\x1e\x71\xf2\x49\x3a\x91\xad\xb9\x86\xac\x12\x3a\xa6\xa9\xd8\xa1\xe3\xe6\xda\x1c\x87\xc1\xbd\xff\x75\xb2\x3d\x95\x65\x9a\x90\xfe\x90\x8f\xdd\x34\xa7\xbb\xf0\xf2\x07\x2b\xd8\x3a\xdd\x07\x3f\x63\x5b\x1d\x3c\x21\x6f\x75\x8e\x6d\xb0\x4b\x06\x72\x0d\x73\x27\xbb\x53\x5e\xa4\xf9\x3a\x40\x7b\xff\x14\x95\x1d\xc5\x01\x68\xbd\x0b\xc5\x12\x96\x47\xa5\x83\xb4\x1d\x72\xff\x3c\xd6\x5c\xfe\xc0\xe5\xd2\x60\xc0\x96\x2c\x6a\x24\x82\x15\xfe\xd3\xb3\xf7\xe4\x25\xc0\x10\x92\xec\xff\x67\x95\x41\x1a\x05\x63\xcd\xe5\x8f\x5e\x06\x18\x05\xb5\x08\xb6\x2e\xfe\xd3\x73\xf7\xf4\x45\x40\x01\xa2\xd1\xe2\x1f\x9f\x83\x3f\x5f\xcf\xd5\xdd\xfe\xf0\x65\x90\x46\x81\x5a\x06\x68\xbe\x73\x09\xd5\xa2\xe5\xe6\xc9\x4b\xa1\x06\xe9\xc9\x9a\xc2\x36\x3a\x29\xfd\x04\x76\xf9\xa3\x17\x83\xb4\xea\x1e\x5e\x54\x06\x4b\xc9\xcd\x93\x17\x03\x83\xa8\xe1\x2a\x17\xfe\x67\xf5\x09\x64\xb9\x52\x71\xf8\xa3\x17\x01\xc6\x40\x2d\x00\xd7\xf1\xb6\x2b\x5f\xcb\xdb\x93\xe3\x4f\xe1\x91\x4a\xfd\xf3\xba\x64\x84\x12\xb5\x4f\x46\x28\xf9\xa3\x17\x41\x8e\x34\x5b\xb4\x9c\xdb\x5b\xc7\x07\xb2\xf7\x6f\xe8\x93\x29\x42\xd2\x24\xe3\xf3\x2c\x91\xbf\xbb\x57\x4d\x91\xbf\xbb\xff\xa3\x97\x02\x01\x42\x6b\x09\xc1\x62\x31\xb5\x81\x0c\xfe\x1b\x6c\x11\xc5\xa8\x61\xa2\x3f\xa7\x10\xca\x23\x8a\x95\xfe\x80\x38\xfd\xd1\x0b\x81\xa0\xa0\x16\x82\x3d\xc3\x7f\x40\x06\x9f\xbc\x10\x38\x46\xd2\xb2\xe3\x67\x97\x03\xdf\x2c\x66\xf0\xf8\xa3\x97\x09\x49\xaa\x5a\x26\xce\xd6\x5e\xb8\x3b\x63\x66\xff\x3d\x25\x53\xe3\xc5\x79\x97\xc5\x2b\xf7\xd5\x67\x75\x19\x82\x5a\x6d\x38\xb8\x08\x56\x64\xa5\x4a\x10\x2f\x62\x3f\x8a\xee\x42\x89\xd2\xa2\x9b\xcf\x25\x4b\xe2\x67\x70\xfe\xc5\x43\xa7\x84\x79\xe0\x53\xe6\x9c\x51\x10\xfd\x27\xbe\xfa\xea\x7c\xc3\x68\x48\x44\x87\xc8\xe4\x4f\x67\x02\xf5\x60\xab\x0b\x09\xf6\x17\x00\x39\x03\xb4\x04\x61\x63\x02\xb8\x72\xf4\xc7\xa3\x9c\x7a\x12\x17\x52\x29\x18\x49\x39\x3e\x5b\x3e\x85\xd6\xee\x88\x76\xf7\xdb\xb4\x32\x9c\x96\x60\x45\x96\xa5\x21\x81\x52\xac\x34\xe4\x8c\x47\xbd\x6e\x47\xef\x7f\x81\x36\x76\xd4\xd4\x10\xe1\xb3\xa5\x48\x5b\xd6\x59\x1c\x7d\xbd\x46\x3f\x0f\x22\x29\xe3\x5b\x21\x25\xfd\x05\x8a\xd0\x4e\xb8\xb6\x88\x13\x90\x92\x10\xae\x32\x70\x8d\x15\x6e\xeb\x59\x41\x47\x52\xc8\x22\x4c\x9a\x6d\xc4\xb5\x57\x41\xb5\x65\x8a\xfe\x31\x0c\x0e\xa8\x6c\xc0\x97\x47\x2e\x32\xe8\xd7\x49\xad\x8e\x30\x1a\x12\x28\xe2\x82\x1c\x53\x4a\x56\xff\xb2\x70\x77\x4f\x4e\x05\x09\xab\x86\x90\xc4\xdd\x24\xcd\x70\xad\x2a\x2e\xda\x59\x1e\x46\xe6\x35\x8d\xad\x35\x3c\xff\xb8\xc8\x2d\x72\x2a\x72\x83\x36\x59\x2c\x90\x49\x4d\xe2\x22\x97\xb3\x71\x29\x50\x3f\xe8\xc2\x42\x28\xb5\x54\x37\x2c\xcd\x8a\x28\xd9\x36\xc9\x96\xcb\xc4\x05\xc2\x39\xae\x9a\x3d\xf2\xc7\x4c\x2c\xa9\x33\xe3\xa1\x01\xf8\x52\xb1\x58\x5d\x7a\xa8\x18\x10\x9b\x1c\xcf\x1f\xcd\x8a\xc9\xe5\x5c\xef\x18\xe8\x63\x45\x48\xb6\x6a\x39\x14\x45\x61\x56\x84\xc5\x00\xf8\x38\x26\x1d\x49\x54\xbb\x45\x75\x71\x5c\x39\xe8\xe6\xf5\xac\x36\xcc\xc8\xf4\x8f\x5c\x8d\xda\xb3\xe9\xde\xe0\xc4\x7f\x20\x0b\xf3\x79\x4a\xb7\x10\xd2\x33\xdb\x5b\x3f\xbf\x9b\x44\x61\x72\x5f\x8c\x82\xf0\x81\x7e\xaa\x3e\xf4\x9f\x27\xad\x13\xdd\x83\xb0\x5e\xd0\x28\x9d\x00\x7c\x23\x06\xb6\x16\x1b\x76\x9f\x80\xdd\xd8\x0c\x71\xb2\x27\xf4\xea\xfa\xe8\xa6\x35\x25\xb5\x9d\x06\x47\x03\xcb\x60\xa7\xaf\xdf\x35\x56\xe8\x90\x46\x41\xbb\x1d\x06\x62\xea\xd5\xa6\x65\xe1\x7e\xd6\xc3\x3a\xa6\x79\xf8\x49\xb7\xcb\x2d\xa3\xb9\x35\x59\xc3\x65\x0b\xb9\x36\x60\x9f\xd9\xb8\xcc\xfe\x82\x6f\xb9\x4d\x93\xe8\x3c\x2a\x76\x78\xba\x39\xf2\x93\x40\xda\x82\xcb\xdf\xf7\x19\x9e\x34\x75\x7b\xeb\x55\xce\xdf\xee\x98\x86\x3b\xa4\x5e\xd7\xda\x7f\x79\x46\xd7\x75\x17\x85\xf5\xa3\x08\x7c\xf1\xbb\x4b\x4f\xbb\x85\xc0\x75\x4f\xb6\x72\x6a\x67\x0e\xa4\xc2\x30\x4a\x69\xb9\xc3\xa2\xde\x01\x59\x84\x3b\x8b\x1d\xa1\x90\xa4\xc7\xa2\xdf\x1d\x39\xb8\x70\x57\xd2\x23\x1e\x26\xa5\x7c\x81\x57\xdb\xf2\xd0\x34\xc8\x7d\x58\xa1\x60\x23\x6e\xb7\x25\x4d\xd3\x6d\x9a\x26\xf9\x04\x37\xa5\x89\x87\x8f\xf5\x1a\xa6\x16\xaa\xb2\x54\x9a\x55\xf5\xcd\x81\xab\xd5\x0a\x48\xe3\xdd\x24\x46\x45\xe1\x1f\xea\xad\x48\x64\xd5\x5a\x28\x4a\x71\x24\xc7\x4e\xda\xea\xa6\xf4\x14\x92\x18\xd3\x8b\x36\xce\x55\x4b\x71\x7b\x2a\xce\xcd\x2a\xf8\x85\x4f\x4e\x6c\xa1\xb1\x88\x23\x1f\x9c\xd1\x6b\xa3\x1e\x1e\x6b\xdf\x36\x96\x26\x1a\xdb\x06\xd2\xf4\x20\x79\xd7\x50\x7a\x23\x5d\xed\x23\x29\xaf\x47\xb1\x0d\x40\xc2\x58\x9b\xc5\x6f\x1a\xe9\x16\xe7\x78\x9b\x46\xb0\xf5\xd1\x0b\xf9\xc8\x37\x46\xd5\x38\xce\x6c\x69\xbe\x27\x8e\xd9\x6c\xf0\xde\x13\x36\xe9\x03\x26\x3d\x3b\xe4\xa1\x25\x4f\x51\x0b\x62\xae\x5b\x17\x9d\x55\x57\x6f\x7e\x80\x6b\xb6\x5d\x6e\x91\xd4\xf2\x9a\x2b\x09\xc4\xe2\x71\x3d\x71\xf5\xfc\x0b\xb5\x6b\xd7\xb3\xde\x9c\x29\x8a\xfc\xac\x40\x6b\xfe\x71\x95\x5b\x32\xd9\xe6\x57\xd2\x03\x5d\xa6\x26\xae\x36\x26\xb1\xb9\x81\xb3\x28\x48\x11\xd4\x15\xb2\x8d\x26\xa6\x78\x15\x43\x08\xda\xa7\xe6\xa4\x03\x60\x7a\x20\x7b\x56\xa6\xd9\xc5\x70\xec\x1f\x0a\xe5\x93\x27\xda\x2c\x32\xd4\x11\xef\x5a\x55\x2f\xcc\xa2\xdc\x85\x18\x32\x49\x69\x0f\x76\x01\xda\x1d\x2b\xc8\x2f\xae\x58\x4a\x3c\xb8\x21\x6e\x8e\x54\x8d\x0a\xf4\xda\xc4\x46\x7f\x83\x47\xa8\x1a\xf0\x10\xef\xd2\x63\xec\xdd\xe1\xdd\xd6\xf9\x5b\x74\x83\x99\x3d\xb2\x44\x6a\x85\x8f\x08\x0c\xfc\x88\xcc\xa9\x98\x4a\x54\x1d\xc1\x42\x3b\x67\x94\x49\x18\x38\x55\x03\x61\x59\xef\xc3\xbc\x28\xf9\x49\xb8\x8b\xe1\x42\xa7\xa9\x76\xc9\x9b\xe2\x0b\xeb\x8e\x7c\x58\xb5\x74\x03\x94\xae\x5b\xf5\x86\x95\x9b\x68\x19\xca\x05\x82\x61\x2c\xde\x6c\x2f\xd0\xcd\x4f\xec\x99\x90\xf6\x90\x83\xf1\x82\xf2\xdb\x11\x05\x04\x1b\x0c\xfb\x60\xe0\x5a\x86\xe8\x22\x87\x2a\x9a\x1f\x59\x05\xbb\x9a\x1f\x05\x17\x89\xdf\x90\x2e\x98\xa6\x13\xa6\x7a\x0c\xc1\x46\x84\x57\x65\x26\x25\xf6\x66\xcd\xf0\x72\xe0\x3c\xcc\xb4\xb7\x9c\x0d\x38\xd4\x41\x65\x1b\x19\x9b\x37\x83\x0f\x85\x09\x31\x6e\xf9\xfe\x6c\x93\x72\xa5\x5b\x7d\x89\x95\xbc\x9b\x04\xe9\xee\x14\xa3\xa4\x2c\x9a\xcf\xb1\x20\x40\xf2\x5c\x94\x77\xfe\xdd\x24\x2c\x51\xfc\x1f\x9d\x83\x76\x6e\x69\xd4\xc6\x5d\x06\x0b\xd4\xb3\x78\x1b\x9f\xfa\x6c\x36\x50\xfc\x26\x3f\xd3\x30\xaa\x96\xa3\x44\x6f\x21\xbe\x06\x77\x95\x91\xc6\x1d\x72\x98\x1c\x34\x82\xdf\x34\x4f\x61\xf7\xfe\x98\xaa\x0a\xac\xfd\x6e\xb2\x4b\x4f\xe4\xa5\x0b\x95\x22\x55\x37\xb8\xc3\x7b\xee\x8d\x6b\x0a\x74\xa4\x2c\x45\x49\x0f\xf9\x69\xdb\xe2\x81\x06\x24\x44\xcb\x9a\x30\x9b\xd4\x79\x44\x6b\x82\x95\xd2\x37\x5c\xad\xc7\xf0\x93\x9f\x07\xa3\x09\x49\x01\x99\x8d\xd1\xba\x79\x37\x09\x50\xe9\x87\x51\x71\x37\x29\xc3\x32\x42\x63\x30\x54\x96\xa3\x82\x4d\xe2\x78\x30\x22\x7d\x51\x3b\x3c\x65\x63\xe8\xc4\x93\xf6\x51\xf2\xc9\x85\x30\xa1\xd7\x1a\x8d\x6c\x8c\x44\x36\x16\x68\x5f\x17\xf1\x78\x8e\xb9\xfd\x19\xb7\xff\x7e\xfe\x48\xa3\x79\xca\x70\x23\xcf\xac\x5d\x39\xfd\x4e\x33\xc4\x77\x71\xe9\xc8\xdb\x4e\x55\x88\x5a\x32\x33\x70\xe7\xb1\x68\xb5\xf6\x61\x84\x0b\x67\xe7\x53\x1a\x42\x22\xcb\xa1\xea\x65\xb2\xcf\xe0\xc8\xc6\x60\x20\x79\x2c\xf3\x96\xe2\x04\xed\xe9\xbf\xb3\xd0\x74\xc2\x5c\x98\xc9\x4c\xa5\x7d\xc0\x5f\x5c\x27\xec\xf5\xd0\x20\x0e\x93\xbb\xc9\xce\x2f\xd1\x21\xcd\x43\x5c\x2c\xb8\x38\xc6\x5d\xf9\xb8\xf3\xff\xc3\x14\x64\x47\x7a\x3e\xa3\xfe\x18\xb5\xdd\xd5\x4b\x36\x17\xe5\x90\x51\x0f\x70\x9e\x6c\xb0\xcf\x4e\x6a\x6b\x65\x5b\x37\x41\x8f\x35\xcb\x1e\xc9\xe2\xf6\xad\xb1\x2f\x3a\x0f\x06\x30\xe3\x3d\xf4\x16\x49\x98\x65\xa8\x34\x8f\x87\xb4\xb3\x5c\xb3\x5e\x9a\xe5\xa3\x8d\xfc\x64\x73\x57\xb0\xa6\xe0\xcc\x37\x98\xd6\xbc\x97\xa3\xf0\x5e\x2a\x49\xd4\x3b\x32\x8d\x8c\xe0\xcd\x0d\xde\x7d\x2e\x6d\xf6\xeb\x11\x0d\x9d\x13\x43\xc4\xba\x94\xa5\xe6\x4a\x3c\xce\xb3\xbb\xfd\x33\xd5\x39\x3c\x17\xc7\xd9\x1d\x3a\xea\x14\x1b\x8d\x49\x23\x69\x6a\x68\xad\x46\x8a\x47\x30\xee\x12\x63\x2e\xf0\x36\x72\x31\x1f\xa3\xc9\xd1\x2f\x8e\xa5\x7f\xc0\x43\x24\xfa\xd5\xca\xb8\x7b\xcd\x89\x30\x7d\x01\x54\x7f\x23\x46\x7b\x02\xab\x23\x6e\xb9\xf2\xd7\x5c\x9c\x98\x59\x61\xbc\x22\x1e\x6c\x6a\x1d\x24\x2a\x2a\x8a\xd3\xd6\xd2\xd5\xe8\x2b\xf7\x4a\xb0\x0c\xe5\x71\x58\x14\x78\x3c\x25\x91\x5a\x47\x42\x6a\xf5\x15\x3d\xf6\x14\xcd\xfb\x6b\xcd\xfb\x68\xa5\x7c\x57\xaf\xb4\xd6\xa2\x7d\xb5\xf6\x4a\xab\x40\xb8\x69\xb6\x01\x24\xd4\xf9\x78\xa4\x77\x21\x30\xa6\x60\x77\x0c\xa3\x01\xd0\x0d\x0b\xd6\xc0\x78\x43\x30\x35\x36\x95\xf1\xec\xcc\xab\xb8\x1e\x62\xda\x6d\x30\xac\x0a\x37\x1a\xa5\x84\xdd\x78\x2e\xdd\x60\x96\x00\xaa\xb9\xc3\xd2\x5d\xc4\x15\x3e\x5b\xea\xfa\x6f\x3f\x04\xf8\x64\xec\xc1\xee\x54\x94\x69\x1c\x7e\x42\x77\x13\x3f\xdf\x1d\xc3\x87\x3a\x1f\xcd\xcc\x6a\xac\x89\xd2\x0c\x53\x09\xf2\xfd\x1f\x1e\x50\xb6\x02\x3e\x70\x38\xd9\xb3\xff\xb9\x9b\x24\x7e\x8c\x8c\x73\x60\x7e\xb7\x4c\x6f\x6d\xe4\x16\x13\x75\xe6\x2e\x2c\x79\x2c\xd5\x3e\xa9\x53\x37\xe7\x25\x04\x25\x64\x04\x48\x2b\x35\x3d\x03\x2e\xbc\x28\x3d\xa2\xb3\x3a\xc1\x77\x34\x09\x3e\x59\x59\x8e\x70\x69\x8f\x01\x8f\x74\x87\x8a\x22\x4c\x0e\xd2\x6d\x3f\xd2\xb3\x64\x4d\x90\x3b\xfe\xa3\x28\xfd\xf2\x24\x25\x6a\x6a\x2b\xa9\x52\x64\x95\x9b\x04\xb4\xf9\x79\x9a\x6c\x53\x3f\x27\xb7\x58\xec\xd2\xa4\xf4\xc3\x04\xe5\xe2\xde\x29\x75\xed\x45\x58\x00\xd5\x0f\x89\x6e\xc4\x7b\x13\x6c\x58\xf9\x68\x52\x94\xfe\x01\x59\x8e\x3a\xc2\x69\x15\x1e\x4d\xfc\x1d\x61\x68\x2c\x5c\x71\x38\xae\xf0\xcd\x21\xeb\x3f\x6d\x57\xf8\x4f\x04\xb3\x4d\xb9\x3b\x6e\xf5\x9e\xb6\x7b\xcf\xda\xbd\x3d\xe5\x36\xa7\xd6\x84\xc0\xb9\xec\x48\xde\x2d\x81\x66\xb7\x04\xf2\x86\x15\x82\xb3\x5d\x78\xdb\xad\xe8\x44\xec\x15\x1e\x3b\xfa\xb9\x75\xc8\xfd\x20\x44\x49\xf9\x25\xae\x55\x63\x26\x3c\xb2\xc7\x7f\x9a\xad\x56\x5b\xe4\x8f\x70\xe5\x7b\x2e\x05\x66\x36\x51\x0a\x38\x2a\xd3\x6c\x4c\x6f\xbf\xc7\x5f\x24\x25\x56\x51\xa6\xd9\x97\x36\xd7\xf9\x5c\x74\xc5\x5a\x79\x14\xcf\x41\xf5\x37\x27\x2f\xbd\x3d\x68\x5c\xdc\x1c\x56\x0d\x57\xa6\x23\x02\x87\x31\x2c\xe5\x88\xd6\x59\x9e\x1e\xc2\x60\xfd\xf2\x9f\x6f\x62\xff\x80\x7e\xe2\x34\xe9\xe4\x6d\xb8\xcb\xd3\x22\xdd\x97\x93\x5a\xe5\x88\xbc\xb4\xf1\x35\x06\xb1\x28\xf3\xbf\x3e\x63\x9a\x9f\x8d\x47\x28\x09\x04\x67\x1a\xcd\xb3\xf1\xe8\x35\x0b\xf9\xd3\x39\x43\x7f\x75\x46\xcf\x4d\x95\x3e\x49\x4b\x04\xd3\xad\xe2\xcc\x40\xbd\x9c\x04\xd6\x15\x87\x45\xec\x97\xbb\xa3\xd4\xda\x36\xc0\x31\x26\x71\x3d\xa5\xbd\x59\x85\xf1\xa1\xab\x11\x75\x8a\x78\x58\xa4\x21\xe2\xd8\xfa\xcb\x88\x6c\x29\xea\x8a\xff\x4f\x45\x46\xae\xc2\xb7\x9c\xae\x64\xf4\x95\xf4\x04\xc9\x3a\x51\x33\x9e\x28\x67\xd1\x99\xa8\xd9\xc8\x57\xd6\xeb\x84\x5d\x06\x36\x1f\xa5\x0b\xb7\x2d\x9d\x92\x00\xe5\xb8\x8e\x76\xea\x65\xe3\x0c\xe8\xba\x26\x53\xd8\x2e\x63\xc4\xf8\x15\x0f\xda\xb9\xc0\xae\xb3\x79\x91\x87\x7e\x24\x5c\xc2\xa3\xef\xdb\xf9\x7f\x06\xed\xff\x19\xb4\xbe\x06\x0d\xaa\x90\x23\x46\x4c\x74\x6d\xbd\xab\x5f\x88\xed\xba\xd0\x4a\x58\x0c\x72\x96\xb5\x3d\xc9\xaa\x3e\xdb\xad\xea\x1d\xca\xc3\x72\x90\xf8\x0f\x84\xc7\x33\xec\x7a\x6a\xa6\x06\x21\xc6\x7e\x7d\xca\xa3\x2f\xc3\xf8\xf0\x17\x16\xc5\x5f\x78\xf0\x62\x92\x25\x07\xb1\xb0\xad\x1c\x65\xc8\x2f\xd7\x49\xca\xbe\x78\x93\x15\x36\x1b\x91\x4f\x60\x7b\x57\xfd\x7a\x94\xa8\xaf\x26\x04\xed\x91\xb5\x10\xae\xba\xe0\x5b\x41\x19\x3b\x6c\x30\x45\x61\x80\xb6\x7e\x3e\x9a\x44\xe9\x21\xe5\x3b\xe0\xe6\xc2\xde\x29\xbe\xc5\xd0\xd3\xb7\x53\x75\xe9\x3c\xba\x17\xe5\x44\x94\xbc\xe1\x44\x8e\x61\xda\x43\x63\xa6\xaf\x87\x2a\x93\xa7\x8e\xf0\x60\xf7\x6b\x0a\x45\x9a\xe0\xd6\xaf\x37\x06\xce\x6c\x4a\xe5\x2a\x57\xa2\x69\xd4\xbc\x7a\x5d\x8b\x71\xff\x8d\x74\xc7\x91\x7a\x75\xd3\xd4\x1e\x2f\x9c\xb1\x63\x3b\xe3\x89\xf3\xfc\x3a\xf1\x4f\xe5\xd1\xda\xa6\x15\x67\x53\x11\x9e\x6b\x1b\xd6\x98\xba\x66\xfe\xe2\x3a\x10\x98\xf5\x30\xc9\x4e\xe5\xbf\x4a\xdc\xf2\x51\xec\x87\xd1\xef\x86\x2e\x56\x90\xc3\xcd\xb8\x87\x58\xe6\x17\xc5\x63\x9a\x07\xbf\xeb\x93\x6b\xe9\x61\x19\x50\x4f\x67\x97\x5f\x0b\xb8\xfd\x26\x20\xf7\x16\x0f\xf0\xe8\x3f\x20\xe1\xb7\xbc\xbb\x84\x9a\x1a\x86\xda\x42\x58\xe7\x9c\xda\x10\x49\x27\x5a\x38\x2c\x00\xd3\xce\xbd\x92\x34\x0a\xc2\x07\x80\x86\x70\xdc\x17\xab\xe9\x5c\x58\x6d\xfd\x82\xa5\x6e\x6e\x88\xae\x3e\x0a\xe7\x27\x61\x4c\x07\x19\xc5\x3d\x89\xe1\xc7\x32\x47\xe5\xee\xf8\x12\x45\xfe\x79\xe4\x4c\xdc\x62\x14\x26\xfb\x30\x09\x4b\x24\x31\x2a\x37\x86\xeb\x9b\x4d\xec\x90\xa3\x5d\xe9\x5e\xb4\x84\x5a\x01\x8e\x62\x6d\x39\x13\xa7\xd8\x80\xae\x43\x23\x99\xb6\x44\x02\x45\x31\x38\x82\x99\x39\x82\xc9\x0a\x88\x61\xb2\x1a\x1c\x85\xd7\x12\xc5\x12\x8a\x62\x59\x5c\xff\xc6\x83\xdc\xa3\xf3\x3e\xf7\x63\x54\x8c\x80\xc2\xbc\xd8\x5f\x8c\xc9\x00\x6b\x66\x7f\x21\x73\x72\xa4\x7f\x2e\x76\x7e\x84\x7e\xfb\x72\x32\x7b\xbe\x81\x1c\xaf\x6e\x5b\x28\x07\x08\xe4\x3c\xbf\x5e\xff\xf6\x87\x4b\x91\x4e\x6d\x06\x71\x98\x58\xd0\xb6\x9c\xb6\x15\x97\x66\x0b\x87\x48\x7d\x9e\xb6\xa0\x22\x68\xcd\x45\x0e\x3b\xa2\x7b\xe6\xe9\x5e\x57\x7e\xe3\x3f\x79\xef\xa0\x4d\x8e\x3e\x78\x90\x0b\x6f\x1e\xe0\x1e\x5c\x66\xde\x94\x63\x0a\x2a\x2d\xd7\xa2\xde\x40\x6a\x1a\x00\x61\x87\x22\x84\x9d\x09\x74\x5f\x3d\x6c\xb5\xc0\x65\xcb\x96\x64\xdc\x4d\x48\x77\xa5\xcd\xaf\x05\xfe\xae\x5e\x6d\x31\x8f\x4d\x9b\x31\x67\x7b\x8c\xd8\x26\x67\xc5\x45\xd9\xad\x27\xac\x0d\xd6\x99\x6b\x3b\x11\xdb\x27\x0e\x78\x25\xb0\x2d\x5c\x98\xd0\x57\x41\x2c\xec\x78\x51\x87\xd2\xea\x84\x93\x20\x50\x1e\xf3\xf4\x74\x38\xb6\xeb\xa5\xcd\x00\x52\xda\x1e\x4e\x3d\x24\xcb\xee\xb8\x69\x2f\x60\x71\x95\x00\x5c\x35\xe9\x5e\x54\xf8\x63\xae\x9c\xe8\xd7\xc3\x2a\xc3\xd8\xce\x8c\xdd\xb2\xe1\x45\xd0\x47\xab\x55\x7f\x60\x05\x79\xf6\x43\x46\xd6\x10\xc2\x8a\x51\xbc\x45\x79\x71\x0c\x33\xd3\x3a\x10\x95\xc3\x55\xa5\xe0\xd2\xca\xa2\x97\xdd\x12\x81\x94\x24\x66\x8a\xc0\x8b\x4b\xe0\x73\xa0\xfd\xb5\xde\x4d\xb2\x53\x9e\xa5\x05\x6a\x3d\xdd\xde\x17\x06\xee\x8e\x35\x0f\x80\xe4\x6e\xb2\x3f\x45\x91\x98\x49\xed\x62\x10\x7e\x6b\xf5\xf0\x74\xf0\x6f\x3d\x9f\x6c\x92\xa4\x36\x6f\x6a\x0a\xd8\xd5\xc3\xd6\xde\x0f\xa3\x53\x0e\xe4\xa6\x88\xcb\x8c\xfb\xf6\xee\x26\xf8\xcd\x5b\xed\x71\xd6\xef\xc4\x81\x71\xf2\x67\x08\x86\x75\x4d\x03\x16\x35\xdb\x8c\xcb\x7f\xc8\x44\xb4\x4c\x03\xbb\x27\x8a\xff\xe1\x4d\x7c\xfa\x4c\x59\xc7\x1a\x4f\xae\x73\x54\x9c\xa2\x12\xdc\x1c\x4d\xf2\xa2\x2f\x04\x4a\x19\x1d\x3a\x44\x63\x3b\xa7\xdb\x94\x8e\x26\xf4\x5f\x3c\xff\xbe\xf0\x93\x81\x58\xa8\x7e\xbb\x26\x4c\xf8\x8b\x3c\xec\xdc\x6c\x7b\x68\xc2\x24\x5c\x81\xe0\xf5\xb9\xdb\xf6\xf0\x73\x63\xf8\x59\xaf\xf0\x0b\x63\xf8\x65\xaf\xf0\x2b\x1a\xde\x50\xc3\x2e\xd2\xb6\x6d\x7d\x77\x6c\x1b\x75\xf1\xef\xdb\x1e\x0b\xde\x1e\xa1\xd2\x87\xca\x8e\xd9\xee\x14\xdf\xb4\xf1\xb4\x4b\x5d\xd7\xce\xd3\xf6\x26\xfd\xd4\x5b\x4f\xf5\x8d\xa6\xbd\x36\xd3\x8f\x27\x84\x71\xe6\x82\x77\xec\x27\xdd\x62\x70\x37\xd9\x95\xff\x77\xb6\x10\xb7\x61\x67\xda\x1f\x6b\xb8\x92\x60\xd6\xba\x5f\xb6\x47\x44\x77\x93\x07\x94\x17\x61\x9a\xe8\xd3\xc0\xd6\xe3\xe8\xfd\xa2\xa0\x03\x60\xc3\x68\xc8\xfd\x8c\xb4\x77\x6e\xf6\xa5\x59\x50\x08\xe4\x5e\xcd\x89\xef\xf8\x55\x4a\xa2\x6f\xf3\xf9\x37\x6d\xe0\x74\x5a\x77\x6f\x0e\x4a\x4e\xcb\x4c\x8e\x2b\x2a\xce\x49\xe9\x57\xa2\x11\x05\x05\xee\x26\xa8\xf2\xe3\x2c\x42\x62\x7f\xd8\xcc\x36\x85\xcb\x4e\xe0\xca\x05\x2d\x37\xf3\x0d\xa2\x86\xe8\xb2\xc8\x0f\x95\x13\x16\x94\x1a\x6d\x3f\xd6\xc3\xc8\x6b\x4a\x8e\xd6\xe5\xb1\x8f\x50\xb5\xf9\x78\x2a\xca\x70\x7f\xe6\xaf\x94\x70\x02\x95\xb0\xa9\x16\xb6\x22\x45\xcd\xa9\x46\xa8\xb2\x82\x30\xa7\xd6\x64\xbd\x4b\xa3\x53\x9c\x6c\x28\x27\xc3\xcf\x6f\x28\x47\x1c\x38\x65\x7e\x91\x24\x4c\x4f\x9a\x90\xde\xca\x33\x93\xf5\x42\x43\xd2\x6e\x47\xba\x4e\xb8\x39\x44\x41\x58\xa6\xd8\x80\xfb\xc9\x83\x5f\xb4\x3c\xa5\x21\x71\xff\xf8\x6f\xb2\xf0\xb2\x72\xc4\x56\xfc\xc7\xa4\x07\xca\x4a\xd9\xb5\xc9\x12\x5b\xaf\xd1\xa9\x67\xe5\x0a\x77\x59\xfe\x2e\x8c\x0f\xf5\x1a\x8f\xb0\x2d\xbd\x39\x22\xa9\xc8\x4f\x4e\x79\xa4\xf4\xe6\xe6\x03\x5b\x6c\x9a\x50\x14\x29\x01\xdd\x94\x36\x5a\x4f\x3d\xe5\x2e\x7a\x68\xbb\xb1\xd8\x7d\xb4\x2e\x17\x00\x6b\x30\x2d\x57\x9e\xd1\x9b\x64\x5a\x3a\x27\x33\xac\x53\xa1\xce\x03\x71\xa6\xc2\x1d\xca\xad\x31\xb0\xee\xef\x69\xe6\x08\xe2\xfb\x7c\xca\x41\x35\xd7\xed\xca\x2b\x49\x09\x6c\x94\xf4\x5e\x5e\xdf\xaa\x6c\xc3\x83\x01\xd1\x4d\x39\x98\xe5\x36\x6f\x1f\x41\x77\xfa\x89\x5d\xab\xb6\x75\xa5\x2b\xaa\x3e\x67\x0c\x3b\x47\x2f\xbd\x33\xa9\x8d\x78\x9e\xa0\x40\xf5\x7b\xd7\x84\x67\xa0\xe8\xee\x1e\xb9\x62\x43\x07\xc9\x4d\x87\xf5\x5c\x71\xe1\x5c\x34\x03\xc6\x93\xff\xe6\xdb\x23\xfa\x9c\xc2\x84\x4f\x5d\xea\x67\x35\xf9\xc9\x96\x3f\xd8\x45\x67\x3d\x4b\x9d\xcf\x00\xa4\xd7\x84\xf9\x95\x0a\xc6\xdb\x01\x7a\xa9\x1e\x4d\xc8\x06\x04\xdd\x1c\x81\x63\x1a\xe1\xaa\x15\xe9\x48\xb9\xd3\x7f\xcc\x4e\x23\xbc\x9b\xe0\x7e\xa2\x67\xac\xf0\xa5\x39\x3d\xe3\xbb\x6b\xdb\x27\x22\x74\x17\xf3\xee\x83\xbf\xbd\x9b\xad\x5a\xff\xba\xae\x73\xfb\xb7\x37\x49\x57\x1e\xb7\x18\x37\x14\x3c\x79\xfb\x7c\xba\x9a\x6b\x6e\xd3\x7d\x29\x21\xd3\x2d\x71\x4b\x5c\xf2\x7c\x3c\x6d\xed\xd2\xec\x6c\xc5\xe9\x83\x78\x8e\x8c\x45\xdb\xd0\x5e\xb5\x74\x14\xee\xd1\xee\xbc\x8b\x90\x15\xe4\xfe\x1e\xf6\x89\xc2\x87\xa7\x3d\x79\xf0\x6f\x33\x3c\x2d\x67\xdc\x03\x54\xec\x0c\x13\x3d\xd2\xff\x77\xe3\x07\xb4\x1e\x69\x28\x3d\xa4\x04\xba\xca\x5c\xbe\xfe\xea\xf6\x8b\x44\x6f\xba\x2f\x74\x58\x56\xe4\x81\x11\x59\xcc\x1d\x12\x5c\x99\xc5\xde\x56\x34\xa2\x3a\x69\x4a\x0f\x9c\x33\x84\x27\x77\xea\x28\x11\x9a\x98\x0f\x4c\x47\x07\x03\xc0\xa6\x02\xc3\x94\x7e\xce\x05\x92\xe4\x29\xd7\x3e\xd1\xb5\x9c\x70\xa5\xe3\x5e\x71\xd5\x7b\x88\xc2\x11\x07\x65\x3c\x34\x18\x2e\xd3\x61\x81\x94\x7a\x25\x1d\x46\x63\x93\xf7\x06\xd6\x5a\x31\x23\xc6\x47\xd8\x85\x9d\xf8\x94\x4e\xae\xa8\x4b\xd5\x2e\xb8\x5a\xd2\x53\x3f\xaa\x76\x28\xcf\xca\xae\x0b\x3f\xc4\xbb\xd6\xe4\x7a\xd8\xdb\x78\xeb\xfd\xf3\x2d\xd7\x68\x09\xef\xf9\x49\xd7\x33\x36\xf4\x00\xa3\x8a\xfa\x5a\x27\x11\xb6\xa5\x4c\xc2\xc8\x6d\x23\xcb\xd3\x92\x99\x7a\x9c\x12\x14\x8c\x41\x3f\x7e\x56\x05\xf2\x3b\x25\x5a\x48\xb6\xe3\x51\x28\x9e\x32\xdd\xfd\xf1\x3a\x3a\x53\x71\xf3\x9b\x75\x0c\x85\x0e\x4f\x58\x4d\xca\x2e\x7a\xe1\xbe\x7a\xf5\xe2\xa5\xe3\x75\xc5\x5f\x5f\xef\xaf\x4a\x3f\x61\x99\x3d\x51\xfd\xd5\xaa\x69\x7b\xfd\x1b\x78\x59\xb7\xab\x5e\xd6\x2d\xda\x46\x76\x1e\x51\xc8\x66\xe9\x1f\x2e\x86\x1b\x97\x9b\x8b\x16\xda\xe0\xd4\x8a\x5f\x03\xb5\x4d\x82\x43\x2b\x17\x22\xe7\x36\xcd\x3a\xfb\xd4\x13\x43\x42\xfa\xd7\x14\x20\x12\xbe\xd8\xdd\x85\x87\xfa\x2c\x55\x57\x11\x74\x5f\xda\x04\xe8\xb8\xc0\x35\x49\xb8\xf4\x72\x68\x5d\xe1\x33\x28\x7a\x33\xd4\xb4\xa5\x2a\xe1\x44\x8b\xd1\xf7\xa1\xae\xa5\xe0\xdb\xc4\x7f\x50\x88\x26\x69\x3e\xd8\x98\xc7\x32\x3f\xed\xca\x53\x5e\x77\x81\xa0\xe7\xdd\x24\xf3\x0f\x88\xdf\xd8\x2c\xf6\x55\xb2\x09\x87\x03\xb0\x1f\xc9\x29\xde\xaa\x57\x98\x40\x2f\xc4\xfb\xf8\xaf\x4e\x2c\xe9\x2c\x47\x42\x96\x29\x06\xc2\x0d\x98\x6b\x7b\xe4\xb0\x87\xc6\x47\xb6\x76\x58\xa2\xdf\xec\xbd\x6f\x1e\xc8\x7b\xda\x56\x86\x12\xb2\xb2\x6e\xaa\x86\x3d\x54\xc8\xe7\x95\x34\xc3\xdd\xaa\x01\xa2\x0a\xd4\x27\x57\xe0\xa1\x2e\x39\x68\x32\xd2\xae\xc1\x00\xa3\x6d\x9a\x1e\x70\xad\xc5\xc0\x10\xc7\x61\x21\xf2\xc1\x71\xe4\x03\xe2\x10\xaf\xbc\x18\x18\x62\x60\x1c\x43\xf2\x71\xf3\x3d\x18\x43\x0b\x4f\xbe\xa0\x62\x68\xb1\xdc\x12\xda\x74\x39\xc6\x50\x28\x3b\xee\xc8\xa0\x03\x3d\xb6\xba\x36\xae\x7f\xd3\x25\xbc\xc7\xb0\xdc\x1d\xb1\xf3\x43\x5a\x22\x78\x59\xa6\x2f\x94\x37\xdc\xb6\x31\x54\xf1\x53\x5c\xba\xd1\x31\x02\x1e\x3c\xda\xd2\x89\x91\x86\xc9\xdb\x40\xbb\x33\xfc\xb2\xf4\x77\x47\x3a\x37\x12\xd8\x1a\x7f\xac\x7b\x9f\xb2\x28\xf5\x83\x7a\x2e\x65\xed\xc3\x08\xfd\x01\x69\xf0\x76\x48\xe9\x8e\x2b\x94\x5f\xf0\xf4\xbc\x86\xa9\xb9\x73\x1b\xea\x60\xdb\xf4\xdc\x4d\xca\x74\xc7\xaf\x7b\x2d\x2e\xe6\xdb\xc1\x6f\x53\x78\x37\x09\xc2\x02\x57\xbc\x80\x6f\xdc\x4e\x52\xac\x37\x4a\x1f\x51\xd0\xbf\x22\x75\x29\xd7\xe8\x0c\x65\x71\xb0\x4b\x3b\x39\xe7\xa7\xee\xcf\x55\x89\x67\x75\x9b\x3b\xdf\xcd\x64\x55\xea\x7e\xa6\x21\x11\x8e\x28\x2d\xce\xa3\x25\xaf\xee\x1b\x5e\x6e\xd9\x3c\xa6\x79\x60\x3d\xe6\x7e\xb6\xde\xe6\xc8\xbf\xb7\xf0\x6f\xe8\x0c\xa6\xb2\xcf\x6a\x78\x72\xe4\xfb\x76\xd9\x9e\x3d\x8d\x9a\xb8\x4d\x6b\xc7\x6c\x72\x90\xae\xbb\x09\x1d\xef\x09\xe3\x24\x60\xa9\xbc\xdf\x5d\xc0\x0a\x33\xd7\x3b\x1d\xc6\x5b\xfc\x95\x3d\x0a\xf8\x5f\x99\x08\xa2\xe3\x24\xd3\x6e\x86\xba\x4a\x4c\xed\x7a\x2b\x18\xdb\xb8\x41\xae\x6a\x47\xb9\x15\xa7\x81\x1f\x09\x77\xaa\x48\x3b\x2f\xea\xea\x79\x5e\xd3\xdd\x09\xed\x81\xd9\xea\x97\xfa\xa4\x41\x7d\xea\x4d\x38\xe1\x4e\xef\x81\x27\x04\x39\x4d\xb2\xb4\x47\xb4\xd9\xbd\xdc\x6d\x7c\xfb\xf5\x06\x02\x61\xd6\x57\xb3\x72\x01\x4e\xdf\xde\xe0\x4e\xb8\x50\xc7\x78\x69\x0e\xd8\xef\x28\xfb\x74\xf4\x7d\x98\x70\x47\x75\x91\x8e\xe6\x4c\xc5\x77\x1b\x46\xf5\xe3\x5f\xda\xb4\x0c\xdc\x5c\x29\xce\xfb\xe6\xc2\xda\x15\x33\x81\xad\xbd\x65\x57\x41\x74\x3e\xea\xe2\xb4\xbd\xf4\xa6\x35\x33\x70\x7f\x1d\x39\x41\x13\x96\x67\xe0\x22\x2b\xc8\xab\x5e\x90\xf9\xe3\xf5\xe0\xad\x50\xb7\x6c\x49\x33\x04\x99\x04\x28\x42\xa6\xf7\x21\x1f\xc2\x22\xdc\x86\x51\x58\x9e\x6b\x63\xdf\xa2\x8b\x6f\xf7\x63\x1a\x85\xc0\xe4\x33\x42\x4a\x59\x88\x94\xb5\xe2\x35\x02\x6e\x43\x5c\xb6\x4c\x0a\xeb\x6b\x71\xbb\xcb\x5e\x6c\x14\x9e\xfc\x96\x89\xb8\x4a\x66\xac\x1a\x5d\xb5\x59\xed\xd8\xa5\x19\x90\x2d\x1d\x29\x83\x7a\x57\xd3\xc6\x7a\x43\x2d\xf5\x8b\xa3\x69\x75\x65\x95\x55\x1b\xd2\x5e\x2d\xc3\x1b\x40\x6c\xe1\x99\xaf\xfa\x0b\x2b\xd7\x5a\x79\xc8\xb1\x92\x04\x1b\x1e\xb0\xe7\x63\x46\xf5\xee\xf0\xf6\x56\xd6\x81\x29\x70\x7d\x02\x4c\x81\x94\x69\x66\x91\x7e\x95\xec\x37\xe4\x1b\x21\xc8\xc0\x00\xd7\x41\xf2\x64\x0e\x24\xc3\x6f\x8e\x37\x6e\xf1\xfb\x83\x9a\x81\x36\x50\xc9\xe0\xa2\xfd\xc4\x8c\x70\x1d\x3c\x70\x1f\xda\xc4\xeb\x57\x7a\x77\xf4\x26\x86\xd6\x1d\xb7\xe2\x75\x13\x06\xad\x56\x19\xc6\x08\x17\xe6\x45\xec\x6c\x3c\x6d\xa3\x84\x54\xc3\x84\x69\x09\x75\x10\xb6\xfa\xc3\x5b\x35\xd5\x67\x7e\x06\xdf\xc4\x5d\xb3\x9a\x5e\xfb\x26\x53\xe5\x2a\xb9\xc7\x73\x11\x3e\x9e\x0f\xa3\x2c\x47\xe3\xfa\x07\x3f\xd5\xdb\xf2\xb6\x8f\x29\x2b\xda\x48\x0e\x8f\x05\x38\x33\x20\xc5\xbd\x91\xc6\x7a\x9e\xbc\x71\x96\x5e\x84\x21\xec\x4a\x09\xd2\xb2\x44\xd0\xb6\x14\x85\x1c\x96\xb6\xcc\x2a\xf9\x09\x80\x1c\x8a\xef\xd8\x2c\xb2\x4a\x7a\x9f\x4f\x94\xd5\x82\x42\xca\x4c\xbb\x68\xa4\x91\x14\x03\x83\xf0\x14\xb1\xb2\x7e\xa9\x9d\x22\x9a\xeb\x57\xeb\x36\x0a\xe4\xbb\x14\x6b\x3a\x5a\x14\xf1\x77\xf7\xed\x6d\x6d\xae\x9f\x4e\x63\xd9\x12\xc3\x2d\x94\xd7\x95\x5d\x61\x13\x05\x7d\x5f\x50\x01\x67\x54\x9f\xde\x14\x5f\x30\x02\x1e\x3a\x6a\x82\xa6\x51\x83\xe8\x29\x32\x9c\x7c\xa3\x23\x44\xb2\x03\x4d\x4a\x8f\x2d\x16\x77\x1a\x8d\xa2\xf0\xa2\x0e\x18\x03\xb4\x0b\x63\x3f\x6a\x09\x77\x82\xc3\x85\xc5\xae\x25\xd0\xd1\x69\x92\x7d\x74\x85\xef\xa9\xf0\x3d\x13\xbe\x3d\xe1\x7b\xae\xbe\x85\xd5\x4e\x27\x37\x71\x2a\xd7\xde\x08\x5e\xae\x36\x3a\x11\x3c\xa7\x92\xe7\x5c\xf6\x9c\x69\xaf\xc1\x09\x9e\x1e\xf0\x10\xb8\x9a\x0d\xe9\x21\x06\xc1\xb0\x5c\xa4\xc7\x1c\xcc\x5b\xcd\xcc\x0d\x78\xb2\x4b\x03\x64\xc5\x61\x9e\xa7\xc0\x49\x28\x6d\x40\x23\x32\x77\x8a\x5a\xc1\xe4\xf1\x0f\xf6\x3c\x1b\x10\x46\x7b\x64\x6d\x43\xf6\xff\x5a\x3b\x14\x45\xc5\xba\x38\xa6\x8f\x82\xc9\xc2\x03\xb4\xd6\x07\xbc\x4c\x31\x8f\x26\xfb\xdc\xc2\x43\x26\x14\xb0\xd7\xc2\x0a\xc9\xbc\xf4\x90\xae\xaf\x5d\xa0\x23\x3c\xea\xdd\x1a\x9f\x1f\x95\x28\x4f\xc8\x82\x49\xfa\x58\xd4\x37\x3d\xac\x93\xf2\x48\xd9\xd1\x2f\xdd\xe4\xf9\x45\x37\xb3\x46\xa5\x2d\x29\x06\x2d\xe3\x7e\xba\xf7\xf6\xcb\x4d\x0f\xfb\xab\x45\xb4\x26\xa5\xd0\x12\x1d\x15\xb8\x80\xed\x55\xd3\x86\xd1\x38\x86\x87\x23\x79\x19\x1f\xb5\xe5\x42\x91\xbc\x48\xdd\xd3\x09\xcb\xe4\x2d\xa8\xd3\x98\xca\x63\xb8\xbb\xef\x88\x83\xc8\xf0\x12\x65\xd7\x75\xb5\x65\xe1\x28\x97\xd3\x62\x3f\xdf\xcf\xaf\x93\xc8\x3f\xa7\xa7\xd2\xda\xa7\x29\x61\xed\xd9\x4f\xc6\xa4\xee\x23\x54\x11\x63\x4a\x9e\xee\x16\x67\x18\x4c\x0e\xd7\x07\xf9\x20\x0d\x09\xe2\xf0\x20\xf0\x61\x99\x7a\x10\x42\x4c\x00\x53\xc5\x38\x18\x91\x30\x91\xfc\x19\xeb\x74\xa1\x68\x5a\x4e\xf7\xd2\x25\xb1\x30\x34\x63\xbc\x9f\x20\x97\x28\x91\xff\xd8\xfc\x81\x02\xbb\xbe\xcc\x6c\xb9\x5c\x36\x23\x26\x32\x18\x2e\xca\x70\x77\x7f\x16\x1d\x0b\xdd\x2d\xd5\x9d\xd8\x78\x5b\x75\xa7\xbf\x5b\x0e\xeb\x8a\xa8\x2a\xd0\xe5\xe9\xa3\x06\x45\x5d\x3c\xae\x70\xe4\x88\x7e\xb3\x4a\xbd\xf3\xa3\xdd\x97\x8e\x6d\x3f\x1c\x47\xd6\x88\x5c\x36\xf9\xfc\x3f\x91\xc5\x8d\x56\x7a\xbc\x74\x59\x92\x9d\xd1\x42\x3a\xf3\x44\x57\xb2\x9b\x35\x8e\xc6\x5e\x9a\x4f\x08\xbb\x9f\x09\xda\xd4\x16\xb7\x8a\x93\xd6\x6f\x4a\xac\x63\xdb\xf0\xe3\x19\x24\xd9\x58\x17\x4d\xbd\x60\xe4\xbb\xce\x45\xdf\x9a\xea\x99\x2d\xbe\x66\x7a\x63\xaa\xed\x41\x49\x9e\x7f\x6e\x92\x3d\x21\xc9\x5e\x7b\x92\xdd\x81\x40\xbb\x9d\x07\xc8\x6f\x4d\xb5\x78\x8c\xcf\xeb\x00\x7a\xda\x91\xea\x99\x92\xea\xa9\x92\xea\xe6\x24\xe0\x62\x8e\x13\xcd\x8c\x16\xb4\x01\x9f\xd8\x2c\xc2\x5a\x5f\xff\x56\x9c\x32\xdc\x0d\x16\xa3\x2f\x71\xab\x0d\x63\xc4\x28\x06\xec\xdd\xe4\x9c\x99\x76\x93\x4e\xa1\x2f\xbd\xfe\x89\xd1\x0b\xd0\x5b\xa3\x35\x3f\x01\x4c\xf7\xd8\x5e\x7d\x61\xfe\xa8\x34\x6c\x65\x42\x5d\xb3\xf1\xe4\x69\x46\x89\xd2\x80\x36\x80\xb7\x88\x33\x5a\x4b\xe5\xad\xda\xce\xda\x52\xb2\x4d\x79\x9b\x5b\x9b\xfd\xa8\x74\x02\x78\x18\x1a\xa0\xc0\xd4\x8b\x84\x0c\x84\x8d\x70\xc9\xe5\x54\x78\x13\xdd\x33\xe5\xb0\x3f\x0f\xd4\x45\x47\x89\x1b\x95\xc1\x35\xfa\xbb\x50\x50\x7f\xf4\xe3\xed\x29\x3f\xa0\xfc\x8f\x47\x22\x75\xc3\xd4\x3c\x8b\x68\x02\x4b\xa6\x9c\x83\x15\xfe\x33\x95\xd9\x80\x37\x89\xe4\x03\x85\xc0\xd4\x96\x9f\xf7\x06\x9a\x97\x21\x56\xed\x04\x00\x18\x94\xcf\xf5\x85\x16\xb3\x91\xae\x2f\x51\x25\xf9\x07\x59\x1c\xb6\x0e\x3e\x9f\x90\x37\x04\xd5\x15\xaa\x0c\x83\x8f\x2a\x19\x6d\x86\x3e\xe4\xaf\xdf\xad\xd5\xa2\xbd\x0b\x75\x4e\x5d\x9a\x72\xd3\x56\xda\xd8\x9e\x69\xc3\x3f\xb0\x57\x5d\x95\xb3\x1a\x0a\x37\x5b\x9c\xb6\x50\xbc\xdd\x4f\xec\x1a\x82\xdc\x85\x17\xf5\x4d\x0d\xd6\xcd\x48\x63\xd4\xba\x1d\x16\xbb\x3c\x8d\x22\xc9\x13\x58\x4b\xd7\x96\x2f\x79\x70\x62\x8e\xe0\xfd\x2a\x1b\x61\x11\xae\x65\x00\x2a\x6b\x12\xc2\x80\x03\x4a\xd7\x9e\xe1\x01\x65\x77\x0a\xdb\x86\x6f\xc6\x28\x5b\x87\x4f\x60\x28\xb7\x6b\x04\x33\x2c\xd4\xb2\x3b\x14\x6c\x41\x2f\xfd\x8e\xb0\x49\xd6\x40\x3c\x0b\x4b\x3b\x3a\x83\x71\xd6\xae\x32\x56\xde\xe8\xed\x7a\x6e\x06\xd6\x6a\x78\xe2\x0b\x14\x9e\x04\xe1\x43\x28\x6d\x44\x25\xc5\xc5\x06\x18\xc6\xdc\x9a\x77\x21\x78\xfa\xb6\x70\x09\x1a\xd2\x46\x98\x7a\x69\xb2\xa9\xed\xe6\xa0\x42\x23\x7f\x5c\x7f\xf1\xbe\xe0\x8f\xd6\x7f\x75\x51\xf7\x32\x5a\xf0\xc5\xfc\x75\x1e\x59\x3f\xa7\xe6\x99\xbb\x57\x41\x91\xee\xcb\xff\x1d\xf8\x25\x2a\xc3\x18\x65\xe1\xee\x1e\xe5\x23\xee\x1c\xf9\x5b\x14\x31\x7b\x55\x64\x7e\xa2\xbd\x02\x20\x3c\x23\x40\x63\x20\xa4\xf4\x21\x47\x45\x01\x2f\xa3\x09\x3b\xa4\x58\xb7\xa3\x86\x23\x17\x40\xe8\xf7\xfd\x6d\x04\x2e\xa6\x9e\xce\xe2\xb6\xa0\x86\xb7\x02\xb2\x1e\x62\x38\x3a\x25\x0e\x44\x5b\x2f\x45\x16\xc6\xa2\x4a\x94\x4a\x17\x66\x48\x45\x92\x96\xe1\x3e\xdc\x11\x98\x3a\xef\x98\x17\x4e\x3b\xb0\x64\x2a\x6d\xe0\x3a\x09\x3e\x59\x28\xcf\xd3\xdc\x8a\xfd\xfc\x7e\x8c\x7f\xb2\xbb\xe3\x98\xc3\xe1\x64\x1d\xc3\x00\x19\xf7\x5f\xf0\x7d\x2c\x74\x89\x85\xdd\x93\x82\x72\x4e\xe7\x98\xef\xc9\xd1\x56\x14\x48\x72\x4c\xea\x30\xa6\xf5\xf3\x4b\x32\xf1\xde\xf1\xd0\xad\x59\xa7\xb8\xba\x5d\xdb\x43\x83\xda\x76\x2d\x77\x51\x08\x4d\x22\x5a\xb6\x8a\xac\x8b\xff\x3e\xf9\x39\x32\xab\x15\xc6\x45\xfc\x92\x78\x92\x99\xc3\x89\xb3\xcd\xf5\xb4\x6a\x1f\x56\xe2\xf6\x3d\x80\xe0\xad\xf9\xa6\xd5\x6a\x25\xbc\x92\x24\xbe\x83\x81\x0d\x0c\x7b\x59\xe1\x59\xf7\xd3\x0a\x2f\xa2\xec\xe8\x7f\xf9\x77\x1a\xfc\xaf\x4b\xfb\xf9\x33\xfe\x2c\x83\x4f\x7c\xd2\xc6\xc7\x70\x14\xf5\x70\xb2\x4e\x09\x1d\x69\x12\x92\x9b\xdb\x4a\x72\x71\x2a\x75\x57\xaf\xe9\x25\x76\xb2\xd5\xbf\x68\xf3\x36\x7b\x5d\x27\xa4\xf9\xd0\xdd\x6b\xc5\x48\xfa\x45\x58\xe8\xda\x9e\x25\x29\x55\x60\x4c\x2e\x9c\x48\x30\x69\x04\x03\x66\x92\x2f\x75\x49\xb8\x9f\x55\x12\xae\xb1\x24\x5c\xfb\xf9\x15\xb6\xca\xf2\x75\x3c\x1e\xdb\x77\x3e\xb2\xf0\x7f\xc8\x6d\xfc\xf6\x18\xff\x4d\x3c\x7b\xfe\x5c\x5e\xde\x24\xd7\xf8\x8b\x57\x27\x0b\x43\xea\xed\x76\x2b\x1f\x7e\x69\xbc\x76\xbb\x5d\x6d\xeb\xe8\x2e\x24\xd0\x8f\x6c\xca\x90\x7d\xb8\x2d\x9b\x4e\xa5\x47\x5d\x9e\x7d\x8b\xa2\x07\x84\x47\xd5\xa3\x77\xe8\x84\x9e\x8d\xeb\xdf\x63\xf2\xde\xcb\xb8\xf0\x93\xc2\x2a\x50\x1e\xee\xa5\xc3\x62\x4b\xf6\x3f\x1b\x38\x8b\x2f\xb6\x18\x5a\xa8\x04\xa6\xf0\x13\x0e\x5c\xe7\xba\xda\xc0\xae\xf2\x0d\xfc\x20\xec\xdc\x35\x2f\x9b\xd1\x37\x7d\xde\x83\x25\xcb\x10\x6e\x14\x92\xdb\xc2\x81\x5d\x2c\x04\x67\x7b\x43\xf7\x22\x33\x2a\x53\xd8\x34\xe8\x2a\xaf\x31\xac\x6d\xc2\x48\xd7\x6b\x4b\xa6\xf8\xd8\xc5\x40\x86\x3d\xe7\xa6\x86\x51\xa6\xa7\xdd\xd1\xda\xf9\x51\x94\x9e\x78\x23\xb8\x3f\x96\x71\x04\x34\x8e\x54\x77\xd3\x1b\x8b\x12\xd1\x7a\x4d\xff\x95\xef\x47\x5a\x93\x55\x66\x4d\x94\xd2\xce\x5d\xf2\x70\xf9\xd0\xbe\xd5\xb0\x79\xa7\xe1\xa0\xfd\x32\xdc\x89\xb7\x27\xb7\x21\xfa\x5f\x97\xc1\x15\x0a\xba\xa8\xb8\x7d\x8c\x85\x9d\xa9\x53\xd7\x68\x4c\x30\x05\x3d\xea\x2d\x10\xc1\x84\xde\xb7\xdd\x3f\x1e\x16\x40\xbd\xe1\xb1\x6f\x7c\xec\x26\x4e\xd7\x9d\xd5\x5c\x83\xf0\x5e\x3f\xb5\x37\xe6\x06\x24\x34\x3c\x48\xb7\xc0\x5d\xc8\x7b\x25\x97\xca\xce\x99\xae\x8a\x53\x1c\xd3\xc7\x47\x84\xee\x8b\x96\x1c\x78\x73\x73\x3b\x07\x8a\x87\x31\xb6\x4b\x39\xdb\xc6\xdb\xc6\x38\x10\xe2\x6e\xa2\xae\x54\x8b\xa8\x08\x31\x7f\x36\x2a\xe6\x6a\xf3\x67\x20\x3a\xe5\x25\x4f\x65\x20\xd4\x8d\x59\x9c\x26\xe5\x91\xe9\xd2\x29\x6d\xe0\x38\x45\x8f\xf9\xca\x28\xec\xaa\xe0\x09\xaa\xca\x2e\x99\x2c\x47\x0f\x9d\x0d\x25\x0d\xfc\xf3\xff\xe6\x76\x17\x7a\x6d\x29\xf0\x4b\x7f\x4d\x7e\xfe\x25\x4b\x0e\x9b\xad\x5f\xa0\xf9\x6c\x1c\xfe\xf2\xd5\xdf\xdf\x3f\xda\xff\xf3\xf5\x21\x7d\xf1\xe2\xc5\x8b\x77\x3f\xfe\x7c\xfc\xe6\xe7\xc3\x8b\x17\x2f\x5e\xff\x80\x7f\xa3\xaf\x5f\xfc\xf6\xe2\xc5\x8b\x97\xfe\xaf\x8b\x87\x4f\xd8\xe1\xf5\x3f\xdf\xbf\xfa\xf5\xdb\xf7\x3f\x6d\xdd\x0f\x76\xe0\xbe\x3a\x7f\xf8\xe1\xab\xaf\x3e\xbc\x5e\x85\x1f\x7e\xfc\xea\xbb\xed\xaf\xaf\x92\x0f\xbf\x7c\x17\xfd\xf6\xeb\x7b\x6f\xb7\x8b\xa2\x7f\xe0\x00\xe7\xef\xb2\x5f\x5e\x1d\xed\x5f\xbf\x71\xde\xfe\x3d\x7e\xf7\xb0\xfd\xd1\x3b\x52\x79\x6f\xb6\xfd\xe7\x0b\xfa\x7f\x2f\x1f\xff\x82\xbe\xfd\xea\xf8\x9b\x5b\x46\xc1\xd7\x5f\x85\x1f\x7e\x0d\xb2\xed\x47\x3b\x5c\x2c\x4e\x7f\x79\x13\x7e\x95\x7d\x78\x69\x87\xbf\x7c\xfa\xe5\xdd\xdb\x6f\x9c\xc7\x1f\xdc\x5f\x52\xff\xe7\xe3\x7c\x17\xff\xf2\x13\xba\xf7\x7e\xfe\x6d\x9a\xe5\xbf\x7d\x8a\xee\xdf\x7c\x5c\xfe\xf9\xcd\xcb\x6a\xf6\xf7\xe4\x58\xee\x5e\x3b\x51\xf0\xfa\x9b\x03\x7a\xed\x14\xdb\xe4\xed\x1c\xbd\xb4\xc3\xdf\x7e\x7d\xff\xf0\x5b\xfc\xf3\x1c\xff\xde\xfe\xfa\x8b\xfd\xdb\x8f\xcb\xf0\xcd\xb7\x87\x39\x7a\xed\x3c\x06\xaf\x8b\xd5\x9b\xfb\x57\xf7\x5b\xf7\xbb\xe8\xcd\xab\xe3\xbb\x9f\xbf\xfe\xea\xe5\x76\xfa\x5d\xf4\xe6\xe5\xcf\xa7\xb7\x67\xe7\xe3\xdb\x97\xdf\x54\x6f\x5e\xfe\xe6\x7e\xff\xf1\x1b\xfb\xdd\x4f\xbf\xb9\x6f\x7f\x7c\x3c\xbc\xfd\xf8\xa2\x7a\x1b\x2e\x1f\xf1\xff\xde\x85\x76\xf5\xee\x65\xea\xbc\xfb\x98\x9e\xdf\x9d\x5f\x1c\xde\x7c\xcd\xfe\xf7\x71\x76\xf8\xc7\xb7\xdf\xdd\x7f\xf8\x98\xfd\xf8\xfe\x9b\xdf\xea\xf4\xec\xe2\xf7\xf1\x3f\x7e\xfc\x2e\x0d\xbe\x7d\xff\xf8\xf7\x70\xf9\x10\x4c\x83\xe9\xf7\xc9\xee\xd3\xf7\xf1\xea\xfc\xe1\xbc\xac\xfe\xfe\xd3\xbd\xf7\xfd\xa7\x17\xe7\xef\x3f\xbd\x39\x7f\xff\xcf\xef\xee\x3f\x84\xce\x27\xf4\xab\x67\xff\xf6\xcf\x43\xb9\x4d\xde\x7e\x14\xf4\x7e\xf3\xe1\x9f\xef\x3e\xee\xe2\xe8\x31\x78\x1d\x3d\x6c\xc3\xaf\xce\x1f\x5e\xff\x36\xff\xed\xd7\xef\x1e\x82\x7f\xfe\xb0\x7a\x13\xbe\x69\x30\x78\xed\x3c\x8a\x71\x6e\x93\xb7\x27\x86\xc9\xe9\x37\x77\x55\x7e\x3f\x3d\x1e\x77\x5f\x2f\xab\xef\x3f\xbe\x78\x78\x13\x7e\x35\xdb\xfe\x5a\x9d\x76\x9f\xb2\xd9\xf6\x9f\x5f\xbd\xfb\xe9\x27\x3b\xf4\xbf\x7d\x6f\xef\x5e\xa6\x0f\xdf\xbb\xde\xa7\xef\x63\x8a\xd5\xf7\xa4\x3c\x57\xb3\xdf\xfe\xf9\xe2\xe1\xed\x8f\xb3\xc7\xef\x5d\xa7\xfc\xfe\xdc\xc4\xb9\x9b\xbe\xff\xf1\xc3\xaf\xbf\xad\xde\xc4\x47\x3b\xf8\xf6\xc5\xfc\xfb\xf3\xea\xb4\x3b\xd7\xe5\xff\x71\xeb\xda\x0f\xe8\xf5\xab\xc7\xef\x3f\x7d\x73\x7a\xfb\xf5\xea\xd3\x2f\xdf\x46\x8f\x1f\x7e\x5c\xfd\xf8\xe1\x9f\xef\x1e\x82\x7f\x7e\xf7\x11\xd7\xa5\x0f\xe1\xdb\xf0\xcd\xb7\xc7\x72\xf7\x32\x7b\xb9\x8b\x7f\x39\x06\xaf\x57\xe7\x5f\x5e\xaf\x1e\xb6\x2f\xed\xf0\x07\x9a\xfe\xc3\xcf\xaf\x8f\x0f\xc1\xeb\xd5\x27\xff\xf5\xea\xf1\xcd\x37\xef\x7e\x7a\x17\xbe\x48\x7f\x71\xa3\xd3\x87\xd7\xab\xe9\xee\x7c\x4f\xc3\x7f\xe3\xbc\xfb\xfb\x7d\x74\xda\x4d\xdf\x1f\xb7\xf1\xbb\xe8\xc7\x9f\x7f\x58\xbd\xc1\x75\xe5\x6b\x2f\xf3\x7f\xfd\x61\xfe\x83\xfd\xee\xab\xf7\x1f\xdf\x38\xef\x3e\xbe\xb5\xdf\xda\x3f\x3f\xbe\xfd\xe9\xd5\xab\x77\x2f\xef\x67\xef\xee\x5f\xbd\x7e\xfb\xe9\xbb\x57\x3f\xdc\xff\xf0\xe9\x87\x8f\xdf\x3c\xbe\xff\xf9\x8d\xa0\xef\xfd\xc3\x6f\xd3\x5f\xca\x0f\xbf\x7a\xb6\xa0\xef\x5e\xd6\xf7\x43\xa7\xbe\x7f\x84\x2f\x96\xb8\x7c\x7e\xfa\xd9\x9e\xbf\x7f\xfd\xcb\xd9\xff\xe7\x87\xe8\xc3\x37\x1f\xce\x5b\xd7\x3e\x30\x0c\xe7\xfe\xaf\xde\xa7\xe0\xf5\xab\xd3\x6f\xee\x2f\xdf\xbd\x7f\x69\x87\x58\xfe\xfb\x38\xca\x3e\xbc\xcc\x5e\xfe\x60\xbf\x7a\xfd\xf6\xe3\xcf\xee\xdb\x9f\x7e\xf8\xf4\xfe\xa7\x17\xd5\xdb\x9f\x7f\xb6\xff\xfe\xd3\xc1\xfd\xe1\xe7\xdf\x3e\xbd\xbd\xff\xe5\xeb\xf7\x2f\xdf\x7d\xfd\xf6\xa7\xaf\x5e\xfd\x10\xbe\xa9\xf5\x7d\x78\xbd\xfa\x18\xfc\xea\x44\xdb\xe4\xbd\xa0\xef\xbd\xac\xef\x63\xa7\xbe\x07\x9c\xf6\xef\xa7\x40\x5d\xc4\x75\xf4\xeb\x15\xa9\x8f\x3f\xdf\xbf\x7f\x4d\xe5\x68\x7b\x23\xed\xef\xa7\xd9\xe1\x1f\x2f\x57\xb3\xdd\xeb\x57\x1f\x7d\xf7\x17\xfb\xcd\xeb\x5f\x4e\xb8\x9d\xef\xc2\x37\x7f\xf9\x47\xfa\xee\x9b\x7f\x78\xb3\x17\x2f\x5e\xbc\xf9\xfb\x8f\x3f\xbf\xff\xea\x97\x6f\x3f\xfa\x8b\xef\xfe\x7b\xf5\x53\xf1\xf6\xf1\x9b\xb7\xbb\x2a\xff\xf0\x72\xf6\x6b\xf6\xd5\x6f\xe8\x7f\xfe\xfc\x35\xfa\xf3\xfd\x4f\x6f\xbf\x7e\xf1\xf5\xb7\x1f\x8e\xb3\xaf\x5e\xed\xbf\xfd\xfb\x5f\xfe\x7f\xf6\xde\x7b\x49\x91\x5c\x59\x1c\xfe\xff\x3e\x05\xdf\xd9\xd8\x38\x33\x97\x06\xca\x03\xdd\x71\x36\x2e\xde\x74\xe3\x3d\xbf\xb8\x71\xa3\x8c\x0a\x0a\xca\x51\x06\xd7\xd1\xef\xfe\x45\x39\x28\xa3\x2a\xe8\x9e\x9e\xdd\xd9\x73\x7a\xd9\x99\x01\x29\x25\xa5\x52\xa9\x54\x2a\x95\x4a\x95\x4a\xad\xe6\xb2\x51\x5f\x2f\xb6\xe5\xb2\x3e\xaa\xed\x8e\xfa\x4b\xa5\xb4\x9a\x3f\xaf\x99\xf9\xa2\x37\x3e\xae\x8b\x2a\xdf\x9e\xf6\xd3\x3b\xd3\x90\x97\xa4\x9e\x23\x5f\xce\xd8\x82\x6c\x21\xf8\x60\x3d\xdb\x08\x58\xa3\xc5\xae\x4a\xca\x76\xb6\xe2\x2b\xc7\xee\x9e\xed\x55\x2a\x8d\xe7\x9d\x30\xda\xad\x27\x2a\x22\xd2\xcd\x9e\x0c\x10\x72\xcf\xd5\x4e\x8d\x0e\xbf\xe5\x8e\xed\xea\x74\xb3\x3a\x54\xc5\xda\x60\xb5\x18\x94\x57\xc7\xf4\xe4\xa5\x4d\xcf\x46\xf3\xf9\x88\xd2\x72\xb5\x21\x59\x2f\x4f\x87\x85\x29\xdf\xe0\x8d\xf1\x33\xdb\x1a\x77\xf5\x34\x8d\xce\x55\xb6\xae\xd4\x8e\xc3\x5a\xab\x5a\x47\x89\xd2\xb4\x55\x3f\xae\x06\x93\x51\x7a\x4d\x62\x08\xcb\x99\x1c\x75\xe8\x6e\x2b\xc8\xa4\x7c\xa0\xca\x95\x5e\xae\xa9\x54\x16\x87\xf2\xba\x5a\x18\x54\xb6\x83\xdc\x11\x95\x0e\xd5\x53\x95\x50\xc5\x35\x51\xa5\xaa\xd5\x29\x32\x2e\x35\x4e\x0a\xd1\x64\xe9\xc3\x4b\xab\x5c\x1e\xbd\x54\xb7\x4d\xd0\x44\x3a\x2b\xec\x34\xed\xe3\x22\x31\x1e\x74\x96\x83\x6a\x55\xaf\xf5\xc4\x5c\x67\xd5\x1c\xec\xd6\x9d\xae\x59\x43\xaa\x69\xa5\xbc\x46\x2a\x2d\xad\xd0\x29\x3d\x9f\xe8\x73\xb9\x59\x9c\x9d\xca\xe6\xf3\xb1\x3a\x5b\x31\x73\x7e\xd3\xe5\x71\x6c\xbc\x44\x9f\x67\x52\xae\xa4\xa2\xca\x68\x9b\x1b\x92\xf8\xc4\x18\x90\xc7\xf1\x1a\x7f\x99\x88\x1d\x69\x5c\x58\x19\xd4\x8a\x44\x07\x45\x35\x3d\x52\x98\xe3\xaa\x3d\xc8\xed\x24\x9d\x5f\xae\x67\xa7\x43\xa3\x3e\x12\x91\x53\x79\x53\x79\x69\x57\x3a\xab\x39\x2d\x88\x38\x93\x4f\x6b\xa6\xc4\x4d\xdb\xd8\x62\xa8\xeb\x04\xdb\x4d\x6b\xd4\xae\xd4\xac\x6e\xfb\xb3\x4d\x7f\xc3\xb5\x2b\x75\x42\x2e\x0e\xa5\x52\x35\x37\x2d\x96\x72\x33\x95\xe8\x0e\x68\x5d\xaf\x6e\x0e\x62\x99\x9a\x97\x85\xca\x91\x6d\x0f\x66\xd2\x72\xc9\x14\xc6\xcd\xba\x20\xf2\xa7\x9c\xc8\x6b\xe3\xfd\xcb\x6a\xbd\xc3\xc6\xbb\x71\x53\x1b\x76\xc6\xcf\xdd\x36\xa2\xb7\xd6\x9c\x82\x92\xc3\x71\x7a\xa8\x9e\x66\x87\x3a\xb7\x28\x52\x93\x65\xee\x85\x1b\x3c\x97\x1b\x1b\x76\xae\xb2\x2c\x5a\x12\x47\xf5\x1a\xff\x22\x29\x66\x35\x8d\x6e\x65\xf3\x58\xae\x4e\xa6\xda\xbe\x57\x96\x94\x5e\x25\xa7\xd5\xd8\x6e\xbe\x37\x38\x3e\x4f\x41\x7b\x5c\x11\x4a\xdc\xe4\x3c\x69\xaf\x4b\x58\x0f\x9c\x8b\x83\xf1\x56\xcd\x63\xbd\xf1\x94\x3d\x56\xd9\xf9\xa2\x20\x3c\x77\xb7\xc7\x46\xa9\x3d\x97\xda\x95\xde\xe0\xd0\xa3\x29\x6e\x7d\x9a\xeb\x3d\x9a\x9a\x1f\x6a\x8d\xd2\x33\x07\x18\xb2\x36\xc6\xb5\x01\x67\xaf\x73\x35\xb1\x3e\xde\x8e\xcc\x81\x54\xa9\xc4\xed\xac\xc3\xfa\xc3\x75\x97\x4f\x42\x1f\x31\xcc\x14\xad\x5d\x69\xc6\xbe\x89\x90\x10\xe6\xb0\xe8\xdb\xd3\x21\xd1\xc7\x12\x25\x81\xe3\xc4\x9b\xda\xbb\xa5\x87\xbc\xfa\x94\x48\x28\x3e\x98\xeb\x8b\xfd\x0e\x75\xe5\x56\x95\x79\xff\xb5\x8e\x8b\xcb\xfa\xad\x26\x2c\xcd\x2a\xa0\x83\xc2\xdf\x80\xbc\x89\xea\xcf\xd6\xd0\xa2\xe1\x79\x93\x1e\xbf\x74\xb7\xd4\x48\x72\x14\x45\x7f\x94\x49\x1f\x03\xfd\x88\x99\x88\x44\xbe\xff\xe3\x49\x31\x0d\x8b\xb5\x1e\x91\xc8\x4b\x00\xd7\xcd\x66\x8c\xee\x2c\xc8\x1c\x90\xbd\xc7\xf7\xe2\x5e\x1d\x75\xae\x1a\x5c\xce\xb6\x6e\xb3\xd1\xc7\x86\x2b\x99\xb7\x1d\xa7\x59\x18\x23\xda\xcf\x20\x67\x50\xf8\xad\x4a\x3c\x72\xc3\x3d\xc0\xb1\x28\x11\xdc\x54\xe5\xdf\xb5\xd9\x7c\x5f\x47\xef\xac\x21\xdc\xe7\xc0\x9e\x2c\x74\xe9\x8f\x78\xcf\xa6\x33\xd8\x42\x3c\x29\xc3\xb1\xf5\xf2\xf7\xed\x3b\x93\x5a\xb4\x92\xfe\xcf\x17\xc4\x1c\x25\x51\xc8\xb3\xb7\xb1\x26\x48\x8e\xe3\x7e\xa0\xd1\x3f\x38\x61\xff\x47\xf0\x09\xca\xf0\x8d\x8e\x90\x85\x92\xe3\x38\xcf\x42\x49\x51\x81\x83\x08\x0c\xfa\x54\x66\xac\x2f\x77\x48\x1c\x04\x3a\xe8\xcd\xa6\xc0\xcb\xb9\xe1\x1b\x10\x9f\xd0\xed\x60\x3c\x8a\x4b\x7f\xef\x9d\xcc\x16\x43\xdf\x77\x16\x68\xb1\xd5\x7d\x90\x7e\xa1\xeb\x1e\x1e\x7b\xf2\x10\xfd\x21\x71\x88\x22\xc8\xf7\x7f\xdc\xb5\x86\x87\x43\xf0\x44\xe5\x63\xc0\x6e\x1c\x39\x13\x22\x9d\xf7\xd4\xfc\xbc\x41\x40\x6e\x8c\x44\xbc\xbe\xe0\x0e\x16\xbe\xb5\xd6\xf3\x1f\x80\x73\x5a\xd8\x43\xec\xee\xd3\x59\x9f\xce\x82\xde\x55\xec\x8f\x8b\xf5\xcb\x31\x07\x47\x7d\x6d\x58\x96\x85\x98\xdb\x1d\xc9\xe4\x18\xaf\x6d\xe1\x7b\x79\xee\x19\x41\x03\xd6\xf4\xc8\x09\x84\x44\x1f\x3d\xd2\xa1\x54\xe8\xaa\xbd\x77\x46\xff\x7e\xc4\x03\x86\x24\xb7\x2f\x0e\x8e\x99\x78\x61\x7f\x57\x8d\x27\x40\x6b\x81\x0a\xb1\x8f\xd5\x67\x4f\x54\x2f\x49\xb1\xe3\xcc\x07\x3d\x2a\xec\xe3\x99\x00\xb1\x0a\x76\x14\xd7\x4f\x69\x2a\x12\x2a\x2d\x65\x7d\xb9\xc4\x2b\x0a\xf9\x0d\x40\x0e\x0c\x7e\xac\x79\xef\x17\x6b\x6a\x5a\xf0\xed\xa4\xc7\xdf\x70\x3a\xf0\xba\xf4\x6f\x68\xbe\xc0\x03\x32\x85\xf8\x1e\x33\x14\x64\x1d\xf8\xdd\x12\xa3\xd1\x34\xee\x30\x2f\xbe\x5e\xbc\x98\x83\x73\xce\xf5\x3f\x48\xae\x81\xa5\x45\x20\x73\xb4\xf6\xca\x8a\x80\xd6\x1e\x19\xc5\x58\xdf\x2a\x62\x31\x8e\xf7\x86\x56\xd8\xea\x7a\x87\xcc\xf7\x5a\x4c\xf9\x2f\x15\x41\x16\x1f\xff\x95\x8b\x7b\x6b\xe4\xec\x85\xd2\xbb\x68\x7a\x09\x57\xf1\x8e\x0a\x6e\xc9\xfe\x2b\xe8\x85\xee\x44\x16\x2b\x90\x79\x94\xc0\x7e\x8f\xbf\x74\xf9\xa1\xe5\xd9\xd9\x61\x40\x77\x55\x3e\xd5\xf8\xde\xd5\xfb\xf6\xb2\x1c\x7f\x60\x70\x9b\x40\xf7\x94\xbd\x50\x0c\xcb\x92\xef\x18\xd4\xd0\xe5\x1d\xd4\xfa\xbc\x63\x44\x03\xab\xf6\xc5\xcb\x8b\xe6\x3f\x50\x85\xef\x6a\xd3\xff\x71\x80\xa7\x4d\x31\x38\xe3\x79\x1e\x14\x39\x2c\x30\xe9\x79\x9e\x29\xe4\x51\x77\xd2\x13\xd1\x49\x7f\x87\x24\xbc\x81\x88\x24\x84\xe4\x0e\x8b\xf2\x3c\x1b\x78\x41\xf5\x37\x04\xe1\x38\x94\xfd\x6c\x2c\x5c\xa1\x77\xff\x94\xb9\x94\x74\x89\xf7\x81\x2d\x55\x58\x3d\xfc\x8b\x05\x30\xac\x6f\x6e\xf4\xa9\x0f\x90\x45\x31\xd6\x40\x73\x84\xfa\x3d\xa4\x81\xd1\xe1\x12\x58\xeb\x33\x77\xe8\xae\x24\x71\x47\xed\x03\x34\xf1\x75\x2c\x1e\xd1\x1f\xf7\x38\x79\x07\x66\x77\x6a\xfa\x77\xec\x4f\xc2\xba\x8e\x3f\x3c\x5e\x44\xeb\x09\xc4\xce\x0b\x9c\xd1\xdf\xaf\x9a\xc4\xcf\xc4\x30\x6d\x3f\xad\x93\x77\xb5\x13\x9e\x7b\xf0\xbe\xc6\xce\xc2\xe8\x15\x82\x50\x4c\xf5\x0f\xcf\xc4\x4f\x27\x43\xa8\xdf\x0e\xba\x82\xbc\x06\x9a\x60\xc0\x87\x1f\x92\x79\x25\x49\x24\xf3\x3d\x6b\x63\x78\x87\x06\xd9\x74\xb9\xa1\x62\x8b\xc5\xf7\x4e\x64\x45\x3d\xd9\x3a\x88\xc7\xdd\x2c\xcb\xfa\x7a\xe0\x53\x5c\xec\x08\x3e\x17\x05\xf2\x29\xc6\xfc\x93\xe0\x4b\x14\x69\x32\x45\x7b\x8d\x02\xf0\x9e\xb9\x71\x2d\x1f\x9c\x98\x34\x4d\x43\x6a\xb9\x18\x76\xee\x79\xef\x85\x65\xd9\x4b\x41\xe7\xb6\x82\x7d\xef\x21\x90\x12\x9a\x05\x41\x82\xf9\x37\xd6\x90\xab\xfc\xe1\xaa\x21\x9e\x55\xae\x33\xd5\xe5\xf9\x05\xcf\xc9\xea\x72\x9f\xf7\xae\x0d\xb6\x97\xea\xb7\xe4\x5d\x5b\x75\x2d\x75\x4e\x03\xce\x25\x8b\x50\x17\xe1\x14\xbb\xd1\x18\x47\x6b\xdb\x9b\x1e\x7e\x18\x49\x3e\x78\x7f\xa2\x7e\x7e\x08\x82\xc4\x1b\xd9\x08\x82\x88\xf3\xf3\xc3\x71\x3c\xd6\xcf\xcf\x97\x17\xb2\xa2\x59\x39\x57\xbe\xbf\xa3\x77\x77\x59\x10\x63\xf1\xc7\x30\xec\x93\xda\x80\x1a\x0c\x11\xda\xfa\xc4\x74\x15\xc3\x30\x9f\x94\x78\x0f\x1a\x8e\x31\x2a\x6a\x15\x8a\x57\x28\xe3\xab\xb9\x6d\xb2\xb1\x07\x2b\xc8\x10\x3f\xda\xca\x4d\xeb\x05\x12\xb0\x7a\x59\xbf\xf3\xf6\xfd\xc1\x4f\x6f\x36\x49\x93\x65\x49\x24\xb0\x86\x32\x08\x0e\x10\x24\x5e\x93\xfd\x08\x61\x62\xdd\x8a\xa0\x45\xee\x38\x28\x08\xc0\x27\x1c\x66\xc1\xf9\xfb\xcb\xf5\xe8\xcb\xf5\xe8\xcb\xf5\xe8\xe3\xae\x47\x93\xda\x71\x30\x99\x9c\x7b\xe3\x12\xd2\x41\x26\x27\xc7\x55\x48\x2c\x77\x90\x7a\x7d\x30\x6e\xd7\xba\xe3\xda\x71\x58\x9d\x96\x7b\xd5\xc5\x7d\xae\x47\x97\xfa\x6a\x37\xeb\xfb\x41\xd7\xa3\xf2\x60\x5c\x2f\x0f\xc7\x1d\x62\x68\xbb\x1e\xb5\x1c\x57\xa1\x49\xed\x3c\x98\x4c\xcb\x9d\xed\x00\xed\x8c\xeb\xb5\xee\xa4\x46\x74\xef\x73\x3d\xba\xd6\xb7\xb9\x59\xdf\xcf\x71\x3d\x52\x91\xe9\xb1\x51\x2b\x95\x4a\xad\xd2\xd5\xf5\x48\xeb\x8e\x56\x9d\x63\xad\x03\x18\x63\xb5\x4e\xe3\x9d\xd1\x8b\x86\x8e\xd1\xb9\x8c\x55\x9a\xca\xe8\xb9\x8c\x14\xd2\x03\x69\x58\x28\x1f\x8b\xa5\x02\xc8\x0f\x85\x23\x57\x2e\x56\x9e\x2b\x4a\x97\x03\xc7\x96\xb9\x3a\xd6\xc5\x36\x9d\xd7\xba\x4b\x19\x8c\x99\x97\x96\xda\xc9\x55\xe4\xee\x8b\xce\x75\xf6\xdd\x4d\xa7\x20\x22\xd2\xb0\x22\x0c\x8a\x0b\x40\xa1\xad\xe7\x4a\x69\xb5\x2c\x4d\xe4\x66\x5a\x9a\xe0\x9d\xce\x92\x6e\x2e\x2a\xeb\xb2\xdc\x9e\x54\xcf\xb3\x5e\x7d\xc9\x4d\x79\x96\x4c\x2f\xeb\x2f\x8c\x36\xab\x82\x79\xff\xc0\x1c\x5b\x3b\xed\xe5\x85\xa7\xc1\x08\x59\xd7\xca\xd3\x46\x6b\x38\xa8\xd4\x84\xa5\xd2\x1c\x1c\x0c\xb1\x31\x2a\x9f\x2a\x15\x6e\x51\x16\x0b\xab\x02\x58\x8d\xc7\xa5\x99\xf2\x3c\xe8\x0c\xcb\xc3\x32\xbb\x3c\x2e\xc4\xf5\x79\xfd\x0c\x56\xbb\x4e\x8f\x5e\x81\x9a\xa6\x57\x9a\xd3\xed\x16\x5f\xcf\x5b\x75\x45\xa9\xae\x9a\x65\xf4\x79\xdb\x6c\x35\xa7\xab\xf3\x73\x99\x28\x55\xdb\x83\x5c\x09\xdd\x94\xea\x52\x69\xb1\xde\x0e\x76\x25\x72\xdc\x2b\x1b\x0a\xab\x3d\x6b\xab\xf9\x61\x50\x2a\xac\xd8\x7a\xcb\x2c\xb5\x7a\x05\x7d\x30\x2a\xe5\xd7\x02\xb7\xef\x1f\xe8\x41\x63\x39\xa2\x4b\x8b\x66\x6f\x32\x6b\x97\xca\xeb\xd9\xec\x80\xd5\x3a\xad\x66\x71\x40\xaf\x06\xb5\xe1\x84\x18\x95\xb4\xf6\x5c\x41\x96\xcb\x17\xb4\x60\xee\xe9\x23\xd8\xcc\x8d\x5c\x4d\x2a\x1c\x37\xd3\xf2\x5c\xda\xd7\x35\xf4\x79\x2a\xe5\x4a\x6d\x14\x31\x86\x00\x9b\xcb\x1a\xdd\xdd\xd1\xed\xfd\x73\x0d\x7f\x6e\x9a\x13\x86\x7f\x46\x6b\xe9\x69\xb3\x8c\xec\x08\x24\x77\xc2\x75\x6e\x30\x3a\x2e\x88\x7a\x73\x06\x9e\xdb\x15\x53\xee\x17\x26\xa7\x2a\xb7\x6b\x2f\x81\x3c\xc6\x65\x63\x3a\x25\x37\xad\x45\xa5\xb4\xc6\x90\xfd\x38\x2f\x28\xfd\x82\xa1\xf2\x54\x0d\x13\xf9\x5a\xe7\x50\x1b\x82\xf4\x61\x3d\x45\x3b\xcd\xcd\x61\x59\xce\xf7\x6d\x97\xa3\xc6\x60\x76\x78\x5e\x3e\x57\x29\x4c\xe4\x1b\x5d\xb9\x9f\x43\x55\xa5\x5e\x2a\x51\xc8\x38\xaf\xd5\xd1\xc9\x8a\x7d\xe6\x30\x81\xc3\x9f\xab\x60\x32\x4a\x2b\x2f\xb3\x69\xa1\xca\xcf\x4a\x40\xed\xf1\x3b\x04\xa9\xac\x06\x34\x23\x14\xcf\x1b\x76\xd5\x9e\x2e\xa6\xd5\x7c\x7f\x7a\x1e\x4c\x4a\x93\x46\x69\xb0\x65\xba\xed\x71\xb9\x55\xa9\xae\x57\x87\xc5\x78\x53\x5d\x54\xa9\x39\x98\x21\x85\xe5\xf3\x3a\x5d\x22\xd4\xc5\xf6\x0c\xe4\xde\x71\x3e\x61\xf6\x4b\x76\x76\xce\xd7\x0a\xa7\xed\xb0\x23\xb7\x9a\x8d\x39\x3a\xef\x8b\x69\x54\xc2\xf6\xfd\x85\xfa\x92\xc6\x76\x1c\x53\xa8\x54\x4b\xa5\xa1\xf8\x5c\xaf\x9d\x73\xcb\xe9\xd6\x5e\xd4\xca\xed\xe1\x84\xac\x69\xdb\xf6\x6a\xb5\xfa\xd7\xbf\xe2\x5c\x8d\xa0\x8b\xf9\xfd\xe6\xe3\x98\x62\xeb\x78\x5d\xf6\x73\xf4\xd8\xd8\xa6\x80\xf5\xf9\x60\x5f\xa1\x96\x67\x96\x7c\x97\x6a\xf6\x57\x5b\xa1\x3f\x82\xd4\xcf\xb5\x48\xdf\x8b\x51\xb2\x75\xfa\xde\x5a\x92\x2d\xd5\x1f\xdd\x9a\xfd\x85\xba\xfe\xbd\x36\xd0\x8f\x76\x2d\x21\x58\x07\x64\x1f\x75\xd3\xb2\x73\x73\xb6\x5e\x4f\xd2\xde\x55\x43\xd8\xb4\x85\xe3\xf8\x07\x71\x89\x5a\xac\x50\x14\xfd\xe1\xba\x82\x64\x24\x49\x12\x5a\x63\x68\x68\x7c\x16\x86\xd0\xb6\x19\x5e\xe6\x4e\x2b\xd6\x3d\xb4\xb9\xd6\x49\xef\xc1\xff\x5d\xe2\xc5\x04\x5d\xd7\xa0\x67\xa1\x91\x0b\xc3\xb6\x75\x82\x0c\xbe\xc7\xec\x85\xf9\x24\x09\x92\x0c\x3c\xe0\x9a\x74\x07\x87\x11\x4d\x90\x59\x69\x34\x27\x00\xd9\x7b\x6b\xff\xd5\x7f\x5f\x53\x32\x75\xa0\x64\x74\x5a\xd6\x1f\xfe\x51\x56\x94\x6d\xaa\x24\x1b\xc2\xce\xa4\xff\xe1\xbf\xa8\x19\x3a\x9f\xf5\xdb\x5b\xf1\x6b\x68\xd8\x02\x56\xc8\x17\xd8\x8b\x89\xaf\xa0\x1e\x13\x22\x10\x5b\xf2\x0e\xcd\xbb\x82\x0f\xc7\xe1\x21\x3f\xf3\x5c\x81\xa3\xfd\x53\xc6\xbe\xab\x27\x0a\x32\xa0\xb5\x4b\xaf\xbe\x19\x8a\xfa\xf0\x1b\xcf\xf3\x29\xe4\xe1\x37\x9e\xe0\x0b\x3c\x9d\xca\xe3\xbf\x07\xec\x66\xde\x4d\xc8\x4b\x19\xa7\x8e\x07\x11\xf0\x46\xca\x2a\x6f\x7f\x71\x2c\x52\x0f\x76\x77\x32\xba\xa1\xa8\xdf\x10\xbb\xe2\xef\xfe\xa4\x3c\xfe\xbb\xd7\xcc\x77\x68\x1b\x1f\x41\x4f\xf9\x50\x29\x49\xff\x48\xb1\x68\x11\xaf\xe3\xb0\x82\xee\x59\xd4\xed\xa3\xa8\x4b\x7d\x29\xdd\xa0\x35\xa3\x62\x51\x4c\x37\xb4\x7f\xfd\xd3\xaa\xf5\x9f\x0f\x29\x20\x73\xfe\x34\xbb\x89\x7f\x3e\xa4\x1a\x6e\xb1\xf1\x49\x05\xff\x42\x52\xf1\xee\xdb\x30\x4e\x7e\xe4\x15\xd6\xd4\x63\x4f\x35\xe2\x8b\xa4\x74\x95\x96\xdf\x57\x2e\xf9\x00\x25\xbe\x88\xdd\xd4\x6b\x70\xf2\xde\xc7\xd1\xce\x28\x20\x0f\xbf\xd5\xeb\xf5\x4f\xe5\x68\x87\x79\x23\x4c\x5d\xaf\xd7\xdf\xc3\xd1\xc9\xe8\xc5\x71\x74\x72\xa9\x58\x8e\x4e\x2c\x96\xc4\xd1\xd1\x82\x9f\xc1\xd1\x1e\xf7\x06\x99\xba\x5e\xaf\xc3\x38\x3a\xf7\xdf\xff\xdf\x7f\xa5\xfe\x3b\x45\xcb\x82\x44\x1b\x20\xcb\xea\x7a\x2a\xb3\x36\x0c\xf5\x31\x97\xe3\x68\x19\x70\x40\xce\x4a\x20\xe7\x66\x5b\x90\x53\xa0\xe9\x82\x22\xa7\x32\x29\x3c\x4b\x65\x11\x2b\xe9\x45\x60\x81\xac\x03\x2e\x65\x47\x63\x49\x19\x6b\x90\xea\xb4\xc6\x29\xd1\x49\x4e\x65\x52\x6e\x85\x8a\x0a\x64\x5d\x31\x35\x16\x64\x15\x6d\x95\x73\xf3\xf5\x5c\xa7\x35\xfe\xaf\xd4\x7f\x5b\x35\x55\x2e\x0b\xec\x37\xf6\x7b\x0a\x43\xd0\x42\xaa\x4a\xcb\x02\x10\x53\x35\x0e\xc8\xff\x95\xfa\xef\x5c\xd6\x45\xe5\x1a\x34\xc7\x49\x10\x14\x39\xc3\x99\xae\x2b\x19\xaa\x3f\xc1\x53\xa3\x65\x78\x41\x14\x33\x92\xc2\x01\xe7\x64\x2c\x2e\xe3\xed\xd2\x6e\x56\x90\x79\x41\x16\x0c\x00\x41\x40\x30\x80\xd3\x56\x86\x55\x4c\xd9\x78\xf4\x40\x9f\x6e\x83\xbc\xfd\x8f\x57\xdd\x16\x9c\xec\x8b\xfb\x7a\x8a\x51\x4c\x99\x05\xaf\xc8\xef\x0f\x18\xf2\xfb\x03\x89\xff\xfe\x50\x40\x7e\x7f\x30\x14\x48\xcb\x86\x20\x09\xf2\x2a\xc3\x9b\xb2\x1b\xcd\xd6\x64\x04\x36\xc3\x80\xb3\x00\xb4\x6f\x59\x0c\x25\x1f\xb2\x14\xfa\x90\xc5\x49\xf2\x01\xfd\xfe\xf4\xd1\x72\x81\x38\x45\x16\x43\x3a\x37\x18\x44\xda\x00\xcb\x6f\xc8\xf7\xa7\x98\xf4\x37\x02\xf9\xfd\x81\xc0\x7f\x7f\x37\xde\x79\x92\x7c\xc8\x22\xe4\x43\xb6\x60\x7f\xa1\xee\xc7\x3c\x5a\x32\x01\x77\x9c\xfb\x86\x3c\x64\x70\x44\x3d\x3e\xc0\x3b\x11\x00\x78\xcb\x23\xbf\x78\x4f\x50\xf2\x46\x4f\x5c\x80\xb7\xa2\xaf\x27\xb1\xc0\xc4\x8d\xca\x9c\xfc\xb7\xb7\xff\xf9\x62\xdc\x2f\xc6\xfd\x3b\x32\x6e\xd6\x65\xd7\x28\x69\x64\x5a\xb2\xc4\xbf\x95\xfb\x04\x4f\x8d\x20\x91\x51\x34\x61\x25\x78\xbe\x1d\xee\x52\xff\x94\x9c\x0d\x93\xfd\xbc\x48\xeb\x6b\x6b\x06\x91\xce\xcc\xb9\x7a\xd7\x63\xe4\xef\x0f\x79\xf2\xf7\x4b\x0a\x12\x98\x7a\xef\x2a\x97\x75\xa0\x63\x3a\x6e\x67\x86\xfb\x6d\x27\xc2\x10\x56\x4d\x51\xb7\xa7\xbc\x6f\x9a\x5f\x49\xaf\xb3\xb4\x08\xe6\xdf\x50\xff\x70\x5c\xd2\xde\x48\xe8\x70\xda\xf9\x38\xf7\x0d\xb5\xb8\xe8\xf2\x57\xa4\x86\x28\x44\x80\x20\xbf\x14\x5e\x59\x07\x9b\x18\x82\xdb\x99\x61\x82\xdb\x89\x30\x82\x6b\x26\xc3\x00\xad\x4c\xcb\xdc\x07\x7b\x87\xdf\xe8\x1d\x46\x3e\x64\xf3\xb6\xf8\x4c\xcc\xb5\x84\x64\x42\x3d\x36\x90\x05\x0d\xad\xc7\x97\x7b\x93\xda\xa8\x2d\x4b\xe2\xf0\xb9\xe4\xbe\x51\x64\x22\x3e\x45\x6f\x48\xa0\xf8\x5c\x73\xdf\xf2\x89\xf5\xd8\x50\x36\x78\xec\xc8\x3b\xb9\x01\x6e\xfc\x1a\xb4\xbf\xcb\xa0\x65\x7d\x43\x15\x33\x5f\xaf\x10\xe1\x49\x7b\xcd\x81\xcd\x5c\x7d\x4d\x6f\xe3\x45\xd2\x7d\x9a\x09\x8a\xfc\xfe\x80\xbb\x62\x3e\x8f\xfc\xfe\x70\x7b\x45\xcc\xa0\xb6\x1a\x10\xbf\x24\x5e\x01\xde\x2c\xb5\xcd\xd2\x7d\x28\xc4\x56\xdd\x6e\xd4\x7c\xab\xe2\x6b\xbd\xfe\xa9\xf0\x1f\x4c\x85\xac\xd3\xf7\x18\xb6\xb2\x33\xc3\x1c\x65\x27\xc2\x98\x69\x0d\x68\x6e\xe4\x92\x32\x09\xc3\x79\x0c\x1d\xad\xf4\x37\x2a\x0b\x9d\x36\x3e\xa0\x0c\xa5\x1e\xbf\xa7\x34\xc5\xa0\x0d\xb0\xf8\x96\x29\x72\x60\x15\x53\x1d\x0c\xf2\x0d\x2d\xdc\x6c\x81\xf4\x17\xcb\xc7\xd7\x1f\x85\x7b\xc3\xd1\xdb\xf8\xe3\x01\xac\xc8\x04\xfc\x21\x90\x6f\x04\x7e\xb3\x05\xcc\x5f\x0c\x8f\xaf\x3f\x0a\x17\x23\x44\xef\x1b\x3a\xff\x94\xfa\xe2\x85\xff\x70\x5e\xc8\x5e\x39\xe0\xf6\x46\xcf\x1f\xd2\xf9\x3e\xa8\x18\x81\x75\x69\x34\x2c\xb4\x2e\x19\xd0\x55\xf0\x20\xc8\xab\x57\x0c\xda\x5d\x87\x24\xdf\xd0\xf0\xd0\x04\xd2\x63\x74\x18\x17\x26\x83\x22\xf0\xc2\x6e\xc6\x1b\x95\x54\x3a\xa6\x61\xa7\x5d\xf8\x5a\xe0\x55\x1f\x53\xd4\x65\x1e\xe8\x62\xe7\x82\x20\x90\x62\xe1\x45\xf3\x8b\x68\x77\x12\x2d\xeb\x90\x2a\x76\x83\x6e\x28\x6a\xca\xbd\x80\x91\x94\x17\xb7\x46\x5b\x95\x47\xd6\x68\x2b\x11\xc6\xea\x06\xcd\xd1\x1f\xd4\xf7\x51\xc7\x88\x96\xa8\x1b\x3f\xd8\xff\x7b\x82\xe4\x5b\x26\x2c\x70\x6e\x40\xbe\xdd\xd6\xa0\x7c\x1a\xfb\x83\xfb\xe7\x52\x49\x5c\x6b\xb1\xb0\x6f\xc9\x3a\x55\x52\xf9\xd8\xae\xc5\x03\x07\xa6\xcf\xd7\x40\xfc\x95\x03\x91\xb5\xc9\x1f\x33\xa3\xac\xbc\xf0\x84\xb2\xd2\x60\xf3\xe9\xa0\x30\x8c\xf8\xc3\x7b\x87\xe4\x45\xdc\xda\x0a\x60\xe4\xef\xb6\xc6\x9e\x8a\x13\x53\x77\x40\xc7\xec\xd8\xfd\x25\xad\x7d\x86\xbf\x60\xac\xc2\x10\x07\xfb\x46\xdc\xee\x0b\x1a\xc6\x2e\xa9\x95\x18\xe8\x18\xf1\x1f\xdc\xe5\x04\x0b\x62\x09\xad\x40\x61\x63\x76\xf0\x01\xec\xc2\xc8\xa1\x49\x5d\x81\x02\x07\xa4\xc2\x17\x3b\x7d\xb1\xd3\x8f\xb2\x53\xd6\x65\xa2\x18\xe9\xe6\xe4\x86\xe5\x9b\x93\x0a\x93\x70\x1b\x20\x8a\x8a\xc5\x91\x28\x9a\x45\x7f\x88\x2f\x31\x2c\x8b\x41\xa5\xfb\x16\x1c\xe6\xdf\x32\x28\x96\xb5\xf9\x2a\x65\xfd\x5e\x5c\x7f\x3f\xdd\x0d\xf9\x86\xe3\x59\x3c\xbe\x05\x2a\x8b\xf9\x8b\x79\x3f\x23\xf5\xc7\xc0\xbd\x11\x44\x96\x48\xc0\x1f\xcf\xa2\x81\x72\xd7\x84\x68\x0f\xe2\x61\xdf\x48\x12\xbe\xa7\x73\x4a\xa2\x59\x92\x0a\x94\xbc\x26\x44\x5a\x49\x80\x7d\xa3\xa8\x2c\x95\xd0\x97\x6c\xbe\x10\x42\xf0\x9a\x12\xed\x4d\x12\xf4\x5b\x3e\x9f\xcd\xc7\xb7\x94\xc5\x8b\x08\x85\xf9\x8a\x5e\x13\x22\xed\x24\xc0\xbe\x15\x0a\xd9\x42\x52\x7f\xd0\x22\x89\xa3\x01\x0c\x2f\x29\x90\xfe\x24\x40\x07\xc4\xf5\xd7\xdc\xf8\x9a\x1b\x5f\x73\xc3\x37\x37\xb2\xce\x8c\x88\x59\x7a\xec\xcc\xf0\xca\xe3\x24\xde\x38\xbd\x8e\x3b\xb6\x8e\xf7\x55\x6a\xc9\x9e\xd3\x87\x6f\x6b\xf1\x17\x3a\x7e\xbc\x21\xbe\xf3\x6e\x88\xff\xc1\x65\x43\x86\x3f\xd8\xff\x43\x37\x6b\x5e\xde\x5b\xf2\xf6\xcf\xbf\xf3\xb9\xb1\x31\xba\x75\xfa\xe6\x6d\x0f\x93\xb6\x8e\xb6\xf2\xe4\x0b\x6b\x98\x74\xe6\x85\x3f\x5c\xfe\x8a\x39\xf7\xf2\x43\xc4\x98\x6a\xae\x18\xe4\x1f\xdc\x3f\x70\x04\xaf\xd9\x6f\x7e\x07\x84\x38\x14\x63\x77\xdc\x51\x8f\xa2\x2f\xf6\xfa\x62\xaf\xcf\x63\xaf\xec\x85\xa9\xa2\xec\x73\x71\x1a\xcd\xe6\x49\xa8\x33\xa9\x9d\x9e\xe8\x31\xd4\x92\xe1\x3e\x43\x2d\xd9\x6b\xb9\x67\x1a\x0f\x59\x5e\x14\xd4\x9e\x69\xcc\x6f\x21\x91\x24\x74\xab\xca\xc1\x9e\x19\xd6\x8c\xc8\x93\xb6\xed\xe8\x17\x9e\x15\xfe\xed\x94\xed\x9d\x86\xdc\x76\x60\x73\x41\x6e\x72\x65\xb0\x20\x76\xc3\x9f\xcc\xcd\xbf\x63\x8f\x88\x3c\xb8\xe7\xc2\x49\xce\x69\xc8\xfd\xce\x69\x37\x10\x73\xf1\xfa\x01\xd5\x16\x26\x3c\xbf\xd8\xe4\x8b\x4d\xc2\x6c\x92\x0d\x30\xc7\x0d\x81\x66\xc1\xc4\x09\x35\x2b\x2f\x49\x46\xbd\x00\xde\xf8\x7b\x32\xdf\x85\xaf\x12\x9c\x46\x7c\x20\xef\x62\x3e\x87\xb5\xe2\x2b\xbe\xe4\xdf\x63\xc7\x7a\x87\x6b\xcb\x6d\xe6\xbb\x81\xd8\x05\xaf\x4f\x96\x51\x5f\x6c\xf2\xc5\x26\xb1\x32\xca\x66\x8e\x1b\x32\xca\x82\x89\x93\x51\x56\x5e\x92\x8c\x1a\xda\x37\x8e\xff\x96\xdc\x77\x9b\xf9\x3e\xca\x7b\x99\x5b\xcc\x97\x79\x0f\xf7\xdd\xef\x25\x77\x87\x2f\xdf\x2d\xc4\x7e\x96\x90\xfa\xe2\x93\x2f\x3e\x89\x97\x52\x0e\x77\xdc\x10\x53\x36\x50\x9c\x9c\xb2\x33\x93\x04\xd5\x44\xfd\x7b\x72\x1f\xf2\x70\x5b\x8d\xff\xa8\x16\x6f\x3f\x42\x95\xa8\x79\x63\xc8\xfd\x7a\xfc\x2d\x35\xfe\x3d\x5a\x7c\xe6\xd6\xb5\xa6\x9f\xb3\xdd\xfb\x62\x92\x2f\x26\x89\x11\x51\x13\xf5\x96\x7c\x9a\xa8\x71\xc2\x69\xa2\xc6\x4b\xa6\x9e\x69\xc4\x38\x27\xbe\xcf\xf8\x48\x22\xbf\x3f\x90\xe4\xbd\x06\xc8\xfb\x0d\xa3\x3e\x83\xe1\x8f\xdb\x6b\xa3\x73\xee\x3f\xab\xfb\x57\x2b\xe6\xeb\x87\x0c\xa4\x3d\x33\x66\x01\xec\x99\x09\x8b\x5f\xcf\x34\x6c\x53\x05\x9c\xce\x1f\x9b\x9f\xf6\x35\xdf\x1b\xf4\xfe\xa8\x1c\xb9\x41\xf3\x60\x29\xec\xa6\xe0\xbb\x40\xc0\xd9\xef\x8b\x34\xfe\x2b\xbd\x1e\x41\x6e\xb1\x61\xbc\x5d\xcb\xcd\x4c\x64\x47\x7b\x57\x8a\xbd\x67\x37\x7f\x43\xb7\xbd\xe4\xbf\x87\x42\x19\xec\xb6\xf9\xc1\x07\x02\x67\x9f\xbf\x69\x57\xb2\xc1\x0e\xdc\x1a\xee\x78\x13\x81\x9b\x99\x38\xdc\x8e\x7a\xff\x1e\x22\x65\x6e\x51\x29\xf3\x21\x32\xdd\xa6\xd2\xcd\xf1\xfe\xbb\xf6\x25\x1b\xea\xc1\xad\x11\x4f\xd8\x6d\x79\xb9\x89\x63\x3e\x51\xef\x12\xaa\xf7\x1b\xff\xdf\x2f\x56\x6f\x49\xd5\x0f\x09\xd5\xcc\x6d\xa9\x9a\xb9\xb1\xe2\x7c\x91\x26\xc4\x91\xb7\x74\x6b\x1b\x24\x96\x17\xe1\xda\x35\x4f\x73\x8e\xf3\x83\x2f\x7a\x43\x20\xb8\x43\x20\x04\xc4\x4d\xe0\xac\x0b\x12\x83\xa7\x93\x1b\x89\xfc\x60\xa7\xc6\x63\xe7\x9e\x2e\xbe\x87\xc4\x28\x82\xfc\x7e\x83\x27\x6c\x80\x5b\x07\xfd\xef\xdf\x23\xff\x5d\x50\xce\xfa\x10\x4d\x1c\x2d\x98\x0a\x73\xcd\x49\x1e\xb5\xb2\xb0\x7a\x27\x15\xde\x35\x37\x7e\xe2\xe0\xfd\x2d\x30\xcf\x06\xf1\xbd\x39\x8c\x65\x21\x72\xb3\x2c\x90\x19\x3f\x98\xee\xe1\xd9\xfd\x8a\x96\xc3\xac\x89\x47\x41\x2e\xc0\xcf\x1a\xc5\x5f\x1f\xe5\xac\x0f\xd1\xc4\xb1\x83\xa9\x95\xd7\x9c\xe4\x51\x7b\x27\x23\xbf\x57\x43\xfe\x89\x83\xf7\xb7\xc0\x3c\x1b\xc4\xf7\xe6\x30\xc6\x4e\x41\x37\x33\x7e\x30\xbd\xa3\xa1\xbb\x09\x72\x8b\x9f\x7f\xfa\x0c\xfc\xe5\x31\xce\xfa\xf1\x4c\x1c\x3a\xa8\x9a\xef\xcb\xba\x31\x6c\xef\x64\xe5\xf7\xed\x59\x7e\xe6\xe8\xfd\x0d\x10\xcf\x86\xd0\xbd\x3d\x8e\xb1\x73\xd0\xcb\x8d\x1f\x4d\xfb\xe4\xe3\x1d\x5a\xc1\x2d\xa5\xee\x27\xab\xa1\xbf\x36\xba\xd9\x0b\x92\x89\x63\x16\xdd\xd3\x78\xe9\x49\xe3\xf4\x6e\x05\xee\x3d\x66\xc0\x9f\x36\x5c\x7f\x03\xac\xb3\x7e\x5c\x6f\x0c\x5c\xec\x4c\xb3\xb3\xe2\x86\xaf\x67\x06\x56\x0d\x34\xb0\xbd\x8e\x90\xed\x06\x74\xd6\x83\x49\x40\x15\x72\x5e\xe0\x26\x27\xa0\x18\xde\xe2\xa1\xef\xb3\x02\xdc\x3b\xd5\x20\xdd\xfd\xb3\x5a\xce\xfa\xdb\x4b\x26\x5f\xdc\x26\x31\xc1\xca\xed\xcb\x0e\x71\xfd\x3b\xfb\xf3\xd1\xa3\x8d\xbf\x06\x81\x6c\xa8\xd9\xdb\x74\x8d\x99\x44\xd7\xdc\x04\xea\x86\x37\x41\xef\xea\xd9\x7b\x76\x44\x10\xc2\xfe\x79\x6d\x67\xfd\x2d\x26\x13\x34\x6e\x2b\x95\x60\x9f\xf7\x65\xff\x08\x9f\xfc\xc8\x31\xca\x5f\x85\x42\x36\xd4\xf0\x6d\xda\xc6\x33\xeb\x8d\x0d\xce\xc5\xe2\xfe\xd1\xce\xdd\xbf\x79\x80\x50\xf6\x4f\x6b\x3a\x1b\x68\x30\x99\x9e\xb1\x9b\x8e\xa4\x93\x05\x7f\xfe\x8f\xf0\xca\xc7\xcf\x80\xfe\x22\x0c\xb2\xe1\x76\xef\x20\x6e\x3c\xb7\xde\xda\x0a\x38\xe6\xf8\x8f\xaf\x19\xf7\x9b\x7b\x21\xa4\xfd\xb3\x5a\xce\x5e\xdb\x4b\x26\x26\x5c\x45\x4f\x3c\x74\xb0\x33\x7f\x6c\xdd\xfd\xf8\x19\xd3\x5f\x83\x40\x36\xd0\xec\x2d\x8a\xc6\xf3\x66\xbc\xf2\x2c\x0a\x2a\x3c\x40\xa3\x0a\x34\x5d\x05\xac\x21\xec\xc1\x37\xc2\x42\xc8\x17\x7b\x10\x35\x4c\x4d\xf6\xf7\xe0\x0e\xe0\x28\xf2\xd0\xe8\x7e\x77\x04\x00\x54\x4c\x23\xe6\x56\x29\x04\x0d\xdf\x56\x04\x25\x43\x88\x15\xc3\x01\xe6\x3e\x56\xfe\x73\x7b\x06\x8f\xb9\xf8\x4e\xcc\xf2\x3f\xd8\xb3\xfc\xbb\x7a\x26\xc8\xb7\x63\x36\xc6\xdc\xb4\x85\xe0\xe5\x8f\xa4\xec\xfe\xb9\xd1\x13\x68\x89\xcf\xc4\x1d\xea\xe7\x18\x45\x24\x11\xcb\x4f\x45\x28\x18\x65\xff\x6b\x0a\x7f\x4d\xe1\xaf\x29\xfc\x77\x9b\xc2\xd7\x57\x9c\xec\x19\xec\xd5\xcd\xd0\xec\x96\xa7\x59\x90\xd9\x0b\xba\xc0\x08\xa2\xa5\x57\xd8\x5f\x45\xf0\x94\x94\x17\xa7\x1c\x88\x42\x54\xd3\x12\x05\xb8\x92\x25\x0a\x6a\x4b\x9e\xbf\x53\x98\xcc\xbf\xdd\x33\x09\x43\xb0\x9f\x48\xc9\xa7\xab\xe9\xee\x6e\x91\xe2\x61\x93\xc1\xde\x81\xba\x07\xfc\x99\x5c\x00\x8f\x3a\x97\x80\x44\x24\x28\xee\x6d\xd8\xab\xaa\x7a\xf7\x04\xbe\x74\x39\x1c\xd3\xe8\x26\xec\xa7\x4c\xb4\xc8\xfa\xf6\xc5\x95\x5f\x5c\xf9\x0b\x70\x65\xd6\xe3\xc5\x3b\x84\x75\xe8\x29\xe3\xdb\x50\x09\x02\xbc\x25\xcf\x61\x32\xbc\x25\xcf\x3d\x94\x16\x90\xe0\x2d\x77\x35\x1b\xbf\x0e\x2c\xde\xad\x54\xde\x3f\xe3\x16\xbf\xd4\x8c\x5b\xbc\x67\xc6\x2d\x7e\x85\x19\xb7\x78\xc7\x8c\x5b\xfc\xf0\x8c\x83\xbc\x4b\x70\x13\xf6\x67\xad\x03\x5f\x5c\xf9\xc5\x95\x7f\x39\x57\x7a\x42\xf7\xf5\x13\x24\xfb\x02\x2e\xd9\x17\x71\x82\xd9\x16\xf1\x77\x52\x2a\xb9\x1b\xf0\xe8\xcd\x9f\xad\x97\x04\x0c\xa5\x3f\x5b\x81\x8b\x7b\x87\xf0\x8b\x6c\xf7\x92\xed\xaa\x46\xbc\xf3\x1e\xa5\x57\x0e\xc6\xce\x76\xfa\x0f\xa9\x23\x3d\xd3\xb8\x5b\xf2\x7f\xea\xf0\x2d\xbe\x65\x22\x8f\x98\xdc\x01\xfc\xd1\xe1\xfb\xd0\x72\x95\xc8\xf5\x5f\x64\xbb\x83\x6c\xd9\x0b\xb1\xa2\xdc\xfd\xbe\xf0\x8b\x7f\xd2\x8e\xc0\xc2\x35\x66\xa6\x41\x57\x0e\x51\x58\xad\x8d\x91\x0a\x00\xe7\xdc\xc6\xb9\xf3\x74\x3a\xe5\x45\x64\x0e\x53\xf7\x1e\xe8\x2b\x7d\xe1\x7a\x84\x03\x1d\x11\x8e\x81\xe4\x5b\xda\x81\xdb\x62\x4c\xe8\xe5\xbb\x98\xca\x67\x44\x8d\x77\x62\x7b\x82\x5f\x6f\xfa\x22\xeb\xe7\x91\x35\x1b\x20\x66\x0c\xef\xfb\x61\xc2\xfc\x1f\xc8\xfb\x5c\x8b\x7e\xe2\x8c\x82\xb9\x13\xbe\x8f\x11\xde\xc5\x07\x11\x36\x80\x33\xe4\x5f\x8e\x55\x36\x88\xcb\xcd\x01\x85\xb8\x54\x06\x33\x3f\x73\x67\x03\x7b\xc3\xd8\x5e\x1d\x62\xe6\xf1\x7d\xc1\xc8\x21\xc7\xff\xde\xd3\x1c\x18\x12\xf7\x9a\x99\x97\x13\xb8\x20\xf9\x79\x08\xfc\x88\x78\xfb\x22\x89\x2b\x9a\x2e\x84\x88\xe1\x62\x2f\x3f\xf2\xf6\xae\x9b\x9e\xc4\x6f\x55\xe5\x70\xb9\x79\x16\xdb\x47\x11\xf0\x46\xec\x03\xee\xfe\xcc\x78\x72\x13\x71\xef\xda\x11\xe4\x3b\x88\xfd\x03\x88\x7c\x06\x27\x7e\x11\xeb\x26\x8f\x5e\x48\x74\x83\x57\x3d\xb8\x38\x9e\xf5\xf2\x6f\xf1\xee\xc5\x11\x32\x96\x0c\x9a\x05\x11\x4b\x87\x40\x6e\xec\x88\xc4\x0d\xc8\xbb\xc6\xe3\x87\x10\xf9\x2c\xf6\xfd\xa2\xd7\x3d\x1c\x9c\xe8\xed\x1a\x01\x4c\xe2\xe1\x58\xbf\x57\x0f\x68\xa2\xfe\x09\x12\xe5\x53\xc6\xe3\x2f\x16\xbe\x5f\x84\x4a\x64\x5b\x97\x3c\x37\x78\xd6\x81\x8a\x63\x58\x27\x37\x99\x5b\xff\x1c\x01\x92\x89\x58\x54\x42\x19\xbf\xa2\x08\x81\x32\xed\x17\xbd\xee\xe1\xdd\xbb\x04\xae\x0b\x16\xcf\xbd\x37\x84\xad\xbb\x29\xfd\xa8\x2a\x9f\xbc\x99\xfd\xd1\x0d\x49\xec\x7e\x24\xba\x1d\x89\x32\xda\xbf\x4d\xcf\xb2\xd7\xfe\x24\x32\x03\x64\xbb\x7e\xc9\x48\x64\x80\xcf\x55\xe1\xef\x23\xdc\x9f\xb8\x2c\x41\x59\xe3\xdf\xbd\xcf\xd9\x68\x4f\x6f\x31\x4f\xf2\xf6\xc3\x07\x70\x93\x99\x3e\x55\xbe\xdf\x47\xdb\x4f\x59\x30\xee\xdf\x63\xc6\xf2\xd4\x7f\x40\xd7\xb3\x90\x0e\xdf\xc3\x5b\x09\x0b\x95\x1f\x22\x91\xbb\x3e\x53\xe1\xfd\xb3\x26\xed\x8f\xb2\xd5\xbf\x7b\x9f\xb3\xe1\x9e\xde\x62\xa6\x24\x85\xfd\x92\x7d\x83\x8d\xfe\xa6\xf3\x34\x4e\xa5\x4d\x3c\x77\xfe\x4f\xea\x76\x36\xd2\xd9\xdb\xdc\x94\x2c\x98\x12\x54\xe8\xb5\x20\xaf\x40\x22\x35\x0d\x45\x4d\x59\x13\x26\xda\xf1\x4b\xce\xdd\x87\x28\xf7\x1c\x8d\x39\x50\x6f\x98\x13\xda\x1f\x72\xbc\xe4\x12\xae\x10\x43\xd0\x42\xd0\x65\xed\x57\xe9\x0f\xe1\x3c\xe6\x19\xdf\x1f\x2a\xa6\x3f\xd4\x2f\xd9\x9f\xbb\x4f\x6a\xed\xeb\xa7\xf9\x5b\xf7\x53\x2f\x00\xf0\xe9\xff\xc5\xa5\x5f\x5c\xfa\x8b\x72\x69\xd6\xe1\xcd\x04\x17\x1f\x0c\xea\xe0\x83\xc5\x3a\xbd\xd9\x15\x86\x65\xb9\x9d\x08\x13\xe0\x1b\x9a\xdd\xb6\xe4\xf1\x1a\x94\x95\xe3\xad\x98\x4d\xf6\x85\xb8\x6f\x59\xd4\xf3\x5a\x8a\x9e\xc6\xc7\x41\xdc\xb0\x1e\xc4\xae\x8d\x81\xec\x98\x3b\x8c\x9e\x5a\x15\xf1\xf3\x0d\x66\xbc\xe5\x93\x4a\xe3\xf0\xb2\xb8\xe7\xa0\x9b\x14\x71\xca\xe9\x74\xf4\x75\x89\xf0\x1b\xcd\x5f\xa4\xfe\xb9\xa4\xce\x06\x08\x1c\x33\x3b\xfc\x30\x91\x47\xdf\x7d\x79\x70\xe5\x59\x14\x5b\xef\x0a\x88\x7c\x0d\xef\x93\xba\x90\x28\xe2\x05\x75\x5f\x81\xcf\x8f\xd6\xf6\xef\xd0\x9d\xac\xdb\x89\x58\x15\xd7\xca\x8d\x2a\xb6\x56\x6a\xdc\x08\x27\x46\x62\xbb\x37\x84\x8e\xd7\xdd\x64\xf2\xc4\x81\x47\x86\xe9\x97\xc0\x29\xeb\x61\x92\x40\x6c\xa8\x05\xd6\x4e\x86\x91\xfb\xac\x28\xd2\x6d\x0e\x7c\xdf\xb3\x3b\x64\x80\x4e\x7e\x42\xfe\x09\xad\x65\xdd\x36\x62\x28\xe4\xe4\x86\x09\xe4\xa4\xc6\xd3\xe7\x9e\x28\xec\x17\xcc\xd0\x07\xfb\x7f\xdf\x3d\xfc\x4b\x34\x9c\x88\x76\xf2\x8e\x42\xb7\x95\xab\xe0\xf3\x66\x24\xf9\x90\x45\xac\xbf\xa8\x3c\xf9\x90\x45\x8b\xf7\x3f\x8c\x16\x29\x79\xf7\x4b\xfb\x59\xc2\x2a\xe1\xfd\x15\xee\x0c\x15\xdf\xfd\xbb\xca\xbd\x97\x02\xa8\x55\x5f\xa1\x40\x3e\x64\x71\xec\x3d\x0f\xc3\x85\xca\x41\x38\xf8\x8b\x1f\xfe\xa3\xf9\x21\xeb\xe3\x82\x44\x39\x03\x8b\x66\x79\xcd\x89\x97\x37\xf7\x84\x9c\x4f\x66\x95\x0b\xa3\xbc\x87\xbf\x02\x85\xfe\xee\xfc\x05\x7b\x9e\xf5\x7d\xe5\x7e\x1d\x79\xf3\xc5\x0f\xff\xd1\xfc\x90\xf5\x71\x41\xa2\xbc\x81\x1d\x49\x5c\x73\xe2\xe5\xcd\x5d\x01\xf6\x93\x79\xe5\x23\xfc\xf5\xef\xc4\x5e\xd0\x37\xeb\xdf\x59\xf0\xd7\x11\x38\x5f\x0c\xf1\x9f\xcd\x10\x59\x3f\x1b\x24\x8a\x1c\xe8\xb9\x95\x2f\x2b\x5e\xe8\xdc\x7e\x53\xe0\x96\x36\xfc\x11\x0d\xfa\xdf\x49\x81\xce\x7c\x54\x83\xce\xfc\xe5\x2a\x74\x44\xe2\x7c\x71\xc3\x7f\x30\x37\x64\x2f\x3c\x90\x28\x6b\xa2\xd1\x81\xbd\xf4\x38\x29\x13\xb1\xda\x91\x9f\x6a\x7b\x8a\x7d\x4f\xe2\x4f\x6f\x3b\xeb\xb5\x98\x40\x40\x88\x65\xd0\x4d\x4e\x20\x9f\xbd\xc9\x25\xfe\xa6\x0c\xfa\x99\x93\xf4\xde\x97\xc9\x63\x24\x0d\x2c\xc2\xf3\xfd\x65\x3e\xe5\x48\xe9\x97\x91\xf6\x5f\x6c\xf5\xc5\x56\x9f\xb6\x6c\xdc\x78\x57\xc6\x07\x12\x23\xfc\x92\x4c\x71\xde\x5b\x20\x9f\xc1\xa9\x04\xf6\xb1\xfd\xc0\xa5\xdc\x5d\xbc\xf2\x2d\x62\xc4\x81\x3f\x7f\x70\x07\x70\xb2\x6b\x66\xdc\xad\x03\x5f\x26\x6c\xe2\x7f\x91\xf3\x07\xc8\x99\xf5\x13\x31\x99\xe1\xe3\x4c\x41\x09\xef\xd3\xb8\xd9\xce\xa6\xef\x33\x86\x28\xf3\xd1\x31\xca\xfc\xe0\x20\xbd\x67\x8c\xee\x1a\x22\xc7\x43\x34\x6e\x8c\xfc\xb9\x30\x9e\xff\xa2\xe8\x8f\x51\x34\x1b\xa0\x63\x32\xdf\xc7\xda\x23\x92\xde\xba\x71\xf3\x27\xea\x27\xa9\x24\x7f\xf6\xc9\xd6\x2f\xa4\x90\x40\x9f\x32\x79\x47\xa1\xbf\xb9\x4a\x12\x9d\xfc\x5f\x4c\xf5\xc5\x54\x9f\xa4\xe7\x26\xdb\x47\xa0\xcf\x27\x5d\x32\x60\x62\x4f\x17\x85\xcb\xd3\xfd\x37\xc3\x94\xbd\xe3\xc1\xa7\xa7\x68\xfc\xba\x1f\x88\x06\x16\x98\x54\x7f\x17\x94\xb3\x7e\x44\x63\x06\xcd\x07\x12\x1e\x36\x5f\x56\xc2\xc0\xc5\x5e\xc9\xfa\xe8\x0b\x88\x3f\x7f\xe0\x7e\x79\x94\xb3\x7e\x44\x93\x07\x0e\xa6\x62\xfb\xb2\x12\x06\x2e\xfe\x06\xd4\xc7\x9e\x03\xfc\xf9\xe3\xf6\xab\x63\x9c\x0d\xe0\x99\x3c\x6e\x50\x15\xd1\x9f\x97\x30\x72\x93\x98\x47\x95\x82\x52\xe5\xce\x97\x71\x7f\xfe\xb0\xfd\xd2\xe8\x66\xaf\x48\x26\x0f\x58\x74\x59\xbb\x64\xc4\x0e\x95\xef\x79\xe3\x8f\x22\x68\x28\xaf\xbe\x1e\xaf\x05\x8e\x03\xf2\x0d\x4f\xdf\x8f\x3d\xc7\xfc\xf7\x40\x38\x1b\x40\x33\x69\xc4\x62\xec\x6d\xfe\xbc\xa4\x71\xbb\x63\x8d\xf8\x6c\x32\x7c\xf4\x85\xe2\xbf\x0b\xca\xd9\x00\xa2\x37\xc6\x2e\x76\x5d\x4b\xb0\x1d\x79\xf9\xf7\xac\x13\x9f\x4d\x89\x8f\x3d\xd8\xfb\x37\xc1\x38\x1b\xc4\xf3\xc6\xd0\xc5\x2f\x6d\x49\xe6\x0f\x0f\xe0\xe6\x6a\xf1\xf9\xd2\xe7\x63\xcf\xd7\xfe\x3d\x10\xce\xfa\xd0\xbc\x31\x6e\x31\x2b\x9c\xb3\x73\x63\x15\x0e\xfc\x3f\x56\xa4\x75\xfd\xbf\xff\x25\xd2\xf2\xca\xa4\x57\x20\xf3\xbf\x0f\xaa\x06\x49\x7d\x65\x15\x51\xd1\x1e\x7f\xa3\xc8\x3c\x53\xc0\x9f\x78\x45\x36\x32\x3c\x2d\x09\xe2\xe9\xb1\xa2\xc8\xba\x22\xd2\xfa\x43\x47\x91\x69\x56\x79\xf8\x67\x49\xe6\x68\x11\xa4\x3a\x8a\xac\xfc\xf3\xe1\x9f\x13\xc6\x94\x0d\xd3\xfd\x25\x29\xb2\xa2\xab\x34\x0b\x9e\x0c\x70\x34\x32\xb4\x28\xac\x1c\x53\xf4\xd3\x61\x2d\x18\x20\x63\xe7\x3d\xaa\x1a\x78\x3a\x28\x1a\x67\xff\x14\xe4\xd5\xa3\xac\x68\x12\x2d\x3a\x69\x8c\x06\xe8\x6d\x20\xe5\xa0\xd1\xaa\x97\x20\x0a\x32\xc8\xac\x81\xc5\x91\x8f\x68\x96\x7c\xca\x48\xca\x39\x63\xd0\x4c\x46\x17\xce\xe0\x91\x78\xca\x28\xfe\x5f\xfe\x0c\x97\x90\xeb\x93\xba\x06\xb2\xfe\x28\x2b\x32\x70\x4a\x87\x52\xf4\x60\x82\xff\x47\x0c\x45\x53\x8f\x8f\x76\x45\x3a\x10\x81\xbd\x2f\x7f\x80\xc3\x45\xc0\xa0\x23\x11\xad\x0d\x0a\x16\x86\xb2\x1f\x0f\x59\x69\x8a\x29\x73\x8f\xbf\x21\x79\x9c\x22\xb0\x78\x74\x6f\x63\x7a\x1b\xc9\x9b\xf8\x25\xa2\x06\x67\x42\x95\xe6\x38\x8b\x1f\x50\x20\x3d\x49\xb4\xb6\x12\xe4\xc7\x2c\x09\xa4\x14\xf2\xa4\xec\x81\xc6\x8b\xca\xe1\x91\x36\x0d\xe5\x89\x51\x34\x0e\x68\x19\x8d\xe6\x04\x53\x7f\xcc\xe2\x40\x7a\x7b\x94\x15\xe3\x9b\xaa\x81\xef\x7f\xbc\x8b\xed\xaf\xa8\x65\xdc\x19\xc0\x73\x3c\x05\xf0\x9b\xf5\x5d\x70\xcd\x5a\xc8\x42\x10\xca\x1a\xca\x16\xc8\x59\x96\xa3\x0d\xfa\xc1\xfb\xa1\x48\x12\x90\x0d\xef\x27\xa7\xb0\xc6\x49\x05\xde\x4f\x55\x53\x44\x65\xe5\xcd\xc4\x22\x4e\xa3\x34\xea\x55\xa3\x9a\x32\x6b\x98\xf6\x3c\xf7\x00\xc8\x02\x05\xf2\xe4\x5b\xd6\x9a\xf6\xf6\xbc\xba\x98\xca\xb2\x79\xaf\x18\xa3\x28\x22\xa0\xe5\x6b\xfb\xb2\x6e\xd0\x3e\x04\x80\x08\x0c\xc0\x79\x3f\x65\x53\x62\x80\xe6\x43\x47\x05\x9a\x71\xf2\x7e\xeb\x27\x89\x51\x44\xef\x97\x41\x5f\x30\xc5\xa8\x02\xc3\x61\x5e\x93\xb4\x61\x68\xb6\x28\xf2\x20\x19\x53\x10\x0d\xe1\x8a\xc3\x9a\xbe\x34\x21\xc8\x3a\xd0\x7c\x08\x38\x2c\xa3\x5c\xf2\x75\x43\x13\xe4\x95\xf7\xcb\xd4\xc4\x4b\x93\x34\x8d\x16\x0b\x5e\x93\x40\x36\x04\xe3\x14\x12\x61\x7e\xa6\x03\x00\x14\x38\xf2\x89\x35\x35\x5d\xd1\x1e\xd7\x40\x54\xaf\xd8\x6a\xa6\x78\x41\xd5\xc6\x7d\x4f\x8b\xe6\x25\x65\x0b\x4e\x96\x0c\xf2\xea\x2e\x90\xc5\x22\x82\x78\x85\x3d\x3b\x9c\x97\xcb\x90\x05\x5f\xee\xe5\xe5\x05\xaf\x2e\x0d\xac\xc0\xd1\xfb\xb1\xa7\x35\x81\x66\x44\xe0\x95\x65\x19\x82\x41\xa9\xeb\xb8\x89\x17\xa2\x5c\xea\x79\xb5\xa5\xf2\xc1\x11\x7e\x79\x5f\x43\x06\x2d\x0a\xac\x93\xab\x1b\x27\x11\x3c\x3a\x29\xd6\x24\xcb\xda\x02\xd3\x19\x58\xfd\x55\x55\x74\xc1\x36\x1c\x6a\x40\xa4\x0d\x61\x0f\x9e\x5c\x2e\xce\x58\x32\xfa\x11\xcf\x16\x80\xf4\xc4\x2a\xa6\x6c\x58\xcc\x0c\x74\x60\x3c\x5a\xe5\x9d\xe2\x91\xea\xec\x99\x01\xa9\xd3\x2f\xea\x05\x79\x0d\x34\xc1\x78\x0b\x14\x4c\x05\x7e\x65\x34\xe5\xe0\x43\x8d\x66\x74\x45\x34\x0d\xf0\xa4\x2a\x82\x8d\x07\xd8\x03\xd9\x70\xa5\xb1\xa1\xa8\x8f\x88\xb3\x3a\xd9\x72\xdd\x5a\x33\x9f\x6c\xdc\x33\x0e\xf2\x07\x81\x33\xd6\x8f\x38\x90\x9e\x44\x60\x58\xa5\xbd\x25\x26\x83\xaa\xc7\xcb\x34\x75\x96\x0f\xf5\x98\xd2\x15\x51\xe0\x52\xbf\x15\x8b\xc5\x27\x53\xb7\xa0\x6d\x06\x74\x84\x7d\x14\xc9\x3f\x74\x95\x96\x5f\x61\x78\x71\x82\xae\x8a\xf4\xe9\x91\x11\x15\x76\x7b\xa1\xa0\x20\xb3\x1a\xb0\x26\xbc\x9f\x8a\x31\xd5\x3e\x32\x80\x57\x34\x8b\x1d\x64\xc3\x2a\xe1\xd6\xf1\xed\x5a\xf2\xfb\x93\x27\x19\x8a\xc5\x50\x83\xde\x28\x3a\x1d\xb3\x09\xe1\x5b\x7f\xed\x54\x7b\xf4\xac\x01\xcb\x18\x8a\x22\x32\xb4\x16\x1d\xb8\x08\xc8\x1f\xd9\x08\xec\x65\x74\xac\x91\xb0\xe4\xdc\x93\xdb\x26\x06\x5c\x3b\xb8\x03\xe7\x8a\xa2\x54\x16\xd7\x53\xb0\xb0\x0c\x48\xa4\xb1\xc7\xb5\x25\xe3\xaf\x4d\x5e\xfd\xdf\x62\xd1\x4a\x79\x5f\x32\x82\x01\xa4\x57\x8f\x26\x82\x6c\x93\xd8\x26\x4d\x42\x61\xfa\xd5\x95\x07\xee\x80\x26\x80\x32\xa6\x61\x58\xeb\x98\xcd\x3e\x2e\x03\x7a\xac\x1d\x50\x49\x5c\x2d\xe5\xb2\x5a\x85\x9f\xd3\x0d\x33\x99\xa3\x81\x40\x52\xf5\x48\x62\x52\x4f\x1e\x6e\xa1\x9e\x00\x60\xf3\xb4\x27\xc0\x18\xc6\x37\xb9\x6c\x3e\xf2\x96\x39\x24\x65\xad\xc4\x01\xa9\xca\x93\x3c\xc6\x23\xfe\x24\x6d\xc5\xd0\xdf\x30\x8c\x78\xf0\xfe\x64\xb1\xef\x4f\x8c\x72\xcc\xe8\x6b\x9a\x53\x0e\x8f\x48\x0a\x53\x8f\x29\x24\x85\xa4\x6c\x48\xc4\xda\xab\xb8\x30\x81\xf5\x93\x04\x52\x52\x77\x1f\x79\x85\x35\xf5\x84\x3e\xd1\x0e\x33\xdd\x24\xcb\xcd\x8a\x5c\xb0\x5b\xb5\xd9\x13\xf8\x56\x5d\x36\x90\x5d\x93\x4b\x6e\x8f\x81\xec\xa9\xca\x01\x56\x71\x03\x84\xd8\xa3\x2d\xc8\xaa\x69\xfc\x3f\x4b\x3d\xf8\x97\x95\xff\xbf\x0f\xd6\xdf\xb4\x06\x2e\x5c\x6b\xfd\xf6\xbd\x74\x95\x3d\x66\x0c\x65\xb5\x12\x41\x86\x55\x24\x55\x91\x81\x6c\xbc\x6e\x4c\xdd\x10\xf8\x53\xc6\x93\x29\xa2\xbd\x09\x97\x00\x27\xd0\x29\x55\x13\x64\xe3\xf5\x7f\x54\x7a\x05\x5e\xed\xd1\x2e\x64\x49\x41\x4e\xa1\xa8\x20\x7b\xaa\x17\x86\x48\xd2\xd3\xff\x18\x8a\xea\xc8\x95\xd4\xeb\x7f\xa5\xec\xff\xae\x1c\x92\x42\x31\xf5\xf8\xe4\x26\x3b\x9d\x4a\xfd\x86\xda\xff\x3d\xa5\xde\xec\xf4\xff\x71\x0e\xc1\xec\x05\xe6\xc7\x6a\xf8\x18\x12\x4f\x6f\x8c\xc2\x9d\x1e\xd6\x86\x24\x46\x95\x3d\x5b\x60\xa9\xb4\x06\x64\x1f\x29\x9f\x24\xfa\x98\x71\xd6\x11\x6b\x24\x7c\x19\xbc\xa8\xd0\x46\x38\x31\x22\x46\x7d\x79\xae\x54\x10\x64\xc1\x10\x68\xd1\xdf\x84\x20\x67\x62\x33\x3d\x61\x61\x0f\x91\x83\x69\x86\xe6\xac\xc1\x7c\x04\x47\x9a\x35\xae\xe2\xc5\xdd\x7b\xba\xe3\x85\xf8\xb1\xf2\xa6\x6d\xa8\x51\xa7\x5f\x79\xaa\xa0\x1e\x7d\xcc\xf3\x9b\x4c\xef\x33\x0c\xad\x3d\xfc\xa6\x0b\x1c\x70\xbe\x98\x4c\x46\xa6\xf7\x0f\xbf\x59\xe3\x6f\xa5\x58\xda\xaa\x69\x2d\x66\x19\x43\x61\x03\xbf\x6c\xf6\x7e\xc8\xca\xe0\x90\xd1\x1d\x8d\x3f\x73\x10\xce\xb4\xc6\x3d\x64\x65\x45\x76\xba\x61\xa9\x3a\x0f\x59\x8b\xdb\xae\x05\x74\x83\xd6\x8c\x8c\x2b\xa0\xdc\x5f\x6e\x05\x0f\x59\x83\x66\x2c\xa4\x2c\xd6\xd5\x14\xf1\x81\x57\x14\x03\x68\x0f\x6b\x40\x73\x40\x7b\x85\x0e\x84\x27\xfe\x43\xc9\x77\x12\xc7\x21\x8c\x3f\xe5\x9c\x11\x64\x0e\x1c\xfd\x69\x6f\xc1\x0e\x65\x24\xa0\xeb\xf4\xca\xea\x98\x3d\x54\x86\x60\x88\xe0\x35\xb0\x34\xfb\xcb\x5e\x48\x66\xf5\x42\x90\x57\xaf\xa1\x3d\xf2\xad\xe1\xb3\x3b\x92\x71\x66\xc3\x23\x81\xf8\x47\xd0\x53\x0d\x10\x4b\x2b\xb4\x68\x46\x0b\x32\x70\xc6\x2c\x03\x8e\x2c\xd0\x54\xc3\xf9\x61\xa3\xf8\x90\x15\xe9\x93\x62\x1a\x19\x7b\x6a\x78\x3f\x5c\x29\xf1\x1a\xdf\x76\x90\x14\x97\xea\x5e\x7d\xfa\x58\x96\xd4\x80\x04\xc5\x2b\x5c\xd4\x45\xcb\x5b\x7a\x08\x8a\x20\x09\xd2\x3f\xd9\x7c\x95\x62\x81\x4a\xdf\x5c\x3e\x72\xba\x72\x38\xe9\xc2\xe1\xb4\xba\x7c\x49\xad\x51\xdf\x77\xcc\xf7\x1d\xf7\x7d\x27\x5e\xe1\x98\xb9\x00\xfe\x2e\x91\x01\x42\xfb\x57\x7b\x0c\x0b\xcc\x22\x1f\x06\xbe\xf2\x16\x90\x2f\x0b\xf3\x67\x21\x81\x2c\xdc\xdf\x6a\x21\x90\x45\xf8\xb3\xf2\x81\x2c\xd2\xd7\x2b\xca\x0f\x46\xa9\xc7\x18\xf2\x5f\xc9\x17\x42\xc6\x0f\x74\xe1\xa2\x57\x67\x6a\x58\x1b\x6f\xa8\x30\xb1\x74\x70\x5f\x41\x6f\xab\xcc\x2a\x62\xe6\x7f\xdd\x99\x1a\xe2\x6e\x68\xb9\x44\x9e\x8c\x99\x53\x4f\xbc\x08\x8e\xe1\x09\x0f\x47\xf7\x22\xd3\x83\x19\x6f\x6f\xd6\x3e\x97\x33\x59\x23\x63\xaa\x1c\x6d\x80\xf0\xa4\xf4\x58\x9f\x44\x2c\xcd\x25\x0c\xfd\x47\xd6\xf9\x37\xa3\x9b\x92\x44\x6b\xa7\xcb\xe4\xc1\xc8\xcb\x76\xc3\xbf\xd1\xa8\xd7\x4b\x55\x94\x7c\x82\x58\x1d\x48\xeb\x13\xd2\x83\x6c\xce\x71\x1b\xa0\xf7\xb4\x20\xda\x42\x87\x53\x8c\x87\xec\x61\x4d\x1b\x7a\xc6\x12\xb9\x9c\x62\xbc\x06\x8b\xa1\x88\x7a\xbc\xd0\x58\x3d\x7a\xab\x90\xfd\x3d\xaa\xc8\x3b\xfa\xfb\xcd\x9e\xfd\x91\x65\x69\xd5\xde\xec\x86\x76\xa1\x4f\xe1\xd9\xef\x31\x9d\xdb\xd7\xa0\xd8\xb2\x66\xd3\x13\x54\x51\xbf\xd9\xbe\x20\xeb\x86\x66\xda\xcb\x83\x1e\x40\x82\x08\x21\x81\xfb\x90\x28\x30\x45\xa4\x48\xdd\xae\x7c\x0f\x34\xdd\xea\x9c\x3b\xda\x38\xe2\xea\xa9\xd6\xac\xb8\x51\xf9\x53\x64\x5b\x7e\x93\x92\x6b\x5a\x5e\x01\xdd\x6b\x0c\xf5\x1a\x23\x6c\x79\x70\x67\xe9\x3f\x44\xe1\x55\x14\x74\x77\xcb\x9f\xb1\x34\xc5\x47\x4e\xd0\xd9\xcb\xda\x41\x5a\xb5\x46\xc4\x68\x60\xa5\xb8\xbf\xa9\x3f\xb2\x06\xbd\xca\x00\xce\x66\x1e\x3f\xe2\x81\xe6\xec\x84\x28\x73\x73\x05\xeb\xe3\xb5\x8c\x15\x90\x12\x81\x85\xa9\xe6\xdf\x77\x14\x35\x20\x5d\x91\xa3\x19\xc5\x34\xfc\xd3\xd2\x75\xfe\xf4\x0d\x55\x08\xf8\x8f\xac\x87\x68\x12\x9b\x90\x41\x6a\x84\x18\x95\x84\xd4\xea\x31\x49\xd2\x0c\x40\xa3\xfc\x11\xac\x18\x83\xe1\xcb\x29\x06\xab\x48\x89\x15\xfb\x07\x0f\x27\x0a\x25\x3c\x0f\xd1\x08\x22\x15\xb3\x8a\x7a\xb2\x67\x38\x84\x80\x09\xc4\xf1\xb5\x65\xa9\xd1\x77\xf4\x40\x14\x58\x20\xeb\x51\xf1\x79\x5f\x23\xde\x34\x85\x09\x3b\x88\x8d\xd6\x13\xa3\x0e\x3e\xc8\x5b\x58\x1c\x46\xc5\x2b\x8b\x92\x38\xe2\x98\x8f\xae\xa8\xcb\xe0\xa0\xc7\xc9\x7b\x24\x15\x64\x2c\x0b\xf6\x8f\x35\xf6\x7a\xc9\x46\x1c\x6e\x8f\x21\xab\xb3\xa4\x06\xc9\x18\xaa\xcc\x52\x98\x75\xc7\x72\xe1\xcd\x21\x47\xec\x78\xab\x80\x27\x32\xaf\xcb\x07\x87\x5b\x9f\x68\x9b\xb1\x35\xff\x91\x75\x96\x79\xc8\xd4\xf3\xcf\x82\x30\xdf\x25\x4c\x85\x48\x03\xf6\xa2\x09\x11\x88\xd7\x31\xf6\xd7\x4e\x45\x6a\x47\xa3\x64\xf6\x57\x2f\xc8\xbc\xe2\xd3\xd5\xa2\x73\x2d\xcc\x60\x6e\xed\xd6\x50\xa3\xc9\x98\xff\x80\x44\x73\x97\xeb\xc4\x75\x20\x2c\xd1\x6e\x2c\x7b\x61\xf4\x04\x69\xf5\x7a\xd5\x5a\x08\x4b\xff\xb0\xb5\x18\x77\x35\xc7\x49\x08\xdd\x68\xd6\xdf\x19\xcc\xe1\xa6\x28\x87\xc6\xa3\x5d\x80\x2c\xa5\x6f\x59\x56\xca\x38\x1b\xaf\x07\xeb\xab\x6e\x68\x8a\xbc\x7a\xc8\xae\x40\x49\x04\x9a\xf1\x22\xc8\x5b\xeb\x47\xd9\x88\x08\xc6\xb7\xac\xb7\x1f\xb4\x2d\x22\x16\xad\x15\xed\xd5\x37\x40\x94\xd5\x05\x08\xcc\x1f\x59\xfd\x24\x1b\xf4\x31\xe3\x1d\x08\xbc\x46\xb5\x88\xb7\x6c\x45\xe1\x40\x47\xd0\x34\x45\x7b\xf5\x9f\x57\x5e\xcf\x20\x3d\x52\x21\x48\x40\x15\x7e\xe2\x04\xcd\x69\xf3\x51\x34\x34\x7f\x3d\x19\x6b\x60\xf4\xcb\x74\x24\x1c\x95\xef\x9a\x9f\x52\x35\x70\xdd\x1f\xa5\x88\x20\x16\x99\x95\x69\x9b\x9c\x79\x41\x14\x2d\x5a\xf9\x72\x74\x56\x53\x44\xdb\x52\xe9\x64\xc2\x44\x14\xcf\x43\x2a\xd3\x5f\xe3\x6c\xd6\x1c\xc7\xc1\x18\x33\x6f\x7d\x02\x26\x78\x59\x39\x68\xb4\x1a\xe9\xa6\x63\x54\xf6\xf5\x06\xb7\xb5\x10\x4b\x3f\xbb\xea\xf6\x58\x48\xc4\xd9\x58\xf8\xed\xd0\x37\x1a\x72\x3a\x21\xd1\xda\xf6\x62\xf5\x72\x34\x8f\x18\x98\x8c\x6e\x32\x3e\x79\x55\x2c\x16\x03\xa0\x8e\xe9\xcb\x23\x89\x6d\xf7\xf7\x51\xc4\x1a\xda\x00\xb5\x6c\x5b\xaa\xbb\xb1\x0f\x0c\x23\x27\xec\x03\xa3\x03\x58\x45\xe6\x68\xed\x94\x58\xbf\x2e\x88\x7b\x4b\xd4\xb2\x52\x86\xa7\x0d\x17\x97\x14\x04\xbd\xeb\x3e\xc3\xdb\x01\x20\xa1\xc7\xba\x3d\x0b\x6a\x1e\xe4\xc3\xf5\x85\x50\x73\x52\xf5\x57\xcf\x18\x81\x86\xe0\x33\x16\xdd\xa2\xdc\xe4\x18\x62\x91\x07\x8c\x24\x1f\x30\xe4\x21\x4b\x42\xdc\xf8\x1f\x19\x51\x90\xb7\x29\x34\x8b\x50\x7a\x4a\x37\x80\xaa\x7f\x43\xbf\xa7\x04\x99\x17\x64\xc1\x70\x2d\xd3\xf7\x02\xdf\x09\x67\x23\xef\xc0\x02\x5f\x27\x60\x14\xfb\x25\xf0\x85\x4c\x30\x6b\xc8\xfe\xc7\x6e\xeb\xea\x56\x62\xd7\xf1\x4a\x22\xbf\x27\x5a\x18\xdf\x60\x2e\x34\x77\x17\x7d\x7f\x11\x8b\xd6\x06\xcd\x40\x8f\x45\x22\x36\xe7\xcb\x39\x9d\x8f\xf7\x34\x53\x0c\x1c\x1a\x5e\xb6\x8c\xf6\xc4\x40\xbc\x9d\xa3\xad\x55\x65\xec\xf5\xc9\x15\xcf\x19\x5b\x6c\x84\xac\x94\xd1\xaa\xe3\xe6\x31\xcb\xb2\xee\x41\x9f\xa7\xe0\x45\xb7\xad\x76\xef\xf4\x0c\x07\x78\xda\x14\x8d\xd4\x75\x89\xba\x4a\x19\x1e\x02\xb3\x33\x95\xab\xb6\x82\x14\x11\x1b\x44\x06\x2b\xdb\x70\xeb\xa5\x73\x04\x61\xa7\x3b\x8d\x5e\xd3\xb1\x22\x66\xa7\x03\x09\x72\xd6\x6a\x65\xd8\x03\x13\xa6\xac\x29\x73\x40\xb3\x28\xff\xe6\x2e\x9e\xc2\x16\x18\x6b\x4d\x31\x57\xeb\x08\xac\x3d\x40\x6e\x26\x04\xfb\xd0\x61\x74\x1e\x29\x40\x80\x68\x43\x91\x2e\x18\xa3\x45\x08\x84\x2b\xf9\x3d\xc5\x94\x22\x20\x30\x1c\xe0\x93\x29\xe9\x9d\x5f\x67\xb0\x0b\x1c\x49\x43\xe0\x1c\x07\x87\xf8\xe2\xf8\xa5\x78\x81\x84\x14\x77\x3d\x26\x3c\x20\x9a\x44\x20\x40\x8e\x9b\xc0\x05\x06\x45\x63\x61\xae\xd8\xf2\xd0\x9a\x24\x60\xd0\x10\x6c\x77\x26\x2d\x0a\xbc\x70\x25\x1a\x49\xc2\x90\x75\x3d\x1d\x3c\x20\x1c\x81\x11\x84\xd1\x68\x76\x0b\x8c\xeb\x12\x97\x87\x51\xed\xea\x5d\x81\xe6\x61\x88\xd2\x86\xa1\x09\x8c\xe9\x63\x66\x84\x85\xcd\x09\x2d\xb0\x94\x46\xf2\x6d\x8e\x0d\xd5\x20\xc8\x7b\x5a\x14\x38\xc7\x4f\x23\x52\x02\xd8\xfa\x96\xbb\xca\x00\x2e\xb8\x3c\x2b\x92\x35\x67\xe4\xd5\x6b\x70\x07\x83\x79\x73\xfb\x2d\xb8\xba\xd9\x47\x62\xfe\x0a\x24\xda\x60\xd7\x82\xbc\x0a\xd1\x08\x61\x90\x5b\x25\x65\x45\x8e\x29\x4c\x63\xd8\x1b\xac\x0d\x8b\xc4\x91\xa3\x4b\x92\x7c\x40\x49\xfb\x50\x12\xff\x1e\x28\x65\x69\xd6\x7b\xe0\x08\xd0\x4b\xa1\x80\x63\x13\x28\xf0\x58\x50\x85\x83\xb8\x46\x84\x4f\x6e\x02\xc7\xa9\x21\x05\xd0\xd1\x19\x5f\x2f\x45\x9c\xdf\xb1\x07\x02\x19\xdc\xd9\x21\xd8\x69\x8e\x68\x76\x92\x3c\xe7\x00\x17\x0e\x0f\x98\x04\x91\xdf\x9f\x14\xd3\xb0\xfa\xe5\x97\xb2\x17\x8f\x80\x00\x3e\xc2\x19\xc0\xfa\x14\x50\xb9\xec\x1d\xac\x23\xc7\xfd\x8b\xd1\x7d\x5a\xf2\xfa\xa2\x26\x27\x2a\xcf\x81\xcc\xfd\x25\x17\xb2\x50\x79\x5a\x13\x15\x38\x1c\x7a\x8b\x29\xef\x5f\xcf\xae\x1e\x67\x99\xa3\x37\x58\x97\x94\x93\x3b\x16\x6f\x70\xe4\x5f\x2f\xcb\x96\xbb\x50\xfa\x0a\x86\xab\x3a\xc2\xaa\x8a\xec\x16\x3c\xcc\xae\x06\x8f\x38\x7a\xbe\xba\x4d\x26\x40\x26\xac\xe8\x4e\xcf\x7d\x87\x93\x36\x83\x78\x54\xc4\x21\x95\xbd\x06\x37\x00\xb6\xf7\x83\xbf\x2c\x54\xf9\xd8\x03\xcd\x10\x58\x5a\x74\x37\x15\x86\xa2\xc2\x78\x19\xd6\x49\x6b\x83\xa1\x82\xa4\xa1\x26\xfc\x73\x0a\x49\x05\x34\x6f\x47\xb5\x0c\x1e\x17\xc0\x5a\xf1\xcd\x70\xb8\xe3\x8b\x4f\x33\xb9\xb4\x0b\xab\x08\x88\x06\xa4\x06\xf7\x00\xdf\x95\xaa\xc9\x35\xb8\x1d\x4e\xc1\xdd\x29\x21\x6a\x5f\x62\x1d\xb1\x2e\xa3\x37\x2a\x72\xb6\xc5\x3e\xc7\x83\x00\x8f\x04\x87\xca\xde\x23\xdb\x0d\x05\x4f\x25\xae\x1a\x7d\x38\x3d\xe6\xb7\xbb\x71\x0b\x8d\x67\xc0\x35\xd9\xf3\xa0\xb8\x9a\x2c\xbc\x14\xcf\x4c\x07\xf7\x3b\x8e\xf3\x28\xf6\x4a\x07\xfd\x33\xbc\x01\xc2\xa2\x02\x32\xde\xd3\xc7\x46\xc9\xd6\x72\x64\x23\x23\x0a\x2b\xda\x30\x35\xa0\x3f\xda\x07\x5a\x47\xc3\xa4\xc5\xa7\x9b\x10\x81\x21\xb0\x50\xb6\x49\x7b\xed\x80\xed\x29\x9d\xb1\x7e\x87\x7b\x69\xe7\x47\xdd\xa9\x23\x63\x9a\xc8\xe8\x10\x2d\x1f\xc2\xf7\x48\xa4\xd2\x83\xc0\xad\x80\x01\x59\x28\xae\x74\x0c\x78\xf3\x06\x37\x06\x86\x68\xf7\xf2\x6a\xa2\xd1\x0c\x31\xa4\x64\x70\xe0\xf5\xb2\x66\x41\xf8\xfd\x01\x22\xf2\x1e\xe0\xd6\x0f\xc8\x32\xf3\x10\x5d\xf2\x5c\x66\x3e\x5a\x3f\x05\x79\xf5\xe8\x1e\x4a\x5a\x49\x4f\xf0\xe4\xa0\xc2\x01\x68\xdd\xd4\x00\x84\xc2\xd7\x73\x50\x4f\x66\x22\x11\x0d\x21\x72\xd3\x00\x66\x10\xb9\xcb\x79\x12\x86\x94\x63\xd0\xf2\x4a\xeb\x06\x6d\x08\xec\x5b\x8c\x09\x22\x7a\xe7\x21\x7e\x88\x83\x4b\x85\xed\x19\x05\xb8\x18\xdb\xc6\x43\x28\x99\xd3\xe8\x15\xa4\x4d\xef\xe6\x60\xd0\x70\x63\x89\x32\x10\x54\xc4\xb8\xa2\xf5\x81\x22\x70\xbb\x6c\x9e\x23\xf8\x20\x53\xb1\x9a\xa2\xeb\x6b\x5a\xd0\x3c\xf9\x77\x49\x88\x70\xbe\xdf\x29\x3e\x9c\xe7\x38\x79\xde\x02\x08\x43\xdd\x42\xce\x69\x35\x74\x5f\x20\xa6\xe9\x7b\xa0\xa0\xa0\x50\x24\xac\x8d\x01\xa0\x35\x5b\x95\x86\x5a\x33\xe9\xa8\xf1\xe4\xa2\x63\x5b\x7f\x90\x87\x2c\xf1\xdd\xb1\x66\x29\x1a\x0b\xdc\x55\xe1\x35\xe4\xca\x6a\x2f\x2e\x8e\x21\xc3\x16\x6a\x99\x35\xcd\x6e\x1f\x69\xde\xb0\xf7\x62\x8e\x5b\xdb\x3f\xff\xf9\x16\xde\x0e\x78\x83\x6b\x49\xd2\xd7\xe0\x02\xe2\xee\x82\x24\xda\x00\x9a\x40\x8b\x7e\x7d\x3d\xda\x0d\x8c\xc2\x31\xfc\x72\x72\x09\x8a\x80\xb3\xb6\x3c\x81\x0a\x52\x50\xa3\xad\x8f\x62\xc1\x3a\x48\x3c\xcf\xe7\x81\x5f\x17\xb9\x5d\x9f\x63\x1b\x7d\xb8\x13\xce\xb5\xa1\x26\x81\xfb\xec\xbf\x01\xb4\x92\x50\x49\xb6\xbd\xf2\x05\xbe\xc0\x87\x69\x1b\xb5\xb3\x46\xa7\x5c\x80\x27\xac\x3f\x59\x94\xfc\x1e\x3f\x46\x71\xb2\xe4\xce\xaa\xc3\x35\x47\xa8\x12\x98\xa1\xc9\xa0\xd1\x19\x7d\x07\x7c\xd2\x04\xff\x18\xbe\xe1\x69\x7d\x17\xd2\x1f\x28\x74\x53\x34\xbc\x17\xfd\x9b\x5b\x6a\x9f\x8f\x30\x12\xad\x29\x6a\x0f\x63\xf3\x45\x0c\xd0\x30\x40\x45\x05\x1a\x6d\x5c\xec\x16\x71\x13\x19\x6a\xd6\x2a\x20\x95\x72\x85\x80\xc1\x86\xcc\x3d\xd5\x5a\xa5\x4c\x95\x61\x80\xb4\xa1\x48\x11\x1a\x47\x0c\x71\xf5\x7c\x9e\xa2\x8a\xb0\xf2\x3e\x63\x5c\x3c\xe6\x41\x23\x58\x05\xaf\x15\x0a\xd5\x78\xb8\x7b\xfa\x17\xb2\xbd\x91\x04\x55\xcb\x97\x92\x88\x76\xa9\x12\x2b\xa3\xf5\x3a\x0c\xd2\x67\x5f\x0b\xa4\xfb\xec\x5d\xf1\xf8\x44\x6c\x5e\xf5\x7a\x1c\xc5\xbd\xbb\x4b\xfe\x4a\x4b\x35\x18\xe4\xc5\xb4\x07\x43\x2b\x6a\xa5\x8c\x1f\x64\x5f\x17\x78\x9e\xc4\xf3\x11\x61\x18\xb6\x9e\xfd\xc6\xf3\x3c\xe4\x80\xa1\x56\x21\xeb\x54\x3e\x69\xe2\x84\x0d\x5d\xb1\x16\xe7\xa7\x6b\x43\x01\xcf\x3e\xab\xe6\x13\x30\x84\xe4\xb5\xaf\x56\xa9\x95\x6a\x85\xa8\x2f\x27\x87\xb2\x45\x36\x66\x5f\xed\xab\x1c\xba\x2e\x7a\x36\x39\x8e\x66\x68\x0a\xd6\x79\xb2\x86\x56\xcb\xf7\xd4\x08\x59\x8e\x5c\xb3\xd3\x5a\x90\x53\x2e\x92\x71\x85\xa3\xeb\x9f\x83\x11\x9c\x36\xef\x59\x73\x7e\xab\x56\xaa\x85\x2a\x96\xd4\x70\x74\xc9\x80\x82\xc5\x2c\x2f\xf1\xb0\x89\xba\xe3\x3d\x68\x41\x17\x85\x24\xdc\xde\x59\xe0\xb6\x72\x19\xc5\xd2\x56\xec\xa2\xb2\x88\x23\xd8\x02\x03\x60\x80\xde\x95\xc1\xb8\x9c\xab\xe0\x2b\x52\x2c\xc2\x15\x60\x75\x84\x58\x03\xc9\x13\x2c\x01\x83\x0b\xcb\x3d\x92\x64\x48\x8e\x49\x82\xbc\xb6\x1e\x5f\xab\x4f\xda\xc7\x57\xe8\x2e\x7d\xb0\x7e\x86\x17\xbb\x22\xcf\x14\x29\x28\xad\xfc\x47\x45\xf1\xf8\xf8\x64\x76\x20\xdd\x27\xf0\xe2\x49\x19\x91\xd9\xf1\xd8\x44\x0e\x59\xe2\x6b\xbd\x5c\x29\x8d\x66\x85\x25\xff\xed\xd1\xbb\x0a\xf7\x68\x83\xef\x3b\x02\xa8\xe5\x6b\x44\x2d\x56\xe8\xdc\x2d\xb6\xdf\xb2\x2b\x50\x73\x7c\x65\xfc\xc6\xae\x26\x10\xf7\xc0\x10\x58\x3a\xd5\x05\x26\x78\xb8\xfc\x7c\x28\xd9\x2b\xc4\x44\x16\x58\x85\x03\xa9\xce\xc8\x49\x80\xbb\xd2\x23\x6a\x40\x5e\x5f\xed\x64\x50\x4f\xf1\xb5\x21\x89\x29\x83\xcb\x4a\xc7\xbe\xa2\x9a\x6a\x07\xc8\x66\xcb\x00\xd2\xc3\x35\x7d\x26\xc8\x9c\x72\x18\x5f\x7d\xc9\x3f\x86\xec\xb5\xcb\xa9\xf0\xc5\x27\x4b\x60\xe8\x19\x56\x04\xb4\xf6\x1a\xb4\xe2\xaf\x80\x85\x10\x43\x6b\x15\xcf\x55\x3d\x95\x5d\x01\x1b\xc1\xec\x0a\x8c\x9c\x9b\x2c\x81\xbc\xb1\x73\x65\x60\x05\xc6\xde\x05\xc2\x15\x28\xbb\xf7\x4f\x02\x89\x2f\x34\x03\xc4\xd0\xfd\x40\xff\x12\xba\x02\xe5\xcb\xb8\xf7\x69\xdf\x2b\xd0\x81\xcb\x6e\x9e\x4f\x8d\x6b\x92\x78\xba\x1a\x92\xe2\x20\x92\x32\xa1\x1d\xa6\xa1\x5d\xa5\xfd\xdd\xa1\xa1\x57\x1d\xe0\xb7\xce\xb2\x2b\x50\x15\xe8\x95\x46\x4b\x95\xeb\x25\x92\x15\xa8\xdb\xb7\x6f\x02\x49\x4d\x5d\x15\x05\xe3\x01\x82\x13\x0c\x23\x1f\x3e\x81\xb4\xa9\x5d\xcb\x6b\xd8\xe8\x75\xcb\x66\xfe\xe6\xf8\x9b\x59\x35\x54\xac\xbe\x95\x0d\xf9\x6a\x12\x7c\x0a\x5d\xeb\xb4\xf1\xd7\x24\xda\xb8\xb4\x0c\xb3\x57\x38\x0e\x7d\x91\x43\x1f\x1f\xc1\x7c\xa7\x38\xa1\xcb\x05\xbe\xf9\x65\xbb\xec\x47\x89\x08\xf7\xf7\x7a\xf2\x99\x31\x2f\x74\xf4\x91\xea\x35\xea\x5d\x15\xba\xf8\x7b\xb5\x20\xde\x39\x1d\x7c\x5f\x3f\x77\xb2\x3c\x84\x85\x44\x30\xbc\x8a\x3b\x9c\xa2\x98\xca\xa2\xc1\x1b\xc1\x4e\x04\x8f\x1b\x30\xca\xed\x5a\xf4\x5b\x20\xc9\xd9\x16\xfd\x9a\x82\x0c\x75\x1e\xb6\xf4\xf4\xf0\x55\x8e\x95\x46\x9f\x9e\xfc\x8e\x82\xf6\x7d\x9b\xe0\x51\x06\xae\x1e\x9f\x20\x82\xc1\xaa\xc4\xfa\x83\xb9\xb3\x9b\xe3\x22\x92\x01\x02\x92\x9c\x7b\x09\xfd\x50\x78\xe2\x05\xd1\x00\xda\x23\x2d\xaa\x6b\xfa\x9b\x9b\xfe\xaf\x82\xb5\x83\x5e\x81\x91\x41\x1b\xa6\x6e\xfb\x6d\x3e\x5c\x7e\x76\x9c\x5b\x6c\x7e\xc7\xcc\x0c\xe9\xf3\x83\xb5\x7a\x47\x05\xaf\x41\x60\xea\x11\xea\xfa\x67\x4f\xcb\x47\x4e\xd0\xad\x85\x95\xf3\xcf\xcf\x40\x62\x5f\x13\x24\x5a\x3b\xf9\x93\xaf\xc1\x2b\xc8\x10\xa2\xb0\x11\xc1\x38\xc0\x01\xc8\xfd\x1a\xc0\xb0\x2c\x87\x7a\x8b\x19\x5d\x24\x08\x02\x8b\xec\x54\x7c\xc3\x13\x6a\xca\xbd\x9e\x0b\x69\x10\xb5\x6f\x30\xb8\xe5\x3d\x25\x94\x62\x30\xa6\xf0\x16\xa1\xa3\xaf\xb8\x20\xd1\x2b\xf0\xe8\xf1\x80\x35\xd7\x69\x2d\xb3\xb2\xda\x07\xb2\xf1\xcd\x50\xd4\x87\xdf\x38\x9e\x47\xb8\x42\x0a\x79\xf8\x8d\x2d\x00\x92\x61\x53\xd6\x6c\xfe\xfe\x14\xad\x44\xf9\xc1\xf2\x2e\x12\x97\xd2\x4e\x6d\x0f\xf6\xc5\x5c\xab\x26\xfb\x8b\x73\xbe\xf3\xc0\x6b\x8a\xf4\xcd\xad\xfa\xfb\x83\xa1\x7c\x73\x2b\xff\x0e\xa9\x38\x8a\x95\x57\x4b\x1c\x6e\x2e\x87\xaa\x9a\xb2\x12\xb8\xc7\xea\xbc\x65\xd5\x33\xf6\xe2\x22\x65\x3b\x02\xab\x29\xba\xc2\x1b\xd9\x4b\x9d\xf6\xe5\x50\x9b\x95\x74\x43\xfb\xd7\x3f\x7f\xe3\x79\xa7\xea\x7f\x3e\xa4\x80\xcc\x05\x32\x9c\x96\xfe\xf9\x90\x6a\xb8\x85\xc7\x96\x2a\x81\x04\x10\xd7\x80\x0a\x68\xe3\xd1\xf9\x27\x03\xbb\xa8\xc5\x60\x1c\x43\xa3\x90\xf9\xec\xf9\xf6\xb0\x79\x0a\xe7\x82\x2a\x41\x80\x0b\x22\xac\xf4\xe8\xd2\x20\xc4\x44\x4e\x43\xee\xcc\xa9\x2a\x07\xd9\xf5\xa5\x9e\xa8\x7e\x3e\xba\x2c\x88\x6e\x64\x61\xd7\x91\x3b\xda\x25\x59\x71\xbf\xbd\x79\xfe\xd9\xb0\x73\xa7\xe8\xb2\x72\x89\xbc\x43\xc0\xfd\xdd\xdf\x33\xe1\xee\x93\x82\x98\x2b\xc0\xf0\x78\x29\x08\x01\x49\xcc\x75\xa9\x18\xbf\xbc\x47\xae\xd7\x41\x7a\x14\xbc\xac\x84\xe3\xb8\x5f\xee\xa1\x57\xdf\x19\xac\xa8\x1e\x83\xb7\x41\xf3\x17\xff\x1b\x5b\x79\x43\x52\x85\x80\x2f\x75\x1e\xf3\xc9\x54\x3b\xd3\x93\x97\x4e\xe4\x00\xf7\x87\xc3\x37\x50\x7d\xd2\x93\xfb\xfe\xe0\x09\xe8\x77\x88\x5a\x19\x03\x78\x1f\x4c\x98\x20\x2c\x65\x7d\x60\x4c\x51\xb0\x3e\xb7\x05\x82\x0b\x68\x89\x01\x1e\xb5\x3e\xae\x18\xf0\xdf\x8c\x81\xf0\xbc\x53\x99\xa9\x89\xdf\x38\xda\xa0\x1f\xed\x9f\xb9\x95\xc0\x3f\x31\xb4\x0e\x28\xe2\x61\x88\x88\x8d\x5e\x55\x5c\x57\x56\xa5\x46\xa9\x5d\xab\x94\x1a\x4b\x69\x69\xcc\xa7\x28\x9f\xcb\xe5\x0e\xa5\x52\xa9\xd2\xcc\x55\xd0\x75\x77\x52\x29\xd7\x16\xf3\xe1\x7a\x56\x43\x07\xfd\x6a\x91\x60\x1b\xf5\x0d\x8d\x4d\x91\x56\xa3\x2d\x2e\x31\xd1\xec\x8f\x5e\xf6\x66\xbe\x20\xb4\x1a\xe2\xb6\x3f\x6a\xcf\xbb\x13\xe4\x30\x9e\x97\xab\xcb\xd9\x5a\x1d\x35\xd5\xd3\x72\xda\xa5\xc6\xe2\x70\x03\x24\x63\xd3\x9b\x0d\x84\xfe\x99\x58\xf5\x9b\x2b\x0a\x34\xd0\x03\x33\x9b\x22\x8b\x51\x99\x60\x66\x47\x93\x3d\xab\x44\x7f\xd4\x5e\x2f\x1b\x45\x61\x39\x56\xad\xdf\xc6\x72\x3e\x5c\xbf\x9c\x5a\x2b\x50\x55\x09\x66\x5e\x46\xe8\x33\x22\x0c\x66\xc3\xfd\x42\x9a\xac\x2c\x7c\x5a\xb5\xee\x9e\x95\x26\xab\xee\x88\x38\xbc\xcc\x3a\x87\xee\xa6\xb4\xea\x6e\x6a\x66\x67\xdc\x41\xba\x67\x16\x7f\xa9\x94\x4e\x9d\x6a\xed\xf0\x72\x2e\x9d\x5e\xce\xb5\xd3\xcb\xb8\x86\xf7\x36\x9d\x53\x6f\x53\x3a\xb4\x2a\xa5\x95\xfb\x47\xe8\x0b\xa5\x02\x2b\x0d\xa5\x9e\xd8\xae\x0d\x85\x0b\x3e\xa7\x65\x63\x51\x6c\x49\x6b\x84\x6b\x96\xa8\x97\x53\x11\xe7\x70\xd6\xe4\xce\x1d\x93\xc1\xdb\xf2\xcb\xb9\x46\xf6\xc6\xdb\x7d\xa7\xda\xda\x77\x36\x2d\xc3\x2a\xff\x32\xef\x92\x8c\x3c\x5c\x83\x0a\x6a\xb2\xa7\xce\xb5\xde\xed\x50\x64\xb1\xee\x89\xb6\xfa\x30\x2b\x9a\xad\x66\x7b\xbb\xdc\xa8\xeb\x85\x54\x44\xb9\x2a\x22\xb4\xae\x6d\x12\xcc\xbc\xe4\x6f\xd3\x64\x4f\xa4\x43\x93\x11\xb9\x61\x30\x64\x0f\x1a\xf5\xc3\xcb\xb9\x66\x76\x2a\x05\xa1\xd5\x5c\x1b\x4c\x83\x3c\xf7\xe4\xb5\xc1\xd6\xd0\x6e\x7f\xd4\x56\xb8\xe6\xf0\xd0\x13\x0a\x7b\x46\xee\x98\x0b\x87\x56\xe6\x02\x2b\x1a\x2f\xf8\x7a\xcd\x56\x0a\xc7\x97\x4d\x69\xcf\xcc\x90\xbd\xaf\xcd\x33\x57\x6f\x8b\xcb\x0d\x22\xd0\xcd\x21\xc2\x56\x95\xfd\x0b\x46\x9e\x5f\xa4\xfa\x96\xc1\xda\xe2\x8b\xd4\xdd\x33\xa3\x22\xb1\x98\x97\xf6\x1d\x8b\xce\x78\x77\x02\xe6\x65\xf1\x05\x6d\x8b\x2c\x56\x44\x59\xa9\x2b\x4e\xa4\xa9\xd4\xb2\xc6\xa9\x81\x1e\x7a\xdb\xee\x69\x39\xab\x23\x0c\xde\x9e\x30\x58\x51\xef\x8f\xda\x65\x07\xff\xf2\x80\x6e\x14\x11\x06\xef\x2a\x0c\x5e\x5a\x0d\xd0\x0e\xda\xaa\xa1\xeb\x05\x26\x9a\x5c\xa3\x78\xa6\x2b\x4e\xf9\xf1\x04\xa1\x46\x33\xf2\xcc\x35\xea\xe6\x02\x9b\xb6\x87\x55\x44\xb0\xd2\x5f\x24\x51\x5d\x56\x15\x64\x70\xee\xe0\xbd\x6a\xbb\x36\xdc\xac\x88\xee\x64\x70\xec\x4c\x26\x48\x6f\x5c\xaf\x0d\x90\x1a\xd6\x39\x0f\x1b\x83\x33\x7b\xe8\x4e\x16\x78\xd7\x57\xdf\xb0\x51\xdc\x70\x33\x54\x64\xe4\xa1\xaf\xbe\xa1\xbf\xbe\x7a\xa7\x7a\xb3\xbe\x74\xab\x7a\xb4\xf8\xb0\x3b\x1e\xab\xb5\xe5\xbc\xad\x72\xd2\x74\x3b\x94\xdb\x7b\x66\x54\x76\x69\xa8\xaa\x8c\xdc\x45\x16\x33\x72\xb3\x9c\x88\xb5\xfe\xa8\x6d\x8d\xa7\x49\xcf\xc4\x6d\x6f\x33\xac\x76\xce\x2c\xd1\xd9\x0e\x6b\xbd\xea\x0a\x1d\x56\x6b\xc7\xe1\x78\x40\x76\x26\xc3\xea\x60\xbc\x38\x77\x6b\xcb\x6a\xf7\x5c\x42\x87\x1b\x16\x69\x09\x97\xfa\xb6\x0c\xd6\x45\x99\xd9\xd4\xe4\x6a\xd7\xfa\x96\x8d\x40\x7d\xf5\xdb\xf5\x15\xd2\xad\xea\x61\x0f\xe3\x45\x8b\x47\x5f\x70\x9b\x1f\x47\xc3\xda\xc2\x86\x73\xe7\x9b\x3d\xff\xac\xfc\x3e\xbe\x3e\x2c\x66\x5d\x6d\x39\x1f\xac\x96\x33\xd2\x9a\xe7\xa7\xd6\xa6\x90\x2e\xf1\xb9\x74\x8e\x3f\xe7\xd3\x7b\x99\x28\xe6\x18\xb4\xd8\xef\x9f\x0a\x7c\x75\x9f\x37\x71\x9d\x4a\x6b\x2a\xd5\xe3\x25\x12\x8c\x37\x84\xd9\x5c\xe1\xc5\x3c\x87\x77\xf7\x34\xc6\x6d\xe6\xa8\x31\x9f\x20\xc5\x97\x21\xd2\xc9\xf5\xce\xec\xf9\xe5\xa4\xcb\xad\x63\x81\xa9\x1f\x3b\xfd\xca\x81\xad\xe4\xf6\x1a\x56\x30\xf3\x3b\xd2\x7c\x01\x98\xc1\x8c\xce\xba\xd6\x38\x68\x14\x65\x68\xcf\xe6\x6e\x47\x0b\xb2\xba\x9b\x6d\x15\xea\x79\xad\xb4\xd3\x40\x5e\x9e\x18\x49\x95\x16\x22\x49\x4f\xc5\x76\x6f\xb4\x5d\x56\xfa\x1b\x05\xeb\x08\xc4\xae\x2d\xb4\x40\x63\xbd\x18\x55\x57\x4a\xa3\xc4\xe3\x64\x91\x6f\x1a\x14\x98\xaf\x71\x4e\x9e\x22\x2c\xde\x3e\xb2\x8d\xa2\xc9\xcc\x8e\x1a\x2d\x89\xca\x12\x5b\x8a\xcb\x46\x57\x58\xcc\xca\xfc\x5c\x44\xd9\x19\xaa\x2e\x67\x75\x6e\x36\x9d\x0e\xc7\x13\xb1\x3e\x18\x23\x64\x77\x5c\x33\x9e\x47\x93\x75\x73\xb8\x9d\xd6\x06\x48\xbb\x3c\xa8\x16\xd2\xfd\xf1\x21\xdf\xdb\x6c\x89\xee\x79\x81\x76\xab\x9d\x53\x67\x5c\xda\xbf\x08\x88\xfe\x7c\x52\xd4\xe7\x0a\x2b\xb5\x47\x83\x4d\x4b\xa8\xad\x9a\x47\x82\x6b\x96\x75\xba\x31\x5c\xcd\xeb\xeb\xc9\xa4\x76\x6c\x0d\x6b\xa5\x42\xaf\x3a\x38\xbc\x54\x56\xdb\x56\xf9\xb0\xa8\x97\x4b\x9d\x4a\x69\x50\x2a\xb5\xf8\x6d\xcd\xfa\xb7\xb4\x2a\xe9\x25\xfb\x3f\xa5\x54\x5e\x59\xbf\xa9\xc9\xe6\x20\x0c\xca\xeb\xc6\x62\x25\x56\x9e\xd7\xf3\xfa\x4b\x79\x50\xca\x7f\xbf\xac\x00\x8f\x8e\x99\x0d\xb2\x86\x13\x5c\x11\xe1\xc1\x1d\xcb\x8d\x03\x68\x2d\x37\x38\x99\xa7\x41\xc1\x59\x6e\x7c\x2a\xd6\x0f\xad\x32\xdd\xf9\x14\x9d\x2d\xa5\xe5\xfe\x6b\x95\xf9\x5a\x65\x7e\xfd\x55\x66\xf0\xb9\xab\x4c\x6d\x70\xfe\xb3\x56\x99\x01\xf9\xc9\xab\x4c\xf9\x6b\x95\xf9\x0f\x5a\x65\x8e\x2f\x2f\xe0\x50\x13\x2a\x25\xb9\xb7\x2c\x9f\x81\x7f\x95\xb1\xd6\x80\x9f\xba\xce\x5c\x8c\xd2\xf1\x3b\xd1\xdb\x9b\x26\x1b\xd0\xaa\x1d\xa0\xd6\xc7\xb3\xeb\x04\xb6\xb0\x04\x6c\x0b\xeb\xdf\xd1\x91\xdf\xfd\x3b\xd9\xcb\x69\xcf\x65\x1b\xea\xc7\xd6\x25\x49\xd0\x40\x17\x4f\x20\xff\xbd\x65\x5f\x25\xbf\xda\xfe\xd5\x9f\x9f\xff\x0e\xe9\x6f\x54\x1b\xb8\x73\xa4\x21\x7b\x65\x8c\x27\x19\x26\xff\x16\x4b\xc1\x9b\xf5\x13\xf9\x42\x1e\x70\xb1\xf5\xe3\x48\xbe\x08\xb8\x60\xfd\x57\xf3\x81\x2f\x2d\xce\x90\xe9\xe0\xff\x61\xe6\x8e\xed\x72\x88\x1b\x2e\x91\x01\x2e\x0e\x38\x04\x4e\xe2\x44\xec\xa1\x53\xf8\xe4\x22\xee\x7e\xfc\x05\xd2\x77\x6f\x1d\x53\x8f\xe1\x1b\x25\x92\xc0\x71\xe2\xcd\x13\x42\xdf\x11\x46\xcb\x1f\x85\x83\x52\x8f\xb6\xe9\x26\x7a\xe6\x14\x57\x1b\xc4\xd8\x07\x00\x78\xcb\x4a\xc7\xaa\x6b\xde\x8e\x42\xb8\xb7\x0b\x82\x26\x44\xb7\x81\x14\x7d\x31\x27\x5e\x42\x73\xe2\xd6\x27\x18\xaf\x97\x8a\x89\xa5\x14\xc2\x3c\xd8\x44\x55\xa0\x45\x65\x75\x39\xdc\x09\x1d\xed\x5d\x4f\x0b\x31\x9c\xa4\x8a\xa4\xdf\xc1\xfd\x72\xa9\x2f\xce\xf6\x1f\xc5\x3e\xda\x6d\xdb\x03\xf7\x02\x6a\xfd\xf3\x0a\xb1\xc1\x91\xd6\x27\x88\x77\xf8\xf8\xf0\x35\x14\x8a\xd4\x67\xdf\x8b\x06\x4e\x01\x88\xf5\x79\x8b\x3b\xe9\x4a\xa8\x1a\x89\xc4\x63\xf1\x78\x36\x52\x93\x1b\x25\xd6\xe6\xf1\xcb\x89\x26\x10\x45\x41\xd5\x05\x3d\x7a\x1d\xfa\x7a\xcc\x77\x31\xbe\xba\x71\xa0\x7c\x27\x49\x76\x18\x93\x70\x3f\x60\xe6\x54\x41\xd6\x81\x91\x72\xc4\xa2\x55\x87\x7d\x6a\x15\x96\xac\x50\xa0\x1b\xf9\x30\xda\x5b\x44\x1b\x01\x95\x76\xfc\x4c\xae\x31\xde\xbc\xf3\xc8\xab\x95\x14\x0f\xda\x93\x1f\x7f\x03\xa4\xf5\xf1\xee\x7b\x5d\xd8\x38\x70\x6f\xd1\x97\x60\x1f\x46\xb9\x87\xaa\x30\x2c\x9c\x03\xc9\x28\x0a\x98\xef\x96\x23\x86\x04\x0c\xaf\x98\x7a\x4c\x11\x57\x53\x2d\xd4\x0a\xec\xbb\x08\x15\x3a\x4e\xbe\x9e\xb4\x51\xf0\x93\x36\xca\x39\x69\x8b\x47\xd6\x9b\x13\xd0\x13\xc5\xa8\x85\xfa\xfa\x00\xa4\xdb\x5c\xf8\xfe\x5a\x62\x5b\xde\x12\x17\x99\x62\x08\xe2\xdc\xa9\xf5\x5c\x38\x7c\xc4\x74\x09\x93\xf1\x8e\x18\xfd\x76\x6b\x5f\x5a\x0a\x8d\x1f\x16\xc7\x7f\xc2\x37\x2a\x3e\x62\x87\xe8\x79\x89\x7d\xa4\x1e\x53\xd0\xa0\x79\xfe\xb1\xf8\x01\xe2\xdb\x28\x7d\x90\xf6\xd9\x22\xbc\xb9\x22\xf2\xfd\xf6\x48\x38\x0d\x27\x0d\xc4\xc7\xc6\x38\xba\xb8\x24\x50\xce\xef\xc7\xe0\x75\xca\x7f\x32\x0a\xed\x1e\x16\xd3\x3d\xbf\xd4\xc6\xc3\xc2\x09\x12\xc8\xd6\x27\x61\x42\xb1\x1a\xc3\x02\x2a\x94\x1d\x9f\x13\x43\x27\x5e\xb3\xc3\xcb\x1a\x82\xfa\xe0\xfb\x6e\x7d\x75\xaf\x0f\xbd\x66\x24\x3d\xe3\x16\xfe\xc7\xed\x03\xc8\x92\x4d\x8f\x9e\x4b\x0f\xe4\xfb\x3f\x7c\xce\x1d\x65\x9a\xdd\x72\x9a\xa2\x42\x74\x15\xc0\x58\x1f\xd8\x71\x99\x2d\xfd\x60\xab\xc7\x6b\xe8\x2a\x38\xc4\x07\x26\x66\x49\x70\x04\x6a\xe8\x4a\xdd\xa5\x81\xf7\x2d\x93\x4e\x5d\xfe\x00\x58\x76\x10\x2c\x0c\x16\xce\x23\xc1\x6b\x24\x18\xaf\xd3\x77\x80\x56\xbc\xb8\x9f\xc5\xb7\x1e\x0e\xe8\xe5\x57\xcb\xec\xb5\x31\x85\xfa\xc4\x37\x12\xbe\x4e\x1b\x52\xc2\x60\x87\x9d\x61\x77\xa3\x98\x15\x3b\xf8\xd6\x0c\x01\xa4\xc4\x3e\xc3\x74\xc0\xcb\x68\xdb\x10\x29\x41\x5a\x85\xdc\x1c\x2e\xe9\x6e\xe9\x6b\xd0\xfb\x4b\xe6\x55\x2e\x27\x4a\x46\x9f\x18\x85\x45\x11\x8d\xd4\x96\x24\x09\xdf\xa2\x4e\x42\xf0\x28\x32\x09\xe7\xcf\x4f\xb0\xd3\x6b\x12\xf9\x3d\x45\x22\xbf\x27\xcb\xf8\xa8\x18\x76\x47\x58\x52\xf6\x00\x82\x5a\x52\x4f\x82\xe2\xcb\xee\x08\xe4\xf2\x39\x3c\x30\xdb\xa5\xa1\xb1\x23\x45\x20\x07\xe9\xe1\x39\x1b\x09\xef\x70\xc7\x3a\x53\x80\x1f\x8f\xdb\xc1\x47\xdd\x85\xd6\xd5\x87\xa1\xfe\x83\x61\x98\xe4\xec\xb7\xa8\xc6\x0f\xe1\x58\xb8\xa4\xf1\xe2\x5f\xc1\xf6\x0c\x50\xee\xf0\x5d\x6f\xf5\x1d\xa1\x13\x9e\x27\x91\x2f\x52\x1e\x7c\x5b\xe8\x05\x86\x5b\x01\x49\x90\x85\x8c\x1d\x72\xfb\x12\xda\xff\x9a\x2b\x18\x6b\x93\xc9\x68\x40\xe6\x80\x16\xcd\xde\x08\x1a\x1d\x57\x54\xa5\x55\xa0\x19\x1a\x2d\x88\x41\x88\x64\xd7\xdc\x70\xef\xed\xa2\xaf\x57\xaf\x0e\x91\x56\x75\xf0\xe8\x7d\xb9\x7a\x04\x78\x82\x39\x52\x9e\x4b\x0c\x38\x16\xf7\x68\x49\xfc\x70\x18\xd1\xdd\x66\x26\xb0\x8b\x7c\x0b\xf8\x6f\xba\x3e\x98\x90\x55\xcc\x65\x86\x77\x4e\xf2\x80\x8b\xca\xb5\xa9\xcb\xf5\x59\x45\xcc\x68\xc0\xe2\x85\xa8\x15\x22\x74\x0c\xa3\xca\x2b\xef\x18\x46\x98\x96\x7b\xc3\x03\xf2\xdc\x58\x29\xa5\x52\xa9\xd4\x1d\x4d\xd6\xb5\xc9\xca\xfa\x3a\xb0\xfe\x6a\x96\x4b\x9d\x52\xa9\x54\xe5\x46\xb9\xe6\xc6\x4a\x68\xd4\xcb\x9d\x69\x6d\x72\xee\x9c\xfb\xb9\x5c\xae\x68\x30\x33\x74\x30\xa9\x57\x9e\x05\x45\x2d\x0f\x26\xf5\x02\xdf\x3c\xf2\x73\x34\xd7\x9a\x8b\xd2\xdc\xae\x60\x22\xd6\x06\xd3\x41\x4b\x9a\x75\x06\xb5\x46\x69\x50\x9f\x4d\x06\x75\x69\x31\xa8\x63\xec\xa0\x26\xb5\x06\x35\xac\x33\xa8\x0d\x6a\xa5\xca\x89\x28\xd7\xa9\xfc\x5a\xad\x1d\x6c\x83\xe3\x68\x32\xed\x0d\x9f\xc9\xca\xa2\xd5\xfa\x97\xad\x7a\xba\xd4\xf4\x31\xbc\x7a\xd9\x42\x68\xca\xe1\x53\xbb\xce\x5a\x7f\xd5\x9c\xae\x57\x0e\x54\x75\xdd\xfb\x48\xd7\xeb\x35\xaf\xeb\xdd\x55\x77\xca\x9d\x17\xe5\xd2\xa4\x5e\x1e\xae\x56\x2f\x9d\x52\xed\xbc\x28\x9f\xb0\xe2\xb6\xd6\x5f\xc1\xbb\xeb\x8c\xad\x37\xb1\xbc\xee\xc7\xf2\xdf\x55\x0a\x39\x66\x88\x0f\xc8\x54\x7f\xac\x54\x88\x86\x45\xb3\xd6\xe7\xcf\x93\xa8\xd7\xa8\x06\xd7\x5e\x55\x44\x45\x8f\xbf\xef\x5f\xbc\xee\x4c\x8b\xfe\x3d\x06\x09\x71\x5c\xf6\xd5\x07\xd3\x10\x7c\xb6\x9c\x04\x31\x1e\xd1\xb4\x5c\xc1\x12\x8c\x71\x0f\x17\xca\xc1\x28\xb3\x5e\x8b\x8e\xc4\x81\xa9\x96\x10\x6d\x2b\x12\x3e\x12\x6e\x52\x4a\xd4\x6e\x2f\xfe\x65\xd6\xc7\x5e\x9a\x55\x4d\x30\x02\x9d\xfe\xc0\x04\x2a\x4f\x4a\xa5\x32\x18\x54\xec\x09\x54\x3e\x9d\xe7\xcf\x7d\x0b\x00\x9d\xda\x13\xc8\xfa\x7a\xee\x9c\x5b\xee\x9f\x1a\xda\x1d\x4f\xfc\xbf\xad\x7f\x4f\x9d\x4d\xcb\x97\x66\xa7\x53\xbd\x8d\x12\x4a\xb7\x61\x91\x6e\xb5\x84\x74\xab\xad\x43\xa7\x5a\x3a\x75\x36\x35\x5f\x5e\xcd\xca\x3b\x77\xec\xcf\xa5\x4e\xa4\x5b\xb5\xd2\x07\x90\x36\x3a\x64\x6f\xbc\xb5\x26\x3d\x6a\x30\x73\x6b\x92\x4b\x4b\x69\x61\xd5\x3b\xa8\x95\x4b\x52\x5b\x58\x8e\x85\x7e\x3b\x0f\xf0\x7d\x6e\x89\x0d\x0f\x6c\xb3\xb4\x6a\x55\xca\x69\x5e\x26\xd7\x8b\x59\xfd\xcc\xe2\xdd\xd2\xa0\x56\x51\x76\xcf\x02\x2d\xa9\xbb\xce\xa6\x75\x1c\x4f\xd0\x6e\x63\xb8\x5d\xe0\xdd\x33\xcb\x34\x8e\x7a\xb7\x3a\xc0\x0f\x85\xbe\x25\x2f\xaa\x2b\xa2\x57\x2d\x1d\x3a\x95\x83\xfe\x52\x59\x29\xcf\xe5\xfe\x18\x29\xce\xd2\x47\x95\xb4\x08\xf4\xdc\x1c\x8e\xc6\x62\xa7\xb4\x26\xaa\xd5\x1a\x87\x16\xf2\x69\x49\xdc\xc8\xeb\xfd\x74\x05\x48\x59\x5a\x77\x06\x02\xb1\x2e\x15\xcc\xe3\x16\x6b\x89\xcd\x5e\x6f\xc1\xa2\x08\xd6\xc9\x6d\x66\x48\xa1\xd0\xce\x61\xa2\x30\x1e\x94\x4a\x15\x83\x6c\x0f\x6b\xf5\x09\xe8\x6a\x3a\xde\x43\x4d\x09\x29\x0d\xd6\xa0\x41\xca\xad\x7e\x45\x69\xed\xd0\x41\x3e\xad\xe5\x3a\x72\x71\x8e\x3e\x17\x8f\x46\xad\xd4\x29\x0e\x5f\x06\x52\xaf\x7a\x3e\xf5\x50\x76\x9a\xee\x1a\xe7\xcd\x68\xbd\xde\x34\xb7\xc3\x6d\x69\x25\x17\xab\x9d\x0a\xbd\x90\x87\xf3\x56\xa3\x37\xe0\x8c\x99\xb4\x45\xcf\xc3\x99\x84\xec\xbb\x5d\x8a\x3e\xa7\x17\xe9\x3d\xc6\xcf\x97\xa4\x30\x9e\xe7\xb6\x4b\x62\xd9\xd8\x4f\xba\x63\x2a\x37\x6c\x9b\x95\x4e\x6e\x3a\x1d\x3e\xd7\xcb\xf9\x45\xf9\x60\xc8\x0b\x74\x8b\xaf\xb1\x03\xa3\xd0\xcd\x53\x61\x58\x1f\x54\xb0\x69\xc3\x64\xd1\x6a\x1e\x47\x66\xb3\x97\x11\xd6\x68\x2d\xb1\x3c\xdd\x21\x4e\x93\x71\xba\x68\xcc\xe9\x97\xee\xa1\x28\x21\x52\xab\x68\x2a\x5b\xa0\x0e\x5f\x40\x25\xbd\x3c\x55\xf8\x7a\x45\xd9\x1d\xd8\xed\x6e\x8a\xcf\xca\xcd\xfa\x92\x3e\x36\x5f\xea\x5a\xf7\x38\x55\x57\x93\xe9\x70\xb6\x59\xe5\x36\xa2\x80\xcd\x18\xbe\x49\xcc\x4e\xc7\x85\x3c\x63\xa7\x53\x64\x78\xce\xd7\x17\x1b\x8c\x9a\x17\xc1\x79\xc0\x9a\x35\x7c\xba\xd8\xce\xcf\xf5\xd1\x42\x95\x8a\x60\x47\xa9\xbb\x91\x60\x76\x17\x25\x7a\x93\xd6\x90\x86\x50\x3f\x3e\xef\x49\xa3\xd6\xdb\x1d\xa7\xfc\x14\x31\x0d\xad\xb2\x5d\xd6\x73\xcd\xca\x7c\x6c\xf6\xb8\xc6\x19\x6b\x35\x9f\x99\xea\x90\x3c\x70\x6d\xaa\xcf\x81\xa1\xd4\xd2\xf9\xbd\x50\xab\x22\x15\x72\x39\xcd\x2b\x1b\x9e\x28\xe4\xf7\x64\x91\xef\x37\xf5\x31\x5a\xc8\xe5\x68\x74\x21\xa3\xcd\x36\xa7\x8c\x36\xad\xc9\xbc\xdc\x20\xe7\x2b\xba\x0c\x36\xeb\xce\x62\x2a\x8d\x8b\x65\x94\x1b\x4e\x7a\xdd\x0d\xf1\x6c\x9c\x86\xcd\xae\xd4\xdd\x4e\x5e\xaa\x0b\x50\xc5\x2a\x8d\xe9\x46\x58\x22\x2a\xdd\x7b\x46\x37\x53\x73\xf1\xdc\x52\x37\xed\x71\x2f\x2f\x15\x39\x65\xbf\xaf\xc9\x38\x73\xce\x55\x9b\x04\x41\x20\x3c\x96\xe6\x8a\xfc\x5e\x9c\xae\xd3\xc4\xcb\x8b\xf9\x4c\xb1\x9d\x42\x63\xca\x3e\x3f\x6f\xa5\x1d\xbe\xdc\xed\xca\x3c\xb3\xa6\x01\x4f\xc8\x69\x55\xd8\x94\x4d\xae\xbb\x6c\xe2\xcd\x74\x6f\x86\x77\x95\xb4\xc6\x8c\xa5\xe9\x7c\xc3\xb3\x42\x9f\xd1\x73\x8d\xe9\x20\x3f\x98\x50\xc6\x6c\x37\x99\x91\xa2\x22\x03\xbe\xc9\xcb\x24\x4f\x1d\x5b\xc5\x6a\xe9\xc8\xed\x06\x13\x5c\x26\x49\x73\x52\xc0\x50\x69\x83\x2d\xcd\xc9\x0e\x19\x2d\x14\x4c\xd8\x97\x48\x63\xbc\x3e\x6e\x71\xed\x99\x32\xd3\xa6\xb6\x30\x96\xc2\xee\xd9\x6c\x08\xb3\x4e\x6d\xcb\xa8\x44\xae\x57\x7f\x69\x8d\x5b\xfb\x93\xc6\x83\xad\x81\x93\xb3\xc6\x7e\xb3\xef\x53\x3d\xb1\x36\x3c\xf4\xa9\xf4\x74\x82\x17\xcf\x69\x6b\xc3\x92\x46\x46\xe3\x75\xbf\xb0\xd9\xa6\x91\x11\x50\x4a\x60\x3d\xdc\xf4\x18\x89\x5b\xd3\x08\x8f\x2d\x0e\xbc\xc9\x76\x74\x3d\x6f\xd2\xfd\x69\x1d\xd7\xc6\xeb\x6e\xae\xd6\xa4\xf8\x26\xbe\x58\xd7\x0c\x9c\xa9\xa2\xe7\x8e\x78\x68\x18\x66\x21\x57\xa0\xc9\xb3\xd6\x6c\x9b\x43\xaa\x7b\xd2\xb6\xcf\x9d\x67\xb2\x4b\xee\x76\x7c\x11\xec\xa9\x05\xb1\xe6\x1b\xfc\xa8\xaf\xb1\xf9\xe5\x6c\xb9\xeb\x0f\xb4\x41\x9f\x4e\x1f\xc9\x0a\x0f\x0a\xf5\x1e\x49\x4a\xf8\x5c\x63\xf5\xc2\x18\x1f\xd7\x27\x8b\x01\x72\xde\x6d\xc8\xcd\xb8\xaf\x74\x24\x7a\x35\x38\x13\x8c\x56\x5f\x17\xaa\xf8\x91\x7c\x29\xf6\xe4\xd5\x69\x78\x4a\xb7\x6a\x34\xd2\x5e\x95\x87\x22\x5d\x9e\x95\x5a\xed\xc5\x69\xba\xd8\x2c\xaa\x75\x22\xdf\x3f\x74\xa7\xb9\xf1\xa1\xd4\x1a\xf2\xe5\x74\x59\xa8\xb3\x27\xa0\x88\xec\x5a\xd8\xd0\x54\xba\x9f\x3f\x72\xb9\x5c\x6b\x0f\x5a\xe9\xb6\xa8\x1e\x64\x8d\x5b\xf6\xf3\x47\x70\xe4\xaa\x54\x8e\xe8\xe6\xfa\xd5\x73\x1f\xa1\xba\x4b\x8e\x2d\xec\xfb\x44\x33\x3f\x7b\xae\xcf\x5f\x98\xdd\x66\xc0\x4e\x8a\xe3\xfc\x60\xb9\xaf\xaf\x9b\x5c\x37\x97\xd6\x65\x4e\x3a\x51\x62\x65\x30\x1c\x14\x9f\x7b\xa5\xc2\x50\x41\xc7\xc7\x8d\x61\x2c\xcc\x89\x38\x27\xcb\xcf\x24\x9f\xce\x51\x8b\x76\x6b\xb6\x11\xbb\xf5\x61\x6d\xab\xbe\xb4\xe7\x8d\x81\x39\xeb\x21\x28\xc0\xa4\x3e\x3d\x21\xd4\x12\x9a\xdf\x35\xf3\x42\x0d\x3c\xf3\x43\x5d\xd3\x76\x6b\x22\x67\x20\xeb\xf6\xa0\x5f\x6b\x8f\x94\xed\xe4\xa5\x5f\x57\xdb\x3a\x40\x5a\x26\xd2\xef\x0e\xba\xd3\x51\x57\xee\x99\x85\x65\xb3\x3f\x5b\xb2\x85\xf1\x64\xbd\x2d\xaf\x6a\x95\xa1\xb0\x5d\x76\x34\x95\x98\xef\x8a\x33\xb4\xdb\x37\x99\x6d\xab\x35\x91\x88\xb5\xac\x19\x27\x61\x3b\x6a\x6d\x76\xe9\x0d\xbb\xc5\x99\x5e\x79\xb0\x55\xe5\x51\x59\xdb\x4e\x8a\xf9\xd2\x8b\x98\xc7\xd5\xf6\x6e\xce\xd7\x59\xb2\x24\xb6\x77\x5d\x9c\x9d\xef\x95\x71\xed\xb9\x75\x6e\xb3\x26\xd9\x1f\xd5\xea\xbb\xa6\xd0\x50\x29\x7a\x7d\x4e\xe3\xf8\x12\xd7\x66\x86\x7a\x5e\xd7\xf8\x67\x94\xaa\xf6\x0a\xf3\xb9\x80\x8f\xb0\x7d\x6b\xcf\x4f\x2a\x4d\x59\x9d\x69\xac\xbe\x6c\x0a\xcd\x69\xa9\x3e\x69\x20\xcf\x83\xb6\x52\x5b\x6d\x1a\x9b\xc6\xb0\xde\x40\xc5\x22\xb3\xc3\xc8\xd5\xa9\xbf\x6d\x29\xa5\x6e\x99\xad\xd1\x4c\xb1\x5a\xeb\xf3\x58\x5e\xa8\x6c\x09\x64\xca\xcc\x68\xc4\xec\x17\xa8\xd9\xb6\xa3\x8f\x07\xcd\xfe\xa0\x59\x1e\xc9\xed\x76\xb3\x72\x32\x54\x94\x9b\x15\x27\x67\x8c\x2d\x0f\x14\x05\xe9\xd7\x76\x53\xa0\xe7\x34\x8c\xe9\x20\x28\x8e\x56\x5e\x8c\x97\xf3\xa4\x32\x9d\x08\xdc\xa1\x28\x53\xa6\x49\xf7\x17\x85\x16\x27\x4f\x16\x1d\x60\x60\xe5\x31\xcb\x4e\x8c\x16\x3f\x5a\xcb\x67\x0a\x91\xca\x80\x22\xdb\xf4\xd8\x94\x5f\x72\xc6\x74\x37\x2e\x31\x0c\xa8\xa1\x2d\xa9\xc2\xe2\x7b\x11\xa5\x3a\x6c\xab\x26\xcc\x58\xdc\xa8\x54\xc4\x2a\x59\xed\x14\x4b\xdb\xfc\xb2\xbe\xac\x94\xb7\xcb\xda\xf4\xbc\xde\xf2\x2d\x32\x27\x53\x4d\x86\x53\xd3\x87\x3a\x8e\x97\xdb\xa3\x66\x41\x5b\xb2\xd4\xbe\x35\x2a\xe7\x56\xb2\x68\x54\x68\x3d\xb7\xc4\x30\xb2\x3e\x32\xb8\x33\x76\x42\xd6\xcb\x79\x0d\x2d\x8a\x9a\x41\xaa\x68\x3e\xdf\x3d\x0d\x51\x34\xdd\x6b\x32\xb9\x71\x73\x7d\x6e\xf7\x0b\xd4\xa1\x8f\x99\x0b\x6d\xb3\x3f\xa3\xeb\x22\x06\xc6\x3a\xe8\xd6\xce\x55\xa6\x8c\xc9\x5c\xae\xb7\x40\xfb\xa7\xe2\xac\x7b\xa0\x72\xbb\x8d\xdc\x4d\xf3\xd2\x5e\x96\x0e\xf2\x62\x7b\xdc\xf0\xa8\x91\x96\x4a\xb3\xfc\x5c\xd4\x99\x33\xdd\xc6\xe9\x7c\xf5\xdc\x44\x75\x1e\x9f\x70\x6a\x5e\xca\x71\x6c\x8f\xa7\x50\x52\x9f\x61\xd4\x88\xe3\xf7\x0d\xad\x42\x1f\x99\x29\x21\x16\xe5\x1a\x2d\x23\x73\xe4\xb8\xab\xd1\x43\x8d\xd9\x4b\xb2\xa8\x35\xea\x26\xde\x1f\x77\x71\x99\x9b\x28\x2f\x3d\x93\x56\x67\x85\x5e\xf5\xe5\x6c\x72\x2f\x53\x45\xea\x34\x4b\x79\xf4\x9c\xeb\x1c\xa4\x71\x51\x1a\x4b\xdd\x34\xd3\x5b\xca\xa3\x62\x97\x6d\x57\xf5\xf4\x94\xc4\x8d\xf4\xac\x7f\x1e\xc8\x4c\x97\x2e\xe6\xe4\xa1\x52\xe9\x8b\x58\xe9\x79\xd7\x63\x9e\xeb\x7b\xd1\xa8\x95\x95\xfe\x9e\x9d\x1e\xba\x07\x89\xde\x1f\x7b\x27\xbc\x55\x3d\xd4\x4b\xe2\x76\x56\x99\xf5\xcb\xbb\x75\xbb\x5a\x29\x34\x0c\xbd\xd2\x17\x1b\x8b\x56\x81\x15\x06\xa7\x61\x2b\x8d\xe7\x2a\x2f\xcd\xa6\xce\x9e\xf4\xf9\x9e\x47\x4e\xf2\x79\xd6\xea\x0d\xf4\xbe\x86\x1f\x66\xa2\xb8\x3d\x76\x07\xfa\xb6\x9a\x66\x0a\x58\xae\xb5\x16\x0a\xbb\x4a\x45\x42\x49\x64\xae\xf6\x98\xb9\xcc\x62\xc3\xba\x9e\x66\xdb\xbb\xe1\xba\x54\x23\x4b\x4d\xb5\x55\x28\xf7\x96\x4c\x93\x1c\x0f\x38\x71\x5e\x2e\xb4\x4b\x93\x5a\xab\x42\x94\xf6\xdb\x7a\x7f\xd4\xa9\x89\x39\x6e\x90\xde\xe7\x89\x34\x96\x63\x44\x0a\xc8\x75\x43\xca\xed\xf3\x58\x7a\x96\x63\x73\xa0\x39\x9a\xe1\x95\x49\x77\xd8\xe8\x2e\x4f\x9b\x95\xb0\xec\x36\x6b\x14\x3f\xc3\x18\x8a\xa7\xf0\x69\x63\xc4\x56\x9a\xa3\x7d\x2b\x5f\x39\x6e\xf8\x66\xce\x58\xc8\xe3\x09\x81\x57\x4e\x87\xba\x50\xe2\xe5\x71\xae\x27\xa7\x45\x53\x6e\xe2\x58\x9e\x18\x92\x0d\xec\xcc\xec\x11\x5c\x1b\x6f\x8a\xf5\xf4\xb9\x88\xa5\x27\x79\x75\xd7\x9f\x93\x58\x7f\xb9\xe1\x3a\x38\x69\xf2\xd4\xfe\xa8\xe3\x0a\xaf\xe6\x8b\xc5\x67\x53\xe4\xb1\x72\xa1\x52\x63\xb1\xf6\x74\xb3\x6f\x4b\x54\xaf\x35\x26\x2b\xbd\x62\x1f\x6c\xf7\xd5\x5c\x61\x9c\xa7\xf2\xf3\xd5\x98\xc5\xce\xa8\x29\xc9\x35\x6e\xb5\x3a\x8d\x49\x30\xc7\xf4\xf4\xb6\x78\x6a\xa8\xfb\x26\xba\xdd\xed\x5b\x24\x86\xb7\xa6\xfc\xa8\x74\xe6\xc4\x19\xb6\x62\x4c\xfc\x2c\x93\x69\x6a\x93\x6b\xd7\x59\xbe\xc5\x1b\x88\x58\xee\x09\x44\xae\x4d\xb1\x8c\x54\x1e\x2f\xdb\x63\xae\xaf\x14\xf9\x29\x9a\xc3\x55\x5a\xda\x8d\x27\xf5\x0a\x2d\xf6\xa6\x5b\x53\x9e\x72\xdd\xf1\x84\x64\x46\x34\xd6\x95\xf3\x93\x97\x8d\x88\x94\xf2\x0a\x99\xa3\x1b\x06\xb5\xa4\xc6\xcf\x13\x75\x5a\xc9\xe7\xa6\x2f\x23\x6d\x76\xde\x8d\x95\x3c\x93\x3e\x9d\x7b\xe9\xa2\x80\x15\xf4\x75\xd3\x30\x57\x22\xc9\xce\xe7\xa3\x62\xf7\x45\x3e\x2d\x9a\xd3\x65\xba\x7b\xce\x17\x27\x8d\xfc\x89\x10\xe4\x7c\x69\x77\xa6\x8b\xaa\x92\x36\xca\xfa\xbc\x8f\x96\x0b\x87\xca\x0c\x97\x10\xf4\x34\xdd\xed\x8a\x0d\xfc\x80\xef\x72\xf3\x74\x0e\x15\xd5\x25\x39\xab\x31\xcf\x5c\x6f\x2c\x77\xf5\xa3\xb0\x30\xb8\xb4\xbc\xda\x88\x58\xa1\x7e\x48\x9f\xd7\x87\xc6\xe1\xa5\x84\xe4\xa4\x2a\x68\x8d\x08\xaa\x74\x9c\xc9\x3d\xac\x33\x95\x27\xf5\x2a\x85\xe5\xd3\x3a\xad\x9b\xa5\xe3\xa9\xad\x8e\x75\x15\x2f\xa5\xa9\xd9\x4a\x56\xc5\x86\xda\x7a\x51\x5f\xd0\xf6\x10\x43\xc5\xa5\x41\x6e\xb1\xe5\x48\xab\xf7\x6b\x04\x5a\x32\x40\xed\x94\x1e\x14\x77\x9a\x4c\x16\x76\xb3\x7c\x5e\xec\x76\x0a\xf9\xbc\x3e\x9f\xef\xd2\x3c\xdb\x78\x51\x73\xd8\x4a\xa8\x8d\x97\x3d\xd2\x18\x2f\x4c\xa9\xd9\x63\x8e\xcf\xd5\x01\x42\x83\xf3\xfa\xc8\x60\x3c\xe8\xd6\x90\xce\x4c\xdc\xef\x96\x23\x74\x74\x3e\xe8\xed\x25\xa7\x8b\x26\x7e\x2c\xf2\x0b\x1a\x14\x9a\xf5\xf9\x02\x94\x9e\xd9\xd6\x14\x6c\x8e\x87\xf3\xea\xc0\x22\x8b\x1a\xb5\x19\x9f\xcd\x59\xaf\x64\xee\x7a\xa3\x74\x63\xbc\xc0\x35\x36\xad\x49\xd5\x63\xe9\x59\xce\x4f\x6b\xfd\x92\x91\xa6\x25\x29\x97\x5f\x98\x05\xb0\x47\x56\xbc\xbc\x6d\xb2\x5b\x71\x33\x2e\xc8\x23\x85\xe6\x73\xc3\x2d\xe8\xae\x26\x60\x43\x3f\x33\xa6\xd6\x10\x16\x06\x55\xa4\xea\xdd\x16\x3b\xd7\x8c\x1c\x7e\x6a\xaf\x0b\x03\x86\x4e\xd3\xdc\x7e\x85\x94\x0f\xed\xca\x96\xa2\x06\xb4\xa4\xe2\xb3\xfd\xd1\x98\xa3\xab\xce\x79\x54\x5d\x9e\xe8\x74\x79\x52\x38\x61\xbd\x61\x5a\x59\x9d\xb6\xf9\x03\xb9\x4e\x77\x95\x63\x3a\x47\x8d\x10\x42\xed\x9a\xf2\xe1\x79\xa7\x1a\xc5\x2a\x53\x3c\x01\xa9\x84\x35\x94\xed\x66\x37\x5e\x37\x86\x69\x49\x47\xdb\x60\xd1\x01\x45\x6c\x6d\x92\x27\x6c\xc9\xe8\x64\x8f\x64\x40\x5e\xda\x6a\x26\xd6\x14\xd5\x15\x4b\x6e\x08\x9c\xe8\xa0\xdd\xbe\xb0\x43\x76\xbb\xd5\x5c\xa1\xab\xdb\xc3\x6e\x3c\xc1\xd0\x29\xa2\xe7\xb9\xd5\x22\x37\xe6\x5f\xe6\xc5\x79\x67\x8c\x9a\xdc\x91\xa4\x86\xed\xdd\x78\xc7\x93\xf4\x4e\x1c\xe2\xfb\xe9\xce\xe8\xcd\xe8\x85\xca\xa8\x44\xd7\x98\x61\x86\xd4\xa7\xe7\xcc\xa1\xb4\x6c\x21\x13\xf4\xac\x29\xad\x9c\x21\x0c\x67\x45\xa5\x3c\xed\x19\x2f\xe4\x60\x4c\x99\x26\x36\x6e\x22\xb2\xb8\x92\xe7\xc3\xd1\x4e\x7f\xd9\x36\xe6\xab\x74\x5b\x2e\x8f\x2b\x1b\x45\x9d\x82\x06\x0b\xe6\x5b\xac\x2e\x97\x8c\x8a\x22\x6e\x27\x27\xb9\xd1\x91\xd1\x91\xd6\x9c\x83\xcd\x0e\xef\x9f\x88\x09\x79\x68\xce\x97\x7b\x43\x34\xdb\xc6\xbc\x87\xe5\x9b\xe9\x7d\xfd\xd4\x29\x17\x8f\x35\xb1\xde\x3a\x76\x07\x14\x3f\x91\xea\x9b\xe2\x5c\xa2\x46\x1a\x95\x1f\x69\x25\x8a\x29\x12\x0d\x5e\x25\x9a\x2f\x3a\x83\x69\xa3\x0e\x89\x4f\x47\x1d\x55\x07\xcf\x28\x9b\x67\xf4\x39\x03\xd8\xb5\x4e\x9c\x57\x3d\xbc\x26\x4c\xf6\x3a\xb5\x7d\xce\x1b\x2b\x7d\x22\x89\x2b\x91\x7e\xd9\x2e\x85\xe5\x74\x64\x9c\x7b\xe5\xb3\xd2\xd7\xda\xcd\xde\x08\x9d\xae\xa6\x43\x72\x61\x8e\xfb\xf3\x33\x3a\x5d\xcd\x87\xe4\xa2\x93\x4b\x9b\xc5\xe3\x4a\xdc\x9e\x96\xc3\x31\x36\xdb\xad\xd6\x22\x23\x4f\xd9\x42\xa5\x94\x26\x24\xe3\x38\x54\xc9\x7d\x39\x3f\x3f\xce\xf2\xcc\x01\x7f\x39\xec\x4f\x87\x16\xa2\x6a\x64\xa7\x4b\x35\xbb\x5d\x6d\x22\xe4\xf8\xc9\xb2\x47\x28\x94\x71\x3e\x9a\x82\xd9\x43\x1a\xe6\xcb\x79\x32\xe1\x4c\xbc\xd1\x9b\xe2\x1d\x4a\xa3\xc1\xd8\xc4\xba\x52\x81\x1e\xa6\x41\x59\x9c\x56\xd1\xb2\xac\x4c\x37\xca\xc1\x40\x9a\xe5\x95\xbc\x20\xd1\xbe\xb6\xe3\xc6\xb9\xe2\xe9\x68\xb4\xc9\x45\x73\xb6\x05\x8d\x67\xfd\xa0\x1c\xdb\x66\x87\x6d\x98\xad\x85\xf2\xcc\x29\x87\xe7\xde\x80\x98\x1f\x95\x7d\x9a\x58\x32\xb9\xed\x7a\x52\xe8\xf0\x54\x01\xa5\xf1\xd5\x32\x87\xac\x16\x06\xda\xdf\x34\xb8\x29\xda\xc6\x72\x52\x79\x44\x9e\x73\x64\xe1\xac\x31\x83\x1e\x28\xd7\xa8\xb3\xda\x58\xae\x4a\x79\x5d\x1a\x9e\x57\x2c\x55\xc5\x8e\xcf\x62\x6f\x28\x56\x84\xc9\xf4\x59\xe3\x47\xba\xd8\x29\x4d\x4d\xb1\x45\x52\xfd\x79\x7a\xde\xdc\x17\xd0\x15\x55\xa5\x4e\xfd\x7a\x27\xdd\x99\xce\x2a\xed\xaa\x28\xbc\xb4\x39\x5e\xe9\xac\xa7\x0b\xe5\xd0\x9f\x2d\xf4\x2d\x6a\x6e\x0f\x75\xd4\x14\x4a\x26\x3a\xcc\x35\xd7\xe4\x1e\x3b\x74\x99\x82\x96\x2e\xf6\x10\xb5\xdc\x28\xd1\xc2\xf3\xcb\x8e\x93\x72\xe8\x7e\x52\x11\xea\xa3\x0a\xb7\x1e\xb7\x36\xb3\xb5\x6c\x94\x0e\x80\x5f\x90\x7a\xe7\x38\x9c\xa1\x63\xa5\x2d\x2f\x0b\xc5\xe7\xcd\x60\x2c\x9b\x8d\x73\x63\x32\x2b\xa3\xd5\x97\x6d\xdb\x30\x45\x44\xe1\x15\x56\xc6\x47\x3d\x9e\x3c\x74\x4c\x5c\x32\x8b\xf9\x1d\x8e\x34\xba\x18\x28\x16\xd7\x00\x5b\x3d\xd7\xd4\x0d\x55\xdd\xee\x0f\x9b\x0d\x61\x00\x86\x21\xb9\x42\xad\x5c\x32\xd7\xe6\xa4\xdd\x2e\xe4\xf9\x22\xc5\x13\xf4\x38\x87\xf6\xc4\xee\x39\xdf\x18\xf2\xab\x55\x7a\xb6\x06\x95\x49\x5d\xe7\x6b\x28\xc5\xaa\xb5\x7a\xf7\x48\x82\x63\x6b\x22\x35\x8f\x48\xf1\xcc\xe1\x44\x89\x1e\x72\xa5\x4a\xa5\xaa\xa6\xc7\xd3\x97\x91\x58\xdf\xa3\x8c\x78\x5e\x3d\x0f\x31\xb0\x3a\x92\xe7\x63\x4e\x07\x00\x51\xe5\x34\xb7\x61\x86\x44\xbd\x35\x55\xf8\x33\x91\x9b\x80\x29\x95\x6f\xe0\xe9\xbd\x86\xcb\x42\x25\xdd\x44\x88\xde\x39\x27\x33\x87\x52\x5e\xdc\x19\x52\xfa\x50\x3e\xf1\x83\xa8\x91\x2b\x75\x35\x76\xba\x9e\x05\xfe\x3b\x60\xee\x11\x78\x99\xd6\xbd\x43\x9a\xcb\x41\x39\x12\x39\x88\xa1\x60\x06\x2b\xd7\x16\x13\x3a\x14\x87\x18\x63\x59\xeb\x73\x87\xe3\x96\x03\x68\x5f\xb6\x62\xad\x8f\xcf\xfb\xfd\x82\x25\xec\xac\xca\x2e\x66\x83\x09\x2b\xb7\x2f\xd1\xfb\xcf\x76\xcc\x88\x40\x17\x03\x96\x7d\x03\x66\xff\x89\x12\xc1\xb6\x08\xb9\x26\xb5\xdf\xb0\x22\x59\x2c\x14\x3d\xa7\x13\x48\xcf\x09\xac\xc0\xb0\xf4\x3d\x2e\x6b\x54\x21\xcf\x3a\x2e\x6b\x08\x55\xa0\x31\xd7\x65\x0d\x62\x0a\x8c\x86\x2a\x43\x8a\x05\x04\x2f\x62\xdf\x7d\xce\x2f\xb6\x33\xcc\x43\xf0\xa1\xe2\xd4\xd5\xef\x10\x89\x18\x0f\x3f\xa7\xd6\xcf\xae\x30\x30\xa4\xb1\x86\x59\x8c\xa3\x58\x1a\xbb\x83\xc8\x24\x5d\x24\x38\xdc\x26\x32\x95\xc7\x19\xd2\xc7\x5e\x97\x46\x62\x5d\x6b\x9d\x22\xd1\x56\xec\xf3\x9e\xc0\xc3\xc4\x09\xaf\xb5\xc4\xc6\x23\xb5\xfd\x59\x56\xa0\xab\xf4\xed\x2a\xe0\xef\xc1\xbe\x5d\xad\x87\x19\x9a\x35\x4c\x5a\xb4\x98\x17\x7a\xd7\xd6\x75\x55\x73\x81\x19\x45\xe4\x62\xc0\x32\x04\xe5\x5e\x25\xf7\x40\x0d\x43\x91\xe2\x80\x8b\x58\x00\xd8\xb1\xad\xc6\x01\xa3\x78\x21\x00\xcd\x01\x11\x18\x71\xe8\x66\xd0\x02\x11\x80\xe6\x05\x51\xb4\x49\x1f\x57\x00\xc3\x8a\xa1\x02\x46\x2c\x68\x3e\x1f\x04\x55\x64\x23\xb1\x6e\x1c\x0b\x76\xd4\xe3\xa1\xe4\x42\x54\xb0\xbf\x36\x7f\xc4\x92\x1d\x0d\x76\xd7\x79\x8a\x23\x7e\x90\x90\x00\xb4\x08\xf8\xd8\xce\x92\x08\x19\x80\x75\x1c\x4a\x63\xa1\xc9\x60\x4f\x1d\x16\x8e\x03\x2e\x06\x7b\xa8\x01\x4e\x89\x83\xa5\x88\x60\x07\x9d\x97\xfc\xe2\x80\x0b\xc1\xb1\x74\x84\x48\x1c\x74\x1e\x0f\xf6\x50\x37\x34\x65\x0b\x12\xc7\x26\x5f\x08\x76\xd3\x50\xe0\x77\xd4\x91\x54\xa6\x80\x05\x3b\x79\x39\x40\x8d\x2d\x90\x27\xc2\x05\x62\xa9\x52\xc4\x82\x03\x79\x56\x14\x49\x90\x63\xa1\x29\x2a\x02\xad\x98\xb1\x54\x44\x11\x34\xd8\x4b\x5a\xd3\xe2\xa9\x88\x22\x64\x90\xe8\xa2\x20\x6f\x01\x17\xcf\xb2\x28\x8a\x44\xe8\x4e\x27\x8d\x2a\x8a\x92\xc1\xde\x02\xd9\x10\x8c\x53\x3c\x78\x31\xd8\x5d\x45\x33\xd6\xca\x4a\x91\x69\x31\xb6\x08\x46\x84\x24\x92\xa9\xed\x41\xac\xac\x43\xb1\x42\x70\x6c\x65\x25\x99\x44\x38\x4e\x84\x3a\xc0\xd9\x4f\x04\xc7\xcf\x54\x14\x2f\x84\xfb\xcc\x29\x2a\x88\x1d\x62\x94\xc0\xa8\x30\xbc\xed\x82\x10\x5f\x20\x8f\x45\x1a\xd8\x27\x90\x88\x44\x0b\x61\x78\x4e\xa0\x25\x45\x8e\x27\x13\x49\x45\xba\x6d\xac\x05\xf9\x56\x31\x0a\x8d\x74\xdd\xa5\x96\xed\x23\x13\x5f\x8e\x84\x93\x20\xb9\x54\x1e\x81\xd2\xe1\x46\x21\x22\x8e\x18\x37\xca\x15\x93\x28\x92\x5c\xb6\x40\x20\xa1\x69\x43\x6b\xc6\x2d\x36\x2a\x14\xa8\x68\xa1\x44\x46\x2a\xe2\x58\xb4\x44\x32\x2b\x15\xf3\x05\x48\x23\x09\xcc\x84\x21\x18\x11\x2d\x71\x83\x2f\x30\x24\x0f\x21\xc0\x1d\x0c\x85\xa1\x28\x84\x08\xf7\xb0\x14\x86\x52\x71\xc4\x48\x2e\x87\x21\x31\x14\xb9\x51\x8c\x8c\x27\x4b\x72\x49\xfb\x81\xc7\x04\xda\xdc\x28\x1d\xd2\xde\x56\xa2\xc2\xc4\xca\x6f\x0c\x0f\xa9\x6f\xf6\xe6\x06\x70\xa2\xa0\xc7\x6b\x4e\x04\x1e\x5e\x0d\xef\x2a\x15\x52\xe6\xd6\x8a\x26\x9c\x15\xd9\xa0\x45\xcd\x8c\xd7\x45\x30\x12\x47\x22\x2b\x52\x3c\x70\x3e\xd8\x77\x41\xe6\x40\xbc\xea\x82\x51\x21\x95\x4e\x31\x8d\x64\xf8\x90\x36\x67\xbf\xdd\x10\xab\x5f\x86\xb4\x39\x4b\xc1\x84\x06\x5a\x0c\x15\x0b\xa9\x75\x1a\x90\x94\x3d\xe0\xed\x88\x6f\xb1\x85\x0a\x48\x68\x52\x98\x2a\xd0\x74\x56\x13\xd4\x84\x32\x21\x2d\x4f\x37\x99\x5b\x25\x42\xaa\x9e\xeb\x29\x16\x03\x5d\x0c\x29\x7b\x8e\xaa\xcf\x2a\xa2\x29\xc5\x0a\x2c\xac\x58\x44\x20\x85\x12\x96\x63\x1c\xc1\xc3\x43\xae\x03\xcd\x70\x9a\x71\xe2\xea\xc7\x96\x0c\xe9\x7f\xfe\x92\x8c\x45\xf1\xd8\xbe\xe1\x68\x48\x1f\x74\x8a\x6a\xca\x21\xb9\x45\x34\xa4\x15\x5e\x8a\xdd\x68\x0e\x0b\x69\x88\x2b\x4d\x88\x65\x20\x1c\x0b\xe9\x02\x2b\x53\xe0\x40\xac\xb8\xc0\xf1\x90\xf4\xe6\x14\x23\x01\x38\x24\xb5\x6d\x37\x98\xa4\x8d\x07\x4e\x84\xc4\xb5\x5d\x22\x51\xef\xc7\x89\x90\x9c\xb6\x8b\x24\x6f\x2b\x71\x32\x24\xa3\xed\x32\x09\x0a\x3d\x4e\x86\xa4\xb3\x5d\x20\x79\xa3\x8b\x53\x08\xa4\xf7\xc9\x5b\x29\x9c\x0a\x49\xe3\x8d\xa9\x1b\x02\x7f\xe2\x4d\x31\x76\x41\xc5\xa9\x90\x4c\x76\x26\xbf\x4a\xcb\x20\xbe\x4c\x1e\x0f\x8b\x26\x59\x8e\x3e\x8b\x14\x2c\x12\x12\xc8\x9e\x27\x71\x6c\x81\x42\x48\x14\xeb\x82\xa4\x8a\x20\x51\x5b\xc6\x0b\x21\x89\xac\x8a\x66\x3c\x7b\x15\x43\xf2\xd8\x06\x89\x57\xdd\xf1\x62\x48\x1e\x1b\x8a\x05\x19\xbb\x61\x46\x42\x12\xd9\x50\x78\x4d\x89\x17\xf7\x04\x12\x12\xc5\x9c\xa9\x8a\x02\x4b\xc7\xdb\x2b\x08\x14\x81\x09\xa3\x78\x70\x32\xa2\xae\x3a\xfa\xc8\x3a\x7e\xff\x47\x60\x08\x1a\x5b\x28\x51\x33\x20\x30\x22\x1f\x2e\x09\x34\x25\x7e\x13\x4b\x60\x45\x1c\x5a\xc0\x50\x92\x4a\xe1\x78\x31\xa6\x94\x44\xcb\xb1\x3b\x3d\x02\x2f\x90\xd1\x62\x89\x25\x08\x3c\x42\x09\xbb\x21\x25\x7e\x0d\x23\x88\x3c\x84\x06\x56\x2b\x49\x85\x48\x2c\x42\x07\x4f\xe3\x4c\x1a\xa9\x22\x1e\xd9\x58\xf8\x8a\x25\x8f\x55\xb1\x10\xd9\x5c\x70\xb4\xbe\x8e\x37\xf0\x60\x11\xa2\xb3\x82\xc6\x8a\x20\x69\xc2\x91\x48\x3e\x42\x73\xa7\x54\x6c\x09\x14\x8b\xd0\x9c\xd6\x4f\x72\xec\xa6\x85\x44\xa9\x08\xc1\xed\x02\x89\xdd\x27\x31\x14\x8f\xd3\xd5\x93\x28\x4e\x52\xc5\x84\x62\xc9\x14\xa7\xd0\xb0\x25\x83\xd6\x8c\xe4\xf9\x41\x51\x68\x4c\x91\xe4\x19\x92\x47\xf2\xb1\xe5\x12\x39\x3e\x4f\x42\xc8\x72\x63\x96\xe4\x8b\x10\x9a\xdc\x9c\x27\x05\x02\x4a\x8d\x5b\x33\xa5\x50\x84\x50\xe4\x8e\xb9\x42\x62\x24\x04\xcb\x7b\x67\x0b\x89\x47\xac\x50\xd6\x5e\x2b\x69\xbe\xe0\x24\x0c\xd1\xdb\x33\x06\x2f\x42\x86\xee\xc6\x9c\x21\x08\xc8\xa8\x25\xcf\x1a\x22\x6c\xfc\xbc\x14\x49\x26\x04\x19\x31\x83\x5a\xe8\x69\x8a\x9e\x50\xa4\x00\xa1\x84\xa2\x02\x39\x71\xbc\x28\x0c\x42\x07\xab\x54\x72\xbf\xa8\x7c\x54\x92\x26\x62\x97\x47\x23\x72\xed\x26\x6e\x79\x2a\x22\xd5\x6e\x63\x56\x40\x51\xa8\x36\x04\x44\x26\x5e\xbd\x21\x0b\x64\x3e\x66\x53\x9b\x5c\xae\x88\xe0\x31\xe5\x04\x5d\x91\x80\xa1\xc5\x9b\x81\xc8\x22\x51\x84\x62\x7a\x47\xc9\xa2\x45\x18\x3b\xda\xbd\x73\x57\x7a\x68\x32\x0c\xd0\x18\x5a\xe6\x5e\x83\x61\x5c\x11\xa4\x1a\xb8\xb9\x50\x64\xf9\xb7\x50\xe0\x7c\x56\x91\xad\x5a\xdc\xc7\xee\xed\x70\xd1\xde\xe5\x42\x2a\xd8\xca\xa5\x0c\x2c\x8c\x8a\x3f\xec\x69\xdc\x35\x06\x18\xcc\xad\x6c\x1f\xf2\x49\xd7\x4f\x03\x17\x7e\xf3\xd6\xc7\x7f\xf5\xd0\x7d\x31\xc0\xda\xe7\x06\xfa\x71\xf3\x76\x54\xdc\x53\x03\x97\xf3\xf4\xbc\x85\x6f\xe8\xc0\x19\x51\xe1\x4f\x14\xb0\xb0\xb7\x4d\x9d\x5e\x5d\xe2\xde\x40\x06\x27\xbb\x02\x76\x51\x0f\xc8\x23\xd3\x7b\x82\x05\xf8\xae\x77\xc6\xb7\xf0\xd1\x08\x00\xf6\xfd\x66\xd5\xaa\xd1\xfa\xe2\x1c\x7a\xfa\xef\x39\x3b\x2f\x55\x7a\xe0\xd7\x30\x11\x97\x14\x97\x5a\x5a\x98\xca\xcd\x98\x53\x61\x00\x80\xef\x61\x88\xb7\xc8\xb8\xa6\xae\xef\x8b\xb3\x2c\x0b\x39\xbb\xb7\x53\x7d\xae\x03\xbe\x27\x63\xa3\x95\x19\x9a\xef\xda\x14\x11\x18\x5b\xff\x33\x13\xbe\xfb\x24\x76\x68\x81\x50\x58\xf2\xcb\xe3\xf8\xd6\xc7\x1f\xc3\x3c\x72\xa1\xf0\xa0\x68\x5b\xdb\x53\x41\x7f\x85\x05\x46\x8a\x83\xf6\x87\x35\x10\x05\xdd\xc8\xe8\xc6\x49\x04\xc1\xe7\x34\x52\xa8\x7d\x6f\x9a\xb4\x4f\xf4\xc3\x01\x0f\xbc\x99\x75\x7d\x65\x3b\xd4\x14\x4b\x6b\xdc\xab\x4b\x2a\xd2\xe2\x79\x37\x80\x30\xe9\xf9\x4e\xf8\x6f\xe5\x3c\x45\xd9\xdb\xb9\x44\x43\x42\xba\xec\x3d\x59\xe4\x34\x11\x9d\xe3\x56\x41\x8b\x88\xce\x65\x43\xe2\x4a\x4e\xab\xf6\xc0\xcc\x8b\xd6\xed\x58\xb7\xc2\x41\xe2\x6d\xcc\x83\xef\x25\xbc\x85\xef\x6e\x02\xe7\xe5\x8f\xac\xfb\x73\x2f\x80\x43\x4a\xb4\x23\x48\x5c\xe9\x19\x6c\x11\x5a\x4e\x03\xaa\xf2\xea\xbb\x74\x1a\xf0\x53\x49\xba\x06\xee\xdc\xcc\xbc\x5d\x79\xc6\xb8\xbe\x73\xe2\xbb\x28\x05\x27\x11\x75\x1b\x61\xdb\xfc\xeb\x76\xd1\x42\xd2\xee\x65\xca\x76\x3b\xb8\x5d\xd0\x45\xc6\x73\x92\x61\xad\x4f\xf8\x9e\x6d\xf8\xae\xb3\xc5\x3b\x86\xa2\xde\x55\x3d\xbb\x06\xec\x96\x51\x8e\x91\x0b\xd3\x6e\x25\xc1\x90\x2d\xf7\x8c\x8f\xa0\xeb\x26\xc8\x38\x03\x1b\x8a\xa9\x0d\x13\xd1\x3e\xb9\xeb\x36\x42\xc2\xee\xb6\xc3\xe2\xd7\x64\x1c\xe7\x98\x40\x68\x30\xec\x3b\x3c\x56\x52\x20\x84\x37\x06\xe9\x85\x7b\xb3\xd8\xeb\x85\x73\x53\xd8\x58\x03\xda\x92\xfc\x29\x63\x6d\x3f\x28\x14\x77\x1f\xd9\x7e\x6c\x88\xa3\x8d\x4b\x58\xa5\x02\x5e\xe0\x8a\x44\x4c\x23\x3e\xb2\x64\x8b\x1a\x90\xee\xc2\x25\xc0\x41\x37\xdf\x3b\x0f\xf4\x17\x87\x8d\x1a\xbc\xbf\x9e\xc2\x13\xae\x2e\x7a\x9d\x3e\xb6\x42\x8b\x64\x82\xbc\xf2\x8f\x7d\x96\xd2\x80\xe4\x49\x4d\x3c\x8e\xfb\x6f\x8d\xc0\xd5\xe9\x8e\x74\x5d\xa8\xe2\x22\x4c\xd8\x91\xf4\x1c\x19\x6a\x78\xe1\x3e\x1e\x4d\x55\x05\x1a\x4b\xeb\x20\x3c\x7d\x42\x2b\xcd\x9d\x78\x31\x0a\x77\xb2\xf1\x8a\x23\x99\x3f\xbc\x06\x92\x20\x16\xa1\xd5\x67\xed\xa9\x90\x71\x8f\x05\x22\x77\x2b\xef\xe1\xb2\x54\xd6\x3f\x13\xe1\xd2\x0b\x85\xbc\xff\x01\x0b\x3d\x78\xef\xd4\xf3\xc7\x7b\x82\xca\x0a\x0f\x35\x55\x53\x56\x1a\xd0\xf5\x0c\xe3\x7b\xef\x29\x18\x74\x22\xf2\xba\x80\x23\xf3\x09\xe4\x77\x58\x90\x7a\x3b\xe2\xbc\xa7\x78\x14\xae\x22\xe5\x7d\xa8\x5c\x7f\xbd\xfa\xaa\x82\x50\x24\x82\x00\xc1\xd2\x3c\x19\xcf\xd3\xac\x22\x3b\x2f\xa4\xd9\x8f\x72\x1b\x34\xec\xcd\x1f\x77\x4d\xfb\x3d\xae\x12\x5b\xc8\x38\x63\xaa\x1b\xb4\x01\xa2\x81\x97\x7c\x52\xda\x1f\x59\x0b\x8f\xef\xbd\x20\xad\x3c\xc6\xa3\xf7\xb4\x41\x6b\xee\xca\x8a\x11\xd0\x7e\xc7\x13\x75\x23\x68\x74\xa2\x7e\x75\x8d\xd0\xe0\x97\x0c\x96\x5c\x48\x56\x1e\xec\x72\x82\xa5\xb0\xfb\xb6\x51\x4f\xd7\xdd\xd5\x15\x52\xa2\xb5\x2d\xa7\x1c\x64\x77\x41\x7a\x8d\xa3\xc0\x05\x4e\xd5\x80\xa5\x84\xf8\x95\x89\x4b\x50\x2c\x57\x48\x5d\x7b\x12\x7c\xad\x32\xae\xae\x8c\x1b\x1d\x0e\xae\x73\xa1\x85\x8b\xd2\x85\x3a\xae\x26\x97\x18\x15\x22\x2d\x1b\xa6\x24\x66\x38\x27\xea\x50\x22\x29\xc3\x01\x2d\xe0\xda\x58\x11\xf9\x3d\x05\xa1\x67\x24\x1a\x86\xb1\x0e\x0d\x48\x12\x2c\xf7\x28\x1b\xeb\x0c\xbb\x16\x44\xee\x1b\xf6\xdd\x29\x68\xbf\xb0\x27\x1b\x8f\xba\x44\x8b\x62\x86\xa5\x55\xfd\x2d\x6b\x83\xbb\x03\x61\xbf\xe8\xad\x82\xc0\x80\xd8\x03\xc7\x6b\x19\x20\x02\x09\xc8\xc6\x83\xef\xbb\x13\xe8\xf2\xf2\xd0\x97\x6f\xdb\xe5\xca\x77\xc4\x5f\xd2\xb7\x9d\xb1\x83\xf8\x5d\xf7\x31\x09\xef\xd6\x63\x7e\x99\x2f\xc8\x82\x21\xd0\xe2\x65\x1b\x65\xea\xc0\x7b\xf4\xd3\x55\x19\xaf\xad\xd9\xb1\x7d\x24\xfa\xe8\xbe\xf5\xc1\xd2\x22\xfb\xcd\xe2\x9b\x54\x26\xf5\x0d\x4b\xfd\x77\x8a\x54\x8f\xdf\xbf\x07\x0a\xfc\x3f\xf7\xf9\x72\x8b\x14\x16\x4d\xfe\xc5\xd3\xa2\x0e\xfe\xd7\xdf\x61\xeb\xeb\xe5\x7d\x24\x7f\xeb\xf6\x5e\x23\xa3\x64\xa2\x69\xd6\x06\x30\x9a\xba\xb5\x76\x52\x90\x74\x48\xc7\xdc\x6a\xf4\x48\xa2\x8d\x3c\xa3\x1c\xed\x7f\x68\x5d\x60\x53\x7e\x62\xfb\x75\xed\x37\x81\xd7\x68\x09\x58\xd9\xce\x37\xff\x3c\x0a\x38\x92\x47\xc6\x21\x18\x37\xea\x3a\x2a\x01\x3b\x48\x24\x74\xc0\xd5\xfc\x01\x89\x2a\x00\x49\xb5\xbb\xe2\xf1\x5e\x14\x89\xc0\xbe\xe0\x82\x04\xea\x2f\x65\xf7\x5d\x15\x69\x16\xac\x15\x91\xf3\xd7\x72\x99\xd6\xf0\x6d\x29\x4d\xd3\xd7\x1a\x9f\xfc\x2e\xca\xb6\x1c\x40\x9e\x6c\x09\x8a\xf8\xdb\xca\xea\x6b\xe5\xe0\x6f\x2c\xd2\x78\x80\x6a\x01\x34\xe3\x9e\x83\x65\x48\x8e\xe2\x39\xff\xde\x3e\x58\x2a\xe1\x8d\x56\x78\x51\x97\x31\x34\x43\x4c\x25\x91\xc9\x11\x71\x6e\x2f\x2f\x73\x28\xc2\x55\xde\xd8\x84\x8d\x52\x2e\xf3\x20\xfe\x60\x11\x48\x62\x15\x11\x0c\x6c\x69\x6b\x2d\x83\xbe\xa5\x2a\x54\xfe\xfe\x8e\x5c\x2b\x82\xf6\xc5\x31\xcd\xa8\xc1\x2e\xf9\x30\x0f\xad\xa3\xbe\xe8\x22\x1e\x4b\xc7\x66\x5f\xe6\x43\x72\x05\x3e\x6d\x44\x14\xd4\x47\x77\x96\x5e\x8b\xc3\xf3\x9d\x99\x93\x90\x17\x1b\xdd\x19\x0f\x07\x64\xc6\xbe\x3f\x20\x97\xb7\xea\x02\x97\x14\x88\xb8\xc0\xcf\xef\xab\xe3\xc7\x8a\x43\x87\xcc\xd9\x37\xc0\x46\xed\xba\xeb\x74\xdf\xde\x43\x60\x03\x15\xc8\x86\x0e\x54\xb4\x82\x9f\x34\x50\xc1\x9d\x10\x34\x70\xac\xab\xb2\xff\xe8\xc8\x7d\xa0\x92\x1f\x2c\x7f\x89\xf6\xc8\xd0\x9a\x3b\xd3\xa2\xc6\xd0\x1f\x20\xac\x5d\x3f\xab\x48\x12\x2d\x73\x36\x5b\x18\x72\xda\x5e\x91\x35\x45\xb5\x35\x3b\x09\xc8\x66\xb0\x45\x18\x75\x71\x67\xf7\x14\xec\x17\x65\xf5\x0b\x96\x83\xe1\x30\xe2\xbe\xbb\x0e\x7f\x24\xcc\x18\x95\x13\x09\xbe\x45\x06\x31\xac\xc0\x59\x3b\x9e\xa5\x9f\x7e\xb0\xdf\x7e\x69\x8f\x61\x58\x8c\x5d\x0d\x0d\x3f\xbb\x86\x79\x87\x02\xee\xd3\xc3\xf6\x83\xc2\xbe\x17\x87\x75\x5a\xd6\x33\x3a\xd0\x04\xfe\x09\xf2\x24\xa9\x6b\x1b\x4f\x65\x31\xe7\x39\xd0\x14\xa2\x47\x9e\x24\x85\xc3\xe8\x37\x41\x94\x5b\x10\x57\x53\xbd\xbd\x88\x64\x70\x04\xb1\x56\x94\xbf\x5a\xd5\xbb\x68\x28\xc5\x62\x31\xef\x9f\x66\x0f\xd1\x29\x17\x1f\xe9\xff\x4f\x5f\x0b\xae\xc7\x23\xa9\xe8\xd4\x7d\x88\xe9\x06\x04\xf4\x12\x01\x1d\xfb\x01\xc5\x33\x66\x20\xde\xe2\xc2\xd2\x86\x8e\x6a\xd0\xa7\xc0\x59\x0e\x1a\x3a\x04\x72\x91\x8f\x28\x48\xf1\x3b\x1b\xe2\xde\x39\x02\xef\xce\x8f\xb0\xe4\xbb\x58\x2f\x18\xd7\xff\x13\x84\xd2\x4f\x5e\x5f\x7f\x88\xe9\xc3\x47\x59\x30\xfd\x96\xf4\x3d\xb5\x80\x61\xfe\xd1\x7f\x7c\x74\xbc\x67\xed\xb7\xd1\x1f\x19\xc5\x58\x87\xf6\x4f\xee\x0e\xf3\xf1\x1f\xff\x08\xaf\x95\x9a\x21\x46\x6c\x87\x61\x18\xc7\xe8\x16\x7a\x73\x1d\x06\x62\x2f\x8a\x40\xdf\x5a\xd2\x00\xf6\xb4\x68\x64\xf9\xf1\x6d\xf7\x2f\x0a\x78\x52\xad\xf6\x1c\x75\xdc\x26\x9d\x9d\x24\xe2\xd9\xf3\x2e\x94\xb2\xe5\x27\x99\x18\x4f\xd6\x3b\x42\x88\x07\x71\xd5\xa4\x20\xc5\x21\xf8\xdb\x41\xe9\x8b\x9e\xea\x4f\x5e\xac\x43\x0e\x16\xf6\xdb\xc9\xf0\x90\xb2\x37\xfa\x69\x77\x93\x51\xf6\xc1\xa7\x98\xed\x4d\xc6\xbf\x93\xe2\x96\x4c\xee\xc8\xd6\xee\x2e\x8a\xf9\x58\xc4\x2a\x69\xef\xdc\xdd\xfa\xed\x91\x0a\x2b\xc2\xd7\x56\x5c\x3b\xad\xfb\x1c\x87\x3f\xc3\x39\xd7\xb5\x51\xf3\x27\x3b\x2c\x48\x26\xf1\xad\xa4\x30\x82\x08\x5e\x9d\xbd\xfc\x93\xb7\xe9\x85\x9b\x33\xa3\x2b\x2a\x6c\x6f\xf8\xa9\x5b\x8e\x9f\x27\xd1\xc2\xdd\xf1\x1c\xc4\x43\x64\xff\xda\xf0\xfe\xa5\x1b\x5e\xfd\xf2\x74\x87\x5f\x7f\x70\x83\xd6\x07\x97\x10\x48\xb4\xec\xeb\xe1\x42\xb0\xb2\x74\xb0\xea\xc8\xba\x71\xc9\xb2\xf5\x9e\xcb\x39\x0a\x71\x35\x4c\xa3\x01\x47\x9b\x68\xa1\xb5\xee\x5f\xeb\xae\xbe\x24\x4f\x31\x46\x57\x4c\x3d\x7e\xff\x7e\xf5\xc9\x80\xd7\x69\x7b\xd1\xc4\x05\x0b\xf0\x9b\x82\xf4\xd0\x83\x27\x09\x8b\x66\x0a\x86\xba\x53\x2a\x7e\x19\x8d\x16\xda\xfb\x0b\xc5\x2f\x29\xf7\xa8\xbc\x30\x35\x37\x64\x20\x77\x14\x4e\xd7\xb8\x8e\x3c\x5d\xbf\x5d\xb4\x92\x40\x40\xfc\xb0\x5b\x4b\x58\x97\xf1\x93\x1d\xb6\xf1\xba\xb6\x9e\xb8\xf7\x8a\x05\xd3\xef\x81\x52\xee\x00\x0a\x89\x14\xa8\x24\x8a\x93\x3f\x3f\x57\xea\x5c\xed\xdf\x51\xbd\x1e\xae\xa6\xc3\x02\xa9\xff\x79\xba\xbb\xef\xd8\xd1\x77\x38\x95\xc0\xa1\x29\xe1\x06\x8f\xa6\x04\xdf\x11\x94\x7d\xf4\xe8\x3b\x85\xf4\xfc\x1e\xec\x50\x27\x68\x16\xee\x1d\x15\x9a\x75\xb1\x98\x38\x4e\x1c\xc9\xc8\x58\x30\x61\x7c\x82\xe2\x32\x30\x43\x62\x70\xbc\xbe\x08\x6f\x57\xe0\x23\xda\x7d\x2f\x47\xc1\x5c\x99\x3c\x5b\x08\xe1\x8a\xb8\x78\x82\x4b\xab\x9b\x24\xb7\x4f\xb2\x22\x68\x5f\x51\x4e\x6c\xc1\xd6\xc3\xdc\x77\x04\x13\xdb\xb9\x02\x7a\xfb\x6d\x14\x14\x0a\x81\x78\xf3\x4e\x04\x96\x1b\x8d\x79\xe6\xb8\x3b\x9a\xf3\x40\x5f\xaf\x9a\xd8\xdd\xd5\xbb\xac\x7a\x1f\xa8\x4b\xe4\xbb\x80\xef\x60\x3c\x08\x1e\xf7\x02\xdf\x1c\xee\x08\x2e\xaf\xfe\xbd\x4c\xde\xe1\xd8\x80\x0f\xc1\xff\xcf\xdd\xb1\xf6\xc6\x6d\x1c\xff\xca\x41\x45\x10\xab\x3e\x1e\xa8\x7b\xc8\xb2\x04\x0b\x10\xe4\x04\xc8\x87\xa6\x1f\xd2\x16\x05\xd2\x7c\xa0\xc4\xbd\x13\x6b\xde\x91\x25\xa9\xc7\x81\x70\x7f\x7b\xc0\x7d\x70\x67\x76\x67\x97\x8f\x93\x2c\x25\x10\x0c\x1f\xc9\xdd\xd9\xf7\xec\xbc\x67\x35\x5b\xf5\xd8\x03\x0a\xe6\xa0\xfd\x60\x57\x82\xb2\x18\x48\xac\xc4\xa7\xcd\xdf\x88\x5e\xa8\x6c\x89\xc3\x2b\xca\x18\xf7\x23\x06\x01\xda\x1c\x5c\xd5\x8e\xd4\x25\x86\x0e\xec\x89\xf4\x14\x19\x94\xcb\x98\x99\x91\x42\x85\xd1\x13\x04\xeb\x8f\x9b\xa7\x83\x20\xc0\x3e\xd4\x16\x93\x37\x72\x8e\x86\xf7\x48\xf5\xc0\x96\x1d\x78\x05\x18\xcb\x6e\x01\x86\xb7\x48\xc3\x39\x2e\x31\x3b\x2d\x6a\x2d\x66\xc2\x78\x38\xcb\xcf\x4f\x4e\xf9\x99\x36\x64\x43\xde\x69\x90\x26\x08\x7d\xc6\xaf\xac\x15\x54\xbe\x91\xb8\xf9\xb3\x32\x69\xf6\x6c\x70\xc0\xbc\xe3\x1a\xc4\xca\x8b\x9e\x0c\x58\x7c\xc3\xbc\xde\xdd\x36\xc1\x41\x60\x43\x7d\xd5\xb9\xc9\x0c\xd0\xe5\xce\xaf\x34\xc2\x74\xc2\xf1\x7c\xb7\xb1\xa8\x98\x04\x7f\xef\x74\x2d\xd7\x11\xf0\x56\xf5\x9c\x99\x71\xad\x75\x54\x36\x4f\x9c\x6b\xe5\xf1\xa0\x15\x4f\xe7\x66\x98\xdc\xa5\x7a\xb2\x7f\x64\xa5\x76\x73\x40\xc9\xa6\x2c\x09\x6e\x09\xea\xab\xb8\x08\x1c\xd7\xa1\xe0\xdd\xfd\x90\xe1\xa4\x3a\x1b\x18\x82\x3a\x09\x20\xb3\x75\xd1\xfa\x18\xf4\xb8\xba\x1d\x10\xac\x5b\xd3\x5f\x0e\xcd\x8c\x4d\x44\x76\x4c\x0e\xde\x81\x66\xe7\x09\x70\xdd\xfd\x57\xfb\x14\x02\xf4\x8d\xa3\xc5\x5e\x9d\x23\x8e\x51\xc6\x47\x58\xd2\x3a\x1f\xc4\x8a\xf4\x29\x6f\xf7\xc1\x59\x52\xf7\xa1\x3d\x57\x42\xf0\x69\xed\xff\x34\xd9\x7d\x31\x0f\x97\xa7\x68\x4d\xb0\x00\x5d\x8a\x78\xda\x56\xd8\xbe\x7f\xc5\x7d\x08\xe5\xc3\xfc\xb7\xbc\x8e\xe5\xfb\x83\xd4\xd8\x8a\x6b\x5f\x68\xff\x2b\xc9\xc0\x05\xe5\x6d\x91\xa5\x69\xc3\x17\x57\xd9\xfd\xed\x9d\x23\x5f\xdc\x1f\x4e\x3c\xda\x6b\x81\x26\xe8\x8d\xcb\xc2\xeb\xed\x98\x50\x1c\xba\x0d\xb4\x7d\xb0\x64\xa6\xf9\xde\x22\x77\xa9\x29\x3a\xb3\xa5\x3d\xcf\x6b\xff\x48\x89\xe3\xb6\xd1\x93\x14\x5c\x78\xc5\x71\xce\x62\x65\x9f\x52\x59\x8f\x42\xc8\x76\x5d\x95\x80\x04\x33\xd0\x8d\x85\x14\x3d\x67\xb0\x2e\xc2\xee\xba\xac\x9f\xd5\xc0\xc0\x64\x8f\xa4\xaf\x94\x66\xe6\xf5\xb7\x34\xda\xb3\xa2\xf6\x2e\xe0\xf8\xf3\x83\x5f\x4a\x9a\xbe\xc6\x06\xac\xf6\x6e\x02\xf3\x3a\xff\xa0\x98\xf9\xe7\x6b\x7f\x72\x9f\xa2\xd7\xdc\xcd\x4d\x7b\x4a\x06\xd5\x3e\x37\xdc\x25\x0d\x71\xe1\xcb\x76\x65\x92\x26\xb5\x75\x38\x43\x23\x1b\xda\xb7\xe9\xc7\x24\xaa\x81\xbd\xc3\xd2\xb4\x6c\x0a\xc3\xef\x4c\x8d\x3e\x96\xb9\x13\x92\x40\xac\xcd\xa4\x13\x6b\x7e\x9b\xa1\x01\xf6\xc3\x41\x3e\x7d\xa3\x4e\xf4\x67\x4a\x5d\x12\xca\x9e\xe4\xc6\x40\x18\xf4\x8d\x08\x29\x11\xf2\xa0\x0a\xb2\xe5\xb2\x17\x51\xf4\x07\xb5\x5b\xa5\x99\x35\x73\xaa\x5c\xec\x9a\x35\xa5\xa6\xa5\x0b\x75\x6b\x10\xa2\x1a\x64\x9d\xef\x60\x66\x9c\x34\xcb\xb7\x56\xec\xbe\x79\x53\xa9\xbe\x26\x9a\x43\x69\x99\x57\x37\x96\x34\xac\x99\xa0\xf1\xe4\x6a\xac\x85\x57\xbb\xf7\x1d\xe6\x40\x94\x17\x01\x6d\x4e\xf3\x67\x32\x1c\xfa\x4a\x52\x76\x96\xa8\x3a\xcd\x8a\x32\xa8\xa2\x9b\xf2\x99\x6c\x53\x8d\x15\x11\x57\x9a\xed\x73\x63\x04\xe6\xa8\x41\x1c\x8e\x6d\x19\xac\x93\xb4\x62\xc5\xf9\x51\x5e\x64\x9b\x24\x3e\xff\xfc\xef\x9f\xb6\xd1\x86\xfd\x43\x39\x21\xcf\xfe\x96\xdc\x16\x59\x99\xad\xab\xd9\x55\x9a\xdf\x45\xef\xfe\x2e\x6a\x7f\x0a\x8f\x85\x80\x56\x42\x0b\x42\x17\xe9\x99\xec\xf2\xfb\xca\x8a\x00\xf2\x0c\x2d\xeb\xb6\xee\x4a\x3c\x6c\xa7\x34\x95\xf7\x25\xe0\xe6\x83\x36\xf5\xa9\x28\x9e\x33\x91\x9d\xc2\x51\x51\x8c\xe7\xd7\x86\x56\xfc\xd4\x1c\xa2\xdf\xa6\xce\x92\xcd\xe7\xa8\x60\x11\xe1\xae\x19\x8a\x4c\x18\xc8\xeb\x0c\x1f\x17\x71\x54\x9a\x95\x6f\xe9\x02\x8d\xe9\x0d\x7f\x70\xd5\xf3\x53\x7e\x05\xce\x91\xbb\xef\x39\xd8\x34\xe1\xb1\xcf\xc5\xb0\xff\x90\x49\x5d\x15\x31\x70\xe9\x18\x49\x0d\x8c\x67\x2a\x96\x42\x2c\x89\x45\x94\x31\x56\x47\x3f\xde\x13\xbc\x0c\xd1\x36\x2f\xe6\x74\x31\x90\x16\x70\xa4\x2f\x1c\xd4\x5f\x10\x0c\x29\x2f\xe4\xe5\x45\xa9\x12\x65\x47\x81\xcc\xff\x1d\x3b\xfb\xb9\x27\xa7\x79\xb7\xcb\xaa\x80\x6d\xf3\x6a\x2f\xa6\xbf\xe7\x7c\xb9\x6a\x62\x81\xe3\x90\xe6\xc7\x34\x0c\x9b\xdc\x14\x6c\x0f\xda\xe3\x55\x01\xb8\xf6\x74\xc1\x8b\xaf\x79\x69\x5e\xb4\xe2\x9d\x79\xd1\x8a\xb7\xf6\x45\x2b\xde\x13\x17\xad\x04\x53\xda\x2f\xdf\xae\xa1\x4e\x6b\x2b\xf5\x95\x98\x37\x91\xf1\x9d\x32\x41\x51\xa2\x89\x03\x29\x3f\x6c\x32\x4f\xf0\x84\x90\xa9\x34\xc9\x05\x13\x0d\xc8\x3e\x0d\xb5\x2d\xb7\x00\x28\x1d\x0d\x2d\x97\x75\x5a\xe5\x18\xb5\x27\x49\x6d\x98\x1b\xd2\x45\x6d\xb3\xc3\x7e\xcd\x09\xe1\x8c\x34\x6d\x99\xaf\xf2\x11\xb2\x34\x10\x7d\xe5\x82\xd6\x01\xa2\x7b\x9a\x9f\x2c\x1e\xe1\x28\xd9\x6e\x04\x3b\x27\x62\xc1\x53\x22\x22\x39\xc9\xa4\x90\x0f\x7c\x53\xa9\x93\xde\x69\xd3\xa2\x0f\xa7\x67\xf9\xd3\x71\xed\x1e\xad\x88\x99\x4f\x4d\x07\x41\xe4\x78\x4c\x0e\x23\x11\x10\x40\x6d\x65\x85\x40\x3f\x28\x79\xdd\xe2\x14\x9b\x65\x69\xb5\x99\x0b\xc6\x44\xfc\x0f\xf8\xdb\x1a\xc2\x32\x8c\x10\x91\x9a\x06\x45\x7c\xa2\xec\x13\x4d\xd3\x38\x44\x17\x60\x73\x48\x1c\xca\x09\x98\x43\xbe\x61\x5b\xc6\x81\xf3\xfa\x5e\xc6\xa4\x80\x16\x3f\x84\x81\x57\x17\x18\x92\x4c\xe9\xac\x44\xa4\xa0\x13\x06\xc8\xbe\x8b\xb0\x13\xaa\x53\xe0\x34\x1c\xac\xf4\x82\xe7\x83\x0b\x92\xdd\x4e\x47\xec\xb3\x8c\xd2\x54\xa8\x2c\x77\x40\x03\x84\x8e\xe8\x08\x90\xc6\xce\x76\xa0\x01\xc3\x20\x5b\x44\x53\x77\xf4\x67\x52\x3e\x6c\xf0\xe2\xe2\xf0\x2f\x73\x03\x65\xa9\x8e\x85\xa0\x63\xa1\x6d\xeb\x05\x85\xdd\x76\x10\x43\xe8\xc4\xf1\x66\x85\x11\x8e\x15\xf0\xeb\x10\x2d\x52\xfe\xe4\x59\x34\x2f\xf4\x51\x9e\xc2\xf8\xa2\x23\xb0\x8a\xaf\x7e\x0f\x74\xe3\xa9\xde\x03\x0f\x39\x6b\xbb\xb6\x92\x60\x5e\x6d\x2e\xc2\x8e\x00\xa2\x79\x5b\xfd\xab\x15\xaa\x18\x28\x1f\x2e\xad\xad\x6a\x80\x9b\x80\x0b\x6f\xda\xa0\x10\xee\x2d\xcf\xfb\x79\xce\x1f\x59\x2c\x88\x68\x88\x6a\x94\xb5\x00\x0a\x0d\x4b\x62\x1c\x0f\x44\x7e\x6a\x1d\xe2\x05\xaa\x2e\xe0\x21\x06\x34\x2c\xb8\x73\x83\xc1\x45\x18\x68\xb6\xc4\xd8\xc2\x83\x0a\x04\xa7\x21\xe3\x89\xe1\x35\x68\x19\xf1\x95\x1d\x8f\xd0\x44\x5e\x52\x88\x5b\xc7\x49\x21\x02\x8f\x9c\x17\x55\xea\x21\x1e\xa0\xd0\xd7\xa0\x43\xac\xd0\x6d\x54\x9d\x0e\x96\xd7\x51\x14\x73\xbe\x6d\xf4\x0f\xe5\xe6\x65\x58\x57\xfd\xf9\x3c\x18\xcd\xb1\xcd\x5e\xdf\x07\xaf\x59\x6c\x16\x27\x15\xa6\xe7\x57\x96\xe3\xe4\xe1\x9a\x73\x9f\xfc\x4b\x27\x24\x0d\xee\x58\x9a\x33\xec\x03\x85\x66\x18\x2a\xae\xbd\xc4\xbb\x0d\x13\x45\x5a\xcb\x9f\x60\x66\x53\x1b\xd2\xc7\x8f\xf3\x7e\x90\xe6\x5d\x90\x4e\xe6\x0d\xc3\xd0\x07\xd4\x02\x83\x42\xc2\x4b\xcb\xcf\x1d\xa0\x71\x15\x8b\xc5\xa6\xa2\x84\xd7\x56\x95\xdc\x7e\xd9\xeb\x8f\x0a\x92\x78\xaf\xf7\xb8\x08\x5d\x64\xbd\x2c\xed\x77\x99\xf5\x4a\x3c\x83\xe6\x82\x6c\xbd\xf6\xf6\x27\x80\x21\xdd\xd6\xc9\x13\x8b\xf1\x47\xf0\x90\x64\x25\x71\xc3\xf5\xf5\x11\x95\x40\xe2\xfb\xed\x76\x4f\xf8\xd6\xa9\xf6\xde\x3b\xcb\xd2\xfe\x62\x40\x56\xfe\xea\xbe\x89\x86\x80\x72\x65\x5e\x48\xa7\x46\x9c\xc1\x60\x6e\xfa\x26\x04\x73\xc2\x33\xa1\x1d\xa2\xf1\x4c\x8b\x0a\x24\x66\x09\xbf\xf3\xf8\xb7\xe1\xc0\xcb\x86\xa0\x78\x01\x04\xc5\x5c\xc4\x4d\x05\x7c\xee\xd9\xc5\x19\x30\xde\x6b\x9e\xdd\xaa\x0e\xe3\x99\xb2\x89\xec\xdd\xea\xaf\x71\x54\x45\x41\x1e\x15\xd1\xf6\xe4\x93\x26\x6f\x7e\x73\x1b\xb5\xb7\x28\x5d\xee\x66\x20\x88\x57\xea\x6b\x2c\x2c\x57\x94\x92\x92\x22\x7d\xff\x3d\x45\x19\xb7\x21\x5a\xbd\xf4\xaf\xab\x54\xd9\xa3\x50\xd6\x59\x66\xf4\x5a\xa1\x59\xe4\xe2\xfc\xff\x77\x4d\x2c\x9a\x02\x1e\x9a\x96\xff\x4a\xa3\x8a\x2d\xe2\x77\x41\x33\x9f\x42\xbb\xa0\xa7\xc0\x5f\xaa\xec\x51\x28\xeb\x2c\x63\x4c\x01\x76\xf8\xed\x50\xb7\x69\xed\xab\xf9\xd2\x7c\x76\xf0\xa9\x85\xda\x3e\xd4\x42\x04\x25\xab\x6a\x2c\xdd\xf4\x89\xe0\x54\x15\xb4\x54\x0d\x88\x4e\x1c\xd9\x94\xba\xe4\xf4\x9e\x07\x69\x2c\xe6\x9a\x9d\xe4\xbf\x3d\x9c\xa3\xb7\x11\xd4\x3f\x71\x86\x1d\x5e\x39\xb0\xd6\x25\xf4\x95\xe4\x68\x08\x85\x7a\x46\x1d\x72\x9e\x5c\x6c\x14\x63\x23\x3d\x6f\xbf\x2f\x93\x1a\xb6\xa6\x67\x65\xdc\x68\x61\x68\xe2\x56\xdc\xfc\x9f\x75\x18\xde\x1e\x21\x6b\x82\x1f\xb3\x5d\x75\xf5\xc8\xca\x6c\x2b\xa3\x2e\xca\xd8\xec\xcb\x30\x94\x6a\x28\x8b\x34\xef\xd5\x0d\xef\x6c\x4b\x0c\xab\xc4\x82\xcd\x2d\x30\x69\x75\x89\x86\xb2\x4f\x31\x11\x6f\x02\x8d\xf4\xc2\x22\x7d\x90\x48\x0f\x1c\xa2\x51\x88\x8a\x12\x8b\x67\x99\xa5\xe9\x54\xc5\x9a\xb5\xbe\x40\xd1\x52\x9c\xdd\x37\xa5\xe0\x4d\xb6\xcb\x74\x80\xca\x89\x02\x3f\x75\x7d\xb9\x7b\x1b\xf1\x53\x45\xf4\x5b\xa1\x11\x2a\x14\xab\x7c\x9b\xa5\xf2\xd5\x05\x26\x25\x81\x29\xb9\x1d\x85\x07\x42\x9a\x71\x7b\xfa\x87\x64\xb7\xa9\xf1\xce\x43\xa5\x78\xf6\x19\x9b\x00\x37\x4c\x06\x9e\xcd\x78\x00\xb3\xad\x40\x40\xe8\x58\xc4\xb7\xb1\x42\xfa\x8c\x8a\xb9\x6b\x66\xce\x78\x0c\x92\xdd\x3a\xab\x09\x57\x73\xda\x5a\xe0\xcc\xc2\x7f\x06\x64\xd1\x05\xf0\xd6\xb8\xd2\xb4\x7e\xaf\xe1\xeb\x57\xa4\x8e\x6f\x60\x0b\x9e\xbb\x0c\xe5\x5f\xe0\xff\x4c\xbc\xd9\x0b\x78\xe7\x6d\xc9\x43\x5e\x2b\xd2\xfe\x8c\xca\xab\xf3\x97\x38\x8e\xc7\x34\x3d\x33\x1c\x53\xfa\xd7\xb4\x95\x12\xb6\x07\xfa\x80\x2e\x5c\x12\x9a\xf9\x01\xfd\xb8\x34\xe5\x8b\x9c\x5f\x5a\x84\xd3\x93\xc5\xe9\x74\x3e\xff\x38\x9d\x2d\x8e\x89\x59\x23\xa9\xfd\xae\x66\x27\xb3\x1d\x7b\xe4\xf2\xad\x51\x9a\x5f\x2c\x03\x1a\xbf\xfb\x9c\x16\x45\xa2\xb2\xbc\x26\x95\x90\xcf\xe2\x17\x3d\x95\x1c\x64\x22\x45\xf1\xc1\x6a\x2f\x49\xf4\x59\xed\xf4\xa5\xfb\xac\x8a\xaf\x41\xfa\x51\x9d\xe8\x45\xfd\xf5\x1f\xf6\xcb\x10\x80\x5c\xf9\xde\xfc\x58\x27\x29\x9b\xa2\x37\x0f\x49\xcc\x32\xa4\xa1\x77\x08\x7f\x06\x8d\xa6\x6b\xf5\x86\x90\x92\xa4\x60\x79\x00\x42\x56\xc2\x3c\x80\x7b\xd5\x0a\xf1\x21\x8b\xac\x5c\x0d\xfc\xa8\xbc\x63\xb1\xd4\xcb\x95\x8a\xb4\xf2\x97\xb9\x53\x0a\x08\x21\xb5\x15\x9f\x09\xd8\x51\x43\x53\xec\x22\x9e\xb0\xf8\xb1\x6c\x33\xa6\xc0\x0c\x02\xbb\x63\xec\x1a\xb6\x6a\xfe\x34\xa8\x3b\x84\x9f\x5e\x9b\x70\xb8\xc8\xa3\x0d\x0b\x6e\x0a\x16\x7d\x09\xf8\xc6\x3d\x8f\xd2\xc7\x68\x5f\xda\xdb\xcd\x12\xa1\xb4\x48\x42\xef\xef\x93\x1f\x97\xd7\x3f\x1c\x99\x1b\x59\xc3\xca\x0b\x86\xc2\x2c\xe6\x05\x0b\x44\x9a\x90\xac\x88\xf9\xaf\x73\xd1\x95\xe6\x59\x57\xe3\x48\xeb\x7f\xf7\x59\xc5\x6a\xa8\x71\x00\x66\x82\x2b\xb6\x58\xdd\x9c\x60\x39\x75\x9b\x52\x4c\xa9\x27\x94\xd4\x4b\x14\xa6\xc0\x13\x2d\xb5\xc1\xe2\x6f\x6e\xe3\xe5\x05\x7a\xea\x80\xe0\x06\xb6\x5c\x44\xe1\xf2\xc3\x05\x7a\xd2\xc0\xb8\xb9\x5b\x59\x15\x99\xca\x37\xa4\xf3\x75\x19\x85\x36\x05\x63\xc0\x14\x8e\xed\xf4\x77\x75\x9c\xd9\x36\xab\x78\xa2\x11\x13\xb9\x40\x24\x74\x74\x95\xe7\x29\x9b\x5c\x73\x95\xe7\x0f\xdb\xec\xbf\xc9\xd1\xf4\xe8\x17\xb6\xc9\xd8\xe4\x9f\x3f\xa9\x17\x3f\x67\x55\xc6\x4b\xf0\x67\xf0\xfd\x97\xfd\xf6\x26\x4b\x8f\xa6\x47\x57\xbb\xb8\xc8\x92\x58\x55\xe0\xff\x89\x8f\xa5\xa1\x92\xc1\x66\x5d\x78\xaf\x71\xe4\xbd\x29\xa2\xbd\x42\xa1\x57\x57\x57\x96\xb6\x02\x96\x6d\xad\x90\x80\x65\x39\x30\x8d\x05\x3a\x7d\xdb\x6e\x96\xab\x98\x80\xe5\xcd\x84\xea\x0c\xdf\xab\x71\x9d\xb2\xaa\x6a\x0e\x4f\xc3\x26\x34\xc5\x21\xee\x69\xcb\xb6\x09\x99\x6a\x57\xa6\xa6\xaf\x08\x47\x6b\x36\x09\x7b\xbe\x61\x09\x2e\xaa\xc3\xd1\x57\x72\xa3\x02\x1d\x35\x84\x35\xf2\xcf\x34\xed\xc6\xc8\x3c\x57\x36\x3c\x79\xce\x4d\xb0\x13\x91\x97\x4a\x9d\x21\x77\xcd\x02\xd6\x14\xf4\x3e\xd0\x2d\xd2\x55\x13\xe7\x20\x7c\x36\x70\x06\x0c\xa2\xe3\x7c\x29\x71\xc7\xcd\xd8\x7f\x24\x10\x62\x0c\xdc\xa2\x44\xe7\x70\x33\x03\x28\x40\x30\x1c\xe1\xeb\x7d\x28\x0d\x42\xb8\x28\x99\x30\x21\x11\xef\x49\x1b\x12\x50\xe5\x05\x9d\x94\x48\x4b\x3e\x45\x93\x87\x9a\x28\xbf\xbe\xbe\x76\x58\xf4\x7c\xb5\x29\x10\x9b\xb7\x24\x0a\x5d\xfe\xf5\x00\x8b\x41\x97\x75\x91\xce\x60\x63\x26\x6b\x21\x7a\xc0\x57\xfd\xe1\xa6\x36\xd8\x83\xf6\x5e\x76\x57\xe1\x1b\xe5\x21\x25\xb5\xf4\x9e\x0a\xb6\x27\x97\xb3\x46\xe2\xb6\x5d\x24\x8b\xab\x1e\x51\x1b\x9c\x2e\x6b\x87\x81\x14\x77\x86\xe3\xce\x51\x99\x93\xaa\x82\xa5\x69\x16\xdc\x64\x51\x11\x3f\x43\xb2\x4a\x08\x6e\x7c\x7a\x4a\x09\x85\x3b\xea\x12\x59\x60\xe7\x6c\xc9\x4e\x71\x0f\xf1\x59\x5b\xe4\xc8\x0e\xb6\xcd\x63\x09\xf6\x93\xb0\x37\xa5\x5a\xf4\x77\x9b\x4e\x6c\x49\x62\xb8\xce\x6c\x97\xb0\xd1\x43\xd2\x5b\x4a\x38\x22\x53\xda\xe5\xcc\xb5\xa4\xc0\x7b\xf3\x94\xc7\xf5\x3f\x6c\x8d\xa9\xe6\x2e\x23\xfc\x7c\xf0\x16\x20\x1b\x99\xbd\xd8\xfe\x00\x7b\x03\x4e\xd7\x2a\x0c\x5d\x8b\xdc\x35\x6d\xde\x84\x94\x7d\x07\x89\x1e\xc6\xec\x4f\x94\xb7\x76\xa2\x88\xa2\xc1\xdd\xd0\xab\xcb\xf3\xf5\xe2\x26\x31\x3d\x06\x04\x40\xd7\x9f\x3f\xcf\x3f\x2f\xa9\x5c\x88\x6d\x0a\x25\xb8\x30\x20\xc3\xf6\x05\xbc\xb9\xcd\x31\x21\x62\xb7\xf5\xdd\x9c\xfc\xcc\xee\xd9\xd1\xd4\xe3\xd1\x89\x74\xf8\x67\xf9\x93\x1d\xcf\x92\xe0\x5b\x8c\x75\x2e\xb6\x51\x6a\x2a\xe4\xa9\x85\x7e\xdc\x97\xc9\xe3\x7e\xa3\x12\xfd\xc1\x2e\xeb\xbe\x89\xbe\xfe\x8b\x15\x71\xb4\x43\x3d\xb5\xdc\x2c\x41\x92\xab\xdf\x03\x00\x00\xff\xff\xdf\x35\x29\xb6\x0a\x83\x04\x00") +var _bindataPublicAssetsDocumizeC5ca96bc6e367ed06247e94fba7fb20dJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7b\x77\xdb\x36\xb6\x30\x0e\xff\xef\x4f\x41\xa3\xe7\x75\xc9\x31\xad\xd8\x69\x3b\x73\x46\x2d\xe3\x27\x4d\xd2\xd6\x67\x72\x7b\x62\x67\xfa\xcc\x4a\xb2\xb2\x60\x11\x96\x58\x53\x80\x86\x80\xec\xb8\x8e\xbe\xfb\xbb\xb0\x71\x21\x40\x82\x14\x65\x3b\x69\x7a\x7e\x33\xb3\x56\x6a\x11\x77\x60\x63\xdf\xb0\x2f\x68\xc9\x49\xc4\x45\x55\x4c\x04\xda\xca\xc9\x59\x41\x49\x8c\x72\x36\x59\xce\x8b\xdf\xc9\x3d\xbc\x58\xa0\xf4\x0d\x22\x1f\x16\xac\x12\x1c\xa5\x75\x49\x45\x38\x2b\x2f\x48\x85\x52\x44\xe6\xa7\xa4\xda\x2b\x19\xce\xf7\x0a\x5a\x88\x02\x97\xc5\xef\xa4\xf2\x6a\x4f\x18\x3d\x2b\xa6\xf7\x08\xbd\x28\x2a\x46\xe7\x84\x0a\xf4\x2e\x3d\x5b\xd2\x89\x28\x18\x8d\x45\x4a\x52\x9a\xf2\xe4\xfa\xc5\xe9\x6f\x64\x22\x46\x6a\x1a\x2f\x2b\xb6\x20\x95\xb8\x8a\x45\x8a\xde\xbf\x27\xfc\x19\xcb\x97\x25\x41\xe9\xf5\x05\x2e\x97\x64\xbc\xbd\xbf\x4a\xb6\x2e\x70\x15\xb1\xec\x82\x15\x79\xb4\xbf\xc5\xb2\x27\x72\x26\xa3\x87\x8b\x45\x59\x4c\xb0\xec\x7a\x44\x3e\x08\x42\xf3\xf8\x7a\x0e\x8d\x5f\x56\xe4\xac\xf8\x30\xe6\x72\x04\xbc\x2c\xc5\xc8\xfd\x9c\x2e\x58\xfe\x2c\x5c\xad\x51\x92\xbe\xd2\x8b\x1f\x13\x53\x65\x95\xa4\xf1\x7e\x4a\xcd\xcf\x24\x66\x69\x78\x94\x24\x15\xe6\x7b\xc6\x56\x49\xda\xde\xf2\xa5\x98\x11\x2a\xe4\x02\x58\xc5\xef\x61\xca\xe8\xd5\x9c\x2d\xb9\x7f\x0e\x6a\xcf\x79\x31\x5f\x94\x64\x4f\x36\x69\xb6\x3b\xc5\x9c\x34\xf6\x78\xf3\xfd\x75\xe6\x6a\x57\x6a\xb7\xb4\x22\x5c\xb0\x8a\x8c\xeb\x21\x92\xeb\x8a\x88\x65\x45\x23\x75\x0e\xaf\x8e\xff\xf9\x72\xa4\xe1\x24\x16\xc9\x2a\x75\xa6\xb8\x41\xb3\x55\x32\x60\x9b\xcc\xf7\x0e\x68\x5d\x8a\xa2\xe4\xf7\x08\x9d\xb0\xbc\xa0\xd3\x76\x09\x25\xe2\x86\x9b\x7a\x2b\xc0\x45\xa6\x27\x94\x65\xe2\x6a\x41\xd8\x59\x74\x7c\x35\x3f\x65\xe5\xce\x0e\xe2\xf0\x47\xb3\x60\x54\x08\x52\xc9\xc9\x1c\x06\xf6\x4f\xd7\x14\xab\xd0\xe6\x8a\x9d\x9d\x9e\xe1\xc4\x68\xc2\x28\x17\xd5\x72\x22\x58\x95\x65\x99\xfd\xbe\x6d\xfe\x1e\x2d\x2a\x26\x98\x6c\x76\x68\xe6\x36\xb6\x03\x6e\xd5\x80\xc2\x5b\x80\x82\x7f\xc3\x1f\xc6\xea\x6c\x0b\x0a\xfb\xc4\x49\x75\x51\x4c\x48\x9c\xa4\x78\xb1\x78\x46\x04\xee\x2a\x2e\xd9\x04\x97\xc7\x82\x55\x78\x4a\xba\xea\xf4\xc0\xa1\x38\x0c\x82\xd4\xd8\xfb\x2a\xbb\x8b\xfb\xa0\x53\x9e\x15\xcf\xec\xdd\x1e\x4d\x89\x38\x5e\x9e\xe6\x6c\x8e\x0b\x1a\x27\x69\x61\xf0\x4f\x71\x16\x23\x06\x80\x80\xb2\x2c\x8b\xd5\xd7\x2c\xcb\xc4\x21\x5a\x52\x05\x1a\x39\x1a\xb3\x58\x24\x89\xea\x14\x67\x62\xb4\xc0\x9c\x5f\xb2\x2a\x4f\xcb\x4c\x8c\xc8\x1c\x17\xa5\xec\x67\x5b\xaf\x95\xbf\xac\x08\x27\x54\xc4\x38\xf9\xf8\xb1\xf5\xb1\x4c\x92\xd0\xcd\x81\x05\xa1\x82\x5e\xe0\xb2\xc8\x51\xb2\x55\x38\x97\xf7\x47\xcc\xc9\x5f\xbf\x1d\xc1\x4d\x20\x31\xdf\x45\x63\xb4\x5b\xc2\xbf\x38\x59\x91\x92\x93\x6b\xb9\x0a\x49\x0f\xe8\x14\x6d\x1b\x28\x11\x03\xc7\x11\x2b\xb9\xac\x2a\xbb\x7e\xb8\x14\x33\x56\x15\xbf\x03\x12\x1e\xa3\x1f\x31\x2f\x26\x11\xda\x2d\x56\x5b\xe6\x64\x66\x05\x97\x1b\x19\x23\x09\x1d\x28\x19\x2d\x18\x17\x31\x5a\x2c\x4f\xcb\x62\xe2\x5e\x3b\x79\x6f\x66\x04\xe7\xa4\xe2\xe3\x6a\x95\xac\x52\x3d\x9e\x77\x48\xf5\x81\xdb\x6e\x5d\xc8\x41\xc9\x68\x52\x12\x5c\x3d\x2c\xcb\x38\x49\x03\x20\x31\x10\xc9\x9c\x93\xab\x49\xc9\xf0\x79\x2f\x92\xb9\x0d\x2a\xb9\x15\x86\xa6\x77\x79\xf1\xce\x27\xf2\x08\xbf\xe8\x6b\x69\x3a\x1b\xa9\x9b\xe8\x00\x79\xe3\x82\x36\xaf\x8d\x18\x09\x76\x4e\x68\x72\xd8\x2e\x80\x0b\x98\x1c\x0e\x87\x4e\x07\x26\xae\x73\x2c\xf0\xf8\x7f\x8e\x5f\x3c\x1f\xa9\xfb\x53\x9c\x5d\xc5\x22\x49\x27\x8c\x0a\x42\xc5\xc9\xd5\x82\x8c\xd1\x6f\x9c\x51\xb4\x0a\x2d\x15\xc9\xe6\x6a\x02\x51\xc1\x23\x32\x5f\x88\x2b\xd4\x5d\x11\x96\xe0\x54\xbc\x83\x8b\x51\xd7\x51\xa7\x8f\x92\x51\xc9\xa6\x6c\x29\x86\xde\x8f\x32\xc7\x5d\xec\xe2\x7f\x08\xf0\x7f\x08\xf0\x9f\x80\x00\x2f\x39\xa9\x28\x9e\x93\xff\xd0\x60\x1f\xcb\xa9\x9b\xfd\xc7\x11\xe2\x09\x9b\x2f\x18\x25\x54\xf0\x7b\x93\x25\x17\x4c\x61\x9f\x6a\x32\x2b\x2e\xc8\x1e\xce\xe7\x05\xed\xc0\x3b\xf3\xe2\x43\x41\x39\x2c\x26\xf0\x79\xce\x72\x5c\xde\x2d\x15\x56\x8b\x7a\x64\xe6\x6b\xee\xa0\x3d\xfd\x5a\x46\x4c\xaf\xa5\xb4\xec\xee\x1d\x6c\xda\x7b\xbe\x5c\x90\x6a\x84\x17\x8b\xf2\x2a\x96\x5f\x52\x5c\x4d\x97\x52\x64\xe6\xf2\x8e\x40\x5d\x3e\xbe\xde\x68\xa3\x96\x62\xb6\xc7\x89\x10\x05\x9d\xf2\xfe\x8d\xa2\x4c\x14\x67\x05\x88\xf5\xe1\xcd\xea\xc6\xe9\x77\x81\x96\xd7\x6f\x64\xbd\x7d\xf5\x96\x5e\xaf\x41\x62\xd3\x92\x9d\xe2\xf2\xf8\x62\x12\xae\x80\x54\x39\x4a\xd2\x82\x3f\xd6\x8b\x7b\x59\xb1\x8b\x22\x27\x95\x6e\x21\xb7\x75\x29\x48\x1e\x23\xb9\x97\xa6\x10\xa5\x7d\x80\xef\xd5\x4c\x24\x1a\xb2\x45\x80\xea\x31\x15\x1c\x25\xa3\x87\x4e\xb5\x91\x19\x7e\x25\xe7\xf2\x0f\xcd\x5a\xfc\x41\x73\x31\xc3\xc3\x5c\x9e\x3e\x7e\xf8\xf2\x0f\x9a\x87\x1c\x7a\x95\xa4\x66\x3a\xaf\xab\xf2\x49\x55\xb1\xe6\x2c\x46\xc0\x07\xc5\xc8\xf0\x63\x8f\x40\xe3\x34\x5a\x56\xf2\x5c\x4d\xdb\x57\x04\x97\xf3\x0d\x5a\x57\xb2\xbe\xd3\xfe\x51\x59\x10\x2a\x8e\xf2\x0d\xba\x98\xe8\x26\x4e\x2f\x2f\x01\xc1\xfe\x83\x5c\x6d\xd0\xcd\xc2\xb4\x71\xfa\x79\x28\xf1\xde\x6b\x4e\xaa\x0d\xfa\xc1\xa6\x4d\xb3\x9f\x97\x9a\x0c\x6e\xda\x97\x69\x87\x92\xd4\x14\xff\x84\x8b\x72\x59\x91\x31\x42\xa9\xa4\x1b\xd0\xe3\x31\xa9\x2e\x48\xf5\x0b\xe3\xa2\xa3\x6f\x59\x53\xf7\xcb\x6d\x5d\x94\x34\x7b\x78\xc9\xaa\x66\x0f\x81\xb6\xb2\x56\x08\x10\x0b\xae\x87\x73\xc8\x53\xb0\x6d\x92\x7c\xfc\x58\xf0\x11\x65\x62\x44\x97\x72\xb4\x78\x81\x2b\x4e\x8e\xa4\x90\xb0\xb6\xa9\x44\xcc\x76\xda\x3f\x16\x34\x7f\xfc\x7c\xfd\xa2\x4f\xa1\x1e\x6a\xb4\x34\xbb\x3b\xac\xbd\x73\x16\xb6\x97\xe7\xec\xa7\xa2\x14\x81\x4b\xeb\xb4\xbd\x96\x6c\x8f\xaa\x96\x4e\x2b\xb6\x5c\xa8\xbf\x57\x9b\x6f\x61\xdd\x11\x4a\x92\x9d\x9d\xfe\xca\xce\x50\xc8\xdf\xb4\x87\x42\x54\xc5\xe9\x52\x10\x09\xa9\xaf\x86\x6c\x1f\x6e\xb4\x40\x5d\xbd\xfd\x54\x54\x5c\x48\x16\x6f\xc3\x3e\x6d\xbb\xce\x9e\x9f\xe2\x1b\x75\x6c\x9a\x75\xf6\xfb\x44\x8a\x84\x1b\x76\x0a\x6d\x82\x3d\xfe\x2c\x37\xfd\x19\x08\x5a\xbd\x20\xe1\x1c\x4e\x8a\x03\x8d\xbb\x80\x43\x5e\x99\xc1\x67\xbe\x0e\x42\x42\x03\xd7\xa0\xf2\xb2\x22\x17\x05\xb9\x1c\xd3\x65\x59\xa6\x75\x2b\xf5\x7b\x63\xde\x4a\x89\xbf\x3e\x8a\xcb\xae\x97\x55\x29\xf1\x18\x10\x02\xf9\x87\x41\xe7\xf2\x6f\x8b\x93\xe5\x0f\x8b\x58\xed\x0f\x7b\x77\x11\x52\xb7\x4a\xfe\x91\x17\x1c\x9f\x96\xe4\x29\xc8\xd5\xe3\xed\x83\x54\xf3\x30\x2f\x49\x35\x2f\x38\x2f\x18\x7d\x98\xe7\xc7\x0b\x3c\x21\xe3\xed\x83\xd5\x2a\xcd\x8b\xfc\x15\x99\x90\xe2\x82\xc8\x13\xe4\x1b\xad\x08\x64\x5c\x91\x75\x51\xdf\x94\x84\xa9\xef\x16\xbf\x2c\xc4\x64\xa6\x4e\x84\x9b\x13\xd1\x9b\x8d\xd2\xeb\x82\x2b\x1a\xb1\xbd\x9f\xce\x09\xe7\x52\x30\x44\xaf\xa9\x5c\x55\x24\x58\x34\x61\x94\x4a\x01\x4c\xf2\x72\xc9\xf5\x04\x73\x12\x91\x30\x8f\x33\x3e\xad\x08\x3e\xdf\x0a\x55\x31\x94\x69\x2c\x57\x40\x1b\x2b\x50\x47\x23\x65\x1d\x3e\xb2\x62\x5d\x4c\x35\xc6\x5e\x96\xa5\xf9\x5b\x01\x16\x4d\x0e\x69\x76\xbd\x1a\xc7\x31\xcd\x40\x39\x03\x98\x3c\xa6\x49\x52\x13\x55\x47\x66\xd6\xc2\x59\x4e\x40\x38\xa3\x75\x9d\xa4\xe6\xdc\xdb\x87\x95\x6d\x6f\xd3\xd1\x0c\xf3\x17\x97\xd4\x72\xb9\xa8\xb3\x36\x4a\x76\x76\x7a\x3a\x93\x03\xb9\x60\x92\x85\xfa\x76\x2b\xa0\xe4\xe3\xc7\x46\x1b\x0d\xce\x70\x7c\x3e\x4c\xa3\x94\x26\x5b\xdd\x5b\x2f\xb9\xad\xb1\x52\x8e\x0c\xd9\x76\xe6\x6c\x3b\x73\xb7\x9d\x25\x87\x4c\x6d\x3b\x73\xb7\x9d\x25\x49\xef\x2e\xb2\xcd\x76\x91\xf5\xec\x22\x6b\xee\x62\xa0\xef\xe6\x2e\xb2\xee\x5d\xac\x11\x0c\x4a\x59\xb2\x72\x44\x31\x46\x2d\x48\x3b\xd7\xb3\x79\xf9\xdc\x1b\x56\xf7\xea\xb3\xce\x22\x7c\x53\x92\x55\xca\xa8\xbd\x13\x77\x3b\x86\xe9\x16\xc6\x80\xc3\xbf\xdb\xfe\x65\x97\xb6\xef\x27\x74\x52\x5d\x2d\x40\x1f\xe1\xea\x77\x42\x9b\x3c\x22\xb6\xee\xc9\xd5\x82\xa0\x54\xd8\x5e\x0c\xde\x0f\x4e\x54\xcf\x6b\xc6\x2e\x7f\xc5\x85\x88\x15\x12\x74\x31\x9d\x73\x8e\xc9\x16\x71\x38\xb7\x6c\x03\x16\xcf\xd1\x95\x5a\xe1\x12\x25\xa3\x85\x9a\x99\x9c\x64\x4c\x92\x91\x98\x11\x1a\xdb\x59\x92\xe4\x5a\x04\xf0\x29\x91\x42\x2f\xc8\xd6\x2f\x16\x84\xc6\xe8\x2b\x59\xba\xa7\x7b\xda\xd3\x42\xf7\xb5\x5c\x90\x91\x90\xe5\xdf\x8f\x19\x25\x71\xb2\x82\x3d\x39\xc6\x17\x1d\x90\xd7\x85\xe2\xd3\x26\x4e\x75\xa8\x42\xe7\xbd\x6f\x91\x85\x06\xbf\x8f\x52\x24\x7b\x5e\x83\xf4\x25\x52\xe8\x41\x3f\x16\xca\x8b\x33\xe7\x18\x9a\xb2\x1f\xb2\x4a\x37\xd0\xf1\x41\xc5\xff\x8a\xd1\x57\x66\x46\x7b\x20\xf6\x8d\xce\xd8\x64\xc9\xe3\x64\x2b\xd8\x57\x2d\x0b\xae\xed\x4d\x8b\x81\xfd\xfd\x79\xb2\xe1\xda\x2e\x6b\xb1\xb0\xbf\x57\x5f\x56\x5c\xdb\xad\x23\x26\xf6\xf7\xeb\xcb\x8e\x6b\xfb\x05\x86\x66\x6f\x09\x72\xe3\x80\x8e\x3d\x61\x72\x60\xe7\x0b\x2b\xbc\x98\x01\xbe\x8f\x8d\x45\xc7\x84\x2d\x5c\x0e\xb1\x41\xd0\x92\x24\x91\x72\x7e\xc6\xe4\xbf\x23\x51\x15\xf3\x38\x49\x99\x12\xde\x33\xfd\xdf\xfa\xb3\xd9\xf9\xac\xfe\xb3\x2e\xac\x39\x02\xe7\xef\xba\x18\xd8\xb8\xcc\x27\x80\xea\x63\x72\x88\xd0\x58\xff\x5d\xd7\xb7\x4c\x61\xe6\xfc\xdd\x28\x36\x7b\x95\x35\x7e\xd7\xd5\x7a\xe8\xe5\x46\xe4\x12\xc8\xdb\xa7\x24\x97\xa9\xa4\xfe\x34\xff\xb5\x10\xb3\x18\x0e\x23\x45\xf7\x24\x95\x56\x3f\xf4\xf9\xf0\xe5\xa9\x52\x6d\xc7\xfb\xa9\xfa\x52\x12\x3a\x15\xb3\xbd\x83\xc4\xa8\x84\x25\x76\x61\x29\xaa\x81\x39\x6d\xf1\x67\x5a\x79\xde\x05\x13\xae\xbe\x24\x59\xcb\xee\x78\x80\x1c\x50\x59\x74\x41\x30\x60\xea\x19\x54\x08\x5f\x8a\x80\xf2\xa2\xb7\xaf\x05\x54\x70\xfb\xea\xb8\x01\x2e\x11\x93\x20\x52\xab\x4c\x32\xf7\x47\x0d\x43\x37\x24\x73\x9e\x40\xc7\x5c\xe9\xcd\x95\xdd\x58\x50\x50\xeb\x5b\x68\x58\xb0\x33\x0b\x5f\x85\x68\x78\x91\x5d\xbb\x94\x6a\x4c\xd3\x9a\x3a\x35\x5f\x5d\x59\xb2\xda\xaa\x57\xa7\x28\x24\x4a\xe2\xa2\x49\x92\x93\xeb\x62\xe4\x76\x9a\x65\x59\x07\x3d\xda\xd9\x11\xb6\xb3\x2b\x3a\x31\x9f\x51\x12\x37\xfb\xa4\xc9\x35\x1d\x69\x19\xe9\x30\x16\x1d\xa4\x92\x8e\xb4\xec\x04\xef\xc3\x9c\x95\x64\x54\xb2\x69\xec\x7c\x6e\xcc\xac\x83\x9e\xa6\x62\xfd\x1a\x57\x49\x32\x6e\xad\x53\xb7\xd3\x9a\xf3\x91\xcf\x04\x1c\x86\xe7\x34\xb6\x83\x3d\x9a\x61\x3a\x55\xc3\xad\x5a\x53\x6d\x6d\xa2\xbc\x64\x8d\x0d\x94\x9f\xfe\xb3\x79\x49\x9b\x9f\xdb\xe4\x5d\x67\x4a\x28\xa9\x70\xb9\xe9\xd3\xce\x1d\x5a\x05\xae\x7d\xed\xba\x9e\xe3\x0f\x27\x78\xca\xc7\xdf\xa4\xa2\x10\x25\x79\x22\x11\x46\x87\x32\x6b\xce\x72\x52\x8e\xf4\xa2\x46\x50\x1d\x25\x46\xc7\x30\xbc\xa1\x6e\x80\x00\x38\x2e\x48\x25\xa9\xdc\x13\x9a\x2f\x58\x41\xc5\xf0\x5e\xda\x6d\x51\x92\xce\x30\x3f\x91\xd3\x3a\xa2\x8b\xa5\x08\x6a\xca\x31\xcd\x63\x54\xaf\x14\xa5\xfa\x87\x62\x84\x64\x07\xcf\xd4\xf4\xd6\x74\xe1\xae\x1a\xa5\xf6\x67\xdd\xcd\xa3\xd6\xfc\xd6\xf4\xd8\xb1\x19\x28\x0d\x95\xe8\x71\x6e\xa3\x7d\x72\x44\x67\x0d\x03\xc8\x91\x9a\x1a\x47\xa6\x2b\x24\xee\x0b\xe7\x04\xae\x49\x87\x38\x2a\x29\x89\x6d\xf5\x66\xff\xdd\x88\x93\x92\x4c\x04\xc9\x5f\x80\xc8\xc8\xe5\x27\x80\xd8\xad\xc0\x34\x6a\x0a\x28\x07\xe4\x9d\xe2\x93\x24\xc0\xe6\xbd\xff\x49\x43\x4b\x19\x04\xd6\x86\x2d\x80\x1c\x15\x76\xc5\x05\x82\x74\x7b\xdf\xf0\x39\x72\x11\xbc\x10\xe4\x44\xb5\x76\xe9\xfe\xb0\x61\x2d\xa8\x77\x0e\xec\x01\x4e\x60\xe8\x67\xa6\x87\xcd\x07\x0f\xdd\x90\xce\x79\x74\xc1\x58\x63\x4a\xa1\x3e\xed\xcc\x9a\x92\xfc\xfa\xe9\x6c\x39\x0c\x29\xd1\xcc\xa8\x03\x0f\xeb\xda\xa7\xc4\xe3\x56\x89\xcb\xa9\x76\x75\x13\x82\x75\x0b\xdd\xea\xa3\xdf\x40\xa9\x50\xca\x92\x5d\x3e\x34\xa6\xde\x0f\x27\x13\xc2\x39\x72\xf6\x25\x58\x9e\x8c\x16\x15\x5b\xc4\x68\x32\x23\x93\x73\x92\xdb\xfe\x6b\xc6\xc9\x99\x04\x57\x14\xae\x4d\xe0\x5c\xfa\xe3\xf0\xdf\xa2\x01\xb4\x07\x8d\xc2\x06\x60\x35\x8b\xbb\xcf\xfb\x60\x53\x2a\x57\x50\x41\xa6\x15\x58\xb1\x7c\xd1\x94\x8e\x55\xd3\x6e\x13\x03\x56\x4d\x31\xd5\xb6\x38\x68\xad\xd5\xd5\x9d\x6a\xfd\x7f\x2b\x2a\x8c\xe0\x5e\x6b\x6e\x5e\x99\x48\xc5\x42\x4a\x66\xc2\x3e\x71\x18\xd3\x27\x78\xd9\xa8\x9f\x2e\x56\x2e\xa8\xcb\xae\x1e\x55\x24\x97\xe0\xed\x01\x17\x01\x59\x72\x54\xf0\x9f\x41\x1b\x06\x4a\x00\xa4\x8d\xac\xdc\x2b\x2b\x2a\x52\x96\x4c\x5d\x4c\x67\x2a\x44\x4e\x85\x64\xd7\x78\xb1\x50\xcf\x29\xde\xa8\xaa\x91\x1e\x97\x34\x54\xaf\x03\x95\x5f\x86\x55\x63\xd5\x14\xde\xe2\x69\x63\x83\xa0\x77\x65\x2d\xe0\x22\x0d\xda\x42\x1a\x7e\xe5\x94\x7a\x18\x82\xb6\x31\x44\xe8\x2e\x2a\x48\x41\xc9\x48\x5e\xca\x17\xd5\xf4\x58\x41\xb5\x44\x51\x70\x58\x69\x60\x6e\x28\x09\x5d\xdd\xbe\xdd\xaf\x39\x6e\x77\x38\x55\xc5\x8c\x88\x8e\x9f\x3c\x3a\x39\x7a\xf1\x7c\xef\xe4\xd5\x93\xa7\x4f\x5f\x20\xc3\x11\xbb\x5b\x9e\xdc\x8a\x47\x2d\x8b\x09\xa1\x9c\xec\x9d\x4b\x31\xfe\xcb\xbb\xb4\x83\x2c\x87\xba\x4a\x9f\xaa\xb5\xf5\x99\x4c\xe8\xe5\x4b\x66\x14\xd8\x99\x92\x4d\xe5\x05\xdb\xf8\x75\x72\xcb\x83\xeb\x5d\x4a\x2e\xa3\xc7\x58\x90\x2d\x4d\x22\x46\xf8\x37\xfc\x21\x56\x57\x79\x26\xc4\x82\x8f\xef\xdd\xe3\xca\xe6\x6e\x34\x65\x6c\x5a\x12\xbc\x28\xb8\x9c\x9d\xf5\x94\xb9\x47\xc9\x25\xbf\xc7\x97\xf3\x39\xae\xae\x46\x33\x31\x2f\x0f\x27\xa7\x19\xda\x25\xa9\x00\x4b\xe5\x9f\x9f\x9c\xa0\x34\xc7\x02\x2b\xc3\x65\x59\x01\xa5\x7c\x09\xa4\x67\x1c\x50\x6a\xdb\xf5\xa9\x3b\xea\x72\x72\x12\xee\xf4\x5e\x0d\x53\xda\xb7\xd4\xeb\x1a\x78\x75\x27\xae\xe6\xc2\xec\xef\x1a\xc2\x76\x59\xd0\x9c\x5d\x8e\x4a\xa6\xfd\xc2\x2a\x52\x32\x9c\x6f\x0c\xcd\x9c\xe0\x6a\x32\xdb\x2b\x68\x4e\x3e\xb8\xe0\xec\xc2\xec\xa7\x80\xd8\x75\x70\x7a\xba\x14\x82\xd1\xa7\xf8\x94\x94\x63\xf4\x8a\x9c\x2e\x8b\x32\x8f\x8e\x61\xb2\xd1\x91\x9a\xac\x3d\x8d\x8a\xc0\xf4\x5b\xe0\x07\xa7\xe8\x74\x84\x52\xd3\x53\x41\xa7\x91\x5a\x79\x04\x4d\x47\xa3\x11\x72\xcf\x48\xf7\x28\xd9\x8b\xcd\x76\x73\x2e\x16\x5f\x34\x49\x3f\x7e\x76\xf2\xf2\x17\xc6\x95\xa4\xd4\x77\xcd\x15\x4b\x27\xd7\x33\x52\xfa\xc0\x54\x36\x7d\xc9\xaa\x8d\x9a\x2a\xf5\x1f\x34\x3d\x26\x34\x27\xd5\x26\x8d\x39\xb4\x40\x49\xaa\xfe\x78\x8e\xe7\xbd\x88\xa9\xd5\xf2\xb9\xb2\x41\x51\x00\x70\x42\x3e\x88\x31\x92\xb4\x35\xda\x89\x4e\x08\x17\x28\x15\x84\x0b\x39\x33\x65\x5e\xe1\xdd\x6d\xf8\xdc\x73\xb1\x01\x48\xda\x7b\x89\x8c\x07\x06\x08\x23\x12\x16\x7c\x5d\xea\xd8\x6f\xec\xef\x66\xbb\xb1\xaf\x3c\x6d\x34\x6e\xee\x67\xbb\xb9\xd9\xbf\x40\x07\x8d\x1d\xed\x6a\xab\x76\xd0\xb6\x77\x5e\xca\xcc\xde\xa1\xf4\xda\x60\x50\xd7\x7a\xa2\x66\x77\x1a\x18\xd0\xb9\x92\xf2\x44\x50\x8a\x5e\x96\x04\x73\x12\x5d\xe2\x42\x34\x6f\xa1\x39\x89\x00\x97\x4f\x1a\xd8\x50\x04\x7a\x76\x0f\xdb\xd6\xa8\x27\x4e\x92\x55\xb2\xd9\xed\x96\x0c\xe5\x9f\xd7\x36\xfb\x74\x59\x9e\xbf\xe6\xa4\xe2\x92\x5c\x53\x72\x09\xa6\x3d\xb7\xb1\x2c\x82\xfd\xd4\x1d\xa1\xf4\xfa\xcc\xda\xa1\x21\x94\x96\xb8\xfe\x1b\x3c\x80\xe0\x8f\xbc\x10\xca\xcc\xe6\xa2\x50\xcd\x00\x6a\xe4\xcd\xbb\x50\x4b\xf3\x18\xe1\x17\x0b\x02\xcf\x4b\xcf\xe4\xbe\xb5\xe6\xe7\x3e\x30\xe3\x3c\x87\xa7\xbc\xd6\xe3\x72\x8a\xbe\xd2\x13\x74\xac\xdd\x56\x29\x3c\x12\xc1\xfa\x3b\xb5\x24\x01\x33\x2e\xdd\xd3\xe8\xac\xee\x2a\x49\xea\x7b\xd3\x1e\x68\x84\xf3\xfc\x51\x89\x39\x8f\x51\xc1\xf7\xac\x4b\x83\x15\xff\x49\xc9\x49\x64\xb5\x13\x1d\x7d\x54\x64\xce\x2e\x48\xa0\x9b\xb4\x67\x8a\x25\xee\x99\x61\x6d\x9f\x77\xe3\x09\x3a\x5d\xdc\x68\x7e\x44\x59\xf3\xd5\x36\xa9\xf0\xa1\xa7\x62\x7b\x15\xda\x20\x70\xc8\x12\xae\x3b\x1b\x77\x4e\xbe\xa5\x9a\x31\x70\x9e\x78\xcf\x30\x1a\x8c\x50\xd2\x36\x8e\xb0\x6c\xe4\x26\x37\xc4\xbd\x0a\xb5\x6e\x05\x97\x8f\x4a\xc6\x49\x1b\xd0\xa5\xe4\x68\x27\xc1\xbb\x80\xb9\x7d\x0c\x16\x15\xa0\xc4\xc5\xfc\xce\xe7\x35\xdb\x3a\x8e\xc3\xad\xba\x81\x21\xb0\x6b\x1c\x25\x1d\x73\xea\xda\xca\xba\x4e\x8a\xd0\xb0\x1d\xba\x01\x86\x87\x37\xc1\x35\xdc\xdb\x97\x89\xe2\x61\xe6\x3d\x5e\x21\xb2\x18\x25\xa0\x18\xe9\xae\xa5\x6c\x22\x24\x85\x80\xa7\x4c\x45\x22\x14\xb3\xac\x98\x28\xa5\x59\xe1\xaa\x60\x0e\x2f\x9d\xfa\x87\xfc\xfe\xb4\x98\x17\x62\x7c\xb0\xbf\x7f\x07\xba\x76\x29\xd1\xc0\x24\xb8\xc3\x3f\x3c\x56\xab\xe5\x71\xb2\x4a\xeb\x0a\x6b\xb9\x35\xb3\x37\x28\x91\xbf\xc1\x5f\xab\xd3\x9c\xc9\x40\x00\x01\x7b\x24\x67\xcc\xb0\x88\x61\xb6\x0a\xa5\xd7\x56\xdf\xb4\xac\x16\x8c\x2b\x4e\xc8\x99\xe6\x11\x3d\x63\x03\x74\x3b\x7a\x53\xa1\xc9\xa8\x68\x6a\x77\xea\xb3\xf0\xb0\x91\xbf\x40\xe7\x19\x9a\xf7\x59\x6e\xe9\xa1\xb4\xd5\x16\x74\xa4\xc1\x03\x25\xa3\x39\x16\x93\x19\x5c\xb8\x98\xba\xa5\x70\xc6\xed\x7b\x4a\x8d\x63\xa3\x8e\x5a\x12\xbf\x79\x97\x6c\xd1\xd1\x19\xab\x9e\xe0\xc9\x2c\x6e\x3a\x40\xd2\x8c\x8c\xce\x0a\x9a\xff\x78\xa5\x7a\x3d\xca\xad\xb6\x46\xae\xb9\x65\x0e\xbb\xb3\xc3\x47\x8b\x25\x9f\xbd\x30\xda\xbe\x95\xe5\xea\x96\x0a\x29\x70\x79\x5e\x3e\x13\x71\x3c\x63\x97\x0f\x73\xb5\xfb\xc3\x18\x09\xd8\xc7\x0e\x4e\x42\x17\x7a\x7c\x84\xba\x25\xcd\xc5\x11\x0d\x7f\x60\x41\x47\xa8\x81\x20\xad\xf4\xa7\x3e\x65\x51\xd0\x93\xd4\xa8\x9a\x8e\xe4\x10\x2e\x6e\x6e\x0e\xbe\x16\x41\x07\x01\x03\xe7\x72\x23\x5b\xe8\x95\x78\x37\xad\x13\xaf\xba\x3b\x13\xba\x8f\xca\x76\x4f\x32\xe5\xa4\x24\x82\x34\xb6\xdb\x33\x8b\xcc\xa1\x46\xf3\xd6\x14\xf9\x58\x78\xa3\xeb\x63\x51\xb5\xbb\x4f\xc6\x2b\xaf\x0f\xe7\x71\x3d\xc8\x2d\xce\xc7\x9d\x6a\x92\xf2\xac\xb1\xb1\x92\xec\x19\x28\x2e\x72\x94\xd2\x51\x91\xb7\x4f\xf2\xe3\x47\x73\xda\x30\xbb\xed\x2c\x53\x05\xce\x09\x07\x16\x71\xb3\x43\x56\x1d\xc5\x30\x91\x9b\x1c\x75\x60\xb7\x5d\x8e\xbf\xf3\xe8\x24\xae\xb3\x20\xf0\x24\x2f\x44\x1f\x00\x48\x59\x40\xf7\xb1\x66\x43\x45\x12\x80\x08\xd9\xbc\x1b\x1e\x9c\xd2\x1a\x1a\x9e\x98\x11\x6f\x01\x0b\xf5\xac\xbd\x23\x76\x4e\xd6\xbd\xb3\xad\x69\xdc\xec\x3c\x97\x8b\x1c\xcb\xf3\xbc\xd1\x61\xb6\x36\xca\x3d\x4a\xe7\x10\x24\xfd\xae\x4f\xef\x15\xf0\x71\x8a\x7c\xf4\x9d\xa2\x4b\xa8\x6e\x76\x90\x6a\x6a\x8a\x6f\xdc\x53\xdd\x85\x4c\x84\x9b\x23\xea\x09\x37\xd8\x04\x49\x5e\x63\xbb\x88\x87\x79\xfe\xf9\x56\x20\xf1\x63\xc7\xf4\xd3\x76\x1d\xbe\xa7\x88\xb8\x77\x1a\x9a\x88\x39\x0b\xe3\x0d\x72\x0f\xf6\xc8\x9d\x4b\x86\x7a\x2e\x79\x53\x90\x58\x2d\x25\x87\x78\xca\x96\x74\xa2\xf4\xcc\x69\x93\x02\xb6\x3a\xfb\xf6\xbb\x7d\x65\x9b\x4e\xf0\x45\x2f\xfe\xf4\xf8\x92\x16\xd7\x12\x66\x4e\x4a\xd9\xa9\xe4\x27\x7a\xe1\x59\x4d\x25\x6d\x42\xb8\x9c\xd5\xff\xb0\x82\xde\xf5\xa4\x7e\x63\x05\xbd\xcd\x9c\x14\xd7\x1b\x06\xb1\x9a\x63\xb2\x6f\x8c\xcd\x1d\xdf\x58\x46\x29\x0b\x2e\xfa\x25\x14\xc1\x58\x29\x8a\xc5\x6d\x65\x97\x4f\xed\xf3\xce\x43\xde\xef\x03\xe5\x18\x89\xbe\x6a\x2d\x96\xa2\x4b\xf5\xef\x33\xe5\x25\x8a\x50\x3a\xc3\xfc\x58\x1b\xd3\x68\xa5\xd3\x41\xca\x2d\x9b\xf2\xb8\xc0\x25\x9b\xca\x6f\x37\xd4\x83\x99\xb7\xe5\xec\x7a\x65\xae\xad\x33\x58\xf6\xe6\x5d\xaf\xd3\x5b\x53\x58\x59\x3f\xde\xad\xc4\x99\x96\x62\x43\x61\x9d\x64\x8b\xb4\xf9\x74\x22\xa1\x5f\x63\x49\x94\x92\x9a\x35\xaf\x0d\x06\xcd\x4b\xad\xf9\xaf\x1b\x63\x23\x07\xe7\x59\xb8\x74\xf2\xd2\x68\x64\xa6\xb6\x46\x9b\x4d\xb4\xb1\x1f\xd1\xdf\x2a\x50\x40\x9f\x28\x20\x06\x59\xef\xb2\x28\xcb\xc7\x84\x8b\x8a\x5d\x3d\x29\x89\xdc\x90\x1b\x9c\x95\x22\x34\x6e\xb7\xe0\x87\x24\x8f\xef\x51\xcb\x3a\xab\x0b\x7f\x42\x4f\x0a\xbc\xe0\x88\xd3\x6f\x24\xbe\x1c\xb1\x53\x30\x35\xe6\x31\x3a\xd3\xee\xa0\xa9\x53\xa9\x35\x59\xad\x0c\x31\xae\xa3\x0e\xed\x3f\xb3\x1e\xc4\xb5\x24\x23\xd8\x74\x5a\x12\x05\xc6\x3e\x9e\x69\x6d\xac\x3d\x1a\xfd\x25\x69\x1f\xba\x07\xa1\x12\x27\x36\x9b\x1c\x12\x10\xb5\x62\x57\x1e\x1b\x93\xec\xbd\x09\xd0\x42\x52\x17\x4a\xb4\x89\x14\xa9\xe1\x42\x36\x58\xf9\x54\xcc\x1d\xd1\x1e\x33\x94\x35\xef\x27\xb2\x86\x49\x0f\x24\x1d\x52\x4b\x7f\xa8\x54\x63\x61\x94\x0f\x90\xc6\x1b\xb4\x7a\x4b\xc3\x9c\x52\xaa\xa1\x74\x5b\x43\xb0\xfe\x9d\x24\x21\x8b\x6a\x62\x07\x7c\xa2\xb4\xd5\x37\x18\x50\xe9\xb9\xeb\x01\xf5\xef\x75\x03\x82\x95\xc3\x8d\x16\xa8\x9e\x24\xec\xfa\xb4\xad\xca\x9a\xd1\x28\x2e\xaf\x44\x31\xe1\x37\x1a\xd1\x34\x76\x46\xb5\x9f\xd6\x8d\xdc\xb8\x0e\xc3\x47\xb5\xaf\x06\xf5\xa8\xf5\xa7\xee\x51\x6b\x81\x64\x93\x41\x65\x47\x9a\xd6\x15\xf2\x4e\xcb\xaf\x68\x52\x11\x0c\x97\x0c\x55\xe4\xa2\xe0\xf0\x57\xfd\x1c\x90\x22\xab\x77\x4f\x91\xd2\x5c\xa7\x48\x07\x90\x95\x24\xda\x00\xa2\x05\x10\x73\x72\xee\xca\x10\x9e\x4c\xd8\xb2\xe9\x91\x68\x48\x5d\xe3\xe6\x58\x17\xa3\xf4\xda\xb1\x70\x4a\x21\x38\x6d\x35\xd7\x71\x92\xd0\xca\x35\x48\x04\x81\xc0\xd5\x90\x8e\x18\x8d\x91\x24\x87\xa3\x53\xcd\xd8\x22\xef\xed\xbf\xc6\x82\x7c\x32\x23\x92\xd8\xc7\x08\x9f\x09\x52\xbd\x52\xef\x8b\x69\x0b\x63\xda\x61\x9c\x97\x12\xeb\x09\x91\xac\x99\x0d\xfc\x17\x3c\x73\x16\x0c\xcc\x4c\xd6\x57\xae\x05\x05\x79\xd8\xaf\x17\xcd\x08\x4e\x4d\xfb\x31\xbb\x99\xbe\xc7\x78\xed\xaf\xe5\x3f\x00\xd5\x0f\x3e\xee\x33\x44\x6b\x81\x03\xdf\x52\x9c\x7e\x0d\xb4\xb4\xba\x2d\x37\x7e\xa1\x71\x7a\x55\x11\xff\x9a\x2f\x2b\xfa\x73\x73\x24\x72\xa3\x57\x94\xce\x53\x9b\x15\xf9\xb0\x23\xab\xcf\xd7\xf7\x2f\xb2\x17\x57\x34\x5c\x75\x88\x65\xb3\x94\x9f\x8e\x5b\xe2\x82\x7b\xb2\xb3\x53\x57\x05\xc7\x0d\xaf\xd4\x23\xbd\x75\x74\x11\xc9\xeb\xd6\x03\xac\x56\xbe\x22\xab\x57\x87\xa5\x6e\x65\x27\x1a\xf1\x68\x60\x83\xe7\x04\x5b\xe1\x5a\x51\x15\x56\x2e\x07\x1a\x1d\xf4\x10\xd6\x37\xef\xfa\x29\xeb\xf6\x41\xd2\x8e\x96\x66\x66\xe0\x71\x21\xf5\xf2\x34\x0b\x27\x45\x59\x46\x7f\x5c\x96\xe7\xed\xf9\x06\x55\xee\x0d\x2e\x23\xc8\x60\x8a\xd6\x0c\x48\x2f\xe3\x30\x60\x7d\x41\xed\xa5\xf1\xf6\xdc\xd3\xda\x2d\xf3\x80\xa6\x0f\x5a\x49\x73\x6d\x45\x41\x07\xb7\xdc\x24\x50\xe1\xe9\x4a\x64\xbd\x65\x34\xdd\x9e\x56\x21\xa8\x46\xdc\xe2\x9d\xaa\x72\x92\x51\x3b\x24\x54\x6f\xe9\xca\x35\x1b\x58\x70\xed\x7a\x66\x6e\x4f\xad\x40\x27\x89\xbf\xb1\x46\x2a\xe0\x9d\x3a\x8d\x2e\x75\xcc\xe6\xaa\x01\x77\x57\x82\x52\x78\x7b\x4f\x9b\xeb\x91\x07\xeb\x3d\x08\x08\x85\xe3\xfc\x80\x19\x3d\x1a\x07\x91\x06\x35\x68\x0e\x8b\x7e\x23\x05\xc3\x5d\x2c\x6d\xff\xc6\x4b\x03\xbd\xc5\xf0\x95\xb9\x9e\x7e\x5d\x02\x49\xd3\x1b\xd0\xb4\x6b\x86\x52\x68\xb6\x31\x0e\x70\x37\x50\x87\xf8\x33\x5d\xaf\x0c\x81\x6f\x84\x8a\x7b\x38\xcf\xf7\x38\x51\x01\x48\x6f\xa8\x0d\x59\x1b\x1f\xf0\xf3\x68\x44\x42\xef\xb9\xb5\x6e\xe4\xda\xac\xf8\x58\xe9\x40\x3a\x14\x23\xa6\x16\xd8\xcc\xc1\x94\xfb\xeb\x9b\xad\x4b\x52\x15\xef\xb4\xc3\x16\x93\x92\xcb\x63\x55\xf3\xb9\xd6\xf6\xfb\x5f\x9e\x15\x9c\x17\x74\xda\x61\x97\xe7\xd7\x95\x63\x01\x1e\x39\x48\x61\x7b\x8f\xf2\xb1\x7a\x5c\xd2\x73\x31\xd8\x66\x82\x41\x61\xdf\x8a\xe8\xb4\xb0\x7e\xde\xf6\x98\xe5\x2e\x2e\x2a\x26\x0c\x1c\xf4\x85\xeb\x0b\x35\x48\xb6\xbb\xa2\xf6\xbd\xb4\x95\x4e\xae\x16\x64\xf4\x94\x4d\xce\xb5\xe5\xbc\x62\x18\xeb\xb9\x8c\x4c\xc7\x72\xd2\x20\xfa\xce\x30\xff\xb1\x64\x93\x73\xde\x5a\xc2\x29\x7c\xee\x9f\xa7\xaa\xa3\xa5\x60\x94\x3c\x90\x30\xc4\x28\xd0\xa7\x13\x10\xa2\xfa\xf8\x5b\xbd\xb1\x4d\xde\x4a\xee\x3b\x4a\x5a\xaf\x9e\xa2\xf5\xc8\x69\x8e\x42\xb1\xa0\x8e\xf2\xc0\x18\x67\xc7\x42\x4a\x0d\x04\xf8\xbd\x9c\xd0\x0e\xc1\x81\xd4\x0c\x8c\xf1\x92\x01\x76\xb5\x49\x9e\x45\xcd\x30\x8a\x2e\x4e\x52\xb4\x19\x47\x57\xe1\xa2\x96\x96\xe2\x3c\xd7\xa0\xd6\xc6\x3d\xee\x80\xed\x9d\x32\xab\xdc\x4f\x69\x76\xe0\x51\xe7\x53\x72\xc6\x2a\xf2\x52\xf9\x5f\xb2\x8e\xe8\x23\x85\x27\x46\x4c\x09\xd7\x32\x84\x36\xe9\xb6\xa7\x68\x82\xf4\x9a\x02\xcc\x85\x42\x25\x28\xd9\x22\xd9\xfd\xbf\xe0\xba\x8b\x11\x27\xff\x5e\x12\x3a\x21\xf0\xfa\xef\x16\x94\xe4\x82\x48\xd6\x45\xb1\xfd\xda\xe1\x84\x27\xc9\x35\xcd\x8c\x0d\xb9\xaa\x01\x6b\x2a\xb3\xf7\x40\x7e\xc0\x68\x3a\x6e\x4d\x33\x0d\x06\x20\xaf\x07\xd3\xea\x3e\xee\xaa\x75\xe4\xd2\xf6\x0e\xb6\xb3\xac\x54\xeb\xa9\xda\xab\x7f\x53\xee\x1d\xbc\xdb\x22\x59\x8b\x0b\xa9\x92\xc3\xd8\x52\x4e\xb3\xc0\xdd\x2a\xb8\xee\xe4\xde\xfd\x71\xab\xee\xbd\xfb\xab\x95\x9d\xa7\x6e\xe0\x56\x50\x86\x0c\x75\x81\xda\x8b\x94\xba\xca\xd3\x20\x16\xc8\xb2\x8c\x35\x6f\xfc\x2b\x88\x59\xb3\xb3\xe3\x8d\x24\xb0\x58\x82\x05\x12\xa8\xbb\xa0\x40\x1b\x8d\x97\x58\x0a\xf8\x12\x9e\x0e\xd9\x48\xe9\x13\x8f\x05\x16\x64\xf4\x92\xd0\xbc\xa0\xd3\xe7\xe4\x72\x1c\x2c\xf0\xed\xa3\x8e\x28\x27\x95\x38\x36\x13\x53\x99\x46\x6a\x93\x06\xaf\x78\x08\x8b\xd2\xc4\xc0\x9e\x78\x4b\x1b\xb6\x75\x8d\xdb\xef\x8b\x80\xca\xbc\xc3\x41\x29\x92\x6c\xa0\x64\xa4\xf4\x22\xaf\xc8\x84\x55\xb9\x3a\x46\x60\x67\xb9\xbb\xd9\xc0\xb2\xb6\x8f\x40\xc9\x16\xc6\xac\x18\xfc\x46\xe5\x61\xe9\x0f\x4e\xa8\x79\xcb\xf0\xba\xdf\xea\xa6\x72\x50\xaf\x9a\xfd\x90\x98\xd8\xe8\xd7\xf2\xd3\x98\xa7\x73\x22\xf0\xf8\xba\x9e\xd7\xb8\x63\x5a\x69\x85\x2f\x7f\x64\xf9\x95\x55\xa9\x4c\xc7\x08\xad\x74\x20\x86\x1a\xd7\xc4\xac\xc9\x7d\xd5\xc8\x4f\x30\x20\x08\xa9\x25\xb5\x00\x65\x00\x33\x66\x7e\x87\x62\x0c\xc6\x6c\x20\x74\xaa\xb3\x05\xc2\xd1\x2b\x87\xf4\x1e\x29\xd9\xf4\x48\xe9\xd0\x23\xa5\x1b\x1c\x29\xf5\x8e\x14\xa1\x5d\xe3\x89\xa5\x3d\x8b\x4d\x85\x53\x96\x5f\xd9\x43\x83\x1f\x75\xd9\x80\xe3\xa7\xeb\x8f\xdf\x8e\x24\xb7\xb5\x25\x39\x29\x98\x56\xb0\x41\x37\x87\x0d\xdd\x97\xfe\xa9\x7c\xf4\x25\xa4\xd4\xb3\x85\x98\x26\xa9\xe4\xf3\x2a\x8a\xcb\x63\xb6\xac\x26\xc4\x14\xfb\x5f\x51\x12\x80\x2e\x1e\x80\x2e\x70\xf2\x19\xce\x26\xc3\xc2\xf7\x8c\xd6\xf1\x33\x3a\xf9\xf4\xb2\x95\x83\x1e\xc5\xd6\x03\xa5\xa7\xc3\xeb\xae\xf8\x8c\x08\x8c\x6a\x39\xd9\x83\x5c\xd8\x1f\x0d\xb6\xba\x82\x72\xab\x6c\xd5\xd1\xde\x96\xb6\x9a\x7b\x13\x50\xbe\x9c\xcf\xaf\x6a\x57\x03\x1f\x78\x1b\x1d\x35\xa0\x58\xb4\xa0\xb8\x51\xdf\x05\x67\xe1\xdd\xac\x66\x4d\x7b\xbf\x84\x77\xbf\x1a\xb5\xcc\x45\xd3\x95\x0c\xf8\xb6\xea\x59\xb8\xb6\x55\xc9\x87\x09\xa9\x16\xa2\x5d\xd5\x14\xd4\xaf\x7d\x72\xd2\xa1\x5d\xf4\x9e\x04\xd7\xed\x34\xe9\xd9\x69\x32\x7c\xf6\xc4\x1e\x0a\x04\x3c\x0c\x9c\x87\x8e\x3d\x64\x1e\x71\xfc\x9b\x19\x58\xad\x7f\x73\x7d\xb5\xfc\x94\xd4\xd2\xad\x7e\x41\x15\xb8\xa1\xbc\x57\xf7\x51\x1d\xb7\xa1\x0f\xf7\xd0\x6e\x2f\xa4\xec\xa2\x7b\xe2\x6a\x41\xcc\x5d\xf6\x19\x83\x47\x98\x4e\x48\xdb\xc0\x51\x73\x15\xaa\xd4\x48\xe8\x0f\x9b\xdc\x43\x4a\xfc\xea\x0f\x2d\xf7\x01\xde\x8f\xc3\x91\x8d\x9e\xef\x5e\x59\xd0\x73\x52\xf5\x66\x4f\xd1\x19\x21\x36\x11\xd7\x3f\xa7\x4c\xce\x43\x36\xd6\x72\x59\x9d\xb9\x45\x0a\x7a\x6e\x44\x64\xa5\x17\x92\x7b\x0c\xd6\x08\x02\x9f\x1e\x18\x55\xe5\x78\x7b\x5f\xfe\xbe\x5f\xff\x3e\x90\xbf\xbf\x71\x7f\x4b\x89\x46\x53\x80\xb6\x04\xe9\x76\xd6\x2f\x47\x7a\x35\xe5\x11\xca\x7e\x1f\x0a\x81\x27\x33\x78\x16\x0f\x75\x7d\x7f\x70\xd7\xf7\x5b\x5d\x6b\x23\xa4\x40\xaf\xdf\x0c\xee\xf5\x9b\x56\xaf\xcf\x89\xb8\x64\xd5\x79\xa8\xdb\x6f\x07\x77\xfb\xad\xd7\x2d\x55\x5d\x3e\xd5\xee\xb3\xf2\xc4\xce\x95\x1d\x00\xd7\x26\x23\xcf\xb0\x98\xcc\x48\x7b\x87\xe6\xea\xbb\x37\x5e\x4b\x02\xd7\x75\x6a\x5d\xbb\x55\x10\x18\xa1\xfe\xe3\x47\x25\x3b\xb8\xbf\x71\x7d\x30\xfa\xeb\x2a\xb1\x6a\x92\x96\x26\x04\x90\x4c\x6b\xd1\x10\x72\xc4\xb9\x80\x4a\xa1\xb2\xe7\xe2\x15\x2b\xd8\xe9\xed\x55\x6a\xef\xed\x83\x94\xd1\x5b\x29\x17\x9e\x69\x97\x8b\x2e\x39\xe4\x8c\x95\xb9\x56\x92\x7a\x22\xb6\xcf\x58\xb1\x2c\x30\x53\x47\xa9\x2a\x97\xa5\xac\x5e\x1e\x61\x9a\x43\xba\x16\x1e\xd3\x94\xa7\x3d\x6c\xf8\xc4\xd6\x04\xb4\x4c\x9c\xd7\x03\x75\xc5\xac\xbe\x1c\xe2\xfe\xea\x93\x49\x8c\xe0\x67\x4e\xc3\x6d\xe9\x5c\xa2\x66\x63\xe7\x18\xa1\x8b\xf6\xb1\x26\x6d\x2b\x67\xe1\x2a\xd8\x3b\xf4\x24\x4d\x95\x87\xde\xf0\x9b\x1a\x2e\x69\x28\xcd\x2c\xbb\xcb\xc7\x6f\xde\xa5\xb0\x60\xf9\x87\x33\xed\xf1\x9b\x77\x26\x74\x37\xcd\x7d\xb7\xb9\x81\x63\xe9\x58\x38\x2e\x60\xea\x2b\x68\x3c\xd8\xd7\xbb\x0f\x7d\x26\x9b\xa0\xd6\xfb\x51\x48\x5f\x74\x0b\xc3\x21\x22\x26\xb3\xf4\x6f\x0d\x93\x21\x83\x7c\x50\x92\x42\x85\xbe\x2b\xe8\xd4\xd5\x7a\xb9\xf7\x75\x6c\x23\x9d\xeb\x8d\xbb\x68\x28\x1d\x76\xc2\xae\x87\xb0\xbe\x65\xca\xf8\xd4\xb9\x68\x2d\x0b\xc9\xfa\x92\xd9\xd1\x84\xef\x84\xc1\x89\x38\xb6\xc4\xb0\x4f\xa8\x75\x6e\xa9\xef\xf1\x52\xa3\xd3\xe6\x43\x1b\x28\x7c\xe1\x46\xab\x7b\x1a\x7a\x62\xac\xc3\xf8\x90\xd4\xb1\x93\x92\x88\x05\x34\x38\x45\x2e\xaf\x23\xf1\xae\xe9\xcd\xfb\xa1\x0e\xa6\xbf\x4d\x2f\xb7\x5d\x0f\xbd\x9b\xf5\x48\x38\xef\xe0\x2b\xb9\x8f\xf7\x41\xc5\x6b\x55\x18\x4f\x25\x9b\xd4\x27\xd1\xd9\xe3\x6b\x10\x12\x9f\x52\x27\x2d\xfd\x44\x83\x70\xa3\xc4\x84\x04\xe5\x61\x4a\xb3\x25\xb2\x6b\x40\x3c\xca\x75\x6d\x80\x64\xaf\x1a\x1f\xe5\x63\x9e\x16\x79\x9d\x10\x79\x34\xc7\xe7\xe4\x28\x8f\x0f\xfe\xaa\x18\x3d\x15\x45\x44\x4f\x07\xa5\x02\x57\x53\xa2\xf3\x28\x18\xd9\xe0\x28\x1f\x53\x15\x25\x70\x4c\x57\x2b\x13\x55\x5e\xb8\xe9\x18\xfd\xe5\xea\xd7\x85\x41\xc8\x72\x8d\x2f\x41\x5b\xa1\xf8\x14\xae\x74\xac\xc2\x8e\x9f\xe0\xd3\x90\x31\xa1\x3d\x57\x9f\xc5\x3c\x90\x00\xe1\x45\x30\xf2\xd8\xc4\xfb\x81\x62\x87\xdf\xfb\x26\x50\xec\xf0\x6d\xdf\x42\xf1\x26\x22\x86\xf9\xe3\x8f\x50\x69\xac\xf3\x6a\x1c\x26\xda\x01\x63\xf3\x67\x93\xec\xec\xb6\x2b\x61\xb6\xef\xbd\xb5\x95\x5a\xad\x21\xd8\xfd\x61\x2e\xb2\x37\x78\x48\x85\x17\xbe\x75\x0f\xa9\x50\x09\x25\xe9\x04\x0b\x32\x65\xd5\x55\x7f\x7d\x53\x0b\x25\x69\xc5\x96\x75\x32\xa3\x96\x44\x29\x41\x04\xe2\x0a\xb3\xea\x19\x87\x40\x4b\x78\xb1\xa8\xd8\x05\x31\x3f\x97\x9c\x54\x8a\x01\x69\x4a\x2a\x92\x23\x55\x3c\x01\xf2\x7b\x01\xd7\xfc\x87\xba\x9b\xfe\x07\xd6\x3e\x91\x2a\xf4\xfa\xa9\x7b\x05\xc9\xa2\xe0\x10\x86\x5b\x59\xb5\xde\xc9\x28\x5c\xf6\xf7\xe2\x92\x92\x0a\x79\xf6\x10\xad\x3a\xcf\x30\x05\xd5\xe0\xca\x04\xa9\x7a\x24\x37\x80\x95\x72\xcf\x9a\x33\x59\xf7\x84\xdc\x24\x5c\xc1\xb7\xa3\x9e\xb4\x04\x08\xd9\x3c\x03\x36\x91\x40\xe3\x95\xe9\x39\xa3\x64\x4c\xb3\xe0\x77\x08\x5c\xe4\x87\xfb\x0e\xbc\x4a\x87\x5a\xcb\xef\xeb\x5b\xbf\xd2\x19\x87\xda\xed\x55\x09\xf4\x60\x1e\xdc\xe8\x2a\xd1\xf0\x87\xfb\xf7\xf2\xba\xde\x1c\xdb\x60\x75\xcb\x6d\xb5\x35\x4c\x87\x0d\x26\xd1\xdd\x76\x2e\xb7\x5d\xb2\x15\x59\x96\xd1\xf0\xc2\x12\x7d\x2a\x44\x9f\x0a\x1d\x3d\xd4\xfd\x42\xa5\x87\xf4\xea\x94\xe5\x57\x63\x9e\x85\x0b\x5a\x3b\xdb\xa8\xf6\x0c\xff\xc6\xaa\x42\x04\x3a\x30\x25\xeb\x7a\x78\x4d\x31\x2d\xe6\x6c\xc9\xdb\x5d\xd8\x22\xef\x74\xf8\xea\x2e\xe2\xdb\x4a\x2e\xe3\xac\x64\x97\xc7\xf0\xcc\x69\xa4\xa1\x05\x5b\x48\x6c\x61\x7f\xeb\x58\x63\x72\x3c\xc5\x5c\xdc\x5c\xfc\x6a\x76\x7d\xf7\x52\x9e\xe3\x63\x6b\x28\x58\x59\x9c\x91\xc9\xd5\xa4\x24\x7b\x7a\x78\x48\x16\x0b\x7f\x85\x6d\x8f\x6d\xcb\x1a\x3e\xfb\x9b\x06\x45\xcb\x55\x6a\x56\x3b\x34\x29\x8d\xc7\x1b\x87\x50\xee\x53\xb3\x12\x2f\x88\x53\xef\x42\x6b\xce\x71\xb2\xac\x38\xab\xf6\x20\x9c\xa9\x2c\x72\xe3\x7a\xdc\xc1\x5e\x85\x5a\x7a\x32\x7e\x73\xfc\x4d\x8f\xea\x7a\x26\xe6\x25\xa8\x53\x81\xc9\x46\xf5\x66\x98\x24\xe5\x63\xf4\xc3\xe2\xc1\xe3\x0a\x9f\x89\x68\x67\x9e\x63\x3e\xfb\x3e\xaa\x24\x28\x15\x92\xf7\x8c\x2e\x0a\x5e\x9c\x96\x85\xb8\x8a\x30\xcd\x23\xca\x84\x8e\x0a\x87\x4f\x4b\xf2\xc3\xbd\xc5\x83\x1f\x16\x0f\x9e\x16\x17\xc4\x36\x35\x93\xd2\x0d\x21\x3f\x18\x2e\x4b\x5d\xf5\xa1\x4a\xdf\x9b\xdb\xea\xb2\x43\x53\x93\x55\x8d\xbe\x51\xba\x28\xf1\x44\x81\x33\x12\x6c\x81\x52\x51\x15\xd3\x29\xa9\xc6\x68\x26\x17\x17\x4d\xca\x62\x72\x8e\x56\x5e\x6e\x9e\x5e\xa2\x9b\x0c\x05\xd7\x6e\x00\x68\x5a\x7a\x6f\x0c\xf6\x43\x9b\xf6\x82\x81\x36\xc6\x91\x47\xa7\x99\xe6\x26\x19\xdf\x45\xb0\x85\x5b\xeb\x6d\x3a\x44\x97\x4d\x47\x4c\x76\x33\xf4\xc3\xb2\x7c\x80\x52\xf8\xab\x2c\xcc\x60\x0e\x89\x93\xe3\xc8\x02\xe7\x08\x1c\x8e\x0b\x52\x81\x98\xc6\xff\x62\xcb\x2a\xb2\x9c\x16\x70\xee\x91\x99\xbd\xc7\x7f\x99\x3e\xdd\x73\xad\x19\x32\x2b\x04\x2a\xaf\x9a\x9a\xdb\x73\x8c\xc1\x9c\x51\xbd\x29\x13\xbf\x7b\xa8\x73\x4f\xae\x70\x73\x4c\xd6\xbc\x59\x6a\xc5\x91\x3e\x81\xfa\x7a\x91\xa1\x50\xbc\x5a\xa5\x3e\x69\x69\x63\x40\x29\x39\x83\x05\xd6\x7e\xca\xb3\xfd\x94\xc9\x0f\x45\xb6\x9f\xe2\x6c\x3f\x2d\xb3\xfd\x06\x2e\x54\x86\x46\x41\x93\x69\x27\x54\xc9\x2f\x98\xab\xa9\x6b\x4b\x1b\x73\x64\x07\x5e\xb8\x13\x5b\xeb\xe1\x25\x2e\x44\x41\xa7\x0a\x48\xa0\x32\xed\xac\xfc\x0a\x7c\xe1\x94\xdc\x1e\x73\xb7\xda\xa4\x35\x64\xd1\x2e\x0e\x8c\x85\xdb\xb5\xbc\x41\x4a\x59\xbe\x4a\x52\xf2\x60\xff\xe3\x47\x2a\xff\xe1\x0f\xf6\x93\x6b\x91\x91\x5d\x14\xa1\xdd\x58\xca\xe9\xe4\x50\xb7\x44\x63\xfd\x07\x97\xd2\x65\xb4\xa8\xd8\xb4\x22\x60\xa9\x99\x46\x68\x97\xee\xa2\x08\xeb\x19\x44\x2a\x37\x97\xfc\xcc\x77\x51\x54\x99\x21\x57\x66\xc7\xed\x7b\xb6\x23\x45\xa4\x22\x49\x0b\x39\x05\x2c\xff\x29\xe5\x3c\x58\x56\xd4\xf3\x28\x86\xcd\x03\x87\xe7\x51\x7a\xf3\xa8\x27\xe1\x00\x3a\x4a\x59\xc8\x51\xe0\x9f\x2a\x4a\xb7\x7b\x65\x75\xe0\x6e\xd7\x12\x7b\x88\x09\x4b\x8b\x41\x51\x91\x7c\xd6\xfa\x3d\x34\x64\x40\xf5\x58\xf1\x58\x77\xfd\x48\x15\x16\x84\xc7\x5d\xe3\x76\x3a\xf2\x9a\x25\xd6\x7d\x78\x4e\xbd\x6f\xde\x41\x96\xff\xf7\xa3\x82\xbf\xae\x6d\xc9\xdb\x83\x08\x15\xbb\xdd\xc5\x33\x8d\x32\xe3\x7e\x79\xd0\xd6\xbf\x35\x6b\xf2\x45\x59\x88\x18\x7d\x85\x92\xad\xf7\x23\x22\x6f\x22\x4d\xfd\xbb\x68\x5c\x39\xc1\x33\xc7\x8f\xdf\xb3\x72\x75\x42\xd3\xdf\x4d\x80\xf8\x87\xe0\xac\xe0\x85\xf1\x81\x95\xeb\xa3\xed\x55\x22\x2b\xed\x9d\xf7\x62\xa4\x44\x6c\xd0\x14\x62\xca\x0b\xa0\x04\xcc\x11\xf2\x5d\xd7\x66\xf3\x37\x2f\x97\x53\x30\xe5\xa8\x01\x25\x04\x27\xaa\x9a\x8d\x2f\x62\xf9\x0f\x17\x46\x4c\x61\x4d\x87\x42\xa5\xfa\x4c\xaf\xc2\x4a\x9e\x4e\x11\xd7\x3d\xc4\x35\xeb\x1c\xd5\x81\x69\xaf\xff\xbd\x24\xd5\xd5\x4b\x5c\xe1\x39\x1f\x5f\x0b\x7c\x3a\x56\x06\x0a\xab\x41\xd1\x83\xdb\x0a\x21\xf5\x16\x39\xc4\x00\xff\xb3\x46\xbb\xfd\xd4\x56\xf3\x44\x05\xb9\x21\xe3\xed\x03\xf8\xfb\x25\xd8\x90\x2d\xcb\x52\x95\x10\x81\x75\x68\x82\x5b\x4b\x65\x9a\x49\xd0\x52\x90\xa4\x06\xae\x02\xc4\x16\x00\xb5\xf9\xf8\xd1\x7d\x97\x0d\x39\xe6\x5b\xb0\x31\x14\xd9\x0b\x50\xad\x6d\x16\xfd\x64\xf6\xf6\x25\x76\x98\x01\xbc\x0d\x30\x4f\xf3\x18\x29\x00\x87\x6b\x62\x06\xec\x56\x9b\xbe\x54\xb6\x33\xde\xc0\xbe\x75\x8d\xd9\x5b\x2f\x23\x05\x58\x77\x25\xad\x40\xfa\x70\x22\x3e\xc4\x35\x11\x5a\x2b\x05\x68\x2f\x3b\xd9\xa1\x4d\xd8\xd9\x69\xb0\x26\x23\x6d\x26\xac\xda\x78\x26\xbf\xcb\xd3\xb2\xe0\x33\x92\xef\xec\x18\xe3\xab\xda\x70\x38\x0d\xec\x78\xd2\xfc\xd8\xdd\xb5\x35\x33\x0e\xf6\x8d\x02\xfb\xc8\x72\xa2\x9c\x02\x5d\x0d\xb1\xd9\x39\xa3\x23\x4e\xeb\x4f\x0f\x79\xdb\x38\x35\xd4\x54\xd7\xb3\xef\x0d\x8f\xd8\xe2\xaa\x71\x18\x0d\x25\xb6\xae\xe0\xf9\x20\xda\x3d\xd0\xc9\x52\x9f\xb1\xd6\x91\xfa\xbd\x98\x0a\xbd\xbd\x28\x57\xc3\x56\x3f\x4d\x4a\xa2\x6d\x5e\x25\x49\xf5\x9c\xb1\x88\x7d\x95\xba\x86\xf7\xa1\x9a\x76\x28\x5e\x99\x78\x76\xae\xe9\x64\x56\x94\x79\x45\xe8\x58\xf8\x29\xdc\xea\x59\xa0\x24\xa6\xca\xfc\xd7\x77\x52\x77\x97\x66\x0f\xcb\xbf\xde\xd6\xbe\xb8\x15\xd7\x49\x9f\xec\x7e\xe2\x3c\xe1\x05\xbb\x6f\xc3\xc2\x8d\x48\x80\x60\x93\x5e\x5b\x2f\x28\xff\x43\xdf\x03\x6e\xf3\x0a\x00\x86\xd5\x70\xc9\x82\x76\x38\x41\x25\xf6\x7e\x0b\x81\xd6\x0e\x3d\xab\x64\x43\x0f\x27\x94\x06\x06\xea\x51\x1c\xf9\x9e\xed\x4e\x97\xcd\x58\x92\x41\xf2\xe0\x3d\xa6\xfa\x33\x7f\xb0\xaf\x6d\x9a\xb6\xb7\x63\xbe\xb3\x43\x25\x57\xe7\x61\x4c\x8f\x00\x6c\x26\x9a\x3f\x67\x94\x24\x1f\x3f\x76\xf5\x6c\x15\x1d\x37\xea\x5c\xab\x7d\x57\x37\x36\x97\x91\x68\x97\x64\xd7\x8a\xc2\xe0\xd3\x52\x61\x90\xed\x83\x74\xb9\x78\xac\x92\x86\x82\x65\x5f\xce\x2e\xa9\xfb\xbb\xa0\x39\xa1\xc2\xfd\xc2\x96\xa2\xf9\x49\x59\xca\x82\x7b\xc1\xdd\xe6\xca\x99\x2c\xab\x8a\x50\xa0\xaa\x47\xb9\x63\x40\x01\xb0\xec\x84\x0d\x80\x74\xaf\xe2\x6e\x34\xba\x10\x44\xef\xc7\x25\x87\x4c\x32\x93\xaa\x38\x75\xee\x12\xd0\x86\x3c\x27\x9a\xd4\xa5\x48\xe7\x1a\xf7\x8a\x3e\xad\xbd\x8f\x9d\xde\x92\xf6\x4e\xb0\x27\x64\x50\x6b\xca\x5d\x31\x05\x37\x09\x9e\x41\xea\x73\x11\x26\xf0\xac\x42\x39\xcd\xce\x69\xdb\xe1\x2a\xe5\xda\xcf\xcb\x15\xbf\x9c\xd0\x3c\x0d\x4a\x28\x2f\xc8\x2a\x49\x59\x56\x9b\x37\x4c\xcd\xe0\xb4\xed\x3b\xce\x93\x43\x8f\x28\x8e\x79\xe2\xc9\xbb\x9a\xc1\xfb\xf8\x31\x66\x23\xff\x7e\x64\xdb\x07\x29\x1b\xd5\x37\x24\x63\x23\xf7\x82\x64\x6c\xe4\xdf\x8f\x8c\x8d\x1a\xd7\x23\xdb\xde\xf7\xc4\x7c\x39\x47\x48\x58\x5f\xf3\x7a\x72\x52\xaf\x17\xfd\x0e\x04\xb2\x95\x22\xe6\xc2\x99\xce\x20\x4c\x12\xc2\xaf\x41\xd4\x75\x87\x87\x33\x52\x18\x61\x65\x13\x4b\xb9\x87\xb1\xb3\x13\xf3\xcc\xe7\x8f\xb5\x8b\x93\x63\xad\xc2\x2e\xc8\xeb\x45\x2c\xc0\x38\x1a\x12\xef\xd6\x31\x95\x1a\x51\x30\xa6\xe4\x58\x7b\xcf\xd9\x44\x9e\x66\x7c\xb9\xcf\xab\x15\xa0\xa7\xc7\xec\xd2\x13\x5c\x3d\x6d\x9c\x05\x81\xce\xad\x4f\xbf\xa0\x7d\x91\x4b\xb9\xc3\x9d\x39\x02\x08\xfe\x5f\xb0\x37\xea\x2a\x0e\xdc\x99\xa7\xe4\x82\x94\x7d\xdb\xf2\x42\xdd\xe3\xff\x05\xfb\xa2\x31\xd2\x5d\x6c\x0c\xa3\x3f\x33\xc1\x5a\xb2\x47\x71\x16\x23\xb4\x9d\x65\x8e\x0d\x96\xa1\x04\xbe\x64\x36\x63\x97\x46\xbe\xd9\xcc\x07\x4c\xce\x62\x6f\x46\x30\x68\xa4\x6f\x18\x2b\xa1\x65\xd5\x53\xb3\xf6\x9f\x3b\x6e\xe4\xed\xb4\x3c\xb8\x9a\xcc\xd6\x29\x79\x74\x7c\xd6\x7e\xfb\x1c\x15\x4d\xe6\x91\x11\xf1\xb6\x0f\x52\x70\xda\x39\x51\x8f\x26\x48\xfd\x7a\xa2\x1c\xa3\xc0\x8d\x14\x9b\x60\x3f\xdb\x07\xf2\x87\x94\x57\xe5\x9f\x39\x9b\x28\xd7\x89\x9f\x6c\xd4\xca\x9b\xda\x17\xab\x99\x3f\x66\x13\xde\x32\x32\x6e\x8c\x62\xe5\x9a\xb0\xd3\x86\xad\xfd\x8a\xf0\x65\x29\x06\xc8\x38\xcd\x16\xae\xb8\x03\x89\x82\xe9\xb2\xce\xd3\xdf\xf6\xac\x70\xd5\x49\xf6\x54\x1f\xb1\xc5\x95\xb5\xda\x3c\x21\xf3\x45\x89\x05\x59\xa1\x14\x9e\x62\xb4\xc2\xe3\x48\x90\x39\x4a\x2d\x42\x81\xbf\xe4\xce\xaa\xbf\x74\x64\xa1\x3e\xc1\xc9\x13\x90\xb6\x7c\x37\x78\x77\x22\xa0\x76\xf3\x3f\x9b\x29\xf9\x1a\x39\x87\x25\xf2\x3e\xc2\xac\x9a\x1f\x4d\xe8\xa3\xff\x08\x85\x7f\x3e\xa1\xb0\x09\xf2\xd9\x9b\x77\x7f\x1e\x69\xd1\xf1\x74\x80\x5c\xdb\x3f\x81\xed\x30\xfa\x6a\xa1\x54\x94\xa0\xd6\xef\xf3\x1f\x4a\xd1\x57\xca\xb5\x18\x74\x5d\xe1\x3a\x6d\x91\xd4\xbf\x6c\xce\xfb\x62\x7d\x55\x1b\x77\xcc\x5c\x10\x57\x0e\xb0\x57\xbc\x51\x57\xdd\xb0\xba\xa6\x26\xa3\x81\x89\xdd\x89\xac\x3b\x40\xc9\xde\x16\x63\x6b\x14\xdd\x99\x0c\xe4\xda\x7a\xa3\x05\xd0\xab\x41\xdf\xc6\xf4\x3d\x67\x13\x49\x40\xb7\xf6\xb7\x33\x32\x32\x0d\xf5\xe5\x74\xaf\x85\x47\xf8\xf4\x63\x68\x5f\x72\x90\x36\x05\x20\xfd\x82\x69\x53\x7d\xaa\x30\x8b\xe6\xd7\xc2\x31\x63\xbb\x04\x53\xde\x16\x4c\x49\x4a\x7d\x3e\xed\x0b\x12\x41\xdb\xba\xdb\x16\xd8\x5b\x75\x72\x2b\x42\x41\xa7\x8c\xa9\x6b\x8c\x4e\xf0\x69\xb2\xc9\x3b\x9f\x71\x8c\xa9\x75\xd3\xda\xb2\xc7\xe5\x25\xd5\x86\xc5\x4a\xf3\x1c\xd2\x89\xfb\xac\xad\xa7\xaf\x76\x80\xd2\xe3\x80\x50\xd2\x93\x51\x62\x1d\x3a\xe9\x7f\x68\xe8\xcc\x96\xa3\xc3\x00\xd0\xac\x89\x8d\x5c\xd5\xbc\x17\xd2\xc7\xb2\x68\x8d\xc0\x19\xbc\x36\xa1\xa2\x5d\x0e\x16\x75\xd4\x0c\x66\x07\xcc\x09\x9f\x34\xc6\x2b\x9a\xe3\x3d\x31\xde\xf1\x5b\x45\x56\x8c\x2a\x02\x66\x33\xf1\xbd\xb7\xf4\xde\x14\xb4\xf7\x76\x12\x45\x6d\xc7\xc7\xba\x26\x11\xf0\x5d\xf1\x8c\x0d\x5e\xea\x80\x07\x5d\x26\x06\xee\x8b\x77\xf3\xfa\x63\xb5\xd1\x65\x76\x6d\x1d\x61\x84\xfb\xb4\xae\x3a\x70\x7c\x17\xcc\x83\x87\xe7\xce\x90\x1a\xe8\x1e\x93\x26\xb4\xeb\x67\x12\x9e\x82\x81\xad\x2e\x56\xf1\x08\x52\x1d\x43\x60\x5c\xd8\xf8\x1a\x3a\xf2\x51\x2b\xbe\x06\xb6\x83\x06\xe3\x6b\xe8\xe2\x56\x7c\x8d\x2d\xd1\xfd\x52\x55\xd6\x31\x13\x6a\x08\x51\x4f\x2b\xce\x67\x73\x90\x50\xe0\x80\x4b\xb7\xf3\xa2\x73\x9c\x3d\x1e\x8e\xfe\x95\x09\x93\xe0\x16\x6d\x35\xd1\x47\xc8\x59\x45\xf8\x0c\x6e\xb3\xba\xcf\xca\x60\xc2\xc5\xde\xbd\xc8\xba\x85\xe9\xd7\x04\x84\x77\xdd\xc5\x3c\xf0\x3a\xd2\x38\xdc\x8f\x35\x19\x24\x24\xc1\x57\xc1\xa0\x65\x78\x63\x6a\xd6\x88\xc7\x09\x7a\xbe\x2f\x99\xdb\x96\x78\x2f\x92\x43\xd1\x9e\xdf\x58\x19\x87\x6f\xbb\x01\x73\x5a\x41\xc2\xd0\x57\x13\xb6\xb8\x5a\x8f\xb3\xb6\x3a\x1e\x31\x89\x67\x81\xe2\x9c\x4f\xf8\x1d\xf3\x0f\x5a\xf7\xce\x0e\xd9\xce\xba\x5c\xb1\x43\x9b\x02\x79\x5a\x36\xdb\x14\xe7\x4d\xb6\x67\x53\xbe\x28\x1d\xee\xdd\xf0\x31\x3d\x7a\x27\x0a\x96\x85\x19\x0d\xe9\x9d\x78\x5b\x87\x4b\x52\xfa\x45\xe8\x70\xbf\xa0\x7d\xd1\x3a\xdc\xbb\xda\x99\xdb\xeb\x70\xbf\x90\xbd\xb1\x3a\xdc\x21\x3b\xf3\x39\x74\xb8\x5f\xc8\xbe\xd4\x3a\xdc\xdb\x6e\xcc\x06\x4a\x57\x63\x71\xb7\x37\x25\x94\x54\xb8\xfc\x12\x53\xc2\x5b\x06\xb2\x33\xdf\x8e\xa3\x3a\xcd\xd9\xc4\x04\xb8\xc9\xd9\xc4\x51\x6c\xce\x30\x5f\x97\xa0\x5d\xb7\x45\x77\xe1\xa5\x64\xb8\x0a\xe8\x30\x64\x98\xa9\xb3\xb1\xf9\xb5\x9f\xb4\x43\x57\xd9\x06\x75\xf4\xaa\x96\x11\x59\x03\xfa\xb7\xeb\xd6\xee\xaa\x87\x9a\xc6\x79\x21\xe4\xbd\xe9\xfa\xd3\x7a\x1e\x5a\x81\x3f\x57\xbf\x81\x95\x30\xb4\x5a\xa0\x6d\xd3\xf5\xd8\x1e\x64\x40\x30\x50\xb9\x72\x6f\x00\xdb\xeb\xbd\x81\xff\x18\xc0\xc6\x8b\x05\x98\x60\x76\xa9\xee\x37\x81\xfb\x8d\xdd\x7a\x05\x9e\xfe\x3e\x76\xf2\xa0\x9a\x1e\x0a\xeb\xa7\xab\x3e\x53\x72\x69\x2d\x7f\x11\x82\x70\x3c\xe6\xb7\x0d\xcb\x33\xc3\xfc\x51\xb3\x75\xad\x1a\x9e\x38\xc6\xe0\x7d\x9e\xb4\x4e\x3d\x6b\xdf\xbd\xaf\x54\xce\x4a\x58\xb0\xf3\xb8\xd3\x11\x06\x07\x4c\x9e\x60\xfa\x30\xcf\x6f\x3d\x89\xdb\x3a\x0c\xdf\x4d\xd6\xe2\xdb\xfb\x46\xde\x2c\xed\x0a\xce\xf3\x3d\x81\xa7\x7b\x67\x05\x29\xf3\xbd\x83\x3a\x1e\x44\xed\x00\x34\x92\xe5\x05\x5d\x2c\x25\xa6\x60\x67\x67\x10\x4f\x26\x67\x97\x54\xa7\x82\x31\xbf\x02\x91\x81\xb7\x25\xe3\xcd\x67\xc5\x99\xf8\x07\xb9\xfa\xf8\xf1\xef\x52\x74\x18\x5d\xce\x8a\xc9\x2c\xf9\xf8\xd1\x29\xda\xd9\x89\xff\x9e\xd9\xb2\x8f\x1f\x0f\xbe\xf1\x7e\xfd\xd5\xfd\xf5\xcd\xdf\xbc\x5f\xff\xed\xfd\xf2\x7a\xf9\x76\xdf\xfb\xf5\x9d\xd7\xe7\x7f\x7b\x55\xbd\x5e\x0e\xee\x7b\x43\xe8\x3f\x1e\x64\x7f\xfd\x6e\x67\x47\xff\xf8\x21\xfb\xfb\xbe\x53\xf2\xf7\xbf\x39\x25\x07\xf7\xef\x3b\x45\xdf\xfe\xb7\x53\xf4\xdd\xdf\x74\xc2\xe1\x3b\xf3\x50\xed\x39\x9c\xdb\x38\x9f\xbc\xe6\xa4\xfa\xa7\x72\x44\x74\x6d\xc3\x25\xe8\x77\xb9\x9c\x28\x53\x96\xda\x1f\xc3\x44\xce\x74\xef\x21\xad\x7d\x95\x86\xba\xbc\x84\xc4\xcc\x0d\xfd\x5d\xd2\xb0\x66\x42\xc5\x71\xa5\x5e\xae\x05\x62\x92\xf1\x86\x5e\xfd\x5b\x89\xd3\xf6\xeb\xd0\x9d\xde\x22\xd5\x21\x1b\x2f\x9b\x83\x94\xba\x09\xae\x3d\xcd\xa2\x26\x39\xa3\x39\xfe\x70\x02\xee\x31\x9f\xc8\x21\x87\x6d\xe4\x90\xc3\xbc\xab\x1c\x8b\x4c\x18\x0e\xc1\xf5\xcd\xf9\x21\xe3\x92\x8f\x76\x5d\x74\xae\xe9\x52\x2e\x74\x4c\x52\x45\x82\xc5\x2a\x49\xc9\xee\xae\xdc\x8d\x33\x56\xc5\x72\x26\x45\x46\xbe\x2f\x7e\xc8\xf8\xf7\xc5\xee\x6e\x12\x6c\x5c\xe8\xc6\x08\xad\xdc\xd7\x1e\xe5\xef\x43\xfb\xb9\xad\x26\x84\x4b\xf2\xf8\x2b\x2e\x4c\x6a\xde\x60\x78\x80\x76\xbe\x74\x0b\xe6\xde\x59\x79\xd4\x4a\x65\xa0\x68\xeb\x56\xd8\x46\x0d\x0e\x92\xb4\xc8\xde\xbc\x4b\x71\xf6\xe6\x5d\x4f\x36\x17\xee\xa8\x56\xa9\x1b\x91\x88\x58\x3e\xa3\x56\xba\x42\x9c\xbe\xad\x42\xa5\xe3\xe3\x92\x42\xb1\xbb\xec\x18\xbb\x47\xc6\xad\xd6\xae\xe3\x52\x73\x62\xb9\x04\x9d\x5b\x7e\x56\x2c\x62\x9c\xa2\x25\xd5\x01\xc3\x9a\x69\x48\x3a\xf1\x43\xb8\xab\x22\x45\x9d\x1d\x41\x26\x24\x46\x49\x5c\xdf\xc6\xd2\x39\x1e\x00\xa8\x24\xad\xe4\xde\x6b\xc0\x2f\xd3\x36\x46\x23\x23\x00\xc7\x91\x60\x4f\xd9\x25\xa9\x1e\x61\x4e\x62\xc3\x31\x6f\x51\xe7\x42\xc8\x7b\x3b\x61\x54\xe0\x82\xf2\xb8\x4a\x69\x9d\x77\x8a\x0b\x5c\x89\x5f\x0b\x31\x8b\x69\x8a\xf6\x50\x72\x18\x57\xea\x78\x00\x1f\xb6\xc9\x30\xda\x25\x23\x75\x19\x7a\x14\xc0\xc9\x78\x5d\xd3\xf0\x53\x80\xd9\x8a\x49\x86\xbe\x42\x66\xe1\x95\x77\xe3\x27\xbb\x99\x48\x27\xbb\xb2\x82\xae\x9c\x07\x2e\x0e\x4a\xb6\x72\x7b\x35\x39\x4a\x27\x7e\x50\xfa\x86\xfc\x90\x6f\xe4\x25\x70\x51\x90\xcb\xbd\x3a\x1e\xd9\xe7\x0d\xd8\xb4\xa9\x79\xd0\x1a\xb9\xc1\x8f\xfd\xd8\x1d\x74\xe7\xac\x28\x41\xd7\x31\xc0\xa4\xc3\x67\x86\xbf\xe8\xb4\x26\x70\x09\x6f\x9b\x31\x57\xbd\x07\xd6\xbb\x08\x8e\x34\x08\xa5\x3a\x99\xfc\x9d\x58\x35\x4c\x89\x70\x8e\x69\x1d\x3f\x6e\x94\x5a\x03\x1f\xfc\xd7\x3a\xbe\xdd\xcd\xa9\x74\x3e\x79\x76\x13\x3b\xc3\x81\x10\x9a\x43\x38\x05\x08\x2c\x66\x23\x12\xde\x43\xbb\x64\x17\xdd\xc3\x6e\xec\x52\x9e\x51\x72\x19\x3d\xae\xd8\xe2\x77\xc8\xe9\xf2\xd5\x72\x21\x19\xcd\x3d\xeb\xd9\xa3\x00\x39\xbd\x9e\x11\x9c\x93\x8a\x8f\xaf\x1f\x2e\xc5\x8c\x55\xc5\xef\x3a\x72\xee\x8f\x04\x57\xa4\x8a\xec\xf3\x54\x33\x27\xb0\x7e\x17\x6c\xe4\x06\x16\xec\x9c\x00\x57\xbb\xac\x4a\x15\x77\x7f\xc6\xf2\x31\x5a\x30\x2e\x50\xba\xc0\x15\x9e\x2b\x45\x93\x8b\x35\x20\x96\x00\x3e\x2d\xe5\xdd\x4f\xe7\xf8\xc3\x4f\x72\x66\xc5\xef\x64\x7c\xb0\x0f\x4d\xca\x92\x94\xaf\x61\xf6\x7c\xfc\x4d\xaa\xd6\xf1\x6c\x59\x8a\x62\x51\x82\xe9\x0d\xce\x73\x95\xd9\xfe\x69\x41\xcf\x21\x0d\x34\x5e\x0a\xf6\xb2\x62\x13\xc2\xf9\xff\x5d\x12\x40\x2a\x61\xa0\x86\x24\x99\xcb\x89\xac\xe8\x5d\x45\x43\x30\x65\xf9\xbf\x65\x0f\xf2\x82\xb7\xec\xcd\x44\x1b\x1c\x9d\x76\x38\xcf\x49\x2e\x77\xb9\xd1\xf3\x6a\x95\x6c\xa9\x1a\x81\x4e\x45\x72\x6d\x7c\x13\xe4\x36\xc4\xcd\x17\xb7\x8a\x2d\x50\xca\x93\xd5\x2a\xf5\x87\x5e\x2b\x40\x04\x1f\x94\xdd\xb9\x77\xbd\x16\x75\xb2\xf1\x1a\x80\x88\x1f\x16\x54\x67\x58\x54\xb8\x24\x10\xad\xce\xc9\xb1\xf8\xd0\x81\x01\x89\x2a\x84\xc2\x14\x64\xd5\xca\xae\xb8\x2e\xaf\x62\x8b\xa1\x6c\xb5\x3c\x08\xb0\x96\xcd\x49\x04\x52\x28\xb6\x77\xad\xd9\xaa\xe7\x2d\xbe\xc8\x3b\x18\x27\x0f\x64\x6c\xce\x81\xe0\x9e\x38\xe8\x53\x42\xc2\xf6\xfe\xc6\xf4\x59\xdf\xd3\x5b\x27\x52\xfb\x33\xc5\xf6\x83\x69\xde\x49\x92\xb4\x35\x5c\x43\x5f\xd8\xf8\x19\xe6\x2f\x71\x6f\x00\x3f\x6b\xfb\x3e\x63\x97\x5e\xfa\x1f\xab\x23\xac\x13\xc2\xb8\x21\xcd\x95\x7b\xa8\x36\x3c\xfe\x73\xe7\x53\xbb\x60\x82\x9c\xcc\xb0\xc6\xdb\x72\x23\x9e\x16\xe7\xa4\x91\xcb\x1f\x2c\x39\x6a\xf6\x24\xaf\x3f\xaa\xc0\xac\x77\xf4\xf0\x60\x47\x77\x35\xf0\xda\x3a\x06\x97\xa5\x29\x0c\x33\x03\x05\x7f\xaa\xd2\x8f\xdf\x2e\xa0\xb6\xbe\xad\x92\x92\xfd\x82\x69\x5e\x92\xea\x8e\xe2\xb1\xdd\xc0\xa2\x51\x35\xfc\x6d\x39\x5f\x9c\x30\x93\xb6\xc6\x81\x00\xdf\x05\xf1\xae\xdc\xf8\x06\xcd\xb3\xe9\xba\xd7\xde\xb5\x3e\x8b\x03\x25\x8a\x06\x39\x2f\xcb\x76\xd9\x9c\x78\x08\xbf\xc9\xb1\xc0\x7b\x06\x2f\x66\x5f\x8b\x6a\x49\xbe\x7e\x67\x14\x79\x2a\x10\x92\xd2\xb1\xaa\xbf\xeb\x9b\xc5\xad\x5a\x47\x8e\x22\x67\xa7\x25\x72\x5a\x4f\x84\x6b\x87\x44\xd0\x29\xc5\x7e\x42\x29\x13\x8f\xf8\xe3\x47\x24\xf0\xa9\xff\x2d\xd9\xd9\x61\x4e\x14\x13\xc8\x89\x5c\x1b\x7f\x5d\x2b\x25\x0e\xf5\xde\x67\x3d\x1d\x1a\x1b\x99\xd0\xc6\xc9\x96\xaf\xc9\x2a\x92\x43\x36\x62\xd5\x62\x86\x69\xb6\xbd\x3f\x0e\x4f\x69\x67\x87\x36\x20\xc3\xe9\xd0\x84\x2e\x34\xdd\x1c\xda\xf8\x73\xb0\x52\x47\xe4\x3d\xad\x24\xbf\xb8\xa7\x4f\x84\x8f\x16\x15\xb8\x71\x3e\x56\xb8\x3f\x86\x34\x60\x82\x2d\x24\x71\xc1\x53\xac\xce\x53\x12\xf3\x71\x2c\x60\x2a\x8f\xe4\x8e\xc7\x24\x65\x89\x4e\x45\x98\x7a\x93\xf2\x9d\x71\xdc\xf4\xd2\xa2\x96\xfb\x5d\xfb\x1a\xfb\x51\x87\x74\x76\xaf\xfa\x69\xc5\x2e\x21\xbd\xf8\x88\x4f\x2a\x56\x96\x27\x2c\x46\x5f\x81\xcd\x0c\xda\x85\x5c\x6e\xe1\x34\x85\xad\x70\xe8\x4e\x60\x8a\x61\x88\x17\xce\xf6\xce\x52\xd8\x91\xae\x14\x76\xc1\x82\x8d\x52\xd8\xf5\x45\x93\x70\xbc\x67\x9b\xfa\x87\x66\x60\x89\x40\xd2\xdb\x80\x39\x5c\x38\xfa\x44\x33\x2a\xb2\x1b\x7f\x42\x5b\xa7\x05\xa2\x4d\x34\x5b\xb9\xf1\x26\x74\xab\x8e\xe8\x12\xa2\xd3\x94\xd6\x33\x7b\xed\x0c\x56\x12\xcc\x98\xd1\x9d\x92\xd2\x04\x9d\x35\xa4\xd5\x81\x12\x1d\xf0\xb4\x95\xec\x10\x02\xc9\x3a\xf1\x48\x3b\xb2\x21\x8e\xc1\x57\x0d\x00\xa7\x05\x33\x12\xcc\xa6\x0e\x84\xa9\xa4\x8a\x61\x30\x4a\x1c\x5d\x70\x33\x8a\x45\xe3\xcc\xf5\xee\xda\x6c\xf7\xca\x55\xee\x46\xc3\x9b\xe0\x2b\xfa\x40\x9c\x3c\x6b\x2a\x03\x9c\x50\x19\xe0\xc8\xaa\x0d\x5c\xb4\x35\x59\x9d\xa9\xe3\x16\xd3\x51\xbb\x61\xa2\xc7\x6c\xb2\x19\xc9\x56\xdf\x51\x41\x48\xe1\x8d\xfb\xb4\x79\xef\xf5\x9e\xfc\x5a\xfc\x8e\xab\xbc\x23\x42\x7c\x9b\xe3\x6c\xa4\xbc\x0a\x33\xab\x56\x38\x3b\xf6\xb9\xb6\x76\xee\xf5\xa6\x14\xf8\xa3\x4d\xdf\x17\x4e\xaa\xef\x30\x7f\x76\x90\x7f\xb2\x50\xfa\xfe\x0e\x89\x4d\xb2\x98\x9d\x52\x9a\x37\x68\xcd\x8c\xaa\x91\x36\x15\xb5\x2a\x72\x51\xf0\xb5\x49\xab\x43\xb9\xae\xbe\xb4\x88\x59\x66\x25\x26\xd0\xd5\xd9\x99\xb6\x06\x7a\xa5\x0b\xda\x06\x0b\xa6\xc9\x9a\x87\xfc\xba\x9a\x67\xae\x30\xc3\xfc\xb1\x1c\xa5\xe5\xad\x58\x9c\x9d\xad\x91\x55\x64\x0d\xaf\xaf\x1b\xaa\x2f\xed\xcc\xb2\x37\xef\xee\x42\x55\x09\x09\x5f\xec\x7e\x49\x36\xd5\xff\x72\x33\x95\x8d\x51\xd6\xd7\x1d\x0f\x57\xdc\x04\x5e\x58\x85\x9b\x30\x44\xa4\xfa\x4e\xe6\x28\x55\xaf\xf2\x76\x4f\x8c\xfa\x64\xce\x94\xd2\x43\xa7\x62\xcc\x21\x52\xe7\x1c\x8b\x18\x3d\x66\xd1\xb3\x67\xcf\x9e\x45\xff\xfa\xd7\xbf\xfe\x15\xfd\xf2\xcb\x78\x3e\x57\xcc\xf4\xe8\xac\xa8\xb8\xa0\x78\xae\x82\x59\x8a\x51\x89\xed\x4f\x46\x23\x50\x5d\x46\x2a\x92\x64\x0e\xe5\xe0\x47\xb0\xe5\xcd\xaa\xc4\xa7\x2a\xdb\xef\xaa\x4e\x6d\x58\x83\x1b\xbc\x1d\xd7\x2f\x3c\x36\x21\x87\x0f\x70\xea\x25\xd6\xc6\x2e\x53\xc6\x31\xaf\xec\x8d\x25\x6f\xf6\xdf\x01\x5b\x01\x87\x04\xb0\xd8\x45\xb3\xd7\x1d\x91\x44\xbd\xa6\x63\xd9\x51\x37\xf2\x49\x5b\x5e\x5a\xc2\x12\x24\x05\xf9\xa2\xa5\x5d\xf3\xe6\xdd\x81\x59\x6b\x44\x24\x14\xa2\x80\x43\xd5\xb6\x32\x76\x81\xb5\x01\xa4\xca\x0a\x93\x32\xfa\x8a\x95\xe5\x29\xee\xf2\xcf\x69\x6e\xa8\xc7\xc9\x99\xa6\xae\x61\x25\xf4\x1b\xf2\x1c\x32\x4a\xe8\x4a\x37\xd2\xf9\xe1\x07\xa3\xdc\xe2\x77\xb2\xc7\x89\x58\x2e\x3e\xeb\x9b\xd3\xe9\x52\x08\x46\x21\x3a\xfb\x18\x3d\xd2\xca\xdb\x48\xcf\x03\xc0\x16\x14\x3b\x1d\x86\x92\x73\x96\x93\xd2\xe4\xf1\x4c\xed\xad\x58\xdf\xc4\x56\x45\x49\x6a\x2e\xcf\xfa\x56\xa6\x26\xb8\x83\xe3\xa2\x5c\xdf\x02\xaa\x81\x8f\x0f\xe7\x97\xac\xca\xd7\xb7\x30\x35\x11\x20\x70\xa8\x0f\xee\x35\x41\x7b\x51\x2c\x2f\x5e\xbd\x4b\x28\xd5\x3f\x94\x95\xa5\xed\xe0\x27\xbb\x31\x9d\x9d\xf8\x7b\x87\x52\x84\xf3\x79\x41\xfd\x86\x4e\x8f\x4f\xf1\xba\x0e\xbd\x5d\x35\xfd\x79\xcd\x9c\xee\x9e\xc0\x6e\x76\xf6\x55\x6f\xb6\xe9\xa8\x6e\xe0\xf4\xf2\xd2\x6c\x72\x67\x47\xde\x31\x98\xbe\xbc\x66\x28\x71\xd2\x71\x75\xdb\x58\x68\x92\xa9\x89\xbe\xc9\x28\x66\xaf\xae\x07\x97\x89\x91\xd5\x01\xf3\x42\x28\x27\xe7\x94\xc0\x78\xa2\x36\x4b\xe3\x85\x20\xda\xe1\xce\x18\xa4\x25\xe3\xfe\x61\x1c\x58\x0e\x0c\x15\x3a\xc7\xc6\x98\x7e\x95\xe1\x03\xd7\xd7\xa1\x6b\x5c\xff\xbc\x43\xc3\x3e\xc5\x9b\x8e\xaa\xaf\x54\xf2\xf1\xa3\x72\xcf\xc1\x45\xd9\x59\xa7\x63\x5a\x0e\xf4\x84\xe6\xf4\x44\xb5\x1e\x3a\xa1\xfa\xc6\x76\x8d\xe7\x43\x58\x68\xc8\x97\xb6\x8f\x7a\xd4\xd8\x20\x79\x52\x2a\x5d\xe9\x43\xca\xe8\xd5\x9c\x2d\xf9\x43\x78\x5d\xcb\x9c\x3e\x02\xc5\x28\x19\x2d\x2a\xb6\x88\xd1\x64\x46\x26\xe7\x75\x94\x2e\xe5\x9f\x57\xa3\x5d\x94\xa2\x47\xe0\x1a\xb8\xac\x20\xd0\xf4\xa2\x24\x52\x50\xba\xc4\x85\x18\x8d\x46\x28\x49\x2f\x58\x91\x3b\xcc\xa1\xbc\x15\x28\x89\xdb\x52\x9f\xc7\x5e\x78\x10\x7e\x60\xd6\xab\x0b\xc3\x30\x19\xac\xd5\x84\xa0\x60\x25\xef\x3c\x83\x35\x9a\x27\x70\x90\xac\x92\x21\x94\x11\x50\xf3\x9e\x76\x63\xfe\x8c\x64\xb1\x98\x30\x3a\x46\x90\x11\xa1\x28\x0b\x89\xab\xa6\xe5\xd5\x42\xcc\xd6\xa8\xe6\x4d\xfe\x9c\x0d\xf4\xc2\x72\x24\xa3\xe9\x70\x07\x74\x64\x62\x35\x34\x4a\x91\xd2\x12\xbf\xaf\x48\xfe\x9e\x5c\x11\xe4\x0a\xd6\x28\x2f\x2a\x32\x11\xc1\x66\xaa\x48\x09\x28\x6a\xcf\xb7\xfa\xf6\x1c\x2e\x80\x36\xed\xfc\x74\x7b\x7e\x42\x3e\x88\x9f\x0a\x52\xe6\x6e\xbe\xb2\xdb\xbe\x08\xfc\x57\x6c\xef\xef\x7a\xd8\x52\xeb\x14\xe4\x83\xc0\x15\xc1\x9f\x78\xa9\x0f\x2b\x82\xff\xc0\x95\x96\x39\xa9\x9c\x08\xa8\x60\x36\xf5\x39\xaf\xd3\xa6\xe2\xab\x0e\xc5\xa1\xe2\xc4\xb7\x65\x8d\x93\x90\xa9\x69\xe8\xf1\xe3\xa4\xcb\xd2\xd4\x77\xe7\x72\x65\x2d\xe1\xda\x19\xa2\xaf\xd0\x2e\x09\x85\x7f\xf7\xd4\xc4\xc6\xc4\xf2\x04\x4f\x3b\x54\x38\x4e\x0d\x13\x10\x6b\xc3\x43\xe3\x7b\x65\xc1\x07\x3e\x79\x7f\x56\x45\x4c\xad\xd6\xaa\x9f\x33\x55\xae\xcd\x0b\xf7\x8b\xb6\x3d\x35\xb2\xbe\xef\x5b\x52\x9b\x4f\x2f\xd4\x83\x70\x1d\x37\x08\xd2\x80\xe7\x81\xa4\xd2\xa1\xfc\x32\x79\xee\x3c\x0d\x0f\x0b\x03\xa5\xaa\xda\xf8\x40\xeb\x5e\x79\xe5\x10\xc6\xba\xec\x29\x9b\x9c\xb3\xe5\x30\x7b\xb9\x3b\x99\xda\xf6\xb0\xb9\xcd\x30\x37\xdb\xfc\x50\x83\xe8\xa0\x00\x56\xea\x14\x53\x37\x3e\xcd\x6a\xf3\xcc\x7a\x26\x04\x4e\x97\x1b\x8b\x1f\xfe\xe6\x96\x7e\x2c\xad\x90\x3d\x60\x42\x0d\x2f\xa1\xef\x47\x2a\x2b\x47\xd3\x8d\x80\xa3\x44\x99\xe6\x38\xc6\xc5\xae\xb9\xb7\x24\xb1\x2f\x16\x8a\x5c\xba\x59\x1e\x02\x09\x3c\x1e\xd7\xc7\xe9\x40\x73\xc0\x74\x48\x5d\x0f\x0b\xfa\xcd\x15\x36\xd4\xc3\x41\xdb\xa0\x60\xeb\x70\xae\x5a\x77\x62\xed\x44\xc4\x9d\xd3\x0e\xaa\xaa\x5d\x6b\xa3\xd6\xf1\x37\xe7\x06\xa8\x2d\xdd\xde\x37\x4a\x73\x40\x01\xeb\x57\x5d\x63\x0a\xbb\xe6\xce\x96\x03\x56\x9c\x12\x93\x53\xaf\x75\xf0\x7d\x39\x78\xb8\x93\xdb\x36\x26\x99\x1b\x91\x66\x95\xa8\x07\x48\x92\x68\xef\xa2\x83\xad\x9e\x15\x1c\x6c\x00\x2a\xa1\x3d\x75\xd7\xae\x9f\x3b\xf4\x9e\x3e\x01\xcc\xff\xc9\x00\x20\x34\x19\x35\x64\xfb\x80\x55\x57\xe6\xfb\xba\x88\x1d\x66\x2e\xde\x73\xbd\x68\xc6\x72\x6b\x4f\xbd\x15\xc3\x63\x9b\x34\x0f\xab\xce\x83\x62\x3f\x1d\x52\x3f\x7b\xcb\x98\x66\xef\x47\x97\x85\x98\xb1\xa5\x88\x69\xe3\x51\xc6\xa7\x3c\x28\xb5\x86\xf5\x07\x87\xce\xcc\xc7\xee\x4b\xc2\xa0\x0d\xa5\x49\x57\x6c\xe8\xc1\xa4\xdf\xfa\xad\x42\x34\x17\xde\x4f\xfb\xf1\x52\xf1\xfa\x5f\x9c\xad\x5b\x7f\x58\x4a\xb8\x99\xdd\x8e\xad\x26\x47\x8e\x35\x80\xeb\xac\xe9\x18\xbf\x05\x18\x92\x96\x7d\xd5\x97\x91\xf3\xb5\x87\xf4\x35\x9f\x4f\x06\x67\x5e\xa9\xd7\xe5\x73\x33\xf5\x0e\x2a\x95\x3e\xd4\x83\x1d\xe1\x43\x3d\xed\xdc\xe0\x42\x9d\x66\xb2\xee\xce\x87\x55\xf9\x41\x4a\x97\xf6\x3c\xa2\xb6\x13\x4e\x78\xcc\x75\x47\x94\x31\x6d\xe6\x06\xb3\x75\xcd\xdf\x1c\x2f\xab\xe6\x47\x93\x4b\xc9\xa1\xbb\x3d\xb1\xbd\x9a\x86\xb9\x2d\x82\x19\x36\xcf\x35\x0b\xf3\xf1\x6d\xed\x30\x96\x76\x9c\x99\xd3\xba\x1d\x0a\xaf\x8e\x84\xe7\x6f\x9e\x8e\x09\x65\x1d\x92\x52\x31\x00\x1a\x6e\x08\x0a\x03\x6d\x79\x9b\xd8\xcd\xfa\xa2\xdf\x55\xac\xdf\x75\xa8\xef\xf3\x45\xfc\xe5\x8e\x98\x34\x10\xd1\x4d\x2b\xb6\x5c\x74\xd7\x83\x62\xd7\xcd\xbf\xb3\xa6\xe3\xe2\xbf\xc6\xe2\xb7\xd7\x5a\x58\xc1\x93\x36\x4a\xad\xd8\x22\x67\x97\xfa\x09\xbd\x11\x10\xe0\x86\x4f\xd4\x4b\x4e\xaa\xbb\x7a\x9e\x0e\x5b\x7b\x1a\x2f\xf7\x3b\xb1\xe5\x6c\x1b\x6a\x6e\xe6\xeb\x6c\xee\xdb\xc3\xb2\xdc\x10\xeb\xd6\xd7\x84\xb4\x9d\x99\xed\x35\x5e\xce\xe7\xb8\xba\x5a\x7f\x85\x45\xf0\xe9\xdc\xbe\x09\xef\x6f\xbd\x1f\x5d\xce\x48\x45\x62\x91\x5e\x3b\x1e\x99\x5e\x0e\xa1\xab\x05\x19\x3b\x3c\xd2\x2a\xcc\x5e\xd3\xdd\x4c\x8c\x26\x6c\x49\x85\x76\xe9\xe3\x1b\xf4\x0e\xd0\xd1\xd5\x33\x77\x7a\x4e\x89\x1f\x79\x44\xf9\x7c\xeb\x8f\xaa\x97\x94\x6b\xf7\xe8\x55\x5a\xd3\xe4\x57\x64\xc2\x3c\xc3\x21\xc5\x1b\x69\x1f\xd5\x22\x1f\x93\x94\x55\xd3\xa3\x7c\xdc\x3c\x2c\xf8\xea\x5c\x44\xaf\x8a\x36\x24\x36\xd7\x43\x11\x9b\xcb\x19\x03\x07\xd7\xcb\x19\x33\x7e\x21\xd4\x36\xff\x67\x41\x2e\xc7\xdb\x07\x2b\xcf\x4a\x0e\x2e\x26\x4a\x46\x94\x55\x73\x5c\x16\xbf\x3b\xb7\x7a\xaf\x5e\x82\x5c\x58\x9b\x75\x37\x6d\xc1\xdd\x93\xa9\x50\xa8\x0d\x1a\x1a\xcc\x31\x66\xb1\x46\x83\x57\x37\x23\x04\x83\x1a\xd1\x66\x6e\x26\x92\xa4\xd4\x63\x0d\x1e\xe6\x9d\x99\x47\x44\xcb\x44\x76\xab\x39\x2b\x07\xd5\x28\x4f\x75\x30\x64\xa3\x6e\x3c\x09\x4a\x2e\x2d\x25\xd9\xd3\x2f\x5a\x9d\x2e\xac\x36\xd6\x84\x67\x24\x66\x87\x90\x54\x53\x83\xaa\x05\xcf\x31\x4d\xeb\x28\x93\x81\x8b\xbb\x6a\xfa\x7d\x87\xdc\x93\xe1\x9a\xe2\x3c\x8f\x79\xc8\x22\x54\x21\x2a\x09\xb4\xae\xff\x30\x98\x12\xf6\xaf\x33\xec\x6f\x6b\xf5\xc3\x9e\x09\x5b\xbf\x21\x6f\xe7\xe9\x37\xb9\xb3\xa3\xdc\x4b\x46\xe9\x5a\x44\xbc\x58\x10\x1a\xa3\xaf\xec\x24\x75\x4c\x55\x4d\xa6\x41\x5f\x08\x24\x75\x98\xdf\x93\x1f\xe8\x30\xd8\x67\xf7\x56\xab\x6a\xad\x18\xb0\x47\x01\x84\x08\xf9\x3f\x15\xa5\xe8\xe1\x37\xf5\x25\x8a\x45\xcd\xb2\x86\xb2\xee\xa8\x34\x99\x74\x42\xc2\x76\x82\xa6\x8b\x03\x8f\x42\x75\xa5\x12\x6a\x06\x1b\xf0\xce\xcd\x88\xd0\xde\xc4\xb6\x8c\xe1\x2b\x6d\x1e\x6b\xe2\x3d\x9c\x4b\x78\x92\x77\xb6\x06\x28\xb4\x4b\x9d\x43\x5d\x03\x58\xe9\xf6\xc1\x56\x7b\xf8\x03\xf7\x71\xb5\xb7\xf7\x9e\x10\xa3\x1d\xe7\xc9\xf1\x05\x89\x69\xf7\xdd\x59\xf5\x6d\xe2\x8c\x5d\xaa\x97\xd9\x97\xc5\xe4\xdc\x75\xa7\x08\x98\x72\x5b\xa6\xde\xe0\x04\xfd\xa6\x0b\xbb\xeb\x07\x1c\x69\x46\xd6\x18\x72\x87\x1a\xf4\x41\x62\x70\x2f\x60\xb8\xfa\xfc\xd2\x15\x43\x69\x4b\x5a\xb1\x44\xdf\xa9\x37\x88\xa7\x00\x9d\x57\x77\x64\x06\x32\x6a\x92\x47\xc3\x4e\x5c\xce\x18\xb2\xbc\x07\x90\xb3\xfa\xa7\x36\x44\xd8\x6a\x07\x2b\x39\x48\x52\xda\x8a\xdd\x40\x3a\x18\x18\x77\x2d\xdc\x05\x96\x0d\x96\x40\x9c\xd8\x2a\x6a\x96\x8d\x39\x07\x02\xad\x40\x80\xd1\x40\x9c\x95\x9a\xb3\x08\x9f\xca\x88\xb3\x4a\xe8\x81\x50\x6a\x76\x61\xa5\x91\xc8\x09\x9b\x4e\xcb\x86\x59\x6f\x6b\x90\x96\xfe\x11\x9a\xfe\x5c\x61\x2a\x14\xd4\x0d\x92\x3e\x5b\x80\x1a\x90\x3f\x8d\x72\x9c\xb6\xd3\xae\xd5\xe4\x35\x08\xcc\xee\xa2\x3b\x63\x90\x74\xf2\xbb\x9c\x08\xc9\xdf\x90\x8a\xc7\x2e\x8b\xe7\x20\x83\x34\x40\x10\x1d\x7c\xbc\xb9\x50\x39\x28\x8c\xe1\xff\x72\x9d\x59\xc9\x26\xb8\x3c\x16\xac\xc2\xd3\x2e\xfb\x68\xb7\x0a\x84\xf6\xfe\x12\xb4\x62\xf0\xdb\x04\x6f\x1c\x10\xae\xd1\xd6\x47\xba\xed\xc9\xd5\xc2\x3c\xe1\xf8\xcf\x8c\xa6\x70\xbc\x9f\x96\xe0\x93\x89\x50\x5a\xbb\x41\x82\xa2\xf0\x4e\x53\x1a\x76\x24\x34\xa9\xef\xa1\x33\xbb\x2d\x3f\x26\x11\xbc\x50\xfd\x04\x47\x09\x7e\x12\x2f\xab\xe2\x02\x0b\x92\x96\xca\x54\x53\xff\x8c\xf6\xa2\x8b\x82\x5c\xe2\xd3\x92\x44\x8c\x96\x57\xd1\xe9\x55\x34\x27\x68\xd5\x40\xb9\x81\xde\xc0\x09\x83\xe4\x75\x7f\xfa\x43\xb4\x17\x61\x40\x21\x51\xc1\xa3\x4a\x8a\xcb\x05\x7c\x16\x2c\x32\x97\x3d\x32\x52\xd9\xba\x41\x96\xa7\x65\x31\xb1\x23\xc0\xaf\x68\x2f\x9a\x60\x1a\x9d\x92\x88\x13\x42\xe5\x74\xc9\x05\xa9\xae\x18\x85\x49\x3b\x28\xad\x71\x8e\x35\x01\xf4\x8b\x25\x0a\xf6\xe3\x68\xa9\xf7\x76\x3b\x8b\x3a\x3b\xbe\xca\xca\x5f\x3b\xbd\x9a\xba\xae\x1f\xac\x4b\x64\xdd\xef\x87\x75\x0f\xa5\xd7\xb8\xd4\xed\xc6\xad\x0a\xe8\xb1\x36\xdb\x8a\x66\xa4\x5c\x44\x57\x6c\x79\x88\x5a\x4b\x68\x46\x05\x55\x44\xdb\x50\x11\xdf\x48\x5a\xe9\xe8\x00\x7c\x3b\xf4\xaa\xf5\xa6\x68\x57\x2d\x22\x14\x60\xaf\x65\x75\xdc\x6d\x11\x9b\x85\xf4\x13\x92\x70\x82\xe9\xa4\x1c\x7e\x0f\x56\xbf\xb7\xa8\xd8\x1c\x02\x7c\x1a\x19\x24\xc0\xc7\x7a\xc4\xcc\x7b\xae\xf3\x95\xd8\x6d\x31\x45\xdf\x1f\xf3\x3c\xe4\x1c\x76\x73\x2b\x01\x0e\xeb\xe4\x2e\x5e\xfc\x11\xe7\x78\x4d\x4f\xfa\xe8\xe8\x61\x5d\x4d\x1f\xf0\xb8\x16\x09\x1b\x43\x28\xc4\x63\xe2\x32\xed\x6f\x67\x59\x9d\xd0\x24\xd6\xfd\xaa\xa0\xa9\x96\xc9\x0b\xaa\x7a\x6b\x96\x0e\xb8\xdc\xb0\x86\xd7\x11\x0c\x07\xc5\x40\x6d\x92\x45\x0f\x87\x0f\x0a\x84\x3a\x38\xb7\x9a\xc4\x14\x74\xfa\x99\x94\xad\x41\xaa\x39\x50\x75\x3a\x94\x7c\x4a\x2c\xd7\x5d\x6d\x09\x7e\xb3\x6b\x92\xae\xdd\x46\xf1\x0a\xd3\x74\x93\x90\x81\xd2\x15\x50\xaf\xfa\x53\xe5\xc8\x39\x21\x1f\x84\x52\xbf\x5e\x14\x82\x80\x25\x66\xfd\xf3\x19\xe1\x5c\x12\xff\x3f\xc3\x83\xd7\x40\x05\xac\xe6\x9e\xcd\xd2\xd5\x0b\x87\x6f\x3a\xe3\xad\xdd\x9a\x89\xd9\x44\xff\xad\x1a\xf6\x16\x6a\x05\xd4\x91\x2c\x05\x3f\x41\x5d\x23\x4e\x1a\xaa\xe4\x6e\x9d\x6f\x4a\x3c\xc1\x70\x7d\xfa\x7e\x03\xb4\xb5\x5a\xb8\x79\xf1\xb9\x15\x1a\xa0\x2e\x28\x32\xd3\x40\xcc\x3e\xc7\x35\xbf\x25\xc0\xd1\xd1\xaf\x33\x06\xc8\xf0\x67\xd9\x47\xca\x5d\xd6\xdb\x17\xe0\x98\x36\x83\x51\xa1\xee\x90\x29\x36\xbf\xe1\xc1\xdd\xa1\xfa\xcc\x84\x75\x63\xd9\xf6\xc1\x96\x58\x2b\x9f\xba\xf4\x39\x28\x9d\x72\x88\x71\x15\x8a\x49\x98\x72\x6b\xac\x01\x92\x28\x28\x38\xbc\x75\x1d\x76\xa5\x02\x71\xa5\x3f\xeb\x01\xab\x7f\x6b\xc1\x4f\xe3\x25\x88\xfd\x99\xac\xc0\x1d\xdf\x6f\x95\xd1\xd1\x13\xcd\xab\xbc\xe6\xa4\x3a\xca\x77\x76\x62\xe1\xe2\x77\x54\x47\x96\x32\x41\xbd\x19\x24\x64\x22\xbe\x3d\x02\xbc\x94\x31\x13\xd0\xa0\xf7\xb4\xe4\x40\x69\x73\x5c\x18\xc8\xff\x28\x89\x90\xa4\x62\xce\x38\x45\xb2\x12\x0e\x5f\xe0\x89\xad\xa4\x4f\x6c\x1d\xa4\x1c\x67\xa0\x1c\x77\x12\x1d\xe0\x73\x72\x94\xc7\x07\x7f\x4d\x5a\xfa\x72\x7d\xd6\x46\x61\x1e\xd0\xa2\xba\xe9\x7a\x82\x5a\x72\x58\x81\x56\x91\xa7\x0e\x4e\xb1\x3f\x01\x0d\xe9\xf4\x94\xc6\x16\xce\xfd\x09\xda\x3c\xe7\x77\x9d\xda\xd2\x35\x47\x73\x7f\x3f\x62\x8b\x2b\xf7\xb7\xc9\x9e\xe8\x0d\xa2\x32\xfa\xb9\x9f\x9e\x16\x67\x64\x72\x35\x29\xbd\x8f\xff\x24\x15\x78\xb6\x6d\x1f\xac\xbc\x74\x4b\x01\xfd\xbe\x62\xa2\x5c\xe5\x3e\x5b\xa7\xdc\x2f\x12\x88\x9c\xd5\x85\xbc\xc6\x2d\x7c\x8e\x7e\x21\x57\x91\x98\x91\x8a\xa4\xd1\x51\x84\xe7\x11\x9f\x61\x49\xbb\xe5\xb7\xc8\x4d\x93\xa2\xcf\x45\x41\xc7\x2e\x8a\x60\x72\x51\x5c\x50\xaf\x96\x09\xe4\xa6\xdd\x6d\x76\x51\x12\x5d\x16\x62\x26\x39\xde\x88\xb3\xe8\x92\x28\x8e\x9f\x89\x59\x34\x61\x65\x89\x4f\x59\x25\x25\x17\x46\xa3\xda\xc6\x11\xad\xd2\x39\x16\x93\xd9\x6b\x20\x6f\xfd\xaa\xce\x69\x10\xa6\x93\x94\x7b\xd2\x54\x37\xa7\xa5\xe9\x3a\x4a\x46\xf5\x90\xed\x10\x0d\x37\xd4\x30\x15\x46\xbd\xe4\xab\x96\xb8\x8f\x01\x6a\xad\x92\x52\xa5\x90\xfc\xb5\x79\xa2\x6a\xaa\xff\x9b\xf6\x15\x47\x8a\x74\xf9\x3e\xe8\x6e\xfe\x1b\xad\x7e\x57\x80\xa4\x08\xdd\x9e\x5c\x72\x4b\x01\x9f\x36\x2a\x69\xa7\x1d\xab\x2b\xcd\xf3\xa1\xa3\xe0\x3c\xef\x1c\x02\xbe\x9b\x1c\xb5\xb7\x11\x02\x1a\x07\xda\x50\x6e\x75\x93\xee\xf5\x60\xd3\x04\x78\x88\x55\x71\x6d\xae\x0f\x49\x3d\x26\xcc\xbf\xc1\xae\x84\x8f\x03\xe9\x9e\x45\xcd\x43\x35\xa9\x49\x11\xa2\x26\xf5\x24\x25\xb6\x0b\x24\x71\x05\x1b\xdf\xd6\x57\x9b\xc1\xd5\xff\xec\x98\xe2\xfa\x05\x36\xb9\xab\xff\x79\x48\xe2\xd8\xc6\x74\x4c\x4e\xd3\x56\x89\x45\x84\x81\x32\x8d\x0f\x95\x65\x65\x99\xed\x6f\xd1\x3e\xc3\x4c\xbd\x65\xdb\xff\xd9\x32\xed\xf1\x1d\x97\xbb\xd9\x01\x64\x82\x6d\x6a\xb1\x71\x72\xc8\x47\x73\x5c\x9d\x3f\xe4\x4a\xdd\x12\x27\xe3\xf2\xc1\x81\xfd\xf8\xca\xea\x73\xe2\x64\x6c\x6b\x2a\x55\x52\x9f\x34\xda\xa1\x95\x4f\x59\xbf\x90\x9a\xda\x14\x76\xaf\x02\x69\xdf\x20\x95\x73\xcb\x7f\xad\x9d\x2b\xba\xd7\xdc\xd5\xca\x01\x9e\x04\x2e\x34\xcf\xaf\xe4\x78\x0f\xcd\x3b\x8a\x9a\x06\xee\xf5\x4d\xb8\xef\x7f\xa7\x2c\x91\xbb\x1f\xae\x3b\x31\x4a\x2f\xd3\xdf\xc0\x60\x3c\x23\xc3\x29\x09\x44\x83\xf7\x99\x49\xd9\xe5\x3a\xfe\x51\xb8\x66\x15\x1a\xd1\x2d\xcb\x52\x33\x7d\x2d\x9d\x94\xcf\x29\xda\x62\x13\x63\x40\x61\x72\x47\x95\xa1\x49\x95\x3c\x53\xd9\x5c\x11\xa8\x5b\x3c\xf6\x3b\x92\xac\x3d\xd5\x3a\x0d\x65\xa4\xb3\x50\xf2\x1e\x81\x4f\x43\x42\x71\x16\x4b\xc1\xd0\x51\xc7\xdc\x4a\x02\xe4\x03\x88\x4d\x92\x4a\xf0\x33\x36\xc4\x61\xa2\xe5\xd0\x16\x9e\xbe\x22\x93\x62\x51\x80\x95\xfb\x9b\x77\xab\x2d\x0a\x59\xb1\x3e\xbc\x38\x8b\x51\x8a\x92\x07\x7b\x07\x3b\x3b\x31\x1b\xd5\x95\x32\x6a\x7c\x99\x52\x79\x06\x4e\xf5\xef\x75\xf5\x7d\x08\xdd\x53\xb7\xa8\x17\x1f\xee\xe7\x7b\xd9\x4f\x67\x23\x37\xcc\xb8\x57\xc1\x46\x11\x6f\xec\xa8\x3a\xb6\x46\xf8\x1e\x17\x9b\xcc\x70\xe5\x3e\xc8\xbb\xac\x7f\x00\x9b\xb8\xcc\x50\xea\xaa\x19\x7d\x9e\xa5\xe7\x29\x99\xf8\x16\x04\x5d\x6c\x11\xc4\xdb\x30\xcf\x4d\x60\x72\x01\x73\xec\x1c\x70\xbd\xc9\xc5\x8f\xcb\xf2\xbc\xbe\x4a\xcd\xc8\x5c\xce\x7d\x03\xb2\xa5\x8c\xba\xea\x8f\x5a\x67\xd2\xfc\xac\xd4\x2d\xce\x57\xcf\xbf\xa8\xfd\x59\x05\x53\x6a\x7f\x37\xe9\xab\xdb\x25\x2a\x55\x75\xfb\x3b\x10\xba\xc0\x77\x4b\xe9\x42\x93\xd2\xa4\x2e\x50\x54\xd3\xba\x40\xa1\x21\x76\x10\xe8\x69\x63\x1d\xa7\xd0\x33\xea\xd2\x70\x7a\xea\xca\xdb\x3f\x0a\x7e\x6a\x6b\xd2\x1b\xd8\x90\x7e\x19\xba\x3e\x47\x70\x91\xd2\x82\x15\xa0\xbd\x00\x86\x6e\x92\x4f\x91\xb4\xed\xd1\xea\xc3\x6c\x39\x8f\x48\xd2\xe9\xaa\x1f\x8e\xcb\xe5\xd4\x84\xa1\x34\xa1\x1f\xdc\x24\x9e\xfd\xb9\xa8\x37\xb4\x10\x87\x80\xd5\xc3\x61\x13\x50\xc8\x05\x5c\xf4\xb5\x0f\xd2\x9f\xd5\x7b\xb3\x5f\x7f\xbd\x71\x90\x2d\xb5\xde\xfe\xea\xb7\x78\x9f\xee\xcb\x2f\x36\x9a\x7a\x99\x4f\x8c\xdb\x64\xba\x5f\xdb\x68\x3e\x2d\xe8\xb9\x7a\x57\x36\xe8\x55\xdd\x28\x8d\x39\xfe\xb8\xab\x72\x43\xdb\x69\x08\xd3\x13\x27\x77\x61\x3a\x6d\xbb\x82\x3f\x06\xe4\x32\x77\x73\xcc\xa4\x21\x0b\x52\x6d\x8a\x0c\xac\x1a\x42\xa1\x24\xcd\x96\x33\x54\x72\xf3\xaf\x60\x11\x4c\xd3\xeb\xa6\x61\x71\x57\x4a\x18\x29\xa6\x07\x0c\x79\x0e\x89\x32\x0a\x1e\xef\x6f\xd5\x74\xe5\x91\xfc\x82\x52\x96\xa4\x4c\xf2\x32\x60\x1d\xc7\x77\x76\x62\xde\x74\xf4\x6b\x99\x61\x99\x5c\x4e\x6d\xfb\x2c\x03\x4e\xc8\x89\xd5\x75\x68\x40\x6b\x8c\x40\xee\xdc\xe8\x29\xd5\x0d\xcf\x68\x06\xf9\x09\x84\x14\x94\x1c\xd6\x71\xbe\x8c\xb7\x99\x2e\x4a\x1d\xd3\xf0\x8e\xc6\xc9\xb8\xa7\xb5\x7a\x4d\x4d\x03\x9a\xf9\x86\xfa\xc9\x6f\xb9\xc6\x90\xd8\xf1\xfa\xeb\x4c\x66\x14\x4a\x5a\x64\x72\xec\x20\x2f\x43\x91\x8e\xab\xa1\xc3\x64\xd8\xf5\x8e\x71\xf6\x7e\xb4\x28\x97\x93\xf3\xd8\x58\x94\x33\xdf\xa2\x7c\x95\xa4\x5e\x66\xe9\x34\xac\x6a\x70\x12\xe8\x60\x4f\x00\xdb\xd9\x29\x5a\xaa\xbb\x36\x24\x98\xbd\x24\x2d\x61\xea\xd8\xb3\x83\xab\x0b\x97\xd4\x6c\xc4\xef\x24\xf7\x2a\xb9\x41\x3d\xbc\x5a\xee\x6a\xd9\xed\x56\xf5\xf1\xe3\x26\xab\x42\x6d\xbb\x85\x4d\x97\xb5\xef\x2d\x4b\x41\xdc\xc6\xcb\xb9\xbb\x39\xef\x0f\x3b\x8a\x55\x38\x33\x56\xcb\x84\xcf\xd9\x5a\xf0\x12\xee\x44\x23\xdc\x0f\x6a\xfa\x93\x56\x40\xa0\x24\x2e\x86\x71\xba\xd5\x94\x89\x3d\x1b\xf0\xe8\x73\x86\xf0\x20\xe6\x65\x99\xe3\xab\x3a\xba\xfd\xda\x30\x6c\x26\x00\xdb\x4d\x22\x8d\xc1\x8f\x23\xd5\xce\x8d\x0b\xa6\xb6\x61\x00\x8d\xd2\x83\x6f\x15\x67\xb1\x1f\x42\x8a\x34\x0c\xa1\xeb\x78\x51\xde\x98\x8d\x48\x51\xc4\x8f\x4b\xb5\xe5\x4a\xb1\x72\x46\x90\x36\xbe\x3f\x2c\x93\xdd\x3c\xb7\x6f\x5d\x46\x6a\xd1\xb9\xfd\xbd\x9e\xd2\xc1\x30\x83\xc8\x12\x5f\xb1\xa5\xb8\x77\xca\x84\x60\xf3\xbd\x53\x5c\x7d\x56\x68\x99\x48\xd9\x58\xd2\x46\x3e\x7e\x83\xd4\x54\xf6\xce\x18\x53\x57\x93\x32\xba\xb7\xa8\x0a\x2a\xf0\x69\x49\xd0\xbb\x54\xe0\xa9\xe2\xca\x4c\x8d\x75\x66\x13\x5a\x9f\x62\x33\x2a\x30\x4a\x6c\xd4\x11\xad\x59\xd9\x3e\x48\xe7\x8e\xf1\xc3\xcd\xf8\x2b\x50\x54\xfd\xb8\xe4\x23\xbe\x3c\xe5\x93\xaa\x38\x25\x31\x02\x39\xf0\xea\x35\x97\xf3\x54\x20\xb3\x50\x59\x79\x9e\x83\x80\xa8\xe3\x0b\x27\xab\x34\xf0\xb9\xc3\x7f\xb5\xe0\xda\x2d\x8d\xe4\x3e\xcb\x68\x0b\xa4\xa4\x9a\x7c\xfc\x18\xa3\x4b\x5c\x08\x88\x68\xed\x29\xb3\xcc\x86\x34\x31\x9b\xb3\x21\xad\xb8\x04\x7a\xdf\xe0\x3b\xd0\x48\x4a\x4c\xc7\x16\xe2\x47\x8b\x8a\x4d\x2b\xc2\xf9\x1e\x14\x37\xd4\x2c\xbf\x33\x36\x7f\x01\xe9\x3f\x6b\x65\x88\xfc\x76\x44\x51\x73\x24\x3d\xb9\xd6\x0c\xd6\x4f\x6e\x3f\x91\x1c\xe9\x49\x31\x27\x6c\x29\xda\xd7\x6a\xd0\x24\xe5\x84\x1a\x73\x84\x79\xaf\xd2\x6f\xc8\x37\x76\xf1\xdb\xb0\x78\xb5\xc3\xdb\x9d\x1b\x41\xbd\x53\xbe\xf3\x0d\xb1\x47\xd2\xb9\x51\xde\x01\xcf\xad\xfe\x72\x83\x6d\x5a\xb7\x84\x35\xdb\x35\x20\xde\x94\xc6\x3d\xf3\x22\xcf\x4b\xb2\xf7\x3b\xa3\x24\x94\xb2\xe7\x0f\x41\x42\x66\x1e\x0e\xd6\xc1\x95\x28\x26\x25\x41\x37\x59\x16\x2f\x72\xf2\xb9\x71\xab\x9d\x38\xc5\x17\x28\x0d\x2d\xd2\xce\xaa\x85\x6a\x6d\xed\x1f\x0b\x88\xe7\x2e\x1b\xa9\xd4\x0f\x90\xac\x4c\x37\xdc\x53\x9f\xd0\xbb\xd4\x29\x53\xc6\xd1\x37\x8f\x5b\x76\x6b\x07\xdc\x9b\xc0\xdd\x1f\x0e\x6f\xa7\x2c\xbf\x72\x81\x6d\x8e\x0b\x3a\x18\xd2\x04\x5b\x34\x29\xf7\x17\x11\x7b\x3d\xb4\x50\x95\x73\xaf\x8f\xba\x9b\x1a\x1b\xe9\x88\xd6\xb1\x02\x2a\xab\xce\x8d\x0c\x2c\x17\x05\xa5\x24\xef\x2a\x25\x54\xce\xff\x29\x9b\xb2\xa5\x18\x6f\xef\x43\xea\xab\xa2\x15\x49\xcb\xcd\x7c\x55\xc0\xe3\xdf\x0c\x2b\xe5\x6b\x7f\x65\x6e\xaa\x20\x2f\x5c\x57\x7f\xa3\xdc\xa9\xa5\xda\xfd\x3a\xc3\x82\x3f\x57\x66\x51\x94\x5c\xf2\x47\x0a\xbb\x85\x58\x9e\x4d\xe2\x89\xb4\x1c\x87\xdc\x57\x4c\x63\xa4\x21\xd7\x2b\x05\xf4\xb6\x21\x10\x5e\x8a\xd9\xcb\x8a\x5d\x14\x70\x84\xdb\x59\x46\x46\x0f\x9d\x4f\xa3\xc7\x1a\x82\xdb\x4a\x03\xb7\x07\x15\x14\x15\x25\x5b\x34\xfb\x9f\xe3\x17\xcf\x47\x0b\x5c\x71\xe2\x3f\x39\xb9\x67\x84\xd2\x6d\x3a\xca\x0b\x5e\x7f\xd1\x41\xfb\xf4\x43\xb1\xb2\xa6\x4a\x46\xce\xae\xb5\x2c\x2d\xeb\x87\x19\xa7\x96\x0a\x6e\xd1\xb2\xfd\x36\x53\xbd\x30\x0f\xf3\x9e\x32\xc3\x26\xb7\xcc\x0b\x4d\x66\xbd\x2c\xbe\xda\x86\x24\xc5\xd9\x2e\xa4\xb4\xc4\xc2\x44\x87\xff\xaf\x11\xfe\x0d\x7f\x88\xaf\x97\x55\x39\x46\x33\x21\x16\x7c\x7c\xef\x1e\x57\x0a\xd0\xd1\x94\xb1\x69\x49\xf0\x02\x92\x6a\xcd\x6d\xd8\xf0\x7b\xf2\xe8\xef\xa1\x5d\xb6\x8b\xee\xa1\x5d\xbe\x8b\x46\x33\x31\x2f\x0f\x27\xa7\x19\xda\xc5\xda\x91\xfe\xe7\x27\x27\x28\xcd\xb1\xc0\xe0\x3f\x80\x64\x05\x94\xea\x34\x91\xbe\x46\x3e\xc8\x93\x36\xbf\x6a\x86\xb4\xb0\xbe\xd3\x06\xf4\xc0\xf5\x60\xf5\x39\xf2\x7b\xc5\x9d\x2c\xfa\xa2\xa0\x2a\x75\x89\xe1\xd0\x41\xa7\xa9\x6f\x4d\xad\xed\x94\x1f\xe2\xc4\xa8\x3c\xe1\xea\xad\x0b\xe3\x30\x98\x53\x77\xd4\xbe\x80\x65\xea\xe4\xf6\x6a\xd4\x10\xe0\x05\x47\xe8\x10\x04\x34\x98\x02\xce\x69\xbe\x11\xbe\x54\x1f\x1d\x2f\x3d\xfd\x1e\x04\xdc\x63\xeb\xb1\x2d\x54\xdd\xc6\xfb\x82\x16\xa0\x07\xbc\x93\xe8\x19\xf6\xb4\x96\x34\x78\x5e\xae\xbe\x51\x65\xbd\x7a\x59\x04\x53\x4f\xb9\xba\xca\x23\x9d\x59\xd6\xd7\x3b\x42\x80\x9d\xe2\x2c\x7e\x6f\x85\x7e\x9a\x18\x0f\xd7\x80\x21\x25\x21\xe7\xda\x78\xc2\xd0\x9e\x94\x0c\x78\x3d\xb2\x75\x8d\x99\xb4\x7a\x1f\x52\x4f\xc8\xad\x04\xf8\xb7\x1d\xad\x7e\xab\x22\x29\x73\xc7\x4b\x69\xea\xbc\xc2\xd8\xe4\x38\x06\x85\xad\xb7\xe3\xbb\x94\x35\xf7\x28\xb9\x6c\xbb\xe9\x3b\x77\xd1\xb9\xe7\x36\x2a\x25\x24\x20\x0f\x21\x5a\x4e\x08\x7d\x4e\x2e\xf5\x5b\xae\x17\x6b\xc1\xc3\xae\x52\xfe\x1c\xa0\xcf\x60\xf4\x94\xe1\x2a\xbf\x07\x06\x04\x7b\x66\xd7\x3e\x23\x77\xb7\x11\xdb\xc2\x49\x55\x60\x50\x97\x59\x73\x67\x84\x52\x79\x58\xf2\xbf\x5a\x35\x50\xd0\xa9\x75\x39\x6c\xe6\x56\x74\xd0\x8f\x13\x9c\x5e\xe0\x29\xd9\x3b\xd8\x3b\x6b\xc7\x8a\x4f\x7b\x6a\xa5\x91\xfd\x56\x87\x8c\x1f\x9d\x93\xab\xe5\x22\x28\x2a\x06\xc7\xb9\xc0\x65\x9c\xec\xec\xb4\x2b\x39\x5d\x42\x9d\xc3\x5a\xe4\x94\x9f\xf7\x4c\x4a\xa9\x11\x16\xa2\x8a\x11\xaf\x26\x28\x45\xf7\x30\xe7\x44\xf0\x7b\xc5\x7c\x6a\x4f\x76\x41\x2a\xce\xe8\xde\xb4\x22\x84\x8e\x16\x12\xd1\x8d\x6f\xd9\x55\x45\x72\xd5\xd1\x2a\xb4\x3f\x54\x99\x8d\xad\x4d\x79\x68\xdf\xfb\x06\x6c\x50\x9d\x16\x30\x5c\xa9\xdb\x4e\x65\xc0\xc6\x06\xfa\x76\xea\xf4\x44\x53\xd0\xc4\xc2\x42\x9d\xd2\x30\x40\x5c\xf9\x7a\x87\x75\x97\x12\xa4\x70\x4e\x5e\x2c\x01\xb9\xb0\xcb\x76\x76\x68\xaf\x27\x97\x18\xb9\xfd\xbb\x8a\x53\xdd\xf5\x7d\xdd\xf5\x11\x0d\x80\xeb\xfd\x5a\xab\xdd\x0d\xd3\x75\x25\x29\xc7\x9f\x15\xd5\x7c\x08\x1c\x7b\x5d\xc3\x4e\x6a\xe4\xf5\xc3\x5f\x3f\x7e\x1c\x5c\xf9\xc1\x77\xfb\x1f\x3f\xb6\x4e\xa0\x5d\x7d\xd8\xa4\xa1\x2a\x38\xf1\x25\xc9\xb8\xff\x5c\xbb\x2f\xb8\x53\x29\x6c\x8e\xd4\x3c\xe2\xdb\x5d\xa2\xf0\x4c\x37\xc4\x45\x9f\x6b\xae\x81\x1b\x7f\x7f\xe3\x1b\xbf\xbd\xfe\xb8\x37\x80\xa0\x4d\xc1\xad\x7d\xdf\x83\x97\xc4\xdf\xb7\x50\xcd\xf0\x86\x07\x4e\xd3\x6b\x35\x1c\x55\x75\x43\xf8\xa1\x9c\x5c\xcf\x30\xcd\xfa\x59\x96\xad\xdf\xa1\xbe\x7d\x71\x3a\xdc\x18\x1f\x76\xe1\xab\x30\x2a\x2c\xce\xe2\xed\x00\x3a\xb4\x12\xe4\x3a\x6c\xf8\x8d\x83\x0d\xb5\xbc\xfd\xf5\x75\x64\x33\xe4\xa0\x71\x84\xbe\xde\x5d\xbf\x19\xbb\x5f\xa3\x34\x42\x8a\xdd\x50\x6d\x80\x1d\x29\x70\xa9\x4a\xea\x8b\x17\xec\x30\x40\xc2\x54\x3b\x8b\x5b\x3a\x9a\x35\x89\xd3\xee\xd7\x28\x5a\x7d\x6d\x23\x1a\xf4\x4d\x79\xcb\xe3\xde\xeb\x34\x63\xfa\x2e\xc7\x62\x64\x78\xa6\x76\x2e\x31\x62\x43\xb3\x99\x5e\xc7\x54\x3d\x42\x8e\x89\xca\x3a\xb3\xb2\x3e\x88\x96\x13\x75\x45\xc7\x18\x39\xbf\x58\x35\x36\xac\x26\x0a\x45\x20\xb9\x2c\x68\xce\x2e\x47\xa5\xce\x1a\x39\x9a\x55\xe4\x2c\x43\x52\xd4\xae\xe7\x08\x32\xb7\x00\xbb\x30\x48\xb5\xb6\xae\xf5\x3d\xb4\x92\x02\xb2\xcb\xdb\xcc\x0b\x0e\x26\xea\x60\x1e\xcb\x2e\xe3\xfe\xab\xe9\x80\xf8\x40\x14\xe0\xb4\xe8\x40\x05\xf0\xa4\xb8\x8e\x03\xb7\xdd\x55\x84\x93\xcf\xab\xc9\xb7\x87\x2d\x99\x67\xfd\xf7\x23\xb5\x28\xf9\x69\xbe\xe4\xe2\x99\xdc\x41\xc9\x4e\x0f\x49\xf5\xe5\x24\xf9\xd2\x7b\x33\xa4\xf6\x23\xb3\x8d\x2a\x0f\xfe\xa6\xc9\xae\xcc\xef\xfa\x45\x7b\x86\xb9\xee\xb3\xbb\x17\x77\x7e\x4e\x27\xba\x5d\xe0\x75\x1c\x4e\x67\xc0\xe3\xb8\xb3\x07\x34\xf0\xd9\x2e\x36\x9c\x6b\x8b\x04\x72\x2d\x35\x17\xd8\x78\x3e\xa7\xe4\x32\x94\x66\xc9\xef\x97\xf6\xf4\xdb\x58\x73\xa3\xfb\xd6\xc4\x03\x43\xfc\x7b\x89\xcb\x98\xa4\x54\x11\x26\x2f\x85\xa7\x04\xe9\xf5\xef\xf7\xed\x25\x36\xd3\x1d\x75\x4e\xf6\x00\x9c\x8a\x9b\x6b\x6b\x42\x52\xcb\x2e\xc0\xd4\x72\x01\x45\x55\x72\x6e\x7d\x5d\xd3\x5e\x05\xa5\xba\x19\x20\x58\x2b\x1f\x1a\xfd\x1f\x79\xb7\x97\xa5\xf8\xbc\xd9\x61\xd4\x98\x2f\x67\x15\xe6\xf0\x5a\xaf\xa6\xf2\x7f\x97\xa4\x6a\xde\xc8\x18\x9d\x93\x2b\xb9\x57\x41\x7b\x4c\x42\x27\x2c\x27\xaf\x5f\x1d\xd9\x21\x1c\xc5\x84\x6d\x98\xdc\x79\xce\x09\xb3\x67\x49\x4a\xb2\x37\xef\x52\x9a\xa1\xe7\x4c\xcc\x0a\x3a\x8d\xce\xd8\x92\xe6\x2a\x17\x81\xb5\x10\x4c\xae\x49\xf6\x7e\xb4\xa4\xc5\xbf\x63\xd1\xe3\x28\xe8\xea\xb1\xac\xfa\xf9\x20\x73\x7c\x9b\x50\x45\xce\x48\x45\xe8\x84\xa0\x71\xfd\x37\x47\x29\x83\x7a\xc4\xd6\xb3\x9a\x21\xd7\xa8\x72\x8b\xda\x9e\x20\x89\x29\xdf\x45\x11\x9e\x54\x8c\xf3\x08\xed\x12\xb7\x84\x39\xc9\x6f\xdc\xa3\x6a\x84\xe4\x71\xec\x35\xc9\x00\x6a\xe2\x83\x5d\xd3\x34\xfa\x93\xc3\x9c\x1a\xb7\x2f\x9c\xbc\xf2\x73\x4a\xf5\xe1\x7a\x71\xa4\x80\x6c\x6a\x07\xb6\xed\xfd\x9b\x5a\x97\x40\xd2\x52\x9b\x43\xb7\x13\x63\x5f\x1b\xc8\x75\x1d\xe6\xb5\x5d\x67\x9a\xb3\x89\xf3\x19\xb8\x88\xc7\x6c\x22\xc9\x81\x10\x78\x32\x03\x35\x6d\xa3\xfc\xa7\x02\x92\x75\x0a\x3c\x6d\x96\x40\x72\xa2\x54\xbf\x90\x37\x0b\x8d\x7e\x3f\x49\x79\xc9\xdc\xa6\xf2\x27\x4a\x56\x5b\x64\x64\x26\x9a\xd5\x7f\x6a\x57\xac\x74\x7f\xdb\xfd\xe8\x84\xc7\xc9\xd9\xe4\xe3\x47\x32\x12\x78\x2a\xff\xa3\xc7\x96\x7f\xd6\x0b\x48\x0e\x45\xc3\xe1\x4f\xb9\x12\x81\xaf\x6d\x88\x43\x14\x2e\xac\xea\xe0\xe4\xe3\x26\x0c\xf7\xe6\x6c\x69\xf9\x26\xb6\xb7\xde\x38\xa6\x69\xd9\xee\x1b\x27\x42\x94\x03\x1e\x80\xf7\xc7\x71\x57\xd9\xbe\x0f\x0a\xc3\xd0\x35\xcc\xe9\x1e\x2e\x2a\x78\x61\xbd\x27\xae\x16\x64\x8f\xe4\x85\x60\x9f\x57\x1f\x9a\x63\x81\xd7\xa4\xc3\x73\x90\x03\x16\xd8\xf5\xb0\x98\x13\x81\x47\x15\xbe\xfc\x91\xe5\x57\x7e\xa4\xab\x82\x3f\x2e\x2a\x71\xd5\x8e\x5a\x10\x75\xb5\xde\xf6\xd2\x26\xc9\x81\xc0\xff\xaa\x19\x7f\xd5\x3d\x44\x53\x0a\xfe\xa8\x29\xa3\x2a\x4d\x52\xaf\x9f\xe7\x42\x79\x20\xb8\xac\x92\x9c\x46\x1d\x3b\x4a\xb9\x9c\x40\x56\x13\x0d\x67\x7a\x82\x69\x73\x76\x7e\x92\x61\x35\xb6\xe4\x3d\x52\x7a\x73\x00\x50\x11\x4f\x3f\xb3\x4a\x7c\xf0\x5c\x4f\x31\x37\x30\xba\x57\xd0\xb2\xf0\x0d\x33\x36\x0f\xf6\xff\x87\x05\x66\x3c\x5d\x72\x88\x0a\x32\x67\x4b\x4e\x44\x85\x17\x3a\x14\xd3\x8c\x5d\x3e\x2d\xe8\xb9\x7a\x68\xd9\x3e\x18\x12\xb5\x50\x02\x94\x4d\x9d\x3c\xc3\xfc\x31\xe1\x93\xb5\xf5\xc9\x87\x09\xa9\x16\x02\x32\x1a\x4f\xc9\x51\x20\x2d\x1a\x98\x83\xb5\x43\x7e\xc8\xef\xe6\x04\xdc\xe0\x1d\x0a\xac\x47\x45\xbe\x4a\xd2\x45\x45\x24\x1d\x56\x11\xa5\x5e\xaa\x1f\x08\x06\x82\x8c\xb8\x43\x2e\xfb\xc0\xf8\x4d\xb6\x4f\xf7\x72\xb8\x1b\x62\x7c\x5a\x7a\x9e\x45\x86\x5a\x31\xd8\xfc\xe4\x53\x62\xde\xa2\x7f\xbc\x3a\xca\x6d\x0a\x8c\xd0\xae\x68\xb3\x79\xf5\xb6\xd8\xb8\xf4\xe6\xe4\x91\x8a\x22\xbb\x2c\x4b\x08\x81\x1e\xd3\x8c\x92\xcb\xe8\x99\x29\x86\x94\x61\x74\x74\x5a\x80\x59\x33\x9f\x04\x1d\x88\xac\x53\x86\x41\x47\xe9\xf6\xc1\xca\x36\x7b\x83\x26\xa2\x2a\x77\xe5\x05\x99\xb0\xf9\x1c\xd3\x7c\xd7\xbb\xd4\x81\x7e\x0c\x32\x51\xfd\x38\x86\x82\x76\xd6\x92\x69\xab\x85\xa6\x26\x28\xa8\xc8\xd8\x4a\x70\x0a\xa8\xd4\x65\xe5\x64\xa4\x0c\xdf\xfb\xa2\x2d\x7f\x92\x54\x0b\x2d\xbe\xbb\x79\x14\x4c\xe8\x2c\xf9\x60\x1d\x30\x5a\xd2\x7a\xf3\xe5\x7d\xd7\xbf\xc3\xbb\xda\xe0\x00\x9a\x04\x41\xe9\xfb\x1c\x71\x42\x22\x02\xb0\x80\xb0\xce\x8b\xde\x3e\xea\x14\xd2\x61\x1b\x81\x7e\xe3\x81\xc4\x27\x54\x96\x3c\x84\x07\x58\x85\x49\x5d\x73\xab\x34\x55\x55\x4f\xe2\x72\x93\x24\xd1\x8c\x93\x9d\x1d\x11\x27\x49\xeb\x35\x38\x2f\xf8\x04\x57\xb9\x7a\x0b\x6e\xa1\x0b\xe5\x18\x59\x3f\x10\x6f\xc1\x5b\x77\x07\x71\x85\x20\xef\xaa\xbb\xf0\x03\xb4\xcd\x9f\xbf\x7e\x4c\x9f\x6e\xfa\x14\x5c\xa3\xab\xbe\x3d\x70\xd0\x5b\x33\xf7\x4e\xb3\x38\xb5\xe8\x4f\x0a\x5c\x87\xe8\x49\x5e\x88\x08\x32\x1b\xd4\x88\xd1\x77\xe5\xb0\x5f\xeb\x60\xe3\x35\x41\x08\xb2\x44\x1e\xcd\xb0\x89\xef\x94\xcd\x8c\xfc\x3e\x0e\xc9\x86\x9d\xad\x0f\xfc\xe9\xd4\xdd\x0c\x4d\x37\x1a\x20\xd5\x5f\x9e\xdd\x21\x1c\xf9\x53\x15\x4f\x16\x00\x07\xe9\x4b\xab\xbf\x1d\xe3\x0b\x82\x52\x43\xa4\x3f\x3d\x11\x5e\x47\xa3\x2c\x35\xb8\x19\x1d\x68\x34\xbf\x35\x3d\x70\x95\x65\x53\xb2\xa7\xd7\x3d\xe8\xa5\x47\xf1\x0f\x66\xe1\xc3\x9b\x08\x2f\x97\xfe\x10\x92\xd2\x39\xe6\xe0\x2e\x3c\x4c\xfe\x49\x71\x23\xfa\xb4\x68\x10\xf5\x61\xbc\x30\x89\x6a\x52\xa8\xa4\x38\x8b\x3b\x68\x94\xe5\xb5\x92\x8e\x33\xeb\x8f\x71\x01\xeb\x8d\xbc\x90\x5d\x33\xcc\x9f\x98\xe3\xda\xd9\xe9\x1a\xd6\x9e\x68\x6b\xe0\xfa\xac\x07\x0c\x3d\x84\x4a\xd6\xec\xe4\xa6\x18\xf0\xcb\x96\xa7\x26\x2c\xef\x14\xfc\xbf\x90\xb4\xd0\x46\x8e\x87\x17\x99\x29\x91\x92\xb0\x14\x20\xe4\xcc\x8f\xaf\xa8\xc0\x1f\x94\xe4\x24\x7f\x3f\x81\x35\xa8\xdf\x6a\x3d\x1b\x08\x36\xb2\x83\x75\x82\x0d\x87\x01\x6f\xd8\xa9\x6a\xdc\xd9\xf7\x4d\x5d\xf7\xa1\x57\x1d\xdc\x3c\x7b\xf3\x6e\xab\xe3\x95\xc6\x57\x75\xd8\x30\x48\xe8\x87\x7b\x8b\x8a\x3c\x50\xde\x82\x34\x8b\x49\x46\x6c\xd9\xd7\x3f\x2c\x2a\x12\x81\x8d\x7e\xa6\x56\x32\x2f\x24\x49\x8b\x26\xf3\x3d\xbe\xc7\x59\x89\xc1\xd3\x55\xfd\xcc\x71\x75\x8e\xa2\x1c\x0b\xbc\x57\x62\x3a\xcd\xd0\xd7\xb2\xcb\xc4\xc6\x15\xfa\x1a\x3d\xf8\x3a\x49\x79\x76\x3d\x67\xb9\xb6\x1b\x9e\x17\x1f\x48\x8e\x54\x68\x4e\xf4\xcb\xc9\xb3\xa7\x68\xf5\xfd\xde\xc1\x76\x96\x51\xf0\xa7\x27\x60\x8a\x0b\xd1\x55\xe2\x7d\x48\xc2\xe5\x7d\xa2\xbb\xf7\x93\xa6\x28\xa8\xd4\x24\xc4\x84\x47\x7a\xf3\xce\x64\x69\x7f\x6f\xe2\x94\x3e\x62\x39\x79\x06\xab\x90\xe8\x92\x1c\xd1\x33\x66\xa2\x96\xa6\xcd\xc7\x61\xaa\x27\x0b\x91\x7f\x88\x9a\xa7\x8a\xa9\xbe\xda\x62\xae\x0b\x31\xd5\xd1\x81\x88\x8a\x05\x60\xf2\xac\x59\x08\x95\xb2\x92\x1f\x94\xde\x3d\x34\x08\x26\x60\x24\x40\x57\x74\xb4\xcd\x93\xc4\x8d\x39\xec\xf6\xcb\x6c\x2c\x93\x39\xa4\xcb\x72\xf6\x35\x59\x63\x3b\xad\xe0\xc4\xd9\x8f\xb3\x8a\xcd\x25\xd3\xfa\xb0\x22\x38\xee\x12\x76\xeb\xf9\x99\x0b\x26\xe5\xda\x6b\x31\x23\xca\x29\x45\x28\x03\x82\xb4\x2c\x28\x79\xbe\x04\x07\xfc\xf1\xf6\x3e\xfc\xfc\xb5\xc2\x8b\x05\x98\x2a\xee\xa7\x12\x2a\xa8\x78\x2d\x41\xfe\xdb\x54\xe0\xd3\xe3\xe2\x77\x32\xfe\x36\x55\x28\x02\x12\x04\xe2\xe9\xe3\x8a\x2d\xc6\x92\xdd\xd8\x72\x26\xa9\xf9\x15\x0e\xd1\xe4\x32\x67\x39\x35\x8b\x23\xaa\x62\x3a\x25\x55\x6c\x98\x9c\x64\x15\x70\x43\xa8\xf7\x36\x9c\xc2\xc5\x05\x14\xbc\x14\xec\x29\xc3\xb9\xe4\xdb\x25\xc2\x83\xa3\xd6\xd6\x1f\xea\x0c\xcd\xf6\xeb\x22\xcf\x6b\xdb\xe2\x25\x15\x4c\xbf\x5f\xa2\x6d\x27\x7e\xb0\xad\x83\xa2\xa9\x60\xf6\xc4\x92\x54\x64\x80\xf9\xc2\x63\xcb\xa2\xa4\x33\xd3\xd4\x94\x88\x97\xaf\x9e\xb4\x75\xa5\xb7\x44\x01\xbb\xa1\x2d\x87\x3d\x42\xc9\xae\xc4\x08\xbb\xe1\xa5\x42\x6c\x34\x36\x89\xe1\x8f\x7f\x4a\xa0\x88\x93\x5d\x83\xaa\x7c\x0d\x3b\x74\xa9\xac\xbe\xfb\x33\x92\xb9\x3b\xd9\x75\xb8\x24\x15\xfa\x70\x49\xfb\x70\x4d\x51\xbd\xbf\x86\xe1\x6b\x38\x53\xba\x17\x54\x1e\xf9\x10\x4d\xb4\xe5\x1d\x3f\x7e\xdc\x3e\xf0\x82\x90\x87\xf7\xa5\xe0\x8f\x4a\x82\x69\xfc\x79\x35\xd4\x5d\x0a\xe9\x97\xaf\x9e\xc4\x89\x0d\x45\x5b\x2b\xb0\xf5\x07\xf0\x5d\x33\x59\x7a\x6a\x65\xfd\x9d\x68\xaf\x6b\x0e\xe6\x0f\xe1\xb4\xe4\xf0\x01\x96\xc4\xa5\x6f\xc3\x72\x33\x1b\xfe\xb7\x97\xe2\x6f\x77\x28\x81\x76\x76\x42\x25\xda\x8e\x2c\x7c\xbc\x9a\xb7\xef\xe6\x06\xee\x92\x0d\x48\x69\x46\x7c\x4e\xa0\x26\xf4\xe1\x7b\xd3\x24\xfe\xcd\xfb\xa5\x29\x7d\x93\x1f\x48\xd2\x4f\x45\xf0\x2d\x81\x17\x6d\x12\xd2\x49\xf2\x57\xfd\x24\xf8\xd3\x9e\xb9\xc8\x94\xb2\x3e\xc8\x70\xee\xa2\xbd\x89\x22\x59\x9b\xb3\x00\x9f\x96\xde\xa7\x15\xc1\xf9\x0b\x5a\x5e\xa9\x2b\x48\x07\x93\x6d\xda\x47\xb6\x49\x4a\xbb\x31\x3b\xed\x27\xdb\x44\x9e\xe3\x2d\x35\xd1\x81\x94\x4e\x1b\x53\xf6\xae\xf9\x41\xd9\x70\x8c\x79\x56\xb2\xcb\xc9\x0c\x57\xe2\x0f\x7b\xf1\x5d\xeb\x8b\x0b\x83\x0f\x49\xd1\xef\x08\x87\x97\xb8\x10\xd6\x11\x06\x4f\x2b\x3c\x57\xef\x4c\xf0\xe7\xff\x7b\xf6\x54\xfe\x12\xe6\xf9\x49\xc2\xd8\xd5\x09\x83\x10\xe2\x52\xb0\x54\x4a\xd7\x1f\x97\x42\x48\x7a\x09\xc0\xe1\xbc\x5c\xc9\x1d\x7b\x84\xcb\xf2\x14\x4f\xce\x6f\x28\x5d\xda\x4d\x5f\x27\x62\xde\xd1\xc3\x98\xde\x8d\x66\x08\x08\xbd\x1d\x3d\x2f\xe8\x4e\x65\xb1\xfe\x61\x6d\x8d\x74\x31\xec\x7d\x6d\xb3\x2c\x51\xca\xe7\x52\xc1\x7e\x7c\x77\x1e\x85\x82\xe0\x2a\x67\x97\xd4\x76\x9c\x3a\xe3\x74\xda\xd4\xb8\x14\x04\x8c\xb3\x06\xfb\x5e\x26\x13\x46\x39\x2b\xc9\xa8\x64\xd3\x18\xe5\x15\xbe\x1c\x15\x2c\xb2\xd7\x35\xca\xeb\x1e\xac\x82\x6c\x1f\x5c\xa0\x25\x71\xb5\x71\x81\x15\xd9\xea\x44\xd5\x6d\x51\x8d\xbb\x4e\xd0\xaa\xb3\xc4\x84\x45\xd3\x7e\x95\x3a\x38\x5a\x41\x0b\x81\xc6\xd4\xd8\xd2\xfc\xaa\xac\x90\x17\x8c\x0b\x13\xa5\x18\x7a\x52\xe4\xb7\x38\xbb\x8a\xaf\x15\x5f\x3e\x46\x25\xc3\x39\x4a\x25\xfe\x95\x52\xda\xf8\x20\xfd\x30\x2f\x17\x74\x6a\x62\xee\x19\x20\x94\x08\x0b\xfd\x05\xf9\x11\xbd\xf0\x05\x41\x63\xe1\x41\xeb\xff\x7b\xf6\x14\xa5\x7c\xf4\x61\x2e\x31\xe0\xa8\xa0\x17\xec\x9c\x3c\x01\x5c\x15\x7b\x6d\xcd\x80\x3d\xed\xdd\xea\x30\xcb\xb1\xf3\x81\x7c\x90\x0b\x56\x3a\x6f\xc5\x8e\xba\xec\xf3\x96\x57\x53\x8e\xde\x1c\x47\x0e\x02\xfb\x99\x5a\xc3\x21\x8b\x65\xd4\xbb\x8c\x0a\x08\x1c\x3c\x79\xca\x22\xd8\xfc\x48\x1b\x9e\x6c\x69\xab\x6f\x9c\xe7\x4f\x2e\x20\xce\x2d\x17\x84\x4a\xb1\xd6\xc6\x6a\xf1\x64\x11\x17\x47\x01\xc9\x4a\x7d\x88\x1e\xb7\x0d\xca\x95\x18\xd8\xd5\xbb\x63\xa9\xe4\x76\x2d\x2f\xbe\x7b\x04\x0d\x7e\x26\xa0\xab\x75\x4e\x21\xd1\x7a\xf0\xe0\xee\x28\x65\xec\x46\x8a\x87\x1b\xc0\xa6\x3e\xba\xf4\x8c\x55\x73\x2c\xc6\x48\x81\x26\x92\x20\x3a\x0e\xcf\x39\xe5\x8b\x82\x8e\xd1\xeb\x45\x8e\x01\xa5\x6a\xa8\x5d\xad\xd2\xa9\x22\x20\x0a\x7d\xb1\x53\x49\x9f\xe4\x16\x7a\x0b\x0b\xb0\x7b\xd3\xe6\xea\x93\xc0\x1b\xa3\x92\xc1\x9a\x1a\xbc\x86\x58\x66\x6f\xd2\x96\xdd\x77\x6d\x42\xd0\x8d\xdf\x49\x43\x86\xa3\x16\x5c\x5b\xf8\xde\xa0\xfa\x5e\xba\xd2\x52\x9c\x2b\xab\xcd\xcd\x0c\xb1\x1c\xf1\x37\xb0\x3a\xcf\x30\xcb\x5f\x4f\x8f\xf8\xdb\xc4\xe8\xe9\x46\x42\x71\x68\xc9\xfb\x21\xea\xa8\xbf\xf9\x68\x69\x03\x01\xb6\xc1\x8e\x7d\xd9\xef\x05\x53\x32\x2f\x68\x31\xfc\xc5\xc0\x70\x6a\x43\xdf\x12\x3e\xa3\x05\x96\xe1\x32\x7b\xfd\xb0\xd7\x71\x9a\x5e\x30\x09\xf9\xe1\x86\x5a\xfc\x25\x27\x55\x76\xbd\x52\x3f\x2e\x59\x75\x0e\x01\x18\xea\xb0\x28\xe0\xbc\x31\xcd\xae\x57\xbd\x21\x7a\x15\x12\xb9\x5e\x6d\x89\xea\xea\x5a\xb8\x84\xbe\x71\x7d\x26\x3a\x24\x4a\xb2\x9a\x60\x1d\x0f\x75\xe5\x44\xcf\x96\x02\x48\x76\xfd\xf0\xe5\xd1\x3f\x08\x28\x36\x94\xa9\xea\xf8\x7a\x95\x16\x82\xcc\x1f\xa9\x98\xb8\x29\x44\x16\x41\x90\x48\xf0\x28\x97\xbf\x39\xa9\xa8\x4e\xb6\x6b\x97\x00\x25\xf6\x97\xce\xc5\xeb\x87\xb5\x54\x73\x49\x85\x1b\x2d\xc6\xd8\x42\xb6\xef\x9e\xb6\xde\x75\xcf\x0e\x25\xda\xee\xb5\x85\x3e\x65\xc5\x8a\x48\xc8\x74\x05\x2f\xbd\xf6\x76\x9e\xa6\xd6\xa0\x07\x75\xd2\x6e\x68\x35\x52\x7b\x82\x52\x31\xc2\x8b\xe2\x9c\x5c\x35\xcb\x97\x55\x29\x0b\x97\x55\xd9\x2a\xd1\xbb\x03\xc5\xfa\xef\xc4\xf6\xe3\x64\x47\x80\xd6\xfe\x6f\x5d\xdd\xf9\x48\xf4\xc3\x3c\xc4\xf9\x76\xbd\xc5\x3a\x57\x31\x6d\xcc\x45\xd2\xcf\x40\x4f\x4a\x17\xfc\xab\x85\xc0\x5e\x3b\x18\x97\x46\x6d\xf5\x21\xcc\xde\x43\x4b\x91\x85\x8f\x81\xe7\xa4\x98\x5e\x7f\x4d\x0e\xc4\xa1\x64\x4b\x38\x7b\xb5\x9f\x29\x45\x13\xcd\xc4\x9b\xfd\x77\xa3\xa3\xbc\x79\x34\x6e\x53\x78\x67\xd2\xcb\xb0\x9b\x60\x75\x99\x25\x99\xd4\x7b\x13\xd3\xcd\x24\x17\xcd\x75\xa9\x48\x68\x27\x2c\xde\xb7\x51\xd1\x47\xa7\x2c\xbf\xd2\x05\xbf\x90\x62\x3a\x83\xe1\x5a\xd6\x70\xf5\xcc\x9c\xa3\x0d\x9f\xbd\x33\xf5\x37\xef\xc2\xed\xd4\x49\x1f\x09\x32\xff\x3c\x87\x2c\x51\xc7\xf0\x8b\x18\x92\xa3\x9a\x5f\x4d\xd8\x00\xbd\x3a\x33\x40\xf3\x78\x2d\xce\x92\x57\x4f\xcb\x4d\xa1\x1d\x69\x6d\xe5\xcd\xe7\xd0\xb1\xe7\xb0\xe9\x0d\x28\x1a\x92\xa3\xce\x39\xce\x24\x94\xe2\x8a\xba\xce\x65\x34\x75\x02\x0a\xd3\xd1\x51\x9e\x65\x19\xd8\x92\xab\xbf\xea\x5c\xc2\x7a\x7b\xb4\x1f\x42\x4a\x47\x2a\x8a\x70\xef\xed\x68\x6d\xae\x87\xda\x65\x27\x60\x4f\xd8\x08\x80\xee\x82\x23\xad\xa1\x05\x60\x2f\xde\xd4\x66\xdf\xb2\x8a\x2b\xa0\xbe\xeb\xe5\x0f\x07\x35\x7b\x96\x22\x8a\x97\xd9\x83\xef\x43\x4d\x54\x7a\xba\x37\xf8\x3d\x38\x86\x2d\xbc\xfd\x40\x9a\x04\x85\x86\x51\xb4\x64\x13\xab\x97\x36\xed\x0a\x6e\x9b\xf6\x51\x69\x93\x6d\x97\xac\x75\xef\x48\x77\x73\x4b\x4f\xbb\x56\x69\x9a\x86\x52\xe2\xdb\xe9\xa9\xc7\x04\x51\xe7\x30\xba\x57\x5f\xf5\xbd\x83\xc6\xe3\xb9\x4b\xa7\xdd\x37\x06\xa7\x41\x3b\x6e\x9d\xf7\x24\x76\x63\x2c\x48\x52\x45\x66\x87\x21\x41\xfd\xd8\xe6\xc7\x2b\x83\x81\x74\xc9\x52\xc5\x0e\xb6\xbf\x7d\xea\x9e\x8a\xd1\x8f\x98\x93\x27\x54\x14\xe2\x6a\x54\xe4\xb6\x9a\xc7\x18\xc0\xa3\x5c\x4d\xee\xe3\x06\x12\xec\x98\xc3\x41\x63\x0e\x4a\x3b\x1d\x9e\xc6\x7e\x70\x60\x9d\xbc\xcd\x8e\x1c\x78\xc1\xed\x7f\x67\xf5\x49\xb1\xf8\xc2\x3c\x75\x1a\xda\x07\x07\x7b\x01\x81\x48\x92\xc6\x6e\xf5\xb4\xb0\x10\x62\x9b\x48\xa9\xa6\xa2\xb8\x3c\x66\xcb\x4a\x07\x63\x5b\xf7\x94\xba\xb5\xa9\x70\xf7\x85\x8b\xa1\x85\x98\x2d\x4f\x87\x8b\xa1\x3d\x49\xe8\x8d\x84\xf7\x39\xe4\xd0\x5a\xfa\x24\x77\x21\x87\x1a\xf3\xe4\x96\x10\xca\x2e\xa9\x4d\xee\x7e\x43\x81\x74\x13\x81\x53\xb4\x23\x02\xc8\x8b\xf3\x7d\xec\xe5\x1c\x6c\xa1\xee\x49\x59\x68\xb7\x64\xe5\xfe\xd0\x57\x55\x6b\x1f\x5f\x2b\x1a\x2e\x85\xa2\x35\x78\xd6\x5c\xab\xeb\x55\x13\xb3\x52\x1b\xf9\x63\xb5\xc5\xb3\x6b\x33\x8b\x31\x35\x13\x7a\x9c\x3a\xc3\x8d\x55\xc0\x48\x56\x15\xbf\x43\xf0\x0d\xa3\x07\x7d\xfd\xea\xa9\xda\x66\xb5\xcb\xf0\xe7\x7b\x23\xfd\x96\x05\x87\x34\x7c\xe9\x69\x85\xe9\x64\x76\x5c\xd0\x09\x7c\x57\x3f\x9f\x16\x94\xf0\x31\x3a\xd8\xdf\xb7\xc2\x33\x42\xc6\x0d\xcb\xf0\x97\x90\x4f\x7d\xc6\x2e\x9f\x15\x25\xe1\x82\xc9\x16\x3a\x30\xfd\x11\xe7\xcb\xfa\xd7\x23\x36\x9f\x17\x82\x4b\x00\x04\xa9\x5f\x19\xbe\xb9\x92\x7f\x48\xec\xdf\xe2\x23\x98\x71\xc6\xd4\x7f\x53\x3e\x82\x39\x67\x4c\xfd\x37\xe5\x23\x67\xea\x19\x73\x7f\xa5\x5c\xa3\xf6\x8c\xe9\x3f\x52\x3e\x52\xb3\xcf\x98\xfe\x23\x55\xb9\x0a\xeb\xc9\x67\xac\xf1\x41\xd7\x50\x8b\xd1\xa5\xea\x87\x2e\xd1\x0b\xd3\x45\xfa\x97\xa3\xae\x78\x3f\x2a\xf8\xeb\x3a\xa1\xa5\x5b\x2b\xd9\xd9\xf1\x3f\x40\xee\x74\xe1\xe3\x5b\xde\xf8\xa2\x67\x8e\x52\xe7\x04\x14\x1f\x50\x64\xcd\x00\x2c\xca\x79\x78\x4b\xb2\x69\x59\x51\x1b\x4f\x1c\x82\x85\x00\x81\x4c\x79\x08\x05\xb2\xaa\x16\xca\x98\xd9\x3e\xf5\x3a\xbf\x15\xb3\x27\x3f\x40\xee\x9e\x42\x01\x29\x76\xbb\xdf\x99\xc8\xee\xa1\xeb\xad\xb5\xf0\xcf\xf1\x05\x39\x06\xe5\x07\x4a\xaf\x05\x3b\x27\x74\x8c\x5b\x57\x41\xbd\xa6\x19\xe9\xff\x58\xe0\x29\xb9\xef\x69\x13\x48\x72\xed\x3e\x56\x68\xa3\x37\x4f\x5d\x00\x0c\xab\x01\x89\x3a\xeb\x90\x89\xb6\x1a\x8c\xba\x0a\xb5\xc1\x13\x67\x67\x27\xf6\x5e\x43\x14\x62\x8f\x64\xed\xe8\xb2\x62\x74\x1a\xc9\xaa\xd1\xd1\xe3\x34\x52\x6f\x54\x20\x6f\x35\x4e\xae\x66\x78\x36\x19\x3a\x49\xd2\xf5\x58\x64\x46\x26\xe7\x0f\x15\xcb\xd6\xcf\xaf\xdd\xc5\x56\x7a\xe4\xd5\xad\x2c\x8c\xb4\x0e\xd9\xc0\x9e\x02\x76\x09\xba\x02\x81\xa9\x3e\xf0\x03\x4d\x76\x59\x91\x84\xc6\x8b\x82\xde\x3f\xa6\x72\x8c\x59\x2f\x44\xd2\xc4\xc7\x24\x39\x14\x8e\xaf\x3d\xe8\x51\xda\xbc\x3c\x33\x29\x25\x5d\x1f\x79\xbf\x4c\x78\xa9\xf7\x88\xe4\x4a\x5d\xa1\x80\xd5\x49\x29\xf5\x1c\x5f\x54\xd3\x57\x64\xc1\x38\xac\x39\x86\x2b\x15\x22\x13\x92\xc8\x3d\xc6\x82\x9c\x14\x73\xf2\xb2\x98\x9c\x43\xaa\xaa\x3a\xef\xc2\x28\xc7\x82\x88\x62\x4e\x16\x50\x26\x07\x7b\xca\x26\xb8\x24\x31\x22\xd4\x73\x35\x51\x78\x6e\x8f\x4b\x44\x87\x92\x46\xbb\xd8\xcf\x52\xda\x1a\x32\x45\x90\x75\x21\xd1\x67\xe5\x4e\x7d\xf8\x71\x05\x08\xe9\xd6\x10\xc1\x82\x55\xd3\x4a\x0e\xb7\x16\x52\xad\xad\x93\x13\xb5\xa0\x23\xa9\x1a\x75\x8d\x9c\x55\x75\xcd\x14\x4d\x2a\x82\x85\x64\xbb\x9d\x88\xd6\x1e\x4c\x01\x19\xa9\x3d\x61\x6c\x92\xb4\x37\xef\x24\x1b\x5b\x87\x30\x51\xf4\x6a\xbb\x2b\x73\x37\xb0\xe4\x29\xcd\xb6\x0f\xda\xf6\x3e\x2a\x89\x71\xc6\xfd\x74\x8e\x0a\xa6\xc2\x36\xbd\x34\x33\x4a\x3c\x92\xa7\x2c\x83\x27\x2c\xfb\x21\xa3\xab\x24\x65\xb2\xd6\x9b\xfd\x77\xf5\xd7\xed\xfd\x64\xe5\xa3\x1b\xb5\x34\xe7\xdd\x4c\x1f\xe3\x41\xe3\xba\x37\x4b\x4d\xf5\x80\x30\xe5\x63\x86\xd5\x2d\x55\x22\x0a\xfb\x74\x59\x63\xdc\x05\xea\xec\x5a\xca\x7e\x73\x4f\xf6\xbb\x44\xe9\xf5\x14\x4c\x63\xac\x01\xe0\xdc\xb5\xd1\xa6\x07\xa2\x31\x7d\x8d\x3d\xe3\xbb\x39\x2a\xf4\x1a\xe2\xc6\x47\x82\x45\x30\xed\xc8\x62\xd9\xc0\x81\x36\x74\x55\x01\x2c\xe0\x60\x97\xf6\xc0\x1a\x45\xd8\x50\xee\x8a\x52\x42\xf8\xf6\x92\x4d\x0b\x7a\x8f\xc9\x36\xf7\x0c\xb3\x4a\x0e\x15\x37\xfb\xbe\xc8\xb3\x86\x43\xba\xcf\x7b\xef\xa2\x1d\x3e\x61\x0b\x92\x49\xec\xb1\x53\x91\xbc\xa8\xc8\x44\xbc\x5f\x56\x45\x86\x76\x7b\x03\x21\x05\x79\x73\xd9\x9d\xc0\x82\x84\x1b\x87\x22\xd9\x25\x5b\xc1\xf8\x76\x42\x0a\xe9\x70\x62\x1b\xab\x06\xda\x64\x27\x50\xa4\x6f\xb1\xc4\x47\x96\xd8\x78\xf0\xc1\xe8\xb1\x5c\x48\xef\xe8\xba\x2f\x58\xb1\xb2\xf5\xbe\xb5\x12\xa2\x8b\x3a\x04\xd4\xc2\x5a\x3f\xc1\x3b\xed\xb4\x6b\xfd\x04\x6f\xe8\x27\x20\xf1\xf9\xe6\x0a\x08\xde\xa9\x80\x58\xaf\xfc\xa2\x20\x94\x89\x46\x86\xdc\x1e\xfd\x57\x73\xce\xcd\x09\xd6\xb6\x0c\xf5\xbd\x85\x70\x3f\x15\x1f\x99\xad\x8d\x69\xca\xc3\x4f\x24\xeb\xda\x6c\xf2\x84\xef\xaa\x23\xbe\x6c\xc5\xc9\x6f\x45\x85\xff\xf3\x7a\xdf\xfd\x7a\x0f\x12\xe8\xcf\x55\x01\x22\xb9\xfa\x25\x11\xc2\xad\x54\x29\xde\xdb\xbe\x7a\x6d\xb9\xd9\xc3\xfe\x30\x6b\x4a\x8d\x2d\xb4\x15\x00\xb9\xa9\x15\x00\x51\xdc\xd5\xf5\x6f\xff\x86\x57\x7e\xe7\xe1\x3f\xf8\x7a\x4f\xc2\x46\x42\x37\x7b\xb5\x1f\xaa\x24\xaf\x29\x77\x37\x23\xe2\x1b\x2c\x8d\xa6\x84\x92\x0a\x0b\xa2\x6d\x7b\x3b\x18\x81\x00\xdd\x0f\x74\xa7\x84\x32\xaf\xbf\xbe\x43\xbb\x93\xad\xd1\x96\xca\x4a\x55\xb2\xd9\x1e\xd5\xe0\xec\x66\xfa\xd8\x60\xe7\x3a\xe7\x79\x42\x3e\x08\xa3\x68\x6a\x4c\x54\xde\xa5\x0d\x78\xb8\xfa\x02\x2a\x1b\xc6\x35\xe2\x73\xa3\x05\x6a\x88\xd1\x6b\x1a\xa9\xad\x00\x0e\x60\xd3\x63\xbf\x29\x7b\x1e\x8c\x2f\xa2\x6b\xb6\x00\xf3\xcf\xf1\xa0\x51\x6f\xe5\x9d\xbf\x6a\x84\x0d\x0c\x37\x74\x10\xab\x49\xde\x97\x4d\x9a\xe7\xb8\x3a\xcf\xd9\x25\xfd\xc3\xbc\x32\xca\x82\x9e\x77\xa6\x38\x73\x3c\xef\xe5\xdf\x06\x8a\x11\x02\x57\x88\x67\x2c\x97\xc3\xdc\xbd\x53\xbe\xd9\x94\x81\x11\xc7\x6e\xd2\xb3\x6e\x7a\x77\x7e\xf9\x5a\x52\x6b\xa9\x20\x9a\x97\xce\x0d\x47\xd9\xf0\xce\x57\x8f\xde\x63\x84\x1c\xca\x51\xfb\xb7\x8b\x21\x59\xb1\x54\xd8\xcb\xda\x9b\xe1\x16\x7e\xc7\xc2\x33\xbd\x86\xe8\x45\x37\xf4\x51\x4a\xa7\x44\x00\x18\xf5\xa1\xcb\x75\x8e\xc0\x7a\x77\x56\xa9\xbb\xc4\x4f\xed\xd9\xae\x2f\x0f\x4a\x55\xf8\x02\x03\x3d\x0d\xc7\xb7\x83\x5b\x39\xbe\x91\x0f\xa2\xc2\xff\x20\x57\x7c\x7c\xfd\x84\x0a\x52\x8d\x11\x25\x97\xb2\xc3\x87\x34\x3f\x82\x7e\x1e\x31\x2a\x0a\xba\x24\xcf\xf4\xf0\x80\x76\x57\x77\xe0\x21\xdf\xe9\xb0\x7e\xb7\xae\xf3\xf5\xbe\x05\xdd\xe7\x9d\x62\x3f\xf6\xce\x50\xee\xca\xc2\xa7\xeb\x35\x59\x03\xed\x66\xf6\x7a\xb5\x3f\x8f\xd3\x83\x68\x5c\x2c\x6d\x4b\xd3\xba\xa2\x23\x0d\xe9\xb1\x35\x26\xd1\x5a\x0e\xb3\xc4\x42\x28\x8c\x5b\x9c\x29\x47\x47\x6d\xee\x17\x7b\x2d\x9d\x7e\xad\x33\x9a\x8a\x89\xdc\x1d\xe1\xab\x79\x60\x25\xc4\xee\x1a\x9d\x2e\x8b\x32\x97\x95\x63\xe1\xc7\x2c\xeb\xb9\x73\xfa\xe9\x49\xa5\xb2\x57\x0c\x55\xba\xbd\xdf\xe3\xd0\xfe\x05\xbb\xae\x0f\x0e\xae\x6a\xf7\xfe\x0e\x78\x0f\x9f\xa6\x7f\xd9\xfc\xc7\x02\xcb\xd1\x2a\x5c\x94\xff\x5f\xb7\xab\xf8\x04\xf6\xfd\x56\xcc\xd7\xce\x22\x82\xcc\xf9\x67\xb7\xe6\x3f\x81\x67\x60\x84\xd2\x7f\x43\x44\x7c\x84\xd2\x39\xfe\x30\x3e\xd8\x4f\xa7\x15\x5b\x9a\x00\xb4\x57\x5c\x90\x39\xfc\xdd\x61\xa5\x6f\x3e\xba\xe6\xe7\x79\xc1\x17\x25\xbe\x52\x01\xef\x7a\x5e\x31\xef\xcc\xd2\x73\x80\xbb\x94\xd9\x95\xdb\x1a\xed\x09\xa3\x8f\x68\x45\x08\xe7\x03\x6c\xf4\xb4\x41\x30\x6f\x5a\xc7\x99\xe3\x40\x29\xfa\x8b\xfe\x1f\x4a\x4c\x88\x8c\xee\x99\x30\x13\x32\xa8\x35\x99\xda\x58\xcf\xd6\x11\x41\xcb\x3b\xfd\x5c\xa7\x87\x32\x95\x93\x94\x49\x50\x63\x99\x6b\x9f\x40\x46\x00\x19\xc9\xe1\x7b\x78\x63\xfb\x75\x46\x2a\x12\x73\xf5\x91\xa7\xd7\x05\x98\xab\xc8\x1f\xc0\x29\x8f\x4d\xc9\x9b\xfd\x77\xed\x07\x38\x66\x73\xfe\xc9\x19\x91\x14\x41\x5d\x94\xb2\x4d\x2d\x0e\x1b\xe6\x8b\x1d\x9b\x0a\x9b\xe9\x82\x65\x2c\x1a\x6f\x37\x53\x22\x22\xbd\xfa\x68\x82\xcb\x32\x3a\xc3\x45\x49\xf2\xf6\x4b\xfc\x67\x9b\x11\x58\x3d\x80\xad\x46\x64\x6d\x76\x15\xa9\xff\x19\xf6\x75\x50\x94\x1b\x0f\xe8\x03\xef\x04\x5b\x43\xdf\x4e\xf4\xf9\x88\x9b\x2b\xf6\x68\xe7\xcd\xa9\xb5\xfb\xde\xde\xf1\x86\x21\xbf\x7f\x0e\xe1\x16\x8d\x1d\x55\xfb\x75\x0c\x58\xec\x33\x6f\x98\x42\x9d\x7f\xd2\x1d\xbb\x33\x3e\xec\x96\x2f\x54\x21\xdb\xd6\x66\xf6\x5b\x7b\x66\x45\x76\xb0\xaf\xac\x56\x24\x62\x89\x81\x38\x1e\x51\x11\xb3\xd1\x1c\x7f\x00\x03\x90\x22\x6b\x7e\x74\x52\xe2\x30\x29\x70\x7c\x40\x69\x71\x07\x07\x36\xe8\x45\xab\xe9\xa8\xb2\xa5\x6c\xbc\x88\x67\x1a\xbc\x85\x95\x17\xbe\xc9\x6e\xf1\xa0\xd8\xd9\x89\xcd\xb7\xcc\x16\xf2\x52\x32\x30\xfb\x69\x91\xac\x7b\xc9\x63\x49\xfb\xfd\xaf\x51\x05\x27\x41\x7f\x95\x0d\x9e\xd3\x02\xd8\x31\xd4\x61\xcb\xaa\x69\x38\x2f\xdd\xe4\x4f\xbf\x70\x6e\xba\xc4\x54\x2c\xe7\x9d\xbc\xf4\xff\x96\x18\x2b\x2a\xc6\xbf\x8d\xb3\x62\x04\x75\xe0\x25\xd7\x44\x55\xd9\x58\x19\x68\xf6\xf4\xee\x95\x81\xb6\xe7\x75\xca\xc0\xdb\x3f\xf7\x28\x81\x3e\xb0\x33\x28\x45\x3f\xab\xde\x0b\x3a\x8d\x74\x8d\xd1\x68\x84\x1a\xef\xff\x2a\x5f\x4a\x3d\x3d\xe7\x20\x50\xb2\xda\xda\x2c\x96\x8a\x87\xdb\x54\x32\x1c\xc5\x6a\x06\x1f\x73\x50\x4a\xbb\xb1\x9a\x0f\x01\x48\x82\x28\xc4\xc2\xe8\x71\xaa\xed\xd8\x06\x1b\x02\x3d\x88\x69\x9a\xe3\x28\xad\xe3\x6d\x46\x01\x12\xf8\x59\xe2\xee\xa8\x98\xf0\x5d\x6a\x5f\x4b\x6f\x5a\x2f\x41\x77\x16\x4b\x41\x41\xc9\xcd\xe2\x29\x04\x79\x81\x8d\x9e\xb3\x06\x87\x59\xe8\xf7\xbf\x0a\x31\x12\xa1\x1c\x39\xee\x92\xdb\xc1\x09\xbb\x15\x3c\x1d\xc7\x59\xeb\xdc\x64\xed\x8b\xc2\x3f\x86\x8e\xb3\xfe\xfa\x2d\xfd\x3f\x5c\xe0\x4a\x62\x97\xb7\x14\x06\x8f\x24\x13\x51\x12\x11\x3d\x32\xc9\x41\xde\xd2\xb7\x34\xfe\x4b\x12\xed\xed\xbd\xfd\xf0\x0d\x89\xd0\xa3\xb2\x98\x9c\xeb\x5a\xa3\x19\xa6\x79\x49\x5e\x91\x7f\x2f\x09\x17\x71\x82\xde\x52\x53\x8d\x92\xcb\xe8\xa5\xdc\x18\xd9\xbe\x38\x8b\x90\xfc\x31\x92\x4c\xca\x64\x59\x15\xe2\xea\xd1\x8c\x4c\xce\x51\x24\x2f\xec\x5b\x1a\x45\x51\xb4\xf7\xe0\x8d\xa8\x96\xe4\x9d\xad\x79\x44\x0b\xd5\xa5\x2c\x55\xff\xca\x7e\x0a\xfe\x13\xab\x2e\x71\x95\x1f\x36\x5a\x53\x26\xdb\xaa\x84\xb4\xd1\x84\x51\x51\xb1\x92\xb7\x9a\x4f\xb4\x96\x3a\xaa\x53\xd7\x7a\x1d\x41\x67\xb0\x86\x37\x57\x84\xbf\x8b\xb2\x2c\x7b\xf5\xe4\xf9\xe3\x27\xaf\x8e\x9e\xff\x9c\x65\x99\xaa\x44\x4a\x4e\x5a\xd5\xe5\xf8\x50\xfb\xf1\xd1\xab\x27\x8f\x4e\xde\x3f\xfa\xe5\xc9\xa3\x7f\xd4\x4d\x68\x5e\x9c\xb9\x93\xa9\xfb\x58\x3f\x5c\xb3\xad\xda\x87\xe8\x25\xe3\xc2\xdf\x05\xa7\x27\xb3\x8d\xb2\x92\xdd\x46\x73\x3a\xba\x4c\xa1\xdd\x38\x41\x11\xe6\x91\xe2\x59\xbc\x7a\x3d\xcb\x69\xce\x5e\xed\xbe\xea\xf6\x67\xd2\x1a\xd1\xed\xdc\x5b\x4e\xab\xa3\x33\x5c\x72\xd2\xb5\x93\xba\xa9\x82\xa8\xc7\x2c\x32\x26\x81\x4d\x58\x50\x3b\x60\x4a\xa3\x4a\x01\x28\x6a\x2c\xee\xc7\x27\x3f\xbd\x78\xf5\xe4\xfd\xe3\x27\xc7\x27\xaf\x5e\xfc\x4b\x0d\x60\xa7\xa3\x47\x08\x02\x5b\x49\xce\x84\x1d\x45\xd7\xd8\x60\x90\xc6\x06\x56\xc5\x74\x26\x0c\x00\xab\x23\x89\x24\x4e\x89\x04\x99\x2f\x4a\x2c\xc8\xd0\x2e\xd5\xe6\xd8\x3d\x6a\x1c\xb6\x7e\x60\x73\x6e\x69\xfc\x97\xe4\x2d\xfd\x3f\x84\xe6\xcb\x79\xf9\x75\x37\x82\x37\x98\xe5\x58\x2e\x90\xba\x5e\xe1\x9d\x98\x05\x79\x98\x05\x4f\x04\xab\xa2\x1f\xd9\x69\xf4\x55\x45\xf2\xb7\xf4\xeb\xe8\x64\x46\x22\x46\xcb\xab\x28\x2f\xce\x74\x4a\xc7\xe8\x94\x88\x4b\x42\x68\x04\xb5\xdf\xd2\xaf\x31\xcd\xa3\x05\xae\x44\x31\x29\x16\x98\x8a\xa8\xe0\xf2\x08\xa2\xbc\xc2\x97\x05\x9d\xbe\xa5\x6e\xd9\x43\x29\x70\xf8\x9f\xde\xa2\xa3\x68\x86\x2f\x48\x84\xa3\x8a\xe0\xb2\xbc\x2a\x19\x9d\x46\x14\xcf\xc9\x5b\x00\xf7\xa7\xd1\x57\x7f\xff\xfb\x4f\x3f\xfd\xfd\xef\x6f\xe9\xbd\xaf\xa3\x7f\xb1\x65\x34\xc1\x34\xc2\x25\x67\x51\x4e\x26\x25\xae\xc8\x58\x6d\xab\xdb\xe9\x53\xd9\xb2\xd5\x73\xe4\x76\x5d\x77\x2b\x1b\x7f\x7d\x4f\x9e\x04\x4c\x6f\xef\xc1\x8f\xec\x74\x1c\x3d\xac\x85\x91\x82\xd1\x48\xe3\xce\xb7\xf4\x47\x76\xba\xf7\x00\x2a\x06\xea\xf0\x05\xa3\x12\x5e\xa0\xd2\xd3\x71\xf4\x94\x4d\x23\x51\x61\xca\x15\xf1\xb5\xa7\x88\xd6\x9f\xe2\x6b\x4e\x1e\x61\x3e\xe4\x10\x7d\xf2\x30\x7e\x86\x0b\x1a\x3d\xcc\xe7\x05\x1d\xcb\x5d\x80\xbf\xde\xd2\xf8\x35\x27\x70\x2e\x92\xf9\xd0\x13\x4e\x64\xb9\x2c\x48\xe4\xe2\x5f\x73\x52\x45\x7b\x0f\xa2\xf8\x58\xf6\x95\x98\x0f\x0a\x38\x6d\x2d\xe8\x2e\xda\x6b\x7e\xa6\x4c\x90\x08\x2e\x48\xc4\xce\xd4\x98\xd1\x38\x3a\x99\x15\x5c\xc2\x03\xa6\x11\xf9\x80\xe7\x8b\x92\x8c\xda\x95\x75\x1f\xf2\x14\x1e\x46\x50\x64\x0e\x58\x7d\x3c\x95\x20\x18\x71\x72\x41\x2a\x5c\x46\x65\x41\x09\x87\xcb\x03\x75\x6d\x77\x08\xc6\x82\x3f\x0b\x20\x2b\x14\x4c\xef\x23\xc1\x6c\x53\x06\x02\x12\x1f\x01\x58\x3d\xbf\xff\x96\xea\x95\x46\xa3\x11\xfc\x7c\x7e\x5f\xfe\xa5\xa7\xa3\x0f\xea\x2d\x1d\x70\xe1\xc0\x4d\x7e\xe3\xdb\x06\xc1\x70\xa3\x9f\x18\x3b\x88\xae\xd5\x4a\x0d\x70\x2f\x0d\xca\x69\x2c\x5a\x7e\x1a\x8d\xd4\x7f\x31\x8f\xae\xd8\x32\xba\xc4\x54\xe8\x0f\x34\x8f\x40\xdd\xa6\x7e\x1a\x64\x03\xa9\x5f\x79\x24\xd8\x94\x88\x19\xa9\x74\xeb\xf7\xef\xfd\x11\xd5\x35\xe1\xd1\x1c\xd3\x2b\xd5\x0b\xef\x18\x66\x6f\x4f\xfd\xf7\x09\xcd\xe5\xe1\xc1\x22\xde\xd2\x95\x3c\x07\xb5\x20\x80\x9a\x6b\x33\xd9\xe8\xb8\x90\xc7\x1e\xfd\x4c\x84\x20\x95\x9d\xfd\x6e\x34\x25\xe2\x39\x9e\x93\x38\x71\x3e\x3c\xcc\xf3\x8a\x70\x6e\xbe\xc9\xd6\x6c\x4e\x22\xde\x6c\xcb\xfd\xb6\xef\xdf\x47\x8b\xaa\xb8\xc0\x82\x40\xdc\x3b\xbb\xb8\x82\x8a\x08\x4f\x2d\xd5\x8a\x08\x9d\x54\x57\x0b\x09\x14\x66\x11\xc7\xa0\xbc\x88\x4c\x96\x64\xbd\x8e\xe1\x77\xd4\xf0\x70\xcf\x03\xcc\xeb\xba\xe3\x7f\x4b\xe1\xef\xb7\x74\xdc\xc7\xa9\x7d\xff\x96\x8e\x25\x8b\x26\xe9\xcc\xf7\x40\x4e\xe3\x10\x83\x96\x00\xd5\x8b\x62\xc9\x99\xe9\x5d\x19\x7b\xec\xd9\xf7\x96\x58\xc6\x35\x63\x66\x5a\x51\x66\xdb\x34\xd8\x32\xa7\x59\x88\x21\x6b\x75\x00\x40\x2b\xd8\xa2\x9b\x1f\x8a\x0b\x0e\xec\x90\x69\x7a\x45\xb8\xd3\x76\xec\x31\x43\xdf\xd7\x24\xb8\x31\xc6\xd8\xe5\x60\xbe\x6f\x8d\x36\x6e\xf0\x4d\x7e\x0d\xd5\x1f\xf0\x2f\x89\xcf\xaa\xc4\xb9\xc3\xaa\xb4\x67\x38\xb6\x8c\x8a\xde\x83\xef\x1b\x8c\x88\x6c\x7f\xd6\xd8\x5c\xa7\x79\x83\x03\x09\x2f\x6f\x1c\xe2\x2c\xbe\x0f\x73\x0e\x6a\xab\x37\x81\x58\xab\xe3\xd9\x98\xae\x48\xaa\x3d\x39\x97\x93\x42\x70\x2b\xe1\x39\x01\x99\x9b\xfe\xcb\xc9\xc9\xcb\x68\x2f\x7a\xf3\x53\x51\x71\x29\x94\xe8\x51\xde\xa9\xd2\x37\x0f\x29\x93\xd8\xc7\x2b\x58\x19\xc8\xa0\x2c\x27\x11\x7a\x01\x15\xd4\x23\x85\xed\xf6\x27\xd5\xeb\x31\x99\x30\x9a\xb7\xbb\x6d\x8e\x66\xa8\xd5\x4f\x27\x2f\xdf\xd2\x55\xa4\x90\x12\x5b\xe6\xa6\xbb\x37\x4f\x14\x15\x8a\x0e\xde\xe9\xbb\xfe\x96\x4a\x94\x71\x8a\x39\x89\xd0\xb3\xab\xe3\x7f\x97\x76\xe8\x33\x56\xca\x63\x40\x86\x86\xcd\xaf\xf4\x27\x5b\xe3\xcd\x4f\xaa\xca\x37\x7a\x3a\x7a\x41\x67\x15\x9e\x13\xc9\x6e\x32\xa7\x26\x7c\xfb\xb6\xae\xa8\x07\x0f\x6c\x8c\x59\x83\x37\x57\xe7\x87\x2d\x77\x46\xaf\xff\xae\x4b\xed\x88\x1b\xb1\x8e\x02\x8b\xcd\x59\x0e\x3e\xc1\x25\x89\xfe\xba\xbf\x1f\x5d\x16\xb9\x98\xc1\xc2\xfe\xf2\x4e\xf2\x12\xd0\xdf\xc1\x5b\xe5\x05\x73\x60\x26\x07\xbf\xee\x47\xe3\xe8\x78\x39\x99\x10\x92\x4b\x5e\xd3\xaf\x21\x9b\x8f\xa3\x87\xa7\xac\x12\xb6\xf0\xbe\xd7\xfc\x9b\x40\xf3\xfb\x1d\xcd\xc1\xb5\xc6\x34\xd3\x47\xa2\xbe\x29\x50\x86\x92\x08\x82\x0f\x49\x82\x27\xb9\xc4\x03\x55\x0b\xfe\x8c\xc6\xd1\xff\x2c\xb9\x88\x70\x24\x80\x03\x84\x13\xfd\x8b\xdd\xea\x56\x75\xf7\x7b\x34\x8e\x9e\x93\xcb\xe8\x31\x16\x38\x50\x45\xa3\x5b\x59\x1a\x8d\xa3\x27\x94\x2d\xa7\x33\x5d\x77\xa5\xd7\xf4\x4d\x6b\xd5\x3f\xc1\x13\x63\xb3\x58\x2d\xd9\xee\x48\x74\x2f\x3a\x96\x34\xfd\x15\xa4\x97\x0e\x57\xb6\xfb\xa3\xae\xe1\x5a\x28\xd9\x40\xcd\xee\x29\xae\xbf\x6c\x25\xfb\x1f\x9b\xb7\xba\x23\x31\xd5\xc6\x6a\x6d\x58\xc5\xda\xb0\xe0\x6a\x32\x27\xb2\xee\xf8\xeb\x1f\xa0\x8d\xc9\xc9\x70\x79\xc5\x8b\xcb\xab\xe9\x1e\x7c\x44\x11\x17\x57\x25\xc9\x10\xdc\xe7\x71\x74\xb0\xbf\xff\xff\xfb\x1e\x3d\xf8\x41\xcc\x08\xce\x1f\xfc\x20\x2a\xf9\xe7\x83\x1f\x4e\xab\x07\x3f\xdc\x93\x7f\x0c\xfc\x71\x4f\xa8\xbf\x54\x27\xa7\x2c\xbf\xd2\x7d\xe5\x8d\xf1\xee\x7f\x37\xda\xdf\xd7\x63\xaa\xd6\xf9\x1f\x51\x0b\xe6\xfb\x9f\x09\xde\x76\x82\xf7\xf4\x51\xab\xab\xf6\xe0\xeb\x61\x49\xda\x1d\x3b\xc8\x4e\x55\x77\x47\x52\x3f\x5d\xec\x86\xec\x0a\xf5\xe6\x5e\x87\x81\xb1\xe8\xfd\x1c\xc5\xb5\x8d\xef\x96\xcd\xfe\x98\x8c\xce\x2a\x86\x4b\xac\x6d\x3b\xaf\x05\x63\xe5\x29\xae\xd4\xc3\x01\xc4\x73\xd1\x5f\x8e\x20\xf3\xf8\x78\x7b\x3f\x85\x6d\x79\x45\x78\xf1\x3b\xa9\x5e\x9c\x9d\x71\x22\xc6\x07\xfb\xab\xcd\xec\x4c\x9d\xa8\xa7\xce\x54\x18\x8d\x91\x3b\x1d\x13\xea\x5a\xd9\x34\xe4\x5e\x0f\xa4\x6d\x9e\xb0\x1a\x10\x19\x3f\x9c\xbd\xd9\x0d\xaf\xcd\xce\xce\xfa\x67\x71\x2b\x57\x98\xcf\x65\xfb\x99\xf2\x6c\xfd\x52\xbd\xa3\x87\xf4\x3d\xb2\x8e\x0e\x4c\xde\x34\x56\xb0\xc0\xab\x62\xcd\x64\x9d\x80\xd9\xb2\x32\xe5\x77\x63\x58\xfa\xa7\x49\xd8\x2f\x2a\x52\x96\xec\x4e\x2c\x4a\xbb\x73\xf9\x77\xd9\x9a\xa6\xfc\x53\x2c\x9e\x07\xac\x4d\xef\xc4\x33\xb5\x33\x9e\xd7\x29\xc3\x55\xae\xe3\x79\x51\xf6\xa3\xfa\x25\x2b\x2e\x16\x3a\x42\xb3\xda\xe6\x47\x60\x00\xb2\xac\x48\x9b\xf9\x50\x55\x43\x39\x83\xbd\x00\x44\x35\x6c\xea\x06\x10\xc9\x13\xc6\x3f\x96\x24\xa3\xd5\xaf\xb6\x7d\x82\x1a\x2d\xac\x16\x88\xd7\xa8\x2a\x42\x5c\x10\x9b\xf2\xb0\x15\xfe\x2b\x49\x34\x6b\xf4\xd5\xb7\x13\xf9\x7f\x64\xde\x03\x47\x8b\x8a\x9c\xf1\xd1\x29\x9e\x9c\x4f\x2b\xb6\xa4\xf9\x23\x56\xb2\xca\x98\xb3\xab\xb9\x29\xc5\xd0\x48\xde\xe0\x63\x7c\x46\x62\x54\xd7\xde\x9b\xc8\xea\xe3\x08\xed\x92\xe4\xe6\x19\x37\x37\x75\xd9\x6d\x58\xa8\x5e\xaf\xac\x45\xea\x5d\xf8\xe7\x0a\x63\xd4\xbb\xe4\x26\x18\x19\xec\xb1\xfa\xd3\x44\x22\xeb\xf5\xd9\x5d\x63\x73\xda\x1d\x4a\xcd\x31\x8e\xd4\xe0\x25\x46\xea\xaf\xa6\x1d\xa4\x50\x46\x90\x42\xfd\xd1\x70\x89\xa8\x03\x3f\x60\x3e\x33\x90\xd1\x72\x2b\xf1\x0c\x53\x13\x13\xc4\xad\xce\x56\x8a\xbe\x82\xbe\x75\x80\x2c\x0f\xaa\x25\x96\x0e\xce\x87\x27\x2b\x08\xb7\x45\x7d\x98\xd7\x41\xb8\xa8\x07\xb9\xaa\x49\x72\x48\x3d\xdb\xe7\xb1\x09\x31\x34\x25\xe2\x78\x52\x15\x0b\x11\xdb\x10\x1d\x78\x51\x8c\xd4\xc5\x84\x30\x1d\x07\xf7\x54\xd4\x8d\xd1\x6f\xfc\xf0\x9c\x5c\x65\x68\xb7\x31\xac\x7b\x7d\x4e\x54\xbb\x9c\xd8\x80\x1e\xf1\x80\x10\x51\x03\x32\xe1\x04\x73\x3f\x02\x4a\xb9\x4d\xa0\x22\x85\xa1\x50\x33\x5d\x97\x7b\xe5\x3d\x2b\x40\x1d\x04\xa6\x27\xe2\xd4\xc7\x8f\xfb\x59\x96\x99\x98\xe7\x87\xf5\x5c\x0c\x02\x84\xf9\x8c\xe3\x60\xc1\x41\x9d\x50\x95\x36\xbb\xa6\xc9\x21\xa9\x83\x59\xd1\x8c\x04\x83\x59\x69\x84\x46\x43\xc1\xac\x74\x19\xf1\x02\x0f\x51\x27\x98\x55\xdf\x85\xe2\x29\xd2\xa1\x47\x86\xc6\x69\x0a\x07\x56\xd2\x51\x95\x54\x60\x73\x15\x6f\xba\x33\x80\x52\x46\xdb\x31\x92\x52\x9e\x6d\xef\x77\x38\x70\x71\xc8\xd6\x37\x29\x97\x39\xc9\x55\xca\x1d\xf5\x77\xc6\x57\xcd\xd8\x6b\x7a\x2d\xe4\x13\x05\x43\x6a\x45\xd8\x81\xbd\x8f\xf4\x26\xb4\xc2\xec\xdc\x8a\x1d\x95\xf0\x0f\x1a\xf9\x53\xf6\x61\x80\xcd\xb0\x39\x09\x7f\x6b\xd5\xc1\x6c\x67\x19\x69\x98\xbb\x9b\x3d\x44\xe9\xb6\xb3\xb9\xc1\x18\xd6\x08\x79\x5e\x54\x96\x12\x7b\x64\x4e\xf2\xb2\x0a\xb9\xec\xe1\xc5\xa2\x19\xf6\x99\x54\x15\x38\x5d\xe9\x88\xcf\xe9\x05\x2b\xf2\xa8\x06\xe4\xce\xf0\x42\xad\x8b\x6d\xa3\x35\x35\x42\x15\xdd\x06\xed\xb5\x97\x16\xc0\x7c\x35\xde\xbb\x96\xcc\xe3\xd8\x5a\x1a\xa0\xb4\xa0\x82\x54\xf2\x9c\x2f\x40\x06\x53\x51\x37\x1f\x6b\x9e\x10\xa5\x10\xce\x68\x7c\x5d\x11\x9c\xcb\xe2\xcb\xaa\x10\x64\xbc\x7d\xb0\x4a\xc9\x87\x45\x51\x61\x65\x85\x48\xc9\x85\x64\x32\x17\xa4\xe2\x05\x17\xb2\x1e\x5f\x4e\x26\xa4\xf1\x16\xb8\x2e\x44\x82\x4f\x4d\xf4\xcc\xe1\x57\x9c\xb4\x43\x61\x99\x0a\x73\x02\xee\xa2\x86\xd2\xa3\xd0\x45\x71\xe2\x73\x35\x22\x21\x04\x10\xff\xfa\x40\x86\x1a\x3f\xdf\x22\x98\x96\xe9\xc1\x04\xd3\xaa\x49\xc6\xa7\x0a\xa6\x65\x69\x4a\x3b\x98\x16\xf1\x1d\x8d\x6e\x15\x6c\x6d\xa5\x2d\xe0\x61\x41\xb7\x88\x35\xa5\xa9\xc2\xc0\x58\x53\xfe\xf6\xfd\x27\x6a\x54\x5f\xd4\x28\x0d\xba\x43\x2c\xec\xff\x3c\x31\xa3\x5c\xc1\xf8\xcb\x16\xe1\xb5\x7a\xf9\x4b\xb5\x64\x1f\x1a\xb6\x62\x63\xbd\xbc\x51\xab\x7f\x9e\x84\x9d\x03\x74\xa6\x7f\x50\xc6\x4d\x1d\x4f\x6a\x82\x27\x33\xf2\x9e\x2f\xcf\xce\x8a\x0f\x63\x74\x78\x91\x7d\xfb\xb7\x83\x6f\x90\x4e\x67\xc2\xaa\x31\xa8\xd6\x9a\x7a\xb5\xb4\x22\x25\x96\x84\xfa\xfd\xb2\x2a\x41\x67\x71\x5a\xb1\x4b\x4e\xaa\xf7\x7c\x41\xca\x12\xe2\xeb\x4a\xe2\x3b\x25\x93\x73\xe6\x7d\x3b\x48\xb9\xc0\x62\xc9\x4f\x71\xa5\xfc\x6e\x8d\xca\x75\x81\xb9\x20\xef\x73\x2c\xf0\xfb\x62\x8e\xa7\x04\xf2\x0d\xab\xbf\xde\x2f\x17\x25\xc3\xf9\x7b\x65\x88\xe1\x7a\xa2\x2a\xcf\x63\x09\xe8\x58\xe0\xb1\x9c\xe8\x69\xc9\x4e\xe3\x64\x24\x81\x7a\x17\x7d\x7f\x8a\x39\xf9\xeb\xb7\x29\x14\xc0\x9f\x31\xe4\x39\x94\xbd\xbe\xc7\xf9\x85\xc0\xa7\x76\x94\xf7\x13\xed\xc9\xb0\xbd\x9f\xce\x49\x5e\xe0\xf7\xa5\x5c\x9f\xa4\xe9\x39\xcc\xc5\xe4\x46\x66\x39\xa9\xa4\x8c\x79\x5e\xd0\x31\x2a\x8b\xe9\x4c\x4c\x2b\x7c\xb5\x37\xad\x70\x5e\x40\x14\x3c\x02\xa9\x19\xde\x43\x9c\xc4\x82\x4e\xc7\x12\x6d\xa1\x54\x81\x3d\xc9\xdf\x83\x07\xe0\x7b\xa2\x4e\x9a\x8f\xd1\x69\x5a\xa4\xa7\xf7\xa4\x70\x47\xa7\x69\x71\x8f\xcc\x51\x7a\xc6\xa8\xe0\xc5\xef\xe4\xbd\xca\x66\xc8\xc7\xe8\xbf\x17\x1f\xa2\x83\x7d\xf9\xcf\x7d\xf9\xcf\xb7\xf2\x9f\xbf\xca\x7f\x64\xc1\x7d\x59\x70\x5f\x16\xdc\x97\x05\xf7\x65\xc1\x7d\x59\xf0\x8d\x2c\xf8\x46\x16\x7c\x23\x0b\xbe\x91\x05\xdf\xc8\x82\x6f\x65\xc1\xb7\xb2\xe0\x5b\x59\xf0\xad\x2c\xf8\x56\x16\x7c\x27\x0b\xbe\x93\x05\xdf\xc9\x82\xef\x64\xc1\x77\xb2\xe0\xaf\xb2\xe0\x6f\xf2\x9f\xff\x96\xff\xfc\x1d\xe6\xb2\xbf\xbf\xf8\x60\x52\x2e\xf2\xf1\xf5\x29\x2b\xf3\xf1\xb5\x3e\x52\x74\x8a\x56\x69\x21\x70\x59\x4c\xea\x6f\x05\x5a\xad\x20\x7a\x0c\x87\xb7\xf3\xf7\x25\xa6\xd3\x25\x1c\xf6\x9b\x6b\x01\x2e\x27\x8f\x90\x09\xa2\x31\x41\xab\xd4\x7c\xfc\xaa\xfe\xca\x67\xb8\x5a\x38\x45\xbb\xbb\x75\xd9\xc2\x2d\x38\x3e\x76\x1a\xf1\xba\xe0\x31\x53\x51\x7d\x75\x59\xae\x7e\xda\xe2\x27\x65\xf1\xa1\xa8\x8b\x89\xfa\x59\x17\x57\x72\xce\x75\xb1\xfa\x69\x8b\x7f\x52\xd3\x33\xc5\x67\x8d\xd9\xfe\x5c\x08\x5b\x36\x2d\x84\x53\xc0\xea\xef\xac\xfe\xfc\x0b\xe6\xe7\xa4\x2c\x6d\xd9\x4c\xff\xae\x2b\x9c\x3c\x7b\x6a\x4b\xe7\xb8\x3a\x5f\x2e\xdc\xc2\x93\x97\x75\x53\x21\x9c\xa2\xff\xc1\x17\xd8\x16\xfd\x26\x7f\x78\x45\x8a\xf7\xf7\x2a\x70\xf5\xa9\xae\x76\xfc\xe2\x79\x5d\x81\x33\x5a\x17\x3d\x25\x9c\xdb\xa2\x92\xb8\x9b\xff\x0c\x9f\x93\xb3\x42\x12\x0b\x3b\x67\xfd\xc1\xa9\x62\x62\xb0\x38\xcb\x82\x0f\xb6\x0a\x9d\x16\xf4\x83\x2d\x57\xbf\x6c\xa1\x22\x55\xc5\x05\x89\x6a\x58\x62\xe6\x9b\x03\x54\x2f\x49\x55\x6f\xec\x42\xfe\xa8\x8b\x7e\xa9\xf7\x6d\x31\x73\xb6\xed\x25\xbb\x24\xd5\xff\x9f\xbd\x77\xdf\x6e\xdb\xc6\x16\xc6\xff\xf7\x53\xd0\x9c\xb3\x7c\xc4\x2f\x94\x6c\xa7\x9d\x76\xaa\x1e\x9d\x2c\xe7\xd2\x36\xd3\xa4\xc9\x89\x93\xce\xcc\x71\xbd\xfa\x83\x48\x48\x42\x4d\x01\x2c\x01\x5a\x56\x1d\xbd\xcb\xf7\x2c\xdf\x93\xfd\x16\xae\x04\x49\x90\xa2\x64\x39\xb6\x3b\x69\xd7\x8a\x45\x12\xd7\x8d\x8d\x8d\x8d\x7d\xa5\x33\x7b\x49\xd2\xe2\x55\x51\x6c\xc9\x66\xa4\x98\x40\x2a\x1f\xcd\xe7\x77\xf9\x78\x69\x3e\x66\xfc\xc1\xfa\x44\x99\xf5\x89\x5a\x00\x3f\x05\x94\x7a\xa7\x36\x5a\xd3\x12\x5e\x9f\xfe\x4f\x81\x09\xf4\x77\x6b\x34\xa7\x0b\x34\x29\x1a\xa5\xe2\xc9\x7c\x7c\xbf\x4c\x61\x65\xb5\x39\xed\xac\xae\xf6\x3f\x5b\xd0\xec\x5f\x27\xd6\xc7\x25\x98\x27\xfe\xea\x3c\x4c\x93\x7c\x8a\x30\x1d\x9e\xf9\x20\xbe\xe4\x8c\xb2\x07\x72\x46\xf8\xa1\x2e\x6f\xf9\x9e\xf8\x29\x28\xaf\x17\xcd\x40\x36\x07\xa9\x97\x66\x08\x33\x6f\x96\x79\x00\x47\x33\x22\xed\xad\x44\x76\x5e\x3f\xf4\x65\x6c\x7e\x25\x14\xf4\x16\x24\x8b\x23\x92\x63\xe6\x5d\x22\x9a\x83\x64\x9c\x90\xe8\x82\xaa\x07\xde\x1c\xf5\x38\x95\xf1\x0a\x52\xe3\x4d\xf2\x24\xa1\x51\x06\x85\xd3\x36\x12\xa7\xad\x0e\x03\xee\x09\x7a\xef\x61\x82\x45\x6f\x08\x4f\x3d\x0a\x2e\xa1\x27\xb5\xf1\xf2\x7a\x8a\x08\x06\x09\xe2\xb7\x04\x5f\x5b\x80\x79\xe2\xc8\xf2\x38\x10\x84\x00\xda\x13\xff\xca\x98\xe2\xe2\x6d\x0a\x18\x67\x8d\xe5\x2c\x19\x21\x09\xf5\xe4\x49\x26\x5e\xf8\xe7\xe1\x1c\xe2\x7c\x78\xbd\x12\x7f\xd5\x81\xa8\x54\x91\xc7\x43\x5f\x91\x55\x71\x0e\x7b\xfa\x44\x50\x8f\x1f\x3d\x4e\x6b\x3d\x49\x5e\xbd\x9c\x9f\xed\x9c\xc0\x7a\x9c\x25\xbe\x80\x6c\x96\x09\xb3\x15\xc1\x29\xc8\x95\xf4\x68\x3e\x56\xbf\x3e\x7a\x13\x92\x41\x39\xe2\x31\x88\x2e\xe4\x2f\xb1\x1c\x39\x16\x51\x65\xf4\x20\x1e\x0f\x7d\x92\xb3\x18\x62\xe6\xc9\x78\x47\xde\x38\x4f\xc4\x5a\xe2\x7c\x2e\xfe\x7e\xf4\x40\x82\xa6\x38\x81\x13\x26\x7f\x45\x90\x5f\xe2\xe5\x6f\x69\x4e\x2c\x7e\xfe\x96\x53\x86\x26\x4b\xef\xa3\x82\xa9\x05\x06\x85\x03\x72\x09\x8a\xf5\xf2\x43\xbe\x04\xbf\x12\xcc\xff\xe8\x58\xc4\xc3\x8e\x61\x8f\x56\x7b\xbe\x11\x7d\xf9\xa3\x11\x47\x68\x32\xf1\x18\xc2\xcb\x79\x04\x9f\x38\x64\x1c\x87\xea\x9b\xfe\x3b\x98\x23\x3c\xf8\x8d\x1a\x6e\xc8\xea\x57\x09\xb7\x75\xc1\x98\xcc\x07\x22\xd5\x32\xff\xf5\x8a\x80\x58\xc4\x16\x0f\xf5\x67\xce\x75\x7c\x78\xf7\x6a\xe4\x1f\x1e\xfa\x8f\x6a\x72\x71\x42\xd9\x23\xd3\xb7\x6f\x2a\x49\x66\x6c\xe4\xf3\x51\x14\x6f\x11\x46\x4c\xdc\x93\x87\xb5\x37\x3b\xc8\x95\xae\x9a\x94\x8a\xd2\xd7\x00\x83\x29\xcc\x06\xf0\x0a\x46\xcf\x64\xdc\xa9\x9e\x3f\x8f\xe0\x3b\x99\x59\x5a\xdd\x15\x04\x4f\xe4\xd0\xb9\x96\x42\x3c\xb5\x47\x33\x72\xf6\xca\xdb\x73\x36\x1c\x16\x81\xde\x39\xf8\xa6\x50\x04\xce\x82\x98\xf5\x2a\x8a\x01\x5c\x0a\x4a\xc1\x42\x7d\xf7\xc5\x26\xa8\xfd\xac\x43\x18\x25\x0e\x60\x69\xa0\x29\x3b\xa1\x8d\x51\x92\x14\x8f\xbe\xd9\x6c\xf6\xca\x8a\x3a\x4b\x4f\x26\xdb\x29\x74\x23\xb6\x0a\xed\xe0\x80\x0d\xd4\x08\x3e\x6d\xa4\xa5\x90\x6e\x3c\xc1\xb5\xb1\x99\x68\x69\x0d\x77\xa3\x42\x2f\x5d\x6b\xef\xe9\x0d\x5c\xe4\x64\x93\x7f\xfa\x89\x8c\x56\xda\xa2\x3b\x6f\x56\x90\xb7\x68\xd5\x85\x1a\xeb\xd3\x28\xce\x5d\xea\xf2\x42\x99\x7e\x3d\x03\xf4\x6d\x3e\x4e\x50\x24\x2d\x62\xc5\x6d\x91\xbf\xcb\x08\x13\xfe\x20\xd5\xd7\xc2\x6d\xc0\x7a\xb9\xa5\x3a\x37\xb5\xfb\x34\x71\x99\xd3\x4a\xaf\xd6\x07\xbb\xdf\xd1\xd9\xf9\xcd\x5c\x87\x5d\x79\x0d\x29\x03\x98\x55\x73\xb5\xe8\xfc\x9f\x21\xe6\x43\x11\xe3\x21\xa3\xb3\xf3\xbd\x5f\x07\x10\x08\x19\xaf\x2d\x0d\x55\x11\x25\xa4\xd1\x33\xe7\xdc\xfc\x60\x34\x1a\xb1\xc1\x77\xe6\xc5\x40\x82\xfa\xe0\xa0\x94\xe3\x03\x9a\x4c\xc1\xad\x55\x25\x08\x0e\x0e\xc8\x36\x75\x15\x5c\x0f\x0e\x68\xb9\x76\x49\x45\x5d\x5a\x14\xbf\xec\x93\x5b\x5d\x1a\x99\xcb\xc9\xfa\x6c\x2f\x90\x1f\x12\xfb\x63\x15\xc7\x6c\x69\x4b\xa9\x4f\xa5\x21\xf4\x83\xff\x3e\xaa\xd6\xaf\xb4\x6f\x35\x50\xfa\xd2\xd6\x42\x75\x02\x76\x1b\xe5\x6f\x76\x2b\xd6\x79\xb9\x9e\xcc\x29\xd6\xec\x70\x42\xb2\xbe\x0e\x79\xd9\x4e\x3e\x64\x20\x93\x0d\xa8\xca\x9c\xc4\x20\x69\xa3\x36\x75\xb2\x12\x92\xdb\xb5\xc8\x71\x45\x82\x23\x96\x6d\x0e\x23\x59\x83\x49\x4e\x10\x8a\x1d\xd6\x1c\x10\x43\x79\x10\x04\xa1\x4a\x8e\xd2\xd4\xcc\x1a\x71\x65\x8a\x30\x36\xf6\x39\xb5\xaf\x4a\x3a\xd6\x3c\x0a\x55\xc0\x0f\x4c\xf2\xe8\xe6\xb2\x66\xd9\xb7\x36\x75\x49\x91\xb4\x3e\x1f\x5d\x23\xfa\x56\x0e\x7c\xff\x98\x4f\x41\xe6\xac\xc3\x70\xa1\x33\xba\x2b\x0c\x07\x97\xf0\xbd\xba\xf5\x8c\xae\x75\x3a\xbc\x58\xdd\x12\x85\xe2\xcd\xdf\x79\xa4\x7b\xcb\xf8\xce\x4c\xd8\xe2\x10\x24\xc0\xfd\x80\x73\x43\xea\xbb\x9c\x4a\xcf\xce\xf4\x56\x4f\x12\xa8\x63\x6f\x2a\x10\x0c\xc4\xac\xed\xb4\x3f\xe6\x8b\x86\x8d\x1f\x4a\xb3\x91\x7a\x09\x05\x28\x93\x5c\x4e\x25\x0a\x0e\x99\x2b\xc9\x77\x41\x2b\x6c\x70\x0e\xaa\x59\x76\x4d\x1c\x5b\xd3\x98\xbb\x9e\x05\x7d\x67\x75\x78\x15\xc1\x2c\x65\x6b\xe5\xcb\x1d\x51\x46\x10\x85\x97\x38\xcd\xd9\x77\x42\xf7\xec\xff\x45\xf7\xd4\xd7\xf7\xe1\xbe\x26\x1c\x7f\xc1\x70\x51\xbc\x95\xf3\xd8\xc1\x15\xc5\x6d\xe6\x62\xdd\x35\x34\x1e\x3c\x87\x09\x74\xf8\xcc\x88\xe1\x3d\x4b\x08\x85\xf6\xe8\x63\x51\x58\x8d\xbd\xcc\x82\x96\xdb\x2b\x42\x63\x20\xcc\xf4\xa7\x61\xfd\x66\x28\xa4\x18\xb2\xe8\x07\x9c\x22\xdc\xb6\x0d\xca\x98\x9c\xf3\xe2\x2f\x19\x9c\xf7\x4a\x1f\x6d\x3c\x75\x24\xa8\x2b\xec\x06\xcc\x9c\x52\x84\xfb\x63\x61\xde\xec\x07\x03\x45\xe8\x7b\x7e\x8c\x68\x4a\x28\xf4\xdb\x30\xdd\x52\xb1\x56\x77\x88\x2f\x2a\x8a\x30\x55\x4f\x73\xc5\x5f\xd1\x99\x28\x27\xd5\xab\xbe\x1b\xf1\x05\xcc\x9a\xc0\x10\xc2\xd1\x35\x87\x91\x63\xc2\x7a\x73\x15\x24\xf1\x65\x3c\x74\x20\xba\xc8\xa9\x29\xa9\x78\xa9\x80\xa0\xfb\xe2\xeb\xaa\x1e\x18\xd7\xc0\x5c\x43\xbc\x16\x99\x0d\xee\x1a\xb2\x47\x8d\x90\xb5\x09\xd6\x56\x20\x16\xf7\x52\x82\x4f\x2d\xfa\xd0\x66\xb3\x58\xa7\x3f\x15\x9e\xb4\x89\xce\x68\xfb\x4e\x1d\x82\xd4\x4a\x55\xee\xd8\xf2\x9d\xd2\x95\xa3\x49\x6f\xdf\x32\x7e\xb4\x81\xee\x6a\x52\xee\x7f\x47\xab\x61\x43\x3d\x3e\xfc\xd6\x7a\xad\x64\xd9\x6f\x2e\x50\xa2\xbf\xbe\xef\x08\xbe\x5c\x5e\x10\x3f\xe0\xcc\x92\x4d\x4d\x6b\xa4\xa8\x42\x48\xc5\xb2\xb6\x4f\xab\x1d\xc2\x22\x15\xf7\x0b\xc1\x18\xb6\x46\xb4\x9a\x91\xc5\x3f\x00\x62\x3d\x93\x63\x46\x6c\x1d\xf7\x6e\xd3\x1b\x8d\x6f\x4b\xc0\xc0\xf0\xec\x3c\x94\xb9\x6f\xde\x0b\x6b\x1e\x73\x54\xaf\xf6\xa0\x08\x14\x25\x2e\x03\xbd\x86\x6d\x1b\x38\x0e\x2e\x19\xae\x4a\xb2\xb3\xce\x5d\xa9\x94\x91\x05\x4b\xe5\x07\x83\x98\x2c\x70\x42\x40\xfc\x1d\x4a\x60\x0f\x6a\x73\x18\xd3\x17\x4d\xf2\xa9\x1f\x3c\xf2\x85\xf5\xb0\xdc\xa5\x33\xb2\x78\x4e\xb0\xb4\xbe\xdc\x8c\xeb\x16\xc0\xd9\xf6\xc6\xde\xc4\x5b\x37\x30\xe9\x9f\x9c\xe5\x76\x31\xda\xd4\xc9\x72\x0b\xae\xba\xd5\x18\xde\x70\xd6\x09\x89\x40\x72\xca\x48\x06\xa6\x8d\x5c\xba\xc6\xec\xf6\x26\x4d\x58\x97\xdb\x63\xa9\x6f\xf3\x1a\x20\x80\xa6\x58\xeb\x30\x22\xe9\xd2\x50\x6b\x91\x64\x23\x5d\xbe\x85\xd9\x1c\xc9\xfe\xd5\x1b\xc3\x68\xec\x1f\xab\x9b\x0c\x64\x0c\xe1\x29\xad\xdb\x3b\x98\xba\xd4\xe5\x0f\x60\x9d\x7d\x45\xc1\x81\x68\xf2\x8d\x4c\x14\x6b\xc7\x15\xab\x95\x91\xd2\x3e\x5f\x6e\x14\xce\x0e\x9d\xda\x73\x99\x01\xaa\xa7\x52\x1f\x98\x5e\xb4\x35\xc3\x32\xc5\xac\xbb\xf1\x2a\xe0\x4d\x3f\x03\x0c\x4e\x49\x86\x1c\x6d\x47\xe6\x53\x7b\xe3\x45\xb9\x5a\xeb\x1a\xc2\xf5\xc6\x35\x56\xac\x69\xdb\x14\x2b\x37\x2d\x8e\xb4\xe7\x24\xd2\x30\xb2\x9f\x65\x44\xed\xfd\x63\x83\xf6\x56\xb9\xca\x2b\x53\x54\xa7\x2e\x35\x38\x23\xd2\x4c\x90\xf4\x0f\x82\xe1\x8d\x12\x99\xa1\x79\x2a\xbc\x8e\x0d\x20\x8c\x50\x4c\x7e\x39\x15\x06\x1b\x45\x6a\xb3\x84\x60\x18\x8b\xe5\x1f\x5d\x8b\x8c\x6a\xab\x4d\x6f\x95\xb7\x77\x55\x94\xc4\x39\x08\xf1\xe8\xd7\x41\x06\x85\x08\xca\x21\x6b\x53\x21\xae\x35\xd3\xb5\x0a\xac\xd0\x8e\x9c\x4f\x50\x52\x9a\x37\x3a\xe2\x36\xb6\x0f\x2a\xeb\xe2\x29\x80\x70\xaf\x6f\x9d\x7b\xae\x2d\x20\x38\x84\xba\x4d\x39\xd3\xf6\x7c\x62\xd1\x15\xb6\x99\xd4\x58\xb7\x72\x87\x94\x22\xf0\xd2\x15\x2c\xf4\xff\xa2\x9e\xe5\x47\xc5\x9f\xb6\x36\x80\xf0\x25\xb2\x1b\x28\xbd\x85\x73\x80\x92\x5b\xbb\x80\x86\xb6\xff\x8a\x45\x13\xd4\xc6\x94\xf9\xaa\x5d\xef\x39\x03\x29\x83\x8a\xd9\xf1\x24\xf5\x67\x19\xfe\x32\x58\x85\x14\xb2\x3c\x7d\x39\xaf\xf2\x70\xb7\xda\x6b\x93\xd1\x78\x71\xa3\x2a\xe9\x87\xd4\x91\x38\x80\x38\x4e\x09\xe2\x87\xe8\x23\xff\x50\x92\x8e\x43\xc9\x03\x1c\xfa\x8f\x60\x48\x47\x18\x2e\xbc\xe7\xaa\xaf\x9e\xff\x17\x59\xc4\x48\x31\xf5\xbd\x2a\xbc\x9e\x41\x20\x84\xff\xd7\x27\xca\x58\x5c\x19\x77\x3f\x85\x20\x83\x99\x67\xec\xd1\xaa\x69\x8d\x95\x13\x6b\x25\xbd\xb1\x72\xf0\x59\x85\x79\x96\x0c\x71\x38\x87\x6c\x46\xe2\xa1\x9f\x12\xca\xfc\x30\x05\x19\x98\x4b\xb2\x24\x13\xc0\x48\x79\x2a\x88\x22\x98\x32\x28\xf8\x49\x3a\xf4\x07\x31\x89\x42\xfe\xcf\x55\x38\x98\xc7\xa1\x49\xf6\x12\x72\x86\x32\x94\x5c\x65\x18\x25\x28\xba\x10\x7e\xfc\xfb\x47\xe1\x1c\x5c\x89\xba\xe8\x0f\x38\x3c\x3e\x12\xdd\x24\x09\x4c\x3e\x08\xbd\x37\x1d\x7e\x11\x4a\x0d\xf8\xeb\x9c\xa3\x11\xaf\x72\x1c\x82\x38\x96\xfa\xd5\x57\x08\x5f\x50\xe5\x30\x48\x54\x3c\x8a\xff\xc9\xa1\xe0\xe1\xdc\x34\x9e\xe0\x9e\xaf\xec\xdc\xeb\x56\xe7\x38\xb6\x65\x19\x2f\x15\xb1\xe7\xd4\x83\x6f\xad\xb0\x90\xd0\xf3\x56\xa4\x83\x41\xa3\x55\xba\xff\x8c\xe0\x4b\x98\x71\x68\xab\xb8\xfa\xde\x44\x24\x14\x92\x6d\xb1\x52\x5b\x20\x8e\x61\x2c\x8d\x7d\xba\x8c\x49\xc4\xe3\x94\x83\x12\x4c\x79\xb0\x27\x9b\xe1\xe7\xb1\x90\xbf\x54\x62\xa0\xcb\x9d\x28\x38\x7e\x56\x96\xaf\x15\xf8\x4c\xcb\x02\xa2\x4f\x2c\x8f\x91\x64\xe8\xcf\x2b\x8c\xf1\xfd\xdb\x96\xbb\xdc\x18\x82\x9f\x40\xe8\xc2\x87\x58\x95\x38\x8a\xd3\x34\xcd\x44\xa3\xcf\xe5\x95\xa9\xd7\xc8\xac\xd8\xa7\x78\x89\xb0\x56\x18\x6d\x95\x76\x7f\x24\x9c\x90\x24\x73\xa0\xfe\xc2\x52\x54\xa0\x4a\x2d\x81\x2b\x96\x28\xab\x7e\xb8\x36\x4b\x47\xca\xe2\xd0\xa2\x61\x3f\xa8\xb2\x55\xf6\x7d\xbe\x24\xdd\x70\x1c\xf1\xc1\x4a\x04\xd8\x6a\x1f\xd3\x1a\xd1\x06\x87\xfc\x8c\x2c\x5e\x28\xa6\xfa\x35\x6f\xd8\x2d\xf1\x7d\x93\x42\xdc\xf3\xff\x22\xd8\x6f\x7e\xd8\x68\x36\xe1\x9a\xce\xc8\x82\x5f\x8b\x43\xfb\xa3\x96\x56\x13\x7c\x12\xc7\xba\xf5\x06\x8b\x89\xbd\x86\x35\xb6\xd7\xd0\xe6\xfa\x2b\xf2\x33\x6c\x5c\xbf\x8a\xc5\xab\x5d\x12\x24\x0e\x0b\x3f\xaf\x02\x5e\xd5\xe1\x1a\x91\x5a\x7b\x43\xa5\xd0\xd5\xa5\x81\x15\x82\xae\xd2\xda\x55\x61\x66\xb3\xc1\x95\x0b\x3b\xe7\x87\xe5\x6d\x01\x5c\x16\x77\x14\x27\x96\x84\xfe\x51\x53\xc4\x71\x51\x32\x23\x39\xe3\xf7\xd1\x81\x08\xd3\x89\xf8\xd7\xf7\xc4\xba\xa3\xeb\xad\x6b\xb5\x58\x7a\x23\xa5\x3d\x5a\x08\x24\x85\x7c\xea\xbb\xf8\xa2\x93\x89\xcc\xc8\xe2\x7d\x71\xd7\x72\x63\x50\xf9\x66\xda\xce\x38\xd3\x32\xcb\x1c\xd6\x50\xb0\x90\xde\xb9\xb1\xb0\xf4\xbd\x40\x44\xc9\x8a\xd7\x05\xbb\x6c\x17\x63\xac\xbd\x2e\x69\xb5\xab\x77\x4e\xe5\x64\xaa\xb6\x87\x05\xbd\x1b\xec\x90\xca\x7d\xb7\xc3\x26\x71\xdd\x90\x9d\xfb\xc4\x01\x50\xb3\x55\xaa\x86\x60\xb5\xa9\x0a\x9b\x32\xed\x68\xfe\xa4\x68\x74\x81\xe2\x29\x64\xc2\x6e\xa7\x2f\x8d\x3d\x1b\xa9\x95\xed\xc6\xdc\x30\xe8\xd2\x9e\xac\x82\xa2\x61\x5b\x3a\xf0\x68\x47\x3b\x93\xde\xf1\xbe\x34\x1b\x53\xb2\x84\x9d\x08\x7b\x71\x8d\xa8\xed\xa9\x02\xb6\xfa\x0e\xd5\x2b\x6d\x4b\xd1\x95\xbb\x8d\x1a\x43\xd7\xcd\xa9\x46\x7b\x1d\xd6\x58\xdb\x56\xa3\x3b\x5b\xce\x52\xe1\x01\x6a\xc2\x19\x91\xf3\xd0\xb2\xb0\x51\x2c\xb9\xc8\x2e\xe1\x3f\x62\x8f\x7c\x91\x5b\x22\xc4\x4a\xf0\x6e\xa3\x57\xa9\x9b\x72\x6a\xf7\x7a\x37\x21\x76\x4c\x04\xc6\xbb\x9c\x07\x9a\xf4\xca\x53\x39\x95\x77\x98\x49\x9e\x24\x4b\x2f\x92\xf3\x82\x31\x9f\x96\x98\x10\x49\x6f\x36\x9f\xf0\x68\x34\x1a\x61\x25\xa5\x73\x29\x85\x6b\x68\x50\x66\x80\xde\xc1\x49\x06\xe9\x4c\x28\x82\x0d\x03\x52\x53\xaf\xd4\x10\x54\xb2\x35\x52\xac\x52\x47\xd1\xdd\xe9\x68\xac\x7d\xe7\x52\xcd\xf8\xab\xcd\x84\x41\x53\x87\x30\x28\x38\x38\x28\xa9\x75\x2c\x1e\x7a\xc5\x77\xbb\xf8\xa4\xf2\x1b\x1d\x3d\x81\x83\xa2\xff\x91\xee\x72\xe9\x0f\x7b\xe5\x0f\x4a\xa1\xe2\xd6\x17\x59\xcc\xe5\x2d\x6b\x8b\x6c\x22\xd5\xa4\x2a\x6a\xe4\x6f\x4b\xab\xdb\x45\xa3\x94\xa3\xbe\x3c\x71\x3e\xa9\x69\x6a\x44\xa9\x8c\x8c\xed\xfb\x61\x9a\x91\x79\xca\xa4\xe4\x58\x26\xcc\x13\x89\x98\xdf\x02\x36\x1b\x8a\xa0\x07\xf2\xe5\x2b\x30\x86\x89\x7c\x29\x75\xa2\xa0\x62\x44\x1c\x5c\xaf\xc2\x5f\x8d\x55\x76\x45\x88\x3e\xc8\x20\x88\xa9\x3e\x5d\x65\x68\x24\x73\x21\x8f\x2a\x5e\xd9\x25\x4d\xf5\x7f\xe8\x4a\x7e\x70\x76\x74\x3e\xd0\xc7\xf3\x4b\x1c\xc3\xab\x6a\x42\x48\x26\x54\x37\x67\xfb\x56\x76\x60\x39\x3b\x3f\x78\xc2\xfa\xc7\x43\x76\x6e\x71\xc6\xc5\x58\x39\xcd\xb0\xf6\x04\x30\x16\xc7\xdd\x16\x90\xaf\x21\xb8\x04\x0c\xac\x89\x7d\xa5\xb5\x81\x65\x1d\xde\xed\x5a\xe2\x5e\x0b\x01\x3b\x3f\x9e\x1c\x91\x62\x2a\x37\xd9\x8e\x53\x8d\x54\x0c\x8d\x4f\x8a\xb0\x0c\x4c\xa5\x74\x8e\xa6\x00\xfb\xb6\x2c\x47\x84\xf4\x70\x87\xb5\xb1\xb8\xd9\x3a\x7f\xc7\x49\x55\xd7\x29\xc7\x08\x24\x64\xda\xb0\xba\x39\x43\x09\x3d\x94\x4e\xe8\x9f\x60\x6d\xaf\x15\x9e\x4b\xb9\x4b\x24\xec\xfa\x4d\xf2\x2d\x65\xe6\x1f\x0a\x17\xfa\x6c\x6e\xde\xbf\xf9\xd1\x0f\x85\xf9\xfd\xd0\x7f\x26\x3f\xf9\xa1\x3c\x79\x8e\x43\x29\x51\x91\x67\xc3\x98\xe1\x3e\x15\x11\x9d\x41\xb6\xf4\x43\x21\xb6\x14\xd9\xbf\x6e\x2c\xf3\xa7\xd6\x16\x15\x82\x2b\x35\x44\x49\x2a\xfb\xfe\x23\x83\xb3\x83\x39\xb8\x80\x2f\xe3\xde\xf1\x91\x32\x59\xfb\x90\xc6\x80\x6d\x6f\x7b\x5d\x8e\x09\x58\x0c\x41\xf0\x1d\x16\x5e\xcc\xc8\xc2\xb7\xec\x4e\x58\x20\xe9\x7b\xef\x7a\x55\x88\x4d\xcc\x4b\x55\x7c\xaf\x39\xb8\xe3\x0c\xc5\x31\xc4\x83\xb1\x3a\x26\x2c\xee\x10\x9b\x80\x03\xa2\x11\xc1\xfb\xd7\x3b\x30\x62\xad\x55\x45\x4c\x52\x14\x99\xa1\x18\xfa\xed\x75\x4b\x3b\xa5\xe6\x21\xe2\x0e\x9b\x68\x81\xc8\xd5\xa2\xd3\x7d\x44\x24\x53\xaf\x5e\xf1\x42\x15\x2b\xc7\xe6\x9d\xb4\x3b\x47\xd9\x3d\xc5\x38\x79\x94\x22\x83\x1a\xf0\xac\x3a\xef\x54\xfb\x36\xf6\x29\xe9\x13\x3f\x12\xbf\x43\x30\x89\x87\x05\x7f\x13\x52\x84\xa7\x89\x4a\xaf\xce\x77\xda\x1c\x5c\xfd\x00\xd1\x74\xc6\x86\x47\xe6\x3a\xaf\xd2\x32\xb3\x65\x02\x9f\xd1\xba\xea\xd9\x54\x69\x0d\xbe\x57\x94\x2a\xcc\x8f\xfe\xfb\xe8\x89\x4f\x2e\x61\x36\x49\xc8\xa2\xbf\x1c\x7a\x34\xca\x48\x92\x7c\xeb\xcd\xc1\x55\x7f\x26\x47\x21\xef\x09\xe9\xd5\xb7\x3e\xe7\x0a\xb7\xb0\x22\x2e\xa1\xd7\x7b\x32\x9d\x26\xb0\x8a\x15\x2a\x8e\x55\xc9\x1a\x4a\x1d\xe7\x12\x6b\x8a\x0d\x68\x41\xcb\x0f\x1c\x97\x0a\x95\x3f\xd3\x1d\x08\xab\xe4\xe6\xe5\x94\xc0\xd8\xb9\x39\x61\xb0\x6a\xaa\xc0\xea\xc7\x84\x30\x50\x73\xcd\xa0\xc7\x36\x40\xcd\x0c\xc4\x88\xdc\xe5\xa1\xa9\x3c\x73\xfd\x90\x60\x91\xd7\x42\xa2\x5e\xdb\x51\xaa\xd6\xaf\xb2\x85\x45\xe5\xea\x0e\x56\x2f\xad\xf5\x14\xdd\x69\xf0\x79\xbb\x3d\x95\x29\xcc\xfa\xd2\x26\x4a\xba\x50\xb6\x1e\xcd\x73\x44\xa3\x4f\x71\x30\xdb\x03\xa2\x5b\x5a\x62\xb4\xeb\xd7\xd7\xe9\xae\x57\xe2\x50\xff\xc9\x1a\x47\xed\x9a\x2e\xef\xe2\xa5\xf0\x40\xa5\x71\xfb\xc1\x5e\xc9\x71\xa7\x74\xd1\x2e\x97\x0c\x69\x29\x77\xef\x7f\xf4\xfc\x41\x7d\x61\x38\xd3\x5e\x24\xad\xb4\xf5\x63\x78\xf0\x1f\x3d\x12\x88\x6b\x55\x2f\x28\xcc\xcc\x06\x22\xfc\xd7\x25\x48\x7a\x35\x82\x87\xdd\xe3\x65\xe6\xa6\x79\x70\xd0\x63\x4a\x89\x71\xc2\x7a\x45\x96\xf6\xca\xb8\x59\x20\x45\x00\xcc\xc4\x09\x54\x63\xe1\x07\x6a\x2f\x58\x85\x8f\xff\x7a\x74\x14\xba\x7b\xd3\x52\x83\x55\x17\x7e\x99\x43\x23\xcd\x88\xd4\x7d\xae\xf5\xcd\xf9\xa4\xf7\x82\x19\xa0\x22\x45\x07\x36\xa6\x45\x95\x0b\x9b\x94\x78\x8a\x30\x27\xc9\x60\xa2\x8b\xfa\xc2\x54\xea\x15\xe8\x5a\x31\x01\x76\xbd\x17\x73\x80\x12\x57\x25\x5d\x5c\xda\x68\xb4\x1e\x75\x56\xb9\xa0\x1c\x19\x16\xd1\x17\xca\x1e\x59\x84\x84\x94\x6e\xc0\x00\x25\x52\x2d\x3c\x03\xf4\xad\x4a\x26\xe4\x1e\x41\x6a\x7f\xf5\x43\xf3\x3c\xd0\x3f\xfc\xf0\x7a\x0a\x99\x23\xe0\xa0\xee\xfe\x6d\x06\x29\xc4\xac\x14\xf2\xdc\x6e\x33\x08\x9e\x28\xc5\xfa\xb0\x32\xe2\x5a\x85\xa2\xd3\x20\x78\xc2\x49\xc9\x50\x88\xb4\x8f\x56\xca\x12\x4e\x32\xcf\xed\x13\x8a\x1c\x85\xb6\x98\x83\xb3\x19\x3e\x15\x4b\xc2\x2d\x8c\xb9\xb6\x77\x43\x52\x4d\x8f\xae\xf5\x2f\x69\x17\x29\xfa\x05\x85\x5f\x91\x39\xaa\x28\xb8\x6c\x10\x17\x54\x82\x1b\xd6\x80\x59\x09\x95\xa6\xbe\xdb\x5d\xc9\x7b\x41\xd3\xfa\xd4\xb6\x83\x23\x6c\xa3\xf5\xd5\x68\x19\xd6\x36\x59\x6c\x14\x47\x8b\xc5\xc7\xee\x0d\xaa\x2d\xe2\x68\x4d\x7d\x71\x35\xa5\x57\x1f\x1a\xc7\x79\xdd\x3c\xae\x34\x44\x95\xb7\x77\xd8\x80\x66\x3a\x44\xa5\xa5\x71\xae\x14\x6c\x9b\x8c\xdd\xbf\x1e\x53\xf3\x08\xaa\x3b\xb7\xde\x75\xea\xec\x73\xdf\x74\xfa\x7b\x0e\x12\xe1\x60\xbe\xd3\x2e\xaa\xaa\xa5\xa2\x88\x25\x6d\xe2\xb8\xec\x07\x3d\x2a\x02\x8d\x82\x24\x59\xd6\x6d\x48\x14\x93\xea\x20\x48\x85\x4a\xbf\x5a\xa6\x84\xd2\xbc\x5c\x27\xfb\xf6\xab\x3e\x13\x5c\x7c\x3f\x01\x63\x98\x94\xcf\x2c\x11\xd5\x52\x7d\x6f\xae\x53\x7c\xb9\xf9\x79\xd6\x58\x41\x9d\x62\x7e\x78\x0d\x71\x3e\x87\x99\xb6\xb6\x72\x93\x36\x73\xea\x6d\x30\x7f\xba\x40\x2c\x9a\x6d\x08\x00\x59\xe9\xde\x43\x60\xaf\x0b\x04\x36\x9b\xba\x35\xe7\xd0\x6e\x16\x4f\xd0\xf4\x10\xe2\x4b\x94\x11\x3c\xaf\x43\x24\xc4\x9b\xc3\x44\xed\x2a\xe3\xa0\x70\x56\x1a\x9c\x7f\xfe\xf1\xe3\xf5\x6a\xaf\xe0\x84\x0a\xbe\xd2\xdc\x8a\x44\xfc\x36\xe3\xcc\xf0\x9e\x3f\x7e\xfc\x58\x40\x54\xfd\x78\x33\x99\x08\x91\x77\x51\x52\xbf\xf9\xf8\xd1\x7f\x33\x99\x0c\x87\x64\x32\x29\x4a\xe3\x6a\x61\x6c\xca\xe2\xe1\x90\xef\x41\xce\xe8\x8a\x77\xb4\x28\x75\x6a\xde\x7d\xfc\xb8\x7f\x2c\xe5\x6d\xc5\x47\xf4\x07\x1f\xd8\x1c\xc6\x28\x9f\xfb\x4d\xb8\xab\xc2\x09\x14\xbf\x76\x77\xc5\x54\xd2\x2d\x49\x60\x54\x65\x0d\xc5\xc2\xe7\x7f\x78\x2d\x5d\xee\x87\xc7\xa1\xf2\x9d\x1f\x3e\x0e\x8d\x0f\xfc\xf0\x8b\x55\x78\x92\xb3\xd9\xdb\x8c\x5c\xa2\x18\x66\xc3\x6b\x1d\xc9\x77\x68\x66\xe1\x87\x3f\xc2\x65\x94\x10\x70\x31\xf4\x2f\xd4\x2f\x3f\x7c\xf5\xfc\xe4\xed\xd0\x4f\x62\x90\xfa\xe1\x29\xcc\x2e\x65\x6f\xee\xb7\x27\xcf\x87\x3e\x88\xfd\xf0\x85\xcc\x23\x89\xa4\x3c\xf3\x27\x82\xe1\xd0\xc7\xc2\x02\xb0\xfc\x45\x64\x17\x7d\xff\xea\x74\xe8\x8b\x54\x69\x2c\xa1\xfe\x2a\xd4\x3a\x42\x29\x8c\x92\x53\x7b\x07\x41\x3c\x3c\x0e\xbf\x83\x30\x16\x81\x87\x1e\x87\xcf\x08\x66\x19\x1a\xe7\x0c\x0e\xbf\x08\x4f\xd2\x34\x23\x97\x70\xf8\xa5\xfe\x15\x0f\xff\x1a\xbe\x13\xf6\xe6\x30\x1e\x7e\x15\xbe\x95\x46\x64\xc3\xaf\x57\xe1\x07\x0a\x33\x9d\x94\x52\xb6\xfd\x2c\x83\x22\x03\xc4\x71\x28\x7a\x79\x1c\xbe\x88\x91\x80\x58\x28\x2d\xac\x62\xde\x6c\x16\xcd\x90\x6c\xd6\xf4\xf0\x55\xf8\x0e\x4a\x8d\xe8\xf0\x6b\xdd\x83\xe5\x0e\xf0\xb7\xe2\xdd\xd3\x84\x44\x17\xc3\x6f\x8a\xe1\x1f\x1f\x15\xa3\x3b\x3e\x0e\x4f\x21\x66\x22\x59\xa5\xb0\x35\x1d\x1e\x3f\x0e\x9f\x67\x60\xc2\x86\xc7\x5f\x84\x3f\x4b\xeb\x4e\x5e\xee\xcb\xf0\x54\x04\xdd\xe2\xbf\xff\x5a\x34\x3e\x3c\xfe\x6a\xa5\xd7\xd9\xc0\x4b\x80\xfc\x28\x7c\xc5\xfb\xe5\xf3\x12\xc9\xe3\x1f\x87\xfc\xb5\xdc\x20\xbe\xb4\xa5\xa3\x9e\xf0\x2c\x61\x0c\xc6\xde\x02\xb1\x19\xc9\x99\x07\xc4\x04\x41\xe2\x8b\xea\xaa\x38\xff\x09\xe3\xd0\x8b\x54\x35\x4c\x58\x51\xd5\x57\x3d\x54\x9a\xce\xe0\xef\x39\xca\xa0\x69\xd0\x1b\xc3\x09\xc9\xa0\x27\x23\x40\xc8\x23\x71\xa5\xe0\x09\x92\xd2\xc0\x4f\xf0\x72\x4c\xe2\xe5\xf0\x38\x7c\x0d\x7e\x23\x19\x62\xcb\xe1\xe3\xf0\x03\x06\x18\xcd\x49\x4e\xf9\x8a\xcb\x02\xaa\x47\xdd\x86\xee\x32\xf6\x26\x19\x99\x7b\x00\x2f\x55\xe7\x30\xf3\x4d\x4b\xaa\x8e\x7e\x2c\x86\x57\xa9\xac\x2a\x52\xbf\xe8\x58\x55\x35\xcf\x8d\x75\x93\xc4\xaa\xbf\x0a\x25\x44\x64\xea\xc0\xeb\x62\xe5\x8e\xc2\xb7\x10\x8b\x98\x94\xc7\xe1\x07\x1c\xc3\xcc\x2c\x94\xc1\x8e\x2f\x74\x91\x9f\xe0\x62\xf8\xe5\x2a\x7c\x0b\xa6\x50\x42\xea\x3d\x18\x0f\x7d\x06\xc6\x7c\xff\x49\x41\xb0\x49\x77\xb2\x0a\xff\x31\x23\xb2\x14\x47\xf7\xa1\x2f\xe3\x5b\x8b\xcc\x91\x43\x3f\x23\x22\xbc\xdf\x8b\x4b\x98\x2d\x09\x86\xbc\xc4\xcb\x78\xe8\x1f\xf9\xa5\x57\x52\x62\xa5\xdf\xf8\xe1\x2b\x34\x81\xd1\x32\x4a\xe0\xf0\x5a\x22\xe7\x51\xf8\x0a\x5d\xc2\xe1\x71\xb1\x37\x14\xda\x2a\x20\x89\xdf\xbe\x28\xa4\x71\x08\x5d\x42\xdf\x14\xd7\x4b\xa7\x1e\xfd\x95\xc6\x75\xb9\x1f\x5f\x93\x98\x0f\x5f\x9b\x37\x8b\xfd\xf9\x4c\xb8\xba\x0c\x1f\x87\x7c\x9b\x28\x9a\xb6\x29\x91\x00\x89\xca\x1c\xdb\x81\x58\xac\x02\xeb\x04\xbb\x36\x94\x7d\x08\x57\xae\x33\x40\x9e\x7f\x53\x48\x59\x9e\x41\x7a\x98\xc1\x88\x4c\x31\xfa\x03\x66\xf4\x50\xc8\xfd\xea\x07\x79\x63\xd9\x1d\x8a\x20\x0a\x9e\x63\xc3\x21\x23\xec\x66\xbc\x5a\x4a\xdf\x87\x61\x67\xc2\xe8\xbe\xeb\xb0\x45\xe9\x7b\x30\xec\x8c\x30\x61\xce\xd7\x71\xdc\xaa\xf8\x3d\x18\x38\x5d\xa0\xb4\xfb\xb8\x65\xe9\x7b\x30\x6c\xc6\xf9\x96\x8e\x83\xe6\x65\xef\xe7\x0d\x62\xa3\x29\x0b\xa3\xb4\x08\x24\xfd\x4d\x88\x51\xa9\xd2\x9f\x09\x08\x9b\xe1\x6d\xa5\xda\x83\x01\xc4\x25\xc4\xec\xd7\x18\xd1\x14\xb0\x68\x06\xb3\xd6\xf9\xd6\x0b\x7f\x9a\x1b\xa4\xbc\xd6\x00\x4a\xd1\x14\x7f\xfc\x28\x9f\xe6\x30\x9b\xc2\x90\x8c\x68\xef\x7a\x15\x5e\x8b\x81\x7e\xa0\xf0\x19\x48\xf9\x50\x87\xfb\xc7\xa1\x72\xfb\xcb\x40\x74\xc1\xd9\xa7\xfd\xe3\x30\xa7\xf0\x3b\x40\xd9\x5b\xc0\x66\x74\xb8\x7f\xbc\x0a\xf6\x78\x75\x52\x84\xaa\x1a\xe8\x99\x3a\xe9\x87\xb9\x50\xe5\x45\x3f\x64\x50\xe9\xb9\xda\x2d\x19\x94\x5f\x94\x07\x41\x06\xf6\xa3\x7b\x85\x66\x30\x49\x39\x82\x01\x1c\x3b\x6f\xfa\x59\xce\x66\x7d\x5d\xc8\x2e\x7c\x1f\x51\xb0\xb9\x4d\x31\xbd\x8e\xed\x01\x1c\x37\xa0\xb3\x99\x7f\x9a\xf6\x15\x5b\xd8\xa0\xce\x71\xe0\xab\x06\x69\x94\xa0\xbe\xd5\x80\xd2\x4d\x66\x70\x0a\xaf\xaa\x64\x9e\x23\xb5\x7e\xf6\x68\x61\x60\x6b\xe4\xe6\x5a\xe1\x75\x7c\x70\x20\xd5\x02\xfb\xa3\xe2\xe3\xd9\xf1\xf9\x13\xfb\x61\x78\xbd\x2a\x22\x99\xce\x50\x0c\x4f\x67\xe0\x09\x19\xcc\x45\xce\x39\x3c\x50\xe3\x79\x07\xa7\x2f\xae\xd2\xe0\xec\xe8\x7c\x28\x4b\x29\xa6\xd8\x2a\x49\x67\xc0\x2a\x45\x56\x5b\x1c\x9f\x20\x4d\x55\xbb\x23\xaa\x74\x87\xc5\x4e\x38\x79\xfb\x56\x8f\x66\xaf\xaa\xca\xfa\x41\x2c\xc1\x40\xae\x44\x8f\xb6\x2e\x93\xb4\x89\xea\x83\xc4\x29\xc0\x8c\x08\x8e\xf2\x2c\x83\x38\x5a\x1e\x6a\x0c\xaf\x61\xb5\x81\xbe\xad\x37\x3d\x3b\x3a\xd7\x80\xc4\x07\x07\xbe\x2e\x53\x04\x16\xc6\x03\xd9\xf5\x49\x92\x68\x82\x02\x28\x85\x19\xeb\xf9\xef\x67\xd0\x13\x7a\x01\x4f\x2f\x8d\x97\xf2\x6f\xb1\xc7\x88\xc7\x66\xd0\xfb\xff\x8a\x51\xff\x7f\x9e\x1c\x96\x47\x67\x24\x4f\x62\x6f\x0c\x3d\xe0\xbd\x07\xf4\xc2\x23\x99\xf8\x2b\xee\x53\x5e\x4f\xdf\x9b\x7f\xcf\x09\x83\x34\xf8\xd6\x5b\x92\x5c\xb7\xea\x3f\xc2\xc2\xae\xa8\x77\x14\xc2\x01\x03\xf4\x42\x02\xf0\x59\x42\x68\x9e\xc1\xa0\xe7\xdb\x40\xf2\xcd\xb0\xfd\xf0\x0c\x87\xf4\x3c\xd8\x66\x6d\x65\x23\xb2\x9f\x11\x56\x44\xd6\xe7\x73\xfb\xcf\xa2\xb3\xff\xf4\x4c\xd4\x6c\x35\xc9\x05\xa0\x1e\xc2\x97\xe4\x02\xc6\xfe\x9a\x65\xc7\xad\xcb\xae\x4d\x81\x0f\x27\x28\x81\x7d\x14\x95\x37\x69\x59\x12\x66\xd6\x17\x16\xbb\xcb\xcf\xf1\x05\x26\x0b\x3c\x48\xf1\xd4\xdf\x93\xb2\xdc\x1e\x5f\xf4\x01\x23\xaf\xc8\x02\x66\xcf\x00\x85\xbd\x20\xb8\x8e\x00\x85\xfe\xd7\x7f\xf8\x43\xf5\x03\xa5\xea\xe7\x1f\x28\xbd\x2a\x7e\xaa\x5f\x0b\x90\xa9\x5f\x99\xf9\xc5\xcc\xaf\xa9\x28\x08\x47\xbc\x82\xec\x58\x84\x1e\xdf\x13\x1f\xc1\x25\x52\xc5\xe6\xe4\x52\xff\x4a\xbf\x14\xe5\xc1\x25\xaa\x95\x17\xa6\xca\xfc\xa3\x48\x6f\x5b\xfd\x1a\x51\x2a\x3e\x46\x94\xd6\xbe\x8d\x01\x53\xed\xd3\x99\xfa\x91\x52\xf3\xe3\x58\xfd\x8a\xf4\xab\xcb\xb1\xfe\x36\xd3\xd3\x14\xb9\x03\xd4\x9c\x88\x7e\xa7\xcb\x67\xa6\xfc\xd2\x7c\x22\x58\xb7\x2a\xd3\xfd\xc8\x87\x2b\x35\x83\x88\xc4\xb0\x3e\x4a\xa4\xeb\xc0\x2b\xa8\x7e\xc5\x89\xac\x30\x46\xb8\x5e\x7e\x6e\x46\x97\x4e\xcd\x2f\xa8\x7f\x4e\xd1\x44\xaf\x07\x9a\xe8\x9f\xf4\x52\x7f\xe6\xad\x69\x08\xc4\xea\x17\xd0\x0b\x42\x2f\x20\x8b\x66\xa2\x67\x11\xb7\xbc\xd6\xf7\x55\xa2\x27\x7f\x95\xd0\x2b\x03\xc0\x4b\x51\xe5\x2a\xa9\x2f\x41\x42\x74\x77\xec\x4a\x2f\xc6\x5c\xf7\x6b\x52\x1f\xf0\xda\xec\x8a\xd5\x6a\xcf\xd3\x2f\x0c\xbe\xc9\x3e\xe6\xe9\x17\xb5\x52\x69\x3c\x11\xdf\xd2\x78\x52\xff\x96\xea\x5e\xd3\x94\x5d\xc9\x62\x69\xbd\xa3\x4b\x03\x8b\x4b\x1a\xcb\x62\x97\x34\xae\x15\x8b\x49\xa4\x17\x88\x44\xb2\x58\x4c\x22\x51\x6c\xa5\x69\x28\x5c\x34\xa4\x74\x85\x5b\xd1\x1f\xbd\xff\xbf\x43\x09\x7c\x19\x11\x3c\x82\x35\x83\x88\x32\x39\x81\xad\xe4\x04\xfe\xde\x9d\x31\x82\xbf\xe7\x20\x79\x60\xac\x91\x1c\x73\xd7\x16\x45\xe9\x35\xec\x91\x4c\x54\xc0\x60\xdc\x8f\x2b\x32\x85\xf5\xc4\x97\xd3\xd9\x90\x9f\xb1\xc7\xe7\x56\x3c\x74\x3b\xab\xa7\x48\x84\xe9\x3f\x27\xde\xeb\xd7\xaf\x5f\x7b\xff\xfa\xd7\xbf\xfe\x15\x7a\x3f\xfc\x30\x9c\xcf\xfd\x20\x9c\x13\x11\xde\x2b\x67\x51\x0f\x06\x22\xae\x7e\xd2\x13\xee\x2c\x73\xc0\xf8\xa9\xb1\x05\x36\x99\xc9\x3c\x07\x0c\xde\x10\x95\xa6\x10\xc3\x0c\x30\xd8\x47\xf1\x2d\xda\xff\x95\x47\x64\x37\xad\x4d\x42\xcf\x8e\xce\x1f\xf9\x7d\xff\x11\x87\x72\xfb\x52\x4e\x59\x77\xe4\x9f\xde\x4f\x3d\x67\x73\x9b\xd3\xee\xcd\x4d\x9b\x6e\xb8\xc5\xe4\xdd\x9a\xd2\x06\x48\xdd\xcf\x2b\x7c\x1b\xa8\xe0\x06\xb0\x82\x6b\x80\x85\x68\x1f\x64\x19\x58\x76\x87\x98\xa9\xf1\xb0\xc0\x86\xe8\x89\x9c\x67\xc7\x36\x55\xf9\xf5\xe0\x53\x44\x7b\xc7\x0a\xde\xfa\x90\xca\xc0\x46\x93\x9e\x18\x9f\x1e\x67\x91\xc1\xdd\x63\x7b\x68\xd2\x3b\x5d\xce\xc7\x24\x19\x20\xc6\xa9\x1c\xc9\x3c\x84\x3d\x63\x3d\x1a\x38\x5b\x94\x37\x2a\x11\xe8\x7e\xff\x28\x24\xa3\xfd\xe3\x10\x8d\xe4\x55\x56\xa4\x4d\x9f\x90\xac\xc7\xcb\x80\x30\x19\xb1\xb3\x4a\xfb\xe7\xbd\xe0\xdb\xfd\x1e\x1d\xf5\xc0\x28\x19\x60\x78\xc5\x7a\x41\x30\x88\x09\x16\xb9\x8d\x95\xbf\x2b\x18\x88\x59\x06\xe1\x3e\xfc\xf8\x51\xbb\x7a\x8a\x08\x19\xdf\xf2\x2e\x83\x6f\x8b\x9c\xeb\x84\x0f\x01\x8d\xd8\x4a\xd9\xdf\x5c\xf3\x01\xec\xd3\x83\x83\x64\x20\xc7\x5e\xfc\xea\x05\xa6\x10\x9a\xf4\x48\xc0\x66\x19\x59\x78\x68\x65\x58\x9a\x95\x98\xde\x9e\x7c\xcf\x19\x9c\xf7\xcb\x54\x5a\x49\xf6\xfc\x97\xd2\x56\xce\xe3\xa7\xca\x3c\x65\xfc\xe2\x27\x82\x30\xe5\x11\xcb\x33\xe8\x61\x82\xfb\x62\x86\xe3\x04\x7a\x48\x68\x7c\x22\xe8\x07\xab\x55\x2f\x58\x73\x2d\xaa\x9b\xf8\xc2\x1e\x0b\x1f\x1b\xeb\x48\x7c\x76\x74\x3e\x1a\x8d\xf0\x5a\xaa\x8f\x68\x1f\x93\x1d\x3a\x22\x7e\x46\xaf\x3f\x1b\x7a\xc9\x81\xec\x73\xfc\x3a\x0e\xce\x8e\xd6\xe3\x13\xc1\xb0\x4f\x26\x5d\x79\x41\x34\xe9\xf5\x1c\xb9\x6e\x8c\x39\xaf\x0c\x73\x16\x88\xe4\x37\x4a\x04\x36\x7a\x1c\xe8\xd5\x34\x5c\xe4\xf1\xb7\xf8\xbf\x74\x81\x6f\xf1\xa3\x47\x01\x9a\xf4\xd8\x19\x3e\xe7\xeb\xa3\x66\x70\xa4\x36\xc7\xfe\xf1\x36\xcc\x21\xa2\x6f\x30\x7c\x33\xb9\x21\x5b\x98\x6c\xc0\x64\x25\x0f\x8d\xc9\xda\xa0\xb9\x46\x35\x42\x31\xf9\x0d\x98\xac\xe4\xc1\x31\x59\xc9\x06\x4c\x56\xb2\x96\xc9\xc2\x84\xf5\x37\xb9\xbb\xca\xf2\x0f\xef\xfe\x8a\x09\x7b\xf1\x7b\xe7\x16\x45\xe9\xf5\x90\xdb\x08\x6c\x0f\x0f\x60\x9b\x80\x6b\x0d\xb0\x88\x53\xa9\xe7\x86\x15\xa9\xc6\xad\xbe\xef\xa0\x12\x7e\x12\xdd\x9a\x23\xd9\x1a\x40\xa5\x30\x9b\x90\x6c\xbe\x13\x55\x44\x88\x75\xcf\x8d\x72\x7d\xd3\x5d\xf1\x8b\x57\xdb\xe6\x94\x53\x0d\x68\x89\xfe\x9a\xb3\x0e\x3b\x2d\x8b\x0d\x14\x92\x3c\x03\x89\xb0\xf5\xac\xc3\x01\xe1\x89\x4c\x32\x7d\x98\xa0\xb1\xa3\xca\xa7\xb2\xdb\xd0\x3d\x67\x10\xc4\xfd\x14\xb0\xd9\x67\x56\xf8\x33\x2b\xdc\xe5\xa6\x15\xd2\x11\xbf\x64\x85\x44\x5c\xb2\xca\x5e\x69\x53\xc8\x7a\x34\x24\x41\x3b\x95\xa0\x08\x4f\xf3\x04\x64\x1b\xed\x10\xbb\xd2\xa7\xde\x23\x9c\xf6\xdc\x89\x30\xb3\xb2\x91\x0a\xf1\x66\x75\xe3\x3c\x61\x43\xf9\x6a\x92\x91\x79\x8f\x05\xab\x1e\x13\x99\x43\xf9\x42\xd1\x11\x1c\xd0\x04\x45\xb0\x77\x5c\x5c\x93\x07\xbf\x72\x6a\xbc\x54\x9e\x6a\x38\xac\x78\xb2\xd7\x36\xe6\x75\x71\xf1\x38\x0a\xf1\x48\xbd\xd7\x0e\xa2\xdf\xc2\xe2\x0e\x02\x1f\x3d\x0a\xf0\x19\x3c\x1f\xb1\x33\x58\xe8\x90\x57\xa5\x81\x9b\x51\xd2\x60\x0d\xae\x30\x34\x87\x7d\x30\x25\xad\x4e\xcf\xb1\xcb\x4e\xcf\xa5\xd6\x2e\xf4\xef\xbc\xdd\x93\x29\x11\x3a\x4f\x0d\x15\xb3\x97\x44\x7b\x23\x11\x6a\xb4\x87\x47\xbe\x1f\x84\x78\x9b\x33\x45\xf5\xd1\xe9\x34\x69\x86\x80\x70\xac\x45\x18\x31\x04\x92\x16\x7f\x87\x6d\x14\x0d\x82\xb4\xc1\x91\xef\xf9\x22\xa4\x77\x5d\x03\xc1\x3f\xf4\xe0\x80\xe6\x63\x19\xf2\xa5\x77\x14\x1e\x07\x8f\x70\xe5\x45\x30\x60\xe4\x43\x9a\x6a\xa5\xf1\x36\xa0\xe2\x93\x7c\xa9\xe6\x78\xc3\x9b\xe6\xd5\x26\xdc\xda\xd5\x83\x63\xd7\xae\x36\xe0\xd7\xae\x1a\x19\x36\x85\x4f\xd2\xf0\xae\xd1\xd4\xc7\x6d\xcc\x63\xd5\xed\x4f\x00\x27\xd4\xcb\x4f\xee\x08\x35\x38\x79\xfb\x36\x24\x23\x2a\x43\x70\xa3\x11\x75\x18\xd3\xa8\x9c\x7d\x27\x69\xea\xfd\xac\x67\x57\x8c\x7d\x28\xb8\x4a\x55\x36\xe8\x91\x10\x05\x4e\x83\xf3\x2a\xa4\x92\xf6\x28\x0c\x2e\x1f\xa5\x76\xca\x64\x32\x73\x27\x64\x0c\x92\x17\x97\x20\x19\x95\xa2\x1c\xe8\xef\xe0\x37\x70\x75\x0a\x59\x9e\xf6\xae\xa3\x8c\x50\xfa\x9c\xcc\x01\x52\x29\x53\x64\xd0\xc0\x8c\x0e\xaf\x7d\x06\xaf\x98\xa7\x32\xd9\x0f\x5d\x8a\xb1\xd5\x6a\xa5\xe3\x91\x16\xe4\xd0\x0c\x76\x8f\x0d\x32\x38\x45\x94\x89\xdc\xe2\xc6\x18\x9f\x77\x25\xa2\x09\xea\x50\xf6\x03\x90\x33\xf2\x1c\xd1\x88\x5c\xc2\x6c\xb4\xa5\x64\xc9\x80\xb6\x44\x22\xd5\xba\x95\x60\x6d\xad\x1b\x5e\xbf\x4c\x3a\x0b\x4e\x47\x62\xc9\x54\xd2\x1a\x15\xed\xd3\x0f\x4d\x1a\x9d\xd0\x57\x79\x6c\x86\x45\x62\x9d\xa2\x74\x44\x30\xcb\x48\x92\x88\x82\x5d\xab\x14\xae\x83\x2d\x35\x6e\x08\x4d\x58\x87\xa6\xe9\x4c\x04\xf1\x1c\xea\x34\x02\x25\xc8\xba\x3d\x2e\x4a\x90\xed\xe0\x78\xb7\x0e\xb6\x56\x13\x55\x04\x6b\x04\x6e\xe7\x3a\x05\x74\x3b\x56\x31\xc9\x95\x3a\xd7\x50\x8b\xd5\xbd\x82\x70\x51\x5f\x53\x7c\xf7\x0b\x6e\xf5\xa6\x96\xbc\x69\x43\x75\x5b\x76\x06\x10\x86\x59\x3f\x86\xe3\x7c\xda\x07\x31\x48\x99\xdb\xd4\x39\x83\x94\x24\x97\x30\x3b\xd4\x3f\xe8\x61\x94\x00\x4a\x51\xd4\xd8\xca\x0e\xd9\xf9\x62\xf2\xee\xf1\x5a\xd3\xae\x85\x54\xb0\xed\x48\x3f\x7e\x2c\x9e\x8e\xce\xab\x44\xd1\xd5\xb6\x22\x91\xc5\x91\x52\xc1\xe5\xe6\x2a\x22\xc4\xa4\x8a\x07\x6a\x2f\x92\x46\x8d\xf5\xcb\x53\x93\xb0\xac\x11\xc0\xec\xee\x02\xa3\xe0\xed\x18\x80\x1b\xd2\x9d\x27\x13\x03\x06\x5c\xb3\xe0\xef\x0f\x45\x6c\xe3\xbe\x81\x6a\xe9\xe3\x2d\x60\x93\x3d\x22\x7b\xdf\xd8\xfc\x5a\x97\x39\xcd\xc0\x7c\x0e\x33\x7e\x2b\x70\xcd\xac\xf8\x6a\x3b\x9d\xbb\xfd\xeb\x77\x37\x2b\x7b\x4c\x37\x5c\x32\x8a\xe6\x69\x02\xfb\x32\xab\xdf\xa6\x16\xe3\x56\x65\x55\x2c\xcf\x74\x3c\x87\x7a\x89\x52\xef\x12\x1b\xcc\x81\xb6\x51\xf1\xbe\xa6\xe6\x3b\xcf\x35\x58\x82\x72\x09\x34\x2e\x30\xab\x2b\x1b\x2a\x58\xb2\x33\x47\x55\xe9\xef\x8f\x06\x63\x40\xe1\x87\x77\xaf\x2c\xfe\x2d\x23\x84\x7d\x78\xf7\xea\xe3\xc7\xe2\x95\x2a\x64\xf9\x66\x24\x04\xc4\x3d\x24\xec\xa4\x69\xc1\xf9\x32\xf1\x82\xd8\x2f\xba\x2c\xf9\xa5\xcc\x5e\x74\x03\x46\x40\x67\x1f\xb1\x18\x20\xf3\xaa\xe9\x54\xef\x5e\xc7\xe2\x1e\xba\x56\x12\xf1\xa9\xd6\x95\xdf\xfd\x49\x5d\x74\x77\xf3\x83\x5a\x85\x64\xb6\x5a\xe8\xcb\x7b\x45\xf7\x1d\xd9\x72\x5b\xe9\x70\x52\xa2\x49\x6f\xff\x78\x7f\x54\xf2\xf9\xe1\xbd\x9e\x14\x23\xfa\x5e\x0c\x48\x89\x64\x78\x05\xdf\x08\x1e\xfc\x7d\xed\x5e\x20\xf3\x4a\x07\x78\x24\x7f\x88\xbc\xb9\x5e\x43\x59\x39\xc3\x00\x8f\xe4\x0f\x93\x63\xd7\x2a\x6b\xdc\x16\x28\x4c\x26\x4a\x78\xbc\x87\x47\xfc\x69\x25\xae\x96\x21\x59\x3f\xe4\x3d\x3a\xf2\x55\xe8\x5b\xd3\x1e\x79\x42\x86\x25\xc3\x5e\xc9\xec\x4c\x96\x3d\x2b\xc6\xab\x40\x8a\xb7\x19\x9c\xa0\xab\x20\xc4\x67\xf4\xfc\xe3\xc7\x1e\xff\x33\x62\x22\xc9\x0e\x49\x21\xee\x5d\x5b\xd1\xee\x36\x0b\x2b\x25\x13\xc9\x78\xbc\xc1\xd5\x2a\x08\x56\xbb\xbf\x8a\xb5\x60\xd5\x66\x17\xb3\x84\x4c\xa7\x37\xb9\x97\xe9\xfa\x66\x5f\xaa\x17\x4d\xe4\xa2\x5b\x79\x8b\x54\x34\x56\xd8\xfd\xb6\xd7\x5d\xdd\xec\x42\x26\x20\xd3\x97\x73\x21\x5b\x40\xd6\x86\x96\xca\x75\xa1\x7f\xb4\x5d\x7d\xdc\x45\x77\x0f\xa4\xea\xf4\x36\x03\x8e\x81\xe9\xb6\xf8\x56\x30\x15\x1a\x1f\xf4\x9b\x46\x0c\xea\x5a\xa5\x00\x7b\xb7\x1a\xfa\x70\x6a\x29\xbd\x7b\xf0\x9b\xce\xb6\x3c\x99\xa4\xba\xa9\xbf\x29\x7f\x5f\x94\xef\x53\x46\x32\xd8\xc0\xa5\xdd\x21\x6f\xdf\x3c\x31\xed\x00\x7b\x2b\xfa\xa2\xd2\xa0\x8b\x9e\x1a\x38\x4a\x87\xd7\x1e\x67\x02\xc9\x45\x9e\x3e\xd1\x3f\xcc\xa6\x1e\x16\xed\x05\x43\xa3\xcd\x13\x59\x92\x7b\x2c\x68\x2b\xdd\xc4\x2d\x36\xc3\xa8\xf1\xa6\xe0\x62\xdd\x5d\xcd\x94\x79\xf8\x0c\x72\x2c\x91\x58\x79\x5b\x18\xd2\x85\x83\x2f\x4b\x94\x9b\xd8\xe8\x52\xf2\xf3\x5b\xd3\x29\xbe\xe6\xbd\x0c\x22\x11\xe5\xa5\x77\xbd\x26\x81\x37\xa2\x76\xd4\x2a\x13\xb3\x6a\xff\x28\x7c\x59\xfa\x62\x22\x57\xed\x1f\x57\xbe\x88\x48\x55\xfb\xc7\x9b\x07\xc5\xdc\xab\xc6\x3c\x2d\xe4\x56\x76\x66\x37\xf7\x08\xfd\xb0\x9e\x90\x15\x58\xe5\xfc\x40\x04\xbe\xb5\xab\x0e\x74\xdd\x52\xa0\x6c\xe7\x2c\xb7\x69\x5d\xd7\x6d\x6e\x9d\x43\x6a\x9b\x96\x79\xbd\xa6\x30\xbc\xe5\x3c\xfb\x9f\x08\xa7\x4c\xb6\x9f\x61\x55\xb9\xd3\x12\xa3\xbf\x1e\xbf\x1f\x9a\x6c\xc2\x65\xf5\xa3\x2e\x88\x83\x01\xcb\x10\x67\x95\x7a\xbe\x88\x35\xe9\x07\xab\xb0\x92\x13\x79\x58\xde\xf3\xa5\xe4\x04\x50\x86\xd6\x77\x26\x27\x28\xb4\x2f\x22\x8d\x4e\xb5\x1b\xdd\xd1\x73\x39\xfa\xa1\xab\x9e\x33\x0f\x81\x78\xf3\x03\x8a\xd7\x55\x91\x39\x0d\x54\x79\x91\x5b\xa7\x53\x85\xf6\x24\x08\x56\x96\xaf\x0e\x70\x69\x00\x8b\x4c\x2f\x5b\x6a\x0c\xdf\x00\xca\x95\xe6\x2a\xa0\x71\xb5\xc6\x67\xda\xb9\xb1\x18\xae\x1b\x5c\x73\x82\x8a\xa2\xc1\xd6\xbd\x25\x23\x63\xdf\x6a\xa2\x85\xf2\xf6\x6a\x0d\x6e\x2e\xc8\x47\x3d\x7b\xab\x18\xe4\xf2\x83\xd0\xf3\xb0\x40\x06\x48\xff\x07\x70\x50\xe4\xf6\xaa\xfe\x02\x20\xe6\xab\xfa\xcf\x09\x86\x9b\xd6\x8f\x45\xda\x6d\x3b\x86\xf1\xcd\x27\xd3\xbe\x3c\x3a\x28\xdb\xa7\x5a\x9d\xd6\xc1\xe8\xdc\x47\x9f\x6a\x30\xe5\xe4\x46\xf5\x9c\x27\xdd\xb2\xf8\xe9\x2d\xf3\x9f\x67\x9c\x1b\x56\x21\x46\x47\xbe\x49\xe4\xf4\x9f\xce\x34\xc4\x26\x26\xf0\x98\xc4\x4b\x2b\x53\xf1\xb5\x4c\x72\x40\xb2\x61\x63\x7b\x61\x0c\x13\xb0\x1c\x3e\xfe\xeb\x91\x4c\x20\x58\xce\x32\xef\x4a\xdd\xb2\xd1\xd0\x78\x83\x7c\x92\x6f\x49\x2a\x22\x04\xee\x18\x2e\xa9\x6c\x56\x74\xae\x7e\xb7\xc1\x45\x17\x69\x84\x4b\xd1\x9e\x1b\x2e\xcd\xd3\x68\x85\x4b\x7d\x68\x4d\x1b\x89\xc4\x30\xa1\x87\x76\x42\xf8\x86\xdb\x99\xd6\x67\x5a\xaf\x00\x63\x55\x35\xde\x36\x56\x1e\xad\x31\x83\xac\x1c\xdc\xbd\xa3\x42\xaa\x1d\xf4\xb4\x4c\x2e\x08\x45\x51\x7e\x25\x68\x2c\x31\x41\x09\x6c\x69\x80\x7f\x16\x5c\x7f\x53\x81\xdf\xc8\xb8\xf1\x1b\xc9\xa6\x2d\x4d\x47\x2a\x00\x6a\xf9\x7b\x10\x66\xf0\x12\xd1\xfa\x7b\x77\xec\x62\xb5\x48\xe3\x84\x44\x17\xf7\x6d\x7d\xda\xa7\x6f\x72\xa6\x37\x15\xc8\x69\xeb\x67\x95\xa7\x49\xc4\xa0\x6c\x2a\x93\xea\xb0\x9d\x4d\x05\x64\x56\xb0\xa6\xaf\x22\x16\x6a\x33\x6a\x45\x30\x4b\x59\xdb\xf0\x6b\x83\xc7\x39\x5f\x01\x3f\xbc\x56\xaf\x44\xaa\xc1\x21\x87\x63\x06\x16\x4f\xeb\xbd\x05\x32\x0d\xc0\xb4\xf6\x9a\x83\x38\xc3\x20\x39\x25\x79\x16\xd5\x26\x30\x26\x24\x81\x00\x57\xfb\xd9\x3f\x5e\x71\x84\x56\xe1\xf9\x1b\x07\xae\xc3\xed\xef\x12\x71\x1b\xa9\x8b\x4e\x17\xd5\x17\x51\x6d\x6b\xc2\xb9\xfb\x8f\xc6\x7a\x02\x2d\x45\x16\x33\xd2\xfe\x75\x6d\xe3\x3f\x23\xb8\x68\x5a\xe4\x20\x6c\x5d\x2c\x9d\x5a\xa8\xb1\x7a\xa7\xe5\x79\x58\x6b\xb2\x96\xb4\xe8\x69\xed\x0a\xc5\x43\x7d\x14\xd1\xda\x17\x4e\xc5\x6a\x6f\x5b\x61\x1e\x93\xa8\x4f\x45\xc8\xe9\x7e\x06\x69\xee\xf6\x93\xbc\x6f\xc0\x2f\x40\xd0\xf8\xa1\xa5\xce\x69\x92\xd7\x69\x1c\x03\xd3\x3a\x38\xdd\x54\x37\x08\x11\x83\x73\x47\x07\xfc\xb5\xe3\x00\x08\x42\x61\x5d\xe3\x7e\xeb\x68\x46\xbc\x77\x0f\x52\xc7\x1d\xaf\x7e\x50\xd6\xa7\xae\xc6\xdc\x3b\x72\x2d\x52\x08\x48\xf5\x81\x0a\xa2\xfe\x10\x90\x62\x83\x1d\xd9\x81\x97\xe3\x87\xf9\x9a\xcf\xef\x5b\x8f\xf3\x35\x0c\xc5\x0e\x4e\x46\x60\x47\xb8\x77\x9f\xfd\xcd\xb4\x45\x57\x96\x11\xba\xab\xe9\x8c\xec\xa6\x1d\x29\xa2\x7c\xbf\x9a\x0d\xd8\xc8\x4c\x75\x2c\xb7\x52\x86\x5f\xd3\x94\x8a\xe8\xe6\xc1\x41\x35\x44\xff\x40\x47\xe8\x67\x23\xff\x24\x8e\x61\x6c\x87\xb8\x72\x95\x17\x81\xc0\xd9\xc8\xe7\xa7\xd5\xfa\xd2\x2a\xdc\x3f\x1b\xf9\xf2\xd7\xba\xf2\x3a\x2b\x00\x1b\xf9\xea\xe7\xba\x1a\x26\x42\x3a\x9f\x80\x8e\x77\xbe\xae\x8e\x8e\x4d\xce\xeb\xa8\xdf\xeb\xe7\xad\xf2\x11\xb0\x91\xaf\x7f\xaf\xab\x53\x4f\x5c\xc0\x46\xbe\x79\xe9\xe9\xb7\x9d\x9b\x91\xb9\x0e\x4a\x6d\x88\x57\xeb\xc7\xae\x02\xb0\x8b\xb1\xcb\xdf\x9d\x3b\x2d\xf5\x67\x22\x9b\xb1\x55\x81\xcb\xcf\x48\xe2\x48\xcd\x75\xb7\xb8\x1c\xf1\x31\xf5\xc7\x49\xbe\x16\xba\x1a\xa1\x75\x0d\xb0\x1e\x9e\x05\x56\xcb\x4a\xd3\x0c\x42\xbc\x01\x6a\xcb\x5a\xd9\x66\xc8\xad\xbb\x02\xcb\x4d\xd0\x7b\x83\x01\xda\x18\xde\x79\x84\x75\x14\xef\x8e\xc5\x9b\xac\x51\x81\xc0\x9b\x0f\xad\x0a\x07\x0b\x87\xbb\x1d\xc7\x0f\xf5\xda\xd2\xe1\xbc\xdd\xfe\xda\xd2\x7a\x46\xea\x9e\xf9\x4e\x69\xbe\xd3\xe8\x52\x3a\xc5\xcc\xda\x82\xef\x48\x02\xbb\x35\xc9\x4b\xae\x6b\xb6\xd3\xe2\x37\xae\xb8\x58\xde\xa6\x1c\xe9\x0e\xdc\xa8\x9b\x9a\xde\x08\x17\x68\x0d\x17\xf4\x82\xc0\x35\x82\x0c\xe7\x77\x25\xe1\x72\x7e\x4b\x88\x12\xdf\x37\x15\x30\x58\xe8\xfc\x6a\xb3\x85\xce\x02\x05\xcb\xe6\xfc\xac\xaf\x08\xee\x8f\x16\x6b\x0e\x9d\x18\x91\x9a\xf4\x3d\xd5\x32\xcd\x82\x1a\x9d\x7a\xa6\x7b\x8d\xc4\xa4\x70\xe9\x54\xe5\x78\x65\x2e\x0f\xb0\x36\xf3\x62\xec\xa5\xfb\x85\x73\xfe\xaa\xc4\x9b\x2c\x86\x59\xf7\xd1\x4e\x33\x92\xa7\x2d\xad\xda\xb7\x17\xd7\xc8\x5c\x32\x27\xca\x6f\x4e\x55\x26\x40\x64\x74\x0c\xeb\x4e\x8a\x85\x75\xf2\x1c\x5c\x88\x4b\x97\x75\xdc\xab\x1c\x91\xab\x12\x17\x0d\x1b\x6e\xe8\xa5\xf7\x88\xca\xfc\x39\xd5\x61\x98\xd5\x69\xcd\xbb\x6a\xf3\x20\xfa\x88\x30\x1f\x8b\x26\x82\xd1\x88\x0d\x4c\xca\x9e\x81\xe8\x71\xc5\xfb\x16\x39\x7b\x3e\x65\xd7\xbc\x43\x1b\xf7\xdc\x97\x8a\xcd\x47\x50\x63\xc0\xac\x11\x28\xee\xab\x06\x81\xa1\x1e\x76\xf5\x83\x18\xd4\x5e\xad\x92\x00\x96\xa3\x8e\xc9\x69\x54\xaf\x62\xb8\x21\x47\xb5\x52\xe6\x23\x75\xc0\xfb\xfe\x9a\x03\x5e\x52\xa6\x3f\x09\x85\x6f\x27\xc2\x6b\x68\xec\xa4\x48\x75\xd7\x89\x88\x3c\xde\x8e\xe4\x25\xe8\x02\x36\xd3\x72\x90\x24\x64\xf1\x4a\x14\xa9\xe3\xf0\x05\xa4\x2e\x42\x62\x92\x20\x97\xf3\xc3\xca\xf2\x41\x70\x70\x50\x8f\xb5\x56\x2b\x74\x4b\xc4\x6b\x0e\xb2\x8b\x13\xfa\x0e\xf2\xf9\x09\x62\xda\x71\xf7\x15\x26\x44\xc5\xaa\xf8\x21\x1b\x14\xe9\x08\x07\x26\xf5\x60\xb0\x52\xdd\xe8\xb4\x84\xbb\xec\x43\xb4\x58\xf4\x20\x33\x20\xee\xb0\x03\xd1\xa0\xb0\x37\x00\x19\x8c\xff\x81\xd8\xac\x46\xd0\x37\x3c\x00\x5a\x77\xbb\x38\xf4\xfa\x73\x28\x91\xf3\x21\xf1\xf1\xd6\x71\x7d\x47\x32\xaf\x49\x9e\x24\xa2\x40\x75\x8f\x14\x89\xa0\x43\xdf\xa4\x70\x76\xec\x99\x02\x4b\xac\xd4\xd1\x8f\x7c\xcf\x7f\x64\xed\x47\x93\x02\x7a\x0d\xdd\x16\xf0\x78\x58\x4b\xd8\x0a\xdd\x34\xcf\x84\xa5\xd9\xae\x14\x15\x12\xc7\xab\x72\xf5\x66\x7e\xb0\x15\xd8\x24\x9b\x02\x8c\xfe\x70\x44\x3f\xb8\x7b\x98\xb7\x6b\x76\xe7\x90\x52\x30\x6d\xfe\x2e\x92\x84\xb7\xa9\x9e\x15\x73\xfd\x02\xc7\x29\x41\x35\xa5\x47\xe5\xe0\x3a\xc1\x04\x2f\xe7\x24\xa7\x27\x51\x04\x69\x0d\xf8\x6d\xac\xf3\x1c\x5c\xbd\xaf\xeb\x41\x1a\xd6\xeb\x8b\xd5\x6e\x95\xb3\x29\x98\x42\xdb\xa9\xf6\x7e\xad\x70\x5a\x5f\x40\xbe\xb0\x0c\xd4\x5e\xa6\x2a\xdd\x67\x4d\xb9\x2e\xf2\x83\xbe\x75\x7e\xb5\xae\x5a\xb2\xd8\xc9\x02\x20\x86\xf0\x54\x25\x0b\x5d\x53\xda\x88\xa5\x1a\xcb\x71\xca\xfc\x03\xa0\xcf\xba\x8d\xa1\x54\xba\xeb\x50\x4a\x95\x3a\x8f\xe8\x27\xb8\x78\x0b\xd6\x0f\x69\x3d\xe6\xf0\xb5\x58\xc7\x41\xaf\xe5\x94\x6f\x84\x34\xd8\x89\x34\x2d\xcc\x6e\x59\x2c\xb6\x7b\x66\xda\x32\xf3\x28\x33\x33\xc6\xcc\x03\x96\xb5\x9d\x55\x33\x8f\xae\x57\xee\x5d\x72\x47\x62\x31\xd5\x1e\x7a\xb8\x44\x80\x2c\xb0\x94\x83\xb8\x49\xfa\x67\x52\xb0\xc9\xde\xbe\x6f\x68\xd0\x41\x9c\xbd\xc6\x8c\x67\x17\xd6\x64\x09\xbc\x84\x35\xae\xa1\xf9\xca\x4b\xe1\xef\x39\xc4\x75\xf3\xad\x86\x1a\x47\x8f\xbf\x5c\x05\xa1\xfc\xe8\x40\x90\x82\xc6\xf0\x2d\x2e\xac\xac\x3b\x5b\x9f\x09\xf3\xc1\x16\xe8\xdc\xc0\x4c\xce\x6d\xd8\x66\x73\x62\x8e\xbd\x4a\x19\x60\xf9\x06\xe3\xcf\x60\x02\x18\xba\x6c\x33\x0f\x58\x73\x11\x62\x60\xfa\x93\xeb\x12\x23\x96\xd4\x71\x6b\xf1\x67\x8f\x7d\x8e\x93\x24\x7a\x89\x63\x88\x1d\x72\xc5\x86\x8a\xde\xe3\xa3\xff\x63\x0b\x1a\x44\xb1\xa0\x7f\x1c\xd8\xad\x3d\xa3\x75\x39\x87\xf9\xe8\x1a\xcd\x1c\x64\x53\x84\xfb\x09\x9c\xb0\xbe\x7d\x6f\x2a\x2a\xf1\xf6\x67\x80\xbe\x33\xc8\x51\x6d\xdf\xa0\x4d\xfb\x1d\xad\x28\x16\xfc\xf7\xd1\xe6\xfc\x66\x88\x34\x7f\xf1\x81\xc2\x4c\xd3\xba\x7a\x54\x32\xdf\x1f\x8d\x46\x76\xaf\x7a\x81\xfd\xe0\xe0\xa0\x78\x2f\x57\x55\x7a\x47\x1d\x1c\x58\x70\x95\x18\x24\x3f\xb8\xa4\x10\x03\x2b\x37\xfc\xa0\xc8\xf5\xfe\xf1\xe3\x96\x4d\x58\x79\xe4\x83\x55\x31\x49\xf9\xe6\x1d\x04\xf1\xb2\x1e\x8f\xaf\xe3\x1c\xb7\x1d\x47\xbb\x59\x77\x8a\xee\xdd\x95\xad\x9d\x42\xaf\x93\x64\xec\xc0\xc2\x68\x33\x82\xfc\xcd\x37\xab\x20\x4c\x51\xb3\x69\xf9\xe6\x5b\xe3\x54\x58\xa5\x55\x77\x66\x31\x72\xd7\xd6\x2f\x23\x91\x55\x36\x10\x9a\x87\xe7\xda\x2c\x6f\xc3\x56\xf7\x9b\x5b\x6d\xc7\x2b\x2d\x7f\xec\xcb\x15\xe9\xa7\x20\x63\x28\x42\x29\xb8\x7f\x0e\x04\x6b\x50\xaa\x5d\x08\xb0\x03\xd1\x59\xbb\x5c\x6d\x1d\x42\x97\x05\xf3\xdd\x0e\xca\xfb\x25\xac\x73\xf8\x68\xdd\x07\xb4\xf8\x04\x9e\x05\x31\x94\x01\x39\xdb\x3c\x53\x50\x44\xf0\x77\xa4\x45\xb6\x24\x0a\xa0\x96\x5e\x66\x80\xbe\x9c\xf3\x0b\x52\x75\xb5\x75\xd3\x7e\xe8\xeb\x46\xda\x17\xdb\x94\x0a\x74\xe6\x99\x2d\xce\xfe\x76\x5c\xe0\xa4\xef\xc1\x9a\xd3\xac\xdd\xac\xdb\x1b\xd3\x08\xc0\xb4\x3b\x00\x88\x22\xaf\x01\x76\x48\x34\x2b\x85\xde\xb8\x2e\xc1\x0e\xab\x9b\xb8\xe5\xb6\xba\x99\x01\x8f\xb4\x6d\x5b\x5f\xee\x75\x27\x2b\x9f\x67\x24\xad\x5d\x25\xea\xa5\xde\xbb\x8d\xb2\x6f\x62\x5e\xf4\xca\xd6\x68\xb6\x17\x55\xa1\x85\x9b\x0b\xb6\x92\xfd\x76\x01\x7d\xfb\x1e\x2a\x42\x97\x6e\xb8\x77\x9a\x34\xd9\x3b\x56\x5b\xd7\x77\x15\xc8\xd9\x8c\x34\x4b\x65\x62\x27\x79\xe9\x42\x3c\xdb\xc9\x2f\xdb\xe8\xd0\x74\x6a\x80\x45\x07\x2e\xa2\x59\xe8\xe6\x1d\x2a\x60\x59\xab\x6a\xc0\x72\x63\xe2\x29\x22\xc2\xdf\x57\xcf\x00\xbd\x2f\x7e\xea\x62\x15\x78\x23\xaf\x1e\x82\x59\x86\xc6\xb9\x43\xb2\x55\x18\x45\x09\xdb\xf4\x0d\x59\x76\x4b\x9d\xa3\xed\x67\x9b\x85\x2f\x6e\xd1\x5a\xd5\x2a\xab\xa5\x44\x9c\x81\x49\xeb\x18\xb4\xad\x4b\xb3\xce\x50\x5b\xb7\xb6\x30\x06\xcf\x2c\x60\x55\x71\xdb\x02\x64\x3b\x5b\x60\x17\x2c\x71\x06\x33\x40\xa5\x17\x40\xad\x6d\xb9\x00\xed\xcd\xaa\x32\xd5\x16\xb5\x0d\x77\x6d\xb8\xf2\xfd\x9a\xa1\xaa\x42\xd5\x46\x8d\x45\x74\xcd\x48\x5d\x5b\xff\xb7\x36\x6b\x4a\x55\xdb\x35\x32\xd6\xba\x9c\x45\x59\xd9\xaf\x11\xb3\xa8\x52\x35\xb0\x1a\xfc\xa9\x41\x56\x7f\x59\x03\x5c\x53\xac\xda\xf4\x73\x85\x78\xb5\x9b\xa2\x7c\xdf\xde\xac\x2e\x54\x83\xaf\xc6\xd6\x1a\x7c\xb5\x47\x46\x3b\x7c\x75\xa9\x6a\xbb\x85\x09\x77\xb5\x61\x83\xfe\xed\x2d\x17\xc5\xec\xa6\xd7\x92\xd9\xfb\x46\x5d\x77\x70\x0d\x6d\xbf\xe7\xea\x44\x23\xcd\xf4\x88\x9f\x3b\x1b\xf9\x20\xc3\x18\xb1\xfa\xa9\xdf\x56\x03\xc4\xf3\xba\xa0\xa5\xad\x02\x27\x21\x1f\x1c\xae\x97\xed\xbd\x60\x90\x2c\x19\x8a\x36\xaa\x24\xe3\x5e\x6e\xd4\x4d\x14\x91\xdc\xe5\x2b\x2a\x8c\x57\xea\xaf\xf9\x02\x36\x30\x95\x5b\xcb\x9a\x3e\xb9\x20\x20\xd4\x69\xe0\x75\x52\x97\x36\x73\x31\xab\xc9\x01\xcb\xd0\xbc\x17\x94\x3c\x82\x8a\x76\xd5\x57\x3b\x2e\x98\xc9\x8b\xc3\x54\x52\x1a\x99\xa2\x06\xda\x4f\x4d\x21\x2f\x52\x12\xcb\x38\x6c\x87\x13\x92\x4d\x09\x3b\xb4\x03\x39\xde\x5a\xec\x96\x67\xa6\x93\x92\x64\xea\x54\x05\xd6\x73\x86\x68\x13\x92\x6f\xc9\x90\x34\xc7\x71\xe3\xa7\x93\xd4\xc2\x07\x45\xe4\x1d\x39\x33\x67\x22\x90\x92\x58\x5d\x75\xef\x07\x03\x59\xe3\x2d\xa0\x74\x41\xb2\xb8\xd7\x1c\x7a\xa7\x06\x3e\x15\x35\xf3\xd6\x20\xf7\x8e\xb7\x5f\x5c\x26\xda\x63\xda\x8d\xe1\x84\x64\xf0\x35\x27\xd3\x1b\x99\x2a\xb6\x04\x65\xdb\x6f\x0c\x26\xa7\x04\xf8\x2c\x03\x98\x22\xde\xd3\x7b\xd2\xf3\x79\xe5\x41\x42\xa6\x22\x32\x6a\x28\x42\x16\x16\x6b\x5f\x89\x57\xc5\x24\x3a\xab\x53\x05\xf2\xb9\x8b\x17\x14\x2c\xdf\xcf\x00\xbe\xa0\x7e\xb8\x7f\xac\x22\x2a\x55\xcd\x3b\x8b\x61\x9b\xfc\x21\xbc\xb2\xf0\x8e\x3d\xa1\x6f\x67\x19\xa0\xb0\xe7\x7f\x27\xd6\xc8\xd3\xeb\xea\x08\x51\x03\xe2\xf8\x59\x02\x28\xed\xf9\x63\x10\x5d\x70\xea\x84\xe3\xbe\x74\x97\x62\x33\x38\x87\xfd\x04\x4d\x67\xcc\x8b\xfb\x93\x04\x5e\x79\xbf\xe5\x94\xa1\xc9\xb2\xaf\xc4\x67\xfd\x08\x62\x06\x33\x0f\x24\x68\x2a\x32\xce\xcd\xa9\x7a\xc5\x27\x1f\x43\xd7\xc0\xab\x03\x90\x81\x6e\x6e\x69\x0c\x1d\x71\xd8\x75\xa9\xde\x75\xba\xb7\xf7\xaf\x5f\x3d\x05\x19\x1d\xe8\xbe\x7a\xd7\x28\x1e\xfa\x93\x7f\xfe\x31\x8e\x8e\x2f\xfe\xe1\x4b\xfd\xec\xf0\x3f\xaf\x7d\x2a\x32\x14\x52\x7f\x78\x76\x1e\x0a\xc5\x10\x14\x51\x07\xfc\xe1\xd9\xd9\x57\xa1\x1f\xa3\x4b\xff\x3c\x3c\x3b\x3e\x0a\x7d\x11\x74\xda\x0f\x05\xca\xe9\x29\x9f\x87\x67\x7f\x3b\x0f\xcf\x8e\x42\xff\x97\x5f\xf0\x2f\xbf\x30\xfe\xa2\xa5\xd6\x98\x5c\xd5\xaa\xb4\xd6\x4a\xc8\x94\xb8\x6a\x14\x95\xd0\x7c\xaa\x2b\xd1\x2c\xf2\x43\xff\x10\x50\x0a\x19\x3d\x44\xf3\xe9\x21\xaf\xde\x4f\xf3\x2c\x4d\xe0\x20\xc5\xa6\xa0\xba\x68\xfb\x26\xc4\xa3\x7a\x0f\x12\xe6\x78\xab\xc7\x82\xe6\xd3\xfe\x24\xc9\x51\xac\x07\xf4\x4d\xe3\xa0\x1c\x33\xc9\xb3\xc4\x9a\x08\xdf\xe0\x10\x33\x14\x01\x06\xbd\x05\x62\x33\x4f\x94\x0f\xcf\x1e\x3f\x0e\xcf\x34\x65\x90\x99\x3a\x7e\x20\x94\xf9\xe7\xe7\xe1\x04\x24\x14\x3a\x7a\xf5\x1b\xde\x35\x02\x14\xe1\xbe\x48\x63\xda\x0c\x56\x3e\x8e\xaf\x42\x5f\x62\x6b\x3f\xd5\xbb\x39\xc4\x79\x92\x84\x67\x67\xea\x03\x2f\x29\xca\x01\x2d\x72\x3f\x7b\x7c\x1c\x1e\x85\x67\xe7\xe7\x61\x51\x84\xd7\x39\x3f\xb7\xc6\xdf\x3a\xf6\xf2\x8b\xea\xd3\x79\xe8\xcf\x00\x7d\x71\x09\x12\x7f\x28\x9a\x5b\xfd\xa7\x54\xf6\x5f\xcb\xe8\xe7\x42\x1c\xd0\x61\xdf\x0d\x66\x63\xea\xaf\xdd\xac\x17\x2a\xcc\xe6\x9d\x9d\xd8\x9d\x07\xf8\x69\xcf\x44\x15\x11\xb7\xe9\x4c\x5c\x73\x64\x5e\x44\x1c\xf7\x9b\xbe\x26\x24\x02\xc9\x29\x23\x59\xa1\x62\xa8\x95\xf9\x3d\x87\xd9\xf2\x2d\xc8\xc0\x9c\x8a\x85\x87\xc3\xeb\x0c\x4e\x32\x48\x67\xf2\x20\xde\x3f\x5a\xad\x8c\x35\xae\xef\xbb\x0f\xe9\x22\x7d\xe1\x0c\x51\x93\x40\x12\x2e\x54\x8e\xd1\x77\xa7\x3f\xbf\x1d\xbc\xcd\xc8\x1c\x51\x58\x24\xcb\xc4\xb2\x12\x1d\xc1\xfa\xb9\x0e\x8b\xc3\xd5\xaf\x07\x1b\x65\x03\x6b\xd4\x03\x5e\x28\x78\x52\x7f\x37\x54\x77\x74\x3f\x08\xf5\x2f\x91\xe5\x60\x6a\x5a\x0e\x0e\x0e\xe0\x9a\x90\xae\xd4\x1d\x2c\xf6\xe3\x47\xcc\x59\x5e\x59\x59\x2e\x02\xe7\xc3\x20\x8b\x78\xd9\x09\x4a\x60\x2f\x18\x70\xa2\x54\xcb\x0d\x6a\xa6\x6b\x6a\xcd\x41\xaa\xeb\x30\x3e\x73\x69\x53\xa0\x23\x84\x8b\x21\x69\xe2\x26\x39\x14\xf5\x44\xb2\xe1\x85\x89\x7b\x4b\xab\xdd\x05\xd7\xb0\xc2\xdc\x48\xf1\x9c\x08\xc6\x6a\x0f\xca\x01\x5d\x91\xa7\x36\x78\xa2\x17\x41\x2e\x3e\xe7\xd7\xe5\x87\x61\xed\x03\x07\x85\xb5\x60\x05\xe0\xb1\x90\x8b\x96\x43\x77\xba\x4b\x3a\xda\x94\x95\x65\xd8\xd0\x32\x4b\x28\x31\x4c\xa2\x6b\xc1\x4b\xc9\x35\x35\xc8\x6a\x7d\x50\x8d\x76\xe0\x8b\x0d\x15\xb8\x3b\xae\x62\xfc\xe3\xd3\xdf\xde\x7e\xfd\xe3\x71\x37\xae\xe2\xcb\xd0\x47\x13\x5f\x9d\x1d\x88\xaa\x5c\xf9\xfc\x99\x9f\x7d\x5a\xe6\x21\x40\xc3\x29\xbe\x64\x6e\xf5\x41\x22\xcf\xa0\xeb\x4a\x93\x47\xa1\xef\x79\x9e\xd7\x7c\xec\x51\x4a\xea\xcc\x87\xa7\xfe\x53\xd5\x52\xf7\xf9\x8c\xf0\x54\x9e\xd0\x7a\x27\x0d\x06\x83\xf2\xc1\x54\x69\xa7\x95\x23\x19\xe7\x74\x29\xc2\x2a\x0c\xa6\x68\x52\x67\x24\x74\x33\x95\x53\x2f\xe5\x34\x02\x32\xbe\x17\x86\x67\xe7\x2b\x09\x0b\xfb\x94\xdc\x10\xa6\x0a\x87\x3f\x31\x50\x35\x00\x3d\x8b\x24\x20\x82\xbd\x09\x40\x49\x9e\xc1\x56\xa0\x9a\x76\x34\x8f\x64\xe6\xa4\x76\x8a\x93\x43\xda\x04\x9c\x5b\x33\x17\xb5\x0d\xd8\x8d\xbd\x10\x78\xdd\xc0\x5b\x84\xee\x48\xee\x3b\x8c\x3b\xdf\xc4\x74\x18\x69\x60\xd8\x7e\xf7\xb5\xe5\x00\xad\x0c\x41\x71\x2e\x84\x48\x66\x3e\x7e\x96\xc1\x98\xaf\x3e\x48\xe8\x70\xff\x38\xcc\x20\x85\xf5\xe0\xc1\xf2\x48\x71\xc6\x63\xd7\x96\x6c\x14\x32\x35\x67\x04\x69\xef\x5a\x8a\x1c\x7d\x3f\xd4\xfc\xea\xd0\x17\xe6\x94\xee\xd6\x44\x84\xf4\x86\x96\x72\x0a\x33\x19\x96\xbf\xd2\x98\x8a\x23\xaf\x15\x4b\x83\x19\x04\xb1\x3c\xc4\x4f\x55\xc0\xd5\x9e\x7f\x96\xaa\x75\x18\xc5\xe3\x19\xa0\xb3\x73\x3f\x18\xa8\xab\xe3\x1e\x33\x52\xe1\x83\x03\xff\xfa\x7a\xf0\xfc\x29\x2f\xb1\x5a\x09\xcb\x28\xc7\xf5\x5e\xf0\x5d\x1c\x82\x2c\x4f\x4b\xa1\x8e\x05\xee\xb8\x25\x0e\x7b\x68\x62\x29\x07\x1b\x42\xda\x07\x36\xf7\xc3\x4b\x5a\xd3\xf7\x05\x20\x7d\xbe\x4b\xf4\x2d\xde\x12\x5a\x74\x3b\xe5\x63\x13\x3b\x1f\x56\x4f\x79\x58\xc8\x86\x5c\x73\x35\x47\x7e\x08\x57\xc1\x40\x26\xba\xb7\x71\x43\x4b\xe4\xaa\x98\xe4\x87\xfb\x47\xfc\xe4\x6d\x99\xbd\x5c\x72\x9d\xa5\xdb\x35\x73\xbd\xf0\x37\x9b\x7c\x12\x83\xd4\x0f\xf1\x27\x9e\xf8\x7a\x46\x41\x12\x9c\x7b\x25\x3f\xbb\xf9\x65\x80\xce\xc8\xe2\x95\xd8\x0d\xfb\xc7\x9f\x88\xd3\x57\xf1\x0a\x5a\xf9\x70\x15\xb7\xa0\x81\x17\xd7\xec\xa8\x19\xbc\x10\xbc\xd5\x98\x73\xb1\x60\x35\xae\xbc\xce\x26\x0b\x19\x60\xc1\x58\x5f\xd7\x2f\x48\x8a\x89\x5a\xad\x24\x8b\x1a\xda\xf3\x64\x03\x30\x26\x19\x93\x1e\x43\x94\x24\x90\xf7\xdb\xc3\x7c\x38\x1b\x77\xa3\xf8\x0a\x81\x8a\x2a\x5e\x92\xc2\x0e\xd7\x94\x8f\xe4\x68\xda\xf8\xe5\x62\x79\xad\x5d\x68\x9a\x08\x56\x5b\x88\x3c\xc5\x79\xd3\xbb\x91\x98\x53\xf5\xfe\x6f\x28\xdc\xac\x47\x8b\xae\xd2\x97\xbb\xbb\x85\xfc\x78\x94\xfd\xfd\xfd\xf4\xe4\xfb\x5b\x91\x6d\x96\x99\x6c\x9b\x01\x2d\xd0\xf1\xbc\x85\x93\x5e\x27\x97\x6b\x13\x8f\x6e\x2b\x21\xbd\xaf\x42\xd2\xbb\x91\x93\x36\x88\x4a\x8b\xc1\x68\xa1\xe8\x17\x6e\x89\xa6\xbe\x87\x9e\x9d\xf9\x22\x05\xd4\x99\x4f\xf3\xf1\x1c\x31\xb1\xec\xed\xe0\x77\x4c\x93\x77\xd6\x97\x91\x05\xd6\xe0\x59\x03\x0b\xb7\x1e\xd9\x1c\x03\x49\xc0\x58\xf8\xc3\x8a\xa1\x4c\x48\xa6\x10\xef\x85\xe0\xf8\x8a\x71\x98\x67\xf7\xe2\x39\x04\xc5\x51\x4e\xfb\x08\xa7\x39\x2b\x84\xc4\x4c\xc4\xe0\xf0\xc5\x3e\xe6\x88\x11\xfb\xc5\xec\xd3\x04\x44\x70\xa6\xe2\xe1\xf0\x21\x90\x88\xcc\xd3\x04\x32\x81\x4f\x9a\x03\x95\xf3\x97\x0f\x7c\x05\x8a\xa1\x2a\xf8\xa9\xcb\x93\x37\x27\x39\x85\x2c\xe3\x6c\x97\xcf\x51\x48\xb1\x71\x9e\xae\x5a\x15\x3e\xb7\xdd\xa9\xdb\x80\x2f\x38\xc8\x5d\x02\xfe\x83\x66\x38\x0b\xd8\xff\x04\xd9\x82\x64\x17\x9e\xfd\xe9\x8e\x96\x81\xc1\x2b\xa6\x57\xc1\xb0\xc6\x7a\x21\x3e\x14\xbc\x72\xe3\x5a\x60\x35\x97\x98\xcc\x01\xc2\x9e\xc5\x5e\x5b\xcd\x6d\xb2\x38\x15\x10\x37\xc3\x66\xf3\x8d\xb7\xd1\xba\x19\x05\x67\xd1\x84\xfd\xaa\x71\xbd\xac\xc5\xda\xdd\x32\x15\xfa\x19\xb9\x54\xe6\x59\x2f\x95\x19\x5a\x79\xa9\xac\x05\x2a\x9a\xf0\x65\x72\x75\x4b\xeb\xd3\xa4\xbb\xe9\xb8\x04\xe3\x9c\x31\x49\x2f\xed\x55\x18\x33\xec\x8d\x19\xee\xd3\x5c\x84\xaf\xf0\x26\x04\xb3\xfe\x02\x72\xd6\xa4\x3f\x26\x49\xec\x71\xdc\xeb\xe7\x69\x0a\x33\xc1\x48\xcf\x59\xff\x4b\x73\x30\x49\x50\x69\xea\x6b\x56\xe0\x14\x4d\xb1\x87\x70\x67\xa4\x38\x36\xc3\x39\x7b\xfc\xb5\x12\x9d\xe5\x38\x81\xe2\x8d\xda\xfe\xf5\xeb\x16\x07\x2a\xc2\x97\x88\xa2\x71\x02\xb5\x04\x2d\xf4\x3d\x13\x28\x94\x8f\xf5\x8b\xd2\xa1\xf0\x52\xb6\xe2\x45\x76\x33\x55\x3d\xd7\xae\x89\xbe\x6a\x33\x41\xf8\xa2\xcf\x08\xe7\xc6\x04\xff\x5e\xd2\xcb\xb9\x9a\x51\x2a\xfc\x25\xc9\x33\x83\x16\x4f\xba\x08\x21\xbb\xed\xda\x26\x6d\x65\x37\x81\xe7\x4e\x94\x81\x65\x3e\xb5\xb3\xb0\x8e\xe4\x77\x67\xbb\xd3\x71\x78\x0f\x49\x0f\xd8\x7e\xfb\x2a\x24\x2d\x6a\x0b\x72\x2e\xbf\x7e\x13\x6e\x4c\xa8\x56\x03\xcd\xdd\x5d\x4b\xfe\xf9\xbf\x3f\xff\xfd\xf0\xe9\xff\x5e\xde\xe4\x5a\xd2\x28\x69\x77\x48\xd9\x5f\x91\xe9\x14\xe1\xa9\x47\x72\xe6\xd4\x54\xec\x40\x4b\xb1\x33\xbd\x7c\x65\x71\xba\xed\x45\x71\x81\xff\x13\x99\xd1\x59\x22\x66\xf3\xfb\x19\xc1\x13\x94\xcd\xf9\xab\x79\x4e\xd9\x6b\xc0\xa2\xd9\x70\xff\xb8\x90\x00\x57\xa4\xe6\x4e\x21\x57\x93\xf1\x9d\xa8\x5b\xd8\xde\xf1\x52\xe2\x32\x1b\xb2\x75\xb2\x26\x25\xab\x2c\x19\x9d\x75\x50\x51\xca\x15\xfb\xb4\xd4\x69\x5e\x93\x02\x16\xd2\x57\x72\x01\xf1\x4d\xe4\x3f\xef\xf8\x7c\x3e\x5b\xb9\xb5\x2f\xf7\xdd\x51\xdc\xbf\xff\xf8\xb7\xbf\xfe\xf1\xec\xe7\x9f\x3e\x1b\xb9\xfd\xe9\x8d\xdc\xd4\x65\x4a\x93\xcd\xbe\x40\xbd\xe2\x56\x25\x1f\xdb\xec\xd4\x74\x89\x66\x33\xb5\x5b\x32\x49\x2b\x6f\x92\x8e\x27\xdf\x27\xa5\xa0\xeb\x46\x23\x02\xa9\xde\x5b\x96\x58\x8e\xae\x06\x31\x57\xfa\x77\x4b\xc5\xae\xd1\x35\xee\x8b\x9a\x7d\xf1\x69\xf7\x7a\xf7\x12\xa0\x2d\x95\xfb\x1a\x96\xba\x8b\x42\xac\xc1\x24\xdd\xf2\x74\xb0\x1a\xf1\x83\x41\x94\x40\x90\x9d\x24\x49\xaf\xae\x85\xd1\x69\x73\xad\xc0\xba\x2f\x63\x3f\x64\x03\x14\xdb\xa9\xc7\x69\x92\x4f\x85\x6b\x44\x92\x4f\x4b\xef\x61\x86\x40\x22\xbe\x88\x5f\xdb\xdb\xa7\xeb\x86\x64\xd3\xa2\x2d\xf3\x4d\x76\x2e\xbe\xc8\xfe\x6b\xc3\xe5\xdf\xf4\xe3\x16\x6a\x9f\x9e\x7f\xca\x51\xc9\x13\x81\x54\x36\x3b\xeb\xc9\x64\xd2\x5f\xcc\x10\x83\xbb\x3a\xb8\xed\x06\xbb\x6d\x80\xbb\x3b\x85\xff\xf7\xfd\xbb\xe5\x3f\xbf\x7f\xfc\x63\xb7\x53\x58\x11\x72\x82\xc7\x04\x64\xb1\x1c\x7c\x5f\x47\x4c\xd7\xe4\x5c\x23\x82\xb5\xba\x12\x01\xce\xb5\xdc\x44\x95\x38\x3f\x57\x87\x8c\x29\x68\xde\xc8\xf2\x0e\x52\x7f\x03\x5a\x5e\x06\x75\x37\x5a\x4e\x29\xb9\xbf\xb4\x93\x92\xfb\x25\x4b\xf8\xf4\x84\xaf\xb8\x4d\x85\x78\xa4\xae\x0c\x37\x30\x83\x89\x61\x44\x62\xf8\xe1\xdd\xcb\x67\x64\x9e\x12\x0c\x31\xeb\xe1\x60\x3b\x03\xd8\x06\xfd\x7f\x71\x1d\xdb\x86\xc2\x9d\xbe\xe9\x42\x51\x28\xb9\x43\x7a\x92\xfd\x9c\x7c\x78\xf6\x21\x7e\xf9\xa9\xe4\x28\xa7\x68\x8a\x11\x9e\x7a\x08\xdf\x7b\x31\x8a\xbd\x30\xdd\xa8\xcf\x1d\x6a\xe9\xff\x7e\xfc\x4d\xfe\xe2\x6f\x5f\x76\x3f\x16\x8e\x42\x9f\xe4\x2c\x11\x6c\xfa\xce\x48\x76\x67\x70\x45\x39\x65\x44\x3c\x2a\xbf\xf1\x3b\xa3\xda\x46\xf6\xb3\xd9\x70\x1f\x18\x0b\xdc\x46\xc6\x15\xd5\x1d\x20\x7a\x12\xcf\x11\x56\x91\x15\xdb\x1c\x22\x37\x27\x85\x2a\xb8\x40\x3b\x39\xac\x43\xf9\xee\x36\xd4\xbb\x9f\x8e\xa2\xbf\x7f\xf7\x0d\xdc\x68\x43\xd5\x26\xd0\x17\xee\xf0\x66\x87\x6d\xb3\xaf\x9a\x81\xb2\xc9\x26\xe3\xd8\xd8\xd5\x28\x1a\x13\x86\x26\x08\x56\x03\x22\xdc\xb6\x61\xb4\x72\xcf\xdf\x4e\xef\xb1\x4e\x6b\xa2\x37\x39\xc1\xa7\xe0\x12\xde\xdc\x8c\xb1\xec\x9d\x33\x40\xf4\x7b\x31\x7a\xb1\x81\xfc\xe0\x89\xfa\x2c\xa7\xc4\x37\x02\xb8\x84\x27\x39\x9b\x09\x01\xf4\xb4\xe7\x90\x08\x0b\x1f\x97\xa1\x72\x93\x21\xf8\x74\x89\x23\x63\xd7\xe8\xb6\x48\xee\x38\x58\x71\x03\xac\x8c\xc6\x6a\xdc\xe5\x9e\x04\x7b\x4c\x39\xdc\xc8\x81\xbc\x7a\x7e\xf2\xf6\x56\x06\xc1\x1b\x5e\x37\x00\x19\x33\xb5\x7e\x7d\xae\x30\x8c\x52\xe7\xd1\xb3\x6f\xca\x4e\x1b\xd2\x90\x95\x9e\x9b\xca\xcb\x85\xd2\xa5\xe5\x53\x10\x2e\x10\x8e\xc9\x62\xa0\x73\xe9\x0d\x66\x19\x9c\x8c\xfc\x43\xbf\x55\x56\x5f\xd9\x85\x0f\xec\xe0\xb8\xd9\xbe\x6b\xdf\xd3\x6b\xef\x16\x0d\xdb\xab\xc3\x09\x55\xb3\x7c\x2d\x70\xb6\x29\x65\x6d\x88\x47\xd7\x36\x6a\x0c\xd7\xc5\x14\x08\x0b\xd4\x18\xf2\xbb\xf4\xaa\xeb\x6e\xa0\xf5\xdd\x30\x85\xcc\xa2\x0f\x8e\x2d\xa1\xcc\xa3\x71\x19\x7b\x75\x16\x5d\xb7\x3d\xb4\xeb\xa3\xd8\xcb\xd8\xc2\xea\x11\x2b\xa7\x60\x75\x06\x49\x28\xd7\xf0\xfd\x15\xed\x61\xb5\x43\xb7\xe0\x05\x4a\x7e\x4a\x9d\x59\x82\xbb\x65\xb0\x9f\xbe\xf8\xed\x9f\x17\x4b\xfa\x6e\x23\xb9\x4b\x79\xf4\x7d\x0a\x19\x43\x78\x4a\x0b\xd1\x4b\x99\x34\xf9\x36\xe5\xf1\xe5\x51\x25\x7f\x28\x5a\x69\x1e\x7e\x34\xf6\xe2\xbe\xa6\x90\x85\xb4\x46\x9b\xd0\x96\x1a\x37\x92\x1a\xfb\xab\xea\x4b\x7c\x6b\x90\xe4\xab\x51\x68\x8b\x9c\xb6\x72\x7a\x90\x1d\xcb\x9a\x39\x74\x28\x6f\xa6\xd8\xa0\x50\xd8\xee\xca\xd2\x80\x5c\x1b\xf0\x55\x77\x76\x69\x69\xa5\xca\x9d\x86\xae\x84\x20\x9b\x73\x85\xf5\x4f\x8c\x90\x84\xa1\x74\xb7\x01\xb4\x9a\xe6\x6e\x82\x23\x85\xd6\x29\x25\x27\xd3\x6e\x40\xa0\xc4\x9e\x41\xa8\x68\xd2\xe9\x65\xd4\x50\xd2\x10\x2d\x13\xec\xb0\xb9\xac\x49\x31\x1c\x84\x71\x46\xd2\x98\x2c\xb0\x38\x0c\x44\x34\xae\x1a\x4d\xfc\x95\xe6\x29\xcc\x06\x20\x4d\x13\x99\xe9\x30\x04\xd9\x54\xd4\xa7\x81\x2d\x52\xa7\xa3\xb3\x73\xf9\x1c\x8b\xa8\xac\x42\x4a\x3e\x12\x84\xc8\x0f\x95\x13\xdd\x6a\x15\x26\xce\x5c\xa1\x5a\xbc\x65\x0b\xb7\x6a\xd9\x40\x8d\x0c\x4c\x39\xcf\xa9\xa3\xe4\x58\xe5\xe5\xf4\x45\x10\x5a\xdf\xf8\x99\xd8\x6f\xc5\xe6\x28\xb1\xd4\x33\xb2\x68\xd0\x6f\x58\xc3\x1f\xa0\xd8\x0f\x99\xe0\xe9\x54\xa8\xd9\xf5\xc7\xb3\x55\x5d\x1c\xd0\xbc\x91\x90\x8e\xe0\x80\xc3\x20\x24\x23\xd7\x7c\x26\x08\xc7\x4f\x97\x3d\x61\xec\x89\x03\x3b\xa1\xe3\x1e\x1d\x8d\x46\xe4\xe0\x40\xc4\x4c\xa7\xea\x2f\x79\xd2\x33\xda\x82\xbf\xc8\xd8\xc6\xb2\xd7\xfe\x9c\xc4\xe2\x6c\x16\x7f\x7b\xfe\x0c\xc5\x25\x45\x45\x6b\xe1\x18\xd1\x94\x50\x5e\xbe\x3a\xc4\xc2\x60\x44\xd6\xec\xd5\x5c\xda\x8c\xca\xa6\x0a\x3c\xdf\x37\x8a\x18\xfb\x93\x32\xfe\x15\x1f\x9d\x1d\x89\x4b\xe8\x2b\x44\x59\x8d\xb1\x80\xda\x6f\x0f\x0e\xa4\x93\x11\x07\x9c\x9d\xec\xf1\x71\xf0\x6d\x0f\x51\x95\x9a\x13\x07\x1f\x3f\x22\x3a\xe0\xe8\xdd\x83\xf2\x77\x11\x2d\x00\x06\xc1\xc1\x41\x0f\x8f\xce\xce\x2b\xda\x22\x7e\xdc\x09\x92\x14\x0c\x0b\xd8\x29\xa8\x49\x10\xaa\x08\x61\x85\xca\x07\xd1\xbe\x32\x50\x13\x41\xad\xa2\x9c\xf6\x04\xde\xbc\x10\xd4\xa9\xe1\x2a\x22\x91\x6e\x46\x16\xff\x00\x88\xf5\xa4\x57\x29\x1c\x5d\x8b\x2e\x5e\x8a\x8d\x13\x03\x06\x86\xbf\x0e\xd2\x24\x8f\x2e\x5c\x5b\x41\x18\x08\x07\xe1\x04\x25\x4c\x85\x6b\x57\xdb\x60\xb5\x57\x8f\xb0\x7f\x7a\x19\xf9\xc1\x40\xd2\xcb\x9e\xcb\x1f\x93\x95\x38\x20\x59\x9c\x93\x87\x84\x80\xf8\x3b\x94\xc0\x1e\x2c\x28\xe9\x60\xc6\xe6\x89\x5c\xdd\x19\x59\x3c\x27\x58\x52\xf1\x6e\x87\x90\xa6\xe4\x0f\xec\x66\xb1\x19\xcd\xde\xa9\xfc\xaa\xc1\x2f\xce\x6b\xde\xab\xd6\x16\x5a\xa7\x6f\xfd\x44\x1b\x6a\x1b\x7d\x84\xa4\xde\x1d\x19\x6e\x8d\x56\x77\xa8\xeb\x3c\xfe\xe3\xe4\xc7\x67\xdf\xff\xaf\x93\xe7\xd6\xb8\xd1\x12\x08\xa3\x50\x55\xd2\x75\x36\xde\xcd\xc6\x37\x19\x59\x6c\x66\x77\x14\x91\x64\x63\x77\xb3\x4b\x04\x17\x7d\x03\xfa\xb5\x8e\x67\xb3\xe3\x9a\x89\x14\xc7\xcf\xfe\x0c\x82\x58\x46\x03\x2f\x05\x75\x30\x68\xe3\xcb\xb3\xde\x2f\xf3\xcf\x9e\xcc\xdd\x6b\xcc\x88\x8e\x0a\x07\x8d\x16\xaf\xaf\x0d\x7d\x11\xb4\x6f\x00\xc1\x51\x82\xa2\x0b\xbf\x8d\xdb\x97\x64\xde\xdc\x0b\xd4\xed\xc0\x72\x52\x28\x7a\xd4\xae\x55\xa2\x86\x07\xa8\xc7\x51\xa9\xc5\x21\x6d\xad\x05\x94\xf3\xc5\xb6\x8b\xd6\x5c\x57\x1e\x7c\x09\xa2\xcc\xe9\xa8\x06\x41\x34\xdb\x14\x85\x3b\xa0\x99\xe8\xd5\x6b\xc0\xe8\x0e\xf5\x23\x92\xf4\x8f\x1f\x7b\xfc\x0f\x9d\xf7\xff\xd6\xda\x8a\xd3\x59\xc2\x24\x6b\x7f\x7c\x1c\x1e\x87\x67\xfc\xbc\x15\x97\x4f\xf9\xa4\x8d\x08\xf8\xcd\x58\x76\x79\x1e\x9e\x09\xcb\xba\xf3\xf3\xda\xa4\x8f\x4d\x35\xed\x40\x65\x64\xec\xad\x2e\x15\x8e\x31\xb6\x3a\x16\x75\x81\xc4\x97\xd2\xb1\x26\x43\xd3\x19\xeb\x02\x94\xb2\xbb\x0c\x8a\x95\xaf\x8c\x5f\xe2\x28\x25\x92\xf7\x2b\xc0\x12\xe0\x29\xed\x33\x59\x0c\x45\x04\xf7\x63\x7e\x4b\xd6\xe6\xa5\x73\x14\xc7\x89\xb1\x44\xe4\xbc\x4f\x9f\x91\xe9\x54\x58\x2f\x16\x37\xb6\xe2\xa3\xf0\x87\x12\x57\x19\xfe\x3d\xad\x19\x3c\x8a\x51\x79\x92\x21\x6a\xf6\xe7\x94\xb7\x81\xda\xa0\xdb\x61\x62\x99\x64\x56\x01\x3d\x07\x4c\x18\x9f\x88\x09\x52\xf7\x6c\x24\xef\x5d\xfa\x04\xb2\x29\xe4\x13\x71\x31\xe9\x76\xc1\x31\x88\x2e\xf8\xbd\xcd\x97\xa7\x08\x8a\xac\xe5\x93\x95\xba\x78\x0a\xb6\x22\x50\x33\xed\x6c\xf3\xce\x39\x76\x38\xfa\xac\x25\x56\x6e\x7a\x25\xae\x0e\xcd\x70\x30\x90\xb6\x5f\x32\x30\x46\x38\x86\x57\x7e\xe8\xf7\xcd\x61\x93\x11\x01\xee\x18\x81\x84\x4c\x37\xa3\x77\xa2\xf1\x7e\x51\xd3\x6e\x4e\xdf\xa0\x37\x3d\x34\x65\x9b\xca\xb4\x7a\xed\x99\xd9\xd8\x00\x3f\x34\x4b\xe6\xc8\x82\x4d\xf2\x04\xbe\x23\xd2\xdd\xf1\xad\xd6\xb0\xb0\x3d\xeb\x40\x68\xb5\x87\xb4\x3c\x1e\x95\x03\x5e\xdb\xf9\xf8\x5c\x23\x66\xe9\x7c\xec\x40\x74\x4a\xb1\xb8\x32\xe8\x2d\x49\xee\xd1\x5c\xfd\x58\x00\xcc\x3c\x46\x3c\x89\x23\x82\x17\x96\xbb\xdd\x03\x38\xf6\x40\x92\x78\x7a\xa5\xe8\x93\x2e\x9b\xe2\x46\x8e\xa2\xeb\xdc\x45\xeb\xf7\x47\xcb\x67\x34\x81\x80\x42\x8f\xf3\x0a\x6a\x02\xc2\x6d\x99\x11\x2f\x92\xfe\x1f\xeb\x46\xdf\xc5\xa5\xb4\xc5\x95\x54\x7a\x9b\x16\xae\xbe\x8e\xc1\xb6\x78\xf7\x9e\x9a\x11\x6b\xcf\x53\x5b\x08\x12\xea\xd3\xae\xdd\x7f\xb4\x0a\x41\x3a\x07\x49\x6d\xc3\x8b\x21\xf0\x21\xca\xd3\x6b\x2e\x92\x43\x14\x60\x7c\xcf\x11\x60\x81\xf8\xba\x4b\x8c\x28\xa1\x80\x40\x0a\xcd\xae\x53\x61\x87\x8e\xb0\x85\x34\xfb\x9f\x84\x6e\x6e\xb2\x1d\x27\x84\xb8\xdc\x0e\x36\x66\x68\x49\xce\x12\x84\x61\x9f\xc2\x88\xe0\x18\x64\xcb\xd2\x81\x12\x23\x3a\x47\x0e\x7a\xda\xc0\xb8\x3e\x03\x38\x82\xed\x41\x01\x3a\x0d\x4a\x9e\xfc\x9b\x30\xd9\x6e\x22\xd2\x36\xd6\xe7\x6b\xce\xc3\xdd\xb1\xdd\x4e\x67\xd5\xd6\x8b\x5b\x5a\x42\x5c\x98\x41\x0f\x64\xd0\xc3\x44\x22\x23\xe5\x9b\x7f\x0e\x90\xc8\x8f\xbf\xbe\xab\x1b\x2a\x13\xaa\x17\xe7\x0d\xf4\x09\x32\xf4\x7e\x72\x67\x7a\x05\x92\x4d\xdb\x05\x32\x24\x9b\x02\x8c\xfe\x50\x9a\xbb\x42\x08\x4c\x4b\x56\x15\x0e\x81\x4a\xd1\xb2\x32\x87\xb0\x3c\xe4\x06\x6a\xda\x6e\x4f\xd4\x8d\x00\xf7\xc0\x64\x60\x1b\xc3\xfb\x46\xda\xf8\x0d\xf4\xed\x3b\xd1\xb4\x97\x95\xe7\x22\x2f\x9f\x1f\x68\x25\xb9\xa5\x20\x9f\x01\x3a\xeb\x5d\xab\x25\x1c\x36\xe0\xcc\x14\xb2\x37\xd9\x54\x1a\x86\x6c\x21\xfb\xfa\x5e\xb6\xee\x9d\x6a\x1d\x6c\x47\x29\x98\x46\xac\xbb\x93\x82\xfd\xfe\xdd\xf4\x74\x32\xfe\xeb\xd7\x5b\x6a\x9e\xd5\x04\x1c\xca\x67\x13\x6a\x49\x2a\x78\x4b\xda\xe3\x36\x95\x30\xb5\x14\xc2\xbb\x57\xc5\x56\x01\xbe\x09\xf5\x14\x59\x59\xee\xa3\xfd\x7f\x6d\x8c\x0f\x8c\x4e\xdd\xb5\xf9\xe8\xf7\x02\x6a\xed\xd1\xd2\x6a\x30\xbe\xbb\x2d\xfb\x0f\x3c\x3e\xf9\xea\x8b\xd3\x8e\x46\xf5\x35\xe3\x51\x91\x24\x50\x4e\x62\x47\xa6\xa3\x15\x88\x6c\xb0\xa7\x10\x66\x70\x9a\x89\xf3\xe7\x9e\xef\xac\xd2\x48\x1f\xd8\xfe\xfa\x37\xe6\x03\xd6\x5a\xfb\x3d\xa9\x71\x0a\xbf\xa1\x0c\xb4\xb3\x09\xea\x94\xe7\x4b\xc3\x0b\xfb\x41\xc8\x32\x98\x24\xa4\xa5\x96\xec\x53\x57\xf4\x4f\x5f\x3c\x7b\xff\xf2\xcd\x4f\xfd\xf7\xef\x5e\xbc\x7a\xf5\xc6\x0f\x56\x5a\x7b\xbd\x9b\x71\x5c\x83\x34\xfd\x11\x2e\x85\x19\xc7\x56\x14\xf1\xa5\x85\xed\x5d\x79\x99\xd2\x0e\xb9\x3b\xea\xb8\x7c\xf1\xe6\xd9\xd3\x69\xb6\xdc\x92\xa1\xb1\x66\xe1\x60\x6a\x04\x98\x43\x5f\x82\xb9\x6e\x13\x27\x3e\xd7\x6c\xe1\x74\xe9\x5b\x60\x67\x9c\x30\xdf\x80\xfe\x26\x28\x82\x98\xde\x4b\x87\xf0\xfa\x20\x1f\x18\xd5\xfd\xb3\xd8\x36\xd7\x28\xa9\x6d\x56\xfc\x4a\xae\xcd\x36\xa1\x79\x7b\xfe\xdb\x8c\xc4\x79\xc4\x3c\xd9\x08\xc2\x53\xef\xc0\xfb\x90\xc6\x80\x75\x37\x23\xd0\xb8\x71\x77\xf4\xe6\x6b\xfa\x1b\x7c\xfe\xf8\x0a\x6d\x49\x6f\xd4\x04\xfa\x17\x70\x59\x90\x19\xf5\xb2\x7e\x6d\xda\x3d\x05\xa9\x02\x70\x03\xe2\xf1\xc0\xf6\x63\x53\xa0\x71\x44\x07\x22\xf3\x46\x8f\x0d\xa4\x62\x8f\x03\xcc\x5a\xa2\x81\x54\x55\x05\xce\x54\x7e\x45\x29\x75\xb3\xec\x8a\xb8\x14\x82\x2c\x6a\xf2\x9a\xba\x7d\xc2\xbb\xc6\x1d\xaa\x88\x58\x25\x26\x6f\x6f\xe9\x52\xb0\xfe\x06\x32\x13\x34\xd3\x0c\xd5\x62\xaf\xab\xe8\x4d\xc1\xe9\x81\xe1\xda\x9f\x9f\xf6\xcb\x75\x39\x65\x80\x49\xf3\xc9\x2d\xec\xc5\x44\x0b\x1b\xee\x97\xbb\xa3\xf3\xc9\x8b\x74\xf6\xc3\x5f\xbb\xba\xb2\xd7\xe8\xbc\x1c\x7f\x5f\xa9\xbd\x8b\xe0\x18\x05\x14\x45\x9a\x2a\xf9\x7d\x03\x71\x59\x51\xe5\x96\x24\x66\x15\xc0\x6f\x70\x3e\xd0\x39\x4b\xef\x3b\x81\xa3\xe0\x12\x9e\xbe\x7e\xff\x76\x87\x14\x4e\x37\xa9\xbd\x31\x0b\x45\x04\x07\x88\xc3\xf9\x4a\x37\xd5\x59\x1d\x21\x00\xfb\x99\x22\xde\x25\x45\xac\xdd\xd6\xf9\x9a\x0c\xdd\x3c\xb2\x85\x0c\xdb\x86\xfa\x78\xfd\xfe\xed\xc6\xba\x05\x81\x25\x77\x47\x2f\x3f\xa4\xd9\xf7\xef\xb2\xef\xbe\xd9\x96\x5e\xce\x59\xba\x46\xab\xc0\xa1\xb2\xa9\x66\x41\xd5\xb9\x2d\x5a\x69\x83\x7c\x03\x4a\x79\x87\xd2\x92\xdf\x5e\xbd\xff\xfe\xe7\x98\x74\xce\x02\x98\x80\xa5\x88\xfe\x4a\xd2\xfe\x18\xe8\x30\x4f\x2e\xbb\xd1\x8e\x19\xf0\x54\x7b\xd2\x9c\xb0\xff\x07\xc1\xb0\xa5\x4d\x77\x05\x63\xa4\xd5\x52\xb1\x64\xe5\xd6\x21\x40\xc9\x76\x43\xef\x53\x14\xc3\x76\xb0\xb4\xe5\x15\x91\xa6\x74\xaa\x89\xaa\x71\x6d\xf1\xba\xd9\x8c\x4d\x5a\x6e\x6b\x43\x33\xbd\x79\x5a\x03\x42\xda\xa6\x0d\x92\x48\xe5\x19\xac\x24\xfb\x0b\x3d\xbe\x6d\x42\x2f\x31\xf7\x74\x80\x63\x6f\x0e\x30\x98\x42\x91\x20\xc0\x03\x51\x44\x72\xcc\xd6\xf4\x95\xd7\x8c\x84\x18\x18\x63\x70\x69\x2c\x95\xca\x8f\x2a\x94\x27\x8c\xbd\x45\xff\xeb\xbf\xb6\x9b\xe0\x95\x0d\x81\xeb\xb7\x32\x61\xf5\x2b\x08\xaf\x8c\xd3\xe6\xdb\x63\x98\xfe\xa4\x4c\xbc\x7c\x2a\x52\xc2\xc1\x58\x0e\x8d\x8f\xa7\x7f\x09\x33\x0e\x07\x4e\x74\x12\xe4\x32\x15\x3e\x0a\xb5\xfa\x77\x3d\xe6\x74\x1d\xb6\x31\xca\xbe\xd5\x61\x2b\x8f\x8d\x9d\x8d\xda\x28\x95\x6e\x15\xd6\xaa\x93\x5d\x0d\x9a\xe3\xef\x6d\x8f\xf9\x83\xec\x63\x57\x43\xb6\xa5\xbe\xb7\x3c\xf2\x92\x22\x60\xc3\xac\xa6\x32\xb6\x9f\x0c\xa1\x11\xfa\x65\xde\xeb\x46\x49\x11\x0a\x48\xf0\x03\xf7\xb6\x37\x89\xe0\x18\xb6\xb0\xfb\x6f\x1a\xb3\xca\x0a\x7a\x9b\x63\xae\xc4\x40\xd8\xe5\xe8\xe5\x75\xf0\xb6\x61\xae\x3a\xd9\x38\x8b\x2e\xfc\xdd\x60\x5e\x11\xaa\x18\xc6\xc8\x80\xe1\x05\x3f\x51\xd2\x0c\x51\xb8\x3e\x91\xae\xdb\xaa\xb4\x79\x59\x63\x99\xd9\xe4\x56\xd7\x55\xf4\xb1\x7d\x5e\x8f\x2e\x29\x94\x6e\x19\x8c\xad\x30\x54\x71\xbc\x6e\x19\x8a\xba\x97\x9b\xe4\x47\xf9\xa4\x64\xce\xd6\x07\xdc\x1e\x5c\x94\x3a\xe6\x7e\xe4\x8d\xd9\x8c\x07\x1f\x13\xc6\xc8\x7c\xcb\x1b\xc9\xcd\xee\x7c\x5b\x5c\xf7\x04\xcb\x71\xff\x93\x61\x48\x19\x46\x73\x70\x0a\x2d\xe3\x08\xe9\x12\x47\x2f\xf1\xdb\x8c\x4c\x33\x48\x45\x7e\x68\xde\xc2\x2b\x34\x47\x6c\x78\x7c\x74\x14\x26\x04\xc4\x82\x05\x6a\x8a\x8c\xd6\x94\xf4\x62\x0a\xd9\x33\x95\x35\xab\xc7\xc2\x72\x29\xd1\xbc\x5f\x8b\xc7\x5a\x4e\xfd\x9f\x88\x98\x10\x76\x16\x66\x82\x4f\x62\x31\x98\x2d\xf3\x70\x80\x38\xae\x07\x58\x63\x26\x64\x9b\xec\x34\x18\xa4\x39\x9d\xc9\xc5\x53\x36\xa5\xa6\xdf\x46\x20\xac\xef\xf8\x69\x9e\x5c\xb8\xa2\xbb\xc1\x81\x81\x70\xcf\xf7\x55\x77\xd5\x28\x18\xdd\x20\x2e\x43\x59\x77\xee\xa4\x2d\xdc\x5d\x53\x17\xd2\x3c\xbb\x63\x07\x3a\x5f\x47\x35\xea\x78\x43\xdb\xb9\xd0\x1e\x17\x69\x52\x06\x28\x0e\xa1\x68\xe8\x3b\x11\x76\xa1\x1e\x47\xa4\xe8\x93\x75\x0d\x8d\x67\x45\x4b\x2f\x21\xbe\xcc\x8e\x5b\x95\x01\xca\xd0\x0c\xad\x41\xf1\x4c\x48\x8e\x5a\x7b\xc7\x7c\x47\xbb\xe0\xde\x1e\x37\x6f\xdb\x11\x3a\x23\xe6\x6d\x38\xba\x4d\x48\xe0\x03\x93\x61\xef\x26\x8d\xd0\xad\x87\x9b\xb8\x49\x00\xc5\x66\xfa\xeb\xfb\xe1\xf1\xd1\x51\x6b\x38\xc5\xcd\x05\xdb\xf2\x62\xdc\x51\xa0\x2d\x71\xe6\xee\x64\xa5\x2f\x96\xdf\x7f\x75\xfc\xfc\x72\x5b\x53\x79\x61\x77\x2b\x23\xb6\x1a\x71\xb6\x14\x3e\x84\xbe\x39\x1d\xec\xdf\x74\x13\xe1\x76\xd1\x42\x87\x80\x67\x56\x07\x8d\x39\x54\xb0\xe5\xa4\x58\x99\x84\x08\x2c\x50\x9b\x43\x95\x3c\x58\xa7\xb4\x33\xb0\x5c\x29\xec\x9c\x24\xcf\xbe\xe5\x3a\x56\x0a\x51\x67\x27\xea\xac\x41\x44\x30\xe0\xe5\xce\xcd\xfb\x62\x0c\x6b\xc2\xd0\x6d\x18\x32\x6e\x93\x70\x74\x6a\x6e\x1d\x4a\x56\xbc\xe6\x76\x10\x36\xcf\x02\xdc\x2d\xe9\x3c\xca\xbb\x72\x2d\x17\xac\x5d\x3c\xef\xa3\xc9\xa1\x19\x9b\x50\xa9\x77\x8e\x5d\xa7\xc3\x1d\x74\x8e\x75\x7c\x4b\xb1\xeb\x8a\x93\xaa\x88\x62\x77\x6d\x02\x4a\xb5\x9e\x5b\x56\x9c\x39\xbd\x92\xed\x15\x0c\x15\x0e\x42\x0a\xc5\xc4\xda\xcb\xab\x42\x7e\x10\xf2\x0b\x6e\x7b\x59\x5e\x82\x0f\x04\x8c\x87\xbe\x51\xed\xfc\x9e\xc3\x6c\xf9\x96\x5f\xdf\xe8\xf0\x4c\x27\xbc\x7d\x0b\xa6\xf0\x25\xc7\x6d\x3a\x23\x8b\x77\xf0\x12\x51\xc1\xe4\x57\x43\xd6\xa5\x30\x9b\x23\x71\xac\x52\x2b\x22\xc0\x20\xcd\x08\x53\xc3\x0a\x6b\x1a\xde\xfd\xfd\xba\xfa\xf8\x12\xc1\x85\x3a\xb1\x0e\x0e\x7a\xf5\xa0\x5d\x76\x8b\xc1\x68\xe4\x0e\x04\xcb\x4f\x5f\x55\xe8\xfd\x32\x85\x83\x9f\x08\x86\x1f\x3f\xee\xaf\x6b\x6e\xbf\x63\x73\x1c\x0a\x70\xf1\xf1\xa3\x35\x7c\x6b\xfa\x03\xdd\xf6\x49\x9a\x66\xe4\x12\xfa\x41\x10\x94\xa3\xed\xbd\x07\xe3\xa6\x98\xc8\x82\x09\x64\x60\xcc\xef\x54\xa1\x59\x19\x3e\x4f\x65\x1a\x47\x39\x16\xfa\x19\x9c\x64\x90\xce\x7c\xc9\xa8\xce\xc8\x82\xaf\x52\x5b\x6b\xa6\x29\x9b\x35\xb5\xb8\x85\x88\xa3\x39\xe7\x7b\xfe\x92\x82\x29\xec\xfb\x8f\x98\xb9\x7b\x3c\x57\xd3\x69\xbd\x83\x14\x51\xdb\x42\x47\xa0\xb5\x0e\xf7\x12\x3b\x6a\x9a\x7b\x88\x9a\xa1\x61\x76\x40\xc0\xc6\xb2\x9c\x37\x7c\x0e\x69\x94\xa1\x54\x8e\x59\x96\x81\x57\x11\xcc\x52\x7e\xa7\x15\x91\xa9\x49\xba\xac\x40\xae\x88\xff\x25\x42\x19\xd2\x91\x03\x67\x50\xec\x07\xae\x78\x72\x66\x9a\x91\x6a\xb7\x47\x43\xde\x60\x6d\xba\x74\x34\x1a\xc1\x83\x83\x1e\x96\x2b\x94\xca\x2d\x26\x02\x00\x62\xd9\xa6\xb4\x92\x1c\xfc\x2a\x78\xf0\xec\x35\xe2\xeb\x83\xc6\xe2\xf2\x28\x56\xbe\x67\x4a\x5a\x7b\x5d\x72\x93\x7a\xbd\x5e\x21\x7c\x41\x7b\xd8\x31\x76\x07\x83\xa9\x46\xc2\x1b\xa3\xf2\x3e\xaf\x6e\x41\xaf\xc9\x25\xbc\x0b\x10\x61\x85\xe9\xfc\x78\x9d\x42\x79\x68\xc7\x7e\xc8\x99\x44\x16\x46\x33\x94\xc4\x19\xc4\xc3\xfd\xe3\x95\x75\x4b\xde\x7c\x9c\x7e\x10\x92\x91\x7a\x27\x22\x07\x22\x37\x05\xd8\x43\x93\x9e\xde\xe9\x25\x82\x81\xaa\xb4\xe1\x15\x89\x2e\x64\xb7\x60\x74\xcd\x17\x76\xc8\x06\x8c\xfc\xfd\xf4\xcd\x4f\xbd\x6b\x84\xa3\x24\x8f\xe1\xcb\x58\x9e\x36\xe2\xfc\x87\x0d\x5f\x57\x1b\xed\x2b\x7d\x27\x9f\xc2\x1e\xd1\x31\x24\xc5\x7c\x80\x13\xb2\x66\xaf\x85\xb8\xa9\xc5\x09\x64\xd1\x8c\x37\x48\x7b\x44\x97\xd2\x34\x9a\xb3\x23\x6b\x10\x89\xcf\x5c\x20\x52\x47\x34\x25\x9d\x70\x52\xfc\x2f\x45\x16\x06\x27\x4a\x64\x69\x42\xb2\x5e\x39\x43\x91\x1b\x35\x39\x32\x0c\x50\x1c\x92\x11\x1b\x68\x64\x0a\xd1\xe8\xec\x3c\x04\x56\x15\x39\x89\x20\x4c\x46\xbf\x8a\x98\xa4\x2f\x85\x55\x2d\x08\x5d\x86\x65\x45\x0d\xd1\xc1\x68\x34\xa2\xab\x20\xcc\x46\xe0\x2c\x39\x0f\xa3\x51\xf2\xe8\xf8\xdb\xe8\xbf\x80\x82\x85\x8c\xe1\xc6\x0f\xb8\x68\x7f\xc4\xbf\x7d\xfc\x08\xce\xa2\x73\xab\x8d\x04\x5e\xc2\x44\x9c\x48\x59\xfd\x6d\x70\x70\xb0\xdf\x73\x57\xf8\x2f\x67\xf9\x6f\xa3\x47\x8f\x02\x24\x04\x66\xbd\x6b\x49\x6d\x86\x95\xfa\x02\x2a\xa2\x7c\xf5\x8b\x6a\xa4\x7f\xbc\x0a\x2c\xa1\x47\x99\x3b\x10\x8c\x6f\x10\x92\x27\xbd\x4a\x2f\x74\xd5\x8e\xb8\x32\x30\x89\xc4\x33\x1c\xd2\x10\xb9\xce\x86\xf5\x28\x0a\x5d\x6b\x0c\xbb\x63\x2d\xac\x60\xad\x0c\x76\xda\x6d\xe0\x7c\xdc\xf7\x67\xd4\x7c\x77\xbc\xc4\x14\x66\xec\x54\x52\xa5\x2e\xa2\x50\x8b\xca\x74\xcf\x9c\x51\x9f\x1a\x88\x63\x01\x10\xe7\xbc\x5c\x02\x5d\x3e\x1c\x3a\xd2\x33\x66\x24\xe3\xad\x60\x92\xcd\x41\x82\xfe\x80\x72\x66\x7c\x62\x7b\x95\x22\x02\xc5\x28\x87\x95\x45\xca\x6e\x1d\xe2\xb4\x0a\x71\x31\x02\x78\x09\x31\x7b\x9a\xd3\x41\x9a\x8f\x13\x44\x67\x45\xeb\xbc\xcb\x93\x38\x86\x26\x35\xa4\x60\xc5\x38\x2f\x37\xe0\x0d\xf0\xe3\xe2\x89\x33\x8d\xb4\x19\x9e\xe6\xe8\xf5\x10\xa5\xc9\x4a\x69\xd4\xea\x95\x08\xbc\x57\x83\x41\xa9\x64\xd1\xaa\x2c\x2b\xc6\x34\xec\x41\xe7\x7e\x96\x03\xc6\x42\xba\x1b\x68\xca\x6b\x1d\xb3\x27\xf4\xa9\x90\xcf\xec\x2e\x0d\x8b\x7d\xc1\x51\xa2\x78\xde\x43\x63\xa6\x15\x25\x81\x57\x93\x6a\x8b\x47\xdd\xca\x87\xc8\x7d\xac\x9b\x71\xdd\x10\x5c\xa8\x10\x5c\x33\xd7\xc2\xe9\xe0\x88\xac\xbe\x5c\xcc\xb1\x5c\x16\x4c\xdf\xab\xbb\x9e\x4b\x06\xef\xe4\x01\x2a\x57\x48\x9d\xa1\x86\xea\x86\x9a\x66\xe2\xe6\xb6\x4c\x3f\x26\x70\xb1\x3a\x64\x4f\xe1\xef\x39\xc4\x11\xac\xdd\x57\xca\xcc\x95\x9b\x59\x71\x22\x56\xfb\x79\x10\x89\x7e\xec\x9e\x1b\x27\xe2\x64\x1a\xd7\x93\x00\x17\x43\x7c\x43\x06\xa7\x04\x38\x03\xba\x57\xfc\xdc\xfc\xf4\x70\x13\xdd\x3e\x48\xa0\xbd\x07\x53\xc7\xb5\xd8\x75\xd3\x94\xf5\xf6\x0a\x38\x56\xb9\xfa\x3d\xac\xef\xbe\x53\xba\x16\x76\xe2\x52\xea\x88\xe1\x0e\xad\x85\x91\x23\x7c\x47\x92\x64\x0c\x4a\x64\xcf\xb5\x9e\x0d\xfd\x64\xaa\xb6\x38\x23\x37\xda\x9e\xd8\x7d\x93\xef\x7c\x57\xe4\xa3\x57\x0f\x3b\xa3\xd8\x0d\xf8\x62\x08\x32\x60\xc0\x79\xdc\x36\x9f\xaa\x66\xf9\xc2\x42\x86\x22\xce\x78\x68\x07\xce\x36\x09\x16\x2a\x9f\x8a\x2f\xe6\x43\x49\x26\x45\x07\xd6\xa3\x29\x92\x91\x44\x9c\xe4\x03\xf1\xc3\xbc\x56\x77\x0e\x3a\x10\x3f\xcc\xeb\x4b\x98\x99\xd6\xf4\xef\x3b\x63\x3c\xdc\xe7\xe6\x14\x32\x61\x72\x2a\x0e\x4f\xd3\xaf\x75\x12\x35\xf3\x91\x42\xe3\xa2\x18\xc9\x90\x3d\xa9\xa6\xca\xca\x60\x42\x40\xdc\xd3\x29\xce\xd6\xe9\x21\x2b\x82\xde\x07\xa6\x86\xdc\x58\xa4\xdb\x59\xe4\xba\x51\xd0\xfc\xce\xda\xd0\x26\xc7\xdb\x4a\xba\x5e\x4b\xc2\x3b\xa0\x24\xcf\x22\xa8\x36\x7e\x4f\x07\xb1\xc7\xd5\x20\xf6\x58\x05\xb1\x17\xc2\xa9\x35\xd4\x81\x75\xbd\xf7\x08\x1b\x21\xfa\x1d\xc9\x6c\x18\x9a\x4d\xff\x2b\x8a\x1b\xf7\x46\x58\x23\xd4\xb8\xba\x3b\x70\x10\x32\x7d\xaa\xb4\xc5\x34\x11\xdf\x9a\xc6\x50\xba\x1f\x29\xc9\xa2\x91\x41\xfe\x03\xb1\x19\xc9\xd9\x69\x3e\x99\xa0\x2b\xa7\x40\xd2\xaa\xb1\x56\x12\x19\xd6\x1c\x9d\x14\x85\x1b\x36\x0f\x53\x95\x50\xd8\xb4\xb6\xa0\x49\x83\xd3\x52\x52\xff\x0c\x05\x18\x87\x0e\x31\x08\xa7\x85\x2d\x0d\x88\xef\x5a\x55\xd1\x56\x50\x17\x09\x2d\x8a\xdc\x52\xdc\x2a\x15\x0a\x32\xdd\x52\x56\x7c\x97\xba\xe3\xb6\x62\xb2\x40\xa8\x69\x78\x4b\x49\x5d\x64\xd5\x35\x4b\xbf\x39\xa8\x60\x71\x50\xb1\xf2\x41\x05\xcd\x41\xc5\xaa\x27\x1f\xb4\x4e\x3e\x56\xc2\x6a\x28\x2e\x8d\x45\x63\xea\x88\x82\xfa\x88\xd2\x06\x24\x0a\xb6\xbe\x38\xb3\xe4\xef\xa2\x29\xfb\x40\x84\xe5\x03\x91\x95\x0e\x44\xa8\x0f\x44\x56\x3e\x1b\xa0\x02\x9d\xf9\x50\x1c\x89\xb0\x38\x12\x5b\xcc\x14\x5a\xf3\x27\xa9\x23\xc7\x68\x23\x8e\xc2\xa3\x56\xbb\x85\xca\x19\x73\x77\x66\x0b\x47\x87\xcb\xdf\xde\x3f\xfd\xf0\xcf\xdd\xbb\x78\x95\x83\xa4\x26\xb5\xe8\xea\x88\xc1\xb9\xef\x4a\x40\x50\x8b\xd9\xaf\x62\x2c\x94\x32\x4a\xc8\x30\xc8\x46\x93\x6f\x5e\xba\xe3\xf8\x8b\x13\xcc\x6d\xd7\x5a\x0b\xbb\x5c\x6a\xae\x1c\xdf\xbf\xbb\x89\xab\x33\xc8\xec\xd6\x60\x28\x98\xaf\x8d\x01\xa1\xe3\x38\x9b\x7d\x5a\x2a\x6d\xbd\x6e\x06\x9c\x67\x2c\x86\x37\x80\xa0\xd5\xf2\x6e\x60\x78\x03\xc7\xbb\xb5\x48\xda\xe2\xb3\xd7\xd5\x7b\x10\xd7\x62\x77\x33\x42\x92\x31\xc8\x0e\x27\x24\xeb\x17\xd0\x30\xa1\xbc\xc5\x8d\x48\xd1\x2c\x95\xea\x29\xd4\x39\xce\x42\x1b\x7c\x05\x9d\xaa\xa8\xaa\xb5\x2a\x55\x5b\x7c\xbc\x37\x44\xc4\x2f\xeb\x3f\xa5\xe1\x4c\x49\xde\x54\x98\xca\xf0\x81\x18\x7c\x90\xe3\xa9\x22\x53\xe5\x99\x3a\xf0\xc7\xbc\x31\xa3\x35\x6f\xec\x41\xb7\xc7\x2a\x90\xd3\xe9\x68\xdf\x62\x66\xdb\xb1\xbc\x01\x46\x17\x4b\x9b\x2a\xac\x9a\xed\xa0\xd6\xc5\xff\x16\xe1\xcd\xa5\xab\xa2\x87\x09\xee\xa7\x19\xc2\x0c\x8c\x13\x68\xc2\x99\xf7\xa5\x5f\x63\xbb\xef\xe6\x3a\xe7\xc8\x76\xff\xc7\x82\xf0\x1c\x9b\x06\x64\xd6\x0f\x06\xc6\x9e\x0a\xd5\xed\x74\xf0\x50\xd8\xe1\x17\x99\x0e\x24\xf0\x0a\x2f\x02\x0b\x38\xcd\x79\x39\x8c\xdd\x80\x25\x05\x38\x2f\xb9\x96\xea\x3c\x0a\xdf\x74\x72\x17\x2b\xdd\xb3\x9a\xfd\x28\x2a\xd5\x6d\x33\x90\x4d\x9c\x2f\x76\x06\xc5\x4c\xf5\xbe\x0b\x30\x16\x6d\x15\x70\xb4\x66\xb7\x13\x3f\x8a\x0d\xa2\xa8\xaf\xdd\x08\x22\x63\xd1\xd6\xf9\x36\xcc\x66\xa9\xa4\x99\xda\x20\x4d\x55\x4c\xa2\xbe\x4c\x28\xe3\x3a\x6d\x2d\x3c\xb1\x68\xaf\xe1\xcb\xb6\xc2\x16\x9a\x82\x7a\xd0\xfc\x69\x7f\x01\x32\x8c\xf0\xd4\x4b\xfb\xc7\x5e\x9a\xf5\x1f\x7b\x69\xd2\x7f\x6c\xc7\x90\x2f\x28\x9b\x06\xf1\xff\xfb\xbf\xff\xef\xff\x6e\xe0\x5a\xb3\xc5\x71\x7c\xd3\x3c\x07\x1c\xba\xfa\x62\x58\x49\x01\x66\xf5\x6d\x4a\xb4\xa6\xf7\xda\x10\xdf\xd4\x79\x6b\x58\x6a\x83\x2b\x73\xe1\x9a\xa6\x4f\x5c\x75\x1b\x29\x38\xa4\x22\x35\x59\x97\xd3\xb6\x76\x8a\x28\x6c\x91\xcd\xde\xcd\x91\xe9\x3e\xd9\x1a\xed\x75\x9b\xbc\xf8\x1a\x88\x7c\x07\x8c\x77\x81\x5f\xa6\x26\x2b\xb1\x4d\x67\x67\x86\xd3\x51\x97\x3f\xb3\x1a\xfa\x7a\xe6\x5a\x96\xe2\x46\x68\xaf\x50\x79\x59\x2a\xca\x86\x1a\x53\xf4\x56\x28\x62\xfd\xc2\x62\x4a\x3c\x68\xdb\x20\xcb\xa4\xd8\x3c\x96\x74\xd0\xa5\x76\x94\xea\x50\xd9\x1c\x97\xf4\x24\xe6\x5d\x59\xed\x54\xa0\x49\x85\xb3\x92\x60\x28\x16\xbc\x8c\x44\x0a\x28\xdd\x91\xca\x40\xaa\x05\xcd\x6a\x48\xf5\x38\xac\x99\x4a\xee\x8e\x3d\x13\xe0\xec\x92\x5d\x5b\x2f\x4b\x87\xb2\x66\xd5\x3a\x99\x36\x17\xb6\x57\x1d\x8a\x97\x17\x7d\x83\x39\x6a\x9c\xe8\x38\x24\x1b\x65\x3a\x56\xa9\x61\x54\x9b\xa9\xf6\xd6\x0e\xd1\x4d\x2c\xca\x2d\x72\x56\x8d\xc4\xc3\x8c\xa1\x99\x76\x37\xd2\x83\x42\xd5\xd5\x99\x44\x77\xd8\x2a\x8d\x0b\x64\x75\xb6\xf1\xb2\xdc\xd8\x91\x76\x07\xa1\x66\xba\x1c\xa3\x8c\x44\xd5\x7b\xab\x34\x6f\x31\x44\xbd\xfb\xf2\x54\xc9\x75\x61\x03\xbc\x15\x55\x2d\x5d\x5e\xc5\xa0\x9a\xae\xb2\x37\xc7\x81\xcd\xc8\xa5\x35\xb1\xbb\x27\x0d\x1d\x91\xe9\x9e\x7b\x55\x37\xc8\x4c\xbb\x3b\x95\x3c\x30\x4d\xde\x86\xae\x13\x1b\x2b\xfe\x36\xd2\xe7\x75\xd6\x12\x36\xb8\x2f\xd6\xdd\x0e\x0b\x83\x11\xd9\x89\xb0\x15\xe1\xef\xdc\x2a\x36\x59\xe8\x57\x14\xdb\xa6\x26\xfa\xfb\x9a\xba\x96\x7a\x6e\xbd\x2a\xb0\x70\x77\xec\x62\x28\x50\x29\xfa\xd2\xa1\xa7\xc6\x45\x52\xfd\x42\x0c\x58\xd7\x96\x14\x09\xb6\x1b\xd5\x2f\xb8\xaa\x7e\x29\x11\x57\xdc\xa6\x16\xc1\x15\xb5\x88\xe2\xc3\x71\x45\x09\x53\x5c\x7f\xb0\x6d\x27\xd0\xa8\x94\x6c\x0a\x78\x58\xd2\x03\x4e\x61\x29\xd3\xbd\xad\xf9\xb3\x3e\x59\x28\xec\xb0\x5f\xf5\x83\xba\xce\xad\xea\xbf\xe2\x07\xb6\x96\x6d\x5a\xcc\xbe\xa4\x01\x9c\x16\xd3\x0f\x2a\x7a\xb4\x69\x09\x04\x41\x45\x23\xd8\x68\xb6\x70\x92\x24\xbd\xa0\xa4\xba\xeb\x64\xe1\x50\x05\x80\x34\x72\x28\xc5\x23\x80\x59\x46\xca\x6e\xe9\x68\xd2\x63\xa5\xf0\xa2\x65\xe7\xdf\x43\x4c\x58\x7f\x42\x72\x1c\xfb\x41\xb8\x7f\xdc\xcd\xce\x41\x0d\xf4\xce\x9c\xee\x36\xa6\x5c\x96\x47\x92\x4c\x62\x58\x53\xd6\xb5\xd9\xa6\x2a\x25\x4a\x01\x7e\x19\x7f\xb5\x64\xf3\xe8\xfe\xa6\xed\x4f\x2b\x5f\x2b\x76\x50\x4d\x5f\x55\xed\x6b\xdb\x59\x4d\x5b\x9b\x57\x2b\x19\xcb\xf6\x95\x0a\x0f\x51\xb5\x88\xae\xb9\x88\xec\xc0\x65\x63\xbd\x8b\x86\x83\xda\x95\x9c\x36\x6a\xe6\xe4\xc6\x90\x03\xaf\x37\x95\xc6\x0e\x53\x69\x18\x84\xb8\xcb\x62\xe2\xa6\x95\x74\x7d\x50\x0b\x81\x9b\xd7\xd0\xfd\xc9\xb9\x80\x25\x96\x70\x68\x01\x63\xd5\xdd\xd0\x48\x6f\xc0\x07\xc6\xa0\xdc\x2e\xc7\xd1\xd9\x82\x68\x5e\xb3\x1d\xea\x74\x2a\x7d\x7a\xeb\x14\xe7\xf9\x55\x82\x89\x3c\x24\xaa\x87\xda\x2d\x98\xaf\x08\x5a\xd1\xb2\xe7\xa7\x90\x15\xc6\x9e\xad\xd3\xb2\x76\xbf\xf4\x0e\x10\x4c\x96\x20\x37\x1d\x3a\x78\x0d\x39\x0f\xb5\x5d\x27\xab\x6e\x16\x16\x7a\x73\xdd\x9d\x8d\xc5\xcf\xd3\xf8\x7f\xbf\x66\xff\x3b\x7d\x38\x36\x16\x3a\x90\xb2\xd3\xc4\xa0\xf6\x71\x37\x36\x17\xb5\x66\xef\xb3\xed\xc5\x56\x00\xaa\x7c\x6e\xb0\xc9\x70\x7c\xde\xb1\x6d\x86\xa3\x87\x4f\x69\xa3\xe1\x56\x20\x71\xe6\x13\x20\xec\xc8\x92\xdd\x5c\x27\x23\x0b\x97\x22\xb0\xad\x93\xa4\x7f\xfc\x78\x63\xed\xe3\x9c\xf5\xd7\x44\x18\x6e\x14\x9e\xc1\x18\x31\x92\x15\xf2\x33\x0b\xe6\x06\x3d\x94\x34\x4d\xaa\xab\x7c\xcd\xd3\xca\x60\x2f\x5a\x20\x7d\xd6\xb0\x74\x4d\x48\x57\x7b\x5f\x96\x8e\xe9\xb7\xa2\xcf\x76\x39\x96\x49\x13\xbe\x3e\x70\x4c\x49\x7a\xde\x92\x25\xbe\x8b\x82\xcf\x61\x0d\xf0\x8d\x43\xa1\x75\xe7\xc2\xa8\xea\xf1\xd2\x5d\x1c\xa5\xe3\xd7\x77\x0e\x25\xd2\x10\x30\xe4\x96\xc3\x85\x5c\x4b\xef\x8c\xa6\x70\x55\x1b\xf1\x74\x9b\x1b\xa7\x93\x08\x24\xa7\x8c\x64\x9c\x61\x69\x90\x3b\x59\x45\xfc\xa0\x12\x0a\x44\x08\x88\x65\xb0\x10\x1d\xec\xbb\x12\xcf\xa2\x3d\x92\xc5\xbf\x41\x28\x89\x77\x55\xf7\x1a\x3b\x2c\x57\x07\x0f\x9d\xcd\x70\xfd\xf3\x15\x67\x07\x57\x9c\xfb\x7a\xc3\xf9\x77\xb7\xb3\xdf\x68\x27\xdc\xdd\x7d\x84\x7c\xf3\x3f\xff\x3a\x65\x8f\x7e\xfc\x7c\x1f\xf9\x7c\x1f\xd9\xf1\x7d\xe4\x5e\x5c\x43\x76\x06\xe2\x22\xc3\xd0\x6e\xd1\xb0\xf3\xad\x4d\x67\x69\xb9\x3f\xf6\xf2\x5b\x5b\xc9\xaf\x33\x3c\x29\x72\xb1\xdc\xc4\xf8\x4c\xaf\x58\xdf\x70\x7b\xfa\xe2\xa5\x4d\xec\x5b\x2c\x47\xdc\x06\x7e\xeb\x2e\x56\xcd\x57\xb1\x5d\x9b\xf1\xed\xc6\xc2\x47\x5e\xf9\x76\x03\xe5\xb2\x85\xe5\x9f\x1a\xc4\x0f\x36\xed\xd3\x2d\xe6\x55\x6a\xb7\x88\xb7\x33\x0b\x74\x32\x8f\xaf\x90\x80\x2d\xac\xe3\x7d\xab\x91\x62\xe4\xdf\x17\x69\x9e\x5a\xcd\x9a\x77\x39\x17\x7b\x97\x6d\x37\x11\x23\x9a\xd1\x4e\x12\x80\xc1\x29\xc9\x10\xa4\xde\x81\xf7\x1e\xb4\xa6\xee\xfa\x93\xe6\x55\x68\x66\xa2\xbb\x4b\x5d\xee\x8e\xed\xfe\x5b\xfa\xaf\x65\xfc\x8c\x3e\xea\x1e\x21\x7a\x4d\x1a\xba\xed\xe1\x57\x07\xdb\x9e\x1b\x6c\x92\x22\x1f\x8a\x01\x3f\x6c\x39\x95\xb6\xc6\x68\x4c\x58\x51\x58\x52\xad\x37\x2f\x50\xb6\x25\xbc\x3f\x3f\xa8\x98\x60\x68\x25\xb3\xe1\x1d\xcb\xfa\x62\x21\x8b\x52\x06\xde\xdd\x94\xfb\x55\xe1\xd2\x9e\x0c\x3e\x56\x35\x19\x10\x6d\xfa\xc1\x9e\x16\x60\x09\x57\x17\xad\x9d\x97\x4f\x41\x10\xaa\xaf\x63\x12\x2f\xcd\x47\xf1\x50\x7c\xd3\xe2\xa1\xb0\xee\xef\xaf\x4a\x64\x60\xf1\x54\x34\xa0\x62\x1d\xe8\xe7\xa2\x44\x24\x92\x05\x9a\x02\xea\xd1\xee\x83\xc1\x0c\x83\xe4\x54\x84\x72\x30\xe5\x2a\xaf\x4b\x92\xad\x62\x01\x8d\x4d\x82\x8c\xb3\xe5\x88\x61\xe7\x8a\x14\xb9\x9b\xe5\x6a\x97\x77\x95\xb6\xcb\x03\x13\x75\x6d\xb0\x41\xba\x6b\xdc\x05\x4b\x58\x15\x9e\x68\xf9\x97\x16\x31\xb5\x08\x79\x4c\x51\x5b\xc4\x23\xc9\x67\x03\x66\x4c\x21\x53\xe1\xd7\xe4\x8e\x58\xaf\x29\x2e\x2d\xda\xdd\x1d\x0f\x4f\x3f\x8c\x4f\x28\x7d\xc6\x3e\x4b\x65\x3e\x4b\x65\x3e\x6b\x89\x6b\x77\x4e\xb1\x29\x3a\xa9\x53\xc7\xc6\x49\xeb\x56\x14\xa9\xb2\xf9\x4f\xa7\x33\xbd\x6b\xa6\xdb\x49\x1e\xd7\xf2\xdb\xaa\xd6\x3d\xcc\xe3\xa0\x46\xb6\x59\x16\x87\x3b\x62\x69\x6f\xd9\xa6\x7f\x63\xe5\xaa\xd2\x2e\x36\xf3\x08\x46\xfd\x58\xa8\x7a\x1b\xcb\x5a\xc3\xae\xe4\x6f\x90\x37\xdd\xa5\x7f\x1e\xea\x9f\x43\xdf\x0f\x27\x22\x53\x0a\x8c\x9f\x93\x88\x0e\x05\xd6\x5b\x8c\xba\xf4\xf5\x13\xe6\xd5\xeb\x53\x8e\x55\x6d\xee\x64\x28\x55\xb7\x4e\x56\x9a\x8b\x97\xc0\x30\x88\x12\x08\xb2\x53\x19\x8d\xe0\x25\x83\x73\x0b\xa6\xce\xb0\xb8\xc6\xf6\x7d\xb5\x13\x8d\xab\x0a\x6e\xef\xd0\x49\xd7\xac\x82\xcf\xce\x43\x32\x3a\x3b\xdf\x63\x83\x09\xc9\x5e\x80\x68\xd6\x2b\x17\xa6\x67\xf0\x7c\xd4\x18\x47\xd3\x0a\x76\x2e\xd2\x38\xd9\xf1\xbe\x40\x92\xb8\x38\x6f\xea\xea\x88\x8a\xa8\xb3\x55\xc3\x60\x56\xf5\xfe\x80\x56\x2c\x28\x9d\xa3\x72\xff\x38\x08\xc9\x19\x6d\x19\xa4\x52\xa7\xaf\x1c\xe3\xab\xc5\x66\xb7\xa3\xf3\xbf\x33\x99\x28\x4a\x39\xf1\xd6\x68\xfa\x43\x0b\xb4\x5b\x42\xb5\x1a\xb8\xb7\x1b\x60\xa1\x73\xe0\x21\xc1\x2f\x04\xd1\xda\xd0\x40\x41\x45\x20\x95\xfc\xb9\xc3\xfe\xdc\x36\xa1\x8e\x01\x03\x43\xa6\xb6\xdf\xfb\x65\xaa\x4f\x08\xbe\x75\x9d\x96\xe3\x82\x0f\x97\xb4\xb4\x1e\x9d\xb4\x88\xb4\x57\x10\x13\xa1\x43\x5e\xe0\x84\x80\xf8\x3b\x94\x40\x0e\xc4\x46\xb3\xed\x47\xfe\x60\xc6\xe6\x89\x5f\x8e\xa1\xbd\xb2\xd2\xf8\x55\x22\xeb\x5b\x7e\x46\x16\x01\x11\xc6\x1d\x1d\x0e\xb0\x07\x19\x03\x52\x53\xcd\xf6\x73\xc0\x90\xd9\x0d\x9c\xb6\xba\x3b\x4f\x55\xc6\xa0\x9d\xa7\x04\x85\x56\x9e\x53\x8d\x37\xc2\xc2\xdc\xb7\xd9\x97\x2a\x32\xe2\x50\x3f\xc4\x03\xdd\x9b\xa1\x20\xa6\xfb\x7c\x3e\x07\xd9\x92\x97\xa1\xf2\x67\xad\xc8\x6b\xb1\x94\xa2\x99\xb9\xfc\x39\x43\x69\x10\xc2\x1e\x6e\xf2\x7a\x6a\x37\xcd\x69\xbd\xec\x96\xec\x76\xf6\x9c\x31\x1d\x2b\x35\xa8\x93\xcc\x14\x79\x17\x6d\x52\xb9\x92\x4d\xc2\xc6\x26\xf5\x1e\x35\x0b\x0a\x37\x68\xbb\x29\xdc\xe3\xae\xef\xf7\xc6\x88\xc5\x30\x11\x74\x08\x4d\xea\xa9\xe6\x36\x4c\x09\x91\xf1\xe9\x94\x01\x8b\x2c\xee\x1f\x87\x19\x21\xfc\xf9\x19\xc9\x31\x1b\x1e\x85\x05\x02\x59\xd4\xcf\xc2\xaa\x20\xac\xe0\x50\xbd\x98\xc1\xae\xa2\xac\x42\x26\x47\x59\x8d\x66\xd2\xc3\x6b\xc2\x0f\xf7\x8a\x18\xc5\x3a\xbd\x8b\x85\x12\x09\x3f\x2a\x6d\x84\x64\x74\x14\xa2\xd1\xaf\x83\x34\xc9\xa3\x8b\x1e\x0d\x4b\x1e\x39\x7b\xd8\xb9\xa6\x68\xa0\x9c\x7e\x68\xcf\xb2\xa7\x0f\x3e\x7e\xec\x91\x47\x23\xb1\xbc\x6c\x60\x83\x68\x44\x3a\x93\xc7\xbb\x13\x9a\x2c\x16\x5f\x9c\x46\x97\xa7\xa7\xff\x7e\x42\x93\x1b\xdd\xe9\x77\x2c\x3d\xb9\x6f\xb6\x06\x25\x75\xaa\x23\x1c\x9f\x52\x54\x97\xf4\xd6\x76\x18\xbe\xb2\xd6\xda\x90\x15\x3f\x2c\xce\xcc\xb0\x74\x00\x99\xfd\xa7\x42\x50\x58\x41\x68\xac\x8b\x49\x93\xc2\x9b\x6e\x60\xc5\xed\x8a\x4a\xa0\x3f\x16\x03\x2d\x02\x16\x98\xab\x54\xb5\xb0\x35\xfc\x22\x2a\x82\xcd\x20\xad\x09\x7c\xd1\x3d\x1c\x4c\x19\x02\x5d\x42\xe9\xa9\x25\x53\x34\xc6\xc0\xb6\x92\x5a\xd4\x86\x79\x6d\x09\xed\x45\xab\x1a\x21\x94\x39\x66\x6b\x95\x4a\xaf\xec\x2b\x56\xb1\x72\x75\x10\xdd\x68\x3d\x1d\x4b\xb6\xb9\x69\x43\x65\x3e\x9d\x97\x64\x93\x1a\x15\x68\xdc\xd4\x42\x65\xad\x99\x04\xdf\x96\x22\x98\x2e\x18\xcb\x88\x6d\x2c\xcb\x61\x1b\xa5\xdb\xb5\xe5\x44\x19\x07\x05\x5a\xf5\x2f\x11\x5c\xb4\x90\x8d\x66\x9c\xb3\x51\xb5\x44\x37\x6a\x6c\x6a\x9d\x2b\xf5\xed\x43\xd9\x2a\x60\x25\xc5\xd5\xf7\x1e\xbf\xbc\x33\x6f\x4a\x6c\x36\x41\x4e\x97\x4c\xd5\xf1\xc9\x45\x75\x2a\xdf\x0c\x2c\x1a\x0b\x68\xd0\xd4\x0a\x94\x20\xd5\x40\x03\xd7\x24\xe2\xed\x16\x2e\xaa\x42\xfd\x9a\x5c\x5d\xee\xa1\xd9\x45\x35\x24\xcc\xb6\xe2\xe0\x0d\x63\xb0\xa8\x5a\x0f\xec\x1e\x7d\xbb\xe2\xd7\x2d\x72\xe9\x8a\x1d\xd7\x50\x70\xd7\xb1\x57\x2a\xb7\xb8\x0d\x63\xa7\x38\xdc\x9a\xbf\x13\xaf\x7a\xa5\x02\xed\xf1\x52\x4c\xdc\x93\x4a\x16\x2a\x4b\xf8\x07\xd9\x33\xe9\x80\xaf\x5a\x77\x25\x59\x70\x06\x4b\x29\xa2\x9a\xd4\x6f\xf8\x6b\x5d\xc8\x5d\xc1\x4b\xba\x84\x27\x69\x0a\x8b\xe2\x08\x27\x52\x5c\x7d\xd7\xb8\x51\x9f\x24\xc9\xd3\xa5\xe0\xae\x7a\xac\x14\x25\xa7\x7c\x5f\x6e\xc8\xbd\x35\x85\xec\x14\x5c\xc2\x58\x07\x1d\xa5\xa5\x46\xd6\x07\x23\x89\x08\xa6\x24\x81\x83\x84\x4c\x7b\x2c\x08\x77\x15\x9b\x44\x1f\xbb\xff\x7e\x2e\x72\xf7\xc1\xe3\xed\x36\x5d\xc2\xaa\x2b\xfb\xc0\x8e\x84\x26\x4f\xac\x5d\x89\x04\xb7\x95\xb1\x35\x38\x7e\x55\x65\x89\x1b\xcb\xe2\x36\x90\xba\x75\xb2\xb2\xb9\x07\xee\x4f\x7f\xe4\x2f\x2f\xd2\xaf\xde\x7c\x0e\xc7\xf0\x10\x0d\x6d\x6a\xe6\x7a\x9f\x3d\x73\xee\xb5\x67\x4e\x65\xdb\xd7\xfd\x72\xca\x17\x65\xea\x96\x93\xb5\x5e\x37\xcd\xf5\xf5\xb6\x3c\x66\x4a\xbd\xef\x02\x08\x65\x4e\xd4\x09\x08\x7d\x59\xb7\xb0\xb6\xe5\x6a\xdf\x01\x3e\x6b\xee\xfd\xdb\x5f\x75\x77\x03\x63\x4b\xd6\xb0\x0b\x08\x5b\xa2\x98\x36\x44\x2b\xf7\xbb\x15\xd2\xb5\xc8\x4c\x6e\x0b\x56\x3a\x3c\xf8\x2e\x00\xa5\xe3\xaf\x3f\xa0\xed\x68\xcb\x90\x76\x01\x82\x42\xa6\xdf\x02\x84\x1b\x43\x63\x17\x50\xfa\xec\x83\xf6\x60\x7d\xd0\xde\x88\x08\x1c\x4d\x3e\x5b\xb7\x33\x17\xc7\xb9\xb5\xdd\x7c\xaa\x18\xae\xe6\xf4\x81\xc2\xcc\x7b\x5b\xea\xe4\xd3\x4d\xae\x76\x60\x6c\x37\xb5\xb2\x8c\x5b\x4d\x4c\x2b\x3a\xbc\xf7\xf6\xe9\xf0\xc9\xa6\x56\xa6\xef\xdb\xcd\xcb\x4a\x21\x51\x4e\xb2\xe4\x3d\xd5\xad\x7f\xba\x09\xd5\x29\xf6\x76\x93\xaa\x68\x0f\x6a\x8e\x91\xff\x7e\x1e\x91\x4d\xb7\xea\xae\x02\xf9\xbb\xbb\x85\x83\xe5\xec\x0d\xf8\xe3\xab\xe5\xdd\x79\x43\x56\x40\xd0\x11\x64\xdd\x65\x91\x20\x67\x33\xc7\xeb\x39\x89\xc5\xf9\x62\x0b\xac\x42\x7c\xcb\x12\x4a\x5c\x48\xb0\x40\x9a\xbe\xe6\x90\xd9\x85\xb0\x52\x70\x44\x12\xb6\x7e\x18\x91\x74\xa9\x09\xe6\x70\xff\x48\x3c\x17\xa7\x83\x7e\x63\x5b\x64\xcd\x00\x7d\x96\x10\xac\xbb\x89\xc8\x3c\xcd\x19\x8c\x07\x98\xb0\x17\xf3\x94\x2d\x7b\x7e\xc4\x3f\xc7\x42\xba\x2d\x8d\x51\xad\x17\x35\x1b\xf0\xd3\x19\x59\xbc\xe6\xd0\xad\x09\x2e\x05\xcc\xdf\xa4\x10\xf7\xfc\xbf\x80\x38\x96\x06\x20\x7d\xb9\x12\xe1\x35\x9d\x91\x05\x07\x69\xe8\xff\x05\xc3\x85\xfa\x28\xe5\x71\xab\x90\x60\x31\x44\xd1\xe3\xa9\xa0\x59\x0d\xf2\x53\x6b\x64\x5a\x8e\x7a\x12\xc7\xed\x16\xe9\x83\x34\x83\x97\x22\xd1\xa0\x58\x1c\x63\x97\x6b\xf9\xb6\x69\x08\x73\x68\x5b\xef\xab\x80\xd9\x43\x93\x1e\xa2\x03\x28\xc0\x86\x83\xa0\xa4\xbf\xf8\x8f\x5e\x7d\x66\x03\x10\xc7\xcf\x38\x65\xef\xf9\x88\xf6\x11\xbe\x04\x09\x6f\x67\x30\x21\x51\x4e\x7b\x41\xb8\x7f\x2c\xc6\x42\x46\xd7\xbc\xfc\x10\x4b\xc8\xbf\x8c\x87\xb4\xbc\xd0\xd6\x90\xac\xd7\x7c\xa5\xca\xcb\x5f\x2e\x57\x7c\x50\x25\x9f\x93\x5a\xe8\x77\xfb\xb5\xaf\x63\x54\xd3\x32\x50\x42\xdf\xb7\xf3\x01\x94\xd6\x80\xa3\x87\x96\xa7\x3a\x21\x90\xc1\x39\xb9\x84\x0e\x20\x84\x05\xd2\x3c\x4b\x08\x85\x0e\xac\xb1\x3d\x53\xab\x3a\x1c\x10\xc7\x75\xd3\xf3\xc2\xee\x79\xad\x0e\x8b\xb5\xba\x11\xf8\x61\x39\x1c\xae\x44\x13\x61\x1b\xdd\xcd\x3d\xf5\xc1\xc9\xdc\x77\x49\xb1\xd6\xab\x57\x1a\xd5\xa8\xc5\x82\xab\x01\x0d\x44\x5a\x6d\x5e\xce\x0f\x0e\x0e\xac\x78\xfe\x2e\x77\x11\xa9\xd5\x73\xa8\xc5\x44\x23\x22\x16\xdf\x7a\xdd\x42\x93\xb6\xb0\x25\x6d\x75\x93\x4e\xc2\x3f\x95\xd7\xda\x0e\x42\xfb\xbb\x14\xd6\x1f\x7d\xf5\x35\xcd\xbe\xfa\xe6\xd9\xcd\x84\xf5\x67\x67\x8a\xdf\x7c\xa9\x44\xcc\xfa\x52\x5f\x97\xf2\xde\x2f\xd9\xac\xcb\x92\x51\x0e\x5d\x99\x24\x95\x4d\xe2\xf4\xac\xca\x22\x8a\x1b\x89\x62\xee\x9f\x30\x41\xa6\xf6\xb4\x33\x4c\xaa\xfd\xc8\xaf\x73\x32\xc1\xe7\xda\xf4\x92\x5f\x85\x7e\xda\xdc\xca\x1c\x52\xaa\xc2\xe5\xd6\xdb\xf1\x5b\xf2\xd2\x22\xfa\x42\x3a\xa8\x6e\x92\x03\xed\xab\xd0\x1f\xe7\x8c\x91\x7a\xae\x50\x86\xbd\x31\xc3\x7d\x9a\x47\x11\xa4\xd4\x9b\x10\xcc\xfa\x0b\x88\xa6\x33\xd6\x1f\x93\x24\xf6\xe6\xcb\xfe\x17\xba\x12\x5b\xa6\xfc\x38\x2c\x5a\x6a\xbc\x4b\x19\x36\xc9\xbe\x44\x3d\xf2\x4e\xdf\x9e\x3c\x7b\xb1\xa1\xa6\x62\x93\x9b\x54\xa7\x88\xce\x9a\x39\x96\x53\x02\x63\xa5\x06\xf3\xfb\x26\x9d\x6b\x46\x12\x11\x63\x0a\x81\x84\x4c\x4b\x38\x55\x3d\xa2\x37\x8a\x0c\x2d\xaa\xf4\xcb\xad\xea\xae\x2c\x23\xd0\xcd\xc2\x46\x8b\x36\x8b\xac\x9a\xed\x52\xac\xc6\x06\x66\x10\xc4\xa5\xb0\xd8\x27\x71\xec\x19\x83\xe2\x4d\x13\xb5\xca\x36\x45\xc8\x8f\xc6\x11\x15\x0d\x4c\x48\x36\xd7\x72\x00\x82\x69\x3e\x9e\x23\xe6\xb7\xfa\x33\x2b\x96\xd7\x5c\xf4\xd5\xda\x37\x76\xd4\x3a\x58\xde\x7d\x7f\x9a\x91\x3c\x6d\x1d\x6c\x59\x70\x01\xc6\xd0\xa0\xd0\x84\x08\xd5\x65\x99\xf3\x2b\x9a\x12\x43\xf5\x7e\x52\x2f\xdd\xa0\x74\x89\x90\x11\x4e\x73\x3b\x99\xbb\xdc\x7b\x02\x0b\xf5\xd0\xd3\x04\x44\x70\xa6\x75\x37\xe2\xe0\x13\x07\x0f\x83\x57\xac\x3e\x24\x35\x55\x2d\x0e\x9d\x93\x9c\x42\x96\x81\xd4\xd7\x63\x94\xa5\x14\xbd\x31\xec\xaf\x8b\xb2\xb7\xc1\x86\xce\x41\x92\x94\x36\x0d\x9c\x03\x94\xfc\x00\x93\xd4\x09\x7a\x3e\x58\x4f\xa4\x30\x9f\xe7\x52\x56\x63\x84\x2e\x33\x90\x81\x88\x6f\x71\x0f\xe0\xd8\xc3\xb9\x30\xc9\xf4\x08\x4e\x96\xeb\x40\xd9\xe5\xfb\xad\xa2\x83\xb8\x25\x28\xe8\xc7\x19\x49\x63\xb2\xc0\xf6\xd4\xf8\xe7\x75\x1b\xcc\x85\x15\x39\xea\x4b\x2e\xa3\xc0\x0c\x89\x12\xfa\x9c\xf7\xd3\x8c\xcc\x53\xfe\x43\x6f\x1e\x9f\x08\xb9\xf0\xcf\x1c\x3d\xde\x02\x21\x2f\x90\x6f\x5e\xf1\x61\xab\x37\xb2\x51\x15\xbe\xc0\x3d\xfa\xb0\x7c\xde\xeb\x3a\x9e\x52\x73\xb5\x85\x2a\xa8\xdc\x6e\x0b\x09\x9d\x18\xbb\x8d\x77\xf6\xed\xea\x0e\x31\x8f\xa4\x4b\xaf\x70\xf5\xf2\x6c\x6b\x15\x93\x54\x9f\x7a\x93\x8c\xcc\x3d\x78\x85\x28\x43\x78\xea\xd1\x0d\x56\xb3\x81\x6e\x82\x6c\x8a\x70\x9f\xf3\x95\xc7\x47\x7a\x38\x6d\x5c\x81\x16\x6e\x6c\x98\x3b\xbc\x18\xc7\x97\x1c\xa3\x0e\x73\xd4\x8f\x66\x30\xba\x18\x93\xab\x2a\x33\x2b\xc1\xa2\xd6\xc6\xbe\x7c\x8b\xb5\x71\xf4\x56\x06\x5d\xa7\xa3\x7a\x77\xa3\xb3\xae\xfc\xad\xe3\xab\x28\x1b\x3e\xe1\x08\x0b\xff\x86\xb6\xf1\x95\xac\xdb\x6f\x98\x52\x73\x23\xd2\xd8\x7e\xda\x6f\xc7\x07\x4c\x08\x61\x8e\x94\x1b\x1b\xb3\xa8\x24\x67\x09\xe2\x64\x09\x46\x04\xc7\xc2\x7a\x5f\x16\x8c\x01\x03\xfd\x18\x51\xbe\xa4\x35\xfe\xae\xca\xb2\x1a\x81\xbe\x8a\x9e\xd2\x0e\x8b\xae\x7c\x73\xc1\xbf\x44\x09\x8a\x2e\xb6\x62\x5f\xda\x86\x7b\x12\xc7\x1b\x2f\xcd\x7a\x95\xc4\x8d\xcd\x86\xee\x48\x17\xb1\x81\x0e\xc2\xd8\x03\xdf\xc7\x30\x31\xc5\xe0\x1e\x98\xb4\xac\x4d\x7a\xe5\x0a\x7d\xb7\x46\x04\x54\xc0\xe1\xee\x84\x40\xdf\x2d\x9e\xfe\xf1\x8f\xbf\x7e\x1f\x77\x13\x02\x95\x44\x04\x47\xa1\xff\x13\x61\x9e\x34\x3b\xaf\x9d\xd8\xb7\xa1\x56\xaa\x03\x6c\xed\x46\x48\x33\x32\x41\x09\xbc\xb3\x6d\xd0\x39\x0f\x45\xab\x07\x8a\x15\x38\x93\x82\xcb\x26\xa5\x47\x88\x47\x6c\x90\x02\x4a\x17\x24\x8b\xa5\x73\x3b\xc1\x13\x94\xcd\x01\x2f\xbb\x57\x13\x79\x5a\x63\x33\xc1\x5e\x8c\x25\x72\x3d\x4c\x8a\x1a\x19\x7d\x9b\x41\x0a\x31\xeb\xe1\xe0\xe0\xa0\xfa\x8e\x06\x07\x07\xd0\xd5\xba\xce\x74\x29\x07\xd7\x2b\x05\x21\x91\x79\x21\x83\x10\xca\x9e\x07\xd2\xc6\x83\xc1\x97\x18\x31\x04\x12\xda\x0b\x74\xd0\x12\x2d\x0e\x0a\xa4\x4e\x42\x80\x4e\x57\xeb\x10\x20\xa8\x0b\xa2\x3c\x30\x92\xd4\x19\xbf\x36\x53\x3e\xb6\x23\xe3\x5a\x29\xbe\xaa\x3f\x28\x01\xc8\x0f\x3e\x7e\x74\x90\x4a\x5e\x66\x90\x90\x29\xc2\x7e\x27\x41\x7d\x19\xaf\xa6\x90\x7d\xa0\x30\xeb\xd5\xfb\x76\x8e\x61\xc0\x6b\xab\x6c\xc0\xee\x48\x11\x6a\x1a\x4a\xac\x6f\x84\xfa\xff\x40\x6c\x46\x72\x76\x9a\x4f\x26\xe8\xca\x38\x5a\xe5\x49\xa2\x9c\x0b\x56\xa1\x50\x36\x14\x14\xa0\x12\x7c\x42\x39\x4a\x29\x1b\x35\x58\xcb\x3f\xdd\xa0\x88\x18\x44\xb6\xfa\x8a\xf7\xd3\x01\x85\xef\xee\x34\x59\x1e\x67\xff\xfa\x7d\x4c\x7e\xde\xbd\xfd\xff\xfd\xd7\x1d\x70\xcc\xea\xab\x25\x28\xae\x43\xda\x28\x91\x53\xd7\xba\xf2\xa0\x99\x5f\x56\xe5\x6f\xdd\x19\xfc\x16\x54\x0c\x9e\xfa\xab\x4c\x0d\x37\xd5\x38\x14\x22\x7f\x49\xde\x8b\x5d\xd6\x49\xf7\xe0\xb8\x8f\x81\x4b\xc0\x40\xd6\x4f\x40\x36\x85\x46\xb0\xdf\xda\x25\x52\x27\x4f\x5b\x97\x7f\x12\x33\xa7\x2a\xd1\x58\xcb\x51\x51\x08\xb2\x68\x76\x67\x0c\x55\xd9\x25\x6f\xa2\x3d\xf5\xe7\x80\x45\xb3\xe7\x24\xd2\x3f\x9f\x19\xc1\xa0\x78\x7c\x0f\xa6\xfa\xe7\x77\x62\x7f\xfa\x54\x6a\x23\x64\x03\x43\xdf\x0f\x75\x0b\xc3\xfd\xa3\xd0\x6e\xc2\x3c\xbf\x07\x53\xf3\x9b\x37\xc2\x1f\x78\x2b\xc3\xfd\xe3\xf5\xe0\x7a\x60\x6c\xc5\x16\x3a\x6f\x31\xcf\xf6\x0b\x8f\x82\xc5\xdd\x9d\x4f\xef\x8f\xff\x76\xf4\xe1\xf4\xf9\x37\xff\x8e\xe7\x93\x02\xbe\xfc\x53\x89\xb7\x71\xe3\x6d\x54\x0a\xe1\x62\x99\xe4\xeb\xe6\xca\x6f\x74\xab\xe5\xb7\xbc\xf1\xf2\x1b\xd1\x87\x79\x25\xbb\xfa\x73\x87\x46\xa9\x5e\xb0\xd5\xae\xda\xf4\xc4\xe3\xab\xdb\xa7\xa6\xee\xa6\xca\x51\xba\xc4\x0c\x5c\x75\x11\x5d\x3a\x2a\xc3\x2b\xc0\x29\x9a\x55\x1b\xa4\x69\x02\xbd\x31\xc0\x00\x83\x2e\xa2\x47\x67\xa3\x69\x02\x90\x2d\x1a\xfc\x0e\xe1\xd8\xe3\x74\xc8\x63\x33\xc0\x3c\x95\xe3\xd8\x03\xcc\x4b\x20\xa0\xcc\x23\x18\x7a\x64\xe2\xb1\x19\xf4\xd8\x82\x78\xfc\xd6\xd9\x62\x99\xbd\xe1\x8c\x1e\xc9\x29\x3d\xfa\x34\x73\x1a\x13\x36\xbb\x9d\x09\xcc\x41\x84\x30\x23\xb4\x09\xc3\x76\x36\x05\xbe\x0c\x7c\x06\xde\x2f\xbf\x48\x74\xf8\xe5\x17\x3f\xf4\xc6\x39\xf3\x32\x80\x2f\x64\x85\x19\x9a\xce\x60\xe6\x21\xb1\x68\x4b\x0f\x24\x94\x98\xfa\xbf\xfc\xe2\x9b\xb1\xfe\xf2\x8b\xbf\x6b\x38\xf4\xef\x14\x10\x02\x0e\x98\xb0\xdb\x9e\xe5\xa3\xde\x7f\xf3\xbb\x34\xb9\x84\x99\xf7\x5f\x94\x65\x79\x0c\x93\xe0\x53\x4d\x98\x96\x66\x0c\xb0\x80\x80\x1e\x8e\xc0\x06\x92\xb9\x8a\xa8\x71\xf2\x37\x3d\xbe\xbf\xf1\xd2\x23\x59\x0c\xb3\xc0\x42\x1f\x5d\xcd\xb3\xda\xd3\xe8\xc4\x66\x00\x17\x05\x8a\xd6\x76\x06\x5c\xd1\xf0\xff\xb9\x6d\x30\x4a\x10\xd2\x3c\x9a\x79\x80\x96\x77\x91\x7e\xa0\xe5\x27\x90\x47\xb0\x0a\x57\xb6\xcb\x89\xf3\xc5\x21\x73\xb5\xba\x37\x69\x78\x03\x4c\x82\x57\x20\x62\x5e\x3a\xcb\x00\x85\x5e\x75\x00\x5e\x6f\x42\x32\x4f\x0d\x34\x74\xb4\x50\xaa\xc0\x4f\x87\x05\xa2\x31\x99\x57\xb6\xa0\x28\x82\x09\xa2\x45\xcb\x2d\xbb\x64\x6b\x2d\xd4\x83\xbd\x31\x56\xb8\xf8\x0e\x17\x46\x96\xa7\xeb\x5d\x3b\x72\x86\x12\x7a\x08\x71\x44\x62\x84\xa7\x9f\x22\xca\xcc\x35\xf8\x0d\x5c\x6d\x28\x70\x6f\x0c\xf9\x24\xad\x97\x7f\x03\x57\xc2\xfa\xfd\xf7\x1c\x52\xd6\xf3\xe5\xdc\xfd\xf0\x7a\x0e\xd9\x8c\xc4\x43\xff\xed\x9b\xd3\xf7\xbe\x0a\xfb\x6d\x44\xed\xe2\x59\x46\xff\x16\x26\x4c\xab\xba\xec\x5d\xfa\x2e\x98\x0b\xda\xe0\x29\xa0\xf0\xab\x2f\x07\x02\x5a\xb0\xe7\x0f\xfd\x47\x2a\xe6\xf3\x40\xd8\x7e\x3c\xb2\xdf\x68\x8d\x40\xb0\xb7\x40\x38\x26\x8b\x41\x42\x22\xa1\x11\x18\xcc\x32\x38\x19\xf9\xe2\xbe\x79\x48\x29\x39\xf4\x1f\xc9\x06\x3f\xbc\x7b\xf9\x8c\xcc\x53\x82\xa5\x98\x7f\x15\x0c\x22\xce\x8e\x97\x2c\xee\xd7\x88\xd3\xe5\xa2\xd7\x6e\xbd\x3b\xbe\xe6\x95\xae\xaf\x4d\xea\x39\xb9\x60\x26\x8d\xcc\x0c\x82\x78\x20\xa4\x08\xd2\x2a\x87\x64\x3d\xff\x2c\x55\x9d\x8f\xe2\xf1\x0c\xd0\xd9\xb9\x1f\x0c\xd4\x35\x6b\xef\x68\x7f\x34\x62\x83\x04\xe2\x29\x9b\x1d\x1c\xf8\xd7\xd7\x83\xe7\x4f\x79\x99\xd5\xca\xe7\x5f\xb6\x91\x69\xdf\x70\x44\x12\xed\xae\xe3\xb1\x70\x1f\xe9\xdc\x0c\x2f\x6d\x35\x13\xca\x86\x87\x2c\x14\x96\xbd\x42\x04\x22\x8d\x73\x87\xfe\xfb\x19\xa2\xde\x73\xb5\xa0\x1e\xc2\x94\x01\x1c\x41\x4d\x47\xa9\x07\x92\xc4\x23\x79\xe6\x31\x08\xe6\xc6\x6a\x03\x48\x29\x26\x48\x12\xb2\x38\xc1\x04\x2f\xe7\x24\xa7\x27\xc2\x4e\x60\xb8\x7f\x1c\x4e\x50\x46\x19\x56\x0e\x4d\x09\x28\x7e\x0b\x8c\xe5\x3f\x34\xa2\x0e\xd9\xca\x6d\x75\x6f\x1c\x4e\x64\x5a\x35\xcb\xcf\x66\x0c\xa2\x8b\x69\x46\x72\x1c\xf7\x23\x92\x90\xac\xcf\x66\x70\x0e\xfb\x09\x9a\xce\x98\x95\x31\x63\x20\xa6\x3a\xf2\xcd\xd4\x4e\xc5\xfe\x5c\x85\x31\xec\xd2\x5f\xc9\xab\xa5\xbd\xcb\xf5\x7b\xe3\xee\xa4\x20\x5f\xa2\x97\x3f\xbc\xfe\xc7\xc5\xff\x74\xd6\xf9\x3a\x4e\x6d\x85\x0a\x30\xf3\x52\x30\x85\x7d\x31\x25\x2f\x05\x31\xa7\xdd\xfd\xe3\xa3\xa3\xda\xe5\xb1\x99\x01\xc8\xc8\xc2\x75\xd5\x6c\xae\x10\x91\xa4\xff\x65\xfb\x25\x5a\xd5\x6a\xbd\xf8\xa2\xb9\x31\x47\xa6\x59\xe4\x87\xfe\x21\xa0\x14\x32\x7a\x88\xe6\x53\xb5\x46\x09\x99\x92\x41\x8a\x4d\x39\x90\x30\x3f\x34\xd8\x53\x1d\x17\x26\xca\x48\xd1\xc3\x44\x9b\xed\x78\x96\x71\xdb\x63\x87\x71\x5b\x17\x3e\x62\xbd\xd5\xdc\x5f\xeb\xf0\xde\x62\xb6\x11\x99\x52\x7b\xb6\x0b\x14\x0b\x23\xc9\xe3\xbf\x7e\xad\x5f\xcd\x84\x89\x3c\x7f\xf7\xb7\xaf\xcb\x40\x11\x3b\x49\x24\x31\xe0\xa7\xd9\x18\xd0\x4e\xe0\xd9\x10\x20\x4d\xef\x9a\xf1\xe4\x6f\x2d\x78\x62\xe7\xc1\x42\x7f\x28\x24\xbe\x6d\xd5\x4d\x47\x83\xa4\x1a\xa7\xb8\x05\x9b\x66\x53\x99\xb5\x5c\x1a\xa7\x5e\x08\x4f\xef\xa3\xbd\x90\x1e\xda\xa7\xe5\x26\x3a\x0c\xe8\xee\x48\xf8\xf7\x3f\x4f\xfe\x16\xfd\x76\x94\xdd\x87\x40\x6b\x25\xb3\xd0\x5a\x3c\x31\xe9\x32\xd5\x2d\x5a\xda\xe9\x9b\xd7\x2f\xde\xff\xf0\xf2\xa7\xef\x3b\xbb\xba\x6c\x1b\xfd\x6c\x8b\x31\xaf\x8b\x5f\x26\x9d\x09\xfe\xe9\xfd\x3d\x4f\x96\xde\xe3\xa3\xe3\x6f\xb6\x98\xc4\x7d\x8b\x5f\x56\x95\x73\x97\x64\xd3\x3f\x90\x85\xc7\x88\xe4\x0e\x93\x44\xdc\x82\x5a\xe8\x73\x93\x5f\xc1\x2b\x78\x09\x33\x30\x85\x1e\x98\xa2\x04\x7a\x13\x3e\xf7\x05\xc9\x2e\x28\x6f\x3b\xcd\xc8\x25\x8a\xa1\x07\xbc\x8c\x8c\x73\xca\x3c\xba\xc4\x24\xa5\x88\x7a\xfc\xa6\x3f\x43\xd3\x99\x97\xc0\x4b\x98\x78\xe4\x92\x5f\xdc\xe0\x82\x0e\xbc\x97\x0c\x66\x80\xa1\x4b\xe8\x81\x34\xcd\x08\x88\x66\x50\xb4\x15\x91\x2c\x25\x19\x60\x42\x08\x04\x18\x9c\x2e\xbd\x09\xa1\x0c\x66\x5e\x24\x04\xfe\x44\xd5\x62\x33\x84\x2f\x10\x9e\xf2\x3a\x93\x3c\x63\x52\x88\x04\x45\x17\x7c\x9e\x62\xb3\xf2\x91\xa5\x44\x32\xfc\x03\xef\x4d\x36\x05\x18\x45\x20\x49\x96\xde\x34\xe3\x60\x99\x41\x6f\x46\x12\x44\x19\x8a\xbc\x05\xc9\x92\xd8\xe3\xa3\xf3\xc8\xc4\x8b\x11\xcd\xf2\x54\xf4\x84\x30\x26\x97\x82\x6b\xf6\x2e\x11\xe0\xe5\x2e\x84\x6b\x8b\x17\xa3\x4b\x98\x51\xc4\x96\x42\x08\x06\xe7\x29\x59\xc0\x4c\xf0\xaf\x5d\x4e\x42\x27\xa4\x9f\x66\x6a\x4a\x42\x20\x0e\xc6\x09\xf4\x16\x08\xf7\x17\x08\x7b\x34\xcf\x2e\xd1\x25\x48\x34\x5c\x90\x84\x17\xc4\x34\xcf\xc4\x44\x05\x6b\x0c\xbd\x98\xcc\x11\x96\x17\x47\xef\x84\x49\x71\x0c\x8e\xb5\x90\x3d\x06\xcb\xd0\x9b\x12\xde\xcb\x84\x64\x0b\x90\xc5\xa1\x07\x04\x3f\x80\x49\x36\x07\x89\x94\xc4\xcc\x00\xf5\xe0\x25\x49\x2e\x61\x2c\xdd\x08\x94\xad\x17\x87\xc1\x3f\x3d\x44\x3d\x22\xe5\x3c\x59\x8e\x17\x60\xe9\xf1\x2b\x8d\x1c\x37\x6f\x90\x7a\x80\x8f\x11\x82\x39\x67\x1d\x62\x2f\x4a\x48\x1e\x7b\x94\x24\xb9\x1c\x94\x08\x9a\xa3\x8d\xc7\x62\x4f\xe1\xb7\x87\xb0\x97\x41\x90\xf4\x19\x9a\xf3\x49\x27\x89\x37\x03\x97\xd0\x9b\xe7\x09\x43\x42\x68\x48\xf2\x68\x96\x12\x24\x5c\x1b\x48\xe6\x91\xc9\x84\xce\x08\x87\xd7\xf6\xe0\x7e\x06\x52\xc4\x40\xc2\xaf\x18\x04\x7b\x09\x59\x78\x33\x80\xa7\x02\x38\x59\x8e\x98\xd8\x37\x31\xc4\x0c\x4d\x96\x1e\xf0\xc6\x20\x49\x52\x90\x5d\x28\xdc\x02\x71\x0c\x63\x4f\x40\x9d\xe3\x00\x23\xde\x18\x32\xe0\x31\x48\xd9\xc0\x7b\x73\x09\xb3\x8c\xef\x09\x01\x74\x34\xe5\xdd\x70\x84\xe1\xaf\x16\x88\xcd\x78\x6d\x81\x96\x20\xf1\x84\x51\x36\x9b\x65\x24\x9f\xce\x94\xdb\xc6\x73\x78\xf9\x26\xa5\x03\xef\x27\x80\x09\x83\xd1\x0c\x93\x84\x4c\x97\x1e\x9a\xcf\x39\xc6\x11\xec\x81\x84\x70\x80\xcf\x38\x7a\x4e\x88\xb2\x1d\x14\x5b\x8d\x2f\x88\x00\x5f\x94\x10\x2a\xfb\x4f\x08\x49\xf9\x04\x45\x64\x03\xe1\x0c\x42\x12\x98\x2c\xf5\x2a\x4a\xd1\x94\xc7\x57\x6b\x7b\x50\xbe\x25\x71\x04\xa4\xab\x09\x3f\x3e\x81\x9e\x1b\x07\x28\x67\xaf\x31\x98\x0a\x82\xc5\x09\x11\x07\x02\x99\x88\x9d\x34\x49\x84\xf8\x8f\x78\x90\x72\x74\x47\x74\xe6\x81\x82\xba\x0c\xbc\xf7\x40\x6c\x72\xca\xb1\x09\x52\xea\x5d\x40\xe1\x1f\x21\xa6\xcc\xef\xba\x08\xc7\x28\x02\x8c\x64\x94\x23\x84\x60\xe5\x19\xf1\xe6\xe0\x0a\xcd\x91\x99\x3d\x87\x14\x40\xc9\xc0\xfb\x11\xc2\x94\x37\xb7\xe4\xb7\x62\xb8\x84\x06\x02\x9c\x62\x2c\x66\x9c\xb2\xa9\xc6\x79\x29\xe0\xc5\x10\xa6\x62\x9b\xeb\x82\x94\x81\x8c\xf5\xf3\xd4\x13\x37\xe9\x44\xad\x7b\x0c\x33\x5e\x26\x22\xf8\x12\x66\x53\xc8\xc7\x45\xb0\x17\x65\x84\xd2\x3e\xe7\x06\x78\x83\x1e\xc2\x0c\x4e\x25\x5c\x3e\xd3\x87\xcf\xf4\xe1\x33\x7d\xf8\x4c\x1f\x3e\xd3\x87\xcf\xf4\xe1\x33\x7d\xf8\x4c\x1f\x76\x45\x1f\x1e\x86\xbd\xf1\x62\x86\x18\x6c\x97\x0b\x97\x2f\xb0\x30\x49\x88\x77\x5a\x34\xde\x21\xa2\x09\xbf\xe8\x93\x39\xe4\x97\xc4\xe9\xe7\x2a\x77\x54\xe5\x4f\xa2\x48\xaf\x8a\x11\x0b\x19\xed\x5e\x4d\xee\x98\x41\xca\x4f\xbd\xcc\x65\x42\x6c\xbe\xed\x50\x67\x6e\x54\xcd\x2e\x21\xa8\xcc\x4f\xd2\xa0\xc7\x17\x3e\x67\xd3\x43\x88\x2f\x51\x46\xb0\x8a\xee\x72\xb3\x71\xa9\xd0\x7d\x96\x94\xb6\x90\x1b\x6b\x65\xf6\xb0\x50\x8e\xeb\x57\xef\x97\x29\x5c\x05\x7b\xc5\xa4\xf0\x60\x0e\xd2\x5e\xd5\xa4\x39\x2b\x3b\x8a\x85\xd7\x29\x60\xb3\xa1\x7f\xe8\xaf\x54\x50\x31\x55\x20\x06\x74\x36\x26\x20\x8b\x4d\x91\xe2\x4d\xa5\x28\xc0\x20\x59\x32\x14\x15\xad\x15\x6f\x2a\x45\xb5\x03\x90\x2a\x47\x0f\x87\x26\x47\x90\xf9\x29\x42\xd0\xad\xc2\x86\x81\x17\x09\x1b\x74\x1b\xfa\x45\xa5\x2b\x21\x2a\x36\xa5\xc4\xd3\xe1\x50\xfc\xf9\x15\xf1\x29\x54\xe7\x6b\x52\x36\xae\x1b\xdb\x61\x7c\x68\xd4\xd0\xe2\x9b\x79\x58\x37\x72\xa5\x3e\x31\x03\x17\xcf\x87\xc3\x14\x4c\xa1\x1c\x53\xd8\x75\xa6\x95\xa2\x51\x4e\x19\x11\x4a\xba\x7a\xd9\xa6\xe1\x98\x04\x0a\xaa\x86\x7e\xae\x34\x2d\xa2\xa4\x14\x63\x50\x8f\x95\x42\x39\xb5\x71\x49\x3e\x39\x57\xbe\x28\xa4\x9f\xab\x93\x9e\xb3\xb4\x98\x04\x7f\xa8\x14\x48\x50\x04\x31\x2d\x26\xaa\x9f\xab\x38\x29\x62\xa6\x6a\x74\xe4\x0f\xb5\x02\x31\x62\x56\x09\xfe\x54\x2d\x92\x45\x33\x74\x59\x74\xa5\x9f\x6b\xeb\x24\x2c\x8f\x0b\xc8\x8b\xc7\x4a\x21\x8b\xed\x28\x60\x50\x7a\x59\x5b\x54\x6d\x4d\x63\x16\x34\xaf\x01\x83\xc2\x28\xcf\xec\x45\xe7\x8f\x87\x43\x46\x2e\x20\xee\x00\x91\x46\x4c\xa5\xa4\x68\x93\x92\x86\x06\x2f\xe0\x32\x4a\x08\x28\xf6\x98\x79\x51\x5d\x32\x61\x1a\x62\x16\x4c\x3c\xd5\xb0\x23\x9b\x12\x66\x21\x87\x78\xac\x14\xca\x20\x85\x45\x19\xf1\xd4\x30\xb4\x84\x4c\x49\xce\xec\x2e\xf9\x63\x15\x78\x33\x60\xc3\x8e\x3f\x1d\x0e\xf9\x7e\x16\x9b\x7c\x48\x61\x86\xc4\x76\xa8\x54\x33\x4e\x6f\xaa\xa2\x7e\xde\x06\x2b\x40\x14\x91\x5c\x64\xf3\xd4\xeb\xa2\x5f\x54\x0a\xaa\xc3\xd3\x94\xd3\xcf\x95\x62\x45\x62\x34\x43\xd7\xff\xcf\x02\x25\x71\x24\xa9\xb6\x5b\xc9\x27\xea\xd2\x43\x90\xa6\x09\x8a\x94\x59\x4b\x37\xcf\x9d\xa2\x46\xc9\x6f\xa7\x66\xe6\x86\xf9\xb2\xd5\xe2\x17\x33\x42\xf8\x9d\xb2\x16\xc1\x38\xa4\xb7\xe7\xea\x43\x3b\x07\x03\x5d\xe3\x14\x9c\x22\x8c\x61\xdc\xf4\x75\xeb\xe0\xa0\x95\xb0\xbe\x7c\x69\x7f\xa5\x79\x0a\xb3\x01\x07\xf6\x52\x38\xfe\x86\x20\x9b\xca\xc0\x31\x8e\x28\xbf\xcd\xee\xc0\x24\xf3\x03\x87\x0d\x9f\x8a\x55\x18\x0c\xc6\x84\xb0\x1e\x1b\xc8\xac\x6c\x9c\x81\x0b\x5d\x06\x74\x8e\x68\xb4\x68\x22\x89\x8b\xe9\x67\xa8\x57\xda\xdf\x1f\x8d\xf0\xc1\x41\xe5\xab\x21\x13\xce\xaf\x49\x0c\x52\xf5\x85\x0d\x5c\xd6\x55\x07\x07\xfb\xb0\x25\x7a\x6a\xfd\x23\xa7\x89\xf2\xab\x0e\x66\x5c\xf3\xaf\xb7\x7d\xd0\xaa\x93\x01\xba\x7b\x11\x8c\x59\xb8\x3e\x8b\x6a\x27\xb6\xdf\x9a\x6d\x47\x85\x26\xbd\xd6\x08\xaf\xca\x86\xae\x79\x94\x1d\xe2\xbf\xee\xc1\x84\x42\xcb\x38\xd3\x59\x7c\x0a\xd9\xa9\x1c\xeb\x4b\x06\xe7\x3d\x1f\x62\x96\x2d\x3f\x64\x89\x1f\xec\x21\x3a\xc0\x84\x0d\x38\x33\xdf\x63\xc1\xc1\x81\x7a\xce\xb1\xdc\x71\xb1\x78\xb9\x26\x10\x6d\x43\xdb\xa1\x6a\x0b\xe1\x28\xc9\x63\xc8\x37\xad\xb4\xb9\x14\xb1\x6d\x9d\x46\x99\x2c\x08\x56\x56\x7e\xc8\x05\x4a\x92\xf7\xc6\xc2\xd0\x06\xed\x6b\x1d\xce\x6e\x20\xa8\xbf\x8e\x83\x2b\x2d\xd5\xde\x4b\x7a\x42\x7b\xc1\x2a\xac\xa6\x98\xe4\x7c\xb8\x5c\xfc\xfd\x1e\x3b\x38\xa8\x66\x9b\xb4\x1f\x61\x50\x04\x39\x1f\x20\x7a\xf2\x1b\xb8\x92\x88\xf7\x82\xb7\x29\x00\xb3\xdf\xba\xbe\x41\xf0\xf1\xe3\xb6\x31\x7c\x6d\x53\xca\x46\x93\x53\x79\x32\xa1\x3f\x60\xb6\x96\x6a\xc7\x80\x81\x52\xf9\xdf\x28\xc1\x7d\x90\xa2\x5b\xb9\x3d\x99\x6b\x8a\x14\x62\xa2\x3f\xa0\x73\x09\xae\x85\x45\xf0\x35\x8a\x87\x70\x80\xe2\x90\x2d\x53\x38\x54\xe6\xbb\x82\xee\x00\xc6\x32\x34\xe6\x87\xd2\x10\xae\xba\x00\x41\x27\xde\xb1\xf2\x61\x35\x5c\xd7\x9a\x40\x77\x4f\xa0\xb1\x98\x91\x97\xf1\x13\xf5\x77\x78\xb4\x03\xd0\xe8\xbb\xc9\x67\xd0\xd4\x26\x29\x4c\x39\x8d\x65\xe7\xc3\x84\x0a\xe2\x20\x41\x3b\x84\xc7\x5c\x04\x2e\x7e\xc8\xa0\x80\x03\x8d\xf3\x2f\x77\x41\x5b\x04\x54\x52\x88\x85\x9b\xc6\x83\x06\xcc\xae\x70\xe4\x61\x43\x61\xd7\xe8\x91\x11\x26\xec\xe4\xfa\x52\xa0\xd1\x4f\x41\xc6\x50\x84\x52\x80\xd9\x43\x07\x94\xce\xac\xfe\x08\x8a\x40\x42\x3b\x81\x97\x0c\x37\xfb\xb0\x0e\x23\x79\xc9\xf2\x8f\xfc\x3d\x73\x7f\x40\xf1\xc1\x41\x0f\x8f\xf8\x8f\x20\x2c\xa0\x87\x77\x00\x21\x19\x94\xe5\xfe\x43\xe5\x56\x08\x0d\xbf\x1b\xd3\xc3\xfe\x14\x52\x96\x67\x90\x76\x17\xba\x6b\x86\x57\xd7\x74\x35\x76\xf3\x54\x49\xe2\xbe\x4d\x95\x88\x01\x50\x8a\xa6\xf8\xe3\x47\xf9\x34\x87\xd9\x14\x86\x64\x44\x7b\xd7\x2b\x11\xa8\xec\x19\x48\x79\xb7\x22\x5e\xca\x1e\x7f\x4f\xc2\x02\xb8\x7a\x4c\x36\xe8\x71\x0d\xf4\x56\x2b\x64\x50\x3c\xac\x81\x9e\x70\xcb\xdb\x18\x70\xbc\x56\xa5\x8d\x9d\xa6\x96\xaa\xcf\x6e\x8d\x84\xa5\x8b\x0c\x65\x46\x28\xb3\x54\x21\x20\x45\x3f\x10\xca\x42\x0c\xe6\x50\x10\x9a\xf2\xb7\x9f\xf4\xeb\x50\x46\xc2\xa7\x95\x74\x51\x75\xf1\x89\x32\x8a\xa8\x44\x55\x93\x22\xc7\xf0\x7a\x0a\x59\xdd\xcf\xed\x7a\x15\xc2\x16\x81\x4c\x5b\x8b\x46\x3c\x03\xf9\xdd\x5b\x14\x21\x19\xfa\x43\xec\xf1\x11\x0c\x42\xb6\x5a\x05\xe1\x0c\xe0\x38\x81\xef\x20\x4d\x09\xa6\xd5\x3d\xc9\xb2\xe5\xf5\x3a\x91\x90\x7b\x04\x3a\x2e\xe3\x08\x9e\xf9\x57\xfd\xc2\x49\x84\x01\x96\xf3\x9d\x43\x2a\x1f\x2e\xa5\x01\x84\x7f\xbe\x87\x26\xbd\x2f\x8f\x8e\x47\xa3\x11\x73\x88\x11\x48\x21\x5b\xd0\xf2\x00\x97\x04\x40\x89\x08\x3a\x67\xbf\x71\xbb\x76\x0a\x29\x83\xba\x3c\x87\x6b\xc3\xf3\x99\x81\xc9\x54\x57\xd4\x25\x05\xa1\x81\x5c\x56\x34\xfa\xfb\xe9\x9b\x9f\x06\x29\xc8\x28\xec\xd1\x60\x0f\x0d\xa4\x95\xcf\xc1\x01\x1e\x40\x91\xa8\x63\x34\x1a\x21\xf5\x93\xbf\x04\xf1\x1c\x61\xf1\x4e\xfc\x12\xaf\xb4\x4e\x4c\xbe\xd6\x4f\xfc\xd3\x25\x82\x8b\x0f\x14\x66\xf2\x93\x79\xea\x28\x46\x58\x0f\x8c\xd5\x4a\x7a\xb4\xb2\xe0\xba\x2c\xf8\x58\xd9\xf2\xc0\x36\x41\xe3\x3a\x8a\x0d\xd2\xb4\xed\xea\x20\xc5\xc0\x73\x44\xa3\x8d\x74\xa7\x3b\xc9\x66\xa7\x63\x0b\x76\x71\x83\xee\x42\x73\x2e\xa2\x93\x9c\xcd\x1a\x1d\xa9\xd3\x94\x93\xa0\xa1\xef\x87\x8a\x1a\x0d\x7d\xff\x11\xae\x91\x28\x88\x63\x61\x44\x35\xac\x7d\x7a\xe4\x1f\x56\x2a\x14\x74\x4b\x9a\xb6\x70\x6c\x7e\xa1\xeb\xfb\x7e\x48\xb2\xe9\xcb\x98\xff\x30\xae\xad\xaa\x50\xc9\xcb\xd5\x0f\xa1\x34\x75\x1a\xfa\xcf\xc8\x7c\x9e\x63\xc4\x96\x7e\x28\x12\x95\x0d\xf7\x8f\x1a\x1d\x59\x39\x1e\xbd\x95\x8e\x09\x99\x4a\x94\x97\xb3\xd9\x33\xb1\x74\xf2\xd9\x88\xbe\x78\xf1\x42\x90\xc9\x9f\xe6\xe0\xea\x3d\x98\xd2\xe1\x17\xa1\x8c\x88\x7a\x72\x09\x90\x88\x36\xc4\x3f\xaa\x2c\x69\xaf\xa4\x02\xaf\x1e\x05\x73\x5f\x10\x15\x8e\x99\xa2\xdc\x2a\x9c\x42\xf6\x14\x50\xf8\x21\x2b\x0b\xcc\x65\xe9\xb3\x62\xab\x68\xd8\x72\x2a\x70\x3e\xf8\x8d\x20\xdc\xf3\x0f\xfd\x60\x15\x8e\x09\xb1\x93\xee\x71\xf4\x92\x07\xba\xc0\x76\x62\x67\xc5\x23\xc2\x0b\x98\x51\x3f\xb0\xd2\xc5\xd9\xb0\xf0\x43\x32\x38\xb1\x9e\x07\xda\x4f\x52\x32\x09\x68\x74\x49\x50\xec\x1d\x95\x24\xad\x9b\xfa\x40\x73\x72\x88\xb6\xf6\x9c\x36\xc7\x09\xaa\x3b\x72\xa3\x27\x3d\x3d\x2d\xb5\xa7\x10\xa4\xbd\x6b\x89\x40\x6a\xdf\x30\x61\xd4\x37\x63\xff\x3f\x7b\xef\xba\x1c\xb7\x8d\xed\x8b\x7f\xf7\x53\x30\xdc\x55\x8e\xfa\x6f\xb6\x2e\xbe\xc5\x71\x6d\x6d\x1f\x45\x72\x32\x9e\x2d\x3b\x1e\x4b\x4e\x66\xb6\xa3\x4a\xa1\x49\x74\x37\x46\x6c\x82\x43\x80\x6a\x77\x12\x57\x9d\x4f\xe7\x01\x4e\xed\x07\x98\xb7\x38\xdf\xe7\x51\xf6\x93\xfc\x0b\x37\x12\x24\x41\x12\x64\xb3\x5b\xad\xc4\x73\xf6\x89\xd5\xbc\x80\xc0\xc2\xc2\xc2\xc2\xba\xfc\xd6\x22\xbc\x00\x53\xb8\x57\x4e\x23\x1e\xd5\xb0\xcc\xa1\xce\x10\x87\x9f\x74\x49\x5c\x2f\xc3\xa4\xd3\xe6\xe2\x87\xb7\xfb\x32\xbe\x83\xf7\x6f\x34\x7a\x5e\x0f\x37\x10\xa7\x93\x10\xf9\x07\x0b\xe1\xbe\x28\xba\x25\xf0\xe8\xd7\xf2\xe0\xf0\xc8\x93\xd3\xa8\xf6\x2e\xcf\xbd\x71\x1f\xc8\xc6\xd5\xb5\x51\xf6\x94\x5c\xc9\x6e\x55\xbe\x62\x42\x47\x9e\xf2\xbd\x32\x1e\x7d\xb1\xd7\x8d\x92\x17\xfc\xd5\x2c\x95\x9c\x67\xcb\xa0\x68\xd6\x48\xd2\x7c\x59\x31\x9a\xb6\x11\x74\xf4\xbc\xb4\xeb\x46\xba\x15\xde\xfc\x36\xa1\x38\x81\x66\xa3\xbe\x17\x29\xae\x26\x1e\x38\x7e\x10\xc1\xa5\x73\x06\x28\xbc\x57\x2c\x0e\xc9\x5a\x65\xfb\xe4\x9e\x3b\xa7\x34\x26\xcf\x0f\x0e\x88\x68\x7c\x7f\x86\xf1\x2c\x84\x20\x46\x84\x29\x5b\x07\xd9\x0e\x10\xc1\x25\xe1\x13\xb8\xff\x77\x82\xa3\x17\xfe\xe4\xd8\x7d\x00\xbc\xb2\x37\x2c\x3a\x66\x13\x45\xd9\xab\x42\x6c\xed\xcb\xd9\xf2\x88\xbc\xc3\xa1\x37\xe3\x04\x11\x98\xdd\xc2\xc7\x48\x4a\x03\x21\xf5\x18\x71\xd5\xa5\x6c\xb2\xef\x21\x59\xee\x51\xb5\x7c\x0e\x28\xe4\x75\xd0\x46\x9e\xbc\x95\x37\xad\xee\x91\xec\x5e\x49\xa8\xb9\xde\x17\x47\x82\x4e\xa1\x76\x8e\x42\xe4\x0d\x5c\xfe\x20\xbe\xb8\x07\xbc\xc8\xfb\xe2\x70\xe4\x25\xf5\x0f\x10\xf6\xc0\x3d\x4d\x46\x1f\x1f\x1f\xe3\xfb\xf7\xc3\xfb\xf7\x6b\xbf\x7a\x38\xf2\xdc\x97\x59\x3f\xe5\x0b\x49\xe3\x0b\x9f\x46\x1e\xfe\xd4\xba\xad\xf3\xc4\xe6\xcd\xa5\x7b\x96\xb7\x66\xc4\xc6\x70\xa3\x97\x5d\x95\x4a\x80\x90\xd2\xd9\x55\x7e\x4d\xf2\x5e\xd1\xf1\x26\x84\xee\xf1\xf1\x71\xf4\xdb\x6f\xd1\x78\xec\xfc\xc7\xe1\xe8\x57\x8e\xda\xb8\x80\x38\xa5\x7b\xc4\x83\xa3\x7b\x4c\x49\xa6\xfb\x3e\x08\xc3\x3d\x5e\xd9\x33\x57\x8e\xe8\x3c\xc1\x4b\x27\x3a\x3e\xf4\xe8\x3e\xc5\x62\xd9\xee\x8d\xd8\x79\x95\x7f\xf2\x5e\xa9\xa5\x4f\x1e\x99\xe3\xe5\x1b\x4c\xd1\x54\x9e\xc4\xab\xc8\xca\x82\x05\x6f\x60\x44\xbf\x49\x89\x3b\xda\xe7\x42\x8b\xcc\xb9\xab\x1e\x4d\x57\xef\xf9\x61\x9f\xb6\x4f\x84\xc4\xa0\xdc\xde\x5c\x48\xad\xb9\x19\x42\x3b\xf3\xa0\x7a\x28\x42\xb4\x02\x9f\xd9\xa4\x51\x66\xc5\x56\x5f\x43\x0a\xce\x20\xf1\x13\x14\x8b\x77\x39\xb8\x34\xc7\xd9\x2c\x90\xb3\x84\x6a\x41\x1f\xb8\xce\x6f\x8e\xfb\xa0\xa2\xe7\xab\x81\x28\xcf\x9c\xa8\xe4\xa7\xb5\x7a\x42\xde\x72\x44\xa5\xc6\xd6\x2d\x5b\x7d\xe0\xb2\x2e\xe4\x6d\x17\x80\xb3\x1b\x3f\xc0\xdf\x29\x8d\xbd\xf0\x42\x06\xc7\xc1\xe4\xe3\x07\x76\xa4\x3d\x0e\xf2\x47\xaf\x32\x80\x8e\xbd\x91\xb7\xc7\x84\xbd\x70\xe5\xfe\xf6\x1b\x22\x05\x37\x2e\x3f\x52\xb5\x8f\x47\x55\x2a\x1c\x69\x85\x6e\x99\xbe\xe1\x8e\xd8\x23\x8c\x23\xbe\xfc\x77\xd6\x11\x5e\x3f\xec\xd8\xd5\x7a\xe2\xaa\xd4\x81\x63\xf7\xcb\x07\xf4\xc1\x97\xee\x7f\x7c\xc9\x88\xcd\x81\x25\x2f\xb1\x61\x48\x49\x1a\xed\x13\x7f\x0e\x19\x4f\xee\xb9\x1c\x96\xfc\x1d\x8c\xb8\x4a\x55\x3a\x4d\xc3\x63\xd5\x17\x3a\xda\xc7\xd3\x29\x77\xf9\xde\x2b\x0c\x10\x8e\x94\x01\x86\x75\x98\x2e\x42\xcf\x51\x70\x29\x11\x5a\xf0\x0c\x72\xd5\x95\xf8\x39\xdc\xa7\x38\xfe\xe4\x3d\x7c\x72\xc8\x1d\xf9\x01\x5e\x46\x21\x06\x01\x87\xb7\x35\x99\xfc\xd8\x3e\xf7\x4d\x88\x27\x7b\x1f\xe8\x95\xf7\x2b\xcd\x30\x8b\x0e\xd8\x87\x5c\xb6\x0d\xe7\xca\x99\x9f\x40\x40\xe1\xcb\x90\xc7\xce\xee\xb9\xc0\x1d\xdd\x23\xfb\x84\xae\x42\x46\x2d\x44\xe2\x10\xac\x9e\x3b\x11\x4f\x5d\xce\xde\x61\x3d\x95\xe4\x3d\x9d\xa3\x90\x9d\x37\x65\xad\x64\xa9\x73\xbc\x7f\x77\x2e\x1b\x16\xeb\xfb\xfd\xbb\xf3\x3d\x26\x87\xc4\x19\x0f\x7b\x64\x5f\x8d\xe1\x18\x7a\x64\x9f\x67\x30\xe4\x27\x42\xf6\x76\x02\x6f\xf0\xb5\xf6\x36\x1e\x95\x3e\x2f\x51\x5e\xe4\xe7\xdb\xe4\x90\xf2\xb4\xd6\x1b\x28\xb5\x8d\x63\xa3\x66\xc9\x8e\xf2\x69\xdd\x53\x1f\x57\x8e\x6a\x0f\x7d\x41\x50\x17\xc2\x53\x07\x9a\x15\x63\xa6\xc2\xe6\xe4\xfc\x55\x2e\x22\x01\x8c\xc5\xb4\x21\x09\x9c\xc5\x0d\x0f\x84\x6f\x45\x68\xba\x62\x67\x76\x43\x08\x8e\x02\xcc\x12\x2b\x9c\x75\xd5\x1d\xed\x67\x86\x5b\xfd\x3b\xf9\xa9\xa0\xf4\x74\x9c\x92\x39\x47\xbf\xe2\xe7\x2c\xb6\x2f\xfd\x80\x08\x9a\x84\xb5\x35\xc7\x5b\xe1\xc0\xd4\x47\x85\xcd\xff\xc0\x7d\x40\x73\x64\xb0\xef\x5e\x5e\x56\x81\xbf\xb2\xb3\x9c\x23\x95\x57\x90\x24\x60\x25\x43\x51\x8e\x3f\x5c\x31\x86\x28\x84\x34\x0f\x3d\x72\x31\xf6\x93\xb0\x36\x20\xab\xc7\x98\x1f\xb8\x2f\x04\x4e\xf0\x31\x08\x43\xf7\x0e\x50\xa0\xad\xe4\x4a\x56\x32\xbc\x03\x35\xdc\x07\x91\x86\x0a\xf7\xfe\xd2\xf5\x76\x88\xdd\x03\x18\x42\x0a\x0d\x26\x05\xbb\x91\x69\x5c\x7d\xf6\xf2\xfc\xe5\xe5\x4b\x57\xf2\x51\x5e\xa7\x8e\xac\xcf\x4f\x9c\x93\x0e\x74\xbf\xd9\xed\x71\x52\xc1\x7d\x67\xbd\xac\xb8\x49\x73\x28\x42\x08\x27\xd9\xf6\x49\x90\x4a\x7d\xdd\x6a\x21\x41\xfa\x03\x82\xcb\xe2\xa8\x3d\xfd\xec\x62\x35\x5c\x58\x98\xf7\x17\x5c\xb0\x1c\x17\xd8\xae\xcb\x82\xca\x24\xfc\x45\xba\x58\x80\x64\xd5\x93\xed\x35\xf1\x76\x40\x44\x4b\xf6\xd3\x41\x25\x75\x4e\x65\x6b\xaf\xb9\x07\x8a\xcc\x51\x6c\x74\x31\xda\xf4\x67\xc1\x9b\x78\xb1\xc0\x01\xa3\x0d\x2c\x43\x50\x76\x90\x36\x9c\x38\xaa\x80\xa3\xec\x21\x82\xa4\x27\x9d\x94\xae\xd5\x69\xf7\xa3\x6a\x8a\x18\x91\x1b\x89\xd4\x9d\x44\x3d\x36\x63\xde\x9d\x29\xa4\xfe\x9c\x77\xe8\x8c\x11\xae\xef\x32\xe6\xcd\x1c\xf4\xd1\x0c\xc4\xca\xfc\x55\xbd\xfa\xfc\xc3\x95\xb7\xc8\x49\xf2\xe1\xca\x93\x6c\xc8\x93\xd4\x78\x35\x30\xf9\xe4\x46\x37\x4c\x75\x3f\xca\x3e\x77\x4c\xbc\x68\x3f\xef\xd9\x31\xd5\x7e\x78\xd1\xbe\xec\xe5\x31\x55\x7f\x79\x51\xbb\x19\xc6\xc7\xf8\x1a\x95\xbd\xe1\xc2\x6d\x2b\x6f\x55\x9f\xdd\x56\x76\x5c\xf6\xe1\x3c\x81\xaa\xc1\x05\x24\xd6\xda\xf0\x70\xb7\x6b\x5a\x2f\xa4\x9d\xf2\xe2\xc6\xaf\x79\xb4\x68\x2a\xed\x56\x5e\xac\xe9\xe8\xd1\x78\xac\xd0\x04\x51\xef\x05\x97\x15\x99\xed\xb2\xca\xea\xd7\x46\x3e\xc9\xed\x6b\xc3\x00\xa3\x5b\x7c\x43\x26\x56\x8e\x4a\x31\xd0\x79\xe1\x43\x77\xe4\xd1\x5c\x29\xff\x66\xc5\xe5\xcf\xfa\xa4\x30\xed\xa1\x75\x04\x11\x53\x73\xc2\x34\x87\xb7\x09\xfe\xb8\x92\xc7\xf1\x3d\x75\x5e\x93\x73\x77\xb2\xf7\xe1\x4a\x13\x07\xc3\x29\x1c\x5d\x08\xde\x44\x72\xda\xa4\xda\x77\xd1\xe9\x75\x86\x82\x25\x1d\xa4\x7e\x4f\x15\x3a\x76\x03\x37\x17\x19\xb5\xb5\x1b\xd0\xa8\x74\x83\x20\x78\xcb\xce\xf0\xc6\xf0\xad\xc2\x07\x98\x4e\x05\x66\x90\xb8\xcd\x07\xf4\x48\xc6\x76\x95\xc6\x04\x47\x06\x8d\x82\x75\x40\xd5\x7d\x2c\xf5\x41\xe4\x34\x09\xcb\x0e\x3f\x47\xa1\x9a\xee\x70\x75\x6f\x8f\xbc\x70\x5f\x24\xc7\x34\x49\xa1\xfb\x9c\xfd\xc5\x33\xac\xf3\xb9\x11\x1c\x47\x20\xdd\x63\x1b\x0d\x05\x02\x36\x80\xc7\x26\xbc\x8a\xd4\xc5\x7d\x14\x8c\x74\xd7\x5b\x89\x7e\xc8\x62\xe6\x22\xf3\x28\xcd\x42\x03\x1e\xe3\x5a\x1e\x16\x41\xa3\x39\xff\x62\x03\xff\xc2\x76\xee\x65\x47\x2a\x46\xa4\x61\x64\x61\xc6\x01\xed\x32\xa0\x66\x35\x67\x1f\xec\xbc\xa8\xcb\x04\x69\x39\x39\xd5\xf2\xf4\x1a\xc3\x2e\xae\xde\xa6\xed\x00\x1e\x47\xd6\x03\x89\x6a\x66\x36\x1b\x06\xcf\xb8\xdb\xc0\x50\x1e\xb8\xc2\x0f\x3c\xcc\x90\x64\x28\x4b\xfb\xb8\xca\x1c\xcb\x81\xe2\xa5\xb0\x2b\xf3\xaa\xee\xc9\xea\x2a\x8c\x14\x01\x88\x59\x1e\x19\x57\xaa\x67\x10\x90\x79\xcf\x3a\xc8\x48\x46\xdf\xd6\x9e\x45\x75\x56\x10\x25\xf3\xdf\xc1\x1b\x54\x67\x0b\xa9\x7c\x37\x51\x0f\xb7\x93\xa4\xc2\xc5\x19\xaf\x99\xbe\x68\x33\xd6\x6e\xdf\x8f\x5a\xbf\x7f\x86\xa6\xd3\x4e\x7c\x50\xee\xc4\x81\xfb\xc0\x50\xcf\xb8\xca\x1a\x7a\x3f\x5a\xab\x2c\x14\x84\x6b\x95\x8f\xc5\x3d\x97\x8f\x27\xc1\x61\x38\x01\xfe\xb5\x61\x5f\xdb\xec\x40\xf8\xe1\x5d\x52\xf4\x12\x4c\x42\xf8\xfd\x54\x16\x53\x1b\x78\x13\x78\xa1\x5c\x58\x87\xbb\xbe\x1d\x08\x20\x27\x36\x13\x17\x6c\x44\x91\xdf\x69\x25\x13\xf9\xce\xc0\x6a\x4f\xde\xa9\x73\x78\x03\xc3\x2e\x3d\xe2\x80\xb6\x03\x77\x87\x1d\x17\x28\x05\xfe\x7c\x31\x28\xa7\x80\xbc\x4d\xcb\x7d\x26\x3a\xfe\x70\x75\xaf\x1c\xa7\x90\x2d\xbc\x2f\xbe\xa0\xf7\xef\xf3\xaa\xe5\x84\x26\xa9\x2f\x82\x48\xc5\x49\xf8\xd3\x1e\x1d\xbd\x88\x9e\x47\xc7\xdd\x99\x29\xef\xa5\x2d\x4b\x89\x4d\x21\xa7\x58\x57\x23\x5c\x03\x9d\x8a\x5a\x46\xc9\x3c\xce\xd4\x01\x7c\x03\x4f\x71\xbc\xba\xe4\x49\xe7\xa4\x6f\xe1\x19\x89\xa4\x42\x0e\x44\xf2\x7a\xeb\xf4\xc0\xd2\x22\x86\x6c\x11\x43\x7d\x11\xc3\x22\xdd\x73\x35\xc5\xe2\xa0\x06\x35\x51\xd0\xb0\x90\x71\xbc\x6a\x10\xa8\xeb\xeb\x43\xec\x03\x25\xc7\x8b\x10\xa7\x75\x3a\x11\xb1\x16\x50\xa4\x56\xcd\x5b\xe0\x1b\xd3\xf1\x67\xb8\x51\xb1\x0f\x6c\x7d\x54\x37\xb8\xe0\x1f\xd2\xb6\x3d\xf7\x5e\x21\xdb\xbf\x1c\x5c\x51\x8c\x38\x1f\x91\xfa\x38\x8c\xac\x52\x7b\x9e\xd9\xaf\xc7\xa3\xe6\x06\x2a\x43\x5e\x3f\x88\x70\xf4\x8a\xbd\x4a\x8e\xf5\x68\x53\x6c\x8a\x68\x67\x17\x8f\x9e\x1e\x1f\x1f\x63\x59\xe4\xe7\x05\xd6\x93\x24\x22\x1c\xbd\xe7\xa9\x5e\x7b\x85\x08\x7a\xfd\xeb\xd5\x30\x41\xf9\x7d\x8f\x8c\x3e\x89\x20\xc1\x5f\x45\xba\xd8\x73\x22\x28\x17\x7d\x6a\x71\x83\xcb\x48\x4e\xdd\x58\xfe\xc0\x3d\x60\xef\xba\x66\xd1\x8f\xea\x44\xbf\x30\x3c\x5a\x59\xc8\xc5\xa7\xc5\x0b\x35\x9f\xa1\x46\xbd\x3a\xd7\xac\x64\x18\x88\xb4\x8e\x2b\x4d\x77\x00\x03\x79\x37\xb7\x81\x34\x8d\xab\x97\x9e\xff\xfa\xc9\x8b\x35\xdf\xe3\xaf\x5c\x83\x83\xfc\x0f\x89\xba\xf4\xfc\xc3\x95\xfc\x93\x5d\x0c\x51\x74\xcd\x2f\xc9\xb8\x48\x22\x6d\xe8\x56\x56\xa9\x2c\x9d\x92\xb1\x9f\x69\x9b\xc9\x62\x5a\xea\x9b\xab\x26\x05\xd2\x7d\x6d\x04\xa3\x7b\x95\x97\x79\xcb\x78\xe4\xc9\xcb\x05\x7b\xac\x28\xd4\xbc\xe7\x6a\x2d\xb8\x1e\x56\x01\xac\xed\x83\x2a\x75\x84\xd3\x6e\x74\xaf\xf2\x26\xef\x02\x12\xcd\x82\x63\x2a\xb3\x25\x49\xe7\x0d\x5b\x41\xa2\x75\x71\x36\xa8\xae\x72\x67\x83\x36\xce\x63\xec\x45\xa2\xc3\xc7\xc8\x8b\x54\x97\x8e\x41\xf6\xf7\x31\xd8\x9f\xa2\x28\xf8\x66\xc5\xcd\x7d\x2a\x8c\x58\x25\x7a\xba\xa3\x91\x17\xed\x73\x76\x38\xa6\xe2\x5f\x2f\x52\x11\xb5\xec\x92\xfa\xd3\x8b\x5a\xad\x35\x9c\x91\x9b\xce\xc0\x4d\x31\xf7\x1e\x3a\xfe\xe2\xc8\x03\xec\x3f\x21\xfb\x4f\xc2\xfe\xe3\xb3\xff\x04\xc7\x5f\x1c\x49\x3a\x64\x51\x6f\x51\x39\xea\x2d\xe2\x51\x6f\xd1\xb1\xeb\x36\x98\xc0\xe4\x52\x63\xbb\x80\x8c\xd3\x20\x38\x4d\xb8\x5d\xb8\x72\xa6\xab\x5b\x73\x9a\xf1\x37\xdf\xf3\xa7\x38\x79\x09\x4a\x94\x69\x1e\x0f\x6b\x2c\x6d\xdf\xa9\xf6\xd9\xbf\xa3\x7b\x95\x27\x39\x83\xa4\x82\x13\x17\x2d\xcd\x28\xd3\x06\x37\x12\x8e\xee\x55\x1e\xe7\x6d\x2d\x44\x5b\x71\x61\x7c\x6c\x49\xf2\x2c\x78\xe3\x00\x05\x3d\x6c\x87\x50\x79\x52\xf2\xb8\x15\x25\x4a\x43\x68\x21\x87\x34\xdd\x88\x1d\xc9\x1d\x1d\x1f\x1f\x43\x6f\x9a\xdb\x7f\x78\x7a\xdb\xc8\x9b\x1d\xf3\xf4\xdd\xdc\x10\xee\xb1\x2f\x3d\x8f\x04\xaa\x65\xea\xe1\x65\x04\x93\xe7\x74\x9f\xff\xab\xce\x3b\x82\x1c\xcf\xa7\x7c\x37\x3d\xe5\xd7\x2e\x28\xa0\x70\x5f\xde\xf9\xed\xb7\xda\x5b\x6f\xe0\x52\xb6\x72\xb2\x04\x88\xa2\x68\xf6\x0e\xde\x20\xb8\x34\x34\xf6\x3e\x0a\x60\x22\xee\xca\x57\xde\xc1\xbf\xf3\x94\x73\xc3\xc3\xea\x96\xc7\xc6\xfb\x27\x40\x4e\x0b\x3d\x5d\xdc\xbf\xbf\xd7\xb3\xb7\xa3\x62\x8b\xa5\x5e\x2f\xee\xdf\x6f\xee\x78\xe1\xe5\xac\xff\xc6\xd7\xd4\xdd\x4f\xde\xbc\x8d\x11\x32\x58\x86\xd9\xe8\x5e\xe5\x61\xce\x06\xf3\x91\x17\xf3\xbf\xc4\xb9\x8a\xfd\x2e\x4d\xfd\x17\x35\x63\xbe\x7f\xdf\xf2\xc1\x37\x70\xf9\xdb\x6f\x7b\xe8\xf8\x8b\x43\x2f\x39\x5e\x54\xda\x6f\x22\xcb\xfd\xfb\x7b\x80\xbd\xe7\xdb\xbc\xa7\xe8\x72\xff\xfe\x5e\x58\xe6\xdf\x7a\x3e\x08\x8e\xc3\xfb\xf7\x17\x23\x99\xba\x3c\xe5\x6c\x9e\x96\xd9\x3c\x15\x6c\xbe\xf0\x24\x41\x9f\xc7\x25\x16\x47\x66\x66\x05\x65\x86\x0c\xcd\x7c\x97\x34\x32\x8f\x5f\xc3\x1d\x19\x13\xbf\x81\x4b\xb6\x91\xa8\xd6\x52\x91\x31\xc1\x2e\x31\x5d\x55\x5e\xde\x6b\xd1\xab\xd9\xa1\xb3\x8d\x9f\x34\x30\x98\xe9\xe8\x5e\xe5\x71\xce\x51\x33\x36\x53\x1a\x47\xcd\x46\x9f\x46\xed\xdb\x61\x8b\x83\x9f\x27\x08\x8c\x27\x29\xd9\x5e\x80\xbf\xb8\xf8\x92\x7d\x18\x06\xde\xaf\x9d\xe3\xf7\xef\x69\x07\x74\x19\x6f\x0c\x82\x80\xb7\x77\x8e\x08\x85\x11\x4c\xf6\x5c\x11\x7a\xed\x7a\x3f\xef\xd3\x79\x82\x29\x0d\x61\x01\x8f\x36\xcf\x86\x10\x0f\xc2\x40\x60\x11\x8f\x3e\x79\x47\x87\x87\xa3\x2c\x90\xb9\xda\x70\x02\x09\x47\x3b\xfd\x79\x3f\x80\x13\x9c\x46\x7e\x5d\xc3\xe2\xc1\x52\xbb\x9f\x3c\x79\xbf\x9a\x74\xe8\x48\x50\x2e\x34\x9b\xd5\xe6\xc2\x7a\x24\x9d\x10\x3f\x41\x13\x43\xd2\xa2\x78\x1f\x47\x75\xaf\xa6\x51\xfb\xcb\xd3\x69\xbf\x24\x5c\xa5\x49\x7e\x0e\xcd\xce\x6f\xfa\x69\x92\xc0\x88\x7e\x2b\x0e\x3b\x3c\x5f\x55\x3f\x1b\xf1\x0b\x3d\x73\x57\x74\xbd\xfb\xd7\x4f\x9f\xfa\x47\x81\xf3\xe3\xcf\xa6\x43\xc0\xed\x8f\x19\xdc\x3a\x27\x09\xd6\xf7\x18\xdb\x39\xb0\x6b\x88\x8e\x0f\x1d\x70\x62\x36\x47\xca\x8f\xf3\x39\xcb\x8f\x64\x69\x18\x7e\x71\x4c\x5f\x44\x70\xe9\x98\x72\x59\x65\x1e\x6b\x02\x43\x0c\x82\xbd\x81\x42\x31\x14\x91\xcb\x61\x18\x9d\xa2\x1d\x45\xfe\x87\xd9\x64\xaf\x47\x79\x4a\xc3\x5b\x5f\x4f\x60\x9f\x20\x6b\x03\x13\x69\x2d\xe2\x88\x83\x91\x9b\x7b\x2e\x2d\x4a\x02\xd4\xb7\x29\xa0\x44\x39\x18\x0a\x34\xd3\xb0\x75\x0e\x34\xfa\x41\x41\x2f\x36\x85\xbd\x2d\xd5\x72\xa9\xb7\x99\xa7\x4d\x71\x44\xb9\x95\xda\xeb\x6e\x9e\x56\xab\xc8\xce\x38\x3d\x50\xf4\xba\xce\x3f\x05\x6b\xcc\xf0\x81\xdb\x74\x1f\x05\x8c\x61\xc7\xee\x03\xf6\xe7\xbd\x36\xa9\x62\x30\x39\x59\x67\x47\x98\x49\x63\xe5\x2b\x69\xa7\x48\x97\x15\x2c\xac\xd3\x9c\xc9\x2d\x3b\xa2\x6d\x38\xb2\x17\x28\xba\x41\xaa\x98\xb9\xed\x0e\x04\x55\x7c\xfb\x69\x61\x77\xad\x61\x13\x34\xdd\xfb\xa2\x94\x94\x78\xff\xfe\x17\x79\xca\x62\x89\x79\xb9\xec\xcb\x31\x17\x0a\x1b\x38\x9b\xa5\x7a\x3c\x81\xaa\x65\x5a\x71\x7d\xa4\x90\x9b\x2c\xec\xef\xae\x7b\x7c\x7c\x4c\xee\xdf\xdf\x23\xc7\xee\xa1\xab\x8c\x97\x19\xcd\xa2\xe2\xcc\x89\x4c\x84\xd6\xa5\x80\x0d\x3c\x2e\x58\x36\x5d\x87\x63\xab\x46\x5a\x65\x48\xc9\x58\xb9\x6a\x0a\x25\x23\x8f\x7c\xe2\x80\xbb\xc1\x02\x45\x4c\xa7\x5e\x4b\x9a\x1d\x88\xa2\x42\x3b\x2f\xd4\x5a\x94\xe7\x59\x88\x27\x20\xdc\xdd\x04\xeb\x26\x2d\xb9\x0d\xca\xbc\x25\xc8\xf8\xe2\xf5\xe5\x5b\x09\xe8\xa2\x31\x42\x93\x63\x0b\x91\xef\x38\xb9\x4e\x18\x07\xe5\xb8\xda\xf5\x9c\x22\xa8\x7b\x20\xab\x3b\x74\xca\x13\x01\x37\xd0\xd4\x41\xba\x95\x1e\xb6\x84\xb5\xce\x20\x35\xc0\xd7\x6c\xa2\x5f\x79\xd9\x8b\xfe\x51\x3e\x82\x98\x95\x0e\x6f\x88\x92\xd5\x1e\x67\xc4\xd4\x7a\x2c\x88\x9b\x29\xdd\x39\xb4\xd0\x86\xe9\x29\xab\x61\x74\xe5\x44\x53\x07\x37\x44\xbf\x52\x0f\x5b\x38\x91\xac\x22\xff\x3f\x25\xb0\xbe\x3d\xed\x3a\xaf\x8e\x55\xe4\x1f\x68\x75\x3f\xec\xc9\xd7\x16\x99\xbe\x8a\xfc\xf3\xb3\x93\xb7\x9b\xeb\x7a\x18\x80\x98\xf7\x7f\xc8\x6e\xc7\x09\x37\x61\x16\x7b\xde\xca\x0f\xbd\xba\x2e\x3f\xe5\x96\x53\xdb\xec\x2d\x04\xf6\x93\xc1\x6b\x95\x5c\x70\xdb\xf2\xc6\x77\x04\xfe\xad\x03\x69\xc8\xee\xb6\x20\x13\x88\xa2\x00\x7e\xdc\x52\x17\xe5\xd7\xca\x13\x60\xa1\x59\x24\x38\x8d\x3f\x5b\xe5\x06\x01\x4c\x90\xb4\xdc\xac\xa9\x4c\x7e\xc4\xd2\x52\x56\x6b\x28\x6a\xd7\x9f\xd5\x68\xb6\xae\x38\xcb\x0f\xdb\x19\x03\x44\x52\xcb\x40\x90\x00\xfc\xcb\xdb\xc6\x03\xe8\x30\xa1\x7d\xec\x54\x6a\x4c\xb5\x48\x00\xdf\xb1\x07\x64\x02\x6f\x6f\x63\x4a\xf6\x15\x9e\xeb\xc0\xdb\xea\x20\x2f\x3b\x87\xa5\xf0\xcf\x8d\xc5\x87\x6c\x8d\x23\x7f\xc7\x28\xea\x6a\x11\xd1\x87\xc5\xde\x3f\xa8\xa6\x6f\xb3\xa6\x43\x08\x2a\x56\xca\x4e\x6d\xf3\x06\xea\xe2\x51\x5b\x24\xf8\xb5\x3f\x16\xda\x58\x43\x66\x6b\x04\xd7\xaf\xfc\xb8\x43\x67\x46\xa5\xe4\xad\xe5\x21\x11\x00\xaf\xdc\x39\x52\x84\xde\x34\x89\xc9\x92\xe9\xfc\x6d\x82\x17\x88\x68\x6e\x3d\x1e\x3a\x84\xa6\x7b\xd5\x52\x45\x62\xf2\x33\xb5\x74\x94\xc7\x3d\x0a\x0b\x53\xe5\xfe\x08\x1a\x2e\xe6\x81\x97\x84\x03\x3f\x29\x6d\x7a\x4f\x83\xfe\x95\x6f\x29\xd0\xac\x1c\x09\x95\x35\x7a\x8f\x0a\x63\x4b\xae\x1f\x73\x78\xef\xd2\x77\xf6\x19\x2d\xf7\x46\xfb\x24\xe5\xe0\x8e\xba\xdb\xd2\xd4\xab\x4f\xa3\x7d\x5e\xcb\xa8\xb0\x76\x23\xa1\xf4\xf3\x75\x81\x67\x28\x5a\x8f\xb0\x3c\x39\x91\x8a\xfa\x5f\x35\xc2\x15\x1f\xeb\xd0\xe5\xf4\x24\x8e\xdf\x27\xe1\x5e\xe1\xda\x45\x3a\x09\xf0\x02\xa0\x68\x6f\x34\x7a\x20\xb1\x26\xd5\x38\x04\x2e\x83\x00\x23\xbe\x47\x45\x7d\xa3\xbd\x5f\x13\x18\xa0\x04\xfa\xf4\x7d\x82\x9e\xe3\x4f\x46\x8a\xa8\x11\xec\x19\xe8\x90\xdd\x25\x7b\x7c\x84\xfc\xae\xa8\x2e\xe8\x4c\x01\x0a\x79\xc4\xed\x27\x29\x99\x44\x05\xc0\x01\x18\xb0\x86\x4e\x64\xf4\x2b\xd9\x17\x1f\xb1\xe6\x17\xd3\x80\xab\xec\xc2\x31\x3d\x2f\xf1\x35\x8c\xf6\x46\x1e\x34\x11\x02\xb6\xbe\x16\x09\x8b\xed\x28\x8f\xcb\x13\x35\x0b\x37\x47\x0f\x6e\xde\x0c\x31\x08\x78\x84\x86\xf8\x9a\x89\xe9\x29\xe7\xfa\x46\x2e\x17\x71\xe5\x20\xae\xf4\x99\xe6\x35\x08\x38\xe3\x71\x04\x64\x36\x62\x0d\x33\x56\xa3\x08\xbf\xc5\xdd\x5d\x14\xbe\x0a\x9e\x67\xf6\xe7\x7d\x14\x54\x50\xf3\xd8\xb5\x17\x74\x1f\x2e\x00\x0a\x9f\xb3\x5f\x9e\xf8\x33\x7f\x89\xff\xae\xbe\x27\x2e\xbf\x70\xdd\xe7\xf2\x6f\x1e\xc3\x12\x81\x05\xd4\xde\x55\x97\xaa\xaf\x67\x77\x44\x0b\xea\xa7\x37\x45\x09\xa1\xa5\x56\xf8\xb5\x37\xc6\x66\xf2\x5b\x2f\xf2\x46\x9e\x6b\xd7\xbd\x10\x54\xda\x63\x97\xcc\xcd\x65\x77\x8a\xad\xa9\xcb\x1e\x8c\xc0\x24\x84\xc1\xf3\x2f\xf6\xbe\xd0\x08\x24\x2e\x4a\x53\x7f\x81\x46\xf2\xce\xe8\xb7\xdf\xb2\x1f\xad\x25\x21\x42\x14\x5d\xd7\xec\xbf\xb2\x9c\x24\x07\xd4\x44\xc3\xd6\x85\x36\xee\xc2\x79\x35\xc9\x5d\xb1\xe1\x2a\x7c\x51\x0b\x20\x89\x73\x1e\xeb\xdd\x49\xbd\x2d\xa7\x63\xf0\xb8\xe0\x8a\xea\xc9\x15\xdd\x53\x10\x05\x88\x9d\x16\x7a\x40\x1e\xf1\x66\xe5\x27\x44\xae\x87\x55\x20\x6e\xd5\x70\x61\xec\x44\x96\x6a\xca\x3f\xf3\xe2\x1a\xae\x96\x38\x09\xc8\xb1\xfb\x00\x46\x3e\x0e\xe0\xfb\x77\xaf\x4e\xf1\x22\xc6\x11\x8c\xe8\x1e\x6d\x3f\xc8\x58\x24\x4f\x17\xa2\xa1\x51\x64\x3a\xf1\xca\xb2\xb0\x1b\xe8\xce\x27\x6f\x92\xa2\x30\x60\xd3\x6d\xfa\xae\xeb\x45\xec\x3f\xba\x43\x2c\xaf\x04\xca\x7f\x6a\x20\xea\xb8\xfe\x29\x0e\x3d\x9f\x9d\xfb\xb2\x12\xd7\x5f\x1c\xcb\xf8\x71\x76\x9e\xbb\x7f\xdf\xa5\x60\x52\xb9\x96\xe5\x10\x14\x6e\xfc\xf6\xdb\x5e\x74\x2c\x78\x8c\xf1\x42\x76\x9d\xb3\x83\x90\xc4\xc7\xee\xbf\x03\x87\x1d\x0e\xb3\x6a\x14\xc7\x5f\xd2\x24\x85\x5f\x8a\x8b\xec\x8d\xb1\x70\x96\xa1\xe0\xf8\x4b\xf6\x56\x56\xc8\xc8\xd5\x9f\x51\x77\x51\xe9\xba\x48\x22\x1b\x67\xe9\x00\xea\xb9\xbc\x6e\x94\xf1\x79\xf5\x98\xf8\x59\x79\x68\x15\x43\x71\x3f\x1f\xd1\x97\x0e\x87\xf1\xfc\x92\x3b\x15\xbf\xfc\x0f\xfe\x32\xa2\x21\x7c\xe0\xfe\xfb\x01\xf8\x0f\x77\xe4\xb9\xbc\xb0\xf0\x71\x91\x70\x7b\xd1\x31\x79\xe0\x1e\xc8\x08\x87\x62\xb2\x1d\x96\x64\x52\x7d\xf8\x43\x11\x2b\x82\x74\x89\x93\x6b\x03\xbd\x38\x1d\x29\x7e\x7e\xc0\x89\xc3\xc4\x78\x12\x81\xf0\xce\x92\x47\x0d\x20\x7b\x2c\x1f\xd1\x00\x74\x84\xd2\xad\x15\x5d\x8b\x8d\xd3\x18\x60\xf3\x2b\x6b\xf0\x55\xf0\x1c\xee\xe7\x95\x9d\x3e\xb8\x3a\x3d\xdc\xab\x7d\xbe\xa5\x7a\xea\xd3\xb5\xcf\xb2\x5e\x66\x4f\xe7\x84\xa9\x7f\xbe\x42\xd3\xec\x6d\x35\x39\xb5\xef\xaa\xb9\xcc\xde\x50\x14\x6e\xfb\x9a\xf6\x4a\x4e\xed\xe7\x45\x28\xe2\x9a\x16\xb4\xe9\x72\xaf\xb8\x66\x67\xf5\xa4\xfc\x5a\x9a\x84\x85\xe7\x39\xf4\xaf\xbc\x87\x93\x78\x0e\xa2\xe7\x5f\x1c\x7d\xba\x17\xed\x8b\x1f\xc7\x3f\xef\x23\xf2\x92\x57\xb4\x11\x99\x3c\xaf\x98\x76\xab\x5f\xcc\x29\x5c\xba\xa1\x88\x57\xba\xac\x28\x34\xba\x7f\x5f\xbf\x9c\x53\x21\x8b\xad\x28\xa4\x16\x65\x5f\x57\x7b\x17\x7b\xf9\xbd\x56\x59\xe7\x45\xd6\xe5\x2f\x0e\x9f\x67\x7f\x13\xf9\x87\x17\x89\xbc\xb4\xd3\x10\xf9\xd7\x25\x16\x44\xd3\xbd\x2f\xa0\x7c\x6e\x54\xa9\x77\xa4\x82\xfc\x0a\x9b\x5b\x66\xae\x82\xf0\xfa\x1d\xf4\x71\x12\x68\xd1\x03\xf9\xc8\xbd\x72\xce\x65\xf9\x1d\x2d\xcb\x57\x27\xa4\x87\x8e\x95\xe6\x4b\x46\x2f\x5c\xe2\x3e\x57\x6d\x84\xe9\x4c\x54\x1e\x20\x2a\x29\xf3\x85\x1b\xb8\xcf\xb1\x7e\xfb\x1e\x9a\x66\x39\xcc\x4c\x7a\x41\x6d\x37\xe4\x5b\x67\xe1\x9a\x18\x71\x78\xfc\x6b\x96\x55\x19\xf2\xac\x9a\x57\xc1\x31\xcc\x05\x3f\x07\xc2\x8f\x4a\x81\x8e\x7a\xef\xd5\x98\x3d\x54\x18\x8a\x07\xbc\x5f\x79\x89\x91\xb7\x20\x01\x0b\xf2\x3c\xfc\x34\xfa\xc4\xba\xa7\xef\xd6\x5a\x5f\xd8\x2d\xbe\x49\x15\x2f\xf3\x9a\xe0\x9a\x3c\x2e\xf7\x3e\xa9\xc5\xcd\xa6\xf0\x23\x05\x09\x04\xb9\x2d\x39\x11\xcc\x7e\x0c\x75\xc1\xcd\xf1\x8f\x4e\xd4\xa2\xd8\x73\x13\x08\x02\x1c\x85\x2b\xd7\x73\xdd\x11\xbb\x4b\x57\x21\xdc\x8f\xb1\x18\xfb\xb1\x0b\x26\x04\x87\x29\x85\x6e\x76\x2f\x84\x53\x7a\xec\x8e\xbf\xfe\xfa\xeb\xaf\xe3\x8f\x4d\x98\xdc\x09\x6f\x8f\x17\x5c\xd9\xd3\xc0\xb3\xe1\x47\xe8\x9f\xe2\xc5\x02\x44\xc1\x9e\xeb\xe3\x78\xe5\x36\x21\x6b\x27\x23\x31\x23\x22\xae\xa9\x54\x35\x60\xcf\x3d\xc5\x31\x82\x81\xa3\x4a\x8c\x38\x14\x3b\x7e\x88\x62\x1e\xe0\xe8\x8e\x3e\x7d\x82\x21\x81\x8e\xb1\xce\x13\xdc\x4f\x93\x90\x9b\xae\xfa\xcd\x76\x53\x91\x69\x79\xf2\xc2\x3e\x08\xc7\x32\x05\x78\x9b\xf1\x31\xa5\x68\xae\x92\x10\xd0\x7d\x50\x1f\xe8\xd5\xb1\xd8\xb6\xcc\xcf\x67\xba\x78\xe9\xa5\x4f\x5e\xb9\x90\x79\x11\xb2\x9f\xfb\x02\x6a\x5e\x2a\xb9\x7d\xf4\x87\x84\xf1\x65\xaf\xd5\xac\x1c\xe2\xd9\x6c\xab\x35\x1d\x44\x85\xf5\xc2\x18\x4b\xf5\xc0\x2a\x85\xd3\xab\x4f\xa0\x68\x8a\x9b\x1e\x68\x19\x34\x4e\x66\x20\x92\x45\xed\xfe\x90\xd1\x56\xdf\x27\xb3\xde\x3e\x20\x9d\x78\xc3\x44\xd7\x17\xa7\xc3\xc6\x43\x56\x1b\xb9\x8e\x02\xc3\x00\xb2\xe3\x62\xa9\x3e\x92\x2a\x4b\x26\x2d\x97\x59\xf9\x09\x59\xc3\x4c\x5e\x96\x55\x36\xb2\x3a\x62\xea\x69\xf1\xd3\x1d\x99\x0a\xa2\xd1\x2c\x9b\xb8\x74\xc7\x1d\x7d\x6a\x4a\x07\x2e\xd1\xd6\x1e\xdb\x50\xcc\xe9\x05\xa4\x94\x67\x83\x76\x73\x51\x95\x67\xf4\x81\x7b\x40\x44\x4b\x2f\xae\xe1\xea\xd8\x0a\xa5\x4d\x7e\x44\xb7\x3b\x67\x33\x55\xd3\x33\x2b\x8b\x4c\x97\xbe\xd5\x07\xa3\x64\x8e\x72\x11\x7d\x51\xed\x4d\xd7\x9e\x14\xfb\x60\x8f\x63\x6c\xa4\x4f\x5d\xa7\xba\x4f\x5e\x6d\xb7\xea\x49\x03\x55\x5c\xea\xbd\x7a\x79\x19\xa3\x28\x82\xc1\xf6\x25\xe5\xad\x89\x48\x14\x21\x2a\xaa\x1c\x07\xa2\x4a\x60\xbf\xe4\x2c\x14\x91\xe3\x0f\x57\x19\xf2\xfc\x5b\x14\xd5\xc0\x0b\x19\xcb\xb5\xe6\xe1\xe0\x15\x26\xa8\x29\x27\xfa\x22\x7f\x42\x1b\x81\x3b\xaa\x4d\x09\xca\x1e\x67\x5d\x75\x9b\x2b\xdd\x95\xdd\xe2\x5d\x51\x8d\x0a\x68\x05\x1d\xb1\x6c\xd9\xee\xd1\x35\xbe\x24\x46\x91\x4d\x74\x89\x27\x3d\xa6\x3a\xc1\x78\x35\x33\x79\x9d\x53\xc6\x8b\x78\x7e\xed\xf3\x1a\x3a\x6a\x7d\x1e\x7d\xf2\x62\x54\x55\xe3\x8a\xc1\x2a\x0d\x53\xad\x82\xc7\x0c\x7d\x3a\xb2\x28\x28\xdb\x1e\x50\x26\xe6\xb1\x8c\x5d\x34\x60\xa0\x0b\xa7\xbb\xcd\x26\x9e\x46\xcd\x94\xba\x65\x12\x49\x73\xaf\x31\x9e\x46\x84\x23\x19\xd0\xef\x7a\xcc\xf4\x20\xd3\xc9\xb7\x45\x89\xab\xd7\x7f\x6a\xeb\x50\x05\xd7\x5b\xba\x3d\xc0\x08\xed\x58\xc8\x83\xd5\x25\xfa\xc9\x43\x44\xf9\x99\xde\xf2\x6d\xab\x45\xd1\xb5\x8a\x4c\x28\x82\x07\xd5\xc9\x67\x7e\x5f\x09\xfa\x8a\x3b\x1a\x8e\x7e\x85\x55\xd8\x12\x7e\x95\x37\xab\xa1\x83\xe0\xfb\xf7\xe5\xc5\xfc\x98\xcc\x6f\xd0\xfb\xf7\xa3\x3d\x98\xc7\xba\xf1\xbc\xff\x3d\xd7\x95\x1e\x6a\x44\x38\x3a\xf9\x5d\x1e\xb7\x2b\x4c\x35\x95\xc1\x67\x14\xc9\x71\x82\x5a\xe9\xd1\x72\x0a\x14\x7e\xaf\xbb\x79\xfe\x6b\xd4\x5e\x6a\x1c\x7d\x96\xf9\x54\x92\x2a\x56\x42\xc4\x12\x9c\xbb\x4e\xae\xf4\x93\x28\xbd\x00\xec\xc7\x62\x5c\xe3\x04\x92\x34\x1c\x04\xc9\xbe\x95\xbb\xfc\xb2\x79\xe1\xce\xc7\x5c\xb7\x99\x15\xd6\x08\x43\x56\xf0\x99\xb7\x11\x89\x9c\x4d\x95\x5d\x2c\x32\x8f\x5e\xaa\xc3\x20\x56\xe3\x78\x91\x09\xaf\x33\x76\x12\xab\x0a\xb4\x07\xee\x7d\xf9\x6c\x7e\x5f\x5b\x4d\xfc\x01\x41\x89\xe3\xa6\x8c\x77\x1e\x92\x6e\x09\xc9\x5d\x49\x29\xcf\x46\x73\x09\x3f\xd2\xdf\xc5\x88\x4c\xc0\x88\x09\x9c\x26\x50\xc7\x59\x29\x6b\x69\x39\x76\xab\x7c\xb4\x34\xd4\xee\xf8\xdb\xed\x50\xbc\x75\x59\xe5\x85\xa0\x51\x11\x44\x9a\x3f\x43\x25\x5e\xe6\x7f\x1c\x72\x97\xf2\xe6\x50\x9e\x8d\x68\x42\x02\x58\x1e\x04\xc1\x37\x21\xf6\x4d\x11\x1d\x36\x30\x23\x8a\xd2\x13\xd6\x06\xe9\x82\x79\xd9\xe7\x2c\xc2\xbf\x62\x9d\x45\xd1\x6b\x5c\x55\x00\x60\x31\xb4\x61\x4c\xa3\xdd\x06\xc0\xb5\x3f\x3e\x8a\x35\xf0\x12\x4a\xc3\xb8\xcd\xc2\x99\xf6\xa3\xcf\xce\x64\xd5\x39\xec\x33\x71\xfb\x28\xe8\x58\x56\xa6\x8e\x77\x4c\xad\xf7\xab\x2c\xd3\xaa\x6f\xc8\x8c\xfc\x86\xfc\x80\x05\x22\x7e\x56\xb5\x8b\xa0\x45\x1c\x42\x9e\x54\x50\x6d\xa5\xa8\x91\xb0\xdd\x60\x0d\x9d\x24\xaa\xe8\x24\x6b\xd8\xed\xd8\x71\xa1\xbe\x46\x16\x47\x42\x68\x51\x54\x6c\x32\xc7\xc4\x29\xe3\x6d\x19\xa5\xc9\x80\xe4\x84\xc8\x6b\xe0\x73\x23\x21\x79\x8d\x27\x28\x84\xec\xef\x39\x20\x27\xbe\x8f\xd3\x88\xaa\x78\x48\x1f\x2f\xe2\x94\xc2\x60\xcf\x45\xe4\xa4\x70\xc8\xf7\xb2\x83\x95\x94\x79\x45\x23\xc0\xbe\x28\xf7\x58\x09\x39\x77\xb5\xa7\x70\xf2\x1c\x44\x38\x5a\x2d\x70\x4a\x78\x28\x5b\x93\x5d\x01\x27\xec\x34\x55\x7d\xa4\xfe\xeb\xfb\x40\x8e\xc5\x1d\x65\x1b\xd0\xa7\x91\x07\xea\x46\xa8\x8d\xde\xd0\x71\x83\x19\xd3\xea\xd3\x9f\xc4\xdc\x0f\x4f\xcf\x82\x21\xa6\xdc\xda\xc8\x00\xbb\xd4\xde\xfc\xe8\xb7\xdf\x7e\x45\xc1\x73\xf7\xd0\xfd\x54\x34\xed\xb6\x57\xf3\x34\xc4\x7e\x48\x10\x70\x46\x72\xfd\x53\x15\x4a\xf4\xe2\xa3\x3c\x5c\xba\x8d\x69\x98\x24\x5f\x93\xeb\xdc\x43\xf3\x83\x0d\x0c\xa0\x8e\xf5\x32\x65\x79\x98\x41\xdf\xce\x30\xee\xdf\xff\xe2\xf0\xb8\xe3\x7b\x40\x24\x0a\x73\x02\xbc\x0c\x10\xeb\xed\x1f\x8c\x02\x90\x8f\x5a\x92\x40\xcb\x9e\xfe\xa3\xd1\x41\x82\xc3\x30\x3a\xdc\x20\xb8\x3c\x89\x40\xb8\xa2\xc8\xaf\x8a\xdf\xdf\x39\x1d\x80\x1a\x78\x46\x8a\x33\x40\xe6\x02\x87\xed\x0f\x46\x0a\x36\x78\x5e\xd2\x3a\x23\x85\x28\x70\xfd\x87\x26\x43\x4f\x67\xad\xf0\x26\x31\x65\xce\x65\x87\xf0\x05\xf0\xf7\x46\xa5\x5b\x5c\xbd\x13\x77\xf9\x9f\x7b\x23\x63\x56\x1f\xad\xc3\x06\x53\x31\x5b\x1c\x7b\x11\xc2\xe8\x0d\x5c\xfe\x20\xc2\x43\x6a\xac\x66\xda\x01\xa1\xa8\x94\xe8\xfa\x5b\x46\xba\x02\xb9\x33\x20\xfb\xfd\x97\x37\x30\x59\xe1\x08\xbe\x97\x76\xf6\xf2\xbb\x59\x3d\x0f\xf6\xc0\x9e\xa1\x5d\xa3\x41\x9f\xd3\x24\x04\x84\xca\x11\xb8\x5e\x29\xcf\x50\x06\xbe\xb8\xa3\x2c\xff\x34\xff\x18\x01\x37\x50\x02\xb8\xcd\x01\xf9\x71\x0e\x28\x79\x03\x97\x6b\x66\x90\x66\x0a\xcd\xde\x17\xd4\x48\xb4\xdf\x7e\xa3\xa5\x91\xf1\x28\xfd\x16\x72\x71\xb3\x4b\x1d\xb1\x5a\x28\x45\xaa\x99\xab\x1c\x36\x5a\xd2\x4c\xc1\x45\xeb\x64\x1c\xd5\xd2\xd1\xfb\xe2\x68\x74\x2f\xda\xc3\x56\xbe\x0d\x0a\x17\x71\x08\xe8\x56\x63\x25\xb7\x64\x67\x46\x0b\x36\x9c\x0b\x70\x03\x83\x4b\x39\xca\xe6\xea\x0e\xae\x22\x86\xaa\xdf\x23\x0e\x77\xb2\xe0\x02\xcf\x4f\x60\x0c\x19\x58\x20\xe8\x19\xbd\x22\x51\x9f\xc2\x3f\xa6\x9a\xba\x35\x7a\xbf\xb4\xed\xe8\x03\xee\x6f\xde\xd1\x69\x61\x61\xd2\xb9\x6d\xcf\x4d\xce\xc7\xf6\xd0\x98\x27\xa4\x85\x2f\x7e\x3d\xcb\xcc\xbb\xcf\xa9\xf7\x06\x2c\xe0\x73\xe8\xbd\xfc\xe8\xc3\x24\xa6\x4d\x85\x82\xaa\x44\xb4\x72\x93\x91\xaa\xaf\x9d\x9b\x52\x5b\x96\xb0\xd8\x96\x7f\x77\xcb\xb7\x07\xec\x4e\x46\xf7\x94\x08\xc0\x11\xca\xad\xc2\x03\x38\x26\xdb\xd8\xaf\x7c\x38\xaf\xb7\xbe\x82\x20\xf8\x26\x0d\x3b\x5a\x1e\xf9\x78\x0e\x84\x40\x33\x0d\x8b\x16\x87\x61\x86\xd7\x13\x66\x79\xb9\x25\x35\x38\x39\xc4\xc7\x2c\xdd\x19\xa2\x2b\x7d\xad\xd6\xf6\x64\x5b\xcf\x69\xc8\x87\xf4\x02\xf8\x14\xdd\xc0\xe3\x23\x77\x1b\xbe\x42\x31\x34\x6b\x04\xe3\x53\xbc\x88\x4b\x60\x3e\xc6\x7a\xc3\x7b\xf4\x98\xee\xd3\x04\x2d\xf6\x46\x23\xdd\xc9\x43\x8f\x8d\xb9\xb8\x23\x2f\x2b\x3c\x54\xc9\x95\x87\x23\x31\xbe\xa3\xc3\xc3\xa6\x50\xe3\x02\xed\x0e\xef\x4f\x51\x48\x61\x72\xcc\xf7\xc4\xfb\x21\x5a\x20\x7a\xec\x3e\x80\x43\x19\xf9\x9b\x8a\x1d\x97\x99\xa5\xb6\x7e\xb3\xe6\xe3\x10\xc7\x9c\x36\x5e\xcf\x5c\x17\x43\x38\xf0\x06\x77\x6e\x58\x2f\x92\xfa\x78\xf7\x7c\x4d\x9b\x03\xdf\x2b\x5e\x05\x29\x61\xea\x1d\x1a\x2d\x35\xe5\x09\x59\xe2\x3a\xb8\xf3\xac\x2f\xbc\x5a\xa2\x78\xd2\xb2\xa8\x2a\x34\x82\xc0\xaf\x25\xc0\x2a\xfe\x93\x8a\xd4\xac\x21\xbb\x96\x68\x27\x66\xc8\x75\x1f\xd0\xd1\xbe\xf0\xf2\xc8\x3b\x22\x0c\x00\x27\x33\x4c\x0d\x34\xe1\x16\x65\xb9\xfb\xc9\x54\x45\x9a\x45\xf2\x15\xa2\x47\x79\xf1\x16\x17\x45\x37\x20\xe4\xf1\x54\x62\xbc\xa5\x49\xf9\x55\x22\x80\x7c\xb2\x40\x36\x93\x09\xd9\xa2\x6b\x46\xe5\xa4\x02\x6e\x26\x69\x4f\xa0\x69\x28\x55\x34\x7b\xfe\xa4\x3e\x09\xe5\x81\xfe\xf6\x5b\xf1\x0a\x1c\xbd\x68\x1a\x73\x7d\xc4\xb1\x39\x44\x15\x0a\x24\x16\xea\xcf\xcb\x32\xc0\x2c\x57\x07\x11\x93\x07\xfc\x83\x2f\x32\xb1\xd8\x46\xd8\xea\xae\x9d\x41\xcc\xee\x96\x40\xad\x53\x41\xb9\x96\xc7\xf3\xed\x20\x39\xd0\x82\x2c\x8a\xde\x45\x93\x1f\xb1\xf8\x66\x00\x62\xb6\xbf\x6c\x34\xc0\xc9\x38\x84\xfc\x98\x53\xd3\xfb\x81\xb5\xe9\x3f\x5d\xbe\x3e\xff\x06\x24\x64\x5f\x7d\x78\x8f\xfb\x7f\xd2\xc9\x7f\x4e\x1f\x3c\x7c\x79\xe1\x7a\xdc\xfb\xfb\xfc\xcb\x5f\x5d\xb2\x5a\x4c\x70\x48\xdc\xe7\x1f\xae\x3c\x5e\x3b\x0b\x8a\x6a\xce\xcf\x3f\x7c\x38\xf2\x3e\x3c\x3c\xf4\x5c\x9c\xd2\x50\x00\xb9\x81\x90\xc0\x2b\xef\xc3\xa1\xe7\xfe\xf4\x53\xe4\x5e\x79\xfc\x89\xa7\x1e\x9f\xe1\x71\xa4\x65\x6f\x8a\xd2\x42\xde\x87\x0f\x6e\xe1\xea\x95\xf7\x21\xcb\x6a\xba\xba\xaa\x36\x78\xe5\xb9\x73\x40\x5e\xde\x80\xd0\x7d\xce\xef\x7d\xfa\x52\x54\xe1\xfa\x75\xc1\xc7\xcc\x8f\x46\x2d\x44\xdd\x9f\x4f\x88\x5b\xc3\x48\xf9\x0b\xbe\x52\x5e\xc8\x81\x9f\x12\x8a\xf9\x6d\x90\xf8\x73\x74\x03\xc7\xc2\xc7\xb1\xf5\xc9\x39\x38\xfd\xaf\xef\xff\xf6\xe8\xe0\x8d\x71\x72\xd8\x20\xdc\xca\x0c\x3d\xf5\xdc\x00\xdd\xf0\x99\x38\xf4\x5c\x3f\x04\x84\xad\x83\x04\x2f\xd9\xa5\x67\x19\x65\x7f\xfa\x89\x4d\x5f\xcd\xd3\x3e\x0e\x2b\x4f\x37\xbe\x70\x83\xe0\x72\x9c\x51\xcd\xf4\x6e\xfe\xfa\xfc\xa8\xfc\x36\x27\xee\x78\x0e\x01\xaf\x52\x97\xbf\x7c\x22\x88\xcf\xae\x7c\x5d\xdf\xdc\xc3\x72\x73\x24\x9d\x18\x1a\x7b\x0d\x92\x6b\x07\x10\x27\x44\x37\xd0\xc9\xb0\x7a\x1c\xe9\x2e\x0f\x57\xce\x02\x24\xd7\x30\x60\x8f\xc8\x49\x0f\xca\x1f\xae\x7c\xdb\x40\x89\x02\xc3\x38\x8b\xd5\xf8\x49\x0d\x35\xf2\x56\xd2\xb0\xdc\x48\x88\x08\x2d\xbe\xc6\x7e\x3d\xf6\x5c\x08\x78\x34\xf0\x87\x87\x0f\x3d\x3e\xfd\x84\xaf\x19\xbe\xb0\x7e\x2d\xf1\x01\x7f\x8f\x96\xfe\x4f\x7e\x31\x44\xe5\x2f\x22\x0a\x17\x8e\x89\x49\x6a\xdb\x30\xb3\xcd\xf8\xe8\xa1\xc3\xfe\x21\x8b\xf1\xd1\xa1\x6a\x8c\x89\x84\x23\xef\xc8\xfb\xe0\x46\x60\xc1\x96\x79\xb6\xca\x0d\xd3\xda\xe7\x53\x0f\x9d\x69\x88\x01\x1d\x27\x68\x36\xa7\x16\x43\xc8\x9b\x9e\xa4\x94\x0a\x29\xa4\xb7\x3e\xa1\x91\x33\xa1\xd1\x58\xe2\xb0\xb1\xdb\x8f\x3c\x17\xa8\x68\x59\x36\x9a\x43\xef\x03\x93\x4d\x38\x62\x7c\x75\xce\xb8\x34\x1b\x24\x0a\xd8\xac\xe4\xbd\x78\x1f\x81\x46\x46\x2e\x77\xab\xe9\x91\xe2\x7d\x2e\x1e\x63\x90\x80\x05\xa4\x30\x61\xd3\x7e\x74\xf5\x89\xb3\x83\x7a\xa4\xfe\x4d\xce\x4f\x68\xca\x87\xf3\xd4\x73\xe1\x3f\x8a\x7c\xe5\xb9\xe2\x88\xc7\x3e\x71\x28\x58\xcc\x9e\xd3\x24\x71\x63\x6d\x2a\xde\x60\x3a\x47\xd1\xcc\x11\xf5\xa3\x5a\x46\x61\x1e\x44\xcd\x72\xac\x90\xac\x3a\xd2\xaf\xfb\x6f\x23\xed\xbb\xc2\x3a\xbb\x4b\x4a\xe7\x63\x99\x10\xb9\xc9\x9a\x86\x35\xbb\x0b\x82\x7f\x7d\xfd\xcb\x39\x78\x66\xde\x5d\xb8\x8e\xf6\xbb\xde\x5e\x72\xdf\x8b\xd4\x44\xd6\xdf\x65\x4e\xe7\x18\x13\xe8\x30\xda\x39\xa0\xd0\xbe\xb3\x80\xfe\x1c\x44\x88\x2c\x4c\x5f\xb2\x62\x62\x8d\xf5\x7b\xd3\x4a\xbe\x38\xc5\xc9\xa2\xfc\xe6\x82\x9a\x37\xab\xfa\x6f\x2d\x51\x30\x83\x74\xcc\xb6\xab\x71\x8c\xfc\x6b\x98\x38\xd5\x4b\xe3\x39\x4e\xd0\x2f\xcd\x93\x56\xdd\x02\x71\x2c\x62\xed\xdb\x36\x4f\xb9\x95\x1d\x65\x6f\x7e\x78\xf8\x95\xf7\x41\xbe\xee\xb8\x42\x19\x95\x62\x8e\x09\x37\x99\x7a\x85\x7e\x61\x0b\xe9\x06\x05\x8c\xc7\x19\x93\x73\xe0\x12\xbe\xe5\x0b\x51\x77\xd5\x24\xf3\x55\x13\xee\x55\xd3\x5e\x53\x4f\x37\x76\xde\xe2\xcc\xc3\x57\x98\x6a\x21\x6f\xb5\x61\x0f\x68\x6e\x54\x6b\xed\x9b\x14\x85\x74\x8c\x22\x87\x9f\xcd\x73\x73\x47\xc3\x36\x50\x4b\x9f\x1e\x2a\x46\x45\xc3\x58\x00\x0a\x13\x04\xc2\x31\xf2\x8b\xf3\xea\xcf\xa1\x7f\xdd\x6f\x47\x68\xdc\x30\x7b\x33\x88\x42\x34\x5e\x83\x41\x54\x13\xc3\x32\x48\xde\xea\x10\x0c\xf2\x03\x02\x65\x11\x45\x60\x72\x23\xbe\xd8\xcc\x22\x06\x0a\xfd\xb1\x58\xe4\xfc\xec\xe4\xed\x1a\xec\xc1\x5e\x1f\x96\x35\x44\x8b\x43\xb0\xc5\x29\x8e\x22\xe8\x53\x87\x62\x87\x35\x7a\xe0\x9c\x70\xfb\xbb\x73\xc6\x41\xa8\x71\xb2\x6a\x67\x8f\x12\x75\xee\x1e\x6b\xd8\xec\xd0\xc5\xcd\x71\x92\x4d\x86\xe9\xbd\xfe\x0f\x0c\x28\xa1\x0d\x4a\xf9\xe5\x1c\x26\xd0\x01\x09\x74\x22\xec\x28\x3d\x74\xbf\x23\x35\x07\x94\x10\xf5\x4c\xca\xf4\x95\x31\xaf\x53\xd0\x7c\x4a\x55\x2b\x1a\x4c\x60\xa6\x52\x4c\x71\xe2\x7a\x19\xc4\xf5\x38\x4d\x2a\xca\x86\x3c\x46\x3e\xe2\xe7\x49\xfe\xa9\xac\x81\x92\xe8\x75\x2e\xb8\x88\x74\xde\xbf\x3b\x6f\x15\x2b\x35\xc7\x56\xb2\x18\x7f\xdd\x78\x46\x75\x73\x2b\xda\x14\xfb\x29\x19\xa3\x28\x4e\x69\x6e\x3f\x43\x01\x5b\xb5\xab\x18\x32\x6d\x8f\x29\xfd\xae\xfa\xc0\x95\xf7\xa1\x38\x4e\xb9\xba\x3d\x31\x2d\xea\x96\xc4\x56\xf7\x5c\x4e\x8a\xab\x8a\x7c\x53\x83\x7d\x9f\x84\x1c\x2e\x9e\xb3\x00\x27\x8b\x8f\x23\x9a\xe0\xd0\x41\xac\x53\xc2\x3c\x5e\xbc\xa3\xcb\xbf\xa2\x29\xcf\xbc\xd0\xc9\x02\x84\x95\xe9\xe0\x0d\xb2\x8e\x3b\x5c\xd8\x2d\x52\x21\x58\x15\xc5\xe0\xfe\x6c\xdf\x99\x53\x1a\x3f\x3f\x10\xa8\x6b\x73\x4c\xe8\xf3\x67\xcf\x9e\x3d\x13\xc5\xc0\x1a\xe7\xc5\x72\xb5\x6f\x8b\x19\x13\x08\xc2\x8a\x22\xde\x81\x1d\xdf\xa9\xf7\x37\xcd\x89\xfd\x78\x50\x0c\xaf\x85\x0b\x25\x0d\xea\xf9\x90\x0f\x72\x67\x39\x71\x01\x50\xdd\xe1\x71\x37\x79\x4e\xb8\xc9\xfe\x13\xae\xd6\xe5\x3b\xe7\x2d\x6f\xc9\x91\x4d\x6d\x9a\x05\x33\xcc\xcb\x46\x2e\x4c\xf0\x92\x98\x99\x31\x1f\x77\x0b\x43\x6a\x04\xba\xf2\xbe\xaa\x65\xcb\xb7\xea\xb1\x5d\x64\xcd\x53\x1c\xaf\x1c\x3a\x87\xce\xbb\x8b\x13\x6d\x9e\x9c\x69\x82\x17\x72\xf6\x24\x9a\x17\x71\xfe\xe7\xff\xfc\x5f\x76\x8f\xdc\x29\x2e\xf6\x43\x24\x92\xba\xfb\x33\xf1\xf7\xaf\xce\x4e\x9d\x53\xde\x8e\xf3\xea\x6c\x77\xa5\x68\x36\xd4\x16\xbe\xcd\x49\x52\x2f\x4b\x4f\xe5\x33\xbb\xc8\xb3\x5c\x9c\xca\x6c\xba\x3b\xc5\x8b\xa2\x70\x5a\x7f\x46\xe4\x85\xcf\x9c\x57\x67\xce\xde\xf7\xfc\xcc\x09\xc2\xd1\xee\x72\xa3\xac\x12\xd7\xcc\x8a\x92\x22\x57\x65\x26\xda\x20\xf7\xbc\x9a\x3a\x2b\x9c\x3a\x4b\x10\xf1\xc3\x2b\x59\x45\x3e\xb7\xc3\x12\x07\x45\x0e\x70\x62\x90\x50\xe4\xa7\x21\x48\x24\xb9\xf7\x38\xbb\xfd\xf4\xa5\x3a\x4d\x39\x3c\x5a\xe3\xa7\x2f\x47\x9e\x13\x8b\x53\x0b\x97\x9f\xf9\xdc\xf0\xe7\x9f\x1c\x1d\x05\xcf\x26\x4f\x8f\xc6\x47\xd0\x7f\x36\x7e\xfc\x64\xfa\x74\x3c\xf1\x9f\x05\xe3\x27\x01\x7c\xfa\x38\x78\xf2\xd8\xff\x3a\x78\xd8\x32\x79\x3b\xc6\xbc\xc2\x3c\x2e\xad\xfd\x7d\x39\xf8\xbd\xac\x77\xb3\xbb\x6c\xab\x0d\xb3\x85\x77\xf9\x93\xef\x89\xb0\xec\xd4\xc9\xd1\x13\xf5\xd0\x2e\x0a\xd2\xf7\x04\x06\x1c\x1c\x5b\xda\x72\x96\x88\xce\xb3\x42\x6d\x0e\x88\x02\x7d\x75\xf0\x9b\xd9\x22\xd8\x13\x51\xf2\xc2\x83\x91\x46\x01\x4c\x9c\xd7\x80\x50\x98\x48\xa5\x81\xbd\x0c\x08\x41\xb3\xc8\xf9\xe9\x4b\xee\x6b\x48\xc5\xb2\x71\x12\x1c\x42\xa3\xcf\x12\xcc\x00\x8a\x08\x95\x0d\x90\x18\xfa\x68\x8a\x60\xe0\x80\x09\xbe\x81\x77\x71\xad\xe8\xb6\xf4\x9e\xeb\xe5\xad\xd1\x1c\xbf\x7b\xeb\x25\x1b\xaa\xe7\xe6\x7f\x36\xad\x9b\x7c\x60\x2d\x6b\x47\x3d\xf8\xfb\x5a\x3f\xbb\xcd\xcd\xf6\x8c\x7a\x86\x08\x98\x84\xd0\x39\xe7\xa9\x83\xdb\xe0\xd2\x8f\x63\x8a\x67\xb3\x10\xe6\x8c\xaa\x98\x93\x30\xba\x7a\x2e\x9d\xc3\x05\xfb\x17\x47\x97\xe2\xc1\x2b\xc5\x57\x15\x4e\x0c\x44\xef\x55\xe7\xaf\x3c\x77\x01\x03\x94\x2e\x78\x68\xcd\x6c\x4e\xa5\x49\xdf\x60\x9c\xe7\xd7\x17\x6c\xb9\xd8\xb6\x5d\x88\x8d\x68\xe1\xca\x5d\xe0\x01\x21\xd1\xc2\x00\xc4\x63\x19\x24\x90\x43\x88\x9c\x04\x01\x8f\x5d\xef\xce\x2f\xa7\x20\x72\x4e\xc5\xce\xc1\x5b\x68\x39\x4b\xee\x20\xcb\xd4\xd3\x62\x58\xf6\x69\xf8\xce\xe0\xac\xd4\xcf\x76\xdf\xdd\x7d\xb3\x71\x4e\x9d\x63\x11\x10\xd7\x8d\x29\xd9\x40\xa4\xc1\x7e\x1b\xec\xd8\xc3\x58\x9f\x0f\xae\xa8\x93\xb2\xeb\x19\xcb\x08\xaf\xec\x9f\x38\x09\xaa\x9b\x2a\x7b\x94\xef\xa1\x17\x85\xc7\x76\x68\x37\x7d\xf5\xd6\xc1\x89\xc3\x46\xe9\x80\x20\x48\x20\x21\x9e\xc3\xcf\x52\xac\xeb\xfb\xf0\x23\x58\xc4\x21\xdc\xc7\xc9\xcc\x73\x8e\x1e\x7e\xb5\x7f\xb8\x7f\xb8\x7f\xb4\xdb\xfb\xa8\xc6\x99\x3c\x2f\x6e\x1d\xce\x74\xde\xca\x16\x76\x4a\x0d\xcc\xc7\xe6\xb9\x51\x2a\x8a\x9b\xd7\xb2\xa6\x18\x41\x2b\x6b\xaa\xc7\x76\x88\x35\x59\x97\x1c\x31\x3e\xc9\x93\x8f\x9e\x7d\x7d\x67\x78\x0f\x46\x7e\xb2\x8a\x55\xf0\x5a\x37\x0e\x7c\x59\x78\x77\x63\xbc\xf7\x54\x85\x46\xb8\x32\xc2\x02\x47\xfe\x1c\x44\xbc\x42\x52\xcd\x1e\x2a\xe3\x23\x8a\x1d\x54\x5b\x3b\xe3\x4d\x51\xbc\x6b\x5f\x5e\x50\xdb\xa5\x81\xc2\x39\x23\x35\x06\x04\xcb\x7e\xe2\x9c\x92\x47\xd9\x92\xe0\x91\x20\x82\x9b\x33\xfc\x05\x57\x84\x0e\x66\x5b\xa4\x4e\xcc\xcb\x55\x0c\xdf\xe0\x88\xf7\xeb\x4a\x36\x95\xc5\x86\xc8\x05\x42\xc6\xf0\x1f\x29\x08\x0b\xcb\x24\x5b\x51\xb0\xd0\x94\x58\x55\xbd\xbe\x2e\xa9\x22\x69\x63\x11\xd3\x7d\xd4\xf3\x4b\xcd\x8b\xd3\x32\xa6\x79\x48\xfa\x5f\x50\x90\xd0\xcb\xf3\x8b\xdb\x9b\x03\xbd\x07\x9b\x9f\x07\xed\x6b\xeb\xcd\xc5\x9d\x11\x7c\x13\x40\xe0\xd9\x9b\xee\x42\xef\x1b\x40\xa0\x23\x5e\xdc\xbd\xdd\x56\x0e\xaa\x41\x11\x54\xc3\xde\xa6\x55\x9d\x33\x17\x8a\x66\x0e\xaf\x0d\xe5\x4c\x71\xe2\x08\x98\x72\x47\xa4\x63\x2b\x5d\x0e\xa7\xc7\xdc\x1c\xe2\x05\xfe\xb1\x54\xe9\xd8\x9f\x3e\x6e\x89\x4e\xd8\x25\xae\x42\x51\xd0\x8b\xab\x50\x14\xec\x2e\x57\x89\x41\x35\x71\x95\x1c\x76\x83\xfe\xf6\x4d\xf6\xc8\x0e\xe9\x6e\x21\x9e\xa1\xc8\xf1\x13\x18\xc0\x88\x22\x10\x12\xce\x9c\x5c\xb3\x36\xc5\xb1\xee\x38\xe3\xbd\xed\x6d\x53\xe6\xec\xb7\xb3\xf6\xe4\xea\x00\xab\x96\xe4\x0a\x3b\x36\x19\x91\x0b\x4c\xa9\x3f\xf8\x99\x35\x37\xc0\x9a\x4c\xa6\x7f\xcb\x05\x7d\x77\xc6\x7c\x4f\x60\xe2\xe4\x2f\xef\x1e\x5b\x6a\x83\x6b\x90\x8f\x3a\x09\x1a\xd8\xf1\x0d\xce\x1f\xda\x21\x56\xbc\xd0\x37\x6b\xce\x86\x53\x14\x05\x6c\x43\x17\xdb\xb5\xd8\xbd\xf7\x7e\xdb\xc3\x3c\xc9\xec\x94\xb5\x7a\x1c\xc3\x84\xe0\x68\x54\xb8\xc6\x1e\x2f\x5e\x41\x11\xaf\xe8\xf8\x56\x3c\xdc\xe0\xc8\xeb\x31\x02\x67\x8e\x66\xf3\xb0\x94\xce\x79\xc1\x5d\x87\x2b\x47\x63\x2c\x07\x44\xc1\x01\x56\x2e\x7d\x1b\x66\xdb\xa1\xc5\xc5\x5b\xe8\xbb\xba\xec\x47\x7c\x5b\xcb\x4b\x1f\x5e\xc3\xfa\x2a\x50\xe1\x77\xb7\xc0\x9c\x1b\x04\x1c\x3e\xc4\x6c\xad\xdd\x2f\xac\x22\x7e\x6f\xb4\xf7\xdb\x9e\x1f\x1d\x93\x39\x8a\x7f\xf6\x13\xb8\x1c\xb1\x5f\xdc\x9f\xfa\x33\xa1\x60\x3a\x1d\x35\x2d\x2f\x4b\xae\xde\x22\x63\x67\x65\xf8\xd9\x4a\x7d\xd7\x47\xa7\xe6\x4b\x3c\x2b\x5c\xee\xbc\xdb\x55\xf5\xba\x32\xd2\x06\x46\xaf\x52\xa5\x81\xdb\x4f\x0c\x0f\xef\x10\xd7\xab\x78\x9f\x03\xa1\xea\x64\x43\x93\x3c\x9e\xa2\xc0\x41\x11\xd7\x78\x3c\x87\x9c\xbc\x96\x58\xfb\x6f\xc0\x02\xb2\xeb\xcd\x29\x45\x9b\xd8\x3a\x8a\xfc\x44\xd8\xda\xe4\x1e\xfe\x04\xd2\x04\x72\x44\x08\x40\x81\xb3\x9c\xc3\xc8\x49\x09\x5b\xbc\xd6\xca\xcb\x0e\xed\x27\x05\x06\xfb\x16\x25\x84\xaa\x90\xac\xb5\x16\x5f\xa1\xa5\x1d\x5f\x82\x79\x5f\x6d\x17\xa2\x36\x3a\xdb\xe5\x58\x78\x65\x87\x16\x65\xd6\xaf\xca\x7a\x9c\xa1\x1b\x18\xbd\x69\x9d\xc2\x5d\xe5\xe5\x73\x30\x10\x2b\xeb\x0d\xed\x38\x27\x67\x5d\xb5\x65\xe4\x7c\x6c\xb6\x7c\xac\xbf\xb1\x43\x6c\xac\xba\x55\xe1\x62\x72\x27\xf2\x6c\xaa\x53\xf9\x72\x01\x50\x8f\x18\xac\x12\xef\x66\xad\xec\x38\xe3\x8a\x7e\xda\x72\xad\x1c\x95\x2d\xcb\x66\x8f\xef\x10\xbf\xf2\x3e\x55\x98\xb5\x7d\xb6\x76\x91\x5d\xf9\xa9\xf2\x35\x47\xcd\xeb\x7b\x24\xcd\x39\x36\x6f\x67\x87\x59\x56\x1f\xb1\x0d\xd3\x16\x28\x64\xc3\xb6\xa5\x17\x76\x88\x71\xf3\x99\xa2\x73\x40\x1d\xc4\xad\x95\x53\x04\x89\xc3\x4e\xb0\x37\x28\x48\x41\x28\xce\xae\xce\x02\x6a\x31\x12\xe2\x87\x83\x13\x27\x8d\xd0\x3f\x52\xd8\x36\xcf\x43\x29\xf1\x25\xfe\xb2\xd0\xe2\xef\xa4\x59\xa8\x14\x61\xfa\xbb\x0e\xdd\x2d\xac\xb1\x01\xc3\x76\x1b\xdb\xfd\x1c\xb2\xfb\xe1\x0e\x86\xec\x16\xa7\x74\x33\xe1\xba\xd6\xdf\xb8\x03\x2c\x54\x3f\x5b\x8f\xdc\x1a\x28\x92\xc1\x66\xdb\xfc\x7a\x06\xab\x08\x7d\x1c\x05\x20\x59\x39\x0b\x3a\x7e\xec\xb6\x21\xe5\xbc\x4d\xe0\x0d\x82\x4b\x1d\x30\xe7\x12\x12\xea\x48\xa4\x1a\x84\x23\xe7\xbe\x23\x1f\x72\x62\x90\xd2\xf9\xff\xfc\x9f\xff\xbb\xa6\xb4\x6f\x8f\x9c\xb6\x1e\xac\xc0\x90\x6c\x1f\xea\x05\xb8\x29\x00\x8a\x9d\x9c\x5e\xbe\xfa\xe1\xe4\xf2\x65\xa5\xbf\xe5\x0b\x55\x30\xc7\x59\x35\x00\xfd\x5b\x80\xc2\x34\x81\xbd\x70\x1d\x5d\x0d\x39\xe6\xa8\x02\xac\x27\x71\x63\xc6\x53\xf1\x05\x67\xb1\xca\x19\x4c\x4f\x79\xf2\xf3\xe9\x62\x8f\xc2\xe0\xb9\xa3\x04\xc3\xa1\x57\xe9\xa7\x09\x23\xb4\x69\x52\x5a\xd0\xf1\xb8\x7e\x25\x82\x5a\x05\xa3\x8c\x17\x38\x00\x15\x55\xa4\x70\x91\x82\x09\x8a\x02\xf8\xd1\xf5\xdc\x71\x06\x2a\x98\x60\x26\xbc\xdc\x00\x81\x10\xcf\x2a\xeb\xa0\x9e\x1d\x78\xcb\xe3\xfc\x35\xbd\x2d\x55\x67\xa7\x13\xf6\x9e\x68\x50\xc2\x78\xd7\x2c\xc8\xb6\xb7\x8d\x30\x52\x4e\xb6\xde\x3a\xca\x27\xd1\xe6\x04\x07\xab\x62\x77\xdc\x4a\x8e\x01\x9b\x08\xf5\x15\xcf\x45\x44\xe5\x80\xf5\x02\x18\x3d\x2a\x83\x63\x05\x20\x9a\xe5\xa3\x3a\xf2\x4c\xdf\xcc\x21\xa7\x6d\xf9\x6c\xcd\x4e\x69\x50\xb2\x45\xa0\x2d\x8e\xbb\x26\x6e\x4e\xd3\xd0\x13\x00\xa9\xd9\xca\xa8\xf6\x5c\x66\xc7\x17\x36\x1c\xe1\x6a\xaa\x00\x37\x55\x21\x83\x8b\x4d\x89\x5a\x35\xbd\x00\xba\x62\x9d\xbc\x02\xf6\x76\xaa\x5b\x45\xf5\xce\xb9\x85\xc7\x42\x60\x7e\x6a\xaf\xf8\x18\x54\x07\x7d\xed\x99\x51\x9b\x8c\xce\xd0\x6f\xab\xf3\xa7\xde\xea\xbb\xf9\x0a\xe6\x9e\x62\x4c\x0b\x0b\xc6\xbc\x75\xb6\xa0\x0a\xab\xed\x4f\x3d\xc0\x4e\x2d\x4c\xeb\x67\x6a\x46\x45\x08\x89\x53\x6c\xde\xa2\xe2\x9e\x10\x93\x26\x64\xec\x36\xf8\xb2\xca\x7e\xe7\x0d\x8f\x92\xab\xa3\xdb\xae\x81\x92\x3b\x83\x11\x4c\x40\x78\x8b\x40\xb9\x7f\x5e\x9e\x1e\x45\x8f\xe0\xdf\xec\x30\xf2\x7f\x47\x10\xb9\xaf\x78\x08\xb2\x0f\x33\xac\x98\xe6\x75\x63\x8b\x92\x9b\x21\xcf\x48\x90\x7e\x76\x5c\xa5\x98\xc3\x2d\x64\x89\xe8\x48\x7e\xba\x37\x33\x37\xea\x03\x96\x64\x93\x2f\x0e\x83\x96\x6b\xa5\xbf\xd7\x9f\xff\x08\xa2\xf0\x12\xd1\xb0\xee\xa8\xf7\xb8\xfe\xa8\x77\x81\x28\x74\x1a\xdc\x3f\xad\x1a\xff\x57\xcd\x22\xaf\x7f\x02\x5c\x3e\xa8\xa2\xed\x6d\x81\x03\x18\xba\x9e\x2b\xd7\x3e\xbb\x2b\x86\x5e\xb5\xb8\xcd\x01\xe1\x2d\xbc\x62\xdf\xdd\x4c\x36\xb9\xbb\x46\x86\x91\x84\x12\x21\x73\x9c\x50\x87\x0f\x82\x07\x89\xd0\x39\x22\x76\xcc\x6e\x2b\xd0\x37\xc3\x7b\x9c\x62\x6c\x96\x5e\x2b\x8d\xa9\x17\xf3\x69\x6f\x6f\x8e\xff\x6a\x00\xc2\x24\x22\x98\x99\xf9\x54\xc7\x3c\xf7\x51\x3d\xef\x69\xda\xa2\x81\xfb\x64\x13\x77\x81\xff\xe4\x40\x1c\xf8\x31\x0e\x01\x8a\x50\x34\xbb\x33\x8c\x68\xcf\x70\x27\xaa\x0c\xb4\x73\x92\xe9\xdc\x1b\x60\xba\x86\xf1\x65\xa0\xb4\x6d\x46\x12\x21\x2b\x6b\x9b\x18\x17\xee\x73\xe6\x01\x61\x88\x97\xd9\x08\xf3\x01\x72\xf4\x62\xf6\x0e\x0c\xea\xf9\xd8\xfc\x72\x21\x81\x4e\x4a\x6a\xde\xd4\x04\x7f\x74\x1b\x2d\x45\x2d\x53\xa5\x0d\xc4\xb0\x9f\xd5\x8d\xa4\x29\x45\xea\x35\xb8\x86\x8e\x3c\xf3\x6a\x05\x5b\x7e\xfa\xc9\x55\x35\x91\x7f\xfa\xc9\x75\xc0\x0d\x40\xa1\x52\x2a\xb2\xa2\xe0\xe2\x90\x64\x1e\xc1\xda\x7e\x81\x2d\x2d\x02\x41\x39\x1f\x47\xb2\xe4\xf2\xcb\x28\xe0\x79\x39\xdd\x17\xc9\x69\xd6\x86\x23\xeb\xa9\x36\x60\xda\x0e\x24\x9f\x3b\x69\x06\x86\x41\xb6\xa9\x08\x26\xba\x18\x25\xf6\x69\xe5\xc1\xdd\x14\xde\x55\x66\x55\xfd\xe5\x3a\xc4\x1c\x44\x41\xc8\x64\xb8\x28\xcf\x7a\x20\x0e\x45\x12\xa8\x6c\x4e\x69\x4c\x9e\x1f\x1c\x80\x18\xed\xab\x93\xd6\xbe\x8f\x17\x5e\xed\x1a\x06\xaa\x77\xf3\x04\x4e\x5d\xcf\x55\x2d\x04\xd8\x27\x85\x26\x0e\xc8\xc1\x8f\x6f\x5e\xc6\x31\xfd\xf1\xcf\x5f\x9f\x9c\x7c\xf3\x2e\x9a\x83\x03\x7e\x82\x40\x84\x26\x1c\x49\x7e\x3c\x4b\x51\x00\xc9\x41\x70\xf0\xe3\xf7\x87\x31\xfd\xf9\xf5\x5f\xd1\xec\xe4\x9b\xa7\xe4\xcf\x5f\x65\xa7\xb9\x6a\x81\x07\x6e\xbf\x55\xc6\xb0\x72\x4d\x8e\xd1\x1d\x59\x9b\x0b\xf0\xf1\x12\x88\x73\x52\xb7\x05\xf9\x1a\x7c\x44\x8b\x74\xe1\xb0\xb7\x9d\xb7\x30\x71\xce\x34\xb3\xe0\x66\xb6\x2f\x2d\x33\xbb\x21\x75\x3a\xdb\x7a\xb4\xa1\xd5\x18\xb1\x65\x6a\x37\xcf\xd7\x96\xb5\xdd\xd4\x25\x1b\xb4\xfb\x62\x06\x70\x7d\xca\xee\x23\x25\x01\x54\x87\xca\x59\xb6\xac\xcb\x4a\xa2\xe8\xb6\xe8\x47\xf5\xb2\xbe\x7b\x2f\x1e\x77\xe9\xc5\x63\xad\x17\x8f\x87\xec\xc5\x93\x2e\xbd\xd0\x0f\xac\x4f\x86\xec\xc5\xd3\x2e\xbd\x78\xaa\xf5\xe2\xe9\x90\xbd\xf8\xaa\x4b\x2f\xf4\xe5\xf1\xd5\x90\xbd\x78\xd6\xa5\x17\xcf\xb4\x5e\x3c\x1b\xb2\x17\x5f\x77\xe9\x85\xee\xd0\x6b\x80\xbf\xe8\xde\x8b\xa3\xc3\x2e\xdd\xc8\x2b\xc6\x1d\xaa\x1f\x9d\x14\xb3\xf5\x36\xdb\x3f\xe1\xa5\xb3\x00\xd1\xca\xa1\x4c\x02\xfb\x20\x72\x26\x50\x42\x1d\x8a\x28\x13\x90\x6d\x4e\xce\xde\x04\xd2\x25\x84\x91\xf3\x88\xa3\xc1\x1d\x1d\xf2\x97\xea\x72\x34\xd6\xdf\x94\xca\xce\xc4\x29\x8e\xe8\x78\x09\xd1\x6c\x4e\xc7\x13\x1c\x06\x62\x44\x69\x1c\xc3\xc4\x07\x04\xb6\x39\x1b\x49\xc9\xd5\x28\x5c\x8f\x5b\x37\x10\x97\x0d\xbb\x6b\xd8\x88\x51\x44\xe1\x4c\xea\x1e\xb7\x67\x27\xfe\xf8\xdd\xab\x1f\x11\x78\x1a\xfc\x01\xed\xc4\x19\xf9\xc9\xc0\xb6\xe2\x97\x11\x3f\xc9\xb1\x65\xe6\xf3\xc8\x8c\x34\x81\x0e\x9d\xa3\x24\xe0\x90\xbe\x2b\x47\x9b\x7a\xe3\x27\xad\x18\xfb\x16\x8c\xc5\x91\x81\x1c\xf2\xfe\x9f\x51\x02\x1a\x04\x84\x5e\xc2\xe5\x0c\x91\x38\x04\x2b\xe2\x20\x42\x52\x28\xd0\x28\x51\x54\xab\x46\x6f\x5e\x01\xfe\x3b\x4a\x40\x43\x8d\x95\x06\x0d\x78\xe3\xe7\xcf\x1e\xf6\xe9\x6c\x34\xc5\xb3\x27\xbb\x7c\x9a\xc0\x80\xe4\x45\x54\xba\x40\x72\xac\xb1\x4b\x7d\x9b\x86\xe1\xca\x61\xdb\xab\x00\xd1\x0d\xf0\x02\xa0\xc8\xe1\xf1\xf2\xec\x4c\xb8\xc2\x69\xe2\x30\xfe\xc9\x4c\x79\x8e\x5e\x2f\x85\x75\x5c\x87\x5c\xdb\xd5\x63\x94\xa0\xbb\x06\x2a\xdd\x91\x95\x9a\xe1\xa8\x07\xe2\xa7\x1e\x9c\xa4\xfa\xd5\xc0\x4e\x59\xd7\xb7\xc6\x53\x7f\xcb\x78\x46\x64\xf3\xa9\x2e\x1c\xc0\x86\x20\xf6\xdd\x60\x11\x02\xfd\x04\xf6\x30\x7f\xb5\xe0\x65\xdc\x1a\x83\xc8\xf1\x54\x31\x32\x74\x16\x51\x83\xde\x1a\x83\x28\x27\xc2\xc9\xdb\x57\xce\x25\xbe\x86\x91\x83\xa6\x32\xc2\xfa\x84\xb2\x26\x10\x88\x9c\xd3\x10\xa7\x81\x83\x93\x0c\x8b\x44\x04\x62\x13\x18\x4e\x39\xc4\x25\x7b\xba\x6e\x63\xb3\xe4\x27\x43\x28\x91\x2c\xe7\xcf\xc3\x88\xbe\x0b\xf1\x04\x84\x1c\x5d\xba\x13\x6e\x69\x61\xef\xbd\x4c\x60\x18\xe2\x66\xbe\x30\x6e\xc0\x13\x0c\x92\xc0\x7e\x03\xde\x70\xb4\x30\xe5\xc3\x18\x5f\xd7\x56\xf9\x69\x72\xa0\xc4\xf1\x9a\x35\x7d\x1a\x96\xc7\x1a\x2b\x44\x1b\x53\x51\x7e\x8a\x1b\x6a\x79\x80\x38\x96\xb5\x7b\xb6\x08\x93\x05\xa1\xe3\x36\x9b\x51\x45\x27\xb9\xfd\x14\xc4\xb1\x9a\x19\xf9\x7e\xf3\x43\x5f\xef\x5a\x30\xeb\x9a\xe7\xcf\x6a\xb0\xab\xe9\x04\xba\x9d\x43\xa8\xe9\xe4\xb8\xc6\x41\x34\x44\x3e\x8c\x08\x14\x4c\xba\xed\xf3\xe7\x5f\x0f\xfe\x06\xe2\xf0\xeb\xaf\xfe\x58\xe7\x4f\x15\x27\x09\xe2\xf8\x35\xa4\xc0\xf5\x5c\x18\x20\x21\x76\x8b\x21\x86\x2f\xc5\xe5\x42\x70\x65\xfe\x92\xf4\x08\x99\x43\x42\xfb\x9f\x5e\x29\x4c\xe2\x04\x11\x98\x7d\x3d\x8d\xd8\xdc\x94\x1d\x91\x65\xe1\xa1\x9a\xad\x11\x26\x05\x77\x4c\x9c\x20\xbf\xf8\xd9\x38\x81\x0b\x94\x2e\x1c\x1f\xc4\x60\x82\x42\x44\x11\x24\xfc\x08\x1d\x27\x38\x48\x7d\xea\x90\x34\x8e\xeb\x71\x87\x77\xf9\x18\xed\x74\xe3\xb7\x7c\x27\xed\xac\x60\x4a\x5a\x8d\xd5\x92\xfe\xb8\xd0\x79\x5d\x55\x6a\x72\x0c\x53\x7c\x2e\xde\x68\xd8\x44\xdd\xd6\xa8\x95\xda\x7a\x76\xa6\x6e\xa9\x48\x61\x71\x89\xcb\xfb\xa3\x67\xd5\xc2\xc5\xb2\x5f\xc3\xf9\x39\xab\xfa\x98\xb6\x9e\x78\x4b\xb5\x7a\x58\x21\x61\x01\xfe\xc3\xd0\x80\xb6\x8a\xb5\x75\xe4\x5a\x26\x2d\x18\x75\xb6\x12\x33\x3d\x64\x3a\x10\x4e\xc6\xb3\x04\x42\x3d\xb8\xf6\x1d\x9c\x21\x42\x61\x22\xec\xbe\x66\x71\xa1\x68\xed\x19\x43\x95\x9d\xff\xd5\xfa\x5a\x39\x08\xba\xcd\xe6\x6e\x3d\x80\xa6\x8f\xc6\xc0\xbf\x2e\xc5\xbd\xb3\xde\xca\xcb\x4e\x1a\xdb\x0c\x98\x40\x40\x89\x31\x04\xbd\x2a\x13\xea\xb8\x23\x6f\x8d\x26\x08\x84\x6b\x44\xa1\xd7\x90\x24\x29\xe8\x67\x97\xec\x23\x0e\xfc\x18\xa3\x64\xe5\xb8\xba\x49\x28\x59\x00\x4a\x61\x30\x0e\x00\x85\x8d\xfd\x84\x51\xa0\xb9\x2f\x06\xcb\x1a\xe8\xc7\xa1\x17\xe9\x84\xf8\x09\x9a\x14\x39\x74\xf3\x03\x5a\x2b\x33\xa2\x17\x18\x84\x14\xa5\xd7\x70\xe5\x20\xe2\xfc\xf5\xf5\xb9\x23\x86\x28\x2a\x51\xf9\x14\xdd\x30\x65\x4c\x97\xc2\x99\xdc\xd8\xc0\x60\x3a\x33\x9e\xea\x3f\x22\x4e\x84\xa9\xc3\x85\xa2\xf3\x3f\xff\xfb\xbf\x1d\x1e\x17\x25\xca\x6c\xf1\x94\x0e\x3e\x1e\xc9\xa0\x7c\xea\xda\x4e\x5f\xcd\xec\x02\x56\xbb\x29\xcf\x3a\x76\xfe\xf7\x2e\xcb\xba\xcf\xe5\xee\x4a\xb2\xee\x63\xd9\x21\x29\xa6\x9e\xef\x6e\xc6\x34\x24\x7a\x3e\x6a\x38\xfb\x12\x70\x03\xcf\x73\x3d\xad\xb3\x0b\xd6\x4a\xc5\x56\x3a\x62\x1a\x2b\x51\x62\x79\x9e\x13\x2f\x8c\x49\xba\x58\xc8\x04\xa5\xa6\x3c\xbe\x7c\x3e\xc4\x7b\x27\x2a\xf0\xb2\x93\xf9\xad\x21\xee\x2c\x3f\xe3\x04\x78\x19\x85\x18\x04\xd5\xc8\x2a\x90\xc5\x22\xc8\xae\xbe\x81\x4b\x47\xc5\x36\x82\xbc\x47\xad\x06\x3d\xbd\x55\x14\x11\x9a\xa4\x7e\x39\x44\xad\x24\xcc\x2e\xb1\x93\xc6\xb3\x04\x04\xd0\x73\x12\x18\x87\xc0\x87\x0e\xfc\x88\x84\xad\x73\x82\x22\x90\xac\xb8\x58\x4f\x20\xa1\x20\xa1\x59\x98\xf5\xbe\xf3\x1a\xcd\x12\x40\xa1\xa3\xe2\x08\x4e\xf1\x62\x91\x46\x88\x8a\xe7\xab\x9b\x19\x71\x08\x04\x8b\x10\x12\x12\xae\xf6\x3b\x5a\x7a\xfa\x55\x6e\xaa\xd2\xf5\x1d\x0c\x21\x20\xd0\xb9\xc8\x99\xa3\x65\x99\x95\xd6\x54\xc9\x72\x6a\x98\x07\x12\x03\x53\x2d\x13\x9c\x8c\xf1\x74\x3a\x9e\x84\xa0\x10\x56\x9d\x13\xad\xf9\x64\xef\xab\xe7\xce\x99\xaa\x40\x0d\x9b\xd4\xbf\xfe\xc9\xfe\x9f\xa1\x43\x75\xbc\x49\x28\x4e\xc0\x0c\xee\xcf\x30\x9e\x85\x10\xc4\x88\x48\x2e\x95\x56\xa2\x8c\x5d\xb3\x4b\xe3\xac\x17\xe3\x25\x8a\x02\xbc\x24\x63\xb0\x08\x9e\x3e\xde\x87\x1f\x2b\x0e\xae\xb2\x79\x4d\x1b\xf3\x8f\xe2\x5d\xb7\xd0\xf7\xff\xb7\xad\x9e\x87\x28\x4a\x3f\x8a\x7e\x77\xe8\xf3\x39\x7b\xeb\x96\x7a\x1c\x80\x64\x89\xa2\xce\x5d\x5e\x00\xff\xfb\x8b\x42\x97\x6d\x9c\x5c\x83\x72\xb7\xc1\xae\x60\x66\x6f\x98\x3d\x78\xab\xfc\x9d\x77\xa3\x3b\x83\x4b\xf5\x60\x22\x4b\xfc\xdc\x22\xaf\x6b\xa3\xe8\xc0\xec\xe6\xfe\x6f\x9f\xef\xb5\xde\x77\x61\x7c\x73\xf7\xfb\xad\x01\x53\xee\xf4\x2a\x8f\x7e\x31\xbd\x25\x21\x20\x44\xa8\xb0\xc0\x47\xa0\x49\x0a\x6d\x35\x21\x77\x60\x8f\x80\x66\xc2\x5f\xc3\x11\x20\xaa\xa4\x8c\x25\x82\xc4\xb6\x3d\x01\x33\xf0\xe6\xbb\x39\x89\x9f\xfd\xb1\x3c\x01\x19\x1c\x77\xb3\xb6\x67\x6b\xbc\xbf\x9c\xc3\x04\x3a\x20\x81\x8e\x9f\x26\x09\x8c\x68\xb8\x2a\x88\x60\x31\xc5\x17\x14\xd0\x94\x08\x39\x9c\x20\x58\x39\x4c\xca\x72\x39\xf2\xee\x7e\xdd\xd2\xf9\x1d\xdb\xd6\xf5\xdb\xaf\x28\x0f\xad\xa5\xe0\x5a\x9d\xd0\x1f\x1d\x3a\x0b\x14\x71\x3c\x37\x0e\xe5\x36\x49\x51\x18\xf0\x5c\x70\x49\x39\xbe\x84\x1c\xe0\x27\x98\x10\x07\x84\x61\xe6\x5b\x27\xaa\x1a\x39\xf6\x11\xa0\x30\x50\x99\x61\x46\x1a\x5b\x9d\xe1\x04\x74\x48\xdb\x11\x2e\x81\x62\x55\x5f\x69\x46\x8a\x43\x85\xd1\x70\x2e\x1d\x09\x75\x66\x90\x4e\x73\x3d\xb4\x68\xd3\x85\xd2\x3a\xb2\x6d\x41\xe3\x5b\x0c\xb3\x7d\x7a\xf9\x5f\xe9\xb3\xc7\xff\xf8\xf6\x8f\x27\xdc\x5e\x5f\xb6\x14\xb4\xed\x28\xe1\xbe\xe5\xe5\xbc\x44\xb9\x02\x6e\xf6\x73\x22\x4c\xd1\x14\xf9\x77\x2f\x9c\xd6\x56\x54\xf5\xc3\x5e\x60\x0c\xdf\x50\x84\xb8\x21\x98\xe6\x4f\xf2\xad\x3e\x51\x66\xcf\x6a\x3a\xba\x76\x58\x6b\x3e\x1e\x73\x4e\x25\xbb\xcf\x34\xd1\x9a\x9a\xc3\x8c\x0f\xd9\xb8\x5e\x2e\x62\xba\xda\xb9\xac\x49\x81\x51\xba\xda\x67\xbd\xdf\xaf\x2f\x40\x67\xc5\xdc\x1b\x67\xaa\x86\xfa\xc1\x4d\xe1\x8b\xcd\xbe\xfb\x01\x98\xaa\x3b\x3b\xc9\x6a\xc1\x0d\xec\x14\xd7\xd4\x09\x66\xec\xc4\x46\xb4\xc3\xec\xf4\xe4\x59\x5d\x8e\xd8\x6e\xb0\x51\x4a\x60\x82\xea\x8a\xc7\x6d\x30\x50\x7a\x53\xcc\x24\xc7\xd3\xc8\x4e\x6a\xcc\x5b\x0b\x83\xe5\x9c\x70\x5e\x08\x91\xe6\x31\xf7\x7c\x5b\x6e\x2c\xec\xb6\x1b\x4c\x12\x37\xd7\x18\xdc\x60\xb8\xf4\xc6\x64\x4e\x7d\x51\xc1\xb2\xec\xa9\xab\x14\xb8\x15\x76\x51\x5f\x1f\x90\x5d\xb6\xc2\x31\x4c\x37\xac\x45\x82\x6f\xc2\xfc\xe1\xef\x35\x96\x2c\xb8\x35\x9e\x91\x63\x52\x7e\x6e\x33\xbb\xa8\x81\x9b\x37\x2b\x31\xbc\x1d\xde\xae\x98\x78\xfa\x5f\x04\x2f\xe0\x58\xe4\x07\xed\xbc\x1a\x24\xe8\xfd\xa6\x57\xb2\x8f\x64\xb6\x75\xf0\xcd\x36\xcb\x6b\x6f\xaa\x19\x3f\x46\x76\x7b\x53\x53\xbd\x25\xbf\xbb\x9b\xdc\xa6\xdc\x9a\x3b\x29\xcd\x7a\xe0\x46\x6d\x88\x8b\xd6\x06\x8c\x6a\x67\xc3\x0c\x01\xaa\xcc\x88\x19\x0a\x92\x8e\xed\x64\xe6\xc5\xfc\xd1\x9c\xcf\x74\x30\x2a\xcb\x2c\x8a\x1e\x88\x50\xa5\x9e\x1a\x66\xc6\x01\x29\x9d\xc3\x88\x4a\x03\x85\xe7\xa0\x59\x84\x13\xe8\x28\x35\x96\x1b\x04\xb3\xfc\xa3\x29\x82\x61\xd0\x02\x6b\xbf\x5b\x12\xd1\x9e\x59\xbf\x01\x04\x3e\xad\x43\x12\xb9\xcb\x9c\x3a\xe1\x03\xf3\x65\x2e\x4f\x0b\xaf\xea\x0f\xdf\x0a\xb7\x16\x3a\x50\x9a\x1c\x07\x46\x3e\x0e\xfe\x88\xcc\x79\x71\xd1\x3b\x93\x7b\x87\x39\x33\x25\x90\x90\xb0\x9d\x29\xe5\x73\xb7\xc2\x8f\xea\xdb\xfa\x01\xdf\xa9\x9f\x8e\xf5\xf8\xac\x4f\x68\x5c\x1b\x2c\x09\x53\xaf\xcd\x8e\x95\x4b\xa6\x3e\xd5\xf8\x55\xdc\x96\x58\x4d\x0a\x09\xe5\x2d\x7b\x6e\x06\xc4\xde\xbb\xec\x81\xd0\xec\xd4\x90\xb4\x6a\x07\xca\x2f\xa8\x7d\x6d\x40\x9c\xf9\xc6\xee\x98\x8a\x2f\x0c\xd1\x9d\x0d\x24\xdc\x15\x9c\x47\x6b\x38\xa1\xd8\x19\x67\xcc\x3d\x25\xb7\x90\x68\x77\xf2\x14\x9e\x3c\x7c\xfc\xc7\x73\xaf\xbf\xaf\x46\x46\x57\x1a\xb3\x07\x01\x77\x26\x80\x20\xdf\x41\x91\x88\xf7\xe5\x1a\x9d\x32\x95\xc8\x7c\xb5\xac\xf8\x0e\xe1\xb6\x13\x57\xe3\x6b\x11\xa5\xad\x17\x34\x69\x89\xe1\x36\x8a\x06\x44\x4e\x52\x3a\x97\x19\xee\x49\x7e\x94\xb1\x8c\xe1\xee\x24\xfc\x1e\x39\x8b\x49\xa3\x67\x19\x47\xdf\xc7\x30\x62\x44\x7e\x2d\x8a\x00\x68\x3a\x70\x10\xf0\x31\x35\x4b\x72\x43\xd5\x13\x10\x04\xdc\x9c\xba\x99\x8a\x27\x76\xb4\xd0\xab\x9f\x38\xe2\x47\xd8\xa5\x0c\x4a\x97\xaf\x34\x97\x44\xe9\xd2\x52\xa5\x3c\x0a\x9b\x83\xf7\x8d\x73\x60\xdd\x76\xb5\x4c\x8a\xb1\x19\x83\x1f\xf4\x88\xb1\x09\x49\x27\x0b\xd4\x50\xd9\xca\xe5\xd5\xaa\x64\x5f\x0b\x80\x6b\xed\x1f\x6c\x57\xb5\x1a\x31\x09\xba\xb4\x56\x23\xd5\xda\xdb\x32\xe8\x3f\x11\x5c\x56\xea\x5e\x2b\x37\x77\x7b\x05\xeb\xda\x8f\x59\x28\x8c\x2a\xe8\x3e\x04\x3e\x9c\xe3\x50\x58\x17\x85\x45\x88\x29\x8f\x95\x8e\x29\x53\x50\xd1\x54\xa3\x77\x53\x4a\x38\xf9\x26\x7b\x52\x2b\xae\xd2\xaa\x43\x1a\x46\x61\x3b\xe8\xad\x4e\x95\x5e\x8d\x59\x85\x4c\xb6\x16\x68\xde\xfc\x44\x55\x2a\x2f\x97\xe7\x29\x7f\xa0\x3c\x4d\x5a\x71\x9b\xdf\xcd\x2c\x65\x46\x7c\x15\x97\xdc\x5c\xd9\x76\xf3\xf3\xa3\x0a\x0c\x4b\xfb\x7d\x79\x76\x5e\xea\x66\xfd\x7c\x6a\x54\x56\xdb\xc6\xe6\xa5\xd3\x83\x5b\x12\xae\x42\xe9\xe0\x96\xdb\xa4\x54\x4c\xb5\x03\x6f\xb4\x94\x33\xca\x2b\x5b\x1d\xe5\x00\xf2\x72\x83\x6a\x52\x75\xb2\x0d\xaa\x8b\x92\xb3\xf1\x09\xb2\x7f\x6a\xc7\x36\xe5\xa6\x40\xcc\x8e\x2b\x1f\x06\x88\x8a\xf6\xc6\x01\x24\xbe\xd6\xe8\x37\x69\x78\xed\xf8\xa2\x6a\xa8\x51\xc3\xb6\x94\x02\x2d\xa0\x07\xda\x19\xa9\x2c\x10\x98\x20\x98\xa4\xe1\xb5\x38\x89\xc8\x65\x9e\x5f\xa8\xb8\x77\x3d\xf7\x89\xbe\x7f\x7a\x8e\x92\xd1\x9e\x93\x89\x84\xce\x02\xa1\xa7\xb7\xe4\x14\x2f\x16\x60\x1c\xc0\x10\x2d\x10\x85\x81\x13\x22\x42\x9f\x3b\x4d\x7d\xdb\x9e\xec\xe9\x27\x24\xb6\x22\x21\x88\x49\x44\xd8\x73\xde\x60\xeb\x7e\x00\xb5\x5f\x14\x90\xcb\x0c\x61\xd6\xda\x7f\x33\x81\x71\x4a\x43\x14\xc1\xcd\x57\x96\xeb\x42\x8d\xc6\xfb\xcd\xa7\xd8\x7e\xd0\x55\xb7\x16\x55\x9d\x5b\xa2\xd6\x35\x67\x71\x99\x7b\x0b\x11\xd5\xe4\xcf\xf8\x97\x1b\xf0\xf5\x3f\x8c\xf6\x2c\x6e\x68\xe1\xc6\x43\x59\x24\x5f\xed\x34\xbb\x6f\xe6\x5a\xc3\xd2\xf5\x9d\x98\x8a\x41\x4c\x5d\xb2\xcc\xb6\x98\x5d\x6e\xc7\x82\x80\x20\x98\x08\xf8\x87\x05\x88\xc0\x8c\x93\x91\x03\x43\x08\xc8\x71\x21\xe3\x1c\x8a\xe5\x5b\xcd\x1d\x19\xcc\xfc\x74\x31\xc7\xcb\x93\x20\xe0\x83\x37\x9a\xa0\xbe\x53\x5a\x86\xc1\x11\xd0\x6c\x83\x12\xfa\xc4\x66\x8d\x50\x6d\xe2\xb7\x73\xfd\x5d\xeb\x96\x2d\xad\x4e\x6d\xcd\x18\x4d\x4e\x46\x9a\x77\x6d\xd9\xd2\xe0\xb4\x86\x62\xab\xba\xd9\x51\xb3\x1d\x54\xad\x6d\x3c\xcd\x4a\x16\x2c\x99\x1c\x1a\xe2\x86\xcc\xed\xdb\x86\xdd\x5b\x1c\x67\xf5\x1e\x19\xad\x0d\xce\x02\xa7\x04\xd2\x04\xc4\xae\xcc\x08\x16\xf2\xc0\x29\xd9\x1f\x04\xed\x33\x10\x96\x4e\x3a\xed\x1a\x0a\x2d\x0f\xff\x79\xcd\xe5\x57\x42\x3c\xe7\x0c\xde\xc0\x90\x6d\x4a\xc4\x73\x4e\xfc\x05\x74\x2e\x21\xa8\x8b\x3b\xeb\xad\xa4\x6d\x95\x57\x4a\xc7\x9f\x33\x48\xfc\x04\x71\x60\x04\x67\x0f\x4b\x04\xb8\xba\xb2\x0f\x8d\xdc\xd3\xe5\x00\x54\x64\x16\xde\xa5\xea\xcc\xc7\x69\x12\x63\x62\x80\x8d\xe6\x65\x6f\xac\xf9\x61\xd3\x8a\x9f\xb5\x8e\x6c\x2f\xab\x76\x54\x37\xee\x74\x2c\xe2\x62\xd6\x0f\x91\x7f\xdd\x4b\xca\x36\xf5\xf9\x24\xa8\x0b\xdb\xb6\x9b\x31\x5b\x55\xbd\xf6\xb2\x8d\xb6\x22\x94\x9c\x31\x3b\x10\xbb\x26\xd0\x99\x42\x15\x73\xa5\x11\x75\x86\x59\x32\xab\xa7\x8e\x95\xd8\x68\xd4\x59\x9b\xc2\x56\x2c\x5a\x28\xed\x48\x2d\xcb\x53\x14\x49\x7f\xc4\x96\x7f\x73\x1d\x75\xf6\x88\x50\xda\xcb\x49\xc9\xa3\x8a\x2b\x54\x3c\x9d\x0b\x91\x2e\x68\x7c\x16\x23\xcc\x1a\xce\x43\x13\xca\x5f\xb4\x0d\x90\xd0\x4f\x7f\x5b\x95\x4e\x6c\x9e\x1f\x3b\x62\x7d\x91\x6e\x46\x55\x2b\x79\x10\x27\x48\xe1\xea\xb4\xe9\xe7\xaf\xf9\xac\x0a\x05\x3d\x23\xa5\x40\xdb\x2c\xaa\x8e\xe2\xc1\xea\x61\xb8\x80\xbe\x39\xa3\x1a\x0b\x68\x0c\x73\xd8\x15\x6a\xd3\x82\x88\x82\x04\x63\xe4\xe3\x68\x3c\x03\xd9\xaa\xb3\xde\xfa\x9b\x49\x28\xf2\xb7\x5b\x29\xf8\x0e\x2e\xf0\x0d\xb4\x22\xa2\x78\xb4\x86\x8e\xfd\xb8\x73\x48\xc2\x58\xb6\x97\x80\x95\x03\x42\x34\x8b\xc6\x0b\x14\x04\x79\x09\x71\xbe\x07\x52\x3c\x9b\x89\x02\xdc\x18\x87\x14\xc5\x85\x9b\x5c\x79\xe5\xa7\x23\x76\x3f\xbb\x47\x65\xcd\xee\x77\x50\xc9\xae\x46\x82\xbf\x0c\x10\x6d\x21\x74\xfb\xd4\xa3\x8a\xba\x00\x28\x4c\x10\x08\xf9\x20\xf5\xf8\x4b\x18\xa0\x8d\xdb\xf3\x36\x39\x5f\x12\x86\x60\x23\x33\x76\x06\x43\x48\xdb\x67\x4c\x3c\xb6\xc5\x39\x0b\xb2\x7e\x6d\xcf\xee\x58\x5d\xc1\x8f\x3a\x62\xb6\x9a\x94\x58\x90\xcc\x50\x34\xa6\x38\x1e\x3f\x3a\xb4\xdf\x1b\x90\x7e\x24\x6d\xb1\xfa\x58\x0f\xa7\x88\xc1\xd6\x51\x37\xe3\x07\x12\x31\x2d\x9f\x8d\x37\x36\xcd\x54\x8c\x37\x62\x11\xdd\x09\xfb\x8d\xe8\xea\x7a\x26\x1c\x5d\x87\x3e\x49\xa0\xb3\xc2\xa9\x43\x52\xf9\xc7\x12\x44\xd4\xa1\xd8\x11\x0c\x25\xca\xce\x73\xae\x7a\x61\x77\x7c\xae\xa7\xcf\xa0\x47\xff\x02\xbf\x97\xf4\xf2\xb7\x02\xff\x90\x1d\xb4\x34\x2b\x0c\x1b\x14\xaf\x4c\x97\x58\x9a\x3a\x06\x8b\x87\xa8\xf6\xb5\xdd\x86\xf4\x5d\xc5\x7a\x14\x68\x33\xbf\x75\x03\xd2\x25\x63\x83\x25\x0a\x43\x27\x11\x8a\x96\xa0\xab\x54\x42\xe7\x28\xd6\x83\x43\xcb\x70\x3f\x5a\x70\xe8\x17\xf6\x4c\xf4\xd9\xba\xb1\x15\xeb\x46\xae\x8a\xdb\x1a\x37\x1a\x44\x50\x53\xaf\xcf\xac\x14\x87\x0e\x5a\x81\xc5\x9d\xce\xdb\xa8\x16\x51\xf1\x79\x13\xed\xb6\x89\xb2\xb3\xc3\x9d\xd8\x42\x59\x47\x77\xdb\x07\xa2\x71\xe1\x40\x4e\x90\x35\x76\xaf\x72\x67\xfa\xfb\x3f\x60\x46\xf8\xcf\x0e\x90\xc1\x19\x65\x67\x3c\x20\xe5\x3e\x19\x26\xff\xb3\x0f\xe4\xae\x69\x09\x3d\x7c\x20\xb5\x62\xb6\xa9\xd3\x46\x78\xfd\x2e\x73\xb6\x79\x15\x41\xb0\xb6\x50\x83\xc7\x42\x01\xde\x09\x5d\x61\xad\x7c\x9d\xdb\x52\x1a\x0a\x66\x5b\x1e\x56\xa3\x24\xcf\xc3\xdc\xc6\x5d\xda\x33\xcc\x6e\x14\xed\xf9\xba\x5c\xb3\x56\xf1\x37\xac\x62\xd2\x37\xd9\xcf\xba\x35\xc1\x89\x3c\x00\x49\x32\x22\xcf\x73\x2d\x41\x2e\xba\x06\xcf\x5c\xee\x3c\xe8\xe5\x3f\x6a\xf5\xd4\x21\x0a\x17\xd6\xdb\x5b\x5b\x83\x3e\x0e\xc7\x47\x87\xce\x34\x0d\x43\x5d\x1b\x12\xbe\x29\x36\x9a\xfc\x8e\x45\x95\xae\xae\x5f\x7e\xd8\x3f\x2c\x7f\x40\x6f\xc8\x39\x04\x37\xea\xec\xaf\x86\xcd\x26\xfe\x95\xd1\x0d\x62\xbd\xcd\x5b\xef\xa3\x35\xcf\x56\x2d\x99\x0f\xdb\x7d\x2b\xbf\xc7\x9d\x7b\x7b\x3b\xf6\x4e\xec\x7e\x20\x08\x3e\x6f\x7d\xdd\x9a\x31\x46\x0c\xfe\x51\xf6\xbd\xae\x87\x9e\xfa\x13\x8f\xb4\xcd\x88\x01\x8f\x49\x86\x22\x9f\x25\xab\x73\x28\xf2\x2c\x28\xf7\xef\x18\x45\x9a\x0d\xdb\xfe\xf0\xb6\xde\xb9\xd9\x73\xaf\xe1\x6a\x2c\xbe\x67\xee\x72\xfb\x29\x5a\x0e\x45\x6d\xec\x20\x92\xf9\x14\xfb\xfb\xfb\x6e\x01\xd8\x5e\x00\x6e\x5c\x35\xe9\xe2\x19\xda\xbe\x05\xca\x98\x61\x1e\xfa\x9c\xb8\x25\x28\xfc\x5a\x49\x33\xf6\xa7\x97\x8d\xeb\x5a\x7c\x8c\x3e\xaf\xdb\x61\xad\x05\xd4\xb7\xc6\xb6\x0c\x61\x1f\xc9\xfe\x52\xce\xe2\xa1\xfc\xc7\x17\x73\xbc\x74\xd8\xff\x5f\x80\x68\x95\x67\xe2\xf4\x4e\x3a\x3b\xca\x7a\xff\xe1\xe1\x57\xde\x87\xfa\x33\xab\x53\xac\x67\x5b\xac\x1a\xcb\xfa\x71\x8e\x78\x3e\xd1\x95\x77\xa4\x8e\x84\x9c\x6b\x6f\xa0\xce\x9f\x3d\x54\x47\x89\xdc\x23\xc8\x20\x4d\x55\xc2\xf2\x91\xa5\x34\x81\x94\x62\x1f\x2f\x62\x6e\x89\xf6\x5c\x3c\x9d\x96\xf6\xe4\x04\x04\x08\x37\x6b\x62\xbc\xf7\xde\xd1\x55\x31\x90\xe0\xa8\xa3\xe6\xb4\x03\xd4\x3f\xbc\xcb\xe4\x3f\x2c\xd3\xff\xf0\xce\x4d\xc0\xc3\x27\x77\x78\x02\x1e\x3e\x29\x4d\xc0\xc3\x27\x77\x6e\x02\x9e\xdc\xe5\x15\xf0\xa4\xbc\x02\x9e\xdc\xbd\x15\x70\x74\x78\x97\x67\x80\xf5\xbe\x2c\x84\xee\xde\x1c\x3c\xbc\xd3\xab\xe0\x61\x65\x19\x3c\xbc\x83\xeb\xe0\xc9\x9d\x5e\x07\x4f\x2a\xeb\xe0\xc9\x1d\x5c\x07\x47\x87\x77\x7a\x12\x78\xf7\x4b\xd2\xc8\x3b\xbc\x83\xf3\xf0\x35\xfb\xdf\x1d\x9e\x08\xd1\xff\xe2\x4c\x80\x30\x1c\x6e\x1e\xec\x6d\x18\xeb\xb8\xa9\xfd\x10\x82\x64\x8a\x3e\xba\x86\x78\xe9\xad\xba\x2a\xe4\xc9\xf5\xce\x3b\x2a\x8e\xbc\x0f\x05\x74\xb0\x82\x35\xcf\x2d\x3c\xa6\xa1\x53\x6d\xd3\x9f\xe1\x96\x12\x8d\x8e\x38\xea\xa2\xca\xa8\xe8\x3d\x01\xe5\x7e\x0d\xee\x0b\x39\xaa\x4d\x07\x71\xdb\xf3\x40\x36\x3c\x1c\xcd\x6f\x5e\x3b\x9e\x3f\x63\x14\xb5\x0c\xa7\x92\x1b\x68\x11\x42\x3e\x94\xc0\x6f\xfa\xe8\xd1\x67\x6f\xcf\xef\xc0\xdb\x53\x79\xba\x3c\xed\xde\xe0\xe0\xc2\x1a\x8a\xca\xba\x58\x2c\x3c\x17\x75\xeb\x48\x2c\xbf\xbc\x9a\x85\x0f\xa7\xc1\xa1\x19\x89\x65\x26\x3d\x37\x12\x91\xa5\x13\x10\x4b\xd1\x6e\x5d\xbf\x4b\xd6\x62\xe3\xfe\x27\x5c\xf9\x21\x06\xd7\xf5\x32\xbb\xf8\x36\x59\x45\xfe\xab\xe8\x6d\x82\x67\x89\x1d\xe0\x76\x9b\x69\xbb\xb8\x46\x8a\x88\x26\x72\x18\xaa\x8f\x02\x59\x85\xf5\xc0\x49\xd2\x28\x42\xd1\x6c\x7f\x7f\x7f\x4d\xb1\x6d\xd1\xb7\x6e\x58\x2b\xab\xc8\xd7\x68\x9a\xfb\x9a\x58\xaf\x97\x88\xce\x9d\xfc\x6e\xab\x8c\xae\x4f\x45\x6c\x9a\xd2\xf3\xb3\x93\xb7\xbb\x3c\x9d\xac\x7f\x77\x65\x2a\x25\x2d\x0d\xd3\x28\xee\xac\x31\x85\x05\x01\x5a\x5b\x63\xfd\xa1\x69\x1b\x92\x6f\x90\x18\x54\x76\x9d\x72\x15\x78\xed\xf5\x8b\x18\xf8\xb0\xb6\xfc\x6b\x4d\x7b\x46\x77\xdd\xbf\xfe\xf9\xaf\x7f\xfe\xcf\xff\xfe\xef\x7f\xfd\xd3\x07\x91\x03\x82\xc0\x21\xbc\x69\xcf\x99\x60\x3a\x77\x62\x98\x10\x1c\x81\x90\x7b\x21\xc9\x1c\x24\x30\x10\x24\xc3\x74\x6e\x82\x78\x33\x5e\xd8\x06\x41\x7e\x40\x04\x4d\x42\xe3\xb6\xba\x16\x45\x08\x84\x3c\x94\x99\x38\x78\x2a\xbd\xcb\x8c\x14\x62\x07\xf3\x78\xa9\xec\x00\x11\x30\x09\x45\xa5\x41\xf8\x91\xc2\x84\xd1\x4b\x3c\x1a\xa2\x6b\xe8\x08\x91\x0e\x13\x72\x10\x83\x84\x46\x3b\x45\xb6\x13\x0e\xcf\x3f\x34\xd1\x04\x60\x16\x2f\x05\x0e\x48\x0c\x7d\xca\xa9\xa7\xa0\xdb\x3d\x41\x16\xee\x9c\x27\x7e\x02\x61\xb5\x03\xb7\x47\x8f\x08\x84\x2b\x8a\xfc\xe1\x97\x16\xdb\xdd\x1d\x20\x9b\x07\xa1\x93\x40\xa5\xb5\xf4\x1f\x3a\x1d\x3f\x64\xa2\xcf\x88\x54\xd8\x73\xfc\xca\xec\x32\xec\xe0\x43\x5e\x64\x51\x46\x32\xd4\x97\x23\x33\xa9\xa9\xf5\xc3\xd7\xea\xe4\xf0\xda\xf8\xa5\xad\xa9\xd0\xf3\x26\x48\x28\xcb\x74\x08\x33\xd4\xf4\x14\x85\x54\xe2\xc4\x65\x60\xa7\xe2\x5a\x43\x92\x83\xbb\xcd\xe8\x8a\x6e\x44\x5d\x80\x8f\xe3\x04\x92\x34\xa4\xc4\x89\x57\xf5\x04\xbd\x03\xe1\x0d\xee\x6e\x46\x32\xb8\xbb\x16\xb4\xd0\x70\x66\xdc\xc5\x50\x84\x5b\xa1\x5f\x73\xd4\xc1\x2d\x52\xb0\x4f\x2c\xc1\x6d\x50\xb0\x25\x6c\xe0\x16\x29\xd8\xc7\x0d\x7a\x1b\x14\x6c\xf1\xfb\xdf\xea\x2a\xbe\x23\x24\x6c\x75\xdc\xdf\xea\x42\xbe\x23\x44\x6c\xf5\xbc\xdf\xea\x5a\xbe\x23\x44\x6c\x75\x9d\xdf\xee\x72\xbe\x23\x54\xb4\xf1\x7d\xdf\x22\x21\x7b\x7a\xb4\x6f\x83\x92\x16\xce\xeb\xba\x43\xa1\xed\x61\x83\x82\x49\x58\x29\x1e\xce\x2f\x3a\xfc\xbf\xec\xd8\x11\xe3\x88\xa0\x1b\x75\x61\x82\x93\x00\x26\x21\x24\x84\xeb\xf9\xe3\xac\x85\x9a\x03\x09\x9d\x43\x10\x34\x1f\x06\x68\x83\x2b\x28\x6b\xc5\xea\x7c\x6b\xb4\xc7\xcf\x01\xb9\x80\x21\xf4\x29\xcc\xea\x22\x74\xf1\x9e\xba\x26\x1f\x14\x4f\x3d\x98\xa4\xe1\xf5\x58\xc2\xc9\x64\x67\x9e\x66\x37\x6a\xf5\xb4\x55\xf0\x4e\x89\x5b\x20\x99\x41\x76\xd0\xfa\x37\x81\xb2\xce\xc9\x2c\x3f\x53\x7d\x7a\x02\xfc\xeb\x20\xc1\xbc\x1e\x3a\x05\x14\xf9\x6e\x8b\xa7\x4b\xc2\x2b\x11\x49\x12\x53\x59\x88\x0e\x18\x7d\x35\x2b\xb9\x69\xe6\x22\x3c\x5e\xa2\x80\x16\x12\x45\x6a\x2d\xa7\xdd\xdb\x6a\x30\x3a\x76\x6f\xac\xd6\x14\xd7\xa3\xa9\x26\x2b\x56\x8f\xe6\x6a\x8d\x42\xdd\xdb\xea\xe7\xaf\x6c\xba\xc6\xbe\x5c\xcd\x53\x72\x1b\x23\x4a\x3e\x7c\x70\xaf\x21\x7f\x43\x78\xdc\x2d\x8b\x48\x36\x49\x0f\xed\xa9\xc0\xb4\xa1\xf0\x9d\x22\x8d\x98\x34\x93\x32\x98\x75\x49\x6d\x0a\x57\x4c\xde\x8b\x1f\xe3\x54\xaf\x3f\xe4\x96\xb6\x1b\xf9\x9a\xe0\x95\x2b\x55\x1d\x41\x7f\xa5\x35\x56\xca\xad\x35\xdf\x04\x63\x14\xf1\xcd\x8e\xbb\x36\x25\xbc\xa1\xb4\xc1\xd4\x87\x8b\x88\x44\xb4\x5e\x81\x22\x6a\xab\x2b\x77\xa4\x08\x42\xe8\xf8\x38\xc4\x09\x07\xc9\xd4\x7a\xc2\xeb\x2c\xff\x3c\xc1\x1f\x7f\x96\x5b\xf4\xcf\x93\x10\x44\x16\xae\xb8\x06\x37\x9a\x18\x8c\x92\x57\x1b\x1d\x92\x2a\x51\x5d\xbf\x39\x0b\xb9\x2d\xf6\x93\x2c\xf9\xb7\x30\xbd\x19\x09\x7a\x0c\x7a\xd7\x86\xd0\x34\x8b\x35\xbd\xb4\x72\xd1\xd5\x45\xa8\xb4\x7d\xc1\x76\x95\x34\x4a\x84\xb6\xa6\xac\xb1\x59\xf3\xe4\xef\x42\x84\x50\x73\x2a\xbc\xf9\x9b\xb0\x54\x2e\xf0\x5f\xff\xfc\xd7\x3f\x35\x4c\x6a\x0e\xd9\x22\xeb\x6e\x19\x73\x49\x7b\xe7\xe5\xe5\x88\x99\x8d\xc3\x15\x75\x5d\x34\x60\xd3\xca\xa8\xcd\x12\x5e\x3c\xd8\x1d\x7a\xdc\xd0\x79\x93\x93\xa3\x57\xf5\xb6\x7a\x24\xf0\x02\xbe\x73\x84\xe9\x58\x1e\x22\xf8\xd3\x3c\xa7\xb3\x30\x1e\x51\xb9\x52\xc4\xb4\x64\x83\x6b\x18\xa3\xe7\xd8\x16\x66\xaa\xed\x7b\x93\x3c\xb1\x46\x61\xed\x43\xd9\x7f\x8f\x14\xba\xea\x7f\xb4\xcb\xb5\xba\xe5\xbd\x6e\x68\x59\xeb\xcd\x7c\xa3\x37\x28\x3c\x4e\x6d\xd6\xa8\x69\xf3\x84\x01\xa2\xb8\x47\xa4\xe5\xd0\x72\xfa\xa5\xe8\x47\xed\xa2\xdb\xc4\x76\x73\x6b\x63\xe8\xaa\x35\x18\x19\x6d\x9b\x5c\x72\x83\x44\xa9\xd4\x1e\xc2\x6d\x68\x22\x67\xa5\x1d\xef\x2e\x9f\xd8\x0e\xe1\xce\xb1\x49\x1f\x4d\x7c\x10\x35\x7c\x00\xc5\x5b\x1d\x6b\x6e\x99\xbd\xc5\x49\xfc\x4e\xb3\xb7\xed\x10\xba\x69\xdd\xeb\xa8\xdc\xdb\x5c\x03\x20\xb7\x7f\xdc\x3a\x2f\x65\x5d\xb9\xdb\xfc\xd4\x61\x18\x9f\x45\xe6\x36\x45\xa6\x32\x20\xdd\x36\x9f\x8b\x7e\xdc\x6d\x26\xb7\x1d\xc3\xdd\x97\x9a\xb5\xc4\x54\xe7\xf6\xb2\x3b\x8c\x7b\x06\x64\x09\x94\x12\x85\x3c\xd7\xa9\xd4\xb2\xd1\x2f\xc8\x30\xb7\xab\x52\x20\xd7\xcb\xa0\xa5\xb8\x74\x8b\xed\xa3\xdd\x06\x61\x5f\xdb\x64\x81\x03\xf8\xb3\x4d\x51\x9a\x32\xf7\x72\x61\x52\xb1\xea\xae\x21\x50\x36\x55\xc8\xa6\x3c\x9f\xd2\xc9\x63\x35\xa3\x09\x0c\x6c\x26\xb4\x53\xe1\x9a\xee\x93\xda\x67\x5e\x7b\xd6\xac\xe9\x56\x38\xaa\xbe\xf9\xb6\x56\x4d\x98\x89\x95\xd6\xaa\x2c\x57\x70\xb0\x56\xf9\x26\xc7\xb3\xe7\x8b\x76\x23\x38\x7d\xf5\xdc\xda\x13\xc5\xbe\xad\xc1\x66\x30\xbe\xb6\xb7\x2b\x18\x7c\xec\xf8\x57\x40\xde\x63\xf4\x7a\x2f\x92\xb6\x5a\x93\x75\x4b\xcf\x5b\x66\xed\xb6\xf5\xb1\x19\x6b\x4f\xbe\xad\x30\xef\xdb\x7c\x50\x6b\x41\xf1\xb9\xb5\x20\x7c\x9c\xab\x34\xfa\x64\xed\x7c\xab\x5f\x6b\x13\xa0\x0d\x10\x7b\x99\xcb\x5d\x78\x94\x4b\x60\xf4\xf9\x97\x2b\x71\xd8\x22\x3a\xbb\x71\x2e\x5b\xd1\xef\x6c\x36\xdb\x4d\x12\x36\x67\xa4\x3c\xbf\x0a\x0c\x42\xd6\x52\x88\x7b\x89\xac\xd9\x77\x8d\xd8\x84\x06\xaa\x6a\x1c\xbf\xf3\x44\x2d\xbb\x3b\x5e\xda\x40\x10\xae\x45\x4e\xf1\x45\x5b\x5a\x2a\x5f\x4b\x47\x42\xba\x2d\x89\x83\x79\x8e\x45\x9f\x08\x14\x33\x68\x42\xdb\x4c\x34\xbe\xef\xe3\x70\xbc\x08\xc6\x4f\x2d\x1a\x19\x88\x31\x6c\x39\x24\x06\x84\x2c\x71\xa2\x07\xf7\xbc\xd5\x2e\x59\x63\x73\xf4\x66\x98\xac\x03\x4c\x3d\xc8\xfe\x34\xf1\x8d\xe9\xc9\xed\xd5\xd2\xf8\x5e\x56\x93\x70\x22\xb8\x74\xe2\x4e\x24\xea\xac\x82\xfd\x6e\xb8\x4b\x56\x1e\x7b\x5b\x65\xb2\x53\x71\xc7\xd9\x2e\xb3\x95\xfb\xd3\x85\xe7\xe4\xbb\xbc\xd6\xd7\x16\xf9\x4e\x11\xea\x56\xd8\xae\xf7\xc9\xa0\xa6\xe1\x86\xcb\xeb\xe0\x58\xb8\x36\xf0\x15\xc3\x96\x19\x01\x91\x0f\x1b\x76\x52\xab\x1e\xf5\x28\x2f\xf2\x3e\x0e\x00\x85\x03\xd5\x16\x31\x5d\xee\x73\x02\x7b\xec\xb9\x29\x3a\x48\x91\x3a\xf8\xe4\xc9\x85\xf2\x70\x2c\x97\xce\x29\x88\xc5\x98\x64\x2f\x2f\x45\x97\xc9\x1c\x2f\x5d\x5e\x3f\x5e\x0c\x99\xad\x56\x19\x3c\x29\xd5\x04\x75\x6a\x76\xb5\x20\x4f\x05\x06\x9d\x1d\xaa\xcf\xe4\xa9\xab\x11\x12\x3a\x3b\xa6\xcb\x68\xb1\x1a\xc5\x40\x4e\x5f\x97\x92\x91\xfa\xf9\x48\x5c\x52\x5a\xb8\x21\x38\xe5\xd0\x73\x5f\x74\x5c\x5b\x75\x67\xdd\x96\xd8\xd5\xcf\x67\x5e\xf1\xb2\xc6\x50\x75\x81\xa1\x83\x9c\x51\xbb\xb0\x4c\x31\x34\xb8\xae\xd2\xe8\x67\x99\xb9\xa6\xcc\xfc\x26\x0d\xaf\x8b\xeb\x7e\xed\xc2\x8d\x43\x49\xce\xda\x52\x13\x9b\x2c\x33\x61\xb7\x94\xfb\x54\x97\xd8\xe6\x9a\x3e\xca\xaa\x01\xe4\x29\x07\x35\xd2\x76\x53\x6b\x7d\x3d\xf8\xfd\xfa\x46\x0a\xa5\x13\xe6\x28\xb6\xc4\x0c\xec\x1b\xfd\x57\xdf\x91\x6e\x58\x81\xcd\x07\x94\xa3\x43\xa7\x5a\xdb\x31\x47\xff\x33\xec\x90\x35\xe0\x7c\x79\x19\xbd\x35\xc1\x11\x9b\xd1\x1c\x64\x6f\xb3\xaf\x55\xb1\x1d\xdc\xc2\x00\xb4\xea\x7e\x55\xbe\xeb\x66\x53\xef\xa2\xc1\xb7\xd2\x7d\xeb\xc8\x87\x56\x62\x7c\x20\xc0\x43\xfe\x8c\x85\x22\xb5\x99\x41\x0c\x04\x73\xc8\x1e\x69\x1f\xc3\xda\x9c\xd2\xf6\x89\x46\x54\xc3\xe6\x5d\xfb\x77\xad\xb5\x34\x00\x16\xf6\x56\x03\x36\x00\x2b\x18\x22\x42\x3b\x83\x0a\xaa\xcd\xfc\x00\x04\x01\x23\x97\xe4\xe0\x2d\xa3\x0a\x9e\xfe\x78\xf6\x5f\x3f\x2c\x2e\xdf\x9b\x51\x05\x45\xa2\x81\xe7\xaa\xee\xb5\x00\x0a\xca\x43\x51\x36\x9c\x1d\xd0\xa1\x9e\x1d\xee\xa8\x0e\x75\xe8\xb9\xaf\x22\x02\x13\xea\x5c\x64\xc4\x1d\x4a\x5b\x6a\x51\x98\xf8\x34\x45\x70\x99\x4d\xd3\x12\xfd\x02\x92\x6a\x30\x87\xf1\x89\x1e\x3a\x15\x23\x1b\x40\x11\x4c\x1c\x19\x0c\x53\xdb\x57\x0b\xa5\xc8\x42\x1f\x6a\x51\x86\x8c\xa8\x5d\x5d\x5a\xe9\x69\xab\xb5\x80\x82\x32\xd6\x39\x2e\xe2\x42\x15\x52\xaf\x35\x78\x28\x7d\xb6\xf4\x12\xd8\x11\x5c\x4a\x06\x7b\x23\xd5\x3c\x3d\xab\xaf\xfa\xc4\x6b\x44\x08\x8a\xb8\x2d\xc7\xcd\x8a\x83\x39\x85\x9a\x61\xfa\x8f\x71\x38\xfb\xe9\x27\x8a\xd8\x80\x6e\x40\xc8\xfb\x6f\xf7\x56\x9e\x68\x28\x8a\x77\xcb\xbe\x3b\x2a\xe1\x7c\x3a\xbd\xdd\xba\xcc\xb7\xc0\x97\xce\xed\x3b\x13\x4c\xa9\x62\x1a\x63\xf9\xd2\x8a\xa8\x99\x38\xf9\x11\x50\xc9\x30\x87\x9b\x15\xbb\xb8\x13\x9e\x7a\x6e\x5a\xd9\x21\xe2\x04\x12\x48\x05\xce\x6e\xeb\xd1\x4b\xf6\x6d\x00\xc4\xf6\xb0\x12\xdf\xa3\x0e\x60\xb5\x2a\xa6\x10\xe1\x17\xd9\xee\x6d\x48\x34\x6c\xcd\xd7\x6a\xa4\x3e\xf2\x0b\xe4\xb6\x69\x4c\x8b\x57\x5a\xcc\x2a\xed\xc9\x4b\x47\x9e\x4b\x12\x5f\x05\x65\x1d\x28\x22\x1e\xe4\xe1\x51\x72\xb3\x13\x33\x7a\xe5\xb9\xfb\x31\x97\x0a\xf9\xcb\x04\xd2\x2e\xef\xff\xaf\x87\x1f\xf3\x26\x2c\xe2\xc8\x3a\xae\x6f\x3b\x72\x0a\xab\x78\x25\x89\x51\x5e\xee\x0e\x7e\xdf\xa6\xd8\xdb\x15\xa7\xed\x74\xdc\xdc\xb4\x37\x73\x40\x39\x64\x25\x3a\xde\xc1\x71\x2a\x70\x4c\x4f\x73\xf5\xaa\x29\xde\x60\x0e\xc8\x37\x4c\x2f\x5d\x37\xd9\xb2\x2a\x77\xb8\xba\x6b\x29\x76\x26\x6b\x75\xc1\x52\xee\xb0\x95\x26\x1d\x39\x32\x97\xdf\x50\xd6\x41\x64\xea\x57\x0b\x39\xb8\x9e\x4a\xe1\xa7\x68\x01\xc7\x60\x86\x35\x63\x83\x9f\x40\xa0\x67\x9a\xf3\xc7\x53\x02\x83\xe7\x5a\x6b\xec\xb7\x74\xb7\xe6\x67\xb8\xae\x18\x8a\xbd\x24\x97\x29\xfb\x19\x52\x80\xc2\xe6\x13\xbf\x10\xc7\xdf\x88\x53\x8b\x1c\x45\x67\x61\x6c\x25\x43\x84\x65\x87\x26\x69\xe4\x0b\xa7\x60\xc9\xa6\xd6\x5b\xa2\x58\x51\x82\xf8\x6d\xdf\x87\x1f\x7d\x98\xc4\xb4\x7f\x0f\x7a\x88\xdc\xde\x16\x8e\x2e\x0d\xf5\x4d\x00\x6e\x11\x4f\x70\x11\x53\xfd\x1c\xf5\x37\x9c\x3a\x73\x70\x03\x9d\x08\x3b\x09\x94\x02\x4a\x6e\x69\xbc\x7a\x72\x9c\x4e\x42\x44\xe6\x0e\x88\x56\x8e\x3a\x53\x66\x4a\x2c\x20\x0e\x70\xd4\x41\x9b\xe3\x33\x0b\xd8\x6a\x87\x8a\xd6\x2c\xec\x66\x0d\x84\x5a\x57\x95\xb5\x37\x28\xed\x86\x4d\x69\xf3\x1e\xb0\xde\xc6\xa4\xc2\x0c\xae\x6d\x56\x32\x99\x84\xfa\xdb\x95\xc4\x6e\x06\x55\x5e\xf2\x96\x0d\x4b\xe9\xd3\xd7\x67\xa7\x17\x4f\xce\x8d\x86\x25\xcb\xc2\x14\x99\xe1\xa0\x83\x0d\xa8\xe6\x28\xd6\xd3\x26\x50\xff\x5a\x81\xba\x8d\xfc\x2d\xcf\xfd\xd9\x14\x65\x2a\x84\x78\x59\x2a\xc8\x1c\x1b\x28\x33\x4e\x71\x0f\x89\x0f\x79\x90\xd4\x8c\x43\x68\x41\x0a\xd4\x57\x5f\xe3\x80\x1f\x91\x23\xc9\xd3\xc5\xf8\x0d\x19\x06\x91\x99\xb9\xae\x94\xb3\x8e\x37\x98\xfd\xe4\xed\x66\xbf\x78\xf3\x57\x57\x1e\x4d\x52\xd8\xe4\xcf\xcd\x56\x91\x94\xe5\xf5\x4f\x66\x1d\x6a\x2b\x00\xbe\xf6\xda\x1b\x7e\xf9\xe9\x73\xdb\x7f\xfd\xc9\xdd\x62\x1c\xa2\xe8\x1a\xde\xc2\x0a\xfc\xcf\xd7\x8f\x1e\x1d\x7e\x43\x4e\xcc\xa6\x5d\xae\x62\x7a\xa6\x7f\x9a\x16\xe7\x91\xb0\x51\x49\x86\x66\xba\x87\x9b\x1f\xf5\xe4\x48\x85\xd5\x77\xec\xea\x8c\xe6\x49\xcf\x4b\x35\x06\xe0\x73\x90\x4c\xc1\x18\x7c\x8e\x6a\xf3\xfa\xda\x9a\xec\xeb\x37\xaf\x97\xb2\x76\xef\x5b\x18\xbf\x1a\xa5\x6f\x56\x49\xe5\x89\xbd\x0d\xad\x7a\x76\xa3\x60\x12\x81\x9b\xcc\xda\xd8\xb9\x7a\x7e\xf1\x2c\x56\xce\x5a\xa3\x60\x52\xc2\x43\x7b\x28\xae\x1e\x5d\xe4\x98\x5d\x9e\x06\xe0\xa5\x41\xa2\xd5\x9e\x56\x2e\xc1\x44\x21\x54\x1d\xe9\xe5\x61\x1a\xfd\x01\xc3\x74\xfb\xe1\x30\xdd\x7e\xa8\x57\x8c\xa3\x14\xf8\xf3\x45\xe5\x00\x3f\x70\xcf\x1f\x0d\xd3\xf3\x47\x05\x82\x83\xc4\x9f\x6f\xb4\xd7\x8f\x87\xe9\xf5\x63\xad\xd7\x6f\x20\x5d\xe2\xc4\x0e\xb0\x6c\x40\x3c\x22\x83\x41\x86\xcc\xb1\xf2\x20\xf4\x04\x1e\xdd\x8c\x49\xdd\x31\xee\x4b\x76\xe2\xae\xfc\x05\xdd\x94\xc1\x64\x34\x3b\xc9\xa9\xe3\xe0\x12\xd1\x39\x8a\x44\x5d\x19\x7d\x47\xb1\xe3\x26\xa9\x1e\x8a\x28\xde\x10\x11\x3a\x8e\x91\xcf\x15\x86\x2c\xb8\x9e\xc2\x85\x02\x6d\xfb\x16\xc1\x30\x60\xea\x21\x8a\x34\x80\x3b\x17\x47\xf2\xcf\x4c\x01\xf4\x41\x14\xa0\x80\x29\x27\x52\x89\x24\x9c\xf5\xa4\x35\xa9\x59\xcf\x23\x90\x8a\xe6\xec\x34\xb8\xfe\xbc\x66\x17\x79\x5b\xe5\xb6\x5c\xd6\xfc\xa1\x18\x0e\x44\x0e\xc8\x46\xbe\x26\xdb\x99\x07\xb1\x44\xc1\x4c\x7a\x5e\x14\x1b\x76\xf4\x20\x55\x77\x66\x0d\x3b\xba\xd9\xa4\x5a\x60\x59\xd0\x7b\x8a\x3b\x49\x6c\xd1\xb9\x0a\xd6\xe9\xe3\x22\x1a\x67\x37\x91\x5d\x58\x3e\x9e\x6c\xae\x8f\x19\xb2\xc1\x06\x99\xe5\xac\x94\x4d\x80\x7d\x6c\x8c\x26\x3f\x91\xf4\x3b\x95\x1d\x45\x80\x10\x48\xc9\x01\x5a\xcc\x0e\xb4\x19\x3a\x90\xf4\xcb\xce\x3e\x53\x14\x42\x9e\x14\xaf\xd1\x93\x2f\x8e\x8f\x3a\x8a\x60\x0f\x4f\x50\x51\x6e\x8a\x86\x2b\xb6\xd6\xbe\x56\x4e\xb7\x14\x95\xf7\x78\x5d\x4c\xd6\x1a\x72\x57\xf4\xf7\x3a\x18\x01\x0e\xfc\xd1\x51\x64\x76\x1c\x71\xb9\xb5\xc7\x3b\xe7\xb1\x1a\x66\xcb\x50\x4a\xde\xef\x73\xb7\xd8\x4c\x46\x61\x0f\xfd\xd8\x22\xd6\xa5\x3e\x57\xb0\x35\xd6\xa5\x44\x31\x51\x93\xcc\xcd\xb2\x11\x8d\x69\x84\xd7\x70\xb5\xc4\x49\x20\xd4\x1f\xf9\xc3\xc9\xde\xec\x16\x67\xa2\x05\x30\xf7\x48\x27\x3c\x53\x6e\x02\x51\x35\x4d\x0e\xc6\xd3\xf7\x74\x9b\x94\xfb\x06\xc9\xa5\x01\xc2\x48\x4f\xe9\x6b\x40\xfd\x39\xec\xb7\x85\xbe\xc1\x4c\xc1\x98\x39\x53\x9c\x46\xc1\xfe\x7a\xa1\xd4\x3b\xa8\x6e\x2c\x24\x69\xf2\x6d\xeb\x36\x34\x8d\x47\xc3\x6a\x1a\x8f\x76\x58\xd3\xc8\x41\x89\x2b\x3b\xf6\x53\xcf\x9d\x64\x73\xff\x75\xe1\xd9\x5c\x6d\x18\x7c\x7f\x7f\xf4\x07\xdc\xdf\x1f\x15\xea\x3f\xd7\x2c\x08\x75\x5e\xdc\xf6\x62\x78\x38\xec\x62\xe8\x13\x8a\xb5\xdd\xc5\x60\x0c\x3e\xaa\x59\x0c\x0f\x37\xbb\x18\xd6\x2e\x40\x70\x07\x17\xc3\x43\x9b\xc5\x70\xbb\x27\xd1\xa3\x61\x97\x44\xcf\x80\x98\xdf\xcf\x49\xf4\x68\x53\x27\x51\x63\xd4\xcf\x50\x8b\xf3\xe8\x0f\xb8\x38\x7b\x86\x0c\xad\xf1\xd4\x76\x4e\xa2\x99\xe1\xfe\xf7\x79\x14\xd5\x8f\x9b\x17\x31\xf4\xd1\x74\xe5\x44\x62\xc8\x4e\x90\xa0\x1b\x78\xc0\xcb\xf9\x1f\x4c\xf9\x29\xcf\x09\xb1\x0f\x3a\xbb\xbb\xb6\x93\x94\x31\xdc\x41\x55\x8e\x3f\x1b\x6b\xf3\x89\x55\x3e\x7d\x9e\x51\xe6\xca\x73\xe1\xfe\x6c\xdf\x39\x28\x90\x6e\x9b\xa7\xd7\x9d\x5c\x5e\x16\x6d\x37\x5c\xbe\xbd\x54\xc8\x4a\x88\x5a\xad\xeb\x4f\x85\xdb\x6c\x10\xc8\xa1\x53\x7f\x44\x90\x82\x88\x51\x28\x87\x2e\x74\x98\x81\xca\xb5\xea\xe6\xb7\xb1\xd0\xba\xe2\xca\xec\x1f\xdd\xa3\xfe\xb8\xb5\x00\xbb\x6f\x9f\x4c\x16\xcf\x1e\xc7\xbe\x5d\x80\x5d\xbf\x20\xb4\x4c\xd0\x14\xa3\xd0\x3a\x46\x9e\xc9\x56\x5a\x42\xcf\xb6\x12\x75\x36\x30\x33\x95\x98\x60\x00\x6e\x12\x14\xde\x7a\x16\xf0\x39\x9a\x5f\x4e\x4e\x6f\xcc\xa1\x62\x94\xef\x57\x22\x1c\xcb\x07\xb4\x1a\x20\xf6\xb8\xa6\x28\xad\xc6\x49\x21\x9a\x42\x7f\xe5\x87\xda\xc4\x33\x0d\x93\x02\xd6\x84\xe7\x9e\x67\xb7\xd9\xdf\x1a\xae\x7c\xb3\x8e\x54\x95\xe3\x7c\xcf\xce\xa8\x99\x7d\x75\x1c\xe3\x18\xdf\xe4\xf5\x49\xb3\x50\xfa\xea\x93\x21\xaf\x03\xcb\x76\xc0\x34\x8e\x61\xe2\x03\xd2\x0c\x2d\xfd\x32\x40\xf4\xbc\x30\x3a\x1d\x22\xc5\x44\x82\x73\x61\x5f\xef\x0a\x56\x31\x2c\x95\xcf\x12\x30\xb5\xaa\xe8\xb5\x21\x32\x07\xec\xfb\x3b\x49\xe7\x7c\x13\xaa\x2b\xc3\x27\xaa\x54\x06\x63\xb2\x18\x47\x38\x82\xce\x02\x24\x33\xc4\x0b\x56\x8e\x1f\x1e\x56\x55\xa6\xa6\xa6\xc8\xa2\x58\xfa\x52\x36\x15\xc2\x29\x35\xb6\x55\x39\x55\xd4\xf2\x42\x9c\x60\xaa\x42\x38\x4c\xcc\xf0\x36\xbb\x2f\xb1\xe0\xde\xe0\x68\xa8\x75\x97\x7f\xbb\x95\x23\xb4\x47\xd3\x88\x91\x00\x06\x5d\xb9\xe2\x6d\x71\xa4\x0a\x34\xf4\xed\xcb\x37\xf6\x1a\xe5\x26\x08\xfa\x0e\xde\x20\xb8\xbc\x55\x92\x26\xbc\x0b\xc3\x10\xf4\xed\xbb\xef\x2f\x5f\x9e\x5e\xbe\x3c\xbb\x5d\xaa\x9e\xf3\xda\x97\xb7\x48\xd3\x21\x99\xf4\xfc\xfb\xd3\xff\xec\x42\xd0\x3b\x22\x9b\x4a\x09\xda\xc2\x6e\x75\x0a\x28\x9c\xe1\x04\xb5\x7b\x16\x4a\x9d\xaa\x94\x90\x50\x93\xe2\x8b\x16\xcb\x95\xf1\x05\x28\x35\xaf\xb7\x7d\x92\xd5\x2b\xf6\xd3\x84\xe0\x64\x1c\x63\x24\x63\x82\x73\xc3\x5f\xef\xd4\xc6\x23\xad\x08\x85\x1c\xdd\xaa\x95\x11\xf2\x07\x6b\x82\xce\x35\xd7\x97\xf6\x68\xe5\x88\xdf\xc1\xd1\x33\x38\xd7\xd4\xcc\x34\x05\xb3\x5f\x86\x9a\x5b\x0a\x66\xbb\x30\xad\x97\x60\x36\xcc\x8c\x16\x12\x26\xfe\x4d\x37\xc6\xcb\x59\xea\x3c\xc1\x47\x5e\x39\xbb\xbc\x69\x8a\x0b\x07\x0c\x53\xf2\xc4\x51\xc9\x70\xce\xe1\xf4\x72\xcb\x7a\x6e\x16\xd3\x85\x37\x4c\x16\x88\x10\xe5\x6f\xaf\x3b\x00\x16\x1e\x33\x9e\xca\x5a\xf1\x19\x73\x03\x75\xc6\x98\x5f\x19\xc5\xd9\x66\xce\x77\xac\x85\x01\x4e\x77\xe2\x18\xbd\xed\xd3\xdd\xfb\x59\x74\xf8\xcb\xc3\xa7\x5f\x75\x4e\xc5\xcb\xb2\x7d\xbe\x92\xa7\x76\x73\x52\x8f\xc2\x84\xe0\xeb\x29\x7b\xa1\xed\x41\x61\x75\xaa\x3e\x5a\xc4\x8d\xa8\xf8\xaa\x0c\x46\x75\x76\xf8\xe6\x39\x71\xcd\xa2\xa7\x35\xaf\x67\xb9\x22\x68\xb9\xaa\xa6\x16\x55\x16\x72\xbd\x11\xc8\xb0\x46\x36\x63\x43\x61\x1f\x7c\x5b\xb0\xa3\x70\x2a\xd8\xda\x52\x64\x0d\xac\x56\x7b\xca\x05\xb8\x81\xe2\x33\xcd\x51\xe0\x86\x15\x6c\x9b\xb8\x5d\x95\x93\x19\x79\x39\xcb\xcd\x21\x08\x50\xa4\x21\x5b\x17\xe9\x28\x42\x15\x44\x46\x17\xd1\xc9\x2d\x01\x1a\x78\x66\x90\xcc\x98\x8c\x61\x24\x9a\xaa\x93\x61\x4a\xa2\xb3\xf6\xe0\x34\x81\x64\x2e\x66\x0a\xc7\xab\xb7\xe2\xab\x38\x7a\x8d\x25\x49\x72\x4c\xeb\xec\xa7\x22\xd7\x09\x91\x18\x04\x2e\x8e\xd8\xef\x73\x78\x03\xc3\xd3\x39\x88\xe4\x73\xec\xda\x05\xfc\x47\x0a\x23\x1f\xca\xcb\x57\x85\x65\x60\xb0\x8e\xa9\x7b\x24\xff\x29\xc6\x5c\xcb\x23\x19\x44\x85\x97\xe5\xa1\xc8\x65\x92\xc9\x65\x41\x8f\xec\x42\x9b\xe8\x6e\x62\x15\x2b\x96\x92\xfd\x96\xb4\xcd\x37\xbf\x26\x86\x55\xc4\xb7\x78\x36\x9b\x1b\x8b\x67\xb5\xa9\xeb\xb0\x10\xd4\xcc\xda\x0d\xb4\x3a\xfb\xed\x43\xd6\xdf\x2c\xf3\xc8\x55\xc3\x32\x1c\x4e\xbc\xc9\xcc\xf3\x83\x09\x20\x70\x9c\xc0\x28\x80\x89\x9e\x8e\x22\x18\xb4\xc4\xae\x6b\x09\x86\xed\x58\xfe\x0b\xbb\xf0\x00\x9b\x39\xc5\xfe\xf6\xf7\x72\xf0\x97\xff\x3a\x7d\xf3\x26\x3a\x6b\x4e\xea\xe5\xc6\x5a\x1b\xb0\x46\x82\x02\x38\x01\x95\x63\xaf\xbc\x3c\x5e\xce\x11\x85\x59\x72\xc9\x58\x7b\xba\x0c\xe1\x57\xcf\x76\xaa\x2d\xae\x4f\x92\x25\xa2\xfe\x1c\x26\x4e\x30\x9e\x86\xf0\xa3\x03\x42\x34\x8b\xc6\x3c\xc1\x49\x66\x6b\x3a\x7f\x4f\x09\x45\xd3\x95\xca\xaf\x6d\x48\xe2\x74\xad\x83\x18\x8a\x1a\xfd\x24\x84\x0e\x9e\x2a\x9f\x37\x71\x07\x40\xb7\x49\x20\x4e\x64\x3e\x6f\x83\x63\xab\x8e\x54\xca\x2a\xc1\x59\xaa\x4e\x71\x97\xf7\xec\xd3\x94\x2b\x29\xc6\x46\xe5\xc9\x07\x52\x72\x5b\x46\x23\xd4\xf4\x9e\x62\xff\x12\xe3\x50\xf1\x52\x25\x31\x12\xfb\xca\xcb\x4d\x0c\xc7\x3a\xfe\x45\x57\x89\x43\x36\x41\x4a\xb7\x61\x07\xbc\x24\x53\x9d\xcb\xe1\x3a\x46\x4f\x72\x7d\x0f\xc7\x69\x3c\xd6\x3c\xa3\xe5\x4e\x16\x8b\x89\x42\x18\x55\x8b\x4f\x36\xf4\x3d\x8d\xcf\x10\x87\x89\x11\x61\x5a\x41\xf6\xa3\x3d\x4c\x8b\x8d\xed\x7d\x6c\x3c\x3e\x1a\x06\x66\x1f\xb4\x03\x92\x04\x2f\x7f\x4e\xe3\x25\x68\xa9\x5b\xd3\x7a\x73\x98\x02\xa1\x0d\x33\x13\xe0\x65\xb4\xb9\xb9\x61\xad\xaf\x35\x3b\x67\x78\x19\x6d\x6a\x7e\x58\xe7\xee\xc0\x0c\xe1\x94\x06\x6c\x21\x6e\x6c\x92\xe4\x07\xd6\x9a\xa7\xef\x45\x1b\x9b\x9a\xaa\x09\x28\x07\xc1\xed\xdc\x34\xb1\xbd\x7f\x93\xb3\x24\xda\x5f\x6b\x92\x5e\x45\x9b\x9c\xa3\x29\x4e\xd6\x58\x4d\x1d\x4d\xf1\x4d\x11\x2e\xc6\xec\x14\xae\x9a\x59\x42\x0c\xe6\x51\xf8\x1f\x78\x1a\x13\x7b\x46\xd6\x49\xb6\xdb\xa4\xeb\x81\x05\xdb\x36\x4f\x50\xb5\xff\x88\x9e\xe7\xe0\x80\x46\xcb\x4e\x81\xd1\x42\x91\xb6\x2c\x78\xf2\x23\xd7\xf2\x9c\xca\xfb\x14\xfb\x82\x1f\x4e\x09\xc9\xd1\x0c\x9f\x1a\x1c\x47\xd5\xcf\x7a\x45\xd6\xe4\xbc\x55\x80\x34\x34\xc6\x4a\x17\x40\x15\x8b\x7d\x51\xe1\xbb\x72\x8a\x6b\xad\xbe\xdf\x61\x8a\xc5\xa1\xdf\x4c\x0d\x2b\xc6\x36\xd5\xc0\x88\x52\xa6\xfc\xf3\x33\x79\x19\xd1\x4f\x7e\x41\x7b\xc2\xec\xd8\x2e\x79\xdd\x78\x68\x92\x06\xe8\x98\xfc\x09\x10\x71\x9c\x7c\x5b\x3e\xfd\xcb\xbb\x6f\xe0\x92\x8d\x2d\xbf\x6d\xe3\x6a\xeb\x34\x4a\x1f\x87\x38\x19\x27\x30\x28\xeb\xe6\xf2\x9b\x0e\x88\xe3\x04\xdf\xe4\x78\x40\xeb\xa8\xe6\x1f\xfe\xbf\x2b\x51\x2f\xa4\x87\xcb\x52\x12\xaf\x6c\x08\xc9\xb5\xf2\x13\xde\x51\x58\x36\xc9\x98\x1e\x68\xa6\x62\x39\xd8\xdb\xe7\x53\x74\xb2\x04\x88\xa2\x68\x56\xf2\x24\x77\x09\xfc\x6e\x9d\x06\xbe\x05\x94\x27\x42\x7d\xf8\xf6\x66\xa2\x63\x6c\xb9\x6b\x5a\x2b\x76\xe1\xf8\xfd\x37\x83\xaa\x07\xc6\x22\xba\x71\x6b\x66\x0e\x8a\xfd\xfe\x56\x8e\xa2\xe9\x75\xdb\x56\x0e\x4a\xff\xf4\xec\x9b\xc3\xb7\x2f\xcd\x56\x8e\x04\x92\x34\xd4\x83\xd2\x4a\x17\x2c\xd1\x05\x13\xbc\x74\x22\x3c\x9e\xa5\x94\x4d\x67\xc1\x14\x61\x82\xae\xad\xd7\xde\x44\x89\xa5\x6e\x87\xf3\xdc\xa6\x42\x93\xd4\xa7\x69\x52\x97\x36\x53\xdf\x44\x36\x45\x16\x91\xca\xa6\xe5\xcf\xdf\x17\xdb\x89\x5b\x8a\xa6\xb2\xdb\x6b\xba\x7c\xa7\x02\xbc\xfd\xb0\x61\x99\x0e\x13\x46\xdc\x3a\x67\x0f\x8d\x2a\x98\x96\x43\x7d\x2b\x41\x2b\x83\x71\x4e\x3b\xf3\xd0\xa2\xc5\xa6\xe4\xeb\x93\x77\xeb\x7d\x7e\x3d\xb0\xe2\xa6\x21\x06\x16\x05\xb1\xfa\x18\xa6\xea\xbe\x5e\x1d\x18\x2f\x47\x2c\xcf\x3c\xf5\x0e\xcd\xba\xe3\x59\x02\x56\x52\x56\x2c\x50\x10\x84\xd0\x09\x44\xc8\x44\x30\x5e\x04\x85\x78\x19\xb7\x2d\x6e\xa0\xf5\x04\xd4\xf3\x1c\xb4\xc0\x01\xfc\x19\x0a\x77\x4c\xb7\x9c\x0c\x3b\xc5\x48\x41\x0b\xc0\x28\x7d\x5b\xf4\xec\x0f\x55\xfc\xae\xeb\x79\xd8\x72\xe2\x17\x30\x4a\x87\x9b\x78\xb3\x4a\x14\x24\x38\x0e\xb8\xb5\x48\xdc\x05\x09\x02\xe3\x39\x20\x31\x8e\xd3\x98\x09\xbb\x24\x85\x85\x7b\xf0\x63\x0c\xa2\x00\xf2\x2a\xd8\x4c\xfe\x35\x1e\xcf\xd6\x61\x8a\x04\xfe\x7c\x53\x9f\xa7\x61\x6d\xc5\x68\x95\x4f\x92\x00\x9c\xda\x4e\xe1\x57\xbe\xf0\xd9\xe4\xf0\xd1\x73\xac\x91\x10\x06\x93\x55\xf7\x99\xda\x88\xf4\x30\x1c\x83\x4d\x83\xcb\x10\xfa\x0f\x3d\x77\x9e\xc0\xa9\xeb\xb9\xff\x56\xe4\xba\x42\xc0\x8f\x2c\xb7\x3f\x83\x8d\x83\x2a\xa2\xa3\x5a\xcb\x8e\x97\x95\xa5\x6e\xbf\x8e\xcd\xc7\x9a\x53\x1c\xaf\x76\x85\x74\x3e\x8e\x57\x5d\x49\x57\x5d\x96\x39\xbc\x6c\x16\x7f\x02\x92\x99\xa8\x60\x52\x0c\xcd\xca\xbf\xd7\x09\xc7\x96\xb7\x39\x01\xfe\x35\x1b\xa7\x2b\x34\x50\xa4\x7b\x6c\x04\x4d\xfb\xcd\x92\x0f\xb8\x6b\x7b\x57\xa6\x64\x81\x6f\xe0\x36\xa7\x24\xff\xde\xb0\x53\x22\x68\x3a\xe4\xc2\xb9\x94\xc7\x98\x5d\x99\x29\x59\xa5\x60\x9b\x93\x55\xf8\xe4\xb0\xf3\xf5\x56\x34\xbd\xc6\x2a\x52\x95\xa5\x37\x38\x3b\x22\x30\x3c\x2f\xb2\x6a\x39\x53\xb2\x80\xfc\x16\x27\x4a\xff\xe2\xb0\xf3\x64\xaa\xdf\x6d\x6d\x73\x03\x51\x60\xd8\xc5\xbd\x16\x47\x71\x3f\x1b\xa5\xb5\x2e\x13\xa0\x1b\xa4\x9d\xb3\xdb\x80\xb7\x6a\x9d\x25\x6b\x56\x28\x1b\x4c\x2e\x54\x3c\x45\x6b\x28\x24\x66\x97\x8e\xba\xd2\x81\x07\x6a\x88\x58\xf5\x0b\xee\x12\x15\x8b\x6e\xd1\x35\xc9\x68\x70\x5f\x66\x97\xd6\x27\x64\x21\x42\x61\x97\x68\x98\x85\x65\xac\x49\xbe\x62\x0c\x05\xdb\xdd\x1d\x01\x07\xb1\x2e\xe5\x4a\xf1\x03\xbb\x44\x3b\x2d\x70\x62\x4d\xea\x95\x63\x1c\x38\xfd\xd4\x51\x76\x03\x26\xfb\x7e\xde\x56\x8b\x43\x6a\xcd\x9d\xae\x1f\x2b\x3f\xdf\x8a\x83\xde\xff\x2c\x55\x67\xb9\xa8\x39\x08\xdd\x4a\x81\x0d\x0b\xd8\x8c\xce\x35\x36\x2c\xda\x6c\x2e\xb3\x61\xd1\x40\xc5\x42\xce\x26\xa4\xa5\xe8\xb2\x45\xb3\xcd\xd5\x36\x06\x82\xaa\x71\xcd\x80\xac\x67\x90\x50\x14\x71\x70\x18\xe7\xcc\x12\xf9\xdb\xbd\xb2\xaa\x40\xdc\x54\x7c\x38\xaf\x36\x9c\x19\xc4\x05\x34\xec\xb7\x28\xa4\x22\xf0\xbc\x80\x67\xe3\x2c\x26\xe3\xc7\x4c\x59\x73\xbe\x7f\xe7\x4c\x3c\xe7\xa3\x73\xf2\xe6\xcc\x59\x79\xce\x4f\x3f\xb9\xf1\x3c\x01\x04\x3a\x0b\x40\xff\xbf\x9f\x7e\x72\xdb\x41\x6c\x1a\x87\xd7\x30\x57\xab\xf1\x93\x3c\x7e\x95\xaf\xa0\x85\x3c\xf4\x35\x59\x8f\x78\x35\xb8\x5e\x88\xc1\x66\x1c\xa4\x37\xd8\xe1\x78\x72\x28\x9a\x65\xbd\x21\x12\x57\x75\x1d\x19\xd8\x14\x69\x92\x7d\xc7\x32\xda\x24\x9b\xcd\x77\xdc\x9b\xd6\x2f\xf0\xc4\xc4\xbc\x66\xb8\xbb\xac\x66\xde\xa0\x80\xa8\xaa\x0e\x82\x3e\x92\x0c\x18\x35\xfb\xe6\x2b\x9b\x28\x0d\x0b\xee\x32\x54\x93\x7d\x54\xca\xa2\xe8\x54\x7c\xb1\xfe\x4b\xb2\x78\x57\xf9\x4b\x59\x4d\xaf\xa1\x3e\x13\xa1\x38\x86\xb4\xfa\xa1\xc6\x72\x92\xee\x66\x60\x55\x3b\x9b\xb8\x87\xc3\xa8\x6b\x6b\xe4\x91\xd7\x06\x93\xde\x2a\xaf\x3a\xa9\x2e\x03\x40\x56\xad\x8d\x5a\x35\x78\xd1\xc5\x0e\x9d\xd2\x01\xab\x8e\xd8\x2a\xf7\x43\x24\x4a\xbc\xda\xa7\x0d\x69\x2a\x51\x6d\x77\x2b\x26\xda\xce\x6a\x65\xcd\xb5\x8e\x5c\x69\xad\x5c\xda\x58\x85\xad\x94\xcb\x9e\x26\xd6\xcf\xca\x65\x49\xb9\xe4\x87\xa6\xcf\xca\xe5\x67\xe5\xf2\xb3\x72\xb9\x8b\xca\xe5\x5a\x68\xca\xf5\xca\xe5\xd1\x76\x94\xcb\xa3\xad\x29\x97\x47\xdb\x52\x2e\x5b\x6b\x95\x97\x95\xcb\x81\x90\x90\x77\x58\xb9\x34\x47\x95\x7e\x56\x2e\x77\x48\xb9\xac\xe4\x99\x5b\x28\x97\x55\x67\xf3\xae\x2b\x97\x76\xce\x52\x2b\xf5\xb2\xb7\xaf\xf1\xb3\x82\x59\x52\x30\xc5\xa4\x6c\x4f\xc5\xd4\x35\x8d\x93\x04\x3a\x2b\x9c\x3a\x24\x95\x7f\x2c\x41\x44\x1d\x8a\x1d\x31\xbd\xa2\x14\xa1\x44\x0f\x78\xd1\x53\xa9\xea\xac\xbf\xd6\xb5\x91\x09\x6c\x0b\x60\x74\xa9\xbb\x9a\xb5\xd6\x2c\x64\x98\x35\xc8\xe3\xf4\x10\x4f\x5c\x11\x17\x26\xf8\x63\xe1\x8b\x4a\xf5\x95\x7a\x0f\x27\xcc\xe9\x1c\x85\x41\x02\xa3\x0c\x41\xc3\xbc\x30\xc4\xfb\x0d\x0b\xa3\x43\x0d\x4e\x5d\xb1\x37\x93\x66\x9c\xdf\x3f\xe2\xd7\x1b\x17\x6d\x6b\xdf\xd4\xa2\x6d\xd7\x7a\x4e\x42\x92\x71\x8c\xcf\x28\xa3\x58\x86\xf4\x8d\x47\xfc\xbc\x1f\x0e\xb9\x1f\x6a\xa1\x2b\x96\xdb\xa1\x01\x4a\xc5\x62\x43\x34\x45\x89\xec\xfa\x96\x68\x1b\xdf\x65\xb5\x29\xf6\x8f\x94\xfa\xbc\x2b\x96\x76\x45\x19\x19\xe6\xbc\x83\x29\xf7\xd2\x3b\xa7\xb2\x36\xb3\x42\xeb\xb9\x4b\x86\x18\x4d\x1e\x7f\xa5\x60\x9c\x44\x02\x4d\x6b\x2c\xf4\x1b\x8b\xfa\x81\xf5\x1b\x9e\xa9\xe0\x45\xb1\xd0\x85\xb0\xe0\x5c\xc9\x50\xad\x9c\x95\x5b\xfb\xa8\x32\x72\x85\x89\xa7\x64\xc9\xc1\x29\x81\x34\x01\xb1\xeb\xb9\x2f\x39\x06\x0c\x2f\x83\xa8\xa3\x58\x5d\xca\x14\x21\x9b\x1d\xd0\xed\x59\xe3\xe2\x90\xe7\xed\xdc\xa0\x00\x3a\xc0\x21\x73\x9c\x50\x87\x0f\xc8\x99\xe2\xc4\xa1\x73\xe8\x24\x8a\xb9\x54\xe1\xef\x49\x33\x73\xf5\xb7\x2c\x0d\xcc\x3b\x01\x24\x7e\x2b\xeb\x9c\x41\xe2\x27\x28\xb6\xa9\xc5\xa2\x71\x10\x23\x23\x48\x20\x28\x31\x51\x82\x97\xa4\x27\x13\xd5\x77\x56\xf1\xd0\xa3\x76\x06\x0a\xb4\xc1\xe8\x7c\xf4\x32\x33\x35\x6c\x98\x93\x2e\x38\xff\x68\xdd\x60\x6a\xf2\x1c\x86\xb1\x83\xe9\x1c\x26\xc4\x49\xa3\x00\x26\x84\x82\x28\x18\x9e\xb7\x3e\x2b\x36\x43\x1d\xf4\xeb\x60\xdf\x2c\xd4\x1b\x63\xb0\xf2\xb6\xf5\x9b\x41\x33\x8b\xf5\x9c\xe0\xfe\x99\xc5\x04\x52\x8a\xa2\x19\x19\xcf\x60\x04\x13\x10\x6e\x3f\xbb\xf8\xc7\xbf\x3d\x99\xcc\xc9\xdb\xc7\x9d\xf1\x50\x0b\xf9\xa3\x02\x9d\xec\x17\x0e\x9a\x6f\x9d\x2a\x0c\x3f\xc6\x21\x2f\xa9\x55\x55\x61\xbe\x13\xe4\x70\xbe\xcf\xeb\xd7\x9a\x72\x59\xe3\xfa\x26\xb9\x34\xca\x7f\x6a\x89\x73\xbc\x88\xb3\xaa\x3b\x2c\xcd\xad\x0e\x13\x3d\x59\xad\x04\x87\x50\x09\xeb\x57\x03\x57\xc6\xe4\x5d\xf9\xd3\x1c\xd2\xad\x49\x17\x5c\x63\x87\x33\x1d\x62\xf9\xc6\x96\x27\xc0\xaa\x62\xc9\xed\xba\x8f\xdb\xe2\x9f\xd2\x15\x9f\x26\x27\x95\xa1\xd2\x57\xb1\x37\x5e\xd9\x87\x25\x3a\x75\x55\x81\xd3\x99\x03\xc2\x6e\xbd\x4c\x12\x6c\xf2\x6d\xa9\x0d\xcd\x41\xac\xaf\x37\x20\xe4\x3d\xac\xd9\xf4\xb2\x8d\xf1\x52\xa2\x37\x34\x95\x05\x33\x4d\xf1\xc6\x67\x2a\xb3\xf0\xe7\x39\x6b\xf9\x95\xe6\xf9\x6a\x56\x30\xfa\x4e\x96\xea\x90\xe7\x3e\xd6\x26\x2b\xd7\x0e\x9a\x14\x8c\xec\xd5\x96\xea\x6b\x6b\x68\x0f\x42\x06\x80\xb0\xa0\x40\xc8\x95\x8d\xa2\x99\xa3\x1d\xa0\xda\xb6\x8a\xa8\xfb\x06\x59\x2a\x6d\xe0\x4c\x71\x44\xc7\x4b\x88\x66\x73\x3a\x9e\xe0\x30\x70\x16\x74\xfc\xa4\xb4\x69\x93\x74\xb2\x10\x59\x88\xf5\xce\x33\x70\x03\xf5\xf8\x62\xf1\xbb\x65\x63\x33\xa1\x87\x0e\xb7\xa3\x95\xf7\xa2\x01\x76\xb5\xdb\x29\xe0\xf4\xfd\x8f\x47\x8b\xb3\x67\xc1\x51\x4d\x01\x27\x0e\x62\x7f\x4b\xfb\x5a\x5e\xf6\xc1\xb9\xef\x5c\x82\xd9\xe0\x3b\x9b\xfa\xc0\x2f\xdc\x26\x9d\x68\x75\xf5\x09\x41\xb3\xc8\xa1\x60\x46\x98\xf6\x4d\xd2\x38\x0e\x91\x29\x9c\x41\xeb\xc4\xfc\x48\xdf\x33\x65\xf9\xca\x34\x66\xef\x2b\xa1\xc4\x84\x05\x88\xe3\xd7\x02\x7f\x7a\x01\x3e\x8a\x41\x15\xe4\x00\xff\xa8\xf5\x40\x5b\xa4\xc1\x39\x5e\x8a\x95\xe8\x39\xfe\x1c\x24\xc0\x67\x4a\x9e\xe7\x08\x74\x0e\xe2\x39\xf3\x55\x3c\x87\x11\x71\x70\x14\x56\xc3\x97\x4a\xdb\x77\xb3\x9b\xde\xa6\x80\x43\xdb\x7e\xc1\xb7\x56\xb1\x61\x38\x8b\xc9\xf8\x51\x1f\x2b\x8f\xd6\xc6\x38\x4e\x60\x0c\xa3\xc0\xe6\x4c\x62\x42\x1f\xd1\x9b\x12\x45\x7f\xb3\x76\xfe\xad\xef\x09\xaa\xd1\x5d\xc0\xb7\xa7\x96\x83\x6f\xa6\x25\x14\xce\xbf\x20\x08\xc6\x14\xcc\xc6\x53\x04\xc3\x40\x43\x5a\x53\x18\x2d\xf9\x09\xb8\x46\x59\x60\x2f\xab\xc2\xa2\x97\x60\x96\x99\x51\x44\x33\xf2\xeb\x4d\x27\xdf\xb6\x63\x45\xa5\x24\x6f\xc3\x4a\x32\x9d\x31\xe5\xbe\x51\xc6\x72\xa8\x5b\x7f\x27\x62\x01\xfb\x5a\xe1\x98\x61\x56\x94\x26\x93\x40\x18\xe2\x25\x77\x66\x89\x1c\x3f\x07\x38\x3c\xf0\xc1\x41\x11\xc5\x4e\x88\x67\xc8\x07\xa1\xe3\xcf\xd3\xe8\xba\xf2\xf9\xa8\xc8\x0f\x29\x3a\x48\x11\x0f\x88\x19\xc7\xc8\xbf\xd6\x31\xb3\x39\xac\x90\xeb\xb9\x6c\x46\xbe\x65\xd3\xcb\x81\x91\xa3\x59\x08\x45\x48\x89\x7b\x95\xa7\x3c\x6a\x55\x72\xbc\xbc\x04\x8c\x9c\x32\x63\xed\x0c\x43\xe2\x52\xe7\x9a\x3b\x0d\xc4\x2c\x25\xb4\x4a\x1a\x5e\x72\x67\x1f\x27\xd5\x1c\x10\x27\xc2\xda\x3c\x39\x62\x83\x0b\x9c\x15\xa4\x5d\x63\x90\xa2\xbb\xa2\xad\x6c\x4d\x39\x59\xaf\xf8\x48\xa5\x8e\xcb\xb6\x75\x93\xbf\x7e\x7b\xf6\x68\x76\x8e\x80\x59\x37\x01\x5d\x61\xbb\x4a\xe3\x71\x82\x71\x9c\x20\x76\xfe\xaa\x68\x2c\xee\x1a\xa8\x20\xf5\x42\x2c\x8d\x43\x0c\x82\xec\xd8\x3b\x9e\xa2\x10\x92\xe6\xa3\x51\x19\xa7\xb5\xb6\x09\x23\x9b\x2b\x13\x5a\x1b\xa3\x6b\x7d\x78\xe0\x9c\xe4\x25\xf1\xdb\x4f\x09\xf6\xc5\x3a\x5a\x6c\x88\x79\x71\x9e\x27\x75\xc5\x79\xaa\xd0\xff\x15\x60\xa1\x42\xdf\x6d\x67\xaa\x1a\xa3\x68\x17\x99\x28\x69\x7f\xab\x20\xab\x22\xd5\x53\x2b\x85\x93\xab\x97\x30\x0a\x78\x6d\x2b\x4e\xbb\x03\xee\x31\xf4\x0f\x72\xee\x27\x07\x6e\x45\x23\xc5\xc9\xec\x95\x08\x6e\x3c\xc8\x37\x7f\x0b\xd4\x2e\x6d\x33\x13\xef\x30\xd2\x44\xd2\x7e\xd1\x21\x7e\x76\x9d\x65\x67\xa7\x1e\x06\x99\xe7\xd8\x22\xb6\xa3\x1d\x61\x4a\x6c\x6d\x06\x14\xe4\x32\xda\x53\xfd\x66\x31\xc7\xcb\x33\xe1\x28\x2d\x52\xdc\x44\xcb\x0d\xa1\x7e\x05\x2d\xee\x74\x3b\x9f\x54\x77\xdf\xb9\xfd\x8b\x36\x70\x99\x4d\x9f\x33\xa5\xdf\x0a\x9d\x4b\x3a\xa9\x73\x55\x5c\x1a\xc2\x7c\x1c\x4d\x51\xb2\x38\x05\xd2\x13\x24\xa7\x5d\x82\xf2\x91\x39\x5e\x96\xca\x2f\xa9\xf0\xaa\x13\x6d\xbf\x54\x81\x0a\x5c\x24\x2b\x3d\x48\xe1\x51\xe4\x13\xdf\x5c\x1d\x27\x0b\x76\x90\x81\x3c\xcd\x71\x03\x5d\x82\xae\xf4\x63\xa9\xb8\x54\xe8\xbc\x61\x01\xbf\xb0\x25\xf9\xa0\xea\x4c\x69\xdf\x5e\x53\xa1\x51\x16\xb0\xed\x6b\x33\xf0\x6f\xc9\x93\x1f\x17\x66\xe7\x41\x4b\x01\x96\xca\x4e\xf7\x36\x43\xf8\xae\x17\x8b\xeb\x42\x83\xaf\x21\x8a\xeb\xc5\x27\xa1\x20\xa1\x63\x92\x07\x21\x36\x8a\x46\x19\xac\xf8\x23\xfa\x05\x24\x41\x09\x33\xbb\x49\x1e\xb6\x7d\xbf\xe2\x73\xeb\xe2\x63\xf7\x0b\x75\x10\x1f\x38\x17\x2f\x4f\x2f\x5f\x7d\xff\xa6\xb3\x4d\x60\x1d\x55\xca\x56\x9b\xaa\x2d\x75\x58\x53\x48\xa9\x64\xa8\xa8\x2b\x44\xa8\xc4\xa5\x02\xad\x56\xb5\xd4\xb2\x1a\x6a\x14\xcb\x6a\x68\x59\x31\xb5\x62\xf1\xb5\x42\x19\x35\x55\x5b\xad\x18\x39\xa5\xd7\x51\xcb\xaa\xc9\x6d\xbd\xa8\x5a\xa9\x52\x5a\xa9\x8e\x5a\xb9\x70\x9a\x1c\xb6\xb1\x90\x5a\x81\x75\xb3\xdf\xc5\x32\x6d\xc5\x32\x6a\xf2\x8d\x32\xda\xba\x65\x65\xb5\x1e\x15\xd3\xca\x45\xfb\x3e\x57\x57\x5b\xb7\xba\x9a\x75\xf1\xd5\xe1\x8f\x9b\xeb\x48\xda\x1a\xc9\xba\xae\x58\x1d\x4a\xa6\xf6\x3c\x98\xb6\x10\x9d\xa9\x64\xe7\xe8\xba\x8b\xc5\xcb\x30\x12\x55\xa0\xcc\x5c\x8d\xcc\x89\x70\x24\xcc\x0e\x60\x12\x76\x47\xee\xbe\xc1\x14\x8e\x27\xf8\xa3\xf1\x74\x5a\xb2\xe4\xb1\x67\x2f\xe7\x80\x5b\x1f\x7b\x97\xe8\xca\xcc\xd1\x09\x5e\xc4\x0d\x71\x97\xda\xb6\xa1\xc9\x45\x76\xc6\x15\xf4\x6c\x38\x06\x36\xef\x9b\x4d\x87\xb0\x3a\xe3\x49\x07\xc7\x65\x16\x6e\x24\x4d\x82\x26\xd3\x88\x31\x56\xa7\x76\x31\xfd\x80\x99\xc6\x7f\xa4\xad\xa0\xbf\x41\xe2\x39\x94\xcf\xc4\x17\xda\x60\xff\xf5\xcf\x7f\xfd\x73\xa8\x20\xa9\xc1\xfa\xfd\x50\x0f\x09\xc5\xd4\x49\x20\x08\x0d\xbe\xa1\xa1\x74\x98\xc6\x49\x06\x85\x2c\x0c\xc1\xca\x59\x48\xe5\x14\xc2\x60\x02\xfc\xeb\x2f\xda\x7b\x50\x3a\x6f\x0e\x23\x3c\xac\x8b\xd4\x7e\x16\xee\xb7\x22\xdc\x5b\x6a\x85\xf6\x9a\x11\x93\x62\x0c\x82\x20\x9b\x86\x4c\x2d\x56\xea\x70\xa6\xfc\x56\xf5\x62\x71\x85\x53\x57\xe6\xb0\x34\x15\x17\x96\x06\x87\x09\x9c\xe2\x24\xd7\x6f\x5f\x45\x04\x26\x54\x4b\xe8\x32\xea\xa8\xe5\x62\xbe\x6d\x3a\xab\xea\x59\x0e\x9d\xa9\x3a\xd8\xa5\xda\xaf\xda\x50\x0b\x7d\x7c\x2d\x82\x36\xd5\xfd\x08\x2a\xce\x3c\xc7\x3e\xc8\x8b\x22\x34\x2b\x60\xa5\x51\x77\xd1\xbd\x36\x67\x9e\x90\xbb\x7c\x6e\x9b\xb8\xd7\xc7\x36\x91\xc0\x1b\x44\xc4\xb8\xb7\x6c\x9c\x78\x70\xf0\xfe\xf1\xcb\xf3\xa7\xcb\x75\x22\x1b\x75\x27\x6d\xdd\x4a\x9b\x03\xf2\x4e\x0e\x72\x3d\x35\x2b\xc1\xcb\xce\xda\x13\x2f\xb7\xf2\xb0\x8f\x04\xb3\x0c\xab\x77\x75\x97\xee\x58\xb8\x52\x35\xdb\x22\x98\xbd\x11\xa1\x7e\xa5\x98\x19\x37\xe7\x77\x17\x73\x83\xe3\x0f\x6c\x02\xdf\x02\x3a\xcf\xae\x9c\x83\x09\x0c\xf9\x95\x2b\x91\x61\x1f\xf1\x23\xb2\x20\x65\xe6\x35\x56\x67\xbe\x9c\xc2\x8d\x87\x27\xde\x41\x35\x1f\x79\x34\x20\x77\x35\xc9\xa8\xbc\x3e\xaa\x5b\xbb\x04\xdf\xdc\xec\x3a\xc5\x85\xd4\x63\xae\x03\x34\x9d\x1a\xa2\x98\x8c\xbc\x7c\x86\x64\x24\xdf\x10\xce\x89\xe6\x32\xdb\x26\x3e\x3b\x14\xbd\x75\xaf\x3c\x9a\xa4\x6d\xf9\x08\x03\x58\xe6\x3b\xed\xd1\x76\x79\x71\x43\xd8\x14\xeb\xb9\x65\x2d\x71\x30\x6c\xa2\x4d\xd9\x95\x9b\x40\x42\x71\x02\xc7\x73\xc4\xfe\x5d\x8d\xad\x53\x2b\x1b\x80\xbb\x0f\x4b\xc0\xdd\xee\xbf\x65\x76\xbb\x04\x87\x21\xd3\x97\xc7\xd5\xa7\x9b\x00\xb9\xdf\x89\x5e\x3a\x14\x8b\x1c\xed\x1b\x98\x90\xb6\x3c\x9f\x35\x0d\xa1\x16\x6e\xf0\x96\x51\x0d\x98\xe4\xd8\x6a\x6a\xed\x9d\xea\x68\xd7\x72\x6b\xc2\xa3\x5d\x33\x95\xd8\x4a\x35\xaf\x0a\xa7\xa9\x1d\x16\xc0\xee\x43\xad\x69\x8f\x85\x66\xac\xbc\x55\x6c\x8e\x1d\x36\xc9\x19\x13\x2a\xe9\xde\x8c\x14\x60\xe9\xb0\x5c\x33\xa9\x69\x9d\x53\xbb\xbb\xd9\xd4\xa6\x0e\x5d\xeb\x91\xe0\xf4\x4e\x2e\xbd\x2e\x99\x4d\x92\xeb\xd6\x9a\xb6\x35\xa5\x4b\x27\x10\x6a\xab\x80\xb7\x1c\x4c\x2b\xd3\xbb\x9c\x05\x08\x2c\xaa\x18\xf0\x07\x86\x3f\x8b\xa8\x6e\xf4\x73\x94\xa2\x5f\x18\x87\xd2\x34\xbe\x85\x58\xf4\x93\x27\xef\x3f\x5e\x3f\x7d\xb6\x5e\x7a\x55\x38\xfe\xba\xb2\x62\x5d\x43\x8c\xe8\x39\xa4\x3f\x7d\x49\x1c\x3e\x56\x21\x07\xd1\x2f\xe6\xb4\x02\xf6\xa6\x1e\x8d\x7c\x06\x28\x98\x00\x02\x9f\x17\x5c\xe8\x0b\x1c\xc0\x90\xc9\xfd\x49\xd9\x73\xde\x14\x56\x7d\x54\x82\x85\x6b\xb0\xe5\x10\x19\x48\xc8\x0e\xc1\xe2\x14\x20\x83\x11\x4d\x06\x9d\x35\x34\x17\xd7\x0c\xef\x77\x09\xc1\xa2\x61\x89\xf5\xcb\x92\xe2\xc3\x40\x14\xaa\x04\x24\x3d\x09\x4a\x11\x34\xab\xf2\x68\x48\x85\x7a\xb9\x88\xe9\x8a\xbf\x5c\x93\x10\x55\x9b\x06\xe5\xb6\x43\xa3\xb8\xfd\xf3\x70\x7e\x9c\x03\xce\x5d\x3c\xaf\x80\x26\x68\x02\x1d\x1f\x84\x21\x0c\x8c\x7b\x56\xb7\xc3\xd1\x1a\x79\x55\x20\x58\xa0\xe8\x5b\x94\x10\x5a\x4a\x81\x2b\x5c\x6b\x9e\xe1\x4e\x73\x5b\xfa\xa0\x79\x82\xa7\xf9\xc7\xeb\x27\x39\x6b\x64\xf7\x26\xda\x09\xb0\x13\x43\x1c\x87\x62\x92\xd9\xa4\xef\xc0\x34\x9f\x83\xca\x2c\xeb\x97\x86\x9e\xe4\xac\x6d\xf3\x1c\x87\xa0\x7d\x8a\x55\x13\xbb\x35\xc3\x7f\xc2\x4b\xee\x71\x98\xe1\x1b\x98\x44\x5c\x59\x4e\xe0\x14\x26\x3c\x35\x68\x85\xd3\xdb\x9f\xe9\x97\x0b\x80\x74\x49\x9d\xfd\x1e\x7a\x8e\x45\xc3\x9e\x0b\xc5\xbf\xc5\x19\x16\x17\x1b\xa6\x97\xbf\xbd\x5b\x73\xfb\x06\x3b\x24\x06\x8b\x7d\xe7\xe5\x0d\x4c\xf6\x6f\x7f\x26\xdf\x02\x42\x96\x38\x29\x20\x8b\x68\x97\x86\x9e\xcf\xac\x6d\xa6\x9a\xaa\x3f\x8b\xb3\x9a\x5d\x6f\x98\x58\xd5\xcc\x6e\xcd\xed\x05\x5e\x40\xca\xb1\x6d\xd9\x69\xd2\x07\x91\x93\xc0\x05\x64\xfa\xa7\xb3\x44\x74\x8e\x53\xea\x2c\x13\x51\xab\x1e\x51\x43\xb9\x9a\xd6\xf9\xb7\x4b\x32\xe9\x93\x44\x42\xf4\x14\x12\x69\xe8\x13\x5f\x3b\x97\x8c\x53\xab\x5a\xd6\x65\x99\x0c\x98\x62\x92\x9d\x10\x3a\x1f\x30\x38\x80\xf1\x58\xd6\x46\xda\xf6\xe9\xe2\xf5\xc5\xb7\x4f\xfc\xef\xfe\x72\xb6\xce\xe9\x42\x1f\x40\xcd\x19\xc3\x32\xee\x5a\xce\xea\x2c\x5c\xc5\xdc\xa6\xdf\x74\x56\x88\x4b\x2f\x2d\x20\x21\x22\x3e\xca\x8c\x7a\x3b\xf4\xac\x6b\xa3\xee\x3c\xe5\xc2\x9b\x98\xc7\x0f\xf2\xf4\xd6\xad\xcf\xfd\x5f\x7e\x00\xfe\xe3\xf8\x1b\x5a\x93\xe5\x6c\x9d\xe4\x3c\x07\x64\xae\x12\x74\x07\x49\x88\x95\xaf\x86\x28\xba\x1e\x53\xec\x72\x6f\x2b\xc7\xf7\x16\xc2\xf6\x1f\x29\x4c\x56\x63\x6e\x36\x20\xb9\x64\x9f\x4a\x60\xf3\x0c\xd7\xf8\x4a\x66\x68\x7c\xd0\x04\xbc\xec\xaa\x29\xb0\x37\x4b\xd4\xc8\xe4\x6e\x77\x7f\xfa\x91\x1e\x5d\x3f\x04\x93\x99\x18\x65\x5d\x6e\x93\x20\xe3\x5b\x67\x37\xf0\x92\xa2\xd7\xff\x75\xfe\x8b\x99\xdd\x34\xc3\xb0\x7d\xde\x5a\x01\x6a\xbb\x2c\x20\x1a\x60\xd6\xdb\x39\x55\x7b\xb4\x6b\x2e\x93\xbb\x49\x2c\xf5\x62\x19\xf6\x8c\x2f\xda\x32\x93\xa2\xea\x92\x52\xef\xee\x4b\x07\x80\x8c\x4e\xe0\x14\xf5\xb2\x74\x1b\xfd\x1a\x09\xd3\x99\x1e\x83\x5b\x4c\xc9\x91\x77\xad\xbd\x7e\xf5\xfa\x62\x0d\x54\x7b\xa3\x01\xc9\xae\xe5\x7e\x98\xe9\x86\xe6\x33\xbb\x8e\x49\x8e\x2b\x89\x94\xa1\x5c\x4a\xd9\xa8\x3e\x26\x64\xa5\x31\x36\xa3\x54\xbc\x35\xc2\x74\x0c\xff\xa1\x31\x48\x06\x30\x94\xcf\x0e\xdb\x3f\x29\x60\x64\xf6\xdc\xf3\xec\x36\xfb\xfb\xa6\x67\x25\xd7\x46\x4d\x6e\x41\xc7\x8f\x1c\xa5\xce\x2d\x41\xc2\x01\x54\x2c\x52\x29\x6b\x2d\xe0\xf9\x24\x64\x83\x93\xfa\x9c\x79\x27\xef\x59\x2e\xb1\xc6\x55\x2d\xa7\xe8\x24\x0b\xe6\x19\x80\x7f\x33\x20\xe3\x06\x5d\x96\xaf\xed\xac\x1e\x48\x79\xf5\xd6\xbb\xd8\xd7\x45\xec\xef\xa6\x8f\x29\xa0\xfe\x9f\xe5\x68\xd6\x0b\x6a\x1c\xa0\x13\x3f\x4b\x77\xd1\xcf\x93\x10\x44\x16\xf5\x03\xaa\xbe\xfb\x16\x9f\xfc\x5a\xf4\xad\x67\x09\xe0\x67\x28\x64\xbd\x73\x2c\x79\x4d\xa1\x7c\x13\x17\xab\xa8\x90\x66\x39\x4b\x20\x8c\x2c\x12\x2f\xab\xde\x72\x8a\x71\x48\x51\x5c\xb8\xc9\xc1\x36\x64\xe0\x1d\xc5\xd9\x3d\x95\x0c\xf8\x92\x2b\x0f\x0e\x20\x0e\xdb\xef\x1b\x78\x1d\x47\xe2\xd1\xba\x10\xcb\x75\x99\x03\x2d\x58\xeb\x3f\x43\xf9\x91\xb5\x13\x36\xad\x13\x5d\x35\xdc\x9c\xee\x21\x1e\x36\xa5\xa6\xee\x36\x83\xa8\x0a\x0d\x8d\x41\xb8\xec\xa1\x33\x4d\xd7\xb2\xe1\x90\x5e\x12\x04\x2f\x62\x90\xc0\x9f\x41\xc2\xa1\xce\xda\x59\xc0\x8e\x51\xd6\xe5\x15\xdb\x5a\xfb\xeb\x54\x94\xe8\xd8\x6b\x09\x53\xdf\xc8\x47\x09\x0c\xb6\xc5\x45\x39\xac\x79\x73\xba\x38\x7f\x6c\x1b\x9c\x64\x9d\x18\xbe\x4e\x84\x59\xb7\xd7\x2d\x20\x60\xec\x1a\x6c\x01\x24\x2a\x0f\x7a\xc3\x59\xe3\xf9\x6c\xb6\x27\x8d\x8b\xe9\xb7\x4f\x1d\xd7\x38\x65\xb3\x39\xe4\x4a\x95\xd0\x07\x13\xc2\x68\x46\xe7\x65\x8c\x33\x37\xb7\x65\xe5\x78\x43\x0a\x40\xba\x4f\xbe\x79\x69\x4b\x1a\x7a\x96\x78\x6d\x3e\x7d\x58\x5c\xe0\x8b\x19\x52\xa1\x33\xda\x14\x71\x49\x6f\x33\x41\xa5\x2d\xa1\xfb\xf4\x88\x08\x5e\x09\xa6\x34\xc5\xc9\x26\xe7\xa3\x62\x99\x1c\x12\xbc\x8a\x6d\xe8\x19\x7e\xed\x95\x04\x1f\x10\x51\xad\x1d\xe2\xfa\xeb\x35\x13\x36\x2d\x27\x41\xab\x96\xab\x0d\xab\x60\xab\xce\x06\xe4\x73\x86\xc9\x0d\xb0\x1f\xdc\x00\x25\x3c\xca\xdb\x3d\x09\x02\xad\x8a\xde\x0d\x02\xce\x03\xe7\xec\xfb\xd3\xf7\xaf\x5f\xbe\xb9\x34\xc4\x51\xf7\xce\x50\xc4\xfe\x35\x4e\xbb\xe4\xaa\xd8\x8e\xe4\x06\x11\x34\x41\x21\xa2\x2b\xd7\x73\x2f\x38\x4b\x69\x9b\xb1\x03\x12\xe8\xc4\x09\xbc\x81\x11\x55\x4e\x95\x69\x82\x17\x3c\xe0\x9a\x5d\x00\x51\xe0\xf8\x09\x04\xb4\x50\x4e\xb0\xd3\xc8\x37\x60\x47\x14\x26\xc0\xbe\x86\xc4\x0c\x49\x4b\x65\xf2\x6c\xdb\x92\x78\x9e\x7c\xf7\xfa\x97\xe8\xeb\x77\x66\x4b\xa2\x82\x7a\xdf\x26\x40\x67\x3d\x9a\xa6\x8e\x3f\x4f\x9c\x58\x56\x44\x48\xe0\xb8\x04\x50\x4f\xe7\x80\x72\x7f\xdc\x04\x3a\x88\x27\xf3\xc0\x40\x80\xe6\x81\x68\xe5\x04\xc6\xca\xa1\x26\xc3\x65\x96\xd8\xd4\x3f\x8b\x64\x31\x29\xa7\xac\x94\xb5\xa5\x3c\x64\x2c\xb7\xde\x64\x01\x49\x0d\x06\x34\x93\xeb\xa6\x8b\x01\xae\xd1\x32\x55\x93\xbd\xea\x76\x08\xdf\x14\x69\x68\x45\x63\x8c\x7d\x20\xa7\x88\xda\x6f\xea\x78\xfd\x21\xc1\x78\x3e\xe8\x37\xee\xee\x05\x87\x2e\xca\x1a\x54\x6f\x12\xd4\x17\x21\xea\xa0\x7a\x9a\x54\x4c\x4d\xde\x23\xc2\xc5\xf0\x49\xb0\x40\x51\x23\x9f\xff\xeb\x9f\xe2\xff\x6d\x56\x4b\x2d\x96\xc6\x19\x5e\x53\x2d\x40\x38\x98\xd5\x20\x35\x50\x7d\xc0\x7d\x6a\xcd\x55\xa5\x12\x97\x26\x25\x85\x33\xff\x4a\xd7\xf3\xc8\x80\x3b\x59\x69\x0f\x5a\x7b\x2b\xcb\x81\x41\xb7\xbd\x99\xad\xde\x2f\xfc\xb3\xef\xbf\xfb\x68\xde\xcc\x72\x5d\xc3\xe5\xe8\xa5\x43\xec\x6b\x43\x6d\x6d\xad\x38\xb2\xa6\x70\x5e\x1e\x9f\x82\x22\x26\xa9\x72\x11\x25\x63\x3f\x9a\x16\x03\xd7\x53\x9b\x6b\xe3\xd5\x8f\x29\x8f\x40\x72\x16\x49\x2d\x86\xb2\xdb\x21\x60\xb7\x0d\x91\x38\x82\xcb\x8c\xa7\x8a\xb5\x0c\xea\xa1\xf0\x25\x41\x57\x85\x7a\x4d\x11\x5c\xaa\xeb\x0d\x60\xc3\x75\x12\xd7\x3a\x20\xc7\xe8\xb2\xb1\xdc\x3e\x0c\x53\xd3\xb4\x47\x88\xc7\x9b\x82\x74\xda\x58\x94\x9f\xec\xc6\x40\x6c\x00\x5d\xf8\xa0\x08\x7d\xdc\xec\x01\xf6\x35\xaa\xaf\x89\x13\xc2\x4e\x7c\x4e\x25\x1f\xcf\x2d\x39\x1e\x78\x31\xf3\x00\xd1\xd7\x38\xe8\x6a\xd3\x2b\xaf\x37\xdb\x45\xc5\x51\x78\x3d\xf5\x71\xb9\xd9\x7f\xf8\xe0\x4e\xd2\xc9\x44\x62\xa8\x66\x38\xc9\x86\x7a\x79\x3e\x0e\xc7\xcf\x6a\x16\x53\xb9\x7b\xbd\x23\xe1\x4b\xa8\xde\x8c\x42\xf9\xca\xaa\x74\xbe\x50\x17\x4d\xdd\xd3\xa6\xb2\x1c\x6b\x67\x59\xb6\x6a\x08\xc7\x57\x2b\x5b\xae\x9c\x2e\x04\x35\x37\xa5\xc7\x36\x1f\x19\x09\x60\x59\x7e\xbc\x81\x9b\xa3\x29\xae\x7e\x42\x3f\xdb\x1a\xcd\x28\x4f\x75\xc7\x76\xe6\xd4\xae\xbc\x7a\x94\xcd\xa1\x86\xfb\x10\x94\xcd\x41\x85\x2f\xfc\xeb\xff\x65\x1f\x11\x0d\xa6\x44\x42\x35\xe8\x4f\xf1\x8b\x07\x7c\x13\x68\xb5\xff\xb7\x4f\x79\xad\x63\xb1\x3e\x01\xe7\xb1\x34\x99\x4b\x88\xed\x84\xc9\xda\x8d\x49\x84\xb5\xd3\xef\xec\x31\x72\xd8\xb1\x47\x26\xde\x95\x56\xe3\x36\x12\xf3\x3a\x75\xd5\x24\xef\x9a\x31\xc9\xd7\xf7\x72\x57\x8a\x96\x7e\xa5\x2d\xc8\x31\xe0\x23\x91\x3e\x96\x8a\x38\xbb\x6a\xf2\x28\x25\x60\xb5\x19\x97\x4b\xa6\x87\x80\x8c\xcc\x8d\xbe\x97\x13\xfe\xd8\xdb\x0c\x6d\xc1\x4c\xdd\x21\x5d\xbe\x04\xfa\x69\x82\x68\x03\x04\x53\xcd\x52\xee\x28\xea\x5a\x3d\x78\xeb\xb4\xb7\xb1\xf9\x7b\x07\xd5\x2e\xd0\xb8\x66\xb7\x33\x55\xb0\xde\x28\xb2\x5b\xd3\xa4\xaf\x4f\x73\xe5\xee\x16\xad\xa3\x71\xb5\x4a\x50\xec\xdb\x77\x91\x6e\x67\xd6\x7b\xa2\x67\xf7\x0c\xe1\xe9\xd2\xe0\xc3\x75\xc0\xd7\x34\x0c\xd9\x47\x19\x86\xac\x22\x4c\x9e\x3d\x53\xad\xb0\xd2\x0d\x67\xb6\xc7\xd1\x48\x94\xc9\x51\x0c\x2a\x19\x76\x53\xf8\x0f\x0d\x04\xba\x43\x45\xae\xb3\x6d\x8e\x2f\x8c\x46\x98\x87\xb6\xb6\x6d\xeb\x5a\x77\xb6\xc8\xa9\x19\x6d\x00\x75\xe8\xdf\xeb\xdf\x75\x75\xda\xbe\x65\xf7\x77\xb3\xe4\xfe\xe6\xbc\xf8\x17\x90\x3a\xd9\x4a\x38\x91\x5e\x7b\xa1\x0a\xd7\xba\xf2\xd5\xf3\xf2\xf1\x66\x2b\xf6\x77\x09\x88\xa8\x7a\xb2\xc5\x99\xdf\xe8\xcf\x5f\xce\x31\x77\x90\xdd\x20\xb8\xd4\x7c\xca\x4b\x44\xe7\x28\xab\x6a\x55\x51\x09\x5b\x45\xd6\x12\x05\x33\x48\x0b\xae\xfa\x46\x09\x55\x4d\x2b\xc0\xb1\x21\xb8\xd3\x6d\x30\x29\xbd\x2d\xe0\x02\x76\x8d\x38\xae\x49\x2c\x10\xbd\xe8\x99\x56\x50\xab\x38\x5c\x4a\xbd\x44\xcb\xa9\xe9\x0b\xba\x93\x27\x25\xd2\x24\x65\xaa\x55\x23\x96\x98\x6e\x24\x60\x63\x58\xce\x31\xef\x3e\xdf\x4d\x7a\x04\xb5\x17\x7a\x67\xaa\x6c\x57\xd1\xcd\xdb\x03\xdc\x36\x13\x60\x26\x92\xe6\x2d\x74\xa7\x7e\xb6\xa9\x46\x12\xbf\x0a\xcc\x89\x05\x2f\x6f\x60\xb2\xc2\x11\x7c\x4f\x60\xf2\x2a\xe8\x97\x56\x70\x9b\x93\xd0\x67\x1e\x42\x10\xcd\x52\x43\x15\xe7\xc6\x2f\x0c\x64\x3b\xb8\x53\x84\x8a\x61\x42\xda\x41\xb2\x3a\x90\xc9\xf6\x14\x20\xfe\x4f\xf8\x3b\xeb\xf3\x84\x2c\xa5\x8b\xce\xfa\x04\x2a\x97\x5b\x4a\xb8\x63\x07\xad\xc5\xf3\x6e\xc7\x7c\x6d\x27\x90\x1e\xb2\xb1\x8a\x65\x51\xa4\xde\x5b\xe1\x74\x64\xc1\x67\x5d\xa2\x4a\x6f\x3f\xbd\x64\x9d\x01\xb5\xbd\x5b\x09\x69\xb5\xd5\xc1\xec\x42\xd1\x06\x4d\xf3\xac\x78\xa3\xd7\x76\x6b\xcb\x42\xcc\xdb\xf7\x6a\x53\xf0\x97\x57\xe0\xf2\xcf\x68\x3d\xd4\xaa\xcd\xc6\x66\x7d\x27\x88\xe3\x48\xfd\x4d\xa2\xa8\xab\x32\x9c\x46\x8d\xdc\x58\xfa\xb7\x4d\xf1\xe9\x8b\x2d\x25\xa2\x0d\x6f\xa7\x0e\xbf\x70\xb1\x1a\xa0\x6b\xf8\x8d\x7e\x65\xf8\x5b\x21\x2f\xd4\x90\xe5\x67\x6f\xb7\xee\x7e\x61\x12\xf8\x01\xaa\x75\x12\x0c\xf0\xc6\xc2\x2e\x93\x21\x1a\xb7\x03\x19\x2b\x05\x5d\x6c\x3f\x20\x3f\xa8\x71\xc2\xb3\xc9\x24\xe3\x20\xc1\x31\x87\xe6\xd0\xe7\x84\x75\x51\x0f\x16\xd6\xf0\x8a\xcb\x8f\xb5\x22\x20\xd3\x8b\xfc\xd1\xcd\xe2\x44\x89\x23\x1d\x81\x50\x5b\x79\x56\x30\x51\x1b\x9b\x70\x15\xcf\x75\x8e\xae\x79\x81\xa1\xe6\xe4\x2e\x5e\xef\xd8\xb6\x3e\x4a\x85\x61\xd6\x2e\x79\x2d\xd7\x29\x2f\x28\x32\x96\xe5\x48\x4a\x6b\xcb\x73\x5f\xf2\x1a\x2b\xe2\xae\x03\x08\x1b\x16\x97\x75\x4c\xb7\xc9\x4a\x46\x28\x26\x51\xb5\x49\xda\x31\xae\xfb\x22\xd0\xc8\x2a\xf0\x74\x0e\x65\x9f\x3c\x07\xee\xcf\xf6\x9d\x33\x14\x08\x26\x98\xc3\x30\xe6\x70\x61\xce\x8f\x80\xe4\x97\xa6\x69\xf8\x82\x3f\xc4\x83\xac\x51\x14\x38\xcb\x39\xa0\xfc\x57\x04\x61\x50\x83\x22\xd7\xc6\x26\x0b\x3a\x7e\x3c\x9c\x09\xac\x47\xec\x25\xa4\x82\x7d\x14\xb5\xed\xad\x4f\xd8\x89\x30\x95\x15\xb7\xb9\x77\xdb\xa1\xd8\x61\xf3\xe7\x68\xc6\xd2\x7e\x56\xf2\xae\x46\xf2\x81\x0c\x88\xdd\x23\x76\x73\xf2\x09\xb0\x6f\xfb\x28\xa4\xcd\x90\xad\x93\x29\xbf\x5b\x88\xd6\x82\x8a\xc8\x35\x6b\xd2\x08\x77\xb6\x35\x45\xea\x4a\x72\x6f\x42\xc1\x95\x7a\xe9\xda\xfa\x6d\x21\x2f\x72\xdb\x3a\xee\xf4\x3d\xf9\xcb\x37\xc1\xe4\x2f\xe6\xc8\x4d\x79\x72\xd4\x02\x38\xb7\xab\xf6\xb6\x6e\xb3\x3c\x37\x25\x86\x09\x93\xd7\x8e\x96\xa0\xde\x92\xef\x57\xdf\x69\xf1\xf5\x69\x98\xa2\xc0\x59\xac\x0c\x61\x96\xf5\xaf\x27\x78\x59\x53\x1b\xac\x41\xd5\x6e\x5e\x36\x28\x9a\xe2\x6a\xf5\xfa\x12\x52\x85\xea\x66\x97\x48\xf9\x93\x20\x90\x25\x5b\x3a\xc5\x3c\x3a\xf0\x23\x22\x3c\x0d\x48\x86\x27\x55\x85\x4c\xa1\xf8\xd5\xed\x0e\xf2\x55\x74\x83\x28\xec\x3c\x4e\xf1\x9a\x13\xc1\x65\xcd\x28\x7b\x33\x98\x16\xf3\xe9\xf0\x32\x71\xe3\x04\x92\x18\x47\x04\xdd\xd4\xae\x92\xac\x9c\x5c\xc1\x0c\xcd\x03\xdc\x45\x13\x73\x7c\xc3\x34\xa3\x6c\x89\x8e\xc5\xcd\xc5\xc4\x1c\x23\xac\x9a\x65\x0b\xac\x59\xa9\xa4\x0d\x6e\xb5\xac\x15\xb7\x31\x4e\xa1\xf0\x18\x1f\x00\x0e\x65\x85\x93\x47\x95\x31\xb1\x09\x97\x60\x2c\xe5\xb3\x4b\x43\xb0\x5b\xc3\x27\xbe\x36\x7e\x42\x0f\xfd\xe3\x1a\x88\x86\xa7\x64\xe9\xe8\xda\x30\x8d\x9a\x09\xf2\x03\x82\xcb\x2e\xe4\x68\x6e\xed\x35\x88\x1a\xcd\xc3\x5d\xdb\xfb\x7e\x19\x09\x79\xd7\xa7\xb9\xd2\xd4\x9c\x26\x10\xb4\xb9\x26\xad\x1b\x6b\x48\x6c\xea\xda\x94\x8d\xcb\xd4\xba\x31\x85\x30\x31\x04\xbd\x70\xdc\x52\xd0\xcf\xba\xa9\x4b\xa5\xb8\x0c\xd4\xde\x49\x1c\x27\xf8\x06\x34\xf8\xc4\x3b\x35\x97\x63\x44\x0d\xd3\xde\x0f\xa2\xf8\x49\x17\x19\x50\x77\x8d\x7d\xb3\x1a\x4a\xe1\x1a\x3c\xa9\x7c\x37\xe8\xe3\x46\xb5\x90\x3d\xda\x53\x41\x99\x00\x11\x1e\x2f\x13\x10\x3b\xec\x5f\x14\xe4\xe2\xa9\xc5\x1b\xda\x62\x0f\x97\xae\x1a\x8a\x63\xb1\x75\xe7\x15\x2c\xfd\x34\x21\x38\x19\xc7\x18\x29\x5d\xa8\x1a\x31\x96\x59\x83\xe4\x5d\x90\x20\x30\x9e\x03\x12\xe3\x38\x8d\xd9\xa4\x25\x29\x2c\xdc\x83\x1f\x63\x10\x05\x90\x5b\xe1\x98\x3e\xdf\x36\x88\x9f\x7e\xa2\xce\x02\x27\xf0\xe7\x1b\x98\x50\x8b\x78\xe9\x5a\x32\x98\xd0\x46\x64\xe7\xc7\x0b\x18\xa5\x4e\xe1\xd7\x38\x84\x53\xaa\xf4\x16\xde\x71\x6e\xaa\x09\x61\x30\x59\x29\xa7\xb7\xb6\x75\x67\xef\xe6\x11\x6e\xca\xab\x63\x13\xe5\x26\xbb\x08\x6a\x3b\xc8\x6b\xd1\xcb\x9b\xf3\x04\x4e\x5d\xcf\xfd\x37\xb7\xc9\x75\xfe\x4d\x1a\x5e\xbf\xd5\xd2\xb7\x64\xaf\xae\x64\x5d\x2a\xcd\x0e\x9d\x80\x88\x9f\xe3\xdb\xc8\xb8\xe5\x6e\x2a\x14\x4c\xd5\xcf\x77\xf0\x06\x5f\x43\x9b\x8e\x1a\xf5\x3a\xb3\xf7\xed\xe1\x30\xbe\x7d\xd7\xce\x55\x3a\x09\x53\x38\x88\xab\xd4\x6e\x61\xbb\x3d\xbc\xfa\xf6\x4c\x60\x1a\xac\x8f\x43\x9c\xf0\x61\x6a\xdf\xd6\x3d\xa4\x0f\x6b\x3d\xa4\x2d\x43\x1d\xc2\x7b\x59\xec\x86\xc0\x9d\x2e\x27\x6a\x8c\x3a\xd3\x68\x8d\xb0\x87\x87\xdb\x0a\x7b\xb0\xe4\x4f\x5b\x80\xae\xcd\x44\x9e\x74\x8b\x78\xb0\x7f\xaa\x91\x57\xf9\x90\x3b\x30\xeb\x70\x11\x16\xd6\x73\x72\xab\xc1\x40\xf6\xb1\x15\x6b\x4f\x48\x67\x91\xd1\x2a\xd6\x37\x18\x54\x31\xb8\x70\x1a\x20\xb4\xc2\x56\x3a\xad\x1f\xe6\x5e\x56\x52\x9f\xe5\x4e\xa5\x8f\x99\x6a\xa8\xfc\x4a\xca\xf7\x9b\x85\xf3\x5d\xe5\x93\xc4\x35\x69\x71\x2e\x6e\xaa\x32\xfc\xd4\x73\x17\x29\x75\xcd\xef\x15\xe6\xb0\xe0\x39\xda\x46\xe7\xd5\x31\xbc\x7b\xf7\xb3\x37\x6f\x77\x00\xf2\xdc\xdf\xbd\xff\xea\xc5\x5b\xeb\xbe\x8a\xc2\x15\x20\x52\x5d\xfa\x5f\x7c\xf3\xd6\x07\x90\x17\xfb\xee\x3c\x82\x42\xad\xd6\x5b\x1c\x42\x06\x06\xd9\x67\x10\x25\x24\xc9\x5b\x1c\x86\xc4\x45\xed\x33\x88\x02\xa4\xea\x2d\x0e\x41\xd8\x92\x7a\x0d\x41\xbe\x7a\xeb\x43\x50\x36\xac\x9e\xc3\xd0\x5e\xbf\xf5\xa1\x08\xf3\x59\xdf\x91\xe4\x6f\xdf\xfa\x40\xce\x8b\xd8\xef\x9d\x87\xa2\xbf\x7f\xeb\x83\xf9\x41\x95\x4c\xee\x35\x94\xfc\xed\xae\x03\x69\xd3\xcd\x1e\x1a\x34\xbc\x8a\x16\x56\x6e\xc4\xec\xc4\xea\x07\xbc\xb2\xb6\xf3\xae\xab\xd7\xff\xe4\x87\x97\x75\x23\xa8\x71\xd4\x76\xf4\xed\xca\x12\xf4\xec\x9f\x45\x30\x7e\x6a\x3a\x2b\x35\xbd\xdc\xe0\x0c\x2f\xbc\x1c\x97\x5f\xcd\x1d\xe2\x3c\x56\xaa\x1c\xd2\xa7\x85\x0e\x3c\xaf\xd1\xb3\xdd\xba\x8c\x9f\xbc\x69\x5e\x4a\xa5\xcd\x8d\x15\xea\xf9\xa1\x4c\x67\x76\xfe\xe7\x7f\xff\x37\xf7\xc6\x2b\x9c\x2d\x99\xc4\xd4\x10\x7d\xda\xd8\xa6\x50\x64\x79\xab\x0b\xf1\x27\x3f\xa1\x92\x18\xfa\x94\x38\x78\x2a\x1d\xfe\xf0\xa3\x0f\x63\x2a\x12\x0c\x6d\xf2\x1d\x0b\xdf\xe0\xca\x66\xe1\x13\x51\xa0\x72\x15\x9b\xba\x6c\xba\xdc\xb2\xa2\xee\x16\x3b\x65\xd5\xc2\x87\xe3\xa8\xda\x90\x65\x8b\x79\x12\x9e\x3f\x3e\x51\xbe\xf8\x33\xd2\xf3\xe5\xba\x4d\x3a\x53\x6e\x79\x53\x30\xe0\xe5\xe0\x7a\x35\x22\x81\xf2\x58\x33\x92\x5f\x7a\x36\xc4\x11\x87\x39\x07\xb2\x3f\x32\x8c\x3a\x48\x97\x10\x46\x7d\x1b\x65\x2a\x97\xa0\x16\xfb\x63\xa0\x46\x33\x1f\xa0\x36\x0f\x1e\x27\xa2\x57\xa6\x81\x93\x05\x3a\x09\xb0\xd8\x02\x60\x68\xb7\xaf\x2a\x4f\x21\xff\x28\x10\x9a\x8b\x83\x13\x27\x81\x7f\x87\x3e\xcd\x9a\xf6\xe7\x20\x9a\x59\xb8\x27\x0b\x6d\x67\xda\x83\x14\x01\xc9\xb5\x96\x83\x09\x88\x73\x96\x80\x29\xf5\x9c\x73\x24\x3e\x79\x92\xf8\x73\x74\x03\xeb\x0a\x34\xd6\xc9\x46\xe9\x4b\xd4\xb9\xf7\x46\x5d\xc3\x53\xed\x8b\x7b\x13\x40\x60\x88\x22\x14\xcd\xea\x0c\xc6\x3d\x04\x8f\xc5\x46\xc8\x83\x73\x55\x30\x4a\x30\x4e\x09\x4c\x36\x93\x67\x5f\x2f\xc4\x7a\x26\xd9\xb7\x35\xd8\x9c\x61\xdf\xf6\x76\x25\xe8\x4c\xec\xb2\x2d\xb9\xf5\x6d\xad\x36\x27\xd6\xbb\xb5\x91\xd4\xb6\x50\x7d\x9e\x7b\x0d\x57\x63\x11\x22\xce\xcd\x92\x63\x55\x69\xae\x15\xad\xef\x82\x3f\x98\x05\x52\x13\x67\xb2\x72\xb2\x9a\xcd\x9e\xa3\x4a\xfb\x7a\x4e\xa1\x2e\xac\x68\xfe\x92\xef\x20\x2d\x41\xf8\xbc\x1f\xb5\xe1\xf7\xae\xc1\x2b\x2e\x4a\xe0\xc1\xe0\xbd\xc4\xbf\x1a\xa0\x96\x51\xad\xbe\x67\xdd\x02\xdf\xaf\x0f\xf5\x43\x83\x48\x32\x9b\xa6\x61\x68\x5d\xd2\xab\xf5\x0b\x0f\x6b\x41\xb5\xaa\x2d\x75\x0c\xbc\x75\x9b\xbc\xa7\x27\x41\x60\x4e\x8e\x36\xa1\x1c\x1a\x3a\xd1\x78\xdc\x1a\x28\xaf\xcd\x62\x9d\xb5\x41\x41\xd8\xd1\x6b\x10\xfc\x87\x10\x93\x01\x55\xc9\x6e\x12\x1d\xf1\xf0\xc5\xcf\x42\xbd\x56\xa8\xcb\xf8\xce\xf7\x2a\x6c\xfe\xa2\x45\xf1\x5f\x4f\xb6\x97\x70\x20\x78\xa9\x6c\x47\xcc\x91\x13\x42\x10\xf0\x2e\x00\x87\x2c\x30\xa6\x73\x07\x47\x13\x0c\x92\x00\x45\x33\x27\x4e\xb0\x5a\xb9\x8d\xca\x47\x77\xc0\x4c\x36\x5e\x41\x84\x36\x34\x5a\x0b\x3a\xb4\xa6\x28\x55\x94\xa5\x6a\x85\xec\x02\xe3\xc2\x0e\x35\xcf\x07\xdc\x45\xf3\x84\xc1\x42\x3f\xb2\x92\xe8\xf5\x9b\xa8\x48\x4d\x2a\xec\x90\xa2\x09\xd9\xf3\x96\x34\xa4\x02\x71\xfa\x24\x23\x9d\xe2\xc5\x02\x38\x04\x32\xd1\x4a\xa1\xb3\x48\x43\x8a\xe2\x10\x8a\x1e\x39\x20\x08\x12\x48\x48\x93\xaa\x6c\xe9\xa4\xdb\xc6\xe4\x2f\x48\x21\x38\x35\xaf\x61\x61\x39\xf9\x8c\x40\x20\x81\xa0\x34\xff\xe5\xc4\x51\x55\x3f\xab\xfa\xf1\xc2\x04\x66\xdf\x2f\x43\xae\x7a\xee\x93\x76\xd8\xd5\xe6\x95\xdb\x39\xd4\x78\xb3\xfb\xde\xb0\xf8\x47\x0d\xfb\x5f\x0f\xc5\xc5\xda\x6c\x58\x2f\xd8\xda\xe3\xfd\x37\xb5\x5d\x0f\x53\xa8\xbb\x21\x67\x68\xed\xfc\xa3\xec\xa1\xed\x67\x1f\x3d\xfb\x86\x4c\xff\x74\xf2\x6a\x69\xce\x3e\x92\x61\x80\x3b\x91\x67\x9f\x1b\x43\x54\xf9\x93\x38\x81\x82\x1e\xb9\xbd\x83\x9d\xa3\x1a\x0c\x55\xa6\xe3\x4e\x4e\xfc\xbb\x56\xed\x24\x80\xc4\x4f\x90\xac\x25\x75\xab\x15\x4f\xbe\x8f\x61\x94\x79\xeb\x7a\x97\xfd\x60\xad\xb4\xaf\xf6\xed\xd5\x4b\xaf\xae\xcf\xde\x2b\x9d\x6f\x72\x37\x08\x2e\xb7\xbf\xc2\xff\xfc\xe8\xf2\xab\xef\x96\x7f\x9f\x9a\x57\x38\xc7\x26\x75\xc5\x01\x64\xb0\x9a\xe9\x26\x3d\x85\x1b\x15\xc6\xbe\x80\x94\x73\xf4\x7c\x69\x55\x53\x2d\x68\xad\xa5\x56\x6f\x46\x75\xeb\x2c\xe2\x14\x4c\x22\x70\x93\x69\x8d\xc5\x9f\x32\x39\x10\x06\xce\x72\xfc\x95\x71\xf9\xba\xba\x79\xb1\x02\x96\x46\xc1\x84\xb5\x38\xbe\x81\x09\x45\x3e\x08\x4b\xb0\x69\x59\x84\xcd\x45\x7f\xe4\x34\xe5\x16\xf8\x96\xd3\x4f\x29\x6b\xc6\x3a\xeb\x57\x85\xb4\x64\x27\x0b\x93\xb5\xa2\x6d\x25\x66\xcd\x50\xe6\x5a\x2f\xd5\x51\x27\x2a\x0b\x71\x7c\x33\x9a\xbd\x9e\x60\x4c\xcf\xb0\x7f\x8a\xd3\x88\xdb\xac\x0e\x3b\x45\xec\x75\x9c\x86\x02\x3c\x9c\x61\x52\xc4\x0d\x36\x94\x5f\x60\x30\xe4\xe4\x14\x1a\x6e\x9b\xa4\xf7\xfa\xc3\xf9\x74\xf1\x13\xbb\x4e\xac\xc6\x69\xea\x59\xcc\xb3\xbb\x7d\x63\xe0\xd5\x5f\xbb\xda\x14\xc7\x6a\xe8\xb7\x35\x2c\x6b\x8a\x1c\xd5\x38\xae\xa6\x81\x23\x7b\xc6\xcb\x5b\x58\x27\x3c\xbc\xa1\x2f\x1d\x16\x41\xf7\xbe\x18\xde\x5e\x69\x94\xee\x16\x4e\xba\x05\x81\x6b\xd2\xcd\x7c\x0b\x89\x53\xb6\x5b\x0e\x24\x27\xd6\xc6\xbc\xac\x08\x07\xad\x38\x94\xa9\x4e\x7f\xae\xd7\x99\xea\x6c\xb0\xed\x4f\x4b\x7c\x38\x12\x32\x3d\x13\xa7\x5d\x44\xc4\x91\x57\x09\x4f\x31\xae\xff\xc7\xa6\x8d\x4c\x68\x44\xdd\x55\xe5\xca\x5c\x30\xd2\x0b\x6e\x28\x11\xde\x6a\x15\x1f\x66\x58\x4f\x52\x93\xc8\x27\xa4\x46\x03\x7f\xcc\xd8\x22\xba\x1e\x53\xcc\x54\x30\xa1\x97\xed\x2b\x0d\xcf\x28\xaa\x4b\xd7\x48\x98\xe6\xa5\xd6\xfe\x91\xc2\x64\x35\xe6\x64\x25\x1a\xf2\x0e\x98\x70\x9b\x46\x91\x6d\x79\x2d\x1c\x31\x78\x76\xb3\x62\xe7\x36\x54\x4d\xaa\x22\xdb\xca\x9d\x41\xb1\xc6\x39\x8a\xae\x25\xa4\x97\xca\xaf\xb2\x29\xde\x6c\xbb\x7b\x0c\xad\x48\x67\xea\x6f\x0f\x05\x3a\x99\x61\x3a\x8e\x01\x21\x4b\x9c\x04\xdb\x57\x9f\x9f\x2e\x10\x42\x7f\xf9\xeb\xa1\x35\x04\x9d\xb2\x06\xd7\x08\x06\x31\x20\x97\x33\x85\xc2\xe4\x12\x16\xe3\x12\xf7\x1a\x96\x20\x58\x5d\xce\x41\xd4\x52\x97\xd3\x91\xff\xab\xdf\x8d\x13\x48\x20\x1d\x53\xde\x94\x23\xc1\xe8\x27\x98\x52\xbc\xd0\xf0\xe8\xd9\x89\x9b\x3f\xb1\xef\x9c\xce\xa1\x7f\xed\xac\x70\x2a\x6d\xac\xfc\x94\x8d\x22\x42\x93\x54\xe0\x7d\xec\x5b\xf0\x55\xaf\x9e\xd6\x59\x37\x1d\xed\x7f\xf5\x76\x4d\x0b\x3b\x76\xb9\xa1\x26\x1c\xbc\x12\x04\x9e\x86\xaf\xc5\x26\xb1\x60\x7d\x96\x5f\xbe\xf2\xf2\xcb\x15\x88\xbb\x97\x8b\x98\xae\x78\x97\xfa\x02\xdd\x55\xed\x9f\xfa\x50\xaa\x83\x6c\xb0\x5e\x54\xe0\xab\x0c\x14\x1e\x24\x12\xb1\x64\xb8\x54\xac\xaf\x65\x87\x12\x48\xeb\xbb\x6f\x09\x9b\xd4\x38\xd2\xaa\xea\xa9\x5a\x2f\xee\x11\x20\xa5\xf3\xfd\x10\xcf\x78\x79\xb8\xba\xd5\x76\x1a\x22\xff\xda\x99\xc3\x04\x3a\x14\x3b\x04\xcd\x22\x07\x59\x80\x7e\x6e\xc9\x64\x59\x90\x9d\x9d\x65\x6f\x08\x56\x38\xa5\x07\x52\x34\x4c\x40\xb2\x7d\xe9\x1b\x9c\x9d\x5c\x9c\xfb\xef\xcc\x00\xa0\xee\x7d\xd9\x86\xad\xe5\x22\xc1\x4b\x27\xc2\xe3\x59\x4a\xd9\xb4\x38\xc1\x78\x1a\xc2\x8f\x32\x05\x8f\xd7\x53\xaf\x43\x0b\xaa\xe7\x27\x1f\x87\xaa\x9d\x32\xf2\x10\xa1\x20\xe9\xe8\x6d\x6d\x74\x24\xb8\xa5\xa4\x6d\x99\x97\x3d\xa7\x34\x26\xcf\x0f\x0e\xd4\x5c\xee\xfb\x78\xf1\x22\x81\xd3\x63\x30\x75\x4b\xe1\x85\xe8\x17\x58\xa8\x62\x0f\xe2\xf8\x35\xa4\x80\x09\xb5\x3c\x90\xba\xce\x8c\x58\x67\x99\x3b\x7a\xc4\xce\x54\x75\x7c\xdd\x97\x78\x30\x32\x62\xe3\x74\x23\x9d\x61\x0b\x9d\xe3\xe5\x8f\x00\xb5\x96\x78\xb7\x70\xfd\xc4\x09\x9e\x25\x4c\xe2\xa9\x3f\xc6\x4b\xf0\xff\xb3\xf7\x6d\xdb\x6d\x1b\x5b\x82\xef\xfe\x8a\x32\xce\x1a\x85\x6c\x81\x14\x29\x39\x4a\x2c\x9b\x4e\xcb\x92\x6c\x2b\x91\x65\x1d\x4b\x4e\x8e\x8f\xa3\xf1\x2a\x02\x45\xb2\x22\x10\xc5\x00\x05\xd1\xb2\xa5\xd7\xf9\x80\xe9\x87\x79\xe9\x87\x7e\x9d\xdf\xe8\xf9\x93\xfe\x92\x59\xa8\x0b\xae\x05\xa0\x00\x92\x92\x9c\xf6\x59\x67\xc5\x22\x2e\x85\xaa\xbd\x77\xed\x5b\xed\x0b\xa6\x00\xba\x78\x0a\x29\xb2\xc1\x08\xda\xe8\x50\xd9\x59\x32\x3b\x38\x9e\x46\x67\xf5\xbe\x67\x19\xa6\xb1\x01\x7d\x1f\x51\x7f\x03\x4f\xc7\x1b\xc3\xc0\xbf\x62\xc9\xa3\xdd\x31\x8e\x10\xda\x2c\x2a\x3d\x66\x42\x79\xa0\xec\x33\xaf\xfd\x0a\x80\x62\x13\x17\xc5\x40\xf9\x4c\xc8\x34\x05\x94\xff\xfa\xf7\x7f\x5b\x64\xda\xf1\xf9\xe0\xb2\x66\xde\x71\x09\xc5\x23\x6c\x41\xe6\xa9\x28\x98\xb8\xd0\xc6\xe3\x0e\xff\x9a\x69\xc5\x0b\xe5\x04\x2c\x47\x28\xe4\x98\x7a\x53\xb1\xc0\x73\x96\xd9\x71\x4f\x14\x1f\x72\xeb\xf2\xe1\xe0\xd1\xe6\x2f\xdb\x7f\x8c\x48\x5d\xf9\x90\x62\x5a\x4b\x05\xac\x02\x2c\xcb\x80\xb0\x8f\x6d\x74\x27\x12\xf8\xc2\x3e\x71\xdf\xbd\x7a\x77\xd5\x08\xc2\x2b\x82\xab\x00\xc6\x12\xe0\x7a\xfb\xf0\x3c\x7e\x6d\x5d\xf5\xed\xe1\xf8\x1e\xc1\xb3\x29\x1c\x29\x99\xdd\x8d\x56\xe8\x6f\x6e\x8d\x88\xf7\xe8\x5d\x41\xb3\x73\xec\x86\xfc\x9c\xfd\x57\x57\x43\xe4\x31\x4a\x62\x3d\x59\x2d\xc5\x41\xd0\x1b\xe1\x4f\x20\x53\x9d\xb2\x86\x96\x98\x56\x3c\xb3\x2f\x6a\xe4\x9b\x38\x2c\x53\x65\x5b\xe6\xab\x3c\x2e\x57\x11\x55\x6d\x73\xf8\xda\x80\xdd\x71\x43\x81\x6c\x87\xa3\x64\x6b\x17\xa8\x83\x44\xf2\x2e\x5e\xa6\x2a\xd7\xd0\x9e\x8b\x4f\x72\x32\x83\xca\x42\x55\x30\xa0\xa4\x74\x14\xa5\xee\x24\x47\x72\xc8\x98\x14\xeb\x53\xac\xf6\xc6\x7c\x82\x29\xea\x6c\x3f\xfa\xb4\xfd\xa8\x3b\x8b\xab\xe7\x69\x87\xd1\xaa\xeb\x55\xa4\x55\x6a\x64\x63\x79\x32\xcf\x02\xc4\x02\x97\xb7\x1a\xad\x5d\xa8\xa2\x14\x64\x55\x60\x2a\xf1\x7e\xf2\xbe\xd8\xb1\x0b\x43\xdd\x5c\x79\x33\xf2\x82\x1f\xb2\xcf\x9d\x8b\x23\xc8\xb8\x89\x32\x1b\x19\x44\xce\x71\xfe\xbb\xbc\x49\xd7\xe9\xc9\xee\xde\xc1\xa9\x96\x99\x5c\x81\x09\x1d\x65\x51\x07\x43\x2c\x84\x70\xe6\x61\xbf\xaa\x74\x54\x46\x07\x8d\xaa\x91\x5c\x62\x34\xdf\x87\xfe\x84\x45\x8f\x36\x6e\x79\xd2\x18\xc9\x4a\x3c\xdb\xf1\x7c\x9a\x61\x3a\x39\x40\x63\x64\xef\xee\x9d\x1d\xbe\x39\x6e\x84\xed\x45\x8c\x9a\x14\x66\x76\x5d\xe8\x5c\x51\x6c\xd5\xca\x67\x58\x21\x66\x60\x3c\x9f\x66\x98\x49\x0e\xd0\x1c\x33\xc7\xbb\x47\xef\xcf\x0e\xf7\x56\x8f\x9b\x6f\x8c\x6d\x79\x8c\x2d\x0f\x4b\xe1\x86\xd9\x5a\x24\xd4\xb5\x9e\x12\x31\x95\x7a\x84\x28\x18\xd8\x44\x1b\x28\xfe\xce\x04\x4e\x87\x81\x37\x8e\x4b\x55\x46\xea\x99\x0b\x2f\x3b\xb9\xbb\xb7\x59\xc8\xd2\xa8\x5b\x7a\x6b\x8a\xdc\xa0\x00\x05\x95\x11\xca\x1a\xc5\x2e\x53\x2b\x49\x56\xb6\x54\x83\xab\xc8\x37\x76\x2b\x4a\x8c\xce\x5e\xcd\x96\xa0\x54\xef\x32\xb1\x4f\xab\x5b\x6b\xdd\xba\x7a\x70\x9f\x16\x5f\x2e\x12\x17\x54\x56\xf4\x34\x0d\xad\x15\xed\x5a\x71\xbf\xa1\x25\xe0\x73\xe9\xd2\x5f\x4f\x74\xeb\x2d\x35\x31\x93\xc6\x8b\xd5\x16\x0d\x9a\xac\xbf\x44\x1c\xd4\xb0\x49\x8b\x92\x3b\x2b\xc5\x49\x13\x09\xc1\xcf\x22\x23\x23\x34\xfc\x0f\x2f\xa9\xdc\xcc\x1c\x55\x7d\x81\xba\xaa\x93\xe7\x3c\x3d\xf8\x32\xc5\x36\x1d\xe5\x91\xa8\xf4\xc8\xac\xcd\x02\x82\x28\x53\x39\xf5\x85\x4c\x3c\x87\x45\x54\x88\xaa\x08\xa0\x68\x4f\xc1\x80\x4e\x90\x4b\xb1\x05\x4b\xdb\x3b\xe6\x02\x48\x4f\x70\xbd\x56\xc5\x7a\x54\x20\xea\x6b\xc6\xc9\x02\x7a\x75\x6f\xf5\x71\x5e\xa6\xd6\x57\x4f\x4c\x60\x3f\xa1\xc8\xb0\xc4\xd0\x19\x76\xfd\x4e\xfa\x48\xfd\xf6\x0b\x72\x37\x25\x37\x0a\x4b\x3a\x0c\xe8\xe9\x37\x0d\x74\x9d\x4c\x61\xef\x28\x4b\x5b\xad\xff\xa8\xa0\x5c\x76\x34\x38\x81\x3e\x13\xad\xcd\x88\x34\xbb\x96\xc9\x76\xe1\x52\xd4\x35\x0e\x34\x32\x55\xfc\x25\x4c\x4f\x71\x8e\xac\x5d\xfc\xbb\xdf\x17\x34\x8a\xed\xb8\x3a\x3a\x0f\x95\x93\xd9\x1d\x7d\x4e\xe2\xa2\xac\x3a\x4e\x96\x51\xc7\x51\x0d\xf5\x82\xc8\xa8\x3f\x82\xe9\xec\x8c\x9c\xe0\x64\xf5\xf0\x74\x70\xe4\x26\x1f\x54\xb7\x8e\xef\x66\xb5\xc0\xcc\x91\x80\x8c\xda\xbc\x7d\x2a\x28\x68\x83\xa2\x22\x04\x7b\x39\x93\x5c\x2a\x2d\xf4\x75\x69\xa1\xdf\x80\x16\xfa\x79\x5a\xe8\xd7\xa3\x85\x7e\x6d\xe5\xa9\x26\x1b\xab\x29\x7c\x6b\x95\xa6\x68\x20\xe7\x96\x23\xe4\x2a\xa7\x34\xf6\xe0\x25\xa4\xd0\xe3\x52\x4e\x76\xa0\x40\x9f\xa8\x08\x28\x4c\xc9\xbd\x99\x47\x46\xd8\x41\xf7\x41\xea\x19\x89\x28\x98\x7c\x45\x69\x17\x53\x0c\x9d\x6c\x49\xf9\x22\xa9\xf1\xdb\x04\x52\xff\x38\x51\xc2\xb8\x59\x7f\x76\x05\x90\xe7\xe1\xc8\x1d\x17\xcd\x3b\x36\xa1\x79\xac\x37\x31\x87\xb0\xff\xd2\x21\x43\xe8\xec\xda\x53\xec\xea\xaa\x6e\xb1\x4d\x1c\xcc\x6c\x48\xd1\xee\x25\xc4\x0e\xef\x8a\xb5\x28\x87\x54\xac\x9a\x7f\xa3\x03\xe5\x47\xea\x2e\xbe\xfe\x0e\xd7\xdc\xde\x4b\x57\x51\xf2\x1b\xa2\x89\x2f\x59\x8c\xd2\xc4\x1c\x3d\x91\xaf\x2e\xe2\x4c\xc0\x7e\x05\x31\x55\x93\x7f\x7a\x41\x56\xe0\x53\xc2\x42\xd9\x64\xe3\xf1\x26\x6e\x92\x38\x55\x61\x01\xaf\x42\x85\x4c\xa8\xa0\x08\x1b\x5f\xe2\x84\x90\x2f\x4b\xaf\xbb\xa7\x3b\xb4\x08\x31\x0e\xb6\x90\xeb\x97\xd3\x5c\x3e\x14\x98\xb7\x6a\x20\x1e\x74\xc7\x45\xf6\xf0\x3b\x36\x7d\x00\x13\xf3\x5f\xbd\x9f\xa4\x4c\x23\xca\x2a\x3d\xa9\x2c\x96\xf4\x7a\x95\x61\xde\x09\xe9\x20\x7b\x55\x44\x6c\x5d\x91\xf9\xa1\x93\x59\x74\x3a\x21\x73\x39\xac\xe8\xad\x18\xb3\x8e\xf0\xc6\xef\xdf\xf9\xe0\xb8\xac\x47\x9d\xc6\x82\x13\x61\xa5\x7e\x37\x19\x5b\x2a\x9f\xa3\xd0\x1b\x23\x6a\x98\xc6\xc7\xa1\x03\xd9\xb9\x48\xb9\x06\x29\xe6\xf7\x0a\x39\xb3\x85\x26\xf6\x37\x2d\x5d\x35\xad\x55\xa4\x6a\x66\xf0\x5b\x72\xf6\x7f\x83\x43\x12\xd0\x8e\x5c\x61\x27\xff\xe8\x10\x5a\x17\xe1\x37\x0c\x1e\x42\x82\xad\xc4\x6a\x76\xc3\x97\x95\x0a\x7b\x82\x0a\x90\x1b\x52\xf2\x11\x19\xb3\x67\x97\xad\x24\x54\x73\x9b\x5a\x7b\x5c\x46\xbd\x8b\x75\xd5\x65\xbb\xd1\x2a\x57\xc0\x74\xab\xc8\x46\x43\x05\xaf\x13\x70\x71\x47\x8a\x78\x31\x4a\x58\x22\x42\xb9\x97\x11\xd4\x71\x33\x36\x71\xfd\x38\xc4\xba\xf8\x48\x72\x85\x1a\x1a\x9d\xfd\x6a\x26\x73\x54\xe1\x5f\x75\x39\xe7\xce\xd4\x4b\x79\x5e\xd0\xe1\xc9\xe7\x9b\xc7\x38\xb3\x7e\x62\x65\x7e\x25\x35\xe1\x34\xca\x14\xf1\x37\x01\xff\xe1\xd4\xa9\x0f\xa7\x31\xb8\xa8\xde\x92\xfc\x11\xbb\x3e\x1b\x94\x45\xb2\x64\x05\xa3\xaa\x12\x48\xb1\x5a\x6d\x24\xea\x1e\x95\xd5\x19\x29\x3c\x06\x48\x76\x33\xe2\x86\x27\xb6\x6d\xe4\x66\xcc\xce\xfa\x93\x11\xdf\xfd\x7f\xff\xa7\x98\x83\xd5\xa0\x6d\x0d\x64\x94\xd7\xeb\xd3\x18\xa0\xbc\xaa\x5e\x55\x20\xbd\x1d\x58\x34\xa4\xf4\x5c\xa4\x63\x01\xfb\x99\x6c\x1a\x5a\x0a\x4c\x49\xe5\xb1\x9e\x69\x84\x1f\xdc\x8b\x16\xce\x1b\xf9\x57\xbd\xaa\x5e\x82\x50\xbb\xaa\xed\xb1\x57\xf0\x12\x01\xe8\x02\x6c\x23\xf8\x13\x38\x0d\xc6\x63\xe4\xb3\xbc\x01\xe2\x81\x11\x42\x76\xa8\x3a\xfc\x04\x0a\x14\x99\x29\xc4\x0e\x25\x3b\x7e\x30\x9b\x11\x8f\xfe\x6b\x56\xc7\x12\x9f\x7e\x89\x28\xc0\x2e\xa0\x24\xb0\x26\x0f\xeb\x49\x40\xed\x9b\xe5\x77\x16\xa9\x7c\x56\xb5\xcb\x6f\xad\xe8\xe7\x62\xe2\xa3\x50\x9e\x28\xf8\x7c\x99\x3e\x79\x57\xcc\x9e\xff\x88\xaa\x2f\x2c\x97\xf3\xdf\x07\x66\x03\xa5\x1e\xde\xac\xba\x70\x14\xea\x51\xb9\xe3\x2b\xf2\xe8\x12\x31\x23\xc9\xca\x0d\x07\xfc\x72\xfd\x3d\x5b\x3a\xeb\x28\x69\x4f\xcb\x8f\xab\x95\xf4\xd7\x88\xb1\x94\x9b\x27\x84\xa6\x19\x5a\x85\x87\x4d\x27\xbd\x31\x31\x5a\xd1\xed\x3a\x76\xc2\xad\x06\x42\x55\x04\x55\xcc\xae\x74\x8b\x4f\xff\xfe\x3b\xfd\xcf\xff\x0b\x22\x7a\x3c\x74\xad\x2e\xd8\x75\x1c\xc0\xde\xf7\x81\x87\x7c\xe4\x5d\x22\xbb\xab\x77\x60\x51\x73\xa2\x09\xff\x8f\xf6\x39\xf9\xb0\x86\x69\x5a\xf4\x0a\x38\x63\xbd\x4d\xc8\x88\xce\xa1\x87\x40\x2b\x5a\x7e\x84\x13\xb9\xd7\xda\x00\xfb\x40\x4c\xd3\x06\x81\x6b\x23\xaf\x99\x13\x64\x67\x63\x63\x3e\x9f\x77\xc7\x6e\xd0\x25\xde\x78\x43\x0c\xe9\x6f\xc0\xf1\xcc\xe9\x6c\x75\x7b\x5d\xe4\x76\x27\x74\x9a\x2c\x34\xf0\xf2\xf8\x1d\xd8\x7d\x79\x72\x04\x2e\xb7\x34\xa0\xfc\xfb\xef\xf4\x3d\x09\x80\x05\x5d\x40\x66\x88\x55\x90\x25\x01\xf5\xb1\x8d\x00\x9d\x20\x3e\x90\x87\x7c\xea\x61\x1e\x27\x05\x86\x57\x60\x16\x78\xd6\x04\xfa\xd8\x1d\xc7\x14\x10\xc7\xa8\x49\x18\xb0\x56\x10\x64\x48\x21\xeb\x70\x00\x20\xb0\xc8\x74\x8a\x3c\x0b\x43\x47\x82\x66\x78\x55\x32\x2d\x96\xf0\x62\x51\xec\x8e\xeb\x83\x4e\x6a\x37\xd0\x41\x7e\x91\x6e\xa3\xbe\xb9\xdc\x83\x36\x4d\x9a\xff\xa6\x02\xd5\x53\x81\x4a\xbd\xae\xcb\xca\x51\x13\x01\x62\xb5\xf3\xd3\x44\x0d\xef\x0d\x7f\x02\x3d\xd4\x19\x89\x32\xd3\xb7\x9d\xa5\x76\x79\x76\xf8\x03\xfe\x74\xf6\x5c\xbb\x72\x8c\x82\xc4\xe2\x6a\xe4\x9d\x28\xfb\xcc\xc8\x15\xea\x28\x13\x28\x85\x2f\x55\xd4\x88\x21\xf3\x2c\x49\xeb\x68\x84\x32\x2a\xd0\x9f\xaa\x7b\x2a\x55\xbd\x2f\xd3\x5c\x0b\x3f\x9d\x1a\xa0\x20\xf9\x0b\xe0\xe9\xb8\xe3\x21\x7f\x46\x5c\x1f\x5f\x46\x76\x7b\x3e\x17\x2c\x7c\xb8\xc3\x7c\xf2\x45\x59\x60\xfa\x9a\xa8\x4f\xe1\x18\x75\xfa\x9a\x3a\x68\xd2\xe7\x77\x84\x98\xbd\xeb\x23\x0a\x82\x19\x2f\xb3\x03\x2d\x4b\xd4\xfe\x6b\xa8\x75\xe9\x97\x05\x4f\xe4\x61\x28\x2a\x83\xf3\x45\x75\xa2\x8e\x24\x89\xd1\x5e\x24\xaf\xe9\x29\x12\xbc\xa0\x4e\xd2\x58\x52\x7e\x20\xbc\x2b\xab\xec\x28\x17\x16\xd7\xc1\x49\x32\xc3\x64\x43\x2d\xbd\xf9\x34\xa9\xf5\x7e\x8c\xad\x8b\x70\xa2\xa1\x89\x4f\xe8\x04\x79\x73\x5c\xc6\x71\xf5\x74\xad\x5b\x43\xa4\xec\x27\x93\x24\x3f\xb8\x3c\x34\x26\x87\xbf\xd7\x58\x7c\xe7\x07\xd0\x71\xae\x80\x4b\x28\x53\xb2\xfc\x10\xa3\xd0\xe7\xbb\x6f\xa4\x4b\xd9\xcb\x40\x6b\x61\x31\xcc\xca\xb1\x52\x90\x77\x05\xd8\x94\x9a\x45\x5c\xd0\x59\x12\x71\x08\x98\xff\xfa\x5f\xff\x7b\xa1\x05\x66\x6f\xd6\xe5\x95\x9b\x9a\xbc\x32\xe5\x1d\x3c\x91\x85\xe0\xee\xc7\x8e\xda\x8c\x2b\xd3\x25\x94\xb0\x09\x21\x3e\x02\xba\x53\xad\xde\x58\xe9\xaf\x34\xdc\x58\xd9\x89\xae\x6e\x73\x3d\x17\x5d\xef\xb6\x99\xfd\xf1\x7d\x0f\x58\x13\xe8\x41\x4b\xa6\xbe\x6b\x78\x74\xef\x15\x66\x43\x78\x8e\xb0\x97\x34\x5c\xf6\xf8\x95\x95\xa0\x38\xf9\xb9\x7b\x8f\xea\xb7\xa8\x13\x7e\x93\xf3\x4d\x6b\x42\x7c\xe4\x82\x59\x8d\x2d\x7a\x2f\xb8\xe7\x66\x4d\xee\x79\x8a\xc7\x2e\x38\x74\xef\x9c\x81\xea\xb6\x53\x9b\x24\xb5\xd2\x13\x07\x41\x1f\x01\x5e\x04\x4b\x0b\x01\xb3\xcc\xd2\xb1\x3b\x0e\xf1\x0d\xb0\xdb\xed\x76\x9b\x2f\xb0\xe0\xcd\xdc\x3b\xc5\x35\x0d\x8d\xaa\x03\xdd\x65\x98\xa2\x2a\x5b\xb2\xb6\x41\x1a\xed\x6d\x56\x7a\xf3\xf6\x4d\xd1\x97\xbb\x7b\xa7\x3f\xa2\xcd\xa3\x45\x4c\x51\x16\x80\xd0\x91\xd5\x4d\x95\x06\x68\x45\xe9\x53\x4f\xd6\x76\xac\xa8\x7c\xba\x9a\xba\xa0\x91\xea\x33\x2f\x60\xdb\x8b\xd6\x02\x85\x01\x25\x21\xce\x1d\x44\x51\xaa\x34\x68\xa2\x78\x2d\xf3\x2a\xc7\x0c\xf2\x9c\x9d\x5a\x46\xd3\x61\xbf\x92\xb5\x6e\xf3\xe1\x64\xf2\xd9\xe5\xd7\x0c\x4d\xc0\xac\x51\x0f\x2c\xae\xf4\x40\xe0\x53\x8f\xb8\xe3\x02\x29\xd0\xb4\x40\xe9\x02\x08\x2f\x97\xd5\x05\x48\x5f\x05\xba\xf7\xa4\x5c\x3f\x37\x73\xd7\x34\x30\x2f\x1e\xbd\x77\x88\x17\x02\x25\x56\x03\x5c\x34\x8f\xb0\x0f\xe0\x18\x62\x77\x39\x34\x20\x2a\x15\x53\x32\xeb\xf4\x7b\x99\xba\xc5\x9b\xbd\x4a\xba\xb8\xeb\xf2\xb5\x49\x30\xcb\x38\x93\x4c\x3c\x29\xc3\x7a\xe0\x3a\x88\x5d\xe1\x98\x9f\x06\x3e\x7d\x0d\xa9\x35\xe1\x05\x59\x58\xd9\x85\xb8\x42\x85\x08\xa9\xf5\x90\x2d\x01\xe2\xa0\x11\x65\xe0\x38\xcf\x1b\x4d\x3e\x08\x47\x03\x53\x3e\x9c\x1e\x4e\xca\x84\xec\x72\x24\x6c\x5a\x38\xd6\x96\xad\x3c\xf7\x55\xfc\x13\x8e\x11\x38\xf4\x0e\x1a\x69\xbd\x1c\x5d\x5c\xbd\xde\x3d\xfd\x41\x5d\x93\x8c\x4f\xab\x59\xa7\x9d\x28\xb7\x57\xb3\xd8\xd8\x04\x41\x1b\xc7\xee\x4c\xd9\x53\x84\xcd\xe0\x64\xe2\x71\x2a\x56\x56\x79\x35\x8a\x2a\x7e\xa5\x1a\xef\xe4\x42\x15\x95\xb9\x69\x3c\x31\xed\xc3\x07\xe3\x02\xb1\x13\x0d\x91\x1c\xa6\xdf\xbd\x41\xf1\x79\xe5\xd7\x93\x55\x08\xc4\x73\x5d\x11\x4f\x11\x75\x71\x60\x6d\xe9\x44\x4d\xff\xc4\xa5\xd3\xa8\xa4\x7f\xd4\x51\x81\xbd\x9f\x7e\x54\x5e\x3d\xad\x6e\x00\x60\x05\x9e\x87\x5c\x7a\x02\xc7\xe1\xe7\x4c\xc3\x27\x81\xc7\x1b\xa5\x44\x99\x6f\x14\x4d\x0f\x93\xdd\x05\x18\x76\xff\x1e\x8e\xc6\x53\xe2\x32\x11\x9e\xbc\xe4\x8c\x4e\x4c\x67\x31\x41\x88\x2e\x63\xd5\xb6\x42\x3f\xb7\x66\xfd\x96\x2b\xfc\x3d\x11\x52\xc0\x16\xdf\xa8\xcf\x89\xca\x2e\x4d\x44\xe5\x15\x87\x3e\xfc\xe7\x7f\xfc\xe7\x7f\xa4\xd7\x10\xcf\x45\x33\x47\xb0\xd9\xc9\x61\xb9\xa1\x96\x6c\x94\xd3\x4f\x53\x9f\x56\xcb\xea\x92\xa1\x5d\x3c\x9b\x21\x9a\x1f\x1c\x7d\xb2\x90\x37\xa3\xda\xc3\x47\x7a\x2e\xeb\xd5\x20\x31\xdf\xa1\x70\x9c\xa0\x6c\x79\xf9\x2c\xbc\x9a\xa0\x67\xf6\x94\xaa\xc1\x6a\x9a\x4e\xc4\xc3\xb2\x45\x5c\xbd\x20\xf8\x52\x01\x3e\xa5\x9d\x2d\x20\xa5\xf8\x1c\x7a\xcc\x3c\x4d\x0b\x6d\x55\x9a\x45\xe9\x29\xea\xd9\xc1\xeb\x93\xa3\xdd\xb3\x03\x85\xb4\x5b\x20\xd1\xa4\x6a\xb4\xca\xbe\x2c\xfc\xd7\x32\x44\xae\x52\x66\x2e\x28\x79\xef\xa6\xbb\x9d\x77\xf4\x9a\xbc\x78\x3b\x55\xf7\xaf\x5c\x9e\x98\xad\xdf\xe2\x39\xd5\x78\x3f\xd9\xfd\x30\xa5\x56\x63\xd7\xc1\x8a\x76\x99\x8b\xb9\x39\x6b\x1a\xaf\x51\x2c\x5d\xa2\x27\xf3\xb9\x68\xd1\x23\x6d\x18\xde\xc0\x2b\x6f\x76\x4c\xbd\xce\x16\x10\x04\x30\x24\x9f\x0c\x33\x14\xf7\x4c\xd5\x34\x81\x64\x0d\xca\xe0\x32\x15\x3f\x5d\x70\xc9\x4b\xe9\xc4\x2f\xf1\x96\x70\x79\x29\x6a\xab\x14\xac\x41\x79\x41\xc7\x85\xa9\x3c\x0a\xa9\x78\xd9\x62\x5d\x59\xe2\x3f\x4b\x68\x29\x4d\x13\x6a\x6a\x48\xb4\x33\x31\x0d\x36\x20\xb7\xf2\xf8\xdf\x1c\xb7\x02\xd1\xfd\xd4\x14\x24\x75\x09\x73\x25\xb4\x2d\xf6\x89\x55\xde\x74\x3b\x6b\xaa\xab\x17\xd7\x51\x39\xe7\xe5\x14\x92\x92\x5f\x0a\x27\x10\x69\x3a\x95\xa8\xba\xcf\xf0\xdd\xac\x82\x6f\x14\xe5\xbe\x52\x18\x6f\xa6\x60\x9c\x88\xf2\xfd\xaa\x81\xbb\x55\x05\xdc\x33\x38\x5e\x31\x60\xb7\x52\x80\xa5\x70\x0c\x8a\x0e\x9b\xbf\x2a\xc8\x3e\xaa\x82\xec\x0b\x9e\x6a\xbe\x4a\xd0\x3e\x4a\x81\x16\x52\x0a\xad\x09\xe3\x0c\xda\x10\xce\x5e\x50\xe4\x85\x31\x37\x5b\x24\x28\x74\x1a\xe1\x09\x10\x17\xb8\x2a\x24\xc8\xa3\x0b\x91\x10\xe5\x9a\x36\xeb\x9f\x2a\xee\x45\x86\x63\x24\x91\x55\xaa\x77\x9d\xcc\x47\x23\x71\xca\x93\xb2\x1a\x43\x1d\xda\x86\xee\x18\x79\x60\x7a\x95\x3a\x65\x7b\x4f\x02\x4f\x48\x7d\x40\x91\x37\x05\xd8\x07\x94\x10\xe0\x4f\x88\xa7\x11\x27\xb8\x02\x1f\x52\x5e\x15\x6d\xa0\xcd\x32\x85\x60\x03\x62\x8f\xc2\xa1\x83\x36\xc2\x1d\xd0\x41\x36\xa6\xe4\x0e\x82\x07\xd1\xc8\x5b\x7f\x7e\xf4\x8f\xb7\x7a\x7a\xed\xa3\x90\xb6\xf8\xf4\x87\xd0\x8f\x67\x9d\xb5\xde\x0c\x69\xe6\xb1\x43\xe2\x31\xdb\xe0\xfe\x3e\xf6\xe8\x15\x8b\x35\xdc\x83\xae\xc5\x32\xd7\x88\xbb\x1b\xa5\x40\xa5\xdd\x3a\x09\x02\x14\x9a\xe2\x79\xe4\xe6\xe6\x49\xfd\x85\x4a\xb1\xfc\x52\xa4\x0d\x17\x6b\xcf\x62\x22\x1a\x4f\x46\xf3\x2c\x29\xca\xbb\x80\x6a\xa9\x62\x48\x9c\xe1\x48\x32\xe9\xa0\xe9\x10\xd9\x1d\x8b\xd8\x49\x1e\xbb\x2b\xee\x02\x76\x17\xc8\xbb\x2a\xee\x23\x78\x43\xb8\xdd\xa0\x87\x60\x8c\x34\xa9\x9f\x7b\x64\xee\x67\x39\x71\x52\x57\xcf\x1d\x45\xf0\x9f\x9e\x87\x2c\x2a\x7f\xc1\x19\xa6\xd0\xc1\x9f\x99\xd3\x7a\x86\x1c\x87\x31\xd2\x04\x7a\x21\x85\x6c\x27\x6e\x15\x2c\x2d\xab\xf7\x93\xc0\x47\xd4\x83\x33\x43\xd4\x46\x05\xe2\x29\x32\x1a\x65\xfe\x2b\xaa\xf2\x94\xd8\x01\x4d\x0f\x1e\xa0\x4f\x45\x88\x7c\x1e\xda\x20\xe1\x1e\xb9\xb3\x30\xe6\x32\x96\xb2\x24\xfe\xe4\x21\xd7\x46\xde\x5d\x84\x37\xcf\x1f\x8f\x5e\x4c\x66\x48\xdd\x7a\x47\xd3\xf2\x76\x89\xdb\x99\x79\xd8\xa5\xbc\xd4\x87\xc2\xf6\xee\x27\xb9\x8b\x69\xf0\x54\xb1\x4c\x76\xa7\x02\xa5\x2b\x42\x9d\x84\x76\x63\xe4\x25\xb8\xb3\x54\xcc\x6e\x1d\x71\x2e\x7c\x79\xf1\xf3\x8b\xdd\xd7\x0b\xf4\xd4\x4b\x95\x76\x13\x6b\x93\xcb\x32\xf8\x79\xc3\x8c\xfb\xc0\xb3\x3d\x79\x6b\x47\x9d\x97\xab\xbc\x16\x71\x3a\x3f\x82\xf4\x0c\x8c\x8a\x42\x8f\x6c\xd5\xaf\x19\x47\xd6\x68\xa3\xba\x9c\xb3\x69\xdd\xb8\x02\xc6\xe4\xab\x1c\x33\x21\x68\x3b\xd8\xee\x7c\xf9\xc2\x81\x7c\x73\x63\x24\x76\xc9\x19\xb7\x81\xcf\x55\x67\xc8\x21\xe5\x17\x1c\x20\x47\x1c\x1d\x24\x2f\x77\x9c\x31\x08\xa1\xda\x61\x96\x75\xf1\x29\x73\xd9\x4b\xb1\xac\x88\x8e\x2d\xb9\xc8\xe0\x3a\x79\xe9\xb9\x74\xf1\x39\xf1\xca\xf0\x92\x17\xc4\x29\xa4\x08\x69\x5c\x8a\x1b\xe1\x81\x2f\x40\x90\x61\x26\x5d\xf4\xc6\xa6\xf2\xb4\x7f\x1f\xf9\xd6\xfd\xc1\x94\x8d\x7c\xcb\xc3\x33\x91\x01\x59\x0f\x61\x75\xbb\x01\xdf\xee\x86\x4b\x9a\xb9\x75\x1c\xa2\x11\x7b\xfb\xef\xb3\xf3\x8a\x8b\xb4\xa8\x9f\xd7\xe1\xdd\x8f\xca\xfd\xb9\x2a\xe4\x3b\x04\xd2\x8e\x22\x49\x56\xc1\xe8\x03\xff\xaa\xce\x51\x93\x91\xcb\x2a\xd2\x68\xc7\x99\x72\x34\x87\x37\xb1\x6b\x63\x0b\x26\xe4\x50\x9d\xaa\xa0\xf9\x45\x08\xbf\xdb\x11\x76\x2f\x90\xf7\x5c\xf8\xb7\x6b\xaf\x49\x5d\x7e\x88\x79\xc5\x67\x1e\x9e\xca\xac\xc3\x32\xb9\xce\xce\xd9\x45\xc1\x21\x95\x8c\xef\xe7\xaa\x6e\x51\x42\x1c\x8a\x23\xc7\x02\xbb\xc9\xf6\x94\x30\x45\x29\x89\xee\x71\xc7\xad\x69\x1c\xba\x3e\xf2\x28\x10\x8d\x56\xca\x4b\xa0\x85\x20\xc9\x95\x3f\x3b\x12\x6f\x2e\x06\xf4\x99\x87\x2e\x31\x9a\x6b\x80\xbb\x88\xe7\x2c\x07\xe6\x62\x1e\x65\x60\x2f\x04\xd1\x09\x7f\xd7\x38\x4f\xc7\x81\x88\x21\xcf\x78\xc4\x73\x83\x63\x71\xcd\x4c\xbe\x3a\x87\x2e\xd2\x88\x4f\x1c\xba\xc0\xcb\x8a\x34\xd6\xf2\xaf\x92\x80\x86\xca\x75\x26\xa9\xb6\x0c\xd4\x16\x73\x39\x34\x82\xb4\xf4\x56\x24\x62\x0e\xa5\xff\xa2\x3a\xc2\xb9\x58\xcb\x51\x9a\xae\x9a\x7a\x73\x35\x29\x5a\xc4\x29\xd5\x9b\xf5\x08\xda\x82\xee\x25\xf4\x81\x47\x02\xd7\x46\xb6\x22\x1a\x5f\x29\x8f\x93\xcd\x57\x8b\xe5\x4d\xa1\x54\xc9\xee\x6f\x85\xc3\x56\x65\xab\x6c\xb3\x74\x58\x0b\xb2\xf8\x6b\x1b\xfb\x16\xf4\x6c\x5e\x9e\xa5\x93\x51\xcf\x70\x5c\xe3\x4b\x79\x74\xbb\x68\xf9\x96\x62\x78\x26\xcb\xb5\x64\xc7\x2a\xa9\xd2\x52\x35\x60\x79\x89\x96\xaa\xb7\xf3\xa5\xca\x39\xf0\xc0\xde\x04\xba\xe3\x6c\xe5\x7a\xed\x61\xcb\xcb\xbe\x18\xf9\xe4\x83\xf7\x24\x00\x13\x78\x89\xc0\x14\xda\x08\x58\xfc\xe3\x80\x12\x9e\xc1\xc7\x69\x19\x74\x58\x9b\x4e\xec\x06\x88\x69\x42\xd8\x1d\x03\xe2\x01\x81\x6e\xf9\xd2\x4f\x5a\x5b\x53\x7b\x25\x55\x25\x00\x0c\x9d\xd3\x69\x35\xcb\x6a\x5a\x07\x20\x03\x83\x4a\x5e\x5a\x3e\x37\x7e\x0c\x60\x44\x01\x10\x96\x83\xad\x8b\xd2\xf8\x07\x41\x22\xaa\x00\x88\xa2\x39\xef\xa7\x71\x54\x03\x45\x4d\x38\x84\x30\x0a\xe4\xae\xda\x90\x8d\xe7\x1d\xa6\x68\x69\xb9\xce\x59\x03\x72\x86\x8d\x70\xc5\x5c\x75\x91\xfa\x47\x7d\xaf\xb9\x6c\x69\x9e\x56\x6b\x8a\x21\x9c\xfa\x5e\x41\x88\xf7\x72\x7d\x61\x79\xe7\xd5\x32\xfc\x60\xb7\xef\x00\xfb\x63\x7b\x63\x7d\x74\x75\x71\xf6\xdf\xc3\x01\xa6\x63\x53\x69\x24\x4e\x2e\xdf\x90\xe6\xbe\x12\xa1\xf9\xa7\xe4\x2f\xfd\xda\x0d\xe9\xc2\x98\x3f\x45\xfb\x80\x83\xc8\x17\x74\x87\xce\xc8\xe5\x39\xbd\xbe\x79\xba\x8a\x4c\xa7\x6f\x5e\x92\x65\x79\x49\x56\x6e\x81\x0a\x5b\x99\x3f\x7b\x24\x0e\x7f\xcb\x83\xa9\xef\xb7\x4d\x2a\x16\xc4\x07\xd4\x58\xd0\x5f\xd7\x46\xfd\x0a\xcd\xd3\xb2\x28\xe2\x6f\xa6\xe8\x3d\x32\x45\xbf\xd9\x9e\xdf\x6c\xcf\x15\xe6\x6c\xe4\x4c\xa7\xc5\xcc\xaf\xbb\x0b\x1d\x39\xfe\x71\x64\xa3\xe9\xb0\x57\x3b\x74\x24\xdd\x52\x2e\xd4\x3a\x19\x81\x2a\xdd\x77\xe7\x19\x7a\x9a\x5f\xf9\x78\x7e\xa5\xe6\x80\x7d\xc9\x7f\x05\xa4\x64\x6e\x5b\xcc\x90\x25\xe4\x32\x9f\x12\xdc\xec\x2c\x24\xab\x10\xcb\x99\xa0\x9c\x28\xef\xed\x83\xb4\xf4\xa3\x13\x06\x6e\xf7\xab\xf3\xa6\x56\x15\xcc\x92\x42\x7b\x63\xe2\xb1\x88\x7d\xc7\xc1\x91\x1b\x47\x2f\xc7\xdb\xbf\xbe\x1b\x2e\x12\x1c\x19\x85\xdf\x68\x38\x7a\x28\x9e\xad\x22\x52\x32\xe4\x94\x16\xf6\x11\xb3\x22\x01\x9d\x40\x2a\xcc\x8f\x21\xf2\xd3\x41\x6c\x5f\x5b\x50\xa5\x54\xda\xc2\x45\x94\x38\x25\x4a\x06\xb8\x72\x29\xfc\xd4\xf1\x91\x83\xac\x72\x8f\x86\xd8\xba\x01\x16\x0f\x67\x2c\x58\xa9\x6e\xc4\x4b\x35\x08\xb3\xee\x7e\x0d\xa9\xee\x04\xd2\x49\x74\x85\xa9\xc5\xe2\x0a\x1f\x2b\x85\x57\x3e\xa5\x54\xee\x2e\xbb\xf2\x66\x16\x75\x2f\x2f\xcb\x07\x63\xcf\x72\x2d\x25\xb6\x39\xa7\x3c\x68\x92\x79\x11\x4c\x79\xde\x6b\x23\xfe\x70\x49\xa8\x7c\x89\x09\xe9\xd3\xab\xc2\x64\xdf\xee\x1e\xb1\xd1\x6b\x1c\x1a\xdb\xe0\x4b\x46\x16\x4f\x58\x7a\xe4\x0e\x80\x01\x25\xe0\x21\x9e\x86\xfb\x19\xba\xf4\x49\xe6\x31\x96\x4a\xe9\xe3\xcf\x68\x07\xf4\x7f\x98\x7d\x4a\xdd\xbe\xa9\x9c\x5f\xca\x81\x54\x1c\xf1\x9a\x08\x75\x4d\x31\xcc\xe7\x22\xfa\x4f\xb4\x55\x62\x74\xc5\x11\x62\x24\x0c\x7a\x15\xcc\x74\x0d\xf5\x65\x72\xdb\x2c\x9f\x5c\x02\xc3\xbd\x3b\x91\xfd\xfc\xf2\xdd\x2f\xcf\xdf\x0c\x27\xda\x22\x5b\x41\x87\x29\xf2\x03\x45\x04\x97\xae\xec\xb1\x03\x36\x7b\xb3\x4f\x4f\xc0\x8d\x42\x34\x32\x7a\x8f\xa8\x48\xad\x1f\xa8\x54\x03\xd3\x10\xe1\xda\xe7\xe2\x1d\x41\x77\xdc\x44\x26\xb6\xa0\x33\xc9\x27\x15\xde\x89\x15\xd0\xc8\xc2\x62\x79\xe4\x90\xb9\x35\x81\x1e\xbd\x5b\xd9\x3c\x71\x0e\x69\x9f\xda\x9f\x57\x9e\xb8\xc0\xfc\x56\x2b\x93\xcd\xfc\xd7\x1c\x0a\x0b\xa6\x42\x58\xd3\x09\x02\x36\x86\x63\x0f\x4e\xbf\x5a\x59\x1d\xd1\x4f\x47\xae\xa4\xe6\x41\x84\xb2\xd2\xb4\x86\x1d\x5b\x70\xe6\xa1\xe3\x18\xed\x97\xd7\x10\x95\xae\xca\x91\x27\x6b\xd2\x46\x0c\xa2\x67\x26\xe4\x47\xd2\x42\xe4\xce\x4c\xd9\x56\x62\x3e\x9f\x77\x6d\x0f\xce\xbb\x98\x6c\xfc\xc4\xb2\x0b\x06\xfd\xb5\x00\x0f\x7e\x41\xae\x8b\xec\xab\x35\x7f\x86\xdd\x41\x6f\x6d\xe6\x11\x4a\x06\x7f\xf8\xc4\x5d\xf3\x67\x0e\xf4\x27\x83\x5e\xe4\x1c\x65\x7c\xd0\x34\xd8\x1c\x86\xc4\xb3\x91\xb7\xd3\x7b\x02\xc4\x5f\xa0\xf7\x04\xcc\xb1\x4d\x27\x3b\xa0\xdf\xeb\xfd\x8f\x27\x11\x57\xec\xf7\x7a\x21\xdf\xab\x5c\xde\xd7\x5d\xe7\xbd\x94\x77\x2d\x8b\x13\xde\x9d\xd0\xfc\xfe\xed\xe1\xcf\x7b\xff\xf4\x2f\x17\x49\x91\x60\xa9\x2f\xbc\x71\x4f\x91\xf3\x4e\xba\xe2\xfb\x82\x7a\x45\x2d\xa9\x7c\xda\x44\x74\x14\xb9\xda\x82\x4e\x15\x78\x88\xf1\xfa\xa0\x1e\x5e\xc7\x68\x8a\x5d\x7c\xb7\xe2\xed\x1f\xde\xfa\x49\xcf\xba\x78\xa3\x3e\x3b\x16\x6e\xa7\xaf\x57\xc8\xbd\x64\x20\x06\x28\x6e\x25\x82\x7d\x3f\x40\xac\x90\x2f\xc5\xd6\x05\x62\x4e\xcd\xb8\xff\x4a\x92\x4f\xb2\x92\xf5\xc8\x0b\x6f\x76\x2d\x32\x6d\xdf\x4f\x49\x98\xf5\xbf\x57\x08\xa2\x72\xf9\xa3\xec\x71\x50\xfc\x8a\x6e\x19\x0b\x45\xba\x21\xa7\xfd\x4e\xe0\xa5\xfa\xcc\x70\x6c\xbd\x7b\x7b\x54\xc2\xf0\x2b\xd3\x4d\x94\xe5\x40\xce\xcd\x0f\xc9\x6f\x9a\xa9\xe0\x77\x56\xa1\x78\x6c\x98\x06\x9b\xce\x79\xb6\xe0\x60\x65\x7e\x77\x93\x6c\x3f\xd4\x1d\x77\x81\xe8\xc7\x33\x41\xce\xcc\x46\xfe\x45\x96\xe4\xb4\xe4\xdb\x72\x31\x14\xd5\x93\x47\x5e\x49\xc5\x78\xa3\x30\xcd\x5e\x0f\x03\x72\xf4\x22\x34\x44\x5f\xbf\x1d\x5c\x48\xba\x2b\x59\xf4\x8a\xc1\x9e\xdb\x18\x70\x86\x45\xa1\x39\x99\x81\x7b\x72\x08\x7e\xe1\x57\x96\x8f\x10\xf1\x35\x33\x57\xeb\x33\x42\xc9\xee\xc9\x21\xfb\xfa\xad\x22\x24\xa4\x03\x10\x2e\xfc\x02\x5d\x81\xd6\xc8\x23\x53\x7e\x69\xc6\xdb\xfc\xb7\x17\x47\x94\x22\x80\xbd\xe0\x08\x1a\x06\x34\x55\x46\x67\x37\xd1\x42\xb7\x42\xe7\x6c\xc0\x79\x8d\x5c\x58\x43\xad\x96\xbd\xcb\x0a\x90\x52\x70\x86\x53\xe6\x49\x04\x02\x43\x73\xe2\x5d\x44\x35\xe1\x4a\x0f\xc5\xf2\x45\x18\xa5\xa1\x26\x68\x30\x1a\x4a\xa3\x28\x63\xf2\xd9\x26\xa5\xd7\xf2\x25\x19\x8b\x26\x23\x15\xd1\x28\xac\xeb\x87\xb8\xfc\x9b\xcc\x8f\x5a\x30\x5d\x24\xe5\xe4\xc9\x7e\xbf\x13\x57\x7d\x3c\xb4\x93\x2a\xaf\xd2\x82\xaa\x74\x43\xa7\x57\x29\xd4\x3b\xae\x69\x73\xbb\x8e\xcf\x62\x08\xad\x8b\x31\x0b\x30\xe0\xed\x84\x76\xe2\x59\xec\x85\xbf\x19\x1f\x78\x62\x94\x87\x6c\xfc\x26\xd7\x20\xbc\xc4\xd9\x85\x64\xeb\xfc\x09\xfe\xa2\x4a\xe1\xc8\x97\xde\xe3\x0e\x6d\xdd\x9d\xd0\x14\x40\xf2\x2b\x11\xa4\x04\xe4\xff\xeb\xdf\xff\x4d\xd7\xac\x34\x8b\x09\xb1\xb4\x78\x5e\xe1\xfb\x5a\xb6\x70\xf5\x7c\xf2\xce\xc7\x7c\xb1\xf9\x95\xdb\xc9\x79\x0b\xa8\xb1\x91\x9c\x1c\xea\xee\x2c\xe4\x3f\x3f\x3d\xde\xf8\xfc\xfd\xd6\x48\xcf\x42\x2e\x2b\x06\xb0\x2a\x30\x2f\xec\x97\x1d\x63\x3a\x09\x86\x77\x6b\xb5\xfe\x32\x3b\x7d\xf5\xb6\xbf\xfe\xf3\x5f\xc2\x29\x2b\x02\x16\x4d\xe3\x25\xa6\xaf\x82\x21\xc0\x3e\x98\x90\x39\x98\x21\x32\x73\x10\x18\x06\xd8\xb1\x23\x0b\xb5\x1b\x9b\xa8\x1c\x0f\xf7\xd9\x32\xad\xf2\x92\x46\xb1\x70\x7c\x29\x9a\xe5\x0e\x96\xaa\x08\x15\x1a\xbd\xcb\xd0\xa0\x2a\x95\xa8\x37\xde\x18\xba\xf8\x33\x94\xf4\xa3\x53\xd6\x76\x95\x07\xc3\x06\x99\xbb\xc8\xf3\x3b\xb6\x47\x66\x36\x99\xbb\xd2\x0a\xe0\x97\x2b\x4e\x84\xdf\x84\x0f\x65\x0f\x84\xd9\xd4\xd2\xc7\xc1\xc2\xa0\x60\x63\x96\x57\x4f\x5b\xd8\x8c\x10\x60\x26\x09\x30\x03\xe2\x71\x1b\x62\x3e\x21\x3e\x02\x1e\x9a\x11\x3f\xa4\xba\x2b\xd6\x02\x66\x0e\x5d\x0a\x28\x2b\xfc\x95\x6b\xd6\xaf\xeb\xa7\x5e\x09\xbd\x84\x0c\x01\x53\x34\xf5\x81\x8f\xdd\x32\x6d\xbb\xda\x16\x94\x46\xa0\xb0\x09\x63\x5b\x70\xe8\x41\xd7\x9a\x74\xf8\x07\xb2\xe8\xe2\x37\x4f\xf9\xc7\xcf\xa5\xdd\xae\x6d\x0b\x2e\x8c\x4a\x21\x16\x42\xe6\xf8\x03\xb0\xe1\x95\x0f\xe0\x98\xdc\x27\x14\x09\xe6\xfd\x2b\x46\xf3\xa2\x70\xbb\xaa\x09\x08\x36\xc8\xb3\x9c\xf5\xaa\x9b\x17\xe0\x58\x16\x36\x14\x58\x3e\x17\xa9\x58\x9d\x29\x76\x90\x4f\x89\x9b\xc7\x2f\xcb\xfd\x92\x77\xd9\x56\x8f\x2b\x22\x56\xe2\xb5\x82\x70\x93\xe3\x96\x00\x26\x11\x40\xa9\xd5\x59\xbb\x21\x0c\x98\x03\xd8\x57\x02\xe0\x90\xdf\x5a\xea\xe2\xe5\x98\x77\xbf\x70\x8b\x4c\xa7\x98\xaa\x57\xbe\x27\xee\x2d\x75\xe9\xd1\xa0\x15\xbb\xa1\x6a\xab\x2c\xc0\xfa\xe9\x04\x81\x70\x3f\xf9\x8b\xb3\x77\x95\x4f\x67\x65\xea\x05\xc3\xab\xa2\x39\x95\x36\x2f\xd1\xef\x1d\x58\xae\xa2\xbc\x8d\x04\xa4\x0e\x09\x47\x3a\xca\x46\x80\x3b\x0e\xf6\x69\x67\x86\xad\x54\xfa\x29\x13\x62\x42\x27\x78\x81\x91\xc3\xba\x4a\x60\x77\xec\x20\xfe\xc1\x58\x8d\x8e\xe8\x33\x1c\x87\x53\x66\x28\xad\x0d\x61\x1e\xe5\x49\x93\xa9\x30\x79\x63\x7b\x41\x44\xd7\x2b\x3e\xba\x1a\x6a\x58\x91\x97\x52\x77\xb9\x05\x3e\x83\xdb\xf3\x12\xe4\x2c\xce\xa5\x18\xaf\x77\xe7\x25\xf8\xe7\x3f\xdf\xff\x79\xe2\xbc\xd1\x8c\x29\xd2\x2b\x19\xb8\x2a\x80\x2f\xec\x2f\xf8\x03\x7b\xf0\x6e\xbd\x05\xaf\x3e\x5f\xd8\xfd\xed\xdd\x57\x7f\x09\x6f\x41\xf2\x74\xfb\x67\xec\x41\x71\xa0\x4d\x3d\x68\x5d\x84\xd7\xef\xa7\x2b\xa0\xd4\x0f\x90\x63\x89\xe5\x2c\xb4\xbf\x09\xa6\xc3\x6c\x5d\x96\xbc\x9f\xc0\x47\xbe\xcf\xed\x60\xec\xef\xda\x53\x5c\x52\xf7\x28\xdd\x75\xc9\x0a\x7c\x4a\x42\xba\xee\x62\x97\xa2\xb1\x07\x45\x3c\x74\xba\x91\x51\x61\xaa\x91\xa2\x3b\x4b\x65\xbb\x23\xd6\x0b\x6f\x1c\x78\x08\x30\x94\xee\x11\xd7\x65\x71\xe2\x75\xbb\xb4\x28\x16\x96\x69\xbf\xd6\xc0\x7b\x52\x98\x31\xe6\x81\x7d\xc1\x01\x00\x0c\x01\x8c\x7d\xea\x41\x4a\x3c\xe0\x22\x64\xb3\x42\x26\x33\x8f\x5c\x62\x5b\xac\xca\xe2\xab\x0a\x8d\x70\x1b\x51\x88\x1d\x1f\x0c\xd1\x88\x78\x08\x04\x3e\x1c\xa3\xae\xae\x07\x5b\x5b\x40\x29\xc4\xd5\x42\xce\xa4\x7a\x44\xdc\x3c\xd8\xcf\x48\xf7\x68\xd1\xae\x88\x75\x0b\xc6\x6e\x45\x00\x07\xc3\x33\x6b\xfe\x05\x8e\xa0\x3b\x0e\x44\x8a\x90\x5e\xbb\xa6\x5a\xf1\x1c\xf9\xa4\xfd\x50\xce\x74\xfe\xf8\xb3\x30\xb6\x23\xbc\x95\x3b\xbe\x16\x71\x18\xad\x10\xdd\x81\x0f\x06\xc0\x43\x3e\x71\x2e\x91\x0d\x76\x8f\xf7\x43\xf2\x0d\x25\x12\x18\x80\xd3\x2b\xce\x43\xda\xe0\xcd\x5b\x00\x7d\x1f\x8f\x5d\x84\xc0\x00\x0c\xc9\xd0\x9f\x62\x3a\xa9\xb0\x95\x2a\xdd\x11\x15\x8d\x5e\x4a\x78\x4b\x2a\x0f\x30\xd7\xbf\x31\x22\x91\x65\xc5\x4f\xea\xb8\x75\x33\xd5\xf5\x97\xb1\x1d\x44\xbe\x37\xb7\xdd\x5f\x7a\x38\x5c\x78\x4a\x01\xd2\x9a\x7c\x0d\x5d\xde\xa8\xee\x22\x90\xa5\x7b\x4b\x72\x6d\xe0\x12\x0a\x32\x9c\x45\x57\xc7\xbe\x25\x95\x3a\xab\x94\x2d\x41\xbb\xbb\x3b\x75\xfa\xb3\xf3\xf8\xf9\xfb\xe3\xe0\xf8\x7e\x1d\xba\xe5\x21\xd3\x18\xc8\x53\xe8\x5d\xd8\x64\xee\xde\x71\xa8\xe8\xfb\x77\x3f\xff\xc3\x7d\xf5\x8f\xdb\xca\x52\x8c\xeb\x5a\x9b\xca\xaa\xa1\x99\xa2\x51\x66\xa6\xca\x65\x52\x42\xae\xee\xec\x2e\x51\x7b\x9b\x91\x50\xbd\x0a\x57\x95\xaf\xc4\xfc\xbb\x42\x13\xbf\x1f\xe7\x7c\x85\xc9\x7a\x85\x99\x7a\x3a\x69\x7a\x4c\xe8\x8d\xe0\x14\x3b\x57\x3b\xe0\x15\x72\x2e\x51\xc8\x56\xf3\x8f\xa8\xd2\xf8\x6e\x92\xbe\xba\xe4\x2c\x66\x1e\x4a\xcf\x64\x06\x6d\x1b\xbb\xe3\x1d\xd0\xcb\xbe\x5d\x53\x04\xca\x53\x4d\xb9\x6b\x35\xcf\x35\xc3\xa7\x2a\xab\xb8\x67\xf5\x06\x75\xb6\x58\x61\x32\x48\x5c\x6a\x21\x2e\x17\x94\x2a\xa6\x1a\x25\x25\x4a\xe9\xba\x12\x47\x58\x5c\x07\x49\x24\xb1\x83\x1c\xcc\x66\xb1\xe2\x52\x5e\xbf\x4b\xcc\x3a\xde\x28\x0a\xb5\xe0\xab\xf0\x72\xa9\x98\xfc\x92\x24\xc6\xdd\x89\xe6\xf1\x8f\xdb\xbf\xf4\x77\xdf\x7f\xba\xaf\x9e\x2e\x35\x9c\x1a\x83\x7d\x06\x43\xc0\x79\x10\x3b\x77\x2b\xaa\xf7\x27\xfb\xaf\xd6\xb7\xc9\xd6\x5f\xce\xe3\x75\x12\x01\x18\x58\x0e\x09\x6c\xe0\x90\xf1\x98\xa5\x70\x20\xef\x12\x5b\x89\x0c\x8e\x18\x15\x70\x36\xbb\xcf\x51\x32\xcb\x74\x8d\x95\xe5\x6f\x54\xb8\x13\xf8\xc9\x41\x88\x6e\x11\x0b\x22\x6d\xc9\x02\xef\xc2\x62\xae\x85\x82\x43\xa7\x04\x7a\xcb\xe3\xdd\x17\xce\x05\x89\xc9\xa3\x03\x67\x98\x92\x0b\xe4\x56\x84\xbf\x9f\xb1\x67\xea\x04\xc0\x2f\x76\x82\x19\x02\x80\x7d\x53\x44\xbe\x5f\x91\xa0\x3c\xf2\xbd\xfc\x44\x6b\xd9\x27\x4b\xcb\x8a\xcd\xe2\xff\x7f\x8b\x3a\xc9\xa3\xaa\x26\xea\x06\xff\xbf\xc6\x28\x99\x53\xc2\x66\x4e\x90\xc5\xd7\xde\xec\x9c\x50\xd7\x37\x98\x60\xba\x9a\x1b\x7a\xb5\xee\xc2\xc4\x7e\xfb\x33\x40\x5e\x32\xb3\x85\x77\x9e\x04\xd1\xe5\xa6\x81\x4d\xa9\x80\x26\xb9\xe7\x33\x7b\x9d\x7f\x44\x19\xbe\x94\xec\x01\x97\xd9\xfd\x62\x6a\x2b\x8d\x55\xdb\x0f\x09\x74\x8a\x5d\x04\xe6\x13\x6c\x4d\x42\xc1\x06\x90\x4b\x3d\x8c\xd2\xb1\x0b\x36\xf6\x67\x0e\xbc\x02\xcc\x6f\x39\x24\x43\xf0\xe6\x2d\x68\xfd\xfe\xbb\xe1\x93\x29\x02\xb3\x89\x07\x7d\xf4\xfb\xef\x06\x73\x5f\xfa\xd0\x71\xae\x8a\x58\xc5\xed\x06\x49\x29\x09\x61\x0a\x3f\x25\x06\x79\x0d\x3f\xe1\x69\x30\x05\x51\x67\xd0\xd5\x52\x42\xf8\x71\xd3\x70\x83\x50\x8d\xd2\xa7\x84\x69\x69\x19\x9b\x65\xd0\xc1\x2b\x32\x07\x53\xe8\x5e\xa5\x08\xc0\x26\x11\x0d\x14\x95\xdb\xbb\x2b\x7c\xb2\x77\xe3\x88\xd1\x44\x40\x9c\x1c\x74\x91\xa8\xd6\x99\x47\xa6\x33\xba\xac\xf0\xd6\xcc\x5c\x4d\xe3\x29\xbb\xf2\x2c\x8a\x73\x15\xa5\x8f\xc4\xaa\xaa\x22\x5e\xd9\x0a\x7d\xfd\x90\x57\x01\xe6\x95\x92\x0f\xaf\xde\x04\x1d\x90\x50\xa5\xc6\xe5\x98\x68\x7c\x38\x50\x96\x64\x72\x07\x06\xb4\xda\xf8\x5a\x9a\x2d\x77\x77\x46\x74\xef\x64\x6f\xb6\xb5\x7b\xb9\x84\x70\x91\x55\x82\x7b\x71\xe3\xd9\x81\x2e\x0d\xa6\x77\x6c\x3a\xff\x31\xff\xf3\x67\xcf\xff\xbb\xba\x98\xfe\xd7\x6c\x3a\xff\xd5\xeb\xfd\x48\xf2\xf9\xcb\x95\xfb\x59\x7a\x74\x67\x88\x0b\x39\xe2\xc4\x43\x23\x51\x1f\x68\x67\x23\xda\x82\x5d\x8b\x4c\x37\x8c\xa8\x0a\xb3\x37\x46\x21\x05\x7f\x1c\x3a\x90\x77\x03\x91\xe6\x7a\xf8\xf8\xbb\xd7\x47\x60\x3f\x06\xf9\x63\xbd\x48\x67\x95\x57\xf8\xaa\xb3\x55\xb5\x1c\x75\x2c\x8a\xe8\xb2\xe6\xc3\xe9\xcc\x89\x08\xd9\xdf\x29\x55\x3e\x0a\x07\x2b\x7a\x54\xf7\xb0\xde\x91\x45\xea\x95\xf5\x79\x0b\x0d\x36\xbe\x86\x53\xf4\x67\x80\x44\x8e\x45\x6c\x1f\xc9\x6b\x95\xcb\xb9\x95\x39\xbe\xf3\xd1\x1e\xf4\x53\x53\x7c\xe7\x23\xc0\xaf\xdd\x8f\x29\xee\x71\x3f\x4f\xa2\x86\xb3\x74\xfc\xdc\x87\xd9\x85\x2c\xef\x12\xd3\xab\x54\xa0\x6e\x74\xed\x7e\xcd\xf1\x38\x1d\x5f\x24\x2f\x83\x96\x8b\xe6\x80\x17\x0c\x2d\xb1\x30\x6f\x19\xeb\x51\xb9\xe3\x24\xe6\xe3\x8b\xf7\x63\x96\xa7\x94\xc5\x62\x27\xf6\x37\x2d\x0e\xce\xd6\x33\xef\xf4\xef\x6b\x16\x2c\xcd\xb7\xe8\x8f\x55\x10\xce\x5d\x79\xbf\xc5\x73\x73\xab\xa7\xaa\x5e\x2a\x1e\x12\xea\x10\x28\x30\xae\xb5\xec\xa0\x85\x6d\x96\xaf\x5f\x78\x6b\x06\x87\xd5\x27\xc8\xf2\x96\x9a\x3c\x8e\x62\x0f\x8a\xe6\x31\x15\xfd\x42\x94\xab\x4e\x9e\x48\x8b\x51\x8b\x8e\xa4\x13\x75\xe1\x0a\x03\xc8\xd4\x1f\x2b\x28\x17\xd7\x8b\xc8\x30\x5e\x66\xbe\x5e\x5c\xcd\x6d\xb4\x02\x2b\xba\x86\x59\xbd\x54\xf3\x4d\x61\x6d\x2d\xc9\x74\xbb\x3b\x4b\x19\x1e\x1f\xef\x5e\xbc\xf8\x74\xb1\x92\x02\x85\x89\xae\x2c\xf7\xb5\x42\xa1\x1a\x0f\x8d\xd1\x4a\xe1\xd0\xb9\xe3\xd2\xf8\x8f\x7f\xfb\x83\xbe\x7e\xb7\xf9\xf2\xb6\x82\xce\x56\x60\x88\x7f\x55\xd6\x34\x43\xb9\x84\xdb\xdc\x83\xb3\x19\xf2\x40\x51\xab\x89\xb4\x52\xf1\x57\xaf\x7f\x9e\xdb\x0d\xcb\xd8\x57\x77\xc7\x2b\x67\x9f\x0f\x9f\xff\xf6\xeb\xfb\x93\xfb\x1a\x9a\xa3\x00\x52\x73\x80\x7b\xc8\x71\xc8\xdd\x72\x32\x67\x0e\xdf\xfc\xfd\xf9\xc6\x7b\x75\xa5\x55\x07\xfb\xf4\xab\xab\xb4\x1a\x55\xae\x39\x63\xf0\x05\xd8\x17\x09\xd7\x7e\x00\x1d\x30\x87\x57\x80\x12\x30\x85\x2e\x1c\xa3\x28\x7c\x21\x04\xae\xcf\xea\xaf\x8a\xb2\x1c\x08\x40\xf7\x8a\x4e\xb0\x3b\x8e\x83\x77\x38\xbe\xee\x7b\xd4\x4e\xfa\xfc\x9f\xcf\x39\xca\xe4\x2a\x09\x01\x68\x14\x37\x90\x7e\xc9\x25\xcf\x09\xf4\x6c\xfd\xf2\x77\x0a\x47\x57\xd4\xf3\xcb\x25\x80\x22\x38\x05\x43\x36\x24\x4f\x90\x87\x1e\x02\x1d\x30\x43\x9e\xcf\x4e\x93\xc4\xad\xf0\xaa\x8b\x2e\x91\xc7\x52\xe8\x55\xaa\x4c\xcd\x88\x8d\x85\xad\x24\x95\x7f\x33\xce\x5e\x67\x40\x5a\xf4\x0c\x72\x29\x47\x8f\x1c\x80\xb9\xca\x3a\x43\x89\xc5\x32\x92\x64\xab\xd0\x3f\x66\x1c\xf2\x45\x57\x1c\x33\x96\x5b\x32\x2b\x3a\x2c\x86\xd8\x13\x0a\xc6\x74\x88\xec\x8e\x45\x14\x25\x1b\x8e\x78\xba\x7f\xa3\x0a\x2a\xf2\x2c\x80\xef\xc5\xce\x90\xa8\x0a\x1c\xf6\x04\x88\x4e\x45\xb0\x7a\xa2\x2d\x46\x7d\xa7\xb5\xea\x8b\xa2\x07\x70\xc2\xa8\x56\xe0\x47\x20\xaf\xac\xe0\x61\xaa\xe4\x65\xae\x1c\x42\xcd\xb2\x87\xda\x4b\x10\x92\xa8\xd8\x6b\x10\x22\x68\x4f\xd6\x08\x89\xaa\x37\xe2\x7c\x6b\x68\x43\x51\xb7\x11\xbb\x96\x13\xd8\x0d\xeb\x36\x26\x6c\xfe\xdc\xe1\x01\xa4\xc8\xc3\xd0\xe9\x60\x8b\xb8\x3e\x98\x63\x7b\x8c\x68\x47\x96\x32\x01\xf2\x0f\xd6\xc4\x15\x28\x56\xdc\x89\xab\x9e\x44\x4b\x60\x97\x3e\x8a\x6b\x8b\xf1\xb9\xfb\xb0\x8a\x8f\x22\x55\x39\x3e\xc6\xd1\x0c\x88\x2f\x5b\x82\x3f\x83\x39\xcf\x54\x72\x42\xb9\xad\xc0\xc9\xa0\x98\xf6\x35\x5c\x9f\x75\xaa\x65\x56\x7a\xf2\x1c\x04\xbd\x11\x8e\x00\xb6\xb0\xe7\x47\x09\xc9\xa5\x65\x4e\xac\xa2\x12\x48\xd3\x19\x17\xa7\xdb\xbf\x74\xc8\x10\x3a\x5f\x4f\xd2\xbd\x50\x5f\x97\x96\x76\xaf\xc0\x65\xed\xd4\x79\x2b\x3b\xbb\x9a\xb9\xf2\x77\x9f\x63\x9a\x37\xba\x96\x62\xbf\xdd\x9d\xc5\x7c\x74\x75\x65\x3d\xfa\xe4\x2e\xd4\xfe\xc4\x25\x6c\xf3\xba\x4c\x0d\xca\x69\x51\x46\x42\x5f\x28\xb7\xb4\x57\xe7\x43\x54\xc1\xba\x31\xe2\x84\xe7\xe8\x6e\x2d\xef\xcd\xe0\xd5\x9b\xfd\x43\x7f\x7c\x6f\x13\x57\xef\x69\x72\xea\x7d\x34\xbc\xcb\x4e\x98\x34\x73\x1e\xa3\xa4\x43\xf1\x6f\x45\x43\xcf\xc2\xd4\xc8\x3b\x75\x46\x2a\x36\xd6\x72\x36\xe9\xdd\xb1\xd7\x13\x38\xfb\xfe\xef\xa3\xad\x17\xf7\xd5\x21\xa9\x04\x53\x7d\xa0\xb3\xb6\x05\xfc\x1f\x6e\x6b\xdd\xbe\xe7\x97\xcc\x7e\xf8\xf4\xcb\xae\xfa\x4c\x25\xe6\x66\xd9\x3f\x34\x25\xdc\x25\x46\xf3\x8e\xaa\x91\x43\xa9\x62\x3b\x41\xd0\x16\xbd\xd5\xc5\x1b\x07\xbf\x1e\xbc\x7d\xff\xe6\xf8\x00\x94\x1d\xc3\x07\x99\x63\xba\x56\x4a\x82\x06\x43\x07\x5b\x2f\xd8\xec\xc3\xc7\x1d\xe4\x8e\xb9\x52\x9c\x70\x8b\x44\xd1\x2b\x39\xf3\x3b\x53\x39\x69\x02\xfd\x93\xd4\x80\xda\x29\x3e\xb9\x22\x22\x68\x3a\xa3\xc9\x0c\x98\x63\x02\xc6\x4c\x65\x06\x31\xdc\xea\xd6\xf2\x57\xb6\xd8\x08\xe9\x0b\x64\x4d\x9c\x62\x1f\xc3\x4c\x6f\x7d\x69\xcd\x9d\x53\x47\x17\xbb\x36\x12\xee\x80\x2d\xe9\x0e\x88\x7e\xf9\x4e\x30\xae\xeb\xaa\xcc\xf7\xe8\xc0\x14\x4d\xd3\xa6\xe4\x56\xa9\x29\xa9\xaf\xc3\x6f\x95\x77\x47\xa8\xa8\x2f\xb6\xbc\xcc\xaf\xfc\x2e\x38\x3b\xd8\x7d\xbd\xc0\x0e\xf0\x08\x65\x0d\x2c\x96\xb9\x09\xb2\x63\xd6\xa9\x57\xa0\xb3\x15\x98\x2f\xba\xd9\x46\x58\xe6\x5e\xd0\x5e\x66\xd5\x76\xd8\x4c\x6d\x87\xcd\xba\xdb\xa1\xde\x8e\xd8\x5c\xd2\x8e\xd8\x2c\x00\xad\xa2\x02\x6e\x1d\x72\x3e\x39\x78\x7b\xfa\xe6\x78\xf7\x68\x11\x92\xc6\x97\x90\xa2\xa5\x12\x74\x6a\xc4\x65\x93\x73\x74\x86\x72\x0f\x48\x5a\x6f\xa1\x55\x04\xdd\x4f\x11\x74\x7f\xb5\x04\x5d\xee\x2d\xd4\x27\x68\x95\x8b\x50\x1f\x17\x4b\x37\xb6\xb3\x5a\x60\x6d\x3d\x92\x12\xe2\x0c\xa1\xb7\x31\x22\x5e\x27\xb6\x45\x6f\xdd\x25\xf2\xfd\xba\x7d\xf9\xe3\xa7\x77\x0b\x07\x5c\x79\x78\x3c\xa1\xa0\xc4\x3b\xb2\x04\x01\x9c\x7e\x7d\x86\xbc\x29\x66\x23\x84\x93\x90\x20\x3c\xb0\x45\x8a\xb4\xc6\xce\x90\xef\x74\x7d\x44\x29\x76\xc7\x51\x69\x75\xde\x39\xcc\x8c\x36\x49\xf2\x9a\xd8\x2a\x66\xc6\xa4\x4f\x3f\x9c\xb8\x1c\x6d\xad\xb4\x23\x94\x79\x12\xd8\x31\x01\x3f\x0c\x80\x0e\x1e\xbb\x9d\x29\xb6\x6d\xd6\x92\x4c\x53\xc7\xaa\x38\x80\x90\x77\x9b\xf5\x35\xeb\x45\x5d\xd3\x8c\xd7\x88\x42\x13\x1c\xe1\x11\xb2\xae\x2c\x07\x99\x80\x9f\x66\x82\x3d\x59\x44\x21\xc2\x74\x04\xca\x46\xed\xb5\x4a\x1c\xe7\x49\x80\xc5\x75\x8f\xf4\x3e\xa1\x43\x38\xbb\x76\xe3\x66\x34\xec\x28\x57\x8e\xd3\x91\x1b\xac\x53\x10\xf6\x5b\x8e\xf9\x25\x21\xec\x14\x5e\x22\x00\x7d\x20\x27\xa3\x72\x8e\x2c\x4e\x49\x53\x62\x43\x27\x7d\x4b\xe6\x1a\xfd\x2d\x0f\x8f\xfc\xd3\x43\x68\x5d\xd8\x1e\x99\x19\x9c\xd1\x60\x2b\x79\xec\xc5\x1d\x6f\x1f\x2d\x32\x2b\x6b\x9a\x59\xaf\x5a\x46\x73\x22\xaa\xa0\x5f\xb5\x71\x9c\x26\x0c\xc6\x18\xef\x94\x2a\x4e\xc2\x19\x94\x9c\x39\x11\x97\x3d\xb1\x9f\xf4\x53\x16\xa4\xe0\x69\xd0\x8b\x78\x73\x26\x3f\x5a\x5a\x90\x63\x11\xac\x95\x82\x9f\x8b\x68\x2e\x55\x35\x80\xcf\x4b\x83\xae\x06\xfc\x07\x6c\x12\xe1\xb6\x0c\xa5\x71\x29\x1e\xf8\xa3\xcb\x41\x00\x2f\xca\xf7\x11\x89\x21\x57\x8b\x88\xbc\x98\x9f\x61\x97\x67\xc8\x98\x06\xf6\x4f\xb0\xeb\x36\xb4\xb1\x33\x9b\x09\xbb\x3a\x5b\x89\x38\xf6\x6a\x70\xf9\x16\x4d\xc9\x25\x02\x23\x78\x49\x3c\xcc\xf9\x6b\x21\x32\xdf\xb9\x33\x76\x90\x5a\x96\x98\xaa\x8f\x4e\x9f\x42\x4f\xc5\xf9\x8a\xae\x2d\x93\x15\xea\x1e\x21\x2f\xee\x51\x69\x84\xed\xd5\x8a\x53\x2d\x5c\x9f\x7c\x7d\x98\x66\x6f\xd7\x2f\xd6\xae\xda\xea\x4a\xcd\x6a\x1f\x39\x88\xea\x94\xc5\xac\xa2\x02\x9b\x0d\x74\xc7\x4c\x9c\xaf\x06\xc4\x67\x79\x0b\xe2\xba\xa1\x56\x25\x60\x51\x4f\xa7\xb2\x05\x26\x96\x58\x18\x44\x53\x17\x4e\xcd\x33\x3e\xd1\x4b\x5c\xa4\x70\x28\x5c\x14\x46\xa7\x2f\x2f\x7a\x84\x41\xc4\xc6\xd0\x21\xf9\xf4\x85\x62\x9a\x67\x23\x77\xe2\xd7\x92\x63\x95\x20\xae\x6a\x40\x19\x49\x5a\xb7\xc4\x00\x7f\x7b\x82\xa0\x9d\xf2\x8b\x49\x25\xfd\x2c\xa1\xa4\xd7\xd2\x67\xf9\xb8\xfc\xe8\xac\x42\xbf\x97\x05\xc7\xfa\xfd\x90\x4b\x89\x52\x62\x65\xc7\xb9\xe1\xe4\x12\x13\xe3\xd8\xaf\x0a\xb5\x2c\x9e\x6a\xf3\x8a\x07\x71\xf4\xa9\x8b\xe6\x31\x45\xc9\x46\xff\xd2\x51\x57\xd0\xf7\x3f\x3b\x72\xdd\xc6\x8a\xf9\x3e\x05\xf9\x59\x48\x0f\x41\x12\x62\x71\x78\xa8\x81\xa6\x10\x3b\x25\x25\xaa\x0c\xf9\x12\x10\xaf\x68\x77\x6d\x6b\xd4\x9a\x9f\x10\x3b\x32\x0b\x79\x31\x11\x8b\xb8\x97\xe8\xca\x8f\x78\x1a\x90\x7d\xe7\x16\xea\xfa\x76\x1b\x44\x60\x23\x3f\xc9\xdf\xf6\x59\x41\x14\x99\xef\xaa\x4b\x0b\xf9\xbc\xa7\x14\x39\x24\x52\x8d\xfd\x3c\x01\xb0\x19\xa8\x09\xc0\x4e\xce\x26\xdf\xb8\xe2\xfb\x55\x63\xfa\xe0\xd3\xcc\x81\xd8\x05\x81\x8f\x80\x05\x7d\x04\x46\xc4\x03\x74\x82\xd3\x5e\x81\xd5\xa6\xca\x6a\xb0\xaf\x11\x21\xb9\x54\x4d\x05\x04\xca\x93\xa8\x73\x01\x85\x29\x99\x68\x63\x3f\xd4\x4b\x72\x22\x27\x9b\x68\x2d\x4b\x0e\xc8\x98\x97\x85\x7a\x7e\x04\x96\x85\xb8\xb7\x8f\xf3\x5c\xcb\xc1\xd6\x45\x63\x96\x5b\x36\xdf\xf0\xbd\x1a\x38\xa9\x30\x01\xb3\xb7\x2b\x85\xbc\x4a\x15\xf9\x26\xe2\x25\x47\x62\xda\xe2\x7e\x62\x46\xab\x92\xf0\x49\x9e\xba\xeb\xb1\x84\x2d\xe0\x07\xe2\x8f\xa8\xfa\x24\x9f\x0f\xe3\x02\x12\x4c\x45\x15\x09\xbf\xed\xe7\xe4\x8c\xe2\x9e\x31\xba\xdb\x79\x3f\x63\xff\xe8\x6f\xe8\xfd\x42\x3d\x7d\x19\x5b\x7a\x39\x27\x60\xaa\xf3\xab\x85\x0e\xc1\xc4\x01\xcb\x6d\x9f\x80\xfd\x3a\x7c\xff\xfa\xec\xf1\x99\x3a\x8d\xd6\xb0\x20\x15\x86\x54\x90\x38\xde\xd4\x3a\x16\xf3\xc8\x1c\xfc\x11\xf8\x14\x8f\xae\x24\x57\xe9\x0c\x11\x9d\x23\xe4\x02\x97\x74\xc6\x01\x65\xb6\x55\x66\x9f\x94\x33\x3d\x45\x65\x61\x63\xf5\xe7\x1b\x89\xad\x10\x6b\x6f\x09\x7e\xab\x57\x2b\x3c\xbd\xbd\x98\x08\x19\x52\x5e\x83\x33\xc9\x1e\x4b\x64\x69\x2e\x49\x00\xc8\x74\x3c\x69\x3c\x2b\xed\xe9\x64\x6d\xd3\xf0\x2e\xf4\x30\xec\x4c\xa0\x3f\x23\xb3\x60\xc6\xd2\x5d\x02\x94\xba\x87\x3e\xcd\xa0\x6b\xb3\x0e\xcc\x6c\x77\x54\xf1\x97\x75\xb0\xf7\xe6\xf8\xec\xe0\xf8\xac\x92\xc5\x28\x80\x1a\x2d\x61\x8a\xdc\x20\x35\x0d\xa6\xfc\x3a\xc8\x1e\x5e\x15\x80\xaa\xca\x0c\x83\x85\xdf\x92\xc7\xf4\xfd\xb8\x82\xdc\xdf\x8c\x32\xb7\xd6\xe9\x84\xcc\x0f\xa6\x33\x7a\xb5\x4f\xac\xd7\x9c\xe7\xc6\x13\x78\xee\x40\xf7\x02\x58\xd0\xbd\x84\xb9\x73\xbf\x2c\x71\x4e\xa0\x2f\x55\x9c\xba\x49\x70\xab\x59\x95\x9c\x8d\x6a\x61\x2f\x3c\x32\x2d\x50\x96\x75\x4f\x34\x57\x39\xf5\x43\xe6\xd8\x57\x4d\x9c\xdf\x01\x23\xec\x94\xb5\x2e\x5f\x54\xee\xb3\x3d\xcc\x22\x66\x42\x09\xb0\x1a\x05\x50\x5b\xed\xa8\xad\x09\x6a\x8f\x5c\xae\x12\x36\xd7\x0d\xf9\xb6\xd9\x53\x6c\x9b\xfa\x83\x97\x6b\x88\xd9\x61\x6a\x3b\x83\x76\x6d\x5b\xee\x7e\x6d\x5f\xd0\x52\xfd\x01\x1a\x8e\x81\x98\x10\x33\xae\x21\xc9\x32\x81\x8e\x8f\x48\xe5\x20\xd0\x68\x4c\x91\x74\x12\xc5\xeb\x83\x01\x25\xa1\xb6\x23\xb5\xb9\xec\x1c\xd3\x9d\x2e\x91\x80\xf0\xb1\x74\x1c\x1d\xb0\x62\x5a\xd2\xc5\xb4\x9d\xee\x36\x95\x78\xf8\xc0\xf3\x88\x97\x73\x31\xc4\x2e\x26\x80\xfd\x0e\x76\x2f\xa1\xc3\x66\x5e\x54\xcc\x4d\x26\xa6\x93\xd1\x48\xcb\x33\x51\xe5\x25\xd0\x7e\x64\x51\xda\xaf\x32\x38\xee\xb1\xe5\x51\x6f\x6a\x0d\x5c\x0a\x25\x1b\xb7\x6c\xde\x4c\x59\xbc\xeb\x32\x6b\xc5\x32\x27\xf6\xbe\x7d\x13\x3b\xb5\xc5\x0e\x53\x6a\x2a\x8e\x1c\xee\x91\xdc\x49\xe8\x67\xf7\x56\xf4\xa4\xe8\xf1\xfe\x4a\x9f\xfc\x34\xd3\x02\x88\xc6\xa0\xd6\x92\x41\x99\xe7\xef\xb9\x18\x2a\x25\x07\x51\xa9\x81\x95\x3c\x98\x61\xeb\x42\x4b\x9e\xa4\x06\xcd\x47\x77\xcb\x6e\x14\x95\x71\xdd\xb4\xa1\x41\x54\x40\x9f\x58\x6e\x31\x31\x11\x56\xdc\x50\xcc\x06\xa4\xb1\x28\xb2\x7b\x58\xe1\x16\xc4\x0b\xb7\xc5\x3f\x64\x22\x67\xa9\x19\xc2\x9e\x8e\x0f\x3d\xc4\x90\xd9\x4a\x22\x95\x73\x2f\x45\x4e\x7c\xc4\x41\xbd\xc0\xb5\x4a\xc3\x19\x35\xf6\x14\x5f\xb4\x28\x6c\x11\x13\x58\x28\x7e\x23\xac\x3f\x4e\x3d\x9b\x39\xc9\xd1\x23\xc9\x62\xf2\x34\x32\x75\x55\x32\x38\x58\x80\x04\x52\x90\xd4\x0f\x34\x61\x25\x46\x16\xb1\x6f\xab\x57\x5c\x99\xb1\xb5\xf8\xce\xfe\xa6\x86\xde\x67\x35\xb4\x44\x8e\x7f\xc5\x9a\x28\x8f\xad\xfc\xa6\x87\x36\xd0\x43\x85\x8f\xea\x45\xb9\x8f\x4a\x6f\xf0\x7a\x6a\xa8\x62\x18\x81\xc7\xcf\xc4\xd5\x94\x2d\xca\x9d\x92\x21\x09\x7e\x3c\x5a\x73\x9f\xf3\x02\xf5\x63\xf6\x0f\x3b\x91\xa8\xda\xdc\x5a\xda\x49\x5a\xb2\x55\xbe\xb5\x17\xee\x68\x56\x48\x90\xd7\x74\x63\x8e\x44\x40\x3c\x60\x7b\x70\xcc\x8a\xe0\xf1\x4b\x0d\xbe\x5d\x7f\x32\x5d\x9b\x58\x26\x08\xff\xfb\xc9\x04\xdd\xa9\x1d\xfe\x47\xb4\xfd\x5d\xfd\xf7\x17\x55\x2c\x05\x35\x88\x13\xa4\x4a\x55\x90\x3f\x7e\x2a\x9e\x6e\xac\x0a\x18\x99\x23\xe1\x28\xb7\x54\x33\x09\x4f\x95\x3d\xda\x08\x36\x5f\x97\xd0\x5d\x8e\xb0\x75\x48\x75\x23\x95\x55\xca\x2c\xbd\x7a\x03\xd5\xe9\x13\xa9\x43\x47\x10\x67\xf9\x29\xa9\x58\x28\xb3\xdb\xa6\xc1\x2a\x04\xa9\x4e\x22\xd9\x01\xef\x9b\xb9\x9b\x2a\x78\x93\x7f\xe2\x35\xab\x37\x1b\x11\x7f\xad\x24\xd7\x06\x89\x7c\x5f\x77\x62\xde\xa9\x58\xb0\x09\x02\x1f\x79\xbe\x09\x12\x00\x35\x41\xc2\xb0\xbc\xdf\x09\x7a\x25\xa7\x85\xd2\x7f\x52\x2f\xb1\xfb\xaf\x91\x05\xc4\x4e\x5d\x8b\x33\x81\xea\x52\x9c\x56\x3e\x50\x25\xa3\xb9\x45\xf4\x97\xf0\x8f\x45\x49\xe1\x3e\xe5\x12\x70\x8e\x74\xeb\x19\x9a\x29\x40\x2c\x2b\x91\xe0\xfe\xd0\x4e\xa3\xb4\xb3\x2a\xb2\xf9\xcb\xa4\x9d\x35\x61\x1c\x45\xf9\x48\x7a\x1a\xc8\xaa\x72\xc7\x96\x84\xb2\xfb\x9d\x3b\xb6\x52\x74\xc9\x6b\xf5\x73\xc0\xf2\x9a\xa4\xf2\x42\x15\x17\xfe\x16\x3a\xac\xca\x0e\x0a\x21\x04\x98\x88\x28\xce\x67\xa8\x1a\x75\x45\xb9\x41\xe1\xd4\xd4\x61\xad\x55\x6e\xa6\xda\x51\xca\x8c\x50\x58\xbf\x09\xe8\x38\x51\xcc\xb2\x5f\xd2\x46\x7d\x49\xe7\x7e\x46\xe1\x71\x9f\xa0\x5a\x4e\xc2\x99\xe3\xbe\x13\x07\x41\x1f\xb1\x0c\x1a\x31\x75\xde\xaf\x57\x14\x04\xf6\xa6\x3a\x96\xa1\xfa\xe4\x4f\x18\x9c\x89\x66\x3c\xd9\x93\xbf\xb8\x51\x3e\x3f\xd6\x53\xcc\xb4\x24\x0d\xe9\x34\x9a\xae\x34\x9f\xf8\xeb\xec\xba\x38\x10\x5c\x71\xca\xca\x59\x88\xf1\x39\x0e\x11\xcd\x49\x20\x85\x73\x46\x05\x91\x4d\x03\xe6\x98\x4e\xb0\x9b\xa0\x92\x87\xab\xb4\xaa\x97\xe6\x92\x30\xee\x9d\xfb\x5f\x6b\x46\xf5\xe3\xdf\x4b\xb8\xc4\xdd\x05\xbf\x57\x49\x24\x61\x22\x7e\x93\x48\x0a\x89\x94\xb7\x5c\x97\x22\x91\xf2\xba\xfb\x04\xfa\x7b\x90\xa2\x31\xf1\x70\xbd\x43\x71\x85\x90\x91\x93\x76\x44\x01\x37\x20\x80\x22\x97\x01\x88\x27\xbd\xdc\x56\xf4\xcd\x5c\x7d\x76\x45\x3f\x8f\x46\x13\x14\x73\x7c\x64\x1a\x01\xde\x08\x70\xdc\xef\x21\xe2\xf2\x89\xf3\xf7\xa8\xe9\x06\x27\xca\xd3\xc4\x11\x71\xde\x0f\x15\x57\x5b\x13\x33\xbb\x8a\x8f\xaa\xab\xad\xa7\xc2\x6a\x6b\x8d\x5a\x65\xa8\x64\x7d\x0e\xfe\x8c\xcd\x0f\x11\xe0\x8b\x43\x76\x88\x10\x08\x7c\xec\x8e\x1d\x14\x62\x64\xd4\x41\xae\xe5\x10\x1f\xd9\x1c\x4f\x23\xec\x68\xd5\xcd\xcf\x3b\xac\xbe\x31\xf1\x05\x8e\x6e\xa5\xff\x49\x9f\x81\x1f\xd4\x75\x2c\xd5\x62\xe0\xcb\xcf\x5e\x62\x64\x59\x3b\x75\x29\xd1\x6d\xea\xd6\xeb\x3f\xff\xf6\x6e\x0e\x3f\x1f\x3c\x56\xa7\x2c\x15\xe6\x28\x89\xe9\xaa\x82\x83\x52\x3a\xa1\xa8\xc6\x6e\xf9\xbe\x6c\xc3\x7e\x2e\xde\xf1\x10\xb4\x89\xeb\x5c\x89\x27\xa2\x9f\x11\x59\x14\x98\xb6\x96\xec\x7d\xf5\xe1\x83\x21\xfa\x69\xc9\x4b\x65\x1d\x87\x44\x19\xd7\xe9\xac\xa4\xa2\x5f\xcf\x34\x80\xf8\x9f\xd8\x01\x24\xca\xff\x66\x5b\x0d\xfb\x70\xe8\xb0\x5c\x1e\xb9\xf2\x88\xc3\x0a\x2d\xdb\xef\xb8\x84\x26\x1c\x11\x51\xdb\xaf\xf3\x42\xdb\x06\x24\xfe\x27\x15\x76\x56\xea\x8a\x4f\x36\xa3\x22\x27\x9f\xd4\x73\x6a\x29\x9a\x47\x71\x41\xce\x8f\x2b\x2e\x10\x63\x25\xc6\xbf\x62\x1b\xb9\x54\x74\xa2\xaf\x05\x99\x7e\x14\x3c\x28\x5a\xdf\x6e\x73\x74\x76\x66\xac\xf9\x99\x94\x3c\xd1\xa1\x49\xb6\x61\x5a\x7c\x3a\x73\x5e\x08\x55\xf4\x67\x00\x1d\xc5\x58\x8d\x21\xac\x35\xc7\xb8\x85\x5b\x3c\xba\x1a\x1d\x95\xf8\xe8\xaf\xae\x7e\x68\xc4\x3d\x1a\xf0\x9d\xf0\x65\x78\x09\x29\xbc\x83\x1a\xff\xdb\xef\xfe\xf9\x79\xd8\xc7\xea\x26\x98\x9a\x89\x91\x62\xee\xe7\xc9\xee\x0f\x21\x13\xe2\xd7\x3b\x11\x73\x19\x1d\xda\x09\xde\x23\xdc\x69\x71\x73\xf0\x11\xf6\x7c\x2a\xac\x6f\x43\x32\x2d\x07\xca\x6b\xfc\xc5\xa6\x0e\xbc\x9c\xde\x2e\x7b\x0c\xfa\xc8\xeb\x60\x17\x53\x0c\x9d\xb8\x08\x71\x62\x2a\x92\x18\x93\x13\x51\x52\xe1\x2a\xa4\x5a\x92\x36\x1a\x12\x56\xac\x90\xde\x36\x69\x9d\x05\xbd\x03\x4a\x7a\x73\xb5\x54\x5b\x13\x63\x94\x66\xdf\x66\xc5\x5a\x62\x3d\x20\x1f\xbe\x9c\x0a\x7b\x4d\x3c\xda\xa9\x17\x02\xbb\xc7\x83\x27\x2b\xe4\x58\x8d\xf8\x4e\x43\xcb\xd1\x0b\x92\x86\x42\x32\x8e\x73\xd1\x86\x77\x7a\x9f\x57\x7d\xb5\x71\x83\xba\x62\x6d\x9c\xf9\xb1\x64\x10\xcb\x96\xd9\x5f\xb9\x62\x98\xde\x05\x0d\x37\x91\x30\xe4\x6f\x7d\x0b\x9d\xa2\x47\xa3\x1f\x7e\x3b\x9d\x2e\xb6\x85\x22\x8e\xcc\xd5\x40\xae\x7a\xc4\xbc\x78\x75\x0e\x91\xec\xf6\x4d\x7a\x45\x24\x83\xf7\xf1\xe7\x24\x73\xbf\x67\x4e\x12\xa1\x07\xca\xa6\x89\x25\xdd\x11\xeb\xbb\x49\x96\xe1\xb8\x4f\xf7\x68\xaa\xf4\xd9\x73\xcd\x8b\x6f\xbb\xff\x46\x6e\xd3\x62\x56\x2f\x6c\xf0\x34\xb6\x2d\x76\x75\x0f\x4a\xed\xba\xbc\x27\x66\x7e\x1d\x59\xb2\x0f\x17\x23\xfb\xdc\xb2\xa7\xce\x58\x39\xae\x48\x13\xd2\x0a\xb8\x56\x22\xba\xd0\x6a\x97\x2b\xe1\x47\x14\x5a\x4b\xb9\x27\x86\x7c\x92\xe1\x36\xe4\xd6\xc9\xa4\x9f\x5b\x67\xd9\x3f\xbf\x9d\x3d\xff\x3b\xbc\xfa\xb9\xa6\x2d\xdf\x2c\x85\xc9\xd0\x48\x55\xea\xff\x90\x6e\xb5\xcc\xfe\xde\xf3\x7d\xb5\x86\x93\x0e\x5e\xa5\x68\x5a\x2f\x4c\xab\x5e\xae\x52\x7f\xb1\x5c\xa5\x33\x61\x03\x44\x76\x63\xe5\x59\x7b\xad\x5c\x24\x61\x21\xb0\xe0\x9a\x9c\x6d\x1a\x9a\x02\x2f\x30\x72\x6c\x85\x3d\x50\x9c\x18\xd4\x6f\x98\x18\xd4\x4c\x85\xd3\x77\x4f\x14\x3b\x58\x35\x5a\xfb\xde\x16\x4f\x48\x6c\x84\x86\x8c\xc1\x83\x36\x26\xb7\xcf\x12\xfc\xe7\x07\x3f\xfc\x7c\x00\x9f\x2f\xd7\x10\x62\x8b\xd1\xb0\x82\xd8\x73\x5f\xaf\x09\xc4\xa6\xff\x91\x4b\xb7\x8f\x8c\xac\x91\x7d\xab\xd6\x50\x6a\x02\x81\xab\x3d\x85\xd4\xfe\x48\xe9\x5c\xab\xdb\x22\x6c\xae\xf5\x37\x87\x8f\xbc\x8e\x4b\x28\x1e\x61\x0b\x0a\x72\xb8\xe5\x2d\x72\x45\x4e\x76\x37\xb6\xe0\xf7\xea\x2d\x32\xf5\xc7\xba\x42\x33\xbf\x96\x4a\x29\x97\x7c\xba\x5c\xda\x65\xdc\xaf\xb9\x66\x53\x53\xe4\xfb\x70\x9c\xef\xae\xae\x99\xa4\xb1\x4a\xf7\x64\x16\x2c\xcd\x88\x64\xe6\x91\x11\x76\xee\xa0\xa8\x1b\x9d\x6e\xee\x5f\x1c\xfd\x46\x17\x71\x53\xb2\x3e\x98\x72\x05\x39\xdf\x74\xb1\x86\x50\x14\x61\x94\xa1\x06\x45\x5c\x51\xd2\xa3\x19\x55\x6b\x48\x5e\x7b\xac\x1c\x4c\x28\x1e\x23\x62\x05\x7e\x47\xa3\x5a\x40\x9c\xec\x10\x7f\x30\x5d\x08\x60\x4a\x6c\xd6\xc2\x38\xe3\xd7\xdc\xce\x1e\xd2\x47\x93\x2b\x48\xfd\x2f\x4c\xf8\x4f\x8a\x95\xbc\x73\x3e\xbf\xd4\x55\x40\x3b\xf6\xd0\x46\xef\x1d\x41\x4d\x58\xd7\x82\x72\xf4\x21\x35\x90\x13\x9e\x62\x15\x8c\xe5\x9c\xbe\x46\x10\xf3\xca\xd7\x89\x93\x61\xf9\x7b\x79\xc0\x95\xc5\xb5\xc5\xbf\x69\xd0\x8a\xef\x2b\xe1\xca\xe6\xb2\x4a\xa0\xe6\x15\x20\xec\xef\x06\x74\x72\xe2\x91\x4b\x6c\x23\x6f\x5f\xf0\xcf\x3a\x22\xa4\x01\x76\xca\x31\x34\x83\xbe\x3f\x27\x5e\x52\x83\x3a\x49\x5c\xca\xe3\x69\x11\x5c\x45\x1f\x4b\x7c\x37\xea\x02\x9d\xbf\xa5\xc6\x9b\x9c\xde\x72\x51\xa7\xde\x13\xab\x84\xbc\xf0\xb5\x9c\xe4\x11\xb0\xc7\xef\x80\xd5\x21\x22\xfb\xed\x52\x7c\x88\x87\xa1\xac\x7e\xa1\xc0\xc9\x5e\x7a\xbc\x55\xa3\xa6\xc2\x34\x2d\xc7\x9a\x22\x14\xa6\xc0\xae\xf1\x59\x59\xed\x44\x40\x76\xae\xcc\xf6\x4a\x34\xf3\x84\xe2\x54\xa6\x75\x05\x14\x3b\xfe\x86\xcd\xab\xae\x14\xa8\x57\xf2\x6f\x80\x5a\xd4\x44\xed\x2f\x1e\xa2\x81\xe7\x82\x29\x09\x59\x4c\x8b\xb6\xbb\x21\x16\x20\x6d\xa1\xf6\xcd\x02\x9a\xd8\x17\x4a\x4e\x27\xc4\xa3\xfb\x90\xa2\x9d\xe4\xe7\xd3\x9f\x73\xd1\x1c\x84\x8f\xb4\x68\x3b\xfa\xb0\xf1\xfe\xfd\xfb\xf7\x1b\xaf\x5f\x6f\xec\xef\x1b\xed\x1b\x93\x92\x43\x9f\xb0\x61\x90\xc9\x9f\xc8\x8c\x69\xba\xd9\x51\x11\xbb\x18\xbe\x8b\xa7\x68\x77\x4c\x74\x27\xe0\x10\x0b\x3a\xad\x76\x77\xe4\x91\xe9\x31\x99\xb7\xe2\x11\xde\x9d\xed\x15\x0f\xd2\x0d\xa8\x55\x35\xd0\xcd\x4d\xfb\x41\x01\xba\x90\x6b\x11\xd6\x51\x77\x69\x1a\xf1\x83\x4b\xe8\x01\x34\xf8\xf2\xf1\x02\x5d\x9d\x52\x6f\xc7\xd8\x7d\xbe\xb7\x7f\xf0\xe2\xe5\xab\xc3\x9f\x7f\x39\x7a\x7d\xfc\xe6\xe4\xef\x6f\x4f\xcf\xde\xfd\xfa\xdb\x3f\xde\xff\x13\x0e\x2d\x1b\x8d\xc6\x13\xfc\xc7\x85\x33\x75\xc9\xec\x4f\xcf\xa7\xc1\xe5\xfc\xd3\xd5\xe7\x5e\x7f\x73\xeb\xd1\xf7\xdb\x3f\xfc\xf8\x78\x7d\x63\x60\x98\x6c\x96\x69\x54\x86\x5f\x71\x4d\xdf\x24\x26\x36\xa1\xe9\x98\x9e\x69\x0d\x0c\xc3\xb4\x07\xbd\x07\x23\xe2\xb5\xe8\x00\x75\x3f\x06\x74\xf4\xe3\x47\xfe\x6e\x8b\xb6\x9f\xd8\x4f\x69\x97\xf7\xf6\x7d\xd2\xc6\x83\x96\x3b\xa0\x5d\x6b\x02\xbd\x3d\x62\xa3\x5d\xda\xb2\xd7\xd7\xdb\xed\x67\xcf\x36\x4d\x38\x68\x6d\xad\xb9\xed\xa7\x4f\x1f\x5d\xb7\x7c\xe5\x33\x8f\x4c\x67\xd0\xea\x7f\xbf\xe6\xb7\x9f\x3e\xdd\xbc\x6e\x11\xe5\x43\xdb\xa6\x37\xd8\xde\x5a\x23\x26\xf6\x8f\xe1\x71\xcb\x6f\xff\xe4\x0c\xbc\xc1\xf6\xa3\x1d\xfe\x9b\xb4\xd7\xd6\x5a\xe1\xef\xb6\x69\x0d\xac\x75\x3a\xc1\x7e\x57\x80\x8c\x0d\xb6\x4b\x5b\xb8\xad\xbc\x0c\xd5\x97\x1d\xf5\x65\xaf\xfd\x40\xd0\x8b\x75\x63\xda\xa8\x1a\x8e\x21\x14\xad\x08\x8a\xb4\xeb\x21\x16\x8d\xd0\xda\xf8\xf0\x3f\x77\x3b\xff\x84\x9d\xcf\xbd\x4e\x88\x94\xf3\x8d\xb1\x69\x18\xed\x27\x56\x02\xa8\xee\x20\x35\x03\x76\xf8\xf6\x66\xd4\xa2\x72\x2e\x56\x08\x19\x06\x32\xac\xf3\x24\x83\xb4\xcf\x20\x8d\x39\x3a\xa0\xe6\x6b\x9b\x26\x09\x91\x08\xdb\x4f\x9f\x6e\x5f\xb7\x1c\xad\xb7\x4c\x6f\x7d\x70\x4a\x3d\xec\x8e\xd9\xce\xd9\x13\x08\x6d\xb9\x6d\x73\xfb\xd1\xc3\xc1\x00\x86\xf8\x52\x3f\xe2\xb7\xc5\x33\x4e\xf1\x33\xa4\x1d\x21\xc2\x8b\x68\x93\xe3\xa3\xe5\xb5\x6f\xcc\x24\xb1\xa6\x10\x94\xc2\xc1\xef\xde\xef\x6e\x08\xf8\xdf\x5d\xa3\xcd\x30\xc4\x37\x9b\x61\x98\xee\xa0\xf7\xc4\x8d\x71\xe1\xae\xaf\x73\xdc\x66\x28\xd8\x6d\x3f\xf0\x9f\xf6\x37\x7f\xfc\x09\x15\x2d\x65\xc7\x7f\xd6\xdf\xfc\x61\x6d\xcd\x7f\xba\xd9\x7b\xf4\xe3\x4f\xad\xa2\x07\x9f\x3d\xdb\xbe\xee\x3f\xde\x6c\x9b\x05\x0f\x6c\x6f\xad\xf9\xd7\xfd\xcd\x1f\xdb\xed\x9d\x92\x31\xfa\x9b\xd7\x9b\x9b\x8f\x0a\x07\x09\xbf\xb2\xb6\xbd\xc5\xc6\xa9\xfe\xd0\x8d\x00\x30\x92\xe0\x54\xd0\x7b\x16\x68\xa6\x3f\xe8\x99\x24\x0d\xbc\x36\x1e\xb5\xb2\x5b\xdf\x6d\xb7\x43\xb8\xb5\x0b\xe1\x66\xba\xeb\xeb\x0f\x90\xe3\x23\x80\x47\x2d\xff\x59\xff\x71\x9f\xc1\x70\xf3\x51\x3b\xc3\x1f\xdc\xf5\x7e\xe1\x5a\x5a\x5b\x7d\xc6\x55\xb6\xaf\x43\xd6\x11\x8e\x39\xd8\x64\x83\x7e\x51\x0c\xc2\x38\x2d\xce\x5e\xdf\x6c\x3f\x28\x1a\x5c\xb0\xac\xfe\xe6\x75\x8b\x0d\x2f\xbe\x83\xd9\x77\xb6\x62\xe8\xdd\x3c\x48\xc8\xd2\xe7\xd0\x47\xdb\x8f\x76\xd0\x4d\xb1\xcc\x67\x2a\x67\x67\x78\xb5\x12\xb7\x4a\x96\x59\xa1\x81\x8c\x00\xe8\xfe\x2b\x82\xd6\xa4\x6b\xac\x53\xb9\xb3\xb8\x0b\x26\xd4\x5d\x02\x8a\xec\x16\x8a\xe7\x20\xdf\xfd\x70\x2e\x9f\x65\x3c\x61\x8c\x68\x2b\x8a\x65\x64\x4a\xc0\x01\xb4\x26\xad\xe8\x35\xb7\xfd\xe5\xe1\x43\xd4\x1d\x61\xd7\x7e\x7e\xd5\x12\x75\xe5\x4d\xfe\x99\xf0\x5d\xd7\xa4\xed\xf6\xf5\x35\xea\xce\x02\x7f\xc2\x17\xd9\xe2\x77\xc5\x8a\x2d\x0f\x31\x1f\x10\x7b\x73\x27\xfd\xa2\x29\x3e\x1c\x6a\x8b\xed\xb6\x59\xf5\x99\xec\x64\x13\x9f\x74\x43\x85\x0c\xdd\xb4\x4b\x70\x34\xc5\xac\x2d\xd0\xf2\xf1\xf3\x05\xbb\x14\x79\x97\xd0\x49\x6a\x45\x28\xd4\x8b\x38\xfb\x89\xae\xa2\x84\xae\x94\xc0\x0b\x1e\xb5\x2e\x09\xb6\x41\x6f\x30\x18\xb8\xd7\xd7\x6e\xa7\x03\x9e\xf5\xda\x5f\x7c\x44\xcf\xf0\x14\x91\x80\xb6\x7c\x13\xb5\x1f\x50\xef\xea\x0b\xed\x5a\xd0\x71\x5a\xa1\x62\xdd\xbe\xb1\x20\xb5\x26\x8c\x41\x4e\x3c\x32\x07\xe1\x56\xa6\x5d\x4a\x38\xe1\x33\xa5\xe7\x86\x7d\xf2\x41\x66\xa4\x1b\x73\xee\xc1\xd9\x0b\x31\x81\xdc\xa4\xf3\x13\xa4\x5d\x38\x9b\x39\x57\x6c\xb0\x9b\x1b\x13\xbb\x3e\xf2\xe8\x2e\xdd\x0b\x3c\x9f\x78\xa9\xf7\xd9\x62\x12\x3d\xbc\x45\x54\x69\x9b\x76\x99\x2b\xac\xd5\x36\xf3\x37\x05\x85\xbc\x85\xee\x18\xb5\xda\x5d\x8a\x3e\xd1\x01\x8a\xf8\x48\xe2\xc1\x53\x0a\x3d\x7a\x7d\x6d\xf4\x8c\xc1\x60\x90\xbd\x2e\xe4\x78\xee\xba\xe9\x27\x2f\x1d\xb8\xf6\x03\xda\x65\x58\x1c\x88\x7f\xbb\x7e\x30\xf4\x39\xc8\x7a\xa6\xdb\x5e\x47\xeb\xf9\x1b\xbe\x29\xaf\x71\xfe\x18\x62\x3f\xfd\x99\x81\xbb\x2e\x6f\x9a\xe9\xef\x25\xee\xdc\xb0\x45\x89\xa1\xd6\x07\xe8\x26\xd4\x8c\xd0\xfc\x57\xe4\xf9\x2a\x44\x84\xab\x4f\x88\x3e\xe3\xd2\x08\xf5\x0d\x13\x0d\x50\xee\x5a\xf8\x1c\xf5\xf0\x34\x84\x1f\x39\x22\x73\xe4\xed\x41\x1f\xb5\xf8\xc3\xca\x1b\x06\x03\xe2\xda\x9a\x61\x3c\x1c\x0c\x50\x9b\x23\xfd\x61\xef\x81\x94\x98\xfe\xcc\xc1\xb4\x65\x74\x8d\xb6\x49\x06\x28\xf1\x53\x70\x8f\x87\x2d\x5f\xac\xea\xe9\xd6\xf5\x35\x49\xfc\xfd\xb0\x45\x3e\xf4\xce\x9f\xf9\x1f\x7a\xe7\xd7\xd7\xe1\x9f\x83\xc1\x20\xfc\xb1\xb6\x46\x3e\xf4\xc3\xeb\xfd\xf3\xf6\xda\xda\xc3\x96\x1b\x5e\xc8\xdc\x65\x3f\xfa\xec\xc7\x66\xf8\xe8\xe6\x79\x9b\x29\xef\x45\x7b\xda\x45\xab\x89\xf5\xff\x32\x46\xf4\x34\x18\xda\x64\x0a\x71\x02\x31\x0c\x27\xd8\xef\xe2\xd9\xe5\xa3\xd6\x1c\xbb\x36\x99\x33\x63\x83\xbb\xe3\x89\x4f\xdb\x02\x90\x86\xc1\x00\x49\x43\x11\x8b\x06\xaa\x27\xf3\x10\x05\x92\x4c\x9e\xf5\xd7\xd6\x42\xf5\xfd\x43\xef\x3c\x8d\xb4\xb6\x49\x6f\xcc\x31\xa2\xbb\xb3\xd9\x3b\xcf\xc9\x29\xb1\xd5\x1f\x0a\x09\x67\x4a\x2e\x43\x31\xd9\xe3\xc2\xd3\x1d\xa0\xee\x1f\x04\xbb\xa9\x89\x60\xbf\xcb\x6a\x99\xb7\x68\xfb\xa7\x70\x09\x3b\x74\x7d\x60\x74\x0d\x33\x3b\xfc\xcc\x23\x94\x58\xc4\x59\x37\x36\x36\x8c\x75\xba\xee\x86\x04\xbd\xfb\x07\xfc\xb4\xcb\xec\x78\xe6\x73\x50\xd9\x6d\x9c\xdb\x3d\x64\xf4\xd7\x32\xc2\x17\x00\x0c\xe8\x84\x78\xf8\x33\x1b\x18\x8c\x20\x76\x90\xcd\xb7\xb9\x38\x91\xb9\xbe\x8e\xdf\xea\xa2\x70\x64\x7f\x6d\x4d\xfe\x25\x01\xd7\x0b\xc7\x7b\xd4\xeb\xf3\x37\xf9\xbd\x10\x8a\xbc\xd4\xd7\xf5\xb5\xf1\xa8\xb7\xa5\xbe\x17\x9a\xab\x7c\xee\xc7\x84\xbe\x20\x81\x6b\x6b\xcd\x5e\x6f\x4e\xc6\xa3\xde\x23\xf5\x67\xc3\x8f\x1e\x72\x07\xcc\x11\xb6\x90\xeb\xa3\xe5\x7e\x76\xb3\xe0\xb3\x25\x5b\x8a\xb3\x3c\x3d\x07\x46\x4e\x99\x5c\xd0\xd4\x35\x42\x5d\xf4\x89\xff\x94\x3e\xf1\xd7\xd7\x43\x45\xd3\x95\x16\xca\x6b\x48\x27\xdd\x91\x43\x88\xc7\xff\xf4\xa0\x6b\x93\x69\xab\xfd\x2f\xae\x64\xc9\xf1\x36\x5a\xc8\x71\x32\x85\x17\xe8\xd4\x09\xc6\x8a\xdd\xe5\x3b\xc1\xb8\x45\xcd\x2f\xd3\x50\xa3\x36\xbc\x91\xb5\xf5\xf8\xc7\x6d\xc3\x74\xc2\x0d\xca\x0d\x7f\xb9\xf9\x07\x83\x01\x5a\x5b\x6b\xa1\x01\x0d\x95\x12\x33\x1c\xf3\xd0\xde\x41\x26\x72\x6d\xff\x37\x4c\x27\x19\x99\xc9\x5f\xeb\xf4\x19\x42\xa5\x71\x86\x4c\xa9\x8d\x77\x22\xb1\x73\x63\x42\x97\xb8\xef\x7c\xe4\x1d\xda\x49\xae\x24\xbe\x1b\xde\xfc\x68\xac\xa3\x56\xbf\x5f\xca\x35\x29\x59\x91\x22\x14\x72\x4d\x9a\x71\x0f\x21\x29\x99\xbf\x50\x62\x9d\x11\xe2\xf8\x3b\x5f\x82\xd9\x19\x2b\x79\xb3\x63\x18\xa6\x4d\xe6\x6e\xfc\x2b\x5c\xbd\x4b\x0f\x5d\xcb\x63\x3e\xf7\x9d\x9e\x09\x1d\x87\xcc\x0f\xd9\xe5\x9d\x87\x7d\xfe\xf3\x4d\x40\xc5\xef\x1b\x93\xbb\x09\xe1\xd0\x41\x27\x70\x8c\xc2\x47\x82\xd9\xbe\xc8\x30\xda\x79\xd8\x63\xe3\x27\x7f\xf3\x2f\x24\xaf\x10\x3e\x5a\xf2\xd2\x0c\x8e\x43\x8c\x19\xc6\xcd\x03\xce\xf1\x03\x97\x03\xc4\x6e\x21\xc9\xe3\x81\xfb\xc0\xed\xf2\x07\x07\x88\xab\xa6\xd8\x36\xda\x42\x82\x7e\x64\xba\x6c\x38\xef\x4f\x2d\x6a\x2a\xf6\x33\xe5\xaf\x84\x03\x74\xc3\xf7\x42\x9a\x89\x47\xb9\x69\x87\x1f\xee\xf4\x43\x81\x18\x7f\x2f\x1c\x9a\x0c\x3e\x76\xb1\xff\x2e\x9a\x0f\xfd\xe0\x77\xfa\xe7\xed\x9f\xf8\xbf\x3b\xfc\x9f\x78\x6c\xa3\x6d\xe2\xfc\x1b\xeb\xe2\x8d\x75\xfe\xc6\x7a\xfa\x8d\xf0\xd3\xe9\x57\x98\xaf\xc6\xed\x4a\x0c\x76\x25\x02\x07\xa1\xf2\x91\x7e\x14\x67\x1e\x8d\xf1\xcb\x1e\x7e\x98\x1d\x98\x93\x07\x6c\x04\x30\x92\x07\xd8\xc3\xc1\x00\xc6\x6c\xc9\x19\xc0\x27\xce\xb3\x41\x2f\xd4\x37\x04\x74\x1d\x74\x89\x1c\xa3\xfd\x8c\x7e\x70\x12\x8b\xee\x8a\xcb\xed\x27\x4e\xa7\x13\x5a\xbf\xe9\xa7\x43\x2e\xaa\x7e\xfe\x8b\x0a\x2a\x99\x67\x19\x59\x0c\x3d\x04\x2f\x6e\x12\x4f\x27\x08\x5b\x2e\x44\xce\x6d\x90\xfe\xba\x99\x78\x2b\xb3\x41\x32\x6f\x76\x32\x2f\x32\x93\xa2\xf0\xe5\x34\xa2\xb2\x23\x87\x3c\x04\x8f\x5a\x0f\xb3\xe8\xe5\x08\xf3\x1a\x21\x0c\x2b\x11\xe6\xb5\x25\xbe\xac\x81\x97\xf0\xa7\x85\x58\xa3\x1f\x2c\x05\xd8\x9f\xa6\xd7\xd9\x7e\x62\xad\xaf\x17\x60\x4d\xf5\x7a\x0a\x6b\x09\x02\xcd\x3c\x9d\xc0\x5b\x86\x78\x70\xea\x67\x19\xc1\x4b\x9f\x42\x16\xf1\x82\x85\x65\x30\xfd\xac\x6f\xba\xdd\x98\x7f\x0d\x98\x28\x51\x50\x98\xe9\x76\x93\x7c\x2d\xf7\x5c\x3c\x07\xd3\xed\xa6\x39\xde\xe0\xa1\x9a\x06\x4d\xb7\x9b\x61\x84\xf9\x27\xc5\xa4\x4d\xb7\x9b\xe6\xba\x03\xec\x77\x5d\x42\x85\xd6\xa8\x98\x6f\xfb\xfa\xba\xe8\x91\x78\xaa\xed\xeb\x6b\xf5\xd4\xf2\xd7\xa3\x89\xdc\x98\xa1\x3e\xfb\x6e\x56\x60\x7a\x73\x1a\x4d\xba\x41\xe2\x23\x17\x94\x27\x4f\x9a\x9f\xf9\x4d\x68\xff\xb0\x23\x3c\x3c\xf8\x70\x2e\xa4\x41\xb8\x90\x58\x22\xf8\x21\x01\xf8\x03\x3f\xc9\x42\xdb\x66\x4a\x68\xb8\x1c\x00\xc9\x77\x24\x57\xc7\x0f\xf2\xfc\x0f\x69\x6e\x27\x3f\xb9\x9d\x9e\x70\xe6\xb7\xb6\x96\x9b\x20\xfa\x00\x3b\xcc\xe8\x6a\x91\x01\xff\x3b\x35\xd5\x07\x9c\x53\x8a\xc1\x7c\xf4\x67\x80\x5c\x2b\x14\x1c\x9e\xc4\x6b\xb8\x7e\x26\x03\x72\x43\x93\xf6\x4f\x24\xfb\xde\x4e\xcf\xb4\x1a\x2d\xc7\x55\x72\x07\x8b\x23\xd3\x1e\xb4\x9c\x75\xaf\xbd\xb1\xf9\x00\x33\xc7\x4f\xeb\x8b\x10\xd2\x89\xb7\x4c\x39\x89\x1d\xfb\x26\xf6\x0e\x07\x03\x6b\xbd\xff\x24\x78\x8a\x12\x6c\x05\x7d\x08\x54\x6c\x45\x4e\x21\xe2\x2b\xc1\xfa\x7a\xdb\x1e\xb4\xec\xf5\x1c\x74\xda\x1b\x9b\x66\x66\x26\x99\x41\x73\x33\x92\xbc\x00\x73\xaa\xdd\x27\xf3\xbc\xd1\x9f\xd7\x1e\x1a\x41\xcf\x24\x0b\xd0\x7e\xbc\x25\x43\x34\xe4\x51\xce\x08\x89\xe4\x69\x08\x37\x9a\x77\x4a\x88\x9b\x50\xec\x32\xae\xfa\x5c\x5f\xb3\x7f\xb1\xdc\x2c\x50\xd0\x6a\xcf\xf4\x06\x9c\xca\x3c\xe4\xd3\x16\x32\x71\xdb\xb4\xd9\x2f\xe6\x0d\xb4\xaa\x3e\x2d\xf0\xfb\x70\x90\x41\xf8\xf5\x75\x39\x60\x95\xf7\x73\x5a\x88\x1d\x19\x61\x1c\x9f\xc1\xc0\x0e\x6d\xaf\xa4\x4e\x36\x1d\xa0\x0f\x4d\x80\x15\x24\xbf\xd5\xe9\x27\x19\x12\xdb\xa4\xd3\x10\x39\xd3\xc1\x34\xc7\x8b\x52\x4f\x4c\xd3\x42\x27\x43\xf4\xce\xa0\x15\x64\xa9\x7d\x7d\xaa\xa2\x7f\x6f\x90\x7b\x90\xfb\xea\xc3\x55\xcf\x06\xe8\x03\xce\x6a\x96\xce\xa0\x35\xcb\x8d\x9d\xe3\x20\x7c\xec\xdc\x83\x37\xdc\x81\xe6\x0d\x36\xff\xa5\xe5\x0c\x36\xff\xc5\xfa\x60\x49\x13\x29\xf9\x99\x6e\x62\xa0\x07\x50\x83\x59\x38\x09\x66\x31\x92\x6c\xc6\x1c\x0f\xfc\xf5\xfe\x93\x71\x86\x6d\x8c\xb5\xd8\xc6\x58\x1e\x3e\x4d\x06\xad\x11\xe7\x5a\x30\xcb\x2b\xc6\xc5\xbc\x62\x12\xf3\x0a\x78\x23\x2c\x96\x15\x72\x8a\x0f\xe7\x0f\x48\x31\x98\xd8\xa2\x76\xd2\x2b\x5c\xa7\x85\x7a\x63\x02\x96\x98\x41\x10\x67\x20\x88\xb5\x20\x88\xd7\xd7\xdb\x24\x0b\x32\x9c\x03\x19\x9f\x9c\x7a\xd0\xf2\x49\x0a\xf0\x90\x1b\x69\xff\xdd\x2b\x00\x77\xfa\xf7\x07\x8e\x6c\x2e\x11\xb8\x94\x7e\x05\x16\x90\x34\xde\x40\xee\x25\xf6\x88\xcb\xf3\xf6\x3f\x9c\x27\x0f\x9f\xa8\x77\xf5\x45\xb8\x44\x4b\xdf\x42\x83\xe8\x84\xe0\xcf\x00\x79\x57\xbc\xc2\x12\xf1\x5a\xdf\x4d\x11\x85\x1f\x5c\x38\x45\x03\xe3\xbb\x75\xba\xfe\x9d\x71\xfe\x1d\x3b\x11\xda\xa5\xd4\xc3\xc3\x80\xa2\xc4\xd1\x90\xe9\x0e\xbe\x08\xaf\xc4\xce\xcf\xa7\x6f\x8e\xbb\x33\xe8\xf9\xa8\x15\xb8\xc8\xb7\xe0\x0c\x85\x46\xfc\x8d\x5c\x92\xda\xe1\xe1\x16\x3b\x3c\x5c\x71\xf2\x82\xa2\x93\x17\x34\x07\xcc\x6f\xd7\xfa\x6e\x8f\x04\x8e\x0d\x5c\x42\x81\x87\xa0\xcd\x0b\x0c\x8e\xc1\xc8\x23\x53\x10\xce\x1f\x50\x38\x66\x45\xf2\x78\x09\x42\xb1\x90\xee\x77\xec\xdc\xca\x0b\x5c\x17\xbb\xe3\x33\xe4\x53\xff\xfa\xda\x43\x7f\x06\xd8\x4b\x02\x19\xce\x66\x46\x5b\x3a\x5b\xa2\x73\xb5\xa3\x37\x2f\x3f\xbe\x3d\x38\x7d\x73\xf4\xeb\xc1\xdb\x9d\x87\x7d\x33\xfc\xbd\xbb\x77\x76\xf8\xeb\xc1\xc7\x97\x07\xc7\x07\x6f\x77\xcf\x0e\xdf\x1c\xcb\x1b\xbf\x1e\x1e\xfc\xf6\xf1\xe8\xcd\x9b\x5f\xde\x9d\x9c\xca\x6b\x67\x6f\x77\x8f\x4f\x0f\xc3\xa7\x54\x97\x3e\x1e\x1e\x9f\x1d\xbc\x3d\xde\x3d\x0a\xef\xb9\xa9\x60\x29\xc3\xbc\x14\x27\x17\x46\xbf\xfb\x43\xaf\xdb\x5b\xb7\x7b\xa8\xd7\xfb\x7e\xb4\x6d\xdc\xb4\x1f\xfc\xff\x00\x00\x00\xff\xff\x4b\xde\x1d\x03\x4f\x8c\x09\x00") -func bindataPublicAssetsDocumizeFa9bb4d957702a968245808b3b9bec0fCssBytes() ([]byte, error) { +func bindataPublicAssetsDocumizeC5ca96bc6e367ed06247e94fba7fb20dJsBytes() ([]byte, error) { return bindataRead( - _bindataPublicAssetsDocumizeFa9bb4d957702a968245808b3b9bec0fCss, - "bindata/public/assets/documize-fa9bb4d957702a968245808b3b9bec0f.css", + _bindataPublicAssetsDocumizeC5ca96bc6e367ed06247e94fba7fb20dJs, + "bindata/public/assets/documize-c5ca96bc6e367ed06247e94fba7fb20d.js", ) } -func bindataPublicAssetsDocumizeFa9bb4d957702a968245808b3b9bec0fCss() (*asset, error) { - bytes, err := bindataPublicAssetsDocumizeFa9bb4d957702a968245808b3b9bec0fCssBytes() +func bindataPublicAssetsDocumizeC5ca96bc6e367ed06247e94fba7fb20dJs() (*asset, error) { + bytes, err := bindataPublicAssetsDocumizeC5ca96bc6e367ed06247e94fba7fb20dJsBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/documize-fa9bb4d957702a968245808b3b9bec0f.css", size: 295690, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/documize-c5ca96bc6e367ed06247e94fba7fb20d.js", size: 625743, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1076,7 +1077,7 @@ func bindataPublicAssetsFontIconsMaterialiconsRegularEot() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/font/icons/MaterialIcons-Regular.eot", size: 143258, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/font/icons/MaterialIcons-Regular.eot", size: 143258, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1096,7 +1097,7 @@ func bindataPublicAssetsFontIconsMaterialiconsRegularTtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/font/icons/MaterialIcons-Regular.ttf", size: 128180, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/font/icons/MaterialIcons-Regular.ttf", size: 128180, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1116,7 +1117,7 @@ func bindataPublicAssetsFontIconsMaterialiconsRegularWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/font/icons/MaterialIcons-Regular.woff", size: 57620, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/font/icons/MaterialIcons-Regular.woff", size: 57620, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1136,7 +1137,7 @@ func bindataPublicAssetsFontIconsMaterialiconsRegularWoff2() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/font/icons/MaterialIcons-Regular.woff2", size: 44300, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/font/icons/MaterialIcons-Regular.woff2", size: 44300, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1156,7 +1157,7 @@ func bindataPublicAssetsImgAttachmentsAviPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/avi.png", size: 1495, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/avi.png", size: 1495, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1176,7 +1177,7 @@ func bindataPublicAssetsImgAttachmentsBinPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/bin.png", size: 1470, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/bin.png", size: 1470, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1196,7 +1197,7 @@ func bindataPublicAssetsImgAttachmentsCodePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/code.png", size: 1520, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/code.png", size: 1520, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1216,7 +1217,7 @@ func bindataPublicAssetsImgAttachmentsCssPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/css.png", size: 1542, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/css.png", size: 1542, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1236,7 +1237,7 @@ func bindataPublicAssetsImgAttachmentsDocPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/doc.png", size: 1497, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/doc.png", size: 1497, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1256,7 +1257,7 @@ func bindataPublicAssetsImgAttachmentsGifPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/gif.png", size: 1463, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/gif.png", size: 1463, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1276,7 +1277,7 @@ func bindataPublicAssetsImgAttachmentsHtmlPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/html.png", size: 1459, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/html.png", size: 1459, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1296,7 +1297,7 @@ func bindataPublicAssetsImgAttachmentsImagePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/image.png", size: 1511, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/image.png", size: 1511, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1316,7 +1317,7 @@ func bindataPublicAssetsImgAttachmentsJpgPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/jpg.png", size: 1502, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/jpg.png", size: 1502, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1336,7 +1337,7 @@ func bindataPublicAssetsImgAttachmentsMp3Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/mp3.png", size: 1509, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/mp3.png", size: 1509, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1356,7 +1357,7 @@ func bindataPublicAssetsImgAttachmentsPdfPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/pdf.png", size: 1443, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/pdf.png", size: 1443, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1376,7 +1377,7 @@ func bindataPublicAssetsImgAttachmentsPngPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/png.png", size: 1514, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/png.png", size: 1514, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1396,7 +1397,7 @@ func bindataPublicAssetsImgAttachmentsPptPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/ppt.png", size: 1445, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/ppt.png", size: 1445, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1416,7 +1417,7 @@ func bindataPublicAssetsImgAttachmentsPsdPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/psd.png", size: 1508, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/psd.png", size: 1508, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1436,7 +1437,7 @@ func bindataPublicAssetsImgAttachmentsSettingsPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/settings.png", size: 1589, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/settings.png", size: 1589, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1456,7 +1457,7 @@ func bindataPublicAssetsImgAttachmentsTxtPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/txt.png", size: 1444, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/txt.png", size: 1444, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1476,7 +1477,7 @@ func bindataPublicAssetsImgAttachmentsUnknownPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/unknown.png", size: 1391, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/unknown.png", size: 1391, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1496,7 +1497,7 @@ func bindataPublicAssetsImgAttachmentsVectorPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/vector.png", size: 1395, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/vector.png", size: 1395, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1516,7 +1517,7 @@ func bindataPublicAssetsImgAttachmentsVideoPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/video.png", size: 1336, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/video.png", size: 1336, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1536,7 +1537,7 @@ func bindataPublicAssetsImgAttachmentsVsdPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/vsd.png", size: 1545, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/vsd.png", size: 1545, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1556,7 +1557,7 @@ func bindataPublicAssetsImgAttachmentsXlsPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/xls.png", size: 1520, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/xls.png", size: 1520, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1576,7 +1577,7 @@ func bindataPublicAssetsImgAttachmentsZipPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/attachments/zip.png", size: 1459, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/attachments/zip.png", size: 1459, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1596,7 +1597,7 @@ func bindataPublicAssetsImgBusyBlackGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/busy-black.gif", size: 97340, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/busy-black.gif", size: 97340, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1616,7 +1617,7 @@ func bindataPublicAssetsImgBusyGrayGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/busy-gray.gif", size: 83378, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/busy-gray.gif", size: 83378, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1636,7 +1637,7 @@ func bindataPublicAssetsImgBusyWhiteGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/busy-white.gif", size: 42705, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/busy-white.gif", size: 42705, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1656,7 +1657,7 @@ func bindataPublicAssetsImgGithubIconLastUpdatedPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/github/icon-last-updated.png", size: 1293, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/github/icon-last-updated.png", size: 1293, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1676,7 +1677,7 @@ func bindataPublicAssetsImgIconBlack1024x1024Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-black-1024x1024.png", size: 17397, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-black-1024x1024.png", size: 17397, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1696,7 +1697,7 @@ func bindataPublicAssetsImgIconBlack128x128Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-black-128x128.png", size: 2418, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-black-128x128.png", size: 2418, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1716,7 +1717,7 @@ func bindataPublicAssetsImgIconBlack256x256Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-black-256x256.png", size: 4174, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-black-256x256.png", size: 4174, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1736,7 +1737,7 @@ func bindataPublicAssetsImgIconBlack64x64Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-black-64x64.png", size: 1724, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-black-64x64.png", size: 1724, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1756,7 +1757,7 @@ func bindataPublicAssetsImgIconBlue1024x1024Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-blue-1024x1024.png", size: 16700, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-blue-1024x1024.png", size: 16700, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1776,7 +1777,7 @@ func bindataPublicAssetsImgIconBlue128x128Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-blue-128x128.png", size: 2526, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-blue-128x128.png", size: 2526, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1796,7 +1797,7 @@ func bindataPublicAssetsImgIconBlue256x256Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-blue-256x256.png", size: 4247, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-blue-256x256.png", size: 4247, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1816,7 +1817,7 @@ func bindataPublicAssetsImgIconBlue64x64Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-blue-64x64.png", size: 1751, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-blue-64x64.png", size: 1751, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1836,7 +1837,7 @@ func bindataPublicAssetsImgIconPurple1024x1024Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-purple-1024x1024.png", size: 50539, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-purple-1024x1024.png", size: 50539, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1856,7 +1857,7 @@ func bindataPublicAssetsImgIconPurple128x128Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-purple-128x128.png", size: 4181, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-purple-128x128.png", size: 4181, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1876,7 +1877,7 @@ func bindataPublicAssetsImgIconPurple256x256Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-purple-256x256.png", size: 8627, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-purple-256x256.png", size: 8627, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1896,7 +1897,7 @@ func bindataPublicAssetsImgIconPurple64x64Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-purple-64x64.png", size: 2091, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-purple-64x64.png", size: 2091, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1916,7 +1917,7 @@ func bindataPublicAssetsImgIconWhite1024x1024Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-white-1024x1024.png", size: 17035, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-white-1024x1024.png", size: 17035, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1936,7 +1937,7 @@ func bindataPublicAssetsImgIconWhite128x128Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-white-128x128.png", size: 2542, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-white-128x128.png", size: 2542, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1956,7 +1957,7 @@ func bindataPublicAssetsImgIconWhite256x256Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-white-256x256.png", size: 4213, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-white-256x256.png", size: 4213, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1976,7 +1977,7 @@ func bindataPublicAssetsImgIconWhite64x64Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/icon-white-64x64.png", size: 1747, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/icon-white-64x64.png", size: 1747, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1996,7 +1997,7 @@ func bindataPublicAssetsImgLogoBlackPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/logo-black.png", size: 10031, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/logo-black.png", size: 10031, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2016,7 +2017,7 @@ func bindataPublicAssetsImgLogoColorPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/logo-color.png", size: 5618, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/logo-color.png", size: 5618, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2036,7 +2037,7 @@ func bindataPublicAssetsImgLogoPurplePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/logo-purple.png", size: 7706, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/logo-purple.png", size: 7706, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2056,7 +2057,7 @@ func bindataPublicAssetsImgOnboardLockGreenPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/onboard/lock-green.png", size: 3229, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/onboard/lock-green.png", size: 3229, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2076,7 +2077,7 @@ func bindataPublicAssetsImgOnboardLockRedPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/onboard/lock-red.png", size: 3158, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/onboard/lock-red.png", size: 3158, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2096,7 +2097,7 @@ func bindataPublicAssetsImgOnboardLockPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/onboard/lock.png", size: 3004, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/onboard/lock.png", size: 3004, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2116,7 +2117,7 @@ func bindataPublicAssetsImgOnboardNavIconsPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/onboard/nav-icons.png", size: 2527, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/onboard/nav-icons.png", size: 2527, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2136,7 +2137,7 @@ func bindataPublicAssetsImgOnboardPatternPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/onboard/pattern.png", size: 6084, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/onboard/pattern.png", size: 6084, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2156,7 +2157,7 @@ func bindataPublicAssetsImgOnboardPersonGreenPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/onboard/person-green.png", size: 6260, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/onboard/person-green.png", size: 6260, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2176,7 +2177,7 @@ func bindataPublicAssetsImgOnboardPersonRedPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/onboard/person-red.png", size: 6057, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/onboard/person-red.png", size: 6057, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2196,7 +2197,7 @@ func bindataPublicAssetsImgOnboardPersonPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/onboard/person.png", size: 5580, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/onboard/person.png", size: 5580, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2216,7 +2217,7 @@ func bindataPublicAssetsImgSetupCogsPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/setup/cogs.png", size: 14989, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/setup/cogs.png", size: 14989, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2236,7 +2237,7 @@ func bindataPublicAssetsImgSetupErrorPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/setup/error.png", size: 2660, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/setup/error.png", size: 2660, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2256,7 +2257,7 @@ func bindataPublicAssetsImgSetupLogoPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/img/setup/logo.png", size: 5618, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/img/setup/logo.png", size: 5618, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2276,7 +2277,7 @@ func bindataPublicAssetsVendor1fcd93351ab61470f1623afd1573eb3fCss() (*asset, err return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/vendor-1fcd93351ab61470f1623afd1573eb3f.css", size: 5708, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/vendor-1fcd93351ab61470f1623afd1573eb3f.css", size: 5708, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2296,7 +2297,7 @@ func bindataPublicAssetsVendor2b4ddd2df3c06a05d0a21c325583a6caJs() (*asset, erro return nil, err } - info := bindataFileInfo{name: "bindata/public/assets/vendor-2b4ddd2df3c06a05d0a21c325583a6ca.js", size: 1863575, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/assets/vendor-2b4ddd2df3c06a05d0a21c325583a6ca.js", size: 1863575, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2316,7 +2317,7 @@ func bindataPublicCodemirrorAddonCommentCommentJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/comment/comment.js", size: 3999, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/comment/comment.js", size: 3999, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2336,7 +2337,7 @@ func bindataPublicCodemirrorAddonCommentContinuecommentJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/comment/continuecomment.js", size: 1558, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/comment/continuecomment.js", size: 1558, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2356,7 +2357,7 @@ func bindataPublicCodemirrorAddonDialogDialogCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/dialog/dialog.css", size: 507, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/dialog/dialog.css", size: 507, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2376,7 +2377,7 @@ func bindataPublicCodemirrorAddonDialogDialogJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/dialog/dialog.js", size: 2303, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/dialog/dialog.js", size: 2303, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2396,7 +2397,7 @@ func bindataPublicCodemirrorAddonDisplayAutorefreshJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/autorefresh.js", size: 852, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/autorefresh.js", size: 852, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2416,7 +2417,7 @@ func bindataPublicCodemirrorAddonDisplayFullscreenCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/fullscreen.css", size: 116, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/fullscreen.css", size: 116, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2436,7 +2437,7 @@ func bindataPublicCodemirrorAddonDisplayFullscreenJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/fullscreen.js", size: 888, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/fullscreen.js", size: 888, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2456,7 +2457,7 @@ func bindataPublicCodemirrorAddonDisplayPanelJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/panel.js", size: 2409, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/panel.js", size: 2409, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2476,7 +2477,7 @@ func bindataPublicCodemirrorAddonDisplayPlaceholderJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/placeholder.js", size: 1237, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/placeholder.js", size: 1237, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2496,7 +2497,7 @@ func bindataPublicCodemirrorAddonDisplayRulersJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/rulers.js", size: 1177, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/display/rulers.js", size: 1177, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2516,7 +2517,7 @@ func bindataPublicCodemirrorAddonEditClosebracketsJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/closebrackets.js", size: 3483, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/closebrackets.js", size: 3483, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2536,7 +2537,7 @@ func bindataPublicCodemirrorAddonEditClosetagJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/closetag.js", size: 3407, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/closetag.js", size: 3407, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2556,7 +2557,7 @@ func bindataPublicCodemirrorAddonEditContinuelistJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/continuelist.js", size: 1368, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/continuelist.js", size: 1368, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2576,7 +2577,7 @@ func bindataPublicCodemirrorAddonEditMatchbracketsJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/matchbrackets.js", size: 2883, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/matchbrackets.js", size: 2883, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2596,7 +2597,7 @@ func bindataPublicCodemirrorAddonEditMatchtagsJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/matchtags.js", size: 1342, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/matchtags.js", size: 1342, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2616,7 +2617,7 @@ func bindataPublicCodemirrorAddonEditTrailingspaceJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/trailingspace.js", size: 503, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/edit/trailingspace.js", size: 503, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2636,7 +2637,7 @@ func bindataPublicCodemirrorAddonFoldBraceFoldJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/brace-fold.js", size: 1909, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/brace-fold.js", size: 1909, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2656,7 +2657,7 @@ func bindataPublicCodemirrorAddonFoldCommentFoldJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/comment-fold.js", size: 1018, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/comment-fold.js", size: 1018, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2676,7 +2677,7 @@ func bindataPublicCodemirrorAddonFoldFoldcodeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/foldcode.js", size: 2503, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/foldcode.js", size: 2503, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2696,7 +2697,7 @@ func bindataPublicCodemirrorAddonFoldFoldgutterCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/foldgutter.css", size: 435, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/foldgutter.css", size: 435, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2716,7 +2717,7 @@ func bindataPublicCodemirrorAddonFoldFoldgutterJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/foldgutter.js", size: 2425, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/foldgutter.js", size: 2425, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2736,7 +2737,7 @@ func bindataPublicCodemirrorAddonFoldIndentFoldJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/indent-fold.js", size: 651, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/indent-fold.js", size: 651, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2756,7 +2757,7 @@ func bindataPublicCodemirrorAddonFoldMarkdownFoldJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/markdown-fold.js", size: 712, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/markdown-fold.js", size: 712, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2776,7 +2777,7 @@ func bindataPublicCodemirrorAddonFoldXmlFoldJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/xml-fold.js", size: 3407, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/fold/xml-fold.js", size: 3407, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2796,7 +2797,7 @@ func bindataPublicCodemirrorAddonHintAnywordHintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/anyword-hint.js", size: 788, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/anyword-hint.js", size: 788, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2816,7 +2817,7 @@ func bindataPublicCodemirrorAddonHintCssHintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/css-hint.js", size: 1173, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/css-hint.js", size: 1173, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2836,7 +2837,7 @@ func bindataPublicCodemirrorAddonHintHtmlHintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/html-hint.js", size: 7630, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/html-hint.js", size: 7630, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2856,7 +2857,7 @@ func bindataPublicCodemirrorAddonHintJavascriptHintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/javascript-hint.js", size: 3138, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/javascript-hint.js", size: 3138, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2876,7 +2877,7 @@ func bindataPublicCodemirrorAddonHintShowHintCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/show-hint.css", size: 623, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/show-hint.css", size: 623, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2896,7 +2897,7 @@ func bindataPublicCodemirrorAddonHintShowHintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/show-hint.js", size: 8702, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/show-hint.js", size: 8702, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2916,7 +2917,7 @@ func bindataPublicCodemirrorAddonHintSqlHintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/sql-hint.js", size: 3727, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/sql-hint.js", size: 3727, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2936,7 +2937,7 @@ func bindataPublicCodemirrorAddonHintXmlHintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/xml-hint.js", size: 2152, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/hint/xml-hint.js", size: 2152, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2956,7 +2957,7 @@ func bindataPublicCodemirrorAddonLintCoffeescriptLintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/coffeescript-lint.js", size: 757, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/coffeescript-lint.js", size: 757, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2976,7 +2977,7 @@ func bindataPublicCodemirrorAddonLintCssLintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/css-lint.js", size: 607, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/css-lint.js", size: 607, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2996,7 +2997,7 @@ func bindataPublicCodemirrorAddonLintHtmlLintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/html-lint.js", size: 938, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/html-lint.js", size: 938, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3016,7 +3017,7 @@ func bindataPublicCodemirrorAddonLintJavascriptLintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/javascript-lint.js", size: 920, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/javascript-lint.js", size: 920, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3036,7 +3037,7 @@ func bindataPublicCodemirrorAddonLintJsonLintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/json-lint.js", size: 629, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/json-lint.js", size: 629, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3056,7 +3057,7 @@ func bindataPublicCodemirrorAddonLintLintCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/lint.css", size: 2999, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/lint.css", size: 2999, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3076,7 +3077,7 @@ func bindataPublicCodemirrorAddonLintLintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/lint.js", size: 4255, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/lint.js", size: 4255, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3096,7 +3097,7 @@ func bindataPublicCodemirrorAddonLintYamlLintJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/yaml-lint.js", size: 537, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/lint/yaml-lint.js", size: 537, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3116,7 +3117,7 @@ func bindataPublicCodemirrorAddonMergeMergeCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/merge/merge.css", size: 3423, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/merge/merge.css", size: 3423, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3136,7 +3137,7 @@ func bindataPublicCodemirrorAddonMergeMergeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/merge/merge.js", size: 18354, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/merge/merge.js", size: 18354, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3156,7 +3157,7 @@ func bindataPublicCodemirrorAddonModeLoadmodeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/loadmode.js", size: 1162, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/loadmode.js", size: 1162, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3176,7 +3177,7 @@ func bindataPublicCodemirrorAddonModeMultiplexJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/multiplex.js", size: 2209, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/multiplex.js", size: 2209, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3196,7 +3197,7 @@ func bindataPublicCodemirrorAddonModeMultiplex_testJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/multiplex_test.js", size: 492, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/multiplex_test.js", size: 492, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3216,7 +3217,7 @@ func bindataPublicCodemirrorAddonModeOverlayJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/overlay.js", size: 1321, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/overlay.js", size: 1321, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3236,7 +3237,7 @@ func bindataPublicCodemirrorAddonModeSimpleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/simple.js", size: 4044, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/mode/simple.js", size: 4044, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3256,7 +3257,7 @@ func bindataPublicCodemirrorAddonRunmodeColorizeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/runmode/colorize.js", size: 673, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/runmode/colorize.js", size: 673, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3276,7 +3277,7 @@ func bindataPublicCodemirrorAddonRunmodeRunmodeStandaloneJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/runmode/runmode-standalone.js", size: 3144, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/runmode/runmode-standalone.js", size: 3144, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3296,7 +3297,7 @@ func bindataPublicCodemirrorAddonRunmodeRunmodeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/runmode/runmode.js", size: 1131, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/runmode/runmode.js", size: 1131, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3316,7 +3317,7 @@ func bindataPublicCodemirrorAddonRunmodeRunmodeNodeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/runmode/runmode.node.js", size: 4336, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/runmode/runmode.node.js", size: 4336, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3336,7 +3337,7 @@ func bindataPublicCodemirrorAddonScrollAnnotatescrollbarJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/scroll/annotatescrollbar.js", size: 2659, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/scroll/annotatescrollbar.js", size: 2659, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3356,7 +3357,7 @@ func bindataPublicCodemirrorAddonScrollScrollpastendJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/scroll/scrollpastend.js", size: 798, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/scroll/scrollpastend.js", size: 798, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3376,7 +3377,7 @@ func bindataPublicCodemirrorAddonScrollSimplescrollbarsCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/scroll/simplescrollbars.css", size: 1347, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/scroll/simplescrollbars.css", size: 1347, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3396,7 +3397,7 @@ func bindataPublicCodemirrorAddonScrollSimplescrollbarsJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/scroll/simplescrollbars.js", size: 3101, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/scroll/simplescrollbars.js", size: 3101, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3416,7 +3417,7 @@ func bindataPublicCodemirrorAddonSearchJumpToLineJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/jump-to-line.js", size: 1101, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/jump-to-line.js", size: 1101, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3436,7 +3437,7 @@ func bindataPublicCodemirrorAddonSearchMatchHighlighterJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/match-highlighter.js", size: 2707, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/match-highlighter.js", size: 2707, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3456,7 +3457,7 @@ func bindataPublicCodemirrorAddonSearchMatchesonscrollbarCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/matchesonscrollbar.css", size: 188, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/matchesonscrollbar.css", size: 188, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3476,7 +3477,7 @@ func bindataPublicCodemirrorAddonSearchMatchesonscrollbarJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/matchesonscrollbar.js", size: 2144, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/matchesonscrollbar.js", size: 2144, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3496,7 +3497,7 @@ func bindataPublicCodemirrorAddonSearchSearchJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/search.js", size: 5127, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/search.js", size: 5127, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3516,7 +3517,7 @@ func bindataPublicCodemirrorAddonSearchSearchcursorJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/searchcursor.js", size: 5185, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/search/searchcursor.js", size: 5185, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3536,7 +3537,7 @@ func bindataPublicCodemirrorAddonSelectionActiveLineJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/selection/active-line.js", size: 1347, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/selection/active-line.js", size: 1347, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3556,7 +3557,7 @@ func bindataPublicCodemirrorAddonSelectionMarkSelectionJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/selection/mark-selection.js", size: 1778, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/selection/mark-selection.js", size: 1778, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3576,7 +3577,7 @@ func bindataPublicCodemirrorAddonSelectionSelectionPointerJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/selection/selection-pointer.js", size: 1915, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/selection/selection-pointer.js", size: 1915, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3596,7 +3597,7 @@ func bindataPublicCodemirrorAddonTernTernCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/tern/tern.css", size: 1872, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/tern/tern.css", size: 1872, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3616,7 +3617,7 @@ func bindataPublicCodemirrorAddonTernTernJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/tern/tern.js", size: 11757, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/tern/tern.js", size: 11757, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3636,7 +3637,7 @@ func bindataPublicCodemirrorAddonTernWorkerJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/tern/worker.js", size: 760, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/tern/worker.js", size: 760, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3656,7 +3657,7 @@ func bindataPublicCodemirrorAddonWrapHardwrapJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/addon/wrap/hardwrap.js", size: 2413, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/addon/wrap/hardwrap.js", size: 2413, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3676,7 +3677,7 @@ func bindataPublicCodemirrorLibCodemirrorJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/lib/codemirror.js", size: 167561, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/lib/codemirror.js", size: 167561, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3696,7 +3697,7 @@ func bindataPublicCodemirrorModeAplAplJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/apl/apl.js", size: 2676, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/apl/apl.js", size: 2676, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3716,7 +3717,7 @@ func bindataPublicCodemirrorModeAplIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/apl/index.html", size: 2662, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/apl/index.html", size: 2662, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3736,7 +3737,7 @@ func bindataPublicCodemirrorModeAsciiarmorAsciiarmorJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/asciiarmor/asciiarmor.js", size: 1178, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/asciiarmor/asciiarmor.js", size: 1178, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3756,7 +3757,7 @@ func bindataPublicCodemirrorModeAsciiarmorIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/asciiarmor/index.html", size: 1651, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/asciiarmor/index.html", size: 1651, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3776,7 +3777,7 @@ func bindataPublicCodemirrorModeAsn1Asn1Js() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/asn.1/asn.1.js", size: 4214, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/asn.1/asn.1.js", size: 4214, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3796,7 +3797,7 @@ func bindataPublicCodemirrorModeAsn1IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/asn.1/index.html", size: 2544, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/asn.1/index.html", size: 2544, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3816,7 +3817,7 @@ func bindataPublicCodemirrorModeAsteriskAsteriskJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/asterisk/asterisk.js", size: 4330, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/asterisk/asterisk.js", size: 4330, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3836,7 +3837,7 @@ func bindataPublicCodemirrorModeAsteriskIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/asterisk/index.html", size: 4913, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/asterisk/index.html", size: 4913, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3856,7 +3857,7 @@ func bindataPublicCodemirrorModeBrainfuckBrainfuckJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/brainfuck/brainfuck.js", size: 815, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/brainfuck/brainfuck.js", size: 815, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3876,7 +3877,7 @@ func bindataPublicCodemirrorModeBrainfuckIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/brainfuck/index.html", size: 3821, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/brainfuck/index.html", size: 3821, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3896,7 +3897,7 @@ func bindataPublicCodemirrorModeClikeClikeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/clike/clike.js", size: 18827, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/clike/clike.js", size: 18827, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3916,7 +3917,7 @@ func bindataPublicCodemirrorModeClikeIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/clike/index.html", size: 10910, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/clike/index.html", size: 10910, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3936,7 +3937,7 @@ func bindataPublicCodemirrorModeClikeScalaHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/clike/scala.html", size: 29001, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/clike/scala.html", size: 29001, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3956,7 +3957,7 @@ func bindataPublicCodemirrorModeClikeTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/clike/test.js", size: 1853, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/clike/test.js", size: 1853, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3976,7 +3977,7 @@ func bindataPublicCodemirrorModeClojureClojureJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/clojure/clojure.js", size: 9254, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/clojure/clojure.js", size: 9254, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3996,7 +3997,7 @@ func bindataPublicCodemirrorModeClojureIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/clojure/index.html", size: 2872, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/clojure/index.html", size: 2872, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4016,7 +4017,7 @@ func bindataPublicCodemirrorModeCmakeCmakeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/cmake/cmake.js", size: 1019, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/cmake/cmake.js", size: 1019, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4036,7 +4037,7 @@ func bindataPublicCodemirrorModeCmakeIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/cmake/index.html", size: 4635, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/cmake/index.html", size: 4635, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4056,7 +4057,7 @@ func bindataPublicCodemirrorModeCobolCobolJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/cobol/cobol.js", size: 6418, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/cobol/cobol.js", size: 6418, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4076,7 +4077,7 @@ func bindataPublicCodemirrorModeCobolIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/cobol/index.html", size: 9372, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/cobol/index.html", size: 9372, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4096,7 +4097,7 @@ func bindataPublicCodemirrorModeCoffeescriptCoffeescriptJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/coffeescript/coffeescript.js", size: 4205, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/coffeescript/coffeescript.js", size: 4205, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4116,7 +4117,7 @@ func bindataPublicCodemirrorModeCoffeescriptIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/coffeescript/index.html", size: 22799, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/coffeescript/index.html", size: 22799, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4136,7 +4137,7 @@ func bindataPublicCodemirrorModeCommonlispCommonlispJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/commonlisp/commonlisp.js", size: 2537, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/commonlisp/commonlisp.js", size: 2537, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4156,7 +4157,7 @@ func bindataPublicCodemirrorModeCommonlispIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/commonlisp/index.html", size: 7013, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/commonlisp/index.html", size: 7013, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4176,7 +4177,7 @@ func bindataPublicCodemirrorModeCrystalCrystalJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/crystal/crystal.js", size: 5305, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/crystal/crystal.js", size: 5305, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4196,7 +4197,7 @@ func bindataPublicCodemirrorModeCrystalIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/crystal/index.html", size: 3088, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/crystal/index.html", size: 3088, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4216,7 +4217,7 @@ func bindataPublicCodemirrorModeCssCssJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/css.js", size: 24830, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/css.js", size: 24830, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4236,7 +4237,7 @@ func bindataPublicCodemirrorModeCssGssHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/gss.html", size: 3585, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/gss.html", size: 3585, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4256,7 +4257,7 @@ func bindataPublicCodemirrorModeCssGss_testJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/gss_test.js", size: 256, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/gss_test.js", size: 256, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4276,7 +4277,7 @@ func bindataPublicCodemirrorModeCssIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/index.html", size: 2716, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/index.html", size: 2716, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4296,7 +4297,7 @@ func bindataPublicCodemirrorModeCssLessHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/less.html", size: 4549, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/less.html", size: 4549, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4316,7 +4317,7 @@ func bindataPublicCodemirrorModeCssLess_testJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/less_test.js", size: 1473, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/less_test.js", size: 1473, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4336,7 +4337,7 @@ func bindataPublicCodemirrorModeCssScssHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/scss.html", size: 3064, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/scss.html", size: 3064, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4356,7 +4357,7 @@ func bindataPublicCodemirrorModeCssScss_testJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/scss_test.js", size: 2562, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/scss_test.js", size: 2562, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4376,7 +4377,7 @@ func bindataPublicCodemirrorModeCssTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/test.js", size: 5716, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/css/test.js", size: 5716, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4396,7 +4397,7 @@ func bindataPublicCodemirrorModeCypherCypherJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/cypher/cypher.js", size: 3462, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/cypher/cypher.js", size: 3462, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4416,7 +4417,7 @@ func bindataPublicCodemirrorModeCypherIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/cypher/index.html", size: 2230, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/cypher/index.html", size: 2230, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4436,7 +4437,7 @@ func bindataPublicCodemirrorModeCypherTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/cypher/test.js", size: 1047, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/cypher/test.js", size: 1047, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4456,7 +4457,7 @@ func bindataPublicCodemirrorModeDDJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/d/d.js", size: 3910, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/d/d.js", size: 3910, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4476,7 +4477,7 @@ func bindataPublicCodemirrorModeDIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/d/index.html", size: 6815, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/d/index.html", size: 6815, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4496,7 +4497,7 @@ func bindataPublicCodemirrorModeDTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/d/test.js", size: 238, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/d/test.js", size: 238, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4516,7 +4517,7 @@ func bindataPublicCodemirrorModeDartDartJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dart/dart.js", size: 2310, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dart/dart.js", size: 2310, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4536,7 +4537,7 @@ func bindataPublicCodemirrorModeDartIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dart/index.html", size: 2110, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dart/index.html", size: 2110, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4556,7 +4557,7 @@ func bindataPublicCodemirrorModeDiffDiffJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/diff/diff.js", size: 558, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/diff/diff.js", size: 558, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4576,7 +4577,7 @@ func bindataPublicCodemirrorModeDiffIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/diff/index.html", size: 4731, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/diff/index.html", size: 4731, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4596,7 +4597,7 @@ func bindataPublicCodemirrorModeDjangoDjangoJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/django/django.js", size: 4826, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/django/django.js", size: 4826, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4616,7 +4617,7 @@ func bindataPublicCodemirrorModeDjangoIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/django/index.html", size: 2882, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/django/index.html", size: 2882, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4636,7 +4637,7 @@ func bindataPublicCodemirrorModeDockerfileDockerfileJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dockerfile/dockerfile.js", size: 2197, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dockerfile/dockerfile.js", size: 2197, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4656,7 +4657,7 @@ func bindataPublicCodemirrorModeDockerfileIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dockerfile/index.html", size: 2750, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dockerfile/index.html", size: 2750, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4676,7 +4677,7 @@ func bindataPublicCodemirrorModeDockerfileTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dockerfile/test.js", size: 4210, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dockerfile/test.js", size: 4210, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4696,7 +4697,7 @@ func bindataPublicCodemirrorModeDtdDtdJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dtd/dtd.js", size: 2283, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dtd/dtd.js", size: 2283, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4716,7 +4717,7 @@ func bindataPublicCodemirrorModeDtdIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dtd/index.html", size: 3659, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dtd/index.html", size: 3659, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4736,7 +4737,7 @@ func bindataPublicCodemirrorModeDylanDylanJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dylan/dylan.js", size: 4255, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dylan/dylan.js", size: 4255, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4756,7 +4757,7 @@ func bindataPublicCodemirrorModeDylanIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dylan/index.html", size: 13837, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dylan/index.html", size: 13837, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4776,7 +4777,7 @@ func bindataPublicCodemirrorModeDylanTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/dylan/test.js", size: 2144, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/dylan/test.js", size: 2144, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4796,7 +4797,7 @@ func bindataPublicCodemirrorModeEbnfEbnfJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ebnf/ebnf.js", size: 2438, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ebnf/ebnf.js", size: 2438, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4816,7 +4817,7 @@ func bindataPublicCodemirrorModeEbnfIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ebnf/index.html", size: 2933, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ebnf/index.html", size: 2933, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4836,7 +4837,7 @@ func bindataPublicCodemirrorModeEclEclJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ecl/ecl.js", size: 5364, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ecl/ecl.js", size: 5364, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4856,7 +4857,7 @@ func bindataPublicCodemirrorModeEclIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ecl/index.html", size: 1731, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ecl/index.html", size: 1731, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4876,7 +4877,7 @@ func bindataPublicCodemirrorModeEiffelEiffelJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/eiffel/eiffel.js", size: 2055, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/eiffel/eiffel.js", size: 2055, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4896,7 +4897,7 @@ func bindataPublicCodemirrorModeEiffelIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/eiffel/index.html", size: 13520, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/eiffel/index.html", size: 13520, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4916,7 +4917,7 @@ func bindataPublicCodemirrorModeElmElmJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/elm/elm.js", size: 2154, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/elm/elm.js", size: 2154, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4936,7 +4937,7 @@ func bindataPublicCodemirrorModeElmIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/elm/index.html", size: 1962, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/elm/index.html", size: 1962, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4956,7 +4957,7 @@ func bindataPublicCodemirrorModeErlangErlangJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/erlang/erlang.js", size: 8313, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/erlang/erlang.js", size: 8313, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4976,7 +4977,7 @@ func bindataPublicCodemirrorModeErlangIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/erlang/index.html", size: 2651, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/erlang/index.html", size: 2651, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4996,7 +4997,7 @@ func bindataPublicCodemirrorModeFactorFactorJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/factor/factor.js", size: 1913, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/factor/factor.js", size: 1913, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5016,7 +5017,7 @@ func bindataPublicCodemirrorModeFactorIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/factor/index.html", size: 2507, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/factor/index.html", size: 2507, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5036,7 +5037,7 @@ func bindataPublicCodemirrorModeFclFclJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/fcl/fcl.js", size: 2331, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/fcl/fcl.js", size: 2331, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5056,7 +5057,7 @@ func bindataPublicCodemirrorModeFclIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/fcl/index.html", size: 3574, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/fcl/index.html", size: 3574, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5076,7 +5077,7 @@ func bindataPublicCodemirrorModeForthForthJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/forth/forth.js", size: 2920, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/forth/forth.js", size: 2920, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5096,7 +5097,7 @@ func bindataPublicCodemirrorModeForthIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/forth/index.html", size: 2105, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/forth/index.html", size: 2105, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5116,7 +5117,7 @@ func bindataPublicCodemirrorModeFortranFortranJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/fortran/fortran.js", size: 4904, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/fortran/fortran.js", size: 4904, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5136,7 +5137,7 @@ func bindataPublicCodemirrorModeFortranIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/fortran/index.html", size: 2814, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/fortran/index.html", size: 2814, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5156,7 +5157,7 @@ func bindataPublicCodemirrorModeGasGasJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/gas/gas.js", size: 4409, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/gas/gas.js", size: 4409, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5176,7 +5177,7 @@ func bindataPublicCodemirrorModeGasIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/gas/index.html", size: 2162, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/gas/index.html", size: 2162, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5196,7 +5197,7 @@ func bindataPublicCodemirrorModeGfmGfmJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/gfm/gfm.js", size: 2750, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/gfm/gfm.js", size: 2750, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5216,7 +5217,7 @@ func bindataPublicCodemirrorModeGfmIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/gfm/index.html", size: 5270, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/gfm/index.html", size: 5270, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5236,7 +5237,7 @@ func bindataPublicCodemirrorModeGfmTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/gfm/test.js", size: 5267, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/gfm/test.js", size: 5267, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5256,7 +5257,7 @@ func bindataPublicCodemirrorModeGherkinGherkinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/gherkin/gherkin.js", size: 10411, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/gherkin/gherkin.js", size: 10411, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5276,7 +5277,7 @@ func bindataPublicCodemirrorModeGherkinIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/gherkin/index.html", size: 1888, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/gherkin/index.html", size: 1888, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5296,7 +5297,7 @@ func bindataPublicCodemirrorModeGoGoJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/go/go.js", size: 3057, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/go/go.js", size: 3057, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5316,7 +5317,7 @@ func bindataPublicCodemirrorModeGoIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/go/index.html", size: 2657, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/go/index.html", size: 2657, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5336,7 +5337,7 @@ func bindataPublicCodemirrorModeGroovyGroovyJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/groovy/groovy.js", size: 4074, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/groovy/groovy.js", size: 4074, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5356,7 +5357,7 @@ func bindataPublicCodemirrorModeGroovyIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/groovy/index.html", size: 2660, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/groovy/index.html", size: 2660, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5376,7 +5377,7 @@ func bindataPublicCodemirrorModeHamlHamlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haml/haml.js", size: 2263, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haml/haml.js", size: 2263, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5396,7 +5397,7 @@ func bindataPublicCodemirrorModeHamlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haml/index.html", size: 3037, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haml/index.html", size: 3037, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5416,7 +5417,7 @@ func bindataPublicCodemirrorModeHamlTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haml/test.js", size: 2285, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haml/test.js", size: 2285, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5436,7 +5437,7 @@ func bindataPublicCodemirrorModeHandlebarsHandlebarsJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/handlebars/handlebars.js", size: 1295, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/handlebars/handlebars.js", size: 1295, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5456,7 +5457,7 @@ func bindataPublicCodemirrorModeHandlebarsIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/handlebars/index.html", size: 3001, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/handlebars/index.html", size: 3001, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5476,7 +5477,7 @@ func bindataPublicCodemirrorModeHaskellHaskellJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haskell/haskell.js", size: 4549, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haskell/haskell.js", size: 4549, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5496,7 +5497,7 @@ func bindataPublicCodemirrorModeHaskellIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haskell/index.html", size: 2677, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haskell/index.html", size: 2677, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5516,7 +5517,7 @@ func bindataPublicCodemirrorModeHaskellLiterateHaskellLiterateJs() (*asset, erro return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haskell-literate/haskell-literate.js", size: 692, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haskell-literate/haskell-literate.js", size: 692, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5536,7 +5537,7 @@ func bindataPublicCodemirrorModeHaskellLiterateIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haskell-literate/index.html", size: 9864, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haskell-literate/index.html", size: 9864, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5556,7 +5557,7 @@ func bindataPublicCodemirrorModeHaxeHaxeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haxe/haxe.js", size: 8146, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haxe/haxe.js", size: 8146, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5576,7 +5577,7 @@ func bindataPublicCodemirrorModeHaxeIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/haxe/index.html", size: 2899, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/haxe/index.html", size: 2899, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5596,7 +5597,7 @@ func bindataPublicCodemirrorModeHtmlembeddedHtmlembeddedJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/htmlembedded/htmlembedded.js", size: 1068, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/htmlembedded/htmlembedded.js", size: 1068, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5616,7 +5617,7 @@ func bindataPublicCodemirrorModeHtmlembeddedIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/htmlembedded/index.html", size: 3213, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/htmlembedded/index.html", size: 3213, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5636,7 +5637,7 @@ func bindataPublicCodemirrorModeHtmlmixedHtmlmixedJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/htmlmixed/htmlmixed.js", size: 2884, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/htmlmixed/htmlmixed.js", size: 2884, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5656,7 +5657,7 @@ func bindataPublicCodemirrorModeHtmlmixedIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/htmlmixed/index.html", size: 4562, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/htmlmixed/index.html", size: 4562, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5676,7 +5677,7 @@ func bindataPublicCodemirrorModeHttpHttpJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/http/http.js", size: 1253, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/http/http.js", size: 1253, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5696,7 +5697,7 @@ func bindataPublicCodemirrorModeHttpIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/http/index.html", size: 1715, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/http/index.html", size: 1715, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5716,7 +5717,7 @@ func bindataPublicCodemirrorModeIdlIdlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/idl/idl.js", size: 11960, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/idl/idl.js", size: 11960, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5736,7 +5737,7 @@ func bindataPublicCodemirrorModeIdlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/idl/index.html", size: 1955, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/idl/index.html", size: 1955, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5756,7 +5757,7 @@ func bindataPublicCodemirrorModeIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/index.html", size: 8294, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/index.html", size: 8294, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5776,7 +5777,7 @@ func bindataPublicCodemirrorModeJadeIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/jade/index.html", size: 3437, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/jade/index.html", size: 3437, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5796,7 +5797,7 @@ func bindataPublicCodemirrorModeJadeJadeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/jade/jade.js", size: 7956, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/jade/jade.js", size: 7956, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5816,7 +5817,7 @@ func bindataPublicCodemirrorModeJavascriptIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/index.html", size: 4998, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/index.html", size: 4998, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5836,7 +5837,7 @@ func bindataPublicCodemirrorModeJavascriptJavascriptJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/javascript.js", size: 16185, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/javascript.js", size: 16185, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5856,7 +5857,7 @@ func bindataPublicCodemirrorModeJavascriptJsonLdHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/json-ld.html", size: 2955, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/json-ld.html", size: 2955, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5876,7 +5877,7 @@ func bindataPublicCodemirrorModeJavascriptTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/test.js", size: 16532, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/test.js", size: 16532, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5896,7 +5897,7 @@ func bindataPublicCodemirrorModeJavascriptTypescriptHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/typescript.html", size: 1879, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/javascript/typescript.html", size: 1879, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5916,7 +5917,7 @@ func bindataPublicCodemirrorModeJinja2IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/jinja2/index.html", size: 2077, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/jinja2/index.html", size: 2077, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5936,7 +5937,7 @@ func bindataPublicCodemirrorModeJinja2Jinja2Js() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/jinja2/jinja2.js", size: 2091, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/jinja2/jinja2.js", size: 2091, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5956,7 +5957,7 @@ func bindataPublicCodemirrorModeJsxIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/jsx/index.html", size: 3054, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/jsx/index.html", size: 3054, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5976,7 +5977,7 @@ func bindataPublicCodemirrorModeJsxJsxJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/jsx/jsx.js", size: 2344, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/jsx/jsx.js", size: 2344, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5996,7 +5997,7 @@ func bindataPublicCodemirrorModeJsxTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/jsx/test.js", size: 3577, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/jsx/test.js", size: 3577, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6016,7 +6017,7 @@ func bindataPublicCodemirrorModeJuliaIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/julia/index.html", size: 2697, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/julia/index.html", size: 2697, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6036,7 +6037,7 @@ func bindataPublicCodemirrorModeJuliaJuliaJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/julia/julia.js", size: 5940, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/julia/julia.js", size: 5940, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6056,7 +6057,7 @@ func bindataPublicCodemirrorModeLivescriptIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/livescript/index.html", size: 10165, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/livescript/index.html", size: 10165, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6076,7 +6077,7 @@ func bindataPublicCodemirrorModeLivescriptLivescriptJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/livescript/livescript.js", size: 4418, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/livescript/livescript.js", size: 4418, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6096,7 +6097,7 @@ func bindataPublicCodemirrorModeLuaIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/lua/index.html", size: 2556, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/lua/index.html", size: 2556, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6116,7 +6117,7 @@ func bindataPublicCodemirrorModeLuaLuaJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/lua/lua.js", size: 3631, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/lua/lua.js", size: 3631, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6136,7 +6137,7 @@ func bindataPublicCodemirrorModeMarkdownIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/markdown/index.html", size: 13127, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/markdown/index.html", size: 13127, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6156,7 +6157,7 @@ func bindataPublicCodemirrorModeMarkdownMarkdownJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/markdown/markdown.js", size: 12907, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/markdown/markdown.js", size: 12907, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6176,7 +6177,7 @@ func bindataPublicCodemirrorModeMarkdownTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/markdown/test.js", size: 25252, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/markdown/test.js", size: 25252, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6196,7 +6197,7 @@ func bindataPublicCodemirrorModeMathematicaIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mathematica/index.html", size: 2254, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mathematica/index.html", size: 2254, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6216,7 +6217,7 @@ func bindataPublicCodemirrorModeMathematicaMathematicaJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mathematica/mathematica.js", size: 2166, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mathematica/mathematica.js", size: 2166, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6236,7 +6237,7 @@ func bindataPublicCodemirrorModeMboxIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mbox/index.html", size: 1615, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mbox/index.html", size: 1615, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6256,7 +6257,7 @@ func bindataPublicCodemirrorModeMboxMboxJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mbox/mbox.js", size: 1666, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mbox/mbox.js", size: 1666, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6276,7 +6277,7 @@ func bindataPublicCodemirrorModeMetaJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/meta.js", size: 12499, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/meta.js", size: 12499, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6296,7 +6297,7 @@ func bindataPublicCodemirrorModeMircIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mirc/index.html", size: 6120, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mirc/index.html", size: 6120, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6316,7 +6317,7 @@ func bindataPublicCodemirrorModeMircMircJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mirc/mirc.js", size: 6166, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mirc/mirc.js", size: 6166, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6336,7 +6337,7 @@ func bindataPublicCodemirrorModeMllikeIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mllike/index.html", size: 4668, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mllike/index.html", size: 4668, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6356,7 +6357,7 @@ func bindataPublicCodemirrorModeMllikeMllikeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mllike/mllike.js", size: 5011, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mllike/mllike.js", size: 5011, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6376,7 +6377,7 @@ func bindataPublicCodemirrorModeModelicaIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/modelica/index.html", size: 2812, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/modelica/index.html", size: 2812, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6396,7 +6397,7 @@ func bindataPublicCodemirrorModeModelicaModelicaJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/modelica/modelica.js", size: 3299, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/modelica/modelica.js", size: 3299, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6416,7 +6417,7 @@ func bindataPublicCodemirrorModeMscgenIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/index.html", size: 4632, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/index.html", size: 4632, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6436,7 +6437,7 @@ func bindataPublicCodemirrorModeMscgenMscgenJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/mscgen.js", size: 3841, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/mscgen.js", size: 3841, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6456,7 +6457,7 @@ func bindataPublicCodemirrorModeMscgenMscgen_testJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/mscgen_test.js", size: 3282, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/mscgen_test.js", size: 3282, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6476,7 +6477,7 @@ func bindataPublicCodemirrorModeMscgenMsgenny_testJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/msgenny_test.js", size: 2771, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/msgenny_test.js", size: 2771, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6496,7 +6497,7 @@ func bindataPublicCodemirrorModeMscgenXu_testJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/xu_test.js", size: 3473, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mscgen/xu_test.js", size: 3473, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6516,7 +6517,7 @@ func bindataPublicCodemirrorModeMumpsIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mumps/index.html", size: 2930, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mumps/index.html", size: 2930, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6536,7 +6537,7 @@ func bindataPublicCodemirrorModeMumpsMumpsJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/mumps/mumps.js", size: 2283, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/mumps/mumps.js", size: 2283, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6556,7 +6557,7 @@ func bindataPublicCodemirrorModeNginxIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/nginx/index.html", size: 5565, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/nginx/index.html", size: 5565, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6576,7 +6577,7 @@ func bindataPublicCodemirrorModeNginxNginxJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/nginx/nginx.js", size: 7541, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/nginx/nginx.js", size: 7541, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6596,7 +6597,7 @@ func bindataPublicCodemirrorModeNsisIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/nsis/index.html", size: 2086, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/nsis/index.html", size: 2086, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6616,7 +6617,7 @@ func bindataPublicCodemirrorModeNsisNsisJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/nsis/nsis.js", size: 6805, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/nsis/nsis.js", size: 6805, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6636,7 +6637,7 @@ func bindataPublicCodemirrorModeNtriplesIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ntriples/index.html", size: 2769, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ntriples/index.html", size: 2769, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6656,7 +6657,7 @@ func bindataPublicCodemirrorModeNtriplesNtriplesJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ntriples/ntriples.js", size: 2467, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ntriples/ntriples.js", size: 2467, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6676,7 +6677,7 @@ func bindataPublicCodemirrorModeOctaveIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/octave/index.html", size: 2127, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/octave/index.html", size: 2127, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6696,7 +6697,7 @@ func bindataPublicCodemirrorModeOctaveOctaveJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/octave/octave.js", size: 2566, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/octave/octave.js", size: 2566, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6716,7 +6717,7 @@ func bindataPublicCodemirrorModeOzIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/oz/index.html", size: 1872, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/oz/index.html", size: 1872, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6736,7 +6737,7 @@ func bindataPublicCodemirrorModeOzOzJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/oz/oz.js", size: 3155, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/oz/oz.js", size: 3155, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6756,7 +6757,7 @@ func bindataPublicCodemirrorModePascalIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/pascal/index.html", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/pascal/index.html", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6776,7 +6777,7 @@ func bindataPublicCodemirrorModePascalPascalJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/pascal/pascal.js", size: 1549, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/pascal/pascal.js", size: 1549, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6796,7 +6797,7 @@ func bindataPublicCodemirrorModePegjsIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/pegjs/index.html", size: 2373, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/pegjs/index.html", size: 2373, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6816,7 +6817,7 @@ func bindataPublicCodemirrorModePegjsPegjsJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/pegjs/pegjs.js", size: 1644, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/pegjs/pegjs.js", size: 1644, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6836,7 +6837,7 @@ func bindataPublicCodemirrorModePerlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/perl/index.html", size: 1864, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/perl/index.html", size: 1864, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6856,7 +6857,7 @@ func bindataPublicCodemirrorModePerlPerlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/perl/perl.js", size: 9829, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/perl/perl.js", size: 9829, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6876,7 +6877,7 @@ func bindataPublicCodemirrorModePhpIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/php/index.html", size: 3288, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/php/index.html", size: 3288, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6896,7 +6897,7 @@ func bindataPublicCodemirrorModePhpPhpJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/php/php.js", size: 13919, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/php/php.js", size: 13919, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6916,7 +6917,7 @@ func bindataPublicCodemirrorModePhpTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/php/test.js", size: 5327, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/php/test.js", size: 5327, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6936,7 +6937,7 @@ func bindataPublicCodemirrorModePigIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/pig/index.html", size: 1797, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/pig/index.html", size: 1797, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6956,7 +6957,7 @@ func bindataPublicCodemirrorModePigPigJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/pig/pig.js", size: 2894, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/pig/pig.js", size: 2894, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6976,7 +6977,7 @@ func bindataPublicCodemirrorModePowershellIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/powershell/index.html", size: 7694, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/powershell/index.html", size: 7694, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6996,7 +6997,7 @@ func bindataPublicCodemirrorModePowershellPowershellJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/powershell/powershell.js", size: 8006, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/powershell/powershell.js", size: 8006, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7016,7 +7017,7 @@ func bindataPublicCodemirrorModePowershellTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/powershell/test.js", size: 2393, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/powershell/test.js", size: 2393, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7036,7 +7037,7 @@ func bindataPublicCodemirrorModePropertiesIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/properties/index.html", size: 1877, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/properties/index.html", size: 1877, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7056,7 +7057,7 @@ func bindataPublicCodemirrorModePropertiesPropertiesJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/properties/properties.js", size: 960, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/properties/properties.js", size: 960, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7076,7 +7077,7 @@ func bindataPublicCodemirrorModeProtobufIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/protobuf/index.html", size: 2948, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/protobuf/index.html", size: 2948, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7096,7 +7097,7 @@ func bindataPublicCodemirrorModeProtobufProtobufJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/protobuf/protobuf.js", size: 1201, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/protobuf/protobuf.js", size: 1201, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7116,7 +7117,7 @@ func bindataPublicCodemirrorModePugIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/pug/index.html", size: 3455, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/pug/index.html", size: 3455, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7136,7 +7137,7 @@ func bindataPublicCodemirrorModePugPugJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/pug/pug.js", size: 8024, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/pug/pug.js", size: 8024, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7156,7 +7157,7 @@ func bindataPublicCodemirrorModePuppetIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/puppet/index.html", size: 3743, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/puppet/index.html", size: 3743, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7176,7 +7177,7 @@ func bindataPublicCodemirrorModePuppetPuppetJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/puppet/puppet.js", size: 2777, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/puppet/puppet.js", size: 2777, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7196,7 +7197,7 @@ func bindataPublicCodemirrorModePythonIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/python/index.html", size: 6759, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/python/index.html", size: 6759, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7216,7 +7217,7 @@ func bindataPublicCodemirrorModePythonPythonJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/python/python.js", size: 6393, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/python/python.js", size: 6393, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7236,7 +7237,7 @@ func bindataPublicCodemirrorModePythonTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/python/test.js", size: 1176, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/python/test.js", size: 1176, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7256,7 +7257,7 @@ func bindataPublicCodemirrorModeQIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/q/index.html", size: 9444, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/q/index.html", size: 9444, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7276,7 +7277,7 @@ func bindataPublicCodemirrorModeQQJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/q/q.js", size: 4246, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/q/q.js", size: 4246, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7296,7 +7297,7 @@ func bindataPublicCodemirrorModeRIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/r/index.html", size: 2840, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/r/index.html", size: 2840, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7316,7 +7317,7 @@ func bindataPublicCodemirrorModeRRJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/r/r.js", size: 3088, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/r/r.js", size: 3088, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7336,7 +7337,7 @@ func bindataPublicCodemirrorModeRpmChangesIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/rpm/changes/index.html", size: 2341, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/rpm/changes/index.html", size: 2341, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7356,7 +7357,7 @@ func bindataPublicCodemirrorModeRpmIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/rpm/index.html", size: 4945, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/rpm/index.html", size: 4945, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7376,7 +7377,7 @@ func bindataPublicCodemirrorModeRpmRpmJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/rpm/rpm.js", size: 1964, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/rpm/rpm.js", size: 1964, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7396,7 +7397,7 @@ func bindataPublicCodemirrorModeRstIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/rst/index.html", size: 18252, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/rst/index.html", size: 18252, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7416,7 +7417,7 @@ func bindataPublicCodemirrorModeRstRstJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/rst/rst.js", size: 6620, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/rst/rst.js", size: 6620, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7436,7 +7437,7 @@ func bindataPublicCodemirrorModeRubyIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ruby/index.html", size: 6232, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ruby/index.html", size: 6232, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7456,7 +7457,7 @@ func bindataPublicCodemirrorModeRubyRubyJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ruby/ruby.js", size: 5295, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ruby/ruby.js", size: 5295, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7476,7 +7477,7 @@ func bindataPublicCodemirrorModeRubyTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ruby/test.js", size: 480, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ruby/test.js", size: 480, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7496,7 +7497,7 @@ func bindataPublicCodemirrorModeRustIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/rust/index.html", size: 2015, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/rust/index.html", size: 2015, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7516,7 +7517,7 @@ func bindataPublicCodemirrorModeRustRustJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/rust/rust.js", size: 2361, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/rust/rust.js", size: 2361, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7536,7 +7537,7 @@ func bindataPublicCodemirrorModeRustTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/rust/test.js", size: 676, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/rust/test.js", size: 676, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7556,7 +7557,7 @@ func bindataPublicCodemirrorModeSasIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sas/index.html", size: 2337, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sas/index.html", size: 2337, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7576,7 +7577,7 @@ func bindataPublicCodemirrorModeSasSasJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sas/sas.js", size: 9541, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sas/sas.js", size: 9541, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7596,7 +7597,7 @@ func bindataPublicCodemirrorModeSassIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sass/index.html", size: 2275, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sass/index.html", size: 2275, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7616,7 +7617,7 @@ func bindataPublicCodemirrorModeSassSassJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sass/sass.js", size: 4644, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sass/sass.js", size: 4644, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7636,7 +7637,7 @@ func bindataPublicCodemirrorModeSassTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sass/test.js", size: 3627, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sass/test.js", size: 3627, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7656,7 +7657,7 @@ func bindataPublicCodemirrorModeSchemeIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/scheme/index.html", size: 2876, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/scheme/index.html", size: 2876, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7676,7 +7677,7 @@ func bindataPublicCodemirrorModeSchemeSchemeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/scheme/scheme.js", size: 5992, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/scheme/scheme.js", size: 5992, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7696,7 +7697,7 @@ func bindataPublicCodemirrorModeShellIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/shell/index.html", size: 1937, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/shell/index.html", size: 1937, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7716,7 +7717,7 @@ func bindataPublicCodemirrorModeShellShellJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/shell/shell.js", size: 2328, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/shell/shell.js", size: 2328, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7736,7 +7737,7 @@ func bindataPublicCodemirrorModeShellTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/shell/test.js", size: 1763, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/shell/test.js", size: 1763, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7756,7 +7757,7 @@ func bindataPublicCodemirrorModeSieveIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sieve/index.html", size: 2657, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sieve/index.html", size: 2657, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7776,7 +7777,7 @@ func bindataPublicCodemirrorModeSieveSieveJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sieve/sieve.js", size: 1883, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sieve/sieve.js", size: 1883, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7796,7 +7797,7 @@ func bindataPublicCodemirrorModeSlimIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/slim/index.html", size: 4369, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/slim/index.html", size: 4369, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7816,7 +7817,7 @@ func bindataPublicCodemirrorModeSlimSlimJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/slim/slim.js", size: 7494, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/slim/slim.js", size: 7494, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7836,7 +7837,7 @@ func bindataPublicCodemirrorModeSlimTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/slim/test.js", size: 2451, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/slim/test.js", size: 2451, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7856,7 +7857,7 @@ func bindataPublicCodemirrorModeSmalltalkIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/smalltalk/index.html", size: 2387, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/smalltalk/index.html", size: 2387, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7876,7 +7877,7 @@ func bindataPublicCodemirrorModeSmalltalkSmalltalkJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/smalltalk/smalltalk.js", size: 2216, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/smalltalk/smalltalk.js", size: 2216, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7896,7 +7897,7 @@ func bindataPublicCodemirrorModeSmartyIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/smarty/index.html", size: 4456, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/smarty/index.html", size: 4456, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7916,7 +7917,7 @@ func bindataPublicCodemirrorModeSmartySmartyJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/smarty/smarty.js", size: 2999, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/smarty/smarty.js", size: 2999, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7936,7 +7937,7 @@ func bindataPublicCodemirrorModeSolrIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/solr/index.html", size: 1687, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/solr/index.html", size: 1687, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7956,7 +7957,7 @@ func bindataPublicCodemirrorModeSolrSolrJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/solr/solr.js", size: 1169, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/solr/solr.js", size: 1169, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7976,7 +7977,7 @@ func bindataPublicCodemirrorModeSoyIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/soy/index.html", size: 3066, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/soy/index.html", size: 3066, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7996,7 +7997,7 @@ func bindataPublicCodemirrorModeSoySoyJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/soy/soy.js", size: 5923, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/soy/soy.js", size: 5923, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8016,7 +8017,7 @@ func bindataPublicCodemirrorModeSoyTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/soy/test.js", size: 3324, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/soy/test.js", size: 3324, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8036,7 +8037,7 @@ func bindataPublicCodemirrorModeSparqlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sparql/index.html", size: 2256, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sparql/index.html", size: 2256, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8056,7 +8057,7 @@ func bindataPublicCodemirrorModeSparqlSparqlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sparql/sparql.js", size: 3319, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sparql/sparql.js", size: 3319, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8076,7 +8077,7 @@ func bindataPublicCodemirrorModeSpreadsheetIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/spreadsheet/index.html", size: 1875, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/spreadsheet/index.html", size: 1875, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8096,7 +8097,7 @@ func bindataPublicCodemirrorModeSpreadsheetSpreadsheetJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/spreadsheet/spreadsheet.js", size: 1390, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/spreadsheet/spreadsheet.js", size: 1390, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8116,7 +8117,7 @@ func bindataPublicCodemirrorModeSqlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sql/index.html", size: 3914, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sql/index.html", size: 3914, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8136,7 +8137,7 @@ func bindataPublicCodemirrorModeSqlSqlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/sql/sql.js", size: 36116, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/sql/sql.js", size: 36116, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8156,7 +8157,7 @@ func bindataPublicCodemirrorModeStexIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/stex/index.html", size: 4454, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/stex/index.html", size: 4454, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8176,7 +8177,7 @@ func bindataPublicCodemirrorModeStexStexJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/stex/stex.js", size: 3235, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/stex/stex.js", size: 3235, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8196,7 +8197,7 @@ func bindataPublicCodemirrorModeStexTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/stex/test.js", size: 3070, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/stex/test.js", size: 3070, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8216,7 +8217,7 @@ func bindataPublicCodemirrorModeStylusIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/stylus/index.html", size: 3277, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/stylus/index.html", size: 3277, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8236,7 +8237,7 @@ func bindataPublicCodemirrorModeStylusStylusJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/stylus/stylus.js", size: 26228, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/stylus/stylus.js", size: 26228, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8256,7 +8257,7 @@ func bindataPublicCodemirrorModeSwiftIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/swift/index.html", size: 2568, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/swift/index.html", size: 2568, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8276,7 +8277,7 @@ func bindataPublicCodemirrorModeSwiftSwiftJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/swift/swift.js", size: 4107, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/swift/swift.js", size: 4107, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8296,7 +8297,7 @@ func bindataPublicCodemirrorModeSwiftTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/swift/test.js", size: 7719, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/swift/test.js", size: 7719, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8316,7 +8317,7 @@ func bindataPublicCodemirrorModeTclIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tcl/index.html", size: 6780, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tcl/index.html", size: 6780, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8336,7 +8337,7 @@ func bindataPublicCodemirrorModeTclTclJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tcl/tcl.js", size: 2560, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tcl/tcl.js", size: 2560, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8356,7 +8357,7 @@ func bindataPublicCodemirrorModeTextileIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/textile/index.html", size: 4669, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/textile/index.html", size: 4669, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8376,7 +8377,7 @@ func bindataPublicCodemirrorModeTextileTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/textile/test.js", size: 7127, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/textile/test.js", size: 7127, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8396,7 +8397,7 @@ func bindataPublicCodemirrorModeTextileTextileJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/textile/textile.js", size: 7063, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/textile/textile.js", size: 7063, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8416,7 +8417,7 @@ func bindataPublicCodemirrorModeTiddlywikiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiddlywiki/index.html", size: 5223, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiddlywiki/index.html", size: 5223, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8436,7 +8437,7 @@ func bindataPublicCodemirrorModeTiddlywikiTiddlywikiCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiddlywiki/tiddlywiki.css", size: 220, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiddlywiki/tiddlywiki.css", size: 220, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8456,7 +8457,7 @@ func bindataPublicCodemirrorModeTiddlywikiTiddlywikiJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiddlywiki/tiddlywiki.js", size: 3081, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiddlywiki/tiddlywiki.js", size: 3081, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8476,7 +8477,7 @@ func bindataPublicCodemirrorModeTikiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiki/index.html", size: 2228, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiki/index.html", size: 2228, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8496,7 +8497,7 @@ func bindataPublicCodemirrorModeTikiTikiCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiki/tiki.css", size: 439, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiki/tiki.css", size: 439, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8516,7 +8517,7 @@ func bindataPublicCodemirrorModeTikiTikiJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiki/tiki.js", size: 3549, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tiki/tiki.js", size: 3549, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8536,7 +8537,7 @@ func bindataPublicCodemirrorModeTomlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/toml/index.html", size: 2162, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/toml/index.html", size: 2162, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8556,7 +8557,7 @@ func bindataPublicCodemirrorModeTomlTomlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/toml/toml.js", size: 1246, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/toml/toml.js", size: 1246, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8576,7 +8577,7 @@ func bindataPublicCodemirrorModeTornadoIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tornado/index.html", size: 2608, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tornado/index.html", size: 2608, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8596,7 +8597,7 @@ func bindataPublicCodemirrorModeTornadoTornadoJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/tornado/tornado.js", size: 1421, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/tornado/tornado.js", size: 1421, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8616,7 +8617,7 @@ func bindataPublicCodemirrorModeTroffIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/troff/index.html", size: 4626, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/troff/index.html", size: 4626, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8636,7 +8637,7 @@ func bindataPublicCodemirrorModeTroffTroffJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/troff/troff.js", size: 1292, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/troff/troff.js", size: 1292, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8656,7 +8657,7 @@ func bindataPublicCodemirrorModeTtcnIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ttcn/index.html", size: 3812, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ttcn/index.html", size: 3812, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8676,7 +8677,7 @@ func bindataPublicCodemirrorModeTtcnTtcnJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ttcn/ttcn.js", size: 5464, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ttcn/ttcn.js", size: 5464, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8696,7 +8697,7 @@ func bindataPublicCodemirrorModeTtcnCfgIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ttcn-cfg/index.html", size: 3927, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ttcn-cfg/index.html", size: 3927, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8716,7 +8717,7 @@ func bindataPublicCodemirrorModeTtcnCfgTtcnCfgJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/ttcn-cfg/ttcn-cfg.js", size: 4422, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/ttcn-cfg/ttcn-cfg.js", size: 4422, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8736,7 +8737,7 @@ func bindataPublicCodemirrorModeTurtleIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/turtle/index.html", size: 1792, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/turtle/index.html", size: 1792, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8756,7 +8757,7 @@ func bindataPublicCodemirrorModeTurtleTurtleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/turtle/turtle.js", size: 2176, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/turtle/turtle.js", size: 2176, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8776,7 +8777,7 @@ func bindataPublicCodemirrorModeTwigIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/twig/index.html", size: 1692, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/twig/index.html", size: 1692, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8796,7 +8797,7 @@ func bindataPublicCodemirrorModeTwigTwigJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/twig/twig.js", size: 2203, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/twig/twig.js", size: 2203, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8816,7 +8817,7 @@ func bindataPublicCodemirrorModeVbIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/vb/index.html", size: 1983, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/vb/index.html", size: 1983, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8836,7 +8837,7 @@ func bindataPublicCodemirrorModeVbVbJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/vb/vb.js", size: 3187, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/vb/vb.js", size: 3187, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8856,7 +8857,7 @@ func bindataPublicCodemirrorModeVbscriptIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/vbscript/index.html", size: 1839, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/vbscript/index.html", size: 1839, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8876,7 +8877,7 @@ func bindataPublicCodemirrorModeVbscriptVbscriptJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/vbscript/vbscript.js", size: 6083, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/vbscript/vbscript.js", size: 6083, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8896,7 +8897,7 @@ func bindataPublicCodemirrorModeVelocityIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/velocity/index.html", size: 3622, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/velocity/index.html", size: 3622, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8916,7 +8917,7 @@ func bindataPublicCodemirrorModeVelocityVelocityJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/velocity/velocity.js", size: 2908, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/velocity/velocity.js", size: 2908, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8936,7 +8937,7 @@ func bindataPublicCodemirrorModeVerilogIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/verilog/index.html", size: 3102, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/verilog/index.html", size: 3102, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8956,7 +8957,7 @@ func bindataPublicCodemirrorModeVerilogTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/verilog/test.js", size: 5150, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/verilog/test.js", size: 5150, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8976,7 +8977,7 @@ func bindataPublicCodemirrorModeVerilogVerilogJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/verilog/verilog.js", size: 9000, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/verilog/verilog.js", size: 9000, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -8996,7 +8997,7 @@ func bindataPublicCodemirrorModeVhdlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/vhdl/index.html", size: 2969, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/vhdl/index.html", size: 2969, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9016,7 +9017,7 @@ func bindataPublicCodemirrorModeVhdlVhdlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/vhdl/vhdl.js", size: 3576, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/vhdl/vhdl.js", size: 3576, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9036,7 +9037,7 @@ func bindataPublicCodemirrorModeVueIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/vue/index.html", size: 4157, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/vue/index.html", size: 4157, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9056,7 +9057,7 @@ func bindataPublicCodemirrorModeVueVueJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/vue/vue.js", size: 1898, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/vue/vue.js", size: 1898, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9076,7 +9077,7 @@ func bindataPublicCodemirrorModeWebidlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/webidl/index.html", size: 2654, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/webidl/index.html", size: 2654, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9096,7 +9097,7 @@ func bindataPublicCodemirrorModeWebidlWebidlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/webidl/webidl.js", size: 2777, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/webidl/webidl.js", size: 2777, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9116,7 +9117,7 @@ func bindataPublicCodemirrorModeXmlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/xml/index.html", size: 2493, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/xml/index.html", size: 2493, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9136,7 +9137,7 @@ func bindataPublicCodemirrorModeXmlTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/xml/test.js", size: 1370, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/xml/test.js", size: 1370, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9156,7 +9157,7 @@ func bindataPublicCodemirrorModeXmlXmlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/xml/xml.js", size: 5814, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/xml/xml.js", size: 5814, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9176,7 +9177,7 @@ func bindataPublicCodemirrorModeXqueryIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/xquery/index.html", size: 8931, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/xquery/index.html", size: 8931, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9196,7 +9197,7 @@ func bindataPublicCodemirrorModeXqueryTestJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/xquery/test.js", size: 4416, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/xquery/test.js", size: 4416, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9216,7 +9217,7 @@ func bindataPublicCodemirrorModeXqueryXqueryJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/xquery/xquery.js", size: 6893, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/xquery/xquery.js", size: 6893, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9236,7 +9237,7 @@ func bindataPublicCodemirrorModeYacasIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/yacas/index.html", size: 2176, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/yacas/index.html", size: 2176, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9256,7 +9257,7 @@ func bindataPublicCodemirrorModeYacasYacasJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/yacas/yacas.js", size: 2374, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/yacas/yacas.js", size: 2374, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9276,7 +9277,7 @@ func bindataPublicCodemirrorModeYamlIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/yaml/index.html", size: 2420, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/yaml/index.html", size: 2420, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9296,7 +9297,7 @@ func bindataPublicCodemirrorModeYamlYamlJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/yaml/yaml.js", size: 1810, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/yaml/yaml.js", size: 1810, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9316,7 +9317,7 @@ func bindataPublicCodemirrorModeYamlFrontmatterIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/yaml-frontmatter/index.html", size: 4038, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/yaml-frontmatter/index.html", size: 4038, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9336,7 +9337,7 @@ func bindataPublicCodemirrorModeYamlFrontmatterYamlFrontmatterJs() (*asset, erro return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js", size: 957, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js", size: 957, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9356,7 +9357,7 @@ func bindataPublicCodemirrorModeZ80IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/z80/index.html", size: 1728, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/z80/index.html", size: 1728, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9376,7 +9377,7 @@ func bindataPublicCodemirrorModeZ80Z80Js() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/codemirror/mode/z80/z80.js", size: 1987, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/codemirror/mode/z80/z80.js", size: 1987, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9396,7 +9397,7 @@ func bindataPublicFaviconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/favicon.ico", size: 4414, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/favicon.ico", size: 4414, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9416,7 +9417,7 @@ func bindataPublicManifestJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/manifest.json", size: 616, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/manifest.json", size: 616, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9436,7 +9437,7 @@ func bindataPublicSectionsAirtablePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/airtable.png", size: 1263, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/airtable.png", size: 1263, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9456,7 +9457,7 @@ func bindataPublicSectionsAirtable2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/airtable@2x.png", size: 4247, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/airtable@2x.png", size: 4247, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9476,7 +9477,7 @@ func bindataPublicSectionsAsanaPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/asana.png", size: 1405, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/asana.png", size: 1405, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9496,7 +9497,7 @@ func bindataPublicSectionsAsana2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/asana@2x.png", size: 3507, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/asana@2x.png", size: 3507, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9516,7 +9517,7 @@ func bindataPublicSectionsCodePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/code.png", size: 720, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/code.png", size: 720, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9536,7 +9537,7 @@ func bindataPublicSectionsCode2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/code@2x.png", size: 1468, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/code@2x.png", size: 1468, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9556,7 +9557,7 @@ func bindataPublicSectionsDocusignPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/docusign.png", size: 791, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/docusign.png", size: 791, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9576,7 +9577,7 @@ func bindataPublicSectionsDocusign2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/docusign@2x.png", size: 1358, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/docusign@2x.png", size: 1358, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9596,7 +9597,7 @@ func bindataPublicSectionsFlowchartPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/flowchart.png", size: 359, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/flowchart.png", size: 359, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9616,7 +9617,7 @@ func bindataPublicSectionsFlowchart2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/flowchart@2x.png", size: 630, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/flowchart@2x.png", size: 630, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9636,7 +9637,7 @@ func bindataPublicSectionsGeminiPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/gemini.png", size: 1580, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/gemini.png", size: 1580, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9656,7 +9657,7 @@ func bindataPublicSectionsGemini2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/gemini@2x.png", size: 3446, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/gemini@2x.png", size: 3446, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9676,7 +9677,7 @@ func bindataPublicSectionsGithubPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/github.png", size: 674, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/github.png", size: 674, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9696,7 +9697,7 @@ func bindataPublicSectionsGithub2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/github@2x.png", size: 1388, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/github@2x.png", size: 1388, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9716,7 +9717,7 @@ func bindataPublicSectionsIntercomPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/intercom.png", size: 1183, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/intercom.png", size: 1183, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9736,7 +9737,7 @@ func bindataPublicSectionsIntercom2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/intercom@2x.png", size: 2223, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/intercom@2x.png", size: 2223, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9756,7 +9757,7 @@ func bindataPublicSectionsJiraPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/jira.png", size: 1326, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/jira.png", size: 1326, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9776,7 +9777,7 @@ func bindataPublicSectionsJira2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/jira@2x.png", size: 2932, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/jira@2x.png", size: 2932, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9796,7 +9797,7 @@ func bindataPublicSectionsMailchimpPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/mailchimp.png", size: 2115, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/mailchimp.png", size: 2115, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9816,7 +9817,7 @@ func bindataPublicSectionsMailchimp2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/mailchimp@2x.png", size: 5901, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/mailchimp@2x.png", size: 5901, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9836,7 +9837,7 @@ func bindataPublicSectionsMarkdownPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/markdown.png", size: 518, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/markdown.png", size: 518, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9856,7 +9857,7 @@ func bindataPublicSectionsMarkdown2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/markdown@2x.png", size: 864, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/markdown@2x.png", size: 864, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9876,7 +9877,7 @@ func bindataPublicSectionsPapertrailPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/papertrail.png", size: 1178, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/papertrail.png", size: 1178, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9896,7 +9897,7 @@ func bindataPublicSectionsPapertrail2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/papertrail@2x.png", size: 2376, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/papertrail@2x.png", size: 2376, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9916,7 +9917,7 @@ func bindataPublicSectionsPlantumlPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/plantuml.png", size: 359, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/plantuml.png", size: 359, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9936,7 +9937,7 @@ func bindataPublicSectionsPlantuml2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/plantuml@2x.png", size: 630, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/plantuml@2x.png", size: 630, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9956,7 +9957,7 @@ func bindataPublicSectionsSalesforcePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/salesforce.png", size: 1116, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/salesforce.png", size: 1116, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9976,7 +9977,7 @@ func bindataPublicSectionsSalesforce2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/salesforce@2x.png", size: 2630, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/salesforce@2x.png", size: 2630, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -9996,7 +9997,7 @@ func bindataPublicSectionsStripePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/stripe.png", size: 1487, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/stripe.png", size: 1487, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10016,7 +10017,7 @@ func bindataPublicSectionsStripe2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/stripe@2x.png", size: 4523, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/stripe@2x.png", size: 4523, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10036,7 +10037,7 @@ func bindataPublicSectionsSuggestPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/suggest.png", size: 578, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/suggest.png", size: 578, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10056,7 +10057,7 @@ func bindataPublicSectionsSuggest2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/suggest@2x.png", size: 1096, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/suggest@2x.png", size: 1096, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10076,7 +10077,7 @@ func bindataPublicSectionsTablePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/table.png", size: 396, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/table.png", size: 396, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10096,7 +10097,7 @@ func bindataPublicSectionsTable2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/table@2x.png", size: 487, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/table@2x.png", size: 487, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10116,7 +10117,7 @@ func bindataPublicSectionsTrelloPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/trello.png", size: 718, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/trello.png", size: 718, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10136,7 +10137,7 @@ func bindataPublicSectionsTrello2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/trello@2x.png", size: 1161, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/trello@2x.png", size: 1161, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10156,7 +10157,7 @@ func bindataPublicSectionsWysiwygPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/wysiwyg.png", size: 562, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/wysiwyg.png", size: 562, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10176,7 +10177,7 @@ func bindataPublicSectionsWysiwyg2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/wysiwyg@2x.png", size: 941, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/wysiwyg@2x.png", size: 941, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10196,7 +10197,7 @@ func bindataPublicSectionsZendeskPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/zendesk.png", size: 1720, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/zendesk.png", size: 1720, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10216,7 +10217,7 @@ func bindataPublicSectionsZendesk2xPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/sections/zendesk@2x.png", size: 5196, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/sections/zendesk@2x.png", size: 5196, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10236,7 +10237,7 @@ func bindataPublicTinymceLangsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/langs/readme.md", size: 151, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/langs/readme.md", size: 151, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10256,7 +10257,7 @@ func bindataPublicTinymceLicenseTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/license.txt", size: 26441, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/license.txt", size: 26441, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10276,7 +10277,7 @@ func bindataPublicTinymcePluginsAdvlistPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/advlist/plugin.min.js", size: 2192, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/advlist/plugin.min.js", size: 2192, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10296,7 +10297,7 @@ func bindataPublicTinymcePluginsAnchorPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/anchor/plugin.min.js", size: 1418, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/anchor/plugin.min.js", size: 1418, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10316,7 +10317,7 @@ func bindataPublicTinymcePluginsAutolinkPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/autolink/plugin.min.js", size: 2117, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/autolink/plugin.min.js", size: 2117, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10336,7 +10337,7 @@ func bindataPublicTinymcePluginsAutoresizePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/autoresize/plugin.min.js", size: 2056, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/autoresize/plugin.min.js", size: 2056, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10356,7 +10357,7 @@ func bindataPublicTinymcePluginsAutosavePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/autosave/plugin.min.js", size: 3008, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/autosave/plugin.min.js", size: 3008, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10376,7 +10377,7 @@ func bindataPublicTinymcePluginsBbcodePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/bbcode/plugin.min.js", size: 2846, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/bbcode/plugin.min.js", size: 2846, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10396,7 +10397,7 @@ func bindataPublicTinymcePluginsCharmapPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/charmap/plugin.min.js", size: 8573, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/charmap/plugin.min.js", size: 8573, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10416,7 +10417,7 @@ func bindataPublicTinymcePluginsCodePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/code/plugin.min.js", size: 1002, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/code/plugin.min.js", size: 1002, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10436,7 +10437,7 @@ func bindataPublicTinymcePluginsCodesampleCssPrismCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/codesample/css/prism.css", size: 2334, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/codesample/css/prism.css", size: 2334, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10456,7 +10457,7 @@ func bindataPublicTinymcePluginsCodesamplePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/codesample/plugin.min.js", size: 19164, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/codesample/plugin.min.js", size: 19164, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10476,7 +10477,7 @@ func bindataPublicTinymcePluginsColorpickerPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/colorpicker/plugin.min.js", size: 1347, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/colorpicker/plugin.min.js", size: 1347, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10496,7 +10497,7 @@ func bindataPublicTinymcePluginsContextmenuPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/contextmenu/plugin.min.js", size: 1804, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/contextmenu/plugin.min.js", size: 1804, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10516,7 +10517,7 @@ func bindataPublicTinymcePluginsDirectionalityPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/directionality/plugin.min.js", size: 851, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/directionality/plugin.min.js", size: 851, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10536,7 +10537,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyCoolGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-cool.gif", size: 354, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-cool.gif", size: 354, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10556,7 +10557,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyCryGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-cry.gif", size: 329, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-cry.gif", size: 329, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10576,7 +10577,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyEmbarassedGif() (*asset, error return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-embarassed.gif", size: 331, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-embarassed.gif", size: 331, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10596,7 +10597,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyFootInMouthGif() (*asset, erro return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif", size: 342, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif", size: 342, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10616,7 +10617,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyFrownGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-frown.gif", size: 340, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-frown.gif", size: 340, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10636,7 +10637,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyInnocentGif() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-innocent.gif", size: 336, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-innocent.gif", size: 336, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10656,7 +10657,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyKissGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-kiss.gif", size: 338, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-kiss.gif", size: 338, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10676,7 +10677,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyLaughingGif() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-laughing.gif", size: 343, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-laughing.gif", size: 343, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10696,7 +10697,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyMoneyMouthGif() (*asset, error return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-money-mouth.gif", size: 321, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-money-mouth.gif", size: 321, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10716,7 +10717,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileySealedGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-sealed.gif", size: 323, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-sealed.gif", size: 323, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10736,7 +10737,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileySmileGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-smile.gif", size: 344, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-smile.gif", size: 344, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10756,7 +10757,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileySurprisedGif() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-surprised.gif", size: 338, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-surprised.gif", size: 338, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10776,7 +10777,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyTongueOutGif() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-tongue-out.gif", size: 328, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-tongue-out.gif", size: 328, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10796,7 +10797,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyUndecidedGif() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-undecided.gif", size: 337, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-undecided.gif", size: 337, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10816,7 +10817,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyWinkGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-wink.gif", size: 350, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-wink.gif", size: 350, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10836,7 +10837,7 @@ func bindataPublicTinymcePluginsEmoticonsImgSmileyYellGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-yell.gif", size: 336, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/img/smiley-yell.gif", size: 336, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10856,7 +10857,7 @@ func bindataPublicTinymcePluginsEmoticonsPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/plugin.min.js", size: 1067, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/emoticons/plugin.min.js", size: 1067, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10876,7 +10877,7 @@ func bindataPublicTinymcePluginsFullpagePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/fullpage/plugin.min.js", size: 7116, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/fullpage/plugin.min.js", size: 7116, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10896,7 +10897,7 @@ func bindataPublicTinymcePluginsFullscreenPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/fullscreen/plugin.min.js", size: 2147, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/fullscreen/plugin.min.js", size: 2147, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10916,7 +10917,7 @@ func bindataPublicTinymcePluginsHelpImgLogoPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/help/img/logo.png", size: 13208, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/help/img/logo.png", size: 13208, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10936,7 +10937,7 @@ func bindataPublicTinymcePluginsHelpPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/help/plugin.min.js", size: 9943, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/help/plugin.min.js", size: 9943, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10956,7 +10957,7 @@ func bindataPublicTinymcePluginsHrPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/hr/plugin.min.js", size: 414, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/hr/plugin.min.js", size: 414, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10976,7 +10977,7 @@ func bindataPublicTinymcePluginsImagePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/image/plugin.min.js", size: 16423, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/image/plugin.min.js", size: 16423, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -10996,7 +10997,7 @@ func bindataPublicTinymcePluginsImagetoolsPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/imagetools/plugin.min.js", size: 35679, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/imagetools/plugin.min.js", size: 35679, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11016,7 +11017,7 @@ func bindataPublicTinymcePluginsImportcssPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/importcss/plugin.min.js", size: 3099, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/importcss/plugin.min.js", size: 3099, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11036,7 +11037,7 @@ func bindataPublicTinymcePluginsInsertdatetimePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/insertdatetime/plugin.min.js", size: 2619, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/insertdatetime/plugin.min.js", size: 2619, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11056,7 +11057,7 @@ func bindataPublicTinymcePluginsLinkPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/link/plugin.min.js", size: 8801, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/link/plugin.min.js", size: 8801, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11076,7 +11077,7 @@ func bindataPublicTinymcePluginsListsPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/lists/plugin.min.js", size: 14161, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/lists/plugin.min.js", size: 14161, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11096,7 +11097,7 @@ func bindataPublicTinymcePluginsMediaPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/media/plugin.min.js", size: 14947, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/media/plugin.min.js", size: 14947, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11116,7 +11117,7 @@ func bindataPublicTinymcePluginsNonbreakingPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/nonbreaking/plugin.min.js", size: 998, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/nonbreaking/plugin.min.js", size: 998, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11136,7 +11137,7 @@ func bindataPublicTinymcePluginsNoneditablePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/noneditable/plugin.min.js", size: 1532, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/noneditable/plugin.min.js", size: 1532, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11156,7 +11157,7 @@ func bindataPublicTinymcePluginsPagebreakPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/pagebreak/plugin.min.js", size: 1414, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/pagebreak/plugin.min.js", size: 1414, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11176,7 +11177,7 @@ func bindataPublicTinymcePluginsPastePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/paste/plugin.min.js", size: 20731, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/paste/plugin.min.js", size: 20731, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11196,7 +11197,7 @@ func bindataPublicTinymcePluginsPreviewPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/preview/plugin.min.js", size: 2022, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/preview/plugin.min.js", size: 2022, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11216,7 +11217,7 @@ func bindataPublicTinymcePluginsPrintPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/print/plugin.min.js", size: 352, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/print/plugin.min.js", size: 352, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11236,7 +11237,7 @@ func bindataPublicTinymcePluginsSavePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/save/plugin.min.js", size: 1413, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/save/plugin.min.js", size: 1413, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11256,7 +11257,7 @@ func bindataPublicTinymcePluginsSearchreplacePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/searchreplace/plugin.min.js", size: 7296, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/searchreplace/plugin.min.js", size: 7296, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11276,7 +11277,7 @@ func bindataPublicTinymcePluginsSpellcheckerPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/spellchecker/plugin.min.js", size: 9853, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/spellchecker/plugin.min.js", size: 9853, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11296,7 +11297,7 @@ func bindataPublicTinymcePluginsTabfocusPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/tabfocus/plugin.min.js", size: 1603, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/tabfocus/plugin.min.js", size: 1603, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11316,7 +11317,7 @@ func bindataPublicTinymcePluginsTablePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/table/plugin.min.js", size: 129212, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/table/plugin.min.js", size: 129212, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11336,7 +11337,7 @@ func bindataPublicTinymcePluginsTemplatePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/template/plugin.min.js", size: 5369, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/template/plugin.min.js", size: 5369, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11356,7 +11357,7 @@ func bindataPublicTinymcePluginsTextcolorPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/textcolor/plugin.min.js", size: 4862, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/textcolor/plugin.min.js", size: 4862, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11376,7 +11377,7 @@ func bindataPublicTinymcePluginsTextpatternPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/textpattern/plugin.min.js", size: 4105, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/textpattern/plugin.min.js", size: 4105, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11396,7 +11397,7 @@ func bindataPublicTinymcePluginsTocPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/toc/plugin.min.js", size: 2858, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/toc/plugin.min.js", size: 2858, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11416,7 +11417,7 @@ func bindataPublicTinymcePluginsUploadimageImgIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/uploadimage/img/icon.png", size: 319, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/uploadimage/img/icon.png", size: 319, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11436,7 +11437,7 @@ func bindataPublicTinymcePluginsUploadimagePluginJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/uploadimage/plugin.js", size: 1280, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/uploadimage/plugin.js", size: 1280, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11456,7 +11457,7 @@ func bindataPublicTinymcePluginsUploadimagePluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/uploadimage/plugin.min.js", size: 1280, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/uploadimage/plugin.min.js", size: 1280, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11476,7 +11477,7 @@ func bindataPublicTinymcePluginsVisualblocksCssVisualblocksCss() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/visualblocks/css/visualblocks.css", size: 5473, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/visualblocks/css/visualblocks.css", size: 5473, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11496,7 +11497,7 @@ func bindataPublicTinymcePluginsVisualblocksPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/visualblocks/plugin.min.js", size: 1669, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/visualblocks/plugin.min.js", size: 1669, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11516,7 +11517,7 @@ func bindataPublicTinymcePluginsVisualcharsPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/visualchars/plugin.min.js", size: 5067, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/visualchars/plugin.min.js", size: 5067, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11536,7 +11537,7 @@ func bindataPublicTinymcePluginsWordcountPluginMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/plugins/wordcount/plugin.min.js", size: 7169, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/plugins/wordcount/plugin.min.js", size: 7169, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11556,7 +11557,7 @@ func bindataPublicTinymceSkinsCharcoalVariablesLess() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/Variables.less", size: 7272, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/Variables.less", size: 7272, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11576,7 +11577,7 @@ func bindataPublicTinymceSkinsCharcoalContentInlineMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/content.inline.min.css", size: 2676, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/content.inline.min.css", size: 2676, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11596,7 +11597,7 @@ func bindataPublicTinymceSkinsCharcoalContentMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/content.min.css", size: 3091, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/content.min.css", size: 3091, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11616,7 +11617,7 @@ func bindataPublicTinymceSkinsCharcoalFontsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/readme.md", size: 67, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/readme.md", size: 67, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11636,7 +11637,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceSmallEot() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.eot", size: 9492, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.eot", size: 9492, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11656,7 +11657,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceSmallJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.json", size: 40273, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.json", size: 40273, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11676,7 +11677,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceSmallSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.svg", size: 24727, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.svg", size: 24727, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11696,7 +11697,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceSmallTtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.ttf", size: 9304, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.ttf", size: 9304, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11716,7 +11717,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceSmallWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.woff", size: 9380, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce-small.woff", size: 9380, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11736,7 +11737,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceEot() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.eot", size: 17572, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.eot", size: 17572, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11756,7 +11757,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.json", size: 89684, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.json", size: 89684, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11776,7 +11777,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.svg", size: 45991, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.svg", size: 45991, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11796,7 +11797,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceTtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.ttf", size: 17408, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.ttf", size: 17408, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11816,7 +11817,7 @@ func bindataPublicTinymceSkinsCharcoalFontsTinymceWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.woff", size: 17484, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/fonts/tinymce.woff", size: 17484, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11836,7 +11837,7 @@ func bindataPublicTinymceSkinsCharcoalImgAnchorGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/img/anchor.gif", size: 53, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/img/anchor.gif", size: 53, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11856,7 +11857,7 @@ func bindataPublicTinymceSkinsCharcoalImgLoaderGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/img/loader.gif", size: 2608, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/img/loader.gif", size: 2608, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11876,7 +11877,7 @@ func bindataPublicTinymceSkinsCharcoalImgObjectGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/img/object.gif", size: 152, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/img/object.gif", size: 152, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11896,7 +11897,7 @@ func bindataPublicTinymceSkinsCharcoalImgTransGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/img/trans.gif", size: 43, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/img/trans.gif", size: 43, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11916,7 +11917,7 @@ func bindataPublicTinymceSkinsCharcoalSkinIe7MinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/skin.ie7.min.css", size: 45978, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/skin.ie7.min.css", size: 45978, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11936,7 +11937,7 @@ func bindataPublicTinymceSkinsCharcoalSkinJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/skin.json", size: 2507, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/skin.json", size: 2507, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11956,7 +11957,7 @@ func bindataPublicTinymceSkinsCharcoalSkinMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/skin.min.css", size: 49774, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/charcoal/skin.min.css", size: 49774, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11976,7 +11977,7 @@ func bindataPublicTinymceSkinsDocumizeVariablesLess() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/Variables.less", size: 7283, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/Variables.less", size: 7283, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -11996,7 +11997,7 @@ func bindataPublicTinymceSkinsDocumizeContentInlineMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/content.inline.min.css", size: 2676, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/content.inline.min.css", size: 2676, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12016,7 +12017,7 @@ func bindataPublicTinymceSkinsDocumizeContentMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/content.min.css", size: 3091, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/content.min.css", size: 3091, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12036,7 +12037,7 @@ func bindataPublicTinymceSkinsDocumizeFontsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/readme.md", size: 67, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/readme.md", size: 67, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12056,7 +12057,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceSmallEot() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.eot", size: 9492, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.eot", size: 9492, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12076,7 +12077,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceSmallJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.json", size: 40273, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.json", size: 40273, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12096,7 +12097,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceSmallSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.svg", size: 24727, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.svg", size: 24727, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12116,7 +12117,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceSmallTtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.ttf", size: 9304, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.ttf", size: 9304, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12136,7 +12137,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceSmallWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.woff", size: 9380, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce-small.woff", size: 9380, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12156,7 +12157,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceEot() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.eot", size: 17572, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.eot", size: 17572, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12176,7 +12177,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.json", size: 89684, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.json", size: 89684, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12196,7 +12197,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.svg", size: 45991, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.svg", size: 45991, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12216,7 +12217,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceTtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.ttf", size: 17408, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.ttf", size: 17408, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12236,7 +12237,7 @@ func bindataPublicTinymceSkinsDocumizeFontsTinymceWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.woff", size: 17484, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/fonts/tinymce.woff", size: 17484, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12256,7 +12257,7 @@ func bindataPublicTinymceSkinsDocumizeImgAnchorGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/img/anchor.gif", size: 53, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/img/anchor.gif", size: 53, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12276,7 +12277,7 @@ func bindataPublicTinymceSkinsDocumizeImgLoaderGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/img/loader.gif", size: 2608, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/img/loader.gif", size: 2608, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12296,7 +12297,7 @@ func bindataPublicTinymceSkinsDocumizeImgObjectGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/img/object.gif", size: 152, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/img/object.gif", size: 152, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12316,7 +12317,7 @@ func bindataPublicTinymceSkinsDocumizeImgTransGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/img/trans.gif", size: 43, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/img/trans.gif", size: 43, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12336,7 +12337,7 @@ func bindataPublicTinymceSkinsDocumizeSkinIe7MinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/skin.ie7.min.css", size: 36982, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/skin.ie7.min.css", size: 36982, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12356,7 +12357,7 @@ func bindataPublicTinymceSkinsDocumizeSkinJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/skin.json", size: 2518, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/skin.json", size: 2518, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12376,7 +12377,7 @@ func bindataPublicTinymceSkinsDocumizeSkinMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/skin.min.css", size: 40297, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/documize/skin.min.css", size: 40297, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12396,7 +12397,7 @@ func bindataPublicTinymceSkinsLightgrayContentInlineMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/content.inline.min.css", size: 3326, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/content.inline.min.css", size: 3326, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12416,7 +12417,7 @@ func bindataPublicTinymceSkinsLightgrayContentMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/content.min.css", size: 3732, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/content.min.css", size: 3732, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12436,7 +12437,7 @@ func bindataPublicTinymceSkinsLightgrayContentMobileMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/content.mobile.min.css", size: 234, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/content.mobile.min.css", size: 234, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12456,7 +12457,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceMobileWoff() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-mobile.woff", size: 4624, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-mobile.woff", size: 4624, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12476,7 +12477,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceSmallEot() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-small.eot", size: 9492, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-small.eot", size: 9492, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12496,7 +12497,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceSmallSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-small.svg", size: 24727, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-small.svg", size: 24727, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12516,7 +12517,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceSmallTtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-small.ttf", size: 9304, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-small.ttf", size: 9304, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12536,7 +12537,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceSmallWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-small.woff", size: 9380, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce-small.woff", size: 9380, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12556,7 +12557,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceEot() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce.eot", size: 18808, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce.eot", size: 18808, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12576,7 +12577,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce.svg", size: 45989, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce.svg", size: 45989, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12596,7 +12597,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceTtf() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce.ttf", size: 18644, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce.ttf", size: 18644, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12616,7 +12617,7 @@ func bindataPublicTinymceSkinsLightgrayFontsTinymceWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce.woff", size: 18720, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/fonts/tinymce.woff", size: 18720, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12636,7 +12637,7 @@ func bindataPublicTinymceSkinsLightgrayImgAnchorGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/img/anchor.gif", size: 53, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/img/anchor.gif", size: 53, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12656,7 +12657,7 @@ func bindataPublicTinymceSkinsLightgrayImgLoaderGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/img/loader.gif", size: 2608, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/img/loader.gif", size: 2608, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12676,7 +12677,7 @@ func bindataPublicTinymceSkinsLightgrayImgObjectGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/img/object.gif", size: 152, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/img/object.gif", size: 152, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12696,7 +12697,7 @@ func bindataPublicTinymceSkinsLightgrayImgTransGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/img/trans.gif", size: 43, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/img/trans.gif", size: 43, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12716,7 +12717,7 @@ func bindataPublicTinymceSkinsLightgraySkinMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/skin.min.css", size: 43338, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/skin.min.css", size: 43338, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12736,7 +12737,7 @@ func bindataPublicTinymceSkinsLightgraySkinMobileMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/skin.mobile.min.css", size: 28005, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray/skin.mobile.min.css", size: 28005, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12756,7 +12757,7 @@ func bindataPublicTinymceSkinsLightgrayGradientVariablesLess() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/Variables.less", size: 8554, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/Variables.less", size: 8554, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12776,7 +12777,7 @@ func bindataPublicTinymceSkinsLightgrayGradientContentInlineMinCss() (*asset, er return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/content.inline.min.css", size: 3073, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/content.inline.min.css", size: 3073, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12796,7 +12797,7 @@ func bindataPublicTinymceSkinsLightgrayGradientContentMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/content.min.css", size: 3618, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/content.min.css", size: 3618, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12816,7 +12817,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/readme.md", size: 67, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/readme.md", size: 67, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12836,7 +12837,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceSmallEot() (*asset, e return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.eot", size: 9492, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.eot", size: 9492, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12856,7 +12857,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceSmallJson() (*asset, return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.json", size: 40273, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.json", size: 40273, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12876,7 +12877,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceSmallSvg() (*asset, e return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.svg", size: 24727, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.svg", size: 24727, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12896,7 +12897,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceSmallTtf() (*asset, e return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.ttf", size: 9304, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.ttf", size: 9304, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12916,7 +12917,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceSmallWoff() (*asset, return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.woff", size: 9380, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce-small.woff", size: 9380, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12936,7 +12937,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceEot() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.eot", size: 17572, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.eot", size: 17572, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12956,7 +12957,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceJson() (*asset, error return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.json", size: 87654, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.json", size: 87654, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12976,7 +12977,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceSvg() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.svg", size: 45991, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.svg", size: 45991, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -12996,7 +12997,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceTtf() (*asset, error) return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.ttf", size: 17408, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.ttf", size: 17408, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13016,7 +13017,7 @@ func bindataPublicTinymceSkinsLightgrayGradientFontsTinymceWoff() (*asset, error return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.woff", size: 17484, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/fonts/tinymce.woff", size: 17484, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13036,7 +13037,7 @@ func bindataPublicTinymceSkinsLightgrayGradientImgAnchorGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/img/anchor.gif", size: 53, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/img/anchor.gif", size: 53, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13056,7 +13057,7 @@ func bindataPublicTinymceSkinsLightgrayGradientImgLoaderGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/img/loader.gif", size: 2608, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/img/loader.gif", size: 2608, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13076,7 +13077,7 @@ func bindataPublicTinymceSkinsLightgrayGradientImgObjectGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/img/object.gif", size: 152, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/img/object.gif", size: 152, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13096,7 +13097,7 @@ func bindataPublicTinymceSkinsLightgrayGradientImgTransGif() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/img/trans.gif", size: 43, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/img/trans.gif", size: 43, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13116,7 +13117,7 @@ func bindataPublicTinymceSkinsLightgrayGradientSkinIe7MinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/skin.ie7.min.css", size: 43291, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/skin.ie7.min.css", size: 43291, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13136,7 +13137,7 @@ func bindataPublicTinymceSkinsLightgrayGradientSkinJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/skin.json", size: 2523, mode: os.FileMode(493), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/skin.json", size: 2523, mode: os.FileMode(493), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13156,7 +13157,7 @@ func bindataPublicTinymceSkinsLightgrayGradientSkinMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/skin.min.css", size: 50359, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/skins/lightgray-gradient/skin.min.css", size: 50359, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13176,7 +13177,7 @@ func bindataPublicTinymceThemesInliteThemeMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/themes/inlite/theme.min.js", size: 134561, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/themes/inlite/theme.min.js", size: 134561, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13196,7 +13197,7 @@ func bindataPublicTinymceThemesMobileThemeMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/themes/mobile/theme.min.js", size: 165178, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/themes/mobile/theme.min.js", size: 165178, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13216,7 +13217,7 @@ func bindataPublicTinymceThemesModernThemeMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/themes/modern/theme.min.js", size: 133571, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/themes/modern/theme.min.js", size: 133571, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13236,7 +13237,7 @@ func bindataPublicTinymceTinymceMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/public/tinymce/tinymce.min.js", size: 342790, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/public/tinymce/tinymce.min.js", size: 342790, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13256,7 +13257,7 @@ func bindataRobotsTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/robots.txt", size: 51, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/robots.txt", size: 51, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13276,7 +13277,7 @@ func bindataScriptsMysqlDb_00000Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00000.sql", size: 10782, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00000.sql", size: 10782, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13296,7 +13297,7 @@ func bindataScriptsMysqlDb_00001Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00001.sql", size: 692, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00001.sql", size: 692, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13316,7 +13317,7 @@ func bindataScriptsMysqlDb_00002Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00002.sql", size: 548, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00002.sql", size: 548, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13336,7 +13337,7 @@ func bindataScriptsMysqlDb_00003Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00003.sql", size: 103, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00003.sql", size: 103, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13356,7 +13357,7 @@ func bindataScriptsMysqlDb_00004Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00004.sql", size: 824, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00004.sql", size: 824, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13376,7 +13377,7 @@ func bindataScriptsMysqlDb_00005Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00005.sql", size: 441, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00005.sql", size: 441, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13396,7 +13397,7 @@ func bindataScriptsMysqlDb_00006Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00006.sql", size: 634, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00006.sql", size: 634, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13416,7 +13417,7 @@ func bindataScriptsMysqlDb_00007Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00007.sql", size: 115, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00007.sql", size: 115, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13436,7 +13437,7 @@ func bindataScriptsMysqlDb_00008Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00008.sql", size: 711, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00008.sql", size: 711, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13456,7 +13457,7 @@ func bindataScriptsMysqlDb_00009Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00009.sql", size: 1262, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00009.sql", size: 1262, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13476,7 +13477,7 @@ func bindataScriptsMysqlDb_00010Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00010.sql", size: 4289, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00010.sql", size: 4289, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13496,7 +13497,7 @@ func bindataScriptsMysqlDb_00011Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00011.sql", size: 218, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00011.sql", size: 218, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13516,7 +13517,7 @@ func bindataScriptsMysqlDb_00012Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00012.sql", size: 128, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00012.sql", size: 128, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13536,7 +13537,7 @@ func bindataScriptsMysqlDb_00013Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00013.sql", size: 632, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00013.sql", size: 632, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13556,7 +13557,7 @@ func bindataScriptsMysqlDb_00014Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00014.sql", size: 144, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00014.sql", size: 144, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13576,7 +13577,7 @@ func bindataScriptsMysqlDb_00015Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00015.sql", size: 3972, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00015.sql", size: 3972, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13596,7 +13597,7 @@ func bindataScriptsMysqlDb_00016Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00016.sql", size: 6528, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00016.sql", size: 6528, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13616,7 +13617,7 @@ func bindataScriptsMysqlDb_00017Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00017.sql", size: 1543, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00017.sql", size: 1543, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13636,7 +13637,7 @@ func bindataScriptsMysqlDb_00018Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00018.sql", size: 320, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00018.sql", size: 320, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13656,7 +13657,7 @@ func bindataScriptsMysqlDb_00019Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00019.sql", size: 1432, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00019.sql", size: 1432, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13676,7 +13677,7 @@ func bindataScriptsMysqlDb_00020Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00020.sql", size: 605, mode: os.FileMode(420), modTime: time.Unix(1537357103, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00020.sql", size: 605, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13696,7 +13697,7 @@ func bindataScriptsMysqlDb_00021Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00021.sql", size: 929, mode: os.FileMode(420), modTime: time.Unix(1537357104, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00021.sql", size: 929, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13716,7 +13717,7 @@ func bindataScriptsMysqlDb_00022Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00022.sql", size: 158, mode: os.FileMode(420), modTime: time.Unix(1537357104, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00022.sql", size: 158, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13736,7 +13737,7 @@ func bindataScriptsMysqlDb_00023Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00023.sql", size: 126, mode: os.FileMode(420), modTime: time.Unix(1537357104, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00023.sql", size: 126, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13756,7 +13757,7 @@ func bindataScriptsMysqlDb_00024Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00024.sql", size: 346, mode: os.FileMode(420), modTime: time.Unix(1537357104, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00024.sql", size: 346, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13776,7 +13777,27 @@ func bindataScriptsMysqlDb_00025Sql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "bindata/scripts/mysql/db_00025.sql", size: 15851, mode: os.FileMode(420), modTime: time.Unix(1537357104, 0)} + info := bindataFileInfo{name: "bindata/scripts/mysql/db_00025.sql", size: 15851, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _bindataScriptsPostgresqlDb_00000Sql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x20\xfc\xe2\xe4\xe0\x24\x8d\x9d\x1e\xd0\x16\xf7\xe0\x26\x6e\xcf\xa8\xe3\xa4\xb1\x73\xb7\xc5\xa2\x30\x68\x8a\xb6\xd9\x48\xa2\x4a\xd2\x76\xbd\x8b\x7e\xf7\x83\xfe\x50\xff\x45\x51\xf2\x39\xab\x64\xfb\x96\x98\xfc\x8d\x28\xce\x6f\x86\xc3\xe1\x50\xa7\xa7\x60\xf2\x79\x04\x04\x05\x1c\x0b\xb0\x76\x80\x58\x61\x70\x4d\xd1\xda\x22\x7f\x60\x60\x40\x01\xe7\x90\xe3\xa3\xd3\x53\xc0\xb1\x89\x91\x00\xff\x00\x0b\x46\x2d\x40\xec\x05\x65\x16\x14\x84\xda\x33\x8e\x56\xd8\x82\x67\x02\xce\x4d\xcc\xc1\x7f\xff\x3d\xb8\x1f\x00\xef\x9f\x19\x82\x02\x9a\x74\xf9\xaf\xb6\x11\x48\x6c\xbf\x73\x45\xad\x84\x70\xde\x9e\x9f\x6f\xb7\xdb\x33\x87\x72\xb1\x64\x98\x7f\x37\xc5\x5a\x50\x46\xa0\x79\x86\xa8\x75\x1e\xfd\x7c\xfa\x8d\x53\xfb\x5c\xa2\xf8\xdb\xf3\x73\x6c\x9f\x6d\xc9\x23\x99\x53\xfa\xc8\xcf\x28\x5b\x9e\xbb\xff\x9d\x5f\x51\x7b\x83\x99\x20\xf6\x72\x76\xb3\x9b\x7c\x1e\xcd\x04\x9d\xdd\xf9\x52\x26\x9f\x47\x47\x47\xd7\xf7\xb7\x77\x60\xda\x7f\x3f\x1a\x80\xe1\x07\x30\xf8\x6d\x38\x99\x4e\x80\x61\xfd\x31\x83\xc8\x7d\x89\x77\x47\x57\xf7\x83\xfe\x74\x10\x74\x89\x1a\xc0\xf1\x11\x00\x00\x10\x03\xcc\xc9\x92\x63\x77\x84\x60\x7c\x3b\x05\xe3\x87\xd1\xa8\xe3\x35\xa1\x19\xc3\x0b\x62\x00\xb4\x82\xec\xf8\xe2\x9f\x27\xe0\xea\x76\x34\x72\x45\xad\x11\x9f\xcd\x21\x27\x28\x03\xa0\x6c\x59\x0d\xb0\x76\x9f\x5c\x09\x61\x50\x54\x0d\xc0\xf0\xf7\x35\xe6\xae\x0e\x2a\xc1\xfc\x59\x12\x3b\x07\x03\x62\x8b\xb0\x19\x5c\x0f\x3e\xf4\x1f\x46\x53\xd0\x7e\xd5\x96\x5d\x6d\x2a\x30\xd8\x40\xe6\x49\xef\xbe\x7a\xf5\x4a\x25\x3f\x12\xd0\x4e\x8d\x10\x1b\x40\x10\x0b\x73\x01\x2d\x27\xd9\x35\xf1\xfe\x6b\xac\xd3\x0d\x51\xcb\x31\xb1\xa6\x4c\xc2\x65\x77\x30\xa7\xd4\x54\xbe\x2c\xc3\x0b\x6f\x52\xfc\xa9\xd4\x7b\xd3\xeb\x34\xba\x9a\x2a\x10\xc3\x30\xf5\x26\xe9\x47\x5c\x3d\xdc\xdf\x0f\xc6\xd3\xd9\x74\x78\x33\x98\x4c\xfb\x37\x77\xd1\x03\x37\x84\xd7\xc2\xde\xdd\x0f\x6f\xfa\xf7\x5f\xc0\xa7\xc1\x17\x70\x4c\x8c\x93\xa3\x93\xd0\x96\x86\xe3\xeb\xc1\x6f\x80\x18\x3f\x02\x96\xcc\x2e\xc0\xed\x38\x61\x5b\x81\xed\x28\x20\xdd\x2c\xc4\x37\x06\x05\xa6\x97\xc5\x78\xe6\xa0\x80\x5c\xe6\x8d\x2c\x34\x88\x93\x77\x2a\x07\xb2\x36\x88\x98\x99\x74\x99\xe7\x43\x64\x9b\x8e\x1b\x79\x02\xaf\x80\x37\xd8\x16\x1e\x2f\xa5\x1d\x5e\x54\x36\x43\xe2\x84\xe0\xde\x9b\x8a\xd8\xfa\x14\xd5\xa3\x99\x9c\xee\x18\xd3\x22\x0d\x04\x33\xac\x06\x76\x73\x81\x0a\xca\x85\xc8\x5e\x2e\x32\x9c\x71\x25\x87\x10\x14\x78\x49\xd9\x2e\x87\x42\xb2\xa9\x19\x0b\x11\x77\x20\xaa\xe8\x96\x6c\x68\x45\x74\x7b\xad\x64\xdb\x5f\xeb\xc9\x1e\xc6\xc3\xcf\x0f\x83\x62\x76\x49\x4d\x44\xe4\x8a\x74\xa3\x70\x64\x21\xac\x9b\x07\x2b\xa4\x64\x08\xeb\x15\xc2\x3a\xa1\x3e\xb4\xc8\x35\xb3\xb0\x35\xc7\x4c\xc1\xb1\xa0\xc7\xb3\xa5\x9a\x7c\x8f\x03\x87\x4a\x0d\xa7\xa7\xaf\xc4\x2c\x4b\x43\xed\x2a\x96\xc3\xb4\x90\x0c\x67\x63\x42\x24\x07\xb5\x85\x65\x98\x9c\x23\x4c\x8b\xd0\xd4\x5e\x90\xbc\xe5\xd6\x6f\x08\xe8\x8b\x66\x8f\x78\x07\x64\xb0\xa9\xa5\x57\x1f\xee\xee\x38\x72\xe2\x3f\x39\xff\x9e\x5c\x4f\x05\xc5\x23\x34\x28\xca\x19\x9e\x41\xd1\xb3\x35\x2d\xfd\x58\x23\x67\xd9\xff\x46\xe7\x3e\xb2\x57\x15\x69\x52\xe4\x6d\x32\xf7\xd9\x37\x24\x16\xa0\x1a\x78\x03\x73\xb4\x0f\x9e\x9b\xeb\xe5\x3e\x78\x01\x97\x3c\x1e\xaf\x55\xc6\x63\xcb\x31\xa1\xce\xa6\xc5\x61\x54\x60\x3f\x00\x2e\xdb\xcc\x41\xc7\x61\x74\x03\xcd\xd2\x8e\x26\x59\x60\xb4\x43\x66\xd1\xfe\xf0\x22\xec\xb9\xc1\x8c\x13\x6a\x63\xa3\x54\x66\xd0\x93\x18\x7b\x84\xb1\x81\x0c\xca\x0c\xcc\x4a\x1f\xb8\x64\x74\xed\xd4\xa6\x7f\x03\x36\x66\x32\x3e\xc9\x5d\x39\x0c\x8a\xa2\xd5\xc2\x73\x52\xf9\xfe\xdc\xed\xd7\x4d\xf4\x53\xc4\x2f\x6e\xe7\x5e\xaa\xb3\x8e\x73\x77\x71\x50\x08\x88\x56\x16\xb6\x45\xbe\x17\x8d\x75\x68\x86\x43\xad\x1c\x42\x68\x7a\x44\xd9\x7d\x41\xcc\xc8\x5f\x6b\xad\x65\x2e\x22\xe9\xf8\x5e\xbf\xd6\x7a\x13\x28\x20\x78\xff\x65\x3a\xe8\x87\x7b\xc6\x1f\x02\xdb\xae\xa9\xf8\x8f\x6f\x70\x84\x54\x8d\xf1\x11\x87\x12\xe4\x4f\x70\xab\x98\xda\x31\x74\xb7\x08\x5d\x62\x1d\x31\x11\xbd\x62\x11\x85\xd1\x55\x4a\xc4\x65\xb1\x88\x6f\x74\xde\x91\x1c\x2a\xb5\x3d\x44\x2d\x85\xe1\x05\xad\xcf\xd4\xea\xca\x83\x98\xac\xf3\xc6\x16\x24\x66\xcc\x8a\xaa\xae\x33\x0b\x8c\x8d\x39\x44\x8f\x40\xe0\x1f\x22\x0b\x7d\xa2\xcc\x48\x4c\x77\x49\xb6\x87\x0a\x8d\x76\xb0\x6a\x7e\x98\xc4\x7e\x2c\x20\x87\xdb\xd4\x0c\x66\x1c\x34\xc0\x0d\x1f\x42\xd7\x0c\xe1\xca\x24\xf4\x61\xdc\x8f\xb3\xaa\x41\x63\x19\x65\xbd\xfe\x90\x2d\xb1\xa8\x3c\x42\x1f\x56\x3b\xdc\x71\x17\x0c\x66\x43\x33\x19\x9e\x55\xb5\x1b\xca\x9c\x15\xb4\xcb\x63\xd6\x06\x2c\x35\x81\xd1\xa9\xed\x86\xaf\x20\xc3\x05\x86\xe3\xb5\x1d\x24\x45\xfc\x2c\x5c\xa4\x85\x39\x87\xcb\x78\x92\xb0\x72\x30\x4f\xf0\x16\x1b\x7b\x08\xe0\x18\x31\x2c\xf6\x78\x07\xfc\xc3\x21\x0c\xf3\x6a\x13\x07\x91\x20\x9b\xc2\x7d\xd9\xc5\x81\xd2\xe6\x6a\x9e\x6e\xa8\x28\xa2\xa9\xdb\xd4\x0c\xff\x5e\x99\xd6\xee\xd0\x59\x4d\x7f\xe6\xbd\x76\xd9\x0e\xb1\x99\x39\x41\xa9\xb5\xe4\x9a\xef\xeb\x51\x91\xb2\x0e\x61\xdd\x3c\x98\x32\x22\xf5\x60\xbd\x3c\x98\x32\x16\xf6\x60\x97\x85\xb0\x58\x96\xb1\x98\xbd\xde\x26\x3d\x87\xba\xde\xef\xcd\xe0\x6d\x85\xb3\x90\xb2\x44\x54\x41\xc6\xa3\x29\xd9\x87\x32\x66\x7a\x4a\x89\x68\x19\xe8\x48\xc1\x49\x1f\xd0\xcd\x00\x24\xad\x4a\x78\x51\x7c\xf8\x11\x6f\x3e\xc8\x1a\x5c\x21\x79\x54\x37\x18\xd5\x9b\xed\xf4\xc1\x40\xf2\xcd\xc3\x81\x76\x54\xe7\x9d\x09\x49\xdd\x22\x49\xd2\x68\x73\x24\x16\xeb\x89\xb2\xbc\x9c\x3e\x65\x5a\x87\xe7\x95\x6d\x17\x51\xcb\x81\xf6\x4e\x37\x66\x08\x63\x63\x22\x4c\xed\x48\xa5\x66\x80\x13\xad\x72\x16\x24\x89\xd4\x77\xe5\xa8\x86\x6d\x08\xc2\xd5\x25\xc8\x5a\x2b\xe8\x90\x33\x59\xbb\x75\x86\xa8\x55\x10\xf2\x55\x8f\xb7\xa0\x4d\x6d\x88\x10\xe6\xbc\x3c\xc2\x87\x6b\xb1\x72\x18\xdd\x10\x43\x2e\xe1\x5d\xcd\xc7\x85\x65\x67\x71\x51\xea\x53\x1e\x34\xb3\xe0\x0f\x2f\xe3\x9e\xbf\xe2\xf7\xe2\x09\x64\xb2\x20\xd8\x28\x7f\x81\x80\xb2\xb5\xfd\xfe\xe1\xc3\xc4\xa7\xc9\xba\x51\x16\x2b\xcc\xf0\xec\x3a\xdf\xc7\xb8\xfd\xba\x89\x7e\xd2\x16\x94\xfe\xc3\xc1\xcc\x22\x9c\xe7\x57\xf3\x45\x8d\x07\xf1\xf1\xdb\x15\x8d\xaa\x62\xb4\x8c\x7b\xbb\xa2\xb5\x77\xd8\x41\x91\x52\xb5\x07\x72\x44\x63\x75\x3f\x7a\x98\xcc\xf1\x5b\xc9\x39\x4b\x7d\x6f\x5c\x9b\xba\x65\x4b\x5f\xa4\xf8\x88\x7b\x71\x32\x28\x02\xd3\x18\xb4\xab\x80\x76\x3c\x65\x76\x02\x95\x76\xa2\x59\x2b\x91\xd9\xab\x23\xb3\x23\xb5\x5f\x22\xfc\x52\x2d\x3c\x26\xae\x30\xe2\x8a\x49\x7b\xad\x33\xd4\xbc\x21\x2a\xac\x95\xe4\x9a\x29\x79\x36\x15\xb7\x39\xcb\x6d\x79\xd6\x31\x27\xa8\x2f\xdb\xca\xe6\x2d\xeb\xdf\xd7\xd8\x46\x18\xbc\x1f\x7e\x1c\x8e\xa7\x39\x9e\xe2\xcd\x9b\xe4\xe9\x77\xcd\x33\xd2\x06\x2c\x28\x85\x66\x4d\xe2\xf6\x4c\x92\x85\xa1\xc5\xac\xe3\xd8\x75\x64\x39\xc4\xf3\x1b\x9a\x91\x83\x23\x02\x5b\xb5\xd7\x06\x17\x9c\xaa\xf0\xd4\xac\x7d\x11\xd8\x16\x07\x3b\xa5\x28\x73\xd3\xfe\xfc\x47\x2a\x95\xfa\x50\xb8\xe7\x00\xd2\xcd\x42\x0a\x33\x14\x01\xa4\x97\x82\x3c\x4c\x86\xe3\x8f\xe0\xe3\x70\x0c\x8e\x05\x9d\x09\xbe\xc1\x48\x50\x76\xdc\xc6\xf6\xd2\x24\x7c\xd5\xee\x44\x13\x74\x52\x42\xaf\xa2\xdb\x04\x41\x4b\x33\x9c\xdb\x01\xb2\xc2\x2a\x2f\xe2\xcf\x5c\x74\x78\xa1\x1b\xbe\x6f\x77\x9c\x6c\x77\xcb\x76\xce\xf1\x87\xa6\x84\x60\xd6\x33\xa5\x30\xb5\xdf\xc5\xc4\x1b\x6c\xba\xba\x8b\xef\x0e\x32\x7e\xd9\xa0\xeb\xb9\x89\x81\xc3\x30\x22\xde\x5a\xa9\xcc\x03\xd5\x28\x09\x9a\x53\x63\x57\x62\xaa\x9e\xff\x25\xd4\xe6\x85\xa3\x15\x50\xac\x8b\xb6\x39\xf1\x8b\x0c\x26\x74\xb7\x1f\x2f\xb6\xfa\x25\xe0\x48\xdc\xf5\x04\xa6\x5a\xe4\x43\x52\x37\x13\xc2\xfe\x4a\x5f\x95\xba\x9a\x10\x03\x95\x67\x36\x25\xda\xc2\x02\x16\xfb\x16\xaf\x59\xc7\xc1\xd4\x3a\x7b\x3c\xe0\xed\x84\x3a\x51\x51\xc6\x69\xc2\xad\x67\x14\x89\xd2\x95\xb2\xad\xbe\x3c\xa9\xf4\xb7\xd6\x8d\xc9\xea\xa7\xb8\x1b\xaa\x4b\xcd\x5f\x57\xfb\x19\x12\x07\x9c\x50\x93\xd2\x43\xa6\xe9\x1c\x20\xe3\x8f\x2f\x13\x91\x26\x77\x28\xa2\xd4\x2c\x3c\xf8\x65\x11\x5c\xdf\x40\xa4\xd3\x53\x18\x89\xec\xf2\x4c\x57\x62\xba\xb5\x6b\x6c\x4c\xea\x18\x7c\xf5\x82\x88\x06\x2d\xf4\x4f\xb1\xc0\xd6\xf1\x38\x8d\x70\x28\x1a\x8b\xa1\xb4\x92\xac\x43\x89\xec\x47\x6d\xd2\xa1\x84\x8c\x63\x89\x24\x68\x78\x86\x50\x4c\xc6\xb9\xc4\xc5\x28\x02\xfe\x94\x98\x8c\x93\x89\x8b\x89\xbb\xba\x72\x67\x23\x83\x49\x85\xb3\x09\x4b\xaf\x1b\xe1\x6c\x6a\xe5\x27\xea\x24\x42\xfe\x5e\x8e\x60\xdf\xfb\x01\x6b\xd7\xa8\x0b\x82\xf4\x17\x1b\xd6\x94\x39\x20\x69\x39\x59\x07\x14\xd9\x94\x22\x77\x99\x11\x93\xf1\x42\x71\x31\x3a\x75\xe9\x5e\x9f\x3c\x53\x77\x7f\x3f\x88\x7d\x27\xa8\xdb\xd3\x4b\xbc\x3f\x6d\x94\xae\xb8\xf6\x7f\x51\xe3\x02\x88\x49\x1e\xf1\x5e\x37\x5d\x1a\xc0\x6b\xf5\xea\xea\x72\x25\xc6\x68\x9f\x3a\x05\x0c\xf6\xfa\x76\x53\x7d\x55\x47\xf3\x3e\xa2\x97\x41\x94\x57\x48\xb8\x32\x73\xa8\xed\xfe\x7c\x10\x66\x2f\x08\xe3\x22\x55\x0b\x53\x55\xd7\x26\xdc\x5b\xc4\xbe\x87\xd8\xc4\x26\x82\x40\x93\xc7\x9c\x7f\x45\x09\x4b\x93\xce\xa1\x09\x0d\x8b\x68\x54\xba\x3a\x90\xf3\x2d\x65\x7b\x95\x39\x42\x53\xec\x01\x67\x98\xe3\x7d\xf0\xba\x07\xd9\xae\x6e\x83\xfb\x59\x2f\x34\xe9\xe4\x9a\x56\xe4\x08\x7c\x43\xcb\xb7\x6a\xaf\x67\x37\xd9\x33\xa0\x6e\xa9\x4d\xcf\x20\x42\x74\x9d\x7b\x99\x23\xde\xdc\x8c\xe8\xb4\xc6\xd7\x2c\x0c\x22\x28\xd3\x28\x20\xd1\xb3\x2f\x77\x00\x85\xe5\x28\x17\xb1\xd2\x15\x68\xee\x04\x41\x3a\x95\x2b\x2f\xa4\x70\x23\x4e\x96\x24\x6b\x23\x0a\x29\xd8\x2b\x91\xdd\x7c\xa4\x6a\x4d\x4b\xe0\x7b\x45\x78\xbd\x15\xce\x57\x07\x11\x79\x5f\xd9\x48\xb4\x37\xe4\x63\x2d\x35\x2e\xb1\x68\xa7\x93\xf6\x4d\x12\xe5\xe1\xbd\x7b\x2d\x5a\x5f\x82\x92\x13\xad\xd5\xd9\xc2\x02\x7a\xb7\x12\xff\x92\xc0\x50\x6b\xd3\x92\x60\x4f\xc6\x40\x24\xa9\x14\xd9\x8e\xa4\x80\xb4\x9d\x44\x02\x4a\x0d\x25\x90\x90\xb6\x94\x48\x42\x7c\xea\xcb\xe5\x5c\xaa\x5f\x45\x96\x65\x77\xe2\xda\x2f\x97\xfa\x5a\x5b\xaa\xff\xbe\x69\xf1\xbf\xac\xfc\x97\x95\xff\xb2\xf2\x97\x6e\xe5\x25\x66\x5e\xf8\x11\x98\x58\x6b\xf8\x25\x98\x27\xb0\xe3\x43\x7d\x6c\x46\x4e\x56\x38\x49\xe1\xd7\x67\x86\xe3\xc9\xe0\x7e\x0a\x86\xe3\xe9\x6d\xfc\xeb\x37\xff\xe9\x8f\x1e\x06\x13\x70\xdc\x9e\xdc\x4c\xef\xda\x9d\xf6\x9f\x2d\x1f\xda\x7a\x0b\x5a\xad\x4e\x4b\xee\x22\x83\x7f\x57\x94\x0b\xd9\x42\x99\xfc\x93\x63\xdb\xc0\xcc\xfb\xe7\x67\xfb\xe4\x5d\xe9\xa3\x3e\x0c\x47\x83\xbb\xd1\xc3\xc7\xe1\x78\xd2\xee\x80\xf6\xef\x7f\xb6\xae\xfc\x7b\xc5\xae\x88\x6b\xc2\xe1\xdc\xc4\xe0\x98\x32\x60\x53\x71\x02\xe6\x6b\x62\x8a\x53\x62\x83\x95\xb0\x4c\x40\x2c\xf7\xc1\xe0\x78\x7c\x3b\x1d\xbc\x05\x36\x05\x77\xe6\x7a\x49\x6c\xe0\x6e\xee\x4f\x5a\x1d\x09\x77\x07\xbc\x80\x26\xc7\x9d\x56\xff\x6e\xe8\xca\x0d\x3e\xf9\xd9\xea\xb4\xfa\x9e\x4f\xe3\xad\xb7\xe0\xf7\xd6\x4a\x58\xee\x6b\x09\xcb\x6c\x7d\xfd\xd9\xd1\x1c\x48\xf8\xc5\xd3\xfe\xdd\x50\x0e\xc8\x4b\xcb\x7a\x1f\x3b\x9d\x5c\x7f\xfa\xbf\x0d\x4f\x96\xa4\x43\x87\xb4\xbe\xfe\xfc\xaa\x33\xb9\x93\xc1\xd5\x74\x78\x3b\x3e\x9d\xde\x0f\x46\xa3\x5b\x4f\xa3\xd0\x71\x3e\xe1\x9d\xbe\x7e\x6e\x06\xd3\xbe\x07\x94\x5f\x74\x75\xa1\xaf\x7c\xec\xff\x02\x00\x00\xff\xff\x7b\x02\xc9\xa3\x03\x56\x00\x00") + +func bindataScriptsPostgresqlDb_00000SqlBytes() ([]byte, error) { + return bindataRead( + _bindataScriptsPostgresqlDb_00000Sql, + "bindata/scripts/postgresql/db_00000.sql", + ) +} + +func bindataScriptsPostgresqlDb_00000Sql() (*asset, error) { + bytes, err := bindataScriptsPostgresqlDb_00000SqlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "bindata/scripts/postgresql/db_00000.sql", size: 22019, mode: os.FileMode(420), modTime: time.Unix(1537893430, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -13848,8 +13869,8 @@ var _bindata = map[string]func() (*asset, error){ "bindata/mail/share-space-new-user.html": bindataMailShareSpaceNewUserHtml, "bindata/manifest.json": bindataManifestJson, "bindata/offline.html": bindataOfflineHtml, - "bindata/public/assets/documize-78bde9efe167caa18caf472582023f8b.js": bindataPublicAssetsDocumize78bde9efe167caa18caf472582023f8bJs, - "bindata/public/assets/documize-fa9bb4d957702a968245808b3b9bec0f.css": bindataPublicAssetsDocumizeFa9bb4d957702a968245808b3b9bec0fCss, + "bindata/public/assets/documize-3643799468e1b2a266d840a1dad5e25c.css": bindataPublicAssetsDocumize3643799468e1b2a266d840a1dad5e25cCss, + "bindata/public/assets/documize-c5ca96bc6e367ed06247e94fba7fb20d.js": bindataPublicAssetsDocumizeC5ca96bc6e367ed06247e94fba7fb20dJs, "bindata/public/assets/font/icons/MaterialIcons-Regular.eot": bindataPublicAssetsFontIconsMaterialiconsRegularEot, "bindata/public/assets/font/icons/MaterialIcons-Regular.ttf": bindataPublicAssetsFontIconsMaterialiconsRegularTtf, "bindata/public/assets/font/icons/MaterialIcons-Regular.woff": bindataPublicAssetsFontIconsMaterialiconsRegularWoff, @@ -14486,6 +14507,7 @@ var _bindata = map[string]func() (*asset, error){ "bindata/scripts/mysql/db_00023.sql": bindataScriptsMysqlDb_00023Sql, "bindata/scripts/mysql/db_00024.sql": bindataScriptsMysqlDb_00024Sql, "bindata/scripts/mysql/db_00025.sql": bindataScriptsMysqlDb_00025Sql, + "bindata/scripts/postgresql/db_00000.sql": bindataScriptsPostgresqlDb_00000Sql, } // AssetDir returns the file names below a certain @@ -14548,8 +14570,8 @@ var _bintree = &bintree{nil, map[string]*bintree{ "offline.html": &bintree{bindataOfflineHtml, map[string]*bintree{}}, "public": &bintree{nil, map[string]*bintree{ "assets": &bintree{nil, map[string]*bintree{ - "documize-78bde9efe167caa18caf472582023f8b.js": &bintree{bindataPublicAssetsDocumize78bde9efe167caa18caf472582023f8bJs, map[string]*bintree{}}, - "documize-fa9bb4d957702a968245808b3b9bec0f.css": &bintree{bindataPublicAssetsDocumizeFa9bb4d957702a968245808b3b9bec0fCss, map[string]*bintree{}}, + "documize-3643799468e1b2a266d840a1dad5e25c.css": &bintree{bindataPublicAssetsDocumize3643799468e1b2a266d840a1dad5e25cCss, map[string]*bintree{}}, + "documize-c5ca96bc6e367ed06247e94fba7fb20d.js": &bintree{bindataPublicAssetsDocumizeC5ca96bc6e367ed06247e94fba7fb20dJs, map[string]*bintree{}}, "font": &bintree{nil, map[string]*bintree{ "icons": &bintree{nil, map[string]*bintree{ "MaterialIcons-Regular.eot": &bintree{bindataPublicAssetsFontIconsMaterialiconsRegularEot, map[string]*bintree{}}, @@ -15625,6 +15647,9 @@ var _bintree = &bintree{nil, map[string]*bintree{ "db_00024.sql": &bintree{bindataScriptsMysqlDb_00024Sql, map[string]*bintree{}}, "db_00025.sql": &bintree{bindataScriptsMysqlDb_00025Sql, map[string]*bintree{}}, }}, + "postgresql": &bintree{nil, map[string]*bintree{ + "db_00000.sql": &bintree{bindataScriptsPostgresqlDb_00000Sql, map[string]*bintree{}}, + }}, }}, }}, }} diff --git a/gui/app/components/documize-setup.js b/gui/app/components/documize-setup.js index 006a8b54..62056808 100644 --- a/gui/app/components/documize-setup.js +++ b/gui/app/components/documize-setup.js @@ -16,7 +16,7 @@ import { set } from '@ember/object'; import Component from '@ember/component'; export default Component.extend({ - buttonLabel: 'Save', + buttonLabel: 'Complete setup', titleEmpty: empty('model.title'), firstnameEmpty: empty('model.firstname'), lastnameEmpty: empty('model.lastname'), @@ -57,7 +57,7 @@ export default Component.extend({ this.model.allowAnonymousAccess = $("#allowAnonymousAccess").prop('checked'); - this.set('buttonLabel', 'Working...'); + this.set('buttonLabel', 'Configuring, please wait...'); this.get('save')().then(() => { set(this, 'titleError', false); @@ -65,7 +65,6 @@ export default Component.extend({ set(this, 'adminLastnameError', false); set(this, 'adminEmailError', false); set(this, 'adminPasswordError', false); - this.set('buttonLabel', 'Save'); }); } } diff --git a/vendor/github.com/go-sql-driver/mysql/.gitignore b/vendor/github.com/go-sql-driver/mysql/.gitignore index ba8e0cb3..2de28da1 100644 --- a/vendor/github.com/go-sql-driver/mysql/.gitignore +++ b/vendor/github.com/go-sql-driver/mysql/.gitignore @@ -6,3 +6,4 @@ Icon? ehthumbs.db Thumbs.db +.idea diff --git a/vendor/github.com/go-sql-driver/mysql/.travis.yml b/vendor/github.com/go-sql-driver/mysql/.travis.yml index c1cc10aa..cc1268c3 100644 --- a/vendor/github.com/go-sql-driver/mysql/.travis.yml +++ b/vendor/github.com/go-sql-driver/mysql/.travis.yml @@ -1,13 +1,107 @@ sudo: false language: go go: - - 1.2 - - 1.3 - - 1.4 - - 1.5 - - 1.6 - - 1.7 - - tip + - 1.7.x + - 1.8.x + - 1.9.x + - 1.10.x + - master + +before_install: + - go get golang.org/x/tools/cmd/cover + - go get github.com/mattn/goveralls before_script: + - echo -e "[server]\ninnodb_log_file_size=256MB\ninnodb_buffer_pool_size=512MB\nmax_allowed_packet=16MB" | sudo tee -a /etc/mysql/my.cnf + - sudo service mysql restart + - .travis/wait_mysql.sh - mysql -e 'create database gotest;' + +matrix: + include: + - env: DB=MYSQL8 + sudo: required + dist: trusty + go: 1.10.x + services: + - docker + before_install: + - go get golang.org/x/tools/cmd/cover + - go get github.com/mattn/goveralls + - docker pull mysql:8.0 + - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ROOT_PASSWORD=verysecret + mysql:8.0 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 + - cp .travis/docker.cnf ~/.my.cnf + - .travis/wait_mysql.sh + before_script: + - export MYSQL_TEST_USER=gotest + - export MYSQL_TEST_PASS=secret + - export MYSQL_TEST_ADDR=127.0.0.1:3307 + - export MYSQL_TEST_CONCURRENT=1 + + - env: DB=MYSQL57 + sudo: required + dist: trusty + go: 1.10.x + services: + - docker + before_install: + - go get golang.org/x/tools/cmd/cover + - go get github.com/mattn/goveralls + - docker pull mysql:5.7 + - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ROOT_PASSWORD=verysecret + mysql:5.7 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 + - cp .travis/docker.cnf ~/.my.cnf + - .travis/wait_mysql.sh + before_script: + - export MYSQL_TEST_USER=gotest + - export MYSQL_TEST_PASS=secret + - export MYSQL_TEST_ADDR=127.0.0.1:3307 + - export MYSQL_TEST_CONCURRENT=1 + + - env: DB=MARIA55 + sudo: required + dist: trusty + go: 1.10.x + services: + - docker + before_install: + - go get golang.org/x/tools/cmd/cover + - go get github.com/mattn/goveralls + - docker pull mariadb:5.5 + - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ROOT_PASSWORD=verysecret + mariadb:5.5 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 + - cp .travis/docker.cnf ~/.my.cnf + - .travis/wait_mysql.sh + before_script: + - export MYSQL_TEST_USER=gotest + - export MYSQL_TEST_PASS=secret + - export MYSQL_TEST_ADDR=127.0.0.1:3307 + - export MYSQL_TEST_CONCURRENT=1 + + - env: DB=MARIA10_1 + sudo: required + dist: trusty + go: 1.10.x + services: + - docker + before_install: + - go get golang.org/x/tools/cmd/cover + - go get github.com/mattn/goveralls + - docker pull mariadb:10.1 + - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ROOT_PASSWORD=verysecret + mariadb:10.1 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB --local-infile=1 + - cp .travis/docker.cnf ~/.my.cnf + - .travis/wait_mysql.sh + before_script: + - export MYSQL_TEST_USER=gotest + - export MYSQL_TEST_PASS=secret + - export MYSQL_TEST_ADDR=127.0.0.1:3307 + - export MYSQL_TEST_CONCURRENT=1 + +script: + - go test -v -covermode=count -coverprofile=coverage.out + - go vet ./... + - .travis/gofmt.sh +after_script: + - $HOME/gopath/bin/goveralls -coverprofile=coverage.out -service=travis-ci diff --git a/vendor/github.com/go-sql-driver/mysql/AUTHORS b/vendor/github.com/go-sql-driver/mysql/AUTHORS index 692c186f..73ff68fb 100644 --- a/vendor/github.com/go-sql-driver/mysql/AUTHORS +++ b/vendor/github.com/go-sql-driver/mysql/AUTHORS @@ -12,35 +12,63 @@ # Individual Persons Aaron Hopkins +Achille Roussel +Alexey Palazhchenko +Andrew Reid Arne Hormann +Asta Xie +Bulat Gaifullin Carlos Nieto Chris Moos +Craig Wilson +Daniel Montoya Daniel Nichter Daniël van Eeden +Dave Protasowski DisposaBoy +Egor Smolyakov +Evan Shaw Frederick Mayle Gustavo Kristic +Hajime Nakagami Hanno Braun Henri Yandell Hirotaka Yamamoto +ICHINOSE Shogo INADA Naoki +Jacek Szwec James Harr +Jeff Hodges +Jeffrey Charles Jian Zhen Joshua Prunier Julien Lefevre Julien Schmidt +Justin Li +Justin Nuß Kamil Dziedzic Kevin Malachowski +Kieron Woodhouse Lennart Rudolph Leonardo YongUk Kim +Linh Tran Tuan +Lion Yang Luca Looz Lucas Liu Luke Scott +Maciej Zimnoch Michael Woolnough Nicola Peduzzi Olivier Mengué +oscarzhao Paul Bonser +Peter Schultz +Rebecca Chin +Reed Allman +Richard Wilkes +Robert Russell Runrioter Wung +Shuode Li Soroush Pour Stan Putrya Stanley Gunawan @@ -52,5 +80,10 @@ Zhenye Xie # Organizations Barracuda Networks, Inc. +Counting Ltd. Google Inc. +InfoSum Ltd. +Keybase Inc. +Percona LLC +Pivotal Inc. Stripe Inc. diff --git a/vendor/github.com/go-sql-driver/mysql/CHANGELOG.md b/vendor/github.com/go-sql-driver/mysql/CHANGELOG.md index 6bcad7ea..2d87d74c 100644 --- a/vendor/github.com/go-sql-driver/mysql/CHANGELOG.md +++ b/vendor/github.com/go-sql-driver/mysql/CHANGELOG.md @@ -1,3 +1,51 @@ +## Version 1.4 (2018-06-03) + +Changes: + + - Documentation fixes (#530, #535, #567) + - Refactoring (#575, #579, #580, #581, #603, #615, #704) + - Cache column names (#444) + - Sort the DSN parameters in DSNs generated from a config (#637) + - Allow native password authentication by default (#644) + - Use the default port if it is missing in the DSN (#668) + - Removed the `strict` mode (#676) + - Do not query `max_allowed_packet` by default (#680) + - Dropped support Go 1.6 and lower (#696) + - Updated `ConvertValue()` to match the database/sql/driver implementation (#760) + - Document the usage of `0000-00-00T00:00:00` as the time.Time zero value (#783) + - Improved the compatibility of the authentication system (#807) + +New Features: + + - Multi-Results support (#537) + - `rejectReadOnly` DSN option (#604) + - `context.Context` support (#608, #612, #627, #761) + - Transaction isolation level support (#619, #744) + - Read-Only transactions support (#618, #634) + - `NewConfig` function which initializes a config with default values (#679) + - Implemented the `ColumnType` interfaces (#667, #724) + - Support for custom string types in `ConvertValue` (#623) + - Implemented `NamedValueChecker`, improving support for uint64 with high bit set (#690, #709, #710) + - `caching_sha2_password` authentication plugin support (#794, #800, #801, #802) + - Implemented `driver.SessionResetter` (#779) + - `sha256_password` authentication plugin support (#808) + +Bugfixes: + + - Use the DSN hostname as TLS default ServerName if `tls=true` (#564, #718) + - Fixed LOAD LOCAL DATA INFILE for empty files (#590) + - Removed columns definition cache since it sometimes cached invalid data (#592) + - Don't mutate registered TLS configs (#600) + - Make RegisterTLSConfig concurrency-safe (#613) + - Handle missing auth data in the handshake packet correctly (#646) + - Do not retry queries when data was written to avoid data corruption (#302, #736) + - Cache the connection pointer for error handling before invalidating it (#678) + - Fixed imports for appengine/cloudsql (#700) + - Fix sending STMT_LONG_DATA for 0 byte data (#734) + - Set correct capacity for []bytes read from length-encoded strings (#766) + - Make RegisterDial concurrency-safe (#773) + + ## Version 1.3 (2016-12-01) Changes: diff --git a/vendor/github.com/go-sql-driver/mysql/README.md b/vendor/github.com/go-sql-driver/mysql/README.md index a16012f8..2e9b07ee 100644 --- a/vendor/github.com/go-sql-driver/mysql/README.md +++ b/vendor/github.com/go-sql-driver/mysql/README.md @@ -1,6 +1,6 @@ # Go-MySQL-Driver -A MySQL-Driver for Go's [database/sql](http://golang.org/pkg/database/sql) package +A MySQL-Driver for Go's [database/sql](https://golang.org/pkg/database/sql/) package ![Go-MySQL-Driver logo](https://raw.github.com/wiki/go-sql-driver/mysql/gomysql_m.png "Golang Gopher holding the MySQL Dolphin") @@ -15,6 +15,9 @@ A MySQL-Driver for Go's [database/sql](http://golang.org/pkg/database/sql) packa * [Address](#address) * [Parameters](#parameters) * [Examples](#examples) + * [Connection pool and timeouts](#connection-pool-and-timeouts) + * [context.Context Support](#contextcontext-support) + * [ColumnType Support](#columntype-support) * [LOAD DATA LOCAL INFILE support](#load-data-local-infile-support) * [time.Time support](#timetime-support) * [Unicode support](#unicode-support) @@ -26,31 +29,31 @@ A MySQL-Driver for Go's [database/sql](http://golang.org/pkg/database/sql) packa ## Features * Lightweight and [fast](https://github.com/go-sql-driver/sql-benchmark "golang MySQL-Driver performance") * Native Go implementation. No C-bindings, just pure Go - * Connections over TCP/IPv4, TCP/IPv6, Unix domain sockets or [custom protocols](http://godoc.org/github.com/go-sql-driver/mysql#DialFunc) + * Connections over TCP/IPv4, TCP/IPv6, Unix domain sockets or [custom protocols](https://godoc.org/github.com/go-sql-driver/mysql#DialFunc) * Automatic handling of broken connections * Automatic Connection Pooling *(by database/sql package)* * Supports queries larger than 16MB - * Full [`sql.RawBytes`](http://golang.org/pkg/database/sql/#RawBytes) support. + * Full [`sql.RawBytes`](https://golang.org/pkg/database/sql/#RawBytes) support. * Intelligent `LONG DATA` handling in prepared statements * Secure `LOAD DATA LOCAL INFILE` support with file Whitelisting and `io.Reader` support * Optional `time.Time` parsing * Optional placeholder interpolation ## Requirements - * Go 1.2 or higher + * Go 1.7 or higher. We aim to support the 3 latest versions of Go. * MySQL (4.1+), MariaDB, Percona Server, Google CloudSQL or Sphinx (2.2.3+) --------------------------------------- ## Installation -Simple install the package to your [$GOPATH](http://code.google.com/p/go-wiki/wiki/GOPATH "GOPATH") with the [go tool](http://golang.org/cmd/go/ "go command") from shell: +Simple install the package to your [$GOPATH](https://github.com/golang/go/wiki/GOPATH "GOPATH") with the [go tool](https://golang.org/cmd/go/ "go command") from shell: ```bash -$ go get github.com/go-sql-driver/mysql +$ go get -u github.com/go-sql-driver/mysql ``` -Make sure [Git is installed](http://git-scm.com/downloads) on your machine and in your system's `PATH`. +Make sure [Git is installed](https://git-scm.com/downloads) on your machine and in your system's `PATH`. ## Usage -_Go MySQL Driver_ is an implementation of Go's `database/sql/driver` interface. You only need to import the driver and can use the full [`database/sql`](http://golang.org/pkg/database/sql) API then. +_Go MySQL Driver_ is an implementation of Go's `database/sql/driver` interface. You only need to import the driver and can use the full [`database/sql`](https://golang.org/pkg/database/sql/) API then. Use `mysql` as `driverName` and a valid [DSN](#dsn-data-source-name) as `dataSourceName`: ```go @@ -95,13 +98,14 @@ Alternatively, [Config.FormatDSN](https://godoc.org/github.com/go-sql-driver/mys Passwords can consist of any character. Escaping is **not** necessary. #### Protocol -See [net.Dial](http://golang.org/pkg/net/#Dial) for more information which networks are available. +See [net.Dial](https://golang.org/pkg/net/#Dial) for more information which networks are available. In general you should use an Unix domain socket if available and TCP otherwise for best performance. #### Address -For TCP and UDP networks, addresses have the form `host:port`. +For TCP and UDP networks, addresses have the form `host[:port]`. +If `port` is omitted, the default port will be used. If `host` is a literal IPv6 address, it must be enclosed in square brackets. -The functions [net.JoinHostPort](http://golang.org/pkg/net/#JoinHostPort) and [net.SplitHostPort](http://golang.org/pkg/net/#SplitHostPort) manipulate addresses in this form. +The functions [net.JoinHostPort](https://golang.org/pkg/net/#JoinHostPort) and [net.SplitHostPort](https://golang.org/pkg/net/#SplitHostPort) manipulate addresses in this form. For Unix domain sockets the address is the absolute path to the MySQL-Server-socket, e.g. `/var/run/mysqld/mysqld.sock` or `/tmp/mysql.sock`. @@ -136,9 +140,9 @@ Default: false ``` Type: bool Valid Values: true, false -Default: false +Default: true ``` -`allowNativePasswords=true` allows the usage of the mysql native password method. +`allowNativePasswords=false` disallows the usage of MySQL native password method. ##### `allowOldPasswords` @@ -220,19 +224,19 @@ Valid Values: Default: UTC ``` -Sets the location for time.Time values (when using `parseTime=true`). *"Local"* sets the system's location. See [time.LoadLocation](http://golang.org/pkg/time/#LoadLocation) for details. +Sets the location for time.Time values (when using `parseTime=true`). *"Local"* sets the system's location. See [time.LoadLocation](https://golang.org/pkg/time/#LoadLocation) for details. Note that this sets the location for time.Time values but does not change MySQL's [time_zone setting](https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html). For that see the [time_zone system variable](#system-variables), which can also be set as a DSN parameter. -Please keep in mind, that param values must be [url.QueryEscape](http://golang.org/pkg/net/url/#QueryEscape)'ed. Alternatively you can manually replace the `/` with `%2F`. For example `US/Pacific` would be `loc=US%2FPacific`. +Please keep in mind, that param values must be [url.QueryEscape](https://golang.org/pkg/net/url/#QueryEscape)'ed. Alternatively you can manually replace the `/` with `%2F`. For example `US/Pacific` would be `loc=US%2FPacific`. ##### `maxAllowedPacket` ``` Type: decimal number -Default: 0 +Default: 4194304 ``` -Max packet size allowed in bytes. Use `maxAllowedPacket=0` to automatically fetch the `max_allowed_packet` variable from server. +Max packet size allowed in bytes. The default value is 4 MiB and should be adjusted to match the server settings. `maxAllowedPacket=0` can be used to automatically fetch the `max_allowed_packet` variable from server *on every connection*. ##### `multiStatements` @@ -255,18 +259,19 @@ Default: false ``` `parseTime=true` changes the output type of `DATE` and `DATETIME` values to `time.Time` instead of `[]byte` / `string` +The date or datetime like `0000-00-00 00:00:00` is converted into zero value of `time.Time`. ##### `readTimeout` ``` -Type: decimal number +Type: duration Default: 0 ``` -I/O read timeout. The value must be a decimal number with an unit suffix ( *"ms"*, *"s"*, *"m"*, *"h"* ), such as *"30s"*, *"0.5m"* or *"1m30s"*. +I/O read timeout. The value must be a decimal number with a unit suffix (*"ms"*, *"s"*, *"m"*, *"h"*), such as *"30s"*, *"0.5m"* or *"1m30s"*. -##### `strict` +##### `rejectReadOnly` ``` Type: bool @@ -274,20 +279,50 @@ Valid Values: true, false Default: false ``` -`strict=true` enables a driver-side strict mode in which MySQL warnings are treated as errors. This mode should not be used in production as it may lead to data corruption in certain situations. -A server-side strict mode, which is safe for production use, can be set via the [`sql_mode`](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html) system variable. +`rejectReadOnly=true` causes the driver to reject read-only connections. This +is for a possible race condition during an automatic failover, where the mysql +client gets connected to a read-only replica after the failover. + +Note that this should be a fairly rare case, as an automatic failover normally +happens when the primary is down, and the race condition shouldn't happen +unless it comes back up online as soon as the failover is kicked off. On the +other hand, when this happens, a MySQL application can get stuck on a +read-only connection until restarted. It is however fairly easy to reproduce, +for example, using a manual failover on AWS Aurora's MySQL-compatible cluster. + +If you are not relying on read-only transactions to reject writes that aren't +supposed to happen, setting this on some MySQL providers (such as AWS Aurora) +is safer for failovers. + +Note that ERROR 1290 can be returned for a `read-only` server and this option will +cause a retry for that error. However the same error number is used for some +other cases. You should ensure your application will never cause an ERROR 1290 +except for `read-only` mode when enabling this option. + + +##### `serverPubKey` + +``` +Type: string +Valid Values: +Default: none +``` + +Server public keys can be registered with [`mysql.RegisterServerPubKey`](https://godoc.org/github.com/go-sql-driver/mysql#RegisterServerPubKey), which can then be used by the assigned name in the DSN. +Public keys are used to transmit encrypted data, e.g. for authentication. +If the server's public key is known, it should be set manually to avoid expensive and potentially insecure transmissions of the public key from the server to the client each time it is required. -By default MySQL also treats notes as warnings. Use [`sql_notes=false`](http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_sql_notes) to ignore notes. ##### `timeout` ``` -Type: decimal number +Type: duration Default: OS default ``` -*Driver* side connection timeout. The value must be a decimal number with an unit suffix ( *"ms"*, *"s"*, *"m"*, *"h"* ), such as *"30s"*, *"0.5m"* or *"1m30s"*. To set a server side timeout, use the parameter [`wait_timeout`](http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout). +Timeout for establishing connections, aka dial timeout. The value must be a decimal number with a unit suffix (*"ms"*, *"s"*, *"m"*, *"h"*), such as *"30s"*, *"0.5m"* or *"1m30s"*. + ##### `tls` @@ -297,16 +332,17 @@ Valid Values: true, false, skip-verify, Default: false ``` -`tls=true` enables TLS / SSL encrypted connection to the server. Use `skip-verify` if you want to use a self-signed or invalid certificate (server side). Use a custom value registered with [`mysql.RegisterTLSConfig`](http://godoc.org/github.com/go-sql-driver/mysql#RegisterTLSConfig). +`tls=true` enables TLS / SSL encrypted connection to the server. Use `skip-verify` if you want to use a self-signed or invalid certificate (server side). Use a custom value registered with [`mysql.RegisterTLSConfig`](https://godoc.org/github.com/go-sql-driver/mysql#RegisterTLSConfig). + ##### `writeTimeout` ``` -Type: decimal number +Type: duration Default: 0 ``` -I/O write timeout. The value must be a decimal number with an unit suffix ( *"ms"*, *"s"*, *"m"*, *"h"* ), such as *"30s"*, *"0.5m"* or *"1m30s"*. +I/O write timeout. The value must be a decimal number with a unit suffix (*"ms"*, *"s"*, *"m"*, *"h"*), such as *"30s"*, *"0.5m"* or *"1m30s"*. ##### System Variables @@ -317,9 +353,9 @@ Any other parameters are interpreted as system variables: * `=%27%27`: `SET =''` Rules: -* The values for string variables must be quoted with ' +* The values for string variables must be quoted with `'`. * The values must also be [url.QueryEscape](http://golang.org/pkg/net/url/#QueryEscape)'ed! - (which implies values of string variables must be wrapped with `%27`) + (which implies values of string variables must be wrapped with `%27`). Examples: * `autocommit=1`: `SET autocommit=1` @@ -380,6 +416,18 @@ No Database preselected: user:password@/ ``` + +### Connection pool and timeouts +The connection pool is managed by Go's database/sql package. For details on how to configure the size of the pool and how long connections stay in the pool see `*DB.SetMaxOpenConns`, `*DB.SetMaxIdleConns`, and `*DB.SetConnMaxLifetime` in the [database/sql documentation](https://golang.org/pkg/database/sql/). The read, write, and dial timeouts for each individual connection are configured with the DSN parameters [`readTimeout`](#readtimeout), [`writeTimeout`](#writetimeout), and [`timeout`](#timeout), respectively. + +## `ColumnType` Support +This driver supports the [`ColumnType` interface](https://golang.org/pkg/database/sql/#ColumnType) introduced in Go 1.8, with the exception of [`ColumnType.Length()`](https://golang.org/pkg/database/sql/#ColumnType.Length), which is currently not supported. + +## `context.Context` Support +Go 1.8 added `database/sql` support for `context.Context`. This driver supports query timeouts and cancellation via contexts. +See [context support in the database/sql package](https://golang.org/doc/go1.8#database_sql) for more details. + + ### `LOAD DATA LOCAL INFILE` support For this feature you need direct access to the package. Therefore you must change the import path (no `_`): ```go @@ -390,17 +438,17 @@ Files must be whitelisted by registering them with `mysql.RegisterLocalFile(file To use a `io.Reader` a handler function must be registered with `mysql.RegisterReaderHandler(name, handler)` which returns a `io.Reader` or `io.ReadCloser`. The Reader is available with the filepath `Reader::` then. Choose different names for different handlers and `DeregisterReaderHandler` when you don't need it anymore. -See the [godoc of Go-MySQL-Driver](http://godoc.org/github.com/go-sql-driver/mysql "golang mysql driver documentation") for details. +See the [godoc of Go-MySQL-Driver](https://godoc.org/github.com/go-sql-driver/mysql "golang mysql driver documentation") for details. ### `time.Time` support -The default internal output type of MySQL `DATE` and `DATETIME` values is `[]byte` which allows you to scan the value into a `[]byte`, `string` or `sql.RawBytes` variable in your programm. +The default internal output type of MySQL `DATE` and `DATETIME` values is `[]byte` which allows you to scan the value into a `[]byte`, `string` or `sql.RawBytes` variable in your program. -However, many want to scan MySQL `DATE` and `DATETIME` values into `time.Time` variables, which is the logical opposite in Go to `DATE` and `DATETIME` in MySQL. You can do that by changing the internal output type from `[]byte` to `time.Time` with the DSN parameter `parseTime=true`. You can set the default [`time.Time` location](http://golang.org/pkg/time/#Location) with the `loc` DSN parameter. +However, many want to scan MySQL `DATE` and `DATETIME` values into `time.Time` variables, which is the logical opposite in Go to `DATE` and `DATETIME` in MySQL. You can do that by changing the internal output type from `[]byte` to `time.Time` with the DSN parameter `parseTime=true`. You can set the default [`time.Time` location](https://golang.org/pkg/time/#Location) with the `loc` DSN parameter. **Caution:** As of Go 1.1, this makes `time.Time` the only variable type you can scan `DATE` and `DATETIME` values into. This breaks for example [`sql.RawBytes` support](https://github.com/go-sql-driver/mysql/wiki/Examples#rawbytes). -Alternatively you can use the [`NullTime`](http://godoc.org/github.com/go-sql-driver/mysql#NullTime) type as the scan destination, which works with both `time.Time` and `string` / `[]byte`. +Alternatively you can use the [`NullTime`](https://godoc.org/github.com/go-sql-driver/mysql#NullTime) type as the scan destination, which works with both `time.Time` and `string` / `[]byte`. ### Unicode support @@ -412,7 +460,6 @@ Version 1.0 of the driver recommended adding `&charset=utf8` (alias for `SET NAM See http://dev.mysql.com/doc/refman/5.7/en/charset-unicode.html for more details on MySQL's Unicode support. - ## Testing / Development To run the driver tests you may need to adjust the configuration. See the [Testing Wiki-Page](https://github.com/go-sql-driver/mysql/wiki/Testing "Testing") for details. @@ -431,13 +478,13 @@ Mozilla summarizes the license scope as follows: That means: - * You can **use** the **unchanged** source code both in private and commercially - * When distributing, you **must publish** the source code of any **changed files** licensed under the MPL 2.0 under a) the MPL 2.0 itself or b) a compatible license (e.g. GPL 3.0 or Apache License 2.0) - * You **needn't publish** the source code of your library as long as the files licensed under the MPL 2.0 are **unchanged** + * You can **use** the **unchanged** source code both in private and commercially. + * When distributing, you **must publish** the source code of any **changed files** licensed under the MPL 2.0 under a) the MPL 2.0 itself or b) a compatible license (e.g. GPL 3.0 or Apache License 2.0). + * You **needn't publish** the source code of your library as long as the files licensed under the MPL 2.0 are **unchanged**. -Please read the [MPL 2.0 FAQ](http://www.mozilla.org/MPL/2.0/FAQ.html) if you have further questions regarding the license. +Please read the [MPL 2.0 FAQ](https://www.mozilla.org/en-US/MPL/2.0/FAQ/) if you have further questions regarding the license. -You can read the full terms here: [LICENSE](https://raw.github.com/go-sql-driver/mysql/master/LICENSE) +You can read the full terms here: [LICENSE](https://raw.github.com/go-sql-driver/mysql/master/LICENSE). ![Go Gopher and MySQL Dolphin](https://raw.github.com/wiki/go-sql-driver/mysql/go-mysql-driver_m.jpg "Golang Gopher transporting the MySQL Dolphin in a wheelbarrow") diff --git a/vendor/github.com/go-sql-driver/mysql/appengine.go b/vendor/github.com/go-sql-driver/mysql/appengine.go index 565614ee..be41f2ee 100644 --- a/vendor/github.com/go-sql-driver/mysql/appengine.go +++ b/vendor/github.com/go-sql-driver/mysql/appengine.go @@ -11,7 +11,7 @@ package mysql import ( - "appengine/cloudsql" + "google.golang.org/appengine/cloudsql" ) func init() { diff --git a/vendor/github.com/go-sql-driver/mysql/auth.go b/vendor/github.com/go-sql-driver/mysql/auth.go new file mode 100644 index 00000000..0b59f52e --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/auth.go @@ -0,0 +1,420 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2018 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "crypto/rand" + "crypto/rsa" + "crypto/sha1" + "crypto/sha256" + "crypto/x509" + "encoding/pem" + "sync" +) + +// server pub keys registry +var ( + serverPubKeyLock sync.RWMutex + serverPubKeyRegistry map[string]*rsa.PublicKey +) + +// RegisterServerPubKey registers a server RSA public key which can be used to +// send data in a secure manner to the server without receiving the public key +// in a potentially insecure way from the server first. +// Registered keys can afterwards be used adding serverPubKey= to the DSN. +// +// Note: The provided rsa.PublicKey instance is exclusively owned by the driver +// after registering it and may not be modified. +// +// data, err := ioutil.ReadFile("mykey.pem") +// if err != nil { +// log.Fatal(err) +// } +// +// block, _ := pem.Decode(data) +// if block == nil || block.Type != "PUBLIC KEY" { +// log.Fatal("failed to decode PEM block containing public key") +// } +// +// pub, err := x509.ParsePKIXPublicKey(block.Bytes) +// if err != nil { +// log.Fatal(err) +// } +// +// if rsaPubKey, ok := pub.(*rsa.PublicKey); ok { +// mysql.RegisterServerPubKey("mykey", rsaPubKey) +// } else { +// log.Fatal("not a RSA public key") +// } +// +func RegisterServerPubKey(name string, pubKey *rsa.PublicKey) { + serverPubKeyLock.Lock() + if serverPubKeyRegistry == nil { + serverPubKeyRegistry = make(map[string]*rsa.PublicKey) + } + + serverPubKeyRegistry[name] = pubKey + serverPubKeyLock.Unlock() +} + +// DeregisterServerPubKey removes the public key registered with the given name. +func DeregisterServerPubKey(name string) { + serverPubKeyLock.Lock() + if serverPubKeyRegistry != nil { + delete(serverPubKeyRegistry, name) + } + serverPubKeyLock.Unlock() +} + +func getServerPubKey(name string) (pubKey *rsa.PublicKey) { + serverPubKeyLock.RLock() + if v, ok := serverPubKeyRegistry[name]; ok { + pubKey = v + } + serverPubKeyLock.RUnlock() + return +} + +// Hash password using pre 4.1 (old password) method +// https://github.com/atcurtis/mariadb/blob/master/mysys/my_rnd.c +type myRnd struct { + seed1, seed2 uint32 +} + +const myRndMaxVal = 0x3FFFFFFF + +// Pseudo random number generator +func newMyRnd(seed1, seed2 uint32) *myRnd { + return &myRnd{ + seed1: seed1 % myRndMaxVal, + seed2: seed2 % myRndMaxVal, + } +} + +// Tested to be equivalent to MariaDB's floating point variant +// http://play.golang.org/p/QHvhd4qved +// http://play.golang.org/p/RG0q4ElWDx +func (r *myRnd) NextByte() byte { + r.seed1 = (r.seed1*3 + r.seed2) % myRndMaxVal + r.seed2 = (r.seed1 + r.seed2 + 33) % myRndMaxVal + + return byte(uint64(r.seed1) * 31 / myRndMaxVal) +} + +// Generate binary hash from byte string using insecure pre 4.1 method +func pwHash(password []byte) (result [2]uint32) { + var add uint32 = 7 + var tmp uint32 + + result[0] = 1345345333 + result[1] = 0x12345671 + + for _, c := range password { + // skip spaces and tabs in password + if c == ' ' || c == '\t' { + continue + } + + tmp = uint32(c) + result[0] ^= (((result[0] & 63) + add) * tmp) + (result[0] << 8) + result[1] += (result[1] << 8) ^ result[0] + add += tmp + } + + // Remove sign bit (1<<31)-1) + result[0] &= 0x7FFFFFFF + result[1] &= 0x7FFFFFFF + + return +} + +// Hash password using insecure pre 4.1 method +func scrambleOldPassword(scramble []byte, password string) []byte { + if len(password) == 0 { + return nil + } + + scramble = scramble[:8] + + hashPw := pwHash([]byte(password)) + hashSc := pwHash(scramble) + + r := newMyRnd(hashPw[0]^hashSc[0], hashPw[1]^hashSc[1]) + + var out [8]byte + for i := range out { + out[i] = r.NextByte() + 64 + } + + mask := r.NextByte() + for i := range out { + out[i] ^= mask + } + + return out[:] +} + +// Hash password using 4.1+ method (SHA1) +func scramblePassword(scramble []byte, password string) []byte { + if len(password) == 0 { + return nil + } + + // stage1Hash = SHA1(password) + crypt := sha1.New() + crypt.Write([]byte(password)) + stage1 := crypt.Sum(nil) + + // scrambleHash = SHA1(scramble + SHA1(stage1Hash)) + // inner Hash + crypt.Reset() + crypt.Write(stage1) + hash := crypt.Sum(nil) + + // outer Hash + crypt.Reset() + crypt.Write(scramble) + crypt.Write(hash) + scramble = crypt.Sum(nil) + + // token = scrambleHash XOR stage1Hash + for i := range scramble { + scramble[i] ^= stage1[i] + } + return scramble +} + +// Hash password using MySQL 8+ method (SHA256) +func scrambleSHA256Password(scramble []byte, password string) []byte { + if len(password) == 0 { + return nil + } + + // XOR(SHA256(password), SHA256(SHA256(SHA256(password)), scramble)) + + crypt := sha256.New() + crypt.Write([]byte(password)) + message1 := crypt.Sum(nil) + + crypt.Reset() + crypt.Write(message1) + message1Hash := crypt.Sum(nil) + + crypt.Reset() + crypt.Write(message1Hash) + crypt.Write(scramble) + message2 := crypt.Sum(nil) + + for i := range message1 { + message1[i] ^= message2[i] + } + + return message1 +} + +func encryptPassword(password string, seed []byte, pub *rsa.PublicKey) ([]byte, error) { + plain := make([]byte, len(password)+1) + copy(plain, password) + for i := range plain { + j := i % len(seed) + plain[i] ^= seed[j] + } + sha1 := sha1.New() + return rsa.EncryptOAEP(sha1, rand.Reader, pub, plain, nil) +} + +func (mc *mysqlConn) sendEncryptedPassword(seed []byte, pub *rsa.PublicKey) error { + enc, err := encryptPassword(mc.cfg.Passwd, seed, pub) + if err != nil { + return err + } + return mc.writeAuthSwitchPacket(enc, false) +} + +func (mc *mysqlConn) auth(authData []byte, plugin string) ([]byte, bool, error) { + switch plugin { + case "caching_sha2_password": + authResp := scrambleSHA256Password(authData, mc.cfg.Passwd) + return authResp, (authResp == nil), nil + + case "mysql_old_password": + if !mc.cfg.AllowOldPasswords { + return nil, false, ErrOldPassword + } + // Note: there are edge cases where this should work but doesn't; + // this is currently "wontfix": + // https://github.com/go-sql-driver/mysql/issues/184 + authResp := scrambleOldPassword(authData[:8], mc.cfg.Passwd) + return authResp, true, nil + + case "mysql_clear_password": + if !mc.cfg.AllowCleartextPasswords { + return nil, false, ErrCleartextPassword + } + // http://dev.mysql.com/doc/refman/5.7/en/cleartext-authentication-plugin.html + // http://dev.mysql.com/doc/refman/5.7/en/pam-authentication-plugin.html + return []byte(mc.cfg.Passwd), true, nil + + case "mysql_native_password": + if !mc.cfg.AllowNativePasswords { + return nil, false, ErrNativePassword + } + // https://dev.mysql.com/doc/internals/en/secure-password-authentication.html + // Native password authentication only need and will need 20-byte challenge. + authResp := scramblePassword(authData[:20], mc.cfg.Passwd) + return authResp, false, nil + + case "sha256_password": + if len(mc.cfg.Passwd) == 0 { + return nil, true, nil + } + if mc.cfg.tls != nil || mc.cfg.Net == "unix" { + // write cleartext auth packet + return []byte(mc.cfg.Passwd), true, nil + } + + pubKey := mc.cfg.pubKey + if pubKey == nil { + // request public key from server + return []byte{1}, false, nil + } + + // encrypted password + enc, err := encryptPassword(mc.cfg.Passwd, authData, pubKey) + return enc, false, err + + default: + errLog.Print("unknown auth plugin:", plugin) + return nil, false, ErrUnknownPlugin + } +} + +func (mc *mysqlConn) handleAuthResult(oldAuthData []byte, plugin string) error { + // Read Result Packet + authData, newPlugin, err := mc.readAuthResult() + if err != nil { + return err + } + + // handle auth plugin switch, if requested + if newPlugin != "" { + // If CLIENT_PLUGIN_AUTH capability is not supported, no new cipher is + // sent and we have to keep using the cipher sent in the init packet. + if authData == nil { + authData = oldAuthData + } else { + // copy data from read buffer to owned slice + copy(oldAuthData, authData) + } + + plugin = newPlugin + + authResp, addNUL, err := mc.auth(authData, plugin) + if err != nil { + return err + } + if err = mc.writeAuthSwitchPacket(authResp, addNUL); err != nil { + return err + } + + // Read Result Packet + authData, newPlugin, err = mc.readAuthResult() + if err != nil { + return err + } + + // Do not allow to change the auth plugin more than once + if newPlugin != "" { + return ErrMalformPkt + } + } + + switch plugin { + + // https://insidemysql.com/preparing-your-community-connector-for-mysql-8-part-2-sha256/ + case "caching_sha2_password": + switch len(authData) { + case 0: + return nil // auth successful + case 1: + switch authData[0] { + case cachingSha2PasswordFastAuthSuccess: + if err = mc.readResultOK(); err == nil { + return nil // auth successful + } + + case cachingSha2PasswordPerformFullAuthentication: + if mc.cfg.tls != nil || mc.cfg.Net == "unix" { + // write cleartext auth packet + err = mc.writeAuthSwitchPacket([]byte(mc.cfg.Passwd), true) + if err != nil { + return err + } + } else { + pubKey := mc.cfg.pubKey + if pubKey == nil { + // request public key from server + data := mc.buf.takeSmallBuffer(4 + 1) + data[4] = cachingSha2PasswordRequestPublicKey + mc.writePacket(data) + + // parse public key + data, err := mc.readPacket() + if err != nil { + return err + } + + block, _ := pem.Decode(data[1:]) + pkix, err := x509.ParsePKIXPublicKey(block.Bytes) + if err != nil { + return err + } + pubKey = pkix.(*rsa.PublicKey) + } + + // send encrypted password + err = mc.sendEncryptedPassword(oldAuthData, pubKey) + if err != nil { + return err + } + } + return mc.readResultOK() + + default: + return ErrMalformPkt + } + default: + return ErrMalformPkt + } + + case "sha256_password": + switch len(authData) { + case 0: + return nil // auth successful + default: + block, _ := pem.Decode(authData) + pub, err := x509.ParsePKIXPublicKey(block.Bytes) + if err != nil { + return err + } + + // send encrypted password + err = mc.sendEncryptedPassword(oldAuthData, pub.(*rsa.PublicKey)) + if err != nil { + return err + } + return mc.readResultOK() + } + + default: + return nil // auth successful + } + + return err +} diff --git a/vendor/github.com/go-sql-driver/mysql/buffer.go b/vendor/github.com/go-sql-driver/mysql/buffer.go index 2001feac..eb4748bf 100644 --- a/vendor/github.com/go-sql-driver/mysql/buffer.go +++ b/vendor/github.com/go-sql-driver/mysql/buffer.go @@ -130,18 +130,18 @@ func (b *buffer) takeBuffer(length int) []byte { // smaller than defaultBufSize // Only one buffer (total) can be used at a time. func (b *buffer) takeSmallBuffer(length int) []byte { - if b.length == 0 { - return b.buf[:length] + if b.length > 0 { + return nil } - return nil + return b.buf[:length] } // takeCompleteBuffer returns the complete existing buffer. // This can be used if the necessary buffer size is unknown. // Only one buffer (total) can be used at a time. func (b *buffer) takeCompleteBuffer() []byte { - if b.length == 0 { - return b.buf + if b.length > 0 { + return nil } - return nil + return b.buf } diff --git a/vendor/github.com/go-sql-driver/mysql/collations.go b/vendor/github.com/go-sql-driver/mysql/collations.go index 82079cfb..136c9e4d 100644 --- a/vendor/github.com/go-sql-driver/mysql/collations.go +++ b/vendor/github.com/go-sql-driver/mysql/collations.go @@ -9,6 +9,7 @@ package mysql const defaultCollation = "utf8_general_ci" +const binaryCollation = "binary" // A list of available collations mapped to the internal ID. // To update this map use the following MySQL query: diff --git a/vendor/github.com/go-sql-driver/mysql/connection.go b/vendor/github.com/go-sql-driver/mysql/connection.go index d82c728f..e5706141 100644 --- a/vendor/github.com/go-sql-driver/mysql/connection.go +++ b/vendor/github.com/go-sql-driver/mysql/connection.go @@ -10,12 +10,23 @@ package mysql import ( "database/sql/driver" + "io" "net" "strconv" "strings" "time" ) +// a copy of context.Context for Go 1.7 and earlier +type mysqlContext interface { + Done() <-chan struct{} + Err() error + + // defined in context.Context, but not used in this driver: + // Deadline() (deadline time.Time, ok bool) + // Value(key interface{}) interface{} +} + type mysqlConn struct { buf buffer netConn net.Conn @@ -29,7 +40,14 @@ type mysqlConn struct { status statusFlag sequence uint8 parseTime bool - strict bool + + // for context support (Go 1.8+) + watching bool + watcher chan<- mysqlContext + closech chan struct{} + finished chan<- struct{} + canceled atomicError // set non-nil if conn is canceled + closed atomicBool // set when conn is closed, before closech is closed } // Handles parameters set in DSN after the connection is established @@ -62,22 +80,41 @@ func (mc *mysqlConn) handleParams() (err error) { return } +func (mc *mysqlConn) markBadConn(err error) error { + if mc == nil { + return err + } + if err != errBadConnNoWrite { + return err + } + return driver.ErrBadConn +} + func (mc *mysqlConn) Begin() (driver.Tx, error) { - if mc.netConn == nil { + return mc.begin(false) +} + +func (mc *mysqlConn) begin(readOnly bool) (driver.Tx, error) { + if mc.closed.IsSet() { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } - err := mc.exec("START TRANSACTION") + var q string + if readOnly { + q = "START TRANSACTION READ ONLY" + } else { + q = "START TRANSACTION" + } + err := mc.exec(q) if err == nil { return &mysqlTx{mc}, err } - - return nil, err + return nil, mc.markBadConn(err) } func (mc *mysqlConn) Close() (err error) { // Makes Close idempotent - if mc.netConn != nil { + if !mc.closed.IsSet() { err = mc.writeCommandPacket(comQuit) } @@ -91,26 +128,39 @@ func (mc *mysqlConn) Close() (err error) { // is called before auth or on auth failure because MySQL will have already // closed the network connection. func (mc *mysqlConn) cleanup() { - // Makes cleanup idempotent - if mc.netConn != nil { - if err := mc.netConn.Close(); err != nil { - errLog.Print(err) - } - mc.netConn = nil + if !mc.closed.TrySet(true) { + return } - mc.cfg = nil - mc.buf.nc = nil + + // Makes cleanup idempotent + close(mc.closech) + if mc.netConn == nil { + return + } + if err := mc.netConn.Close(); err != nil { + errLog.Print(err) + } +} + +func (mc *mysqlConn) error() error { + if mc.closed.IsSet() { + if err := mc.canceled.Value(); err != nil { + return err + } + return ErrInvalidConn + } + return nil } func (mc *mysqlConn) Prepare(query string) (driver.Stmt, error) { - if mc.netConn == nil { + if mc.closed.IsSet() { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } // Send command err := mc.writeCommandPacketStr(comStmtPrepare, query) if err != nil { - return nil, err + return nil, mc.markBadConn(err) } stmt := &mysqlStmt{ @@ -144,7 +194,7 @@ func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (strin if buf == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) - return "", driver.ErrBadConn + return "", ErrInvalidConn } buf = buf[:0] argPos := 0 @@ -257,7 +307,7 @@ func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (strin } func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, error) { - if mc.netConn == nil { + if mc.closed.IsSet() { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } @@ -271,7 +321,6 @@ func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, err return nil, err } query = prepared - args = nil } mc.affectedRows = 0 mc.insertId = 0 @@ -283,32 +332,43 @@ func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, err insertId: int64(mc.insertId), }, err } - return nil, err + return nil, mc.markBadConn(err) } // Internal function to execute commands func (mc *mysqlConn) exec(query string) error { // Send command - err := mc.writeCommandPacketStr(comQuery, query) - if err != nil { - return err + if err := mc.writeCommandPacketStr(comQuery, query); err != nil { + return mc.markBadConn(err) } // Read Result resLen, err := mc.readResultSetHeaderPacket() - if err == nil && resLen > 0 { - if err = mc.readUntilEOF(); err != nil { + if err != nil { + return err + } + + if resLen > 0 { + // columns + if err := mc.readUntilEOF(); err != nil { return err } - err = mc.readUntilEOF() + // rows + if err := mc.readUntilEOF(); err != nil { + return err + } } - return err + return mc.discardResults() } func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, error) { - if mc.netConn == nil { + return mc.query(query, args) +} + +func (mc *mysqlConn) query(query string, args []driver.Value) (*textRows, error) { + if mc.closed.IsSet() { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } @@ -322,7 +382,6 @@ func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, erro return nil, err } query = prepared - args = nil } // Send command err := mc.writeCommandPacketStr(comQuery, query) @@ -335,15 +394,22 @@ func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, erro rows.mc = mc if resLen == 0 { - // no columns, no more data - return emptyRows{}, nil + rows.rs.done = true + + switch err := rows.NextResultSet(); err { + case nil, io.EOF: + return rows, nil + default: + return nil, err + } } + // Columns - rows.columns, err = mc.readColumns(resLen) + rows.rs.columns, err = mc.readColumns(resLen) return rows, err } } - return nil, err + return nil, mc.markBadConn(err) } // Gets the value of the given MySQL System Variable @@ -359,7 +425,7 @@ func (mc *mysqlConn) getSystemVar(name string) ([]byte, error) { if err == nil { rows := new(textRows) rows.mc = mc - rows.columns = []mysqlField{{fieldType: fieldTypeVarChar}} + rows.rs.columns = []mysqlField{{fieldType: fieldTypeVarChar}} if resLen > 0 { // Columns @@ -375,3 +441,21 @@ func (mc *mysqlConn) getSystemVar(name string) ([]byte, error) { } return nil, err } + +// finish is called when the query has canceled. +func (mc *mysqlConn) cancel(err error) { + mc.canceled.Set(err) + mc.cleanup() +} + +// finish is called when the query has succeeded. +func (mc *mysqlConn) finish() { + if !mc.watching || mc.finished == nil { + return + } + select { + case mc.finished <- struct{}{}: + mc.watching = false + case <-mc.closech: + } +} diff --git a/vendor/github.com/go-sql-driver/mysql/connection_go18.go b/vendor/github.com/go-sql-driver/mysql/connection_go18.go new file mode 100644 index 00000000..62796bfc --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/connection_go18.go @@ -0,0 +1,208 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// +build go1.8 + +package mysql + +import ( + "context" + "database/sql" + "database/sql/driver" +) + +// Ping implements driver.Pinger interface +func (mc *mysqlConn) Ping(ctx context.Context) (err error) { + if mc.closed.IsSet() { + errLog.Print(ErrInvalidConn) + return driver.ErrBadConn + } + + if err = mc.watchCancel(ctx); err != nil { + return + } + defer mc.finish() + + if err = mc.writeCommandPacket(comPing); err != nil { + return + } + + return mc.readResultOK() +} + +// BeginTx implements driver.ConnBeginTx interface +func (mc *mysqlConn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error) { + if err := mc.watchCancel(ctx); err != nil { + return nil, err + } + defer mc.finish() + + if sql.IsolationLevel(opts.Isolation) != sql.LevelDefault { + level, err := mapIsolationLevel(opts.Isolation) + if err != nil { + return nil, err + } + err = mc.exec("SET TRANSACTION ISOLATION LEVEL " + level) + if err != nil { + return nil, err + } + } + + return mc.begin(opts.ReadOnly) +} + +func (mc *mysqlConn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error) { + dargs, err := namedValueToValue(args) + if err != nil { + return nil, err + } + + if err := mc.watchCancel(ctx); err != nil { + return nil, err + } + + rows, err := mc.query(query, dargs) + if err != nil { + mc.finish() + return nil, err + } + rows.finish = mc.finish + return rows, err +} + +func (mc *mysqlConn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error) { + dargs, err := namedValueToValue(args) + if err != nil { + return nil, err + } + + if err := mc.watchCancel(ctx); err != nil { + return nil, err + } + defer mc.finish() + + return mc.Exec(query, dargs) +} + +func (mc *mysqlConn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error) { + if err := mc.watchCancel(ctx); err != nil { + return nil, err + } + + stmt, err := mc.Prepare(query) + mc.finish() + if err != nil { + return nil, err + } + + select { + default: + case <-ctx.Done(): + stmt.Close() + return nil, ctx.Err() + } + return stmt, nil +} + +func (stmt *mysqlStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error) { + dargs, err := namedValueToValue(args) + if err != nil { + return nil, err + } + + if err := stmt.mc.watchCancel(ctx); err != nil { + return nil, err + } + + rows, err := stmt.query(dargs) + if err != nil { + stmt.mc.finish() + return nil, err + } + rows.finish = stmt.mc.finish + return rows, err +} + +func (stmt *mysqlStmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error) { + dargs, err := namedValueToValue(args) + if err != nil { + return nil, err + } + + if err := stmt.mc.watchCancel(ctx); err != nil { + return nil, err + } + defer stmt.mc.finish() + + return stmt.Exec(dargs) +} + +func (mc *mysqlConn) watchCancel(ctx context.Context) error { + if mc.watching { + // Reach here if canceled, + // so the connection is already invalid + mc.cleanup() + return nil + } + if ctx.Done() == nil { + return nil + } + + mc.watching = true + select { + default: + case <-ctx.Done(): + return ctx.Err() + } + if mc.watcher == nil { + return nil + } + + mc.watcher <- ctx + + return nil +} + +func (mc *mysqlConn) startWatcher() { + watcher := make(chan mysqlContext, 1) + mc.watcher = watcher + finished := make(chan struct{}) + mc.finished = finished + go func() { + for { + var ctx mysqlContext + select { + case ctx = <-watcher: + case <-mc.closech: + return + } + + select { + case <-ctx.Done(): + mc.cancel(ctx.Err()) + case <-finished: + case <-mc.closech: + return + } + } + }() +} + +func (mc *mysqlConn) CheckNamedValue(nv *driver.NamedValue) (err error) { + nv.Value, err = converter{}.ConvertValue(nv.Value) + return +} + +// ResetSession implements driver.SessionResetter. +// (From Go 1.10) +func (mc *mysqlConn) ResetSession(ctx context.Context) error { + if mc.closed.IsSet() { + return driver.ErrBadConn + } + return nil +} diff --git a/vendor/github.com/go-sql-driver/mysql/const.go b/vendor/github.com/go-sql-driver/mysql/const.go index 88cfff3f..b1e6b85e 100644 --- a/vendor/github.com/go-sql-driver/mysql/const.go +++ b/vendor/github.com/go-sql-driver/mysql/const.go @@ -9,7 +9,9 @@ package mysql const ( - minProtocolVersion byte = 10 + defaultAuthPlugin = "mysql_native_password" + defaultMaxAllowedPacket = 4 << 20 // 4 MiB + minProtocolVersion = 10 maxPacketSize = 1<<24 - 1 timeFormat = "2006-01-02 15:04:05.999999" ) @@ -18,10 +20,11 @@ const ( // http://dev.mysql.com/doc/internals/en/client-server-protocol.html const ( - iOK byte = 0x00 - iLocalInFile byte = 0xfb - iEOF byte = 0xfe - iERR byte = 0xff + iOK byte = 0x00 + iAuthMoreData byte = 0x01 + iLocalInFile byte = 0xfb + iEOF byte = 0xfe + iERR byte = 0xff ) // https://dev.mysql.com/doc/internals/en/capability-flags.html#packet-Protocol::CapabilityFlags @@ -87,8 +90,10 @@ const ( ) // https://dev.mysql.com/doc/internals/en/com-query-response.html#packet-Protocol::ColumnType +type fieldType byte + const ( - fieldTypeDecimal byte = iota + fieldTypeDecimal fieldType = iota fieldTypeTiny fieldTypeShort fieldTypeLong @@ -107,7 +112,7 @@ const ( fieldTypeBit ) const ( - fieldTypeJSON byte = iota + 0xf5 + fieldTypeJSON fieldType = iota + 0xf5 fieldTypeNewDecimal fieldTypeEnum fieldTypeSet @@ -161,3 +166,9 @@ const ( statusInTransReadonly statusSessionStateChanged ) + +const ( + cachingSha2PasswordRequestPublicKey = 2 + cachingSha2PasswordFastAuthSuccess = 3 + cachingSha2PasswordPerformFullAuthentication = 4 +) diff --git a/vendor/github.com/go-sql-driver/mysql/driver.go b/vendor/github.com/go-sql-driver/mysql/driver.go index 0022d1f1..1a75a16e 100644 --- a/vendor/github.com/go-sql-driver/mysql/driver.go +++ b/vendor/github.com/go-sql-driver/mysql/driver.go @@ -4,7 +4,7 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. -// Package mysql provides a MySQL driver for Go's database/sql package +// Package mysql provides a MySQL driver for Go's database/sql package. // // The driver should be used via the database/sql package: // @@ -20,8 +20,14 @@ import ( "database/sql" "database/sql/driver" "net" + "sync" ) +// watcher interface is used for context support (From Go 1.8) +type watcher interface { + startWatcher() +} + // MySQLDriver is exported to make the driver directly accessible. // In general the driver is used via the database/sql package. type MySQLDriver struct{} @@ -30,12 +36,17 @@ type MySQLDriver struct{} // Custom dial functions must be registered with RegisterDial type DialFunc func(addr string) (net.Conn, error) -var dials map[string]DialFunc +var ( + dialsLock sync.RWMutex + dials map[string]DialFunc +) // RegisterDial registers a custom dial function. It can then be used by the // network address mynet(addr), where mynet is the registered new network. // addr is passed as a parameter to the dial function. func RegisterDial(net string, dial DialFunc) { + dialsLock.Lock() + defer dialsLock.Unlock() if dials == nil { dials = make(map[string]DialFunc) } @@ -52,16 +63,19 @@ func (d MySQLDriver) Open(dsn string) (driver.Conn, error) { mc := &mysqlConn{ maxAllowedPacket: maxPacketSize, maxWriteSize: maxPacketSize - 1, + closech: make(chan struct{}), } mc.cfg, err = ParseDSN(dsn) if err != nil { return nil, err } mc.parseTime = mc.cfg.ParseTime - mc.strict = mc.cfg.Strict // Connect to Server - if dial, ok := dials[mc.cfg.Net]; ok { + dialsLock.RLock() + dial, ok := dials[mc.cfg.Net] + dialsLock.RUnlock() + if ok { mc.netConn, err = dial(mc.cfg.Addr) } else { nd := net.Dialer{Timeout: mc.cfg.Timeout} @@ -81,6 +95,11 @@ func (d MySQLDriver) Open(dsn string) (driver.Conn, error) { } } + // Call startWatcher for context support (From Go 1.8) + if s, ok := interface{}(mc).(watcher); ok { + s.startWatcher() + } + mc.buf = newBuffer(mc.netConn) // Set I/O timeouts @@ -88,20 +107,31 @@ func (d MySQLDriver) Open(dsn string) (driver.Conn, error) { mc.writeTimeout = mc.cfg.WriteTimeout // Reading Handshake Initialization Packet - cipher, err := mc.readInitPacket() + authData, plugin, err := mc.readHandshakePacket() if err != nil { mc.cleanup() return nil, err } // Send Client Authentication Packet - if err = mc.writeAuthPacket(cipher); err != nil { + authResp, addNUL, err := mc.auth(authData, plugin) + if err != nil { + // try the default auth plugin, if using the requested plugin failed + errLog.Print("could not use requested auth plugin '"+plugin+"': ", err.Error()) + plugin = defaultAuthPlugin + authResp, addNUL, err = mc.auth(authData, plugin) + if err != nil { + mc.cleanup() + return nil, err + } + } + if err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin); err != nil { mc.cleanup() return nil, err } // Handle response to auth packet, switch methods if possible - if err = handleAuthResult(mc, cipher); err != nil { + if err = mc.handleAuthResult(authData, plugin); err != nil { // Authentication failed and MySQL has already closed the connection // (https://dev.mysql.com/doc/internals/en/authentication-fails.html). // Do not send COM_QUIT, just cleanup and return the error. @@ -134,50 +164,6 @@ func (d MySQLDriver) Open(dsn string) (driver.Conn, error) { return mc, nil } -func handleAuthResult(mc *mysqlConn, oldCipher []byte) error { - // Read Result Packet - cipher, err := mc.readResultOK() - if err == nil { - return nil // auth successful - } - - if mc.cfg == nil { - return err // auth failed and retry not possible - } - - // Retry auth if configured to do so. - if mc.cfg.AllowOldPasswords && err == ErrOldPassword { - // Retry with old authentication method. Note: there are edge cases - // where this should work but doesn't; this is currently "wontfix": - // https://github.com/go-sql-driver/mysql/issues/184 - - // If CLIENT_PLUGIN_AUTH capability is not supported, no new cipher is - // sent and we have to keep using the cipher sent in the init packet. - if cipher == nil { - cipher = oldCipher - } - - if err = mc.writeOldAuthPacket(cipher); err != nil { - return err - } - _, err = mc.readResultOK() - } else if mc.cfg.AllowCleartextPasswords && err == ErrCleartextPassword { - // Retry with clear text password for - // http://dev.mysql.com/doc/refman/5.7/en/cleartext-authentication-plugin.html - // http://dev.mysql.com/doc/refman/5.7/en/pam-authentication-plugin.html - if err = mc.writeClearAuthPacket(); err != nil { - return err - } - _, err = mc.readResultOK() - } else if mc.cfg.AllowNativePasswords && err == ErrNativePassword { - if err = mc.writeNativeAuthPacket(cipher); err != nil { - return err - } - _, err = mc.readResultOK() - } - return err -} - func init() { sql.Register("mysql", &MySQLDriver{}) } diff --git a/vendor/github.com/go-sql-driver/mysql/dsn.go b/vendor/github.com/go-sql-driver/mysql/dsn.go index ac00dced..be014bab 100644 --- a/vendor/github.com/go-sql-driver/mysql/dsn.go +++ b/vendor/github.com/go-sql-driver/mysql/dsn.go @@ -10,11 +10,13 @@ package mysql import ( "bytes" + "crypto/rsa" "crypto/tls" "errors" "fmt" "net" "net/url" + "sort" "strconv" "strings" "time" @@ -27,7 +29,9 @@ var ( errInvalidDSNUnsafeCollation = errors.New("invalid DSN: interpolateParams can not be used with unsafe collations") ) -// Config is a configuration parsed from a DSN string +// Config is a configuration parsed from a DSN string. +// If a new Config is created instead of being parsed from a DSN string, +// the NewConfig function should be used, which sets default values. type Config struct { User string // Username Passwd string // Password (requires User) @@ -38,6 +42,8 @@ type Config struct { Collation string // Connection collation Loc *time.Location // Location for time.Time values MaxAllowedPacket int // Max packet size allowed + ServerPubKey string // Server public key name + pubKey *rsa.PublicKey // Server public key TLSConfig string // TLS configuration name tls *tls.Config // TLS configuration Timeout time.Duration // Dial timeout @@ -53,7 +59,54 @@ type Config struct { InterpolateParams bool // Interpolate placeholders into query string MultiStatements bool // Allow multiple statements in one query ParseTime bool // Parse time values to time.Time - Strict bool // Return warnings as errors + RejectReadOnly bool // Reject read-only connections +} + +// NewConfig creates a new Config and sets default values. +func NewConfig() *Config { + return &Config{ + Collation: defaultCollation, + Loc: time.UTC, + MaxAllowedPacket: defaultMaxAllowedPacket, + AllowNativePasswords: true, + } +} + +func (cfg *Config) normalize() error { + if cfg.InterpolateParams && unsafeCollations[cfg.Collation] { + return errInvalidDSNUnsafeCollation + } + + // Set default network if empty + if cfg.Net == "" { + cfg.Net = "tcp" + } + + // Set default address if empty + if cfg.Addr == "" { + switch cfg.Net { + case "tcp": + cfg.Addr = "127.0.0.1:3306" + case "unix": + cfg.Addr = "/tmp/mysql.sock" + default: + return errors.New("default addr for network '" + cfg.Net + "' unknown") + } + + } else if cfg.Net == "tcp" { + cfg.Addr = ensureHavePort(cfg.Addr) + } + + if cfg.tls != nil { + if cfg.tls.ServerName == "" && !cfg.tls.InsecureSkipVerify { + host, _, err := net.SplitHostPort(cfg.Addr) + if err == nil { + cfg.tls.ServerName = host + } + } + } + + return nil } // FormatDSN formats the given Config into a DSN string which can be passed to @@ -102,12 +155,12 @@ func (cfg *Config) FormatDSN() string { } } - if cfg.AllowNativePasswords { + if !cfg.AllowNativePasswords { if hasParam { - buf.WriteString("&allowNativePasswords=true") + buf.WriteString("&allowNativePasswords=false") } else { hasParam = true - buf.WriteString("?allowNativePasswords=true") + buf.WriteString("?allowNativePasswords=false") } } @@ -195,15 +248,25 @@ func (cfg *Config) FormatDSN() string { buf.WriteString(cfg.ReadTimeout.String()) } - if cfg.Strict { + if cfg.RejectReadOnly { if hasParam { - buf.WriteString("&strict=true") + buf.WriteString("&rejectReadOnly=true") } else { hasParam = true - buf.WriteString("?strict=true") + buf.WriteString("?rejectReadOnly=true") } } + if len(cfg.ServerPubKey) > 0 { + if hasParam { + buf.WriteString("&serverPubKey=") + } else { + hasParam = true + buf.WriteString("?serverPubKey=") + } + buf.WriteString(url.QueryEscape(cfg.ServerPubKey)) + } + if cfg.Timeout > 0 { if hasParam { buf.WriteString("&timeout=") @@ -234,7 +297,7 @@ func (cfg *Config) FormatDSN() string { buf.WriteString(cfg.WriteTimeout.String()) } - if cfg.MaxAllowedPacket > 0 { + if cfg.MaxAllowedPacket != defaultMaxAllowedPacket { if hasParam { buf.WriteString("&maxAllowedPacket=") } else { @@ -247,7 +310,12 @@ func (cfg *Config) FormatDSN() string { // other params if cfg.Params != nil { - for param, value := range cfg.Params { + var params []string + for param := range cfg.Params { + params = append(params, param) + } + sort.Strings(params) + for _, param := range params { if hasParam { buf.WriteByte('&') } else { @@ -257,7 +325,7 @@ func (cfg *Config) FormatDSN() string { buf.WriteString(param) buf.WriteByte('=') - buf.WriteString(url.QueryEscape(value)) + buf.WriteString(url.QueryEscape(cfg.Params[param])) } } @@ -267,10 +335,7 @@ func (cfg *Config) FormatDSN() string { // ParseDSN parses the DSN string to a Config func ParseDSN(dsn string) (cfg *Config, err error) { // New config with some default values - cfg = &Config{ - Loc: time.UTC, - Collation: defaultCollation, - } + cfg = NewConfig() // [user[:password]@][net[(addr)]]/dbname[?param1=value1¶mN=valueN] // Find the last '/' (since the password or the net addr might contain a '/') @@ -338,28 +403,9 @@ func ParseDSN(dsn string) (cfg *Config, err error) { return nil, errInvalidDSNNoSlash } - if cfg.InterpolateParams && unsafeCollations[cfg.Collation] { - return nil, errInvalidDSNUnsafeCollation + if err = cfg.normalize(); err != nil { + return nil, err } - - // Set default network if empty - if cfg.Net == "" { - cfg.Net = "tcp" - } - - // Set default address if empty - if cfg.Addr == "" { - switch cfg.Net { - case "tcp": - cfg.Addr = "127.0.0.1:3306" - case "unix": - cfg.Addr = "/tmp/mysql.sock" - default: - return nil, errors.New("default addr for network '" + cfg.Net + "' unknown") - } - - } - return } @@ -374,7 +420,6 @@ func parseDSNParams(cfg *Config, params string) (err error) { // cfg params switch value := param[1]; param[0] { - // Disable INFILE whitelist / enable all files case "allowAllFiles": var isBool bool @@ -472,14 +517,32 @@ func parseDSNParams(cfg *Config, params string) (err error) { return } - // Strict mode - case "strict": + // Reject read-only connections + case "rejectReadOnly": var isBool bool - cfg.Strict, isBool = readBool(value) + cfg.RejectReadOnly, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } + // Server public key + case "serverPubKey": + name, err := url.QueryUnescape(value) + if err != nil { + return fmt.Errorf("invalid value for server pub key name: %v", err) + } + + if pubKey := getServerPubKey(name); pubKey != nil { + cfg.ServerPubKey = name + cfg.pubKey = pubKey + } else { + return errors.New("invalid value / unknown server pub key name: " + name) + } + + // Strict mode + case "strict": + panic("strict mode has been removed. See https://github.com/go-sql-driver/mysql/wiki/strict-mode") + // Dial Timeout case "timeout": cfg.Timeout, err = time.ParseDuration(value) @@ -506,14 +569,7 @@ func parseDSNParams(cfg *Config, params string) (err error) { return fmt.Errorf("invalid value for TLS config name: %v", err) } - if tlsConfig, ok := tlsConfigRegister[name]; ok { - if len(tlsConfig.ServerName) == 0 && !tlsConfig.InsecureSkipVerify { - host, _, err := net.SplitHostPort(cfg.Addr) - if err == nil { - tlsConfig.ServerName = host - } - } - + if tlsConfig := getTLSConfigClone(name); tlsConfig != nil { cfg.TLSConfig = name cfg.tls = tlsConfig } else { @@ -546,3 +602,10 @@ func parseDSNParams(cfg *Config, params string) (err error) { return } + +func ensureHavePort(addr string) string { + if _, _, err := net.SplitHostPort(addr); err != nil { + return net.JoinHostPort(addr, "3306") + } + return addr +} diff --git a/vendor/github.com/go-sql-driver/mysql/errors.go b/vendor/github.com/go-sql-driver/mysql/errors.go index 857854e1..760782ff 100644 --- a/vendor/github.com/go-sql-driver/mysql/errors.go +++ b/vendor/github.com/go-sql-driver/mysql/errors.go @@ -9,10 +9,8 @@ package mysql import ( - "database/sql/driver" "errors" "fmt" - "io" "log" "os" ) @@ -31,6 +29,12 @@ var ( ErrPktSyncMul = errors.New("commands out of sync. Did you run multiple statements at once?") ErrPktTooLarge = errors.New("packet for query is too large. Try adjusting the 'max_allowed_packet' variable on the server") ErrBusyBuffer = errors.New("busy buffer") + + // errBadConnNoWrite is used for connection errors where nothing was sent to the database yet. + // If this happens first in a function starting a database interaction, it should be replaced by driver.ErrBadConn + // to trigger a resend. + // See https://github.com/go-sql-driver/mysql/pull/302 + errBadConnNoWrite = errors.New("bad connection") ) var errLog = Logger(log.New(os.Stderr, "[mysql] ", log.Ldate|log.Ltime|log.Lshortfile)) @@ -59,74 +63,3 @@ type MySQLError struct { func (me *MySQLError) Error() string { return fmt.Sprintf("Error %d: %s", me.Number, me.Message) } - -// MySQLWarnings is an error type which represents a group of one or more MySQL -// warnings -type MySQLWarnings []MySQLWarning - -func (mws MySQLWarnings) Error() string { - var msg string - for i, warning := range mws { - if i > 0 { - msg += "\r\n" - } - msg += fmt.Sprintf( - "%s %s: %s", - warning.Level, - warning.Code, - warning.Message, - ) - } - return msg -} - -// MySQLWarning is an error type which represents a single MySQL warning. -// Warnings are returned in groups only. See MySQLWarnings -type MySQLWarning struct { - Level string - Code string - Message string -} - -func (mc *mysqlConn) getWarnings() (err error) { - rows, err := mc.Query("SHOW WARNINGS", nil) - if err != nil { - return - } - - var warnings = MySQLWarnings{} - var values = make([]driver.Value, 3) - - for { - err = rows.Next(values) - switch err { - case nil: - warning := MySQLWarning{} - - if raw, ok := values[0].([]byte); ok { - warning.Level = string(raw) - } else { - warning.Level = fmt.Sprintf("%s", values[0]) - } - if raw, ok := values[1].([]byte); ok { - warning.Code = string(raw) - } else { - warning.Code = fmt.Sprintf("%s", values[1]) - } - if raw, ok := values[2].([]byte); ok { - warning.Message = string(raw) - } else { - warning.Message = fmt.Sprintf("%s", values[0]) - } - - warnings = append(warnings, warning) - - case io.EOF: - return warnings - - default: - rows.Close() - return - } - } -} diff --git a/vendor/github.com/go-sql-driver/mysql/fields.go b/vendor/github.com/go-sql-driver/mysql/fields.go new file mode 100644 index 00000000..e1e2ece4 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/fields.go @@ -0,0 +1,194 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2017 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "database/sql" + "reflect" +) + +func (mf *mysqlField) typeDatabaseName() string { + switch mf.fieldType { + case fieldTypeBit: + return "BIT" + case fieldTypeBLOB: + if mf.charSet != collations[binaryCollation] { + return "TEXT" + } + return "BLOB" + case fieldTypeDate: + return "DATE" + case fieldTypeDateTime: + return "DATETIME" + case fieldTypeDecimal: + return "DECIMAL" + case fieldTypeDouble: + return "DOUBLE" + case fieldTypeEnum: + return "ENUM" + case fieldTypeFloat: + return "FLOAT" + case fieldTypeGeometry: + return "GEOMETRY" + case fieldTypeInt24: + return "MEDIUMINT" + case fieldTypeJSON: + return "JSON" + case fieldTypeLong: + return "INT" + case fieldTypeLongBLOB: + if mf.charSet != collations[binaryCollation] { + return "LONGTEXT" + } + return "LONGBLOB" + case fieldTypeLongLong: + return "BIGINT" + case fieldTypeMediumBLOB: + if mf.charSet != collations[binaryCollation] { + return "MEDIUMTEXT" + } + return "MEDIUMBLOB" + case fieldTypeNewDate: + return "DATE" + case fieldTypeNewDecimal: + return "DECIMAL" + case fieldTypeNULL: + return "NULL" + case fieldTypeSet: + return "SET" + case fieldTypeShort: + return "SMALLINT" + case fieldTypeString: + if mf.charSet == collations[binaryCollation] { + return "BINARY" + } + return "CHAR" + case fieldTypeTime: + return "TIME" + case fieldTypeTimestamp: + return "TIMESTAMP" + case fieldTypeTiny: + return "TINYINT" + case fieldTypeTinyBLOB: + if mf.charSet != collations[binaryCollation] { + return "TINYTEXT" + } + return "TINYBLOB" + case fieldTypeVarChar: + if mf.charSet == collations[binaryCollation] { + return "VARBINARY" + } + return "VARCHAR" + case fieldTypeVarString: + if mf.charSet == collations[binaryCollation] { + return "VARBINARY" + } + return "VARCHAR" + case fieldTypeYear: + return "YEAR" + default: + return "" + } +} + +var ( + scanTypeFloat32 = reflect.TypeOf(float32(0)) + scanTypeFloat64 = reflect.TypeOf(float64(0)) + scanTypeInt8 = reflect.TypeOf(int8(0)) + scanTypeInt16 = reflect.TypeOf(int16(0)) + scanTypeInt32 = reflect.TypeOf(int32(0)) + scanTypeInt64 = reflect.TypeOf(int64(0)) + scanTypeNullFloat = reflect.TypeOf(sql.NullFloat64{}) + scanTypeNullInt = reflect.TypeOf(sql.NullInt64{}) + scanTypeNullTime = reflect.TypeOf(NullTime{}) + scanTypeUint8 = reflect.TypeOf(uint8(0)) + scanTypeUint16 = reflect.TypeOf(uint16(0)) + scanTypeUint32 = reflect.TypeOf(uint32(0)) + scanTypeUint64 = reflect.TypeOf(uint64(0)) + scanTypeRawBytes = reflect.TypeOf(sql.RawBytes{}) + scanTypeUnknown = reflect.TypeOf(new(interface{})) +) + +type mysqlField struct { + tableName string + name string + length uint32 + flags fieldFlag + fieldType fieldType + decimals byte + charSet uint8 +} + +func (mf *mysqlField) scanType() reflect.Type { + switch mf.fieldType { + case fieldTypeTiny: + if mf.flags&flagNotNULL != 0 { + if mf.flags&flagUnsigned != 0 { + return scanTypeUint8 + } + return scanTypeInt8 + } + return scanTypeNullInt + + case fieldTypeShort, fieldTypeYear: + if mf.flags&flagNotNULL != 0 { + if mf.flags&flagUnsigned != 0 { + return scanTypeUint16 + } + return scanTypeInt16 + } + return scanTypeNullInt + + case fieldTypeInt24, fieldTypeLong: + if mf.flags&flagNotNULL != 0 { + if mf.flags&flagUnsigned != 0 { + return scanTypeUint32 + } + return scanTypeInt32 + } + return scanTypeNullInt + + case fieldTypeLongLong: + if mf.flags&flagNotNULL != 0 { + if mf.flags&flagUnsigned != 0 { + return scanTypeUint64 + } + return scanTypeInt64 + } + return scanTypeNullInt + + case fieldTypeFloat: + if mf.flags&flagNotNULL != 0 { + return scanTypeFloat32 + } + return scanTypeNullFloat + + case fieldTypeDouble: + if mf.flags&flagNotNULL != 0 { + return scanTypeFloat64 + } + return scanTypeNullFloat + + case fieldTypeDecimal, fieldTypeNewDecimal, fieldTypeVarChar, + fieldTypeBit, fieldTypeEnum, fieldTypeSet, fieldTypeTinyBLOB, + fieldTypeMediumBLOB, fieldTypeLongBLOB, fieldTypeBLOB, + fieldTypeVarString, fieldTypeString, fieldTypeGeometry, fieldTypeJSON, + fieldTypeTime: + return scanTypeRawBytes + + case fieldTypeDate, fieldTypeNewDate, + fieldTypeTimestamp, fieldTypeDateTime: + // NullTime is always returned for more consistent behavior as it can + // handle both cases of parseTime regardless if the field is nullable. + return scanTypeNullTime + + default: + return scanTypeUnknown + } +} diff --git a/vendor/github.com/go-sql-driver/mysql/infile.go b/vendor/github.com/go-sql-driver/mysql/infile.go index 547357cf..273cb0ba 100644 --- a/vendor/github.com/go-sql-driver/mysql/infile.go +++ b/vendor/github.com/go-sql-driver/mysql/infile.go @@ -147,7 +147,8 @@ func (mc *mysqlConn) handleInFileRequest(name string) (err error) { } // send content packets - if err == nil { + // if packetSize == 0, the Reader contains no data + if err == nil && packetSize > 0 { data := make([]byte, 4+packetSize) var n int for err == nil { @@ -173,8 +174,7 @@ func (mc *mysqlConn) handleInFileRequest(name string) (err error) { // read OK packet if err == nil { - _, err = mc.readResultOK() - return err + return mc.readResultOK() } mc.readPacket() diff --git a/vendor/github.com/go-sql-driver/mysql/packets.go b/vendor/github.com/go-sql-driver/mysql/packets.go index aafe9793..d873a97b 100644 --- a/vendor/github.com/go-sql-driver/mysql/packets.go +++ b/vendor/github.com/go-sql-driver/mysql/packets.go @@ -30,9 +30,12 @@ func (mc *mysqlConn) readPacket() ([]byte, error) { // read packet header data, err := mc.buf.readNext(4) if err != nil { + if cerr := mc.canceled.Value(); cerr != nil { + return nil, cerr + } errLog.Print(err) mc.Close() - return nil, driver.ErrBadConn + return nil, ErrInvalidConn } // packet length [24 bit] @@ -54,7 +57,7 @@ func (mc *mysqlConn) readPacket() ([]byte, error) { if prevData == nil { errLog.Print(ErrMalformPkt) mc.Close() - return nil, driver.ErrBadConn + return nil, ErrInvalidConn } return prevData, nil @@ -63,9 +66,12 @@ func (mc *mysqlConn) readPacket() ([]byte, error) { // read packet body [pktLen bytes] data, err = mc.buf.readNext(pktLen) if err != nil { + if cerr := mc.canceled.Value(); cerr != nil { + return nil, cerr + } errLog.Print(err) mc.Close() - return nil, driver.ErrBadConn + return nil, ErrInvalidConn } // return data if this was the last packet @@ -125,33 +131,47 @@ func (mc *mysqlConn) writePacket(data []byte) error { // Handle error if err == nil { // n != len(data) + mc.cleanup() errLog.Print(ErrMalformPkt) } else { + if cerr := mc.canceled.Value(); cerr != nil { + return cerr + } + if n == 0 && pktLen == len(data)-4 { + // only for the first loop iteration when nothing was written yet + return errBadConnNoWrite + } + mc.cleanup() errLog.Print(err) } - return driver.ErrBadConn + return ErrInvalidConn } } /****************************************************************************** -* Initialisation Process * +* Initialization Process * ******************************************************************************/ // Handshake Initialization Packet // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::Handshake -func (mc *mysqlConn) readInitPacket() ([]byte, error) { +func (mc *mysqlConn) readHandshakePacket() ([]byte, string, error) { data, err := mc.readPacket() if err != nil { - return nil, err + // for init we can rewrite this to ErrBadConn for sql.Driver to retry, since + // in connection initialization we don't risk retrying non-idempotent actions. + if err == ErrInvalidConn { + return nil, "", driver.ErrBadConn + } + return nil, "", err } if data[0] == iERR { - return nil, mc.handleErrorPacket(data) + return nil, "", mc.handleErrorPacket(data) } // protocol version [1 byte] if data[0] < minProtocolVersion { - return nil, fmt.Errorf( + return nil, "", fmt.Errorf( "unsupported protocol version %d. Version %d or higher is required", data[0], minProtocolVersion, @@ -163,7 +183,7 @@ func (mc *mysqlConn) readInitPacket() ([]byte, error) { pos := 1 + bytes.IndexByte(data[1:], 0x00) + 1 + 4 // first part of the password cipher [8 bytes] - cipher := data[pos : pos+8] + authData := data[pos : pos+8] // (filler) always 0x00 [1 byte] pos += 8 + 1 @@ -171,13 +191,14 @@ func (mc *mysqlConn) readInitPacket() ([]byte, error) { // capability flags (lower 2 bytes) [2 bytes] mc.flags = clientFlag(binary.LittleEndian.Uint16(data[pos : pos+2])) if mc.flags&clientProtocol41 == 0 { - return nil, ErrOldProtocol + return nil, "", ErrOldProtocol } if mc.flags&clientSSL == 0 && mc.cfg.tls != nil { - return nil, ErrNoTLS + return nil, "", ErrNoTLS } pos += 2 + plugin := "" if len(data) > pos { // character set [1 byte] // status flags [2 bytes] @@ -198,32 +219,34 @@ func (mc *mysqlConn) readInitPacket() ([]byte, error) { // // The official Python library uses the fixed length 12 // which seems to work but technically could have a hidden bug. - cipher = append(cipher, data[pos:pos+12]...) + authData = append(authData, data[pos:pos+12]...) + pos += 13 - // TODO: Verify string termination // EOF if version (>= 5.5.7 and < 5.5.10) or (>= 5.6.0 and < 5.6.2) // \NUL otherwise - // - //if data[len(data)-1] == 0 { - // return - //} - //return ErrMalformPkt + if end := bytes.IndexByte(data[pos:], 0x00); end != -1 { + plugin = string(data[pos : pos+end]) + } else { + plugin = string(data[pos:]) + } // make a memory safe copy of the cipher slice var b [20]byte - copy(b[:], cipher) - return b[:], nil + copy(b[:], authData) + return b[:], plugin, nil } + plugin = defaultAuthPlugin + // make a memory safe copy of the cipher slice var b [8]byte - copy(b[:], cipher) - return b[:], nil + copy(b[:], authData) + return b[:], plugin, nil } // Client Authentication Packet // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse -func (mc *mysqlConn) writeAuthPacket(cipher []byte) error { +func (mc *mysqlConn) writeHandshakeResponsePacket(authResp []byte, addNUL bool, plugin string) error { // Adjust client flags based on server support clientFlags := clientProtocol41 | clientSecureConn | @@ -247,10 +270,19 @@ func (mc *mysqlConn) writeAuthPacket(cipher []byte) error { clientFlags |= clientMultiStatements } - // User Password - scrambleBuff := scramblePassword(cipher, []byte(mc.cfg.Passwd)) + // encode length of the auth plugin data + var authRespLEIBuf [9]byte + authRespLEI := appendLengthEncodedInteger(authRespLEIBuf[:0], uint64(len(authResp))) + if len(authRespLEI) > 1 { + // if the length can not be written in 1 byte, it must be written as a + // length encoded integer + clientFlags |= clientPluginAuthLenEncClientData + } - pktLen := 4 + 4 + 1 + 23 + len(mc.cfg.User) + 1 + 1 + len(scrambleBuff) + 21 + 1 + pktLen := 4 + 4 + 1 + 23 + len(mc.cfg.User) + 1 + len(authRespLEI) + len(authResp) + 21 + 1 + if addNUL { + pktLen++ + } // To specify a db name if n := len(mc.cfg.DBName); n > 0 { @@ -261,9 +293,9 @@ func (mc *mysqlConn) writeAuthPacket(cipher []byte) error { // Calculate packet length and get buffer with that size data := mc.buf.takeSmallBuffer(pktLen + 4) if data == nil { - // can not take the buffer. Something must be wrong with the connection + // cannot take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) - return driver.ErrBadConn + return errBadConnNoWrite } // ClientFlags [32 bit] @@ -318,9 +350,13 @@ func (mc *mysqlConn) writeAuthPacket(cipher []byte) error { data[pos] = 0x00 pos++ - // ScrambleBuffer [length encoded integer] - data[pos] = byte(len(scrambleBuff)) - pos += 1 + copy(data[pos+1:], scrambleBuff) + // Auth Data [length encoded integer] + pos += copy(data[pos:], authRespLEI) + pos += copy(data[pos:], authResp) + if addNUL { + data[pos] = 0x00 + pos++ + } // Databasename [null terminated string] if len(mc.cfg.DBName) > 0 { @@ -329,72 +365,32 @@ func (mc *mysqlConn) writeAuthPacket(cipher []byte) error { pos++ } - // Assume native client during response - pos += copy(data[pos:], "mysql_native_password") + pos += copy(data[pos:], plugin) data[pos] = 0x00 // Send Auth packet return mc.writePacket(data) } -// Client old authentication packet // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse -func (mc *mysqlConn) writeOldAuthPacket(cipher []byte) error { - // User password - scrambleBuff := scrambleOldPassword(cipher, []byte(mc.cfg.Passwd)) - - // Calculate the packet length and add a tailing 0 - pktLen := len(scrambleBuff) + 1 - data := mc.buf.takeSmallBuffer(4 + pktLen) +func (mc *mysqlConn) writeAuthSwitchPacket(authData []byte, addNUL bool) error { + pktLen := 4 + len(authData) + if addNUL { + pktLen++ + } + data := mc.buf.takeSmallBuffer(pktLen) if data == nil { - // can not take the buffer. Something must be wrong with the connection + // cannot take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) - return driver.ErrBadConn + return errBadConnNoWrite } - // Add the scrambled password [null terminated string] - copy(data[4:], scrambleBuff) - data[4+pktLen-1] = 0x00 - - return mc.writePacket(data) -} - -// Client clear text authentication packet -// http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse -func (mc *mysqlConn) writeClearAuthPacket() error { - // Calculate the packet length and add a tailing 0 - pktLen := len(mc.cfg.Passwd) + 1 - data := mc.buf.takeSmallBuffer(4 + pktLen) - if data == nil { - // can not take the buffer. Something must be wrong with the connection - errLog.Print(ErrBusyBuffer) - return driver.ErrBadConn + // Add the auth data [EOF] + copy(data[4:], authData) + if addNUL { + data[pktLen-1] = 0x00 } - // Add the clear password [null terminated string] - copy(data[4:], mc.cfg.Passwd) - data[4+pktLen-1] = 0x00 - - return mc.writePacket(data) -} - -// Native password authentication method -// http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse -func (mc *mysqlConn) writeNativeAuthPacket(cipher []byte) error { - scrambleBuff := scramblePassword(cipher, []byte(mc.cfg.Passwd)) - - // Calculate the packet length and add a tailing 0 - pktLen := len(scrambleBuff) - data := mc.buf.takeSmallBuffer(4 + pktLen) - if data == nil { - // can not take the buffer. Something must be wrong with the connection - errLog.Print(ErrBusyBuffer) - return driver.ErrBadConn - } - - // Add the scramble - copy(data[4:], scrambleBuff) - return mc.writePacket(data) } @@ -408,9 +404,9 @@ func (mc *mysqlConn) writeCommandPacket(command byte) error { data := mc.buf.takeSmallBuffer(4 + 1) if data == nil { - // can not take the buffer. Something must be wrong with the connection + // cannot take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) - return driver.ErrBadConn + return errBadConnNoWrite } // Add command byte @@ -427,9 +423,9 @@ func (mc *mysqlConn) writeCommandPacketStr(command byte, arg string) error { pktLen := 1 + len(arg) data := mc.buf.takeBuffer(pktLen + 4) if data == nil { - // can not take the buffer. Something must be wrong with the connection + // cannot take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) - return driver.ErrBadConn + return errBadConnNoWrite } // Add command byte @@ -448,9 +444,9 @@ func (mc *mysqlConn) writeCommandPacketUint32(command byte, arg uint32) error { data := mc.buf.takeSmallBuffer(4 + 1 + 4) if data == nil { - // can not take the buffer. Something must be wrong with the connection + // cannot take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) - return driver.ErrBadConn + return errBadConnNoWrite } // Add command byte @@ -470,44 +466,50 @@ func (mc *mysqlConn) writeCommandPacketUint32(command byte, arg uint32) error { * Result Packets * ******************************************************************************/ -// Returns error if Packet is not an 'Result OK'-Packet -func (mc *mysqlConn) readResultOK() ([]byte, error) { +func (mc *mysqlConn) readAuthResult() ([]byte, string, error) { data, err := mc.readPacket() - if err == nil { - // packet indicator - switch data[0] { - - case iOK: - return nil, mc.handleOkPacket(data) - - case iEOF: - if len(data) > 1 { - pluginEndIndex := bytes.IndexByte(data, 0x00) - plugin := string(data[1:pluginEndIndex]) - cipher := data[pluginEndIndex+1 : len(data)-1] - - if plugin == "mysql_old_password" { - // using old_passwords - return cipher, ErrOldPassword - } else if plugin == "mysql_clear_password" { - // using clear text password - return cipher, ErrCleartextPassword - } else if plugin == "mysql_native_password" { - // using mysql default authentication method - return cipher, ErrNativePassword - } else { - return cipher, ErrUnknownPlugin - } - } else { - // https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::OldAuthSwitchRequest - return nil, ErrOldPassword - } - - default: // Error otherwise - return nil, mc.handleErrorPacket(data) - } + if err != nil { + return nil, "", err } - return nil, err + + // packet indicator + switch data[0] { + + case iOK: + return nil, "", mc.handleOkPacket(data) + + case iAuthMoreData: + return data[1:], "", err + + case iEOF: + if len(data) < 1 { + // https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::OldAuthSwitchRequest + return nil, "mysql_old_password", nil + } + pluginEndIndex := bytes.IndexByte(data, 0x00) + if pluginEndIndex < 0 { + return nil, "", ErrMalformPkt + } + plugin := string(data[1:pluginEndIndex]) + authData := data[pluginEndIndex+1:] + return authData, plugin, nil + + default: // Error otherwise + return nil, "", mc.handleErrorPacket(data) + } +} + +// Returns error if Packet is not an 'Result OK'-Packet +func (mc *mysqlConn) readResultOK() error { + data, err := mc.readPacket() + if err != nil { + return err + } + + if data[0] == iOK { + return mc.handleOkPacket(data) + } + return mc.handleErrorPacket(data) } // Result Set Header Packet @@ -550,6 +552,22 @@ func (mc *mysqlConn) handleErrorPacket(data []byte) error { // Error Number [16 bit uint] errno := binary.LittleEndian.Uint16(data[1:3]) + // 1792: ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION + // 1290: ER_OPTION_PREVENTS_STATEMENT (returned by Aurora during failover) + if (errno == 1792 || errno == 1290) && mc.cfg.RejectReadOnly { + // Oops; we are connected to a read-only connection, and won't be able + // to issue any write statements. Since RejectReadOnly is configured, + // we throw away this connection hoping this one would have write + // permission. This is specifically for a possible race condition + // during failover (e.g. on AWS Aurora). See README.md for more. + // + // We explicitly close the connection before returning + // driver.ErrBadConn to ensure that `database/sql` purges this + // connection and initiates a new one for next statement next time. + mc.Close() + return driver.ErrBadConn + } + pos := 3 // SQL State [optional: # + 5bytes string] @@ -584,19 +602,12 @@ func (mc *mysqlConn) handleOkPacket(data []byte) error { // server_status [2 bytes] mc.status = readStatus(data[1+n+m : 1+n+m+2]) - if err := mc.discardResults(); err != nil { - return err - } - - // warning count [2 bytes] - if !mc.strict { + if mc.status&statusMoreResultsExists != 0 { return nil } - pos := 1 + n + m + 2 - if binary.LittleEndian.Uint16(data[pos:pos+2]) > 0 { - return mc.getWarnings() - } + // warning count [2 bytes] + return nil } @@ -668,14 +679,21 @@ func (mc *mysqlConn) readColumns(count int) ([]mysqlField, error) { if err != nil { return nil, err } + pos += n // Filler [uint8] + pos++ + // Charset [charset, collation uint8] + columns[i].charSet = data[pos] + pos += 2 + // Length [uint32] - pos += n + 1 + 2 + 4 + columns[i].length = binary.LittleEndian.Uint32(data[pos : pos+4]) + pos += 4 // Field type [uint8] - columns[i].fieldType = data[pos] + columns[i].fieldType = fieldType(data[pos]) pos++ // Flags [uint16] @@ -698,6 +716,10 @@ func (mc *mysqlConn) readColumns(count int) ([]mysqlField, error) { func (rows *textRows) readRow(dest []driver.Value) error { mc := rows.mc + if rows.rs.done { + return io.EOF + } + data, err := mc.readPacket() if err != nil { return err @@ -707,15 +729,11 @@ func (rows *textRows) readRow(dest []driver.Value) error { if data[0] == iEOF && len(data) == 5 { // server_status [2 bytes] rows.mc.status = readStatus(data[3:]) - err = rows.mc.discardResults() - if err == nil { - err = io.EOF - } else { - // connection unusable - rows.mc.Close() + rows.rs.done = true + if !rows.HasNextResultSet() { + rows.mc = nil } - rows.mc = nil - return err + return io.EOF } if data[0] == iERR { rows.mc = nil @@ -736,7 +754,7 @@ func (rows *textRows) readRow(dest []driver.Value) error { if !mc.parseTime { continue } else { - switch rows.columns[i].fieldType { + switch rows.rs.columns[i].fieldType { case fieldTypeTimestamp, fieldTypeDateTime, fieldTypeDate, fieldTypeNewDate: dest[i], err = parseDateTime( @@ -808,14 +826,7 @@ func (stmt *mysqlStmt) readPrepareResultPacket() (uint16, error) { // Reserved [8 bit] // Warning count [16 bit uint] - if !stmt.mc.strict { - return columnCount, nil - } - // Check for warnings count > 0, only available in MySQL > 4.1 - if len(data) >= 12 && binary.LittleEndian.Uint16(data[10:12]) > 0 { - return columnCount, stmt.mc.getWarnings() - } return columnCount, nil } return 0, err @@ -832,7 +843,7 @@ func (stmt *mysqlStmt) writeCommandLongData(paramID int, arg []byte) error { // 2 bytes paramID const dataOffset = 1 + 4 + 2 - // Can not use the write buffer since + // Cannot use the write buffer since // a) the buffer is too small // b) it is in use data := make([]byte, 4+1+4+2+len(arg)) @@ -887,6 +898,12 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { const minPktLen = 4 + 1 + 4 + 1 + 4 mc := stmt.mc + // Determine threshould dynamically to avoid packet size shortage. + longDataSize := mc.maxAllowedPacket / (stmt.paramCount + 1) + if longDataSize < 64 { + longDataSize = 64 + } + // Reset packet-sequence mc.sequence = 0 @@ -898,9 +915,9 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { data = mc.buf.takeCompleteBuffer() } if data == nil { - // can not take the buffer. Something must be wrong with the connection + // cannot take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) - return driver.ErrBadConn + return errBadConnNoWrite } // command [1 byte] @@ -959,7 +976,7 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { // build NULL-bitmap if arg == nil { nullMask[i/8] |= 1 << (uint(i) & 7) - paramTypes[i+i] = fieldTypeNULL + paramTypes[i+i] = byte(fieldTypeNULL) paramTypes[i+i+1] = 0x00 continue } @@ -967,7 +984,7 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { // cache types and values switch v := arg.(type) { case int64: - paramTypes[i+i] = fieldTypeLongLong + paramTypes[i+i] = byte(fieldTypeLongLong) paramTypes[i+i+1] = 0x00 if cap(paramValues)-len(paramValues)-8 >= 0 { @@ -983,7 +1000,7 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { } case float64: - paramTypes[i+i] = fieldTypeDouble + paramTypes[i+i] = byte(fieldTypeDouble) paramTypes[i+i+1] = 0x00 if cap(paramValues)-len(paramValues)-8 >= 0 { @@ -999,7 +1016,7 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { } case bool: - paramTypes[i+i] = fieldTypeTiny + paramTypes[i+i] = byte(fieldTypeTiny) paramTypes[i+i+1] = 0x00 if v { @@ -1011,10 +1028,10 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { case []byte: // Common case (non-nil value) first if v != nil { - paramTypes[i+i] = fieldTypeString + paramTypes[i+i] = byte(fieldTypeString) paramTypes[i+i+1] = 0x00 - if len(v) < mc.maxAllowedPacket-pos-len(paramValues)-(len(args)-(i+1))*64 { + if len(v) < longDataSize { paramValues = appendLengthEncodedInteger(paramValues, uint64(len(v)), ) @@ -1029,14 +1046,14 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { // Handle []byte(nil) as a NULL value nullMask[i/8] |= 1 << (uint(i) & 7) - paramTypes[i+i] = fieldTypeNULL + paramTypes[i+i] = byte(fieldTypeNULL) paramTypes[i+i+1] = 0x00 case string: - paramTypes[i+i] = fieldTypeString + paramTypes[i+i] = byte(fieldTypeString) paramTypes[i+i+1] = 0x00 - if len(v) < mc.maxAllowedPacket-pos-len(paramValues)-(len(args)-(i+1))*64 { + if len(v) < longDataSize { paramValues = appendLengthEncodedInteger(paramValues, uint64(len(v)), ) @@ -1048,23 +1065,25 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { } case time.Time: - paramTypes[i+i] = fieldTypeString + paramTypes[i+i] = byte(fieldTypeString) paramTypes[i+i+1] = 0x00 - var val []byte + var a [64]byte + var b = a[:0] + if v.IsZero() { - val = []byte("0000-00-00") + b = append(b, "0000-00-00"...) } else { - val = []byte(v.In(mc.cfg.Loc).Format(timeFormat)) + b = v.In(mc.cfg.Loc).AppendFormat(b, timeFormat) } paramValues = appendLengthEncodedInteger(paramValues, - uint64(len(val)), + uint64(len(b)), ) - paramValues = append(paramValues, val...) + paramValues = append(paramValues, b...) default: - return fmt.Errorf("can not convert type: %T", arg) + return fmt.Errorf("cannot convert type: %T", arg) } } @@ -1097,8 +1116,6 @@ func (mc *mysqlConn) discardResults() error { if err := mc.readUntilEOF(); err != nil { return err } - } else { - mc.status &^= statusMoreResultsExists } } return nil @@ -1116,20 +1133,17 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { // EOF Packet if data[0] == iEOF && len(data) == 5 { rows.mc.status = readStatus(data[3:]) - err = rows.mc.discardResults() - if err == nil { - err = io.EOF - } else { - // connection unusable - rows.mc.Close() + rows.rs.done = true + if !rows.HasNextResultSet() { + rows.mc = nil } - rows.mc = nil - return err + return io.EOF } + mc := rows.mc rows.mc = nil // Error otherwise - return rows.mc.handleErrorPacket(data) + return mc.handleErrorPacket(data) } // NULL-bitmap, [(column-count + 7 + 2) / 8 bytes] @@ -1145,14 +1159,14 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { } // Convert to byte-coded string - switch rows.columns[i].fieldType { + switch rows.rs.columns[i].fieldType { case fieldTypeNULL: dest[i] = nil continue // Numeric Types case fieldTypeTiny: - if rows.columns[i].flags&flagUnsigned != 0 { + if rows.rs.columns[i].flags&flagUnsigned != 0 { dest[i] = int64(data[pos]) } else { dest[i] = int64(int8(data[pos])) @@ -1161,7 +1175,7 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { continue case fieldTypeShort, fieldTypeYear: - if rows.columns[i].flags&flagUnsigned != 0 { + if rows.rs.columns[i].flags&flagUnsigned != 0 { dest[i] = int64(binary.LittleEndian.Uint16(data[pos : pos+2])) } else { dest[i] = int64(int16(binary.LittleEndian.Uint16(data[pos : pos+2]))) @@ -1170,7 +1184,7 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { continue case fieldTypeInt24, fieldTypeLong: - if rows.columns[i].flags&flagUnsigned != 0 { + if rows.rs.columns[i].flags&flagUnsigned != 0 { dest[i] = int64(binary.LittleEndian.Uint32(data[pos : pos+4])) } else { dest[i] = int64(int32(binary.LittleEndian.Uint32(data[pos : pos+4]))) @@ -1179,7 +1193,7 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { continue case fieldTypeLongLong: - if rows.columns[i].flags&flagUnsigned != 0 { + if rows.rs.columns[i].flags&flagUnsigned != 0 { val := binary.LittleEndian.Uint64(data[pos : pos+8]) if val > math.MaxInt64 { dest[i] = uint64ToString(val) @@ -1193,7 +1207,7 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { continue case fieldTypeFloat: - dest[i] = float32(math.Float32frombits(binary.LittleEndian.Uint32(data[pos : pos+4]))) + dest[i] = math.Float32frombits(binary.LittleEndian.Uint32(data[pos : pos+4])) pos += 4 continue @@ -1233,10 +1247,10 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { case isNull: dest[i] = nil continue - case rows.columns[i].fieldType == fieldTypeTime: + case rows.rs.columns[i].fieldType == fieldTypeTime: // database/sql does not support an equivalent to TIME, return a string var dstlen uint8 - switch decimals := rows.columns[i].decimals; decimals { + switch decimals := rows.rs.columns[i].decimals; decimals { case 0x00, 0x1f: dstlen = 8 case 1, 2, 3, 4, 5, 6: @@ -1244,7 +1258,7 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { default: return fmt.Errorf( "protocol error, illegal decimals value %d", - rows.columns[i].decimals, + rows.rs.columns[i].decimals, ) } dest[i], err = formatBinaryDateTime(data[pos:pos+int(num)], dstlen, true) @@ -1252,10 +1266,10 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { dest[i], err = parseBinaryDateTime(num, data[pos:], rows.mc.cfg.Loc) default: var dstlen uint8 - if rows.columns[i].fieldType == fieldTypeDate { + if rows.rs.columns[i].fieldType == fieldTypeDate { dstlen = 10 } else { - switch decimals := rows.columns[i].decimals; decimals { + switch decimals := rows.rs.columns[i].decimals; decimals { case 0x00, 0x1f: dstlen = 19 case 1, 2, 3, 4, 5, 6: @@ -1263,7 +1277,7 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { default: return fmt.Errorf( "protocol error, illegal decimals value %d", - rows.columns[i].decimals, + rows.rs.columns[i].decimals, ) } } @@ -1279,7 +1293,7 @@ func (rows *binaryRows) readRow(dest []driver.Value) error { // Please report if this happens! default: - return fmt.Errorf("unknown field type %d", rows.columns[i].fieldType) + return fmt.Errorf("unknown field type %d", rows.rs.columns[i].fieldType) } } diff --git a/vendor/github.com/go-sql-driver/mysql/rows.go b/vendor/github.com/go-sql-driver/mysql/rows.go index c08255ee..d3b1e282 100644 --- a/vendor/github.com/go-sql-driver/mysql/rows.go +++ b/vendor/github.com/go-sql-driver/mysql/rows.go @@ -11,19 +11,20 @@ package mysql import ( "database/sql/driver" "io" + "math" + "reflect" ) -type mysqlField struct { - tableName string - name string - flags fieldFlag - fieldType byte - decimals byte +type resultSet struct { + columns []mysqlField + columnNames []string + done bool } type mysqlRows struct { - mc *mysqlConn - columns []mysqlField + mc *mysqlConn + rs resultSet + finish func() } type binaryRows struct { @@ -34,37 +35,86 @@ type textRows struct { mysqlRows } -type emptyRows struct{} - func (rows *mysqlRows) Columns() []string { - columns := make([]string, len(rows.columns)) + if rows.rs.columnNames != nil { + return rows.rs.columnNames + } + + columns := make([]string, len(rows.rs.columns)) if rows.mc != nil && rows.mc.cfg.ColumnsWithAlias { for i := range columns { - if tableName := rows.columns[i].tableName; len(tableName) > 0 { - columns[i] = tableName + "." + rows.columns[i].name + if tableName := rows.rs.columns[i].tableName; len(tableName) > 0 { + columns[i] = tableName + "." + rows.rs.columns[i].name } else { - columns[i] = rows.columns[i].name + columns[i] = rows.rs.columns[i].name } } } else { for i := range columns { - columns[i] = rows.columns[i].name + columns[i] = rows.rs.columns[i].name } } + + rows.rs.columnNames = columns return columns } -func (rows *mysqlRows) Close() error { +func (rows *mysqlRows) ColumnTypeDatabaseTypeName(i int) string { + return rows.rs.columns[i].typeDatabaseName() +} + +// func (rows *mysqlRows) ColumnTypeLength(i int) (length int64, ok bool) { +// return int64(rows.rs.columns[i].length), true +// } + +func (rows *mysqlRows) ColumnTypeNullable(i int) (nullable, ok bool) { + return rows.rs.columns[i].flags&flagNotNULL == 0, true +} + +func (rows *mysqlRows) ColumnTypePrecisionScale(i int) (int64, int64, bool) { + column := rows.rs.columns[i] + decimals := int64(column.decimals) + + switch column.fieldType { + case fieldTypeDecimal, fieldTypeNewDecimal: + if decimals > 0 { + return int64(column.length) - 2, decimals, true + } + return int64(column.length) - 1, decimals, true + case fieldTypeTimestamp, fieldTypeDateTime, fieldTypeTime: + return decimals, decimals, true + case fieldTypeFloat, fieldTypeDouble: + if decimals == 0x1f { + return math.MaxInt64, math.MaxInt64, true + } + return math.MaxInt64, decimals, true + } + + return 0, 0, false +} + +func (rows *mysqlRows) ColumnTypeScanType(i int) reflect.Type { + return rows.rs.columns[i].scanType() +} + +func (rows *mysqlRows) Close() (err error) { + if f := rows.finish; f != nil { + f() + rows.finish = nil + } + mc := rows.mc if mc == nil { return nil } - if mc.netConn == nil { - return ErrInvalidConn + if err := mc.error(); err != nil { + return err } // Remove unread packets from stream - err := mc.readUntilEOF() + if !rows.rs.done { + err = mc.readUntilEOF() + } if err == nil { if err = mc.discardResults(); err != nil { return err @@ -75,10 +125,66 @@ func (rows *mysqlRows) Close() error { return err } +func (rows *mysqlRows) HasNextResultSet() (b bool) { + if rows.mc == nil { + return false + } + return rows.mc.status&statusMoreResultsExists != 0 +} + +func (rows *mysqlRows) nextResultSet() (int, error) { + if rows.mc == nil { + return 0, io.EOF + } + if err := rows.mc.error(); err != nil { + return 0, err + } + + // Remove unread packets from stream + if !rows.rs.done { + if err := rows.mc.readUntilEOF(); err != nil { + return 0, err + } + rows.rs.done = true + } + + if !rows.HasNextResultSet() { + rows.mc = nil + return 0, io.EOF + } + rows.rs = resultSet{} + return rows.mc.readResultSetHeaderPacket() +} + +func (rows *mysqlRows) nextNotEmptyResultSet() (int, error) { + for { + resLen, err := rows.nextResultSet() + if err != nil { + return 0, err + } + + if resLen > 0 { + return resLen, nil + } + + rows.rs.done = true + } +} + +func (rows *binaryRows) NextResultSet() error { + resLen, err := rows.nextNotEmptyResultSet() + if err != nil { + return err + } + + rows.rs.columns, err = rows.mc.readColumns(resLen) + return err +} + func (rows *binaryRows) Next(dest []driver.Value) error { if mc := rows.mc; mc != nil { - if mc.netConn == nil { - return ErrInvalidConn + if err := mc.error(); err != nil { + return err } // Fetch next row from stream @@ -87,10 +193,20 @@ func (rows *binaryRows) Next(dest []driver.Value) error { return io.EOF } +func (rows *textRows) NextResultSet() (err error) { + resLen, err := rows.nextNotEmptyResultSet() + if err != nil { + return err + } + + rows.rs.columns, err = rows.mc.readColumns(resLen) + return err +} + func (rows *textRows) Next(dest []driver.Value) error { if mc := rows.mc; mc != nil { - if mc.netConn == nil { - return ErrInvalidConn + if err := mc.error(); err != nil { + return err } // Fetch next row from stream @@ -98,15 +214,3 @@ func (rows *textRows) Next(dest []driver.Value) error { } return io.EOF } - -func (rows emptyRows) Columns() []string { - return nil -} - -func (rows emptyRows) Close() error { - return nil -} - -func (rows emptyRows) Next(dest []driver.Value) error { - return io.EOF -} diff --git a/vendor/github.com/go-sql-driver/mysql/statement.go b/vendor/github.com/go-sql-driver/mysql/statement.go index 7f9b0458..ce7fe4cd 100644 --- a/vendor/github.com/go-sql-driver/mysql/statement.go +++ b/vendor/github.com/go-sql-driver/mysql/statement.go @@ -11,6 +11,7 @@ package mysql import ( "database/sql/driver" "fmt" + "io" "reflect" "strconv" ) @@ -19,11 +20,10 @@ type mysqlStmt struct { mc *mysqlConn id uint32 paramCount int - columns []mysqlField // cached from the first query } func (stmt *mysqlStmt) Close() error { - if stmt.mc == nil || stmt.mc.netConn == nil { + if stmt.mc == nil || stmt.mc.closed.IsSet() { // driver.Stmt.Close can be called more than once, thus this function // has to be idempotent. // See also Issue #450 and golang/go#16019. @@ -45,14 +45,14 @@ func (stmt *mysqlStmt) ColumnConverter(idx int) driver.ValueConverter { } func (stmt *mysqlStmt) Exec(args []driver.Value) (driver.Result, error) { - if stmt.mc.netConn == nil { + if stmt.mc.closed.IsSet() { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } // Send command err := stmt.writeExecutePacket(args) if err != nil { - return nil, err + return nil, stmt.mc.markBadConn(err) } mc := stmt.mc @@ -62,37 +62,45 @@ func (stmt *mysqlStmt) Exec(args []driver.Value) (driver.Result, error) { // Read Result resLen, err := mc.readResultSetHeaderPacket() - if err == nil { - if resLen > 0 { - // Columns - err = mc.readUntilEOF() - if err != nil { - return nil, err - } + if err != nil { + return nil, err + } - // Rows - err = mc.readUntilEOF() + if resLen > 0 { + // Columns + if err = mc.readUntilEOF(); err != nil { + return nil, err } - if err == nil { - return &mysqlResult{ - affectedRows: int64(mc.affectedRows), - insertId: int64(mc.insertId), - }, nil + + // Rows + if err := mc.readUntilEOF(); err != nil { + return nil, err } } - return nil, err + if err := mc.discardResults(); err != nil { + return nil, err + } + + return &mysqlResult{ + affectedRows: int64(mc.affectedRows), + insertId: int64(mc.insertId), + }, nil } func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) { - if stmt.mc.netConn == nil { + return stmt.query(args) +} + +func (stmt *mysqlStmt) query(args []driver.Value) (*binaryRows, error) { + if stmt.mc.closed.IsSet() { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } // Send command err := stmt.writeExecutePacket(args) if err != nil { - return nil, err + return nil, stmt.mc.markBadConn(err) } mc := stmt.mc @@ -107,14 +115,15 @@ func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) { if resLen > 0 { rows.mc = mc - // Columns - // If not cached, read them and cache them - if stmt.columns == nil { - rows.columns, err = mc.readColumns(resLen) - stmt.columns = rows.columns - } else { - rows.columns = stmt.columns - err = mc.readUntilEOF() + rows.rs.columns, err = mc.readColumns(resLen) + } else { + rows.rs.done = true + + switch err := rows.NextResultSet(); err { + case nil, io.EOF: + return rows, nil + default: + return nil, err } } @@ -123,19 +132,36 @@ func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) { type converter struct{} +// ConvertValue mirrors the reference/default converter in database/sql/driver +// with _one_ exception. We support uint64 with their high bit and the default +// implementation does not. This function should be kept in sync with +// database/sql/driver defaultConverter.ConvertValue() except for that +// deliberate difference. func (c converter) ConvertValue(v interface{}) (driver.Value, error) { if driver.IsValue(v) { return v, nil } + if vr, ok := v.(driver.Valuer); ok { + sv, err := callValuerValue(vr) + if err != nil { + return nil, err + } + if !driver.IsValue(sv) { + return nil, fmt.Errorf("non-Value type %T returned from Value", sv) + } + return sv, nil + } + rv := reflect.ValueOf(v) switch rv.Kind() { case reflect.Ptr: // indirect pointers if rv.IsNil() { return nil, nil + } else { + return c.ConvertValue(rv.Elem().Interface()) } - return c.ConvertValue(rv.Elem().Interface()) case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: return rv.Int(), nil case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32: @@ -148,6 +174,38 @@ func (c converter) ConvertValue(v interface{}) (driver.Value, error) { return int64(u64), nil case reflect.Float32, reflect.Float64: return rv.Float(), nil + case reflect.Bool: + return rv.Bool(), nil + case reflect.Slice: + ek := rv.Type().Elem().Kind() + if ek == reflect.Uint8 { + return rv.Bytes(), nil + } + return nil, fmt.Errorf("unsupported type %T, a slice of %s", v, ek) + case reflect.String: + return rv.String(), nil } return nil, fmt.Errorf("unsupported type %T, a %s", v, rv.Kind()) } + +var valuerReflectType = reflect.TypeOf((*driver.Valuer)(nil)).Elem() + +// callValuerValue returns vr.Value(), with one exception: +// If vr.Value is an auto-generated method on a pointer type and the +// pointer is nil, it would panic at runtime in the panicwrap +// method. Treat it like nil instead. +// +// This is so people can implement driver.Value on value types and +// still use nil pointers to those types to mean nil/NULL, just like +// string/*string. +// +// This is an exact copy of the same-named unexported function from the +// database/sql package. +func callValuerValue(vr driver.Valuer) (v driver.Value, err error) { + if rv := reflect.ValueOf(vr); rv.Kind() == reflect.Ptr && + rv.IsNil() && + rv.Type().Elem().Implements(valuerReflectType) { + return nil, nil + } + return vr.Value() +} diff --git a/vendor/github.com/go-sql-driver/mysql/transaction.go b/vendor/github.com/go-sql-driver/mysql/transaction.go index 33c749b3..417d7279 100644 --- a/vendor/github.com/go-sql-driver/mysql/transaction.go +++ b/vendor/github.com/go-sql-driver/mysql/transaction.go @@ -13,7 +13,7 @@ type mysqlTx struct { } func (tx *mysqlTx) Commit() (err error) { - if tx.mc == nil || tx.mc.netConn == nil { + if tx.mc == nil || tx.mc.closed.IsSet() { return ErrInvalidConn } err = tx.mc.exec("COMMIT") @@ -22,7 +22,7 @@ func (tx *mysqlTx) Commit() (err error) { } func (tx *mysqlTx) Rollback() (err error) { - if tx.mc == nil || tx.mc.netConn == nil { + if tx.mc == nil || tx.mc.closed.IsSet() { return ErrInvalidConn } err = tx.mc.exec("ROLLBACK") diff --git a/vendor/github.com/go-sql-driver/mysql/utils.go b/vendor/github.com/go-sql-driver/mysql/utils.go index d523b7ff..84d595b6 100644 --- a/vendor/github.com/go-sql-driver/mysql/utils.go +++ b/vendor/github.com/go-sql-driver/mysql/utils.go @@ -9,23 +9,29 @@ package mysql import ( - "crypto/sha1" "crypto/tls" "database/sql/driver" "encoding/binary" "fmt" "io" "strings" + "sync" + "sync/atomic" "time" ) +// Registry for custom tls.Configs var ( - tlsConfigRegister map[string]*tls.Config // Register for custom tls.Configs + tlsConfigLock sync.RWMutex + tlsConfigRegistry map[string]*tls.Config ) // RegisterTLSConfig registers a custom tls.Config to be used with sql.Open. // Use the key as a value in the DSN where tls=value. // +// Note: The provided tls.Config is exclusively owned by the driver after +// registering it. +// // rootCertPool := x509.NewCertPool() // pem, err := ioutil.ReadFile("/path/ca-cert.pem") // if err != nil { @@ -51,19 +57,32 @@ func RegisterTLSConfig(key string, config *tls.Config) error { return fmt.Errorf("key '%s' is reserved", key) } - if tlsConfigRegister == nil { - tlsConfigRegister = make(map[string]*tls.Config) + tlsConfigLock.Lock() + if tlsConfigRegistry == nil { + tlsConfigRegistry = make(map[string]*tls.Config) } - tlsConfigRegister[key] = config + tlsConfigRegistry[key] = config + tlsConfigLock.Unlock() return nil } // DeregisterTLSConfig removes the tls.Config associated with key. func DeregisterTLSConfig(key string) { - if tlsConfigRegister != nil { - delete(tlsConfigRegister, key) + tlsConfigLock.Lock() + if tlsConfigRegistry != nil { + delete(tlsConfigRegistry, key) } + tlsConfigLock.Unlock() +} + +func getTLSConfigClone(key string) (config *tls.Config) { + tlsConfigLock.RLock() + if v, ok := tlsConfigRegistry[key]; ok { + config = cloneTLSConfig(v) + } + tlsConfigLock.RUnlock() + return } // Returns the bool value of the input. @@ -80,119 +99,6 @@ func readBool(input string) (value bool, valid bool) { return } -/****************************************************************************** -* Authentication * -******************************************************************************/ - -// Encrypt password using 4.1+ method -func scramblePassword(scramble, password []byte) []byte { - if len(password) == 0 { - return nil - } - - // stage1Hash = SHA1(password) - crypt := sha1.New() - crypt.Write(password) - stage1 := crypt.Sum(nil) - - // scrambleHash = SHA1(scramble + SHA1(stage1Hash)) - // inner Hash - crypt.Reset() - crypt.Write(stage1) - hash := crypt.Sum(nil) - - // outer Hash - crypt.Reset() - crypt.Write(scramble) - crypt.Write(hash) - scramble = crypt.Sum(nil) - - // token = scrambleHash XOR stage1Hash - for i := range scramble { - scramble[i] ^= stage1[i] - } - return scramble -} - -// Encrypt password using pre 4.1 (old password) method -// https://github.com/atcurtis/mariadb/blob/master/mysys/my_rnd.c -type myRnd struct { - seed1, seed2 uint32 -} - -const myRndMaxVal = 0x3FFFFFFF - -// Pseudo random number generator -func newMyRnd(seed1, seed2 uint32) *myRnd { - return &myRnd{ - seed1: seed1 % myRndMaxVal, - seed2: seed2 % myRndMaxVal, - } -} - -// Tested to be equivalent to MariaDB's floating point variant -// http://play.golang.org/p/QHvhd4qved -// http://play.golang.org/p/RG0q4ElWDx -func (r *myRnd) NextByte() byte { - r.seed1 = (r.seed1*3 + r.seed2) % myRndMaxVal - r.seed2 = (r.seed1 + r.seed2 + 33) % myRndMaxVal - - return byte(uint64(r.seed1) * 31 / myRndMaxVal) -} - -// Generate binary hash from byte string using insecure pre 4.1 method -func pwHash(password []byte) (result [2]uint32) { - var add uint32 = 7 - var tmp uint32 - - result[0] = 1345345333 - result[1] = 0x12345671 - - for _, c := range password { - // skip spaces and tabs in password - if c == ' ' || c == '\t' { - continue - } - - tmp = uint32(c) - result[0] ^= (((result[0] & 63) + add) * tmp) + (result[0] << 8) - result[1] += (result[1] << 8) ^ result[0] - add += tmp - } - - // Remove sign bit (1<<31)-1) - result[0] &= 0x7FFFFFFF - result[1] &= 0x7FFFFFFF - - return -} - -// Encrypt password using insecure pre 4.1 method -func scrambleOldPassword(scramble, password []byte) []byte { - if len(password) == 0 { - return nil - } - - scramble = scramble[:8] - - hashPw := pwHash(password) - hashSc := pwHash(scramble) - - r := newMyRnd(hashPw[0]^hashSc[0], hashPw[1]^hashSc[1]) - - var out [8]byte - for i := range out { - out[i] = r.NextByte() + 64 - } - - mask := r.NextByte() - for i := range out { - out[i] ^= mask - } - - return out[:] -} - /****************************************************************************** * Time related utils * ******************************************************************************/ @@ -519,7 +425,7 @@ func readLengthEncodedString(b []byte) ([]byte, bool, int, error) { // Check data length if len(b) >= n { - return b[n-int(num) : n], false, n, nil + return b[n-int(num) : n : n], false, n, nil } return nil, false, n, io.EOF } @@ -548,8 +454,8 @@ func readLengthEncodedInteger(b []byte) (uint64, bool, int) { if len(b) == 0 { return 0, true, 1 } - switch b[0] { + switch b[0] { // 251: NULL case 0xfb: return 0, true, 1 @@ -738,3 +644,67 @@ func escapeStringQuotes(buf []byte, v string) []byte { return buf[:pos] } + +/****************************************************************************** +* Sync utils * +******************************************************************************/ + +// noCopy may be embedded into structs which must not be copied +// after the first use. +// +// See https://github.com/golang/go/issues/8005#issuecomment-190753527 +// for details. +type noCopy struct{} + +// Lock is a no-op used by -copylocks checker from `go vet`. +func (*noCopy) Lock() {} + +// atomicBool is a wrapper around uint32 for usage as a boolean value with +// atomic access. +type atomicBool struct { + _noCopy noCopy + value uint32 +} + +// IsSet returns wether the current boolean value is true +func (ab *atomicBool) IsSet() bool { + return atomic.LoadUint32(&ab.value) > 0 +} + +// Set sets the value of the bool regardless of the previous value +func (ab *atomicBool) Set(value bool) { + if value { + atomic.StoreUint32(&ab.value, 1) + } else { + atomic.StoreUint32(&ab.value, 0) + } +} + +// TrySet sets the value of the bool and returns wether the value changed +func (ab *atomicBool) TrySet(value bool) bool { + if value { + return atomic.SwapUint32(&ab.value, 1) == 0 + } + return atomic.SwapUint32(&ab.value, 0) > 0 +} + +// atomicError is a wrapper for atomically accessed error values +type atomicError struct { + _noCopy noCopy + value atomic.Value +} + +// Set sets the error value regardless of the previous value. +// The value must not be nil +func (ae *atomicError) Set(value error) { + ae.value.Store(value) +} + +// Value returns the current error value +func (ae *atomicError) Value() error { + if v := ae.value.Load(); v != nil { + // this will panic if the value doesn't implement the error interface + return v.(error) + } + return nil +} diff --git a/vendor/github.com/go-sql-driver/mysql/utils_go17.go b/vendor/github.com/go-sql-driver/mysql/utils_go17.go new file mode 100644 index 00000000..f5956345 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/utils_go17.go @@ -0,0 +1,40 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2017 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// +build go1.7 +// +build !go1.8 + +package mysql + +import "crypto/tls" + +func cloneTLSConfig(c *tls.Config) *tls.Config { + return &tls.Config{ + Rand: c.Rand, + Time: c.Time, + Certificates: c.Certificates, + NameToCertificate: c.NameToCertificate, + GetCertificate: c.GetCertificate, + RootCAs: c.RootCAs, + NextProtos: c.NextProtos, + ServerName: c.ServerName, + ClientAuth: c.ClientAuth, + ClientCAs: c.ClientCAs, + InsecureSkipVerify: c.InsecureSkipVerify, + CipherSuites: c.CipherSuites, + PreferServerCipherSuites: c.PreferServerCipherSuites, + SessionTicketsDisabled: c.SessionTicketsDisabled, + SessionTicketKey: c.SessionTicketKey, + ClientSessionCache: c.ClientSessionCache, + MinVersion: c.MinVersion, + MaxVersion: c.MaxVersion, + CurvePreferences: c.CurvePreferences, + DynamicRecordSizingDisabled: c.DynamicRecordSizingDisabled, + Renegotiation: c.Renegotiation, + } +} diff --git a/vendor/github.com/go-sql-driver/mysql/utils_go18.go b/vendor/github.com/go-sql-driver/mysql/utils_go18.go new file mode 100644 index 00000000..c35c2a6a --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/utils_go18.go @@ -0,0 +1,50 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2017 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// +build go1.8 + +package mysql + +import ( + "crypto/tls" + "database/sql" + "database/sql/driver" + "errors" + "fmt" +) + +func cloneTLSConfig(c *tls.Config) *tls.Config { + return c.Clone() +} + +func namedValueToValue(named []driver.NamedValue) ([]driver.Value, error) { + dargs := make([]driver.Value, len(named)) + for n, param := range named { + if len(param.Name) > 0 { + // TODO: support the use of Named Parameters #561 + return nil, errors.New("mysql: driver does not support the use of Named Parameters") + } + dargs[n] = param.Value + } + return dargs, nil +} + +func mapIsolationLevel(level driver.IsolationLevel) (string, error) { + switch sql.IsolationLevel(level) { + case sql.LevelRepeatableRead: + return "REPEATABLE READ", nil + case sql.LevelReadCommitted: + return "READ COMMITTED", nil + case sql.LevelReadUncommitted: + return "READ UNCOMMITTED", nil + case sql.LevelSerializable: + return "SERIALIZABLE", nil + default: + return "", fmt.Errorf("mysql: unsupported isolation level: %v", level) + } +} diff --git a/vendor/github.com/jmoiron/sqlx/.travis.yml b/vendor/github.com/jmoiron/sqlx/.travis.yml new file mode 100644 index 00000000..6bc68d67 --- /dev/null +++ b/vendor/github.com/jmoiron/sqlx/.travis.yml @@ -0,0 +1,27 @@ +# vim: ft=yaml sw=2 ts=2 + +language: go + +# enable database services +services: + - mysql + - postgresql + +# create test database +before_install: + - mysql -e 'CREATE DATABASE IF NOT EXISTS sqlxtest;' + - psql -c 'create database sqlxtest;' -U postgres + - go get github.com/mattn/goveralls + - export SQLX_MYSQL_DSN="travis:@/sqlxtest?parseTime=true" + - export SQLX_POSTGRES_DSN="postgres://postgres:@localhost/sqlxtest?sslmode=disable" + - export SQLX_SQLITE_DSN="$HOME/sqlxtest.db" + +# go versions to test +go: + - "1.8" + - "1.9" + - "1.10.x" + +# run tests w/ coverage +script: + - travis_retry $GOPATH/bin/goveralls -service=travis-ci diff --git a/vendor/github.com/jmoiron/sqlx/README.md b/vendor/github.com/jmoiron/sqlx/README.md index d2d12589..c0db7f78 100644 --- a/vendor/github.com/jmoiron/sqlx/README.md +++ b/vendor/github.com/jmoiron/sqlx/README.md @@ -1,6 +1,6 @@ # sqlx -[![Build Status](https://drone.io/github.com/jmoiron/sqlx/status.png)](https://drone.io/github.com/jmoiron/sqlx/latest) [![Godoc](http://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/jmoiron/sqlx) [![license](http://img.shields.io/badge/license-MIT-red.svg?style=flat)](https://raw.githubusercontent.com/jmoiron/sqlx/master/LICENSE) +[![Build Status](https://travis-ci.org/jmoiron/sqlx.svg?branch=master)](https://travis-ci.org/jmoiron/sqlx) [![Coverage Status](https://coveralls.io/repos/github/jmoiron/sqlx/badge.svg?branch=master)](https://coveralls.io/github/jmoiron/sqlx?branch=master) [![Godoc](http://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/jmoiron/sqlx) [![license](http://img.shields.io/badge/license-MIT-red.svg?style=flat)](https://raw.githubusercontent.com/jmoiron/sqlx/master/LICENSE) sqlx is a library which provides a set of extensions on go's standard `database/sql` library. The sqlx versions of `sql.DB`, `sql.TX`, `sql.Stmt`, diff --git a/vendor/github.com/jmoiron/sqlx/bind.go b/vendor/github.com/jmoiron/sqlx/bind.go index b81e6fc6..0fdc4435 100644 --- a/vendor/github.com/jmoiron/sqlx/bind.go +++ b/vendor/github.com/jmoiron/sqlx/bind.go @@ -21,7 +21,7 @@ const ( // BindType returns the bindtype for a given database given a drivername. func BindType(driverName string) int { switch driverName { - case "postgres", "pgx", "pq-timeouts": + case "postgres", "pgx", "pq-timeouts", "cloudsqlpostgres": return DOLLAR case "mysql": return QUESTION @@ -113,7 +113,8 @@ func In(query string, args ...interface{}) (string, []interface{}, error) { v := reflect.ValueOf(arg) t := reflectx.Deref(v.Type()) - if t.Kind() == reflect.Slice { + // []byte is a driver.Value type so it should not be expanded + if t.Kind() == reflect.Slice && t != reflect.TypeOf([]byte{}) { meta[i].length = v.Len() meta[i].v = v diff --git a/vendor/github.com/jmoiron/sqlx/sqlx.go b/vendor/github.com/jmoiron/sqlx/sqlx.go index e95f23ff..4385c3fa 100644 --- a/vendor/github.com/jmoiron/sqlx/sqlx.go +++ b/vendor/github.com/jmoiron/sqlx/sqlx.go @@ -228,6 +228,14 @@ func (r *Row) Columns() ([]string, error) { return r.rows.Columns() } +// ColumnTypes returns the underlying sql.Rows.ColumnTypes(), or the deferred error +func (r *Row) ColumnTypes() ([]*sql.ColumnType, error) { + if r.err != nil { + return []*sql.ColumnType{}, r.err + } + return r.rows.ColumnTypes() +} + // Err returns the error encountered while scanning. func (r *Row) Err() error { return r.err @@ -593,7 +601,7 @@ func (r *Rows) StructScan(dest interface{}) error { return errors.New("must pass a pointer, not a value, to StructScan destination") } - v = reflect.Indirect(v) + v = v.Elem() if !r.started { columns, err := r.Columns() diff --git a/vendor/github.com/jmoiron/sqlx/sqlx_context.go b/vendor/github.com/jmoiron/sqlx/sqlx_context.go index 0b171451..d58ff337 100644 --- a/vendor/github.com/jmoiron/sqlx/sqlx_context.go +++ b/vendor/github.com/jmoiron/sqlx/sqlx_context.go @@ -237,6 +237,19 @@ func (tx *Tx) NamedStmtContext(ctx context.Context, stmt *NamedStmt) *NamedStmt } } +// PreparexContext returns an sqlx.Stmt instead of a sql.Stmt. +// +// The provided context is used for the preparation of the statement, not for +// the execution of the statement. +func (tx *Tx) PreparexContext(ctx context.Context, query string) (*Stmt, error) { + return PreparexContext(ctx, tx, query) +} + +// PrepareNamedContext returns an sqlx.NamedStmt +func (tx *Tx) PrepareNamedContext(ctx context.Context, query string) (*NamedStmt, error) { + return prepareNamedContext(ctx, tx, query) +} + // MustExecContext runs MustExecContext within a transaction. // Any placeholder parameters are replaced with supplied args. func (tx *Tx) MustExecContext(ctx context.Context, query string, args ...interface{}) sql.Result { diff --git a/vendor/github.com/lib/pq/.gitignore b/vendor/github.com/lib/pq/.gitignore new file mode 100644 index 00000000..0f1d00e1 --- /dev/null +++ b/vendor/github.com/lib/pq/.gitignore @@ -0,0 +1,4 @@ +.db +*.test +*~ +*.swp diff --git a/vendor/github.com/lib/pq/.travis.sh b/vendor/github.com/lib/pq/.travis.sh new file mode 100755 index 00000000..a297dc45 --- /dev/null +++ b/vendor/github.com/lib/pq/.travis.sh @@ -0,0 +1,86 @@ +#!/bin/bash + +set -eu + +client_configure() { + sudo chmod 600 $PQSSLCERTTEST_PATH/postgresql.key +} + +pgdg_repository() { + local sourcelist='sources.list.d/postgresql.list' + + curl -sS 'https://www.postgresql.org/media/keys/ACCC4CF8.asc' | sudo apt-key add - + echo deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PGVERSION | sudo tee "/etc/apt/$sourcelist" + sudo apt-get -o Dir::Etc::sourcelist="$sourcelist" -o Dir::Etc::sourceparts='-' -o APT::Get::List-Cleanup='0' update +} + +postgresql_configure() { + sudo tee /etc/postgresql/$PGVERSION/main/pg_hba.conf > /dev/null <<-config + local all all trust + hostnossl all pqgossltest 127.0.0.1/32 reject + hostnossl all pqgosslcert 127.0.0.1/32 reject + hostssl all pqgossltest 127.0.0.1/32 trust + hostssl all pqgosslcert 127.0.0.1/32 cert + host all all 127.0.0.1/32 trust + hostnossl all pqgossltest ::1/128 reject + hostnossl all pqgosslcert ::1/128 reject + hostssl all pqgossltest ::1/128 trust + hostssl all pqgosslcert ::1/128 cert + host all all ::1/128 trust + config + + xargs sudo install -o postgres -g postgres -m 600 -t /var/lib/postgresql/$PGVERSION/main/ <<-certificates + certs/root.crt + certs/server.crt + certs/server.key + certificates + + sort -VCu <<-versions || + $PGVERSION + 9.2 + versions + sudo tee -a /etc/postgresql/$PGVERSION/main/postgresql.conf > /dev/null <<-config + ssl_ca_file = 'root.crt' + ssl_cert_file = 'server.crt' + ssl_key_file = 'server.key' + config + + echo 127.0.0.1 postgres | sudo tee -a /etc/hosts > /dev/null + + sudo service postgresql restart +} + +postgresql_install() { + xargs sudo apt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confnew' install <<-packages + postgresql-$PGVERSION + postgresql-server-dev-$PGVERSION + postgresql-contrib-$PGVERSION + packages +} + +postgresql_uninstall() { + sudo service postgresql stop + xargs sudo apt-get -y --purge remove <<-packages + libpq-dev + libpq5 + postgresql + postgresql-client-common + postgresql-common + packages + sudo rm -rf /var/lib/postgresql +} + +megacheck_install() { + # Lock megacheck version at $MEGACHECK_VERSION to prevent spontaneous + # new error messages in old code. + go get -d honnef.co/go/tools/... + git -C $GOPATH/src/honnef.co/go/tools/ checkout $MEGACHECK_VERSION + go install honnef.co/go/tools/cmd/megacheck + megacheck --version +} + +golint_install() { + go get github.com/golang/lint/golint +} + +$1 diff --git a/vendor/github.com/lib/pq/.travis.yml b/vendor/github.com/lib/pq/.travis.yml new file mode 100644 index 00000000..18556e08 --- /dev/null +++ b/vendor/github.com/lib/pq/.travis.yml @@ -0,0 +1,50 @@ +language: go + +go: + - 1.8.x + - 1.9.x + - 1.10.x + - master + +sudo: true + +env: + global: + - PGUSER=postgres + - PQGOSSLTESTS=1 + - PQSSLCERTTEST_PATH=$PWD/certs + - PGHOST=127.0.0.1 + - MEGACHECK_VERSION=2017.2.2 + matrix: + - PGVERSION=10 + - PGVERSION=9.6 + - PGVERSION=9.5 + - PGVERSION=9.4 + - PGVERSION=9.3 + - PGVERSION=9.2 + - PGVERSION=9.1 + - PGVERSION=9.0 + +before_install: + - ./.travis.sh postgresql_uninstall + - ./.travis.sh pgdg_repository + - ./.travis.sh postgresql_install + - ./.travis.sh postgresql_configure + - ./.travis.sh client_configure + - ./.travis.sh megacheck_install + - ./.travis.sh golint_install + - go get golang.org/x/tools/cmd/goimports + +before_script: + - createdb pqgotest + - createuser -DRS pqgossltest + - createuser -DRS pqgosslcert + +script: + - > + goimports -d -e $(find -name '*.go') | awk '{ print } END { exit NR == 0 ? 0 : 1 }' + - go vet ./... + - megacheck -go 1.8 ./... + - golint ./... + - PQTEST_BINARY_PARAMETERS=no go test -race -v ./... + - PQTEST_BINARY_PARAMETERS=yes go test -race -v ./... diff --git a/vendor/github.com/lib/pq/CONTRIBUTING.md b/vendor/github.com/lib/pq/CONTRIBUTING.md new file mode 100644 index 00000000..84c937f1 --- /dev/null +++ b/vendor/github.com/lib/pq/CONTRIBUTING.md @@ -0,0 +1,29 @@ +## Contributing to pq + +`pq` has a backlog of pull requests, but contributions are still very +much welcome. You can help with patch review, submitting bug reports, +or adding new functionality. There is no formal style guide, but +please conform to the style of existing code and general Go formatting +conventions when submitting patches. + +### Patch review + +Help review existing open pull requests by commenting on the code or +proposed functionality. + +### Bug reports + +We appreciate any bug reports, but especially ones with self-contained +(doesn't depend on code outside of pq), minimal (can't be simplified +further) test cases. It's especially helpful if you can submit a pull +request with just the failing test case (you'll probably want to +pattern it after the tests in +[conn_test.go](https://github.com/lib/pq/blob/master/conn_test.go). + +### New functionality + +There are a number of pending patches for new functionality, so +additional feature patches will take a while to merge. Still, patches +are generally reviewed based on usefulness and complexity in addition +to time-in-queue, so if you have a knockout idea, take a shot. Feel +free to open an issue discussion your proposed patch beforehand. diff --git a/vendor/github.com/lib/pq/LICENSE.md b/vendor/github.com/lib/pq/LICENSE.md new file mode 100644 index 00000000..5773904a --- /dev/null +++ b/vendor/github.com/lib/pq/LICENSE.md @@ -0,0 +1,8 @@ +Copyright (c) 2011-2013, 'pq' Contributors +Portions Copyright (C) 2011 Blake Mizerany + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/lib/pq/README.md b/vendor/github.com/lib/pq/README.md new file mode 100644 index 00000000..d71f3c2c --- /dev/null +++ b/vendor/github.com/lib/pq/README.md @@ -0,0 +1,95 @@ +# pq - A pure Go postgres driver for Go's database/sql package + +[![GoDoc](https://godoc.org/github.com/lib/pq?status.svg)](https://godoc.org/github.com/lib/pq) +[![Build Status](https://travis-ci.org/lib/pq.svg?branch=master)](https://travis-ci.org/lib/pq) + +## Install + + go get github.com/lib/pq + +## Docs + +For detailed documentation and basic usage examples, please see the package +documentation at . + +## Tests + +`go test` is used for testing. See [TESTS.md](TESTS.md) for more details. + +## Features + +* SSL +* Handles bad connections for `database/sql` +* Scan `time.Time` correctly (i.e. `timestamp[tz]`, `time[tz]`, `date`) +* Scan binary blobs correctly (i.e. `bytea`) +* Package for `hstore` support +* COPY FROM support +* pq.ParseURL for converting urls to connection strings for sql.Open. +* Many libpq compatible environment variables +* Unix socket support +* Notifications: `LISTEN`/`NOTIFY` +* pgpass support + +## Future / Things you can help with + +* Better COPY FROM / COPY TO (see discussion in #181) + +## Thank you (alphabetical) + +Some of these contributors are from the original library `bmizerany/pq.go` whose +code still exists in here. + +* Andy Balholm (andybalholm) +* Ben Berkert (benburkert) +* Benjamin Heatwole (bheatwole) +* Bill Mill (llimllib) +* Bjørn Madsen (aeons) +* Blake Gentry (bgentry) +* Brad Fitzpatrick (bradfitz) +* Charlie Melbye (cmelbye) +* Chris Bandy (cbandy) +* Chris Gilling (cgilling) +* Chris Walsh (cwds) +* Dan Sosedoff (sosedoff) +* Daniel Farina (fdr) +* Eric Chlebek (echlebek) +* Eric Garrido (minusnine) +* Eric Urban (hydrogen18) +* Everyone at The Go Team +* Evan Shaw (edsrzf) +* Ewan Chou (coocood) +* Fazal Majid (fazalmajid) +* Federico Romero (federomero) +* Fumin (fumin) +* Gary Burd (garyburd) +* Heroku (heroku) +* James Pozdena (jpoz) +* Jason McVetta (jmcvetta) +* Jeremy Jay (pbnjay) +* Joakim Sernbrant (serbaut) +* John Gallagher (jgallagher) +* Jonathan Rudenberg (titanous) +* Joël Stemmer (jstemmer) +* Kamil Kisiel (kisielk) +* Kelly Dunn (kellydunn) +* Keith Rarick (kr) +* Kir Shatrov (kirs) +* Lann Martin (lann) +* Maciek Sakrejda (uhoh-itsmaciek) +* Marc Brinkmann (mbr) +* Marko Tiikkaja (johto) +* Matt Newberry (MattNewberry) +* Matt Robenolt (mattrobenolt) +* Martin Olsen (martinolsen) +* Mike Lewis (mikelikespie) +* Nicolas Patry (Narsil) +* Oliver Tonnhofer (olt) +* Patrick Hayes (phayes) +* Paul Hammond (paulhammond) +* Ryan Smith (ryandotsmith) +* Samuel Stauffer (samuel) +* Timothée Peignier (cyberdelia) +* Travis Cline (tmc) +* TruongSinh Tran-Nguyen (truongsinh) +* Yaismel Miranda (ympons) +* notedit (notedit) diff --git a/vendor/github.com/lib/pq/TESTS.md b/vendor/github.com/lib/pq/TESTS.md new file mode 100644 index 00000000..f0502111 --- /dev/null +++ b/vendor/github.com/lib/pq/TESTS.md @@ -0,0 +1,33 @@ +# Tests + +## Running Tests + +`go test` is used for testing. A running PostgreSQL +server is required, with the ability to log in. The +database to connect to test with is "pqgotest," on +"localhost" but these can be overridden using [environment +variables](https://www.postgresql.org/docs/9.3/static/libpq-envars.html). + +Example: + + PGHOST=/run/postgresql go test + +## Benchmarks + +A benchmark suite can be run as part of the tests: + + go test -bench . + +## Example setup (Docker) + +Run a postgres container: + +``` +docker run --expose 5432:5432 postgres +``` + +Run tests: + +``` +PGHOST=localhost PGPORT=5432 PGUSER=postgres PGSSLMODE=disable PGDATABASE=postgres go test +``` diff --git a/vendor/github.com/lib/pq/array.go b/vendor/github.com/lib/pq/array.go new file mode 100644 index 00000000..e4933e22 --- /dev/null +++ b/vendor/github.com/lib/pq/array.go @@ -0,0 +1,756 @@ +package pq + +import ( + "bytes" + "database/sql" + "database/sql/driver" + "encoding/hex" + "fmt" + "reflect" + "strconv" + "strings" +) + +var typeByteSlice = reflect.TypeOf([]byte{}) +var typeDriverValuer = reflect.TypeOf((*driver.Valuer)(nil)).Elem() +var typeSQLScanner = reflect.TypeOf((*sql.Scanner)(nil)).Elem() + +// Array returns the optimal driver.Valuer and sql.Scanner for an array or +// slice of any dimension. +// +// For example: +// db.Query(`SELECT * FROM t WHERE id = ANY($1)`, pq.Array([]int{235, 401})) +// +// var x []sql.NullInt64 +// db.QueryRow('SELECT ARRAY[235, 401]').Scan(pq.Array(&x)) +// +// Scanning multi-dimensional arrays is not supported. Arrays where the lower +// bound is not one (such as `[0:0]={1}') are not supported. +func Array(a interface{}) interface { + driver.Valuer + sql.Scanner +} { + switch a := a.(type) { + case []bool: + return (*BoolArray)(&a) + case []float64: + return (*Float64Array)(&a) + case []int64: + return (*Int64Array)(&a) + case []string: + return (*StringArray)(&a) + + case *[]bool: + return (*BoolArray)(a) + case *[]float64: + return (*Float64Array)(a) + case *[]int64: + return (*Int64Array)(a) + case *[]string: + return (*StringArray)(a) + } + + return GenericArray{a} +} + +// ArrayDelimiter may be optionally implemented by driver.Valuer or sql.Scanner +// to override the array delimiter used by GenericArray. +type ArrayDelimiter interface { + // ArrayDelimiter returns the delimiter character(s) for this element's type. + ArrayDelimiter() string +} + +// BoolArray represents a one-dimensional array of the PostgreSQL boolean type. +type BoolArray []bool + +// Scan implements the sql.Scanner interface. +func (a *BoolArray) Scan(src interface{}) error { + switch src := src.(type) { + case []byte: + return a.scanBytes(src) + case string: + return a.scanBytes([]byte(src)) + case nil: + *a = nil + return nil + } + + return fmt.Errorf("pq: cannot convert %T to BoolArray", src) +} + +func (a *BoolArray) scanBytes(src []byte) error { + elems, err := scanLinearArray(src, []byte{','}, "BoolArray") + if err != nil { + return err + } + if *a != nil && len(elems) == 0 { + *a = (*a)[:0] + } else { + b := make(BoolArray, len(elems)) + for i, v := range elems { + if len(v) != 1 { + return fmt.Errorf("pq: could not parse boolean array index %d: invalid boolean %q", i, v) + } + switch v[0] { + case 't': + b[i] = true + case 'f': + b[i] = false + default: + return fmt.Errorf("pq: could not parse boolean array index %d: invalid boolean %q", i, v) + } + } + *a = b + } + return nil +} + +// Value implements the driver.Valuer interface. +func (a BoolArray) Value() (driver.Value, error) { + if a == nil { + return nil, nil + } + + if n := len(a); n > 0 { + // There will be exactly two curly brackets, N bytes of values, + // and N-1 bytes of delimiters. + b := make([]byte, 1+2*n) + + for i := 0; i < n; i++ { + b[2*i] = ',' + if a[i] { + b[1+2*i] = 't' + } else { + b[1+2*i] = 'f' + } + } + + b[0] = '{' + b[2*n] = '}' + + return string(b), nil + } + + return "{}", nil +} + +// ByteaArray represents a one-dimensional array of the PostgreSQL bytea type. +type ByteaArray [][]byte + +// Scan implements the sql.Scanner interface. +func (a *ByteaArray) Scan(src interface{}) error { + switch src := src.(type) { + case []byte: + return a.scanBytes(src) + case string: + return a.scanBytes([]byte(src)) + case nil: + *a = nil + return nil + } + + return fmt.Errorf("pq: cannot convert %T to ByteaArray", src) +} + +func (a *ByteaArray) scanBytes(src []byte) error { + elems, err := scanLinearArray(src, []byte{','}, "ByteaArray") + if err != nil { + return err + } + if *a != nil && len(elems) == 0 { + *a = (*a)[:0] + } else { + b := make(ByteaArray, len(elems)) + for i, v := range elems { + b[i], err = parseBytea(v) + if err != nil { + return fmt.Errorf("could not parse bytea array index %d: %s", i, err.Error()) + } + } + *a = b + } + return nil +} + +// Value implements the driver.Valuer interface. It uses the "hex" format which +// is only supported on PostgreSQL 9.0 or newer. +func (a ByteaArray) Value() (driver.Value, error) { + if a == nil { + return nil, nil + } + + if n := len(a); n > 0 { + // There will be at least two curly brackets, 2*N bytes of quotes, + // 3*N bytes of hex formatting, and N-1 bytes of delimiters. + size := 1 + 6*n + for _, x := range a { + size += hex.EncodedLen(len(x)) + } + + b := make([]byte, size) + + for i, s := 0, b; i < n; i++ { + o := copy(s, `,"\\x`) + o += hex.Encode(s[o:], a[i]) + s[o] = '"' + s = s[o+1:] + } + + b[0] = '{' + b[size-1] = '}' + + return string(b), nil + } + + return "{}", nil +} + +// Float64Array represents a one-dimensional array of the PostgreSQL double +// precision type. +type Float64Array []float64 + +// Scan implements the sql.Scanner interface. +func (a *Float64Array) Scan(src interface{}) error { + switch src := src.(type) { + case []byte: + return a.scanBytes(src) + case string: + return a.scanBytes([]byte(src)) + case nil: + *a = nil + return nil + } + + return fmt.Errorf("pq: cannot convert %T to Float64Array", src) +} + +func (a *Float64Array) scanBytes(src []byte) error { + elems, err := scanLinearArray(src, []byte{','}, "Float64Array") + if err != nil { + return err + } + if *a != nil && len(elems) == 0 { + *a = (*a)[:0] + } else { + b := make(Float64Array, len(elems)) + for i, v := range elems { + if b[i], err = strconv.ParseFloat(string(v), 64); err != nil { + return fmt.Errorf("pq: parsing array element index %d: %v", i, err) + } + } + *a = b + } + return nil +} + +// Value implements the driver.Valuer interface. +func (a Float64Array) Value() (driver.Value, error) { + if a == nil { + return nil, nil + } + + if n := len(a); n > 0 { + // There will be at least two curly brackets, N bytes of values, + // and N-1 bytes of delimiters. + b := make([]byte, 1, 1+2*n) + b[0] = '{' + + b = strconv.AppendFloat(b, a[0], 'f', -1, 64) + for i := 1; i < n; i++ { + b = append(b, ',') + b = strconv.AppendFloat(b, a[i], 'f', -1, 64) + } + + return string(append(b, '}')), nil + } + + return "{}", nil +} + +// GenericArray implements the driver.Valuer and sql.Scanner interfaces for +// an array or slice of any dimension. +type GenericArray struct{ A interface{} } + +func (GenericArray) evaluateDestination(rt reflect.Type) (reflect.Type, func([]byte, reflect.Value) error, string) { + var assign func([]byte, reflect.Value) error + var del = "," + + // TODO calculate the assign function for other types + // TODO repeat this section on the element type of arrays or slices (multidimensional) + { + if reflect.PtrTo(rt).Implements(typeSQLScanner) { + // dest is always addressable because it is an element of a slice. + assign = func(src []byte, dest reflect.Value) (err error) { + ss := dest.Addr().Interface().(sql.Scanner) + if src == nil { + err = ss.Scan(nil) + } else { + err = ss.Scan(src) + } + return + } + goto FoundType + } + + assign = func([]byte, reflect.Value) error { + return fmt.Errorf("pq: scanning to %s is not implemented; only sql.Scanner", rt) + } + } + +FoundType: + + if ad, ok := reflect.Zero(rt).Interface().(ArrayDelimiter); ok { + del = ad.ArrayDelimiter() + } + + return rt, assign, del +} + +// Scan implements the sql.Scanner interface. +func (a GenericArray) Scan(src interface{}) error { + dpv := reflect.ValueOf(a.A) + switch { + case dpv.Kind() != reflect.Ptr: + return fmt.Errorf("pq: destination %T is not a pointer to array or slice", a.A) + case dpv.IsNil(): + return fmt.Errorf("pq: destination %T is nil", a.A) + } + + dv := dpv.Elem() + switch dv.Kind() { + case reflect.Slice: + case reflect.Array: + default: + return fmt.Errorf("pq: destination %T is not a pointer to array or slice", a.A) + } + + switch src := src.(type) { + case []byte: + return a.scanBytes(src, dv) + case string: + return a.scanBytes([]byte(src), dv) + case nil: + if dv.Kind() == reflect.Slice { + dv.Set(reflect.Zero(dv.Type())) + return nil + } + } + + return fmt.Errorf("pq: cannot convert %T to %s", src, dv.Type()) +} + +func (a GenericArray) scanBytes(src []byte, dv reflect.Value) error { + dtype, assign, del := a.evaluateDestination(dv.Type().Elem()) + dims, elems, err := parseArray(src, []byte(del)) + if err != nil { + return err + } + + // TODO allow multidimensional + + if len(dims) > 1 { + return fmt.Errorf("pq: scanning from multidimensional ARRAY%s is not implemented", + strings.Replace(fmt.Sprint(dims), " ", "][", -1)) + } + + // Treat a zero-dimensional array like an array with a single dimension of zero. + if len(dims) == 0 { + dims = append(dims, 0) + } + + for i, rt := 0, dv.Type(); i < len(dims); i, rt = i+1, rt.Elem() { + switch rt.Kind() { + case reflect.Slice: + case reflect.Array: + if rt.Len() != dims[i] { + return fmt.Errorf("pq: cannot convert ARRAY%s to %s", + strings.Replace(fmt.Sprint(dims), " ", "][", -1), dv.Type()) + } + default: + // TODO handle multidimensional + } + } + + values := reflect.MakeSlice(reflect.SliceOf(dtype), len(elems), len(elems)) + for i, e := range elems { + if err := assign(e, values.Index(i)); err != nil { + return fmt.Errorf("pq: parsing array element index %d: %v", i, err) + } + } + + // TODO handle multidimensional + + switch dv.Kind() { + case reflect.Slice: + dv.Set(values.Slice(0, dims[0])) + case reflect.Array: + for i := 0; i < dims[0]; i++ { + dv.Index(i).Set(values.Index(i)) + } + } + + return nil +} + +// Value implements the driver.Valuer interface. +func (a GenericArray) Value() (driver.Value, error) { + if a.A == nil { + return nil, nil + } + + rv := reflect.ValueOf(a.A) + + switch rv.Kind() { + case reflect.Slice: + if rv.IsNil() { + return nil, nil + } + case reflect.Array: + default: + return nil, fmt.Errorf("pq: Unable to convert %T to array", a.A) + } + + if n := rv.Len(); n > 0 { + // There will be at least two curly brackets, N bytes of values, + // and N-1 bytes of delimiters. + b := make([]byte, 0, 1+2*n) + + b, _, err := appendArray(b, rv, n) + return string(b), err + } + + return "{}", nil +} + +// Int64Array represents a one-dimensional array of the PostgreSQL integer types. +type Int64Array []int64 + +// Scan implements the sql.Scanner interface. +func (a *Int64Array) Scan(src interface{}) error { + switch src := src.(type) { + case []byte: + return a.scanBytes(src) + case string: + return a.scanBytes([]byte(src)) + case nil: + *a = nil + return nil + } + + return fmt.Errorf("pq: cannot convert %T to Int64Array", src) +} + +func (a *Int64Array) scanBytes(src []byte) error { + elems, err := scanLinearArray(src, []byte{','}, "Int64Array") + if err != nil { + return err + } + if *a != nil && len(elems) == 0 { + *a = (*a)[:0] + } else { + b := make(Int64Array, len(elems)) + for i, v := range elems { + if b[i], err = strconv.ParseInt(string(v), 10, 64); err != nil { + return fmt.Errorf("pq: parsing array element index %d: %v", i, err) + } + } + *a = b + } + return nil +} + +// Value implements the driver.Valuer interface. +func (a Int64Array) Value() (driver.Value, error) { + if a == nil { + return nil, nil + } + + if n := len(a); n > 0 { + // There will be at least two curly brackets, N bytes of values, + // and N-1 bytes of delimiters. + b := make([]byte, 1, 1+2*n) + b[0] = '{' + + b = strconv.AppendInt(b, a[0], 10) + for i := 1; i < n; i++ { + b = append(b, ',') + b = strconv.AppendInt(b, a[i], 10) + } + + return string(append(b, '}')), nil + } + + return "{}", nil +} + +// StringArray represents a one-dimensional array of the PostgreSQL character types. +type StringArray []string + +// Scan implements the sql.Scanner interface. +func (a *StringArray) Scan(src interface{}) error { + switch src := src.(type) { + case []byte: + return a.scanBytes(src) + case string: + return a.scanBytes([]byte(src)) + case nil: + *a = nil + return nil + } + + return fmt.Errorf("pq: cannot convert %T to StringArray", src) +} + +func (a *StringArray) scanBytes(src []byte) error { + elems, err := scanLinearArray(src, []byte{','}, "StringArray") + if err != nil { + return err + } + if *a != nil && len(elems) == 0 { + *a = (*a)[:0] + } else { + b := make(StringArray, len(elems)) + for i, v := range elems { + if b[i] = string(v); v == nil { + return fmt.Errorf("pq: parsing array element index %d: cannot convert nil to string", i) + } + } + *a = b + } + return nil +} + +// Value implements the driver.Valuer interface. +func (a StringArray) Value() (driver.Value, error) { + if a == nil { + return nil, nil + } + + if n := len(a); n > 0 { + // There will be at least two curly brackets, 2*N bytes of quotes, + // and N-1 bytes of delimiters. + b := make([]byte, 1, 1+3*n) + b[0] = '{' + + b = appendArrayQuotedBytes(b, []byte(a[0])) + for i := 1; i < n; i++ { + b = append(b, ',') + b = appendArrayQuotedBytes(b, []byte(a[i])) + } + + return string(append(b, '}')), nil + } + + return "{}", nil +} + +// appendArray appends rv to the buffer, returning the extended buffer and +// the delimiter used between elements. +// +// It panics when n <= 0 or rv's Kind is not reflect.Array nor reflect.Slice. +func appendArray(b []byte, rv reflect.Value, n int) ([]byte, string, error) { + var del string + var err error + + b = append(b, '{') + + if b, del, err = appendArrayElement(b, rv.Index(0)); err != nil { + return b, del, err + } + + for i := 1; i < n; i++ { + b = append(b, del...) + if b, del, err = appendArrayElement(b, rv.Index(i)); err != nil { + return b, del, err + } + } + + return append(b, '}'), del, nil +} + +// appendArrayElement appends rv to the buffer, returning the extended buffer +// and the delimiter to use before the next element. +// +// When rv's Kind is neither reflect.Array nor reflect.Slice, it is converted +// using driver.DefaultParameterConverter and the resulting []byte or string +// is double-quoted. +// +// See http://www.postgresql.org/docs/current/static/arrays.html#ARRAYS-IO +func appendArrayElement(b []byte, rv reflect.Value) ([]byte, string, error) { + if k := rv.Kind(); k == reflect.Array || k == reflect.Slice { + if t := rv.Type(); t != typeByteSlice && !t.Implements(typeDriverValuer) { + if n := rv.Len(); n > 0 { + return appendArray(b, rv, n) + } + + return b, "", nil + } + } + + var del = "," + var err error + var iv interface{} = rv.Interface() + + if ad, ok := iv.(ArrayDelimiter); ok { + del = ad.ArrayDelimiter() + } + + if iv, err = driver.DefaultParameterConverter.ConvertValue(iv); err != nil { + return b, del, err + } + + switch v := iv.(type) { + case nil: + return append(b, "NULL"...), del, nil + case []byte: + return appendArrayQuotedBytes(b, v), del, nil + case string: + return appendArrayQuotedBytes(b, []byte(v)), del, nil + } + + b, err = appendValue(b, iv) + return b, del, err +} + +func appendArrayQuotedBytes(b, v []byte) []byte { + b = append(b, '"') + for { + i := bytes.IndexAny(v, `"\`) + if i < 0 { + b = append(b, v...) + break + } + if i > 0 { + b = append(b, v[:i]...) + } + b = append(b, '\\', v[i]) + v = v[i+1:] + } + return append(b, '"') +} + +func appendValue(b []byte, v driver.Value) ([]byte, error) { + return append(b, encode(nil, v, 0)...), nil +} + +// parseArray extracts the dimensions and elements of an array represented in +// text format. Only representations emitted by the backend are supported. +// Notably, whitespace around brackets and delimiters is significant, and NULL +// is case-sensitive. +// +// See http://www.postgresql.org/docs/current/static/arrays.html#ARRAYS-IO +func parseArray(src, del []byte) (dims []int, elems [][]byte, err error) { + var depth, i int + + if len(src) < 1 || src[0] != '{' { + return nil, nil, fmt.Errorf("pq: unable to parse array; expected %q at offset %d", '{', 0) + } + +Open: + for i < len(src) { + switch src[i] { + case '{': + depth++ + i++ + case '}': + elems = make([][]byte, 0) + goto Close + default: + break Open + } + } + dims = make([]int, i) + +Element: + for i < len(src) { + switch src[i] { + case '{': + if depth == len(dims) { + break Element + } + depth++ + dims[depth-1] = 0 + i++ + case '"': + var elem = []byte{} + var escape bool + for i++; i < len(src); i++ { + if escape { + elem = append(elem, src[i]) + escape = false + } else { + switch src[i] { + default: + elem = append(elem, src[i]) + case '\\': + escape = true + case '"': + elems = append(elems, elem) + i++ + break Element + } + } + } + default: + for start := i; i < len(src); i++ { + if bytes.HasPrefix(src[i:], del) || src[i] == '}' { + elem := src[start:i] + if len(elem) == 0 { + return nil, nil, fmt.Errorf("pq: unable to parse array; unexpected %q at offset %d", src[i], i) + } + if bytes.Equal(elem, []byte("NULL")) { + elem = nil + } + elems = append(elems, elem) + break Element + } + } + } + } + + for i < len(src) { + if bytes.HasPrefix(src[i:], del) && depth > 0 { + dims[depth-1]++ + i += len(del) + goto Element + } else if src[i] == '}' && depth > 0 { + dims[depth-1]++ + depth-- + i++ + } else { + return nil, nil, fmt.Errorf("pq: unable to parse array; unexpected %q at offset %d", src[i], i) + } + } + +Close: + for i < len(src) { + if src[i] == '}' && depth > 0 { + depth-- + i++ + } else { + return nil, nil, fmt.Errorf("pq: unable to parse array; unexpected %q at offset %d", src[i], i) + } + } + if depth > 0 { + err = fmt.Errorf("pq: unable to parse array; expected %q at offset %d", '}', i) + } + if err == nil { + for _, d := range dims { + if (len(elems) % d) != 0 { + err = fmt.Errorf("pq: multidimensional arrays must have elements with matching dimensions") + } + } + } + return +} + +func scanLinearArray(src, del []byte, typ string) (elems [][]byte, err error) { + dims, elems, err := parseArray(src, del) + if err != nil { + return nil, err + } + if len(dims) > 1 { + return nil, fmt.Errorf("pq: cannot convert ARRAY%s to %s", strings.Replace(fmt.Sprint(dims), " ", "][", -1), typ) + } + return elems, err +} diff --git a/vendor/github.com/lib/pq/buf.go b/vendor/github.com/lib/pq/buf.go new file mode 100644 index 00000000..666b0012 --- /dev/null +++ b/vendor/github.com/lib/pq/buf.go @@ -0,0 +1,91 @@ +package pq + +import ( + "bytes" + "encoding/binary" + + "github.com/lib/pq/oid" +) + +type readBuf []byte + +func (b *readBuf) int32() (n int) { + n = int(int32(binary.BigEndian.Uint32(*b))) + *b = (*b)[4:] + return +} + +func (b *readBuf) oid() (n oid.Oid) { + n = oid.Oid(binary.BigEndian.Uint32(*b)) + *b = (*b)[4:] + return +} + +// N.B: this is actually an unsigned 16-bit integer, unlike int32 +func (b *readBuf) int16() (n int) { + n = int(binary.BigEndian.Uint16(*b)) + *b = (*b)[2:] + return +} + +func (b *readBuf) string() string { + i := bytes.IndexByte(*b, 0) + if i < 0 { + errorf("invalid message format; expected string terminator") + } + s := (*b)[:i] + *b = (*b)[i+1:] + return string(s) +} + +func (b *readBuf) next(n int) (v []byte) { + v = (*b)[:n] + *b = (*b)[n:] + return +} + +func (b *readBuf) byte() byte { + return b.next(1)[0] +} + +type writeBuf struct { + buf []byte + pos int +} + +func (b *writeBuf) int32(n int) { + x := make([]byte, 4) + binary.BigEndian.PutUint32(x, uint32(n)) + b.buf = append(b.buf, x...) +} + +func (b *writeBuf) int16(n int) { + x := make([]byte, 2) + binary.BigEndian.PutUint16(x, uint16(n)) + b.buf = append(b.buf, x...) +} + +func (b *writeBuf) string(s string) { + b.buf = append(b.buf, (s + "\000")...) +} + +func (b *writeBuf) byte(c byte) { + b.buf = append(b.buf, c) +} + +func (b *writeBuf) bytes(v []byte) { + b.buf = append(b.buf, v...) +} + +func (b *writeBuf) wrap() []byte { + p := b.buf[b.pos:] + binary.BigEndian.PutUint32(p, uint32(len(p))) + return b.buf +} + +func (b *writeBuf) next(c byte) { + p := b.buf[b.pos:] + binary.BigEndian.PutUint32(p, uint32(len(p))) + b.pos = len(b.buf) + 1 + b.buf = append(b.buf, c, 0, 0, 0, 0) +} diff --git a/vendor/github.com/lib/pq/conn.go b/vendor/github.com/lib/pq/conn.go new file mode 100644 index 00000000..43c8df29 --- /dev/null +++ b/vendor/github.com/lib/pq/conn.go @@ -0,0 +1,1854 @@ +package pq + +import ( + "bufio" + "crypto/md5" + "database/sql" + "database/sql/driver" + "encoding/binary" + "errors" + "fmt" + "io" + "net" + "os" + "os/user" + "path" + "path/filepath" + "strconv" + "strings" + "time" + "unicode" + + "github.com/lib/pq/oid" +) + +// Common error types +var ( + ErrNotSupported = errors.New("pq: Unsupported command") + ErrInFailedTransaction = errors.New("pq: Could not complete operation in a failed transaction") + ErrSSLNotSupported = errors.New("pq: SSL is not enabled on the server") + ErrSSLKeyHasWorldPermissions = errors.New("pq: Private key file has group or world access. Permissions should be u=rw (0600) or less") + ErrCouldNotDetectUsername = errors.New("pq: Could not detect default username. Please provide one explicitly") + + errUnexpectedReady = errors.New("unexpected ReadyForQuery") + errNoRowsAffected = errors.New("no RowsAffected available after the empty statement") + errNoLastInsertID = errors.New("no LastInsertId available after the empty statement") +) + +// Driver is the Postgres database driver. +type Driver struct{} + +// Open opens a new connection to the database. name is a connection string. +// Most users should only use it through database/sql package from the standard +// library. +func (d *Driver) Open(name string) (driver.Conn, error) { + return Open(name) +} + +func init() { + sql.Register("postgres", &Driver{}) +} + +type parameterStatus struct { + // server version in the same format as server_version_num, or 0 if + // unavailable + serverVersion int + + // the current location based on the TimeZone value of the session, if + // available + currentLocation *time.Location +} + +type transactionStatus byte + +const ( + txnStatusIdle transactionStatus = 'I' + txnStatusIdleInTransaction transactionStatus = 'T' + txnStatusInFailedTransaction transactionStatus = 'E' +) + +func (s transactionStatus) String() string { + switch s { + case txnStatusIdle: + return "idle" + case txnStatusIdleInTransaction: + return "idle in transaction" + case txnStatusInFailedTransaction: + return "in a failed transaction" + default: + errorf("unknown transactionStatus %d", s) + } + + panic("not reached") +} + +// Dialer is the dialer interface. It can be used to obtain more control over +// how pq creates network connections. +type Dialer interface { + Dial(network, address string) (net.Conn, error) + DialTimeout(network, address string, timeout time.Duration) (net.Conn, error) +} + +type defaultDialer struct{} + +func (d defaultDialer) Dial(ntw, addr string) (net.Conn, error) { + return net.Dial(ntw, addr) +} +func (d defaultDialer) DialTimeout(ntw, addr string, timeout time.Duration) (net.Conn, error) { + return net.DialTimeout(ntw, addr, timeout) +} + +type conn struct { + c net.Conn + buf *bufio.Reader + namei int + scratch [512]byte + txnStatus transactionStatus + txnFinish func() + + // Save connection arguments to use during CancelRequest. + dialer Dialer + opts values + + // Cancellation key data for use with CancelRequest messages. + processID int + secretKey int + + parameterStatus parameterStatus + + saveMessageType byte + saveMessageBuffer []byte + + // If true, this connection is bad and all public-facing functions should + // return ErrBadConn. + bad bool + + // If set, this connection should never use the binary format when + // receiving query results from prepared statements. Only provided for + // debugging. + disablePreparedBinaryResult bool + + // Whether to always send []byte parameters over as binary. Enables single + // round-trip mode for non-prepared Query calls. + binaryParameters bool + + // If true this connection is in the middle of a COPY + inCopy bool +} + +// Handle driver-side settings in parsed connection string. +func (cn *conn) handleDriverSettings(o values) (err error) { + boolSetting := func(key string, val *bool) error { + if value, ok := o[key]; ok { + if value == "yes" { + *val = true + } else if value == "no" { + *val = false + } else { + return fmt.Errorf("unrecognized value %q for %s", value, key) + } + } + return nil + } + + err = boolSetting("disable_prepared_binary_result", &cn.disablePreparedBinaryResult) + if err != nil { + return err + } + return boolSetting("binary_parameters", &cn.binaryParameters) +} + +func (cn *conn) handlePgpass(o values) { + // if a password was supplied, do not process .pgpass + if _, ok := o["password"]; ok { + return + } + filename := os.Getenv("PGPASSFILE") + if filename == "" { + // XXX this code doesn't work on Windows where the default filename is + // XXX %APPDATA%\postgresql\pgpass.conf + // Prefer $HOME over user.Current due to glibc bug: golang.org/issue/13470 + userHome := os.Getenv("HOME") + if userHome == "" { + user, err := user.Current() + if err != nil { + return + } + userHome = user.HomeDir + } + filename = filepath.Join(userHome, ".pgpass") + } + fileinfo, err := os.Stat(filename) + if err != nil { + return + } + mode := fileinfo.Mode() + if mode&(0x77) != 0 { + // XXX should warn about incorrect .pgpass permissions as psql does + return + } + file, err := os.Open(filename) + if err != nil { + return + } + defer file.Close() + scanner := bufio.NewScanner(io.Reader(file)) + hostname := o["host"] + ntw, _ := network(o) + port := o["port"] + db := o["dbname"] + username := o["user"] + // From: https://github.com/tg/pgpass/blob/master/reader.go + getFields := func(s string) []string { + fs := make([]string, 0, 5) + f := make([]rune, 0, len(s)) + + var esc bool + for _, c := range s { + switch { + case esc: + f = append(f, c) + esc = false + case c == '\\': + esc = true + case c == ':': + fs = append(fs, string(f)) + f = f[:0] + default: + f = append(f, c) + } + } + return append(fs, string(f)) + } + for scanner.Scan() { + line := scanner.Text() + if len(line) == 0 || line[0] == '#' { + continue + } + split := getFields(line) + if len(split) != 5 { + continue + } + if (split[0] == "*" || split[0] == hostname || (split[0] == "localhost" && (hostname == "" || ntw == "unix"))) && (split[1] == "*" || split[1] == port) && (split[2] == "*" || split[2] == db) && (split[3] == "*" || split[3] == username) { + o["password"] = split[4] + return + } + } +} + +func (cn *conn) writeBuf(b byte) *writeBuf { + cn.scratch[0] = b + return &writeBuf{ + buf: cn.scratch[:5], + pos: 1, + } +} + +// Open opens a new connection to the database. name is a connection string. +// Most users should only use it through database/sql package from the standard +// library. +func Open(name string) (_ driver.Conn, err error) { + return DialOpen(defaultDialer{}, name) +} + +// DialOpen opens a new connection to the database using a dialer. +func DialOpen(d Dialer, name string) (_ driver.Conn, err error) { + // Handle any panics during connection initialization. Note that we + // specifically do *not* want to use errRecover(), as that would turn any + // connection errors into ErrBadConns, hiding the real error message from + // the user. + defer errRecoverNoErrBadConn(&err) + + o := make(values) + + // A number of defaults are applied here, in this order: + // + // * Very low precedence defaults applied in every situation + // * Environment variables + // * Explicitly passed connection information + o["host"] = "localhost" + o["port"] = "5432" + // N.B.: Extra float digits should be set to 3, but that breaks + // Postgres 8.4 and older, where the max is 2. + o["extra_float_digits"] = "2" + for k, v := range parseEnviron(os.Environ()) { + o[k] = v + } + + if strings.HasPrefix(name, "postgres://") || strings.HasPrefix(name, "postgresql://") { + name, err = ParseURL(name) + if err != nil { + return nil, err + } + } + + if err := parseOpts(name, o); err != nil { + return nil, err + } + + // Use the "fallback" application name if necessary + if fallback, ok := o["fallback_application_name"]; ok { + if _, ok := o["application_name"]; !ok { + o["application_name"] = fallback + } + } + + // We can't work with any client_encoding other than UTF-8 currently. + // However, we have historically allowed the user to set it to UTF-8 + // explicitly, and there's no reason to break such programs, so allow that. + // Note that the "options" setting could also set client_encoding, but + // parsing its value is not worth it. Instead, we always explicitly send + // client_encoding as a separate run-time parameter, which should override + // anything set in options. + if enc, ok := o["client_encoding"]; ok && !isUTF8(enc) { + return nil, errors.New("client_encoding must be absent or 'UTF8'") + } + o["client_encoding"] = "UTF8" + // DateStyle needs a similar treatment. + if datestyle, ok := o["datestyle"]; ok { + if datestyle != "ISO, MDY" { + panic(fmt.Sprintf("setting datestyle must be absent or %v; got %v", + "ISO, MDY", datestyle)) + } + } else { + o["datestyle"] = "ISO, MDY" + } + + // If a user is not provided by any other means, the last + // resort is to use the current operating system provided user + // name. + if _, ok := o["user"]; !ok { + u, err := userCurrent() + if err != nil { + return nil, err + } + o["user"] = u + } + + cn := &conn{ + opts: o, + dialer: d, + } + err = cn.handleDriverSettings(o) + if err != nil { + return nil, err + } + cn.handlePgpass(o) + + cn.c, err = dial(d, o) + if err != nil { + return nil, err + } + + err = cn.ssl(o) + if err != nil { + return nil, err + } + + // cn.startup panics on error. Make sure we don't leak cn.c. + panicking := true + defer func() { + if panicking { + cn.c.Close() + } + }() + + cn.buf = bufio.NewReader(cn.c) + cn.startup(o) + + // reset the deadline, in case one was set (see dial) + if timeout, ok := o["connect_timeout"]; ok && timeout != "0" { + err = cn.c.SetDeadline(time.Time{}) + } + panicking = false + return cn, err +} + +func dial(d Dialer, o values) (net.Conn, error) { + ntw, addr := network(o) + // SSL is not necessary or supported over UNIX domain sockets + if ntw == "unix" { + o["sslmode"] = "disable" + } + + // Zero or not specified means wait indefinitely. + if timeout, ok := o["connect_timeout"]; ok && timeout != "0" { + seconds, err := strconv.ParseInt(timeout, 10, 0) + if err != nil { + return nil, fmt.Errorf("invalid value for parameter connect_timeout: %s", err) + } + duration := time.Duration(seconds) * time.Second + // connect_timeout should apply to the entire connection establishment + // procedure, so we both use a timeout for the TCP connection + // establishment and set a deadline for doing the initial handshake. + // The deadline is then reset after startup() is done. + deadline := time.Now().Add(duration) + conn, err := d.DialTimeout(ntw, addr, duration) + if err != nil { + return nil, err + } + err = conn.SetDeadline(deadline) + return conn, err + } + return d.Dial(ntw, addr) +} + +func network(o values) (string, string) { + host := o["host"] + + if strings.HasPrefix(host, "/") { + sockPath := path.Join(host, ".s.PGSQL."+o["port"]) + return "unix", sockPath + } + + return "tcp", net.JoinHostPort(host, o["port"]) +} + +type values map[string]string + +// scanner implements a tokenizer for libpq-style option strings. +type scanner struct { + s []rune + i int +} + +// newScanner returns a new scanner initialized with the option string s. +func newScanner(s string) *scanner { + return &scanner{[]rune(s), 0} +} + +// Next returns the next rune. +// It returns 0, false if the end of the text has been reached. +func (s *scanner) Next() (rune, bool) { + if s.i >= len(s.s) { + return 0, false + } + r := s.s[s.i] + s.i++ + return r, true +} + +// SkipSpaces returns the next non-whitespace rune. +// It returns 0, false if the end of the text has been reached. +func (s *scanner) SkipSpaces() (rune, bool) { + r, ok := s.Next() + for unicode.IsSpace(r) && ok { + r, ok = s.Next() + } + return r, ok +} + +// parseOpts parses the options from name and adds them to the values. +// +// The parsing code is based on conninfo_parse from libpq's fe-connect.c +func parseOpts(name string, o values) error { + s := newScanner(name) + + for { + var ( + keyRunes, valRunes []rune + r rune + ok bool + ) + + if r, ok = s.SkipSpaces(); !ok { + break + } + + // Scan the key + for !unicode.IsSpace(r) && r != '=' { + keyRunes = append(keyRunes, r) + if r, ok = s.Next(); !ok { + break + } + } + + // Skip any whitespace if we're not at the = yet + if r != '=' { + r, ok = s.SkipSpaces() + } + + // The current character should be = + if r != '=' || !ok { + return fmt.Errorf(`missing "=" after %q in connection info string"`, string(keyRunes)) + } + + // Skip any whitespace after the = + if r, ok = s.SkipSpaces(); !ok { + // If we reach the end here, the last value is just an empty string as per libpq. + o[string(keyRunes)] = "" + break + } + + if r != '\'' { + for !unicode.IsSpace(r) { + if r == '\\' { + if r, ok = s.Next(); !ok { + return fmt.Errorf(`missing character after backslash`) + } + } + valRunes = append(valRunes, r) + + if r, ok = s.Next(); !ok { + break + } + } + } else { + quote: + for { + if r, ok = s.Next(); !ok { + return fmt.Errorf(`unterminated quoted string literal in connection string`) + } + switch r { + case '\'': + break quote + case '\\': + r, _ = s.Next() + fallthrough + default: + valRunes = append(valRunes, r) + } + } + } + + o[string(keyRunes)] = string(valRunes) + } + + return nil +} + +func (cn *conn) isInTransaction() bool { + return cn.txnStatus == txnStatusIdleInTransaction || + cn.txnStatus == txnStatusInFailedTransaction +} + +func (cn *conn) checkIsInTransaction(intxn bool) { + if cn.isInTransaction() != intxn { + cn.bad = true + errorf("unexpected transaction status %v", cn.txnStatus) + } +} + +func (cn *conn) Begin() (_ driver.Tx, err error) { + return cn.begin("") +} + +func (cn *conn) begin(mode string) (_ driver.Tx, err error) { + if cn.bad { + return nil, driver.ErrBadConn + } + defer cn.errRecover(&err) + + cn.checkIsInTransaction(false) + _, commandTag, err := cn.simpleExec("BEGIN" + mode) + if err != nil { + return nil, err + } + if commandTag != "BEGIN" { + cn.bad = true + return nil, fmt.Errorf("unexpected command tag %s", commandTag) + } + if cn.txnStatus != txnStatusIdleInTransaction { + cn.bad = true + return nil, fmt.Errorf("unexpected transaction status %v", cn.txnStatus) + } + return cn, nil +} + +func (cn *conn) closeTxn() { + if finish := cn.txnFinish; finish != nil { + finish() + } +} + +func (cn *conn) Commit() (err error) { + defer cn.closeTxn() + if cn.bad { + return driver.ErrBadConn + } + defer cn.errRecover(&err) + + cn.checkIsInTransaction(true) + // We don't want the client to think that everything is okay if it tries + // to commit a failed transaction. However, no matter what we return, + // database/sql will release this connection back into the free connection + // pool so we have to abort the current transaction here. Note that you + // would get the same behaviour if you issued a COMMIT in a failed + // transaction, so it's also the least surprising thing to do here. + if cn.txnStatus == txnStatusInFailedTransaction { + if err := cn.Rollback(); err != nil { + return err + } + return ErrInFailedTransaction + } + + _, commandTag, err := cn.simpleExec("COMMIT") + if err != nil { + if cn.isInTransaction() { + cn.bad = true + } + return err + } + if commandTag != "COMMIT" { + cn.bad = true + return fmt.Errorf("unexpected command tag %s", commandTag) + } + cn.checkIsInTransaction(false) + return nil +} + +func (cn *conn) Rollback() (err error) { + defer cn.closeTxn() + if cn.bad { + return driver.ErrBadConn + } + defer cn.errRecover(&err) + + cn.checkIsInTransaction(true) + _, commandTag, err := cn.simpleExec("ROLLBACK") + if err != nil { + if cn.isInTransaction() { + cn.bad = true + } + return err + } + if commandTag != "ROLLBACK" { + return fmt.Errorf("unexpected command tag %s", commandTag) + } + cn.checkIsInTransaction(false) + return nil +} + +func (cn *conn) gname() string { + cn.namei++ + return strconv.FormatInt(int64(cn.namei), 10) +} + +func (cn *conn) simpleExec(q string) (res driver.Result, commandTag string, err error) { + b := cn.writeBuf('Q') + b.string(q) + cn.send(b) + + for { + t, r := cn.recv1() + switch t { + case 'C': + res, commandTag = cn.parseComplete(r.string()) + case 'Z': + cn.processReadyForQuery(r) + if res == nil && err == nil { + err = errUnexpectedReady + } + // done + return + case 'E': + err = parseError(r) + case 'I': + res = emptyRows + case 'T', 'D': + // ignore any results + default: + cn.bad = true + errorf("unknown response for simple query: %q", t) + } + } +} + +func (cn *conn) simpleQuery(q string) (res *rows, err error) { + defer cn.errRecover(&err) + + b := cn.writeBuf('Q') + b.string(q) + cn.send(b) + + for { + t, r := cn.recv1() + switch t { + case 'C', 'I': + // We allow queries which don't return any results through Query as + // well as Exec. We still have to give database/sql a rows object + // the user can close, though, to avoid connections from being + // leaked. A "rows" with done=true works fine for that purpose. + if err != nil { + cn.bad = true + errorf("unexpected message %q in simple query execution", t) + } + if res == nil { + res = &rows{ + cn: cn, + } + } + // Set the result and tag to the last command complete if there wasn't a + // query already run. Although queries usually return from here and cede + // control to Next, a query with zero results does not. + if t == 'C' && res.colNames == nil { + res.result, res.tag = cn.parseComplete(r.string()) + } + res.done = true + case 'Z': + cn.processReadyForQuery(r) + // done + return + case 'E': + res = nil + err = parseError(r) + case 'D': + if res == nil { + cn.bad = true + errorf("unexpected DataRow in simple query execution") + } + // the query didn't fail; kick off to Next + cn.saveMessage(t, r) + return + case 'T': + // res might be non-nil here if we received a previous + // CommandComplete, but that's fine; just overwrite it + res = &rows{cn: cn} + res.colNames, res.colFmts, res.colTyps = parsePortalRowDescribe(r) + + // To work around a bug in QueryRow in Go 1.2 and earlier, wait + // until the first DataRow has been received. + default: + cn.bad = true + errorf("unknown response for simple query: %q", t) + } + } +} + +type noRows struct{} + +var emptyRows noRows + +var _ driver.Result = noRows{} + +func (noRows) LastInsertId() (int64, error) { + return 0, errNoLastInsertID +} + +func (noRows) RowsAffected() (int64, error) { + return 0, errNoRowsAffected +} + +// Decides which column formats to use for a prepared statement. The input is +// an array of type oids, one element per result column. +func decideColumnFormats(colTyps []fieldDesc, forceText bool) (colFmts []format, colFmtData []byte) { + if len(colTyps) == 0 { + return nil, colFmtDataAllText + } + + colFmts = make([]format, len(colTyps)) + if forceText { + return colFmts, colFmtDataAllText + } + + allBinary := true + allText := true + for i, t := range colTyps { + switch t.OID { + // This is the list of types to use binary mode for when receiving them + // through a prepared statement. If a type appears in this list, it + // must also be implemented in binaryDecode in encode.go. + case oid.T_bytea: + fallthrough + case oid.T_int8: + fallthrough + case oid.T_int4: + fallthrough + case oid.T_int2: + fallthrough + case oid.T_uuid: + colFmts[i] = formatBinary + allText = false + + default: + allBinary = false + } + } + + if allBinary { + return colFmts, colFmtDataAllBinary + } else if allText { + return colFmts, colFmtDataAllText + } else { + colFmtData = make([]byte, 2+len(colFmts)*2) + binary.BigEndian.PutUint16(colFmtData, uint16(len(colFmts))) + for i, v := range colFmts { + binary.BigEndian.PutUint16(colFmtData[2+i*2:], uint16(v)) + } + return colFmts, colFmtData + } +} + +func (cn *conn) prepareTo(q, stmtName string) *stmt { + st := &stmt{cn: cn, name: stmtName} + + b := cn.writeBuf('P') + b.string(st.name) + b.string(q) + b.int16(0) + + b.next('D') + b.byte('S') + b.string(st.name) + + b.next('S') + cn.send(b) + + cn.readParseResponse() + st.paramTyps, st.colNames, st.colTyps = cn.readStatementDescribeResponse() + st.colFmts, st.colFmtData = decideColumnFormats(st.colTyps, cn.disablePreparedBinaryResult) + cn.readReadyForQuery() + return st +} + +func (cn *conn) Prepare(q string) (_ driver.Stmt, err error) { + if cn.bad { + return nil, driver.ErrBadConn + } + defer cn.errRecover(&err) + + if len(q) >= 4 && strings.EqualFold(q[:4], "COPY") { + s, err := cn.prepareCopyIn(q) + if err == nil { + cn.inCopy = true + } + return s, err + } + return cn.prepareTo(q, cn.gname()), nil +} + +func (cn *conn) Close() (err error) { + // Skip cn.bad return here because we always want to close a connection. + defer cn.errRecover(&err) + + // Ensure that cn.c.Close is always run. Since error handling is done with + // panics and cn.errRecover, the Close must be in a defer. + defer func() { + cerr := cn.c.Close() + if err == nil { + err = cerr + } + }() + + // Don't go through send(); ListenerConn relies on us not scribbling on the + // scratch buffer of this connection. + return cn.sendSimpleMessage('X') +} + +// Implement the "Queryer" interface +func (cn *conn) Query(query string, args []driver.Value) (driver.Rows, error) { + return cn.query(query, args) +} + +func (cn *conn) query(query string, args []driver.Value) (_ *rows, err error) { + if cn.bad { + return nil, driver.ErrBadConn + } + if cn.inCopy { + return nil, errCopyInProgress + } + defer cn.errRecover(&err) + + // Check to see if we can use the "simpleQuery" interface, which is + // *much* faster than going through prepare/exec + if len(args) == 0 { + return cn.simpleQuery(query) + } + + if cn.binaryParameters { + cn.sendBinaryModeQuery(query, args) + + cn.readParseResponse() + cn.readBindResponse() + rows := &rows{cn: cn} + rows.colNames, rows.colFmts, rows.colTyps = cn.readPortalDescribeResponse() + cn.postExecuteWorkaround() + return rows, nil + } + st := cn.prepareTo(query, "") + st.exec(args) + return &rows{ + cn: cn, + colNames: st.colNames, + colTyps: st.colTyps, + colFmts: st.colFmts, + }, nil +} + +// Implement the optional "Execer" interface for one-shot queries +func (cn *conn) Exec(query string, args []driver.Value) (res driver.Result, err error) { + if cn.bad { + return nil, driver.ErrBadConn + } + defer cn.errRecover(&err) + + // Check to see if we can use the "simpleExec" interface, which is + // *much* faster than going through prepare/exec + if len(args) == 0 { + // ignore commandTag, our caller doesn't care + r, _, err := cn.simpleExec(query) + return r, err + } + + if cn.binaryParameters { + cn.sendBinaryModeQuery(query, args) + + cn.readParseResponse() + cn.readBindResponse() + cn.readPortalDescribeResponse() + cn.postExecuteWorkaround() + res, _, err = cn.readExecuteResponse("Execute") + return res, err + } + // Use the unnamed statement to defer planning until bind + // time, or else value-based selectivity estimates cannot be + // used. + st := cn.prepareTo(query, "") + r, err := st.Exec(args) + if err != nil { + panic(err) + } + return r, err +} + +func (cn *conn) send(m *writeBuf) { + _, err := cn.c.Write(m.wrap()) + if err != nil { + panic(err) + } +} + +func (cn *conn) sendStartupPacket(m *writeBuf) error { + _, err := cn.c.Write((m.wrap())[1:]) + return err +} + +// Send a message of type typ to the server on the other end of cn. The +// message should have no payload. This method does not use the scratch +// buffer. +func (cn *conn) sendSimpleMessage(typ byte) (err error) { + _, err = cn.c.Write([]byte{typ, '\x00', '\x00', '\x00', '\x04'}) + return err +} + +// saveMessage memorizes a message and its buffer in the conn struct. +// recvMessage will then return these values on the next call to it. This +// method is useful in cases where you have to see what the next message is +// going to be (e.g. to see whether it's an error or not) but you can't handle +// the message yourself. +func (cn *conn) saveMessage(typ byte, buf *readBuf) { + if cn.saveMessageType != 0 { + cn.bad = true + errorf("unexpected saveMessageType %d", cn.saveMessageType) + } + cn.saveMessageType = typ + cn.saveMessageBuffer = *buf +} + +// recvMessage receives any message from the backend, or returns an error if +// a problem occurred while reading the message. +func (cn *conn) recvMessage(r *readBuf) (byte, error) { + // workaround for a QueryRow bug, see exec + if cn.saveMessageType != 0 { + t := cn.saveMessageType + *r = cn.saveMessageBuffer + cn.saveMessageType = 0 + cn.saveMessageBuffer = nil + return t, nil + } + + x := cn.scratch[:5] + _, err := io.ReadFull(cn.buf, x) + if err != nil { + return 0, err + } + + // read the type and length of the message that follows + t := x[0] + n := int(binary.BigEndian.Uint32(x[1:])) - 4 + var y []byte + if n <= len(cn.scratch) { + y = cn.scratch[:n] + } else { + y = make([]byte, n) + } + _, err = io.ReadFull(cn.buf, y) + if err != nil { + return 0, err + } + *r = y + return t, nil +} + +// recv receives a message from the backend, but if an error happened while +// reading the message or the received message was an ErrorResponse, it panics. +// NoticeResponses are ignored. This function should generally be used only +// during the startup sequence. +func (cn *conn) recv() (t byte, r *readBuf) { + for { + var err error + r = &readBuf{} + t, err = cn.recvMessage(r) + if err != nil { + panic(err) + } + + switch t { + case 'E': + panic(parseError(r)) + case 'N': + // ignore + default: + return + } + } +} + +// recv1Buf is exactly equivalent to recv1, except it uses a buffer supplied by +// the caller to avoid an allocation. +func (cn *conn) recv1Buf(r *readBuf) byte { + for { + t, err := cn.recvMessage(r) + if err != nil { + panic(err) + } + + switch t { + case 'A', 'N': + // ignore + case 'S': + cn.processParameterStatus(r) + default: + return t + } + } +} + +// recv1 receives a message from the backend, panicking if an error occurs +// while attempting to read it. All asynchronous messages are ignored, with +// the exception of ErrorResponse. +func (cn *conn) recv1() (t byte, r *readBuf) { + r = &readBuf{} + t = cn.recv1Buf(r) + return t, r +} + +func (cn *conn) ssl(o values) error { + upgrade, err := ssl(o) + if err != nil { + return err + } + + if upgrade == nil { + // Nothing to do + return nil + } + + w := cn.writeBuf(0) + w.int32(80877103) + if err = cn.sendStartupPacket(w); err != nil { + return err + } + + b := cn.scratch[:1] + _, err = io.ReadFull(cn.c, b) + if err != nil { + return err + } + + if b[0] != 'S' { + return ErrSSLNotSupported + } + + cn.c, err = upgrade(cn.c) + return err +} + +// isDriverSetting returns true iff a setting is purely for configuring the +// driver's options and should not be sent to the server in the connection +// startup packet. +func isDriverSetting(key string) bool { + switch key { + case "host", "port": + return true + case "password": + return true + case "sslmode", "sslcert", "sslkey", "sslrootcert": + return true + case "fallback_application_name": + return true + case "connect_timeout": + return true + case "disable_prepared_binary_result": + return true + case "binary_parameters": + return true + + default: + return false + } +} + +func (cn *conn) startup(o values) { + w := cn.writeBuf(0) + w.int32(196608) + // Send the backend the name of the database we want to connect to, and the + // user we want to connect as. Additionally, we send over any run-time + // parameters potentially included in the connection string. If the server + // doesn't recognize any of them, it will reply with an error. + for k, v := range o { + if isDriverSetting(k) { + // skip options which can't be run-time parameters + continue + } + // The protocol requires us to supply the database name as "database" + // instead of "dbname". + if k == "dbname" { + k = "database" + } + w.string(k) + w.string(v) + } + w.string("") + if err := cn.sendStartupPacket(w); err != nil { + panic(err) + } + + for { + t, r := cn.recv() + switch t { + case 'K': + cn.processBackendKeyData(r) + case 'S': + cn.processParameterStatus(r) + case 'R': + cn.auth(r, o) + case 'Z': + cn.processReadyForQuery(r) + return + default: + errorf("unknown response for startup: %q", t) + } + } +} + +func (cn *conn) auth(r *readBuf, o values) { + switch code := r.int32(); code { + case 0: + // OK + case 3: + w := cn.writeBuf('p') + w.string(o["password"]) + cn.send(w) + + t, r := cn.recv() + if t != 'R' { + errorf("unexpected password response: %q", t) + } + + if r.int32() != 0 { + errorf("unexpected authentication response: %q", t) + } + case 5: + s := string(r.next(4)) + w := cn.writeBuf('p') + w.string("md5" + md5s(md5s(o["password"]+o["user"])+s)) + cn.send(w) + + t, r := cn.recv() + if t != 'R' { + errorf("unexpected password response: %q", t) + } + + if r.int32() != 0 { + errorf("unexpected authentication response: %q", t) + } + default: + errorf("unknown authentication response: %d", code) + } +} + +type format int + +const formatText format = 0 +const formatBinary format = 1 + +// One result-column format code with the value 1 (i.e. all binary). +var colFmtDataAllBinary = []byte{0, 1, 0, 1} + +// No result-column format codes (i.e. all text). +var colFmtDataAllText = []byte{0, 0} + +type stmt struct { + cn *conn + name string + colNames []string + colFmts []format + colFmtData []byte + colTyps []fieldDesc + paramTyps []oid.Oid + closed bool +} + +func (st *stmt) Close() (err error) { + if st.closed { + return nil + } + if st.cn.bad { + return driver.ErrBadConn + } + defer st.cn.errRecover(&err) + + w := st.cn.writeBuf('C') + w.byte('S') + w.string(st.name) + st.cn.send(w) + + st.cn.send(st.cn.writeBuf('S')) + + t, _ := st.cn.recv1() + if t != '3' { + st.cn.bad = true + errorf("unexpected close response: %q", t) + } + st.closed = true + + t, r := st.cn.recv1() + if t != 'Z' { + st.cn.bad = true + errorf("expected ready for query, but got: %q", t) + } + st.cn.processReadyForQuery(r) + + return nil +} + +func (st *stmt) Query(v []driver.Value) (r driver.Rows, err error) { + if st.cn.bad { + return nil, driver.ErrBadConn + } + defer st.cn.errRecover(&err) + + st.exec(v) + return &rows{ + cn: st.cn, + colNames: st.colNames, + colTyps: st.colTyps, + colFmts: st.colFmts, + }, nil +} + +func (st *stmt) Exec(v []driver.Value) (res driver.Result, err error) { + if st.cn.bad { + return nil, driver.ErrBadConn + } + defer st.cn.errRecover(&err) + + st.exec(v) + res, _, err = st.cn.readExecuteResponse("simple query") + return res, err +} + +func (st *stmt) exec(v []driver.Value) { + if len(v) >= 65536 { + errorf("got %d parameters but PostgreSQL only supports 65535 parameters", len(v)) + } + if len(v) != len(st.paramTyps) { + errorf("got %d parameters but the statement requires %d", len(v), len(st.paramTyps)) + } + + cn := st.cn + w := cn.writeBuf('B') + w.byte(0) // unnamed portal + w.string(st.name) + + if cn.binaryParameters { + cn.sendBinaryParameters(w, v) + } else { + w.int16(0) + w.int16(len(v)) + for i, x := range v { + if x == nil { + w.int32(-1) + } else { + b := encode(&cn.parameterStatus, x, st.paramTyps[i]) + w.int32(len(b)) + w.bytes(b) + } + } + } + w.bytes(st.colFmtData) + + w.next('E') + w.byte(0) + w.int32(0) + + w.next('S') + cn.send(w) + + cn.readBindResponse() + cn.postExecuteWorkaround() + +} + +func (st *stmt) NumInput() int { + return len(st.paramTyps) +} + +// parseComplete parses the "command tag" from a CommandComplete message, and +// returns the number of rows affected (if applicable) and a string +// identifying only the command that was executed, e.g. "ALTER TABLE". If the +// command tag could not be parsed, parseComplete panics. +func (cn *conn) parseComplete(commandTag string) (driver.Result, string) { + commandsWithAffectedRows := []string{ + "SELECT ", + // INSERT is handled below + "UPDATE ", + "DELETE ", + "FETCH ", + "MOVE ", + "COPY ", + } + + var affectedRows *string + for _, tag := range commandsWithAffectedRows { + if strings.HasPrefix(commandTag, tag) { + t := commandTag[len(tag):] + affectedRows = &t + commandTag = tag[:len(tag)-1] + break + } + } + // INSERT also includes the oid of the inserted row in its command tag. + // Oids in user tables are deprecated, and the oid is only returned when + // exactly one row is inserted, so it's unlikely to be of value to any + // real-world application and we can ignore it. + if affectedRows == nil && strings.HasPrefix(commandTag, "INSERT ") { + parts := strings.Split(commandTag, " ") + if len(parts) != 3 { + cn.bad = true + errorf("unexpected INSERT command tag %s", commandTag) + } + affectedRows = &parts[len(parts)-1] + commandTag = "INSERT" + } + // There should be no affected rows attached to the tag, just return it + if affectedRows == nil { + return driver.RowsAffected(0), commandTag + } + n, err := strconv.ParseInt(*affectedRows, 10, 64) + if err != nil { + cn.bad = true + errorf("could not parse commandTag: %s", err) + } + return driver.RowsAffected(n), commandTag +} + +type rows struct { + cn *conn + finish func() + colNames []string + colTyps []fieldDesc + colFmts []format + done bool + rb readBuf + result driver.Result + tag string +} + +func (rs *rows) Close() error { + if finish := rs.finish; finish != nil { + defer finish() + } + // no need to look at cn.bad as Next() will + for { + err := rs.Next(nil) + switch err { + case nil: + case io.EOF: + // rs.Next can return io.EOF on both 'Z' (ready for query) and 'T' (row + // description, used with HasNextResultSet). We need to fetch messages until + // we hit a 'Z', which is done by waiting for done to be set. + if rs.done { + return nil + } + default: + return err + } + } +} + +func (rs *rows) Columns() []string { + return rs.colNames +} + +func (rs *rows) Result() driver.Result { + if rs.result == nil { + return emptyRows + } + return rs.result +} + +func (rs *rows) Tag() string { + return rs.tag +} + +func (rs *rows) Next(dest []driver.Value) (err error) { + if rs.done { + return io.EOF + } + + conn := rs.cn + if conn.bad { + return driver.ErrBadConn + } + defer conn.errRecover(&err) + + for { + t := conn.recv1Buf(&rs.rb) + switch t { + case 'E': + err = parseError(&rs.rb) + case 'C', 'I': + if t == 'C' { + rs.result, rs.tag = conn.parseComplete(rs.rb.string()) + } + continue + case 'Z': + conn.processReadyForQuery(&rs.rb) + rs.done = true + if err != nil { + return err + } + return io.EOF + case 'D': + n := rs.rb.int16() + if err != nil { + conn.bad = true + errorf("unexpected DataRow after error %s", err) + } + if n < len(dest) { + dest = dest[:n] + } + for i := range dest { + l := rs.rb.int32() + if l == -1 { + dest[i] = nil + continue + } + dest[i] = decode(&conn.parameterStatus, rs.rb.next(l), rs.colTyps[i].OID, rs.colFmts[i]) + } + return + case 'T': + rs.colNames, rs.colFmts, rs.colTyps = parsePortalRowDescribe(&rs.rb) + return io.EOF + default: + errorf("unexpected message after execute: %q", t) + } + } +} + +func (rs *rows) HasNextResultSet() bool { + return !rs.done +} + +func (rs *rows) NextResultSet() error { + return nil +} + +// QuoteIdentifier quotes an "identifier" (e.g. a table or a column name) to be +// used as part of an SQL statement. For example: +// +// tblname := "my_table" +// data := "my_data" +// quoted := pq.QuoteIdentifier(tblname) +// err := db.Exec(fmt.Sprintf("INSERT INTO %s VALUES ($1)", quoted), data) +// +// Any double quotes in name will be escaped. The quoted identifier will be +// case sensitive when used in a query. If the input string contains a zero +// byte, the result will be truncated immediately before it. +func QuoteIdentifier(name string) string { + end := strings.IndexRune(name, 0) + if end > -1 { + name = name[:end] + } + return `"` + strings.Replace(name, `"`, `""`, -1) + `"` +} + +func md5s(s string) string { + h := md5.New() + h.Write([]byte(s)) + return fmt.Sprintf("%x", h.Sum(nil)) +} + +func (cn *conn) sendBinaryParameters(b *writeBuf, args []driver.Value) { + // Do one pass over the parameters to see if we're going to send any of + // them over in binary. If we are, create a paramFormats array at the + // same time. + var paramFormats []int + for i, x := range args { + _, ok := x.([]byte) + if ok { + if paramFormats == nil { + paramFormats = make([]int, len(args)) + } + paramFormats[i] = 1 + } + } + if paramFormats == nil { + b.int16(0) + } else { + b.int16(len(paramFormats)) + for _, x := range paramFormats { + b.int16(x) + } + } + + b.int16(len(args)) + for _, x := range args { + if x == nil { + b.int32(-1) + } else { + datum := binaryEncode(&cn.parameterStatus, x) + b.int32(len(datum)) + b.bytes(datum) + } + } +} + +func (cn *conn) sendBinaryModeQuery(query string, args []driver.Value) { + if len(args) >= 65536 { + errorf("got %d parameters but PostgreSQL only supports 65535 parameters", len(args)) + } + + b := cn.writeBuf('P') + b.byte(0) // unnamed statement + b.string(query) + b.int16(0) + + b.next('B') + b.int16(0) // unnamed portal and statement + cn.sendBinaryParameters(b, args) + b.bytes(colFmtDataAllText) + + b.next('D') + b.byte('P') + b.byte(0) // unnamed portal + + b.next('E') + b.byte(0) + b.int32(0) + + b.next('S') + cn.send(b) +} + +func (cn *conn) processParameterStatus(r *readBuf) { + var err error + + param := r.string() + switch param { + case "server_version": + var major1 int + var major2 int + var minor int + _, err = fmt.Sscanf(r.string(), "%d.%d.%d", &major1, &major2, &minor) + if err == nil { + cn.parameterStatus.serverVersion = major1*10000 + major2*100 + minor + } + + case "TimeZone": + cn.parameterStatus.currentLocation, err = time.LoadLocation(r.string()) + if err != nil { + cn.parameterStatus.currentLocation = nil + } + + default: + // ignore + } +} + +func (cn *conn) processReadyForQuery(r *readBuf) { + cn.txnStatus = transactionStatus(r.byte()) +} + +func (cn *conn) readReadyForQuery() { + t, r := cn.recv1() + switch t { + case 'Z': + cn.processReadyForQuery(r) + return + default: + cn.bad = true + errorf("unexpected message %q; expected ReadyForQuery", t) + } +} + +func (cn *conn) processBackendKeyData(r *readBuf) { + cn.processID = r.int32() + cn.secretKey = r.int32() +} + +func (cn *conn) readParseResponse() { + t, r := cn.recv1() + switch t { + case '1': + return + case 'E': + err := parseError(r) + cn.readReadyForQuery() + panic(err) + default: + cn.bad = true + errorf("unexpected Parse response %q", t) + } +} + +func (cn *conn) readStatementDescribeResponse() (paramTyps []oid.Oid, colNames []string, colTyps []fieldDesc) { + for { + t, r := cn.recv1() + switch t { + case 't': + nparams := r.int16() + paramTyps = make([]oid.Oid, nparams) + for i := range paramTyps { + paramTyps[i] = r.oid() + } + case 'n': + return paramTyps, nil, nil + case 'T': + colNames, colTyps = parseStatementRowDescribe(r) + return paramTyps, colNames, colTyps + case 'E': + err := parseError(r) + cn.readReadyForQuery() + panic(err) + default: + cn.bad = true + errorf("unexpected Describe statement response %q", t) + } + } +} + +func (cn *conn) readPortalDescribeResponse() (colNames []string, colFmts []format, colTyps []fieldDesc) { + t, r := cn.recv1() + switch t { + case 'T': + return parsePortalRowDescribe(r) + case 'n': + return nil, nil, nil + case 'E': + err := parseError(r) + cn.readReadyForQuery() + panic(err) + default: + cn.bad = true + errorf("unexpected Describe response %q", t) + } + panic("not reached") +} + +func (cn *conn) readBindResponse() { + t, r := cn.recv1() + switch t { + case '2': + return + case 'E': + err := parseError(r) + cn.readReadyForQuery() + panic(err) + default: + cn.bad = true + errorf("unexpected Bind response %q", t) + } +} + +func (cn *conn) postExecuteWorkaround() { + // Work around a bug in sql.DB.QueryRow: in Go 1.2 and earlier it ignores + // any errors from rows.Next, which masks errors that happened during the + // execution of the query. To avoid the problem in common cases, we wait + // here for one more message from the database. If it's not an error the + // query will likely succeed (or perhaps has already, if it's a + // CommandComplete), so we push the message into the conn struct; recv1 + // will return it as the next message for rows.Next or rows.Close. + // However, if it's an error, we wait until ReadyForQuery and then return + // the error to our caller. + for { + t, r := cn.recv1() + switch t { + case 'E': + err := parseError(r) + cn.readReadyForQuery() + panic(err) + case 'C', 'D', 'I': + // the query didn't fail, but we can't process this message + cn.saveMessage(t, r) + return + default: + cn.bad = true + errorf("unexpected message during extended query execution: %q", t) + } + } +} + +// Only for Exec(), since we ignore the returned data +func (cn *conn) readExecuteResponse(protocolState string) (res driver.Result, commandTag string, err error) { + for { + t, r := cn.recv1() + switch t { + case 'C': + if err != nil { + cn.bad = true + errorf("unexpected CommandComplete after error %s", err) + } + res, commandTag = cn.parseComplete(r.string()) + case 'Z': + cn.processReadyForQuery(r) + if res == nil && err == nil { + err = errUnexpectedReady + } + return res, commandTag, err + case 'E': + err = parseError(r) + case 'T', 'D', 'I': + if err != nil { + cn.bad = true + errorf("unexpected %q after error %s", t, err) + } + if t == 'I' { + res = emptyRows + } + // ignore any results + default: + cn.bad = true + errorf("unknown %s response: %q", protocolState, t) + } + } +} + +func parseStatementRowDescribe(r *readBuf) (colNames []string, colTyps []fieldDesc) { + n := r.int16() + colNames = make([]string, n) + colTyps = make([]fieldDesc, n) + for i := range colNames { + colNames[i] = r.string() + r.next(6) + colTyps[i].OID = r.oid() + colTyps[i].Len = r.int16() + colTyps[i].Mod = r.int32() + // format code not known when describing a statement; always 0 + r.next(2) + } + return +} + +func parsePortalRowDescribe(r *readBuf) (colNames []string, colFmts []format, colTyps []fieldDesc) { + n := r.int16() + colNames = make([]string, n) + colFmts = make([]format, n) + colTyps = make([]fieldDesc, n) + for i := range colNames { + colNames[i] = r.string() + r.next(6) + colTyps[i].OID = r.oid() + colTyps[i].Len = r.int16() + colTyps[i].Mod = r.int32() + colFmts[i] = format(r.int16()) + } + return +} + +// parseEnviron tries to mimic some of libpq's environment handling +// +// To ease testing, it does not directly reference os.Environ, but is +// designed to accept its output. +// +// Environment-set connection information is intended to have a higher +// precedence than a library default but lower than any explicitly +// passed information (such as in the URL or connection string). +func parseEnviron(env []string) (out map[string]string) { + out = make(map[string]string) + + for _, v := range env { + parts := strings.SplitN(v, "=", 2) + + accrue := func(keyname string) { + out[keyname] = parts[1] + } + unsupported := func() { + panic(fmt.Sprintf("setting %v not supported", parts[0])) + } + + // The order of these is the same as is seen in the + // PostgreSQL 9.1 manual. Unsupported but well-defined + // keys cause a panic; these should be unset prior to + // execution. Options which pq expects to be set to a + // certain value are allowed, but must be set to that + // value if present (they can, of course, be absent). + switch parts[0] { + case "PGHOST": + accrue("host") + case "PGHOSTADDR": + unsupported() + case "PGPORT": + accrue("port") + case "PGDATABASE": + accrue("dbname") + case "PGUSER": + accrue("user") + case "PGPASSWORD": + accrue("password") + case "PGSERVICE", "PGSERVICEFILE", "PGREALM": + unsupported() + case "PGOPTIONS": + accrue("options") + case "PGAPPNAME": + accrue("application_name") + case "PGSSLMODE": + accrue("sslmode") + case "PGSSLCERT": + accrue("sslcert") + case "PGSSLKEY": + accrue("sslkey") + case "PGSSLROOTCERT": + accrue("sslrootcert") + case "PGREQUIRESSL", "PGSSLCRL": + unsupported() + case "PGREQUIREPEER": + unsupported() + case "PGKRBSRVNAME", "PGGSSLIB": + unsupported() + case "PGCONNECT_TIMEOUT": + accrue("connect_timeout") + case "PGCLIENTENCODING": + accrue("client_encoding") + case "PGDATESTYLE": + accrue("datestyle") + case "PGTZ": + accrue("timezone") + case "PGGEQO": + accrue("geqo") + case "PGSYSCONFDIR", "PGLOCALEDIR": + unsupported() + } + } + + return out +} + +// isUTF8 returns whether name is a fuzzy variation of the string "UTF-8". +func isUTF8(name string) bool { + // Recognize all sorts of silly things as "UTF-8", like Postgres does + s := strings.Map(alnumLowerASCII, name) + return s == "utf8" || s == "unicode" +} + +func alnumLowerASCII(ch rune) rune { + if 'A' <= ch && ch <= 'Z' { + return ch + ('a' - 'A') + } + if 'a' <= ch && ch <= 'z' || '0' <= ch && ch <= '9' { + return ch + } + return -1 // discard +} diff --git a/vendor/github.com/lib/pq/conn_go18.go b/vendor/github.com/lib/pq/conn_go18.go new file mode 100644 index 00000000..a5254f2b --- /dev/null +++ b/vendor/github.com/lib/pq/conn_go18.go @@ -0,0 +1,131 @@ +// +build go1.8 + +package pq + +import ( + "context" + "database/sql" + "database/sql/driver" + "fmt" + "io" + "io/ioutil" +) + +// Implement the "QueryerContext" interface +func (cn *conn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error) { + list := make([]driver.Value, len(args)) + for i, nv := range args { + list[i] = nv.Value + } + finish := cn.watchCancel(ctx) + r, err := cn.query(query, list) + if err != nil { + if finish != nil { + finish() + } + return nil, err + } + r.finish = finish + return r, nil +} + +// Implement the "ExecerContext" interface +func (cn *conn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error) { + list := make([]driver.Value, len(args)) + for i, nv := range args { + list[i] = nv.Value + } + + if finish := cn.watchCancel(ctx); finish != nil { + defer finish() + } + + return cn.Exec(query, list) +} + +// Implement the "ConnBeginTx" interface +func (cn *conn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error) { + var mode string + + switch sql.IsolationLevel(opts.Isolation) { + case sql.LevelDefault: + // Don't touch mode: use the server's default + case sql.LevelReadUncommitted: + mode = " ISOLATION LEVEL READ UNCOMMITTED" + case sql.LevelReadCommitted: + mode = " ISOLATION LEVEL READ COMMITTED" + case sql.LevelRepeatableRead: + mode = " ISOLATION LEVEL REPEATABLE READ" + case sql.LevelSerializable: + mode = " ISOLATION LEVEL SERIALIZABLE" + default: + return nil, fmt.Errorf("pq: isolation level not supported: %d", opts.Isolation) + } + + if opts.ReadOnly { + mode += " READ ONLY" + } else { + mode += " READ WRITE" + } + + tx, err := cn.begin(mode) + if err != nil { + return nil, err + } + cn.txnFinish = cn.watchCancel(ctx) + return tx, nil +} + +func (cn *conn) watchCancel(ctx context.Context) func() { + if done := ctx.Done(); done != nil { + finished := make(chan struct{}) + go func() { + select { + case <-done: + _ = cn.cancel() + finished <- struct{}{} + case <-finished: + } + }() + return func() { + select { + case <-finished: + case finished <- struct{}{}: + } + } + } + return nil +} + +func (cn *conn) cancel() error { + c, err := dial(cn.dialer, cn.opts) + if err != nil { + return err + } + defer c.Close() + + { + can := conn{ + c: c, + } + err = can.ssl(cn.opts) + if err != nil { + return err + } + + w := can.writeBuf(0) + w.int32(80877102) // cancel request code + w.int32(cn.processID) + w.int32(cn.secretKey) + + if err := can.sendStartupPacket(w); err != nil { + return err + } + } + + // Read until EOF to ensure that the server received the cancel. + { + _, err := io.Copy(ioutil.Discard, c) + return err + } +} diff --git a/vendor/github.com/lib/pq/connector.go b/vendor/github.com/lib/pq/connector.go new file mode 100644 index 00000000..9e66eb5d --- /dev/null +++ b/vendor/github.com/lib/pq/connector.go @@ -0,0 +1,43 @@ +// +build go1.10 + +package pq + +import ( + "context" + "database/sql/driver" +) + +// Connector represents a fixed configuration for the pq driver with a given +// name. Connector satisfies the database/sql/driver Connector interface and +// can be used to create any number of DB Conn's via the database/sql OpenDB +// function. +// +// See https://golang.org/pkg/database/sql/driver/#Connector. +// See https://golang.org/pkg/database/sql/#OpenDB. +type connector struct { + name string +} + +// Connect returns a connection to the database using the fixed configuration +// of this Connector. Context is not used. +func (c *connector) Connect(_ context.Context) (driver.Conn, error) { + return (&Driver{}).Open(c.name) +} + +// Driver returnst the underlying driver of this Connector. +func (c *connector) Driver() driver.Driver { + return &Driver{} +} + +var _ driver.Connector = &connector{} + +// NewConnector returns a connector for the pq driver in a fixed configuration +// with the given name. The returned connector can be used to create any number +// of equivalent Conn's. The returned connector is intended to be used with +// database/sql.OpenDB. +// +// See https://golang.org/pkg/database/sql/driver/#Connector. +// See https://golang.org/pkg/database/sql/#OpenDB. +func NewConnector(name string) (driver.Connector, error) { + return &connector{name: name}, nil +} diff --git a/vendor/github.com/lib/pq/copy.go b/vendor/github.com/lib/pq/copy.go new file mode 100644 index 00000000..345c2398 --- /dev/null +++ b/vendor/github.com/lib/pq/copy.go @@ -0,0 +1,282 @@ +package pq + +import ( + "database/sql/driver" + "encoding/binary" + "errors" + "fmt" + "sync" +) + +var ( + errCopyInClosed = errors.New("pq: copyin statement has already been closed") + errBinaryCopyNotSupported = errors.New("pq: only text format supported for COPY") + errCopyToNotSupported = errors.New("pq: COPY TO is not supported") + errCopyNotSupportedOutsideTxn = errors.New("pq: COPY is only allowed inside a transaction") + errCopyInProgress = errors.New("pq: COPY in progress") +) + +// CopyIn creates a COPY FROM statement which can be prepared with +// Tx.Prepare(). The target table should be visible in search_path. +func CopyIn(table string, columns ...string) string { + stmt := "COPY " + QuoteIdentifier(table) + " (" + for i, col := range columns { + if i != 0 { + stmt += ", " + } + stmt += QuoteIdentifier(col) + } + stmt += ") FROM STDIN" + return stmt +} + +// CopyInSchema creates a COPY FROM statement which can be prepared with +// Tx.Prepare(). +func CopyInSchema(schema, table string, columns ...string) string { + stmt := "COPY " + QuoteIdentifier(schema) + "." + QuoteIdentifier(table) + " (" + for i, col := range columns { + if i != 0 { + stmt += ", " + } + stmt += QuoteIdentifier(col) + } + stmt += ") FROM STDIN" + return stmt +} + +type copyin struct { + cn *conn + buffer []byte + rowData chan []byte + done chan bool + + closed bool + + sync.Mutex // guards err + err error +} + +const ciBufferSize = 64 * 1024 + +// flush buffer before the buffer is filled up and needs reallocation +const ciBufferFlushSize = 63 * 1024 + +func (cn *conn) prepareCopyIn(q string) (_ driver.Stmt, err error) { + if !cn.isInTransaction() { + return nil, errCopyNotSupportedOutsideTxn + } + + ci := ©in{ + cn: cn, + buffer: make([]byte, 0, ciBufferSize), + rowData: make(chan []byte), + done: make(chan bool, 1), + } + // add CopyData identifier + 4 bytes for message length + ci.buffer = append(ci.buffer, 'd', 0, 0, 0, 0) + + b := cn.writeBuf('Q') + b.string(q) + cn.send(b) + +awaitCopyInResponse: + for { + t, r := cn.recv1() + switch t { + case 'G': + if r.byte() != 0 { + err = errBinaryCopyNotSupported + break awaitCopyInResponse + } + go ci.resploop() + return ci, nil + case 'H': + err = errCopyToNotSupported + break awaitCopyInResponse + case 'E': + err = parseError(r) + case 'Z': + if err == nil { + ci.setBad() + errorf("unexpected ReadyForQuery in response to COPY") + } + cn.processReadyForQuery(r) + return nil, err + default: + ci.setBad() + errorf("unknown response for copy query: %q", t) + } + } + + // something went wrong, abort COPY before we return + b = cn.writeBuf('f') + b.string(err.Error()) + cn.send(b) + + for { + t, r := cn.recv1() + switch t { + case 'c', 'C', 'E': + case 'Z': + // correctly aborted, we're done + cn.processReadyForQuery(r) + return nil, err + default: + ci.setBad() + errorf("unknown response for CopyFail: %q", t) + } + } +} + +func (ci *copyin) flush(buf []byte) { + // set message length (without message identifier) + binary.BigEndian.PutUint32(buf[1:], uint32(len(buf)-1)) + + _, err := ci.cn.c.Write(buf) + if err != nil { + panic(err) + } +} + +func (ci *copyin) resploop() { + for { + var r readBuf + t, err := ci.cn.recvMessage(&r) + if err != nil { + ci.setBad() + ci.setError(err) + ci.done <- true + return + } + switch t { + case 'C': + // complete + case 'N': + // NoticeResponse + case 'Z': + ci.cn.processReadyForQuery(&r) + ci.done <- true + return + case 'E': + err := parseError(&r) + ci.setError(err) + default: + ci.setBad() + ci.setError(fmt.Errorf("unknown response during CopyIn: %q", t)) + ci.done <- true + return + } + } +} + +func (ci *copyin) setBad() { + ci.Lock() + ci.cn.bad = true + ci.Unlock() +} + +func (ci *copyin) isBad() bool { + ci.Lock() + b := ci.cn.bad + ci.Unlock() + return b +} + +func (ci *copyin) isErrorSet() bool { + ci.Lock() + isSet := (ci.err != nil) + ci.Unlock() + return isSet +} + +// setError() sets ci.err if one has not been set already. Caller must not be +// holding ci.Mutex. +func (ci *copyin) setError(err error) { + ci.Lock() + if ci.err == nil { + ci.err = err + } + ci.Unlock() +} + +func (ci *copyin) NumInput() int { + return -1 +} + +func (ci *copyin) Query(v []driver.Value) (r driver.Rows, err error) { + return nil, ErrNotSupported +} + +// Exec inserts values into the COPY stream. The insert is asynchronous +// and Exec can return errors from previous Exec calls to the same +// COPY stmt. +// +// You need to call Exec(nil) to sync the COPY stream and to get any +// errors from pending data, since Stmt.Close() doesn't return errors +// to the user. +func (ci *copyin) Exec(v []driver.Value) (r driver.Result, err error) { + if ci.closed { + return nil, errCopyInClosed + } + + if ci.isBad() { + return nil, driver.ErrBadConn + } + defer ci.cn.errRecover(&err) + + if ci.isErrorSet() { + return nil, ci.err + } + + if len(v) == 0 { + return nil, ci.Close() + } + + numValues := len(v) + for i, value := range v { + ci.buffer = appendEncodedText(&ci.cn.parameterStatus, ci.buffer, value) + if i < numValues-1 { + ci.buffer = append(ci.buffer, '\t') + } + } + + ci.buffer = append(ci.buffer, '\n') + + if len(ci.buffer) > ciBufferFlushSize { + ci.flush(ci.buffer) + // reset buffer, keep bytes for message identifier and length + ci.buffer = ci.buffer[:5] + } + + return driver.RowsAffected(0), nil +} + +func (ci *copyin) Close() (err error) { + if ci.closed { // Don't do anything, we're already closed + return nil + } + ci.closed = true + + if ci.isBad() { + return driver.ErrBadConn + } + defer ci.cn.errRecover(&err) + + if len(ci.buffer) > 0 { + ci.flush(ci.buffer) + } + // Avoid touching the scratch buffer as resploop could be using it. + err = ci.cn.sendSimpleMessage('c') + if err != nil { + return err + } + + <-ci.done + ci.cn.inCopy = false + + if ci.isErrorSet() { + err = ci.err + return err + } + return nil +} diff --git a/vendor/github.com/lib/pq/doc.go b/vendor/github.com/lib/pq/doc.go new file mode 100644 index 00000000..a1b02971 --- /dev/null +++ b/vendor/github.com/lib/pq/doc.go @@ -0,0 +1,245 @@ +/* +Package pq is a pure Go Postgres driver for the database/sql package. + +In most cases clients will use the database/sql package instead of +using this package directly. For example: + + import ( + "database/sql" + + _ "github.com/lib/pq" + ) + + func main() { + connStr := "user=pqgotest dbname=pqgotest sslmode=verify-full" + db, err := sql.Open("postgres", connStr) + if err != nil { + log.Fatal(err) + } + + age := 21 + rows, err := db.Query("SELECT name FROM users WHERE age = $1", age) + … + } + +You can also connect to a database using a URL. For example: + + connStr := "postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full" + db, err := sql.Open("postgres", connStr) + + +Connection String Parameters + + +Similarly to libpq, when establishing a connection using pq you are expected to +supply a connection string containing zero or more parameters. +A subset of the connection parameters supported by libpq are also supported by pq. +Additionally, pq also lets you specify run-time parameters (such as search_path or work_mem) +directly in the connection string. This is different from libpq, which does not allow +run-time parameters in the connection string, instead requiring you to supply +them in the options parameter. + +For compatibility with libpq, the following special connection parameters are +supported: + + * dbname - The name of the database to connect to + * user - The user to sign in as + * password - The user's password + * host - The host to connect to. Values that start with / are for unix + domain sockets. (default is localhost) + * port - The port to bind to. (default is 5432) + * sslmode - Whether or not to use SSL (default is require, this is not + the default for libpq) + * fallback_application_name - An application_name to fall back to if one isn't provided. + * connect_timeout - Maximum wait for connection, in seconds. Zero or + not specified means wait indefinitely. + * sslcert - Cert file location. The file must contain PEM encoded data. + * sslkey - Key file location. The file must contain PEM encoded data. + * sslrootcert - The location of the root certificate file. The file + must contain PEM encoded data. + +Valid values for sslmode are: + + * disable - No SSL + * require - Always SSL (skip verification) + * verify-ca - Always SSL (verify that the certificate presented by the + server was signed by a trusted CA) + * verify-full - Always SSL (verify that the certification presented by + the server was signed by a trusted CA and the server host name + matches the one in the certificate) + +See http://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING +for more information about connection string parameters. + +Use single quotes for values that contain whitespace: + + "user=pqgotest password='with spaces'" + +A backslash will escape the next character in values: + + "user=space\ man password='it\'s valid'" + +Note that the connection parameter client_encoding (which sets the +text encoding for the connection) may be set but must be "UTF8", +matching with the same rules as Postgres. It is an error to provide +any other value. + +In addition to the parameters listed above, any run-time parameter that can be +set at backend start time can be set in the connection string. For more +information, see +http://www.postgresql.org/docs/current/static/runtime-config.html. + +Most environment variables as specified at http://www.postgresql.org/docs/current/static/libpq-envars.html +supported by libpq are also supported by pq. If any of the environment +variables not supported by pq are set, pq will panic during connection +establishment. Environment variables have a lower precedence than explicitly +provided connection parameters. + +The pgpass mechanism as described in http://www.postgresql.org/docs/current/static/libpq-pgpass.html +is supported, but on Windows PGPASSFILE must be specified explicitly. + + +Queries + + +database/sql does not dictate any specific format for parameter +markers in query strings, and pq uses the Postgres-native ordinal markers, +as shown above. The same marker can be reused for the same parameter: + + rows, err := db.Query(`SELECT name FROM users WHERE favorite_fruit = $1 + OR age BETWEEN $2 AND $2 + 3`, "orange", 64) + +pq does not support the LastInsertId() method of the Result type in database/sql. +To return the identifier of an INSERT (or UPDATE or DELETE), use the Postgres +RETURNING clause with a standard Query or QueryRow call: + + var userid int + err := db.QueryRow(`INSERT INTO users(name, favorite_fruit, age) + VALUES('beatrice', 'starfruit', 93) RETURNING id`).Scan(&userid) + +For more details on RETURNING, see the Postgres documentation: + + http://www.postgresql.org/docs/current/static/sql-insert.html + http://www.postgresql.org/docs/current/static/sql-update.html + http://www.postgresql.org/docs/current/static/sql-delete.html + +For additional instructions on querying see the documentation for the database/sql package. + + +Data Types + + +Parameters pass through driver.DefaultParameterConverter before they are handled +by this package. When the binary_parameters connection option is enabled, +[]byte values are sent directly to the backend as data in binary format. + +This package returns the following types for values from the PostgreSQL backend: + + - integer types smallint, integer, and bigint are returned as int64 + - floating-point types real and double precision are returned as float64 + - character types char, varchar, and text are returned as string + - temporal types date, time, timetz, timestamp, and timestamptz are + returned as time.Time + - the boolean type is returned as bool + - the bytea type is returned as []byte + +All other types are returned directly from the backend as []byte values in text format. + + +Errors + + +pq may return errors of type *pq.Error which can be interrogated for error details: + + if err, ok := err.(*pq.Error); ok { + fmt.Println("pq error:", err.Code.Name()) + } + +See the pq.Error type for details. + + +Bulk imports + +You can perform bulk imports by preparing a statement returned by pq.CopyIn (or +pq.CopyInSchema) in an explicit transaction (sql.Tx). The returned statement +handle can then be repeatedly "executed" to copy data into the target table. +After all data has been processed you should call Exec() once with no arguments +to flush all buffered data. Any call to Exec() might return an error which +should be handled appropriately, but because of the internal buffering an error +returned by Exec() might not be related to the data passed in the call that +failed. + +CopyIn uses COPY FROM internally. It is not possible to COPY outside of an +explicit transaction in pq. + +Usage example: + + txn, err := db.Begin() + if err != nil { + log.Fatal(err) + } + + stmt, err := txn.Prepare(pq.CopyIn("users", "name", "age")) + if err != nil { + log.Fatal(err) + } + + for _, user := range users { + _, err = stmt.Exec(user.Name, int64(user.Age)) + if err != nil { + log.Fatal(err) + } + } + + _, err = stmt.Exec() + if err != nil { + log.Fatal(err) + } + + err = stmt.Close() + if err != nil { + log.Fatal(err) + } + + err = txn.Commit() + if err != nil { + log.Fatal(err) + } + + +Notifications + + +PostgreSQL supports a simple publish/subscribe model over database +connections. See http://www.postgresql.org/docs/current/static/sql-notify.html +for more information about the general mechanism. + +To start listening for notifications, you first have to open a new connection +to the database by calling NewListener. This connection can not be used for +anything other than LISTEN / NOTIFY. Calling Listen will open a "notification +channel"; once a notification channel is open, a notification generated on that +channel will effect a send on the Listener.Notify channel. A notification +channel will remain open until Unlisten is called, though connection loss might +result in some notifications being lost. To solve this problem, Listener sends +a nil pointer over the Notify channel any time the connection is re-established +following a connection loss. The application can get information about the +state of the underlying connection by setting an event callback in the call to +NewListener. + +A single Listener can safely be used from concurrent goroutines, which means +that there is often no need to create more than one Listener in your +application. However, a Listener is always connected to a single database, so +you will need to create a new Listener instance for every database you want to +receive notifications in. + +The channel name in both Listen and Unlisten is case sensitive, and can contain +any characters legal in an identifier (see +http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS +for more information). Note that the channel name will be truncated to 63 +bytes by the PostgreSQL server. + +You can find a complete, working example of Listener usage at +http://godoc.org/github.com/lib/pq/example/listen. + +*/ +package pq diff --git a/vendor/github.com/lib/pq/encode.go b/vendor/github.com/lib/pq/encode.go new file mode 100644 index 00000000..3b0d365f --- /dev/null +++ b/vendor/github.com/lib/pq/encode.go @@ -0,0 +1,603 @@ +package pq + +import ( + "bytes" + "database/sql/driver" + "encoding/binary" + "encoding/hex" + "errors" + "fmt" + "math" + "strconv" + "strings" + "sync" + "time" + + "github.com/lib/pq/oid" +) + +func binaryEncode(parameterStatus *parameterStatus, x interface{}) []byte { + switch v := x.(type) { + case []byte: + return v + default: + return encode(parameterStatus, x, oid.T_unknown) + } +} + +func encode(parameterStatus *parameterStatus, x interface{}, pgtypOid oid.Oid) []byte { + switch v := x.(type) { + case int64: + return strconv.AppendInt(nil, v, 10) + case float64: + return strconv.AppendFloat(nil, v, 'f', -1, 64) + case []byte: + if pgtypOid == oid.T_bytea { + return encodeBytea(parameterStatus.serverVersion, v) + } + + return v + case string: + if pgtypOid == oid.T_bytea { + return encodeBytea(parameterStatus.serverVersion, []byte(v)) + } + + return []byte(v) + case bool: + return strconv.AppendBool(nil, v) + case time.Time: + return formatTs(v) + + default: + errorf("encode: unknown type for %T", v) + } + + panic("not reached") +} + +func decode(parameterStatus *parameterStatus, s []byte, typ oid.Oid, f format) interface{} { + switch f { + case formatBinary: + return binaryDecode(parameterStatus, s, typ) + case formatText: + return textDecode(parameterStatus, s, typ) + default: + panic("not reached") + } +} + +func binaryDecode(parameterStatus *parameterStatus, s []byte, typ oid.Oid) interface{} { + switch typ { + case oid.T_bytea: + return s + case oid.T_int8: + return int64(binary.BigEndian.Uint64(s)) + case oid.T_int4: + return int64(int32(binary.BigEndian.Uint32(s))) + case oid.T_int2: + return int64(int16(binary.BigEndian.Uint16(s))) + case oid.T_uuid: + b, err := decodeUUIDBinary(s) + if err != nil { + panic(err) + } + return b + + default: + errorf("don't know how to decode binary parameter of type %d", uint32(typ)) + } + + panic("not reached") +} + +func textDecode(parameterStatus *parameterStatus, s []byte, typ oid.Oid) interface{} { + switch typ { + case oid.T_char, oid.T_varchar, oid.T_text: + return string(s) + case oid.T_bytea: + b, err := parseBytea(s) + if err != nil { + errorf("%s", err) + } + return b + case oid.T_timestamptz: + return parseTs(parameterStatus.currentLocation, string(s)) + case oid.T_timestamp, oid.T_date: + return parseTs(nil, string(s)) + case oid.T_time: + return mustParse("15:04:05", typ, s) + case oid.T_timetz: + return mustParse("15:04:05-07", typ, s) + case oid.T_bool: + return s[0] == 't' + case oid.T_int8, oid.T_int4, oid.T_int2: + i, err := strconv.ParseInt(string(s), 10, 64) + if err != nil { + errorf("%s", err) + } + return i + case oid.T_float4, oid.T_float8: + bits := 64 + if typ == oid.T_float4 { + bits = 32 + } + f, err := strconv.ParseFloat(string(s), bits) + if err != nil { + errorf("%s", err) + } + return f + } + + return s +} + +// appendEncodedText encodes item in text format as required by COPY +// and appends to buf +func appendEncodedText(parameterStatus *parameterStatus, buf []byte, x interface{}) []byte { + switch v := x.(type) { + case int64: + return strconv.AppendInt(buf, v, 10) + case float64: + return strconv.AppendFloat(buf, v, 'f', -1, 64) + case []byte: + encodedBytea := encodeBytea(parameterStatus.serverVersion, v) + return appendEscapedText(buf, string(encodedBytea)) + case string: + return appendEscapedText(buf, v) + case bool: + return strconv.AppendBool(buf, v) + case time.Time: + return append(buf, formatTs(v)...) + case nil: + return append(buf, "\\N"...) + default: + errorf("encode: unknown type for %T", v) + } + + panic("not reached") +} + +func appendEscapedText(buf []byte, text string) []byte { + escapeNeeded := false + startPos := 0 + var c byte + + // check if we need to escape + for i := 0; i < len(text); i++ { + c = text[i] + if c == '\\' || c == '\n' || c == '\r' || c == '\t' { + escapeNeeded = true + startPos = i + break + } + } + if !escapeNeeded { + return append(buf, text...) + } + + // copy till first char to escape, iterate the rest + result := append(buf, text[:startPos]...) + for i := startPos; i < len(text); i++ { + c = text[i] + switch c { + case '\\': + result = append(result, '\\', '\\') + case '\n': + result = append(result, '\\', 'n') + case '\r': + result = append(result, '\\', 'r') + case '\t': + result = append(result, '\\', 't') + default: + result = append(result, c) + } + } + return result +} + +func mustParse(f string, typ oid.Oid, s []byte) time.Time { + str := string(s) + + // check for a 30-minute-offset timezone + if (typ == oid.T_timestamptz || typ == oid.T_timetz) && + str[len(str)-3] == ':' { + f += ":00" + } + t, err := time.Parse(f, str) + if err != nil { + errorf("decode: %s", err) + } + return t +} + +var errInvalidTimestamp = errors.New("invalid timestamp") + +type timestampParser struct { + err error +} + +func (p *timestampParser) expect(str string, char byte, pos int) { + if p.err != nil { + return + } + if pos+1 > len(str) { + p.err = errInvalidTimestamp + return + } + if c := str[pos]; c != char && p.err == nil { + p.err = fmt.Errorf("expected '%v' at position %v; got '%v'", char, pos, c) + } +} + +func (p *timestampParser) mustAtoi(str string, begin int, end int) int { + if p.err != nil { + return 0 + } + if begin < 0 || end < 0 || begin > end || end > len(str) { + p.err = errInvalidTimestamp + return 0 + } + result, err := strconv.Atoi(str[begin:end]) + if err != nil { + if p.err == nil { + p.err = fmt.Errorf("expected number; got '%v'", str) + } + return 0 + } + return result +} + +// The location cache caches the time zones typically used by the client. +type locationCache struct { + cache map[int]*time.Location + lock sync.Mutex +} + +// All connections share the same list of timezones. Benchmarking shows that +// about 5% speed could be gained by putting the cache in the connection and +// losing the mutex, at the cost of a small amount of memory and a somewhat +// significant increase in code complexity. +var globalLocationCache = newLocationCache() + +func newLocationCache() *locationCache { + return &locationCache{cache: make(map[int]*time.Location)} +} + +// Returns the cached timezone for the specified offset, creating and caching +// it if necessary. +func (c *locationCache) getLocation(offset int) *time.Location { + c.lock.Lock() + defer c.lock.Unlock() + + location, ok := c.cache[offset] + if !ok { + location = time.FixedZone("", offset) + c.cache[offset] = location + } + + return location +} + +var infinityTsEnabled = false +var infinityTsNegative time.Time +var infinityTsPositive time.Time + +const ( + infinityTsEnabledAlready = "pq: infinity timestamp enabled already" + infinityTsNegativeMustBeSmaller = "pq: infinity timestamp: negative value must be smaller (before) than positive" +) + +// EnableInfinityTs controls the handling of Postgres' "-infinity" and +// "infinity" "timestamp"s. +// +// If EnableInfinityTs is not called, "-infinity" and "infinity" will return +// []byte("-infinity") and []byte("infinity") respectively, and potentially +// cause error "sql: Scan error on column index 0: unsupported driver -> Scan +// pair: []uint8 -> *time.Time", when scanning into a time.Time value. +// +// Once EnableInfinityTs has been called, all connections created using this +// driver will decode Postgres' "-infinity" and "infinity" for "timestamp", +// "timestamp with time zone" and "date" types to the predefined minimum and +// maximum times, respectively. When encoding time.Time values, any time which +// equals or precedes the predefined minimum time will be encoded to +// "-infinity". Any values at or past the maximum time will similarly be +// encoded to "infinity". +// +// If EnableInfinityTs is called with negative >= positive, it will panic. +// Calling EnableInfinityTs after a connection has been established results in +// undefined behavior. If EnableInfinityTs is called more than once, it will +// panic. +func EnableInfinityTs(negative time.Time, positive time.Time) { + if infinityTsEnabled { + panic(infinityTsEnabledAlready) + } + if !negative.Before(positive) { + panic(infinityTsNegativeMustBeSmaller) + } + infinityTsEnabled = true + infinityTsNegative = negative + infinityTsPositive = positive +} + +/* + * Testing might want to toggle infinityTsEnabled + */ +func disableInfinityTs() { + infinityTsEnabled = false +} + +// This is a time function specific to the Postgres default DateStyle +// setting ("ISO, MDY"), the only one we currently support. This +// accounts for the discrepancies between the parsing available with +// time.Parse and the Postgres date formatting quirks. +func parseTs(currentLocation *time.Location, str string) interface{} { + switch str { + case "-infinity": + if infinityTsEnabled { + return infinityTsNegative + } + return []byte(str) + case "infinity": + if infinityTsEnabled { + return infinityTsPositive + } + return []byte(str) + } + t, err := ParseTimestamp(currentLocation, str) + if err != nil { + panic(err) + } + return t +} + +// ParseTimestamp parses Postgres' text format. It returns a time.Time in +// currentLocation iff that time's offset agrees with the offset sent from the +// Postgres server. Otherwise, ParseTimestamp returns a time.Time with the +// fixed offset offset provided by the Postgres server. +func ParseTimestamp(currentLocation *time.Location, str string) (time.Time, error) { + p := timestampParser{} + + monSep := strings.IndexRune(str, '-') + // this is Gregorian year, not ISO Year + // In Gregorian system, the year 1 BC is followed by AD 1 + year := p.mustAtoi(str, 0, monSep) + daySep := monSep + 3 + month := p.mustAtoi(str, monSep+1, daySep) + p.expect(str, '-', daySep) + timeSep := daySep + 3 + day := p.mustAtoi(str, daySep+1, timeSep) + + minLen := monSep + len("01-01") + 1 + + isBC := strings.HasSuffix(str, " BC") + if isBC { + minLen += 3 + } + + var hour, minute, second int + if len(str) > minLen { + p.expect(str, ' ', timeSep) + minSep := timeSep + 3 + p.expect(str, ':', minSep) + hour = p.mustAtoi(str, timeSep+1, minSep) + secSep := minSep + 3 + p.expect(str, ':', secSep) + minute = p.mustAtoi(str, minSep+1, secSep) + secEnd := secSep + 3 + second = p.mustAtoi(str, secSep+1, secEnd) + } + remainderIdx := monSep + len("01-01 00:00:00") + 1 + // Three optional (but ordered) sections follow: the + // fractional seconds, the time zone offset, and the BC + // designation. We set them up here and adjust the other + // offsets if the preceding sections exist. + + nanoSec := 0 + tzOff := 0 + + if remainderIdx < len(str) && str[remainderIdx] == '.' { + fracStart := remainderIdx + 1 + fracOff := strings.IndexAny(str[fracStart:], "-+ ") + if fracOff < 0 { + fracOff = len(str) - fracStart + } + fracSec := p.mustAtoi(str, fracStart, fracStart+fracOff) + nanoSec = fracSec * (1000000000 / int(math.Pow(10, float64(fracOff)))) + + remainderIdx += fracOff + 1 + } + if tzStart := remainderIdx; tzStart < len(str) && (str[tzStart] == '-' || str[tzStart] == '+') { + // time zone separator is always '-' or '+' (UTC is +00) + var tzSign int + switch c := str[tzStart]; c { + case '-': + tzSign = -1 + case '+': + tzSign = +1 + default: + return time.Time{}, fmt.Errorf("expected '-' or '+' at position %v; got %v", tzStart, c) + } + tzHours := p.mustAtoi(str, tzStart+1, tzStart+3) + remainderIdx += 3 + var tzMin, tzSec int + if remainderIdx < len(str) && str[remainderIdx] == ':' { + tzMin = p.mustAtoi(str, remainderIdx+1, remainderIdx+3) + remainderIdx += 3 + } + if remainderIdx < len(str) && str[remainderIdx] == ':' { + tzSec = p.mustAtoi(str, remainderIdx+1, remainderIdx+3) + remainderIdx += 3 + } + tzOff = tzSign * ((tzHours * 60 * 60) + (tzMin * 60) + tzSec) + } + var isoYear int + + if isBC { + isoYear = 1 - year + remainderIdx += 3 + } else { + isoYear = year + } + if remainderIdx < len(str) { + return time.Time{}, fmt.Errorf("expected end of input, got %v", str[remainderIdx:]) + } + t := time.Date(isoYear, time.Month(month), day, + hour, minute, second, nanoSec, + globalLocationCache.getLocation(tzOff)) + + if currentLocation != nil { + // Set the location of the returned Time based on the session's + // TimeZone value, but only if the local time zone database agrees with + // the remote database on the offset. + lt := t.In(currentLocation) + _, newOff := lt.Zone() + if newOff == tzOff { + t = lt + } + } + + return t, p.err +} + +// formatTs formats t into a format postgres understands. +func formatTs(t time.Time) []byte { + if infinityTsEnabled { + // t <= -infinity : ! (t > -infinity) + if !t.After(infinityTsNegative) { + return []byte("-infinity") + } + // t >= infinity : ! (!t < infinity) + if !t.Before(infinityTsPositive) { + return []byte("infinity") + } + } + return FormatTimestamp(t) +} + +// FormatTimestamp formats t into Postgres' text format for timestamps. +func FormatTimestamp(t time.Time) []byte { + // Need to send dates before 0001 A.D. with " BC" suffix, instead of the + // minus sign preferred by Go. + // Beware, "0000" in ISO is "1 BC", "-0001" is "2 BC" and so on + bc := false + if t.Year() <= 0 { + // flip year sign, and add 1, e.g: "0" will be "1", and "-10" will be "11" + t = t.AddDate((-t.Year())*2+1, 0, 0) + bc = true + } + b := []byte(t.Format("2006-01-02 15:04:05.999999999Z07:00")) + + _, offset := t.Zone() + offset = offset % 60 + if offset != 0 { + // RFC3339Nano already printed the minus sign + if offset < 0 { + offset = -offset + } + + b = append(b, ':') + if offset < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(offset), 10) + } + + if bc { + b = append(b, " BC"...) + } + return b +} + +// Parse a bytea value received from the server. Both "hex" and the legacy +// "escape" format are supported. +func parseBytea(s []byte) (result []byte, err error) { + if len(s) >= 2 && bytes.Equal(s[:2], []byte("\\x")) { + // bytea_output = hex + s = s[2:] // trim off leading "\\x" + result = make([]byte, hex.DecodedLen(len(s))) + _, err := hex.Decode(result, s) + if err != nil { + return nil, err + } + } else { + // bytea_output = escape + for len(s) > 0 { + if s[0] == '\\' { + // escaped '\\' + if len(s) >= 2 && s[1] == '\\' { + result = append(result, '\\') + s = s[2:] + continue + } + + // '\\' followed by an octal number + if len(s) < 4 { + return nil, fmt.Errorf("invalid bytea sequence %v", s) + } + r, err := strconv.ParseInt(string(s[1:4]), 8, 9) + if err != nil { + return nil, fmt.Errorf("could not parse bytea value: %s", err.Error()) + } + result = append(result, byte(r)) + s = s[4:] + } else { + // We hit an unescaped, raw byte. Try to read in as many as + // possible in one go. + i := bytes.IndexByte(s, '\\') + if i == -1 { + result = append(result, s...) + break + } + result = append(result, s[:i]...) + s = s[i:] + } + } + } + + return result, nil +} + +func encodeBytea(serverVersion int, v []byte) (result []byte) { + if serverVersion >= 90000 { + // Use the hex format if we know that the server supports it + result = make([]byte, 2+hex.EncodedLen(len(v))) + result[0] = '\\' + result[1] = 'x' + hex.Encode(result[2:], v) + } else { + // .. or resort to "escape" + for _, b := range v { + if b == '\\' { + result = append(result, '\\', '\\') + } else if b < 0x20 || b > 0x7e { + result = append(result, []byte(fmt.Sprintf("\\%03o", b))...) + } else { + result = append(result, b) + } + } + } + + return result +} + +// NullTime represents a time.Time that may be null. NullTime implements the +// sql.Scanner interface so it can be used as a scan destination, similar to +// sql.NullString. +type NullTime struct { + Time time.Time + Valid bool // Valid is true if Time is not NULL +} + +// Scan implements the Scanner interface. +func (nt *NullTime) Scan(value interface{}) error { + nt.Time, nt.Valid = value.(time.Time) + return nil +} + +// Value implements the driver Valuer interface. +func (nt NullTime) Value() (driver.Value, error) { + if !nt.Valid { + return nil, nil + } + return nt.Time, nil +} diff --git a/vendor/github.com/lib/pq/error.go b/vendor/github.com/lib/pq/error.go new file mode 100644 index 00000000..96aae29c --- /dev/null +++ b/vendor/github.com/lib/pq/error.go @@ -0,0 +1,515 @@ +package pq + +import ( + "database/sql/driver" + "fmt" + "io" + "net" + "runtime" +) + +// Error severities +const ( + Efatal = "FATAL" + Epanic = "PANIC" + Ewarning = "WARNING" + Enotice = "NOTICE" + Edebug = "DEBUG" + Einfo = "INFO" + Elog = "LOG" +) + +// Error represents an error communicating with the server. +// +// See http://www.postgresql.org/docs/current/static/protocol-error-fields.html for details of the fields +type Error struct { + Severity string + Code ErrorCode + Message string + Detail string + Hint string + Position string + InternalPosition string + InternalQuery string + Where string + Schema string + Table string + Column string + DataTypeName string + Constraint string + File string + Line string + Routine string +} + +// ErrorCode is a five-character error code. +type ErrorCode string + +// Name returns a more human friendly rendering of the error code, namely the +// "condition name". +// +// See http://www.postgresql.org/docs/9.3/static/errcodes-appendix.html for +// details. +func (ec ErrorCode) Name() string { + return errorCodeNames[ec] +} + +// ErrorClass is only the class part of an error code. +type ErrorClass string + +// Name returns the condition name of an error class. It is equivalent to the +// condition name of the "standard" error code (i.e. the one having the last +// three characters "000"). +func (ec ErrorClass) Name() string { + return errorCodeNames[ErrorCode(ec+"000")] +} + +// Class returns the error class, e.g. "28". +// +// See http://www.postgresql.org/docs/9.3/static/errcodes-appendix.html for +// details. +func (ec ErrorCode) Class() ErrorClass { + return ErrorClass(ec[0:2]) +} + +// errorCodeNames is a mapping between the five-character error codes and the +// human readable "condition names". It is derived from the list at +// http://www.postgresql.org/docs/9.3/static/errcodes-appendix.html +var errorCodeNames = map[ErrorCode]string{ + // Class 00 - Successful Completion + "00000": "successful_completion", + // Class 01 - Warning + "01000": "warning", + "0100C": "dynamic_result_sets_returned", + "01008": "implicit_zero_bit_padding", + "01003": "null_value_eliminated_in_set_function", + "01007": "privilege_not_granted", + "01006": "privilege_not_revoked", + "01004": "string_data_right_truncation", + "01P01": "deprecated_feature", + // Class 02 - No Data (this is also a warning class per the SQL standard) + "02000": "no_data", + "02001": "no_additional_dynamic_result_sets_returned", + // Class 03 - SQL Statement Not Yet Complete + "03000": "sql_statement_not_yet_complete", + // Class 08 - Connection Exception + "08000": "connection_exception", + "08003": "connection_does_not_exist", + "08006": "connection_failure", + "08001": "sqlclient_unable_to_establish_sqlconnection", + "08004": "sqlserver_rejected_establishment_of_sqlconnection", + "08007": "transaction_resolution_unknown", + "08P01": "protocol_violation", + // Class 09 - Triggered Action Exception + "09000": "triggered_action_exception", + // Class 0A - Feature Not Supported + "0A000": "feature_not_supported", + // Class 0B - Invalid Transaction Initiation + "0B000": "invalid_transaction_initiation", + // Class 0F - Locator Exception + "0F000": "locator_exception", + "0F001": "invalid_locator_specification", + // Class 0L - Invalid Grantor + "0L000": "invalid_grantor", + "0LP01": "invalid_grant_operation", + // Class 0P - Invalid Role Specification + "0P000": "invalid_role_specification", + // Class 0Z - Diagnostics Exception + "0Z000": "diagnostics_exception", + "0Z002": "stacked_diagnostics_accessed_without_active_handler", + // Class 20 - Case Not Found + "20000": "case_not_found", + // Class 21 - Cardinality Violation + "21000": "cardinality_violation", + // Class 22 - Data Exception + "22000": "data_exception", + "2202E": "array_subscript_error", + "22021": "character_not_in_repertoire", + "22008": "datetime_field_overflow", + "22012": "division_by_zero", + "22005": "error_in_assignment", + "2200B": "escape_character_conflict", + "22022": "indicator_overflow", + "22015": "interval_field_overflow", + "2201E": "invalid_argument_for_logarithm", + "22014": "invalid_argument_for_ntile_function", + "22016": "invalid_argument_for_nth_value_function", + "2201F": "invalid_argument_for_power_function", + "2201G": "invalid_argument_for_width_bucket_function", + "22018": "invalid_character_value_for_cast", + "22007": "invalid_datetime_format", + "22019": "invalid_escape_character", + "2200D": "invalid_escape_octet", + "22025": "invalid_escape_sequence", + "22P06": "nonstandard_use_of_escape_character", + "22010": "invalid_indicator_parameter_value", + "22023": "invalid_parameter_value", + "2201B": "invalid_regular_expression", + "2201W": "invalid_row_count_in_limit_clause", + "2201X": "invalid_row_count_in_result_offset_clause", + "22009": "invalid_time_zone_displacement_value", + "2200C": "invalid_use_of_escape_character", + "2200G": "most_specific_type_mismatch", + "22004": "null_value_not_allowed", + "22002": "null_value_no_indicator_parameter", + "22003": "numeric_value_out_of_range", + "2200H": "sequence_generator_limit_exceeded", + "22026": "string_data_length_mismatch", + "22001": "string_data_right_truncation", + "22011": "substring_error", + "22027": "trim_error", + "22024": "unterminated_c_string", + "2200F": "zero_length_character_string", + "22P01": "floating_point_exception", + "22P02": "invalid_text_representation", + "22P03": "invalid_binary_representation", + "22P04": "bad_copy_file_format", + "22P05": "untranslatable_character", + "2200L": "not_an_xml_document", + "2200M": "invalid_xml_document", + "2200N": "invalid_xml_content", + "2200S": "invalid_xml_comment", + "2200T": "invalid_xml_processing_instruction", + // Class 23 - Integrity Constraint Violation + "23000": "integrity_constraint_violation", + "23001": "restrict_violation", + "23502": "not_null_violation", + "23503": "foreign_key_violation", + "23505": "unique_violation", + "23514": "check_violation", + "23P01": "exclusion_violation", + // Class 24 - Invalid Cursor State + "24000": "invalid_cursor_state", + // Class 25 - Invalid Transaction State + "25000": "invalid_transaction_state", + "25001": "active_sql_transaction", + "25002": "branch_transaction_already_active", + "25008": "held_cursor_requires_same_isolation_level", + "25003": "inappropriate_access_mode_for_branch_transaction", + "25004": "inappropriate_isolation_level_for_branch_transaction", + "25005": "no_active_sql_transaction_for_branch_transaction", + "25006": "read_only_sql_transaction", + "25007": "schema_and_data_statement_mixing_not_supported", + "25P01": "no_active_sql_transaction", + "25P02": "in_failed_sql_transaction", + // Class 26 - Invalid SQL Statement Name + "26000": "invalid_sql_statement_name", + // Class 27 - Triggered Data Change Violation + "27000": "triggered_data_change_violation", + // Class 28 - Invalid Authorization Specification + "28000": "invalid_authorization_specification", + "28P01": "invalid_password", + // Class 2B - Dependent Privilege Descriptors Still Exist + "2B000": "dependent_privilege_descriptors_still_exist", + "2BP01": "dependent_objects_still_exist", + // Class 2D - Invalid Transaction Termination + "2D000": "invalid_transaction_termination", + // Class 2F - SQL Routine Exception + "2F000": "sql_routine_exception", + "2F005": "function_executed_no_return_statement", + "2F002": "modifying_sql_data_not_permitted", + "2F003": "prohibited_sql_statement_attempted", + "2F004": "reading_sql_data_not_permitted", + // Class 34 - Invalid Cursor Name + "34000": "invalid_cursor_name", + // Class 38 - External Routine Exception + "38000": "external_routine_exception", + "38001": "containing_sql_not_permitted", + "38002": "modifying_sql_data_not_permitted", + "38003": "prohibited_sql_statement_attempted", + "38004": "reading_sql_data_not_permitted", + // Class 39 - External Routine Invocation Exception + "39000": "external_routine_invocation_exception", + "39001": "invalid_sqlstate_returned", + "39004": "null_value_not_allowed", + "39P01": "trigger_protocol_violated", + "39P02": "srf_protocol_violated", + // Class 3B - Savepoint Exception + "3B000": "savepoint_exception", + "3B001": "invalid_savepoint_specification", + // Class 3D - Invalid Catalog Name + "3D000": "invalid_catalog_name", + // Class 3F - Invalid Schema Name + "3F000": "invalid_schema_name", + // Class 40 - Transaction Rollback + "40000": "transaction_rollback", + "40002": "transaction_integrity_constraint_violation", + "40001": "serialization_failure", + "40003": "statement_completion_unknown", + "40P01": "deadlock_detected", + // Class 42 - Syntax Error or Access Rule Violation + "42000": "syntax_error_or_access_rule_violation", + "42601": "syntax_error", + "42501": "insufficient_privilege", + "42846": "cannot_coerce", + "42803": "grouping_error", + "42P20": "windowing_error", + "42P19": "invalid_recursion", + "42830": "invalid_foreign_key", + "42602": "invalid_name", + "42622": "name_too_long", + "42939": "reserved_name", + "42804": "datatype_mismatch", + "42P18": "indeterminate_datatype", + "42P21": "collation_mismatch", + "42P22": "indeterminate_collation", + "42809": "wrong_object_type", + "42703": "undefined_column", + "42883": "undefined_function", + "42P01": "undefined_table", + "42P02": "undefined_parameter", + "42704": "undefined_object", + "42701": "duplicate_column", + "42P03": "duplicate_cursor", + "42P04": "duplicate_database", + "42723": "duplicate_function", + "42P05": "duplicate_prepared_statement", + "42P06": "duplicate_schema", + "42P07": "duplicate_table", + "42712": "duplicate_alias", + "42710": "duplicate_object", + "42702": "ambiguous_column", + "42725": "ambiguous_function", + "42P08": "ambiguous_parameter", + "42P09": "ambiguous_alias", + "42P10": "invalid_column_reference", + "42611": "invalid_column_definition", + "42P11": "invalid_cursor_definition", + "42P12": "invalid_database_definition", + "42P13": "invalid_function_definition", + "42P14": "invalid_prepared_statement_definition", + "42P15": "invalid_schema_definition", + "42P16": "invalid_table_definition", + "42P17": "invalid_object_definition", + // Class 44 - WITH CHECK OPTION Violation + "44000": "with_check_option_violation", + // Class 53 - Insufficient Resources + "53000": "insufficient_resources", + "53100": "disk_full", + "53200": "out_of_memory", + "53300": "too_many_connections", + "53400": "configuration_limit_exceeded", + // Class 54 - Program Limit Exceeded + "54000": "program_limit_exceeded", + "54001": "statement_too_complex", + "54011": "too_many_columns", + "54023": "too_many_arguments", + // Class 55 - Object Not In Prerequisite State + "55000": "object_not_in_prerequisite_state", + "55006": "object_in_use", + "55P02": "cant_change_runtime_param", + "55P03": "lock_not_available", + // Class 57 - Operator Intervention + "57000": "operator_intervention", + "57014": "query_canceled", + "57P01": "admin_shutdown", + "57P02": "crash_shutdown", + "57P03": "cannot_connect_now", + "57P04": "database_dropped", + // Class 58 - System Error (errors external to PostgreSQL itself) + "58000": "system_error", + "58030": "io_error", + "58P01": "undefined_file", + "58P02": "duplicate_file", + // Class F0 - Configuration File Error + "F0000": "config_file_error", + "F0001": "lock_file_exists", + // Class HV - Foreign Data Wrapper Error (SQL/MED) + "HV000": "fdw_error", + "HV005": "fdw_column_name_not_found", + "HV002": "fdw_dynamic_parameter_value_needed", + "HV010": "fdw_function_sequence_error", + "HV021": "fdw_inconsistent_descriptor_information", + "HV024": "fdw_invalid_attribute_value", + "HV007": "fdw_invalid_column_name", + "HV008": "fdw_invalid_column_number", + "HV004": "fdw_invalid_data_type", + "HV006": "fdw_invalid_data_type_descriptors", + "HV091": "fdw_invalid_descriptor_field_identifier", + "HV00B": "fdw_invalid_handle", + "HV00C": "fdw_invalid_option_index", + "HV00D": "fdw_invalid_option_name", + "HV090": "fdw_invalid_string_length_or_buffer_length", + "HV00A": "fdw_invalid_string_format", + "HV009": "fdw_invalid_use_of_null_pointer", + "HV014": "fdw_too_many_handles", + "HV001": "fdw_out_of_memory", + "HV00P": "fdw_no_schemas", + "HV00J": "fdw_option_name_not_found", + "HV00K": "fdw_reply_handle", + "HV00Q": "fdw_schema_not_found", + "HV00R": "fdw_table_not_found", + "HV00L": "fdw_unable_to_create_execution", + "HV00M": "fdw_unable_to_create_reply", + "HV00N": "fdw_unable_to_establish_connection", + // Class P0 - PL/pgSQL Error + "P0000": "plpgsql_error", + "P0001": "raise_exception", + "P0002": "no_data_found", + "P0003": "too_many_rows", + // Class XX - Internal Error + "XX000": "internal_error", + "XX001": "data_corrupted", + "XX002": "index_corrupted", +} + +func parseError(r *readBuf) *Error { + err := new(Error) + for t := r.byte(); t != 0; t = r.byte() { + msg := r.string() + switch t { + case 'S': + err.Severity = msg + case 'C': + err.Code = ErrorCode(msg) + case 'M': + err.Message = msg + case 'D': + err.Detail = msg + case 'H': + err.Hint = msg + case 'P': + err.Position = msg + case 'p': + err.InternalPosition = msg + case 'q': + err.InternalQuery = msg + case 'W': + err.Where = msg + case 's': + err.Schema = msg + case 't': + err.Table = msg + case 'c': + err.Column = msg + case 'd': + err.DataTypeName = msg + case 'n': + err.Constraint = msg + case 'F': + err.File = msg + case 'L': + err.Line = msg + case 'R': + err.Routine = msg + } + } + return err +} + +// Fatal returns true if the Error Severity is fatal. +func (err *Error) Fatal() bool { + return err.Severity == Efatal +} + +// Get implements the legacy PGError interface. New code should use the fields +// of the Error struct directly. +func (err *Error) Get(k byte) (v string) { + switch k { + case 'S': + return err.Severity + case 'C': + return string(err.Code) + case 'M': + return err.Message + case 'D': + return err.Detail + case 'H': + return err.Hint + case 'P': + return err.Position + case 'p': + return err.InternalPosition + case 'q': + return err.InternalQuery + case 'W': + return err.Where + case 's': + return err.Schema + case 't': + return err.Table + case 'c': + return err.Column + case 'd': + return err.DataTypeName + case 'n': + return err.Constraint + case 'F': + return err.File + case 'L': + return err.Line + case 'R': + return err.Routine + } + return "" +} + +func (err Error) Error() string { + return "pq: " + err.Message +} + +// PGError is an interface used by previous versions of pq. It is provided +// only to support legacy code. New code should use the Error type. +type PGError interface { + Error() string + Fatal() bool + Get(k byte) (v string) +} + +func errorf(s string, args ...interface{}) { + panic(fmt.Errorf("pq: %s", fmt.Sprintf(s, args...))) +} + +// TODO(ainar-g) Rename to errorf after removing panics. +func fmterrorf(s string, args ...interface{}) error { + return fmt.Errorf("pq: %s", fmt.Sprintf(s, args...)) +} + +func errRecoverNoErrBadConn(err *error) { + e := recover() + if e == nil { + // Do nothing + return + } + var ok bool + *err, ok = e.(error) + if !ok { + *err = fmt.Errorf("pq: unexpected error: %#v", e) + } +} + +func (c *conn) errRecover(err *error) { + e := recover() + switch v := e.(type) { + case nil: + // Do nothing + case runtime.Error: + c.bad = true + panic(v) + case *Error: + if v.Fatal() { + *err = driver.ErrBadConn + } else { + *err = v + } + case *net.OpError: + c.bad = true + *err = v + case error: + if v == io.EOF || v.(error).Error() == "remote error: handshake failure" { + *err = driver.ErrBadConn + } else { + *err = v + } + + default: + c.bad = true + panic(fmt.Sprintf("unknown error: %#v", e)) + } + + // Any time we return ErrBadConn, we need to remember it since *Tx doesn't + // mark the connection bad in database/sql. + if *err == driver.ErrBadConn { + c.bad = true + } +} diff --git a/vendor/github.com/lib/pq/go.mod b/vendor/github.com/lib/pq/go.mod new file mode 100644 index 00000000..edf0b343 --- /dev/null +++ b/vendor/github.com/lib/pq/go.mod @@ -0,0 +1 @@ +module github.com/lib/pq diff --git a/vendor/github.com/lib/pq/notify.go b/vendor/github.com/lib/pq/notify.go new file mode 100644 index 00000000..850bb904 --- /dev/null +++ b/vendor/github.com/lib/pq/notify.go @@ -0,0 +1,797 @@ +package pq + +// Package pq is a pure Go Postgres driver for the database/sql package. +// This module contains support for Postgres LISTEN/NOTIFY. + +import ( + "errors" + "fmt" + "sync" + "sync/atomic" + "time" +) + +// Notification represents a single notification from the database. +type Notification struct { + // Process ID (PID) of the notifying postgres backend. + BePid int + // Name of the channel the notification was sent on. + Channel string + // Payload, or the empty string if unspecified. + Extra string +} + +func recvNotification(r *readBuf) *Notification { + bePid := r.int32() + channel := r.string() + extra := r.string() + + return &Notification{bePid, channel, extra} +} + +const ( + connStateIdle int32 = iota + connStateExpectResponse + connStateExpectReadyForQuery +) + +type message struct { + typ byte + err error +} + +var errListenerConnClosed = errors.New("pq: ListenerConn has been closed") + +// ListenerConn is a low-level interface for waiting for notifications. You +// should use Listener instead. +type ListenerConn struct { + // guards cn and err + connectionLock sync.Mutex + cn *conn + err error + + connState int32 + + // the sending goroutine will be holding this lock + senderLock sync.Mutex + + notificationChan chan<- *Notification + + replyChan chan message +} + +// NewListenerConn creates a new ListenerConn. Use NewListener instead. +func NewListenerConn(name string, notificationChan chan<- *Notification) (*ListenerConn, error) { + return newDialListenerConn(defaultDialer{}, name, notificationChan) +} + +func newDialListenerConn(d Dialer, name string, c chan<- *Notification) (*ListenerConn, error) { + cn, err := DialOpen(d, name) + if err != nil { + return nil, err + } + + l := &ListenerConn{ + cn: cn.(*conn), + notificationChan: c, + connState: connStateIdle, + replyChan: make(chan message, 2), + } + + go l.listenerConnMain() + + return l, nil +} + +// We can only allow one goroutine at a time to be running a query on the +// connection for various reasons, so the goroutine sending on the connection +// must be holding senderLock. +// +// Returns an error if an unrecoverable error has occurred and the ListenerConn +// should be abandoned. +func (l *ListenerConn) acquireSenderLock() error { + // we must acquire senderLock first to avoid deadlocks; see ExecSimpleQuery + l.senderLock.Lock() + + l.connectionLock.Lock() + err := l.err + l.connectionLock.Unlock() + if err != nil { + l.senderLock.Unlock() + return err + } + return nil +} + +func (l *ListenerConn) releaseSenderLock() { + l.senderLock.Unlock() +} + +// setState advances the protocol state to newState. Returns false if moving +// to that state from the current state is not allowed. +func (l *ListenerConn) setState(newState int32) bool { + var expectedState int32 + + switch newState { + case connStateIdle: + expectedState = connStateExpectReadyForQuery + case connStateExpectResponse: + expectedState = connStateIdle + case connStateExpectReadyForQuery: + expectedState = connStateExpectResponse + default: + panic(fmt.Sprintf("unexpected listenerConnState %d", newState)) + } + + return atomic.CompareAndSwapInt32(&l.connState, expectedState, newState) +} + +// Main logic is here: receive messages from the postgres backend, forward +// notifications and query replies and keep the internal state in sync with the +// protocol state. Returns when the connection has been lost, is about to go +// away or should be discarded because we couldn't agree on the state with the +// server backend. +func (l *ListenerConn) listenerConnLoop() (err error) { + defer errRecoverNoErrBadConn(&err) + + r := &readBuf{} + for { + t, err := l.cn.recvMessage(r) + if err != nil { + return err + } + + switch t { + case 'A': + // recvNotification copies all the data so we don't need to worry + // about the scratch buffer being overwritten. + l.notificationChan <- recvNotification(r) + + case 'T', 'D': + // only used by tests; ignore + + case 'E': + // We might receive an ErrorResponse even when not in a query; it + // is expected that the server will close the connection after + // that, but we should make sure that the error we display is the + // one from the stray ErrorResponse, not io.ErrUnexpectedEOF. + if !l.setState(connStateExpectReadyForQuery) { + return parseError(r) + } + l.replyChan <- message{t, parseError(r)} + + case 'C', 'I': + if !l.setState(connStateExpectReadyForQuery) { + // protocol out of sync + return fmt.Errorf("unexpected CommandComplete") + } + // ExecSimpleQuery doesn't need to know about this message + + case 'Z': + if !l.setState(connStateIdle) { + // protocol out of sync + return fmt.Errorf("unexpected ReadyForQuery") + } + l.replyChan <- message{t, nil} + + case 'N', 'S': + // ignore + default: + return fmt.Errorf("unexpected message %q from server in listenerConnLoop", t) + } + } +} + +// This is the main routine for the goroutine receiving on the database +// connection. Most of the main logic is in listenerConnLoop. +func (l *ListenerConn) listenerConnMain() { + err := l.listenerConnLoop() + + // listenerConnLoop terminated; we're done, but we still have to clean up. + // Make sure nobody tries to start any new queries by making sure the err + // pointer is set. It is important that we do not overwrite its value; a + // connection could be closed by either this goroutine or one sending on + // the connection -- whoever closes the connection is assumed to have the + // more meaningful error message (as the other one will probably get + // net.errClosed), so that goroutine sets the error we expose while the + // other error is discarded. If the connection is lost while two + // goroutines are operating on the socket, it probably doesn't matter which + // error we expose so we don't try to do anything more complex. + l.connectionLock.Lock() + if l.err == nil { + l.err = err + } + l.cn.Close() + l.connectionLock.Unlock() + + // There might be a query in-flight; make sure nobody's waiting for a + // response to it, since there's not going to be one. + close(l.replyChan) + + // let the listener know we're done + close(l.notificationChan) + + // this ListenerConn is done +} + +// Listen sends a LISTEN query to the server. See ExecSimpleQuery. +func (l *ListenerConn) Listen(channel string) (bool, error) { + return l.ExecSimpleQuery("LISTEN " + QuoteIdentifier(channel)) +} + +// Unlisten sends an UNLISTEN query to the server. See ExecSimpleQuery. +func (l *ListenerConn) Unlisten(channel string) (bool, error) { + return l.ExecSimpleQuery("UNLISTEN " + QuoteIdentifier(channel)) +} + +// UnlistenAll sends an `UNLISTEN *` query to the server. See ExecSimpleQuery. +func (l *ListenerConn) UnlistenAll() (bool, error) { + return l.ExecSimpleQuery("UNLISTEN *") +} + +// Ping the remote server to make sure it's alive. Non-nil error means the +// connection has failed and should be abandoned. +func (l *ListenerConn) Ping() error { + sent, err := l.ExecSimpleQuery("") + if !sent { + return err + } + if err != nil { + // shouldn't happen + panic(err) + } + return nil +} + +// Attempt to send a query on the connection. Returns an error if sending the +// query failed, and the caller should initiate closure of this connection. +// The caller must be holding senderLock (see acquireSenderLock and +// releaseSenderLock). +func (l *ListenerConn) sendSimpleQuery(q string) (err error) { + defer errRecoverNoErrBadConn(&err) + + // must set connection state before sending the query + if !l.setState(connStateExpectResponse) { + panic("two queries running at the same time") + } + + // Can't use l.cn.writeBuf here because it uses the scratch buffer which + // might get overwritten by listenerConnLoop. + b := &writeBuf{ + buf: []byte("Q\x00\x00\x00\x00"), + pos: 1, + } + b.string(q) + l.cn.send(b) + + return nil +} + +// ExecSimpleQuery executes a "simple query" (i.e. one with no bindable +// parameters) on the connection. The possible return values are: +// 1) "executed" is true; the query was executed to completion on the +// database server. If the query failed, err will be set to the error +// returned by the database, otherwise err will be nil. +// 2) If "executed" is false, the query could not be executed on the remote +// server. err will be non-nil. +// +// After a call to ExecSimpleQuery has returned an executed=false value, the +// connection has either been closed or will be closed shortly thereafter, and +// all subsequently executed queries will return an error. +func (l *ListenerConn) ExecSimpleQuery(q string) (executed bool, err error) { + if err = l.acquireSenderLock(); err != nil { + return false, err + } + defer l.releaseSenderLock() + + err = l.sendSimpleQuery(q) + if err != nil { + // We can't know what state the protocol is in, so we need to abandon + // this connection. + l.connectionLock.Lock() + // Set the error pointer if it hasn't been set already; see + // listenerConnMain. + if l.err == nil { + l.err = err + } + l.connectionLock.Unlock() + l.cn.c.Close() + return false, err + } + + // now we just wait for a reply.. + for { + m, ok := <-l.replyChan + if !ok { + // We lost the connection to server, don't bother waiting for a + // a response. err should have been set already. + l.connectionLock.Lock() + err := l.err + l.connectionLock.Unlock() + return false, err + } + switch m.typ { + case 'Z': + // sanity check + if m.err != nil { + panic("m.err != nil") + } + // done; err might or might not be set + return true, err + + case 'E': + // sanity check + if m.err == nil { + panic("m.err == nil") + } + // server responded with an error; ReadyForQuery to follow + err = m.err + + default: + return false, fmt.Errorf("unknown response for simple query: %q", m.typ) + } + } +} + +// Close closes the connection. +func (l *ListenerConn) Close() error { + l.connectionLock.Lock() + if l.err != nil { + l.connectionLock.Unlock() + return errListenerConnClosed + } + l.err = errListenerConnClosed + l.connectionLock.Unlock() + // We can't send anything on the connection without holding senderLock. + // Simply close the net.Conn to wake up everyone operating on it. + return l.cn.c.Close() +} + +// Err returns the reason the connection was closed. It is not safe to call +// this function until l.Notify has been closed. +func (l *ListenerConn) Err() error { + return l.err +} + +var errListenerClosed = errors.New("pq: Listener has been closed") + +// ErrChannelAlreadyOpen is returned from Listen when a channel is already +// open. +var ErrChannelAlreadyOpen = errors.New("pq: channel is already open") + +// ErrChannelNotOpen is returned from Unlisten when a channel is not open. +var ErrChannelNotOpen = errors.New("pq: channel is not open") + +// ListenerEventType is an enumeration of listener event types. +type ListenerEventType int + +const ( + // ListenerEventConnected is emitted only when the database connection + // has been initially initialized. The err argument of the callback + // will always be nil. + ListenerEventConnected ListenerEventType = iota + + // ListenerEventDisconnected is emitted after a database connection has + // been lost, either because of an error or because Close has been + // called. The err argument will be set to the reason the database + // connection was lost. + ListenerEventDisconnected + + // ListenerEventReconnected is emitted after a database connection has + // been re-established after connection loss. The err argument of the + // callback will always be nil. After this event has been emitted, a + // nil pq.Notification is sent on the Listener.Notify channel. + ListenerEventReconnected + + // ListenerEventConnectionAttemptFailed is emitted after a connection + // to the database was attempted, but failed. The err argument will be + // set to an error describing why the connection attempt did not + // succeed. + ListenerEventConnectionAttemptFailed +) + +// EventCallbackType is the event callback type. See also ListenerEventType +// constants' documentation. +type EventCallbackType func(event ListenerEventType, err error) + +// Listener provides an interface for listening to notifications from a +// PostgreSQL database. For general usage information, see section +// "Notifications". +// +// Listener can safely be used from concurrently running goroutines. +type Listener struct { + // Channel for receiving notifications from the database. In some cases a + // nil value will be sent. See section "Notifications" above. + Notify chan *Notification + + name string + minReconnectInterval time.Duration + maxReconnectInterval time.Duration + dialer Dialer + eventCallback EventCallbackType + + lock sync.Mutex + isClosed bool + reconnectCond *sync.Cond + cn *ListenerConn + connNotificationChan <-chan *Notification + channels map[string]struct{} +} + +// NewListener creates a new database connection dedicated to LISTEN / NOTIFY. +// +// name should be set to a connection string to be used to establish the +// database connection (see section "Connection String Parameters" above). +// +// minReconnectInterval controls the duration to wait before trying to +// re-establish the database connection after connection loss. After each +// consecutive failure this interval is doubled, until maxReconnectInterval is +// reached. Successfully completing the connection establishment procedure +// resets the interval back to minReconnectInterval. +// +// The last parameter eventCallback can be set to a function which will be +// called by the Listener when the state of the underlying database connection +// changes. This callback will be called by the goroutine which dispatches the +// notifications over the Notify channel, so you should try to avoid doing +// potentially time-consuming operations from the callback. +func NewListener(name string, + minReconnectInterval time.Duration, + maxReconnectInterval time.Duration, + eventCallback EventCallbackType) *Listener { + return NewDialListener(defaultDialer{}, name, minReconnectInterval, maxReconnectInterval, eventCallback) +} + +// NewDialListener is like NewListener but it takes a Dialer. +func NewDialListener(d Dialer, + name string, + minReconnectInterval time.Duration, + maxReconnectInterval time.Duration, + eventCallback EventCallbackType) *Listener { + + l := &Listener{ + name: name, + minReconnectInterval: minReconnectInterval, + maxReconnectInterval: maxReconnectInterval, + dialer: d, + eventCallback: eventCallback, + + channels: make(map[string]struct{}), + + Notify: make(chan *Notification, 32), + } + l.reconnectCond = sync.NewCond(&l.lock) + + go l.listenerMain() + + return l +} + +// NotificationChannel returns the notification channel for this listener. +// This is the same channel as Notify, and will not be recreated during the +// life time of the Listener. +func (l *Listener) NotificationChannel() <-chan *Notification { + return l.Notify +} + +// Listen starts listening for notifications on a channel. Calls to this +// function will block until an acknowledgement has been received from the +// server. Note that Listener automatically re-establishes the connection +// after connection loss, so this function may block indefinitely if the +// connection can not be re-established. +// +// Listen will only fail in three conditions: +// 1) The channel is already open. The returned error will be +// ErrChannelAlreadyOpen. +// 2) The query was executed on the remote server, but PostgreSQL returned an +// error message in response to the query. The returned error will be a +// pq.Error containing the information the server supplied. +// 3) Close is called on the Listener before the request could be completed. +// +// The channel name is case-sensitive. +func (l *Listener) Listen(channel string) error { + l.lock.Lock() + defer l.lock.Unlock() + + if l.isClosed { + return errListenerClosed + } + + // The server allows you to issue a LISTEN on a channel which is already + // open, but it seems useful to be able to detect this case to spot for + // mistakes in application logic. If the application genuinely does't + // care, it can check the exported error and ignore it. + _, exists := l.channels[channel] + if exists { + return ErrChannelAlreadyOpen + } + + if l.cn != nil { + // If gotResponse is true but error is set, the query was executed on + // the remote server, but resulted in an error. This should be + // relatively rare, so it's fine if we just pass the error to our + // caller. However, if gotResponse is false, we could not complete the + // query on the remote server and our underlying connection is about + // to go away, so we only add relname to l.channels, and wait for + // resync() to take care of the rest. + gotResponse, err := l.cn.Listen(channel) + if gotResponse && err != nil { + return err + } + } + + l.channels[channel] = struct{}{} + for l.cn == nil { + l.reconnectCond.Wait() + // we let go of the mutex for a while + if l.isClosed { + return errListenerClosed + } + } + + return nil +} + +// Unlisten removes a channel from the Listener's channel list. Returns +// ErrChannelNotOpen if the Listener is not listening on the specified channel. +// Returns immediately with no error if there is no connection. Note that you +// might still get notifications for this channel even after Unlisten has +// returned. +// +// The channel name is case-sensitive. +func (l *Listener) Unlisten(channel string) error { + l.lock.Lock() + defer l.lock.Unlock() + + if l.isClosed { + return errListenerClosed + } + + // Similarly to LISTEN, this is not an error in Postgres, but it seems + // useful to distinguish from the normal conditions. + _, exists := l.channels[channel] + if !exists { + return ErrChannelNotOpen + } + + if l.cn != nil { + // Similarly to Listen (see comment in that function), the caller + // should only be bothered with an error if it came from the backend as + // a response to our query. + gotResponse, err := l.cn.Unlisten(channel) + if gotResponse && err != nil { + return err + } + } + + // Don't bother waiting for resync if there's no connection. + delete(l.channels, channel) + return nil +} + +// UnlistenAll removes all channels from the Listener's channel list. Returns +// immediately with no error if there is no connection. Note that you might +// still get notifications for any of the deleted channels even after +// UnlistenAll has returned. +func (l *Listener) UnlistenAll() error { + l.lock.Lock() + defer l.lock.Unlock() + + if l.isClosed { + return errListenerClosed + } + + if l.cn != nil { + // Similarly to Listen (see comment in that function), the caller + // should only be bothered with an error if it came from the backend as + // a response to our query. + gotResponse, err := l.cn.UnlistenAll() + if gotResponse && err != nil { + return err + } + } + + // Don't bother waiting for resync if there's no connection. + l.channels = make(map[string]struct{}) + return nil +} + +// Ping the remote server to make sure it's alive. Non-nil return value means +// that there is no active connection. +func (l *Listener) Ping() error { + l.lock.Lock() + defer l.lock.Unlock() + + if l.isClosed { + return errListenerClosed + } + if l.cn == nil { + return errors.New("no connection") + } + + return l.cn.Ping() +} + +// Clean up after losing the server connection. Returns l.cn.Err(), which +// should have the reason the connection was lost. +func (l *Listener) disconnectCleanup() error { + l.lock.Lock() + defer l.lock.Unlock() + + // sanity check; can't look at Err() until the channel has been closed + select { + case _, ok := <-l.connNotificationChan: + if ok { + panic("connNotificationChan not closed") + } + default: + panic("connNotificationChan not closed") + } + + err := l.cn.Err() + l.cn.Close() + l.cn = nil + return err +} + +// Synchronize the list of channels we want to be listening on with the server +// after the connection has been established. +func (l *Listener) resync(cn *ListenerConn, notificationChan <-chan *Notification) error { + doneChan := make(chan error) + go func(notificationChan <-chan *Notification) { + for channel := range l.channels { + // If we got a response, return that error to our caller as it's + // going to be more descriptive than cn.Err(). + gotResponse, err := cn.Listen(channel) + if gotResponse && err != nil { + doneChan <- err + return + } + + // If we couldn't reach the server, wait for notificationChan to + // close and then return the error message from the connection, as + // per ListenerConn's interface. + if err != nil { + for range notificationChan { + } + doneChan <- cn.Err() + return + } + } + doneChan <- nil + }(notificationChan) + + // Ignore notifications while synchronization is going on to avoid + // deadlocks. We have to send a nil notification over Notify anyway as + // we can't possibly know which notifications (if any) were lost while + // the connection was down, so there's no reason to try and process + // these messages at all. + for { + select { + case _, ok := <-notificationChan: + if !ok { + notificationChan = nil + } + + case err := <-doneChan: + return err + } + } +} + +// caller should NOT be holding l.lock +func (l *Listener) closed() bool { + l.lock.Lock() + defer l.lock.Unlock() + + return l.isClosed +} + +func (l *Listener) connect() error { + notificationChan := make(chan *Notification, 32) + cn, err := newDialListenerConn(l.dialer, l.name, notificationChan) + if err != nil { + return err + } + + l.lock.Lock() + defer l.lock.Unlock() + + err = l.resync(cn, notificationChan) + if err != nil { + cn.Close() + return err + } + + l.cn = cn + l.connNotificationChan = notificationChan + l.reconnectCond.Broadcast() + + return nil +} + +// Close disconnects the Listener from the database and shuts it down. +// Subsequent calls to its methods will return an error. Close returns an +// error if the connection has already been closed. +func (l *Listener) Close() error { + l.lock.Lock() + defer l.lock.Unlock() + + if l.isClosed { + return errListenerClosed + } + + if l.cn != nil { + l.cn.Close() + } + l.isClosed = true + + // Unblock calls to Listen() + l.reconnectCond.Broadcast() + + return nil +} + +func (l *Listener) emitEvent(event ListenerEventType, err error) { + if l.eventCallback != nil { + l.eventCallback(event, err) + } +} + +// Main logic here: maintain a connection to the server when possible, wait +// for notifications and emit events. +func (l *Listener) listenerConnLoop() { + var nextReconnect time.Time + + reconnectInterval := l.minReconnectInterval + for { + for { + err := l.connect() + if err == nil { + break + } + + if l.closed() { + return + } + l.emitEvent(ListenerEventConnectionAttemptFailed, err) + + time.Sleep(reconnectInterval) + reconnectInterval *= 2 + if reconnectInterval > l.maxReconnectInterval { + reconnectInterval = l.maxReconnectInterval + } + } + + if nextReconnect.IsZero() { + l.emitEvent(ListenerEventConnected, nil) + } else { + l.emitEvent(ListenerEventReconnected, nil) + l.Notify <- nil + } + + reconnectInterval = l.minReconnectInterval + nextReconnect = time.Now().Add(reconnectInterval) + + for { + notification, ok := <-l.connNotificationChan + if !ok { + // lost connection, loop again + break + } + l.Notify <- notification + } + + err := l.disconnectCleanup() + if l.closed() { + return + } + l.emitEvent(ListenerEventDisconnected, err) + + time.Sleep(time.Until(nextReconnect)) + } +} + +func (l *Listener) listenerMain() { + l.listenerConnLoop() + close(l.Notify) +} diff --git a/vendor/github.com/lib/pq/oid/doc.go b/vendor/github.com/lib/pq/oid/doc.go new file mode 100644 index 00000000..caaede24 --- /dev/null +++ b/vendor/github.com/lib/pq/oid/doc.go @@ -0,0 +1,6 @@ +// Package oid contains OID constants +// as defined by the Postgres server. +package oid + +// Oid is a Postgres Object ID. +type Oid uint32 diff --git a/vendor/github.com/lib/pq/oid/gen.go b/vendor/github.com/lib/pq/oid/gen.go new file mode 100644 index 00000000..7c634cdc --- /dev/null +++ b/vendor/github.com/lib/pq/oid/gen.go @@ -0,0 +1,93 @@ +// +build ignore + +// Generate the table of OID values +// Run with 'go run gen.go'. +package main + +import ( + "database/sql" + "fmt" + "log" + "os" + "os/exec" + "strings" + + _ "github.com/lib/pq" +) + +// OID represent a postgres Object Identifier Type. +type OID struct { + ID int + Type string +} + +// Name returns an upper case version of the oid type. +func (o OID) Name() string { + return strings.ToUpper(o.Type) +} + +func main() { + datname := os.Getenv("PGDATABASE") + sslmode := os.Getenv("PGSSLMODE") + + if datname == "" { + os.Setenv("PGDATABASE", "pqgotest") + } + + if sslmode == "" { + os.Setenv("PGSSLMODE", "disable") + } + + db, err := sql.Open("postgres", "") + if err != nil { + log.Fatal(err) + } + rows, err := db.Query(` + SELECT typname, oid + FROM pg_type WHERE oid < 10000 + ORDER BY oid; + `) + if err != nil { + log.Fatal(err) + } + oids := make([]*OID, 0) + for rows.Next() { + var oid OID + if err = rows.Scan(&oid.Type, &oid.ID); err != nil { + log.Fatal(err) + } + oids = append(oids, &oid) + } + if err = rows.Err(); err != nil { + log.Fatal(err) + } + cmd := exec.Command("gofmt") + cmd.Stderr = os.Stderr + w, err := cmd.StdinPipe() + if err != nil { + log.Fatal(err) + } + f, err := os.Create("types.go") + if err != nil { + log.Fatal(err) + } + cmd.Stdout = f + err = cmd.Start() + if err != nil { + log.Fatal(err) + } + fmt.Fprintln(w, "// Code generated by gen.go. DO NOT EDIT.") + fmt.Fprintln(w, "\npackage oid") + fmt.Fprintln(w, "const (") + for _, oid := range oids { + fmt.Fprintf(w, "T_%s Oid = %d\n", oid.Type, oid.ID) + } + fmt.Fprintln(w, ")") + fmt.Fprintln(w, "var TypeName = map[Oid]string{") + for _, oid := range oids { + fmt.Fprintf(w, "T_%s: \"%s\",\n", oid.Type, oid.Name()) + } + fmt.Fprintln(w, "}") + w.Close() + cmd.Wait() +} diff --git a/vendor/github.com/lib/pq/oid/types.go b/vendor/github.com/lib/pq/oid/types.go new file mode 100644 index 00000000..ecc84c2c --- /dev/null +++ b/vendor/github.com/lib/pq/oid/types.go @@ -0,0 +1,343 @@ +// Code generated by gen.go. DO NOT EDIT. + +package oid + +const ( + T_bool Oid = 16 + T_bytea Oid = 17 + T_char Oid = 18 + T_name Oid = 19 + T_int8 Oid = 20 + T_int2 Oid = 21 + T_int2vector Oid = 22 + T_int4 Oid = 23 + T_regproc Oid = 24 + T_text Oid = 25 + T_oid Oid = 26 + T_tid Oid = 27 + T_xid Oid = 28 + T_cid Oid = 29 + T_oidvector Oid = 30 + T_pg_ddl_command Oid = 32 + T_pg_type Oid = 71 + T_pg_attribute Oid = 75 + T_pg_proc Oid = 81 + T_pg_class Oid = 83 + T_json Oid = 114 + T_xml Oid = 142 + T__xml Oid = 143 + T_pg_node_tree Oid = 194 + T__json Oid = 199 + T_smgr Oid = 210 + T_index_am_handler Oid = 325 + T_point Oid = 600 + T_lseg Oid = 601 + T_path Oid = 602 + T_box Oid = 603 + T_polygon Oid = 604 + T_line Oid = 628 + T__line Oid = 629 + T_cidr Oid = 650 + T__cidr Oid = 651 + T_float4 Oid = 700 + T_float8 Oid = 701 + T_abstime Oid = 702 + T_reltime Oid = 703 + T_tinterval Oid = 704 + T_unknown Oid = 705 + T_circle Oid = 718 + T__circle Oid = 719 + T_money Oid = 790 + T__money Oid = 791 + T_macaddr Oid = 829 + T_inet Oid = 869 + T__bool Oid = 1000 + T__bytea Oid = 1001 + T__char Oid = 1002 + T__name Oid = 1003 + T__int2 Oid = 1005 + T__int2vector Oid = 1006 + T__int4 Oid = 1007 + T__regproc Oid = 1008 + T__text Oid = 1009 + T__tid Oid = 1010 + T__xid Oid = 1011 + T__cid Oid = 1012 + T__oidvector Oid = 1013 + T__bpchar Oid = 1014 + T__varchar Oid = 1015 + T__int8 Oid = 1016 + T__point Oid = 1017 + T__lseg Oid = 1018 + T__path Oid = 1019 + T__box Oid = 1020 + T__float4 Oid = 1021 + T__float8 Oid = 1022 + T__abstime Oid = 1023 + T__reltime Oid = 1024 + T__tinterval Oid = 1025 + T__polygon Oid = 1027 + T__oid Oid = 1028 + T_aclitem Oid = 1033 + T__aclitem Oid = 1034 + T__macaddr Oid = 1040 + T__inet Oid = 1041 + T_bpchar Oid = 1042 + T_varchar Oid = 1043 + T_date Oid = 1082 + T_time Oid = 1083 + T_timestamp Oid = 1114 + T__timestamp Oid = 1115 + T__date Oid = 1182 + T__time Oid = 1183 + T_timestamptz Oid = 1184 + T__timestamptz Oid = 1185 + T_interval Oid = 1186 + T__interval Oid = 1187 + T__numeric Oid = 1231 + T_pg_database Oid = 1248 + T__cstring Oid = 1263 + T_timetz Oid = 1266 + T__timetz Oid = 1270 + T_bit Oid = 1560 + T__bit Oid = 1561 + T_varbit Oid = 1562 + T__varbit Oid = 1563 + T_numeric Oid = 1700 + T_refcursor Oid = 1790 + T__refcursor Oid = 2201 + T_regprocedure Oid = 2202 + T_regoper Oid = 2203 + T_regoperator Oid = 2204 + T_regclass Oid = 2205 + T_regtype Oid = 2206 + T__regprocedure Oid = 2207 + T__regoper Oid = 2208 + T__regoperator Oid = 2209 + T__regclass Oid = 2210 + T__regtype Oid = 2211 + T_record Oid = 2249 + T_cstring Oid = 2275 + T_any Oid = 2276 + T_anyarray Oid = 2277 + T_void Oid = 2278 + T_trigger Oid = 2279 + T_language_handler Oid = 2280 + T_internal Oid = 2281 + T_opaque Oid = 2282 + T_anyelement Oid = 2283 + T__record Oid = 2287 + T_anynonarray Oid = 2776 + T_pg_authid Oid = 2842 + T_pg_auth_members Oid = 2843 + T__txid_snapshot Oid = 2949 + T_uuid Oid = 2950 + T__uuid Oid = 2951 + T_txid_snapshot Oid = 2970 + T_fdw_handler Oid = 3115 + T_pg_lsn Oid = 3220 + T__pg_lsn Oid = 3221 + T_tsm_handler Oid = 3310 + T_anyenum Oid = 3500 + T_tsvector Oid = 3614 + T_tsquery Oid = 3615 + T_gtsvector Oid = 3642 + T__tsvector Oid = 3643 + T__gtsvector Oid = 3644 + T__tsquery Oid = 3645 + T_regconfig Oid = 3734 + T__regconfig Oid = 3735 + T_regdictionary Oid = 3769 + T__regdictionary Oid = 3770 + T_jsonb Oid = 3802 + T__jsonb Oid = 3807 + T_anyrange Oid = 3831 + T_event_trigger Oid = 3838 + T_int4range Oid = 3904 + T__int4range Oid = 3905 + T_numrange Oid = 3906 + T__numrange Oid = 3907 + T_tsrange Oid = 3908 + T__tsrange Oid = 3909 + T_tstzrange Oid = 3910 + T__tstzrange Oid = 3911 + T_daterange Oid = 3912 + T__daterange Oid = 3913 + T_int8range Oid = 3926 + T__int8range Oid = 3927 + T_pg_shseclabel Oid = 4066 + T_regnamespace Oid = 4089 + T__regnamespace Oid = 4090 + T_regrole Oid = 4096 + T__regrole Oid = 4097 +) + +var TypeName = map[Oid]string{ + T_bool: "BOOL", + T_bytea: "BYTEA", + T_char: "CHAR", + T_name: "NAME", + T_int8: "INT8", + T_int2: "INT2", + T_int2vector: "INT2VECTOR", + T_int4: "INT4", + T_regproc: "REGPROC", + T_text: "TEXT", + T_oid: "OID", + T_tid: "TID", + T_xid: "XID", + T_cid: "CID", + T_oidvector: "OIDVECTOR", + T_pg_ddl_command: "PG_DDL_COMMAND", + T_pg_type: "PG_TYPE", + T_pg_attribute: "PG_ATTRIBUTE", + T_pg_proc: "PG_PROC", + T_pg_class: "PG_CLASS", + T_json: "JSON", + T_xml: "XML", + T__xml: "_XML", + T_pg_node_tree: "PG_NODE_TREE", + T__json: "_JSON", + T_smgr: "SMGR", + T_index_am_handler: "INDEX_AM_HANDLER", + T_point: "POINT", + T_lseg: "LSEG", + T_path: "PATH", + T_box: "BOX", + T_polygon: "POLYGON", + T_line: "LINE", + T__line: "_LINE", + T_cidr: "CIDR", + T__cidr: "_CIDR", + T_float4: "FLOAT4", + T_float8: "FLOAT8", + T_abstime: "ABSTIME", + T_reltime: "RELTIME", + T_tinterval: "TINTERVAL", + T_unknown: "UNKNOWN", + T_circle: "CIRCLE", + T__circle: "_CIRCLE", + T_money: "MONEY", + T__money: "_MONEY", + T_macaddr: "MACADDR", + T_inet: "INET", + T__bool: "_BOOL", + T__bytea: "_BYTEA", + T__char: "_CHAR", + T__name: "_NAME", + T__int2: "_INT2", + T__int2vector: "_INT2VECTOR", + T__int4: "_INT4", + T__regproc: "_REGPROC", + T__text: "_TEXT", + T__tid: "_TID", + T__xid: "_XID", + T__cid: "_CID", + T__oidvector: "_OIDVECTOR", + T__bpchar: "_BPCHAR", + T__varchar: "_VARCHAR", + T__int8: "_INT8", + T__point: "_POINT", + T__lseg: "_LSEG", + T__path: "_PATH", + T__box: "_BOX", + T__float4: "_FLOAT4", + T__float8: "_FLOAT8", + T__abstime: "_ABSTIME", + T__reltime: "_RELTIME", + T__tinterval: "_TINTERVAL", + T__polygon: "_POLYGON", + T__oid: "_OID", + T_aclitem: "ACLITEM", + T__aclitem: "_ACLITEM", + T__macaddr: "_MACADDR", + T__inet: "_INET", + T_bpchar: "BPCHAR", + T_varchar: "VARCHAR", + T_date: "DATE", + T_time: "TIME", + T_timestamp: "TIMESTAMP", + T__timestamp: "_TIMESTAMP", + T__date: "_DATE", + T__time: "_TIME", + T_timestamptz: "TIMESTAMPTZ", + T__timestamptz: "_TIMESTAMPTZ", + T_interval: "INTERVAL", + T__interval: "_INTERVAL", + T__numeric: "_NUMERIC", + T_pg_database: "PG_DATABASE", + T__cstring: "_CSTRING", + T_timetz: "TIMETZ", + T__timetz: "_TIMETZ", + T_bit: "BIT", + T__bit: "_BIT", + T_varbit: "VARBIT", + T__varbit: "_VARBIT", + T_numeric: "NUMERIC", + T_refcursor: "REFCURSOR", + T__refcursor: "_REFCURSOR", + T_regprocedure: "REGPROCEDURE", + T_regoper: "REGOPER", + T_regoperator: "REGOPERATOR", + T_regclass: "REGCLASS", + T_regtype: "REGTYPE", + T__regprocedure: "_REGPROCEDURE", + T__regoper: "_REGOPER", + T__regoperator: "_REGOPERATOR", + T__regclass: "_REGCLASS", + T__regtype: "_REGTYPE", + T_record: "RECORD", + T_cstring: "CSTRING", + T_any: "ANY", + T_anyarray: "ANYARRAY", + T_void: "VOID", + T_trigger: "TRIGGER", + T_language_handler: "LANGUAGE_HANDLER", + T_internal: "INTERNAL", + T_opaque: "OPAQUE", + T_anyelement: "ANYELEMENT", + T__record: "_RECORD", + T_anynonarray: "ANYNONARRAY", + T_pg_authid: "PG_AUTHID", + T_pg_auth_members: "PG_AUTH_MEMBERS", + T__txid_snapshot: "_TXID_SNAPSHOT", + T_uuid: "UUID", + T__uuid: "_UUID", + T_txid_snapshot: "TXID_SNAPSHOT", + T_fdw_handler: "FDW_HANDLER", + T_pg_lsn: "PG_LSN", + T__pg_lsn: "_PG_LSN", + T_tsm_handler: "TSM_HANDLER", + T_anyenum: "ANYENUM", + T_tsvector: "TSVECTOR", + T_tsquery: "TSQUERY", + T_gtsvector: "GTSVECTOR", + T__tsvector: "_TSVECTOR", + T__gtsvector: "_GTSVECTOR", + T__tsquery: "_TSQUERY", + T_regconfig: "REGCONFIG", + T__regconfig: "_REGCONFIG", + T_regdictionary: "REGDICTIONARY", + T__regdictionary: "_REGDICTIONARY", + T_jsonb: "JSONB", + T__jsonb: "_JSONB", + T_anyrange: "ANYRANGE", + T_event_trigger: "EVENT_TRIGGER", + T_int4range: "INT4RANGE", + T__int4range: "_INT4RANGE", + T_numrange: "NUMRANGE", + T__numrange: "_NUMRANGE", + T_tsrange: "TSRANGE", + T__tsrange: "_TSRANGE", + T_tstzrange: "TSTZRANGE", + T__tstzrange: "_TSTZRANGE", + T_daterange: "DATERANGE", + T__daterange: "_DATERANGE", + T_int8range: "INT8RANGE", + T__int8range: "_INT8RANGE", + T_pg_shseclabel: "PG_SHSECLABEL", + T_regnamespace: "REGNAMESPACE", + T__regnamespace: "_REGNAMESPACE", + T_regrole: "REGROLE", + T__regrole: "_REGROLE", +} diff --git a/vendor/github.com/lib/pq/rows.go b/vendor/github.com/lib/pq/rows.go new file mode 100644 index 00000000..c6aa5b9a --- /dev/null +++ b/vendor/github.com/lib/pq/rows.go @@ -0,0 +1,93 @@ +package pq + +import ( + "math" + "reflect" + "time" + + "github.com/lib/pq/oid" +) + +const headerSize = 4 + +type fieldDesc struct { + // The object ID of the data type. + OID oid.Oid + // The data type size (see pg_type.typlen). + // Note that negative values denote variable-width types. + Len int + // The type modifier (see pg_attribute.atttypmod). + // The meaning of the modifier is type-specific. + Mod int +} + +func (fd fieldDesc) Type() reflect.Type { + switch fd.OID { + case oid.T_int8: + return reflect.TypeOf(int64(0)) + case oid.T_int4: + return reflect.TypeOf(int32(0)) + case oid.T_int2: + return reflect.TypeOf(int16(0)) + case oid.T_varchar, oid.T_text: + return reflect.TypeOf("") + case oid.T_bool: + return reflect.TypeOf(false) + case oid.T_date, oid.T_time, oid.T_timetz, oid.T_timestamp, oid.T_timestamptz: + return reflect.TypeOf(time.Time{}) + case oid.T_bytea: + return reflect.TypeOf([]byte(nil)) + default: + return reflect.TypeOf(new(interface{})).Elem() + } +} + +func (fd fieldDesc) Name() string { + return oid.TypeName[fd.OID] +} + +func (fd fieldDesc) Length() (length int64, ok bool) { + switch fd.OID { + case oid.T_text, oid.T_bytea: + return math.MaxInt64, true + case oid.T_varchar, oid.T_bpchar: + return int64(fd.Mod - headerSize), true + default: + return 0, false + } +} + +func (fd fieldDesc) PrecisionScale() (precision, scale int64, ok bool) { + switch fd.OID { + case oid.T_numeric, oid.T__numeric: + mod := fd.Mod - headerSize + precision = int64((mod >> 16) & 0xffff) + scale = int64(mod & 0xffff) + return precision, scale, true + default: + return 0, 0, false + } +} + +// ColumnTypeScanType returns the value type that can be used to scan types into. +func (rs *rows) ColumnTypeScanType(index int) reflect.Type { + return rs.colTyps[index].Type() +} + +// ColumnTypeDatabaseTypeName return the database system type name. +func (rs *rows) ColumnTypeDatabaseTypeName(index int) string { + return rs.colTyps[index].Name() +} + +// ColumnTypeLength returns the length of the column type if the column is a +// variable length type. If the column is not a variable length type ok +// should return false. +func (rs *rows) ColumnTypeLength(index int) (length int64, ok bool) { + return rs.colTyps[index].Length() +} + +// ColumnTypePrecisionScale should return the precision and scale for decimal +// types. If not applicable, ok should be false. +func (rs *rows) ColumnTypePrecisionScale(index int) (precision, scale int64, ok bool) { + return rs.colTyps[index].PrecisionScale() +} diff --git a/vendor/github.com/lib/pq/ssl.go b/vendor/github.com/lib/pq/ssl.go new file mode 100644 index 00000000..e1a326a0 --- /dev/null +++ b/vendor/github.com/lib/pq/ssl.go @@ -0,0 +1,169 @@ +package pq + +import ( + "crypto/tls" + "crypto/x509" + "io/ioutil" + "net" + "os" + "os/user" + "path/filepath" +) + +// ssl generates a function to upgrade a net.Conn based on the "sslmode" and +// related settings. The function is nil when no upgrade should take place. +func ssl(o values) (func(net.Conn) (net.Conn, error), error) { + verifyCaOnly := false + tlsConf := tls.Config{} + switch mode := o["sslmode"]; mode { + // "require" is the default. + case "", "require": + // We must skip TLS's own verification since it requires full + // verification since Go 1.3. + tlsConf.InsecureSkipVerify = true + + // From http://www.postgresql.org/docs/current/static/libpq-ssl.html: + // + // Note: For backwards compatibility with earlier versions of + // PostgreSQL, if a root CA file exists, the behavior of + // sslmode=require will be the same as that of verify-ca, meaning the + // server certificate is validated against the CA. Relying on this + // behavior is discouraged, and applications that need certificate + // validation should always use verify-ca or verify-full. + if sslrootcert, ok := o["sslrootcert"]; ok { + if _, err := os.Stat(sslrootcert); err == nil { + verifyCaOnly = true + } else { + delete(o, "sslrootcert") + } + } + case "verify-ca": + // We must skip TLS's own verification since it requires full + // verification since Go 1.3. + tlsConf.InsecureSkipVerify = true + verifyCaOnly = true + case "verify-full": + tlsConf.ServerName = o["host"] + case "disable": + return nil, nil + default: + return nil, fmterrorf(`unsupported sslmode %q; only "require" (default), "verify-full", "verify-ca", and "disable" supported`, mode) + } + + err := sslClientCertificates(&tlsConf, o) + if err != nil { + return nil, err + } + err = sslCertificateAuthority(&tlsConf, o) + if err != nil { + return nil, err + } + sslRenegotiation(&tlsConf) + + return func(conn net.Conn) (net.Conn, error) { + client := tls.Client(conn, &tlsConf) + if verifyCaOnly { + err := sslVerifyCertificateAuthority(client, &tlsConf) + if err != nil { + return nil, err + } + } + return client, nil + }, nil +} + +// sslClientCertificates adds the certificate specified in the "sslcert" and +// "sslkey" settings, or if they aren't set, from the .postgresql directory +// in the user's home directory. The configured files must exist and have +// the correct permissions. +func sslClientCertificates(tlsConf *tls.Config, o values) error { + // user.Current() might fail when cross-compiling. We have to ignore the + // error and continue without home directory defaults, since we wouldn't + // know from where to load them. + user, _ := user.Current() + + // In libpq, the client certificate is only loaded if the setting is not blank. + // + // https://github.com/postgres/postgres/blob/REL9_6_2/src/interfaces/libpq/fe-secure-openssl.c#L1036-L1037 + sslcert := o["sslcert"] + if len(sslcert) == 0 && user != nil { + sslcert = filepath.Join(user.HomeDir, ".postgresql", "postgresql.crt") + } + // https://github.com/postgres/postgres/blob/REL9_6_2/src/interfaces/libpq/fe-secure-openssl.c#L1045 + if len(sslcert) == 0 { + return nil + } + // https://github.com/postgres/postgres/blob/REL9_6_2/src/interfaces/libpq/fe-secure-openssl.c#L1050:L1054 + if _, err := os.Stat(sslcert); os.IsNotExist(err) { + return nil + } else if err != nil { + return err + } + + // In libpq, the ssl key is only loaded if the setting is not blank. + // + // https://github.com/postgres/postgres/blob/REL9_6_2/src/interfaces/libpq/fe-secure-openssl.c#L1123-L1222 + sslkey := o["sslkey"] + if len(sslkey) == 0 && user != nil { + sslkey = filepath.Join(user.HomeDir, ".postgresql", "postgresql.key") + } + + if len(sslkey) > 0 { + if err := sslKeyPermissions(sslkey); err != nil { + return err + } + } + + cert, err := tls.LoadX509KeyPair(sslcert, sslkey) + if err != nil { + return err + } + + tlsConf.Certificates = []tls.Certificate{cert} + return nil +} + +// sslCertificateAuthority adds the RootCA specified in the "sslrootcert" setting. +func sslCertificateAuthority(tlsConf *tls.Config, o values) error { + // In libpq, the root certificate is only loaded if the setting is not blank. + // + // https://github.com/postgres/postgres/blob/REL9_6_2/src/interfaces/libpq/fe-secure-openssl.c#L950-L951 + if sslrootcert := o["sslrootcert"]; len(sslrootcert) > 0 { + tlsConf.RootCAs = x509.NewCertPool() + + cert, err := ioutil.ReadFile(sslrootcert) + if err != nil { + return err + } + + if !tlsConf.RootCAs.AppendCertsFromPEM(cert) { + return fmterrorf("couldn't parse pem in sslrootcert") + } + } + + return nil +} + +// sslVerifyCertificateAuthority carries out a TLS handshake to the server and +// verifies the presented certificate against the CA, i.e. the one specified in +// sslrootcert or the system CA if sslrootcert was not specified. +func sslVerifyCertificateAuthority(client *tls.Conn, tlsConf *tls.Config) error { + err := client.Handshake() + if err != nil { + return err + } + certs := client.ConnectionState().PeerCertificates + opts := x509.VerifyOptions{ + DNSName: client.ConnectionState().ServerName, + Intermediates: x509.NewCertPool(), + Roots: tlsConf.RootCAs, + } + for i, cert := range certs { + if i == 0 { + continue + } + opts.Intermediates.AddCert(cert) + } + _, err = certs[0].Verify(opts) + return err +} diff --git a/vendor/github.com/lib/pq/ssl_go1.7.go b/vendor/github.com/lib/pq/ssl_go1.7.go new file mode 100644 index 00000000..d7ba43b3 --- /dev/null +++ b/vendor/github.com/lib/pq/ssl_go1.7.go @@ -0,0 +1,14 @@ +// +build go1.7 + +package pq + +import "crypto/tls" + +// Accept renegotiation requests initiated by the backend. +// +// Renegotiation was deprecated then removed from PostgreSQL 9.5, but +// the default configuration of older versions has it enabled. Redshift +// also initiates renegotiations and cannot be reconfigured. +func sslRenegotiation(conf *tls.Config) { + conf.Renegotiation = tls.RenegotiateFreelyAsClient +} diff --git a/vendor/github.com/lib/pq/ssl_permissions.go b/vendor/github.com/lib/pq/ssl_permissions.go new file mode 100644 index 00000000..3b7c3a2a --- /dev/null +++ b/vendor/github.com/lib/pq/ssl_permissions.go @@ -0,0 +1,20 @@ +// +build !windows + +package pq + +import "os" + +// sslKeyPermissions checks the permissions on user-supplied ssl key files. +// The key file should have very little access. +// +// libpq does not check key file permissions on Windows. +func sslKeyPermissions(sslkey string) error { + info, err := os.Stat(sslkey) + if err != nil { + return err + } + if info.Mode().Perm()&0077 != 0 { + return ErrSSLKeyHasWorldPermissions + } + return nil +} diff --git a/vendor/github.com/lib/pq/ssl_renegotiation.go b/vendor/github.com/lib/pq/ssl_renegotiation.go new file mode 100644 index 00000000..85ed5e43 --- /dev/null +++ b/vendor/github.com/lib/pq/ssl_renegotiation.go @@ -0,0 +1,8 @@ +// +build !go1.7 + +package pq + +import "crypto/tls" + +// Renegotiation is not supported by crypto/tls until Go 1.7. +func sslRenegotiation(*tls.Config) {} diff --git a/vendor/github.com/lib/pq/ssl_windows.go b/vendor/github.com/lib/pq/ssl_windows.go new file mode 100644 index 00000000..5d2c763c --- /dev/null +++ b/vendor/github.com/lib/pq/ssl_windows.go @@ -0,0 +1,9 @@ +// +build windows + +package pq + +// sslKeyPermissions checks the permissions on user-supplied ssl key files. +// The key file should have very little access. +// +// libpq does not check key file permissions on Windows. +func sslKeyPermissions(string) error { return nil } diff --git a/vendor/github.com/lib/pq/url.go b/vendor/github.com/lib/pq/url.go new file mode 100644 index 00000000..f4d8a7c2 --- /dev/null +++ b/vendor/github.com/lib/pq/url.go @@ -0,0 +1,76 @@ +package pq + +import ( + "fmt" + "net" + nurl "net/url" + "sort" + "strings" +) + +// ParseURL no longer needs to be used by clients of this library since supplying a URL as a +// connection string to sql.Open() is now supported: +// +// sql.Open("postgres", "postgres://bob:secret@1.2.3.4:5432/mydb?sslmode=verify-full") +// +// It remains exported here for backwards-compatibility. +// +// ParseURL converts a url to a connection string for driver.Open. +// Example: +// +// "postgres://bob:secret@1.2.3.4:5432/mydb?sslmode=verify-full" +// +// converts to: +// +// "user=bob password=secret host=1.2.3.4 port=5432 dbname=mydb sslmode=verify-full" +// +// A minimal example: +// +// "postgres://" +// +// This will be blank, causing driver.Open to use all of the defaults +func ParseURL(url string) (string, error) { + u, err := nurl.Parse(url) + if err != nil { + return "", err + } + + if u.Scheme != "postgres" && u.Scheme != "postgresql" { + return "", fmt.Errorf("invalid connection protocol: %s", u.Scheme) + } + + var kvs []string + escaper := strings.NewReplacer(` `, `\ `, `'`, `\'`, `\`, `\\`) + accrue := func(k, v string) { + if v != "" { + kvs = append(kvs, k+"="+escaper.Replace(v)) + } + } + + if u.User != nil { + v := u.User.Username() + accrue("user", v) + + v, _ = u.User.Password() + accrue("password", v) + } + + if host, port, err := net.SplitHostPort(u.Host); err != nil { + accrue("host", u.Host) + } else { + accrue("host", host) + accrue("port", port) + } + + if u.Path != "" { + accrue("dbname", u.Path[1:]) + } + + q := u.Query() + for k := range q { + accrue(k, q.Get(k)) + } + + sort.Strings(kvs) // Makes testing easier (not a performance concern) + return strings.Join(kvs, " "), nil +} diff --git a/vendor/github.com/lib/pq/user_posix.go b/vendor/github.com/lib/pq/user_posix.go new file mode 100644 index 00000000..bf982524 --- /dev/null +++ b/vendor/github.com/lib/pq/user_posix.go @@ -0,0 +1,24 @@ +// Package pq is a pure Go Postgres driver for the database/sql package. + +// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris rumprun + +package pq + +import ( + "os" + "os/user" +) + +func userCurrent() (string, error) { + u, err := user.Current() + if err == nil { + return u.Username, nil + } + + name := os.Getenv("USER") + if name != "" { + return name, nil + } + + return "", ErrCouldNotDetectUsername +} diff --git a/vendor/github.com/lib/pq/user_windows.go b/vendor/github.com/lib/pq/user_windows.go new file mode 100644 index 00000000..2b691267 --- /dev/null +++ b/vendor/github.com/lib/pq/user_windows.go @@ -0,0 +1,27 @@ +// Package pq is a pure Go Postgres driver for the database/sql package. +package pq + +import ( + "path/filepath" + "syscall" +) + +// Perform Windows user name lookup identically to libpq. +// +// The PostgreSQL code makes use of the legacy Win32 function +// GetUserName, and that function has not been imported into stock Go. +// GetUserNameEx is available though, the difference being that a +// wider range of names are available. To get the output to be the +// same as GetUserName, only the base (or last) component of the +// result is returned. +func userCurrent() (string, error) { + pw_name := make([]uint16, 128) + pwname_size := uint32(len(pw_name)) - 1 + err := syscall.GetUserNameEx(syscall.NameSamCompatible, &pw_name[0], &pwname_size) + if err != nil { + return "", ErrCouldNotDetectUsername + } + s := syscall.UTF16ToString(pw_name) + u := filepath.Base(s) + return u, nil +} diff --git a/vendor/github.com/lib/pq/uuid.go b/vendor/github.com/lib/pq/uuid.go new file mode 100644 index 00000000..9a1b9e07 --- /dev/null +++ b/vendor/github.com/lib/pq/uuid.go @@ -0,0 +1,23 @@ +package pq + +import ( + "encoding/hex" + "fmt" +) + +// decodeUUIDBinary interprets the binary format of a uuid, returning it in text format. +func decodeUUIDBinary(src []byte) ([]byte, error) { + if len(src) != 16 { + return nil, fmt.Errorf("pq: unable to decode uuid; bad length: %d", len(src)) + } + + dst := make([]byte, 36) + dst[8], dst[13], dst[18], dst[23] = '-', '-', '-', '-' + hex.Encode(dst[0:], src[0:4]) + hex.Encode(dst[9:], src[4:6]) + hex.Encode(dst[14:], src[6:8]) + hex.Encode(dst[19:], src[8:10]) + hex.Encode(dst[24:], src[10:16]) + + return dst, nil +} diff --git a/vendor/google.golang.org/appengine/cloudsql/cloudsql.go b/vendor/google.golang.org/appengine/cloudsql/cloudsql.go new file mode 100644 index 00000000..7b27e6b1 --- /dev/null +++ b/vendor/google.golang.org/appengine/cloudsql/cloudsql.go @@ -0,0 +1,62 @@ +// Copyright 2013 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +/* +Package cloudsql exposes access to Google Cloud SQL databases. + +This package does not work in App Engine "flexible environment". + +This package is intended for MySQL drivers to make App Engine-specific +connections. Applications should use this package through database/sql: +Select a pure Go MySQL driver that supports this package, and use sql.Open +with protocol "cloudsql" and an address of the Cloud SQL instance. + +A Go MySQL driver that has been tested to work well with Cloud SQL +is the go-sql-driver: + import "database/sql" + import _ "github.com/go-sql-driver/mysql" + + db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname") + + +Another driver that works well with Cloud SQL is the mymysql driver: + import "database/sql" + import _ "github.com/ziutek/mymysql/godrv" + + db, err := sql.Open("mymysql", "cloudsql:instance-name*dbname/user/password") + + +Using either of these drivers, you can perform a standard SQL query. +This example assumes there is a table named 'users' with +columns 'first_name' and 'last_name': + + rows, err := db.Query("SELECT first_name, last_name FROM users") + if err != nil { + log.Errorf(ctx, "db.Query: %v", err) + } + defer rows.Close() + + for rows.Next() { + var firstName string + var lastName string + if err := rows.Scan(&firstName, &lastName); err != nil { + log.Errorf(ctx, "rows.Scan: %v", err) + continue + } + log.Infof(ctx, "First: %v - Last: %v", firstName, lastName) + } + if err := rows.Err(); err != nil { + log.Errorf(ctx, "Row error: %v", err) + } +*/ +package cloudsql + +import ( + "net" +) + +// Dial connects to the named Cloud SQL instance. +func Dial(instance string) (net.Conn, error) { + return connect(instance) +} diff --git a/vendor/google.golang.org/appengine/cloudsql/cloudsql_classic.go b/vendor/google.golang.org/appengine/cloudsql/cloudsql_classic.go new file mode 100644 index 00000000..af62dba1 --- /dev/null +++ b/vendor/google.golang.org/appengine/cloudsql/cloudsql_classic.go @@ -0,0 +1,17 @@ +// Copyright 2013 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build appengine + +package cloudsql + +import ( + "net" + + "appengine/cloudsql" +) + +func connect(instance string) (net.Conn, error) { + return cloudsql.Dial(instance) +} diff --git a/vendor/google.golang.org/appengine/cloudsql/cloudsql_vm.go b/vendor/google.golang.org/appengine/cloudsql/cloudsql_vm.go new file mode 100644 index 00000000..90fa7b31 --- /dev/null +++ b/vendor/google.golang.org/appengine/cloudsql/cloudsql_vm.go @@ -0,0 +1,16 @@ +// Copyright 2013 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build !appengine + +package cloudsql + +import ( + "errors" + "net" +) + +func connect(instance string) (net.Conn, error) { + return nil, errors.New(`cloudsql: not supported in App Engine "flexible environment"`) +}